middlebury立体匹配评估使用方法总结(二)——python版离线教程

系列文章目录

middlebury立体匹配评估使用方法总结(一)——网站说明
middlebury立体匹配评估使用方法总结(二)——python版离线教程
middlebury立体匹配评估使用方法总结(三)——线上版教程



前言

  最近想使用middlebury数据集测一下算法的效果如何,奈何网上没有完整的搭建middlebury离线环境的教程,自己查阅资料和阅读官方readme文档总结如下教程。
推荐两个博主的文章,非常有用。
windows下Middlebury离线工具使用(补充)
立体视觉数据集之MiddleBury离线使用踩坑记录(Windows+Cygwin)


1.下载内容

进入middlebury官网
请添加图片描述
README.txt可以查看官方给的方案。
在这里插入图片描述
1、,下载并解压MiddleEval3-data-Q.zip(原始图片及校正参数)、MiddleEval3-GT0-Q.zip(标准视差图)。(F、H、Q代表了三个不同的分辨率,按照自己的需要下载不同分辨率的图片,也可以都下载下来,一共15组,没多大),解压到同一个文件夹下,合并起来就跟说明书里面的contents部分的结构一样了。
在这里插入图片描述

2、下载MiddEval3-SDK-1.6.zip(离线评测工具),是一些由c++代码和shell脚本组成的SDK,可以在windows环境下运行,能够在所有数据集上运行算法,评估训练集结果,和为结果创建压缩文件以及上传。进行检测需要使用后缀为.pfg的PFM格式的视差图像(算法处理后的结果图)。
在这里插入图片描述

3、下载cvkit工具包,用于查看.pfm格式的文件。
在这里插入图片描述

2.配置环境

1、安装cmake
2、安装cygwin(cygwin安装时需要手动选择make和tcsh)
3、安装MinGW(官网下载的MinGW是不包含扩展包的,然而MiddleBury中的使用到了libpng这个扩展包,所以这里分享了一个自带扩展包的MinGW,链接已经在上面了。)
4、分别为cmake、cygwin、MinGM配置环境变量。
在这里插入图片描述

3.elas编译

 官方文档说明
在这里插入图片描述
在middlebury文件夹下cmd执行

cd alg-ELAS/build
cmake ..
make
cd ../..

code/imageLib/ImageIOpng.cpp中的png.h可能会出现找不到的情况,所以需要手动添加如下代码:
路径改成自己的MinGW安装路径

extern "C"{
    
    
#include "E:\\MinGW\\MinGW\\include\\png.h"
}

在middlebury文件夹下cmd执行

cd code/imageLib
make
cd ..
make
cd ..

4. 运行评估

  打开cygwin终端 ,参考在 windows 下的某目录中右键打开 cygwin 终端

  输入指令,可以查看相关操作

/.runeval

在这里插入图片描述

  通过python中opencv代码可以获取pfm的视差图,建议直接保存为pfm文件,放到对应的测试文件目录下,即可进行测试。

cv2.imwrite("test.pfm",disp)

在这里插入图片描述
  在cygwin中输入指令,进行测试

./runeval Q Adirondack 1

在这里插入图片描述

总结

mask:(水平/垂直方向上的)非遮挡区域比例
bad1.0 传递的阈值为1的时候,坏点率:即和真实结果在对应像素点位置的值的差距大于阈值的点的比例
invalid 无效点率 ,指的是那些黑色点,匹配失败,灰度为无穷大
totbad 总体坏点,坏点率 + 无效点率
avgErr 平均误差:所有的有效的点和真实结果的点的灰度差的累加和/所有有效点个数

粘贴一下我的文件夹图,大家可以对照一下,看却些什么。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43788282/article/details/128027639