细粒度图像分类综述

2023-02-03 03:01申志军穆丽娜史远航刘志强
计算机应用 2023年1期
关键词:细粒度注意力卷积

申志军,穆丽娜,高 静,史远航,刘志强

(1.阜阳师范大学 计算机与信息工程学院,安徽 阜阳 236037;2.内蒙古农业大学 计算机与信息工程学院,呼和浩特 010011)

0 引言

细粒度图像分类(Fine-Grained Image Categorization,FGIC)在学术研究和应用实践中都较为活跃。常见的学术研究课题主要包括识别不同种类的鸟、狗、车、飞机、花、鱼等。以清华狗数据集[1]为例,如图1 所示:图(a)中所有的狗都属于大丹犬,但毛色不同;图(b)是诺里奇更犬,毛色极其相似。实践中细粒度分类的实例更为普遍,如病虫害检测[2]、社交娱乐网站中个人相册的自标注管理、电子商务中购物平台商品识别推荐系统中的商品检索[3]以及在交通信息中的车型识别[4]等。

图1 清华狗数据集Fig.1 Tsinghua dogs dataset

图像分类任务可分为跨物种语义级分类、细粒度图像分类和实例级图像分类。跨物种语义级图像分类[5-6]是在类别层次上对图像进行分类,存在类间方差大、类内方差小的特点,常用于场景识别[7-9]和对象识别[10]等任务。

实例级图像分类[11-12]是在个体层次上对图像进行分类,其要求更加严格,如人脸识别[13-14]等。影响实例级图像分类效果的关键因素是图像预处理算法和个体比对算法,其中图像预处理算法主要解决复杂光线环境和有限遮挡等问题。细粒度图像分类是对同一类别图像进行更细致的子类划分,也称子类别图像分类,例如判断图像中的狗是哈士奇还是阿拉斯加。

与传统的分类问题[15-17]不同,细粒度图像具有类内方差大、类间方差小的特点:类内方差大通常表现为同一子类的物体外观显著不同,造成这种现象的主要影响因素有光照、视角、杂波背景和物体遮挡等;类间方差小通常表现为不同子类的物体具有相似的外观。不仅如此,细粒度图像分类还存在类别细分所引起的分类混淆问题,以及图像背景信息冗余对分类结果产生干扰的问题。这一特点使得细粒度图像分类的难度远高于传统的图像分类任务。

以深度学习方法为分水岭,细粒度图像分类算法发展历程大致可分为传统的基于人工特征的分类方法和基于深度学习的分类方法。

基于人工特征的分类方法[18-20]主要基于人工特征实现,应用较多的人工特征如尺度不变特征变换(Scale-Invariant Feature Transform,SIFT)[21]、加速稳健特征(Speeded Up Robust Feature,SURF)[22]、方向梯度直方图(Histogram of Oriented Gradient,HOG)[23]、局部二值模式(Local Binary Pattern,LBP)[24]、POOF(Part-based One-vs-One Features)[25]、Fisher-encoder[26]等,特征描述能力越强,分类准确率越高。但通常最优特征与所识别物种有密切关系,如鸟类的最佳特征是头部和身体,而狗类的最佳特征是鼻子和耳朵,显然人工特征的表达能力有限,不具有足够的可判别性,固有特征无法解决所有的分类问题,因此此类方法仅适用于小样本规模问题和具有领域专业知识的用户。早期的研究工作表明,强大的特征表示对分类准确度有显著的影响[27-31],但严重依赖人工标注信息的缺陷使其实践可行性较低。据此,构建更具判别性的特征表示和更准确的局部定位是提高细粒度分类准确率的有效途径。

基于深度学习的分类方法又可进一步分为基于局部检测的分类方法、基于端到端的分类方法和基于注意力机制的分类方法三个发展阶段。这三个阶段分类方法的创新思路有四个方向,如通过强大的深度模型学习更多有判别性的表示、采用姿态对齐操作消除姿态偏差和拍摄角度等影响、构建局部区域特征表示,进行基于分割的目标对象定位:

