APP下载

融合CNN与交互特征的多标签图像分类方法

2022-09-24王盼红朱昌明

计算机与现代化 2022年9期
关键词:集上标签准确率

王盼红,朱昌明

(上海海事大学信息工程学院,上海 201306)

0 引 言

自从深度学习的概念问世以来,相关研究一直在蓬勃发展。由于深受其益,卷积神经网络(Convolutional Neural Network, CNN)的非凡突破也被应用到计算机视觉领域的各个方面[1],如图像分类[2-3]、目标检测[4-5]等。具有一层或多层卷积层的神经网络称为卷积神经网络,其卷积层由具有学习能力的滤波器组成[6-7]。单标签分类主要是对所研究问题,每次仅为其匹配一个最可能的标签。近年来,CNN在单标签图像分类中表现出良好的分类性能。如Ghazi等人[8]采用预训练神经网络模型结合迁移学习对植物物种进行分类,最优分类准确率达到80%;Dias等人[9]设计出了一种基于CNN的花卉类别检测算法,该算法利用计算机视觉技术结合颜色和形态信息,最终召回率和准确率接近80%;Gayathri等人[10]提出了一种新的模型提取视网膜眼底图像的特征,并使用J48分类器进行分类,其二分类的平均准确率为99.89%,多分类的平均准确率为99.59%。然而,由于在现实世界中,每个图像通常都带有丰富的语义信息,如对象、场景、动作以及属性等,而通过这些丰富的语义信息及其依赖关系来建模对于图像理解至关重要[11]。因而多标签图像分类问题开始得到关注。多标签问题即针对所给数据,可同时为其分配多个标签,如图1可同时标记为“风景”“树”“河”3个标签。

图1 多标签实例

Song等人[12]提出了一种深度多模型的CNN框架,模型中将每幅图像表示为一个用于图像分类的实例包,并继承神经网络和多实例多标签的优点;Dao等人[13]提出在有监督的环境下利用对比学习来学习图像在不同标签背景下的多种表示方法;Wang等人[14]利用残差网络提取图像深度学习特征并将该结果作为输入,通过图像空间和标签空间的正则化生成结果向量,有效提高分类的准确率和召回率;Jin等人[15]基于深度学习设计一种新的图像语义分割模型解决多标签分类任务,该模型使用感受野代替标准卷积,实验结果取得较好的分割精度;黄睿等人[16]提出基于标签正负相关性的多标签类属特征学习方法。著名的多标签分类方法是简单地为每个标签训练一个独立的分类器来处理问题,这在研究文献中通常被称为二元相关性(Binary Relevance, BR)转换[17-18]。

上述文献研究中处理多标签分类任务普遍存在建模的时间复杂度高、模型复杂导致内存消耗较大、特征信息不足导致分类精度低等问题。针对这些不足,本文提出一种融合CNN与交互特征的多标签图像分类方法,即MLCNN-IF。该模型主要分成2个部分:1)提出一个只有9层的轻量级神经网络,即MLCNN,该网络参考传统的CNN基本结构进行搭建,同时网络中循环增加Batch Normalization(BN)层[19]和Dropout层[20],并使用全局最大池化代替传统的全连接层;2)由于网络提取特征仅考虑单个特征,造成一些对分类任务有价值的组合特征信息丢失,因此基于MLCNN得到的特征再采用交叉特征技术获得更丰富的特征信息,进一步提高分类性能。实验选择4种不同场景下的多标签图像数据集,对比网络有VGG16[21]、AlexNet[22]和GoogLeNet[23],通过丰富的对比实验成功验证所提的MLCNN-IF模型的有效性与先进性。

1 所提模型MLCNN-IF

为降低模型复杂度,减少参数量,提高多标签分类性能,本文提出融合CNN与交互特征的MLCNN-IF模型。该模型首先提出一种仅有9层的轻量级神经网络,即MLCNN处理图像并提取特征;其次基于MLCNN得到的特征,采用交互特征方法获得各独立特征的各种组合特征信息,进一步提高分类准确率。

1.1 Dropout与BN

1)Dropout。

在深度网络中,随着网络结构的加深,隐藏层节点参数变得越来越多,但并不是所有的节点权重参数都对下一层的网络训练有正面积极作用。引入Dropout的目的在于保证在不删除权重参数的前提下,保留一部分参数,即通过设置一定的筛选率,将随机“抛弃”一些节点权重参数,不让其进入隐藏层。

2)BN。

