快捷搜索:  汽车  科技

只因在人群里多看了一眼句子(只是因为在人群中多看了你一眼)

只因在人群里多看了一眼句子(只是因为在人群中多看了你一眼)长尾分布的应对方法图1. LVIS数据集各类别的样本数量分布示意图。x轴表示按照图片数量降序排序过后的类别标号,y轴表示类别对应的图片数量一般头部类别通常包含数十万甚至上百万个训练样本,而尾部类别只包含数个至数十个训练样本。如在日常生活中不同类别的物体出现的频率相差极大:既包括日常生活中常见的猫、狗、汽车,也包括难得一见的东北虎和大熊猫。这种现象反映到数据集上就是各个类别呈现一个长尾分布的态势,极少数的类别拥有大量的训练样本(头部类别),但是大量的类别样本数却非常的稀少(尾部类别)。随着数据集规模的扩大,类别数的增多,长尾分布的问题也就愈发地明显。Open Images是现存最大的目标检测数据集,总共包含170万张图片和600个类别。该数据集面临着严重的长尾分布问题,比如其头部类别“树木”包含多达29万张训练图像,但是尾部类别 “炸弹”仅仅包含6张训练图像,它们之间的图片数量相差48333

编者按: 智显未来,洞见新知。中科院之声与中国科学院自动化研究所联合开设“智言智语”科普专栏,为你介绍人工智能相关知识与故事,从最新成果到背后趣闻,带你徜徉AI空间,看人工智能如何唤醒万物,让世界变得更美好 。

近日,中科院自动化所图像与视频分析组针对大规模长尾目标检测任务提出了一种新颖的动态类别抑制(Adaptive Class Suppression Loss,简写为ACSL)方法,通过我们的大规模多级多卡分布式训练框架LargeDet来进行模型训练,彻底摆脱了对于数据集类别分布的依赖,无需显示划分头部类别和尾部类别,有效避免了人为分组带来的训练不一致和训练不充分的问题,真正实现数据集无缝地迁移,而不需要进行数据集的统计分布以及超参数调整,同时性能上取得了显著提升。ACSL在经典的长尾目标检测数据集LVIS上取得了显著的性能提升 ( 5.18% mAP),检测器在尾部类别的精度 ( 14.34% APr)。此外,在大规模检测数据集Open Images上也取得了大幅度的性能提升 ( 5.2% AP),并且支持多标签学习以及类别嵌套学习。

什么是长尾分布?

在目标检测识别任务中,随着类别数目的不断增加,类别的长尾分布是大规模数据集中普遍存在的一个问题,在现实世界中,不同类别的物体出现的频率也有很大的差别。

一般头部类别通常包含数十万甚至上百万个训练样本,而尾部类别只包含数个至数十个训练样本。如在日常生活中不同类别的物体出现的频率相差极大:既包括日常生活中常见的猫、狗、汽车,也包括难得一见的东北虎和大熊猫。

这种现象反映到数据集上就是各个类别呈现一个长尾分布的态势,极少数的类别拥有大量的训练样本(头部类别),但是大量的类别样本数却非常的稀少(尾部类别)。随着数据集规模的扩大,类别数的增多,长尾分布的问题也就愈发地明显。

Open Images是现存最大的目标检测数据集,总共包含170万张图片和600个类别。该数据集面临着严重的长尾分布问题,比如其头部类别“树木”包含多达29万张训练图像,但是尾部类别 “炸弹”仅仅包含6张训练图像,它们之间的图片数量相差48333倍之多。面对严重的长尾分布问题,神经网络在训练过程中会被头部类别所主导,尾部类别由于缺少训练样本,精度往往非常差,导致整体精度的下降。

只因在人群里多看了一眼句子(只是因为在人群中多看了你一眼)(1)

图1. LVIS数据集各类别的样本数量分布示意图。x轴表示按照图片数量降序排序过后的类别标号,y轴表示类别对应的图片数量

长尾分布的应对方法

现有经典的解决长尾问题的方法(比如EQL和BAGS)主要通过类别分组的方式来解决。他们首先统计各个类别的样本数量,并且将样本数量相近的类别分到同一组中。在训练过程中,由于头部类别和尾部类别被分到了不同的组别,头部类别并不直接对尾部类别产生抑制,从而保护了尾部类别的充分学习。

但是这些分组的方法存在两个弊端:

(1)在分组边界两端的类别训练不一致。

(2)网络对于不同组之间的易混淆的类别缺乏判别力。

