APP下载

多感知兴趣区域特征融合的图像识别方法

2021-07-05闫涵张旭秀张净丹

智能系统学报 2021年2期
关键词:图像识别可视化准确率

闫涵,张旭秀,张净丹

(大连交通大学 电气信息工程学院,辽宁 大连 116028)

图像识别是计算机视觉领域的一个分支[1-2],图像识别是指利用计算机对图像进行特征提取,从而识别各种不同模式下的目标和对象。图像识别在生活中的应用非常广泛,如人脸识别、指纹识别、安防监控等各个领域[3]。

图像识别方法可分为传统的图像识别方法与基于深度学习的图像识别方法。传统的图像识别手段主要建立在特征提取的基础上[4],首先提取图像的底层像素信息或图像的特征,如图像边缘特征、纹理特征以及颜色特征等[5-9]。也有学者采用小波变换、傅里叶变换、EMD(empirical mode decomp-osition)变换等方法进行特征提取[10-12]。然后将提取的特征送入机器学习模型中进行分类识别。传统的图像识别方法都需要一定的先验性知识,而且对于一些相似的图像依靠人为寻找特征仍较为困难,算法实现的精度较低且难以转换。近年来,随着计算机性能的提升以及数据量的爆炸式增长,深度学习(deep learning)作为一种新兴的机器学习手段取得了飞速的发展[13]。采用深度学习方法进行图像识别的优势在于图像识别精度高,无需特征工程,适应性强易于转换,可使用数据进行有效缩放,方便实际应用与部署[14-15]。现有的深度学习网络浅层主要通过对输入图像进行特征提取与降采样获得图像低阶特征,深层网络则通过更深层变换获得图像特征的语义信息与更高分辨率特征图[16]。近年来,针对自然图像识别任务,一系列深度学习算法被提出,AlexNet是最早的深度学习网络模型[17]。AlexNet有八层网络结构,采用新的relu激活函数和dropout机制抵抗过拟合以提高特征提取的有效性。VGGNet采用多个尺寸更小的卷积核模拟大尺寸卷积核[18],在保证感受野的同时减少参数数量,同时引入1×1卷积核增加网络的表征能力、降低计算量。ResNet的提出主要通过跨层连接和拟合残差项的方法解决了随着网络层数的加深[19],网络模型难以训练的问题。DenseNet是一种密集连接卷积神经网络,该模型设计了dense block模块,使得网络结构更窄,参数更少[20]。同时该连接方式也使得特征和梯度的传递更加有效,网络更易训练。上述深度学习网络模型在图像识别任务中均有较好表现,但现有深度学习方法的图像识别任务仍有如下难点[21]:1)AlexNet作为最早的深度学习模型虽然取得较好的图像识别效果,但是由于其层数只有八层,导致其在特征的表征能力上仍有上升空间。2)VGGNet、ResNet以及DenseNet网络模型各自采用创新技术达到模型层数加深的目的,提升了网络的学习能力。但是对于特定任务,从头训练上述模型成本代价过高。3)随着人工智能技术的发展,深度学习图像识别网络层出不穷,但深度学习网络需要大量的数据进行训练及拟合,现实情况难以有足够的数据支撑网络进行训练。4)在研究过程中,通过可视化数据特征发现,不同的网络模型关联和提取到的特征也是不同的,关注的图像特征区域也有所差异。如何在机器学习集成架构下,将不同的网络特征相融合及集成,进一步提升网络的分类准确率,需要进行研究和讨论。

针对上述问题,本文提出了一种基于多感知兴趣区域特征融合的图像识别方法,对深度卷积模型VGG网络与残差网络引入融合机制与微调机制,结合深度迁移学习方法,将网络模型的识别能力进行增强。本文的主要工作如下:1)利用特征可视化方法对模型的兴趣区域特征进行热力图标注,获得的结论为不同模型在识别相同图像时所关注兴趣区域有所差异;2)根据特征可视化结论,引入模型多尺度性质和投票融合机制,设计3种网络融合方法;3)在Kaggle数据集上进行对比实验以验证本文方法的有效性。实验结果表明本文方法比融合前方法具有更高的识别准确率。

1 相关理论

