«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (5): 251-259  DOI: 10.19678/j.issn.1000-3428.0057686
0

引用本文  

霍占强, 刘玉洁, 付苗苗, 等. 基于卷积神经网络的直线描述方法研究[J]. 计算机工程, 2021, 47(5), 251-259. DOI: 10.19678/j.issn.1000-3428.0057686.
HUO Zhanqiang, LIU Yujie, FU Miaomiao, et al. Research on Line Description Method Based on Convolutional Neural Network[J]. Computer Engineering, 2021, 47(5), 251-259. DOI: 10.19678/j.issn.1000-3428.0057686.

基金项目

河南省高校科技创新团队支持计划(19IRTSTHN012)

通信作者

乔应旭(通信作者), 讲师

作者简介

霍占强(1979-), 男, 副教授、博士, 主研方向为计算机视觉、图像处理、深度学习;
刘玉洁, 硕士;
付苗苗, 硕士

文章历史

收稿日期:2020-03-11
修回日期:2020-04-21
基于卷积神经网络的直线描述方法研究
霍占强 , 刘玉洁 , 付苗苗 , 乔应旭     
河南理工大学 计算机科学与技术学院, 河南 焦作 454000
摘要:为提高直线特征匹配的可靠性,提出一种基于卷积神经网络(CNN)学习的直线特征描述方法。构建用于网络学习的大规模直线数据集,该数据集包含约20.8万对匹配直线对,每条直线用其周围的局部图像块表征。将图像块输入CNN,利用HardNet网络结构提取特征,使用三元组损失函数进行训练,输出强鲁棒性的直线特征描述子。实验结果表明,与手工设计的描述子MSLD和IOCD相比,该描述子在视角、模糊、尺度和旋转变化下均具有较好的区分性,在图像拼接应用中同样表现出良好的描述性能。
关键词直线匹配    直线特征描述子    深度学习    大规模直线数据集    卷积神经网络    
Research on Line Description Method Based on Convolutional Neural Network
HUO Zhanqiang , LIU Yujie , FU Miaomiao , QIAO Yingxu     
College of Computer Science and Technology, Henan Polytechnic University, Jiaozuo, Henan 454000, China
Abstract: To improve the reliability of line feature matching, this paper proposes a line feature description method based on Convolutional Neural Network(CNN).For the learning of neural network, a large-scale line dataset is constructed.The dataset contains about 208, 000 pairs of matched lines, and each line is characterized by the local image block around it.The image blocks are input into a CNN, and the HardNet structure is used for feature extraction.At the same time, the triple loss function is used for training to output the required line feature descriptor with high robustness.The experimental results show that compared with the existing manual design descriptors such as MSLD and IOCD, the proposed descriptor has better discriminability for the changes of image perspective, blur, scale and rotation, and also has excellent description performance in image mosaic applications.
Key words: line matching    line feature descriptor    deep learning    large-scale line dataset    Convolutional Neural Network(CNN)    
0 概述

基于特征的图像匹配一直是计算机视觉领域的研究热点,被广泛应用于各种视觉应用,如对象和场景识别[1-2]、目标跟踪[3]、3D重建[4-5]、图像配准[6-7]和图像拼接[8-9]等。特征描述是图像特征匹配中的重要步骤,描述子的性能直接影响后续的视觉应用效果,因此,需要设计高效且鲁棒性强的图像特征描述方法。

在各种图像特征中,特征点描述子得到广泛研究。早期的特征点描述主要基于手工设计方法,具有代表性的特征点描述子包括浮点型描述子和二值型描述子。浮点型描述子包含SIFT(Scale-Invariant Feature Transform)[10]、DSP-SIFT(Domain-Size Pooling-Scale-Invariant Feature Transform)[11]、SURF(Speeded Up Robust Features)[12]和DAISY[13]等,二值型描述子包含BRIEF(Binary Robust Independent Elementary Feature)[14]、BRISK(Binary Robust Invariant Scalable Keypoints)[15]和FREAK(the Fast Retina Keypoint)[16]等。除了手工设计方法外,研究人员还提出基于学习的局部特征描述方法,如线性判别嵌入学习方法[17]和模块化组合优化学习方法[18]。近年来,随着深度学习技术的迅速发展,基于深度学习的局部特征描述方法相继被提出。文献[19]使用卷积神经网络(Convolutional Neural Network,CNN)学习块描述子,利用ImageNet[20]训练卷积网络,在最后一层网络中得到的特征优于SIFT。文献[21]采用共享参数的“双塔”型网络提取特征,然后将串联特征作为度量网络的输入,其取得了较好的效果。文献[22]提出一种基于困难样本挖掘的训练策略,在相对浅的网络结构下取得了较好效果。文献[23]提出L2Net,其能有效利用网络中间卷积层的判别信息,大幅提高匹配性能。基于L2Net的网络结构,文献[24]提出HardNet,其使用三元组损失函数,通过最大化每批次中最接近的正样本与负样本之间的距离来获得更紧凑的描述子,HardNet的描述性能较L2Net进一步提升。文献[25]认为优秀的特征描述方法应该使不同的特征点均匀分布在特征空间中,在该假设下,提出基于负样本距离第二矩的正则项。

