本文适用于初学者进行代码复现,便于初学者更好地体会代码以及论文的含义。
原论文:Cascaded Partial Decoder for Fast and Accurate Salient Object Detection(CPD)
原文链接代码:代码
下载好代码后下载数据集ECSSD和DUTS-TE(选择下载两个)将两个数据集放入文件夹中。(文件夹后文会展示)
再在原文链接中下载
放入\CPD-master文件夹下。
将vgg.py文件内的
# pre_train = torch.load('G:/Github/Saliency/CPD-master/model/vgg16-397923af.pth')
# self._initialize_weights(pre_train)
两行注释掉。(这两行用于预训练)
然后修改代码路径:
dataset_path = 'E:/pytorchlearn/CPD-master/CPD-master/data/ECSSD'
dataset_path = './data/'
这两种写成哪一种都可以(对于初学者来说路径真是令人头疼)。
然后数据集这里改成:
test_datasets = ['DUTS-TE','ECSSD']
然后将数据集放在上述路径下,并更更改mask和images的名字
由于scipy.misc无法调用imsave,经查找,使用opencv进行图片保存。
在anaconda ptompt中,输入conda activate pytorch激活pytorch,然后输入下列命令即可安装opencv(由于我pytorch就是使用conda安装因此opencv也使用conda安装)
conda install -c https://conda.binstar.org/menpo opencv
然后将imsave代码行注释掉使用cv2.imwrite存储图片,在代码最开始也要加import cv2
# misc.imsave(save_path+name, res)
cv2.imwrite(save_path+name, res)
然后运行test_CPD.py文件,运行之前要在pycharm中配置好环境。
原mask(DUTS-TE数据集)
上图为预测结果。
可见在某些图片预测结果和原mask还是存在一些差距。
以上是利用已经训练好的模型进行预测,如果想自己训练可运行train.py文件进行训练。
接下来的几篇我可能会写论文的学习笔记。还是有关显著性检测方面的。
复制代码 代码如下: function astro(birth) astro="" if birth="" or not isdate...
Laravel 默认验证不通过后响应格式如下,有时此格式并不满足自己要求,需要修改...
由于移动流量日趋增多,我们统计网站流量的时候,需要把移动和PC的流量分开,而...
快速上手教你如何简单实现手动解析JSON、Gson框架技术和FastJson框架技术 手动解...
有这么一段字符串: [数字]字符串 结果 取 a=数字 b=字符串 截取方法1: int a = ...
本文实例讲述了JSP中response.setContentType和response.setCharacterEncoding区...
今天在做项目时,在页面中用ajax返回了另一个页面,突然发现返回页面中的表格把...
AJAX的全称是Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 a...
作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,...
? 设置仓库可见性 您可选择能够查看仓库的人员。 本文内容 关于仓库可见性 将仓...