基于改进ResNet-50的图像特征提取网络

2023-07-06 12:42汤博宇焦良葆魏小玉
计算机测量与控制 2023年6期
关键词:插值特征提取残差

汤博宇,焦良葆,2,徐 逸,魏小玉,孟 琳

(1.南京工程学院 人工智能产业技术研究院,南京 211167;2.江苏省智能感知技术与装备工程研究中心,南京 211167)

0 引言

图像的特征反应出了一幅图像的独特之处,其中包含着明显的结构性信息,是其与其他图像产生区别的重要属性[1]。图像的特征一般分为人造特征和自然特征,人造特征主要是人们为了对图像进行更好的分析研究所赋予图像的一些外部特征(平均梯度、熵等),自然特征是图像自带的内部特征(轮廓,纹理等)[2]。图像特征提取是对一幅图像进行深入解读的必要手段,如今,图像特征提取在各大领域中被广泛地运用,如目标检测、图像检索、运动结构等领域。

传统的特征检测算法[3]有Harris角点检测算法、SIFT算法、SURF算法、ORB 算法等。Harris[4]角点检测法利用图像的灰度参数来对图像进行描述,缺点是缺少尺度不变性,而尺度不变性在图像特征的提取中是不可或缺的一项重要特性;SIFT[5]算法最早于1999年被提出,得益于它的仿射不变性等各种优良特性,在图像特征提取领域被广泛使用,相较于Harris角点检测算法,图像配准的准确度大大地提升,缺点是运算速度较慢;SURF[6]算法是对SIFT算法的进一步改进,优化了计算的方式,使得算法的整体运算速度得到了提升,弥补了SIFT 算法的缺点;ORB[7]算法的最大优点是速度快,是一种快速的对特征点进行描述以及提取的检测算法,其由两部分组成,分别是FAST 算法和BRIEF算法,FAST 算法负责对特征点的提取,BRIEF算法负责对特征点的描述。这些传统算法主要利用一些数学原理,比如梯度特征、局部灰度值等,通过这些参数能够将物体本身的特征信息表达出来[8]。但是,传统的特征检测算法在面对弱纹理图像或者是亮度较暗的图像时,其特征提取的效果就会显得捉襟见肘,主要原因是这些图片的特征不够明显,如轮廓模糊,灰度值没有区分度等,都是导致传统算法特征提取效果不理想的原因[9]。针对这些问题,Huang[10]等人提出了利用FAST 算法对Shi-Tomasi特征点检测算法进行加速,提高特征点的检测速度;Li[11]等人提出了一种改进的KAZE算法,改变对特征点的检测方法等步骤来提高算法的及时性;Chang[12]等人提出了一种基于FAST-SIFT组合的局部特征检测算法,使用FAST 检测算法进行快速的特征提取,利用SIFT 的128维描述子进行准确的特征描述,从而实现快速的局部特征提取;Zhang[13]等人提出了一种多尺度Harris特征点检测算法,采用分组映射和模版匹配技术,实现了复杂背景图像的多尺度Harris特征点检测,提高图像特征点的定位识别能力。Zhang[14]等人提出了以Res-Net50神经网络为基础,并在其中融入SE模块,提高了图像特征提取的质量,可是SE 模块会在使用的过程中会为了降低模型的复杂度而降低维度,这就会使特征提取的效率产生了一定的影响[15]。

为了解决上述已有算法所面临的特征提取效果不理想的问题,本文提出了一种基于改进ResNet50的特征提取方法:首先,用改进过的超分辨率法对初始的低分辨率图像进行处理:图像经过小波变换分解成高频和低频分量,再对这两种分量分别进行双线性插值和双三次插值,接着进行小波逆变换,输出高分辨率图像,为后面的特征提取环节提供高质量的输入图片。接着,以ResNet-50网络为基础,将其与轻量级通道注意力模块——ECA(efficient channel attention)模块相融合,产生了一个全新的ECAResNet50模块。相较于其他通道注意力模块,ECA 模块在保证能够高效地获取所有通道的依赖关系的同时,保持图像的维度不会发生改变,同时还能对输入特征图的通道特征进行加强。将进行过超分辨率处理的图像输入改进后的网络中,进行特征的识别以及提取操作,并生成特征点的坐标,最后通过对孪生网络生成的单应性矩阵H 进行实验验证来证明网络的提升效果。

1 图像分辨率处理

图像分辨率的高低对于图像特征的提取有着一定的影响,低分辨率的图像中细节模糊,边缘不清楚,特征不明显,在后续的特征检测的过程中很容易出现特征点不准确,误匹配的情况。为了解决这些问题,需要对图像实行超分辨率处理,随后再用高分辨率图像进行后续的图像特征提取步骤。

