Contour Detection and Hierarchical Image Segmentation 源码编译运行

找了很久,终于找到了这一篇好的图像分割方法,还有一篇2013年CVPR 的Sketch Tokens,根据它提供的P-R曲线图的对比,能看出它们的分割效果基本一样,但没有具体对这两篇的比较。下面是我对这篇论文源代码的运行过程,论文和源码的下载地址在这里:http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/resources.html,记住大家如果需要分割效果图就要运行BSR/grouping代码,如果要看P-R曲线图就运行BSR/bench代码。

首先要说明的是,请尽量使用64位系统和64位Matlab来跑这个程序,因为刚开始我耗了很久在32位Ubuntu上编译运行起来,但是当测试图大于15KB时,test_gPb_ucm跑出来的结果就已经是out of memory了,并且代码中说明了要求的最小RAM是5G,所以尽量在8G以上内存的64位机子上跑,虚拟机上更是跑不起来。

最开始是ubuntu和matlab的安装,如果ubuntu wubi无法安装的话那就用U盘写启动盘安装吧,具体方法网上都有,只是在分区的时候注意一下,根目录/给大点,20G吧,不然有时装软件空间不够很头疼的。

我装的系统使ubuntu13.10加上Matlab R2012a,因为下载的源码中的lib文件夹下已经有了源码的编译结果,所以无需自己重新编译,我在运行的过程中只遇到了关于libstdc++.so.6版本的问题,他要求要有3.4.15的版本,这里需先要检查一下具体的版本号。更新libstdc++之后要对matlab中的几个地方重新软链接以确保存在3.4.15版本,具体参照http://blog.163.com/gz_ricky/blog/static/182049118201309949858/中最后的部分说明,我在运行过程中是把这四个路径下的libstdc++.so.6重新软链接到/usr/lib/x86_64-linux-gnu/libc目录下的libstdc++.so.6.0.18,然后重启matlab,便运行成功了。

..........................................................................................

因为之前在32位机子上重新编译花费了很久才得到来之不易的成功,这里也简单记录一下。

首先下面文章对BSR/bench的运行有一个比较详细的过程解释:http://blog.sina.com.cn/s/blog_6bbd2dd10100yypj.html。在此要说明的是,它与BSR/grouping的运行大同小异,如果源代码需要要重新编译,最好一条条运行build.sh中的语句,不要直接运行,不然错误很难发现,这算是我的血泪教训吧。在这个过程中找到每条运行的每个错误并google相应解决方法,记得我编译的时候中间有关于libpng的错误,最后也是一点点解决的。

最后感谢引用博文的作者。

你可能感兴趣的:(detection,An,contour,bsr)