百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

测绘学报 | 张春森:无人机影像DSM自动生成随机传播COLVLL算法

bigegpt 2025-02-10 11:28 7 浏览

本文内容来源于《测绘学报》2022年第11期(审图号GS京(2022)1229号)

无人机影像DSM自动生成随机传播COLVLL算法

张春森1, 葛英伟1, 郭丙轩2, 张月莹1

1. 西安科技大学测绘科学与技术学院,陕西 西安 710054;
2. 武汉大学测绘遥感信息工程国家重点实验室,湖北 武汉 430079

基金项目:国家自然科学基金(92038301)

摘要:针对现有密集匹配方法在弱纹理及高差较大区域表现不佳, 以及密集匹配融合生成DSM时导致信息丢失等问题, 本文提出基于随机传播COLVLL的DSM生成方法。在对空三加密后的影像进行有效像对筛选的基础上, 利用随机传播机制对DSM像素区域进行扫描迭代, 结合VLL算法对随机生成的高程值进行迭代更新得到DSM。以弱纹理、大高差区域无人机影像为试验数据与现有生成DSM商业软件进行试验对比, 并以ISPRS WGII/4提供的Vaihingen数据集为参考对本文方法生成DSM及真正射影像数据进行试验分析, 结果均证明了本文方法的有效性和适用性。

关键词数字表面模型 无人机影像 密集匹配 铅垂线轨迹法 物方面元

引文格式:张春森, 葛英伟, 郭丙轩, 等. 无人机影像DSM自动生成随机传播COLVLL算法[J]. 测绘学报,2022,51(11):2346-2354. DOI: 10.11947/j.AGCS.2022.20210325

ZHANG Chunsen, GE Yingwei, GUO Bingxuan, et al. Automatic generation DSM of UAV image based on random propagation COLVLL algorithm[J]. Acta Geodaetica et Cartographica Sinica, 2022, 51(11): 2346-2354. DOI: 10.11947/j.AGCS.2022.20210325

阅读全文:http://xb.chinasmp.com/article/2022/1001-1595/20221111.htm

引 言

数字表面模型(digital surface model,DSM)是指包含了地表建筑物、树木和桥梁等高度的地面高程模型。它在数字高程模型(digital elevation model,DEM)的基础上,进一步涵盖了除地面以外的其他高程的信息。DSM数据广泛应用于各行各业,如在森林地区可以用于检测森林的生长情况,在城区可以用于检查城市的发展情况,在军事领域,可实现精确制导和自动化监控系统指挥作战等[1]。通常通过影像密集匹配算法求得视差或者深度图,再利用视差或深度图得到DSM。

无人机影像由于其影像几何变形大、待匹配数据量多等原因,在地物高差大、弱纹理区域影像匹配会产生一系列问题[2]。如在地物遮挡处或高差大的地物上匹配到的同名点过少,导致解算影像视差值或深度值不稳定[3]。加之,现有密集匹配算法在处理诸如弱纹理、大高差等对地观测影像方面表现不佳。虽然对于密集匹配国内外学者进行了大量相关研究与改进,文献[4]提出半全局匹配(semi-global matching, SGM)算法,利用双重惩罚系数实现能量方程的最优求解,该算法通过计算8个方向或者16个方向的代价聚合实现全局能量最小化。文献[5]在SGM算法中加入中值滤波对其进行改进,然而以上两种方法在弱纹理区域均表现不佳。SGM采用代价聚合的能量函数来确定匹配代价生成视差图后融合得到DSM,但存在内存占用率高,视差图中间结果流程复杂,计算量大,弱纹理、高差大时匹配效果差。铅垂线轨迹法(vertical line locus,VLL)是一种基于物方可直接得到地面点高程的影像匹配方法,该方法能够有效地避免辐射畸变对影像匹配准确性的影响[6],然而VLL法在地物深度不连续或高差较大的区域存在误匹配[7-9]。Colmap密集匹配是基于随机物方patch面元扫描优化深度图的方法,它基于相邻像元的深度值法向量和当前像元的深度值法向量构建多个物方patch组合优化深度图,并使用光学一致性、几何一致性进行深度图优化,通过过滤、融合得到最终深度图[10-11]。基于物方patch面元的匹配算法由文献[12]提出,它通过引入随机采样及随机传播的机制,在影像间快速传播并搜索到相似影像块进行匹配。文献[13]提出了PatchMatch双目密集匹配算法。近几年来,随着深度学习的兴起,卷积神经网络被广泛地应用于密集匹配、同步定位与三维重建[14-17]。文献[15]提出一种端到端的监督学习方式,通过构建代价体来表示左右影像的对应关系,利用3D卷积神经网络对代价体进行学习得到视差图。然而由于深度学习算法运行所需的内(显)存较大,加之需耗费大量训练和人工标注时间,其适用性和泛化性较差。

