点击上方“CVer”,选择加"星标"置顶

重磅干货,第一时间送达

本文作者:王佳琦

https://zhuanlan.zhihu.com/p/339126633

本文已由原作者授权,不得擅自二次转载

【前言】

论文:https://arxiv.org/abs/2008.10032

这篇论文是对 MMDet 团队参加今年7月份举办的 LVIS 2020 竞赛的技术报告 (LVIS2020-MMDet) 一个更加详细完善的阐述。在此之前,我们主要研究 COCO 这类均衡分布的目标检测数据集,并提出了一系列方法来提高检测精度(例如 Hybrid Task Cascade,Guided Anchoring,Libra R-CNN, CARAFE, Prime Sample Attention, Side-Aware Boundary Localization)。这次我们着眼于长尾分布的目标检测/实例分割数据集 LVIS v1.0, 指出了限制检测器在长尾分布数据上性能的一个关键原因:施加在尾部类别(tail class)上的正负样本梯度的比例是不均衡的。因此,我们提出 Seesaw Loss 来动态地抑制尾部类别上过量的负样本梯度,同时补充对误分类样本的惩罚。Seesaw Loss 显著提升了尾部类别的分类准确率,进而为检测器在长尾数据集上的整体性能带来可观的增益。

【一分钟速读】

本文指出了尾部类别上的正负样本梯度的不平衡是影响长尾检测性能的关键因素之一。为了解决这个问题,我们提出了 Seesaw Loss 来针对性地调整施加在任意一个类别上的负样本梯度。给定一个尾部类别和一个相对更加高频的类别,高频类施加在尾部类上的负样本梯度将根据两个类别在训练过程中累计样本数的比值进行减弱。同时为了避免因负样本梯度减弱而增加的误分类的风险,Seesaw Loss 根据每个样本是否被误分类动态地补充负样本梯度。Seesaw Loss 有效地平衡了不同类别的正负样本梯度,提高了尾部类别的分类准确率,在长尾目标检测/实例分割数据集LVIS v1.0带来了上显著的性能提升。

【Motivation】

在长尾分布的数据集中(例如:LVIS),大部分训练样本来自头部类别(head class),而只有少量样本来自尾部类别(tail class)。因此在训练过程中,来自头部类别的样本会对尾部类别施加过量的负样本梯度,淹没了来自尾部类别自身的正样本梯度。这种不平衡的学习过程导致分类器倾向于给予尾部类别很低的响应,以降低训练的loss。如下图所示,我们统计了在 LVIS v1.0 上训练Mask R-CNN过程中,施加在每个类别的分类器上正负样本累计梯度的分布。显然,头部类别获得的正负样本梯度比例接近1.0,而越是稀有的尾部类别,其获得的正负样本梯度的比例就越小。由此带来的结果就是分类的准确率随着样本数的减少而急剧下降,进而严重影响了检测器的性能。

在训练过程中不同类别分类器的正负样本梯度的比例分布,分类的准确率,以及检测(实例分割)的性能(AP)

【方法概述】

为了方便直观理解,我们可以把正负样本梯度不均衡的问题,类比于一个一边放有较重物体而另一边放有较轻物体的跷跷板(Seesaw),如下图所示。为了平衡这个跷跷板,一个简单可行的方案就是缩短重物一侧跷跷板的臂长,即减少重物的重量在平衡过程中的权重。回到正负样本梯度不均衡的问题,我们提出了 Seesaw Loss 来动态地减少由头部类别施加在尾部类别上过量的负样本梯度的权重,从而达到正负样本梯度相对平衡的效果。

Seesaw Loss的数学表达如下,

 是one-hot label,  是每一类预测的 logit。

此时,对于一个第  类的样本,它施加在第  类上的负样本梯度为,

这里我们可以发现  就像一个平衡系数,通过调节 ,我们可以达到放大或者缩小第  类施加在第  类上的负样本梯度的效果。这样,我们就可以通过选择合适  来达到平衡正负样本梯度的目的。

在 Seesaw Loss 的设计中,我们考虑了两方面的因素,一方面我们需要考虑类别间样本分布的关系(class-wise),并据此减少头部类别对尾部类别的"惩罚" (负样本梯度);另一方面,盲目减少对尾部类别的惩罚会增加错误分类的风险,因为部分误分类的样本受到的惩罚变小了,因此对于那些在训练过程中误分类的样本我们需要保证其受到足够的"惩罚"。据此, 由两项相乘得到,

