相机如何把三维世界压到一张图上
三维重建处理的不是“物体本身”,而是相机留下的二维投影。一个三维点经过坐标变换和透视投影,最终落到图像中的一个像素。这个过程丢失了深度,也引入了焦距、视角和镜头畸变带来的变化。
三套坐标需要分清
世界坐标描述物体在统一场景中的位置。相机坐标以镜头为原点,描述物体相对相机的位置。图像坐标只保留像素平面上的横纵位置。
相机外参负责把世界坐标转换到相机坐标,通常由旋转和平移构成。相机内参描述焦距、主点和像素尺度。两组参数共同决定一个三维点会投到哪里。
在理想针孔相机中,投影可以直观地理解为:距离相机更远的物体在图像上更小,同一条视线上的多个三维点会落到相同或接近的像素位置。
为什么参考图的“视角一致”很重要
如果前视图使用长焦,侧视图使用广角,角色的头身比、肩宽和四肢长度会产生不同的透视变形。即使两张图描绘的是同一角色,重建算法也可能把这些差异解释成几何变化。
多视图人物参考至少要检查:
- 相机高度是否大致一致;
- 角色是否保持同一姿态和身体比例;
- 画面裁切是否改变了主体尺度;
- 水平翻转、镜头畸变和透视夸张是否被混入;
- 发型、服装和附件是否在不同视图中发生了设计变化。
重投影误差在测什么
已知一个三维点和相机参数后,可以重新计算它在图像中的位置。计算位置与真实观测像素之间的距离称为重投影误差。误差大,可能来自三维点不对、相机估计不对、特征匹配错误,也可能是输入图本身不一致。
因此,重投影误差是重要指标,但它不是完整质量结论。大量点在二维上对齐,也不代表遮挡后的表面、角色部件语义或拓扑已经正确。
一个实用判断
观察多视图参考时,可以先盯住肩峰、肘、腕、髋、膝和脚踝等稳定位置。如果这些位置在不同视图中无法对应,就不应该立即进入精细几何生成。先修正相机与姿态,通常比在错误约束下补模型更省时间。
继续阅读
- Hartley 与 Zisserman 的 Multiple View Geometry 系统讲解了投影几何、相机估计和多视图关系。
- COLMAP 官方文档展示了相机标定、特征匹配、稀疏重建和稠密重建的完整工具链。
下一节讨论投影丢失深度后出现的核心问题:单张图为什么对应很多个合理的三维解释。