传统的神经网络只是在原始样本数据输入到输入层之前对样本进行标准化处理,以降低样本间的差异性。添加BN层则是在此基础上,不仅只对输入层的输入数据进行标准化,还对每个隐藏层的输入进行标准化。其目的在于一方面提高梯度的收敛程度,加快模型的训练速度,另一方面使得每一层可以尽量面对同一特征分布的输入值,减少输入变化带来的不确定性,可降低对后层网路的影响,使得各层网路变得相对独立,缓解模型训练中的梯度消失问题。

批量归一化主要是分2步走,第1步是对数据特征的每个维度进行归一化处理,即:

(1)

(2)

1.2 所提MLCNN网络

MLCNN的网络结构如图2所示。该网络继承传统卷积神经网络的基本结构,即包含卷积层和池化层。将卷积层(Conv)、激活函数(ReLU)和BN层组合一起默认为一个“基本模块”,如图2(a)所示。MLCNN图像的输入大小为96×96。与传统的CNN模型不同的是,卷积层后不会立刻进行池化层处理,而是先进入BN层对数据进行标准化处理,再经过池化后进入Dropout去随机“抛弃”一些节点权重参数帮助网络训练模型。“基本模块”的训练在网络中高达5次,这是为了充分获取图像数据的特征信息,在减少训练参数量的同时保证一定大小的感受野,使得数据在经过池化层后不仅能得到有效的特征信息,还能避免产生冗余特征;网络中存在连续2轮同样的训练操作,这是为了保证整个网络的平衡,提高其分类精度,如图2(b)所示。MLCNN中采用全局最大池化层(Global Max Pool, GMP)代替全连接层,使得经由网络提取出的特征具有更高效的表达效果,其计算公式为:

(a) 基本模块

(b) MLCNN结构图2 MLCNN网络结构图

(3)

1.3 交互特征

本文所提MLCNN-IF中采用交互特征获得丰富的特征信息表达,获得特征之间的交互作用。简单来说,将网络提取出的特征向量相乘得到新的一对交互特征,将该交互特征以及产生交互特征的原始特征进行混合得到新的特征集合。由于网络提取出的特征为单个特征,而实际在分类任务中通过组合特征会产生一些新的有效信息,则新的特征集合中不仅包含原特征信息,还含有由原特征产生的组合特征信息。

假设提取出的一对独立特征为x1、x2,则x1·x2得到该独立特征的组合特征,扩展到多个特征序列,即提取到的独立输入特征为x1,x2,…,xn,模型使用该特征序列的线性组合得到预测结果变量为:

y=ω1x1+ω2x2+ω3x3+…+ωnxn

(4)

其中,ωi(i=1,2,3,…,n)为相应的系数。扩展到多个特征之间的交互作用,即得到的预测结果变量为:

y=ω1x1+ω2x2+…+ω1,1x1x1+ω1,2x1x2+…

(5)

1.4 MLCNN-IF模型

多标签分类问题可以定义为:给定一个数据集合X和一个标签集合Y,其中X=Rd表示d维的特征空间,Y是有N个标签的集合Y={y1,y2,…,yn}。包含m个样本的多标签数据集D={(xi,Yi)|1≤i≤m},其中xi∈X是一个d维的特征向量(xi1,xi2,…,xid)T,Yi∈Y是xi对应一个标签集合。多标签分类就是从数据集D中学习到一个从实例空间映射到标签空间的模型W:X→2Y,对于∀xi∈X,模型W都能给出对应的标签。

为有效处理多标签图像分类问题,本文提出融合CNN与交互特征的多标签图像分类模型,即MLCNN-IF模型,如图3所示。图中的序号分别表示该模型首先基于所提MLCNN网络提取独立特征,其次针对独立特征采用交互特征方法获得各组合特征,丰富特征信息;⊕分别表示新的特征集由原独立特征和组合特征融合而成,最后利用新特征集训练网络得到所提模型MLCNN-IF,采用Softmax分类器处理多标签分类任务。

图3 MLCNN-IF模型结构

2 实验分析与结果

通过在4种多标签数据集上进行多个评价指标的对比实验,从不同的角度有效证明所提出的MLCNN-IF模型在分类性能相对VGG16、AlexNet和GoogLeNet这3种神经网络模型上取得的优势。

2.1 实验数据