除了特征点外,直线也是重要的图像特征,其可捕获图像中的边缘或纹理信息,因此,直线特征比点特征包含更多的结构信息。另外,在诸如城市建筑物和道路等人造物体和场景中,存在大量的重复纹理或弱纹理区域,使得特征点描述子的匹配性能大幅下降。与点相比,直线包含更大的纹理区域以及更多的几何信息,能够为直线匹配提供更多的约束条件,从而有助于提高匹配性能[26]。但是,由于断裂、遮挡等原因,2条匹配直线的长度可能不同,因此直线匹配也面临一些特定的问题。

目前,研究人员提出多种直线匹配方法,大体分为基于几何关系的方法和基于统计的方法两类。在基于几何关系的方法中,文献[27]提出基于图像平面射影不变量的直线匹配算法,该算法选择2条直线和2个点拟合局部单应性矩阵,然后利用该单应性矩阵进行直线匹配。文献[26]利用直线和点的关系构造几何不变量从而实现直线匹配,由于该方法依赖点的对应关系,因此不适用于弱纹理场景的图像匹配任务。在基于统计的方法中,文献[28]受SIFT的启发,提出均值标准差线描述子(Mean-Standard Deviation Line Descriptor,MSLD),将直线上每个点的支持区域划分为重叠的子区域,然后计算梯度描述矩阵(Gradient Description Matrix,GDM),将该子区域表示为向量,为了避免直线长度不一致的影响,统计GDM列向量的均值和标准差,获得与直线长度无关的线描述子。文献[29]利用平行线间较小的间距,加入尺度不变描述,构造尺度不变的描述子SMSLD(Scale-invariant Mean-Standard deviation Line Descriptor),以提高宽基线下的匹配精度。文献[30]引入亮度序划分思想,提出基于亮度序的曲线描述子(Intensity Order Curve Descriptor,IOCD),其对扭曲、形变等变换图像具有较好的鲁棒性。文献[31]将LBD(Line Band Descriptor)与几何属性相结合以解决匹配问题,首先使用LBD生成候选直线匹配,然后利用候选匹配的两两几何属性建立关系图,在此基础上获得最终的匹配关系。文献[32]结合直线的几何属性、局部外观和直线邻域的结构上下文,提出一种双视图直线匹配算法,其适用于低纹理图像的直线匹配任务。

近年来,在各种视觉任务中,CNN表现出其强大的特征提取与描述能力。然而,目前的线特征描述仍然基于传统的手工设计方法。本文使用神经网络学习直线特征的描述,提出一种基于CNN的直线特征描述子,以实现高效的直线匹配。引入标注匹配信息的大规模直线数据集,用于网络的训练和测试,以验证该直线描述方法在图像视角、模糊、尺度和旋转等因素变化情况下的匹配性能。

1 直线数据集构建

为学习强鲁棒性的直线特征描述子,本文构建用于神经网络学习的直线特征数据集,并对直线是否匹配进行标记。

1.1 图像数据集

以互联网下载或户外拍照的方式收集不同场景下的图像,获得大约5 600对图像,考虑到所收集图像应包含尽可能多的直线特征,因此大部分图像为建筑物。同时,这些图像包括多种变换,如模糊、噪声、旋转、视角、尺度、光照和压缩。图 1所示为数据集中不同图像变换的示例,每一行中第一幅为参考图像,其余为不同变换程度的目标图像。

Download:
图 1 图像变换示例 Fig. 1 Example of image transformations
1.2 匹配直线对获取

利用Canny边缘检测算子[33]获取图像的边缘信息,然后去除曲率较大的点,剔除长度小于20像素的较短直线,最终得到图像中的检测直线。随后,为获得匹配的直线对,使用IOCD描述子[30]对收集到的约5 600对图像进行直线匹配,获得潜在的匹配直线对。为确保匹配结果的准确性,采用人工剔除错误匹配的方法,将潜在匹配直线对中的错误匹配剔除,获得训练所需的约20.8万对正确匹配直线。图 2所示为每种图像变换下正确匹配的直线对数量。

Download:
图 2 不同图像变换下正确匹配的直线对数量 Fig. 2 The number of matching line pairs correctly under different image transformations

在获得匹配直线对后,为能够利用网络进行训练,对直线对是否匹配进行标记,标记方法如下:将2个连续数字$ i $$ i+1\mathrm{ }(i=\mathrm{0, 2}, \cdots ) $分别分配给匹配的2条直线,作为它们的ID,同时存储每条直线上各点的位置信息,例如,2条直线的ID分别是12和13,则这2条直线是匹配直线对。为得到非匹配的直线对,只需从直线集中选择ID为$ i $$ j $$ j\ne i+1 $的直线对即可,例如,$ i=14 $$ j=16 $的2条直线则为非匹配直线对。

1.3 直线图像块创建

本文利用直线周围的局部图像块来表征该直线,对于图像中由$ K $个点组成的直线$ L $$ L $上的像素点表示为$ {P}_{i}(i=\mathrm{1, 2}, \cdots , K) $,直线$ L $对应局部图像块的提取方式为:

1)以点$ {P}_{i}(i=\mathrm{1, 2}, \cdots , K) $为中心,取该点周围邻域中大小为$ 64\times 64 $的正方形区域作为点$ {P}_{i} $的支撑区域,表示为矩阵$ {\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}}\left({P}_{i}\right) $

