本文针对目标检测中分布不均衡问题,提出了一个梯度均衡策略改善模型性能,被AAAI2019收录为oral。

论文下载:https://arxiv.org/abs/1811.05181v1

github代码地址:https://github.com/libuyu/GHM_Detection

单阶段(one-stage)的目标检测模型存在类别不平衡问题,具体可参考我的另一篇博客文章,也是讨论此问题且同样给出了一种loss改进方法,focal loss,地址https://blog.csdn.net/qq_35153620/article/details/90047919

1.研究问题

单阶段的目标检测方法具有高效的结构框架,但其性能与俩阶段的目标检测方法存在差距。其中最重要的问题是简单样本和困难样本,正样本和负样本的不平衡问题导致。这些大量的简单背景样本再训练过程中淹没模型的优化器,从而导致性能的下降。

首先应该明白文章中所指出的简单负样本和困难正样本的定义,RPN的提出致使如今大部分模型都会使用anchors作为检测过程中的重要目标区域定位手段,在网格中每一个点都会产生anchors,产生的全部anchors数量巨大,而目标在图片中的尺寸较小, 就会产生一个问题,就是有用的正样本(即含有目标区域的anchors)很少,而无用的负样本(即只有背景信息的anchors)很多。文中认为那些只含有背景信息的样本时简单负样本。如下图所示,

图中红色的anchors代表困难正样本,蓝色代表简单负样本

2.解决方法

文章认为模型的类别失衡问题可以在梯度模的分布上得到很好地体现。简单样本的梯度很小,其对模型的贡献也很小。从全局来看,往往正样本属于困难样本,而负样本属于简单样本,两者的差异可以体现在分布的失衡上。

然而样本对模型的最终影响不仅体现在梯度上,样本的数量起很大的作用,简单负样本往往在数量上站住绝对的优势,从图1中青色线(使用的传统交叉熵损失函数),在梯度较小的部分(即简单样本)由于数量巨大的原因依旧会产生大的值从而淹没优化器。

图1

文章中提出了俩个分别用于分类和回归的损失函数,并以此构成梯度均衡机制用于克服上述问题。

(1)梯度密度

文章给出了作者定义的梯度密度函数,公式如下

                             式(1)

                                式(2)

式中k代表第k个样本,g代表损失的梯度,GD就是Gradient Density(梯度密度)。式(2)中为了找出以为长度,全部位于梯度中心附近位置的样本数量,将有效长度归一化。

之后作者提出梯度密度均衡化参数,如下式

相当于

当样本集中在数值区间内时,这一参数值就会降低。除以N是用来归一化。

(2)GHM-C Loss

文中提出GHM-C Loss用于作为分类的损失函数

文中作者推导了sigmoid函数用来计算交叉熵损失函数的梯度公式,如下

GHM-C Loss函数公式如下,

当某一样本处于梯度密度较大的位置时,认为其是简单样本,减少它的损失。

(2)GHM-R Loss

作者还提出了用于边界框回归的损失函数,GHM-R损失函数。

由于目前较多目标检测模型在边界框回归使用Smooth L1损失函数,其梯度不存在变化,因此本文提出新的用于替代它的损失函数,Authentic Smooth L1(ASL1)损失函数,公式如下,

其梯度如下,

同样对其求梯度密度,然后求其梯度密度均衡化参数,将其作为ASL1损失函数的参数,得到GHM-R Loss,公式如下

3.实验结果

可以看出,在大目标和中等目标GHM有很大优势,小目标上Focal loss有优势。