1)基于局部检测的分类算法的基本流程为:先检测与定位局部区域,然后提取代表性的特征,从而提高细粒度分类的精度。此类两段式算法主要采用若干阶段交替或级联的结构,这样的结构导致训练过程复杂。此外,算法利用标注信息[32-33]滤除背景噪声,减少干扰,但获取标注信息的代价过大,制约了算法的实用性。

2)针对训练过程复杂的问题,研究人员提出了一系列双线性特征学习算法[34-35]避免使用额外的标注信息,同时可以直接学习更具辨别性的特征,如仅依靠图像标签完成分类任务[36]。虽然该类算法能够简化训练过程,但会产生特征维度过高的问题。使用聚合低纬特征或设计损失函数的方法可有效缓解特征维度过高的问题。

3)图像领域中,注意力机制主要依靠掩码操作实现,即使用新的权重标识图像的关键区域,训练的深度学习模型用于学习输入的新图像中所需关注的区域。因此,基于注意力机制的分类算法[37-42]能够自主学习和理解图像中的潜在信息。不仅如此,单个卷积神经网络(Convolutional Neural Network,CNN)模型很难描述从属类之间的差异,对于细粒度分类存在一定的困难,研究人员尝试联合对象级卷积网络和部件级卷积网络进行多尺度的特征学习,并设置约束条件筛选具有代表性的特征。

1 细粒度图像分类数据集

在细粒度图像分类中,数据集的质量对模型分类效果的影响非常明显。细粒度图像分类适用的数据集主要有8 种,分别是:加州理工学院的鸟类数据集(CUB200-2011)[43]、斯坦福狗数据集(Stanford Dogs)[44]、斯坦福汽车数据集(Stanford Cars)[45]、FGVC 飞机数据集(FGVC-Aircraft)[46]、牛津大学的花类数据集(Oxford Flowers)[47]、水下鱼类数据集(Fish4Knowledge)[48]、野外鱼类数据集(WildFish)[49]和清华狗数据集(Tsinghua Dogs)。其中,CUB200-2011 是细粒度图像分类最经典和常用的数据集,具体信息如下:

1)CUB200-2011 数据集共有11 788 张图像,包含200 种鸟类,其中5 994 张用于训练,5 794 张用于测试。相关标注信息包含15 个局部区域位置、312 个二值属性、1 个标注框和语义分割图像。具体见http://www.vision.caltech.edu/visipedia/ CUB-200-2011.html。

2)Stanford Dogs 数据集共有20 580 张图像,包含120 种狗类,其中12 000 张用于训练,8 580 张用于测试,该数据集仅提供标注框注释信息。具体见http://vision.stanford.edu/aditya86/ ImageNetDogs/main.html。

3)Stanford Cars 数据集共有16 185 张图像,包含196 类车,其中8 144 张用于训练,8 041 张用于测试,只提供标注框信息。该数据集中的图像源于不同品牌、不同年份和不同车型。具体见http://ai.stanford.edu/~jkrause/cars/car_dataset.html。

4)FGVC-Aircraft 数据集共有10 200 张图像,包含100 类飞机,每类有100 张图像,其中6 667 张用于训练,3 333 张用于测试,该数据集同样仅提供标注框信息。具体见https://www.robots.ox.ac.uk/~vgg/data/fgvc-aircraft。

5)Oxford Flowers 数据集有两种规模,最为常用的规模有8 189 张图像,包含102 种花类,每种花包含40 到258 张图像,其中6 149 张用于训练,1 020 张用于测试。该数据集只提供语义分割图像,但不提供额外标注信息。具体见https://tensorflow.google.cn/datasets/catalog/oxford_flowers102?hl=zh-cn。

6)Fish4Knowledge 数据集共22 370 张图像,包含23 种鱼类,每类含有16~12 000 张不同的图像,其中19 159 张用于训练,8 211 张用于测试。具体见https://groups.inf.ed.ac.uk/f4k/ GROUNDTRUTH/RECOG/。

7)WildFish 数据集共54 459 张图像,包含1 000 种鱼类,其中38 121 张用于训练,16 338 张用于测试。具体见https://www.heywhale.com/mw/dataset/5e68b523cdf64e002c97a478。

