1、第 46 卷 第 1 期2023 年 1 月测绘与空间地理信息GEOMATICS&SPATIAL INFORMATION TECHNOLOGYVol.46,No.1Jan.,2023收稿日期:2021-05-17作者简介:敖 博(1993-),男,辽宁阜新人,测绘科学与技术专业硕士研究生,主要研究方向为摄影测量密集匹配。一种基于 Hough 变换直线检测的城区影像 SGM 改进算法敖 博1,钱建国1,谢林甫2,王伟玺2,李晓明2(1.辽宁工程技术大学 测绘与地理科学学院,辽宁 阜新 123000;2.深圳大学 建筑与城市规划学院 智慧城市研究院,广东 深圳 518061)摘要:在众多双目影像密
2、集匹配算法中,半全局匹配(Semi-Global Matching,SGM)算法相比局部匹配算法和全局匹配算法在精度和效率方面具有较高优势。相较于一般影像,城市场景影像往往存在大量人造建筑物。针对城市区域立体影像的这一特点,本文提出一种基于 Hough 变换直线检测的城区影像 SGM 改进算法,将 Hough 变换获得的直线信息融入 SGM 的匹配框架,提高密集匹配算法的精确度和准确度。关键词:密集匹配;直线检测;Hough 变换;SGM 算法中图分类号:P237 文献标识码:A 文章编号:1672-5867(2023)01-0148-03An Improved SGM Algorithm f
3、or Urban Images Based on Hough Transform Line DetectionAO Bo1,QIAN Jianguo1,XIE Linfu2,WANG Weixi2,LI Xiaoming2(1.School of Geomatics,Liaoning Technology University,Fuxin 123000,China;2.Institute of Smart City,School of Architecture and Urban Planning,Shenzhen University,Shenzhen 518061,China)Abstra
4、ct:In many binocular image dense matching algorithms,Semi-Global Matching(SGM)algorithm has higher accuracy and effi-ciency than local matching algorithm and global matching algorithm.Compared with general images,there are a lot of man-made buildings in urban scene images.According to the characteri
5、stics of urban stereo images,this paper proposes an improved SGM algo-rithm based on Hough transform line detection,which integrates the line information obtained by Hough transform into the matching framework of SGM to improve the accuracy and precision of dense matching algorithm.Key words:dense m
6、atching;line detection;Hough transform;SGM algorithm0 引 言密集匹配1算法是摄影测量三维建模中重要的一环,上承光束法平差,下接密集点云获取,密集匹配的质量直接影响最后得到的模型的质量和精度。虽然稀疏匹配算法经常被用于立体匹配,但由于基于图像的绘制和建模需要密集匹配,因此,大多数立体匹配算法都集中在密集匹配上。立体匹配的基本原理是从 2 个不同视角观察同一场景并获取图像,选取一个视角的图像,并为其每个像素点找出另一个视角的图像相对应的像素点,算出视差和景深图像2。最早的立体视觉匹配算法是从摄影测量学这个领域发展起来的,它的目标是从重叠航空影像
7、中自动地构建出地形学上的高度图。虽然局部立体算法效率较高,但无法充分利用图像的边缘纹理信息,使得在有地物遮挡区域以及视差不连续的区域有匹配精度不高的问题3。半全局匹配算法相对于局部匹配算法大大提高了精度,相对于全局匹配算法又大大节约了运行时间和运行成本4-12。相对于点特征信息,线特征信息能带来更多的信息;相对于面特征,线特征能够更容易地进行提取。本文主要研究的是半全局块匹配 SGM 算法的改进方法,该算法相对来说比较成熟,但是如何改进算法一直是一个难点。夏泽洋团队提出一种基于分割的立体匹配视差优化方法13,该算法虽然很大程度上提高了匹配效果,但是匹配时间较长,不利于大规模的生产应用。在城市场
8、景的影像中,由于大量人造建筑物的存在,直线特征比较丰富。所以本文在前人的基础上,提出了一种新的基于线特征(Hough 变换直线检测)的 SGM 算法优化方法。1 SGM 算法的改进与实现SGM 算法(Semi-Global Matching)2是一种半全局立体匹配算法,是一种用于计算双目视觉中 disparity 的半全局匹配算法。1.1 技术路线对于一般的非核线像对,需要首先进行核线纠正,然后进行直线检测,之后是半全局密集匹配的 4 个步骤:匹配代价计算、匹配代价聚合、视差计算和视差后处理,最后通过编写代码将视差图转化为点云,如图 1 所示。图 1 技术路线Fig.1 Technology
9、roadmap1.2 核线纠正核线纠正的过程就是将同名点确定在同一条直线上的过程。如果不进行核线纠正,只能进行暴力匹配,即在2 个垂直方向上都有视差值,但是进行核线纠正以后,视差值就只有一个方向上的了,大大节约了密集匹配的时间,提高了精度。核线纠正的描述如图 2 所示。图 2 核线纠正Fig.2 Nuclear line rectification1.3 Hough 变换直线检测在图像处理中,Hough 变换是从图像中识别几何图形的一种基本方法,通过在数据预处理过程中增加 Hough变换,可以提高得到的视差图和密集点云的精度。1.4 代价计算与代价聚合代价计算采用 Census 变换方法和 H
10、amming 距离计算,代价聚合采用八方向代价聚合,相对于四路径大大提高了精度,相对于十六路径也节约了大量的时间。相应的计算公式如下:Lr(p,d)=C(p,d)+minLr(p-r,d)Lr(p-r,d-1)+P1Lr(p-r,d+1)+P2Lr(p-r,i)+P2 -minLr(p-r,i)(1)1.5 数据后处理1.5.1 左右一致性检测为了消除错误匹配,一般采用左右一致的检测方法,具体的方法是交换左右图像,再次进行密集匹配,获得另一视差图(即由左视差图得到右视差图或者由右视差图得到左视差图)。1.5.2 中值滤波中值滤波在密集匹配中使用的很广泛。作为一种平滑算法,它主要用于去除视差图中
11、的孤立点,也可以填充视差图中的微小空洞。2 实 验2.1 数据预处理试验数据为深圳大学教学楼室外无人机航测和国际摄影测量与遥感学会(ISPRS)的标准数据12,以2 组数据作为试验数据,验证本文方法的有效性。2.1.1 核线纠正对于无人机航拍的图像,需要经过核线纠正才能得到核线影像,这样视差就只有水平方向上的了。输入未进行核线纠正的图像以及内外方位元素,最终得到核线影像。2.1.2 Hough 变换直线检测核线纠正中,本文实现了一种新的旋转矩阵与欧拉角相互转换的处理方法,可以直接套用 Rodrigues 变换公式,相对于传统方法,减少了处理的时间,提高了效率。Hough 变换的原图像是灰度图,
12、首先将彩色图像转化为灰度图,然后通过 Hough 转换左右 2 张图像的灰度图来检测灰度图中的直线。2.2 代价计算与代价聚合代价计算采用八方向聚合,分别是以图像几何中心为中心的上下左右方向,以及 2 条对角线上分别的 2 个方向,这样得到的视差图精度很高,又节约了处理时间。2.3 视差计算与视差后处理视差计算采用左视图为基准,得到左视差图,在经过一致性检测、中值滤波之后得到标准的视差图。2.4 得到密集点云采用视差与彩色原图相结合的方式得到密集点云,未经过直线检测的点云与之前检测后的点云相比较得到的结果如图 3 所示。通过图 3 2 张图对照,显然可见,边缘线性特征的处理得到显著的增强。如墙
13、接线、墙上沿,砖墙纹理得到了941第 1 期敖 博等:一种基于 Hough 变换直线检测的城区影像 SGM 改进算法明显的改善,而且玻璃和墙面也得到明显的改善。虽然视差图无法看出明显的差别,但是密集点云在 cloud-com-pare 软件中的显示看出了明显的差别,证明了直线检测的效果还是十分明显的。经过直线检测之后,得到的密集点云更有利于稠密重建,效果也更加立体,更有利于展开分析和进行规划的相关工作。图 3 密集点云比较Fig.3 Comparison of dense point clouds具体分析如下:1)墙棱线如图 4 所示,墙棱线有 3 条,AD、FG 和 JK。以棱线AD 为例,
14、左图中 AD 的墙棱线已经不是很连续,纹理也很粗糙,相比之下,右图 AD的墙棱线是连续的 1 条,纹理也很清晰。2)墙上下沿如图 4 所示,墙上下沿有 5 条。AB、AC、EF、GH 和 IJ。以墙上沿 AB 为例,左面的墙上沿 AB 不是很连续,纹理不清晰,相比之下,右面的墙上沿 AB很清晰、噪声少,连续性强。3)砖墙纹理如图 4 所示,以面 ABDJ 为例,左面的纹理已经不是很清晰了,墙面有许多空洞和噪声,玻璃也看不清楚。相比之下,右面的纹理十分清晰,空洞和噪声很少,玻璃看得很清楚,墙面也是连续的。图 4 分析点云Fig.4 Analyzing point clouds2.5 精度评定本文
15、算法采用 Visual Studio 17 平台,C+OpenCV环境下实现,采用 Intel i7 CPU 为计算机硬件,16 G 内存,操作系统为 Windows 10。为了验证本文算法的可行性,本文对国际通用立体匹配平台提供的 Cones 标准测试图像通过 OpenCV 平台进行了实验。由于匹配速率体现了算法运算效率和程序的优化性,本文对此进行了对比,见表 1。表 1 算法运行时间评估Tab.1 Algorithm runtime evaluation算法Cones 图像集/s代价计算代价聚合 视差计算 视差后处理总用时SGM0.1610.3800.0200.1090.670改进的 SG
16、M0.1620.3810.0200.1050.668 由表 1 的数据可知,对于 Cones 图像集,改进的半全局立体匹配算法与半全局立体匹配算法相比,运行时间平均减少了 0.299%。与半全局立体匹配算法相比,在加入 Hough 变换直线检测后,改进的半全局立体匹配算法所得的视差灰度图中物体轮廓更清晰,边缘部分得到明显改善,与真实场景更加贴合。总之,改进的半局立体匹配算法与改进前的半全局立体匹配算法相比,运行时间有所减少,匹配精度大幅提高。3 结束语相比于其他的半全局匹配算法,本文的算法添加了直线检测,在一定程度上提高效率的同时,也大大提高了点云的精度和视差图的精度。在边角的处理和平面的处理更加细腻,鲁棒性更好,更加立体,克服了半全局匹配算法精度不如全局匹配算法的缺点,而相对于全局匹配算法又大大缩短了处理数据的时间。不足之处是效率的提高不明显,还需要进一步改进。参考文献:1 闫佳,曹玉东,曲直,等.基于改进的 Census 变换的立体匹配算法J.辽宁工业大学学报(自然科学版),2021,41(1):11-14,37.2 顾梦娇,朱宇锋,郭迎庆,等.基于半全局立体匹配算法的改进研究J.