针对传统密集匹配方法在弱纹理及高差较大区域表现不佳,以及密集匹配结果融合成DSM时导致信息丢失等问题,本文提出基于随机传播COLVLL的无人机影像DSM快速生成方法,通过分析patch面元影像匹配及随机传播机制的思想,给出结合VLL算法对随机生成的高程值进行迭代更新的无人机影像DSM快速生成算法。分别选取城市高差大、弱纹理区域与一般区域无人机影像及ISPRS WGII/4提供的Vaihingen数据集进行试验验证,结果证明了本文算法的有效性。


1 本文算法

本文算法包括:①利用空三解算后的影像确定DSM测区生成范围;②针对生成范围进行扫描迭代,确定测区内关联影像,利用候选影像筛选策略对候选影像进行筛选;③对候选影像进行高程、法向量等随机初始化;④对多个物方面元组合进行计算,利用VLL策略更新当前像素高程及法向量值;⑤在每次迭代结束后,利用相关系数匹配计算得出最优组合,并进行迭代更新;⑥通过多次迭代更新最终得到DSM等步骤。算法流程如图 1所示。
图 1 本文算法流程
Fig. 1 Flowchart of the proposed algorithm
图选项

1.1 最佳候选影像筛选
本文最佳候选影像筛选包括数据获取、影像组像对打分、影像组像对筛选等步骤。
(1) 数据获取:准确的空三可提高匹配初值的精度,并且保证匹配的可靠性及降低迭代计算次数。针对空三加密后的数据确定DSM测区范围,以及测区内最大、最小高程值。在最大最小高程范围内,随机确定所有影像对应的高程值图。
(2) 影像组像对打分:以计算参考影像与每张匹配影像的交会角得分、公共可视点个数作为其打分标准。
设两条光线在物方空间中的表示分别为U(a1, b1, c1)、V(a2, b2, c2),则交会角θ
(1)
(3) 影像组像对筛选:基于交会角阈值、公共可视点个数、匹配影像阈值,通过式(2)对匹配影像组进行评价打分,确定最终筛选得到的最佳匹配影像组
(2)
式中,f为某一物方点;FR为基准影像可视物方点的集合;FI为其匹配影像可视物方点的集合;Wa(f)为在物方点f处,匹配影像I的交会角得分;Ws(f)为在物方点f处,匹配影像I的分辨率相似性得分;Pc(f)为在物方点f处,匹配影像I的公共可视点个数。
1.2 随机PatchMatch扫描迭代
PatchMatch算法最早被用于提高两个图像区域之间的近似最近邻域的计算效率,通过大量随机采样找到良好的patch匹配。如图 2所示,算法流程包括核线校正、深度信息随机初始化、深度信息全局传播和深度信息随机搜索。
图 2 PatchMatch算法流程
Fig. 2 Flowchart of PatchMatch algorithm
图选项