8)Tsinghua Dogs 数据集共70 428 张图像,包含130 种狗类,每类含有200 到7 449 张图像,提供头部和身体两个部位的标注框信息。其中65%的图像属于生活场景类图片。具体见https://cg.cs.tsinghua.edu.cn/ThuDogs/。

2 基于局部检测的分类方法

CNN 表现出优异的分类性能,研究人员开始尝试将通用分类任务中所学的知识迁移到细粒度图像分类领域。

Donahue 等[50]提出一种半监督的迁移学习深度架构,其核心是一种深度卷积特征DeCAF(Deep Convolutional Activation Feature,DeCAF),该方法首先利用标注框提取前景对象,利用预训练卷积网络提取前景对象的DeCAF 特征,再在此基础上通过多类别逻辑回归模型进行分类。DeCAF在Caltech-UCSD 数据集上取得了58.75%的准确率,表明卷积特征拥有强大的泛化和领域自适应能力。DeCAF 开启了利用卷积特征进行细粒度图像分类的新时代。

对局部目标对象进行定位和描述是细粒度图像分类的关键,为此业界首先针对这一问题开展了研究工作,Farrell等[51]提出用于细粒度分类的姿态归一化表示法,该方法通过定位包含语义特征的局部区域和提取这些区域的外观特征来消除姿态、清晰度和摄像机视角变化带来的问题,不足之处在于局部区域定位需要人工获得目标的体积特征[52-53]。为减少人工干预,Felzenszwalb 等[54]提出利用可变部件模型(Deformable Part Model,DPM)以获取整个对象的方法。DPM 在猫狗等动物检测领域比较有效,但对于姿态特征变化较大的检测目标(如鸟、人)而言效果较差[55]。为此,Zhang等[56]提出可变部件描述子,该方法由基于HOG 的DPM 和支持向量机(Support Vector Machine,SVM)构成,其中基于HOG 的DPM 用于局部区域定位,SVM 用于分类。

此外,部分研究人员尝试将CNN 融合到细粒度分类算法以提高特征所包含的信息量,Zhang 等[57]提出一种结合CNN 和局部区域的分类算法,该方法使用基于HOG 的Poselet 将图像划分为多个局部区域,利用CNN 提取各个局部区域的卷积特征,将局部区域卷积特征进行拼接形成描述整张图像的卷积特征,最后输入到线性SVM 中分类。

这类方法表明可通过准确提取特定对象之间细微的外观差异进行局部区域定位,以此提高细粒度图像的分类精确度;但在测试时都需要利用边界框进行局部区域定位和关键点检测,且均需使用类似HOG 的弱特征模型。

Girshick 等[58]提 出R-CNN(Regions with CNN features,R-CNN)算法将图像检测分为局部检测和对象检测,并使用几何约束来提升定位精度。该方法采用自底向上的区域算法产生大量候选区域,对候选区域逐一进行特征提取,同时使用预训练的SVM 模型寻找包含目标对象的候选区域,最终使用非极大抑制策略筛选定位检测结果。然而,R-CNN 的结果并不能反映每个局部区域的好坏,类似检测结果发生重叠的候选区域、局部区域检测结果不在对象检测结果内等情况都会不同程度地影响最终的分类性能。

针对R-CNN 的检测结果问题,Zhang 等[59]提 出Part R-CNN 算法,该算法检测流程与R-CNN 基本相同,不同之处在于Part R-CNN 使用几何约束和边界约束对检测结果进行优化,在CUB200-2011 数据集上的分类准确率为73.89%,几何约束能将分类精度提高约1%。相对于DeCAF 算法,Part R-CNN 算法在局部检测定位和特征提取两方面均采用基于CNN 的方法,并且针对细粒度图像的特征对R-CNN 算法做了改进和优化。此外,该算法测试时不需要任何标记信息,提高了算法的实用性。但R-CNN 和Part R-CNN 所采用的自底向上的方法会产生很多无关区域,一定程度上会降低算法速度。

