天天看点

Middleburry stereo Evaluation示例数据的运行及深度图结果查看

先丢出来Middleburry stereo Evaluation的网址吧:

http://vision.middlebury.edu/stereo/submit3/

已经到了第3版了,最新的数据集是2014年的

跑通用的是ubuntu17.10(之前本科的时候,用windows跑,各种难过,ubuntu下也有问题,不过相对来讲,容易多了,哈哈哈哈)。跑通这个东东,还是有很多坑需要踩一下子的,怕自己忘了,就写个博文记一下吧,说不定,硕士期间就跟三维重建相关的杠上了。

1、下载相关数据集及sdk:

Middleburry stereo Evaluation示例数据的运行及深度图结果查看
Middleburry stereo Evaluation示例数据的运行及深度图结果查看

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

Middleburry stereo Evaluation示例数据的运行及深度图结果查看
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

Middleburry stereo Evaluation示例数据的运行及深度图结果查看

安装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下载,可以是前两个)

Middleburry stereo Evaluation示例数据的运行及深度图结果查看

下载好了之后,查看它的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
           

最后,给一个显示的结果:

Middleburry stereo Evaluation示例数据的运行及深度图结果查看

以上就是对生成深度图的一个整个流程,论文跟上,整个流程做通,还远的很呐~~~(第一次在ubuntu下用新版写博文,很多习惯还没有改过来)

继续阅读