PatchMatch算法使用匹配代价估计的深度图作为其融合密集点云的中间结果,其深度图的生成、优化、融合过程,流程复杂,计算量大,无法直接匹配得到DSM成果。
1.3 基于VLL物方高程自适应更新
本文算法改进随机传播深度值的计算方式,通过引入VLL算法,将深度值传播改进为高程值传播。利用随机PatchMatch对影像进行扫描迭代,同时结合VLL算法对随机生成的高程值进行迭代更新得到DSM。算法的核心是扫描迭代更新高程变化,自适应计算物方patch面元。
如图 3所示,物方地面三维点P(Xc, Yc, Zc)投影到参考影像I0上的像点为p0(x0, y0),即以像点p0(x0, y0)为中心的影像窗口w0为物方patch面元的投影。过物点P(Xc, Yc, Zc)的物方patch面元由过物点P的法向量N所决定,而法向量N由法线方向角(α, β)确定。
图 3 像方与物方patch面元投影关系
Fig. 3 The projection relationship between the image side and the object side patch
图选项

法向量N与法线方向角(α, β)之间的关系为
(3)
若物方patch面元法向量为N(a, b, c),则patch面元方程为
(4)
过投影中心S0(XS0, YS0, ZS0),以及参考像点p0(x0, y0)的投影光线方程为
(5)
式中,(u0, v0, w0)为参考像点p0(x0, y0)在像空辅助坐标系下的坐标;λ为投影系数;(X, Y, Z)为投影光线与物方patch面元的交点坐标。像空间辅助坐标(u0, v0, w0)与参考像点p0(x0, y0)之间的关系为
(6)
式中,R为由影像外方位角元素φωκ所构成的旋转矩阵。
物方patch面元坐标系与像方坐标系间的单应矩阵H
(7)
式中,K为影像内参数矩阵;(x0, y0)为物方patch面元中心坐标(自定义);Rpatch是将patch方纳入像方间坐标系下的旋转矩阵;N为法向量;S为主距;C为影像外方位线元素;而(XspYspZsp)为平移向量。
基于单应矩阵根据匹配点位的变化自适应计算物方patch面元的高程及随机法向量的初值。通过迭代计算最优解,确定匹配的高程值。
归纳本文物方patch面元高程自适应计算步骤如下:
(1) 通过物方patch面元坐标系与像方坐标系间的单应矩阵H实现像点p0与物方patch面元(法向量方向角为αβ)的投影。
(2) 根据物方patch面元法向量随机值,求方向角αβ
(3) 在各候选影像上以像点p′i为中心,大小为w的窗口进行加权相关系数匹配计算。
(4) 根据得到的匹配最优组合信息更新当前点高程信息。
(5) 根据筛选出的最优组合确定当前像素的法向量、高程等信息。
(6) 继续传播迭代,最后得到当前匹配点高程值。

2 试验分析

2.1 试验数据
为验证基于无人机影像数据采用本文算法在高差较大及弱纹理区域DSM生成效果,试验数据(图 4)分别选取安徽蚌埠某地18幅无人机影像,测区内高楼林立高差较大;四川绵阳某机场18幅无人机影像,测区内建筑物影像呈弱纹理;江苏扬中某地77幅无人机影像,测区为城市一般区域。3组影像数据相关信息见表 1。算法实现基于Win7 64位操作系统,开发环境为VS 2017,采用C++语言程序实现。试验硬件配置CPU为Intel Core 3.3 GHz,内存大小为16 GB。
图 4 试验用无人机影像数据(部分)
Fig. 4 UAV image data for test (part)
图选项


表 1 试验数据相关信息
Tab. 1 Information about test data

表选项

2.2 大高差区域试验
针对第1组无人机影像数据,分别采用基于半全局SGM密集匹配和本文算法生成DSM,以空三结束后的特征点作为控制点,统计两组生成DSM后的平均误差及均方根误差(表 2)。图 5为两种算法得到的DSM结果对比,图 6为两种算法得到的阴影结果对比。其中,均方根误差计算公式为
(8)


表 2 匹配精度及效率比较Tab. 2 Comparison of matching accuracy and efficiency

表选项


图 5 大高差建筑物区域DSM生成对比
Fig. 5 Comparison of DSM generation in building area with large elevation difference
图选项

