张茂正,燕宁娜,袁宜红,商立宏,赵振炜
(1. 宁夏大学土木与水利工程学院,宁夏 银川 750021; 2. 宁夏施图建设工程技术审查咨询有限公司,宁夏 银川 750002)
2021年国务院办公厅首次将《“十四五”文物保护和科技创新规划》从地方规划上升为国家级专项规划,从国家政策层面明确提出了加强文物数字化保护的要求。随着数字摄影测量与遥感领域的深入发展[1],交叉领域的新技术引入,考古与文物保护方式发生了巨大的变化,建筑遗产数字化已经成为古建筑保护修复的关键举措。
近年来,随着计算机视觉领域的兴起,基于运动恢复结构(structure from motion, SfM)的多视图重构建模方法在农业水利、地质勘测、灾害应急检测、文物保护等领域均得到了广泛应用[2-3]。中国作为四大文明古国中唯一一个文明没有出现断层的国家,历史文物资源极其丰富,类别构成多元。文献[4]利用SfM方法实现了超高分辨率壁画的三维数字化快速重建研究,提高了壁画数据的完整性;文献[5]提出采用三维激光脉冲与多视图重建结合的方法解决石窟寺文物数字化保护中出现的难点问题;文献[6]结合SfM算法流程,通过消费级无人机采集多视图影像有效解决了古桥相关档案信息数据缺失及细节信息较少的问题。
众多学者均讨论了多视图影像序列建模方法在文物保护领域中的应用研究,为文物数字化的良好发展提供了有力的技术手段[4-6]。但少有人关注图像序列在重构过程中出现的一些问题,如当照片间的关联度过低时,可能会导致同名点匹配出现错误,进而使得模型重构发生较大变异,于三维点云空间中表现为“点云空洞”,三维实景模型中表现为“模型缺失、纹理模糊”。同时图像数量也并非越多越好,图像冗余会导致数据采集时间与三维模型重构处理时间显著增加。图像序列建模方法对于操作人员专业性要求较高,处理不当极易导致二次采集问题的产生,当面向占地面积较大、形状多异及纹理信息丰富的复杂异形古建筑时问题表现则更为明显。
综上所述,目前仍缺乏相对规范化的设计流程实现复杂古建的实景重构,研究过程中外业数据采集流程与模型重构平台的选择使用都具有较强的主观性而缺乏针对性。同时基于SfM算法实现的三维重构平台众多,却受限于其处理方式及应用侧重点的差异,使得模型重构运算效率与质量也有较大区别。因此,为较好满足复杂异形古建筑的实景三维重构需求,本文提出基于SfM的视频帧影像三维重构方法,以期对复杂异形古建筑三维重构设计规范化流程欠缺问题进行探索,设计合理的飞行路径与分帧流程,量化分析各软件平台应用效果,并为复杂异形古建筑三维重构选择适宜性应用平台提供参考。
基于SfM的视频帧影像三维重构方法主要包含外业视频影像数据采集、内业视频数据预处理、视频帧影像三维重构等步骤,其技术路线如图1所示。
图1 基于SfM的视频帧影像三维逆向重构方法技术路线
无人机由于配备的相机像幅尺寸较小,考虑模型精度,对航摄的影像重叠率要求一般较高[2],使用常规的图像序列方式采集建筑信息往往需要较多的影像数量,建模所需图像的具体幅数也较难确定,二次采集问题时有产生;此外无人机在飞行过程中很容易受操作人员水平和飞行状态稳定性的影响,使得图像序列包含的影像位姿往往不够准确。因此,考虑使用视频采集方式获取数据,视频可看作是由一个个序列图像组成的数据集,虽然视频分帧得到的图像并不包含位置、姿态等信息,但通过自定义时间间隔调整图像重叠率,获取具有高重复性的视频帧序列后,再利用SfM技术对视频帧影像进行匹配检测与增量重建,则可实现与POS数据辅助图像相当的建模效果[7-8]。不仅降低了前期影像数据采集的复杂度,提高了采集效率,同时也有效避免了由于重叠度不足导致的二次采集问题的发生。
由于未知数初值求解策略的差异,典型的SfM可分为两类,分别为增量式SfM与全局式SfM,如图2所示。增量式SfM通过不断迭代优化实现三维重构,具有较好的稳健性,相较于全局式SfM的一次性优化求解策略,解算精度更优,应用也更为广泛[9]。基于SfM的视频帧影像三维逆向重构方法的具体实现步骤如图2所示。
图2 增量式SfM和全局式SfM技术流程
(1)外业视频影像数据采集。在路径规划方面,借鉴包围盒和包络球思想[10],将鼓楼近似看作矩形包围盒,建立其对应的外接包络圆柱体。采用包络圆柱体作为无人机的航摄基准面,并建立一个以其底面中心点为圆心的同心航路圆柱体。
根据CMOS尺寸、相机焦距(f)、成像视野等参数指标[11],计算无人机云台相机到被测鼓楼的距离,即航路圆柱体上相机到包络圆柱体的距离;通过设置合理的摄物距离(D),从而确定无人机的安全飞行路径范围,保障拍摄对象信息采集的完整度。上述4个相关参数指标的数学关系为
(1)
式中,w or h表示水平或垂直方向。
由式(1)可以得出,在感光元件CMOS及焦距f双指标不变的条件下,只要确定摄像视野大小即可解算出相机的摄物距离。区别于一般的拍照摄影建模方式,视频摄像获取的视频帧影像具有较高的重叠度。因此,在业内作业进行同名点匹配时,无须考虑重叠度要求。外业现场操作时,按上述规划路径环绕古建筑中程位置一周,并拍摄视频影像即可。
(2)内业视频数据预处理。三维模型重构效果的优劣很大程度上取决于视频分帧处理流程的设定合理性,视频帧影像数量冗余会导致建模体量增大与建模时间相对延长,而影像数量不足则会导致模型建构失败。故需要对视频分帧的基本处理流程做出相对规范的设定,如图3所示,以获取最优抽帧时间间隔,可有效避免二次采集问题的发生。其表达式为
图3 环拍视频分帧处理流程
(2)
式中,i为间隔时间下提取影像幅数,i=1,2,3,…,n,ω0=1。
依照上述流程完成视频帧影像提取后,由于无人机相机易受倾斜与振动的影响,可能会导致影像畸变误差问题的产生。故视频帧影像在内业处理时须进一步筛选与剔除可能对建模解算产生影响的含有拖影的图像序列[12]。
(3)特征点提取与匹配。采用尺度不变特征变换算法(scale invariant feature transform,SIFT)对视频帧影像进行特征点的提取与匹配[13],主要包括以下4个步骤:尺度空间极值检测、确定特征点主方向、生成SIFT特征向量、特征向量匹配。通常采用随机采样一致性算法(RANSAC)[14]对初步获取的错误匹配点对进行粗差剔除,以找出模型参数的最优估计。
(4)稀疏重构与误差优化。首先根据上一步匹配成功的特征点,求解出基础矩阵或本质矩阵[2],然后利用三角测量解算空间点的三维坐标[6],最后采用迭代光束平差法(bundle adjustment,BA)[15]进行优化,不断最小化误差函数L(C,X)可实现相机的最优位置姿态与稀疏点云解算[7]。即
(3)
式中,ρij表示指示函数;xij表示观测影像点;Cj和Xi分别表示相机参数与三维点坐标;P(Cj,Xi)表示三维点在相机视角下的投影点。
(5)点云稠密重构。由于步骤(4)恢复的点云密度比较稀疏,还无法实现对实景三维场景的精细描述,仍需进一步增加三维点云数量,以提高精细程度。一般采用多视图立体视觉算法(multi-view stereo,MVS)[16]对稀疏点云进行密集化扩散与匹配,最终生成更为稠密的三维点云数据。
(6)实景模型重构。三维空间点云不具有结构化信息,可视化效果欠佳,不利于重建结果的修改与数据保存[17]。因此,需要对点云进行网格化处理和纹理映射。网格化主要通过点云三角化方式实现[18],代表算法有Power Crust算法与Poisson表面重建算法;纹理映射方法主要有人机交互式实现与自动实现两类,前者多见于传统建模过程,目前实景三维重建充分利用相机的解算位姿可实现自动化视图映射,构建出具有真实效果的三维场景。
试验选取宁夏银川市重点保护文物明代十字鼓楼作为试验对象,楼总高36 m,占地576 m2。由台基、楼阁、角坊组成。台基呈正方形,边长24 m,高8.5 m,用砖石砌筑。鼓楼建构结构严密紧凑且表面纹理复杂,能够较好论证基于SfM的视频帧三维重建方法的可行性及优越性。
试验主要过程分为外业视频影像数据采集与内业视频数据预处理两个阶段。外业阶段:按上述路径规划,经计算,在距鼓楼47 m处进行环绕飞行并采集视频影像,录制环拍视频的分辨率为3840×2160像素,帧速率为30帧/s。在飞行任务结束后,检查拍摄成果,显示拍摄影像清晰且覆盖鼓楼所有测区,可用于后期三维模型重构,获得鼓楼视频影像时长为82 s。内业阶段:由于飞行环绕效果良好,获取视频影像较为完整,此次视频时长不作优化删减,以视频第1 s作为分帧起点,视频最后1 s作为分帧终点。经多次抽帧试验,考虑建模效率和建模质量,结合视频时长最终选取最佳分帧时间间隔为1.15 s,并对抽帧影像进行筛选与剔除,最终获取有效影像71幅。
近年来,随着计算机视觉领域的快速发展,出现了许多基于SfM算法的三维重建软件平台[6-7,16],主要分为开源与商业两类。虽然各软件平台的底层算法类似,但出于应用角度,处理方式、面向使用环境与受众的差异,也使得不同软件在实际使用中各有优劣,不过总体上商业软件平台的发展更为成熟、使用更为广泛。因此,鉴于本文复杂古建筑(鼓楼)的实际建模需求,在通过上述步骤流程获取了具有一定数量的鼓楼重叠度视频帧影像后,选取了目前主流的3款商业软件实现鼓楼实景三维模型重构任务,并对3款软件进行对比分析,探求最优化的使用策略。考虑评价分析的公平性,此次试验在同一运行环境下进行,具体参数见表1。
表1 三维重构试验运行环境参数
为进一步量化评价3款重构软件(ContextCapture、RealityCapture、PhotoScan),从建模效率与建模质量2个方面进行评估。
建模效率评估考虑了软件操作难易程度与三维重构处理耗时两个指标。可以发现,ContextCapture平台模型重构采用分块处理技术,包括Master和Engine两个工作模块。相比于其余两个平台,对计算机的硬件性能优化效果最好,所需建模时长适中,可以最大限度地利用电脑内存进行数据处理,输出多种三维数据格式。但结果转化形式多样化的同时也带来了建模操作流程相对烦琐的问题,需要依据对接的后期软件类型,设置选择合理的输出格式;PhotoScan平台是3款软件平台中对计算机性能要求最高的一款,支持PhthonAPI二次开发,具有良好的拓展性,且操作逻辑简单易懂,操作难度简单于ContextCapture平台,建模流程更为标准化,建模过程中可实现各个步骤的参数化调整,但重建耗时最长,处理效率表现较差;RealityCapture平台的自动化重建程度最高,可实现一键重构,操作难度最低。但本次试验考虑对比各平台的建模效率,故采用分步式操作,方便过程中优化建模区域,与其他软件形成相对合理的对照,其操作过程与PhotoScan平台类似。此外RealityCapture平台在建模过程中可对模型面数进行简化处理,提高运行效率。在3款重构平台中,建模所需时间最少,重建实现步骤多样,相对便捷。各软件平台的数据处理耗时,结果如图4所示。
图4 三维重构处理耗时
4.2.1 空三精度对比分析
建模质量评估考虑了空三精度、模型完整度、纹理细节3个指标。本文以空三结果中的像点重投影误差作为3种建模平台的精度评定指标[18]。重投影误差可简单理解为真实三维空间点在图像上的投影和重投影误差,但由于各种原因计算得到的值和实际情况不完全相符(差值不为0),此时需要将这些差值和(即误差函数L(C,X))最小化,以求解最优的相机位姿参数和三维空间点坐标。因此,像点重影误差值与空三精度呈负相关,可较为精确表示模型的相对精度,统计结果见表2。由表2可知,PhotoScan平台在空三解算过程中所产生的误差结果最大,ContextCapture平台的像点重投影误差小于其他两款,空三解算结果质量更优,建立的鼓楼实景三维模型具有更高的精度。
表2 像点重投影误差统计像素
4.2.2 模型完整度对比分析
对于形态多异、结构复杂的古建筑而言,模型的完整程度是衡量实景模型建模效果的一个重要参考。但对比多种模型的完整程度时,却较难表示其具体的程度多少。因此,为更好对比3款软件平台的建模效果,定义模型完好率R指标用于量化各古建筑模型的相对完整度[19]。完好是指模型没有变形和纹理丢失,实景模型还原度较高。完好率指标计算流程可简单归纳为:①用平面网格均匀划分鼓楼模型的4个外立面与1个上部立面(如图5所示),得到网格总数N;②估算各单位网格中完好面积I占其总面积L的比重(单位完好率P),一个网格视为一个面积计算单位;③将5个面所有网格的单位完好率相加并除以网格总数即可得到整个鼓楼模型的完好率。其表达式为
图5 某外立面与上部立面的划分示例
(4)
式中,i为网格数量,i=1,2,…,N。
经统计,依据ContextCapture建立的实景模型效果较好,模型纹理缺失与变形问题较少,完好率约为0.89;RealityCapture建模的完好率约为0.75,鼓楼模型顶部出现了构件缺失,部分位置的纹理缺失较多;而PhotoScan建立模型存在的问题较多,模型上部出现了空洞现象,且变形较为严重,模型的完好率约为0.67。
4.2.3 模型纹理细节对比
本文重点选取鼓楼具有代表性的建筑纹理区域(如图6所示),以观察3种建模平台的模型细部建立效果。由图6可知,在鼓楼建筑物的栏杆、房檐及上立面顶部区域,ContextCapture平台输出实景模型的几何畸变较小,细节完整,纹理清晰度高,整体效果优于RealityCapture、PhotoScan平台建立的三维模型;RealityCapture、PhotoScan平台的整体模型纹理清晰度显示效果差异不大,但RealityCapture平台的纹理细节信息表现能力要略好于PhotoScan平台,没有出现较明显的纹理缺失与模型空洞现象。虽然不同平台对视频帧影像的色彩和亮度解算效果略有差异,但总体而言,3款软件平台都能对鼓楼的主体部分进行基本的真实性还原,ContextCapture平台构建的三维模型纹理质量最优,能够较完整且真实清晰地还原复杂鼓楼建筑物的纹理细节。
图6 鼓楼实景三维模型细部对比
考虑部分复杂异形古建筑具有占地面积较大、形状多异及纹理信息丰富等特征,采用传统方法对其实现精细化三维重构的难度较大。该文提出了一种基于运动恢复结构(SfM)的低成本、简单高效的视频帧影像三维重构方法,实现复杂单体古建筑(明代鼓楼)表面精细纹理获取与实景三维模型构建,主要结论如下:
(1)前期采集策略上的优化,通过设计规划合理的飞行路径,有效解决了三维重构过程中图像序列关联度不明确的问题,将前期采集时的影像数量不确定性转化为后期建模过程中按照实际建模要求弹性化间隔提取视频帧影像,能以较少的影像幅数高效实现复杂异形古建筑精细化三维模型重构,在一定程度上提高了建模效率与质量。
(2)基于SfM算法实现的3款主流模型重构平台对比,其中PhotoScan平台可拓展性高,操作流程较为简便,但建立的三维模型整体效果较差且用时较长;RealityCapture平台整体性能表现均衡,但整体建模效果不如ContextCapture平台;ContextCapture平台的操作逻辑相对复杂,但综合能力最为突出,建模质量和纹理清晰度均表现较佳,建议首选ContextCapture平台应用于此类复杂异形古建筑的保护实践。