论文基本信息

  • 标题: Libra R-CNN: Towards Balanced Learning for Object Detection
  • 作者: JiangmiaoPang, Kai Chen, Jianping Shi, Huajun Feng, Wanli Ouyang, Dahua Lin
  • 机构: Zhejiang University, The Chinese University of Hong Kong, SenseTime Research, The
    University of Sydney
  • 来源: CVPR2019
  • 时间: 2019/04/04
  • 链接: https://arxiv.org/abs/1904.02701
  • 代码: https://github.com/open-mmlab/mmdetection(official code) https://github.com/OceanPang/Libra_R-CNN

背景/问题

当前多数detector(one-stage和two-stage)的training 模式:

  • sampling regions
  • extracting features from regions
  • 基于multi-task objective function同时识别category和细化location

training paradigm中的3个key aspect

  • selected region samples是否representative
  • extracted visual features是否被充分利⽤
  • designed objective function是否最优

    如上图所⽰,训练过程中存在3种影响性能的imbalance。(分别对应3个key aspect)
  • sample level
    motivation:hard example可以有效提⾼detector的性能,但随机采样得到的example通常以
    easy example为主。
    --------已有方法及其问题
    OHEM:通过置信度(confidence)选择hard sample,但其对noise label很敏感,并会产
    ⽣较⼤的内存占⽤和计算成本
    Focal loss:解决One-stage算法中的foreground-background class imbalance,仅适⽤于
    One-stage detector,对RCNN作⽤不⼤,因为⼤量easy negative都被two-stage procedure
    过滤掉了
  • feature level
    motivation:高分辨率的低层特征图回归精度会很高但是很难做分类,高层的语义信息分类精度很高但只适合检测大目标。同时利⽤⽹络浅/深层的descriptive information和semantic information有助于
    OD,那最优的integrate这2种information的⽅式是什么呢?
    --------已有方法及其问题
    FPN、PANet,两者采取的sequential manner使得integrated features更多地关注于相邻层,⽽较少关注其它层,每次fusion时⾮相邻层中的semantic information就会稀释1次。
  • objective level
    motivation
    ①训练过程中,easy sample产⽣的small gradient可能会被hard example产⽣的large
    gradient压倒,进⽽影响模型性能
    ②detection包括classification和localization这2个任务,如果没有得到适当的平衡,则其中1
    个任务可能会受到影响,进⽽影响整体性能

方法/研究内容

提出3个component分别减少上述3种level的imbalance

  • IoU-balanced sampling:根据sample与其被分配到的GT的IoU,来挖掘hard example
  • balanced feature pyramid:一个特征金字塔的变种,同时将所有level(⽽不仅是相邻level)的feature聚合,并⽤其增强各个level
  • balanced L1 loss:outlier梯度较⼤⽽inlier梯度较⼩,因此对outlier(回归error⼤于等于1的
    sample)产⽣的large gradient进⾏clip(使gradient最⼤为1),对inlier(回归error⼩于1的
    sample,accurate sample)的gradient进⾏加强,使得classification、overall localization和
    accurate localization得到平衡

性能/效果

  • COCO上,AP⽐FPN Faster RCNN⾼2.5个point,⽐RetinaNet⾼2个point
  • 基于FPN Faster RCNN、detectron中的1× schedule,backbone使⽤ResNet-50、ResNeXt-101-
    64x4d时,AP分别为38.7和43.0

算法细分