图 6 大高差建筑物阴影对比
Fig. 6 Shadow contrast of buildings with large elevation difference
图选项

改变面元窗口的尺寸大小,比较相关窗口尺寸对影像匹配结果的影响(表 3)。


表 3 本文算法窗口尺寸对匹配结果的影响

Tab. 3 Influence of window size on matching results of the proposed method

表选项

2.3 弱纹理区域试验
分别以SGM密集匹配、视差图融合得到的深度图为基础生成DSM,以及本文基于随机高程值传播直接生成DSM方法对第2组弱纹理区域数据进行试验(图 7)。图 8为两种算法得到的DSM结果对比。图 9为两种算法得到的阴影结果对比。弱纹理区域匹配精度及效率对比见表 4。
图 7 弱纹理影像(局部)
Fig. 7 Weak texture image (local)
图选项

图 8 弱纹理区域DSM生成对比
Fig. 8 Weak texture area DSM generation comparison
图选项

图 9 弱纹理区域阴影对比
Fig. 9 Shadow contrast in weak texture areas
图选项


表 4 弱纹理区域匹配精度及效率对比

Tab. 4 Comparison of matching accuracy and efficiency in weak texture areas

表选项

2.4 不同软件DSM生成对比试验
基于第3组数据,采用本文算法与当前国内外主流商业软件(SURE,PhotoScan,Pix4D)生成DSM进行试验对比,如图 10和图 11所示。
图 10 不同算法DSM对比(整体效果)
Fig. 10 Comparison of DSM effects of different methods(overall effect)
图选项

图 11 不同算法DSM对比(局部)
Fig. 11 Comparison of DSM effects of different methods(local)
图选项

采用真正射影像(图 12)在测区范围选取一定数量特征点(10个)作为DSM定量分析检查点(表 5),其精度统计见表 6
图 12 测区真正射影像
Fig. 12 True orthophoto (TOP) of test area
图选项


表 5 定量分析检查点统计(部分)
Tab. 5 Quantitative analysis checkpoint statistics(part)
m
表选项


表 6 不同软件DSM生成精度统计

Tab. 6 Precision generated with different software DSM

m

表选项

2.5 基于ISPRS数据集的试验
为进一步验证本文算法的有效性,使用ISPRS WGII/4提供的ISPRS Test Project on Urban Classification and 3D Building Reconstruc-tion Vaihingen数据集,对本文算法进行试验验证。该数据集包括由Leica ALS50系统获取的机载激光扫描仪数据(平均点密度约为4个/m2)、数字表面模型(DSM)数据及真正射影像TOP数据(TOP和DSM的地面采样距离均为9 cm)。研究区域包含典型的欧洲建筑类型,其结构形态各异,包括山墙、坡屋顶及其混合结构建筑。试验以Vaihingen数据集中激光扫描数据为真值,分别就本文算法生成的DSM与数据集中DSM,以及各自生成的真正射影像进行可视化对比与精度分析。
(1) DSM生成对比。图 13(a)、(b)、(c)是数据集中选取的3个研究区域1、2、3的DSM,图 14(a)、(b)、(c)是使用本文算法生成对应区域DSM,图 15(a)、(b)、(c)对应激光扫描数据生成DSM。对比图 13、图 14、图 15可以看出,由本文算法生成的DSM边界清晰,更接近于激光扫描数据生成DSM数据。
图 13 数据集DSM
Fig. 13 DSM of dataset
图选项

图 14 本文方法生成DSM
Fig. 14 DSM generated by the proposed algorithm
图选项

图 15 LAS数据生成DSM
Fig. 15 DSM generated by LAS
图选项

(2) 生成真正射影像对比。图 16(a)、(b)是数据集中选取的两个研究区域4和5匹配结果生成真正射影像,图 17(a)、(b)是采用本文算法生成对应区域的真正射影像,对比发现本文算法生成真正射影像效果较优。
图 16 数据集真正射影像
Fig. 16 True orthophoto of dataset
图选项