实验中的数据集是从Kaggle库中下载的。主要是4种不同场景下的多标签图像数据集,包括服装、车辆、年龄和岩石。由于原始数据集存在类别不平衡问题,可能对后续的模型训练和分类识别造成影响,故预处理部分对4种数据集分别进行数据增强,保证各类别相对平衡。实验中训练集与测试集各占原数据集的80%与20%。而在训练集中80%样本用于训练,20%用于验证。关于数据集的具体描述如表1所示。

表1 所用数据集描述

2.2 实验参数及环境配置

采用的深度学习框架为keras。为提高检测性能,所有模型训练之前会进行数据增强策略,主要是对原始数据样本的不同类别随机选择50%进行下平移、左平移、翻转、旋转和加噪处理;剩下的50%样本进行上平移、右平移、翻转、旋转、加噪和增加亮度对比度处理,保证对于同一数据集处于类别平衡。图片大小统一设置为96×96。

4种模型的Batchsize大小均为32,损失函数采用交叉熵损失函数,迭代次数epoch为80,学习率调整策略为Adam[28],超参数设置为:学习率(learning rate, lr)为0.0001,学习率衰减设置为lr/epoch。为保证实验结果的稳定性,在训练和测试过程中设置相同的随机种子,训练集与测试集各占数据集的80%与20%。激活函数选择为ReLU函数,除最后一层Dopout设为0.5外,其余均为0.25。

实验平台是64位的Windows 10,所有的实验都在Pycharm 2019上开展。该电脑配备了NVIDIA GeForce RTX 2060 14 GB显卡、英特尔i7-Core@2.6 GHz处理器和16 GB内存。

2.3 评价指标

为了更好衡量所提模型的好坏,实验主要采用的评价指标有测试集的平均准确率(Accuracy)与损失值(Loss)、精准率(Precision)、召回率(Recall)、F1_Score、网络层数、模型参数量、模型训练时间。为进一步证明所提模型的先进性与有效性,还进行消融实验和显著性分析实验,其中显著性分析主要是配对t-test检验。具体指标计算公式如下:

Accuracy=(TP+TN)/(TP+TN+FP+FN)

(6)

(7)

Precision=TP/(TP+FP)

(8)

Recall=TP/(TP+FN)

(9)

(10)

其中,TP表示样本预测与实际都为正,TN表示样本预测与实际都为负,FP表示样本预测为正,实际为负,FN表示样本预测为负,实际为正;yi表示样本i的类别标签,正类为1,负类为0;p(yi)表示样本i预测为类别yi的概率[29]。

2.4 实验结果

2.4.1 分类性能对比

本节先给出MLCNN-IF模型与另外3种深度学习模型的准确率及损失值对比情况,然后给出准确率、召回率及F1_Score实验结果。

图4给出4种模型在每种数据集的测试集上的平均测试准确率和平均损失值。横坐标表示数据集,纵坐标分别表示相应的平均准确率值和平均损失值。从图4(a)可以得到:1)总体来说,所提MLCNN-IF模型相对其它3种网络具有一定的优势,在各数据集上其平均分类准确率明显提高。分别提高2%、14%、16%与4%,因此可以认为准确率平均提高9%;2)相对AlexNet和VGG16模型而言,GoogLeNet的分类效果稍好,以数据集automobile为例,准确率分别提高4%与10%,在其余3个数据集上的现象也类似。这主要是因为GoogLeNet模型本就是基于VGG模型和AlexNet模型进一步改进的,其网络结构得到一定程度的优化,故而表现出相对较好的分类性能。从图4(b)可以看出:1)各网络在每种数据集上的损失值变化趋势与准确率保持一致,模型的准确率越高,其损失值就会越低;2)总体而言,所提MLCNN-IF方法的损失值相对另外3种模型都有降低,以数据集automobile为例,损失值分别降低0.21,0.05,0.293,在其余数据集上结论也类似。因此,可以说明所提MLCNN-IF模型在处理多标签图像分类任务上具有一定的优势。

(a) 平均准确率

(b) 平均损失值图4 4种模型在测试集上的实验结果

表2给出了MLCNN-IF方法相对传统模型在所有数据集上关于精准率、召回率以及F1_Score的实验结果。表中加粗数值表示对于不同模型的相同指标在同一种数据集上的最佳结果。从表2明显看出MLCNN-IF方法对比其它模型而言,绝大多数情况下,相同指标基于同一数据集都能取得较优的结果。以clothes数据集为例,精准率结果依次为:0.9824(MLCNN-IF)>0.9812(GoogLeNet)>0.9335(AlexNet)>0.8572(VGG16);召回率结果依次为:0.9288(MLCNN-IF)>0.9098(GoogLeNet)>0.8260(AlexNet)>0.8120(VGG16);F1_Score结果为:0.9548(MLCNN-IF)>0.9441(GoogLeNet)>0.8765(AlexNet)>0.8340(VGG16)。因此验证了MLCNN-IF方法在分类性能上占有一定的优势。

