基于直线段检测和LT描述符的矿井图像线特征匹配算法

2024-03-15 03:27朱代先秋强孔浩然胡其胜刘树林
工矿自动化 2024年2期
关键词:同态滤波描述符图像增强

朱代先, 秋强, 孔浩然, 胡其胜, 刘树林

(1.西安科技大学 通信与信息工程学院,陕西 西安 710054;2.西安科技大学 电气与控制工程学院,陕西 西安 710054)

0 引言

煤炭产业是我国能源体系的基石[1]。近年来,随着人工智能、图像处理等技术的蓬勃发展,计算机视觉技术成为一种感知煤矿井下环境的有效手段[2]。尤其是井下发生安全事故时,在救援人员无法进入的情况下,机器人可利用同步定位与地图构建(Simultaneous Localization and Mapping,SLAM)技术,在不依赖先验信息的条件下,估计出自身位姿,并构建出坍塌矿井的地图模型[3]。图像匹配是视觉SLAM技术中极为重要的一环,用于根据图像之间的变换关系确定相机位姿。由于矿井环境特殊,拍摄的图像往往亮度及对比度低[4]。同时,避难硐室、巷道密集管线等图像局部存在较多相似纹理,导致特征的区分度较低。在图像采集时,不可避免存在快速平移与旋转,使得待匹配图像存在较大视差。特殊的光照环境、局部相似纹理的干扰及视差图像本身的缺点共同导致井下图像匹配困难,影响视觉SLAM定位精度与建图结果,因此对井下图像的高质量匹配研究具有重要意义。

目前主流的图像匹配方法包括基于点特征的匹配算法和基于线特征的匹配算法[5]。基于点特征的匹配算法虽然可在井下应用,但是井下光照条件差,巷道图像纹理弱,可能造成特征点的提取数量少、分布不均匀、匹配精度低等[6]。而基于线特征的匹配算法具有较强的鲁棒性和抗噪能力[7],更加适用于井下图像匹配。

基于线特征的匹配方法主要利用线特征的几何信息[8]及邻域内灰度、梯度的相似性[9],结合几何约束[10]进行匹配,侧重于搜索范围约束[11]、描述符构建[12]及匹配核验[13]等方面。Li Gang等[14]提出一种基于语义不变量的点线特征匹配方法,为待匹配线特征添加语义约束,降低了线特征的失配率,但该方法依赖语义信息提取网络,难以在井下直接应用。Zheng Xianwei等[15]提出一种基于全局投影变换的线匹配方法,匹配精度较高,但是局限在城市街道等室外场景,在视差变换大时会失效。Wang Qiang等[16]利用位置和方向系统构建出图像间的变换关系来获取匹配线对,消除了跨视角图像间的几何形变,匹配精度较高,但对于宽基线图像匹配仍有提升空间。Shen Liang等[17]提出一种线段误匹配去除方法,解决对线段长度的敏感性和断裂问题,提高了匹配召回率,但是该方法不适用于存在仿射等非刚性变换的图像中。刘肃艳等[18]提出了一种结合线对几何条件约束及单线描述符的方法,该方法性能良好,但涉及的参数较多,依赖手动调参。张珊等[19]提出了一种结合网状描述符和单应约束的近景影像直线匹配算法,该算法能够获得较高的匹配精度,且鲁棒性良好,但是依赖同名特征点约束,在同名特征点稀少的情况下影响匹配结果。随着深度学习的发展,学者们将卷积神经网络(Convolutional Neural Network,CNN)强大的特征提取能力应用在线特征匹配上。A.Vakhitov等[20]提出一种全卷积神经网络构建的可学习型线描述符,用于线特征匹配。M.Lange等[21]提出一种基于机器学习和小波增强的线特征描述符,预处理阶段利用小波变换从图像中提取特征作为描述符。R.Pautrat等[22]首次提出联合线描述与检测的深度学习网络,即自我监督遮挡感知线描述和检测(Self-supervised Occlusion-aware Line Description and Detection,SOLD2),用于在线特征检测与匹配。

