翻译约定:
calibration technique 标定技术
calibration object 标定物体
Photogrammetric calibration 摄影测量标定
Self-calibration 自标定
the principal point 中心点
homography 单应性变换(单映射)
自标定——使用这种策略的技术不使用任何标定物体。仅通过在静态场景中移动相机,只使用图像信息,一次相机位移,场景的刚度通常可以对相机的内部参数提供两个约束。因此,如果图像由同一台相机拍摄,且内部参数固定,则三个图像之间的对应关系足以恢复内部参数和外部参数,从而这些参数将使我们能够重建三维结构。虽然这种方法非常灵活,但还不成熟。由于有许多参数需要估计,我们不能总是得到可靠的结果。
我们目前的研究主要集中在桌面视觉系统(DVS),因为使用DVS的潜力很大。相机变得便宜且无处不在。DVS针对的是普通大众,他们不是计算机视觉方面的专家。典型的计算机用户只是时不时地执行视觉任务,因此不愿意为昂贵的设备投入资金。因此,灵活性,稳健性和低成本是重要的。本文中描述的相机校准技术是在考虑到这些因素的基础上开发的。
本文提出的技术仅需要相机以几个(至少两个)不同的方向观察一张平面图案。图案可以用激光打印机打印出来并贴在“相对的”平面上(例如硬书封面)。可以用手移动相机或平面图案。而不必知道移动本身。本文提出的方法介于摄影测量标定和自标定之间,因为我们使用2D度量信息而不是3D或纯粹的隐式信息。计算机仿真和实际数据都已用于测试本文提出的技术,并且获得了非常好的结果。与传统技术相比,本文提出的技术更加灵活。与自标定相比,它获得了相当大的程度鲁棒性。我们相信这项新技术帮助3D计算机视觉从实验室环境向现实世界又迈进了一步。
请注意,Bill Triggs最近提出了一种自标定技术,需要一张平面场景的至少5个视图。他的技术比我们的技术更灵活,但很难初始化。Liebowitz和Zisserman提出了一种平面的透视图像的度量校正技术,这种技术使用度量信息(例如已知角度,两个相等但未知的角度,已知长度比)。他们还提到,至少有三个这样的平面可以校准内部摄像机参数,尽管没有显示实验结果。
本文的结构如下。第2节描述了相机观察一个平面时的基本约束。第3节描述了标定流程。我们从封闭形式的解开始,然后进行非线性优化。也对径向透镜畸变进行了建模。第4节研究了本文提出的标定技术可能失败的情形。在实践中很容易避免这种情况。第5节提供了实验结果。计算机仿真和实际数据都用于验证本文提出的技术。在附录中,我们提供了许多细节,包括估计模型平面与其图像之间的单应性的技术。
2 基本方程
我们考察相机观察单个平面时,对相机内部参数的约束。我们从本文中使用的符号开始。
2.1 符号
一个2D点记为 m = [ u , v ] T m=[u,v]^T m=[u,v]T。一个3D点记为 M = [ X , Y , Z ] T M=[X,Y,Z]^T M=[X,Y,Z]T。我们使用 x ~ \tilde{x} x~来表示在向量 x x x中添加1作为最后一个元素得到的增广向量: m ~ = [ u , v , 1 ] T \tilde{m}=[u,v,1]^T m~=[u,v,1]T和 M ~ = [ X , Y , Z , 1 ] T \tilde{M}=[X,Y,Z,1]^T M~=[X,Y,Z,1]T。相机使用常用的针孔模型:那么,一个3D点与其图像投影之间的关系可由下式给出:
s m ~ = A [ R t ] M ~ s\tilde{m}=A\begin{bmatrix}R& t \end{bmatrix} \tilde{M} sm~=A[Rt]M~
式中, s s s是任意比例因子; [ R t ] \begin{bmatrix}R& t \end{bmatrix} [Rt] ,称为外部参数,是将世界坐标系与摄像机坐标系联系起来的旋转和平移; A A A,称为相机内参矩阵,由下式给出:
A = [ α γ μ 0 0 β υ 0 0 0 1 ] A=\begin{bmatrix} \alpha &\gamma &\mu_0 \\ 0&\beta&\upsilon_0 \\ 0& 0& 1\end{bmatrix} A=⎣⎡α00γβ0μ0υ01⎦⎤
( μ 0 , υ 0 ) (\mu_0,\upsilon_0) (μ0,υ0)是中心的坐标, α \alpha α和 β \beta β是图像 μ \mu μ和 υ \upsilon υ轴的比例因子, γ \gamma γ是描述两个图像轴的偏斜的参数。
我们使用缩写 A − T A^{-T} A−T表示 ( A − 1 ) T (A ^{-1})^T (A−1)T或 ( A T ) − 1 (A^ T)^{-1} (AT)−1。
2.2 模型平面和它的像之间的单应性变换
在不失一般性的情况下,我们假设模型平面在世界坐标系的 Z = 0 Z = 0 Z=0上。
我们用 r i r_i ri表示旋转矩阵 R R R的第 i i i列。 从(1)式,可得:
s [ μ υ 1 ] = A [ r 1 r 2 r 3 t ] [ X Y 0 1 ] = A [ r 1 r 2 t ] [ X Y 1 ] s\begin{bmatrix} \mu \\ \upsilon \\ 1 \end{bmatrix} = A\begin{bmatrix} r_1 & r_2 & r_3 & t \end{bmatrix} \begin{bmatrix} X \\ Y \\ 0 \\ 1 \end{bmatrix} \\ =A\begin{bmatrix} r_1 & r_2 & t \end{bmatrix} \begin{bmatrix} X \\ Y \\ 1 \end{bmatrix} s⎣⎡μυ1⎦⎤=A[r1r2r3t]⎣⎢⎢⎡XY01⎦⎥⎥⎤=A[r1r2t]⎣⎡XY1⎦⎤
此处重用符号,我们仍然使用 M M M来表示模型平面上的点,但是 M = [ X , Y ] T M = \begin{bmatrix} X,Y\end{bmatrix}^T M=[X,Y]T(因为 Z Z Z总是等于0)。另外, M ~ = [ X , Y , 1 ] T \tilde{M} = \begin{bmatrix}X,Y,1\end{bmatrix}^T M~=[X,Y,1]T。此时,模型点 M M M和它的图像 m m m之间的关系可以通过单应性变换矩阵 H H H表示:
s m ~ = H M ~ w i t h H = A [ r 1 r 2 t ] s\tilde{m}=H\tilde{M} \quad with \quad H=A\begin{bmatrix} r_1 & r_2 & t \end{bmatrix} sm~=HM~withH=A[r1r2t]
很清楚,3×3矩阵 H H H的定义与比例因子有关。
2.3 内参上的约束
给定一幅模型平面的图像,它的单应性变换矩阵就可以估计出来(参见附录A)。让我们用 H = [ h 1 h 2 h 3 ] H =\begin{bmatrix} h_1 & h_2 & h_3\end{bmatrix} H=[h1h2h3]来表示它。 从公式(2)中,我们可得:
[ h 1 h 2 h 3 ] = λ A [ r 1 r 2 t ] \begin{bmatrix} h_1 & h_2 & h_3\end{bmatrix}=\lambda A\begin{bmatrix} r_1 & r_2 & t \end{bmatrix} [h1h2h3]=λA[r1r2t]
其中, λ \lambda λ是一个任意的标量。且已知 r 1 r_1 r1和 r 2 r_2 r2是正交的,我们可得: