各位广大刚刚开始学习人工智能的小伙伴们,看到矩阵运算,梯度下降,损失函数,等等等大量的公式推导已经足够头疼,更不用说论文里面各式各样复杂的网络结构。
为此我认为建立信心,培养兴趣,是一块必要的敲门砖。
长文警告,建议先收藏起来。
所以先来感受一下前沿科技的力量。
1. Ubuntu18.04
2. Python 3.6
当然还有代码需要的各种python库,后面会提到
3. Pytorch 1.2.0
这样可以验证一下是否成功安装好 pytorch
记得把Pycharm中的python配置好哦
传送门: go.
1.github是个神奇的地方,去那里下载代码,放到你想放的地方,解压文件夹,复制。
2.找到你的Pycharm的工作目录,我的呢是在这里
/home/avicii/PycharmProjects/untitled2
把下载的代码粘贴进去,OK。
. 安装需要的python库
然后勒,打开EGNet-master目录,打开所有后缀名是py的文件
看看在每一个文件中代码开头那些 import 什么什么 或者 form什么 import 什么 下边有划红线,说明你的python还没有安装那些库。
比如我要安装 numpy。打开Terminal,用以下的一条命令就可以,方便快捷。
pip install numpy
不太了解 pip
给!传送门.
咱们来下载一下,中间有什么不了解和意外,求助度度,耐心一点直到把所有的Pycharm中的提示的bug处理掉。
每一个github上的项目下面都有一个README.md,相当于使用说明书或者是作者想要告诉我们的事情。
咱们来看看EGNet的ReadMe文件中我们需要的—如果进行测试
1. 下载预训练模型
作者提供了两种的下载方式,下载下来,把已经训练好的模型放到代码的目录,也就是这里
2. 更改dataset.py中的测试图像路径
本文主要在于怎么使用,篇幅所限,没有介绍每一部分代码中的作用。读者可以选择把所有的源码理解下来,欢迎一起讨论。
重点来了!!!
我们需要改动的地方在这里,所有数据集路径配置,大家可以后面按需更改。
dataset.py中的
一.self.image_root 表示的是数据集所在的目录
首先呢,
给大伙ECSSD和HKU-IS数据集: 接住. 3iuv
太正经啦,咱们也可以用自己的图片,像一开始结果展示的那样。这里的例子,我也是介绍用自己的图片来做输入的,用数据集呢,也是类似的步骤哈。
然后呢,
建议像作者一样建立一个dataset的目录,我的呢,是这样的
/home/avicii/dataset/DUTS/DUTS-TE/DUTS-TE-Image/
像图片这样,在self.image_root更改自己的路径就Ok啦。
二.生成test.lst文件
self.image_source 表示的是test.lst(记录每一张图片路径信息的文件,后面我会给大家提供生成文件的代码,一条龙服务)的路径。
好了,把你需要测试的图片放好了吗?
那咱们就可以用这个代码来生成 .lst 文件了,她是这样的(绝对路径)。
import os
print("我能为您生成一个获取指定目录下所有文件的绝对路径加文件名并一行行保存的文件")
print("---------------------------------------------------------------")
#path = "/home/avicii/dataset/DUTS/DUTS-TE/DUTS-TE-Image"
path = input("请输入数据集的文件地址: ")
print()
#desktop_path = "/home/avicii/dataset/DUTS/DUTS-TE"
desktop_path = input("请输入图片信息保存文件的地址: ")
print()
#file_name = 'test.lst'
file_name = input("请输入指定文件的文件(加上后缀名): ")
print()
full_path = desktop_path + '/' + file_name # 文件地址和文件名
if not os.access(full_path, os.F_OK): # 判断文件是否存在
file = open(full_path, 'w')
# 获取指定目录下文件的文件名,加上绝对路径,一行一行写入指定文件中
for root, dirs, PicNameList in os.walk(path):
#print(PicNameList)
for picname in PicNameList:
full_picpath = root + '/' + picname + '\n'
#print(full_picpath)
file.write(full_picpath)
file.close()
print("成功!")
else:
print("您输入的文件已经存在,请重新输入")
然后把
我们需要配置的第二个地址 self.image_source 更改成 .lst 文件的路径就可以啦。
三.self.test_fold 表示的是 显著性图也就是结果所放的路径
3. 用以下方式为python3 run.py --mode test --sal_mode s
为SOD数据集生成显著性图,用python3 run.py --mode test --sal_mode p
为PASCALS 数据集生成显著性图等等
万事俱备,用打开Pycharm里面的Terminal,到EGNet目录下
就差你的一句话
python3 run.py --mode test --sal_mode t
完成了吗?
如果是,相信你会像我那时一样欢喜。
如果不是,别灰心,解决自己的问题是必不可少的能力,最后你也会成功的。
使用公开的源码来评估结果
看看大伙的反响如何,如果还不错,再来更新显著性检测的量化评估吧。
先把结果放上去吧
感觉有点错误是吗? 解释:为了简化未来如果有介绍这个评估,没有去比较其他方法在这些数据集上的效果,两条曲线表示相同的输出的评估结果。保持这篇文章的风格一致。
Mean | Value |
---|---|
aveMAX | 0.037 |
maxF | 0.929 |
Mean | Value |
---|---|
aveMAX | 0.038 |
maxF | 0.916 |
如有错误,还请指出,诚惶诚恐,不胜感激!
也欢迎互相认识,共同学习,我的荣幸!
转载,引用请注明来源,侵权必纠。
图片侵删