基于深度学习的线描述符对线段遮挡等场景具有较高鲁棒性,性能优于传统描述符,但CNN架构的描述符将可变长度线段抽象为固定维进行描述,仍然不利于线段长度及视差变化较大图像的匹配。针对该问题,本文提出一种基于直线段检测法(Line Segment Detector,LSD)和LT(Line Transformers)描述符的矿井图像线特征匹配算法。采用改进单参数同态滤波算法和对比度受限的自适应直方图均衡化(Contrast Limited Adaptive Histogram Equalization,CLAHE)算法进行图像增强,在此基础上进行LSD线特征提取,用LT描述符构建LSD线特征向量[23],最后利用欧氏距离及最近邻准则进行匹配线对筛选,完成匹配。

1 算法流程

基于LSD和LT描述符的矿井图像线特征匹配算法流程如图1所示。

图1 基于LSD和LT描述符的矿井图像线特征匹配算法流程Fig.1 Process of mine image line feature matching algorithm based on line segment detector(LSD) and line transformers(LT) descriptor

在图像的RGB空间,利用改进单参数同态滤波算法进行滤波,在频域降低图像的照射分量,并提高反射分量,增强后图像的亮度与对比度均有提高。在图像的YUV空间,利用CLAHE算法对图像的亮度分量进行均衡[24],使亮度更加均匀,更好地保留图像的细节信息。再逆变换至RGB空间提取LSD线特征,增强图像后,提取的LSD线特征数量更多。为了克服LSD线特征匹配常用的线二进制描述符(Line Binary Descriptor,LBD)等鲁棒性差、匹配精度低的缺点,采用基于Transformer架构的LT描述符构建LSD线特征向量,并进行L2范数归一化,计算出目标直线与候选直线的特征向量的欧氏距离,结合最小欧氏距离和最近邻准则完成匹配,得到可靠的同名直线。

2 算法原理

2.1 改进同态滤波算法

同态滤波是一种在频域应用的图像处理算法[25]。根据照射-反射模型,图像密度函数f(x,y)(x,y为像素空间坐标)可表示为自身的照射分量i(x,y)和反射分量r(x,y)的乘积。

对式(1)进行对数变换,得

对式(2)进行傅里叶变换,然后应用H(u,v)(u,v为x,y对应的离散频率变量)同态滤波器,得

式中F(u,v),I(u,v),R(u,v)分别为f(x,y),i(x,y),r(x,y)的傅里叶变换。

H(u,v)通常选用高斯型同态滤波传递函数:

式中:PH,PL分别为高频增益和低频增益;c为锐化系数;D(u,v)为某频率(u,v)到频率中心(u0,v0)的欧氏距离;D0为截止频率;n为滤波器的阶数。

高斯型同态滤波传递函数需要手动调节参数PH,PL,c,n,不利于算法的泛化。因此引入一种单参数同态滤波传递函数[26]:

式中k为滤波器的调节参数。

式(6)中只存在一个参数k,可降低调参的复杂性。高斯型同态滤波传递函数与单参数同态滤波传递函数的三维结构如图2、图3所示。可看出单参数同态滤波器由中心频率到高频的过渡相较传统高斯型同态滤波器更平缓,斜率更小,因此滤波更加均匀。

图2 高斯型同态滤波传递函数Fig.2 Transfer function of gaussian homomorphic filtering

图3 单参数同态滤波传递函数Fig.3 Transfer function of single parameter homomorphic filter

使用改进后的单参数同态滤波器对F(u,v)进行滤波后,再用傅里叶逆变换将图像变换至空间域,得

式中hf(x,y),hi(x,y),hr(x,y)分别为逆变换后的图像密度函数、照射分量和反射分量。

对式(7)进行指数变换,得到输出图像密度函数:

采用单参数同态滤波算法在频域对井下图像进行增强,可初步提高井下图像的对比度与亮度。

2.2 CLAHE算法

单参数同态滤波虽然能够提升亮度及对比度,但是仍然存在亮度分布不均匀、局部细节损失的现象,可能会导致线特征断裂、漏检。因此在图像经过同态滤波增强后,采用CLAHE算法对YUV空间的亮度分量进行均衡。均衡后的图像亮度分布更加均匀,细节更明显,可进一步提升线段提取的质量。

CLAHE算法在直方图均衡的基础上,通过抑制部分灰度级被过多合并所引起的噪声放大和局部对比度增强现象,使图像更加清晰[27]。CLAHE算法将输入图像分为若干个大小相等且不重叠的子域,并计算每个子域的直方图。由于算法引入了对比度限制,在计算累积分布函数前,使用预先设定的限制阈值对每个子域直方图进行剪切,从而限制放大幅值,将超出阈值的部分重新均匀分布到其他部分,如图4所示。

