基于仿射3D的测量和重建

Affine 3D measurements and reconstruction
 

《Multiple View Geometry in Computer Vision Second Edition》P223

根据已知像平面的消失线,可以测量像平面的仿射属性;

如果再加上可以识别出与平面不平行的方向的消失点,然后就能够计算三维透视空间的仿射属性;

我们将针对消失点对应于与平面正交的方向的情况说明这个想法,尽管正交性对于构造这个算法不是必需的。

Remark:本节中描述的方法不需要知道摄像机K的内参

 

将场景平面视为水平地平面将是方便的,因为在这种情况下,消失线是地平线;

类似地,将与场景平面正交的方向视为垂直方向将是方便的,因此v是垂直消失点。 这种情况如下图所示。

基于仿射3D的测量和重建

 

假设我们希望测量垂直方向上两个线段的相对长度,如图8.20(a)所示。 我们将显示以下结果:

基于仿射3D的测量和重建

Result8.24:

当给定地平面 I 的消失线以及垂直消失点v的时候,则可以测量垂直线段的相对长度,只要它们的终点位于地平面上即可。

显然,不能直接从它们的成像长度测量相对长度,因为当垂直线更深地进入场景(即远离相机)时,其成像长度减小;

 确定相对长度的算法分两步进行:

step1 :将一个线段的长度映射到另一个线段。

"这段比较简单,而且数学符号太多了。。。"

基于仿射3D的测量和重建

step2 :  确定场景线上的长度比。

基于仿射3D的测量和重建

基于仿射3D的测量和重建

算法的伪代码如下:

基于仿射3D的测量和重建

Remark: 应用算法不需要了解相机校准K或姿势。 实际上,也可以计算摄像机中心相对于地平面的位置。

即使消失点或(和)线在图像中处于无穷远,该算法也很好地调节;

例如,在仿射图像条件下,或者如果图像平面与垂直场景方向平行(使得v在无穷远处)。此时的距离比可以简化为:

                                                                       基于仿射3D的测量和重建