作者丨文永亮

学校丨哈尔滨工业大学(深圳)

研究方向丨目标检测、GAN

推荐理由

这是一篇浙江大学和香港中文大学发表于 CVPR 2019 的论文,这篇文章十分有趣,网友戏称:“无痛涨点,实现简单,良心 paper”,在我看来确实是这样的,没有太大的改造结构,不需增加计算成本的条件下,居然能涨两个点 mAP。

除了本文解读的 Libra R-CNN(天秤座 RCNN)[1],我记得陈恺他们港中文的实验室今年还中了一篇 CVPR 2019,Region Proposal by Guided Anchoring [2],这篇也是不错的,看题目就知道是指导 anchor 的形状涨分的了。

这两篇改进的源码都会在 Github 上放出,作者表示还在完善中,地址是:

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


三个不平衡


纵观目前主流的目标检测算法,无论 SSD、Faster R-CNN、Retinanet 这些的 detector 的设计其实都是三个步骤:

  • 选择候选区域

  • 提取特征

  • 在 muti-task loss 下收敛

往往存在着三种层次的不平衡: 

  • sample level

  • feature level

  • objective level

这就对应了三个问题: 

  • 采样的候选区域是否具有代表性?

  • 提取出的不同 level 的特征是怎么才能真正地充分利用?

  • 目前设计的损失函数能不能引导目标检测器更好地收敛?

其实如果不对 detector 的结构做功夫的话,针对这些 imbalance 改进的其实就是为了把 detector 的真正功效给展现出来,就是如果把一个目标检测器 train 好的问题。

对应的三个改进

IoU-balanced Sampling

作者认为 sample level 的不平衡是因为随机采样造成的,Ross Girshick 后面提出了 OHEM(online hard example mining,在线困难样本挖掘)是一个 hard negative mining 的一种好方法,但是这种方法对噪音数据会比较敏感。随机采样造成的不平衡可以看下图:

作者发现了如果是随机采样的话,随机采样到的样本超过 70% 都是在 IoU 在 0 到 0.05 之间的,有人会问不是随机吗?为什么大部分样本都落在了 IOU 较小的部分了呢?

因为样本的分布在 IoU 上并不是均匀分布的,生成候选框时随机采样会造成背景框远远大于框中 GT 的框,一张图这么大,是目标物体的区域只占很小一部分,背景占了绝大多数的位置,所以大部分样本都挤在了 IoU 在 0 到 0.05 的区间了。

作者觉得这里就是不科学的地方,统计得到的事实是 60% 的 hard negative 都落在 IoU 大于 0.05 的地方,但是随机采样只提供了 30%。所以作者提出了 IoU-balanced Sampling

随机采样就是比如你要选 N 个 hard negative,有 M 个候选框,选中的概率就是:

如果一共还是要采样 N 个,通过 IoU 的值划分为 K 个区间,每个区间中的候选采样数为,则 IoU-balanced sampling 的采样公式即为:

作者通过在 IoU 上均匀采样,把 hard negative 在 IoU 上均匀分布,在 COCO 数据集上达到的效果比 OHEM 的要好,并且这样简单很多。

Balanced Feature Pyramid


feature level 的不平衡表现在 low/high level 特征的利用上,如何利用不同分辨率的特征。具体分为四步:

  • rescaling

  • integrating

  • refining

  • strengthening

1. rescaling & integrating

假设表示第 l 层特征,越高层分辨率越低,若有的多层特征,C2 分辨率最高,我们知道低层特诊分辨率高往往学习到的是细节特征,高层特征分辨率低学习到语义特征,把四层特征 resize 到中间层次的 C4 的 size,然后后面再做简单的相加取平均操作:

就是这样简单的操作并没有引入什么计算就可以实现,最终在 AP 上也得到了验证是有效的。

2. refining & strengthening

rescaling 后取平均提取到的的特征还可以进一步地 refine 成更 discriminative,作者这里用到了 non-local 模块,paper 中使用了 Gaussian non-local attention [4] 增强 integrate 后的特征。

就像 Figure 4 画的一样,这样提取的特征其实与 FPN 可以一同使用,是作为 feature pyramid 的补充,作为一种增强手段。

Balanced L1 Loss

Fast R-CNN [5] 中是通过 multi-task loss 解决 Classification(分类)和 Localization(定位)的问题的,定义如下:

