APP下载

基于深度聚类的目标细粒度分类方法

2022-09-13陆红强王俊林王亚楠安学智宁新潮

应用光学 2022年4期
关键词:细粒度聚类卷积

陆红强,王俊林,王亚楠,安学智,宁新潮,骞 琨

(西安应用光学研究所,陕西 西安 710065)

引言

细粒度目标分类又被称为子类图像分类,是近几年计算机视觉领域热门且富有挑战的研究课题之一[1]。与传统的粗粒度分类问题不同,细粒度分类根据目标关键位置或区域的特征属性实现类内更精细划分,如图1 所示。根据毛发、眼睛、体型实现狗的不同品种区分,如数据集Stanford Dogs[2];根据眼睑、羽毛、喙、尾巴等特征实现对鸟品种的区分,如数据集CUB200[3];根据尺寸、外观、长宽比等特征实现不同飞机类型的区分等,如数据集FGVC。

图 1 细粒度分类示意图Fig.1 Schematic diagram of fine-grained classification

传统的细粒度分类方法是基于SIFT(scaleinvariant feature transform)、HOG(histogram of oriented gradient)等特征提取方法实现对目标不同区域的浅层特征的提取[4-5],结合具体的特征分类算实现分类功能,如传统的特征距离判定或机器学习分类算法,如SVM(support vector machine)[6]等。随着卷积神经网络强大的非线性表征能力被不断挖掘,其越来越多地被应用到计算机视觉领域,解决目标分类、检测等问题。例如WANG、LIN、DeCAF、张等将卷积神经网络运用到细粒度分类中,利用深度网络编码-解码的方式实现特征分类[7-11]。强监督深度学习算法本质为利用高性能GPU 完成对超大量同质化样本的学习,这种方式一方面需要增加网络深度来提高算法的鲁棒性,另一方面需要创建样本更丰富、数量更庞大的数据集来提高算法的泛化能力,因此受限于样本的丰富度以及计算机硬件条件等多方面因素。当前用于分类问题的深度学习算法在百万量级的数据集(如GoogleNet[12],CIFAR[13]等)上基本都达到饱和,因此想要实现更多种类、更具鲁棒性的分类效果,需要依赖于千万、亿级以上的数据集。尤其面对一些特殊的任务需求,受限于环境场景等因素,这种强监督学习方式很难得到充分应用。两级注意力模型(two level attention)[14]、Part R-CNN[15]等方法采用深度卷积+微调(DNN+finetune)的弱监督学习方式,将现有的目标分类的卷积神经网络通过迁移学习或局部特征学习,移植到细粒度分类任务中,此外还有基于注意模型[16]、星座模型[17]等的弱监督方法。尽管这些弱监督学习方法能够降低对样本的依赖,但其处理过程依旧是繁杂的,对计算机计算性能要求高。

基于当前算法的不足,本文提出一种基于深度聚类的目标细粒度分类方法,通过对图像浅层特征的提取处理,提取出提示目标,进一步采用超分辨方式,对目标特征进行补充和优化。通过训练好的深度卷积神经网络对提示目标进行二次特征编码,利用基于注意机制的主成分分析方法生成表征矩阵,最后利用聚类的方式实现目标的细粒度分类。该方法主要创新点有:1)提出一种新的解决方案,通过目标提示、超分辨处理、卷积神经网络、注意机制的主成分分析和聚类等方式的融合,实现细粒度分类;采用传统算法+人工智能方法,降低了对硬件平台和训练样本的依赖,方法简洁高效。2)采用无监督学习方式,借助卷积神经网络对目标不同空间域深层特征的充分表达能力,不需要对样本重新学习,实现目标类间和类内的多重分类,降低了算法与样本的强耦合关系。

1 相关工作

1.1 关于细粒度目标识别的研究

早期的传统算法基于人工特征标注,一般是先从图像中提取SIFT 或者HOG 这些局部特征,之后利用VLAD(vector of locally aggregated descriptors)[18]等编码模型进行特征编码,得到最终所需要的特征表示;SVM 等机器学习方法也被用来进行细粒度目标分类;随着深度卷积学习算法的成熟,细粒度目标分类研究逐渐使用深度卷积神经网络提取特征,这种特征具有更丰富的语义信息,能取得更好的结果。随着深度卷积特征的加入,细粒度图像分类的发展迎来了新的机遇,研究亦进入了新的阶段。WANG 、LIN、DeCAF 提出基于强监督深度学习的细粒度分类方法,这些方法在CUB200-2011、Stanford dog 等数据集上成功实现了同类目标的类内细粒度划分,比如在花的数据集上进行不同花种的划分,或在鸟的数据集中进行不同鸟类的划分,然而这种依赖特定数据样本训练的方式其本质与粗粒度目标分类并无二异,依赖于样本的内容,未能解决类间和类内的双重分类问题。尽管CIFAR-100 数据集有提供粗粒度分类和细粒度分类两种标签,但在使用过程中往往忽略了对粗粒度标签的使用。

1.2 深度聚类方法

