先丢出来Middleburry stereo Evaluation的网址吧:
http://vision.middlebury.edu/stereo/submit3/
已经到了第3版了,最新的数据集是2014年的
跑通用的是ubuntu17.10(之前本科的时候,用windows跑,各种难过,ubuntu下也有问题,不过相对来讲,容易多了,哈哈哈哈)。跑通这个东东,还是有很多坑需要踩一下子的,怕自己忘了,就写个博文记一下吧,说不定,硕士期间就跟三维重建相关的杠上了。
1、下载相关数据集及sdk:
2、整个sdk的编译流程:
(1)编译Libelas
cd alg-ELAS/build
cmake ..
make
cd ../..
(2)编译code中的工具
cd code/imageLib
make
cd ..
make
cd ..
在这个的编译过程中,遇到了第一个坑,命令提示为(大概是这个样子,遇到错误的时候,忘记截图了~~~):
/usr/bin/ld: cann't find -lpng
错误提示为,缺少了lpng,按照网上说的,一般在/usr/bin/ld下的错误,是由于缺少这个包,那么接下来去搜索如何安装这个包,我在这里找到了答案,继续给出网址,并附加图片及命令:
https://askubuntu.com/questions/508934/how-to-install-libpng-and-zlib/508937
sudo apt-get install libpng-dev
安装好了之后,再次回去编译,编译中会有警告(忽略即好,程序猿只关心错误,不care警告,^-^)
3、编译完成后,就可以开始run了吗?
其实不然,在run这个时候,需要踩下面几个坑:
(1)跑程序的时候,需要添加数据所在的文件夹
在run之前,要把需要跑的数据,放在sdk的根目录下,也就是trainingQ/F/H和test/Q/F/H(三种数据Q、F、H,对应不同的分辨率)
(2)在运行时,所用的shell命令为csh,也就是……(懒得写了,给百科链接吧)
https://baike.baidu.com/item/CSH/8950529?fr=aladdin
但是,ubuntu下默认的好像是bash?反正时没跑通,提示的错误是:
bash: ./runalg: /bin/csh: 解释器错误: 没有那个文件或目录
起初天真地以为,是代码的错误,后来发现不是,csh的命令需要在ubuntu下进行切换(bash命令不懂,还蛮伤的,准备让老板买书……),我在这里找到了答案,继续给网址,图片及命令:
http://blog.sina.com.cn/s/blog_78699cbf010169vi.html
安装csh的命令(先进入root身份):
apt-get install csh
更改root的shell:
chsh
会提示需要输入的信息,输入csh所在的目录,即:
/bin/csh
上面的网址说需要重新启动ubuntu,应该时不重启也可以
(3)安装完成后,可以跑readme中的步骤4(Run ELAS),在步骤5Evaluate results by ELAS时,提示找不到啥文件的错误,解决办法为:
将MiddEval3-GT0-Q这个文件夹里的trainingQ也拷贝到前面提到的sdk的根目录下,拷贝的时候选择合并,所有的文件就在里面了,然后再次运行readme中的步骤5,就完全ok啦~
4、以上是Middleburry的全部运行过程,readme里后面的操作,没玩,不过得到了结果,总想着去查看,所以还是稍微看了下,就是让用同样在Middleburry网站上的cvkit的工具可以查看,看描述好腻害的样子哎,轻量,还能满足需求,棒棒哒~
(1)先说cvkit的安装
下载链接:http://vision.middlebury.edu/stereo/code/
(PS:Linux下载,可以是前两个)
下载好了之后,查看它的install.txt(readme.txt没啥用,就是叫人去看install和usage)
(2)cvkit的编译安装命令(在根目录下依次执行下面的命令)
mkdir build
cd build
cmake ..
make
sudo make install
在这里直接给出命令,因为整个过程没有啥问题,就是最后make install的时候,前面需要加sudo(跟install.txt中略有不同),就是在安装的过程中,一些库需要写入到/usr/local下面,需要给一个操作文件夹的权限。
(3)安装好之后,直接环境变量就添加好了,按照usage.txt和Middleburry sdk中的readme.txt说的,使用sv命令查看pfm文件,进入Middleburry的sdk下的trainingQ的Motorcycle(或其他示例文件夹)下,输入命令:
sv disp0ELAS.pfm
最后,给一个显示的结果:
以上就是对生成深度图的一个整个流程,论文跟上,整个流程做通,还远的很呐~~~(第一次在ubuntu下用新版写博文,很多习惯还没有改过来)