分别对应着分类和定位的损失函数,p, u 分别是的预测和目标,是对应 u 类的回归结果。v 是回归目标。λ 用于在多任务学习下调整损失权重。

之所以会提出 Balanced L1 loss,是因为这个损失函数是两个 loss 的相加,如果分类做得很好地话一样会得到很高的分数,而导致忽略了回归的重要性,一个自然的想法就是调整 λ 的值。

我们把样本损失大于等于 1.0 的叫做 outliers,小于的叫做 inliers。由于回归目标是没有边界限制的,直接增加回归损失的权重将会使模型对 outliers 更加敏感。

对于 outliers 会被看作是困难样本(hard example),这些困难样本会产生巨大的梯度不利于训练的过程,而 inliers 被看做是简单样本(easy example)只会产生相比 outliers 大概 0.3 倍的梯度。

首先我们看 Smooth L1 Loss:

所以作者从常见的 Smooth L1 Loss 中推导出了 Balanced L1 Loss:

它的梯度计算遵从下面的准则:

作者从需求出发,想要得到一个梯度当样本在 |x|<1 附近产生稍微大点的梯度,作者设计了下面这个函数,从 Figure 5 可以看出 αln(b|x|+1) 大于 x。

根据梯度反求出 Lb(x) 表达式:

还有很重要的一点就是为了函数的连续性,需要满足 x=1 时 Lb(1)=γ:

其实意思就是

这个函数不得不说非常妙,成功掰弯了梯度,我也不知道他怎么想出来的。

实验结果

在 COCO test-dev 数据集上与目前 state-of-the-art 的目标检测的方法对比,能比 Faster R-CNN、RetinaNet、Mask R-CNN 要高 2+ 的 AP。

三种解决方案的各种组合情况的对比实验:

值得注意的是,作者对 IoU-balanced samping 做实验时对 K 的取值做了实验证明该方法对 K 的取值并不敏感,即对 IoU 分多少个区间并不敏感。

这是 IoU-balanced sampling 的候选框的可视化效果:

总结

paper 逻辑清晰,紧紧抓住三个层次去做改进,三个问题对应三个解决方案,结构清晰一目了然,实验充分,相比两个单阶段和两阶段检测器的两个代表 Faster R-CNN 和 RetinaNet 分别高了 2+ 的 AP,图画得也不错,我觉得是篇好论文,而且应该是作者在比赛中实际运用到的才写出了这篇 paper,以后目标检测的比赛我觉得都可以参考这篇去做改进。

参考文献

[1]. Pang J, Chen K, Shi J, et al. Libra R-CNN: Towards Balanced Learning for Object Detection[J]. arXiv preprint arXiv:1904.02701, 2019.

[2]. Wang J, Chen K, Yang S, et al. Region proposal by guided anchoring[J]. arXiv preprint arXiv:1901.03278, 2019.

