相机模型与张氏标定

文章包含 3 大部分,第一部分介绍相机成像模型,针对小孔成像原理和透视成像原理进行描述;第二部分介绍成像过程中的四个坐标系和三次坐标转换;第三部分介绍使用最多的自由平面相机标定法:张氏标定法;

成像简介

在实际成像过程中,经常会使用针孔模型作为相机成像模型的近似;针孔成像的原理:现实世界源于物体的光线穿过针孔,在底板上投影成一幅倒立的图像;

图一:针孔成像原理

图二:左图为2维针孔成像模型;右图为透视投影模型

对针孔模型进行二维化简,可以看出物体光线经过小孔后成倒立的像;但是成倒立的像表述比较口;因此对小孔成像进行化简成右图的形式,右图也称为透视投影模型;透视成像模型与小孔模型相比,光心位于成像平面的后方,成正立的实像,更符合实际成像过程;

透视投影将三维空间点投影到二维平面上,对于三维空间中一点,与相机光心,投影点三点连线在同一条线上;后续我们将使用透视投影模型作为成像分析的基础。

坐标系转换

在投射投影模型中成像具有以下几个过程,涉及到 4 个坐标系之间的三个转换:

图三:相机成像过程

坐标系介绍

1.空间三维坐标系

三维空间坐标系即世界坐标系,是一个绝对的坐标系,所有三维点在世界坐标系下能够反映各自的位置关系;世界坐标系的原点是不固定的,随着应用场景不同,世界坐标系原点不同;在相机标定过程中,世界坐标系置于标定板的棋盘格的左上端。

图四:世界坐标系

世界坐标系和相机三维坐标系都是三维坐标系,但是坐标系原点不同;两个三维坐标系可通过平移和旋转进行相互转换;物理意义:一个三维点在世界坐标系下的坐标可通过平移和旋转,转换到另一个不同原点的三维坐标系下。

图五:平移和旋转转换三维坐标系

假设世界坐标系下物体点 P 的坐标( Xw, Yw, Zw),经过旋转矩阵 R 和平移矩阵 t 变换后,转换为相机坐标系下坐标( Xc, Yc, Zc ),则转换过程可表为:

用矩阵表达:

是相机模型的外参

2.相机三维坐标系

相机坐标系是以相机光心 O 为原点的三维坐标系,世界坐标系下的三维点通过欧式变换(平移和旋转),可转换到相机坐标系中;相机坐标系的点到图像坐标系的点,通过透视变换进行转换;其中图像坐标系是一个二维坐标系,可理解为相机坐标系中距离相机光心 距离为f(Zc=f) ,与光心 Zc=0平 面平行的一个平面;

图六:透视变换

将所有相机光心的坐标投影到 Zc=f 的平面上则:

矩阵形式:

3.图像坐标系

图七:图像坐标系

图像坐标系( Zc = f 的平面)是二维坐标系,描述相机坐标系中投影点在图像上的投影位置,一般坐标中心在相机Zc坐标轴上,xy坐标轴分别与相机坐标系中 XY轴平行;图像坐标系描述透视变换后空间点在图像上成像的位置坐标;

4.像素坐标系

使用矩阵的形式表达:

为了获取齐次坐标,最后一行可以添加 1 进行补充;

由于存在加工误差,像素不是绝对的矩形,是平行四边形形状;引入倾斜因子

图八:像素倾斜

此时公式(3)可描述成

,在实际标定过程中有时可认为 s=0,进行省略。

成像过程介绍

联立(1)(2)(3)式可以获得,世界坐标系一点P(Xw,Yw,Zw) 到像素坐标的计算过程:

通过推导相机模型,知道相机的内参 K 和外参[R t],下面将介绍如何求解相机内参和外参;对于相机标定我们介绍张氏标定;后续会出相机标定的专题,介绍 DLT 直接线性求解法,Tsai 两步法等常见的标定方法,畸变矫正方法以及相关的非线性优化知识等。

张氏标定求解基础知识

相机标定,是使用大量观测值进行参数模型拟合的过程,在此拟合的参数模型是已知的,所以尽可能探索获取大量观察值的方案,如果观测值之间还满足一些其他的几何约束,就更有助于求解具体单个参数值;

张氏标定是一种提供观察值的方案,同时观察值之间还满足一定的几何约束(平面约束);

假设某图像上坐标m=

,齐次表达式m? =

,世界坐标系一点坐标=

,齐次形式M?=

则相机模型为:

其中s为尺度因子,外参[Rt],内参矩阵A

其中

为焦距的值(像素为单位),(u0,v0)为像主点坐标(像素单位);

为像元轴的倾斜因子;

使用张氏标定时,世界坐标系固定在标定板上,且Z=0:

因此:

又由于:

张氏标定通过观察置于一个平面的标定图像,获取

的映射关系单应性矩阵H,然后计算内参和外参的过程。

求解过程:近似解

定义:

则:

推导出:

由于 r1, r2 是正交矩阵的列向量,两两正交且为单位向量;

则具有如下两个约束:

则:

令:

注意到B是对称矩阵,可用6维向量表示:

已知 1 个单应性矩阵提供 2 个约束,线性方程组 b 有 6 个未知数(5 个内参+1 个尺度因子),

n>=3 个单应性矩阵可求取全部未知数;

n=2 时,令 γ=0,此时添加一个约束:

n=1 时可计算两个内参 α 和 β,此时要求 u0 和 v0是已知的;

由矩阵

,内参矩阵可通过 B 矩阵进行求解:

求取内参之后,根据内参矩阵 A 矩阵获取外参:

声明:本站部分文章内容及图片转载于互联 、内容不代表本站观点,如有内容涉及侵权,请您立即联系本站处理,非常感谢!

(0)
上一篇 2022年8月25日
下一篇 2022年8月25日

相关推荐