【MV】Camera Calibration Fundamentals: Image Formation

📅 发布时间:2026/7/15 20:19:52
【MV】Camera Calibration Fundamentals: Image Formation 文章目录相机标定——成像基本原理1、相机成像小孔成像透镜系统2、欧式空间与射影空间3、相机标定坐标系齐次坐标摄像机坐标与世界坐标之间的变换关系像平面坐标与摄像机坐标之间的变换关系图像坐标与像平面坐标之间的变换关系三维计算机视觉相机标定——成像基本原理1、相机成像成不了像都是白色的点如何成像在物体和胶片之间增加一块带有小孔的屏障小孔成像大光圈曝光时间短、模糊图像小光圈曝光时间增加、高亮度图像如何又快又清晰——透镜透镜系统凸透镜聚光的原理又快又清晰按下快门的时候蓝色的挡板复位光可以打到后面的 sensor 上eyepiece / viewfinder目镜 / 取景器中看到的是正立的像反射了好几次下面左图是按下快门拍照的场景下面右图是么有按下快门view finder 看到的是正立缩小的像2、欧式空间与射影空间同侧是虚像平面Virtual Image Plane物体 ↓ Virtual Image Plane ↓ Camera Center虚像平面就是为了简化针孔相机模型而人为假想放在针孔前方的一块成像平面它不真实存在但能让图像保持正立使投影公式更加简单直观因此成为计算机视觉和相机标定中的标准表示方式。成像过程就是三维空间坐标到二维图像坐标的变换这是一个投影过程降维、丢失深度信息相机矩阵camera projection matrix就是建立这种三维到二维的投影关系3、相机标定相机标定指建立相机图像像素位置与场景点位置之间的关系即求解相机模型的参数。坐标系相机模型——坐标系点 P在世界坐标系中的坐标( X , Y , Z ) (X,Y,Z)(X,Y,Z)在相机坐标系中的坐标( x , y , z ) (x, y, z)(x,y,z)在像平面坐标系中( x ′ , y ′ ) (x, y)(x′,y′)在图像坐标系中( u , v ) (u, v)(u,v)四个坐标系齐次坐标齐次坐标齐次坐标最大的意义是将旋转、平移、缩放和透视投影等几何变换统一表示为矩阵乘法从而极大地简化了计算机视觉和计算机图形学中的数学推导与计算。把原本需要矩阵 加法才能完成的几何变换统一变成一次矩阵乘法。“加一维统一变换一次矩阵解决所有几何变换。”为什么还要发明齐次坐标原因只有一个普通坐标没办法把平移写成矩阵乘法。例如点(2,3)向右移动5向上移动2结果(7,5)写成公式x ′ x 5 xx5x′x5y ′ y 2 yy2y′y2发现这里有加法不是矩阵乘法。例如向右 5向上 2以前做不到现在可以[ 1 0 5 0 1 2 0 0 1 ] \begin{bmatrix} 1 0 5 \\ 0 1 2 \\ 0 0 1 \end{bmatrix}​100​010​521​​乘[ 2 3 1 ] \begin{bmatrix} 2 \\ 3 \\ 1 \end{bmatrix}​231​​得到[ 7 5 1 ] \begin{bmatrix} 7 \\ 5 \\ 1 \end{bmatrix}​751​​成功平移也变成矩阵乘法。这就是齐次坐标最大的意义。摄像机坐标与世界坐标之间的变换关系旋转 Z 轴XY 轴不变旋转 X 轴YZ 轴不变旋转 Y 轴XZ 轴不变最终的旋转矩阵可以写成R R 1 R 2 R 3 R R_1R_2R_3RR1​R2​R3​还是 3x3 矩阵光转不行还要平移推导一下[ x y z 1 ] [ R ∣ t ] [ X Y Z 1 ] \begin{bmatrix} x \\ y \\ z \\ 1 \end{bmatrix} [R | t] \begin{bmatrix} X \\ Y \\ Z \\ 1 \end{bmatrix}​xyz1​​[R∣t]​XYZ1​​[ R t 0 T 1 ] [ X Y Z 1 ] [ ( r 11 X r 12 Y r 13 Z ) t x ( r 21 X r 22 Y r 23 Z ) t y ( r 31 X r 32 Y r 33 Z ) t z ( 0 ⋅ X 0 ⋅ Y 0 ⋅ Z ) 1 ] \begin{bmatrix} R t \\ 0^T 1 \end{bmatrix} \begin{bmatrix} X \\ Y \\ Z \\ 1 \end{bmatrix} \begin{bmatrix} (r_{11}X r_{12}Y r_{13}Z) t_x \\ (r_{21}X r_{22}Y r_{23}Z) t_y \\ (r_{31}X r_{32}Y r_{33}Z) t_z \\ (0 \cdot X 0 \cdot Y 0 \cdot Z) 1 \end{bmatrix}[R0T​t1​]​XYZ1​​​(r11​Xr12​Yr13​Z)tx​(r21​Xr22​Yr23​Z)ty​(r31​Xr32​Yr33​Z)tz​(0⋅X0⋅Y0⋅Z)1​​简化得到[ x y z 1 ] [ R [ X Y Z ] t 1 ] \begin{bmatrix} x \\ y \\ z \\ 1 \end{bmatrix} \begin{bmatrix} R \begin{bmatrix} X \\ Y \\ Z \end{bmatrix} t \\ 1 \end{bmatrix}​xyz1​​​R​XYZ​​t1​​这里平移就是齐次坐标的目的把平移可以转化为矩阵相乘像平面坐标与摄像机坐标之间的变换关系z zz越大离得远y ′ yy′越小也即成的像也越小根据相似三角形得到像平面y ′ yy′与相机坐标系 (x,y,z) 的关系同理也可以得到像平面x ′ xx′与摄像机坐标系 (x,y,z) 的关系OP 连线上所有点在像平面上都是p pp把z zz略去就是相似关系图像坐标与像平面坐标之间的变换关系u uu、v vv是图像坐标系x ′ xx′、y ′ yy′是像平面坐标系f x f_xfx​和f y f_yfy​的单位都是像素三维计算机视觉三角化解决点在哪儿姿态估计解决相机在哪儿相机标定解决相机长什么样稀疏重建解决很多点在哪儿而 SfMStructure from Motion则把这些步骤串联起来同时恢复相机轨迹和三维场景。相机标定 知道相机参数 │ ▼ 姿态估计Pose 知道相机在哪里 │ ▼ 三角化Triangulation 恢复一个点的3D坐标 │ ▼ 稀疏重建Sparse Reconstruction 恢复很多特征点形成稀疏点云 │ ▼ SfMStructure from Motion 把以上步骤串起来同时恢复相机轨迹和场景SfM 包含了姿态估计和三角化稀疏重建则是三角化不断重复后的结果。概念对应现实中的工作相机标定校准测量仪器确保尺子准确姿态估计记录每次站在什么位置、朝哪个方向测量三角化根据两个观测点计算一个建筑角点的位置稀疏重建把成千上万个角点都测出来形成建筑骨架SfM完整的测绘流程边移动边测量最终得到测绘轨迹和建筑三维骨架双目视觉 已知相机姿态 三角化SfM通常只有一台相机在移动相机姿态未知需要先估计每张图片的姿态再进行三角化和重建。SfM 未知相机姿态 姿态估计 三角化 重建。相机标定负责认识相机姿态估计负责定位相机三角化负责定位一个点稀疏重建负责定位很多点而 SfM 则负责把这些步骤组织起来仅凭多张图片恢复整个三维世界和相机运动轨迹。