本文将迁移学习方法引入到VGG网络模型和ResNet网络模型作为算法的模型基础。通过CAM可视化机制对模型的兴趣特征进行可视化分析。最后通过集成学习方法将含有不同兴趣特征的网络模型进行融合得到本文算法。

1.1 迁移学习

在机器学习、深度学习和数据挖掘的大多数任务中都会假设训练和测试时采用的数据服从相同的分布并且来源于相同的特征空间[17]。然而在深度学习实现的过程中,由于网络模型的深度较大且参数过多,在训练网络模型时往往会遇到以下问题:

1)带标记的训练样本数量不够。当处理A领域任务时,缺少足够数量训练样本和标签。与A领域具有一定关联的B领域,却拥有数量巨大的训练样本。但由于B领域与A领域具有一定差异,因而导致其特征处于不同的空间分布,或样本服从不同分布。

2)数据分布会发生变化。对于相同的任务,在不同时期、地点或受其他动态因素影响,数据分布会发生一定变化,因此需要重新收集数据并建立模型。

迁移学习作为一种机器学习的方法,可以把为任务A开发的模型作为初始点,重新应用在任务B的模型开发过程中。即把B领域中的知识迁移到A领域中来,提高A领域分类效果,不需要花大量时间去标注A领域数据。对于深度学习目标识别任务,在预训练模型中存在各种特征数据与权重信息。其中一些是与分类识别对象本身关联比较紧密的特征数据与权重信息,还有一些比较共性的特征数据与信息,是可以被不同任务或者对象之间共享的。迁移学习是要迁移那些共性特征数据与信息,从而避免再次学习这些知识,实现快速学习[18]。迁移学习微调示意图如图1所示,为了方便图像进行卷积操作,首先使用函数F(0)对图像进行预处理,去掉边缘像素值,缩小图像尺寸。

图 1 迁移学习微调示意Fig. 1 Schematic diagram of migration learning fine-tuning

以上模型分为两部分,一部分是基于ImageNet训练的深度学习模型,另一部分为根据自身任务微调的网络模型。在训练时可针对特定任务,固定原始网络的相关层,修改网络的输出层,以使结果更符合任务需要。

1.2 集成学习

集成学习(ensemble learning)是使用一系列学习器进行学习,并使用某种规则把各个学习器结果进行整合,从而获得比单个学习器更加优越的泛化性能[19-20]。集成学习算法策略主要有Bagging算法、Boosting算法以及Stacking算法。本文涉及到的算法为Bagging算法,算法示意图如图2所示。

图 2 集成学习Bagging算法示意Fig. 2 Schematic diagram of integrated learning Bagging algorithm

集成学习优势在于:

1)使用相同数据对不同的个体学习器进行训练会得到不同结果,进而导致分类器的分类边界不同,还可能影响最终分类结果,产生错误输出。将多个体学习器合并后,可获得更为合理的分类边界,提升分类准确率。

2)对于数据集包含样本数量差异较大的情况,可以对样本数量较大的数据集进行划分操作并对样本数量较小的数据集进行放回操作,进而产生不同数据子集,再使用数据子集训练不同学习器,最终合并成为一个强学习器。

3)当数据划分边界过于复杂时,单一使用线性分类器很难获得较好结果。可以考虑训练多个模型,再进行模型融合。

4)对于多个难以直接融合的异构特征集,可以考虑使用每个数据集单独构建分类模型,再将多个模型进行融合。

1.3 CAM可视化

CAM是深度学习中一种常用的网络可视化方法。利用GAP(global average pooling)替换掉全连接层,以把GAP视为一个特殊的平均值池化层,其池化核尺寸和整个特征图一样大,即求每张特征图所有像素的均值。GAP的优点在于由于没有了全连接层,输入不需固定大小,因此可支持任意大小的输入。此外,引入GAP更充分地利用了空间信息,且没有了全连接层的各种参数,避免过拟合。同时在最后的卷积层生成了和目标类别数量一致的特征图,经过GAP以后再通过softmax层得到结果,这样就给每个特征图赋予了很明确的意义,也就是类别置信度特征图。CAM模型示意图如图3所示。

图 3 CAM模型示意Fig. 3 Schematic diagram of the CAM model

