APP下载

基于卷积神经网络的局部图像特征描述符算法

2020-02-26石国强陈星洲陈雨佳

上海航天 2020年1期
关键词:卷积神经网络样本

石国强,赵 霞,陈星洲,陈雨佳,陈 萌,郭 松,陈 凤

(1.同济大学 电子与信息工程学院,上海 201804;2.上海宇航系统工程研究所,上海 201109)

0 引言

近年来,各国研发了大量满足不同需求的航天器。由于太空环境恶劣以及设计、制造等因素,航天器在运行过程中会发生一些不可避免的故障,航天器维修、生命延长等在轨服务技术在空间竞争中非常重要。对空间目标进行精确三维重建是实现上述在轨服务的基础,其中局部图像匹配是基于序列图像三维重建的重要步骤之一。除此之外,局部图像匹配还广泛应用于计算机视觉的其他领域,如目标识别、图像拼接、运动结构。局部图像匹配由特征描述和特征匹配两部分组成,特征匹配主要采用欧式距离计算方法。传统的局部特征描述符提取是基于图像处理技术,如几何特征提取、灰度比较等,在此基础上生成64 维、128 维甚至更高维数用于描述该特征点的向量。该方法需要设计者具有丰富的设计经验以及大量的调试工作,同时难以满足实际应用中对复杂环境下特征点描述的要求。

近些年,深度卷积神经网络在众多计算机视觉领域取得巨大成功[1-4],如图像分类、目标定位、目标跟踪等,实验结果表明:神经网络可以从大量带有标注信息的图像中,有效地学习到不同图像深层特征。图像内各种几何纹理特征被网络反复进行学习和优化,最终得到用于描述图像的高度深层特征,这些特征能够准确地描述图像内各个目标。针对深度卷积神经网络的优秀特征提取能力,本文设计了一种基于卷积神经网络的局部图像特征描述方法,为局部图像的特征描述提供了一种鲁棒性更强、速度更快的算法。相比于传统特征描述符算法,本文方法将特征提取时间缩短了50%,特征匹配时间缩短了60%。

1 研究现状

目前图像匹配算法主要分为两类——基于图像特征工程和基于学习策略。基于特征工程的算法主要包括SIFT[5]、SURF[6]、BRIEF[7]等。SIFT 算法由Lowe[5]于1999 提出,该算法具有光照不变性、尺度不变性、局部仿射不变性和局部抗遮挡的能力,但其计算极其复杂,且特征描述符的输出维数为128 维,因此,该算法的时间和空间复杂度较高。SURF 算法由Herbet等[6]于2006年针对SIFT 算法提出的改进版,该算法在保持性能的同时,大幅提高计算效率,但特征描述符需要的计算资源较多。BRIEF 算法由Calonde等[7]于2010年提出,该算法输出二值特征描述符,在描述符的建立和匹配上速度更快,但其鲁棒性较差,不具有旋转和尺度不变性。

随着标记样本的增多以及计算机性能的提升,出现了一些基于数据学习的特征描述符设计方法。基于学习策略的算法将非线性引入到特征描述符映射这一过程中,从而增加描述符的分辨力,如文献[8-9]。Trzcinski等[8]用boosting 方法联合多个基于梯度的弱学习器,得到了类似于SIFT 的特征描述符,但描述符维数相比于SIFT 减少了一半;Si⁃monyan等[9]将描述符的池化区域和描述符维数都转换成凸优化问题进行学习,在提高匹配准确率的同时降低了描述符维数。

近几年,基于数据驱动的卷积神经网络在多个计算机视觉领域都取得了不错的进展,部分学者尝试将卷积神经网络用于提取特征描述符[10-12]。Han等[10]提出一种采用端对端联合训练特征描述网络和特征匹配网络的MatchNet,其中卷积池化层用于提取特征描述符,全连接层用于相似性比较并输出图像匹配概率。文献[11-12]将描述和匹配过程分开,用卷积神经网络提取特征描述符,并用欧式距离作为匹配准则。在UBC 基准测试上,以上基于卷积神经网络的特征描述符相比于人工设计或基于数据的描述符具有更好的性能。但也存在不足,文献[10]难以实现精准匹配,无法应用于对匹配精度要求高的任务(如序列图像三维重建);文献[11-12]的浅层网络对形变等情况的鲁棒性较差,无法胜任复杂环境下局部特征描述符的提取;此外,以上方法都存在描述符维度过高问题,导致特征匹配过程较为耗时。针对以上问题,本文提出使用全局平均池化来解决泛化问题,增强复杂环境下的特征提取能力;采用难样本挖掘方法训练网络,提升特征描述符的匹配精度;同时,采用线性组合优化特征描述符维数,提升特征匹配速度。