Branson 等[60]提出了姿态归一化卷积神经网络(Pose Normalized CNN,PN-CNN),该方法包含姿态原型的学习、姿态对齐和分类三个步骤,如图2 所示。其中,姿态原型的学习可通过预训练DPM 算法获得目标对象的2D 位置和局部区域关键点,也可直接使用标注框和局部区域注释信息。在此基础上将学习得到的姿态原型进行姿态对齐,然后将各个区域的卷积特征连接成一个整体并用SVM 进行分类。

图2 姿态归一化卷积神经网络结构Fig.2 Structure of pose normalized CNN

由于深度卷积特征具有更强的区分度,使用深层卷积特征表示浅层图像能够实现更高的准确度;同时,针对不同的局部区域提取不同深度的特征更有利于对细粒度图像的分类。

Lin 等[61]提出包含深度定位、对齐和分类三个子网络的细粒度图像分类模型(Deep localization,alignment and classification,Deep LAC)。定位子网络包含5 个卷积层、3 个全连接层,全连接层用于调整定位边框的对角信息;对齐子网络接收边框信息进行模板对齐操作,其阀门连接函数(Valve Linkage Function,VLF)用于优化两个子网络之间的连接,协调定位结果和分类结果,有助于更新定位子网络的参数,使模型易于收敛。

基于全卷积网络(Fully Convolutional Network,FCN)[62],Wei 等[63]提出了Mask CNN 模型,该模型仅包含卷积层、激活层和池化层,使模型的参数量、特征维数较少,模型规模较小,如图3 所示。其中FCN 用于定位关键局部区域(目标对象的部件)和生成带权重的候选区域的掩码,通过局部区域定位分割得到边界框,建立Mask CNN 分支用于聚合目标对象的卷积特征。FCN 将局部区域定位转化为三分类分割问题,分割结果为局部区域掩码。

图3 Mask CNN结构Fig.3 Structure of Mask CNN

深度学习可以通过层级连接对输入进行复杂的非线性运算,提取到更丰富、更深层次的图像特征信息,其中CNN所具有的局部感知、权值共享等特点可有效降低计算量[64]。

综上所述,以上方法在早期工作[51-53]的基础上将卷积特征引入细粒度图像分类模型,在分类精度和泛化能力上取得了一定的进展,但这类方法大多采用交替或级联结构,模型训练较为复杂;同时对目标对象标注框和局部区域标注点等额外注释信息的依赖限制了它们在实际场景中的应用;此外,这些方法还存在对显著区域关注过多、对其他微小分类线索丢失过多等问题。

3 基于双线性特征的分类方法

对于图像的不同特征,前期常用的方法是连接、求和及池化等操作,但是人类视觉处理主要有两个神经通路,分别用于物体识别和物体定位。因此,Lin 等[34]提出双线性卷积神经网络(Bilinear Convolutional Neural Network,B-CNN)模型,结构如图4 所示,由两个不同的CNN 协同完成细粒度图像的类别检测和特征提取,通过双线性操作和特征归一化处理得到最终的双线性特征作为分类依据。该方法在CUB200-2011 数据集上取得了84.1%的准确率。

图4 B-CNN结构Fig.4 Structure of B-CNN

双线性操作通过外积相乘的运算实现不同特征的融合,运算得到的双线性特征向量是一种高维的二次扩展特征,虽然能够提高分类准确率,但同时也使它无法应用于大规模真实场景。此外,CNN 用相同的卷积核尺度进行特征提取,导致卷积特征单一化,不利于细粒度分类中局部微小区域的信息捕获,特征提取能力稍显不足。

针对B-CNN 模型参数过多、计算量和存储开销过大等问题,Gao 等[65]提出紧凑双线性池化方法(Compact Bilinear Pooling,CBP),该方法通过随机麦克劳林(Random MacLaurin)[66]和张量草图(TensorSketch)[67]两种多项式核函数逼近二阶统计量,以较小的性能损失有效降低了双线性特征维度。Kong 等[68]提出了一种低秩双线性池化模型LRBP(Low-Rank Bilinear Pooling,LRBP),该方法用双线性分类器代替了双线性特征,减少了需要学习的参数,提高了计算效率。Li 等[69]提出一种基于矩阵低秩分解的因式分解双线性网络(Factorized Bilinear Network,FBN),该方法通过分解全连接层的卷积核,减少了模型的参数量。