1.1 传统超分辨率方法

在图像重建领域,传统的图像重建方法会对图像边缘处的高频部分产生平滑效应,使得大量的高频信息产生丢失的现象,这是图像重建领域存在的一个难题,这将直接导致最终重建图像的模糊不清。而基于小波变换的图像超分辨率重建的方法能够很好地缓解这些问题[16]。小波变换是把基本小波函数进行位移τ,再在不同尺度α下,与待分析信号f(t)作内积,具体如式(1)所示。在频域以及时域内的一些局部信息,通过小波变换能够完好地保留下来,同时还能够提取图像的细节以及边缘信息,通过这些操作,可以在对图像的重建过程中充分利用图像中存在的各种信息。从而,最终重建的图像中将会保留更多有用的信息,图像的细节方面也会更加地清晰准确[17]。传统的小波变换图像超分辨率重建主要有3个步骤:1)对图像进行分解,分成低频和高频分量;2)对低频分量和高频分量进行重建;3)将重建后的分量进行小波逆变换,最终将会得到经过超分处理后的图像。

式中,α>0,称为尺度因子。在图像处理领域,还可以通过插值的方法来增加图像的像素。假设原图像为g(x,y),在经过一番插值运算之后,输出的图像为g′(x′,y′),其中x′为插值后图像的横坐标,y′为插值后图像的纵坐标,插值运算实际上就是映射运算,如式(2)所示。常见的插值算法有最近邻点法、双三次插值、双线性插值这3种[18]。1)最近邻点法是零阶插值,在一个尺度空间内给定一个待采样点和一个点集,点集中离待采样点最近的那个点的像素值即为待采样点的像素值,此方法原理简单,但插值效果不那么理想;2)双三次插值,在待采样点的邻近选取16个点,对这16个点的像素值实行加权平均计算,最后将计算结果作为待采样点的像素值。此插值算法效果良好,缺点就是计算复杂,运行速度慢;3)双线性插值,在最近邻点法的基础上进行了改进,通过用待采样点四周的4个邻点的像素值,分别在x方向和y方向上进行线性内插的操作,从而得到了待采样点经过插值后的新像素值。3种插值方法在速度和插值效果方面不同,可根据不同的情况按需选择。

式中,h为映射计算。

1.2 超分辨率方法改进

用传统的超分辨率方法对图像进行处理后发现,虽然图像的清晰度相较于原始图像有所提升,但是图像仍存在着不同程度的失真以及模糊等问题。因此,提出了一种新的方法[19],具体步骤如下:

1)通过小波变换的分解,图像被分成了低频和高频分量。与此同时,对图像用Canny算法进行边缘提取,Canny算法由于其较低的错误率以及出色的边缘定位能力,一直被使用至今。

2)大部分的图像信息储存在低频分量中,比如图像的轮廓信息;而一些边缘以及细节部分的信息则存储在高频分量中。为了达到最理想的效果,需要对两种分量采取不同的插值方法:对于低频分量可直接用双三次插值法;高频分量存在有检测出的轮廓不清晰等现象,因此对于高频部分,需要结合Canny的边缘信息来得到新高频信息,并针对新高频信息采用双线性插值,可有效保留边缘信息并提高了插值速度。

3)通过小波逆变换得到高分辨的图像。具体的流程如图1所示。

图1 图像超分辨率处理流程图

2 图像特征提取

2.1 网络模型

孪生网络,是一种结构对称的网络[20],如图2 所示。在网络中存在两个编码器,编码器一般是由ResNet,VGG等一些基础的网络构成,input1和input2分别进入两个编码器中,两个编码器会将权值进行共享,所以正常情况下,两个编码器将会采用同一种卷积神经网络,以便更容易实现权值共享。两个输入进入编码器,被神经网络映射后,以一种全新的方式表现出来,最后再通过对Loss的计算,检测两个输入的相似度,同时也能够发现输入对之间的差异。

图2 孪生网络结构

本文中将采用改进后的ResNet网络作为孪生结构的编码器模块。残差块是ResNet残差网络主要组成部分,在此之前,网络结构比较浅,网络层数越多,训练集loss便逐渐下降至一个饱和值,当网络层数继续增加时,loss不会一直趋于平稳,反而逐渐增大。残差块的使用,使得网络的深度能够在保证正常工作的前提下得到进一步的加深。ResNet网络结构内的残差单元具体结构如图3所示。

图3 ResNet网络残差单元