2 基于CNN 的特征描述网络

2.1 CNN 结构

卷积神经网络(Convolutional Neural Network,CNN)是深度学习方法应用到特征描述领域的理论与技术基础,其作用是进行图像特征提取与训练。图1 是经典的卷积神经网络LeNet 的结构示意图[13],主要由卷积层(Convolutional Layer,图1中的C1、C3 层)、池化层(Pooling Layer,图1中的S2、S4 层)、全连接层(Fully Connected Layer,图1中的C5、F6层)以及激活函数(Activation Function)等组成。

2.2 特征描述符网络结构

图1 卷积神经网络基本结构Fig.1 Basic structure of the CNN

本文提出的特征描述网络结构主要受VGG[14]启发,设计时遵循以下原则:1)采用多个连续的3×3 的卷积核代替一个大的卷积核,在增大网络非线性的同时减少了网络系数;2)在特征映射大小相同的各层,特征映射通道数相等。

针对已有方法以及图像特征描述符提取的特殊性,本文做出以下改进工作:

1)网络深度。文献[14]表明卷积神经网络越深,提取的语义信息越抽象,算法的鲁棒性越强。但特征描述符网络输入图像尺寸较小,以及需要保证对图像表面纹理的分辨能力,因此,本文更倾向于使用浅层的卷积网络用于特征描述符的提取。

2)全连接和全局平均池化(GAP)。大多数卷积神经网络采用连续几层全连接层来输出最终的特征符维数,该操作不仅会引入大量系数(一般的卷积神经网络中,全连接层系数个数占整个网络的50%以上),同时由于训练样本的单一化也会使描述符网络容易陷入过拟合,导致实际匹配效果较差。

3)相似性度量。相似性度量标准用于比较两个局部图像特征描述符的近似程度,进而决定图像的匹配性。常用的相似性度量标准主要有采用距离和概率两种指标,两个描述符越相似,则它们之间的距离越小或者概率越趋近于1。在实际图像匹配中,与某一点相似的点很多,故本文采用距离指标——欧式距离,作为本文的相似性度量标准。

本文提出使用GAP 层来代替全连接层,对任意大小的末层特征映射都采用全局平均值池化,每一个特征映射通道对应1 位特征描述符。GAP 层直接对特征映射提取的空间特征信息总结,得到的特征描述符应该更加鲁棒。由于GAP 层没有需要训练的参数,因此,该网络的系数大大减少,鲁棒性更强。根据以上两点改进,本文设计的4 种网络结构(A、B、C、D)见表1。

由于采用了GAP 结构,网络输出的描述符维数等于最后一层特征映射的通道数,表1中A~D 最终分别会产生128、256、512、512 维的描述符。当需要改变描述符维数时,采用改变特征映射通道数的方式会使需要微调的系数变得很多。因此,为了优化特征描述符维度,本文在最后一层特征映射层增加一层单独的全连接层作为线性组合。采用GAP 结合单层全连接层的方式,引入参数少且不影响卷积层的特征提取过程,只对生成的特征进行加权,分辨力越强的特征加权越大。当改变网络输出维数时,只需要在原网络上进行微调,重训练时间短。实验结果显示:这种结构能够保留大量图像特征信息,使生成的描述符具有很好的表达能力。

3 特征描述符实验

3.1 数据及实验训练

实验数据选自MVS 数据集,MVS 数据集包含约150 万张物体局部图像,每张图像尺寸大小为64×64,随机组合的正负样本会包含大量易区分的样本,采用该种样本训练后网络的泛化性较差。因此,本文在挑选正负样本时,只选择图像相似程度高的样本进行训练,部分负样本组如图2 所示。为了提升描述符网络的分辨能力,在利用前述样本训练收敛后采用了难样本挖掘的训练方法继续训练。

在训练过程中,用VGG 在ImageNet 训练得到的参数初始化C、D 网络参数,A、B 网络参数随机初始化。所有网络batch size为128,weight decay为0.005,激活函数都采用Relu。初始学习率为0.001,当训练损失函数稳定后,学习率缩小到10%再进行训练。所有卷积神经网络的实现都基于Caffe,网络模型训练使用NVIDA GEFORCE GTX 1080 显卡,需在Windows 10上搭建cuda8.0+cudnn6 的GPU 运行环境。

