基于迁移学习的红外图像分类
2020-10-21邓玲,张军,周宽
邓 玲,张 军,周 宽
(天津职业技术师范大学电子工程学院,天津 300222)
红外目标分类是红外图像处理研究的一个重要分支,但是红外图像相对于可见光图像存在成像质量差、分辨率低、信息单一等问题,导致红外目标分类识别出现许多难点问题。目前,对红外目标进行有效分类的文章较少,为了实现对红外图像目标的识别分类,首先需要对红外目标进行特征提取[1],特征提取可以定义为从特征选择阶段生成的特征中提取一组新特征的过程[2],常用的特征提取方法有梯度直方图(HOG)[3-5]、局部二进制模型(LBP)[6-8]、基于局部强度差异直方图(HLID)[9]、梯度位置-方向直方图(GLOH)[10-11]等,这些方法能对红外目标的纹理、亮度以及外形轮廓等特征进行提取,但这些研究都只能对红外目标的某单一特征进行表示,虽然能取得一定效果,但是提取的特征信息不全面,且不能多角度、全方位对红外目标进行不同类型的特征提取。
传统的图像分类需要经过一系列步骤,其中核心步骤是数据预处理、特征提取、降维并分类。通常图像预处理过程复杂,处理效果也不尽理想,直接导致后续算法难以有效提取到目标的特征属性,其最后的特征表达与分类效果都不尽乐观。在可见光领域,由于卷积神经网络(convolutional neural networks,CNN)[12-13]具有强大的特征提取能力,在目标识别、检测和分类任务上表现良好,它不仅能逐层抽取图像特征,获得图像的深层次语义特征和结构特征,还能通过并行学习的方式提高网络效率。在简化模型方面,通过获取局部感受野、权重调参、降维等策略,有效减少了训练参量,训练效率明显提升。在抑制过拟合方面,卷积神经网络效果亦佳。而对目标识别和分类时,模型可以直接读取图像数据,避免了复杂的前期处理,端到端的操作使得卷积神经网络效率极高。卷积神经网络作为图像分类领域一种快速且高效的方法,在图像分类问题上得到了广泛的应用[14],也迅速成为研究热点。
受到迁移学习(transferring learning)[15]的启发,本研究提出用于红外图像分类的迁移改进模型(transferring improvement model,TIM)。先用可见光数据集作为源域数据集,对模型进行预训练,再对模型进行知识迁移、训练、迭代改进,训练后的模型能准确提取红外目标特征,实现红外目标分类。
1 迁移学习基本原理
1.1 迁移学习基本介绍
所谓迁移学习,就是把一个领域的模型在源域学习到的知识,应用于新的相关领域进行求解,并在新的领域得到良好的表现和应用。具体过程为:先训练好一个卷积神经网络模型,接着通过对已训练好的模型进行知识迁移,迁移模型时保持原卷积层的整体结构不变,只对权重、偏置值、学习率等参数进行微调;根据目标域图像的特征,设计一个新的全连接层,与进行过微调的卷积神经网络共同组成新的模型,用目标域的红外数据集对新模型进行再次训练、修改,模型稳定后进行测试、验证,以完成红外目标的特征提取、检测、识别、分类等任务。迁移学习必须找到源域和目标域的特征关系,用共同特征将源域和目标域联系起来,实现知识迁移,并且将在源域学习到的知识应用于目标域;还必须利用源域和目标域的不同特征修改全连接层,完成目标域的新任务,实现知识迁移。
1.2 基本模型
迁移学习能很好地解决如何从可见光源域将知识迁移到红外目标域并应用的问题,解决了这2 种异类数据之间的知识迁移问题[16]。可见光图像的特征和红外图像特征相同点为:目标的边缘轮廓大体一致,故可将适用于可见光图像分类的模型迁移用于红外图像的分类。不同点为:2 类图像的纹理特征、色彩特征、特征复杂度不一致,分类任务也不同,因此需要新的全连接层实现分类,其具体实现过程如下:
(1)给定一个可见光图像数据集,作为源域数据集,预训练一个分类模型为A,并把预训练模型中的卷积网络结构和参数作为红外目标域训练模型的初始参数[17-19]。
(2)给出目标域红外图像对应的分类任务,迁移可见光图像分类模型,结合红外图像的特征,设计一个新的全连接层,与预训练模型A 中的卷积层一起构成红外图像分类的模型B,帮助提高红外图像在目标域的分类效果。红外图像分类迁移学习模型如图1所示。
图1 红外图像分类迁移学习模型
2 迁移模型重构与改进
2.1 基于Inception-v3模型的迁移学习
在人工智能迅速崛起的时代,深度学习是目前解决图像分类最主流也最高效的方法。2014 年,VGG-Net和Inception-Net 首次应用于ILSVRC 分类挑战赛[20],并取得巨大成功。此后,众多研究者开始对这2 种网络进行深入研究,并将其应用至各个领域,尽管VGG-Net 结构简单,但其参数量高达140 M,网络计算量大,运行成本高。相较于Alex-Net、VGG-Net,Inception-v3 模型的参量大大减少,仅有500 万参数。该模型共有11 个Inception 模块,共计46 层,在增加了网络宽度的同时,可有效降低网络维度,并对特征提取功能进行了强化[21]。Inception-v3 具有良好的性能,完全可以迁移应用至红外图像处理领域。
Inception-v3 网络在Image Net 源域数据集上能够学习到一张图像的基本信息,如基本结构和边缘轮廓等,因此可以将Inception-v3 模型预训练得到的提取图像边缘等通用特征的权重参数作为分类网络的初始权重。本实验先将训练好的Inception-v3 模型进行迁移,再将模型学习到的权重作为红外目标分类模型的初始权重,利用模型中间的隐含层对红外图像特征分层学习,使模型更好地对红外目标进行特征提取。在瓶颈层后训练新的全连接层及Softmax 层,使全连接层准确提取训练集的目标特征,构建出一个能对不同格式的红外目标图像进行高精度分类的卷积神经网络。
2.2 迁移模型重构过程
现有红外数据集有限,难以训练出较好的分类模型,因此考虑迁移模型,迁移过来的模型可以共享原卷积层的参数,只需对顶层结构进行重新设计,故可以大量节省模型搭建和训练的时间,而把重点放在模型重构、改进上,这样不仅能实现特定的分类任务,还能使模型得到更广泛的应用。基于迁移学习的红外图像分类模型重构过程如下:
(1)选定红外图像训练的样本集合{x(1),x(2)…,x(n)}。
(2)初始化权重、偏置值等网络参数,正向读取样本数据。正向传播的计算式为
式中:z 为输出;i 为神经元的值;xi为输入;wi为权重;b 为偏置值。
(3)计算其损失函数,并将损失函数最小化。
(4)计算输出结果和真实值之间的误差,进行反向传播,重新调整算法参数。反向传播公式为
式中:θ 代表参数(权重或偏置);α 为学习率,初始学习率设为0.001。
(5)迭代完成,结束模型重构;若迭代未完成,返回(3)继续调优。
由于缺少全连接层对图片的全局信息分析,图片的局部特征也没有经过整合,因此需要在模型最后使用全连接层整合图像局部特征,然而使用过多的全连接层难以避免过拟合问题,故本实验只使用一层全连接层,并使用dropout 方法降低过拟合。
2.3 迁移模型改进
除了对模型进行迁移,修改参数使其适用于红外图像的处理,本文还对迁移后的模型进行了改进。
在Inception-v3 模型中,将7×7 的卷积核分解为2 个 1×7 和 7×1 的一维卷积核,将 3× 3 的卷积核分解为1×3 和3×1 的卷积核,这类变换削减了大量深层参数并拓宽了网络宽度,非对称的拆分结构使得模型能处理更丰富的图片特征。但由于本实验使用的是红外图像,图像的信息量比较单一,图片位深度仅为8,温度越高的地方其亮度特征越明显,并且红外图像没有可见光那么多的纹理特征,颜色信息也较单一,当特征不够丰富时,Inception-v3 模型中一些滤波器的卷积核实际上是冗余的;还有一部分神经元未发挥作用,处于未激活状态,故改进的模型将冗余卷积核和未激活神经元删除,这样做的目的是为了给模型瘦身,进而提高模型训练效率和训练速度。实验用迭代的方式对网络进行了删减,改进的模型迭代过程如图2 所示,先固定迁移后的网络结构,再确定冗余部分和未激活部分,最后重新训练修改后的网络,并验证网络分类的准确度。假设实验输出的准确率为Acc,需要达到的准确率阈值为T,若Acc <T,则继续迭代,修改网络参数并训练;若Acc >T,则说明修改有效,停止迭代。实验结果表明,删除冗余卷积核和未激活神经元对提升网络运行速度有一定帮助。
大多数基于Inception-v3 的迁移学习模型的算法都只能识别.jpg 格式的图片。本实验为了提高模型的适用性,增加了.png 格式的数据类型,故需要对训练程序进行修改,使修改后的模型能同时对2种格式的图片做标签,并能同时对2 种格式的图片进行分类。
图2 改进的模型迭代过程
3 数据集准备及预处理
3.1 数据集准备
本实验采用的数据集为俄亥俄州立团队的红外图像数据库(OTCBVS benchmark dataset)[22-23],该数据库包含了多种红外图像,含有12 个子数据集,一些科研人员和学生以该红外图像数据集为基准,作为相关算法的测试对象,如对红外目标进行检测和识别,进而验证所提算法的可行性与准确性。本实验选取的部分数据集为数据库中的第12 个子数据集,以户外运动场景为主,涵盖了各种形式的红外目标,如:马、车、无人机、犀牛、持枪械的军人、交错目标、足球场目标等,用于测试和评估基于迁移学习的红外图像分类算法。部分红外图像数据集如图3 所示。
图3 部分红外图像数据集
3.2 数据预处理
数据预处理的过程即tfrecord 文件的生成,具体过程为:先将训练集保存在不同目录下,分为7 组,每组图片500 张,将训练数据随机打乱,增强网络的泛化能力,并给打乱后的红外图像打标签。再将不同大小、不同格式的红外目标图像分别转化为模型需要的格式,存放在tfrecord 文件里,此文件用于训练时对图片自动调用。最后保存每个图片的绝对路径,输出各图片的分类labels,将分类名称保存为字典格式。
4 实验环境及结果分析
4.1 实验环境
实验设备为Intel(R)-Core(TM)i3-6100 CPU@3.70 GHz,操作系统为ubuntu 16.04,操作环境为Tensorflow+python3.5+jupyter。
4.2 模型训练
训练过程中选择俄亥俄州立团队的红外图像数据集,训练集与测试集的比例为4 ∶1,初始learning rate 设为 0.001,batch 设为 100,epoch 为 150。loss 值使用交叉熵损失函数,先将函数求导,再利用式(3)得到交叉熵损失函数的计算值。
式中:q(k)为期望类别概率;p(k)为模型预测类别概率;L 为损失值。
在使用Softmax 层对红外目标进行分类时,Softmax层要先读取来自全连接层的数据,其具体的分类网络如图4 所示。
图4 分类网络
式中:W 为权重,所有W 构成一个权重矩阵;bias 为偏置值;x 为全连接层的输入;Z 为全连接层的输出;wj为第j 类图像的特征权重,包含图像每维特征的重要信息。
式(5)的计算最终得到类别k 的概率,即准确率p。简单来说,模型的分类结果经过Softmax 层直接映射为概率,正如分类模型图右边得到的即为各个类别的概率,概率最高的为当前正确识别的概率,其他概率为误分类概率,概率之和为1。
4.3 实验结果分析
实验以红外图像作为数据集,以Inception-v3 模型作为基础框架,取得了良好的分类效果。为了使模型更加适用于红外图像分类,提出对模型的卷积核进行改进,改进前后的模型对比如表1 所示。
从表1 中可以看出,模型改进后训练耗时明显缩短,说明提出的迭代法删除冗余卷积核和未激活神经元使网络的运行速度得到提升。而分类精度和识别耗时基本不变,这是因为改进前后的模型都能学习到目标所有特征,故在验证时分类精度和识别耗时基本不变。
表1 模型对比
本实验的迁移改进模型(transferring improvement model)能实现对不同格式的红外图像进行分类,例如car 和weapon people 为.jpg 格式的图像,其余图像则为.png 格式,对于2 种不同的图像数据,分类精度均高达98%以上。在改进的迁移学习模型中,前端深度卷积层已取得良好预训练效果,改进后的模型收敛速度较快,耗时短,并能迅速寻找到全局最优解,在相同的训练数据集和迭代次数下,网络运行效率得到提高。部分实验结果如图5 所示。
图5 部分实验结果
最终模型分类结果如表2 所示。第1 行和第1 列{0,1,2,3,4,5,6} 分别对应 {car,horse,quadrocopter,rhino,soccer people,walking people,weapon people }这7组红外目标,黑色表格表示对当前目标的分类精度,表示最优结果,其余表格表示误分类为其他目标的概率。由表可知,就单一分类而言,模型能对不同的红外目标进行准确分类,误分类为其他目标的概率极低;且由于目标特征明显,数据样本相对合理,整体平均分类精度达到99.4%,说明改进的模型在红外图片分类上表现良好。
表2 最终模型分类结果 %
在训练过程中,模型的准确率逐渐升高,损失值逐渐降低,这是卷积神经网络的学习能力逐渐提高的结果。模型运行变化如图6 所示。
图6 模型运行变化
为了验证迁移学习算法的有效性,查阅了近年来有关红外图像分类的文献,其中张秋实等[24]利用图像融合的方法对红外图像的分类做了阐述,其在红外+可见光融合的模型上最高分类精度为88.7%;邵保泰[25]的红外超分辨率成像及小目标分类研究,FLIR 数据集的分类精度为93%;国外的Gundogdu 等[26-27]利用神经网络(CNN)和前馈神经网络(FCFFNN)做了一系列红外图像分类研究,在FFCNN 模型上的分类精度为88.75%。各模型对比结果如表3 所示,其列出了各种红外图像分类模型的精度,经过对比,本文的TIM 模型在红外图像上的分类效果更好,较之前的分类算法的精度有所提高,其平均分类精度达到99.4%,并能实现对不同格式的红外图像进行高效分类。
表3 各模型对比结果
5 结 语
针对红外图像质量差、分辨率低、信息单一、特征提取较难等问题,利用迁移学习的原理构建红外目标分类识别算法,完成了对Inception-v3 模型的迁移,利用俄亥俄州立团队的红外图像数据库对模型进行训练、验证。实验结果验证了迁移模型的可行性,最后根据红外目标信息单一等特性,剔除卷积核中获取颜色信息和复杂纹理特征的冗余核和模型的未激活神经元,进一步给模型瘦身,提高模型工作效率。改进的模型可以对红外目标进行准确分类,工作效率也明显提升,实现了红外目标的自动分类。但由于模型未能应用至具体硬件平台,故其还未能实现实时拍摄红外目标并对其进行分类,下一步将优化模型,利用GPU 来加快训练速度,并研究其如何与硬件平台相连接,实现实时红外图像的分类。