残差单元将跨层传递的信息与经过卷积后的信息相加后输出。假定输入的图像为,经过卷积后输出的图像为,则最终输出的结果是,此输出仍然可执行非线性变换。上述式子中的即为残差,网络因此可以看作是对残差函数的求取,这样的残差函数相较于优化效果会更加明显。

ResNet-50网络中一共包含50 层网络,我们可以把ResNet-50网络看作是七个部分组成的一种网络,第一部分是对输入网络的信息进行卷积计算,正则化,激活函数以及最大池化的操作,第二、三、四、五部分继续进行卷积运算,且这些部分中包含了残差块[21]。第六部分进行平均池化的操作,第七部分是全连接层,具体的示意图见图4。

图4 ResNet-50网络组成示意图

2.2 改进策略

孪生网络存在着不足之处,假如只是将孪生网络进行简单的学习操作,那么最终会输出 “崩溃解”,即无论输入的是什么,模型为了将loss降到最低,最后会输出一个相同的常量,导致整个训练过程没有意义。为防止这种现象的发生,在孪生网络中加入预测器(由两个全连接层构成)以及stop-gradient操作,预测器主要用于对左侧编码器生成的特征图进行映射,具体结构如图5所示。将一组图像对分别输进两个编码器中进行特征的提取,预测器将左侧编码器生成的特征图进行映射操作,最后再进行两个图像之间相似度的计算。

图5 改进后的孪生网络结构

下文设计的特征提取网络将作为上文所述的孪生结构的编码器模块。ResNet残差神经网络不同于一般的卷积神经网络,通过在其中加入残差学习,一定程度上缓解了梯度弥散以及精度下降的问题。ResNet-50网络结构简单,易操作,其网络的参数量较其他网络更少,而其网络性能却更加强大。因此,在图像处理领域,经常被用作特征提取的网络,容易优化的网络结构,具有很大的研究价值。

把ECA 模块融合到ResNet-50网络中,以此来实现提高图像特征提取质量的目的。ECA 模块是一种轻量级通道注意力模块,其通道注意力机制,使得神经网络在对特征进行提取的时候,能够对显著特征更加地关注[22]。同时,与其他的通道注意力模块相比,ECA 模块不仅能够不降低维度,还能够保证高效地获取所有通道的依赖关系,同时还能对输入特征图的通道特征进行加强[23]。恰当的跨通道交互不仅能够降低模型结构的复杂程度,同时还能保证模型的高效率和可靠性。其具体的工作原理是,首先通过全局平均池化对空间信息进行压缩,然后使用1*1的卷积来学习通道注意力信息,接着将获取到的通道注意力信息与原始的输入特征图相结合,最后会输出一张具体通道注意力的特征图。其原理如图6所示。

图6 ECA 模块原理图

将ECA 模块与ResNet残差结构相结合,形成一个全新的ECA-ResNet50模块,具体结构如图7所示。

图7 ECA-ResNet50模块

全新的模块由于增加了ECA 轻量级通道注意力模块,因此在参数量和计算量上面会有一定量的增加,将其与原始的ResNet残差结构进行对比,这两种结构的参数量和计算量如表1所示。

表1 参数量与计算量

经过比较,我们发现经过改进后的ECA-ResNet50 结构在参数上仅比原本的ResNet残差结构多了6%,在计算量上更是仅仅增加了0.176%,在增加了少量的计算量的基础上,为网络带来了通道级的注意力机制,提高了特征的检测精度,性价比非常的高。

3 实验结果与分析

3.1 实验准备

本文中所使用的图像均来自于旷视科技开源数据集。所有实验均在Windws10 系统下的Matlab R2020a 和Pytorch深度学习框架下训练和测试,编程语言为Python3.9,训练和测试过程使用高性能服务器,其CPU 为Intel(R)Xeon(R)Gold 5118,显卡为一块英伟达GTX1080Ti。

3.2 实验结果

小波变换和插值方法的结合,使得图片的分辨率得到了有效的提升。为了验证分辨率提升后的效果,将从主观视觉方面以及客观数据方面进行呈现。利用改进后的超分辨率方法对原始的低分辨率图片进行处理,得到的效果如图8所示。可见,进行超分辨率后的图像比原图更清晰了,图片的细节方面也得到了有效的处理:第一组图片中的建筑物轮廓以及窗户的线条变得更加的清晰,原本迷糊不清的树枝经过超分辨率后变得清晰可见;第二组图片中建筑物阳台上的线条原本模糊不清,经过处理后可清楚地辨别出线条的分界线,细节处得到了加强;第三组图片中,原图中卡车后尾的英文字母看不清,超分辨率后的图中可清晰地看到其英文字母;第四组图片中,屋顶的花纹,门口石狮的脸部细节以及墙上的字的轮廓都更加明显;第五组图片中,远处的树以及近处屋顶的砖瓦的细节也得到了加强,更易分辨。由上可知,经过改进后的超分辨率方法在图像的边缘以及细节进行了很好地处理。