(Mitigation Factor)用来缓解尾部类别上过量的负样本梯度, (Compensation Factor)用来补充那些错误分类样本上的"惩罚"。

【Mitigation Factor】

既然正负样本梯度不平衡的问题来自于样本数量的不平衡,那么一种直接有效的办法就是根据不同类别之间样本数量的相对比例来进行调节。在训练过程中,Seesaw Loss在线地统计每一类的累计训练样本数量 ,并根据如下公式计算 

也就是说当第  类比第  类更加高频率地出现时,Seesaw Loss 就会自动根据两类之间不平衡的程度来减少第  类对第  类施加的负样本梯度。此外,我们在线地累计样本数量,而非使用预先统计的数据集样本分布,这样的设计主要是因为一些高级的样本 sampling 方式会改变数据集的分布(例如:repeat factor sampler, class balanced sampler 等)。在这种情况下,预先统计的方式无法反映训练过程中数据的真实分布。

【Compensation Factor】

为了防止过度减少负样本梯度而带来的分类错误,Seesaw Loss会增加对那些错误分类样本的惩罚。具体来说,如果一个第  类的样本错误分给了第  类,Seesaw Loss会根据两类之间的分类置信度的相对比值来适当的增加对第  类的惩罚。的计算如下,

【Normalized Linear Activation】

受到face recognition,few-shot learning等领域的启发,Seesaw Loss在预测分类logit的时候对weight和feature进行了归一化处理,即

【针对Instance Segmentation的其他设计】

1) Objectness 目标检测的分类器起到了两方面的作用,一方面确定候选框(proposal)是前景还是背景,另一方面确定前景的候选框属于哪个类别。通常来说,绝大多数 proposal 来自背景,与之相比任意一个前景类别的样本数量都相对稀少。为了避免背景类对 Seesaw Loss 平衡前景类别之间正负样本梯度的干扰,我们的设计解耦了分类器的两个功能,即用一个额外的二分类器分辨前景和背景,而原本的分类器只用来区分前景类别并用 Seesaw Loss 监督。测试过程中,检测框的置信度为 ,其中 为类别的置信度, 为前景的置信度。

2)Normalized Mask Predication 类似于分类器,我们设计了一种归一化的Mask预测方式,即

【实验结果】

我们在LVIS v1.0 数据集上对 Seesaw Loss 进行了详细的测试。我们分别采用了 Mask R-CNN 和 Cascade Mask R-CNN 作为基础检测器,以及测试了 random sampler 和 repeat factor sampler (RFS) 两种 sampling 策略。本文方法相比于 EQL 和 BAGS 两种专门为 LVIS 数据设计的方法取得了显著的性能优势,在 end-to-end 训练的情况下在 test-dev 上取得高达30.0 AP的精度。

更多详细的实验分析,消融实验和比赛中使用的 tricks 请详见我们的 Arxiv Paper。

【Code】

照例将开源到 mmdetection,我们正在火速整理相关的代码,争取尽快和大家见面。

https://github.com/open-mmlab/mmdetection

Seesaw Loss论文下载

后台回复:Seesaw损失,即可下载上述论文PDF

目标检测综述下载

后台回复:目标检测二十年,即可下载39页的目标检测最全综述,共计411篇参考文献。

下载2

后台回复:CVPR2020,即可下载代码开源的论文合集

后台回复:ECCV2020,即可下载代码开源的论文合集

后台回复:YOLO,即可下载YOLOv4论文和代码

重磅!CVer-论文写作与投稿交流群成立

扫码添加CVer助手,可申请加入CVer-论文写作与投稿 微信交流群,目前已满2400+人,旨在交流顶会(CVPR/ICCV/ECCV/NIPS/ICML/ICLR/AAAI等)、顶刊(IJCV/TPAMI/TIP等)、SCI、EI、中文核心等写作与投稿事宜。

同时也可申请加入CVer大群和细分方向技术群,细分方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。