B-CNN 不能捕获特征图通道之间的非线性关系,无法充分利用通道之间所蕴含的信息,使卷积网络的表达能力得不到充分利用,针对这一问题,葛疏雨等[70]提出一种核化双线性卷积网络模型(Kernelized Bilinear Convolutional Neural Network,KB-CNN),该方法由卷积层、核化双线性聚合块、softmax 分类器三部分组成。其中,核化双线性聚合块对卷积层输出的特征进行归一化,并对特征图进行双线性聚合以建模特征图通道间的非线性关系,提高了模型的表达能力。

B-CNN 模型聚合两个双线性特征会产生一个包含两个特征之间相互作用的协方差矩阵,但B-CNN 模型产生的两个特征相同时,其结果是一个对称的半正定矩阵,这将会影响模型训练。为此,Lin 等[71]分析了两个特征相同的情况,提出一种改进的双线性网络模型(Improved B-CNN),如图5 所示。该方法在二阶特征的对角线添加一个小的正值得到一个新的矩阵,在此基础上压缩矩阵特征值的动态范围和归一化,使模型性能提升2%~3%。

图5 Improved B-CNN结构Fig.5 Structure of Improved B-CNN

鉴于双线性模型的成功,Cui 等[72]提出一种更通用的核池化方法(Kernel Pooling,KP),该方法以核函数的形式捕捉特征之间的高阶信息。图像输入到全卷积层中,输出特征映射,对每个空间位置上的特征向量进行核池化,对所有位置的特征使用平均池化获得最终的特征,以此进行分类。

为进一步提升模型性能,Moghimi 等[73]提出一种增强深度卷积网络BoostCNN(Boosting Deep Convolutional Neural Network,BoostCNN),该方法利用boosting 算法集成多个不同尺度的双线性卷积网络提升模型性能,该模型能够在每次迭代中找到最佳网络,且在训练时不需要额外的注释,有效降低了人工操作开销。其不足之处在于最小二乘法学习boosting 权重使模型训练显著变慢。

为解决分类过程中存在无关背景的干扰以及个别可判别特征难以提取的问题,闫子旭等[74]提出一种将目标检测模型YOLOv3 和双线性融合网络相结合的优化算法,该方法使用YOLOv3 检测和定位目标对象在图像上的大致位置,通过背景抑制方法遮挡目标以外的背景,避免背景无关信息的干扰,将处理后的图像输入到包含特征融合功能的BCNN 中进行分类。该方法将网络不同卷积层的优势进行互补,在一定程度上解决了BCNN 对图像中的目标位置不敏感和卷积特征包含的信息不充分等问题,提高了细粒度分类的准确率。

同样,为充分利用不同卷积层的优势,Yu 等[75]提出一种跨层的双线性池化(Cross-Layer Bilinear Pooling,CL-BP)方法来捕获卷积层之间的特征关系,并以一种相互增强的方式学习图像特征表示。同时,在此基础上提出一种分层双线性池化集成(Hierarchical Bilinear Pooling,HBP)框架,该框架通过对多个跨层双线性模块进行集成,从中间卷积层获取互补信息,提高模型性能。

基于双线性池化的模型在细粒度分类任务中的有效性已被证实,但大多数方法只将最后一个卷积层的激活作为图像的表示,这种方法不足以描述对象的全部语义。

4 基于注意力机制的分类方法

注意力机制的本质与人类观察外界事物的机制相似,人类观察事物时通常会迅速扫描全景,然后根据大脑信号快速锁定需要重点关注的局部区域,最终形成注意力焦点。在细粒度分类任务中,应用注意力机制可检测到均匀分布的多个局部区域,其对应的特征可用于区分不同类别的目标对象。

Itti 等率先提出视觉注意力模型,该模型可将多尺度的图像特征组合成单一的显著性图,并利用动态神经网络(Dynamical Neural Network,DNN)[76]按序选择重点关注区域。Mnih 等首次在循环神经网络上应用注意力机制进行图像分类[77],该模型能够以自适应方式选择一系列区域,将这些区域处理成为高分辨率图像,然后提取图像特征信息。该模型在一定程度上具有平移不变性,同时可对其计算量进行控制以减少计算开销。

