跳到正文

第2章笔记:相机模型与标定

课程笔记

推导针孔投影、齐次坐标、内外参、畸变、标定和误差传播。

关联:章节 第2章 相机模型与标定

第2章笔记:相机模型与标定

本章任务

推导针孔投影、齐次坐标、内外参、畸变、标定和误差传播。 先用一幅小图、少量点、短视频或手算张量建立基准,再让代码输出全部中间证据,最后在真实分辨率、困难切片和系统资源约束下验收。

七节连接

  • 针孔相机与透视投影:针孔模型把三维射线与像平面交于投影点;深度丢失使单张图像无法唯一恢复尺度。 核心关系:x=fX/Z,y=fY/Z。 算例:X=2m、Z=10m、f=500px,像点x=100px。 边界:漏掉Z除法写成正交投影;Z接近零导致数值爆炸。
  • 齐次坐标与射影几何:齐次坐标把平移和透视写成矩阵,比例等价;无穷远点允许统一处理平行线。 核心关系:(x,y,w) represents (x/w,y/w),nonzero scale equivalent。 算例:(4,6,2)与(2,3,1)表示同一欧氏点(2,3)。 边界:未归一化就比较坐标;把w=0点当普通有限点。
  • 相机内参与像素尺度:内参K编码焦距、主点、倾斜和像素尺度,把归一化成像坐标映到像素。 核心关系:p~K[X/Z,Y/Z,1]^T。 算例:fx=800、X/Z=.25、cx=320,u=520。 边界:把毫米焦距直接当像素焦距;裁剪缩放后仍用旧K。
  • 外参与坐标系变换:外参R,t把世界点变到相机坐标;R需正交且det=1,t的方向依约定解释。 核心关系:X_camera=R X_world+t。 算例:R=I、世界点(3,1,8)、t=(-1,0,0),相机坐标为(2,1,8)。 边界:把相机位置C误当t;混用左手与右手坐标。
  • 镜头畸变与校正:径向畸变随半径变化,切向畸变源于装配偏心;校正改变有效视场与插值。 核心关系:x_distorted=x(1+k1 r²+k2 r⁴)+tangential terms。 算例:x=.5、r²=.25、k1=.1且忽略其他项,xd=.5125。 边界:只看平均残差;棋盘姿态集中导致边缘参数不稳定。
  • 相机标定与重投影误差:标定联合估计内参、畸变与每张图外参;可辨识性依赖标定板覆盖、姿态和角点质量。 核心关系:RMSE=sqrt(Σ||observed-projected||²/N)。 算例:4个角点平方误差之和16 px²,RMSE=2px。 边界:用训练标定图评价自己;所有图近乎正视造成参数耦合。
  • 投影雅可比与误差传播:三维点、内参和姿态误差会经投影雅可比传到像素;近相机和小深度区域更敏感。 核心关系:image covariance≈J parameter_covariance J^T。 算例:一维雅可比2、参数方差9,输出方差36、标准差6。 边界:只给最优参数无置信范围;有限差分步长不当。

实验要求

运行本章两道Python视觉算法实验的四组测试,并新增空输入、零深度、退化匹配、遮挡、模糊、低纹理、域外、类别长尾、错标定或资源超限中的至少一种。保存原图/样本hash、相机与坐标、数据和模型版本、随机种子、中间量、预测、残差、指标和首个偏差。

错题闭环

按成像假设、坐标/单位、shape、采样、几何退化、阈值方向、训练测试泄漏、指标分母、置信校准、最差切片、隐私与部署资源分类。更换一个焦距、基线、噪声、阈值、划分单位、设备或失败条件重做阶段卷;能先预测变化方向,再复算并解释失效,才算真正掌握。