基于深度卷积图像识别的相关技术主要专注于高层次图像特征的理解,而对于相似物体之间的细节差异和具有判别意义的区域(discrimination region)的定位和识别上仍有较大提升空间。而具有判别意义的局部区域的精细特征表示恰恰是解决精细图像分类任务的关键。例如,对于『花』的分类、『鸟』的分类,人类专家可以凭借其自身专业知识仅根据目标局部特征就可以区分细微差别的目标。
受此启发,本文提出了一种全新的基于“分解-重构”(Destruction and Construction Learning, DCL)的图像分类学习框架,来强化神经网络对于“专家”知识的学习。在DCL框架中,除去基本的标准分类骨干网络(Backbone)以外,我们引入了两个全新的模块:分解模块以及重构模块。其中分解模块通过区域混淆机制(Region Confusion Mechanism, RCM)将图像中物体的结构信息进行“破坏”,通过将无物体结构信息的信号输入到骨干网络中的方式,迫使分类网络必须更多地关注具有判别意义的局部子区域来发现差异。同时为了避免RCM引入的噪声视觉特征模板,我们使用能区分原始图像和破坏图像的对抗性损失,对噪声图像特征加以区分。最后,经过骨干网络得到的图像特征信息,会再一次经过“重构”模块,该模块使用一个区域对齐网络对被破坏掉的图像中的局部区域之间的语义相关性进行建模,试图恢复局部区域原本的空间布局(结构重建)。通过这种自监督信号,我们在不需要使用额外监督信号的情况下,强化了分类网络对于具有判别意义子区域的特征表示学习。最终,DCL在多个精细物体识别任务中取得state-of-the-art的性能,且在CVPR2019 FGVC比赛中获得两项第一名(商品识别、蝴蝶蛾类识别)以及一项第二名(菜品识别)。
另外,值得注意的是,我们的方法非常轻量化,只在训练阶段两个新引入模块只带来了少量的可学参数,且在测试(实际模型部署、生产环境下)阶段只激活基本分类网络分支,非常具有实用性。
另外我们还将DCL算法拓展到通用物体识别任务中。实验结果表明,在只新增8092个参数(相当于ResNet-50的0.03%的参数规模)的情况下,基于DCL的方法在ImageNet-1K任务上可以将ResNet50的性能提升至ResNet-101的水准。
一、引言
在之前的工作中,为了提升精细类目上的物体识别模型的性能,研究人员提出了多种不同的方法。这些方法大致可以被分为两类: (a)基于目标物体检测以及目标物体分类的分步识别框架。 (b)基于注意力模型的识别框架。
图1:面向精细类目物体识别的方法示意图(虚线部分结构只在模型训练时使用,类别预测时不需要) 如上图所示,(a)主要依靠目标物体检测模型从图像中提取目标物体图像与背景图像信息进行区分,然后再基于目标物体图像的特征进行分类。方法(a)主要是考虑去掉背景信息对于物体分类带来的干扰。
而(b)对应的基于注意力模型的系统,则依靠大量额外参数来学习目标物体在图像中的注意力得分,从而在图像中对目标物体主体与背景区分,或者对目标物体的各个不同部分进行区分。
综合上述技术,不难看出现有的面向精细物体识别的目前的方法主要都是基于将背景信息与目标物体的视觉信息进行区分,避免引入背景信息干扰的思路。但是众所周知,区分精细类目的关键在于对于局部的细微视觉差异以及全局的整体物体轮廓的综合考量。这类方法并不能直接优化局部细微视觉差异的识别。另外,上述的方法都需要引入大量额外的运算。
本文提出的分类算法,在不使用额外数据标注和额外测试结构的前提下,强化局部精细特征的学习,从而达到保证实际部署环境下计算资源消耗不变甚至是更小的情况下大幅提升精细商品图像识别的准确率。
二、方法
本文提出的基于“分解-重构”的分类模型框架图2所示。需要注意的是,在DCL的目标是强化Classification Network分支的学习,其他新引入的分支在test阶段不参与运算。所以在实际模型部署、生产环境下不会引入额外的计算和存储消耗。
图2:DCL分类框架图
如图2所示,DCL中主要包含以下四个主要模块: (1) 分解模块(Region Confusion Mechanism):将图像划分为若干个子区域,并进行一定范围内的随机扰乱(如图3所示),在通过将子区域的空间位置顺序进行随机打乱,迫使分类模型只基于局部图像特征对图像进行识别,从而提升了分类模型对于局部图像细节特征的表征能力。
图3 图像按子区域进行分解打乱的示意图(左边是坐标矩阵,代表了每个图像子区域在原图中的横坐标与纵坐标位置;左边是三张图像进行分解打乱前后的展示)
(2) 分类模块(Classification Network):分类模型被训练能够同时将扰乱后的图像和原图分类正确。而将扰乱后图像分类正确则需要分类模块可以有效的对图像中涉及识别商品类别的关键区域检测到并学习到其精细特征表示。这种特征表示会反过来提升原图上分类模型的准确率。同时无用的背景信息通过这种随机扰乱的方式变的杂乱无规律,且分类模块无法只基于背景视觉信息对商品进行区分,进一步消减了复杂背景信息对于商品分类的负面影响。 (3) 特征对抗模块(Adversarial Learning Network)。该模块基于分类模块得到的特征向量判断输入的图片是原图还是扰乱的图片。如果我们将原图中的特征表示与扰乱图中的特征表示看成两个不同领域的特征表示,公有的分类模块决定了这两个不同领域中的特征空间中间是有一定重合的,这部分重合主要是关于局部关键区域的图像特征,而原图独有的特征表示主要是关于全局图片中整理轮廓的,最后扰乱图独有的特征表示则大多是关于一些噪声的视觉模板的(因为扰乱图像会引入视觉噪声)。如图4所示,这里通过特征对抗模块,将这三类特征表示加以区分,避免了噪声特征表示对于原图分类时的影响。
图4 不同卷积核对原始图片和分解后图片的响应对比。第一行是原始图像和分解后的图像。下面两行的左侧分别对应的是使用特征对抗模块前后的的不同卷积核对原始和分解后图像的响应(横坐标表示原始图像上的响应值,纵坐标表示分解后图像上的响应值)。右侧是来自不同卷积核的可视化特征图,这些卷积核对原始图像和破坏图像有不同的响应。A,D:对于分解后图像响应较大的卷积核,对杂乱的边缘噪声响应比较大; C,F:对原始图像响应较大的卷积核,比如对鸟的总体轮廓响应比较大,更关注于物体的整体轮廓;B,E:对原始图像与分解后图像都有大响应的卷积核,更关注与物体的局部精细特征,比如鸟的翅膀或者头部。
(4) 重构模块(Region Alignment Network)。该模块基于分类模块输出的特征图,来预测各个图像子模块在原图中的坐标位置。通过该模块的约束,使得分类模块加强了对于局部图像的语义信息表示的能力。即迫使分类模块对图像有了更加深入的理解,诸如物体结构的组成以及物体各个子结构之间的相互关系等。
三、实验
我们在精细物体分类的多个数据集上取得了state-of-the-art的性能:
DCL还在imagenet-1K任务上取得了非常显著的提升:
基于DCL的算法框架在CVPR2019 FGVC比赛中取得两项第一名(backbone的选择从resnet50, SEResNet,ResNeXT到SEResNext,均证明了DCL的有效性)。分别是:
四、结论
整体与细节同样重要,本文提出的DCL分类框架,强化了分类网络对于物体细节特征认知的同时,保留了原有其高层视觉表征能力,从而大幅提升了物体识别准确率。DCL作为一个训练过程“轻量化”,测试过程“零负担”的全新分类学习框架,已经被证明可以同时适用于包括精细物体分类、通用物体识别,且可以有效嵌入到各种不同的基础分类网络结构中。