特征提取效果对细粒度分类效果影响较大,但现有方法存在标签依赖、检测准确率偏低等问题。

为检测对分类结果更有利的可判别区域,Xiao 等提出一种包含对象级(object-level)和局部级(part-level)两个层次特征的两级注意力模型(Two-level Attention Model,T-L Attention)[37],该模型包含两个子网络FilterNet 和DomainNet。该模型整合了生成候选区域、选择与目标对象相关区域和定位可判别区域三种注意力机制进行训练,提取图像的前景对象和特征明显的局部区域,首次实现仅使用类别标签完成细粒度图像分类任务。

Liu 等[38]提出一种基于强化学习的全卷积注意力定位网络(Fully Convolutional Attention Localization Networks,FCANs),其结构主要包含特征提取、全卷积局部区域注意力网络、细粒度分类三部分。其中,全卷积注意力网络首先定位图像的多个局部区域,并利用卷积特征对每个局部区域生成分数映射(Score Map)。采用全卷积网络架构可以避免全连接层带来的超大计算量,但局部区域的高分辨率处理会导致在多步前向和后向传播过程中很耗时。

Zheng 等[78]提出一种多注意力卷积神经网络(Multi-Attention Convolutional Neural Network,MA-CNN)。MA-CNN 由卷积、通道分组和局部分类三部分组成,输入图像经卷积层提取基于区域的卷积特征,利用特征图的峰值响应区域特征聚类响应区域相近的通道,得到具有判别力的局部区域,同时利用通道分组损失函数增大类间区分度,减小类内区分度。

Chang 等[79]提出一种轻量级互通道损失模块(Mutual-Channel loss,MC-Loss),不需要复杂的网络设计或训练机制,即可获得具有可判别性的细节信息。该模块由判别性组件和差异性组件构成,有助于从图像中不同显著区域捕获细节信息。

Fu 等[39]提出循环注意力卷积神经网络RA-CNN(Recurrent Attention Convolutional Neural Network,RA-CNN),如图6 所示。该网络在多个尺度上学习可判别区域注意力(Discriminative Region Attention)和局部区域特征表示(Region-based Feature Representation)。每个尺度都包含分类子网络和注意力生成子网络(Attention Proposal Sub-network,APN)。APN 以迭代的方式从完整的图像开始产生由粗粒度到细粒度的注意力区域,前一个网络的输出结果作为后一个网络的输入。该方法能够使网络逐步定位到可判别区域以产生更高置信度的预测结果。在CUB200-2011,Stanford Dogs 和Stanford Cars 三个数据集上分别取得85.3%、87.3%、92.5%的准确率。

图6 循环注意力卷积神经网络结构Fig.6 Structure of RA-CNN

借鉴人类通过对比两张图像获得有效的比对线索进而识别图像的思想,Zhuang 等[80]提出了一种简单而有效的注意力成对交互网络(Attentive Pairwise Interaction Network,API-Net),核心模块是注意力成对交互模块API,包含互向量学习(Mutual Vector Learning)、门向量生成(Gate Vector Generation)和成对交互(Pairwise Interaction)三个子模块。在互向量学习模块中,一对图像经骨干网络获得各自的卷积特征,通过多层感知机将两张图像中的可判别信息提取成为一个互向量,互向量的特征通道中包含两张图像的高度对比线索,以辅助捕捉输入图像中的语义差别。在此基础上,门向量生成模块将互向量和各图像的卷积特征进行通道积(channel-wise)和sigmoid 激活,产生两个图像之间注意力显著不同区域的门向量,最后通过residual attention 引入观察两张图像之间不同之处的交互机制。

此外,Zhang 等提出一种渐进式共同注意力网络(Progressive Co-Attention network,PCA-Net)[81],PCA-Net 包含两个核心模块:共同注意力模块(Co-Attention Module,CA)和注意力消除模块(Attention Erase Module,AE),如图7 所示。CA 模块通过对同类图像卷积特征中特征通道的交互来捕获共同的可判别特征,形成交互特征图。AE 模块通过全局平均池化、上采样和阈值设定获得和原始图像尺寸一致的0-1擦除掩码(Drop Mask),经原图像和擦除掩码进行逐元素乘积运算消除通道交互增强的突出区域,迫使网络将注意力集中在其他判别区域,使模型学习的区域多样化,同时减少对训练样本的依赖,降低过拟合,提高模型的鲁棒性。该方法可将注意力分散到每个区域,从而使预测更加全面。

