史珊珊,史鹤欢
(1.西安航空学院电子工程学院,西安 710077;2.空军工程大学航空航天工程学院,西安 710038)
对图像中目标的精确和鲁棒识别是图像处理与模式识别领域的重要内容,在环境监测、战场侦察、精确打击等方面有着重要的作用和广泛的前景。近年来,随着机器学习的蓬勃发展,深度神经网络在模式识别领域取得了非常好的效果,受到了学术界、工业界及军事界的广泛重视。
对飞机目标的准确识别,在精确打击、高空或地面侦查、战场态势的掌握、作战战术战法的制定等方面具有重要的意义,但飞机因姿态多样、数据背景复杂,且同类型飞机涂层多变、改进版本多,挂载武器的多少,以及数据采集中可能引入运动模糊和噪声等,导致飞机目标识别难度非常大。现有飞机识别算法按特征主要分为不变矩、边缘特征、对称性、小波特征、核方法[1]等;按识别原理主要分为神经网络、支持向量机、目标匹配等算法[2]。文献[3]采用优化组合矩特征对飞机目标进行识别,在多种不变矩中筛选出7 维不变矩作为识别特征,使用SVM 识别分类,该方法可以克服单一特征描述信息能力不强的缺陷。文献[4]采用显著图和对称性对飞机进行目标识别,首先提取遥感图像中的显著目标,然后判断目标是否有对称性,若有则为目标,否则为背景,该算法能较快地检测识别图像中的飞机目标。以上两个算法均在飞机目标识别中取得了不错的效果,特别在简单场景中俯视飞机时判断目标是否为飞机取得了很好的效果,而在实际应用中飞机的姿态多变、场景复杂,以上两种算法的识别效果比较差,因此,选择怎样的算法提取到鲁棒的特征并取得较高的识别率仍是比较困难的。
目标的精确识别因目标多变、光照和背景的变化、非刚性形变等因素,使其成为模式识别的重点和难点,解决这个问题越来越趋向于使用深度学习的方法,文献[5]就采用深度神经网络实现的SAR遮挡目标的高效鲁棒识别。由多层可训练权值的网络层堆叠而成的多层卷积神经网络(Convolutional Neural Networks,CNN)在ImageNet 和NORB 等数据库上取得了非常好的识别效果[6-9],该算法取得成功的一个非常关键的因素是使用了卷积。但算法采用监督的训练方式,需要大量标签数据对网络权值进行调整,当数据量小时会导致网络无法充分地训练。目前主流的解决方法是通过非监督训练从原始数据中学习得到网络的初始权值,再利用相对较少的标签样本对网络进行监督训练使其达到最优。文献[10-11]采用稀疏编码和独立成分分析的方法进行非监督训练,取得了较好的结果。然而这些算法的网络层数太多,对数据量相对较少的飞机目标即使使用非监督训练也无法使网络得到充分训练,因此,选择和设计怎样的网络模型实现对飞机目标的准确识别需要探索。文献[12]基于文献[9]提出了一种基于主成分分析的非监督训练网络,在手写字符等经典的数据库上取得了比较好的效果,但由于主成分分析时只会选取主要的几个成分,其余成分将被删除,导致了一定程度的特征损失。文献[6-12]都采用了一种目前非常流行并且行之有效的方法——卷积,文献[13]利用该技术实现了人脸检测、姿势以及性别的高效识别,文献[14]实现了对手写汉字的离线识别。
目前对于飞机目标的识别只是集中在飞机目标在二维空间(俯视飞机)上的变化,而在三维空间中的相关工作还属于空白,而这种变化不仅仅只是维度上的增加,更重要的是对目标识别模型特征提取的挑战,特别考验模型对旋转变换的鲁棒性。根据以上分析,本文基于文献[9]和文献[12]的思想,提出一种针对飞机目标的基于卷积自动编码器的目标识别算法。首先利用CAE 非监督训练得到卷积滤波器组,与输入数据卷积提取图像目标的卷积特征;接着再次利用CAE 训练卷积滤波器集合,第2次提取卷积特征;然后对提取到的卷积特征进行哈希变换和直方图统计;最后利用支持向量机(Support Vector Machine,SVM)进行识别分类。
卷积自动编码器[13]是在自动编码器(Auto-Encoder,AE)和噪声抑制自动编码器(Denoising Auto-Encoder,DAE)的基础上提出的,三者都基于非监督训练提取特征,而AE 和DAE 需要将输入数据按照光栅扫描顺序拉成一维向量进行处理,必然会引起图像二维结构信息的损失,并可能引入冗余。在AE 和DAE 的基础上,引入CNN 的卷积和下采样方法,提出CAE,它是一种针对二位数据具有层次结构的神经网络模型,与图像的二维拓扑结构恰好吻合,可以将图像数据直接作为CAE 的输入,避免了图像重构导致二维信息的损失。
CAE 的目的是对输入数据进行卷积的编码和解码,通过卷积和下采样的编码找出数据中局部特征的结构和规律,通过逆向解码还原数据。如图1所示CAE 示意图,包含卷积层、下采样层、上采样层、反卷积层。
图1 卷积自动编码器(CAE)示意图
式中,*表示二维卷积,bk为编码阶段第k 个通道的偏置,σ 为非线性函数,采用sigmoid 函数。
卷积层后是下采样层,下采样主要是对卷积层输出的特征降维和模糊,二次特征提取,能够使模型对输入数据的局部变化有一定的鲁棒性,采样层输出的特征图数目与输入个数相同。目前常见的采样方式一般有最小值、均值、中值、最大值等。最大值下采样是把大小为m'×n'块中的最大值作为下一层的值:
式中,i 表示层数,(x,y)表示下采样后坐标,(j,k)表示上一层特征图被采样点坐标,N(x,y)为采样块。
最后一层反卷积层为:
CAE 对原始数据编码再解码,并不断学习来调整卷积核W 和偏置b,使式(4)成立。
学习主要通过优化损失函数,一般采用均方误差(MSE)作为损失函数,如式(5),通过最小化均方误差E(θ),使用BP 算法对网络参数调整学习。
一般的目标识别模型中,特征提取通常由一组或几组滤波器,一个非线性变换,和某种特征采样层组成,对原始数据进行特定特征的提取,这种利用层级的模型对数据的特征提取相当于提取物体局部边缘等基本图案。滤波器可由人工设定或通过某种形式的非监督训练的方法获得;非线性操作主要有量化、稀疏化、标准化等;采样层可由最大值、平均值、灰度直方图等实现。根据这个思路提出本文特征提取模型。
特征提取模型如图2 所示,包含3 个级联阶段:第一和第二阶段原理和方法一致,利用CAE 从该阶段输入数据中学习卷积滤波器,与输入数据卷积提取卷积特征,第一阶段的输入为原始数据,第二阶段为第一阶段输出的卷积特征;接着对特征进行哈希变换和直方图统计。
图2 特征提取模型流程图
哈希变换的作用是非线性变换,使特征数据稀疏,并使模型具有非线性泛化能力;直方图统计本质上是采样,对哈希变换后的特征进行下采样,首先得到特征的灰度特性,并且能对数据降维。
不失一般性,特征提取模型按照一般模型的构建思路,由两层卷积层,一层哈希变换和灰度直方图构建,形成了一个从提取卷积特征,到特征非线性,再到降采样的完整体系,并通过非监督训练来调节模型参数,提取鲁棒的特征,提供给分类器进行分类识别。
本文仿真实验使用网络上公开的可见光飞机图像数据,由多种型号、不同场景、不同姿态的飞机数据组成。实验选用7 种型号飞机目标(如图3),包含5种美制飞机:P8 反潜巡逻机、P3c 反潜巡逻机、F15 战斗机、F16 战斗机、F18 战斗机,2 种俄制飞机。2 种俄制飞机相似,视为一类,故7 种型号飞机组成6 类飞机的数据库,其中训练样本总数为7 000 幅,测试样本总数为600 幅。经校正调整使目标基本处于图像的中央位置,并将图像大小调整为60×60 的图像块。其次为增强网络模型对图像噪声和模糊的泛化能力和鲁棒性,将原始图像数据进行加噪和模糊处理(图4),对数据库进行扩充。实验环境为CPU3.1 GHz、内存16 G 的计算机,软件平台为matlab(2010b)。
特征提取模型两个卷积阶段滤波器大小设定为k1'×k2',个数L1=L2=8,直方图统计阶段收集图像块大小为a×b,CAE 的训练周期为600,下采样采用最大值下采样,采样块大小为2×2。
图3 部分飞机数据库
图4 数据扩展
图5 CAE 非监督训练两个阶段的滤波器组(归一化)
图6 特征提取模型各阶段提取的特征(归一化)
如图5 和图6 所示CAE 非监督训练所得到的卷积滤波器和单幅图像识别所提取的特征,利用CAE 训练的卷积滤波器与原始数据卷积提取两个阶段的特征,图5 中虽然无法从直观上得到滤波器的规律,但从图6 可以看出,卷积所提取的特征为图像目标的边缘结构特征信息,并且在每一个阶段中的8 个滤波器所提取出目标的边缘结构特征信息是不同的,这些卷积特征能够从不同的角度描述原始输入图像,并且能很好地减弱背景对特征提取的影响。接着对卷积特征进行哈希变换和直方图统计,这样相当于CNN 的非线性和下采样,使提取到的特征对平移、旋转或局部形变有一定鲁棒性。
利用SVM 进行目标分类识别测试,对所提取特征的鲁棒性作进一步的测试。结果如表1,对比算法为Softmax、SVM、5 层CNN 和DBN。
表1 目标识别测试结果对比
模型参数包含滤波器尺寸k1'×k2',直方图统计阶段图像块大小a×b,以及模型卷积层个数,滤波器个数L1=L2=8。识别率与参数的关系如表2 所示。
表2 模型不同参数下的识别结果
表1 中,本文模型优于经典的机器学习算法,本文方法属于深度学习,因此,较浅层学习的SVM和Softmax 对复杂的飞机目标效果好;而本文识别方法最后所采用的分类器是SVM,从这一点也可以说明特征提取模型的优势;较相同层数的CNN 和DBN 识别率高,虽然两者都是深度学习模型,但DBN 需要将二维图像数据拉成列向量,使图像的二维结构信息损失,5 层的CNN 较本文方法的模型参数少,因此,本文方法的非线性能力较强,对MNIST手写字符数据库两者取得的效果相当,但对于相对比较复杂的飞机目标就显现出差距。
本文模型随着参数的改变会对目标识别结果有一定的影响,通过不断调整参数并经过大量实验得到表2,直接体现了模型在不同参数下对飞机目标的识别效果,表中结果表明模型在卷积层数为两层,滤波器尺寸为7×7,直方图统计阶段图像块大小为11×11 时取得最高的识别率91.67 %,并且在表中以91.67 %识别率为中心,改变层数、卷积核大小以及直方图统计图像块大小,识别都呈现下降趋势。
对于特征提取模型,2 层较1 层卷积能够取得最好的效果,1 层卷积提取的特征较原始数据输入SVM 的识别效果差,可进一步推断利用卷积能够提取鲁棒的目标特征,并且2 层比1 层更能提取和表征原始目标特征,并有助于提高目标识别率。
经统计,本文模型对大小为60×60 的单幅灰度图像识别平均耗时0.09 s,因此,模型实时性较好。
图3 所示部分飞机数据,包含同种机型的不同姿态,及不同场景下的目标。对于神经网络而言如果在训练数据中加入与待测目标类似的目标数据,那么识别该待测目标的概率会大大增加,因此,要使同种机型不同姿态得到识别,就尽量使不同姿态的目标得到尽可能多的学习,在训练数据中尽量遍历所有姿态,进而提高模型对姿态变化的鲁棒性。文中数据库的最大特点就是飞机姿态的三维空间变化,因此,可以识别率结果直接体现了模型对飞机姿态变化的鲁棒性。
本文提出基于CAE 的目标识别模型,该模型首先利用CAE 在原始数据中学习卷积滤波器集合,利用滤波器提取卷积特征,得到表征原始数据不同细节信息的特征图;经过两层卷积特征提取后对特征进行哈希变换,接着对哈希变换后的特征进行直方图统计。将模型提取到的特征输入到SVM 中进行识别测试,结果表明模型提取的特征具有一定的鲁棒性,相对于经典的目标识别算法,对三维空间中飞机姿态变换方面表现的特征提取取得了较好的效果,对飞机目标表现出出色的识别效果。