近些年来基于卷积神经网络的聚类算法优化了特征提取和聚类过程,利用神经网络提取聚类导向的特征表示[19]。在自然语言处理和图神经网络中,深度聚类方法得到较为广泛的使用,如Word2Vec[20]、Node2Vec[21]等方法,神经网络通过对句子中词语先后顺序的学习生成每个词的特征向量,通过相似性度量等方法实现词语的分类和节点社区聚类等功能;在计算机视觉领域,Caron 提出一种基于深度聚类的目标分类方法,引入聚类方法为样本生成标签,进一步监督网络训练,最终实现网络的分类功能[22],但其标签生成过程依赖于对所有表征矩阵的聚类,对计算机内存占用过高。

2 基于深度聚类的目标细粒度分类

2.1 整体流程

当前应用于军事等领域的光电系统所采集的可见光视频或图像分辨率大多为1 280×960 像素及以上,而其中的小目标往往只包含几个像素,且受大气湍流、噪声等因素影响,特征信息损失严重,如果直接对1 280×960 像素的图像进行目标提取和细粒度分类是很困难的,因此需要借助预处理实现对目标特征的增强,进一步采取分类算法。本文提出一种基于深度聚类的目标细粒度分类方法,具体实现框图如图2 所示。

图 2 目标细粒度分类实现框图Fig.2 Implementation block diagram of fine-grained target classification

图 3 深度聚类算法具体构架Fig.3 Specific structure diagram of deep clustering algorithm

2.2 深度聚类算法

经过预处理的图像块,借助于神经网络的非线性拟合能力,进行多层次的特征提取,其输出为高维多通道的特征图谱。常用于图像特征编码的神经网络有AlexNet[23]、VGG[24]、Resnet[2]等。由于经预处理的图像块具有较少的像素个数,因此不需要借助层数较深的编码网络。采用基于注意机制的主成分分析方法进行特征降维,生成表征矩阵。进一步利用K-means 聚类方法实现分类。

2.2.1 基于注意机制的主成分分析特征降维

对特征信息降维并通过聚类方法实现分类是本文的核心,本文采用基于注意机制的主成分分析模型(attentive PCA)实现特征降维,以产生用于聚类的表征矩阵,具体实现如图2 特征降维所示。注意机制包含两种注意模型:通道注意和空间注意。

通道特征注意:通过一系列卷积、池化操作的特征图,每个通道包含的特征信息都能反应在固定空间的某一位置上。假设神经网络输出的特征图f大小为W×H×C,其中W和H表示特征大小,C表示通道数。增加包含更多有效信息的通道的权重,减少信息含有量低通道的权重,能够有效提升网络对具有鉴别性特征的表达能力[16]。具体实现过程如下:

1)对C个通道分别使用全局平均池化求取平均值,得到降维的全连接特征图f′∈R1×1×C′:

2)利用Sigmoid 函数对每个通道的权重进行非线性变换,并进行归一化操作,权重越大表示该通道特征越具有显著性:

式中:Norm表示归一化操作;σ(·)为Sigmoid 操作。权重ω ∈R1×1×C重新加权到每一层特征图谱中:

全书以华为手机品牌的时间发展为主要脉络,介绍了华为手机业务的组织架构、后台资源支持、产品研发和终端销售队伍建设等各个方面,梳理了华为从B2B到B2C业务的转型过程。华为终端的品牌运营、生态战略布局和各方面管理经验,值得更多的企业借鉴。

全局特征注意:同一层特征图不同位置蕴含的空间特征信息也是不同的,不同尺寸和感受野的卷积操作,使得每个位置的特征信息蕴含了原始图像局部空间特征的关系。因此本文提出一种全局特征注意机制,通过高斯滤波的方式,对每层特征图进行不同权重的加权操作,来增加全局特征的重要程度。其定义为

式中Convguass表示利用一个大小为n的高斯核函数的卷积操作。

2.2.2 特征聚类

输入的图像通过2.2.1 的方式生成表征矩阵。相较于传统方式,卷积神经网络具有更强大的非线性特征表达能力,能够充分挖掘纹理、颜色、空间关系以及深层次的语义特征和图像上下文关系。特征聚类即依据表征矩阵特征相似性计算,利用聚类的方式对表征矩阵分类,聚类算法属于无监督学习方法。常用的聚类方法有K-means 聚类[25]和GMMs(Gaussian mixture models)聚类[26]等,其中K-means 由于原理简单、收敛速度快等优点被经常使用。在图像分类问题中,利用K-means 聚类实现对表征矩阵的分类。具体流程见表1 伪代码所示。

表 1 K-means 聚类方法流程Table 1 Flow chart of K-means clustering method

3 算法实现和结果分析

为验证本文所提方法的有效性,实验分别采用CIFAR-10 和CIFAR-100 测试数据集进行验证,深度学习框架为Pytorch,采用NVIDIA 1080Ti 显卡进行加速。CIFAR-10 测试数据集为包含10 种类别的10 000 张测试图片,CIFAR-100 测试集为包含10 000 张测试图片,每张照片有细粒度标签(fine_labels)和粗粒度标签(coarse_labels)两种标签,共含有20 种粗粒度类别、100 种细粒度类别,数据集样例如图4 所示。

