工程与工业摄影测量笔记(超长完整版)

发布时间:2026/6/5 16:17:10
工程与工业摄影测量笔记(超长完整版)
总体脉络理解目标测量什么选择工具用什么拍掌握物理怎么成像设计方案怎么拍才准建立基准坐标从哪来核心解算怎么从二维算三维实用扩展没有内方位怎么办修正误差如何达到更高精度第一章近景摄影测量基础 —— 定义与定位核心问题这门课研究什么它处于什么位置逻辑起点回答“为什么需要近景摄影测量”—— 非接触、面式采集、动态测量。奠定认知明确与航测的区别外形尺寸 vs 绝对点位非量测相机 vs 量测相机。引出基本概念三大坐标系、内外方位元素、共线/共面方程作为预告。章末暗示精度受多种因素影响相机、布设、控制点、光照、软件—— 后续各章逐一展开。第二章近景摄影测量设备 —— 硬件基础逻辑衔接第一章说“用什么拍”第二章具体介绍“有哪些设备”。核心任务区分量测相机内方位已知、畸变小与非量测相机民用、需标定。这是后续算法选择的分水岭。引入全流程方案制定→现场摄影→数据处理→成果应用为后续章节提供流程框架。关键设备V-STARS系统工业测量典型—— 为第七章DLT、第八章检校提供应用场景。第三章摄像设备 —— 成像物理逻辑衔接第二章介绍了相机类型第三章深入到为什么能成像以及如何控制成像质量。核心内容CCD/CMOS原理、光学变焦/数码变焦、光圈/快门/景深、超焦距、曝光计算。为什么必要摄影测量本质是“测量图像”不理解成像物理就无法优化拍摄参数如选择大光圈小景深还是小光圈大景深曝光过度导致标志点无法提取。为后续铺垫焦距ff、像元尺寸影响​、畸变来源镜头光学缺陷—— 这些在第五章精度、第八章检校中直接用到。第四章近景摄影测量技术 —— 摄影方式与精度估算逻辑衔接有了相机并理解成像后怎么布置相机才能测得更准核心贡献提出正直摄影和交向摄影的几何模型并给出点位精度公式。建立定量关系精度与H,B,f,mp的关系 → 指导实际作业如缩短摄距、拉长基线、选用长焦、提高像点量测精度。引入人工标志当纹理不足时如何增加可测特征—— 引出回光反射标志提高mp​和编码标志自动匹配。工程意义本节是方案设计的理论依据例观音佛像测量推算摄站距离。第五章近景摄影测量控制测量 —— 坐标基准与约束逻辑衔接第四章告诉我们“怎么拍得准”但拍出来的模型是自由网无坐标、无尺度。如何把它固定到真实世界坐标系中这就是控制测量的作用。核心贡献引入控制点绝对约束建立坐标系和相对控制相对约束维持形状、提供尺度。精度准则m控1/3m摄​ —— 控制点误差不能“污染”摄影测量成果。测定方法前方交会测平面、三角高程测高程、标准尺法恢复尺度。承上启下控制点是第六章后方交会和光束法平差的必要输入相对控制是第六章光束法中的条件方程。第六章基于共线条件的解析法 —— 核心算法逻辑衔接有了控制点第五章和影像第二~四章如何从二维像点坐标计算三维物点坐标本章给出数学答案。核心武器共线方程三点共线。以此为起点衍生出三大算法后方交会已知控制点 → 求相机姿态为前方交会做准备。前方交会已知相机姿态 → 求待定点坐标。光束法平差将控制点、待定点、相机参数、畸变等整体优化精度最高。逻辑精要这三大算法构成了摄影测量的“发动机”。后交-前交分步法计算简单但光束法才是高精度测量的终极解法。引出第七章后方交会需要外方位初值但近景大角度摄影时初值难以给定 → 需要一种无需初值的方法DLT。第七章直接线性变换解法 —— 实用化扩展逻辑衔接第六章的传统解析法依赖内、外方位初值不适用于非量测相机或大角度摄影。DLT就是为了解决这个痛点而生。核心思想将共线方程重新打包成11个lili​系数直接建立像坐标与物坐标的关系无需任何初值。优势不归心、不定向适合普通数码相机。代价至少需要6个控制点多于后方交会的3个且lili​物理意义不直观。与后续联系DLT可以反算出内、外方位元素和畸变参数→ 为第八章相机检校提供一种手段DLT检校。同时DLT求出的参数可以作为光束法平差的初值。第八章摄影机检校 —— 误差修正与精度提升逻辑衔接无论传统解析法还是DLT都隐含了一个假设相机内方位已知且畸变为零。但实际镜头有畸变非量测相机内方位未知。如何测定这些系统误差并加以改正这就是检校的任务。核心贡献提供五大检校方法三维试验场、二维标定板、自检校光束法等并给出畸变模型径向偏心。逻辑闭环对于量测相机出厂已检校可直接使用第六章传统解析法。对于非量测相机必须先检校或使用DLT自检校否则共线方程不成立测量结果不可靠。终极集成自检校光束法将检校内方位、畸变与三维解算物点坐标、外方位融为一体是最高精度的解决方案。它的误差方程汇总了前面所有参数类型。扩展学习第九章点云处理与三维建模为什么会有这一章前八章解决了“如何从二维影像解算出离散三维坐标”的问题光束法平差、DLT等输出的是稀疏点云如控制点、标志点。但在实际工程中如文物建模、汽车外形检测我们需要的往往是连续、密集、带纹理的三维表面模型。这就必须引入点云处理和三维建模技术。可能包含的核心内容密集匹配算法如何从立体像对自动生成密集点云而不只是少数标志点方法图像相关灰度相关、特征匹配、半全局匹配SGM、深度学习匹配MVSNet。输出每像素对应的三维坐标 → 深度图/视差图。点云预处理去噪统计滤波、半径滤波降采样体素滤波平滑移动最小二乘 MLS三维重建表面重建Delaunay三角剖分、Poisson重建、Alpha shapes。纹理映射将影像颜色映射到三角网格表面生成带纹理的OBJ/PLY模型。点云配准拼接多站扫描/多角度摄影获取的点云需要拼接到统一坐标系。ICP算法迭代最近点及其变体。应用示例汽车外形逆向设计、文物数字化存档、工业部件缺陷检测。与前面章节的联系输入第六章/第七章输出的稀疏三维点或影像本身。输出可供CAD/3D打印/可视化使用的稠密模型。第十章工程应用与精度评定为什么会有这一章前面各章是“散装”的理论和技术第十章往往用来综合、落地讲如何在实际项目中应用以及如何科学评价测量结果的可靠性。可能包含的核心内容精度评定与分析理论精度基于误差传播公式如第四章的mZmZ​公式 vs. 实际精度通过重复测量、检查点验证。均方根误差RMSE、最大误差、误差椭圆/椭球。不确定度评定GUM方法。工业摄影测量系统集成多相机同步测量如V-STARS、MetroNor、AICON MoveInspect。摄影测量与全站仪、激光跟踪仪的数据融合。......典型工程案例深度剖析航天领域大型天线形变测量高温真空环境、卫星舱段对接测量。汽车工业整车碰撞试验中的三维变形测量、白车身尺寸检测。水利/土木大坝形变监测、隧道断面测量。文化遗产敦煌壁画三维建模、兵马俑数字化。动态测量技术时间基线干涉测量、频闪照明同步。运动目标三维轨迹跟踪如风洞模型振动、弹道测量。标准与规范国内外相关标准如VDI/VDE 2634、ISO 17123。测量方案设计文档编写。接下来我将用通俗的语言将脉络讲清楚1. 理解目标测量什么在工程与工业摄影测量里第一步不是急着架相机而是先把你要测的东西彻底想清楚。这就像医生看病得先知道病人是骨折还是发烧才能决定拍X光还是量体温。你要测的是一个静止的零件还是一台高速运转的机器如果物体是静止的比如一个铸造件或者一尊雕像那可以慢慢拍多角度、长时间曝光都没问题。但如果物体在动比如风洞里的机翼模型在剧烈振动那就要用好几台高速相机同时抓拍而且曝光时间必须极短才能把瞬间状态“冻住”。物体的尺寸也很关键。测一个指甲盖大小的精密零件需要微米级的精度可能得用远心镜头和显微摄影测量。而测一栋厂房或者一艘船毫米级精度就够了用无人机或者手持相机绕一圈就行。此外还要考虑环境条件。如果你在恒温车间里干活相机参数很稳定但要是顶着大太阳在户外测量温度变化会让镜头焦距漂移光线太强或太暗都会影响照片质量甚至地面反光、振动、潮湿都会干扰结果。所以理解目标的本质就是把“我想测什么”翻译成一系列具体的技术要求物体动还是不动大概多大要精确到多少现场有没有干扰把这些搞明白了后面的选相机、定拍摄方案、算坐标才不会跑偏。这一步想得越细后面走弯路就越少2. 选择工具用什么拍定好了测量目标接下来就要挑家伙什了。摄影测量的工具不只是“一台相机”那么简单它包含三个关键部分相机本体、镜头、以及光源。选对了事半功倍选错了后面再好的算法也救不回来。先说相机本身。很多人以为随便拿一台单反或者工业相机就能干高精度测量其实不完全对。市面上的相机大致分两类普通工业相机和专业测量相机。工业相机的优势是快、清、准。它通常有很高的帧率每秒几十甚至几百张高分辨率千万像素起步而且支持外部触发同步——这个很重要如果你用多台相机从不同角度同时拍一个运动物体必须让它们在同一瞬间按下快门工业相机可以做到。所以在动态测量、生产线在线检测这些场景里工业相机是主力。但工业相机有一个短板它的内部几何参数比如焦距、主点位置、镜头畸变不够稳定。因为它是为通用视觉设计的经常换镜头、调焦每次调完内参数就变了。如果你想做高精度的三维重建需要知道每一张照片成像时的精确内参数这时候专业测量相机就派上用场了。测量相机长什么样常见的是安装在测量型全站仪上面的那台相机或者像某些高端摄影测量系统如AICON、GOM专用的相机。这类相机的特点是镜头和机身固定在一起不能随便换而且出厂时已经精确标定好了内方位元素温度稳定性也做得很好。你拿它拍出来的照片内参数基本不变不需要每次都做自检校。所以对于静态、高精度的工业测量比如汽车车身、航空部件专业测量相机是更省心的选择。简单总结要测运动的、需要同步触发的选工业相机要测静态高精度的、追求稳定可靠的选测量相机。再说镜头。镜头直接决定了成像的质量和畸变程度。普通镜头比如标配的变焦镜头畸变往往不小尤其是广角端桶形畸变很明显。你可以拍一张格子纸看看边缘的直线都弯了。这种畸变在摄影测量里可以建模补偿但畸变越大补偿后的残余误差也越大对精度不利。所以高精度测量一般用定焦镜头而且最好是低畸变镜头或远心镜头。低畸变镜头最常见的是针对机器视觉设计的定焦镜头比如25mm、35mm、50mm畸变通常控制在0.1%以下有的能做到0.01%。配合合适的光圈不要开到最大也不要最小一般F5.6-F8畸变最小成像质量足够好。远心镜头是另一种特殊的存在。它不是用来拍大场景的而是拍微小物体的。远心镜头的光路设计使得物体在景深范围内移动时放大倍率几乎不变而且几乎没有透视畸变。比如你要测量一个直径5mm的精密轴径用普通镜头会因为物体前后位置稍微变化导致像的大小明显改变而远心镜头就没有这个问题。当然远心镜头贵、笨重、视野小只适合小物体、高精度微米级的场景。最后说光源。很多人忽视光源但它在很多测量任务里是成败的关键。因为摄影测量依赖的是图像上的特征点比如标志点、纹理、边缘如果光线不好特征就提不出来。常用的辅助光源有三种思路一是结构光。这是一种主动投影把已知的光栅条纹或散斑图案投射到物体表面上然后用相机拍下这些图案的变形再计算出三维形状。这种方法特别适合没有纹理的物体比如白色石膏模、金属抛光面。严格来说结构光已经是三维扫描的范畴了但它和摄影测量的原理相通很多混合系统也在用。二是激光投影。比如用激光器在物体表面投射一个十字线或一个点阵相机拍下激光点的位置通过三角法测量。这常用于现场需要快速定位或辅助对焦的场景。三是背光光源。这个很巧妙如果你要测量一个零件的轮廓比如螺丝外径、孔的位置可以把零件放在一个均匀发光的背光板上相机正对着拍。由于背光把背景打亮零件本身变成黑色剪影边缘非常锐利便于亚像素提取。这种方式的精度往往比正面打光高很多。还有一个实用技巧对于高反光的金属表面直接拍会有一大片高光区特征点完全看不清。这时候可以用偏振光源加偏振滤镜——在灯前加一个偏振片相机镜头前也加一个正交方向的偏振片这样反射光中的镜面反射成分被滤掉只留下漫反射图像就干净多了。3. 掌握物理怎么成像你拍下一张照片从物理上看其实是在做一件事把三维世界里的一个点通过镜头的光学中心投射到相机底片或传感器上的某个像素位置。这个几何关系摄影测量里用一个核心方程来描述叫共线方程。名字听起来唬人但道理很简单物点、光心、像点这三个点一定在一条直线上。没错就是初中物理的小孔成像原理只不过换成镜头之后变成了更精确的数学模型。共线方程是整个摄影测量的数学地基。你要解算一个点的三维坐标本质上就是在解这个方程。但是光知道三点共线还不够方程里还藏着很多未知参数主要分成两大类内方位元素和外方位元素。先说内方位元素。它描述的是相机本身的“内部几何特性”跟你在哪里拍、拍什么没有关系只取决于这台相机和它的镜头。内方位元素主要有三个焦距、主点位置、和畸变。焦距很好理解就是镜头光学中心到传感器的距离。焦距越长拍得越远、视场角越小焦距越短视野越宽。但摄影测量里焦距不仅仅决定视角它还是计算深度的关键参数之一。主点听起来很玄其实就是光轴穿过传感器的那一点。理想情况下主点应该位于传感器的正中心但实际制造中总会有几像素到几十像素的偏移。这个偏移如果不修正你算出来的点坐标就会整体漂移。畸变就更常见了。所有镜头都有畸变只是大小不同。最典型的是桶形畸变广角镜头的边缘向外弯和枕形畸变长焦镜头边缘向内挤。还有切向畸变往往来自镜片组装得不够同心。畸变会让直线在照片里变成曲线如果你直接拿照片上的像素坐标去算三维坐标结果肯定不准。好在畸变可以用数学模型比如Brown模型来补偿前提是你事先知道或现场解出这些畸变系数。内方位元素如果很稳定、很精确那你拍出来的每一张照片都像一把“刻度准确的尺子”。如果内参数不稳定比如换镜头、温度变化、调焦环动了那这把尺子就变了测量精度就会崩。再说外方位元素。它描述的是相机在拍照那一瞬间处在空间什么位置、朝什么方向看。具体来说外方位元素包括三个位置坐标X, Y, Z和三个姿态角通常是俯仰、偏航、滚转。你可以这样理解内方位元素告诉你“相机本身的固有属性”外方位元素告诉你“这张照片是在哪、朝哪拍的”。外方位元素不是固定不变的每拍一张照片参数都不一样。你拿着相机绕物体转一圈每一张照片的外方位元素都是独立的。摄影测量的核心任务之一就是同时解出所有照片的外方位元素和所有物点的三维坐标——这就是光束法平差在做的事。最后说一个很多人忽略的问题成像质量的物理限制。即使你的相机标定得很准外方位算得很精确如果照片本身拍糊了、噪点太多、或者细节根本看不见那一切都是白搭。所以必须懂一点基础物理。第一个限制是景深。景深就是照片里“清楚的范围”。光圈越大、焦距越长、拍得越近景深就越浅。在摄影测量里你往往希望整个物体从头到尾都是清晰的否则有些区域的特征点对不上焦就提不出来。解决办法是缩小光圈比如F8到F11或者把相机拉远一点或者用移轴镜头。但光圈也不能太小太小了会出现第二个问题——衍射。衍射是光的波动性导致的物理极限。当光圈收得太小比如F16以下光线经过光圈边缘时会发生绕射导致图像变得模糊、对比度下降。也就是说不是光圈越小就越清楚有一个最佳光圈点通常是镜头最大光圈收缩两到三档过了反而变差。对于高精度测量你需要在这个最佳光圈附近拍摄平衡景深和衍射。第三个限制是信噪比。在光线不足的环境里你要么开大光圈但景深变浅要么提高ISO但噪点增加要么放慢快门但可能模糊。工业测量中经常用强闪光灯或结构光来主动照亮物体这样就能用低ISO、中等光圈、短曝光同时获得高信噪比和足够的景深。如果信噪比太低特征点的提取精度会从亚像素掉到像素级那三维精度就惨了。4. 设计方案怎么拍才准前面的目标、工具、物理原理都搞清楚了接下来就要动手拍了。但随便拍一圈和精心设计的拍摄结果可能差一个数量级。设计方案的核心就是一句话用最少的照片获得最稳、最准的三维结果。这里面有几个关键参数要拿捏好。先说交会角。所谓交会角就是两台相机或者同一台相机在两个不同位置拍摄同一个物点时两条视线之间的夹角。这个角的大小直接影响深度方向的精度。你想想如果两台相机几乎并排着拍同一个点视线夹角很小那这个点在深度方向即远离相机方向的位置就很难算准因为两条线几乎平行交点不确定。反过来如果两台相机面对面拍夹角接近180度那两条线几乎在一条直线上虽然深度精度高了但两张照片里的公共物点会非常少也很难匹配。经验上交会角取60°到90°之间比较理想。这个角度范围内深度方向和垂直于视线的方向精度比较均衡。工业测量里如果是高精度要求比如0.05mm往往把交会角做到70°-80°如果现场空间受限做不到至少也要大于30°小于30°的话深度误差会快速放大。再说基线-物距比。这是一个更直接的工程指标。基线是指两个拍照位置之间的距离物距是指相机到被测物体的平均距离。基线除以物距就是基线-物距比。这个比值越大深度方向的分辨率就越高——因为两个视点分得越开视差变化越明显。但比值也不能无限大因为太大意味着要么基线很长两个相机离得很远要么物距很短相机怼得很近。基线太长的话两张照片的视角差异太大相同的物点可能会被遮挡或者变形太剧烈导致匹配困难。物距太短又会带来景深问题和透视畸变。通常这个比值在0.3到1之间比较合适。举个例子你离物体1米远两台相机的间距可以在0.3米到1米之间。如果你追求极高的深度精度可以取到1甚至1.2但这时要保证相机之间有足够的公共视场。然后是覆盖与冗余。在摄影测量里每个物点不能只被两张照片看到最好是三张、四张甚至五张。为什么因为如果只有两张照片你只能解出一个点坐标但无法检验这个解是否正确也无法在这个点上做自检校。有三张以上照片时你可以用交叉验证的方式检查重投影误差——即这个点的三维坐标反投到各张照片上跟实际像点位置是否一致。残差大的说明匹配错了或者标定不准。另外多张照片的冗余观测还能让光束法平差更好地估计相机内参数和畸变。所以一个经验规则是设计拍摄路径时保证物体上的每一个编码点或非编码点至少被3到5张不同角度、不同位置的照片拍到。这就需要你在规划拍照站位时有意识地重叠覆盖。比如绕物体一圈拍20张每张照片里的标志点不仅与前后相邻的照片有重叠还要与隔一张甚至隔两张的照片也有重叠。这样的网络才是最稳健的。最后讲标志点布设。这是实际外业里最烦琐但必须做好的工作。标志点就是贴在物体表面或者布设在测量空间里的人工地标它们的像点坐标可以被亚像素精确提取然后用来计算三维坐标和拼接各个局部测量结果。标志点分两类。一类是编码点也叫目标点通常是圆形周围带一圈环形的编码带像二维码的简化版或者点阵图案。相机拍到编码点后软件能自动识别它的唯一编号并且知道它到底转了多少角度、是正着还是歪着。编码点的好处是你不需要人为告诉软件“这张照片里的这个点和那张照片里的那个点是同一个点”软件自己就能匹配。这样就能自动完成相对定向和拼接。常用的编码点有环形编码比如12位、15位也有更简单的点阵编码。另一类是非编码点就是普通的圆形反光点或涂黑的圆点。它们没有身份信息只能通过多张照片之间的几何关系比如极线约束和光度一致性来匹配。非编码点的成本低可以贴很多用来加密点云密度。布设标志点有几个经验法则。第一编码点要像控制网的骨架一样均匀分布在物体表面或测量空间里间距最好大致相等。第二非编码点填充在编码点之间密度取决于你需要多密集的三维点。第三标志点不能贴在变形、振动或者边缘模糊的地方要贴在刚体区域。第四如果物体表面本身就是高反光金属或者颜色纹理很丰富可以考虑不贴这么多标志点直接用自然纹理匹配——但那样对算法的要求更高精度也可能波动。对于高精度的工业测量老老实实贴够编码点和反光点是最稳妥的方式。另外还要注意标志点的空间布局要和你的拍摄方案匹配。如果你计划从上层和下层分别拍摄那就要在上下都布点确保不同高度的照片能通过共同的标志点连接起来。有些经验不足的测量员只在物体正面贴了一堆点结果从背面拍的时候看不到这些点最后两块数据拼不拢。小结一下设计方案就像搭一个几何网。交会角60°-90°基线-物距比0.3-1每个点被3-5张照片覆盖标志点布成均匀的骨架。这四件事做好你的拍摄方案就稳了。很多人精度上不去不是因为相机不好而是交会角太小或者布点太稀或者只拍了相邻重叠而没有全局重叠。记住摄影测量里的“准”首先是设计出来的然后才是算出来的。5. 建立基准坐标从哪来拍完照片、算出一堆三维点之后你得到的只是一堆相对的几何关系——点与点之间的距离和角度都对但你不知道整体有多大也不知道它摆在空间的哪个位置更不知道方向。这就叫“自由网”。好比你画了一个三角形知道三条边的比例是3:4:5但不知道实际边长到底是3厘米、4厘米、5厘米还是3米、4米、5米。缺少的就是一个“基准”。自由网与尺度基准在纯自由网里所有坐标都是通过像点之间的几何约束恢复出来的没有绝对尺度。也就是说整个模型可以任意缩放仍然满足所有共线方程。这时候你需要往这个自由网里注入一把“尺子”。最常用的办法是基准尺。基准尺就是一根两端贴了编码点或者反光点的碳纤维杆它的长度经过精密标定比如1000.00毫米误差±0.01毫米。你把它放在测量场景里跟被测物体一起拍照。软件在解算时会识别出尺子上两个点之间的空间距离然后用这个已知长度去约束整个自由网的缩放——也就是说所有点的坐标都会自动缩放到以毫米为单位的真实尺寸。碳纤维材料的热膨胀系数极低温度变化对长度影响很小所以特别适合现场使用。如果你没有专用基准尺也可以用一个已知尺寸的工件或者标定过的量块原理是一样的。绝对控制与坐标系统基准尺只能解决“多大”的问题但解决不了“在哪”和“朝向哪”。如果你需要把测量结果统一到某个全局坐标系里——比如工厂车间的大地坐标、全站仪网、或者CAD模型的设计坐标系——那就需要绝对控制。做法是用更高精度的外部测量设备如全站仪、激光跟踪仪、激光雷达预先测出几个控制点的三维坐标这些控制点也是在照片里能看到的人工标志点通常是编码点或专用靶标。然后在摄影测量解算时把这些点的已知坐标作为固定约束代入整个自由网就会被旋转、平移、缩放到与外部坐标系重合。这就好比地图上已知几个地标的经纬度就能把所有卫星照片叠上去。绝对控制的精度取决于外部测量设备的精度一般全站仪能达到0.5–1毫米激光跟踪仪能到0.01–0.1毫米。注意控制点不能只给三个最好给五到七个并且它们要分布在物体四周和不同高度上否则约束不充分坐标系可能会扭曲。无控制与动态基准有些场景下你既没有基准尺也没有全站仪控制点但依然想得到有一定尺度和方位的三维结果。这就属于“无控制”测量常见于无人机摄影测量或者移动测量。这时尺度和方位从哪里来有两种常见途径。一种是用已知的相机间距。比如你在一个刚性的双相机或多相机系统里两个相机之间的基线距离经过出厂标定且非常稳定。那么通过立体匹配获得的深度天然就是真实尺度。另一种是靠GPS/IMU组合导航系统。无人机每拍一张照片机载的GPS记录下大概的经纬度和高度IMU记录下姿态角俯仰、滚转、偏航。这些数据虽然精度有限GPS可能误差1-2米IMU有漂移但足以把离散的照片大致对齐到一个绝对地理坐标系里然后再通过摄影测量的平差进一步精化。对于大面积的地形测绘或者工程项目初期踏勘这种无控制方式足够用。但对于高精度的工业测量比如汽车车身、飞机部件你几乎总是需要基准尺或者全站仪控制点才能达到0.1毫米级别的绝对精度。6. 核心解算怎么从二维算三维照片拍好了基准也布好了接下来就是最核心的一步把一堆二维照片变成精确的三维坐标。这个转换过程不是一步到位的而是分成三个层层递进的环节——相对定向、绝对定向和光束法平差。你可以把它们理解成“先搭骨架、再立坐标系、最后整体精修”。相对定向从两张照片开始重建相对定向是整个计算的第一步。它的任务是给定两张有重叠区域的照片找出它们在拍摄时的相对位置和姿态同时恢复出照片里那些公共点的三维坐标。怎么做到的呢核心还是共线方程。软件会在两张照片上自动匹配出许多同名像点比如同一个编码点在左图和右图上的像素坐标然后通过一个叫做“本质矩阵”或“相对定向模型”的数学关系反推出两个相机之间的旋转角度和平移方向。注意这里只能得到相对关系没有绝对尺度——也就是说你知道两个相机之间有多远以某种单位但不知道这个单位对应多少毫米。相对定向的结果是一个稀疏的三维点云形状是对的但大小是任意的位置和朝向也是飘在空中的。这个结果就像你搭好了模型的骨架但还没有给它安上尺子和指北针。绝对定向把模型放到真实世界里有了相对定向的结果你得到的是一个自由网模型所有点之间的几何比例正确但整体可以任意缩放、旋转和平移。绝对定向的任务就是把它与真实世界对齐并且恢复出真实的尺寸和坐标系。这时候之前建立的基准就派上用场了。如果你在测量现场放了一根基准尺软件就会测量模型中基准尺两端点的距离然后跟基准尺的真实长度比如1000毫米做一个对比算出整个模型的缩放系数并应用到所有点上。如果你还布置了控制点比如用全站仪测过坐标的标志点软件就会进一步计算整个模型需要旋转和平移多少角度和距离才能让这些控制点的模型坐标与实测坐标完全重合。经过绝对定向之后你的三维点云就有了真实的毫米单位并且被安置到了一个指定的全局坐标系里比如厂房的大地坐标或者零件的设计坐标系。但此时的结果还不算最终成果因为前面每一步都带有一定的误差而且相机内参数和畸变还没有充分优化。光束法平差把一切扔进同一个熔炉里精炼光束法平差是整个解算过程的终极算法也是保证精度的灵魂所在。它的思想非常直接把所有照片里的所有像点、所有物点的三维坐标、所有相机的外方位元素、甚至相机的内方位元素和畸变系数全部放在一起同时进行优化。优化的目标是最小化一个量——重投影误差。所谓重投影误差就是你用当前估算出的三维点坐标和相机参数把三维点按照共线方程重新投影到照片上看它跟实际提取到的像点位置差了多少像素。光束法平差会不断调整所有未知数三维点坐标、相机位置、相机姿态、焦距、主点、畸变等让所有照片上所有点的重投影误差的平方和降到最小。这是一个巨大的非线性优化问题动不动就是几千个未知数和几万个观测方程但现代计算机和成熟的算法比如Levenberg-Marquardt已经能够高效求解。光束法平差的威力在于它的“全局性”。之前相对定向只考虑了两张照片之间的关系绝对定向也只是做了一次刚体变换这两步都会积累误差。而光束法平差把所有约束都放在一起同时解相当于让每一张照片的每一个像点都来“投票”修正所有参数。它甚至还能发现并剔除误匹配的点因为那些点会产生很大的重投影误差。如果你在光束法平差里同时解算了相机的内方位元素和畸变那就叫“自检校光束法平差”——这也是在没有专业测量相机时仍然能达到较高精度的秘诀。三个步骤的关系相对定向给了你一个初始的几何骨架绝对定向把它放到真实尺度和坐标系里光束法平差则把这一切揉在一起反复打磨直到误差最小。打个比方相对定向像是用几根木条搭了一个不稳的架子绝对定向像是把这个架子竖到正确的位置并缩放到真实大小光束法平差则是用无数根细绳从各个方向拉住每个节点一点点收紧、调平直到整个结构纹丝不动。没有光束法平差前面的结果精度顶多到毫米级有了它在良好设计的拍摄条件下可以达到0.05毫米甚至更高。在实际的摄影测量软件里这三个步骤通常是自动串联的你先导入照片软件自动做相对定向然后你输入基准尺长度或控制点坐标软件做绝对定向最后自动启动光束法平差输出最终的三维坐标和精度报告。你只需要知道每一步在干什么就能看懂软件输出里的误差表也知道当结果不好时该调整哪个环节。7. 实用扩展没有内方位怎么办在实际工程中你大概率不会每次都拿着一台出厂标定好的专业测量相机。更多时候手里就是一台普通单反、一台工业相机甚至是一个无人机挂着的微单。这些相机的内方位元素——焦距、主点、畸变——你都不知道而且可能随时变化比如你动了对焦环、温度变了、或者摔了一下。那还能做高精度摄影测量吗能。办法就是“自检校”。自检校的核心思想很简单既然我不知道相机的内参数那就把它也当成未知数跟那些三维点的坐标、每张照片的位置姿态一起扔进光束法平差里同时求解。也就是说你不光要算出“这个物点在哪”还要在计算过程中顺便“猜”出“这台相机的焦距是多少、主点偏了多少、畸变长什么样”。听起来很神奇但它确实能工作——只要你的照片满足几个前提条件。第一个前提是足够多的重叠度。每个物点至少要被3到5张不同角度、不同位置的照片看到而且这些照片之间要有丰富的公共点。为什么因为内参数的估计本质上需要很多约束。如果你只是两张照片拍一个平面那根本分不清畸变和物点位置之间的模糊性。只有让同一个点在多张照片里以不同的视场位置出现靠近边缘、靠近中心、在不同的象限软件才能从这些“变化”中反推出镜头畸变的规律。第二个前提是拍摄时要有意旋转相机或改变物点在像平面上的分布。很多人拍东西习惯让目标始终待在画面中央这样虽然构图好看但对自检校极为不利。因为如果所有点都集中在像面中心附近你根本估计不出主点偏移也估计不出边缘畸变。正确的做法是在拍摄过程中不仅要移动相机的位置改变基线还要适当旋转相机让同一个物体区域有时出现在照片的左上角有时出现在右下角有时在正中央。这样一来镜头的径向畸变就会在不同位置露出“马脚”软件就能抓住这些信息把畸变系数解出来。另一个常用技巧是绕物体拍两圈第一圈保持相机水平第二圈让相机倾斜一个角度比如滚转30度或者在不同高度层拍摄。总之要让像点“扫过”整个传感器区域。第三个前提是场景中要有丰富的三维结构。自检校最怕平面物体。如果你拍一面白墙墙上只有一些标志点而且所有点都在同一个深度平面上那光束法平差会出现严重的参数相关性——焦距和物距可以互相补偿畸变和主点也难分离。解决方法是确保场景里有明显的深度变化比如把基准尺或者几个标志点放在不同的前后位置或者让物体本身就有凹凸形状。这样深度差异就能打破参数之间的耦合。自检校和传统检校场的对比。传统做法是在实验室里用一个精密的三维检校场比如一块布满格网点的铝板或者一个三维立体靶标相机从不同角度拍下整个检校场然后离线标定出内参数。这个方法的优点是精度高、可靠检校完成后内参数就固定了。但缺点是麻烦——你得先把相机带回实验室标好再到现场拍摄而且中途不能调焦、不能变温。而自检校的优点是“现场就地解决”不需要额外的检校设备就用你现场拍的那些照片同时完成测点和标定。它的精度虽然略低于最精密的实验室检校可能差0.5-1个像素的重投影误差但对于绝大多数工业测量任务0.1mm精度级别已经完全够用了。而且它还能适应现场的实际温度和震动状态比实验室标定更“接地气”。操作上的小窍门。如果你打算做自检校有几个习惯能大幅提高成功率。第一在拍摄序列的最开始和最后各拍一组“空中旋转”的照片——把相机对着场景中纹理丰富的区域原地转着圈拍十来张每张都大幅度改变相机的俯仰和滚转。这些照片不直接用于测量物体但能为自检校提供非常干净的畸变约束。第二在物体周围贴上足够多的编码点并确保它们分布在不同的深度层次。第三尽量使用定焦镜头而且在整个拍摄过程中不要动对焦环可以用胶带粘住。第四如果软件允许可以先解一遍不带自检校的自由网看看重投影误差大概在什么量级如果误差大于0.5像素说明畸变影响显著必须启动自检校。最后提醒一句自检校不是万能的。如果你的相机镜头畸变很大比如鱼眼镜头、超广角变焦头或者你拍摄的照片数量很少比如只有五六张或者场景几乎是一个平面那么自检校可能解不出来或者解出来的内参数严重失实。这时候要么回到传统检校场要么换一台内参数更稳定的专业测量相机。但在绝大多数常规工业场景里自检校就是你最实用、最省心的“无招胜有招”。8. 修正误差如何达到更高精度经过了前面的所有步骤——从理解目标、选工具、设计方案、建立基准到核心解算和自检校——你已经能得到一个相当不错的三维结果了。但如果你追求的是最高等级的精度比如0.02毫米甚至更高那么还需要回头处理那些“残余的误差”。这些误差单个看起来很小但累积起来就会把精度从“很高”拉低到“凑合”。修正误差就是把这些小虫子一个个从系统里揪出来。镜头畸变模型是所有误差修正里最基础的一项。前面提到过自检校可以解出畸变系数但用什么模型来描述畸变很关键。最常用的是Brown模型它包含径向畸变和切向畸变两部分。径向畸变让直线变弯离画面中心越远弯曲越厉害通常用三到五个系数就能描述得很准。切向畸变主要是因为镜头的光学中心与传感器平面不完全平行导致图像在某个方向上被轻微“拉扯”。这两个模型加在一起已经能补偿绝大部分消费级镜头的畸变。但在工业测量里有些高精度应用会碰到更隐蔽的畸变比如像平面内的不规则变形——这往往来自传感器自身的微弯曲或者镜头镜片的局部加工误差。这时候就需要引入更复杂的模型比如带分区校正的格网模型或者用高阶多项式去拟合。不过对绝大多数项目来说Brown模型加上三阶径向系数和两个切向系数就已经绰绰有余了。像点量测误差是另一个关键限制。你拍到的标志点在图像上是一个个小圆点或十字标记软件需要确定它的“中心”到底在哪个像素坐标上。如果你只是肉眼选一个像素误差就是半个像素那么大在物方空间可能对应0.05毫米甚至更多。但通过亚像素算法你可以把这个误差压到0.01到0.05像素的级别。最典型的做法是椭圆拟合对于圆形标志点它在照片上通常呈现为椭圆因为透视投影算法会利用椭圆周围一圈渐变的光强分布用最小二乘法拟合出亚像素级别的中心位置。同样对于直线边缘可以使用梯度加权的方法把边缘定位到零点几个像素。这些算法需要图像有良好的对比度、标志点足够锐利并且光照均匀。如果反光太强或者焦点不实亚像素提取的精度就会崩溃直接掉回像素级。温度补偿是很多人容易忽略的坑。相机和镜头都是金属和玻璃做的温度变化时它们会热胀冷缩。焦距会变长或变短几个微米镜片间的相对位置会微调甚至传感器的热噪声也会影响图像。对于一个在恒温车间20℃±2℃里进行的测量这些变化很小可以忽略。但如果你在冬天户外的零下5度到夏天正午的40度之间奔波内方位元素的漂移就可能达到不容忽视的程度。比如一些普通工业镜头从冷到热焦距可能变化万分之几到千分之一这对于要求0.01毫米精度的测量来说是不可接受的。解决思路有两个一是使用热稳定性好的材料比如碳纤维机身、特殊玻璃镜片专业测量相机出厂时会给出不同温度下的内参数修正表。二是在现场做实时补偿——比如在相机上贴一个温度传感器事先标定好内参数随温度变化的曲线测量时根据实测温度插值修正。更简单的办法是让相机在测量现场“适应”半小时以上等温度稳定了再开始拍摄同时避免太阳直射。系统误差建模是一个大筐里面装满了各种“奇奇怪怪的但确实存在的”误差源。最常见的包括相机同步误差、振动、大气折射以及多相机系统中的刚性变形。相机同步误差主要出现在多相机动态测量里——比如你用8台相机同时拍一个高速运动的物体每台相机的快门触发时间可能差几微秒到几十微秒。对于每秒几米速度的目标几十微秒的延时就能造成0.1毫米以上的位置偏差。解决方法是使用硬件同步线或专业同步控制器把所有相机的曝光时刻对齐到微秒级。振动误差则需要通过机械设计来抑制相机和被测物体应该刚性固定在同一基础平台上或者通过光学防抖、短曝光闪光来“凝固”运动。大气折射在长距离摄影测量比如50米以上中开始显现空气的温度梯度和压力变化会使光线弯曲导致物点位置出现系统偏移。这在大地测量级别的航拍中需要建模补偿而在普通工业车间里基本不用操心。还有一个容易被忽略的系统误差是基准尺本身的标定误差。你买的碳纤维尺标称1000.00毫米但它也可能有±0.01毫米的真实误差。如果你把所有测量精度都堆到0.02毫米那么尺子的误差就不能忽略需要送检或自校准。把这些误差修正整合起来你会发现一个规律误差的来源分为两类一类是随机的比如像点提取的噪声另一类是系统的比如固定畸变、温度漂移、同步延时。随机误差可以通过多张照片平均来减小系统误差则需要建立物理模型来补偿。真正的高精度摄影测量往往不是在实验室里一次性标定就完事而是在每个现场项目里嵌入一系列“校准动作”开机后先拍一组自检校照片测量过程中每隔一段时间拍一下基准尺来检验尺度稳定性测量结束后再拍一组温度校验照片。这个过程叫做“质量控制”它比单纯追求算法更管用。最后说一句实在话对于绝大多数工业测量任务精度0.1-0.2毫米前面一到七步做好就足够了误差修正这一步更多是锦上添花。但如果你做的是航空航天、精密模具、或者大型粒子加速器的对准那么第八步就是必须啃下的硬骨头。到那个层次每一个微米都要追根溯源每一个误差都要建模补偿。