图4 CLAHE原理Fig.4 Principle of contrast limited adaptive histogram equalization(CLAHE)

2.3 LSD线特征向量构建方法

LT描述符是基于Transformer架构的新型描述符,摒弃了传统的CNN和循环神经网络(Recurrent Neural Network,RNN),整个网络融合了自注意力机制。LT描述符仿照自然语言处理(Natural Language Processing,NLP)中的思想,将点视为“单词”,将线段视为“句子”。将NLP的结果作为整条线段的描述符,通过自注意力机制关注线段上关键点来理解线段的上下文,自适应地将各种长度的线抽象为固定大小的描述符。同时,采用了组描述符的思想,将线的几何属性共享到邻域,形成线签名网络,通过在邻域内共享线的相对几何结构,使描述符学习到邻域的几何属性。LT描述符适合应用在具有较大视差变化及较多相似纹理干扰的图像匹配中。

基于LSD和LT描述符的矿井图像线特征匹配算法模型如图5所示。进行LSD线检测,同时使用CNN得到整张图像的密集描述符地图(Descriptor map),包含图像中每个像素的特征点置信度得分与该点描述符。对LSD线均匀取关键点,作为点标记,表示为p=[xyC],其中C为关键点置信度,在密集描述符地图中查找每个关键点对应的描述符向量,实现点标记对应的点嵌入(Point embedding)提取,点嵌入E∈R1×w,其中w为点描述符的维度。特殊嵌入[LINE]是线描述符的初始状态,表示为Eline∈R(n+1)×w,其权值在训练过程中学习。在多层感知器(Multilayer Perceptron,MLP)中利用每个关键点的位置得到位置嵌入(Positional embedding),表示为Epos∈R(n+1)×w。结合构建好的点嵌入与位置嵌入,使用Transformers编码器对线描述符进行建模。

图5 基于LSD和LT描述符的矿井图像线特征匹配算法模型Fig.5 Model of mine image line feature matching algorithm based on LSD and LT descriptor

Transformer编码器由多头自注意(Multi-head Self-Attention,MSA)层和MLP层组成,具有残差连接与层归一化(Layer Normalization,LN)功能,将Transformer编码器堆叠L次,得

式中:Z0为Transformer编码器的初始输入;Z′I-1为计算第I(I=1,2,···,L)次堆叠时Transformer编码器的输入ZI的中间变量;OLN,OMSA,OMLP分别为归一化及通过MSA层、MLP层的操作;m为掩码向量;d为描述符;Z0L为第L次堆叠后Transformer编码器的输出。

当第I-1次堆叠时的Transformer编码器输入ZI-1进入MSA层时,为了解决直线特征长度不同的问题,在网络中加入掩码向量m,去除相关性比较低的特征点。

将直线a的中点位置(xa,ya)、直线与主方向的角度信息(cosθa,sinθa)、线长la输入MLP层,得到线属性嵌入,并添加至描述符da,得到含有线属性的描述符d′a。对图像中所有M个线描述符进行构建,得到初始含有线属性的描述符向量集合s0。设sI为签名网络结果,将sI-1输入MSA层后得到的计算结果与sI-1进行级联,作为MLP层的输入,堆叠M次后得到sI。

3 实验与结果分析

实验采用的编程语言为Python3.7,使用计算机视觉库OpenCV 3.4.18.65,集成开发环境为PyCharm 2021.3.1,GPU为NVIDIA 2080Ti 16 GiB,深度学习框架Pytorch1.10。数据集源于在模拟矿井实验室进行SLAM过程中采集的RGB帧,分辨率为640×480,共1 802张图像。依次进行图像增强实验、线特征提取实验、线特征匹配实验。LT描述符的训练参数见表1。

表1 LT描述符的训练参数Table 1 Training parameters of the LT descriptor

3.1 图像增强实验

分别采用改进同态滤波算法、EnlightenGAN算法[28]和本文算法进行实验。图像增强结果和对应的灰度分布如图6与图7所示。

图6 图像增强结果Fig.6 Image enhancement results

图7 灰度直方图对比结果Fig.7 Comparison results of gray histogram

