方强
(成都市勘察测绘研究院,四川 成都 610081)
倾斜摄影技术具有数据获取效率高、成果精度高、成果数据类型广泛等显著特点,使得倾斜摄影技术在地形图、实景三维模型、房地一体、地籍等测绘产品的生产中得到了广泛应用。
在倾斜摄影的数据获取阶段中,相机会拍摄到大量的影像数据。在数据处理阶段的影像自动匹配、空三平差、三维重建等环节中,影像的数量直接影响自动处理的速度。影像数量越高,后期处理的时间也越长。通常1万张影像就需要至少5小时左右完成影像的自动匹配,并且会有一定的失败概率。因此如果能在影像分辨率、重叠度等条件不变的前提下,减少需要处理的影像数量,即能显著减少后期处理的时间,提高生产效率。
倾斜摄影通过多张倾斜角度和垂直角度影像的多重覆盖,实现地物的多角度多基线交会。相比传统航空摄影测量,倾斜摄影具有更大的基高比、更多的摄影基线,因此可以极大地提高地物点的空间交会精度(见图1)。
图1 传统摄影测量与倾斜摄影测量基线对比
在实际生产实施过程中为满足测区内所有地形地物的多基线多角度影像覆盖,测区内所有位置均需要有多个方向的倾斜影像覆盖。而对于测区边界附件区域,传统航空摄影中的外扩曝光点不能实现倾斜方向影像的多重覆盖,因此需要有多的外扩距离。在实际倾斜摄影实施中,会根据飞行高度、倾斜镜头角度等参数设置一定数量的外扩航线和航点。[1]
倾斜摄影系统中通常安装有多个不同朝向的倾斜相机,每一次曝光会同时获取多张影像。因此在测区边界两侧的曝光点中必然存在相机镜头朝向测区之外的影像。此类影像由于不包含测区内的景物,对当前测区的后期处理没有实用价值,因此可将此类影像定义为无效影像(如图2所示)。反之可以将那些所拍摄到地面、地物在测区内,或包含测区内部分区域的影像定义为有效影像。对于多个分区构成的测区中,某个分区的无效影像可能是相邻分区的有效影像,某有效影像则可能是相邻分区的无效影像。
图2 无效影像与有效影像
对于使用多个固定镜头组成的倾斜摄影系统而言,每次曝光均会获得多张影像,因此在测区边界附近的曝光点中就会如图2所示获得一定数量的无效影像。如果不将无效影像进行鉴别和剔除,后续的影像处理会增加需要处理的影像数量。此外无效影像中对应区域的影像重叠度较低、影像角度单一,会对影像空三处理的效率和正确率造成不良影响。
为实现影像的有效性判断,需要较为精准地计算出所有影像对应的地面覆盖区域。然后根据所需的测区范围即可判断出影像的有效性。
摄影测量学中共线方程式可以在已知影像的外方位元素条件下,计算出空间中任意一点(XA,YA,ZA)在影像上对应的像素位置(x,y)[2]。
共线方程中(x0,y0)为影像像主点的像平面坐标,(XA,YA,ZA)为影像摄影中心的空间坐标。影像姿态角经过矩阵计算得到的旋转矩阵构成了参数an,bn,cn。
共线方程的逆运算,及从影像上任一点计算对应的空间坐标,则有以下方程:
(1)
式(1)也称之为数字微分纠正正解法方程[3]。通过观察式(1)可以看出,需要在某点高程值ZA已知条件下,方可计算出该点的平面坐标值(XA,YA)。
如果要计算影像每个像素所对应的地面点坐标,则每张影像需要进行数千万次计算,需要耗费大量时间。而在地形起伏不剧烈的条件下,影像最外围的像素即对应影像覆盖范围面边缘的点,因此仅需计算出最外围部分像素的地面点,然后将地面点依次连线,即可得到每张影像的地面覆盖范围面。
目前有部分倾斜摄影系统在配套软件中提供了有效影像筛选的工具,可以利用影像的位置、姿态等信息获得影像的覆盖区域。此类工具在影像地面覆盖计算时,通过将地面简化为水平面,利用设定地面高作为式(1)中的ZA,因此可以简便快捷地得到影像覆盖度范围和有效性,实现影像筛选的目的。但对于超低空作业的无人机倾斜摄影,地面几十米的高差变化就会对影像的覆盖范围造成巨大的变化。在地形起伏较大的丘陵和山地,这种简捷方式获取的影像地面覆盖范围会有较大的误差,极易出现错判、漏判的结果,并不能完全满足影像筛选的要求[4]。
为确保影像地面覆盖计算的正确性,需要以真实的地形为基础,考虑地形起伏对影像覆盖范围的影响。在实际工作中,在项目设计阶段会收集到测区的DEM资料,因此可以以DEM为基准,精确地计算出每张影像的地面覆盖范围。
在该条件下,对影像上任一点的地面位置,需使用迭代方式计算该地面点坐标。首先设定高程初始值,通常为测区平均高程Z0。将Z0作为ZA代入(1)中,然后计算出坐标(X0,Y0)。随后在DEM中使用坐标(X0,Y0)内插获得新的高程值Z1。然后将Z1作为ZA代入(1)中,然后计算出坐标(X1,Y1),并再次在DEM中内插获得新的高程值Z2(图3)。进行若干次迭代之后,即可获得较为准确的地面点坐标。
图3 迭代计算示意图
获取到所有影像的地面覆盖范围后,即可通过与测区范围面的叠加分析判断出哪些影像覆盖范围不在测区范围内,即为无效影像,从而起到对影像进行筛选的作用。经过影像的筛选即可有效减少后期处理所需要的影像数量。
影像地面覆盖计算需要较为精确的影像外方位元素,影像的外方位元素由影像摄影中心位置坐标和影像姿态角构成。目前倾斜摄影系统都集成有高精度的GPS差分模块,可以获得厘米级精度的影像位置信息。因此可以直接将差分获得的影像位置坐标成果作为覆盖分析计算时的影像位置坐标(XA,YA,ZA)。但对于影像姿态角,如果倾斜摄影系统无法提供高精度的姿态角,则需人为地设定影像的姿态角。
摄影测量中影像的姿态角包括方向角、仰俯角、横滚角。根据坐标轴旋转次序,姿态角目前有三类转角系统,即YXZ旋转次序的POK(Phi-Omega-Kappa)系统、XYZ旋转次序的OPK(Omega’-Phi’-Kappa’)系统、ZYX旋转次序的HPR(Heading-Pitch-Roll,也称为Yaw-Pitch-Roll)系统[5]。同一张影像在位置姿态不变条件下,其姿态角在不同转角系统上会呈现出不同数值,如表1所示。
影像不同转角系统角度对比 表1
由表1可以看出,在POK、OPK转角系统中影像的仰俯角和横滚角与方向角度相关。相同相机不同影像在不同方向角时仰俯角横滚角数值有极大的差异。而在HPR转角系统中,影像的仰俯角和横滚角数值与方向角度无关,仅与其镜头安置角度相关,不同方向角下的仰俯角和横滚角基本稳定。因此使用HPR的转角系统时仅需要获得影像的方向角,对于仰俯角和横滚角可以使用固定值。在影像覆盖分析时可以将同一相机所有影像的Pitch值设定与安装角度一致,为45°或0°,Roll值设定为0°。而Heading数值可以根据航线方位角,或根据相邻影像之间的位置变化计算获得。
FME(Feature Manipulate Engine)一款功能强大的地理空间数据分析计算工具。在FME中内置有数百个转换工具,可以通过转换工具的灵活组合,实现不同类型数据的读写、计算、空间分析等功能。使用FME在实现地理信息数据的格式转换和空间分析时无须耗时耗力的软件开发,具有极大的便利性和易用性。
影像的POS中的影像摄影中心的坐标值可作为外方位元素使用。在FME中直接读取影像的图像名和坐标值,使用AttributeCreator转换器,获得相邻影像的坐标值。然后根据影像的前后的位置变化即可计算出飞行的方位角,再根据不同相机的安置角度计算出Heading值,并设定Pitch为0°或45°,Roll为0°。
设定若干个影像边界点添加每张影像图像边缘的像素点。对于同一张影像,所选取的边缘采样点数量与影像覆盖范围精准程度相关。边缘采样点越多,生成的范围面越精确,但计算量也会随之上升。同时对于不同的地形条件,不同数量采样点之间的覆盖范围差异也有所区别。由图4可以看出,地形起伏较大的区域需要较多的采样点才可获得较为准确的覆盖范围,但过多的采样点会需要更长的计算时间,且覆盖范围准确性提示也较小。因此需要根据实际的地形条件,设置合适的采样点,对于丘陵地区通常12个采样点就能计算出较准确的覆盖范围。
图4 不同数量采样点不同地形条件下生成的范围面
添加AttributeCreator转换器,将影像的外方位元素连接至该转换器。然后在转换器的Attribute Value参数中实现旋转矩阵的计算,输出旋转矩阵的值。使用HPR转角系统时,旋转矩阵的计算方式为:[5]
即为:
新建循环工具Loop,在其中加入AttributeCreator、PointOnRasterValueExtractor等转换器,实现如下迭代计算:
(1)将AttributeCreator转换器作为地面平面坐标计算器,在其Attribute Value中输入式(1)的表示式。该转换器即可根据输入的影像外方位元素、地面点高程ZN计算出地面点平面坐标(XN,YN)。初始高程值Z0可以使用当前区域的平均高程。
(2)将PointOnRasterValueExtractor转换器作为地面点高程计算器,利用地面点平面坐标(XN,YN)在DEM中内插计算出该点的高程值ZN+1。
(3)使用Tester转换器判断ZN+1与ZN的差值是否小于设定阈值。若小于则跳出循环,输出地面点坐标(XN,YN,ZN)。
将同一张影像的边界点相连,即获得了该影像的地面覆盖范围。图5为某架次影像的地面覆盖范围计算,可以看出由于地形起伏使得影像覆盖面的边缘呈现出弯曲的形态。
图5 影像覆盖范围计算结果
使用LineBuilder转换器将影像边界的地面点连接构面,即获得了每张影像的地面覆盖范围,并根据实际情况选取或绘制当前需要处理的测区范围。然后判断影像覆盖范围面与测区范围面之间的空间关系,将所覆盖范围全部在测区外的影像判定为无效影像,反之则为有效影像。
在FME中可以使用SpatialRelator转换器实现叠加分析,并使用Tester转换器判断每个影像覆盖范围面与测区范围面之间的重叠关系,并输出判断结果。
在选取测区范围时需要注意像控点所在位置,如果有部分像控点在区域外,则需要根据实际情况适当外扩或增加独立区域,以确保所有像控点均满足多角度影像的覆盖。在地形起伏变化较大的区域,有可能会出现计算范围与实际范围偏差较大的情况,同样会造成影像有效性的误判,因此可以适当外扩测区范围。
通过上述流程可以较快速度完成影像的有效性判断,通常十余分钟即可完成数万张影像的有效性判断。在后续的各项环节中即可仅将有效影像进行处理,从而减少需要处理的影像数量。
利用影像筛选方法可以减少需要处理的影像数量,可以减少空三环节的处理时间并降低出错概率,从而起到提高生产效率的作用。为验证该方法的有效性,目前已通过多个倾斜摄影测量项目中使用该方法,充分验证了该方法的有效性。
在目前已完成对倾斜摄影项目中,选取多张影像对影像地面覆盖范围计算的正确性进行判断。将经过地形正射纠正后影像与计算出的影像覆盖范围面进行叠加检查。检查中发现大部分影像所计算出的覆盖范围与最终实际覆盖范围基本一致,在使用12个采样点的计算条件下,地面覆盖区域误差小于20%(图6)。个别差别较大的影像均是位于航线首尾区域,由于无人机转向使得影像实际的姿态角偏移较大。
图6 计算出的范围与真实影像叠加
随后选取了多个已完成的倾斜摄影项目进行验证和对比测试,用于检验影像筛选对处理时长的影响。首先对实验样本区进行影像筛选,然后再仅使用有效影像进行空三处理,最后将空三处理的时长与最初未进行影像筛选的空三时长进行对比。部分典型实验样本区的测试结果如表2所示:
由表2可以看出由于处理的影像数量减少,空三处理时间均减少了10%左右。并且由于所有像控点均位于筛选时的测区范围内,因此所有像控点影像数量、定向残差等均未发生变化,精度与未经筛选的影像处理结果保持一致。
影像筛选前后空三处理时间对比 表2
验证该影像筛选的有效性后,在成都某地区的实景三维生产项目中即将影像筛选作为生产处理中的必要流程。测区中每个分区在空三处理前均使用影像筛选方法然后仅对有效影像进行空三和建模处理,共计减少了数万张无效影像。各分区的影像数与处理时间如表3所示:
影像筛选实际效用 表3
经过影像筛选和空三处理后的部分影像姿态如图7所示,可以看出在最外边缘的曝光点中仅保留了镜头朝向测区的有效影像。
图7 筛选后测区边界附近的影像分布
在本项目中为增加每个分区的像控点数量与分布条件,每个分区均有一定程度的边界外扩。并且为确保分区接边精度,分区之间也有较多的重叠。最终像控点的连接点残差、定向点残差、检查点较差、分区之间公共点较差(表4)均符合预期,满足后续的地形图测绘与单体化建模要求。
影像筛选后精度情况 表4
倾斜摄影中在测区边界附近会获取到大量的无效影像。无效影像的存在会增加需要处理的影像数量,也延长了空三及建模处理的时间。利用影像覆盖计算方法可以快速判断影像的有效性,从而可以在后期处理中排除无效影像,起到减少处理时间、降低出错概率、提高生产效率的作用。
除此之外,本文中的影像筛选方法的准确度和效率还有可提升的空间和余地。体现在如下方面:
(1)在测区中间的曝光点的所有影像均是有效影像,可以利用影像位置、航高、航向等参数排除掉这类曝光点的影像覆盖计算,从而减少影像筛选计算时间。
(2)目前大多数无人机倾斜摄影系统无法提供高精度的影像曝光姿态信息,因此仅能通过后期推断和假定等方式得到影像的姿态角。而当影像实际出现姿态偏离时,利用人为设定姿态角计算出的影像覆盖范围与真实值会有较大差异。今后随着倾斜摄影系统的改进升级,预期可以利用IMU设备直接获取高精度的影像姿态角,即可精准地计算出每张影像的地面覆盖范围,从而为影像筛选、漏洞分析、重叠度计算、像控点可见性分析等提供更加精准的依据。