Motivation
顾名思义,大多数计算机视觉任务都涉及到成像设备。当成像设备为相机时,其执行的是从3D世界到2D图像的映射,确定映射参数的过程就叫做相机标定。该过程同样包括了对观测的成像过程的建模以及参数化。
早在计算机视觉社区解决建模和确定相机映射参数之前,常使用摄影测量来研究相机标定问题。摄影测量的过程复杂冗余,往往适用于照片。如今,数字图像传感器代替了传统的相机,同时也引入了比如数字化建模的问题。
另一方面,连续信号的数字化是计算机视觉中众所周知的研究对象。计算机视觉的许多应用不需要像摄影测量那样在重建中具有高精度。在机器人和辅助驾驶领域,往往有必要在未知的环境中获取信息。通常,通过粗略的数据估计传感器的自身位置往往比测量高精度的距离更重要(比如自动系统种的自我定位)。此外,自标定定义了计算机视觉的一个重要任务。相机自标定意味着从图像中获取足够多的信息。假设相机是针孔相机模型,那就可以将相机映射定义为投影映射。这打开了使用投影几何进行相机标定的大门。
为了调整针孔相机模型的精度,模型增加了定义在像平面畸变映射。然而,像任何一个模型一样,带畸变的针孔相机模型只是对真实相机模型的一个逼近。实际中,镜头系统的大多数单色像差(不是很懂,需要了解镜头的相关知识)无法在一个平面内建模。将畸变建模为平面内的映射假设观察到的点的畸变不取决于点到镜头平面的距离。在摄影测量中,对于针孔相机模型,观察到的畸变不仅会随着镜头聚焦而变化,而且会在固定焦距的景深内变化。
本书主要介绍使用度量重构来完成相机标定。
Outline
下一章将根据斯涅尔定律(折射定律)从几何光学中推导出相机映射关系。如果将斯涅尔定律简化为一阶光学,那么就可以从针孔成像中得到经典的相机映射关系。一阶光学只是对相机映射的粗略估计,因此观测到的任何偏差都要另外建模。处理像差的标准方法是在图像平面中引入失真/畸变映射。
相机标定的目的就是确定最适合真实相机观测过程的模型参数(若要对相机观测过程建模,标定过程确定模型参数的过程),因此需要测量观测对象到给定相机模型的距离。在第三章中,引入了4种方法来测量该距离。用于确定最优相机映射的每种距离函数都定义了一个非线性优化问题。
由于每一种非线性优化算法都需要给定一个初始值,因此在第四章解决获取初始值的问题。根据Zhang ([Zha98])(应该是张正友标定法),为初始的解决方案提供了一些约束。这些额外约束使得初始值问题存在有效解。
立体相机系统的标定远非分别单独标定两个相机:由于标定对象同时被多个相机观测到,因此需要增加一个额外的约束。在第五章将对经典的极线约束进行拓展并展示对应的结果。
当需要处理模糊对象时,带畸变的针孔相机模型的局限性将变得明显。针孔相机模型取决于镜头的参数:存在一个确定的物平面,使得物平面种的对象在图像种清晰,所有物平面外的像都将变得模糊。在第六章中,通过一阶光学对模糊进行了分析,主要分析结果表明即使在一阶光学中,模糊不仅取决于对象的深度,还取决于其在固定深度中的位置。此外,模糊不是旋转对称的。因此,假设每个像素都相同的旋转不变模糊的点提取方法肯定是错误的。同样,实验结果表明,误差取决于观测点的深度。因此,对相机进行高精度标定需要知道相机映射中有关观测点深度的组成部分。在最后一部分提供了两种深度依赖的相机模型,一些实验结果支持所提出的非标准相机模型。
Contribution
该工作在以下相机标定方面取得了一些新的进展:
- 非线性优化的初始值
相机标定是一个非线性问题。然而,每个非线性优化算法都需要适当的初始值以获得最优的效果。因此,我们提供了几种获取初始值的方法。具体地,我们回顾了张正友的方法来获取针孔相机参数的初始值。此外,提出了获取额外约束的一些方法,提升了效果。另外发现,当相机其他参数都已知的情况下,畸变是一个线性最小二乘问题。 - 相机标定种的半线性
由于畸变是线性最小二乘问题,因此可以通过封闭形式的线性方法最小化一部分相机标定误差函数,称包含部分线性问题的非线性问题为半线性问题。在相机校准的情况下,我们可以将几百年参数的计算与非线性优化分离。 因此,非线性最小化中的参数数量将减少。 - 立体相机标定
相对于(单目)标定,立体相机标定引入了额外的约束,即极线约束。将极线约束拓展为广义极线约束并介绍了集中立体标定的方法。 - 非标准相机模型
对于带畸变的针孔相机模型,观察到了一种依赖观测对象深度的残差畸变。而标准的相机模型忽视了该深度依赖的畸变,因此展示了两种方法来把深度信息引入到畸变模型中:首先是样条校正,它取决于观察对象的深度,其次是一种新的双平面失真模型,它脱离了针孔假设。
|