IoU-balanced Sampling

  • hard negative:⽬标检测中,我们已知GT BBox,算法会⽣成⼀系列proposal,其中有些proposal和GT BBox重合程度⾼、有些和GT BBox重合程度低。与GT BBox重合程度(IoU)超过⼀定阈值(通常0.5)的proposal则被认定为positive eaxmple,重合程度低于该阈值的则是negative example,然后将
    positive example和negative example扔进⽹络中训练。然⽽,⼀个问题是positive example的数量远远少于negative example,这样训练出来的分类器的效果总是有限的,会出现许多false positive,其中得分较⾼的false positive就是所谓的hard negative example,比如置信度为0.9的误检。
  • 目的:hard negative example是主要的problem,我们希望能多采样⼀些hard negative。
  • 随机采样

    ①观察橙柱可以看出,在hard negative example中,有60%多的example与其对应GT BBox的
    overlap超过0.05
    ②观察蓝柱可以看出,随机采样得到的training sample中,仅有30%多的example与其对应GT
    BBox的overlap超过0.05。
    ③随机采样得到的training sample的分布和hard negative example的真实分布是不同的,使得上千
    个easy example才有1个hard example。
  • IoU-balanced sampling

    如图3绿柱所⽰,IoU-balanced sampling使得training sample的分布较接近于hard negative example的真实分布。K默认为3,同时实验证明,只要IoU更⾼的negative sample更易被选择,则性能对K值的变化并不敏感
  • 如何处理positive example
    IoU-balanced sampling其实也适⽤于hard positive example,但现实中往往没有⾜够的sampling
    candidate能将IoU-balanced sampling扩展到hard positive example,因此本⽂为每个GT BBox采样
    等量的positive sample,来作为1种替代⽅法。
  • Balanced Feature Pyramid 核心思路:同时将所有level的feature聚合并⽤其增强各个level

    Integrate

1 ⾸先通过interpolation和max pooling将各个level的feature缩放⾄C4的size
2 然后将各level的feature的平均值作为integrated feature
refine
1 使⽤Non-local neural networks⼀⽂中的embedded Gaussian non-local attention对integrated feature进⾏refine
2 然后使⽤interpolation和max pooling将integrated feature逆向变换⾄各level的scale得到与FPN
相同的输出
3 Balanced Feature Pyramid可以和FPN、PAFPN(PANet)是兼容的

  • Balanced L1 Loss
    smooth L1 loss:smoth L1 loss是1个location loss,来⾃于Fast RCNN:

    问题在于:outlier(可视为hard example)的gradient较⼤,⽽inlier(可视为easy example)的
    gradient较⼩。
    具体分析如下:
    error⼤于等于1的sample称为outlier,error⼩于1的sample称为inlier
    由于unbounded regression targets,直接提⾼localization loss的权重会使模型对outlier更加敏感
    这些outlier,可以看作是hard example,会产⽣过⼤的梯度,对训练过程有害
    与outlier相⽐,inlier可以看作是easy example,对整体梯度的贡献很⼩
    更具体地说,与outlier相⽐,inlier平均对每个sample仅贡献30%的梯度
    balanced L1 loss的效果

    balanced L1 loss的核⼼思路
    outlier梯度较⼤⽽inlier梯度较⼩,因此对outlier(error⼤于等于1的sample)产⽣的large gradient
    进⾏clip(使gradient最⼤为1,如图5(a)虚线),对inlier(error⼩于1的sample,accurate
    sample)的gradient进⾏加强,使得classification、overall localization和accurate localization得
    到平衡。
    使⽤balanced L1 loss的location loss

    x、y、w、h的balanced L1 loss之和,即x的balanced L1 loss+y的balanced L1 loss+······
    由上式5可知,location loss关于模型参数的梯度正⽐于balanced L1 loss关于x(或y、w、h)的梯
    度,即:

    balanced L1 loss的梯度设计

    参数 α 控制inlier的gradient, α 越⼩则inlier的gradient就越⼤;
    参数 γ 控制regression error的上界,可以使得classification和localization这2个task达到平衡;
    参数 b ⽤来处理 x = 1 的情况。
    balanced L1 loss的定义

实验