2)计算直线$ L $与水平线之间的夹角$ \theta $

$ \theta =\mathrm{a}\mathrm{r}\mathrm{c}\mathrm{t}\mathrm{a}\mathrm{n}\left[({y}_{1}-{y}_{2})/({x}_{1}-{x}_{2})\right] $ (1)

其中,$ ({x}_{1}, {y}_{1}) $$ ({x}_{2}, {y}_{2}) $分别表示直线$ L $的2个端点坐标。

3)以点$ {P}_{i} $为中心逆时针旋转$ {\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}}\left({P}_{i}\right) $,获得点$ {P}_{i} $的旋转支撑区域,表示为$ {{\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}}}^{\text{'}}\left({P}_{i}\right) $

$ X=x\cdot \mathrm{c}\mathrm{o}\mathrm{s}\theta -y\cdot \mathrm{s}\mathrm{i}\mathrm{n}\theta $ (2)
$ Y=x\cdot \mathrm{s}\mathrm{i}\mathrm{n}\theta +y\cdot \mathrm{c}\mathrm{o}\mathrm{s}\theta $ (3)

其中,$ (x, y) $$ {\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}}\left({P}_{i}\right) $内像素点的坐标,$ (X, Y) $是旋转后支撑区域$ {{\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}}}^{\text{'}}\left({P}_{i}\right) $$ (x, y) $对应的坐标。

4)根据各点的支撑区域得到直线$ L $的支撑区域,表示为$ {\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}}\left(L\right) $

$ {\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}}\left(L\right)={{\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}}}^{\text{'}}\left({P}_{1}\right)\bigcup {{\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}}}^{\text{'}}\left({P}_{2}\right)\bigcup \cdots \bigcup {{\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}}}^{\text{'}}\left({P}_{K}\right) $ (4)

其中,$ {\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}}\left(L\right) $的大小为$ 64\times (32+K+32) $

由于检测直线中包含的像素点数目不同,即直线长短不一,导致直线支撑区域$ {\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}}\left(L\right) $的大小也不同。为确保网络输入的一致性,本文利用线性插值方法将上述直线L的支撑区域$ {\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}}\left(L\right) $转换为大小为$ 64\times N $的图像块,表示为矩阵$ {\boldsymbol{M}}\left(L\right) $,其中,64表示$ {\boldsymbol{M}}\left(L\right) $的高度,$ N $表示$ {\boldsymbol{M}}\left(L\right) $的长度。