GHM:Gradient Harmonized Single-stage Detector相关推荐

  1. 目标检测--Accurate Single Stage Detector Using Recurrent Rolling Convolution

    Accurate Single Stage Detector Using Recurrent Rolling Convolution CVPR 2017 商汤科技关于目标检测的文献 Code: htt ...

  2. 论文阅读三:GHM《Gradient Harmonized Single-stage Detector》

    论文链接:Gradient Harmonized Single-stage Detector 论文来自香港中文大学 一.论文出发点    我们都知道,one-stage检测器一个极大的问题就是easy ...

  3. 论文阅读笔记五十四:Gradient Harmonized Single-stage Detector(CVPR2019)

    论文原址:https://arxiv.org/pdf/1811.05181.pdf github:https://github.com/libuyu/GHM_Detection 摘要 尽管单阶段的检测 ...

  4. 【每日一网】Day30:DSSD(Deconvolutional Single Shot Detector)简单理解

    DSSD:Deconvolutional Single Shot Detector 算法背景 本文的主要贡献在于将上下文索引和残差网络加到了SSD算法中,然后在反卷积层上增加SSD和residual- ...

  5. 论文阅读:Gradient Harmonized Single-stage Detector

    Gradient Harmonizing Mechanism (AAAI 2019) 文章   Focal Loss之后又一篇针对one-stage detector中的imbalance问题发起挑战 ...

  6. 目标检测——梯度均衡机制GHM(Gradient Harmonized Mechanism)的理解

    论文:Gradient Harmonized Single-stage Detector 论文地址:Gradient Harmonized Single-stage Detectorhttps://a ...

  7. DSSD: Deconvolutional Single Shot Detector

    转自:https://blog.csdn.net/yaoqi_isee/article/details/73277398 论文地址:DSSD : Deconvolutional Single Shot ...

  8. Gradient Harmonized Single-stage Detector

    参考  Gradient Harmonized Single-stage Detector - 云+社区 - 腾讯云 摘要 虽然两级检测器取得了巨大的成功,但是单级检测器仍然是一种更加简洁和高效的方法 ...

  9. 《Gradient Harmonized Single-stage Detector》论文阅读以及代码分析

    由于香港中文大学多媒体实验室在深度学习时代发表论文的数量以及质量都是值得称赞的,故此对于算法工程师好好学习下https://github.com/open-mmlab/mmdetection是很有必要 ...

最新文章

  1. LTE SIB1时频资源
  2. 经典面试题:ES如何做到亿级数据查询毫秒级返回?
  3. MySQL 优化实战记录 1
  4. php new static,PHP面向对象中new self( )和 new static( ) 的区别
  5. java 单例设计_Java 之单例设计模式
  6. jzoj6274-[NOIP提高组模拟1]梦境【贪心,堆】
  7. puppet enc mysql_精通Puppet配置管理工具
  8. mysql rpm 启动_MySQL安装(rpm)和启动配置
  9. oracle窗帘位图索引,Greenplum数据库设计开发规范参考.docx
  10. flexsession禁用_flex(替代session过期)用户长时间不操作要求重新登录的处理
  11. 计算机彻底删除删除后如何恢复,如何完全恢复从计算机删除的文件?
  12. [源码和文档分享]基于C语言实现的流星雨模拟课程设计
  13. PHP 长连接,奏是这么简单
  14. 中国土壤微生物组:进展与展望*
  15. 拳王虚拟项目公社:如何搭建虚拟资源解析站,全自动化卖会员网络赚钱项目
  16. 密码学术语中英文对照(持续更新中)
  17. matlab 平滑曲线连接_Matlab的5个控制类工具箱介绍
  18. bmi055六轴传感器获取数据
  19. 数据分析团队的搭建与思考
  20. java金额小数位,java 数字转大写金额,小数部分太简单略

热门文章

  1. IDEA如何导入一个已有项目
  2. 总结Criteria的简要使用概述(Hibernate5.2+)
  3. spring-cloud-security
  4. Lightswitch Desktopclinet 中如何调用WEB API
  5. 电脑麦克风可以录音但总有沙沙的声音如何解决
  6. xml和json转换的在线工具
  7. 码元速率 matlab,[转载]基于小波变换的移相键控信号符号速率估计(matlab仿真)...
  8. 前端零基础入门-002-集成开发环境
  9. Linux安装Kafka单机版本
  10. 从一名白纸交易者到稳定盈利交易员需要多长时间?