记录一下毕业设计的过程

 

2017-03-13

从开始学习到现在已经接近两周了,对于这个显著性检测已经有了一定的了解,同时明天也会做开题答辩

对于刚入门的人来说,推荐知网上的一篇博士论文-----《图像显著性区域检测方法及应用研究_魏昱》了解当前这个方向的发展情况,以及这个我们所需要做的工作

简答来说,就是提取一个图像中最显著的部分:

毕业设计-自然场景下显著目标的检测

 

之后可以看这个方向最经典的一篇paper-----《Itti, Koch, Niebur - A model of saliency-based visual attention for rapid scene analysis》, 这是98年很古老的文章,但确实是很经典,也是一个基于生物机制的方法,可以直接阅读英文文献,同时推荐一个博主作为参考

在对显著性检测有了一定的了解后,就可以实际跑跑代码试一试了,这个网站里有Itti的代码,以及图像分割,是MATLAB的,尽管标题是gbvs,但是里面也包含的ITTI的,试着阅读一下源码,了解详细的算法流程,因为很古老,所以实际的检测和分割效果并不好,只是作为一个入门,这是我自己当时跑的效果:

毕业设计-自然场景下显著目标的检测

以及利用其提供的分割(阙值)分割得到的分割图:(这里并不是原始的结果,我有调整一些参数)

毕业设计-自然场景下显著目标的检测

 

接下来可以去看一些当前最新的算法,不得不说,实际检测的效果比之前那个不知道高到哪里去了,代码可以在东南 cheng ming ming那找到,或者直接搜论文,有些论文是直接提供代码的,比如这个(FT算法),目前就大概研究到这里。

开题答辩完,打算去阅读更多文献,了解一下详细的数学原理,还有代码

 

 

 

2017-04-28

中期答辩过了,基本都做完了,先整理一下上次到现在做的一些内容

毕业设计-自然场景下显著目标的检测

关于第四点:在他的那个网站(直接百度chengmingming就好)上提供了国内外大部分的显著性检测代码,就不用一个一个找了,里面有matlab的和C++的,但重要的算法例如,FT,GC都需要用C++,因此,VS是必须的,还要搭配opencv,我使用的环境是vs2013+opencv2.4.9

之前没用过VS,配环境,搞lib库都花了好久的时间,最后才跑起来,说一下我在其中遇到的一些问题:

1.opencv环境设置好,网上教程很多,我就不说了

2.头文件的包含目录,也要设置一下,就是项目根目录

3.还有里面会加载Cmlib和Cmlibd库,如果没有,就需要编译那个Cmlib项目,找到debug下的Cmlib.lib,复制一个重命名为Cmlibd.lib,然后放到根目录下(这两个一起),注意把根目录和debug目录在库目录里设置一下,还有要加载这两个lib

4.需要建立saliency和Imgs目录,具体看main函数里面的要求就好了

5.直接修改Cmlib里的代码貌似没啥用,之前修改后编译,然后替换lib,貌似也没啥用,目前还没弄懂

6.里面分割用的是graphcuts算法,meanshift也提供了,但我也不会调用,于是自己写了一个,过程就是先用meanshift聚类,然后分水岭算法标记区域,opencv有提供样例

matlab的很简单,直接跑就行了,很简单

 

最后做了一个MFC见面,把上面的东西综合起来了:

毕业设计-自然场景下显著目标的检测

毕业设计-自然场景下显著目标的检测

毕业设计-自然场景下显著目标的检测

 毕业设计-自然场景下显著目标的检测

毕业设计-自然场景下显著目标的检测