图 3所示为直线图像块的获取过程:从原始图像$ A $$ B $中分别获取匹配直线$ L $$ {L}^{\text{'}} $,然后依据直线的梯度方向获取对应的支撑区域$ {\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}}\left(L\right) $$ {\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}}\left({L}^{\text{'}}\right) $,随后进行尺寸归一化得到最终的图像块$ {\boldsymbol{M}}\left(L\right) $$ {\boldsymbol{M}}\left({L}^{\text{'}}\right) $。从图 3可以看出,尽管2条直线存在旋转变化,但根据本文方法获得的2条直线的局部图像块非常相似,从而为获取鲁棒的直线特征描述提供支撑。

Download:
图 3 直线图像块获取过程 Fig. 3 Acquisition process of line image blocks
2 算法网络设计 2.1 神经网络模型

近年来,HardNet[24]在宽基线立体匹配、块验证和实例检索等方面表现出优越性能。本文以HardNet模型架构为基础,学习直线特征描述子。HardNet网络架构采用7层全卷积网络结构,在每个卷积层之后使用批量标准化,并通过改变卷积的步长值实现降采样操作。原始HardNet训练集中的图像大小为$ 64\times 64 $,而本文直线图像块大小为$ 64\times N $。为适应本文图像块的尺寸,将最后一层卷积核的大小由$ 8\times 8 $改为$ 16\times 32 $图 4所示为$ N $取128时本文神经网络模型结构,输入为$ 64\times 128 $的图像块,输出为128维的直线描述子。

Download:
图 4 本文神经网络模型结构 Fig. 4 Neural network model structure in this paper
2.2 损失函数

三元组损失函数[24]在点特征描述方面具有优越的学习能力,本文使用三元组损失函数来最大化训练数据中正样本和与其最接近的负样本之间的距离。三元组损失函数表示如下:

$ L=\frac{1}{t}\sum \limits_{i=1}^{t}\mathrm{m}\mathrm{a}\mathrm{x}(\mathrm{0, 1}+d({\boldsymbol{a}}_{i}, {\boldsymbol{b}}_{i})-\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{m}\mathrm{i}\mathrm{n}(d({\boldsymbol{a}}_{i}, {\boldsymbol{b}}_{{j}_{\mathrm{m}\mathrm{i}\mathrm{n}}}), d({\boldsymbol{a}}_{{k}_{\mathrm{m}\mathrm{i}\mathrm{n}}}, {\boldsymbol{b}}_{i})\left)\right) $ (5)

其中,$ t $表示训练过程中每批次生成的三元组个数,$ d({\boldsymbol{a}}_{i}, {\boldsymbol{b}}_{i})=\sqrt{2-2{\boldsymbol{a}}_{i}{\boldsymbol{b}}_{i}} $计算向量$ {\boldsymbol{a}}_{i} $与向量$ {\boldsymbol{b}}_{i} $之间的距离,$ {\boldsymbol{a}}_{i} $代表直线$ L $的描述子,$ {\boldsymbol{b}}_{i} $代表直线$ {L}^{\text{'}} $的描述子,直线$ L $和直线$ {L}^{\text{'}} $是图像对中的一对匹配直线,即$ {\boldsymbol{a}}_{i} $$ {\boldsymbol{b}}_{i} $为一对匹配的描述子,$ {\boldsymbol{b}}_{{j}_{\mathrm{m}\mathrm{i}\mathrm{n}}} $表示该批次生成的三元组中最接近$ {\boldsymbol{a}}_{i} $的不匹配描述子,$ {j}_{\mathrm{m}\mathrm{i}\mathrm{n}}=\mathrm{m}\mathrm{i}{\mathrm{n}}_{j=\mathrm{1, 2}, \cdots ,n, j\ne i} $ $ d({\boldsymbol{a}}_{i}, {\boldsymbol{b}}_{j}) $$ {\boldsymbol{a}}_{{k}_{\mathrm{m}\mathrm{i}\mathrm{n}}} $表示最接近$ {\boldsymbol{b}}_{i} $的不匹配描述子,$ {k}_{\mathrm{m}\mathrm{i}\mathrm{n}}=\mathrm{m}\mathrm{i}{\mathrm{n}}_{k=\mathrm{1, 2}, \cdots , n, k\ne i}d({\boldsymbol{a}}_{k}, {\boldsymbol{b}}_{i}) $

在生成三元组的过程中计算$ \mathrm{m}\mathrm{i}\mathrm{n}\left(d\right({\boldsymbol{a}}_{i}, {\boldsymbol{b}}_{{j}_{\mathrm{m}\mathrm{i}\mathrm{n}}}), $ $ d({\boldsymbol{a}}_{{k}_{\mathrm{m}\mathrm{i}\mathrm{n}}}, {\boldsymbol{b}}_{i})) $,若$ d({\boldsymbol{a}}_{i}, {\boldsymbol{b}}_{{j}_{\mathrm{m}\mathrm{i}\mathrm{n}}})>d({\boldsymbol{a}}_{{k}_{\mathrm{m}\mathrm{i}\mathrm{n}}}, {\boldsymbol{b}}_{i}) $,则获取的三元组为$ ({\boldsymbol{b}}_{i}, {\boldsymbol{a}}_{i}, {\boldsymbol{a}}_{{k}_{\mathrm{m}\mathrm{i}\mathrm{n}}}) $,反之为$ ({\boldsymbol{a}}_{i}, {\boldsymbol{b}}_{i}, {\boldsymbol{b}}_{{j}_{\mathrm{m}\mathrm{i}\mathrm{n}}}) $。获取三元组的具体过程如图 5所示:首先获取原始图像中直线特征对应的局部图像块,通过网络得到描述子;然后计算距离矩阵,分别为正匹配样本$ {\boldsymbol{a}}_{1} $$ {\boldsymbol{b}}_{1} $选取最接近的非匹配描述子(以浅灰色显示);最后在2个非匹配的候选描述子中选择距离最接近的非匹配描述子。

Download:
图 5 三元组的获取过程 Fig. 5 Acquisition process of triples
3 实验结果与分析 3.1 训练和测试方法

将构造的直线特征数据集分为训练集和测试集2个子集。训练集包含约16.7万对匹配图像块,通过每批次生成512个三元组的形式,共产生约360万个三元组用于训练。测试集包含约4.1万对匹配图像块和4.1万对不匹配图像块,其中,不匹配图像块从匹配图像块数据集中随机组合获得。

网络的训练参数设置如下:权值初始化为增益0.6、偏差0.01的正交项,优化过程采用随机梯度下降法,初始学习率为0.1,训练过程中每个学习周期的学习率降低,权值衰减为0.000 1,训练样本的批量大小设置为512。需要注意的是,图像块在输入模型之前需要进行归一化处理,即对于每个图像块,需要减去均值然后除以标准差,其中,均值和标准差从所有的训练图像块中计算得到。

在完成模型训练后,将测试集图像块输入模型,得到所有图像块的描述子,然后计算这些描述子之间的距离值,对所有距离值进行排序并计算正确率,进而判断模型是否收敛。

3.2 评价标准

为评估本文基于CNN的直线特征描述子的性能,使用与点特征描述子相同的评价指标,即FPR95(当TPR(True Positive Rate)等于95%时的FPR(False Positive Rate))和mAP(mean Average Precision)[34]。具体地,在参数选择过程中,根据式(6),在TPR=0.95时计算FPR95。

$ \mathrm{F}\mathrm{P}\mathrm{R}=\mathrm{F}\mathrm{P}/(\mathrm{F}\mathrm{P}+\mathrm{T}\mathrm{N})\times 100\mathrm{\%} $ (6)

其中,FP表示不匹配样本被预测为匹配样本的数目,TN表示不匹配样本被正确预测为不匹配样本的数目。FPR值越小,说明模型训练越好,得到的描述子性能越高。

对于图像匹配,采用mAP作为性能评估指标。首先,计算图像对上正确匹配类别的AP(Average Precision)为:

$ \mathrm{A}\mathrm{P}=\frac{\sum\limits _{j=1}^{n}{P}_{j}}{n}\times 100\mathrm{\%} $ (7)

其中,$ n $表示预测结果中检索到的正确匹配直线对总数,$ P $表示预测结果中检索到的正确匹配直线对总数与检索到的直线对总数的比率。mAP可以计算为:

$ \mathrm{m}\mathrm{A}\mathrm{P}=\frac{\sum \limits_{i=1}^{m}\mathrm{A}{\mathrm{P}}_{i}}{m}\times 100\mathrm{\%} $ (8)

其中,$ m $为测试集中匹配与不匹配直线对的总数。

3.3 参数确定 3.3.1 图像块尺寸确定

由于2幅图像中检测到的匹配直线的长度存在差异,因此2条直线的原始支撑区域的大小不同。为了降低神经网络的设计复杂性,本文利用双线性差值将直线图像块变换成大小为$ 64\times N $的图像块。为了确定合适的$ N $值,本节测试64、128和256三个不同$ N $值的效果。当输入不同大小的图像块时,分别进行训练以获取不同的模型,在训练期间仅需根据不同的$ N $值来修改不同模型的输入大小和输出层的卷积核大小。对于所有模型,最终均输出128维的直线描述子。

图 6所示为输入不同尺寸的图像块时,测试集在7个训练周期内的FPR95值情况。从图 6可以看出,图像块的大小会对描述子的性能产生影响。在3个尺寸中,$ 64\times 64 $的图像块尺寸最小,对于较长的直线特征可能会丢失更多信息,$ 64\times 256 $大小的图像块包含较长直线特征的更多信息,但对于较短直线而言并不友好。在网络的收敛速度方面,$ 64\times 256 $大小的图像块收敛速度最快,其次是$ 64\times 128 $,最后是$ 64\times 64 $。在最后一个训练周期中,$ 64\times 256 $$ 64\times 128 $大小的图像块训练得到的FPR95值非常相近。考虑到计算机的内存和速度,本文最终选择大小为$ 64\times 128 $的图像块作为后续实验中神经网络的输入图像块。

Download:
图 6 不同直线块的训练结果 Fig. 6 Training results of different linear blocks
3.3.2 描述子维数确定

描述子的维数也会对匹配性能产生影响。为选择合适的直线描述子维数,本节分别评估32、64、128、256和512维数下的描述子性能,在训练期间仅需更改最终输出层的维数便可获得不同维数下的描述子。图 7所示为描述子维数不同时测试集在5个训练周期内获得的FPR95值情况。

Download:
图 7 不同维数描述子的训练结果 Fig. 7 Training results of descriptor with different dimensions

图 7可以看出,相比其他维数的描述子,512维的描述子在训练开始时便得到最小的FPR95值,在第3个训练周期,256维和128维的描述子达到与512维描述子相近的性能。但是,描述子的维数越高,其训练时间越长,所需的训练参数也越多,从而导致计算成本增加。因此,为更加高效地训练神经网络,本文后续所有实验均输出128维的描述子。

3.3.3 不同图像变换下的性能评估

在确定网络训练时输入、输出的最佳参数后,本节对学习到的描述子性能进行评估。表 1所示为描述子在不同图像变换下的FPR95值,非常低的FPR95值表明获得的描述子在各种图像变换下都具有较强的区分性。此外,与FPR95值均大于1的点特征描述子[24]相比,本文提出的直线特征描述子的FPR95值更小,表明该描述子可以对图像块进行更多的区分性描述。

下载CSV 表 1 不同图像变换下的FPR95值 Table 1 FPR95 values under different image transformations  
3.4 图像匹配

为进一步评估基于卷积神经网络学习的直线描述子的性能,本节执行图像匹配任务,利用不同描述子对参考图像$ R $和目标图像$ T $中的直线进行匹配,以评估描述子的性能。首先获得参考图像$ R $中的直线图像块以及目标图像$ T $中的直线图像块,分别记为$ {M}_{R}=\left\{\boldsymbol{M}\right({L}_{i}, i=\mathrm{1, 2}, \cdots , {N}_{R}\left)\right\} $$ {M}_{T}=\left\{\boldsymbol{M}\right({L}_{i}, i=\mathrm{1, 2}, \cdots , {N}_{T}\left)\right\} $,其中,$ {N}_{R} $是参考图像$ R $中检测出的直线数,$ {N}_{T} $为目标图像$ T $中检测出的直线数;然后将$ {M}_{R} $$ {M}_{T} $分别输入经过训练的神经网络中,并输出大小分别为$ 128\times {N}_{R} $$ 128\times {N}_{T} $的描述矩阵;随后计算这2个描述矩阵中各个描述子之间的欧氏距离;最后采用最近邻与次近邻的距离比(NNDR)匹配准则获得2幅图像的最终匹配结果。

在实验中,将本文所提描述子与MSLD[28]和IOCD[30]2个基于手工设计方法的描述子进行性能对比。MSLD是一种简单且有效的算法,可以在没有任何约束的情况下执行,并且对于各种图像变换都具有很强的区分性和鲁棒性。IOCD算法根据邻域中像素强度的大小顺序来划分子区域,对几何光学变换较大的图像匹配效果较好。实验使用Oxford数据集[34]和文献[31]中的图像集。Oxford是特征匹配任务中广泛使用的数据集,但其中部分图像直线特征较少。文献[31]中的数据集包含丰富的直线特征。在对比过程中,所有算法均采用相同的方法获取检测直线,将本文描述子称为LP-HardNet,使用mAP作为性能评估指标。

3.4.1 Oxford数据集匹配结果

图 8所示,Oxford数据集包含各种图像变换,如图像模糊(Bikes和Trees)、视角(Graffiti和Wall)、光照(Leuven)、JPEG压缩(Ubc)以及旋转(Boat)。Oxford数据集中包含7组图像,每组6幅图像,第一幅图像作为参考图像,其他图像作为目标图像,图像变换的程度逐渐增加。

Download:
图 8 Oxford数据集 Fig. 8 Oxford dataset

图 9所示为Oxford数据集上MSLD、IOCD和本文LP-HardNet描述子的匹配结果。

Download:
图 9 3种描述子在Oxford数据集上的匹配结果对比 Fig. 9 Comparison of matching results of three descriptors on Oxford dataset

图 9可以看出,LP-HardNet描述子在每种图像变换下都取得最佳的匹配结果,与MSLD描述子相比,平均匹配性能提高11.48%,与IOCD相比,平均匹配性能提高12.67%,证明了所提描述子的有效性及在图像匹配任务中的优越性。同时可以看出,在视角变化和模糊变化下,LP-HardNet描述子的性能提高最为明显,在光照变化和压缩变化的图像变换中,LP-HardNet描述子性能改善较小,对于具有尺度变化和旋转变化的Boat图像序列,LP-HardNet描述子能取得明显的性能提升,相比MSLD提升17.34%,相比IOCD提升12.31%。

除匹配精度以外,正确匹配的直线数也是评判图像匹配方法性能高低的重要因素。表 2所示为Oxford数据集上不同描述子的正确匹配直线总数。从表 2可以看出,与其他2个描述子相比,在具有相同数量检测直线的情况下,LP-HardNet描述子正确匹配直线的总数明显提高。

下载CSV 表 2 3种描述子在Oxford数据集上的正确匹配直线数量 Table 2 The number of correct matching lines of three descriptors on Oxford dataset
3.4.2 直线数据集匹配结果

图 10所示为文献[31]中的直线数据集图像序列,该数据集包含视角、尺度、遮挡和低纹理4种不同的图像变换。与Oxford数据集中的图像分布相同,该数据集中的每一组包含6幅图像,第一幅图像作为参考图像,其他图像作为目标图像,且图像变换程度逐渐增加。与Oxford数据集不同,该图像集主要包含人工场景,可以提取出更多的直线特征。

Download:
图 10 直线数据集 Fig. 10 Line dataset

图 11所示为直线数据集上MSLD、IOCD和本文LP-HardNet描述子的匹配结果。从图 11可以看出,LP-HardNet在尺度变化中具有明显优势,对于遮挡和低纹理变化,LP-HardNet的性能与MSLD和IOCD相似。表 3所示为3种描述子在直线数据集上的正确匹配直线数。从表 3可以看出,LP-HardNet对直线特征描述具有较好的适应性和可扩展性。

Download:
图 11 3种描述子在直线数据集上的匹配结果对比 Fig. 11 Comparison of matching results of three descriptors on line dataset
下载CSV 表 3 3种描述子在直线数据集上的正确匹配直线数量 Table 3 The number of correct matching lines of three descriptors on line dataset

为进一步验证本文所提描述子的有效性,从图 10直线数据集的每组图像中选取一对图像(每组参考图像与目标图像中的第2幅图像),使用LP-HardNet描述子和LBD描述子[31]进行直线匹配。由于LBD描述子采用LSD(Line Segment Detector)[35]方法提取直线特征[36],因此对选取的图像重新进行直线检测,保证2种描述子对相同的直线进行描述。同时,为突出描述子的性能,获得直线的LBD描述子后,同样使用NNDR匹配准则而非文献[31]所述的几何约束。表 4所示为LP-HardNet和LBD描述子在4对图像中的AP值,从表 4可以看出,LP-HardNet描述子的AP值均高于LBD描述子。对于遮挡和低纹理变换,2种描述子的性能差异较小,而对于视角和尺度变换,LP-HardNet描述子的性能明显优于LBD描述子,原因是在这2种图像变换下,文献[31]所提的几何约束对匹配性能有明显提升,而本文对比实验并未利用该几何约束。图 12所示为NNDR阈值为0.8时LP-HardNet描述子在4对图像中的直线匹配结果,该结果验证了LP-HardNet描述子的有效性。

下载CSV 表 4 2种描述子在4对图像上的AP值 Table 4 AP values of two descriptors on four pairs of images  
Download:
图 12 LP-HardNet描述子的匹配结果 Fig. 12 Matching results of the LP-HardNet descriptor
3.5 图像拼接

图像拼接是将数张有重叠部分的图像(可能时间不同或视角不同)拼成一幅无缝全景图的技术,拼接效果直接影响后续的处理结果。本文将LP-HardNet描述子应用于基于图像匹配和图像融合的图像拼接任务,实现过程为:首先使用LP-HardNet描述子对待拼接的2幅图像进行直线匹配,通过Harris[37]角点检测器获取匹配直线上的对应特征点,然后采用RANSAC算法获得变换矩阵,基于该变换矩阵实现图像拼接。图 13所示为经典SIFT点描述子和所提LP-HardNet线描述子的图像拼接结果,图 13(a)是需要拼接的2组图像,图 13(b)图 13(c)分别是SIFT和LP-HardNet的拼接结果。从中可以看出,对于复杂场景图像和简单纹理场景图像,LP-HardNet描述子均可以获得较好的拼接效果,与SIFT拼接结果近似,证明本文基于卷积神经网络学习的直线特征描述子具有良好的描述性能。

Download:
图 13 图像拼接结果 Fig. 13 Results of images mosaic
4 结束语

本文设计一种基于卷积神经网络的直线特征描述子LP-HardNet。为利用卷积神经网络学习获得直线描述子,构造标注匹配直线和非匹配直线的大规模直线图像块数据集,将其输入HardNet网络进行训练并输出直线描述子。通过执行图像匹配任务对LP-HardNet描述子的性能进行评估,结果表明,在视角、模糊、尺度和旋转变化下,LP-HardNet的描述性能均优于传统的手工设计描述子,此外,在图像拼接任务中的应用效果也显示出LP-HardNet描述子的优越性能,验证了数据驱动的网络学习方法在图像拼接中的有效性。下一步将研究不同的网络结构和损失函数对直线特征描述子学习效果的影响。

参考文献
[1]
RAMESH B, CHENG X, LEE T H. Shape classification using invariant features and contextual information in the bag-of-words model[J]. Pattern Recognition, 2015, 48(3): 894-906. DOI:10.1016/j.patcog.2014.09.019
[2]
TIAN Yanling, ZHANG Weitong, ZHANG Qieshi, et al. A review of image scene classification techniques[J]. Acta Electronica Sinica, 2019, 47(4): 149-160. (in Chinese)
田艳玲, 张维桐, 张锲石, 等. 图像场景分类技术综述[J]. 电子学报, 2019, 47(4): 149-160.
[3]
HUANG Hongtu, BI Duyan, HOU Zhiqiang, et al. Research of sparse representation-based visual object tracking: a survey[J]. Acta Automatica Sinica, 2018, 44(10): 1747-1763. (in Chinese)
黄宏图, 毕笃彦, 侯志强, 等. 基于稀疏表示的视频目标跟踪研究综述[J]. 自动化学报, 2018, 44(10): 1747-1763.
[4]
TONG Guofeng, LI Yong, LIU Nan, et al. Mixed feature extraction and matching for large affine scene[J]. Acta Optics Sinica, 2017, 37(11): 215-222. (in Chinese)
佟国峰, 李勇, 刘楠, 等. 大仿射场景的混合特征提取与匹配[J]. 光学学报, 2017, 37(11): 215-222.
[5]
JIANG Zutao, ZHU Jihua, LIN Zhiyang, et al. 3D mapping of outdoor environments by scan matching and motion averaging[J]. Neurocomputing, 2020, 372: 17-32. DOI:10.1016/j.neucom.2019.09.022
[6]
MA Jiayi, JIANG Xingyu, JIANG Junjun, et al. Feature-guided Gaussian mixture model for image matching[J]. Pattern Recognition, 2019, 92: 231-245. DOI:10.1016/j.patcog.2019.04.001
[7]
LI Hong, WANG Peng, BI Bo, et al. Oilfield remote sensing image matching based on improved PSO-SIFT algorithm[J]. Journal of Jilin University Science Edition, 2021, 59(2): 342-350. (in Chinese)
李宏, 王鹏, 毕波, 等. 基于改进PSO-SIFT算法的油田遥感图像匹配[J]. 吉林大学学报(理学版), 2021, 59(2): 342-350.
[8]
ZHU Zhiheng, FU Jinyang, YANG Junsheng, et al. Panoramic image stitching for arbitrarily shaped tunnel lining inspection[J]. Computer-Aided Civil and Infrastructure Engineering, 2016, 31(12): 936-953. DOI:10.1111/mice.12230
[9]
ZHANG Jing, CHEN Guangxue, JIA Zhaoyang. An image stitching algorithm based on histogram matching and sift algorithm[J]. International Journal of Pattern Recognition and Artificial Intelligence, 2017, 31(4): 175-180.
[10]
LOWE D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004, 60(2): 91-110. DOI:10.1023/B:VISI.0000029664.99615.94
[11]
DONG J M, SOATTO S. Domain-size pooling in local descriptors: DSP-sift[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2015: 5097-5106.
[12]
BAY H, ESS A, TUYTELAARS T, et al. SURF: speeded up robust features[J]. Computer Vision and Image Understanding, 2008, 110(3): 346-359. DOI:10.1016/j.cviu.2007.09.014
[13]
TOLA E, LEPETIT V, FUA P. Daisy: an efficient dense descriptor applied to wide-baseline stereo[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2009, 32(5): 815-830.
[14]
CALONDER M, LEPETIT V, STRECHA C, et al. BRIEF: binary robust independent elementary features[C]//Proceedings of European Conference on Computer Vision. Berlin, Germany: Springer, 2010: 778-792.
[15]
LEUTENEGGER S, CHLI M, SIEGWART R Y. BRISK: binary robust invariant scalable keypoints[C]//Proceedings of IEEE International Conference on Computer Vision. Washington D.C., USA: IEEE Press, 2011: 2548-2555.
[16]
ALAHI A, VANDERGHEYNST P, ORTIZ R. FREAK: fast retina keypoint[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2012: 510-517.
[17]
GUANG H, BROWN M, WINDER S. Discriminant embedding for local image descriptors[C]//Proceedings of 2007 IEEE International Conference on Computer Vision. Washington D.C., USA: IEEE Press, 2007: 1-8.
[18]
WINDER S A J, BROWN M. Learning local image descriptors[C]//Proceedings of 2007 IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2007: 1-8.
[19]
FISCHER P, DOSOVITSKIY A, BROX T. Descriptor matching with convolutional neural networks: a comparison to sift[EB/OL]. [2020-02-25]. https://arxiv.org/pdf/1405.5769.pdf.
[20]
RUSSAKOVSKY O, DENG J, SU H, et al. ImageNet large scale visual recognition challenge[J]. International Journal of Computer Vision, 2015, 115(3): 211-252. DOI:10.1007/s11263-015-0816-y
[21]
HAN X F, LEUNG T, JIA Y Q, et al. Matchnet: unifying feature and metric learning for patch-based matching[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2015: 3279-3286.
[22]
SIMO-SERRA E, TRULLS E, FERRAZ L, et al. Discriminative learning of deep convolutional feature point descriptors[C]//Proceedings of IEEE International Conference on Computer Vision. Washington D.C., USA: IEEE Press, 2015: 118-126.
[23]
TIAN Yurun, FAN Bin, WU Fuchao. L2-Net: deep learning of discriminative patch descriptor in euclidean space[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2017: 661-669.
[24]
MISHCHUK A, MISHKIN D, RADENOVIC F, et al. Working hard to know your neighbor's margins: local descriptor learning loss[EB/OL]. [2020-02-25]. http://pdfs.semanticscholar.org/56aa/2bc603fc174e22d9ee66d59a43c34aa0b63f.pdf.
[25]
ZHANG X, YU F X, KUMAR S, et al. Learning spread-out local feature descriptors[C]//Proceedings of IEEE International Conference on Computer Vision. Washington D.C., USA: IEEE Press, 2017: 4595-4603.
[26]
FAN Bin, WU Fuchao, HU Zhanyi. Robust line matching through line-point invariants[J]. Pattern Recognition, 2012, 45(2): 794-805. DOI:10.1016/j.patcog.2011.08.004
[27]
LOURAKIS M I A, HALKIDIS S T, ORPHANOUDAKIS S C. Matching disparate views of planar surfaces using projective invariants[J]. Image and Vision Computing, 2000, 18(9): 673-683. DOI:10.1016/S0262-8856(99)00071-2
[28]
WANG Zhiheng, WU Fuchao, HU Zhanyi. MSLD: a robust descriptor for line matching[J]. Pattern Recognition, 2009, 42(5): 941-953. DOI:10.1016/j.patcog.2008.08.035
[29]
VERHAGEN B, TIMOFTE R, VAN GOOL L. Scale-invariant line descriptors for wide baseline matching[C]//Proceedings of IEEE Winter Conference on Applications of Computer Vision. Washington D.C., USA: IEEE Press, 2014: 493-500.
[30]
LIU Hongmin, ZHI Shanshan, WANG Zhiheng. IOCD: intensity order curve descriptor[J]. International Journal of Pattern Recognition and Artificial Intelligence, 2013, 27(7): 135011-135037.
[31]
ZHANG L L, KOCH R. An efficient and robust line segment matching approach based on LBD descriptor and pairwise geometric consistency[J]. Journal of Visual Communication and Image Representation, 2013, 24(7): 794-805. DOI:10.1016/j.jvcir.2013.05.006
[32]
LÓPEZ J, SANTOS R, FDEZ-VIDAL X R, et al. Two-view line matching algorithm based on context and appearance in low-textured images[J]. Pattern Recognition, 2015, 48(7): 2164-2184. DOI:10.1016/j.patcog.2014.11.018
[33]
CANNY J. A computational approach to edge detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1986, 8(6): 679-698.
[34]
MIKOLAJCZYK K, SCHMID C. A performance evaluation of local descriptors[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2005, 27(10): 1615-1630. DOI:10.1109/TPAMI.2005.188
[35]
GIOI R G V, JÉRÉMIE J, MOREL J M, et al. LSD: a line segment detector[J]. Image Processing on Line, 2012, 2(4): 35-55.
[36]
Line extraction and matching in images[EB/OL]. [2020-02-25]. https://zhuanlan.zhihu.com/p/54126417. (in Chinese)
图像中的直线提取与匹配[EB/OL]. [2020-02-25]. https://zhuanlan.zhihu.com/p/54126417.
[37]
HARRIS C, STEPHENS M J. A combined corner and edge detector[C]//Proceedings of the 4th Alvey Vision Conference. Washington D.C., USA: IEEE Press, 1988: 147-151.