除此之外,分组方法依赖于具体数据集的类别分布先验。当应用于不同的数据集时,此类方法需要重新对数据集的类别分布进行统计,并且需要进行实验调参来确定最优的分组策略,从而限制了此类方法的通用性和可迁移性。

动态类别抑制损失

结合上述分析,我们认为对于长尾数据集来说,一个通用有效的方法应该具有如下的性质:

  • 不依赖于具体数据集的类别分布,可以自适应地对所有类别进行充分学习,从而避免训练不一致及迁移性差的问题;

  • 样本数量少的类别在训练过程中应该得到保护,以避免被大量的头部样本进行过度地抑制。同时,相似类别之间的梯度抑制应该保留,以保证网络的判别性学习。

基于上面的两个原则,团队设计了一种新型动态类别抑制损失ACSL,无需统计各个类别的样本数量,将所有类别均视为尾部类别,依据网络对每个类别每个样本的学习状态动态地产生抑制梯度。ACSL的设计源于如下的设计思路:属于某个类别的样本会默认地对其他类别产生抑制梯度使其输出较低的得分。对于属于类别A的样本,如果网络已经能够很好地区分类别A和类别B,那该样本无需对类别B产生抑制梯度,以避免类别B接收到过度的抑制梯度。如果网络在类别A和B之间产生混淆,我们便需要施加对类别B的抑制梯度以维持网络的判别力。

对于长尾分布数据集,由于头部类别样本会对尾部类别产生过量的抑制,导致尾部类别精度差。我们因此设计了一个动态类别抑制损失ACSL来保护尾部类别的学习,并且不破坏网络对易混淆类别的判别性。如式(1)所示,ACSL在每类损失项的前面乘了一个二值的权重项。对于类别k对应的权重,由于当前样本属于类别k,所以将其值设为1。对于其他类别i≠k,如果其输出属于第i类的概率大于一个固定的阈值ξ,说明对于该样本来说,网络很容易将类别i和类别k混淆,因此需要保留该样本对类别i的抑制梯度来保证网络对类别i和k的判别性。换句话说,此时要设置为1。当小于固定的阈值ξ时,说明网络已经能够很好地区分类别i和类别k了,为了避免对尾部类别产生过多的抑制,被设置为0。上述过程的公式化表述如式(2)所示。ACSL对的导数如式(3)所示。

只因在人群里多看了一眼句子(只是因为在人群中多看了你一眼)(2)

为了更好地理解动态类别抑制损失,我们结合图2对比了对动态类别抑制损失和二值交叉熵损失的区别。图2表示二值交叉熵损失和ACSL对同一个样本的处理方式。该样本属于A类别,对于二值交叉熵损失来说,每个类别的损失的权重项均设置为1。对于ACSL来说,由于网络在A类别和D类别上都有比较高的得分,说明网络容易对这两个类别产生混淆,所以要保留对类别D的抑制梯度,其权重设置为1。对于类别B,C,E来说,网络产生的得分较低,所以将其对应的权重设置为0,可以避免对尾部类别产生过度的抑制作用,保护尾部类别的精度。

只因在人群里多看了一眼句子(只是因为在人群中多看了你一眼)(3)

图2. 二值交叉熵损失和动态类别抑制损失示意图。

实验验证

我们在经典的长尾目标检测数据集LVIS(v0.5)来探究ACSL的有效性。我们采用了ResNet50-FPN检测器进行实验。除了最后分类的损失函数外,其他的结构均保持一致。如表1所示,ACSL可以大幅度提高检测器的性能。当ξ等于0.7时,检测器的精度为26.36%,超过2倍训练策略的baseline 4.08%。同时,我们也发现,ACSL带来的精度提升主要来自于rare类别和common类别,说明我们的方法对尾部类别具有明显的优势。

表1. LVIS数据集下的消融实验

只因在人群里多看了一眼句子(只是因为在人群中多看了你一眼)(4)

为了验证ACSL的泛化性能,我们同时在大网络ResNet101、ResNeXt101以及强检测器Cascade RCNN上进行了实验。从表2中可以看出,ACSL在大网络和强检测器上均有稳定的性能提升,特别是在

只因在人群里多看了一眼句子(只是因为在人群中多看了你一眼)(5)

只因在人群里多看了一眼句子(只是因为在人群中多看了你一眼)(6)

上。

表2. ACSL在不同网络以及检测框架上的性能

只因在人群里多看了一眼句子(只是因为在人群中多看了你一眼)(7)