表2 4种模型在所有数据集上的精准率、召回率、F1_Score结果对比

2.4.2 网络层数及可训练参数量对比

4种模型从网络结构来看,都是基于卷积神经网络的基本层形成。MLCNN-IF在提出轻量级MLCNN网络后进行扩充特征表达过程,该过程不涉及网络层次结构的改变。按照网络中的基本层进行计算,则4种网络的层数对比如表3所示。从表3可以看出:1)GoogLeNet的网络层次最深,达到22层,这是因其网络中含有多个Inception结构,其网络深度也会有所增加;2)本文所提MLCNN-IF方法的网络仅有9层,相对GoogLeNet和VGG16分别降低了11层和7层;3)与AlexNet相比多一层,但是这在其分类性能上得到弥补,因此可以认为该模型仍旧是有效的。

表3 各模型在数据集上的可训练参数量及网络层数对比

为进一步验证MLCNN-IF方法能有效减少模型可训练节点参数量,从而降低硬件要求,减少内存消耗,表3同时对比了4种模型在每种数据集上的可训练参数量。从表3可以看出:1)本文所提MLCNN-IF在每种数据集上的可训练参数量相对AlexNet和VGG16网络得到很大的降低,其参数量约为AlexNet的1/3,VGG16的1/14;2)GoogLeNet网络与AlexNet和VGG16相比,其可训练参数量也有很大程度的降低,约为AlexNet的1/4,VGG16的1/22,这主要是因为GoogLeNet网络使用平均池化层代替全连接层,很大程度减少了模型参数,因此即便网络较深,其参数量会降低;3)MLCNN-IF与GoogLeNet对比来看略处劣势,网络中的参数量约为GoogLeNet的1.5倍,这主要是因为所提MLCNN网络是基于传统的CNN框架进行改进搭建而成,而GoogLeNet则是基于成熟的VGG模型并增加Inception模块优化网络,但两者参数量差距相对较小,基本可以忽略。整体而言,MLCNN-IF模型可有效降低内存消耗。

2.4.3 训练时间对比

实验还将从模型训练时间进行对比,以此验证本文所提MLCNN-IF模型在处理多标签分类问题上的有效性与先进性。图5给出了4种网络模型在4种多标签数据集上的模型训练时间。横坐标表示数据集,纵坐标表示模型训练时间,以s为基本单位。从图5能明显看到:1)相比AlexNet、GoogLeNet和VGG16神经网络,本文所提MLCNN-IF模型的训练时间明显消耗最小,以数据集automobile为例,本文所提模型的训练时间约为AlexNet的1/4,约为GoogLeNet的1/5,约为VGG16的1/11,在其余数据集上也能得到同样的现象,因此有效验证了MLCNN-IF在模型训练上的时间优势;2)4种模型在不同数据集上的时间消耗趋势整体保持一致,在相同的实验设置下,VGG16模型的训练时间最长,这是因为VGG16网络中可训练的参数量最多,训练时更加消耗时间;3)所有网络的训练时间对比,发现在Rock上的训练时间最长,这是由于Rock数据集规模相对其它数据集都偏大,说明数据集的规模也对模型训练时间有很大影响。

图5 4种模型在所有数据集上训练时间对比

2.4.4 消融实验

2.4.1节中已从多个实验指标的角度充分验证本文所提MLCNN-IF方法的有效性,由于本文所提方法首次将交互特征引入到多标签图像分类任务中,因此还具有一定的先进性。上述实验结果表明所提方法对比该领域内的经典模型能有效处理多标签分类问题,已说明其具有先进性。本节为进一步证实交互特征的优势以及设计的轻量级网络中选择5个“基本模块”的合理性,选择融合交互特征的模型(MLCNN-IF)、不加交互特征的网络(MLCNN)以及含有不同“基本模块”数量的融合交互特征模型进行消融实验。由于受到篇幅限制,“基本模块”数量选择2种,即含1个“基本模块”的模型(MLCNN1-IF)与含3个“基本模块”的模型(MLCNN3-IF),剩下其它不同数量的模块其结果类似。表4给出四者基于准确率、精准率、召回率和训练时间上的对比结果。

表4 MLCNN-IF与相关模型的准确率、精准率、召回率和训练时间对比

