相机标定(Camera Calibration)-学习笔记
一、简介
在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这个求解参数的过程就称之为相机标定。其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。[百度百科]
相机标定是求解相机参数的过程,可以理解为求世界坐标到像素坐标的映射的过程。相机参数可以用来校正镜头畸变、用真实世界单位测量目标的大小或确定场景中相机的位置。一般用于机器视觉等应用中,以检测和测量物体;还用于机器人技术、导航系统和 3-D 场景重建。用到相机的项目,往往第一步就是进行相机标定。
二、原理
1. 坐标系 coordinates
相机标定简单地说就是坐标系的转换
- 世界坐标系: 也称为测量坐标系,三维直角坐标系。代表物体在真实世界里的三维坐标,坐标系用Xw,Yw,Zw表示。以其为基准可以描述相机和待测物体的空间位置。世界坐标系的位置可以根据实际情况自由确定。
- 相机坐标系: 三维直角坐标系。原点位于镜头光心处(透镜的中心),水平轴Xc与垂直轴Yc分别于图像坐标系的X轴和Y轴平行,Z轴为相机光轴,坐标系用Xc,Yc,Zc表示。相机坐标系的原点与图像坐标系的原点之间的距离为f(也就是焦距)。
- 图像坐标系: 像素在图像中的位置,二维直角坐标系。一般像素坐标系的左上角的顶点就是远点,水平向右是u,垂直向下是v轴。坐标系用u,v表示。像素坐标系和图像坐标系是平移关系。
-
像素坐标系: 前三个坐标系的单位是毫米,而最后一个坐标系的单位是像素。
2. 相机参数 camera matrix
针孔相机参数用称为相机矩阵的 4×3 矩阵表示。 该矩阵将 3-D 世界场景映射到图像平面。 校准算法使用外部和内部参数计算相机矩阵。 外参数表示相机在 3-D 场景中的位置。 内参数代表相机的光学中心和焦距。
相机参数 | 介绍 |
---|---|
内参数矩阵 (Intrinsics) | 从 3-D 世界坐标系到 3-D 相机坐标系的刚性变换 |
外参数矩阵 (Extrinsics) | 从 3-D 相机坐标到 2-D 图像坐标的投影变换 |
畸变矩阵 (Distortion coefficients) | 像素点产生一定的偏移和变形 |
使用外部参数将世界点转换为相机坐标。 使用内在参数将相机坐标映射到图像平面。
2.1 外参数矩阵
外参数由旋转 R 和平移 t 组成。 相机坐标系的原点位于其光学中心,其 x 轴和 y 轴定义图像平面。
2.2 内参数矩阵
内在参数包括焦距、光学中心(也称为主点)和偏斜系数。 相机固有矩阵 K 定义为:
项目 | 含义 |
---|---|
[ c x , c y ] [c_x , c_y] [cx,cy] | 光学中心,以像素为单位 |
( f x , f y ) (f_x, f_y) (fx,fy) | ( F / p x , F / p y ) (F/p_x,F/p_y) (F/px,F/py)以像素为单位的焦距 |
F F F | 以世界单位表示的焦距,通常以毫米表示 |
( p x , p y ) (p_x, p_y) (px,py) | 以世界单位表示的像素大小 |
s s s | s = f x t a n α s=f_x tan\alpha s=fxtanα偏斜系数,如果图像轴不垂直,则该系数不为零。 |
2.3 畸变矩阵
畸变包括径向畸变(Radial Distortion)和切向畸变(Tangential Distortion)。
2.3.1 径向畸变
2.3.2 切向畸变
项目 | 含义 |
---|---|
x , y x,y x,y | 未失真的像素位置。 x 和 y 在归一化图像坐标中。 归一化图像坐标是通过转换到光学中心并除以以像素为单位的焦距从像素坐标计算得出的。 因此,x 和 y 是无量纲的。 |
k 1 , k 2 , k 3 k_1, k_2,k_3 k1,k2,k3 | 镜头的径向畸变系数 |
p 1 , p 2 p_1,p_2 p1,p2 | 镜头的切向畸变系数 |
( p x , p y ) (p_x, p_y) (px,py) | 以世界单位表示的像素大小 |
r r r | r 2 = x 2 + y 2 r^2=x^2+y^2 r2=x2+y2 |
2.4 小结
世界坐标系中的点需要经过两步运算转换到像素坐标:
- 从世界坐标系到相机坐标系
- 从相机坐标系投影到像素坐标系
这个过程可以描述为:
三、相机标定方法
相机标定主要是为了求得相机的内参矩阵和畸变矩阵,为后面的相机姿态估计做准备。
1. 张正友相机标定
张氏标定法是张正友博士在1999年发表在国际顶级会议ICCV上的论文《Flexible Camera Calibration By Viewing a Plane From Unknown Orientations》中,提出的一种利用平面棋盘格进行相机标定的实用方法。该方法介于摄影标定法和自标定法之间,既克服了摄影标定法需要的高精度三维标定物(贵,操作麻烦)的缺点,又解决了自标定法鲁棒性差的难题。
实现方法:MATLAB相机标定工具箱
https://blog.csdn.net/heroacool/article/details/51023921文章来源:https://www.toymoban.com/news/detail-476753.html
四、参考文章
https://blog.csdn.net/qq_44804542/article/details/122161755
https://blog.csdn.net/weixin_45860565/article/details/119302447
https://blog.csdn.net/weixin_45860565/article/details/119302447
https://ww2.mathworks.cn/help/vision/ug/camera-calibration.html
https://baike.baidu.com/item/%E7%9B%B8%E6%9C%BA%E6%A0%87%E5%AE%9A/6912991?fr=aladdin
https://blog.csdn.net/qq_43742590/article/details/104109103
https://zhuanlan.zhihu.com/p/423473576
https://zhuanlan.zhihu.com/p/94244568文章来源地址https://www.toymoban.com/news/detail-476753.html
到了这里,关于1. 相机标定原理(学习笔记)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!