解决目标检测中密集遮挡问题——Repulsion loss

  • Rep loss
    • Attr
    • RepGT
    • RepBox

之前参加了df的钢筋检测比赛,比赛中的一个难点是密集遮挡问题,为了解决这个问题,参考了之前旷视针对人群检测中密集遮挡问题而提出的Reploss,这篇论文收录于cvpr2018。我把Reploss的思路拿过来用在钢筋检测中,效果还是不错的,在这里记录一下这篇论文。
在目标检测中,遮挡问题是比较常见的,主要分为两种,一种是待检测目标之间相互遮挡,一种是待检测目标与被干扰物遮挡,
第一种遮挡又分为类间遮挡和类内遮挡,类内遮挡产生于同类物体,也被称为密集遮挡。第二种遮挡,由于目标干扰物体遮挡,而算法只能学习待检测物体的特征,因此第二种遮挡只能通过增加样本来优化检测效果。
密集遮挡的问题:由于密集遮挡的两个目标的类别是相同的,所以两个目标之间的特征是相似的,检测器很可能无法定位。本应该属于目标A的proposal很可能会想目标B发生偏移,导致定位不准确,而目标B本身有自己的proposal,在接下来的nms中,目标A的proposal很可能被目标B的proposal所抑制,进而造成了目标A的漏检。因此,对于密集遮挡问题,NMS的阈值时很敏感的,阈值过高,造成误检,阈值低,造成漏检。
目前的目标检测器都是利用回归来进行定位,位置回归的目标是让proposal和gtbox尽可能的接近,而不考虑周围的物体。如果预测框周围有其他物体时,对其并没有任何的惩罚。

Rep loss

Reploss收到磁石吸引排斥的启发,Reploss包含三个目标:包括一个吸引项和两个排斥项,吸引项的要求是预测框靠近其目标,而排斥项的目标是需要预测框原理周围其他的gt物体和proposal。
首先正例的proposal是iou>0.5的proposal,其负责的gt为最大iou的gtbox。

Attr


和其他目标检测方法中位置回归的loss一样,使用smoothl1

RepGT

RepGT的目标是让proposal离除了分配的gtbox以为iou最大的gtbox尽可能的远。然后衡量的损失函数是对IoG进行一个smoothln损失。之所以不用iou而用iog的原因是如果然iou尽可能的小,一个可行的优化方向是让proposal尽可能的大,这显然与我们的想法不同,因此考虑使用IoG进行优化。



RepGT可以防止proposal向其他临近的gt偏移

RepBox

RepBox的目标是让来自不同指定目标的proposal尽可能的远。RepBox的loss是对proposal之间的iou进行一个smoothln损失。

RepBox可以降低检测器对nms的敏感度,降低了nms之后不同目标检测卡合并成一个检测框的可能性。使得检测器对于密集的场景更加鲁棒。

最终,repulsion loss是三个loss的和,其中RepBox和RepGT前面需要乘以一个系数,论文中的系数是0.5。

另外,作者对通用的目标检测问题,也使用了Repulsion loss,实验结果证明,通用的目标检测问题存在的密集问题通过repulsion loss也是可以提升精度的。在pascal voc 上使用,也得到了提升。我自己在钢筋检测中亲测有效。
总结:Reploss虽然是为行人检测中密集遮挡问题设计的,但其实用于通用的目标检测中也是有效果的,在目标遮挡的目标检测问题中可以考虑试一下。并且应用起来也很简单,不需要对模型做任何的更改,只是在loss计算的时候修改一下。

