我想对立体摄像机系统的深度精度/不确定性做一个粗略的估计。为此,我想在附图中使用基本公式。对我来说,仍然不清楚的是对于视差误差$ \ Delta $ D的合理选择。不幸的是,例如这个答案(在“解决方案”中)仅非常迅速地描述了视差误差大小的假设。

是否合理假设一个像素的宽度?为什么是,为什么不呢?



#1 楼

答案是,视差误差取决于匹配算法的准确性,该算法匹配两个图像中的点。其中一些算法的精度为一个像素,有些甚至达到了亚像素精度。

评论


$ \ begingroup $
是的,但是基线也需要考虑。随着基线的变大,深度误差会减小,但由于模棱两可,立体声匹配会变得更加嘈杂且可靠性降低。如果将立体声用于高分辨率3D重建,则将需要使用多视图重建,因为它可以实现非常干净和高分辨率的重建。这样做的缺点(基本上是运动的结构)是假设场景是静态的。如果您具有动态场景,则可以使用多个(> 2)摄像机代替使用SfM。
$ \ endgroup $
–高达
17 Mar 9 '17 at 11:54

#2 楼

视差误差随您用于计算立体声的算法的不同而有很大差异。有许多用于评估不同立体声算法质量的基准。例如,参见


Middlebury立体声基准测试:http://vision.middlebury.edu/stereo/eval3/,该领域的先驱。
KITTI场景流程基准:http://www.cvlibs.net/datasets/kitti/eval_scene_flow.php?benchmark=stereo,它可能与机器人应用程序更为相关。

KITTI基准排名是基于离群值的像素百分比,其中离群值定义为<3px或<5%的视差误差。米德伯里(Middlebury)有许多不同的错误标准,但默认设置是相似的异常值百分比,错误阈值为2 px。通过查看其他有关Middlebury误差指标的选项,您可以看到大多数算法对绝大多数像素都达到了亚像素精度,但是有百分之几(或更多)的像素没有得到正确的对应,导致出现异常值。这些错误对应关系的错误在某种程度上是随机分布的,因此基准测试选择这些阈值指标以避免对异常值过于敏感。

因此,选择适当的值将取决于您所尝试的模拟。如果您对能够找到良好匹配项的常见情况感兴趣,则可以查看Middlebury的中位数误差(指标A50),对于领先的算法,该误差约为半个像素。

但是请记住,许多方法的计算量要比许多机器人应用程序的实际方法要昂贵得多,运行时间只有几秒钟。如果您正在寻找以高帧频运行的方法,请查看“时间”指标。诸如半全局块匹配(SGBM)之类的方法每秒可以运行几次,但对于SGBM1,中值错误会提高到1.27。对于这些方法中的任何一种,来自异常值的误差都可能更高。您可以尝试描述错误的分布情况,以获取更完整的图片,尽管它取决于您的输入(它们是否与基准测试中的输入类似)以及算法的选择。