一种顾及数据区域的数字正射影像快速镶嵌与优化
2020-10-12王大刚周文明赵振洋
王大刚 甘 俊 周文明 赵振洋
(中国铁路设计集团有限公司,天津 300251)
1 概述
数字正射影像是铁路勘测设计中的重要基础资料,不仅具有准确的地理位置,还具有丰富直观的地表信息。然而,由于卫星、航测相机、无人机等成像角度问题,几何纠正环节会导致影像产生一定的角度偏置[1]。如果不考虑单片影像的镶嵌范围,将会导致结果影像出现背景压盖问题[2]。
当前,影像镶嵌处理工作主要通过影像处理软件完成,主要存在以下问题:①在Global Mapper、Erdas Image等软件中,需要指定像片的叠加顺序以消除“黑边”问题,自动化程度低;②手动绘制镶嵌范围线操作繁琐,占用内业时间多;③逐幅加载影像数据导致内存占用量大,对电脑性能要求高。
针对上述问题,已有许多学者进行了相关研究:左志权等提出了一种贪婪蛇型算法用于城区大比例影像镶嵌[3];荣利会等提出一种影像高程同步模型辅助拼接线自动检测方法,能够快速有效地检测拼接线,但对辅助数据依赖较高[4];李烁等提出一种顾及有效区域的 Voronoi 图的拼接线选取方法,能有效消除拼接“漏洞”,但生成的拼接线网络较为细碎,限制了镶嵌效率[5]。在前人工作的基础上,提出了一种顾及影像有效数据区域边界的数字正射影像快速拼接和处理算法,以期解决影像镶嵌处理工作存在的主要问题。
2 基于链码的有效区域提取
2.1 Freeman链码
Freeman链码是一种常用的线条、平面曲线及区域边界的编码技术[6-7]。按照中心锚点联通区域的不同,可分为4邻域和8邻域2种。如图1所示,4邻域链码的邻接点为上下左右4个方向,8邻域链码较4邻域链码增加了4个斜方向,一般从最右侧开始标记按照逆时针的方式进行。
图1 Freeman链码
链码的编码过程:从初始点S开始,按特定判别规则确定锚点的下一个偏移方向,并用相应的指向符表示,该边界(曲线)的数码序列MN表示为
(1)
式(1)中,S表示边界的起点坐标,ai表示某一像素处链码编码,N表示4邻域或8邻域编码。在数字图像处理中,在指定起始点后,按照指定的数学规则进行步进编码,并在达到约束条件后结束编码,返回顺序游程点序列,常被应用于角点检测和边缘追踪中[8-9]。
2.2 基于链码的影像边界提取
经纠正后,数字正射影像数据区域一般为带有一定角度的矩形,影像背景值通常设置为三波段的0或255。通过Freeman编码的形式,可以将DOM影像的边缘像素逐一提取,并计算边缘像素点的空间坐标。
图2 单片影像链码提取
如图2所示,链码的具体计算过程为:①通过读取影像边缘行列像素数据,自动判别背景像元值并作为后续链码增长判别依据,再记录边界数据区域起始位置(即链码初始增长位置);②按照判别规则和前编码逐步移动锚点,更新邻域像素数据;③根据上一编码位置,根据背景像元判别规则重新计算下一邻域方向编码;④重复执行②~③,直至返回起始像素点。根据正射影像的空间信息参数转换为空间地理坐标[10],转换计算如式(2)所示。
(2)
式中,(Xg,Yg)为g点的地理坐标;(Xp,Yp)为p点的地理坐标;gx、gy分别为栅格影像左上角点像素中心坐标;px、py分别为X、Y方向的像素分辨率;rx、ry为旋转系数。
2.3 基于分段最小二乘的边界提取
提取的边界点结果为成千上万个边界像素中心点序列,存在大量数据冗余,若直接采用矢量运算,将导致运算量非常巨大,故需要进一步提取影像边界的关键点,拟合成矢量多边形。最常用的直线拟合方法为最小二乘法,根据一系列离散点(xi,yi)(i=1,2,…,n)估计直线的经验方程f(x)=kx+b,以拟合直线上因变量值与实际值的残差平方和e[11],有
(3)
数字正射影像的数据边界一般为多条直线构成的多边形,在得到一系列的边界点后,希望能自动识别这些点序列中的角点。为此,在原有的方法上进行了改进,通过分段拟合的方式进行计算。在像素点序列拟合过程中,给出的数据点与对应的拟合直线估值限差不超过3个像素点,在通过初始化前5个像素进行直线方程估计后,逐步增加后续点参与估计和运算,查找满足最大要求的点数拟合直线段,当后续点不满足阈值要求时,停止直线拟合,并找到第一个起始离群点,并将该点作为起始点进入下一个直线段的拟合,直至所有点运算完毕,算法流程如图3所示。
图3 分段最小二乘拟合流程
实验结果表明,该方法能够有效识别边界直线的拐点,拟合不规则多边形结果和局部放大如图4所示,若探测精度在2个像元以内,则可满足计算要求,能够很好地对边缘点序列进行拟合且不需要人工参与。提取的边界区域可用于后续对影像数据进行必要掩膜处理和空间范围分析运算。
图4 矢量边界提取结果
3 正射影像快速镶嵌与优化
数字正射影像的镶嵌过程中,传统的作业模式是通过遥感处理软件进行的,需要人工干预叠加顺序,操作不便。借助于影像数据的像素分布和影像元信息,可以实现有效范围的提取[12],在确定每幅影像的有效贡献区域后,先进行统一的初步匀色处理,再使用提取的矢量区域边界进行计算,以实现影像有效镶嵌区域的无缝衔接,作业流程如图5所示。
图5 矢量边界约束的镶嵌算法流程
3.1 铁路勘测数字正射影像使用特点
在现代化铁路勘察设计中,航测遥感技术为选线选址、地质调查、地形图测绘等提供重要的基础资料支撑[13],数字正射影像作为最基础的内业成果主要用于矢量数据采集、专题制图、外业调绘片制作等。铁路勘察设计工作距离长、范围窄,使得数字正射影像裁剪和镶嵌工作量较大。另外,正射影像栅格数据具有数据量大、瓦片分布等特点,导致内业处理对电脑性能要求较高。
3.2 顾及背景区域的自动匀色
由于成像时间、传感器差异、航飞天气等问题,常导致影像色调不一致,如果不进行处理,易导致目视效果不佳[14],直接影响数字正射影像产品的成果质量。因此,在影像镶嵌过程中需要逐一进行初步匀色处理。
通过指定标准色调影像模板,对待镶嵌的影像进行直方图匹配[15],从而达到整幅镶嵌影像亮度均一,色彩过渡自然目的,需要注意的是,在直方图规定化的过程中,该方法仅对数据区域部分进行RGB影像的灰度直方图变换。这样使得映射效果更接近于模板影像。
图6 直方图模板匹配
如图6所示:(a)为原图,(d)为其灰度直方图,(b)为不同时期获取的待匹配影像,(e)为其灰度直方图(存在较多的背景值),(c)为考虑数据区域进行直方图规定化结果,(f)为其转换后的灰度直方图。通过直接对数据区域进行运算,可避免背景区域对运算处理的干扰,减少与模板影像的色差。
3.3 考虑有效数据区域的快速影像镶嵌
在影像镶嵌过程中,由于背景数据区域的存在,导致影像在镶嵌过程中存在 “黑边”问题。通过一定手段,对待拼接的子影像进行不规则数据区域提取,是影像数据镶嵌处理的有效策略[16]。尤其是在大批量正射影像处理中,构建影像数据拓扑关系网络对影像拼接结果影响至关重要。通过数据区域网格计算单片影像的数据贡献区域,具有计算量极小、求解迅速的特点,可有效减少不必要的冗余栅格数据参与计算[17]。在有效识别单片影像有效数据区域的基础上,通过空间关系运算,能够有效去除背景区域的影响,并且减少重复数据区域的写入,进而提高镶嵌效率,提高数据质量。具体操作流程如表1所示。
表1 正射影像镶嵌算法流程
由表1可知,该方法的优势在于无需加载影像,可自动通过矢量边界进行数据判断,大大提高了镶嵌效率,从而满足大范围批量化处理的应用需求,并可应用于DEM数据处理中。
4 实验分析
在算法研究的基础上,开展了数字正射影像边界提取和自动镶嵌实验,编程语言采用C++,结合GDAL栅格空间数据转换,在程序实现的时候充分利用RasterIO接口的灵活性,即用即读,在利用少量内存的情况下完成算法的优化。
选取某铁路线航飞影像数据,影像分辨率为0.1 m,平均规格大小为15000×18000像素,单片数据量约为0.8G(压缩状态下)。在数据压缩和未压缩2种成果输出形式下,进行对比测试:选取数据1的 8景影像,在不进行数据压缩的情况下进行拼接结果输出;将数据2的原始数据扩充至56景并进行拼接实验,采用LZW[18]压缩算法以减小数据量。在相同的环境下,运用Global Mapper和Inpho软件进行实验对照,所采用的设备为Dell 7910工作站,CPU主频为3.4 GHz,内存为64 G。得到实验结果见表2。
表2 影像镶嵌实验结果对比
由表2可知,该方法在时间、效率方面与Global Mapper软件相当,输出成果磁盘占用略低于后者,并且在镶嵌过程中有效消除了的“黑边”问题(如图7所示),Inpho软件也可较好地解决了影像拼接中的黑边问题,但镶嵌过程消耗时间较长。
图7 影像镶嵌中的黑边问题(局部)
另外,对铁路外业调绘片成果制作流程进行了优化[18-19],选取2组实验数据,对调绘片批量制作成果程序的运行结果进行了比对,结果如表3所示。
表3 调绘片制作实验对比
由表3可知,经优化后,程序作业效率分别提高了14%和13%。不难看出,该方法通过数据区域预判减少了冗余数据加载和参与,还有效去除了背景像元的写入判断问题,提高了调绘影像制作效率。
5 结论
(1)利用Freeman编码实现了DOM影像数据边界像素点的自动提取,采用分段最小二乘方法实现了图像边界直线自动编组和恢复,精化边界点,但在边界重叠区域内对镶嵌线需要进行进一步优化。
(2)采取矢量数据边界引导的影像数据批量镶嵌操作,并进行自动匀色处理,可有效提高数据处理效率。
(3)对生产过程中数据产出和操作流程进行了系统编程,对后续数据成果制作具有良好的实际意义。