我正在研究立体视觉,我对这个问题中深度估计的准确性很感兴趣。这取决于几个因素,如:
假设我们没有低价相机和镜头(没有廉价的网络摄像头等)。
我的问题是,我们在这个领域可以实现的深度估算的准确性是多少? 谁知道真正的立体视觉系统能够准确地工作? 我们能实现1 mm的深度估计精度吗?
我的问题还针对在opencv中实现的系统。你能达到什么准确度?
答案 0 :(得分:15)
我想补充一点,即使使用昂贵的相机,使用颜色也是一个坏主意 - 只需使用渐变的灰度。一些高端立体相机的制造商(例如Point Grey)过去依赖颜色然后切换到灰色。还要将偏差和方差视为立体匹配误差的两个组成部分。这很重要,因为使用相关立体声,例如,具有大的相关窗口将平均深度(即,将世界建模为一组前平行补片)并且在增加方差的同时减小偏差,反之亦然。所以总是需要权衡。
除了上面提到的因素之外,立体声的准确度还取决于算法的具体情况。它取决于验证深度的算法(立体声估计后的重要步骤)并优雅地修补无纹理区域中的孔。例如,考虑来回验证(匹配R到L应该产生与匹配L到R相同的候选),blob噪声消除(通过connected component algorithm去除的立体匹配的典型非高斯噪声),纹理验证(在质地较弱的区域使深度无效),唯一性验证(具有单模式匹配分数,没有第二和第三强候选。这通常是来回验证的简短)等等。准确性还取决于传感器噪声和传感器的动态范围。
最后,您必须询问关于精度作为深度函数的问题,因为d = f * B / z,其中B是相机之间的基线,f是以像素为单位的焦距,z是沿光轴的距离。因此,准确度与基线和距离有很大关系。
Kinect将提供1mm的精度(偏差),具有相当大的变化,最大可达1m左右。然后它急剧下降。由于两个相机在近距离没有足够的重叠,因此Kinect的死区可达50厘米。是的 - Kinect是一款立体相机,其中一台相机由红外投影仪模拟。
我确信使用概率立体声,例如马尔可夫随机场上的信念传播,可以获得更高的准确度。但是这些方法假定了一些关于物体表面光滑度或特定表面方向的强有力的先验。见this for example, page 14。
答案 1 :(得分:15)
Q值。谁知道真正的立体视觉系统能够准确地工作?我们能实现1 mm的深度估算精度吗?
是的,你可以通过立体声装备获得1mm(并且更好)的深度估计精度(哎呀,你可以用一对显微镜进行立体侦察)。基于立体声的工业检测系统的精度在0.1 mm范围内,是常规使用,至少从1990年代早期开始。要清楚,通过基于立体声的"我的意思是使用2个或更多个几何分离的传感器的3D重建系统,其中通过对传感器中的3D点的匹配图像进行三角测量来推断点的3D位置。这样的系统可以使用结构化光投影仪来帮助进行图像匹配,然而,与适当的基于结构的基于光的3D重建系统不同,它不依赖于光投影仪本身的校准几何形状。
然而,大多数(可能是全部)这种设计用于高精度的立体声系统使用某种形式的结构化照明,或者关于重建形状的几何形状(或两者的组合)的一些先验信息,以便严格约束要进行三角测量的点的匹配。原因在于,一般来说,人们可以更准确地进行三角测量,因此匹配精度是重建精度的限制因素。
一种直观的方式可以看出为什么会出现这种情况,就是看一下立体声重建方程的简单形式: z = f b / d 。这里" f" (焦距)和" b" (基线)总结了钻机的属性,并通过校准估算,而" d" (视差)表示相同3D点的两个图像的匹配。
现在,至关重要的是,校准参数是"全球"它们是基于在视野和感兴趣的深度范围内进行的许多测量来估计的。因此,假设校准过程是无偏的并且系统近似时不变,则每个测量中的误差在参数估计中被平均。因此,通过大量测量,严格控制钻机光学系统,几何形状和环境(包括振动,温度和湿度变化等),可以非常精确地估算校准参数,即无偏估计值受影响通过传感器分辨率的顺序的不确定性,或者更好,使得在钻机操作的已知空间体积内可以忽略它们的残余不精确性的影响。
然而,差异是逐点估计:在左图像中指向 p 的一个状态匹配(可能)右图像中的 q ,以及差异中的任何误差 d =(q - p)出现在由 fb 缩放的 z 中。这是一次性的事情。更糟糕的是,在所有非平凡的情况下,差异的估计受到被分析对象的(先验未知的)几何和表面属性以及它们与照明的相互作用的影响。这些共谋 - 通过任何使用的匹配算法 - 来降低人们可以实现的重建的实际准确性。结构化照明在这里有所帮助,因为它减少了这种匹配不确定性:基本思想是在物体上投射清晰,聚焦良好的边缘,可以在图像中找到并匹配(通常,具有亚像素精度)。有很多结构化的灯光方法,所以我不打算在这里详细介绍。但我注意到这是一个使用颜色可以帮助很多的区域。
所以,你在实践中可以实现的,取决于你愿意花多少钱(更好的光学,低噪声传感器,刚性材料和钻机机械设计,受控照明) ,以及你如何理解并可以约束你的特定重建问题。
答案 2 :(得分:3)
如果你不想更多地了解方法的准确性,请看this site,虽然不再非常活跃,但结果几乎是最先进的。考虑到那里提出的几篇论文是为了创建公司。真正的立体视觉系统是什么意思?如果您的意思是商业用途,那么大多数商业重建系统都使用结构光或直接扫描仪。这是因为(你错过了列表中的一个重要因素),纹理是准确性的关键因素(甚至在正确性之前);除非添加纹理或结构光,否则立体系统无法重建白墙。然而,根据我自己的经验,涉及变分匹配的系统可以非常准确(图像空间中的子像素精度),这通常不是通过概率方法实现的。最后一点,摄像机之间的距离对于准确性也很重要:非常接近的摄像机会发现很多正确的匹配并且很快但准确度会很低,更远的摄像机会找到更少的匹配,可能需要更长的时间,但结果可能是更准确的;在many books中定义了最佳圆锥区域。 在所有这些blabla之后,我可以告诉你,使用opencv你可以做的最好的事情之一是进行初始相机校准,使用Brox的光流来查找匹配和重建。