可看出,3种算法对井下图像均有增强作用。使用EnlightenGAN算法后,图像对比度显著增强,但是亮度明显存在过度增强,且灰度级分布不均匀,大多分布在180~250。使用改进同态滤波算法增强后,图像的亮度与对比度有一定提高,像素灰度级分布较均匀。本文算法结合了同态滤波和CLAHE算法的优点,增强图像的亮度适中,对比度良好,灰度分布更加均匀。

图像增强的结果统计见表2。标准差是图像对比度的评价指标,标准差越大,代表图像对比度越大;均值是图像的亮度评价指标,均值越大,代表图像亮度越高;信息熵是反映图像信息量的评价指标,信息熵越大,代表图像信息量越大;峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)表征图像的保真性,图像失真越小,该值越大。可看出EnlightenGAN算法增强图像的均值提高最大,从视觉主观来看是因为亮度被过度增强,且EnlightenGAN算法增强图像的PSNR仅为7.598,说明该算法增强图像失真较为严重,且信息熵也不及本文算法与改进同态滤波算法,说明图像部分信息丢失。经本文算法处理后图像的对比度、信息量、保真性均为最优,且亮度提升适中。从主观比较与客观数据综合来看,本文算法对井下低照度图像的增强效果最好。

表2 图像增强结果统计Table 2 Statistics of image enhancement results

3.2 线特征提取实验

采用增强前后的图像进行LSD线特征提取实验,分别在巷道、水房、避难硐室、工作面处选取视频帧共1 802帧。实验结果如图8所示,其中绿色表示增强前后共有的线特征,蓝色表示图像增强后新增的线特征。可看出图像增强后提取出的线特征更多。将部分断裂的线特征修复合并,可在一定程度上减少误匹配现象[29]。

图8 LSD提取对比Fig.8 LSD extraction comparison

LSD线段提取数量见表3,由于短线提取效率低,实验时滤掉了长度小于20像素的线段。本文算法提取的线段数量平均增长32.92%,说明在线段提取前进行图像增强处理这一关键步骤有效,可使LSD线特征质量更高,提取的线段更多。

表3 LSD线段提取数量Table 3 LSD line segment extraction quantity

3.3 线特征匹配实验

3.3.1 图像选择及相关设置

采用视觉SLAM技术进行定位与建图时,最主要的运动包括平移与旋转,因此,挑选同时具有视角变化与旋转变化的井下低照度图像,分别选取变化程度小和变化程度大的2组代表性图像进行实验,以验证本文算法在不同程度视差干扰时的匹配性能。视觉SLAM技术经常应用于井下发生坍塌事故时的救援任务,场景局部密集的线缆、堆积的矿石及受困人员所处避难硐室的墙壁等均包含较多相似纹理,相似纹理越多,线特征的特征向量区分度越低,给匹配带来干扰。因此,选取相似纹理较少和相似纹理较多的2组代表性图像进行实验,以验证本文算法在相似纹理占比不同时的性能。如果在具有较大视差及较多相似纹理干扰的情况下,匹配性能仍然较高,说明算法的鲁棒性良好。

实验图像如图9所示,图像属性见表4。分别采用LBD、LBD_NNDR、LT、本文算法进行实验。LBD_NNDR对OpenCV视觉库中LSD线匹配的最近邻策略进行了优化:在目标与候选直线的配对中,首先计算出目标直线与每条候选直线特征向量的汉明距离,汉明距离越小,说明2个特征向量越相似;筛选出目标直线到候选直线的最小汉明距离Xm与次小汉明距离Xsm,如果Xm小于阈值Td,则在此基础上根据最近邻距离比准则(Nearest Neighbor Distance Ratio,NNDR)进行二次筛选;若Xm与Xsm的比值小于阈值Tn,则认为该线段为最佳匹配,Td与Tn选取工程上常用的30与0.8。LT描述符使用文献[24]推荐的权重。本文算法的匹配策略是计算出目标直线与每条候选直线L2范数归一化描述符向量之间的欧氏距离,利用欧氏距离表征2个线对的相似度,选择相似度最大的2个线对作为候选同名直线。根据工程经验,相似度阈值选取0.8能够同时兼顾精度与同名直线数量。

表4 图像属性Table 4 Image attributes

图9 实验图像Fig.9 Experimental images

3.3.2 实验结果

