打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
机器视觉学习笔记(4)

机器视觉学习笔记(4)——单目摄像机标定参数说明

标签: 机器视觉


1.针孔摄像机模型

  • 在介绍摄像机标定参数之前,需要先简单说一下针孔摄像机的原理。投影平面到小孔的距离为焦距f,物体到小孔的距离为Z,其中物体和投影是倒立相似的关系,下图为针孔摄像机的投影示意图:

  • 如果按照实际的投影关系建立坐标系,那么投影坐标和物体坐标的符号总是相反的,考虑起来不太方便,于是在“数学上”把投影平面平移到其关于小孔对称的位置,这样投影坐标和物体坐标符号就相同了,示意图如下:

  • 根据三角形相似的原理,可以列出如下等式:
    \frac{f}{Z}=\frac{l_{投影}}{l_{物体}}

2.摄像机中的坐标系

  • 摄像机中的坐标系有4个,均为右手坐标系,分别记为{world},{camera},{picture},{pixel},下图所示列出了{camera},{picture}和{pixel}坐标系:

  • {world},{camera},{picture}和{pixel}坐标系的坐标用下标来区分,分别是W,c,p,pix

  • {world},{camera},{picture}坐标系单位为长度,一般为mm;{pixel}坐标系单位为像素,一般为pix

  • {world}坐标系为世界坐标系,可以任意指定,其他坐标系都有明确的定义

  • {camera}坐标系为摄像机坐标系,原点在小孔的位置,z轴与光轴重合,Xc轴和Yc轴分别和投影面两边平行

  • {picture}坐标系为图像坐标系,光轴和投影面的交点为原点,Xp轴和Yp轴分别和投影面两边平行

  • {pixel}坐标系为像素坐标系,从小孔向投影面方向看,投影面的左上角为原点Opix,Xpix轴和Ypix轴和投影面两边重合

3.各个坐标系的坐标转换

3.1{world}到{camera}

设某点在{world}坐标系中的坐标为 {\ P_W = [x_W,y_W,z_W,]^T},该点在{camera}坐标系中的坐标为 P_c = [x_c,y_c,z_c,]^T,则有
P_c=\begin{bmatrix}R & T \\0 & 1\end{bmatrix}P_W\tag{1}
其中R是正交旋转矩阵:
R=\begin{bmatrix}r_{11} & r_{12}&r_{13}\\r_{21} & r_{22}&r_{23}\\r_{31} & r_{32}&r_{33}\\\end{bmatrix}\tag{2}
T是平移矩阵:
T=\begin{bmatrix}t_x&t_y&t_z\end{bmatrix}^T\tag{3}
确定R需要3个参数,确定T需要3个参数,共需6个参数,这6个参数称为摄像机的外部参数

3.2{camera}到{picture}

根据三角形相似原理,可得
\left\{\begin{aligned}x_p=f\frac{x_c}{z_c}\\y_p=f\frac{y_c}{z_c}\end{aligned}\right.\tag{4}
写成矩阵形式
z_c\begin{bmatrix}x_p\\y_p\\1\end{bmatrix}=\begin{bmatrix}f&0&0&0\\0&f&0&0\\0&0&1&0\end{bmatrix}\cdot\begin{bmatrix}x_c\\y_c\\z_c\\1\end{bmatrix}\tag{5}

3.3{picture}到{pixel}

s_x表示Xpix方向上单位mm的像素数,单位是pix/mm
s_y表示Ypix方向上单位mm的像素数,单位是pix/mm
x_0,y_0表示投影平面中心在{pixel}中的坐标,则有
\left\{\begin{aligned}x_{pix}=x_0+x_p\cdot s_x\\y_{pix}=y_0+y_p\cdot s_y\end{aligned}\right.\tag{6}
写成矩阵形式
\begin{bmatrix}x_{pix}\\y_{pix}\\1\end{bmatrix}=\begin{bmatrix}s_x&0&x_0\\0&s_y&y_0\\0&0&1\end{bmatrix}\cdot\begin{bmatrix}x_p\\y_p\\1\end{bmatrix}\tag{7}

3.4{world}到{pixel}


\left\{\begin{aligned}f_x=f\cdot s_x\\f_y=f\cdot s_y\end{aligned}\right.\tag{8}
分别表示焦距f在Xpix和Ypix方向上的等效焦距,单位是pix,结合(1)(5)(7)(8)式可得
z_c\begin{bmatrix}x_{pix}\\y_{pix}\\1\end{bmatrix}=\begin{bmatrix}f_x&0&x_0&0\\0&f_y&y_0&0\\0&0&1&0\end{bmatrix} \cdot \begin{bmatrix}R & T \\0 & 1\end{bmatrix}\begin{bmatrix}x_W\\y_W\\z_W\\1\end{bmatrix}\tag{9}

3.5小结

单目摄像机需要标定参数就是 f_x,f_y,x_0,y_0这4个参数

  • f_x,f_y,x_0,y_0叫做摄像机的内部参数,因为这些参数只和摄像机有关系,和具体的摄像场景,和世界坐标系没有关系
  • R T内部一共有6个独立的参数,叫做外部参数。外部参数是描述世界坐标系和摄相机坐标系的参数,所以只要世界坐标系和摄相机坐标系的相对位姿发生了变化, R T就会改变,甚至可以说,每一张图片的 R T都不一样
  • 单目摄像机标定就是已知像素坐标系下的坐标 P_{pix}和世界坐标系下的坐标 P_W,列方程组求解内部参数

4.摄像机透镜畸变

由于针孔可以透过的光线太少,成像会不清楚,所以往往都会加上凸透镜汇聚更多的光线。但是加上凸透镜以后,会导致成像畸变,所以还需要校正透镜畸变。透镜的畸变主要分为两类,一类是径向畸变,一类是切向畸变

4.1径向畸变

径向畸变会产生“鱼眼”现象。成像中心处径向畸变为0,径向畸变随着与成像中心距离增大而增大,在图像边缘处达到最大径向畸变。常常用偶次幂的泰勒公式描述径向畸变
\left\{\begin{aligned}x_{cerrected}=x(1+k_1r^2+k_2r^4+k_3r^6)\\y_{cerrected}=y(1+k_1r^2+k_2r^4+k_3r^6)\end{aligned}\right.\tag{10}

4.2切向畸变

切向畸变由透镜和成像平面不平行引起。常用如下公式描述
\left\{\begin{aligned}x_{cerrected}&=x+[2p_1y+p_2(r^2+2x^2)]\\y_{cerrected}&=y+[p_1(r^2+2y^2)+2p_2x]\end{aligned}\right.\tag{11}

4.3小结

单目摄像机透镜畸变校正需要确定的就是 k_1,k_2,k_3,p_1,p_2这5个参数,如果“鱼眼”现象不明显的话,常常使用 k_1,k_2来校正径向畸变

5.总结

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
相机标定(二)
LaTeX新人教程,30分钟从完全陌生到基本入门
点击率预估算法:FM与FFM
开源机器人库orocos KDL 学习笔记二:Geometric
EM算法深度解析
三维旋转:旋转矩阵,欧拉角,四元数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服