[3]. Shrivastava A, Gupta A, Girshick R. Training region-based object detectors with online hard example mining[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 761-769.

[4]. Wang X, Girshick R, Gupta A, et al. Non-local neural networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 7794-7803.

[5]. Ross Girshick. Fast R-CNN. In IEEE Conference on Computer Vision and Pattern Recognition, 2015.

点击以下标题查看更多往期内容:

#投 稿 通 道#

 让你的论文被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。

来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

? 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site

• 所有文章配图,请单独在附件中发送

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

?

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

▽ 点击 | 阅读原文 | 下载论文 & 源码

CVPR 2019 | 天秤座R-CNN:全面平衡的目标检测器相关推荐

  1. cnn加工是什么意思_天秤座R-CNN:全面平衡的目标检测器

    这是一篇浙江大学和香港中文大学发表于 CVPR 2019 的论文,这篇文章十分有趣,网友戏称:"无痛涨点,实现简单,良心 paper",在我看来确实是这样的,没有太大的改造结构,不 ...

  2. 论文盘点:CVPR 2019 - 文本检测专题

    作者丨燕小花 研究方向丨计算机视觉 CRAFT 论文主要思想 本文的主要思路是先检测单个字符(character region score)及字符间的连接关系(affinity score),然后根据 ...

  3. CVPR 2019 | 旷视研究院提出极轻量级年龄估计模型C3AE

    全球计算机视觉三大顶级会议之一 CVPR 2019 将于当地时间 6 月 16-20 日在美国洛杉矶举办.届时,旷视研究院将带领团队远赴盛会,助力计算机视觉技术的交流与落地.在此之前,旷视每周会介绍一 ...

  4. CVPR 2019 | 旷视研究院提出TACNet,刷新时空动作检测技术新高度

    全球计算机视觉三大顶级会议之一 CVPR 2019 将于当地时间 6 月 16-20 日在美国洛杉矶举办.届时,旷视研究院将带领团队远赴盛会,助力计算机视觉技术的交流与落地.在此之前,旷视每周会介绍一 ...

  5. CVPR 2019 | NAS-FPN:基于自动架构搜索的特征金字塔网络

    作者丨孙明珊 学校丨哈尔滨工业大学(深圳)硕士生 研究方向丨目标检测 研究动机 当前目标检测网络中采用特征金字塔网络(FPN)结构解决多尺度的问题,但是这些 FPN 都是人工事先设计,并不一定是最优的 ...

  6. CVPR 2019 | INIT:针对实例级的图像翻译

    作者丨薛洁婷 学校丨北京交通大学硕士生 研究方向丨图像翻译 研究动机 近年来关于图像翻译的研究越来越多,其中比较经典的有监督模型包括 Pix2Pix, BicycleGAN 等,无监督模型包括 Cyc ...

  7. CVPR 2019 | 旷视研究院提出Re-ID新方法VPM,优化局部成像下行人再识别

    全球计算机视觉三大顶级会议之一 CVPR 2019 将于当地时间 6 月 16-20 日在美国洛杉矶举办.届时,旷视研究院将带领团队远赴盛会,助力计算机视觉技术的交流与落地.在此之前,旷视每周会介绍一 ...

  8. CVPR 2019 | 实体零售场景下密集商品的精确探测

    作者丨孙明珊 学校丨哈尔滨工业大学(深圳) 研究方向丨目标检测 研究动机 在购物超市中,商品陈列区中摆放了密集而繁多的商品,它们大多是相同或极其相似的,并且位置十分靠近.当前主流的检测网络在这种场景下 ...

  9. CVPR 2019 | STGAN: 人脸高精度属性编辑模型

    AttGAN 和 StarGAN 在人脸属性编辑上取得了很大的成功,但当人脸属性之间相互交集或者目标人脸属性比较复杂时,这两种方式对于控制属性的标签上的精细化就显示了些许的不足.STGAN 是一个建立 ...

最新文章

  1. docker 删除默认连接_Net Core 中 Docker应用
  2. 注册DirectShow filter时应该注意中文路径
  3. 【JavaSE_06】Java中的数组(array)-练习
  4. Cpp 对象模型探索 / 系列文章的索引
  5. git中统计代码提交数
  6. LeetCode Hot100 ---- 滑动窗口专题
  7. 【js拾遗】名称空间
  8. LeetCode 826. 安排工作以达到最大收益(map)
  9. 通过asm动态构造class文件
  10. linux内核module_init,Linux内核模块中module_init和init_module有什么区别?
  11. 产品入门八——用户体验设计
  12. svn与eclipse的集成(第三方插件与eclipse的集成)
  13. 20155301 Exp7 网络欺诈防范
  14. 《机器学习实战》完整读书笔记
  15. 如何修复MySQL配置文件?
  16. 位操作实现加减乘除四则运算
  17. 计算机的选材标准,GBT26642-2011无损检测金属材料计算机射线照相检测方法国家标准.pdf...
  18. 【每日一具9】Gif动画录制工具
  19. 测试:如何测试微信朋友圈的点赞功能
  20. EMWIN电容触摸Touch步骤及注意事项

热门文章

  1. 深入浅出微信公众平台实战开发(一)
  2. Tk 标签Label下image参数直接调用包含 ImageTk.PhotoImage 的函数时,图片不显示问题
  3. 【matlab 斩波电路仿真】
  4. java读取excel日期_在JAVA读取Excel数据的日期格式
  5. springboot乐校园二手书交易管理系统
  6. 5G技术上失利已对美国通信产业造成影响,6G挽回劣势不容易
  7. 北京大学 上海交通大学 复旦大学 专硕可能不提供住宿!
  8. 项目三 配置与远程连接服务
  9. execl 单元格颜色设置
  10. python可以使用中文_如何在Python中使用中文