相机模型与标定
内外参定义
相机中有四个坐标系,分别是{world}
、{camera}
、{image}
、{pixel}
{world}
:世界坐标系,可以任意指定xw和yw轴{camera}
:相机坐标系,原点位于小孔,z轴与光轴重合,xc轴和yc轴平行投影面{image}
:图像坐标系,原点位于光轴和投影面的交点,xp轴和yp轴平行投影面{pixel}
:像素坐标系,从小孔向投影面方向看,投影面的左上角为原点Opix,uv轴和投影面两边重合
关系
-
从
{world}
到{camera}
- 设某点在
{world}
中的坐标Pw=(xw, yw, zw)T,在{camera}
中的坐标为Pc=(xc, yc, zc)T,则:
- R为正交旋转矩阵
- T为平移矩阵
- R为正交旋转矩阵
- 设某点在
-
从
{camera}
到{image}
- 设空间点Xc在
{camera}
下:Pc=(xc, yc, zc)T,其像点m在{image}
的齐次坐标为m=(xp, yp, 1)T。由图中相似三角形可得:
写成矩阵表示:
- 实际中,主点可能不在图像坐标系原点,若主点在图像坐标系中的坐标为P=(x0, y0, 1)T,则
- 设空间点Xc在
-
从
{image}
到{pixel}
- 假设一个像素的长和宽分为为dx,dy,设像素坐标Pix=(u, v, 1)T,则
- 结合
{camera}
到{image}
的变换,则{camera}
到{pixel}
的变换矩阵K为:
其中,fx=f/dx,fy=f/dy,称为相机在u轴和v轴方向上的尺度因子。相机主点为:(u0, v0)T=(u0/dx, v0/dy)T
- 假设一个像素的长和宽分为为dx,dy,设像素坐标Pix=(u, v, 1)T,则
-
从
{world}
到{pixel}
- 四个坐标系的变换过程:
- 矩形表示为:
- 其中K为内参
- 外参:
- 四个坐标系的变换过程:
标定方法概述
- 打印一张棋盘格A4纸张(黑白间距已知),并贴在一个平板上
- 针对棋盘格拍摄若干张图片(一般10~20张)
- 在图片中检测特征点(Harris特征)
- 利用解析解估算方法计算出5个内部参数,以及6个外部参数
- 根据极大似然估计策略,设计优化目标并实现参数的
refinement
标定板介绍
例:
标定方法
计算外参
设三维世界坐标点为M=[X, Y, Z, 1]T,二维相机平面像素坐标为m=[u, v, 1]T,所以标定用的棋盘格平面到图像平面的单应性关系为sm=A[R, t]M,其中
s
:世界坐标系到图像坐标系的尺度因子A
:相机内参矩阵- (u0, v0):像主点坐标
- α,β:焦距与像素横纵比的融合
- γ(gamma):径向畸变参数
- R:旋转矩阵
- t:平移向量
不妨设棋盘格位于Z=0,定义旋转矩阵R的第i列为ri,则有:
令H=[h1, h2, h3]=λ[r1, r2, t],于是空间到图像的映射可改为:sm=HM,其中H是描述Homographic矩阵,H是一个齐次矩阵,所以有8个未知数,至少需要8个方程,每对对应点能提供两个方程,所以至少需要四个对应点,就可以算出世界平面到图像平面的单应性矩阵H。
外部参数可通过Homography求解,由H=[h1, h2, h3]=λ[r1, r2, t]可推出
计算内参
由r1和r2正交,且r1和r2的模相等,可以的得到如下约束:
则B中未知量可表示为6D 向量b,b=[B11 B12 B22 B13 B23 B33]T
设H中的第i列为hi,则hi=[hi1 hi2 hi3]T,根据b的定义,可以推导出如下公式
即
内部参数可通过如下公式计算(cholesky分解):
上述的推导结果是基于理想情况下的解,但由于可能存在高斯噪声,可以使用最大似然估计进行优化。