图 17 本文算法生成真正射影像
Fig. 17 True orthophoto generated by the paper algorithm
图选项

以Vaihingen数据集中激光扫描数据为真值,分别与本文算法生成的DSM及数据集中匹配生成(自带)DSM进行对比,在DSM上随机获取采样数据点,计算不同地物处采样点的均方根误差与最大值,精度统计见表 7。由表 7可以看出,本文算法生成DSM的精度在山墙、坡屋顶及混合建筑物等处均优于数据集匹配生成DSM的精度。


表 7 与ISPRS数据对比精度分析

Tab. 7 Accuracy analysis compared with ISPRS data

m

表选项

2.6 试验分析
(1) 本文随机传播COLVLL在patch方采用ZNCC双边滤波加权相关系数法匹配得到较为准确的同名像点。由表 3可以看出,窗口大小在一定范围内时(小于31×31像素),窗口越大,匹配到的正确值的概率也就越高。随着物方patch窗口的变大,计算的平均相关系数随之变大,即匹配到正确值的精度在逐渐提高。试验发现,当窗口尺寸取21×21像素时,可以取得较好的匹配的精度与匹配效率,说明patch面元窗口大小选取较为重要,如果选择过小会导致高程异常值多,过大会导致匹配效率过低。当patch窗口过大时,窗口内的纹理信息增加,空间信息复杂,导致窗口相关系数求得的数值变小,匹配像点的准确度降低,故窗口尺寸的选择对匹配结果的影响较大。
(2) 由图 5可以看出,本文算法能正确匹配出高差较大的建筑物,并且建筑物边缘完整。从建筑物阴影图上看(图 6),传统方法匹配的视差出现大量无效值,在进行深度图融合及高程值融合时,前者导致楼顶高程出现大量无效值。因此相较于其他方法,本文算法可以较好地处理高差较大区域。
(3) 由于本文算法能够较好地匹配得到正确高程值,由图 8弱纹理(原弱纹理影像如图 7所示)影像DSM生成对比可以看出生成的DSM边缘平滑,纹理清楚。同时由表 4可以看出,本文算法生成DSM精度及匹配效率均高于传统算法,说明本文算法可以较好地处理弱纹理区域影像。
(4) 由表 6可以看出,本文算法DSM生成精度高于商业软件,由图 11可以看出,本文算法在建筑物顶面处较其他3款商业软件生成DSM更平滑,边缘更清晰。
(5) 由图 13、图 14、图 15可以看出,本文算法生成的DSM边界清晰,更接近于激光扫描数据生成DSM数据。由表 7可以看出,本文算法在山墙、坡屋顶及混合建筑物等处生成DSM精度均优于Vaihingen数据集匹配生成DSM精度。由图 16、图 17可以看出,采用本文算法生成真正射影像优于Vaihingen数据集中匹配结果生成真正射影像。


3 结论

借鉴Colmap基于随机物方patch面元扫描优化深度图进而生成DSM的算法,本文提出了基于随机传播COLVLL无人机影像DSM生成算法,即通过引入VLL算法,将深度值传播改进为高程值传播。利用随机PatchMatch对影像进行扫描迭代,同时结合VLL算法对随机生成的高程值进行多次迭代更新得到DSM。由于省略了深度图等中间过程,因此克服了在弱纹理区域、高差范围过大区域可能产生的误匹配,以及流程复杂,计算量大,内存占用率高等问题,在最终生成的DSM精度及效率方面较当前国内外主流商业软件(SURE,PhotoScan,Pix4D)有了一定的改善。对于大场景超大数据量无人机影像DSM自动生成效率与精度的提升,将是笔者后续的研究工作。

作者简介
第一作者简介:张春森(1963—),男,博士,教授,研究方向为数字摄影测量、计算机视觉与遥感应用。E-mail:zhchunsen@aliyun.com通信作者:郭丙轩, E-mail:mobilemap@163.com

初审:张艳玲
复审:宋启凡
终审:金 君

资讯


相关推荐

php-fpm的配置和优化