一定要备注:研究方向+地点+学校/公司+昵称(如论文写作+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

▲长按加微信群

▲长按关注CVer公众号

整理不易,请给CVer点赞和在看

港中文等提出Seesaw Loss:一种面向长尾目标检测的平衡损失函数相关推荐

  1. Seesaw Loss:一种面向长尾目标检测的平衡损失函数

    本文转自知乎,已获作者授权转载,请勿二次转载. 链接:https://zhuanlan.zhihu.com/p/339126633 前言 这篇论文是对 MMDet 团队参加今年7月份举办的 LVIS ...

  2. Focal Loss升级!EFL:用于密集长尾目标检测的均衡Focal Loss

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 转载自:集智书童 Equalized Focal Loss for Dense Long-Tailed Ob ...

  3. 无需多个模型也能实现知识整合?港中文MMLab提出「烘焙」算法,全面提升ImageNet性能...

    视学算法专栏 转载自:机器之心 作者:葛艺潇 来自港中文 MMLab 的研究者提出一种烘焙(BAKE)算法,为知识蒸馏中的知识整合提供了一个全新的思路,打破了固有的多模型整合的样式,创新地提出并尝试了 ...

  4. 【CV】RetinaNet:使用二分类类别不平衡损失 Focal Loss 实现更好的目标检测

    论文名称:Focal Loss for Dense Object Detection 论文下载:https://arxiv.org/abs/1610.02357 论文年份:ICCV 2017 论文被引 ...

  5. 哈尔滨工业大学提出 RISTDnet:强鲁棒性的红外小目标检测网络

    哈工大提出***RISTDnet***:强鲁棒性的红外小目标检测网络 RISTDnet: Robust Infrared Small Target Detection Network 作者单位:哈尔滨 ...

  6. 目标检测实战必会!4种基于YOLO目标检测(Python和C++两种版本实现)

    目标检测实战必会!4种基于YOLO目标检测(Python和C++两种版本实现) AI算法修炼营 1周前 以下文章来源于极市平台 ,作者CV开发者都爱看的 极市平台 专注计算机视觉前沿资讯和技术干货,官 ...

  7. CVPR2020 | 商汤-港中文等提出PV-RCNN:3D目标检测新网络

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 作者:不一样的子湘 知乎链接:https://zhuanlan.zhihu.com ...

  8. 港中文等提出:开放世界实体分割

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者丨diddo@知乎(已授权) 来源丨https://zhuanlan.zhihu.com/p/394621 ...

  9. 港中文Adobe提出:开放式实体分割 Open-World Entity Segmentation

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 本文作者:diddo |  来源:知乎(已授权) https://zhuanlan.zhihu.com/p/ ...

最新文章

  1. 【Python】8000字概括精髓,pandas必知必会50例
  2. linux 跑天龙八部游戏脚本,求推荐天龙八部脚本(能自动打怪,捡包之类的)
  3. 读《学习JavaScript数据结构与算法》 第二章
  4. 一套简单的进销存管理系统源码
  5. 计算机组成原理_在线作业1,电子科大《计算机组成原理》在线作业1
  6. curl: (67) Access denied: 530的可能原因
  7. 浏览器显示网页的原理 多种情况方式
  8. Java网络编程学习
  9. 从2010 IDF 看英特尔固态硬盘现状及策略
  10. [Jquery]天气接口简单使用
  11. Python3爬虫——利用百度翻译实现中文翻译英文
  12. 安装EVA后可能出现无法在EVA输入中文的解决方法
  13. 【LeetCode】77. Combinations 解题报告(Python C++)
  14. 程序员的自我修养:有助于提高沟通能力的7本书
  15. 微信小程序注册与登录
  16. dnf跨四服务器什么时候修复,DNF:跨四大区服务器炸了,数据回档导致多少玩家错过了毕业装备...
  17. 火遍全网的 “神注释”,看一次笑一次!
  18. 马克思资本论视角下的资本-记录
  19. 雄安新区 行政范围经纬度坐标
  20. 物联网 - 听说你设备更换物联卡后无法正常使用了?

热门文章

  1. HackTheBox-baby todo or not todo
  2. AI行业态势感知(第六期)
  3. 华为公司员工待遇全面揭秘 选择自 CQP 的 Blog
  4. 谈谈我对这个互联网时代的理解
  5. Rabbit health check failed
  6. java-php-python-ssm艾灸减肥管理网站计算机毕业设计
  7. Google 的封杀与被封杀
  8. python函数中出现单独的星号和反斜线的涵义
  9. LINUX下三款QQ聊天软件全接触(最新实践和对比)
  10. 初级Java学习笔记总结