图7 渐进式共同注意力网络结构Fig.7 Structure of PCA-Net

Ji 等提出一种结合注意力卷积的二叉神经树模型(Attention Convolutional Binary Neural Tree Architecture,ACNet)[82]。该模型将注意力卷积网络加在二叉树的边缘,用于获取目标对象的特征表示,不同分支的注意力卷积专注于不同的局部区域。每个节点间的路由函数用于计算树结构中根到叶子节点的路径,以此作为决策依据。完整的树结构表示由粗到细的层次特征学习过程。该网络将传统数据结构和神经网络进行融合,同时加入注意力机制,最终的分类效果较优。在CUB-200-2011、Stanford cars 和FGVCAircraft 数据集上取得88.1%、94.6%、92.4%的准确率。

此外,Sun 等[83]提出一种基于注意力机制的卷积神经网络能够在输入的不同图像之间调节多个目标区域。该方案首先通过压缩多扩展模块(One-Squeeze Multi-Excitation,OSME)提取每个输入图像的多注意力特征区域,然后使用多注意力多类别约束模块(Multi-Attention Multi-class Constraint,MAMC)加强注意力特征的相关性。

5 总结和展望

随着深度学习的发展、迁移学习的引入、注意力机制的出现,细粒度图像分类任务取得很大的进展。现有研究表明,使用卷积特征替代早期人工设计特征描述子,节省了时间的同时提高了准确率;但基于局部检测交替或级联的模型结构注定其训练过程复杂,对注释信息的依赖也限制了它在实际场景中的应用,还存在过分关注显著区域和丢失微小分类线索等问题。基于双线性特征的方法存在高维特征导致模型参数过多、计算量大等问题,后续方法的改进思路是降维特征、减少模型参数量等。借鉴人类观察事物时注意力分布的方式,将注意力机制引入细粒度分类模型可以更好地寻找细微的差异。

本文对未来研究方向作出以下梳理:

1)构建更高质量更完善的细粒度数据集。近年,由于深度学习的发展和算力的提高,各种分类任务利用深度学习获得了前所未有的进展,一个高质量的数据集往往能够提高模型训练的质量和预测的准确率。如何构建更高质量更全面的数据集仍是需要研究的问题。此外,使用图像增强方法丰富训练数据集,让模型尽可能地学习更多的特征,以增强其泛化能力,也是后续需要研究的内容。

2)在更自然的环境中进行细粒度分类。科研的目的是更好地实践,之前的研究多数无法满足现实的需求。所以,后续研究中仍需考虑自然场景中图像光照、遮挡、其他物体干扰等情况下的图像分类,新颖的模型应该具有自适应性,且能够更好地泛化,能够探索异构图像之间的关联,结合目标检测进一步挖掘图像特征。

3)与其他领域进行结合。细粒度图像分类是一个综合性研究课题,将细粒度图像分类与图像检索、图像生成、对象检测等领域结合还有待进一步探索。

4)支持大规模数据的细粒度分类。Transformer 模型[84]在一系列广泛的语言任务表现出色,如文本分类、机器翻译[85]和问答。已有研究表明,Transformer 在计算机视觉领域不仅适用于高级任务如图像分类[86]、目标检测[87-88]等,在低级任务如图像增强中也取得了突破性进展,因此,Transformer 和细粒度图像分类任务的结合也是值得关注的方向之一。

猜你喜欢
细粒度注意力卷积
融合判别性与细粒度特征的抗遮挡红外目标跟踪算法
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于SVM多分类的超分辨图像细粒度分类方法
卷积神经网络的分析与设计
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
基于web粒度可配的编辑锁设计
“扬眼”APP:让注意力“变现”
支持细粒度权限控制且可搜索的PHR云服务系统