目录概述php-fpm配置php-fpm进程优化配置慢日志查询配置php7进阶到架构师相关阅读概述这是关于php进阶到架构之php7核心技术与实战学习的系列课程:php-fpm的配置和优化学习目标:理...

成功安装 Magento2.4.3最新版教程「技术干货」

外贸独立站设计公司xingbell.com经过多次的反复实验,最新版的magento2.4.3在oneinstack的环境下的详细安装教程如下:一.vps系统:LinuxCentOS7.7.19...

十分钟让你学会LNMP架构负载均衡

业务架构、应用架构、数据架构和技术架构一、几个基本概念1、pv值pv值(pageviews):页面的浏览量概念:一个网站的所有页面,在一天内,被浏览的总次数。(大型网站通常是上千万的级别)2、u...

php从远程URL获取(mp4 mp3)音视频的流媒体数据

/***从远程URL中获取媒体(如mp4mp3)的内容*@parammixed$file_url*@parammixed$media_type...

Zabbix5.0安装部署

全盘展示运行状态,减轻运维人员的重复性工作量,提高系统排错速度,加速运维知识学习积累。1.png1、环境安装关闭SELinux并重启系统2.png安装httpd、mariadb、php运行yum-...

php 常见配置详解

以下是PHP常见的配置项及其含义:error_reporting:设置错误报告级别,可以控制PHP显示哪些错误。例如,设置为E_ALL将显示所有错误,而设置为0将禁止显示任何错误。displa...

实践分享|基于基石智算 DeepSeek API + WordPress 插件自动生成访客回复

基石智算举办的DeepSeek案例大赛汇集了不少基于CoresHubDeepSeekAPI服务或模型部署服务的精彩实践。本次我们将分享个人实践:通过DeepSeekAPI+Word...

如何在Eclipse中搭建Zabbix源码的调试和开发环境

Zabbix是一款非常优秀的企业级软件,被设计用于对数万台服务器、虚拟机和网络设备的数百万个监控项进行实时监控。Zabbix是开放源码和免费的,这就意味着当出现bug时,我们可以很方便地通过调试源码来...

MySQL自我保护参数

#头条创作挑战赛#之前(MySQL自我保护工具--pt-kill)提到用pt-kill工具来kill相关的会话,来达到保护数据库的目的,本文再通过修改数据库参数的方式达到阻断长时间运行的SQL的目...

Python闭包深度解析:掌握数据封装的高级技巧

闭包作为Python高级编程特性之一,为开发者提供了一种优雅的方式来实现数据封装和状态保持。这一概念源于函数式编程理论,在现代Python开发中发挥着重要作用。理解和掌握闭包的使用不仅能够提升代码的表...

Java服务网格故障注入与熔断实战

在分布式系统的高可用性挑战中,服务网格的故障注入与熔断机制是检验系统韧性的终极试金石。以下是10道逐步升级的"地狱关卡",每个关卡都对应真实生产环境中可能遇到的致命场景,并附具体场景示...

MySQL数据库性能优化全攻略:程序员必知的七大核心策略

作为程序员,我们每天都要与数据库打交道。当系统用户量突破百万级时,数据库往往成为性能瓶颈的首要怀疑对象。本文将深入探讨MySQL优化的七大核心策略,并提供可直接落地的优化方案,助您构建高效稳定的数据库...

如何在 Windows 11 上使用单个命令安装 XAMPP

XAMPP是一种广泛使用的软件,用于在Windows操作系统上快速运行LAMP服务器包,包括Windows11。尽管LAMP通常用于Linux系统,但XAMPP并不使用Li...

uTorrent怎样将bt种子转换为磁力

如何用uTorrent把BT种子转为磁力链接?以下方法希望能帮到你。1、在uTorrent窗口里,点击工具栏的按钮,所示。2、在打开窗口里,选取要转为磁力的种子文件,然后点击打开按钮,参照图示操作...

支持向量机SVM 分类和回归的实例

支持向量机(SupportVectorMachine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他...