6

我正在尝试从带有两个摄像头的立体系统估计深度。我使用的简单等式是:

           Baseline*Focal
Depth = ----------------------
             Disparity

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

4

1 回答 1

9

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

澄清一下:您应该注意(如果您做的事情正确)您以像素为单位测量差异,然后将其转换为米(或如下所示的毫米)。那么完整的公式是:

          Baseline * Focal length
Depth = ----------------------------
        Pixel disparity * Pixel size

假设您有以下设置:

Baseline (b) = 8 cm (80 mm)
Focal length (f) = 6.3 mm
Pixel size (p) = 14 um (0.014 mm)

您可以测量的最小差异是 1 个像素。使用已知数字,这可以转化为:

Depth = (80*6.3)/(1*0.014) = 36,000 mm = 36 m

因此,在这种情况下,这将是您的上限。请注意,您的测量在此范围内非常不准确。下一个可能的差异(2 个像素)发生在 18m 的深度,下一​​个(3 个像素)发生在 12m 处,依此类推。将基线加倍将使范围加倍至 72m。将您的焦距加倍也会使您的范围加倍,但请注意,两者都会在短期内对您产生负面影响。您还可以通过减小像素大小来增加最大深度。

对于 0.014 毫米的像素大小,您可能正在谈论水平分辨率约为 1024 像素的 CCD,对于 14.3 毫米宽的 CCD。如果将同一区域中的像素数加倍,则最大范围将加倍,而不会在近端丢失任何东西(因为那里的限制由基线和焦距决定,它们保持不变)。

是对立体视觉深度测量权衡的一个很好的概述。维基百科上的这篇文章对像素大小、ccd 大小、焦距和视野之间的关系有一些很好的信息。

于 2013-10-17T09:35:45.690 回答