Libra R-CNN: Towards Balanced Learning for Object Detection相关推荐

  1. 【论文笔记】:Libra R-CNN: Towards Balanced Learning for Object Detection

    &Title: Libra R-CNN: Towards Balanced Learning for Object Detection &Summary 检测不平衡问题包括:样本层面( ...

  2. 论文阅读笔记五十三:Libra R-CNN: Towards Balanced Learning for Object Detection(CVPR2019)

    论文原址:https://arxiv.org/pdf/1904.02701.pdf github:https://github.com/OceanPang/Libra_R-CNN 摘要 相比模型的结构 ...

  3. 论文复现——Libra R-CNN: Towards Balanced Learning for Object Detection

    本次复现的论文已经开源了,不过是依赖mmdetection环境的.我有点小懒,当时没在学校的服务器上安装mmdetection,所以就自己复现了. LibraRCNN官方开源代码:https://gi ...

  4. [论文解读]Deep active learning for object detection

    Deep active learning for object detection 文章目录 Deep active learning for object detection 简介 摘要 初步 以前 ...

  5. 《Recent Advances in Deep Learning for Object Detection 》笔记

    最近看了一篇目标检测的综述,之前对目标检测的认识不是很多,所以简单地记录一下笔记,由于是很早之前写的,对目标检测的很多概念都还不是很清楚,简单记录一下.这篇论文主要讲了目前的目标检测算法的一些设置.检 ...

  6. Week 8 Deep learning for object detection

    目标检测(Object Detection)_图像算法AI的博客-CSDN博客_目标检测

  7. [论文阅读] Multiple Instance Active Learning for Object Detection

    论文地址:https://openaccess.thecvf.com/content/CVPR2021/html/Yuan_Multiple_Instance_Active_Learning_for_ ...

  8. Localization-Aware Active Learning for Object Detection (ACCV)

    原文链接 这是一篇CCF-C文章,简要描述一下思想: 目标检测任务的主动学习中的数据选择大多数都基于classification来,作者同时考虑了classification和localization ...

  9. Dynamic Head: Unifying Object Detection Heads with Attentions 阅读

    Abstract 这里就是说在目标检测领域,很多工作都想提高检测头的性能,这篇文章提出了动态头,也就是Dynamic Head,来将检测头和注意力(Attention)结合.在尺度(scale-awa ...

最新文章

  1. Katalon Studio自动化测试框架使用【1】--- 环境安装以及基础配置(MacOS)
  2. 学习笔记-记ActiveMQ学习摘录与心得(一)
  3. 如何提升springboot服务吞吐量
  4. Linux删除重复内容命令uniq笔记
  5. kvmweb管理工具_KVM的web管理界面
  6. 手把手带你写Node.JS版本小游戏
  7. 产业链加入爆料行列!2019年新iPhone:外形无变化 后置摄像头升级
  8. 03-树3 Tree Traversals Again
  9. 【对讲机的那点事】对讲机数字语音加密,保障通信安全
  10. apk一键脱壳工具_一键新机!强大的抹机王来了!
  11. Unity打包篇:Unity 导出 Gradle 工程出现release builds have to be signed when using Gradle解决办法
  12. 解决server显示问题/cannot connect to X server
  13. 微信扫码(扫一扫二维码)下载不了app怎么解决
  14. 测试抑郁症的20道题(三)
  15. linux内核led驱动开发,从Linux内核LED驱动来理解字符设备驱动开发流程
  16. AV_PIX_FMT_YUV420P与AV_PIX_FMT_YUVJ420P
  17. unity 导出模型为fbx 格式
  18. ubuntu20虚拟机安装VMtools后无法传输文件
  19. Simpack2021 安装教程(附安装步骤)
  20. vue使用百度地图带自动定位及搜索地址

热门文章

  1. Altium Designer使用简介
  2. 技术分享:浅谈滴滴派单算法
  3. Java:格林威治时间(GMT)字符串转Date
  4. 基于MATLAB的三维数据插值拟合与三次样条拟合算法(附完整代码)
  5. 知乎个人答案获取 然后vscode 的文件夹搜索,因为知乎没有自己的答案搜索
  6. Word中的空白页,怎么也删不掉?如何操作?
  7. html让内容整体中间,将HTML元素置于页面中间
  8. 【考研】数据结构考点——冒泡排序(含408真题)
  9. eclipse下载安装。新版4.5+
  10. 1063: 最大公约与最小公倍 ZZULIOJ