经过GAP得到最后一个卷积层每个特征图的均值,通过加权和得到输出。对每一个类别C,每个特征图k的均值对应w。当解释模型分类依据时,可将该类别对应的所有w求取出,并求出它们与自身对应的特征图的加权和。由于输出的大小和特征图是一致的,需要对它进行上采样并与原图进行叠加,得到CAM可视化图。CAM以热力图的形式表明模型对目标进行分类的特征。图4是在kaggle数据集上VGG-16分类CAM可视化图。如图4所示,对于猫或者狗的分类判断区域全部集中在头部,头部特征的确能够区分猫和狗。

图 4 基于VGG-16猫狗大战数据CAM模型可视化图Fig. 4 Visualization of CAM model based on VGG-16 cat and dog data figure

2 本文方法及实验

本文实验所采用的实验数据为自然图像猫狗分类数据集。该数据集主要分为两类:猫、狗。训练集为20 832张,测试集为4 168张。为了验证本文算法的有效性,在猫狗数据集上进行对比实验,同样的训练数据集和同样的测试集。实验在2.2 GHz Intel Core i7处理器(4核),macOS Mojave 10.14.4系统上进行。编程环境为python2版本,编程语言为python语言,编译器为jupyter notebook。仿真软件的深度学习框架为基于Tensor-Flow后端的keras,显卡为GTX 1070TI,显存大小为 8 GB。

2.1 VGG-16、VGG-19、ResNet的CAM可视化实验

为了对比3种模型在图像识别时所关注的特征点,选取16张?猫狗单独存在的图像和4张猫狗共存的模糊语义图像对3种模型进行测试。在实验前首先通过迁移学习与微调机制,固定网络模型的浅层权重参数,设置分类层与深层部分权重参数可优化。以VGG-16网络模型为例,其迁移学习微调示意图如图5所示。

图 5 迁移学习微调结构示意Fig. 5 Schematic diagram of the migration learning finetuning structure

图6、图7为VGG网络模型和ResNet网络模型识别目标单独存在时的CAM可视化图。

图 6 单目标CAM可视化结果Fig. 6 Single target CAM visualization results

图 7 模糊语义下CAM可视化结果Fig. 7 CAM visualization results under fuzzy semantics

通过模型识别单独目标的CAM可视化图可以看出,VGG网络模型更容易将猫分类成狗,而Resnent识别结果与之相反,说明两种不同的网络模型在进行目标识别时关注的兴趣区域不同。通过模型识别模糊语义的CAM可视化图可以看出,VGG网络模型将4张测试图像分类成猫,而ResNet将其分类成狗,该现象也可验证上述结论。

2.2 本文方法

方案1 特征拼接(Multi view Fusion方案)

不同的模型在同一张图片关注的兴趣区域不一,可考虑将多个模型特征进行融合,将会使得融合后的模型具有关注多视角兴趣特征的功能。本方案运用DenseNet的思想,将不同尺度特征相拼接,引入模型多尺度性质。设计的Multi view Fusion模型结构如图8所示。

图 8 多视图融合模型融合示意Fig. 8 Multi view Fusion model fusion diagram

将3个预训练模型提取特征之后,选择预训练模型参数不进行更新,ResNet-50提取得到2 048个特征标量,而VGG-16和VGG-19分别提取512个特征标量,将2 048+512+512=3 072个特征合并成一个新的特征向量。然后加入Dropout层,设置drop概率为0.5。最后加入1个神经元,指定激活函数为sigmoid。对于二分类问题,可以通过logistic二分类实现。分类损失设置为二进制交叉熵损失函数。二进制交叉熵损失函数公式如下:

式中:y为实际神经元输出;为真实输出标签,0表示第一类,1表示第二类。

优化器选择Adadelta优化方式,基准学习率设置为1.0。模型训练迭代次数为3 500次,batch size设为16。

Multi view Fusion模型训练和测试的准确率和损失示意图如图9所示,图9(a)为训练准确率的变化,图9(b)为损失值变化。可以看出随着迭代次数的增加,该算法准确率逐步上升,误差值减小。

图 9 多视图融合模型训练和测试的准确率和误差Fig. 9 Accuracy and error of training and testing of the Multi view Fusion model

方案2 特征平均+特征拼接(Multi view Fusion-tiny方案)