解决目标检测中密集遮挡问题——Repulsion loss相关推荐

  1. 目标检测中的遮挡问题及优化

    文章目录 1 Repulsion Loss: Detecting Pedestrians in a Crowd 1.1 现有方法的缺点 1.2 解决办法 1.3 对问题做数学建模 1.3.1 引力作用 ...

  2. 谈谈深度学习目标检测中的遮挡问题

    引自:"别挡我,我要C位出道!"谈谈深度学习目标检测中的遮挡问题 - Naiyan Wang的文章 - 知乎 https://zhuanlan.zhihu.com/p/436559 ...

  3. 2021综述:一般目标检测中的遮挡处理

    目录 综述:通用对象检测中的遮挡处理 1.简介 2.目标检测的应用 3.数据集 4.户外场景的遮挡处理 A.数据收集 B.遮挡检测 C.生成遮挡区域 D.遮挡目标检测 5.室内场景中的遮挡处理 A.场 ...

  4. 解决目标检测中的小目标问题

    <解决目标检测中的小目标问题>   目标检测的前身是滑窗 + 图像分类,如果想要对图像进行鲁棒的分类,首先特征要能够覆盖整幅图像,而且编码的前景信息要比噪声背景信息更加显著.这对于小目标来 ...

  5. 目标检测中的Bounding Box Regression Loss

    目标检测中的Bounding Box Regression Loss PyTorch: https://github.com/shanglianlm0525/CvPytorch 目标检测中的Bound ...

  6. 综述:解决目标检测中的样本不均衡问题

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨SFXiang 来源丨AI算法修炼营 编辑丨极市平台 极市导 ...

  7. 堪比Focal Loss!解决目标检测中样本不平衡的无采样方法

    训练目标检测模型的一个难点是样本不均衡,特别是正负样本比例严重失衡.目前解决这类问题主要是两种方案(见综述Imbalance Problems in Object Detection: A Revie ...

  8. CVPR2020 | MAL:联合解决目标检测中的定位与分类问题,自动选择最佳anchor

    点击上方"AI算法修炼营",选择"星标"公众号 精选作品,第一时间送达 本文是收录于CVPR2020的工作,其实文章在去年就挂在了网上,整体思路还算不错.具体来 ...

  9. 解决目标检测中的难分样本(漏检测与误检测问题)

    1.SRGAN 论文题目:Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial 论文链接:https ...

最新文章

  1. 吴恩达新课发布1天,引3万人观看 | 完整PPT
  2. 用 Python 爬了点你们喜欢的小电影
  3. libgdx 3D 测试一
  4. *1408素数回文数的个数
  5. 对象属性对话框只能放大不能缩小
  6. VS项目属性的一些配置项的总结
  7. [js] 说说你对js对象生命周期的理解
  8. html 页面怎么自动定位到某个标签,JS如何实现在页面上快速定位(锚点跳转问题)...
  9. 使用 Linux 15 年后,我重新回到 Windows:感觉非常糟糕
  10. 《.Net 软件设计新思维》作者讲述成书的背后故事
  11. 电阻电容等封装对应功率
  12. 偶数支足球队进行单循环比赛,按照指定算法打印每轮的对阵形势
  13. dwf怎么合成一个_图纸集批量发布单页dwf的方法——院办质量小组
  14. BZOJ3034: Heaven Cow与God Bull
  15. python-pygame作品之MineCraft小鸡
  16. matlab仿真限幅发散,simulink仿真收敛,但用m文件实现却是发散的,是怎么回事?...
  17. 用FPGA实现深度卷积神经网络(5)
  18. Python-Flask入门,静态文件、页面跳转、错误信息、动态网页模板
  19. 随笔7:R语言绘图黑白印刷风格芯片包
  20. 400+汽车经销商怎么在一天完成算奖?

热门文章

  1. 乙炔黑-离子液体复合修饰玻碳电极(AB-ILs/GCE)|离子液体修饰改性的多壁碳纳米管(MWNTs)
  2. 中国物联网微控制器市场现状研究分析与发展前景预测报告(2022)
  3. LOL:各服务器王者段位人数改动,越南菲律宾与韩国并列共300人
  4. 史上最简单的 MySQL 教程(十四)「列属性 之 主键」
  5. 你炒的肉丝为何又柴又老又难吃?
  6. 嘉鱼县开展寒冬送暖志愿服务活动
  7. 如何简单理解集合框架和利用时空复杂度?
  8. 微星GT77HX-13VI2023原厂Windows11重建F3一键恢复msirestore功能
  9. 如何修复 M1 Mac 外接显示器屏幕闪烁、白噪声、黑屏等问题?
  10. 访问学者办理签证的五点建议