表1 网络结构Tab.1 Network structure

图2 训练所用负样本示例Fig.2 Negative samples for training

3.2 实验结果

3.2.1 测试集FPR95 比较

本文采用FPR95 作为4 种不同网络结构性能评估指标。该指标表示测试模型在正样本召回率达到95%时,召回样本中的错误率,其值越低表明模型的分辨能力越强。测试数据选取自由女神像(Lib)、巴黎圣母院(Ntr)和约塞米蒂国家公园(Yos)作为测试集,每组测试集包含50 万组图像。本文提出的各个网络模型以及传统的SIFT 和Dai⁃sy 模型描述符在测试集上的FPR95 见表2。

表2 描述符模型比较Tab.2 Comparisons of different description models

由表2 可知:传统算法FPR95 性能指标最低为18.17%,而本文提出的网络在测试集上的性能指标均明显优于传统算法SIFT 和Daisy,最佳性能仅为1.0%。其中,网络C 的性能最佳,表明描述符网络的深度不易设计得过深。对比网络C 不同描述符输出维度的性能,发现16 维描述符网络的性能跟128维的相当,表明卷积神经网络强大的学习能力。

3.2.2 图像匹配性能比较

图像匹配是对不同成像条件下获取的两幅或多幅图像的相同点进行匹配,而局部特征描述符常用于图像匹配。本节实验选取了4 组图像集,其中,前3 组来自MVE(Multi-View Environment)数据集[15],第4 组为我们实际拍摄。图3 展示了部分图像集。实验中,采用DoG(Difference of Gau-ss)算法对每张图像提取特征点,然后用各网络对每组序列图像进行特征匹配,并进行三维重建。以各个网络的得到的三维空间点数量比较各个网络的性能,点数越多,说明描述符越准确,性能越好,同时也列出各个网络计算1 000 个特征点的描述符以及匹配所花费的时间。各描述符重建结果见表3,三维重建主要参考Multi-View Environment[15]的方法。

图3 部分序列图像Fig.3 Partial sequence images

由表3 可知:在MVS 测试集上,本文提出的网络在特征点匹配数量上与传统方法性能相当的同时提升了匹配速度,其中网络A 和B 的速度是传统速度的2 倍。由于训练数据的单一性,导致C、D 网络在实际场景测试上效果较差,但结构简单的A 网络在测试集stone_carving 上性能与传统方法较为接近,表明简单网络的泛化能力强。

3.2.3 讨论

本节实验对比了不同描述符网络及传统描述符在MVS 数据集的性能、图像匹配性能。实验证明:基于CNN 的特征描述网络能够有效地提高算法的分辨力。在图像匹配中,Daisy 表现出了最好的性能,而A16、A128 以及C128 分别达到了Daisy模型的性能85.7%、92.5%和95.6%,具有不错的匹配准确率。由于GPU 的充分利用,描述符网络的计算时间快,且16 维描述符匹配时间远远低于其他描述符,在描述符匹配时间要求严格的场合可以考虑使用网络A16。

本节实验结果显示了卷积神经网络强大的学习能力,在后续研究中可以扩大数据集规模,选用更多场景下的局部图像数据集,并改进网络模型结构,从而有望进一步提高描述符的分辨能力。

4 结束语

本文采用卷积神经网络模型提取局部图像特征,生成特征描述符。采用Siamese 结构和对比损失函数训练描述符网络参数。利用GAP 和线性连接,降低了网络过拟合的风险,同时还降低了描述符维数,使得匹配效率得到提高。本文对不同结构的描述符网络进行了大量实验,总结了不同网络的结构特点,提供了网络的设计经验。其中,网络A-16 在保证较高匹配准确率的同时明显降低了匹配需要的时间。在实际图像匹配中,可以根据不同的应用需求,用不同的描述符网络代替传统描述符。

猜你喜欢

卷积神经网络样本
基于全卷积神经网络的猪背膘厚快速准确测定
基于神经网络的船舶电力系统故障诊断方法
MIV-PSO-BP神经网络用户热负荷预测
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
规划·样本
人大专题询问之“方城样本”
三次样条和二次删除相辅助的WASD神经网络与日本人口预测