为了探究ACSL的通用性,我们在大规模长尾数据集Open Images上也进行了实验验证。由于Open Images数据集具有170万训练数,因此这里利用了我们ECCV2020提出的大batchsize分布式训练框架LargeDet来加速训练。在此基础上,ACSL同样也带来了5%以上的精度提升,将ResNet50-FPN在Open Images上的精度提升到了60.3% 。如表3所示,ACSL在不同的主干网络下均能取得显著的性能提升。

表3. ACSL在Open Images数据集上的实验结果

只因在人群里多看了一眼句子(只是因为在人群中多看了你一眼)(8)

此外,我们对比了ACSL和baseline在一些尾部类别上的精度,如表4所示,发现ACSL可以极大地提高尾部类别的性能,在类别“Face powder”甚至可以取得 ( 63.1 %AP)的绝对精度提升。

表4. Open Images数据集上尾部类别精度提升对比

只因在人群里多看了一眼句子(只是因为在人群中多看了你一眼)(9)

典型应用

中科院自动化所图像与视频分析课题组多年来深入研究计算机视觉技术及其落地应用,尤其在目标检测与识别、大规模分布式优化方法、模型压缩与剪枝等方面积累了丰富的研究经验,展开了一系列有特色的实践。

基于本文提出的长尾分布动态抑制算法,课题组开发了手机端多物体图像检测技术,在面对百万甚至千万级大规模数据的情况下,显著改善模型对少样本的精度,并支持常见的1000余种物体的检测与识别,支持模型的多标签学习与类别嵌套识别,如可以同时识别人、男人、女人、小孩、老人等。此外,通过模型的动态压缩剪枝技术,成功将模型参数量压缩80%,精度下降保持在1%以内,并在搭载Kirin820、Kirin985、Kirin990的华为手机端进行了部署,可应用于拍照识别、智能相册、智能搜图以及电子商务等场景。

只因在人群里多看了一眼句子(只是因为在人群中多看了你一眼)(10)

图3. 手机端应用示意图

课题组研发的大规模精细目标检测与识别算法用于大规模商品检测和识别上,目前支持10000种以上商品的自动识别,120多种食品识别,200多种卷烟识别,识别精度达90%以上。目前该技术已在智能货物盘点、无人零售柜、智能冰箱以及卷烟零售中广泛应用,为工业企业的营销工作提供多维度的数据支撑,极大提高了终端评价与管理效率。

只因在人群里多看了一眼句子(只是因为在人群中多看了你一眼)(11)

图4. 卷烟零售终端智能分析评价系统示意图

只因在人群里多看了一眼句子(只是因为在人群中多看了你一眼)(12)

图5. 大规模商品识别系统

课题组研发的智慧交通车纹大数据平台,支持对15种车辆类型、400种车辆品牌、20000余种车年款的精细识别。平台具备人车档案、车纹查询、特殊车辆监管、布控管理、车辆违规、轨迹分析等功能,是集道路交通状态监测、危险驾驶行为报警、违章车辆检测、嫌疑车辆目标稽查、布控、跟踪与抓捕等功能于一体的综合交通管理平台。通过接入公安交通集成指挥平台,相关技术已应用于江苏、河南、河北、广东、四川、陕西等 20 多个省,目前共计抓拍不系安全带/打电话等违章行为十几万起,协助各地交警实时拦截、查处无牌/假牌/套牌等各类涉牌违法机动车460多辆/天。

只因在人群里多看了一眼句子(只是因为在人群中多看了你一眼)(13)

图6. 车辆特征多维度感知与精细识别

只因在人群里多看了一眼句子(只是因为在人群中多看了你一眼)(14)

图7. 智慧交通车纹大数据平台

论文标题:Tong Wang Yousong Zhu Chaoyang Zhao Wei Zeng Jinqiao Wang and Ming Tang. Adaptive Class Suppression Loss for Long-Tail Object Detection.

论文链接:https://arxiv.org/abs/2104.00885

Github代码:https://github.com/CASIA-IVA-Lab/ACSL

参考文献:

1. Jingru Tan Changbao Wang Buyu Li Quanquan Li Wanli Ouyang Changqing Yin and Junjie Yan. Equalization loss for long-tailed object recognition. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) June 2020

2. Yu Li Tao Wang Bingyi Kang Sheng Tang Chunfeng Wang Jintao Li and Jiashi Feng. Overcoming classifier imbalance for long-tail object detection with balanced group softmax. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) June 2020

3. Tong Wang Yousong Zhu Chaoyang Zhao Wei Zeng Yaowei Wang Jinqiao Wang and Ming Tang. Large Batch Optimization for Object Detection: Training COCO in 12minutes. In European Conference on Computer Vision (ECCV) August 2020

来源:中国科学院自动化研究所

猜您喜欢: