本文次要介绍深度学习图像分类的经典网络结构及倒退历程,就细粒度图像分类中的注意力机制进行了综述,最初给出了汽车之家团队加入CVPR2022细粒度分类比赛所应用的模型及相干算法、参赛教训等,同时介绍了该模型在汽车之家车系辨认业务中的利用。对于想理解图像分类工作、相干较量技巧及业务利用的读者有肯定借鉴意义。
基于深度学习的图像分类神经网络
自AlexNet[1]横空出世,在ImageNet[2]比赛中获得62.5%的top-1准确率,超过SIFT+FVs[3]类传统算法8.2%之后,深度神经网络就成为了图像分类畛域的次要算法,先后呈现了VGG[4]、ResNet[5]、Inception[6]、DenseNet[7]等。2019年,谷歌提出的EfficientNet[8]更是将网络结构设计由人工推向了主动搜寻时代。RegNet,2020年,谷歌提出的Vision Transformer(ViT)[9],将自然语言解决畛域的Transformer构造引入图像分类,将图像分类带入了Transformer时代。
VGG[4]由谷歌Deepmind和英国牛津大学的钻研人员联合开发,应用多个级联的3x3小卷积核代替了7x7的大卷积核,在保障感触野的根底上大大降低了网络的参数量。VGG[4]的另外一个奉献是通过加深网络结构晋升了分类精度,在ImageNet[2]数据集上应用19层网络,top-1分类准确率达到了74.5%。
2015年,过后还在微软从事钻研的何凯明、孙剑等人提出了ResNet[5],通过引入图1的残差构造,无效解决了深层神经网络训练过程中的梯度隐没和梯度爆炸问题,同时解决了随着网络加深,分类精度越来越差的“进化”问题。首次在ImageNet[2]数据集上应用152层的超深网络取得了较好的分类精度,top-1准确率达到了78.57%,取得了2015年ImageNet[2]比赛分类赛道的第一名。
图1 残差模块
在以何凯明为代表的一些钻研人员通过加深网络深度晋升分类成果的同时,谷歌的一些钻研人员在网络宽度上也获得了较大停顿,先后在2014~2016年提出了InceptionV1~V4网络结构。InceptionV1[5]网络的设计思路次要是应用浓密组件(dense components)近似网络中的稠密构造,为此,谷歌的钻研人员剔除了图2所示的Inception根本构造。这种构造应用了多个并行的卷积和最大池化,在近似稠密构造的同时,还引入了多尺度个性。InceptionV2[6]在借鉴VGG[4]等论文,应用多个级联3x3卷积代替5x5卷积的根底上,还退出了Batch Normalization(BN)对数据进行归一化,top-1准确率达到了74.8%。InceptionV3[6]提出了一种可无效升高网络参数量的办法,即非对称合成(Asymmetric Factorization),非对称合成就是将nxn卷积合成为1xn和nx1的级联模式,top-1准确率达到了78.8%。InceptionV4则将ResNet[5]中应用的残差构造融入Inception模块,极大放慢了训练速度,,top-1准确率达到了80.10%。
图2 Inception 模块
在网络深度和宽度的钻研获得长足进步之后,一些钻研人员开始思考通过网络特色的重用,晋升网络的分类成果,比拟典型的就是2017年CVPR的最佳论文DenseNet[9]。ResNet[5]证实了残差短连贯能无效解决梯度隐没和网络进化问题,如图3所示DenseNet借鉴了这一思维,将短连贯应用在了所有层之间,对于一个L层的网络的第N层,前N-1层的特色在第N层实现了特色交融,同时,第N层的特色也提供给后边L-N层进行特色交融。特色重用防止了有效特色的反复提取,在晋升网络的分类精度的同时,也无效升高了网络的参数量。DenseNet[9]在ImageNet[2]数据集上的top-1准确率达到了79.2%
至此,人工设计网络结构的相干工作开始进入了百花齐放的时代,与此同时,谷歌大脑(Google Brain)的钻研人员于2018年提出了神经网络构造搜寻(Neural Architecture Search)。尔后,神经网络设计进入了自动化时代。因为NAS须要的计算资源较大,因而晚期NAS都是在一个小数据集上,如CIFAR-10,搜寻出一个根底卷积结构单元(Cell),之后再通过复制这些根底卷积结构单元,“迁徙”到如ImageNet[2]这样的大数据集上。如图4所示,网络搜寻过程由一个RNN网络管制,根底卷积结构单元接管”hidden state”列表里前两个状态hi和hi-1或列表里的两个状态的输入(图4中的灰色方框),之后从图5所示的操作中抉择2个(图4中的黄色方框),作用在选出的两个状态上,最初再应用加法(add)或叠加(concat)(图4中的绿色方框)的交融办法进行交融,一直迭代减少新的根底卷积结构单元,直到根底卷积结构单元的数量达到预设的N。应用这种网络搜索算法,搜出的NASNet[10]在ImageNet[2]数据集上的top-1准确率达到了82.7%,达到和超过了人工设计的网络结构。
NASNet[10]开启了神经网络搜寻时代,实现了网络结构的设计的自动化,但其缺点也比拟显著。NASNet[10]的搜寻空间依然是人为设定的,是一种基于给定搜寻空间的网络结构搜索算法。针对这一问题,FAIR何凯明团队2020年提出了用于设计搜寻空间的办法,RegNet[12]论文中将网络结构搜寻空间也作为网络结构设计的一部分。如图6所示,通过一直优化网络搜寻空间,同时取得了最佳的搜寻空间和该搜寻空间中的最佳网络结构。
2020年,谷歌提出ViT(Vision Transformer)[13],将NLP(Natural Language Processing)畛域应用的Transformer引入视觉畛域,将图像分为分辨率雷同的若干子块,每一个子块作为NLP畛域的一个字符(token)进行解决。Transformer自注意力机制的引入,极大进步了网络的分类成果,在ImageNet[2]数据集上的top-1准确率达到了88.55%。
图3 DenseNet
图4 RNN控制器
图5 NASNet根底卷积结构单元
图6
基于深度学习的图像细粒度分类
在过来的十年,深度学习推动图像分类获得了长足进步,但常见的图像分类数据集,如ImageNet[2],中的类别的粒度依然较粗。比方,狗这个类别下,还能够细分为拉布拉多、金毛寻回犬、边陲牧羊犬等细分类别。粗粒度的分类曾经越来越无奈满足理论生产生存的须要,学术界及工业界迫切希望深度学习能在细粒度分类工作中施展重要作用。与粗粒度分类不同,细粒度分类更加关注物体细节之间的差别,须要模型更加留神一些细节,因而,学术界提出了“注意力”机制。
近年来,注意力机制被宽泛引入细粒度分类畛域,呈现了如SE[14]、GE[15]、CBAM[16]、SK[17]等注意力模块,这些模块被融入各种网络结构中,无效地晋升了分类成果。
SE模块提出绝对较早,2017年由Momenta提出,由SE模块构建的SENet也成为了2017年末代ImageNet[2]分类比赛的冠军网络。卷积神经网络(CNN)同时交融空间和通道信息,SE模块则更加关注通道信息的交融。如图7所示,对Feature Map U首先进行Squeeze操作,失去一个通道形容子,该形容子次要用来形容各通道的响应散布。紧接着对该形容子进行excitation操作,失去各通道权值向量,并应用该权值向量对Feature Map的各通道进行加权,增强权值较大的通道,克制权值较低的通道,通过这种形式实现了通道注意力机制。
应用SE[14]模块实现通道注意力机制之后,Momenta又在2018年提出了空间注意力模块GE[15]。如图8所示,GE[15]应用自定义的Gather和Excite模块实现了空间感触野区域的注意力机制。
2018年,还呈现了另一个同时交融通道、空间注意力的注意力模块,即CBAM[16]。如图9所示,对于任意一个Feature Map,CBAM模块先后提取通道和空间注意力信息,并别离跟相应的Feature Map进行加权,同时实现了通道和空间注意力。
通道、空间注意力被相继引入之后,SK[17]模块又将多尺度特色这一计算机视觉畛域罕用的办法引入了注意力机制。如图10所示,SK模块首先应用两个不同大小的卷积核解决Feature Map,再将后果相加,再通过一系列操作,失去了每一路的权值a和b,应用a和b对每一路Feature Map加权后,失去最终的Feature Map。
图7 SE(Squeeze & Excitation)模块
图8 GE(Gather & Excite)模块
图9 CBAM模块
图10 SK模块
基于深度学习的图像细粒度分类算法在CVPR较量中的利用
6月19日,CVPR 2022在美国举办,CVPR作为寰球计算机视觉三大顶级会议之一,被誉为计算机视觉畛域的“奥斯卡”。汽车之家团队在作为大会研讨会内容之一的,在Kaggle上举办的CVPR 2022 Sorghum-100 Cultivar Identification-FGVC 9(高粱品种鉴定细粒度图像分类)挑战赛中获得了第二名的问题,实现了公司历史上的冲破。
细粒度图像分类始终是计算机视觉畛域的钻研热点,次要难点在于细粒度标注图像的类间间隔小,类内间隔大导致局部图像的类别靠人眼都很难分辨,比方,此次FGVC9的较量中,高粱品种鉴定和动物标本辨认比赛的数据须要很强的专业知识能力断定图像所属类别。如图11所示,两个圈内的同样色彩的样本之间的间隔称为类内距,不同色彩的样本之间的间隔称为类间距。
图11 类内距和类间距
本次较量中,次要应用了RegNetY-16.0GF作为主干网,大分辨率图像对精度的晋升起到了很大作用,当将图像分辨率由512增大到960之后,精度在私榜上由84.1晋升到了91.9。因而,咱们置信,大分辨率图像对于细粒度分类成果晋升有较大帮忙。
如前文所述,注意力机制的引入能极大晋升细粒度图像分类模型的精度,除了作为主干网的RegNetY-16.0GF中的SE[14]模块之外,本次较量中还提出了一种新型的注意力区域裁剪策略。注意力区域裁剪是细粒度图像分类畛域罕用的办法,如图12所示,SCDA[18]应用最大联通域的办法,将注意力区域裁剪进去,防止了不相干区域对模型训练的影响,使模型更加关注注意力区域。最大连通域法对于注意力区域比拟显著的状况,如图12所示的鸟,解决成果较好,对于Sorghum-100数据集则很难实用。如图13所示,Sorghum-100数据集的注意力区域比拟扩散,应用最大连通域的办法裁剪注意力区域的话,在失去较好的注意力区域的同时,会失落一部分注意力区域,升高模型的分类精度。因而,咱们提出了一种注意力区域随机裁剪法。该办法的流程图如图14所示,输出图像通过一个Epoch训练之后,能够失去一个模型,应用该模型预测所有训练图像,对训练原图进行裁剪,将裁剪后的后果作为下一个Epoch的训练数据,如此循环,直到训练完结。随机裁剪流程如图15所示,应用第n个Epoch训练出的模型对训练图像进行预测,失去全连贯层之前输入的注意力图像,如图13所示。应用阈值T对注意力图像进行二值化,失去黑白图G。假如随机crop的图像的宽高别离为w和h,能够对图G进行N此裁剪,蕴含红色区域最多的区域(x,y,w,h)即为第n+1个Epoch该图用于训练的区域。
应用这种注意力区域随机裁剪法,一方面保障了模型更关注注意力区域,另一方面又防止了因为注意力区域较扩散造成的信息失落。
图12 SCDA
图13 注意力区域随机裁剪
图14 注意力区域随机裁剪
图15 随机裁剪流程图
数据加强方面,除了常见的左右翻转、随机裁剪之外,还应用了谷歌在CVPR2019论文中提出的AutoAugment[19],该办法通过参数搜寻,取得了在常见数据集,如CIFAR、ImageNet等,上的最佳加强策略。
Pseudo Label作为一种罕用的自监督学习办法,也被宽泛用于图像分类畛域。每次训练完结之后,都应用训练出的最佳模型,对测试集进行预测,将预测后果作为标注信息,退出训练集,一直循环,直到测试集准确率没有显著晋升。本次较量中,退出Pseudo Label之后,私榜上精度由91.9晋升到了95.1。
Test Time Augmentation(TTA)作为一种常见的测试技巧,也被利用到了本次较量中。数据加强除了在训练阶段能够用来防止过拟合,晋升模型泛化性之外,在测试阶段也能够无效晋升模型精度。
Dropout作为一种无效避免过拟合的办法,在较量的最初阶段,dropout的退出使模型精度在私榜上由95.1晋升到95.3。
Ensemble也是一种比赛常见技巧,将不同模型预测的embedding进行加权,再应用加权后的embedding进行预测,也能够无效晋升模型精度。本次较量的最初阶段,Ensemble的退出使模型精度在私榜上由95.3晋升到95.9。
基于深度学习的图像细粒度分类算法在汽车之家车系辨认业务中的利用
汽车之家作为汽车互联网垂直畛域的领军企业,始终深耕如车系辨认等汽车畛域的人工智能算法。车系辨认目前反对辨认4000多个车系,涵盖飞驰、宝马、奥迪等绝大部分常见车系,利用于主APP的拍照识车、二手车/论坛信息校验等多个外部利用。
本次较量完结之后,车系辨认模型也应用了较量中应用的RegNetY-16.0GF,准确率晋升了3.25%。如图17所示,模型的注意力区域次要集中在车头地位,因而对于同一车系外部,车头外观相差较大的车系,辨认准确率较差;同样,对于不同车系,车头外观较类似的车系,也容易混同。即图11中提到的,细粒度分类问题中常见的,类间间隔小,类内间隔大问题。
总结及瞻望
近年来,深度学习的倒退极大推动了细粒度分类在交通、医疗、工业、农业、电商等畛域的落地。各种反馈工业界需要的相干较量也吸引了大量从业者加入,如专一天然物种分类的iNat Challenge 2021[20]、对于渔业资源爱护的Fisheries Monitoring[21]、阿里巴巴主办的AliProducts Challenge等。与个别图像分类问题类似,细粒度分类的倒退也面临着诸多挑战:
- 数据标注:细粒度图像的标注往往须要相干专业知识(如医学等),这给标注带来了极大艰难。因而,自监督学习是将来的一大趋势。FAIR的何凯明团队最近提出的自监督学习框架MAE[23]在Imagenet[2]分类工作上获得了SOTA(State of Art)的后果,置信在不久的未来,自监督学习也会在细粒度分类工作上取的骄人的问题。
- 辨认鲁棒性:家喻户晓,图像分类问题受图像品质影响较大,暗光、过曝、含糊等图像品质问题都会影响到图像分类的精度,这一影响对细粒度分类尤其重大,如何进步细粒度分类模型的鲁棒性也是这一畛域从业者面临的较大挑战。
- 训练集不蕴含的类别:在一个图像分类数据集上训练的模型往往难以分辨该数据集之外的图像,有时会把这部分图像误识为训练集中的某一类别,也就是学术界经常提到的OOD(Out of Distribution)问题。这类问题往往须要前置一个检测或宰割模型,将模型不能辨认的类别的图像筛选进去。如果在训练集中减少“其余”这一类别,因为其余类蕴含太广,辨认成果往往不好。因而,这一问题的解决也将是细粒度分类畛域的一大挑战。
- 小样本辨认(长尾):细粒度分类的很多类别数据收集较艰难,因而会呈现训练/测试样本不平衡问题,也就是业界经常提到的“长尾”问题。这就导致模型对数据量较大的类别辨认成果较好,对数据量较小的类别辨认成果较差。
图16 汽车之家主APP拍照识车
图17 车系辨认模型注意力图
参考文献
[1]. Krizhevsky, A., Sutskever, I., and Hinton, G. E. ImageNet classification with deep convolutional neural networks. In NIPS, pp. 1106–1114, 2012
[2]. Deng, J., Dong, W., Socher, R., Li, L.-J., Li, K., and Fei-Fei, L. Imagenet: A large-scale hierarchical image database. In Proc. CVPR, 2009
[3]. J. Sánchez and F. Perronnin. High-dimensional signature compression for large-scale image classification. In Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on, pages 1665–1672. IEEE, 2011
[4]. VGG
[5]. ResNet
[6]. InceptionV1
[7]. InceptionV2~3
[8]. InceptionV4
[9]. DenseNet
[10]. NASNet
[11]. CIFAR-10
[12]. RegNet
[13]. ViT
[14]. SE
[15]. GE
[16]. CBAM
[17]. SK
[18]. SCDA
[19]. AutoAugment
[20]. iNat Challenge 2021 https://www.kaggle.com/c/inat...
[21]. Fisheries Monitoring https://www.kaggle.com/compet...
[22]. https://tianchi.aliyun.com/co...
[23]. MAE