数字航空摄影三维重建理论与技术发展综述
2022-08-12刘玉轩孙洋杰蓝朝桢艾海滨樊仲藜
张 力,刘玉轩,孙洋杰,蓝朝桢,艾海滨,樊仲藜
1. 中国测绘科学研究院摄影测量与遥感所,北京 100036; 2. 香港理工大学土地测量及地理资讯学系, 香港 999077; 3. 信息工程大学地理空间信息学院,河南 郑州 450047
数字航空摄影测量是指在飞行载体上用航摄仪器对地面连续拍摄影像,结合地面控制点测量、调绘和立体测绘等步骤,绘制出地形图的作业方式[1]。三维重建作为航空摄影测量的重要任务之一,在中、大比例尺地面物体的几何信息提取、地形图测绘方面发挥了重要作用。
随着传感器技术的发展及需求的多样化,出现了新的航空摄影测量作业方式,提高了对困难场景三维重建的适用性和精度。首先,航空摄影测量的摄影设备发生了较大变化。传统的航空摄影测量在距离地面几千米的高度对地面进行近似垂直拍摄,此种拍摄方式难以获取目标的侧面信息,且在建筑物密集区域遮挡比较严重。倾斜航空摄影测量利用航空飞行器搭载多个倾斜相机,在相同或近似相同航高,按照蛇形航线从不同角度对目标地物进行拍摄,解决了地物侧立面影像数据缺失的问题,在注重侧面信息的城市三维重建任务中能够发挥重大作用。其次,航空摄影测量的飞行载体也取得了较大的进步,主要表现在无人飞行平台的快速发展方面。相比于有人机,无人机可以快速获取目标区的高分辨率影像和精细化的三维结构信息[2]。此外,无人机的出现使面向对象的摄影测量成为可能。文献[3]提出了面向对象的摄影测量方法——贴近摄影测量。文献[4]提出了优视摄影测量,提高了在滑坡、大坝等危险或者相对高程变化剧烈区域,以及在古建筑、城市大范围复杂区域的重建可靠性。
航空作业方式的改变给航空摄影测量三维重建带来了新的困难。主要表现在以下5个方面:①拍摄条件的变化。倾斜航空摄影通过一次曝光可以获取目标区域的多视角信息,但不同视角影像间存在较大的几何变形,而且影像中不同地物分辨率可能不一致,增加了数据自动化处理难度。②拍摄场景更加复杂化、多样化。机载航空影像分辨率高、覆盖面广,适合于城市级实景三维建模,但建筑物自身的几何结构复杂,而且城市空间中还存在大量重复纹理和弱纹理区域,易出现遮挡和视差断裂。③外部数据的引入。随着全球定位系统、北斗导航系统等提供的定位数据和惯性导航系系统提供的定位定姿数据精度越来越高,如何综合利用外部辅助信息提高摄影测量精度,减少地面像控点的数量也是研究的难点。④海量数据的同时处理。随着影像获取手段、效率的不断提高,场景影像数据量不断增加,以城市级三维建模的实际应用为例,几万张甚至几十万张影像的超大场景已变得很普遍,同时处理大规模影像难度较大。⑤当前算法自身的局限性。倾斜摄影所造成的较大的几何与辐射畸变,造成现有的很多成熟影像匹配算法不再适用;诸如倾斜摄影或贴近摄影所获取的影像可以有不同的焦距、镜头畸变等参数,平差参数大大增加且彼此之间有较大的相关性;另外,获取影像的3个欧拉角φ、ω、κ,特别是φ、ω角不再是较小的角度,有时甚至会接近90°,造成传统的最小二乘光束法平差方法难以适用。此外,传统的摄影测量空三方法难以满足大规模影像三维重建的应用需求。
三维重建作为摄影测量和计算机视觉的基本功能和基本任务之一,在原理、方法和技术上有很大的重叠,比如摄影测量中的核线几何和计算机视觉中被叫作极线几何、摄影测量中的空中三角测量在原理上与计算机视觉中的运动恢复结构一致,学科间的相互促进给三维重建提供了新的解决思路。文献[5]早在1993年就分析了两个领域在原理方法上存在的重叠、区别及未来可能的合作方向,但他们指出在当时两个领域基本没有交叉。文献[6]详细讲述了两个学科在过去十几年间三维重建几何原理和方法上存在的交叉融合。文献[7]进一步讲解了摄影测量与计算机视觉在语义三维重建方面存在的交叉。此外,机器学习特别是最近几年快速发展的深度学习方法,在三维重建领域也得到广泛应用[8-9]。机器学习本质上是利用复杂的非线性模型来模拟真实的物理过程。早期,研究人员提出了许多统计学习的方法,即由人工设计特征,然后在数据集上进行训练学习,并对目标任务进行建模分析。典型的方法有:logistic回归、支持向量机、决策树和最大概率统计分类等[10]。该类方法参数通常较少,大多在几百个以内,因此也被称作浅度学习。相应地,深度学习采用了一种分层式的人工神经网络来学习模型。深度是指神经网络的层数,通常要大于传统神经网络的层数(少于3~5层),同时伴随着大量的模型参数需要求解,因此不仅需要构建合理的网络模型,也需要大量的训练样本[11]。虽然当前深度学习技术在实际的三维重建技术中还没有得到广泛应用,但利用深度学习技术来解决三维重建问题依然是研究的热点和重点。
综上,航空摄影测量技术经过多年的发展,数据的获取和处理手段都经历了巨大的变化。计算机视觉和深度学习等领域的新理论、新方法不断融入摄影测量中,推动摄影测量向智能化、自动化方向发展。当代航空摄影测量学已经是多种传感器融合、多种数据采集方式结合、传统摄影测量和人工智能技术中计算机视觉和机器学习技术交叉的产物。三维重建作为航空摄影测量的核心问题之一,有必要对其进展进行总结和展望。本文从同名特征点匹配、区域网平差、密集匹配和单体化建模4个方面,总结和分析由航空影像到三维实景模型的研究现状,并介绍当前主要的航空摄影三维重建系统。
1 航空影像同名连接点自动提取
影像同名连接点的自动提取(影像稀疏匹配)旨在从两幅或者多幅影像中识别具有相同或者相似结构的图像内容并建立对应关系。作为影像配准、区域网平差、模式识别、图像分析、三维重建等应用的基础,同名特征提取受到了多学科学者的广泛关注和研究。
1.1 传统特征匹配算法
通常情况下,影像匹配主要包含影像特征提取和特征匹配两大步。特征提取是从影像中提取稳定可靠的特征点,特征匹配则是准确建立同名点的对应关系。根据是否直接使用原始图像信息,可分为基于特征描述的图像匹配和基于区域的图像匹配。基于区域的图像匹配方法通常具有较高的几何精度,但其对图像间的变换抗性较差;相反地,基于特征描述的方法对影像间的几何与辐射变化具有较好的抵抗性,但其精度通常低于基于区域的匹配方法。
1.1.1 特征提取
特征提取是后续特征匹配的基础,其结果好坏直接影响最终的匹配结果。好的特征应该具备稳定、可区分性高、可重复性高、易于计算的特点。其基本思想是构建响应函数,将明显特征与周围的平坦或者弱纹理区域区分开,常用的是角点特征和斑点特征。角点特征通常指两条直线的交汇点,比如“T”形、“L”形和“X”形结构。根据所用信息的不同可以分为基于图像梯度和基于图像灰度两大类。Harris算子[12]是具有代表性的基于图像梯度的特征检测算法。它具有较高的定位精度和旋转不变性,目前依然被广泛应用。SUSAN算子[13]则基于图像灰度信息进行特征检测,简单易用、速度快,且有一定的抗噪声能力。此外,为了进一步提高计算速度,研究人员提出不直接利用灰度信息本身而利用灰度信息间的对比形成二维字符串,构建影像特征,典型的算法是FAST算子[14]。ORB算子[15]使用FAST算子进行特征检测,同时使用Harris角点方法消除边缘效应,通过组合不同算子的优点,在检测精度和效率方面表现较好。
斑点特征指图像的局部区域特征,区域内像素值具有一致性,与区域外像素的区分性高。SIFT算法[16]是早期性能较好的斑点特征之一,它通过构造线性尺度空间并检索极值点,得到的特征点对尺度和旋转都具有较好的稳健性且重复性高。在SIFT的基础上,延伸出了SURF[17]和UR-SIFT[18]等改进算法。不同于SIFT及其扩展算法构建线性空间提取特征,KAZE算法[19]采用加速算子分裂算法进行非线性扩散滤波,并利用任意步长来构建稳定的非线性尺度空间,增强了对弱纹理、图像模糊和视角变化的抗性。文献[20]利用快速显示扩散,进一步提出了AKAZE算法,提高了算法效率。总体来说,虽然角点特征定位精度较高[21],但由于斑点特征利用了更多的图像信息,从图像内容复杂、拍摄条件多样的航空遥感影像特征提取的稳定性更高,特征检测的可重复性更好,对不同图像变化也具有更好的稳健性。
1.1.2 特征匹配
从影像中检测到特征点后,要建立特征点之间的对应关系,即特征匹配。由于图像局部信息在不同影像上具有不变性,可基于此特点进行影像匹配。一类方法直接利用影像的原始影像灰度信息,在不同影像间开一个相同大小的窗口影像,通过计算窗口影像的相似性完成匹配,因此也被称为基于区域的图像匹配。常用的相似性测度包括差绝对值和[22]、归一化相关系数[23]、Census[24]、互信息[25]等。该类方法虽然具有较高的精度,但对尺度、旋转变换及视角变化等变化缺乏稳健性,应用时须对影像进行预处理,消除明显的几何形变。
另一类方法则是从特征点的局部区域,提取特征描述子(多以高维特征向量的形式表示),通过计算特征描述子之间的距离完成图像匹配。该类方法可被称作基于特征描述的图像匹配。类似于特征检测,特征描述同样可以分为基于梯度和基于图像灰度两大类方法。基于图像梯度的特征匹配方法,通常首先对局部区域进行分区并分别计算特征,然后将所有分区特征进行链接,最后特征向量进行归一化。典型的基于梯度的特征描述子主要包括SIFT描述子及其改进算法,比如SURF、PCA-SIFT[26]和CSIFT[27]等,对图像尺度、旋转和光照变化具有较好的稳健性。基于图像灰度的特征描述子构建方法包含直接利用像素灰度信息和间接利用不同像素间的灰度对比信息两类。LBP[28]直接利用像素的灰度信息,它以窗口中心像素为阈值,将相邻的像素的灰度值与其进行比较并统计,构建特征描述子,计算方便且对光照具有较好的抵抗性。除了直接利用图像灰度信息,也可以通过对比图像灰度,将生成二进制字符串作为特征描述子,典型的算法包括BRIEF[29]和FREAK[30]等。该类算法的核心在于对比特征的选择模式,速度快、占用空间小,具有较低的计算和存储要求,但对旋转变化和噪声稳健性较差。
无论哪种特征描述构建方法,得到特征描述子后,均须进行特征描述子的相似性计算以建立对应关系。最常用方法是利用描述子之间的最近距离,对于浮点型的特征描述子利用欧氏距离,而对于二进制的特征描述子则利用汉明距离。然后,可通过最近与次近距离的比值进行误匹配剔除,并可利用双向匹配进一步剔除误差。此时,得到的匹配点对中多存在一定的错误匹配,可利用RANSAC算法[31]按照图像间几何关系(单应关系或核线关系)精化匹配结果。相比于直接利用原始影像的局部信息,基于特征描述子的方法虽然精度较低,但对图像旋转、尺度变化和光照变化具有较好的抵抗性。
此外,考虑到基于区域匹配方法的精度较高的优势,部分研究人员提出了特征和区域相结合的图像匹配方法[32-33]。影像间大的几何和辐射间导致无法直接建立相应特征点邻域窗口之间的相似性度量关系,需要首先通过假定的变换模型矫正相应邻域窗口之间的几何变形,然后在改正后的相关窗口中完成相似性判断。该类的代表性方法是最小二乘匹配。它是直接通过迭代将一幅影像上的邻域窗口变换到与另一幅影像上相应邻域窗口完全一致的形状,然后用矫正后两邻域窗口的相关性进行最终判断。
1.2 倾斜航空影像稳健稀疏匹配
大倾角倾斜航空影像间存在由大的视角变化引起的尺度、旋转等复杂几何畸变,以及由影像获取角度差异引起的严重辐射畸变。同时,倾斜影像中的视差断裂、遮挡、阴影,以及地物目标移动变化等问题较为普遍,为影像匹配带了更大的困难。针对该问题,摄影测量学者一方面通过提出新的抗大仿射变换特征匹配方法或者优化传统特征匹配方法;另一方面,通过对待匹配影像进行几何校正,缓解影像之间的几何变形,对纠正后的影像利用传统方法进行匹配。该类方法主要包含基于视角模拟的方法和基于先纠正影像后匹配的方法。
通过改进传统特征匹配方法或提出新的仿射不变特征,能够增强对仿射变化的抵抗性,提高对大倾角倾斜航空影像匹配的适用性。代表性仿射不变特征方法包括MSER算法[34]、EBR算法[35]和IBR算法[36]等。不同特征利用了图像不同方面的信息,通过不同仿射不变特征之间的融合,可得到的特征匹配数量更多、分布更为均匀并且利用融合匹配点估计的配准模型精度更高。文献[37]提出仿射不变特征之间的互补评价测度,以定量地评价不同融合算法的在倾斜影像上的立体匹配效果。
视点变化是造成传统方法匹配失败的主要原因,因此利用不同旋转和倾斜的图像来模拟所有可能因摄像头方位变化,在所有的模拟影像上进行匹配,能够较好地缓解由于视角变化引起的几何形变和辐射畸变造成的匹配困难。该类方法的代表是ASIFT算法[38]。但由于视角模拟过程和匹配过程复杂度极高,导致算法效率低下。文献[39]通过分析不同视角下匹配数目的变化规律和验证评估得到的单应变换可靠性两种策略对ASIFT算法进行改进,降低了计算复杂度。文献[40]利用局部仿射变换模拟成像过程,利用粗略位姿参数估算初始仿射变换矩阵,提高了效率。考虑到仿射变换的局限性,文献[41]进一步提出利用透视投影变换纠正影像,消除因视角变化带来的几何变形,实现了视点不变的倾斜影像快速匹配。
不模拟影像的成像过程,直接利用影像间的关系矩阵,对待匹配影像进行几何校正消除大的仿射变形,在校正后的影像上进行匹配,同样能够提高匹配成功率。关系矩阵可利用仿射不变特征匹配得到的同名点对进行计算,也可以利用倾斜影像的附带的内外方位元素信息进行计算。文献[42]利用影像的位姿数据和目标区域的DEM对影像进行几何预校正,组合利用FAST特征提取和BRIEF描述算法对校正后的影像进行初始匹配,并利用RANSAC和多重几何约束关系剔除错误匹配,得到了较好匹配结果。文献[43]利用倾斜影像的内外方位元素计算透视投影矩阵,并利用目标区的平均高程值,对影像进行几何校正,并对校正后的影像进行可靠匹配,实现了倾斜航空影像的可靠匹配。
基于视角模拟的方法和基于先纠正影像后匹配的方法均须预先生成校正后的影像,需要更多的存储空间,为此研究者提出在处理过程中实时进行纠正的匹配方法,以增加算法的实用性。此外,以上3类方法存在互补性和相通性,在实际应用过程中可以组合使用,最大限度地提升倾斜航空影像匹配的成功率。文献[44]利用倾斜影像初始的内外方位元素计算影像间单应变化矩阵,采用前方交会估计物方点位置并拟合物方面元平面的高程和法向量方向角,通过这种采用贴近真实地物方向面元而不是水平面元的方法,提高了在地物高差较大区域的匹配表现。文献[45]充分利用定位定姿系统(position and orientation system,POS)和平均航高等初始数据,有效组合改进的ASIFT算法和基于窗口的多角度多视影像匹配模型,使用由粗到细匹配策略完成匹配,并在最小二乘算法的基础上,根据倾斜航空影像数据的特点,提出了基于稳健估值原理的粗差自动探测与剔除关键算法,实现了连接点的全自动提取。
1.3 基于深度学习的影像稀疏匹配
从2015年开始,学者们逐步将卷积神经网络(convolutional neural network,CNN)应用于图像匹配。CNN通过训练可以“学习”到影像间相对抽象的共同模式,提取抽象的图像语义特征。利用这些语义特征进行匹配,更接近视觉观察原理,理论上具有更强的泛化性。
1.3.1 深度学习特征提取
影像局部特征提取通常把完整图像输入CNN网络中,生成影像特征。文献[46]基于线性回归方法提取SIFT特征并构建正负样本进行训练,实现了复杂条件下可重复性特征的自动提取。文献[47]基于标准图像块和标准特征概念,利用通用变换群理论,构建具有可区分和协方差变量约束的图像块,增强了特征检测器可重复性。针对仿射变化,文献[48]设计了一种基于难例挖掘损失函数的特征提取方法,实现了在包含视角和旋转变化仿射变化下的可重复性和丰富性特征检测。然而,由于特征点检测通常需要用到非极大值抑制(non-maximum,suppression,NMS),而传统的NMS算法并不可微,无法利用反向传播进行训练,一定程度上制约了特征检测算法的发展[49-50]。
1.3.2 深度学习特征描述
提取到特征点后,可进一步利用特征点周围邻域影像提取固定长度的特征描述符。TFeat[51]采用三元组patch样本进行训练网络,以三元组内最小的负样本距离应该大于正样本距离作为损失函数,提高稳健性的同时有效降低算法复杂度。L2-Net[52]提出利用没有度量学习层的CNN网络模型在欧氏空间中学习高性能描述符,增强了特征的描述能力,具有良好的泛化性。在L2-Net的基础上,GeoDesc[53]充分利用特征点几何约束信息,提出了能够适应于真实环境的特征描述符。为能够更好地捕捉到图像结构信息,SOSNet[54]引入了二阶相似度正则化的方法,显著增强了特征描述符一致性。此外,ContextDesc[55]提出利用聚合特征点的几何上下文位置信息和视觉上下文信息的学习框架,有效扩展了局部描述符的细节表达能力。虽然以上基于深度学习方法提取的描述子具有较强的特征描述能力,但是计算复杂度通常较高,降低了效率。
1.3.3 端到端特征提取与描述
不同于上述学习型特征检测模块和特征描述模块相互分离的处理过程,学者们提出了端到端的网络架构,同时完成特征点提取和特征描述。LIFT[56]是第一个用统一流程实现特征点检测与描述的算法框架。它利用空间变换神经网络和soft argmax重建了SIFT的所有主要处理步骤,对光照和季节变化具有较强的稳健性。尽管LIFT方法做到了特征检测和描述流程上的统一,但是特征点检测、主方向估计和特征描述本质上还是独立的模块。从LIFT开始,端到端的特征提取与描述方法开始流行起来。SuperPoint[57]通过全卷积网络模型生成特征图,并通过编码-解码机制,保持了特征提取的像素级精度。D2-Net[58]提出了一种能够同时完成特征检测和描述特征点的网络模型,实现了特征检测和特征描述的高度耦合,在异源图像匹配上也获得了很好的效果[59]。但D2-Net方法需要提取密集的特征描述符,降低了匹配效率。另外,D2-Net使用了更高层的低分辨率特征图,降低了定位的精度。针对D2-Net定位精度不高的问题,ALSFeat[60]提出一种新的多尺度检测机制,在固有的特征层次恢复空间分辨率和低层特征细节,显著提高了局部特征形状的几何不变性和相机几何精确定位的能力。以上研究在提取特征点时往往只考虑特征点的可重复性,但是可重复的特征点未必有较高的可区分性,如位于重复或弱纹理区域(大楼的窗户、路面等)的特征,而且特征描述子的训练应该只发生在匹配置信度高的区域。因此,通过兼顾特征检测的可重复性及特征描述的可靠性,能够提高匹配可靠性。
1.3.4 深度学习特征匹配
在匹配层面可以引入学习型算法。文献[61—62]设计了匹配网络,通过对网络的训练,改进同名点相关性搜索过程,但它们仅考虑特征描述符向量空间的相似性,忽略了特征点的位置信息。SuperGlue[63]利用注意力机制和图神经网络解决特征赋值的优化问题,取得了超越传统的K-近邻(K-nearest neighbor,KNN)搜索算法的效果,并且能够在GPU上达到实时处理,是基于深度学习匹配算法的一个里程碑。受到SuperGlue的启发,文献[64]提出了一种基于Transformers的无须特征提取的特征匹配器LoFTR,优化了传统算法中依次执行图像特征检测,描述和匹配的步骤,在弱纹理区域取得了优于SuperGlue的效果。对比于KNN等几何匹配方法,以上方法在匹配可靠性和效率方面提升较为明显。
总体而言,不论是学习型特征检测和描述相互分离方法还是端到端的特征提取与描述的方法,相对于传统几何匹配算法,理论上对由于波段、成像模式等带来的非线性辐射差异和大仿射变换造成的几何差异具有更好的稳健性,在航空倾斜影像匹配方面具有较大的应用潜力。此外,不同方法在效率、精度和可靠性方面存在一定差异[65],可根据任务的要求灵活选择合适的方法,发挥各自的特长。
2 航空影像区域网平差
航空影像空中三角测量是以影像间同名点作为连接点,构建区域网,并通过区域网平差求解影像精确的内外方位元素和连接点物方三维坐标,这在计算机视觉中又称为运动恢复结构(structure from motion,SfM)。传统航空摄影测量的输入是按照预定航线采集的几何约束较强的垂直拍摄航空影像,平差过程中通常会引入控制信息且需要较准确的初值设置;多视倾斜航空影像除垂直拍摄影像外,一个拍摄点还包含多张倾斜拍摄影像,提高了平差稳健性但也降低了处理效率;SfM处理的则更多是无序的视觉影像,其对相机参数、拍摄条件和相机位姿没有严格约束,大多是自由网平差。
2.1 传统航空摄影区域网平差
光束法平差基于共线条件方程式的光线束平差解法,它同时把控制点与待定点的像点坐标作为观测值,通过平差整体求解成像参数及待定点物方空间坐标。早年受限于计算机的计算能力,摄影测量学者分别提出了航带法平差[66]和独立模型法平差[67]。航带法平差把一系列像对的相对定向和模型结果连接起来构建自由航带,然后以单条航带作为基础,把所有航带作为整体进行解算。构建航带时由于是以上一步的结果作为下一步的输入,因此会出现误差的传递累积。独立模型法已经与光束法接近,它是把一个或者几个立体像对得到的模型作为单元基础,以不同模型间的公共点作为连接点进行整体求解,计算量较大。随着计算能力的增强,从每张影像的摄影几何反转出发,严格模拟影像成像过程的光束法平差应用更为广泛,成为当前高精度几何定向的主流。
随着外部定位定姿技术的发展,研究人员把定姿定位数据(包括全球定位系统(GPS)提供的定位数据和惯性导航系统(INS)提供的定姿数据)引入传统平差方程中,进行联合平差,以提高光束法平差的稳健性和平差的精度[68]。文献[69]利用嵩山遥感定标场的有人机和无人机航摄数据检验了POS辅助的光束法平差精度,发现该方法可以满足大比例尺测绘的成图要求。除此之外,外部控制点信息或者目标区地形数据被引入平差解算中,拓展了传统光束法模型。文献[70]以带有地理空间信息的数据(如历史影像、矢量和LiDAR点云)作为控制,提出了“云控制”摄影测量方法,较大程度上实现了摄影测量影像的高效、自动和智能化处理。
对于平差模型的求解,通常的做法是给予不同参数粗略的观测初值,对模型进行近似估计,得到参数修正值,重新对近似模型进行逼近,反复迭代求解,直到满足预设的参数阈值。常用的解法包括牛顿算法、高斯-牛顿算法、Levenberg-Marquardt算法等[71]。当影像数目较多,连接点和物方点数量较多,待求解参数数量通常十分巨大,甚至达到几百万个未知数,这就需要高效稳健的求解方法。研究人员发现解算过程中雅克比矩阵具有稀疏性,以此进行分块处理,大大提高了解算效率,目前常用的方法是Schur消元法[72]。
2.2 多视倾斜航空摄影区域网平差
不同于传统的航摄系统,多视倾斜航摄系统多配备多个相机和POS系统。倾斜影像具有特定的几何排列特点,一个拍摄点会有一张下视影像和多张倾斜影像,这种影像排列方式提高了构网的稳健性,但是多视角影像间存在的大量数据冗余也会严重降低处理效率[73]。根据如何利用垂直下视与倾斜影像间的几何约束,多视倾斜航空影像的区域网平差方法主要可分为无约束的定向方法、附加相对约束的定向方法和附加绝对约束的定向方法。
无约束的定向方法将所有的垂直下视和斜视影像统一采用独立的外方位元素,不添加任何几何约束。附加相对约束的定向方法将每个摄站的多个相机看作整体进行平差,同一摄站的下视和斜视之间的几何关系作为约束信息添加入平差过程。文献[74]提出了两步式空三区域网平差策略,即首先基于下视影像序列进行自动空三,然后建立下视相机与各个斜视相机的外方位元素数学改正模型。该方法利用通用数学模型减少了待求参数数量,但仅适用于平稳度较高的摄站平台所获取的多视倾斜影像。附加绝对约束的定向方法需预先对下视相机和倾斜相机之间的旋转和平移参数进行检校,平差过程中仅有垂直下视影像参与解算,倾斜相机的外方位元素根据检校参数直接求解。
总体而言,附加绝对约束的定向方法平差精度最差,没有充分发挥多视倾斜航摄方法的优势。此外,难以保证应用过程和标定过程中,不同相机间的几何关系的一致性,而且随着时间的推移,检校参数的精度会进一步降低。附加相对约束的定向方法利用了同一摄站点不同影像间的约束关系,降低未知数求解的个数,增强了构网的稳定性,但对影像的拍摄时间要求比较严格,不同视影像须同时拍摄获取。无约束的定向方法通用性较好,精度最好,但须求解的参数较多。文献[75]以无约束方法为基础,建立了影像的拓扑连接图,提取有效拍摄点的骨骼网络图,仅利用骨骼图内影像参与重建,提高了重建效率。文献[76]利用影像的POS信息进行拓扑分析提出了最大生成树算法,大幅度减少了冗余数据,同样提高了倾斜影像重建的效率。该类方法较为充分地利用了影像间的约束关系,保持了较高的精度,且剔除了冗余影像,在效率方面也有一定的提升,是当前研究的热点。
2.3 运动恢复结构(SfM)中的区域网平差
运动恢复结构是针对一组具有重叠的无序影像恢复相机姿态的同时获得场景三维结构信息的处理过程。虽然其平差理论基础是摄影测量光束法平差,但平差过程中处理数据的手段和解算方法更加灵活,对影像输入条件要求较低,可为准确的摄影测量光束法平差提供初值,被广泛地应用于包含弱几何条件、大规模无人机航空影像的稀疏三维重建。
典型的SfM方法可分为全局式SfM、增进式SfM和分层式SfM 3种[77]。全局式SfM[78-79]同时重建所有影像,通常先计算影像的全局旋转,然后再计算整体平移。文献[80]将许多当前的全球SfM方法集成到Theia库中,具有高效和强大的可扩展性的特点。增量式SfM[81-82]则从初始图像对获得的小模型开始,不断添加新的影像逐渐扩展场景结构,并通过全局非线性优化提高重建精度。著名的“一日重建罗马”项目试图利用从互联网上抓取的大量影像,利用增量式SfM重建出整座城市[83]。分层式SfM[84-85]则首先将图像划分为多个重建单元,每个单元包含覆盖整个场景的部分图像,然后对每个分区单独进行重建,最后将所有独立模型进行融合,得到整个场景完整的三维模型。商业三维重建软件3DF Zephyr即采用了分层混合式SfM方法[86-87]。
全局式SfM能均匀地分布残余误差,效率高,但对噪声比较敏感,当影像间的姿态、比例尺存在显著差异时,易出现解算不稳定甚至失败。增量式SfM利用误差点去除和光束法平差交互执行策略,为后续增量过程提供了可靠的影像位姿和空间点坐标初值,使其能够应用于大规模影像的三维重建,但存在对初始影像对依赖严重、低效率和影像漂移的问题。针对以上问题,分层式SfM将所有影像划分为多个重建单元,缓解了对初始影像对的严重依赖。同时,由于每个分区都是独立的重建单元,易于实现并行处理,提高了重建效率。虽然分层式SfM应用大规模影像的三维重建具有以上优势,但仍存在以下问题:①对影像分区方法敏感,不可靠分区结果会降低独立模型精度,进而影响整体重建结果;②缺乏有效的高精度影像分区融合方法,即使单个分区结果精度较高,差的分区融合方法会降低整体的重建精度。表1对比了不同SfM平差方法的优缺点和研究要点。
表1 不同SfM平差方法对比分析
3 航空影像密集匹配
同名连接点提取仅匹配明显特征,得到的点不够密集,难以获得物体表面完整的三维信息。密集匹配则通过确定参考影像中每一个像素在其他立体像对中同名点的方法恢复场景或者物体的三维信息,其结果通常以视差/深度图、密集的三维点云的方式进行表示,对场景的表达更加详尽。
3.1 基于几何的航空影像密集匹配
航空摄影影像的密集匹配可以是两张影像之间进行,也可以是多角度多视影像的匹配。根据优化方法的不同,可以将影像的密集匹配方法分为局部最优密集匹配方法和全局最优密集匹配方法两类。此外,从全局最优密集匹配方法中延伸出了半全局密集匹配方法。
3.1.1 局部最优密集匹配方法
双目影像间具有核线关系,因此通常预先提取核线影像(匹配点对位于对应核线上)。在此基础上,双目影像的局部最优密集匹配通过计算目标像素点与其周围像素点的视差值,并利用小范围内视差的一致性进行约束,大致包含匹配代价的计算、匹配代价的聚合、视差的计算和视差的优化4个步骤[88]。匹配代价的计算即利用颜色、梯度等单一相似性测度或者多种组合的测度方式,获得每一个像素的最优视差值。匹配代价的聚合利用待匹配点为中心的邻域范围内的信息增强匹配代价的稳健性。下一步,视差的计算通常采用赢者通吃的方法进行选择。最后,考虑到初始视差图中可能会存在匹配错误的情况,进一步采用交叉检测等方法对初始视差值进行优化。
代价聚合过程中局部范围的选取方式与大小对于匹配效率和效果有较大影响。如果选取的局部范围非常小,那么在弱纹理区域可能难以得到足够的信息,出现大量噪声;而如果选取的局部范围很大,则由于假设了窗口内部所有像素的视差基本一致,将会导致视差不连续区域形状的扭曲且计算效率较低。考虑到上述因素,出现了自适应大小窗口和自适应权重的代价聚合方法。自适应窗口大小的方法,就是图像中每一个像素点的窗口大小自适应,窗口内既要包含足够的纹理信息获得稳定的匹配结果,又要不包含地物不连续的区域以避免边界上的形状扭曲。文献[89]提出使用垂直交叉窗口取代以矩形窗口为邻域的计算方式,获得了更加接近场景中物体表面在影像中投影面的邻域范围。该类方法的视差调整仅包含上下左右4个方向,不能完全解决不连续区域的匹配问题。为进一步提高估计的可靠性,自适应窗口权重的方法给窗口内每一个像素赋予不同的权值大小,主要分为基于滤波和基于图像分割两类。基于滤波的方法通是基于窗口内每个像素与中心像素的几何距离、辐射差异来代替视差差异并确定权重。文献[90]提出采用双边滤波权重确定方式来计算。基于图像分割的方法则假定每个图像分割块内像素的视差具有一致性或者满足一定的关系(如仿射变换),以此为窗口内像素分配权重。文献[91]将该影像分割融入匹配过程,提出一种基于分割树的匹配代价聚合方法,提高了立体匹配的精度。
相对于双目几何,多视几何的局部最优密集匹配,可以将多视影像分成一系列双目影像对分别计算视差并进行视差融合,也可以利用多视几何的方法。基于多视深度图融合的方法,一方面要在每张深度图的局部区域实现平滑,同时对于深度不连续区域,保存这种深度突变的特征;另一方面,要保证多张影像对应的深度图的一致性,即不同影像上的同名点的深度值原则上应该是相等的。文献[92—93]提出了基于多张深度图一致性先验概率和基于深度平滑概率相结合的多视深度图融合方法。多视几何的方法则同时利用多视影像间的几何和辐射信息,提高了算法的稳健性和抗噪性。文献[94]提出一套针对多视多角度影像的高精度密集匹配算法GC3,通过构建影像金字塔完成多种匹配基元(特征点、线及格网点)完成逐层匹配,并采用几何约束的高精度最小二乘匹配算法实现局部精化。为充分利用物方局部区域的特点,文献[95]提出了基于面片的多视立体匹配算法PMVS,从一些可靠的点开始重建,然后将深度传播到其他像素。每次传播的迭代过程可以分为面片传播、面片细化、面片过滤3部分。考虑到同一个平面所对应像点视差相同的假设会导致出现明显的梯田效应,文献[96]提出立体匹配算法PatchMatch,采用倾斜窗口的方法,突破了局部匹配的算法局限,具有良好的实用性,被广泛用于商业软件中。
在多视重建过程中,遮挡是影响多视几何重建精度的重要因素。可从以下3方面出发,以降低遮挡的影响:①利用可见性分析预先剔除被遮挡影像能够提高重建的精度和稳健性[97],但准确的可见性分析又需要比较精确的重建结果。由粗到细的可见性判定策略能够一定程度上缓解这种矛盾[98],首先根据影像重叠度、尺度差异、主光轴夹角、影像交会角等信息构建能量方程,将输入影像进行粗略的分组;其次在每个包含少量的影像组内利用当前估计的三维信息进行逐像素的可见性判定,实现细尺度的可见性分析。②考虑到匹配代价值的噪声分布特征,在深度图重建过程中,将每个像点的可见性作为隐藏变量进行参数估计,基于概率模型得到了较准确的深度值及对应每张影像的可见性,但是该类方法需要较高的内存消耗及大量的计算时间[99]。③假定匹配代价的计算足够鲁棒和准确,若场景或物体在某张影像中被遮挡则基于该影像计算的匹配代价较大,因此选择最小的匹配代价对应的影像作为可见影像的策略也被广泛应用[100]。但无论哪种方式,理想的多视密集匹配算法应该是综合考虑遮挡等外部因素的影响并同时准确解算像点坐标和物方点坐标。
3.1.2 全局最优密集匹配方法
全局匹配的方法不采用独立匹配每个像素的方式,而是将匹配问题建模为一个能量最小化的问题,显式地使用光滑假设约束,整体解算所有像素的匹配结果。在匹配每个像素的同时引入邻域像素的约束,提高匹配的可靠性。局部的匹配方法只是利用待匹配点周围一定范围内的邻域信息,而全局匹配则会综合考虑整张影像中的所有像点信息,从全局的角度着手,提高匹配的可靠性,获得最优的视差图。一般而言,全局最优密集匹配方法要保证同名点的相似性最高和相邻点的相容性最高两个方面,基于此,可构建包含数据项和正则约束项的总体能量函数。数据项用于表示图像一致性,该项为所有同名像点匹配代价的总和,反映了同名点的相似性;正则约束项用以引入邻域像素的约束,该项用来评价待匹配点的视差或其他统计量与邻近像素的相似性。对于上述的能量方程,通常有以下求解方法:赢者通吃[101]、扫描线优化[102]、置信传播[103]、动态规划[104]和图割[105]等方法。
全局匹配可获得更稳健的匹配结果,但是在计算时间和内存上耗费较多。由此,文献[104]提出了经典的半全局匹配方法(semi-global matching,SGM),以互信息为相似性测度计算方法。通过在多个一维方向上进行动态规划,避免了一维动态规划导致的条纹效应,提高了全局最优密集匹配方法效率的同时保证了精度。文献[106]在SGM算法的基础上,引入基于影像金字塔匹配策略的视差搜索范围调整方法,拓展为tSGM算法,进一步降低内存消耗的同时提高了计算准确度,已被应用于多视立体匹配商业软件SURE[107]。文献[108]在上述研究的基础上,提出了多测度的半全局匹配方法。该方法针对经典半全局匹配算法中惩罚系数的选择、相似性测度、视差范围的调整等方面进行了改进和扩展,相比于SURE,在重建完整度和精细度方面有所提升。半全局匹配方法结合了局部最优密集匹配方法和全局最优密集匹配方法的优点,取得了精度和效率之间良好平衡,被广泛应用于测绘遥感领域。
总体而言,局部最优密集匹配方法效率高且比较灵活,但是缺乏对于场景的整体理解,容易陷入局部最优。全局最优密集匹配方法吸收了局部最优密集匹配方法的优点,借鉴了局部最优密集匹配方法的代价聚合方式计算数据项。在此基础上,引入正则约束项,获得了更稳健的匹配结果,但是在计算时间和内存上耗费较多。半全局匹配方法通过多个一维方向上动态规划的方法在精度和效率方面取得了较好的平衡,实际应用中应用较为广泛。此外,相比于局部最优密集匹配方法,全局最优密集匹配方法易于从像方或者物方引入其他先验信息作为约束,比如城市场景中普遍存在的平面结构信息,进一步提高精化重建结果。
3.2 基于深度学习的航空影像密集匹配方法
近年来,深度学习技术开始被应用于密集匹配,一般通过学习匹配代价和代价传播路径完成匹配过程。根据匹配影像个数的不同,基于学习的影像密集匹配方法同样可分为双目立体网络和多视立体网络。
3.2.1 双目立体匹配网络
双目立体匹配网络一方面利用深度网络提取的特征取代传统的手工设计设计特征,另一方面利用3D卷积和soft argmin对匹配代价空间进行规则化以实现端到端学习,提高了视差图的估计精度。MC-CNN[110]是真正开启深度学习应用立体匹配的代表作,它利用多层非线性卷积神经网络学习出更加稳健的匹配代价。SGM-Nets[111]将学习到的特征用于立体匹配和半全局匹配(SGM),通过学习自动调整了SGM的参数。CNN-CRF[112]将条件随机场优化集成到网络中以实现端到端立体学习。GC-Net[113]应用3D CNN来规范成本量并通过soft argmin操作消除差异。根据KITTI榜单排名,DispNet[114]、Content-CNN[115]、iResNet[116]和DenseMapNet[117]等双目立体匹配网络,在测试数据集上的表现都超越了传统匹配方法。
3.2.2 多视立体匹配网络
按照重建结果的表达形式,多视立体匹配网络可分为基于体素的方法和基于深度图的方法。基于体素的方法估算每个体素与曲面之间的关系,如SurfaceNet[118]和LSM(learnt stereo machine)[119]。SurfaceNet是早期基于体素的多视立体匹配网络,其输入是一系列图片及相应的相机参数,可以直接输出得到3D模型,它利用端到端神经网络直接学习不同立体影像间的图像一致性和几何约束性。LSM将一个或多个视图和相机参数作为输入,通过多层网络处理,使用可微分的反投影操作将其投影到三维世界坐标系的网格中,并进一步利用递归的方式匹配这些网格,得到了较好的体素重建结果。基于深度图的方法直接估算每个像素的深度值或者视差值。文献[120]提出DeepMVS,将多视图影像投影到三维空间,使用深度网络进行正则化和聚合。文献[121]提出了MVSNet,将多个视图的二维图像特征构建为3D代价空间,并将3D CNN用于匹配代价体的正则化和深度回归,在多个多视角立体数据集上取得了最好的试验精度。以上方法实现了端到端的多视角深度图预测,同时在深度图估计上仍采用了LSM中的arcmin方法。相比而言,基于体素的立体匹配网络具有一定的局限性,仅适用于具有低分辨率影像输入、小规模的多视重建,同时基于体素的网络易导致全局上下文的丢失信息和处理效率的降低。基于深度图的多视角立体匹配网络专注于图像的相机空间,每次生成参考图像的深度图,能够适应更大场景的模型重建。此外,基于深度图的立体网络的主干网络结构设计与其他视觉任务相似,可以方便地借鉴最新的网络结构。
在应对高分辨率的多视影像数据时,用于匹配代价正则化的3D卷积参数会出现冗余,导致对内存需求会随着模型分辨率的增加而成倍地增长,如SurfaceNet、LSM、DeepMVS和MVSNet等。若将整个匹配代价体作为正则化网络的输入,对网络参数的需求会十分巨大,计算成本高。此外,目前的3D卷积结构未能充分利用浅层特征,其低分辨率的特征对于更复杂的多视角代价空间会产生更多的错误估计,成为大场景立体匹配网络设计的瓶颈。面对上述问题,文献[122]在MVSNet的基础上,提出了改进版的R-MVSNet,使用GRU[123]卷积在深度方向上收集空间和时间上下文信息来正则化匹配代价体。文献[124]在R-MVSNet的基础上提供了一种适合于大尺度高分辨率遥感影像多视匹配的深度神经网络RED-Net,为深度学习在航空影像数据上的应用提供了参考。通过借鉴传统立体匹配算法的代价聚合方法和局部深度迭代传播策略,R-MVSNet和RED-Net显示出了较好的潜力,也是未来研究的重点。
以上大量研究证明了基于深度学习的双目和多视角立体方法的有效性或部分先进性,即使是针对大规模的航空影像,在一些测试数据集上也取得了好的效果。但是,由于基于深度学习的方法对非训练集以外的数据类型普适性较差,目前依然难以应用于实际的工程项目。
4 基于多视航空影像的单体化建模
基于密集匹配结果进行前方交会能够获得场景地物表面点云,进一步可构建地物的三维表面模型(通常为mesh模型)。但是,整体场景是连续的三维表面,仅适合于整体场景的宏观可视化浏览等简单应用,无法对数据中的单个对象无法单独选中操作和管理,难以满足精细化城市管理的应用需求。因此,通过单体化技术将地物从整个场景中分离并进行结构化建模,降低模型数据量的同时获取地物的拓扑结构信息,实现单体化精细三维建模具有重要意义。
当前的地物单体化重建主要集中在建筑物的单体化,根据重建方法的自动化程度,分为半自动单体化建模和全自动单体化建模两类。半自动的重建方式对输入的多视影像进行空中三角测量获取到影像的位姿信息后,利用多视立体影像进行人工的半自动建模(可借助SVS或者DP-modeler等软件,见表2),然后进行自动的纹理映射,得到单体化模型。全自动的方式,在空三结果的基础上,利用密集匹配技术和前方交会技术得到场景的稠密点云,可直接进行点云分割,进一步完成多面体模型驱动的建筑物点云体结构自动建模;也可以先对点云构建三维表面网格(mesh)模型,进一步通过建筑物mesh的分割和体结构自动建模,得到建筑物的几何模型。在此基础上,利用影像的纹理映射得到建筑物单体化模型。半自动和自动单体化建模流程如图1所示。
图1 基于多视航空影像的半自动与全自动建筑物单体化建模流程
4.1 基于点云的建筑物全自动单体化几何建模
单体化重建的基础就是实例分割,即将建筑物点云从整个场景的点云中与其他地物分离出来。当前的实例分割方法主要分为基于传统几何方法和深度学习技术的方法两类。比如,文献[125]采用了传统几何方法,通过渐近三角网迭代滤波过滤掉地面点云,进一步利用面向对象的倾斜航空影像分类和共线方程去除植被点云,分离出了建筑物点云。文献[126]采用了深度学习方法,通过对已有数据集的空间特征与颜色特征学习,将不同地物所属的点云在高维空间进行分类,从而分割出建筑物点云。目前,部分基于深度学习的方法取得了超越基于传统几何的方法,但当前仍受限于大规模的样本集和标注困难,其普适性有待进一步提高。
单体建筑物点云的三维建模方法主要可分为数据驱动和模型驱动两大类。数据驱动的体结构建模通常假设建筑物为多面体模型,从点云数据中识别出建筑物的点、线、面等要素,并恢复这些要素的几何拓扑关系。现有的基于数据驱动的建筑物三维重建一般首先提取出建筑物面片信息,并利用空间面片两两相交确定一条直线,三三相交确定一个顶点的方式恢复建筑物的点线特征。其中,建筑物面片分割是建筑物三维重建的一个关键的步骤,面片分割质量的好坏直接关系到后续建筑物模型拓扑重建的成败。传统的点云分割方法包括区域增长法[127]、模型聚类法(如霍夫变换和RANSAC)[128-129]和全局优化法[130]等。此外,也可以利用深度学习的方法完成了建筑物面片的分割[131]。获取到点云的面片信息后,通过建立相邻面片的拓扑关系恢复单体建筑物的体结构,并利用局部简单的几何关系(如相邻面片间的平行和垂直关系)进行规则化。
模型驱动的体结构方法预先设定目标场景中建筑物模的模型类型,通过识别建筑物模型的类型和计算模型参数的方式恢复建筑物体结构,或者预先设定建筑物组件的模型类型,先恢复建筑物各组件的模型,进一步通过组合各组件恢复建筑物整体的体结构。该类方法主要关注模型类型的定义、模型组件类型的定义和模型参数的估计等。文献[132]预定义3种建筑物屋顶类型,通过深度学习识别出目标建筑物的屋顶类型,联合点到表面距离和面之间的二维相交构建代价函数,计算模型具体参数,实现了整体建模。文献[133]先进行面片分割,然后基于相邻面片的关系,利用RANSAC算法先恢复建筑物组件,最后利用三维布尔运算组合不同建筑物组件,恢复了建筑物的完整体结构,整体重建精度较高。
相比之下,数据驱动的方法对建筑物的复杂程度没有要求,但是仅考虑了局部面片间的几何结构关系,缺乏对建筑物整体拓扑关系的理解,整体重建精度不高,对噪声、遮挡和局部点云的缺失敏感。模型驱动的方法通过预先定义建筑物的整体拓扑结构或者部件的拓扑结构,直接恢复具有特定结构的模型,整体重建精度更高、抗噪声能力强。但是,当场景中存在未预先定义的模型时,易出现重建错误,具有一定的局限性。对于大区域复杂场景的重建,可结合数据驱动和模型驱动的建模方法,在规则结构区域采用模型驱动的方法,在不规则结构区域利用数据驱动的方式进行重建。此外,两类方法都是基于建筑物体结构规则的假设,重建出来的三维模型多为2.5维的模型,对于不规则体结构表达能力有限。
4.2 基于mesh的建筑物全自动单体化几何建模
基于点云的表面重建算法均可用于建筑物场景点云的表面重建(mesh模型)。根据表面重建形式的不同,点云的mesh构建方法可分为显式重建和隐式重建两类。显式重建方法多是通过某种准则将邻近的空间点云连接起来构成连通区域,从而重建目标场景的表面模型,常用的显式重建方法有Delaunay三角剖分[134]、Alpha-shapes和ball-pivoting算法等[135]。当噪声数据较少时,该方式能够较好地重建出目标场景的表面模型。不同于显式重建,隐式重建的方式并不能直接重建出目标点云的表面模型,代表性的隐式重建方法有移动最小二乘[136]、泊松重建[137]和径向基核函数[138]等。该类方法的基本思路是为输入点云构造一个隐式函数,某个函数值对应的几何表面即是要重建目标的表面模型。
相比于点云数据,mesh不仅可以展示更多的地物细节,而且易于通过调整mesh参数控制表达的精细程度,因此研究基于mesh的单体化建模方法对于不同LoD的构建具有重要意义。基于mesh的单体化重建方法通常包含场景语义分割、mesh简化和拓扑关系构建、建筑物体结构建模3个步骤。场景语义分割,与点云实例分割的目的一致,即把建筑物的mesh与其他地物分割开来,该步骤可利用聚类与深度学习的方法完成[139]。
每个建筑物的mesh面片数量巨大,为此需要进行mesh的简化。对于mesh的精化,计算机图形学领域在该方面已有较多研究[140],但这些研究更多的是关注可视化效果,难以保证地物自身结构的准确性。近年来,mesh的简化也成为摄影测量领域研究的热点,而且在mesh简化的过程中更注重恢复地物精确的结构信息,并建立不同地物之间拓扑结构关系。文献[141]先利用K-ring方法[142]对建筑物mesh进行分割,进一步检测平面信息并利用图结构恢复了面片之间的拓扑结构信息。针对MVS恢复的mesh中存在噪声、空洞和尺度信息多的问题,文献[143]利用基于面片法向量和点位置信息的双边滤波去除噪声影响并增强明显的结构信息,在此基础上检测平面和物体轮廓线并作为约束,完成mesh的简化。
基于mesh单体化建模的最后一步就是建筑物体结构建模,利用以上得到的面片信息和拓扑约束信息,恢复出结构紧凑、准确的建筑物模型。在该步骤,可直接利用新的面片来拟合原始面片构建新的mesh,也可直接对原始面片的顶点进行删除、合并操作。但无论哪种方式,最后多通过构建顾及原始面片分布、原始面片的覆盖度、对边缘信息的保持度和模型的复杂度等多个方面信息构建总体能量优化函数,通过能量最小化恢复准确的建筑物体结构。虽然当前方法不同程度地实现了建筑物自动单体化重建,但如何根据应用需求,定制化地恢复出具有不同精细程度的建筑物单体模型,仍须进一步的深入研究。
4.3 模型纹理全自动映射
建筑物单体化几何三维重建后,为了恢复每个地物的颜色信息,需利用航空影像对建筑物模型进行纹理映射,从而得到高精度、高真实感的彩色建筑物三维表面模型。纹理映射的本质是对三维模型进行二维参数化,即采用一定的方法建立二维纹理空间点到三维物体表面点之间一一对应的关系。其最终目标即是尽量减小在纹理空间和地物三维表面参数空间进行一对一映射时产生的变形及失真。纹理是影响三维模型真实感效果的一个重要因素,多面体结构单体化模型的纹理显示在一定程度上直接地影响了视觉效果。因此,采用的纹理映射策略和方法将会影响到三维重建的结果。
建筑物单体纹理映射与大场景不规则三角网模型的纹理映射之间存在方法和策略上的不同。大场景不规则三角网模型一般根据三角网的特点及相应的约束条件分成不同的区域块,以投影变形最小、区域块数量最少等因素将三维表面映射到二维空间上,然后通过影像的外方位元素、遮挡检测等将影像中的颜色信息映射到二维纹理空间中从而实现纹理映射。而单体化建筑物模型纹理映射一般从多面体三维模型中的每个多边形根据其投影到影像中,并进行纹理影像的优选,从而实现纹理映射。一般的纹理重建流程有以下几个步骤:多面体多边形纹理投影单元计算、多视影像最优纹理分布、纹理空洞填充、单体化模型纹理影像颜色调整及纹理排样等。
5 当前主要的航空摄影三维重建系统
影像处理及三维重建是摄影测量和计算机视觉的一个基本问题。目前大多数的摄影测量和计算机视觉软件中都包含该功能,尤其是计算机视觉领域出现了很多优秀的开源三维重建工具。摄影测量与计算机视觉领域的代表性影像处理软件如下。
5.1 商业化摄影测量与计算机视觉三维重建系统
国外的摄影测量与计算机软件三维重建系统商业化得更早,也相对更加成熟,代表性的系统包括:Inpho、Pixel Factory、ContextCapture(原Smart3D)、PhotoMesh、PHOTOMOD、3DF Zephyr、Pix4D、Metashape(原Photoscan)等。国内研究人员通过融合摄影测量与计算机视觉技术、计算机技术、网络通信技术及集群分布式并行计算技术等一系列理论和方法,研发出了多个支持多种数据源、多种数据格式大规模航空影像,能够自动化生产4D产品等地理信息产品的摄影测量软件系统,代表性的系统包括:SVS、DP-Smart、JX-5、Mirauge3D、GET3D等。表2给出了部分代表性商业化重建系统的提供商(包括网址)、支持的主要功能及软件特色。
表2 代表性的商业化摄影测量与计算机视觉三维重建系统
5.2 公开摄影测量与计算机视觉三维重建系统
随着数据处理的大众化,涌现出很多由互联网公司、无人机公司甚至导航公司等开发的计算机视觉产品。此外,国内外也有很多研究小组在进行相关方向的研究,并且发布了大量的开源代码。
为方便计算,一些机构发布了开源平差结算包,降低了平差解算的难度,推动了平差技术的普及化。比如,开源的通用稀疏矩阵光束法平差C/C++软件包SBA[144]、针对无序影像研发的开源工具Bundler[145]及Google公司开发的一个非线性最小二乘问题C++语言求解工具包Ceres Solver[146]。此外,也有部分研究机构直接开源了整体重建系统,大大促进了三维重建技术的发展,代表性的开源三维重建软件包括:VisualSFM[147]、Colmap[148]、Regard3D和OpenMVG[149]等。表3给出了部分代表性公开重建系统包含的功能、所利用的方法和特色等。可以看出,不同系统所用方法存在差异,均可以方便地集成其他优秀算法,灵活性强,但都没有单体化建模功能,此为未来研究的重点。此外,较多研究对上述开源系统的性能进行了评估[150-153],为研究人员提供了参考。
表3 代表性的公开摄影测量与计算机视觉三维重建系统
6 结 论
随着航空运载与传感器技术的发展,摄影测量技术的进步,以及与人工智能技术中计算机视觉与机器学习技术的交叉融合,航空摄影测量学迎来了新的挑战与发展。针对航空影像三维重建,本文从航空影像的同名连接点提取、区域网平差、密集匹配和单体化建模4个方面,对当前的研究进展进行了总结与分析,给出了当前主要的影像三维重建系统。
影像的三维几何处理,作为摄影测量与计算机视觉的重要研究方向,其共性的问题受到了多个学科的长期共同关注,学科间的融合也大大促进了航空摄影测量的发展。比如,大规模无精确摄站位置/姿态角参数、无先验相机成像畸变参数、无规则航线(无序)航空影像的几何定位可以更好地利用SfM方法进行处理。对于航空摄影测量独有的关键问题,比如,倾斜航空影像的匹配与几何定位,摄影测量学者进行了针对性的改进与优化。总体而言,集成使用计算机视觉和摄影测量相关算法,利用计算机视觉方法获取影像摄站位置和姿态角等参数的初值,然后再利用摄影测量方法进行处理,可保障由影像恢复三维几何信息的精度和稳健性。此外,深度学习技术给航空摄影测量带来了新的思路。虽然其在标准数据集的图像匹配和三维几何重建中表现优异,但其应用于工程领域时缺乏庞大的航空影像数据集,以及针对航空影像的框架模型,迁移性较差,因此目前依然以传统几何方法为主。但不可否认,深度学习依然在航空三维测量领域具有很大的潜力。
回望近几十年的发展,航空摄测量朝着处理方式的智能化、需求的定制化及应用的大众化快速前进。过去的航摄影像需要受过专业培训的作业人员按照预先规划进行拍摄,到现如今小型、多功能、廉价、轻便的小型无人机走进普通民众手中,数据处理也出现了多种一键式处理软件。航空摄影测量也从行业应用走进了精准农业、工程规划等非传统测绘领域,其应用越来越广泛。在这种大背景下,越来越多不同学科的学者会参与摄影测量的发展浪潮中,不断拓展新的应用,不断注入新的技术和思想,航空摄影测量学将迎来全方位快速发展期,也将是航空摄影测量学者大的发展机遇。