结合局部特征的遥感飞机目标识别
2018-10-13于丽
于丽
(上海海事大学信息工程学院,上海 201306)
0 引言
如今计算机视觉领域发展迅猛,各种算法如雨后春笋层出不穷。在图像识别领域,卷积神经网络(CNN)因其卓越的性能成为主流网络。随着计算机硬件升级和网络结构的改进,使我们更容易进行深层次神经网络的训练,最经典的LeNet5[1]由五层组成,后来发展的VGG[2]由19层组成,近来的Highway Network[3]以及残差网络[4]已突破100层,最近研究的残差网络甚至可以达到1000层。最近的密集卷积神经网络(DenseNet)[5]在残差基础上又做了改进,训练速度更快,准确度更高。因此本文基于密集卷积神经网络进行实验。
由于遥感飞机图像在拍摄过程中会遇到很多干扰因素,如光照、噪声、模糊、遮挡等,其中遮挡对于图像影响较大,大范围遮挡会使图像关键信息缺失,进而导致识别结果不准确。对于受遮挡图像的识别已经有很多方法,如周克虎[6]等人提出的基于Struck算法的遮挡目标追踪,对小范围遮挡图像的追踪效果较好,但是对大范围遮挡的鲁棒性较差;王晓华[7]等人也提出了一种融合局部二值特征(LBP)的算法,虽然对于遮挡的效果较好,但是计算量较大。
综上,本文将基于密集卷积神经网络结构,训练得到密集卷积特征,然后将密集卷积特征与尺度不变特征结合,最后送入Softmax分类器中,进行目标识别。实验结果表明,结合卷积特征与尺度不变特征的算法对于大幅度遮挡有很好的鲁棒性,能够胜任遮挡图像的目标识别任务。
1 卷积神经网络特征与尺度不变变换特征(SIFT)
1.1 密集卷积特征
本文实验基于密集卷积神经网络(DenseNet),其网络结构图如图1所示,通过分层特征提取得到十类飞机的卷积特征图。其中第一个卷积层(conv1)输出通道数设为16,得到16维特征图,同理三个部分的密集块(Dense Block)分别得到不同维数的特征图,最终得到196维特征图送到分类器中。取一类飞机为例,其卷积特征图如图2所示。在网络训练过程中将不断放大不同类别飞机的关键特征权值,促使不同飞机特征分离,最后送到分类器中实现目标识别。但是由于卷积神经网络提取的特征忽略了一些有价值的特征,导致飞机识别不准确,而人类的视觉系统集中于纹理、轮廓以及局部特征来识别图像,因此本文提取传统特征——SIFT特征,将传统特征与卷积特征结合,从而使特征信息更全面,提高算法鲁棒性。
图1 密集卷积神经网络结构示意图
图2 多个卷积层特征可视化示意图
1.2 尺度不变特征变换(SIFT)
SIFT(Scale-Invariant Feature Transform)[8]特征是基于物体上的一些局部外观的关键点,但是与图像的大小没关系,并且具有旋转不变的特性,同时对于光线变化、噪声也有较高的鲁棒性。基于这些特性,SIFT特征是高度显著且较容易获取,如今在大数据背景下,我们会获取到巨量特征数据,其中显著的SIFT特征能够准确辨识物体。更重要的是,由于SIFT特征的关键点特性,使其对于遮挡物体的检测率较高。
SIFT算法可分为以下几个步骤:
(1)建立尺度空间
SIFT算法本质就是在不同的尺度空间上查找关键点,且需要通过高斯模糊获取尺度空间,研究证明高斯卷积核是实现尺度变换的唯线性核,所以一幅图像的尺度空间定义如下:
其中 I(x,y)表示一幅图像,(x,y)表示空间中的像素点,L(x,y,σ)表示尺度空间,G(x,y,σ)代表尺度可变的高斯卷积核函数,σ越小表示尺度越小,卷积后得到图像越精细。之后为有效得到尺度空间中的关键点,提出高斯差分尺度空间(DOG Scale-Space),用不同尺度高斯差分核与图像卷积,公式如下:
接下来用高斯差分金字塔来直观表示尺度空间。有一幅图像I,建立其在不同尺度空间的子图s层,从大到小自底向上排列,之后将其上下两层图像相减得到高斯差分金字塔,如图3所示:
图3 高斯差分金字塔示意图
(2)检测DOG尺度空间极值点
图4 检测空间极值点示意图
获得尺度空间的极值点,需要将空间中像素点和它的所有相邻像素点进行比较,确保极值点是图像域和尺度域的极值。如图4所示:中间的一点需要与其相邻的8个点以及上下相邻层对应的18个点进行比较,如果这一点是这26点中最大或最小点,则这个点就是极值点。
但是图像分层后的首尾两层是没办法比较的,所以为保证尺度变换的连续性,用高斯模糊在顶层生成3张图,得到s+3层高斯金字塔,s+2层高斯差分金字塔。
(3)定位特征点
①精确定位:由上述步骤从离散空间中得到候选极值点,但是由于离散空间的极值点并不是连续空间的极值点,因此需要进一步精确定位特征点。即需要用三维函数的泰勒级数展开式作为拟合函数,舍去高阶项后泰勒级数展开的矢量表示形式如下:
其中X0表示离散空间下的极值点,X表示拟合后连续空间下的极值点,Xˆ=X-X0表示拟合后极值点相对离散空间极值点的偏移量。
对上式求导并令其为0,即可求出拟合后极值点相对离散空间极值点的偏移量Xˆ如下:
将公式(4)代入公式(5)中得到方程的值:
其中如果Xˆ大于0.5则表示极值点偏移到了临近点,必须改变位置重新计算泰勒级数展开,反复迭代直到小于0.5。如果超出迭代次数仍未收敛,则剔除此极值点。另外,如果 f(Xˆ)值过小容易受噪声干扰变得不稳定,因此设定阈值,使 f(Xˆ)值小于0.03的极值点剔除。
②消除边缘相应:极值点是在高斯差值尺度图像中求出的,但高斯差值尺度图像中,若极值点落在图像边缘,则这个点就是不稳定点,需要剔除。找到这个边缘极值点的原理是其高斯差分算子在横跨边缘的地方有较大主曲率,而垂直边缘有较小主曲率,主曲率通过二阶的Hessian矩阵H求出。主曲率与矩阵H的两个特征值成正比,两个特征值的比值越大表明在某方向有较大主曲率,另一方向较小。因此为剔除边缘点,让两个特征值比值小于某一阈值即可。
(4)给特征点赋值方向参数
为了使SIFT特征具有旋转不变性,用图像的局部特征给SIFT特征点加上梯度方向算子,计算像素的梯度幅值和方向公式如下:
其中(x,y)表示空间中像素点位置,m(x,y)表示像素点的梯度幅值,θ(x,y)表示像素点的梯度方向,L(x,y)像素点在尺度空间的尺度值。实际上,计算的是以关键点为中心的邻域像素的梯度方向,并且用直方图统计邻域像素的梯度方向,直方图的峰值就作为关键点的方向。至此,关键点的位置、所处尺度、方向计算完毕,得到SIFT特征区域。
(5)生成关键点描述子
首先将坐标轴旋转到关键点的方向,来保证算子的旋转不变性。然后以关键点为中心取8×8的窗口,在这个窗口内计算每个像素的梯度幅值和方向,进行高斯加权求和,得到128维SIFT特征向量,最后将特征向量归一化处理,以便去除光照的影响。本文飞机图像的关键点描述子可视化如图5所示。
图5 遥感飞机图像中检测到的关键点
2 结合卷积与传统特征进行飞机识别
2.1 建立数据集
建立A、B、C、D、E共五类受不同程度遮挡的遥感飞机图库,为模拟飞机图像受遮挡的情况,将用不同大小的黑块遮挡遥感飞机的任意位置,黑块大小分别为24×24、48×48、72×72、96×96 像素,其中部分训练集图像如图6所示。共建立训练集20000张图片,测试集8000张图片。
图6 部分遥感飞机图像
2.2 开始实验
本文实验平台为Windows7 64位操作系统,处理器:Intel Core i3-3110M CPU@2.4GHz,内存:4GB,深度学习框架:Caffe。为提高算法对于图像受遮挡情况的鲁棒性,本节将结合卷积特征与传统特征进行实验,传统特征选取HOG特征与SIFT特征,并且通过实验对比两种方法对实验结果的影响。其算法具体过程如图7所示。
图7 结合局部与全局特征的算法结构图
SIFT是通过将图像中的每个点或像素转换成特征向量来对局部特征进行详细描述的一种方法。从而使包含相似内容的图像共享比其他图像更相似的特征向量。即使在图像发生大幅度遮挡时,这些点特征的矢量也是稳健的。因此,通过结合卷积特征与SIFT特征,融合两种特征的优势并补足各自的缺点,然后将结合后特征送入分类器中。
图8 密集卷积特征与SIFT特征结合示意图
同样取十类飞机中的D类飞机为例,原始图像经过密集卷积网络最终得到196维卷积局部特征,取前100维进行可视化;同时对飞机图像获取SIFT关键点描述子。之后将两种特征结合后用直方图表示,如图8所示。
3 实验结果与分析
为了验证实验算法的有效性,本次实验分别将SIFT特征与密集卷积特征结合,然后送入联合监督的分类器中输出识别结果。并且将本次实验结合SIFT特征的算法、原始密集卷积神经网络算法与文献[9]提出的算法对比,文献[9]算法主要是提取Hu轮廓特征矩的方法对飞机图像进行识别,三种方法对十类飞机识别准确率的情况如表1所示。
表1 结合不同特征对遮挡遥感飞机图像的识别精度对比(%)
从表1观察到,三种算法对于小范围遮挡(24×24黑块遮挡)的识别准确率均在90%以上;对稍微大一点范围的遮挡(48×48黑块遮挡)鲁棒性也较高,其中DenseNet较文献[9]算法准确率提高3%左右,SIFTDenseNet较文献[9]算法准确率提高 10%以上;DenseNet算法对较大范围遮挡识别准确率下降较为明显,遮挡 72×72与96×96时依次下降 10%左右,而SIFT-DenseNet算法的识别准确率均比DenseNet高且识别准确率稳定。最后SIFT-DenseNet算法的表现最佳,对大幅度遮挡的识别准确率均在90%以上,平均识别准确率达到96%。由此得出结论SIFT特征对于遮挡飞机图像的识别准确率提高较大,尤其对大幅度遮挡的飞机图像有很高的鲁棒性。因此SIFT-DenseNet算法能够适应复杂背景下遥感飞机图像的识别。
SIFT特征结合卷积特征为什么对遮挡图像识别准确率有明显提升?为了得到答案进行一个仿真实验,首先提取未遮挡飞机图像的SIFT特征,之后与大幅度遮挡图像做SIFT特征点匹配如图9、10所示,图9表示不同类别飞机的特征点匹配情况,只有三个特征点匹配;图10表示同类别飞机的特征点匹配情况,有十个以上特征点匹配成功;因此得出结论,SIFT特征点对于大幅度遮挡图像的识别有较大帮助。
图9 不同类别遮挡飞机的SIFT特征匹配情况
图10 同类别遮挡飞机的SIFT特征匹配情况
4 结语
本文提出了一种结合卷积特征与SIFT特征的遥感飞机识别方法,采用40层密集卷积神经网络结构,利用其密集连接特性,降低网络参数的冗余,提高训练速度,增强网络泛化性。并且将卷积特征与SIFT特征结合,增强深度学习算法的判别能力。实验结果表明较传统机器学习算法,深度学习的密集卷积神经网络识别准确率有巨大优势,并且结合卷积与SIFT特征的密集卷积网络能够胜任受遮挡影响的遥感飞机识别。