图像1匹配结果如图10所示。未匹配直线标为蓝色,匹配错误线对标为红色,正确匹配线对标为绿色,匹配正误由人工目视判别。由于短线匹配效率低,实验时滤掉了长度小于20像素的线特征。图像1旋转平移程度小、相似纹理较少,4种算法的性能均良好,精度分别为85.48%,89.65%,90.19%,92.06%,正确匹配数量分别为53对、52对、46对、58对。图像2、图像3匹配结果如图11、图12所示。

图10 图像1匹配结果Fig.10 Image 1 matching results

图11 图像2匹配结果Fig.11 Image 2 matching results

图12 图像3匹配结果Fig.12 Image 3 matching results

图像2相对于图像1存在相似纹理较多的干扰。图像3相对于图像1存在较大的视差干扰。从匹配结果可看出,本文算法性能最优,图像2的正确匹配数量高达100对,远超过LBD、LBD_NNDR、LT对应的28对、25对、52对。图像2的匹配精度为85.47%。图像3的正确匹配数量为39对,精度为92.86%。精度与正确匹配数量均维持在较高水平,说明本文算法在较大视差干扰下或者较大平移旋转视差下的鲁棒性良好。

图像4相对于图像1,同时具备了较大的视差及相似纹理较多的双重干扰,匹配结果如图13所示。LBD对图像4的匹配效果极差,几乎无法正确匹配,精度仅为15.00%,正确匹配数量仅为9对。LBDNNDR能够剔除部分误匹配对,但是精度与正确匹配数量依然很低。LT的正确直线匹配数量与精度有一定提升。本文算法性能最优,线特征正确匹配数量达65对,精度达76.92%,精度与正确匹配数量维持在较高水平。这是因为本文算法在图像增强后,得到了更多可靠的LSD线特征,而且采用的LT描述符自适应地将变化较大的直线抽象成了固定维度,更加适合线段变化较大时的匹配,并且线的签名网络获取到邻域的几何属性,LT描述符构建出的特征向量包含更多位置及几何信息,能够在一定程度上克服相似纹理干扰。

图13 图像4匹配结果Fig.13 Image 4 matching results

3.3.3 统计分析

线特征匹配实验数据统计见表5。可看出对于任一类图像,本文算法得到的线特征数量、同名直线数量、正确匹配数量、精度均优于LBD,LBD_NNDR,LT。

表5 线特征匹配实验数据统计Table 5 Statistics of experimental data of line feature matching

4种算法的平均精度与平均正确匹配数分别如图14、图15所示。可看出本文算法平均精度为86.83%,较LBD,LBD_NNDR,LT分别提升32.71%,16.03%,3.07%。本文算法平均正确匹配数为61.75对,是LBD的2.422倍、LBD_NNDR的2.572倍、LT的1.453倍。统计分析结果说明本文算法性能优良,能够满足井下图像的稳健匹配需求。

图14 平均精度统计Fig.14 Average accuracy statistics

图15 平均正确匹配数统计Fig.15 Statistics of the average number of correct matches

4 结论

1) 针对井下图像线特征匹配精度低、正确匹配量少、鲁棒性差的问题,提出了一种基于LSD和LT描述符的矿井图像线特征匹配算法,采用改进单参数同态滤波算法和CLAHE算法进行图像增强,在图像增强的基础上使用LT描述符对提取的LSD线进行描述和匹配。

2) 实验结果表明:本文算法的平均精度为86.83%,较LBD,LBD_NNDR,LT分别提升32.71%,16.03%,3.07%;平均正确匹配数为61.75对,是LBD的2.422倍、LBD_NNDR的2.572倍、LT的1.453倍;本文算法提取的LSD线数量更多,质量更好,在不同干扰下鲁棒性良好。

3) 下一步将继续优化本文算法的匹配策略,研究如何剔除更多的误匹配线对。

猜你喜欢
同态滤波描述符图像增强
基于结构信息的异源遥感图像局部特征描述符研究
图像增强技术在超跨声叶栅纹影试验中的应用
水下视觉SLAM图像增强研究
基于AKAZE的BOLD掩码描述符的匹配算法的研究
虚拟内窥镜图像增强膝关节镜手术导航系统
Linux单线程并发服务器探索
基于图像增强的无人机侦察图像去雾方法
基于同态滤波与GA优化的QR码识别算法及其应用
利用CNN的无人机遥感影像特征描述符学习
基于同态滤波和Retinex的图像去雾算法