视场如何改变立体视觉中的深度估计?

Spe*_*d87 6 opencv computer-vision stereoscopy

我试图用两个摄像头估计立体声系统的深度.我使用的简单方程是:

           Baseline*Focal
Depth = ----------------------
             Disparity
Run Code Online (Sandbox Code Playgroud)

两个摄像头的视野不会改变允许的最大深度?它只改变可测量的最小深度?

jil*_*wit 9

在最高端,可测量的深度受到您使用的相机的分辨率的限制,这反映在视差中.随着深度变得越大,差异趋于零.具有更大的视野,在较低深度处有效地为零.因此,更大的视野会降低可测量的最大深度,但您可以通过使用更高分辨率的相机进行一定程度的补偿.

澄清一下:你应该注意(如果你做的正确),你可以测量像素差异,然后将其转换为米(或下面的毫米).完整的公式是:

          Baseline * Focal length
Depth = ----------------------------
        Pixel disparity * Pixel size
Run Code Online (Sandbox Code Playgroud)

假设您有以下设置:

Baseline (b) = 8 cm (80 mm)
Focal length (f) = 6.3 mm
Pixel size (p) = 14 um (0.014 mm)
Run Code Online (Sandbox Code Playgroud)

您可以测量的最小差异是1像素.使用已知数字,这意味着:

Depth = (80*6.3)/(1*0.014) = 36,000 mm = 36 m
Run Code Online (Sandbox Code Playgroud)

所以在这种情况下,这将是你的上限.请注意,在此范围内,您的测量结果非常不准确.下一个可能的差异(2个像素)发生在18米的深度,下一​​个(3个像素)发生在12米,等等.加倍你的基线会使范围加倍到72米.加倍你的焦距也会使你的射程增加一倍,但请注意,两者都会对短距离产生负面影响.您还可以通过减小像素大小来增加最大深度.

像素尺寸为0.014毫米时,你可能正在谈论CCD的水平分辨率为1024像素,CCD的宽度约为14.3毫米.如果你将同一区域的像素数加倍,你可以将最大范围加倍,而不会在近端失去任何东西(因为这些限制由基线和焦距决定,保持不变).

是对立体视觉中深度测量的权衡的非常好的概述.而这篇文章在维基百科上对像素尺寸,CCD尺寸,焦距和视场之间的关系,一些好的信息.