图8 图像超分辨率处理前后对比图

图8从主观视觉效果上对改进后的图像预处理进行了初步的说明,为了进一步验证图像预处理的有效性,将会从客观数据方面进行说明,这里以平均梯度为评价指标,公式如式(3)所示,平均梯度就是图像的清晰程度,平均梯度的值和图像的清晰度成正比。具体数据如表2 所示。从表中的数据中可以看出,经过超分辨率后的图像的平均梯度得到了有效的提升,说明图像的清晰度得到了增强,为下一步特征提取的操作提供更加显著的特征细节,保证了最终输出特征的高度精炼。

经过改进后的特征提取网络是否对特征点的提取质量得到提高,需通过相关实验得出具体的数据来进行验证。为此,设立了一个评价指标为均方误差(MSE,meansquare error)[24],通过该指标的数据来证明改进后的网络的提升效果。

由上文可知,把两幅图输入孪生网络后,可从预测器处输出一个单应性矩阵H。将数据集中的图像对用手工标注特征点,在每张图像上标注6个特征点,并记录下相应的坐标,如图9所示,原图和目标图中特征点的坐标位置相同。将原图中的特征点经过单应性矩阵H映射到目标图上,得到映射后的特征点的对应坐标,最后跟目标图中对应位置的特征点进行均方误差的计算。

图9 图像超分辨率处理前后对比图

MSE是将真实值与预测值的差值的平方然后求和,最后再进行平均,具体形式如式(4)所示:

由于标注的是6个特征点,所以上式中的m取值为6,最后计算出的MSE值越小,说明经过单应性矩阵H映射后的特征点和目标图上的特征点的偏移量越小,特征提取的效果越精确。

为了验证改进后的特征提取网络的特征提取的效果以及ECA 模块的使用效果,将会通过消融实验来进行验证,消融实验与控制变量法类似,通过增减不同的模块来验证该模块的有效性,此处将会设置四组实验来进行验证。分别是,原图+ResNet50网络,超分后的图片+ResNet50网络,原图+ECA-ResNet50模块,超分后图片+ECA-Res-Net50模块。具体的实验数据如表3所示。

表3 消融实验结果

由表3可知,进行超分后的图片+原始的ResNet-50网络比原图+原始的ResNet-50网络降低了1.78,把ECA 模块融入到ResNet-50后,比之前两个实验有了大幅度的提升,分别下降了5.45和3.67。而将图片进行超分辨率处理后,再输送进含有ECA-ResNet50 模块的网络中,相较于第一组原始图片+原始ResNet-50网络,整体的均方误差下降了6.65。ECA 模块为网络带来了通道注意力,使得网络对关键特征的提取能够更加地高效凝练,相对于原始的ResNet-50网络,特征提取的效果有了显著的提升。而对图像进行超分辨率的操作,虽然提升的效果没有ECA 模块那么显著,但是也有一定的效果。

4 结束语

本文主要对图像特征质量低的问题进行了研究与改进:1)为了获得更清晰的图像,对图像进行了超分辨率操作,为后续的特征提取操作提供了一个高质量的图片素材;2)加入了轻量级的ECA 模块,为整个网络增加了通道注意力机制,使得网络能够更加关注关键部分的特征,从而提高最终提取出的特征点的质量以及精度;3)为了能够更加客观地量化模块的效果,本文采用了均方误差这一量化方式,通过最后的实验数据来直接有效地说明超分辨率操作以及ECA-ResNet50模块的有效性。本文所提出的一整套图像特征提取的方法与以前原始的特征提取方法以及一些专家学者所提出的方法相比,有着较为明显的提升,但在后续的研究中,还需要对图像特征检测的速度及精确度进一步的加强,以达到更加完美的特征检测效果。本文所展示的方法应用范围广泛,可应用于目标检测、图像识别、图像拼接等方面,发展前景广阔,研究价值极大。

猜你喜欢
插值特征提取残差
基于双向GRU与残差拟合的车辆跟驰建模
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
基于Sinc插值与相关谱的纵横波速度比扫描方法
基于Daubechies(dbN)的飞行器音频特征提取
Bagging RCSP脑电特征提取算法
一种改进FFT多谱线插值谐波分析方法
基于四项最低旁瓣Nuttall窗的插值FFT谐波分析
平稳自相关过程的残差累积和控制图
基于MED和循环域解调的多故障特征提取