方案1将3个不同的模型特征进行融合,但是对于VGG-16和VGG-19来说,这两个模型构造非常相似,即提取的特征也会非常类似。两个类似的模型提取的特征之间融合,造成特征的冗余,并干扰特征提取。针对上述问题,设计特征平均后再进行特征拼接的网络模型。采用Res-Net和DenseNet的思想,将VGG-16和VGG-19的特征进行特征相加,然后与ResNet-50模型特征进行不同尺度特征拼接,引入模型多尺度性质。该方法会使模型特征维度减少,减少网络运行的测试时间。设计的Multi view Fusion-tiny模型如图10所示。

将3个预训练模型提取特征之后,选择预训练模型参数不进行更新,ResNet-50提取得到2 048个特征标量,而VGG-16和VGG-19分别提取512个特征标量,首先将VGG-16和VGG-19两个模型特征进行平均,得到一个新的512维度特征,与ResNet-50的2 048特征合并成一个新的特征向量,一共为2 560维度特征。相比方案一减少了特征维度,以及模型训练和测试的时间。加入Dropout层,设置drop概率为0.5。加入1个神经元,指定激活函数为sigmoid。

Multi view Fusion-tiny模型在每个批次上训练和测试的准确率及误差示意图如图11所示,图11(a)为训练准确率的变化,即验证数据在每个迭代次数上准确率的变化。图11(b)为训练误差的变化。同Multi view Fusion模型训练时的准确率及误差图相比,Multi view Fusion-tiny模型准确率曲线震荡减少,稳定上升,同时误差曲线下降。

图 10 多视图融合微调模型融合示意Fig. 10 Multi view Fusion-tiny model fusion diagram

图 11 多视图融合微调模型训练和测试准确率及误差Fig. 11 Accuracy and error of training and testing of the Multi view Fusion-tiny model

方案3 结果融合投票(Voted Model)

以上两种方案,融合之后还是单个模型的决策,但对于VGG-16和VGG-19,ResNet-50 3个模型来说,可以通过大多数分类的结果来决定最终模型的分类结果。即3个模型决策投票来决定分类。设计的模型投票决策如图12所示。

针对猫狗分类数据训练好的3个模型为VGG-16、VGG-19、ResNet-50,将这3个模型对同一张数据做测试,会分别得到一个测试结果。然后将这3个结果投票,投票策略采取投票结果最多的情况作为最后的分类结果。

图 12 投票决策模型融合示意Fig. 12 Voted Model fusion diagram

为定量分析本文基于多感知兴趣区域图像识别方法3种模型性能,对本文算法与VGG-16、VGG-19、ResNet模型及3种模型的微调模型,DenseNet模型在kaggle数据集上进行实验对比。识别准确率实验结果如表1所示。

表 1 模型准确率对比Table 1 Comparison of model accuracy ratio

从表1可以看出,本文设计的模型Multi view Fusion、Multi view Fusion-tiny和Voted Model模型比单个模型的准确率要高,说明了基于多感知兴趣区域特征融合的图像识别方法更为有效。同时也验证了不同的模型关注的图像兴趣区域不一,学习到的特征不一,多兴趣区域特征融合有利于提高分类精度的结论。同时VGG-16、VGG-19关联的特征兴趣区域极其相似,为了防止特征冗余,将这两个模型特征平均,以降低特征维度和分类时间。

3 结束语

本文给出了一种基于多感知兴趣区域特征融合的图像识别方法,通过对单独分类网络的复现与可视化分析,发现不同的模型关注的图像兴趣区域及学习到的特征有所差异。针对上述问题构建了多个模型融合机制,通过借鉴DenseNet模型的多尺度特征拼接及ResNet特征相加机制,设计了Multi view Fusion模型、Multi view Fusion tiny模型和Voted Model。实验结果表明本文算法在相似目标的二分类问题上具有更高的识别准确率。下一步的研究方向可放在网络结构轻量化与模型的加速上。

猜你喜欢

图像识别可视化准确率
基于CiteSpace的足三里穴研究可视化分析
基于Power BI的油田注水运行动态分析与可视化展示
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
基于CGAL和OpenGL的海底地形三维可视化
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
“融评”:党媒评论的可视化创新
图像识别在物联网上的应用