唐小佩, 杨小冈, 刘云峰, 任世杰
(1.火箭军工程大学,西安 710025; 2.火箭军驻成都地区军事代表室,成都 610036)
近年来计算机视觉相关技术发展迅猛,其中图像识别技术成为研究的热点课题,广泛应用于社会管理、商业交易、军事任务等领域。尤其在军事上,战场态势瞬息万变,迅速精准识别敌方目标在现代战争中是决定胜败的关键,因此,大力发展图像识别技术成为未来部队战斗力生成的关键环节。遥感图像飞机目标识别作为图像识别在军事领域的典型运用,对于信息化战争中侦察敌方军力部署,有效打击飞机目标具有重要意义。
近年来,研究人员针对机场飞机目标的识别问题进行了广泛而深入的研究,取得了一些成果。文献[1]采用优化组合不变矩识别飞机目标,运用支持向量机(Support Vector Machine,SVM)完成识别飞机的任务,该方法可以克服采用单一特征无法有效充分描述目标的缺陷,但是特征融合困难,抗噪性能较差;文献[2]提出了一种基于尺度不变特征和奇异值分解算法融合的红外飞机目标识别方法,该方法得到的尺度不变特征和奇异值具有对光照、位置和旋转较好的不变性,但实时性差,无法保证较高识别率;文献[3]给出了以视觉对称性以及显著性两项检测为基础的飞机识别算法,能够快速准确识别遥感图像飞机目标,但由于一些干扰物如车辆也具有对称性,所以存在一定的误差;文献[4]提出了一种由粗到精的策略,在粗匹配阶段使用图像的边缘信息获取备选目标,精匹配阶段利用形状特征完成对候选目标的匹配,虽说能够有效识别出遥感图像中的目标飞机,但由于此算法的识别精度由先验目标的形状分割及姿态数据决定,鲁棒性较差。
深度学习技术是近几年的热点话题,在学术界和工业界都产生了巨大影响。通过构建与人脑类似的多层模型结构,对获取的数据逐层提取特征,能够较好地形成从底层信号至高层语义的对应关系,具备极强的从少量样本中总结数据集本质特征的能力[5]。卷积神经网络(Convolutional Neural Network,CNN)作为在图像处理领域常用的深度学习架构,目前已经成功应用于手写字体识别、医学图像分割、人脸识别等方面,充分证明了CNN提取图像原始特征的强大性能和良好效果[6]。
本文正是基于CNN强大的图像特征提取能力,并针对飞机停机位置存在阴影的问题,结合Canny算子获取飞机边缘轮廓特征的思路,最后经SVM分类器实现飞机目标识别。与传统的飞机识别方法相比,具有以下优点:
1) 无需进行繁杂的预处理和人工设置卷积核,过程更加简单;
2) 对于图像旋转、缩放、扭曲具有良好鲁棒性;
3) 针对飞机特征提取结果,强化了图像的边缘轮廓特征,得到了原始图像的最优特征。
特征提取环节是图像识别过程中最为关键的环节,本环节对识别的准确性起着决定作用。好的特征具有以下3个特性[7]。
1) 能区分。不同类型飞机目标的特征有显著差异。
2) 不变性。相同类型的飞机目标特征类似,无显著变化。
3) 鲁棒性。具有良好的抗图像旋转、缩放、扭曲的特性。
图1所示为本文所用的CNN结构,其提取特征过程包括逐层建立网络、网络训练以及提取特征3个主要阶段。
图1 深度卷积神经网络结构Fig.1 Deep convolutional neural network structure
构建网络:7层网络结构,输入层I1是像素大小为200×200的图像;C2为卷积层,包含6张像素大小为196×196的特征图像,经由输入图像与6个像素大小为5×5的卷积核以及偏置项bi卷积而得到;S3为降采样层,通过对输入图片像素大小为2×2范围之内的4个数实施加权平均,随后经由sigmoid激活函数获取得到6张像素大小为98×98的特征图像,以便缩减图像冗余,有效处理数据;C4为卷积层,卷积之后得到8张像素大小为94×94的特征图像。对其进行降采样处理即可得到S5,8张像素大小为47×47的图像;F6为全连接层,它把上一层所得到的特征图像组合成列向量,即为特征向量,随后再用BP算法完成参数调整并最终获得结果O7。
下面分别为卷积层和降采样层的算式[6]。
假设第l层为卷积层,第l+1层为降采样层,卷积层算式为
(1)
降采样层算式为
(2)
描述池化层l第j个神经元降采样后的输出。式中:w为连接权重;down()为降采样函数;b为加性偏置;f为激活函数。常见操作通常为针对图像输入的多种n×n块内全部像素求和,如此一来,图像输出都能够变小n倍。
CNN的训练过程如图2所示。
图2 卷积神经网络训练过程Fig.2 Training process of convolutional neural network
CNN的训练过程主要包含下述两个阶段。
1) 正向传播阶段。将训练数据经输入层传入隐藏层,经过处理后再传到输出层,最后由输出层输出结果。
2) 反向传播阶段。求解正向传播结果与正确结果之差,用最小化误差方法反向传播误差,前一层各神经元根据误差对权重进行更新。
通过卷积实现特征提取,已有大量实验验证了通过CNN能够有效获取原始图像特征。但是传统的CNN只用了最后输出层的特征,实际上卷积中获取的特征图像同样能够全面描述原始图像。本文正是利用了这些特征,提高了特征的表现力,图3所示为利用CNN提取特征的过程。CNN训练结束之后,将卷积过程中所得图像的全部特征有效提取出并获得特征向量,最后经SVM进行识别。
图3 深度卷积神经网络特征提取过程Fig.3 Feature extraction process of deep convolutional neural network
Canny算子[8]是一种一阶微分算子,有很多优化后的新形式[9-10],不过传统算法是对像素大小为2×2的邻域范围中求解有限差分继而得到梯度幅值。Canny算子算法实现的方式如下所述。
1) 首先使用2D高斯滤波模板完成图像卷积过程,去除其中可能存在的噪声。
2) 对图像进行滤波处理之后所获结果的各像素,分别求解梯度方向及大小。求得能够使用像素大小为2×2的模板,作为对x,y两个不同方向的一阶偏微分近似值,即
(3)
(4)
由此得到梯度的大小M和方向θ分别为
(5)
(6)
基于梯度方向,能够获取与此方向相邻的像素为
3210x0123
3) 针对所获梯度幅值实施极大值抑制处理。如果某个像素的灰度值不都大于其梯度方向上前后两个像素的灰度值,那么将该像素置为0,即不是边缘点。幅值阵列M越大,则其图像梯度值必定越高,不过仅凭此仍然无法确知边缘,还需要对屋脊带进行细化,才能够获得细化边缘。
4) 阈值化和边缘连接。对已经完成非极大值抑制处理所获幅值实施双阈值化,去除其中伪边缘。
图4所示为Canny算子的处理流程。
图4 Canny算子处理流程Fig.4 Processing flow of Canny operator
机场飞机遥感图像多数是在有充分光线情况下获取的,所以目标飞机可能因为光照角度不同而在与此目标连接的特定位置区域出现阴影,如图5所示。
图5 机场飞机遥感图像Fig.5 Remote sensing image of aircraft at the airport
分析机场获得的大量遥感图像后,发现在目标和阴影间存在的过渡区域中特征灰度有显著跃升特点。运用Matlab内嵌的improfile函数对遥感图像进行扫描,重点获取其中飞机目标,得到图6的灰度分布曲线图。
由于阴影区域内部的灰度分布有下述趋势,也就是与目标较近的区域通常有较低灰度值,而与其较远的区域则通常有较高灰度值,AB间灰度值较低的区域即为阴影区域,其中,A距离目标更远,因此灰度值更高,B距离目标更近,因此灰度值更低,C即为与此阴影邻接区域的像素,该点灰度值与两侧相比高出许多。据此特征可知,设定这个阴影内有最小灰度值点为参照点,譬如在N×N区域内检索获取灰度值出现跃变的点,即灰度值超过A点的位置。如未搜索到,则扩大模版继续搜寻,直至找到满足条件的点如C点,将此C点界定为种子点,用区域生长办法对图像进行分割处理。区域生长理论中核心内容是把性质类似的像素连通形成特定区域,本算法实施过程分4步概述如下。
图6 阴影区域灰度分布Fig.6 Gray distribution of shadow area
1) 设定种子点。将C点即阴影区域灰度值发生跃变的点设为种子点。
2) 以一定规则搜索相邻区域。本文基于目标灰度值分布具有相似性的规则搜索相邻区域,灰度值同种子点灰度值低于阈值T,T=10。
3) 生长。运用种子点的贯通及邻接两个特性,根据相似性规则进行生长。
4) 终止策略。当不再有像素满足加入该区域的生长规则时,区域停止生长。用前述生长技术进行分割获得目标,然后进行形态学处理,腐蚀图像后再对其进行膨胀处理,就能够得到连通性较好的目标区域。图7即为图5所示飞机目标的分割过程。
获得飞机轮廓边缘以后,以主成分分析(Principal Component Analysis,PCA)方法获得主轴方向上边缘轮廓上两点之间连线,假设把主轴平均分割出k+1份,从等分点出发与主轴垂直的方向引出直线与轮廓相交,逐个求取交点间欧氏距离,并形成一维向量L=[d1,d2,d3,…,dk],即为飞机目标的特征向量。
图7 遥感图像目标分割Fig.7 Object segmentation of remote sensing image
总结本文提出的飞机识别方法,形成如图8所示的飞机识别系统。
图8 飞机识别系统Fig.8 Aircraft recognition system
训练阶段:首先,把训练样本输入CNN得到预训练网络结构,再进行样本特征的提取;其次,将得到的特征进行归一化,PCA降维;最后,结合所获标签及特征,对SVM分类器进行训练。
测试阶段:将测试样本输入已经训练好的CNN,提取特征并进行归一化以及降维等处理,再经训练阶段得到的SVM分类器获取结果。
本文所使用遥感图像数据来自于谷歌地球软件,为了提高实验的准确性和可靠性,人为提取并且标记其中战斗机、轰炸机和客机的图像,定义为训练以及后续测试所用样本,样本中600张用于训练,285张用于测试,而且全部图像的分辨率像素大小均至少为200×200,部分图像如图9所示。
图9 部分机场遥感图像样本Fig.9 Part of the airport remote sensing image samples
实验通过Matlab R2014a软件完成,Windows7操作系统,Intel Core i7-4790K CPU,主频4.00 GHz,内存容量16 GB,使用LIBSVM工具箱和RBF核函数,而惩罚系数C以及Gamma参数通过网格寻优获取。
首先将数据集中所有彩色图像进行灰度化,考虑到篇幅限制,只给出卷积过程中部分特征图像,如图10所示。
图10 深度卷积神经网络部分特征图像Fig.10 Part of the feature images of CNN
表1主要提供了不同特征对应的识别率,表2主要提供了实验过程中所用的部分特征参数,其中,A为边缘轮廓特征,B为深度卷积神经网络提取特征。对表1进行分析可知,如果单独使用B深度卷积神经网络提取的特征,准确率为93.33%;而使用A边缘轮廓特征的准确率为88.07%;如果同时使用A和B,则识别飞机正确率能够达到94.39%。因为类型不同的多个飞机,机型必有差别,运用Canny能够有效获取各类飞机边缘轮廓的特征,因此能够把不同类型的飞机区分开。结合上述提取特征的两种办法,即可得到深度特征,因此能够更加有效地识别飞机目标。
表1 不同特征的识别率比较
表2 特征参数
本文建立了一个7层CNN结构对机场遥感图像进行训练,运用CNN提取飞机目标的深度特征,针对飞机停机位置存在阴影的问题,利用Canny算子获得准确边缘特征,再使用SVM分类器识别不同类型飞机。由于单一特征描述存在局限,不能全面展现图像所有特征,本研究将两个有效特征结合,使得飞机识别的正确率提高至94.39%。当然本研究仍有很多不足需要改进,譬如怎样挑选核函数,怎样完成参数设定等仍待进一步研究。
参 考 文 献
[1] ZHU X F,MA C W.The study of combined invariants optimization method on aircraft recognition[C]//Symposium on Photonics and Optoelectronics,2011:1-4.
[2] 李萍,张波,尚怡君.基于红外图像和特征融合的飞机目标识别方法[J].电光与控制,2016,23(8):92-96.
[3] LI W,XIANG S M,WANG H B,et al.Robust airplanes detection in satellite images[C]//The 8th IEEE International Conference on Image Processing,2011:2821-2824.
[4] LIU G,SUN X,FU K,et al.Aircraft recognition in high-resolution satellite images using coarse-to-fine shape prior[J].IEEE Geoscience and Remote Sensing Letters, 2013, 10(3):573-577.
[5] JI Z,LIU Q,NIE L H,et al.Texture classification with convolutional neural network[J].Journal of Frontiers of Computer Science & Technology,2016,10(3):389-397.
[6] 邓柳.基于深度深度卷积神经网络的车型识别[D].成都:西南交通大学,2015.
[7] 曹婷.一种基于改进深度卷积神经网络的目标识别方法研究[D].长沙:湖南大学,2016.
[8] CANNY J.A computational approach to edge detection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1986,8(6):679-698.
[9] LO T Y,SIM K S,TSO C P,et al.Improvement to the scanning electron microscope image adaptive Canny optimization colorization by pseudo-mapping[J].Scanning, 2014,35(6):530-539.
[10] 冯珂,朱敏,钟煜,等.一种改进的Canny边缘检测AGT算法[J].计算机应用与软件,2012,29(3):265-266,300.