图 4 数据集样例Fig.4 Samples of dataset

3.1 基于不同特征编码网络的细粒度分类结果

为验证方法的有效性,实验分别采用预训练的VGG-16 和ResNet-34 作为特征编码网络,设计了强监督学习训练和无监督聚类4 种方案,其中强监督学习方法(VGG-16 和ResNet34)以神经网络为骨干网络,采用FC(fully connected)全连接层分类,并使用Softmax 函数进行训练。VGG+cluster和ResNet+cluster 表示采用不同预训练神经网络的聚类方法。实验结果如表2 所示。

表 2 采用不同分类方法的分类准确率Table 2 Classification accuracy rates using different classification methods

结果表明,与强监督学习方法相比,基于深度聚类的无监督学习方法在准确性上略低于强监督学习方式,其中,以Resnet 作为骨干网络,在CIFAR-10上的实验结果准确率相较于强监督学习方法仅下降了1.55%,在CIFAR-100 上下降了2.91%;以VGG作为骨干网络,在CIFAR-10 上准确率下降了3.18%,在CIFAR-100 上准确率下降了3.42%。结果表明,深度聚类方法尽管准确率略低于强监督学习方法,但依然能够保持与之相当的分类准确性。

强监督学习通过“所见即所学”的方式,在网络训练中即已经完成了对测试样本不同种类的特征学习。而无监督学习缺乏对目标特征的先验学习过程,因此其准确率会有所降低。当采用弱监督学习方式时,通过网络迁移,其分类准确性将有所提升。这一结论已经在文献[22]中得到验证。然而与强监督学习相比,无监督深度聚类方式最大的优势在于能够有效对“未学习”的目标进行分类,而强监督学习方法不具备解决此问题的能力。

3.2 聚类簇数和聚类等级对分类结果的影响

选择的聚类簇数量不同时,其产生的分类精细程度也不同,实验在CIFAR-100 数据集上验证了不同聚类簇数对结果的影响。当簇数设置为20 时(CIFAR-100 粗粒度分类数),其结果更接近于粗粒度标签;当簇数设置为100 时(CIFAR-100 细粒度分类数),其结果更接近于细粒度标签。表3 显示了选用VGG-16 时不同簇数在CIFAR-100 数据集上的准确率。

表 3 不同簇数对分类结果的影响Table 3 Influence of different numbers of cluster on classification results

结果表示,选择不同的聚类簇数,算法对测试样本的分类程度不同,簇数越多表明分类的程度更细致,簇数越少,分类程度越粗。簇数越多因为聚类种类越多,因此其准确率越低。当簇数继续增加时,可能会导致空簇的现象。

值得注意的是,本次实验中簇数选择是独立的,即要么选20,要么选100(本文称之为一级聚类方式),然而CIFAR 数据集中粗粒度和细粒度分类标签存在“父子”继承关系,即每一类粗粒度种类又被细分为5 个二级种类,因此,本实验亦可按照此类方式设计,将粗粒度簇数设计为20,再对每一类进行簇数为5 的细粒度聚类(本文称之为二级聚类方式),其结果如表4 所示。

表 4 不同聚类等级对分类结果的影响Table 4 Influence of different clustering grades on classification results

结果表明二级聚类方式其准确率相较于一级聚类方式提高了4.16%,相较于强监督分类方法VGG-16 提高了0.74%,表明这种聚类方式更有效。其原因在于,二级聚类方式是在粗粒度聚类的基础上实现的,受益于粗粒度聚类的高准确率。因此可以通过多级聚类的方式提高细粒度聚类的准确性。

与其他分类方法相比,聚类算法反映了不同输入之间的特征相似性,不用簇数表明对输入数据的分类的精细程度。对于无标签的数据集,在目标种类未知的情况下,深度聚类能够通过不同聚类数的选择实现不同精细程度的分类效果,相较于强监督分类方法,聚类算法更加灵活。这种分类方式在无标签的数据集上更有应用意义。

4 结论

本文提出一种利用深度聚类算法实现基于目标深度特征的细粒度分类方法。通过卷积神经网络对经过预处理的图像目标特征进行编码,利用基于注意机制的主成分分析方法降维生成表征矩阵,进一步利用K-means 方法实现目标类间和类内聚类。实验验证了基于VGG 和ResNet 网络的深度聚类算法在CIFAR-10 和CIFAR-100 数据集上的有效性,其中基于ResNet-34 的聚类方法在CIFAR-10 细粒度测试集上分类性能达92.71%。此外,可以通过不同簇数和聚类等级的选择实现不同精细程度的细粒度分类。结果表明,与强监督学习方法相比,本文所提无监督学习算法-基于深度聚类的细粒度目标分类方法能够实现与强监督学习相当的分类准确性。

猜你喜欢

细粒度聚类卷积
融合判别性与细粒度特征的抗遮挡红外目标跟踪算法
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于SVM多分类的超分辨图像细粒度分类方法
卷积神经网络的分析与设计
基于K-means聚类的车-地无线通信场强研究
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
基于型号装备?角色的IETM访问控制研究
基于web粒度可配的编辑锁设计
基于高斯混合聚类的阵列干涉SAR三维成像