1、倾斜摄影测量概述
1860 年, James Wallace Black 在美国波士顿上空获得了世界上第一张倾斜影像. 1930 年美国地质调查局(USGS)和美国陆军工程兵部队(U. S. Army Corps of Engineers)开始使用Fairchild T-3A 五镜头倾斜相机开展制图、监视和侦察工作. 20 世纪初至20 世纪末, 倾斜摄影和倾斜影像主要用于军事目的[1-2]. 随着倾斜摄影平台和传感器硬件的精度和集成度不断提高, 摄影测量和三维计算机视觉领域涌现出许多新理论和新方法, 使倾斜摄影测量技术逐渐走向实用。 与常规航空摄影相比, 倾斜摄影的优势在于能够获得地物的立面影像, 使影像解译变得更简单、更直观. 目前, 倾斜摄影测量技术已被广泛用于测绘与城市三维建模、城市规划与管理、智慧旅游和突发事件应急响应等众多领域[3-5]。
倾斜摄影测量技术的核心硬件是倾斜航空摄影相机, 目前市面常见的倾斜航空摄影相机包括SWDC-5、Leica RCD30 Oblique、UltraCam Osprey 和A3 Edge 等,如图1 所示。
Maltese 十字(Maltese-cross)是一种典型的倾斜摄影系统相机安置方式, 其安置示意图如图2 所示。由图2 可以看出, Maltese 十字由一个垂直安置的相机和4 个45°倾斜安置的相机构成。摄影系统一次曝光获得具有一定重叠度的5 张照片, 大大增加了影像的获取效率。
图2 Maltese 十字相机安置示意图
随着无人机的广泛使用, 国内外陆续出现了一些适合无人机搭载的小型倾斜摄影系统. 文献[6]对几种常见的倾斜摄影系统的技术指标进行了比较分析, 本文在此不作赘述.
2、关键技术
在获取数据后, 倾斜摄影测量通过对倾斜影像、POS 数据和地面控制点数据进行一系列的摄影测量处理以获取测区的数字表面模型. 常见的倾斜摄影测量软件系统包括ContextCapture、PhotoScan 和Pix4Dmapper. 倾斜摄影测量的具体技术流程如图3 所示. 倾斜摄影测量的关键技术包括数据预处理、影像匹配、影像定向、密集匹配和表面模型构建5 个部分, 下文分别对这5 个部分的研究内容和进展进行介绍.
2.1 数据预处理
在数据获取阶段, 利用倾斜摄影系统获取测区的倾斜影像, 利用飞行平台搭载的POS 系统获取摄影系统的位置和姿态, 在选定的坐标系下测量地面控制点的坐标. 摄影测量需要在三维直角坐标系下进行计算, 因此需要将POS 数据变换到选定的测量坐标系下. 通过对航空影像进行增强处理可以使影像中地物的纹理细节更为突出, 增强处理后的影像也可以改善三维模型的视觉效果.
2.2 影像匹配
影像匹配为影像定向提供同名点坐标观测值, 其精度很大程度上决定了摄影测量最终成果的精度, 而影像匹配的速度是影响摄影测量效率的重要因素. 因此, 精确且高效的影像匹配构成了倾斜摄影测量的重要研究内容.
常规航测仅采集下视影像, 良好的飞行控制能够保证较小的尺度、视角和转角变化, 因此同名点的点位可以预测. 从这些前提条件出发, 早期的影像匹配方法在常规航测处理中能够取得比较理想的匹配效果. 而倾斜影像的尺度、视角和转角变化较大, 利用传统航测影像匹配方法难以实现影像的稳健匹配.
SIFT 算子可以从影像中提取大量尺度和旋转不变的特征点, 而特征点对仿射变换和光照变化具有良好的适应性[7], 因此被广泛用于摄影测量和三维计算机视觉[8-10]. SIFT 算子能够提取特征点的位置、尺度及特征点所在邻域的特征描述. SIFT 特征描述以128 维向量表达, 用于对特征点进行匹配. 特征描述向量的匹配可采用最近邻搜索算法实现, 也可使用Hash 算法实现.
基于最近邻搜索的影像匹配结果通常存在误匹配, 将误匹配同名点的坐标观测值引入平差计算将引起空三精度的下降, 甚至导致影像定向不收敛. 一对真实的同名点应严格满足核线约束, 利用少量同名点观测值可以解算表达核线约束的基础矩阵(fundamental matrix)[11]. 因此, 在RANSAC 框架下[12], 利用核线约束可剔除大部分误匹配的特征点, 从而在很大程度上解决了影像的稳健匹配问题.
SIFT 算子并不具备仿射变换不变性, 倾斜影像较大的视角变化使得基于SIFT 算子的影像匹配精度出现下降, 因而出现了许多改进方法. PCA-SIFT 使用主成份分析(principal component analysis, PCA)法对邻域梯度导数向量进行降维处理, 并将降维结果作为邻域特征描述[13]. 实验结果显示使用该方法所得邻域特征描述具有更强的区分度, 对仿射变换也具有更好的适应性[14]. Morel 和Yu[15]提出的ASIFT 算子具有仿射变换不变性, 能够提高倾斜影像的特征点匹配数量和精度. 也有研究利用POS 数据将倾斜影像重投影生成下视影像,再利用SIFT算子对重投影影像进行匹配[16].SIFT影响了许多特征点提取算子,包括GLOH、SURF、ORB 和BRIEF 等.
随着多处理器并行特别是图形处理单元(graphics processing unit, GPU)技术的不断进步, 对影像匹配进行并行化可以大大缩短匹配时间[17-18].
2.3 影像定向
影像定向的目的是解算整个测区全部影像的摄影位置和姿态, 同时求解影像同名点的地面测量坐标. 带附加参数的自检校光束法区域网平差还可以解算内方位元素和相片畸变参数以补偿系统误差.
将自动匹配的同名像点作为观测值参与平差的关键在于同名点的匹配精度. 研究显示, 大量准确的多余观测将显著提高空三的精度[19-20]. 在影像稳健匹配的基础上, 利用基于代数方程解的相对定向方法可以求解大视角变化下影像的相对位置和姿态[21]. 尽管利用核线约束条件可以剔除大部分误匹配的特征点, 但不能完全清除误匹配. 在相对定向和自由网构建的过程中, 基于重投影误差、光束交会角和冗余度等约束条件可以进一步过滤不可靠的同名点, 从而得到较精确的同名点观测值.
倾斜摄影系统通常需要配备高精度的POS 系统以获取影像的外方位元素. 精确的POS 数据可作为观测值参与影像定向[22]. 尽管POS 数据的精度较以往已有了很大改进, 但不依赖地面控制点的大比例尺航空摄影测量依然十分少见. 绝大部分研究工作仍将地面控制点坐标作为带权观测值参与平差, 从而实现对摄影测量区域网结构的严密控制.
参与平差的观测数据通常包括同名点的影像坐标、地面控制点坐标及其像点坐标以及利用POS 系统获取的影像外方位元素值. 对大量参数进行整体优化需要依赖大规模光束法区域网平差[23], 而解算光束法区域网平差目前普遍采用Levenberg-Marquardt 算法. 光束法区域网平差的法方程系数矩阵具有稀疏性, 利用舒尔补(Schur complement)矩阵可将整个法方程的求解分为相机参数的改正数求解和物方坐标的改正数求解, 从而大大降低了计算复杂度. 此外,通过并行化处理也可以提高大规模光束法区域网平差的求解效率[24-26].
2.4 密集匹配
密集匹配是在影像定向的基础上求解密集同名像点的过程. 在倾斜摄影引入摄影测量前, 密集匹配主要用于计算测区的数字高程模型, 通过逐像素匹配, 能够获得与航测影像具有相同地面采样距离(ground sample distance, GSD)的数字高程模型.随着倾斜摄影引入摄影测量, 密集匹配被应用于倾斜影像.通过对相邻影像进行密集匹配可以获得视差图(disparity map), 利用视差图可以计算像点的深度, 进而获得地物的三维点云.
按照匹配策略可以将密集匹配方法分为局部方法和全局方法. 局部匹配方法基于预先设定的匹配窗口搜索待匹配影像的局部区域, 利用影像相关方法计算视差,这类匹配算法包括差异平方和(sum of squared differences, SSD)、归一化交叉相关(normalized cross correlation, NCC)和差异绝对值和(sum of absolute differences, SAD)等方法. 局部匹配方法暗含了影像局部区域光滑的假设, 然而由于匹配窗口不能保证与影像中线条的边缘对齐, 因此对对象表面不连续的边界区域重建结果不佳. 有学者通过增加边缘像素的权重来解决该问题[27-28], 但匹配窗口的选择难以兼顾局部的精度、匹配成功率以及遍历整个视差空间的巨大计算量,影响了局部匹配方法的计算效率和准确性[29].
全局匹配方法将立体匹配转化为像素标记问题(pixel labeling problem). 从统计学习的角度可以将这类方法看作贝叶斯统计推断, 即在给定影像观测和有关场景结构先验假设的条件下推断视差图. 假设一个像素的标记仅与其近邻像素有关, 则像素标记问题就可利用马尔可夫随机场(markov random field, MRF)建模, 并通过能量最小化解算[30]. 然而, 基于MRF 的能量函数全局最小化是NP 难题.针对该问题,学者提出了基于图割(graph cut)和置信度传播(belief propagation)的近似化算法[31-32]. Hirschmüller[33]提出的半全局匹配(semi-global matching, SGM)算法是一种对全局MRF推断的近似化, 但较高的计算复杂度和较大的标记搜索空间导致全局匹配方法难以大规模扩展. 针对该问题, 学者们提出了2 种改进策略, 一种是将最大匹配度所对应的视差作为当前像素的视差, 另一种是采用金字塔匹配策略以降低视差搜索范围.
另一类近似化算法基于块的匹配方法(patchbased matching method), 以影像定向后精确匹配的同名点及其邻域作为种子块, 采用基于块的近似度量方法和置信度传播方法对种子块进行扩展, 最终获得对象的三维表面结构[34-35].此外, 倾斜影像呈现较大的视角和尺度变化, 采用多尺度重建方法有助于改善对象表面细部的重建效果[36].
2.5 表面模型构建
倾斜影像经过密集匹配后可以得到测区地物的密集点云, 基于点云数据可以建立测区内陆物的真三维数字表面模型(digital surface model, DSM). 表面模型构建通常包括三角网构建和纹理映射. 经过学者们的多年研究, 基于三维三角网的数字表面模型建模算法已经比较成熟. 其中, 泊松表面重建(Poisson surface reconstruction)被广泛应用于三维表面模型的构建[37].
三角网构建完成后, 表面模型需要通过纹理映射建立彩色纹理图像与三角网结构的对应关系. 经过影像定向后, 影像与三维模型的相对几何关系已经确定, 将构成三角网的每个三角形投影至对应的影像上即可实现模型的纹理映射[38].
3、 展望
近年来, 倾斜摄影测量的相关理论与方法取得了巨大研究进展. 尽管如此, 倾斜摄影测量仍处于发展阶段, 依然存在很多问题有待深入研究.
首先, 在影像匹配方面, 对于存在大面积水域或植被等纹理单一的影像, 由于特征点的局部邻域十分近似, 导致邻域特征描述区分度较小, 引起难以检测的匹配粗差. 此外, 地物结构的对称性和遮挡也可能引起误匹配. 图4 为一座电塔的多视角倾斜影像匹配结果, 匹配所得同名点用绿色十字标记. 由图4 可以看出, 由于视线遮挡, 部分同名点观测值可能出现较大误差[39]. 通过引入高精度POS 数据或相机间的相对定向参数作为辅助信息, 为影像匹配附加约束条件,并采用更为稳健的匹配算法, 有望进一步剔除影像匹配中的粗差[41-42].
图4 多视倾斜影像匹配
其次, 参与倾斜影像定向的多种观测值具有不同的测量精度, 而同一类型观测值的精度也可能不同,如下视和倾斜影像中同名点的观测精度可能存在较大差异. 因此, 如何合理选择观测数据, 在光束法区域网平差中为不同类型、不同精度的观测值合理定权, 从而提高影像定向的精度值得进一步研究.
第三, 由于缺乏纹理的影像区域缺少有效的同名点观测, 造成密集匹配方法难以获得初始值, 从而导致密集匹配失败. 另一方面, 尽管倾斜摄影能够获取建筑立面的纹理影像, 但较大的观测角度容易引起影像变形, 导致模型的精度下降, 造成三维模型的立面视觉效果不佳. 通过引入街景影像、车载/地面激光扫描数据等多源数据, 利用在地面附近获取的建筑立面影像和三维点云等观测数据对倾斜摄影测量结果进行补充和完善,可以实现更为精确和逼真的三维重建.
第四, 大范围倾斜摄影测量需要对影像匹配、影像定向和密集匹配等关键环节进行并行化以提高处理效率. 而在硬件条件受限的情况下, 可借助外存(out-of-core)处理技术或流式(streaming)处理技术应对大规模数据处理任务[43].
最后, 利用倾斜摄影测量技术重建出的数字表面模型通常存储为统一的三维三角网结构. 但现有三维建模和管理系统通常以建筑单体的形式存储和管理建筑三维模型及其属性数据, 因此将倾斜摄影测量所得表面模型进行建筑单体化是生产部门迫切需要解决的问题. 从相关部门获取测区大比例尺建筑底图或从机载激光扫描点云中自动提取建筑轮廓线, 并将这些数据或信息作为辅助可以实现倾斜摄影测量的建筑单体化.
联系客服