表4中,MLCNN-IF在精准率和召回率指标上的结果参考表2中的实验数据,“Time”指模型训练时间,以s为基本单位。从表4可以明显得到:1)MLCNN-IF对比MLCNN,在准确率、精准率和召回率3个指标上的结果均占据优势,分别平均提高3%、4%、2%,表明交互特征的引入一定程度上提高分类性能;2)就训练时间而言,MLCNN-IF花费时间稍高于另外3种,这是因为在MLCNN-IF的网络中含有5个“基本模块”进行训练,且融合交互特征丰富特征信息,这必然使得特征数量和维度变大,但根据结果来看,训练时间差距很小,这在深度学习模型中完全可以忽略,对硬件要求基本一致;3)不同数量的“基本模块”模型间对比,明显其性能在随着“基本模块”数量的增加而逐步上升,说明设计的MLCNN轻量级网络包含5个“基本模块”是合理的;4)从MLCNN1-IF、MLCNN3-IF及MLCNN的对比结果来看,交互特征相比“基本模块”而言对分类性能贡献更大,如以clothes数据集的准确率为例,0.9668(MLCNN3-IF)>0.9646(MLCNN1-IF)>0.9311(MLCNN)。综上,可以说融合交互特征的网络模型,即MLCNN-IF方法,不仅能有效处理多标签图像分类任务,提升识别准确率,还在该领域内具有一定的先进性。

2.4.5 显著性分析

通过显著性分析实验,进一步有效验证所提MLCNN-IF模型在处理多标签图像任务的有效性与先进性。显著性分析主要是进行配对t-test[30]分析。就配对t-test而言,主要用于分析在一个数据集上2种不同算法之间的差异是否显著,其主要目的判断在检验条件1和条件2情况下的平均识别率是否有显著差异。通常情况下,使用sig值来表示测试集的显著性差异结果。一般来说,sig值的阈值设置为0.05,当大于0.05时,表示2种算法在同一个数据集上没有显著性差异,反之则代表有显著性差异[31]。若sig值越小,表示算法之间的差异越显著。

图6展示4种网络模型在4种多标签数据集数据集上的配对t-test结果。横坐标表示数据集,纵坐标表示对应的配对t-test值。主要展示本文所提模型MLCNN-IF分别与另外3种模型在不同数据集上的配对t-test对比结果。其中“MLCNN-IF vs VGG16”表示模型MLCNN-IF与VGG16进行对比,其余同理。从图6可以看出,以sig值为0.05作为阈值判断,在大多情况下,MLCNN-IF模型与其它网络对比的sig值都小于0.05,且部分对比结果远小于0.05而接近0.01,表明该模型与另外3种网络在处理多标签图像分类任务上存在显著差异。因此基于配对t-test结果验证了本文所提MLCNN-IF模型的有效性。

图6 4种模型在不同数据集上的配对t-test值

3 结束语

本文针对多标签图像分类中存在的时间复杂度高、分类准确率低、特征信息不足等问题,提出了一种融合CNN与交互特征的多标签图像分类模型,即MLCNN-IF。该模型首先提出一种轻量级的MLCNN神经网络用于处理图像并提取特征;其次基于提取出的特征使用交互特征来获得网络中可能丢失的组合特征信息,扩充特征集。3个对比网络模型分别为VGG16、AlexNet和GoogLeNet,通过大量的对比实验验证本文所提MLCNN-IF模型的优点有:1)将多标签学习与卷积神经网络结合,并首次提出将交互特征应用于多标签图像分类领域中;2)提出的一种轻量级神经网络学习图像特征,简化了网络结构,模型可训练参数量极大降低,有效降低内存消耗;3)降低了时间复杂度并有效提高分类准确率。

尽管所提MLCNN-IF模型已在多标签数据集上被证实是有效的,但仍然有一个问题需要在未来的工作中解决,即在现实世界中,每张图像的语义信息都相当丰富,从不同标签和视角角度看,能获取到不同的特征信息。因此在未来的工作中,应考虑基于多标签多视角数据集来验证所提MLCNN-IF模型的有效性。

猜你喜欢

集上标签准确率
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
Cookie-Cutter集上的Gibbs测度
链完备偏序集上广义向量均衡问题解映射的保序性
无惧标签 Alfa Romeo Giulia 200HP
高速公路车牌识别标识站准确率验证法
不害怕撕掉标签的人,都活出了真正的漂亮
复扇形指标集上的分布混沌
标签化伤害了谁