共计 7238 个字符,预计需要花费 19 分钟才能阅读完成。
本文次要介绍深度学习图像分类的经典网络结构及倒退历程,就细粒度图像分类中的注意力机制进行了综述,最初给出了汽车之家团队加入 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 和英国牛津大学的钻研人员联合开发,应用多个级联的 3 ×3 小卷积核代替了 7 ×7 的大卷积核,在保障感触野的根底上大大降低了网络的参数量。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] 等论文,应用多个级联 3 ×3 卷积代替 5 ×5 卷积的根底上,还退出了 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