Focal Loss for Dense Object Detection
ICCV2017
https://arxiv.org/abs/1708.02002

本文算是用简单的方法解决复杂的问题了,好的思想是简单的

针对目标检测,目前有两类主流算法: two-stage detectors 和 one-stage detectors, two-stage detectors 的精度好但是速度慢,one-stage detectors 速度快精度差一些,本文指出one-stage detectors 精度差主要是因为 在训练时的 class imbalance,不仅仅是正负样本不平衡,更主要的是难易样本比例严重失调。随后提出了改进损失函数的定义,减小大量简单背景样本对总体损失函数的贡献,相对提高难得样本在损失函数中的权重。

In this work, we identify class imbalance as the primary obstacle preventing one-stage object detectors from surpassing top-performing, two-stage methods, such as Faster R-CNN variants. To address this, we propose the focal loss which applies a modulating term to the cross entropy loss in
order to focus learning on hard examples and down-weight the numerous easy negatives.

  1. Related Work
    先看看目标检测 的 历史
    Classic Object Detectors: 最经典的思路就会 滑动窗口了,Adboost 用于人脸检测, HOG, DPMs 等

Two-stage Detectors: 首先是 候选区域提取,然后是使用 CNN 进行分类,从最开始的R-CNN,Fast R-CNN, 到最经典的框架就是 Faster R-CNN framework

One-stage Detectors: One stage detectors are applied over a regular, dense sampling of object locations, scales, and aspect ratios
代表性方法:OverFeat, SSD , YOLO

Class Imbalance: 不管是传统的 one-stage object detection 方法 如 boosted detectors , DPMs 还是 最近的 SSD,在训练阶段都面临一个很大的 class imbalance, 这些检测器在一幅图像中大约要 评估 10000-100000 个候选位置,但是只有很少的位置含有物体。 这个不平衡会导致两个问题:1)训练的低效率,因为大部分位置都是简单的负样本,他们没有什么有用的学习信息。2)简单负样本占整个样本的绝大多数,导致学习到的模型泛化性能降低。 以前解决这个问题的方法一般是 hard negative mining 或者赋予不同权重的策略 more complex sampling/reweighing schemes。

本文提出的 focal loss 很好的解决了 class imbalance,可以高效的训练所有的样本,不用设计采样策略来减少简单的负样本

  1. Focal Loss
    我们首先从 二分类问题中的 cross entropy (CE) loss 谈起,慢慢引入 focal loss。

    换一个马夹是这样的:

    One notable property of this loss, which can be easily seen in its plot, is that even examples that are easily classified (p t>.5) incur a loss with non-trivial magnitude. When summed over a large number of easy examples, these small loss values can overwhelm the rare class
    大量简单的负样本 对总体的损失函数影响太大

3.1. Balanced Cross Entropy
解决这个class imbalance 一个常规方法就是引入 a weighting factor α

3.2. Focal Loss Definition

focal loss 有两个属性:
1) 当一个样本被误分类, p_t 很小,误分类引入的误差不受影响 , the modulating factor is near 1 and the loss is unaffected
2) The focusing parameter γ smoothly adjusts the rate at which easy examples are down-weighted 。
The focusing parameter γ 会平滑的调整 降低简单负样本的权重

实际使用的 focal loss 引入了 α-balanced

3.3. Class Imbalance and Model Initialization
class imbalance 会导致 训练初期的不稳定,这里我们引入了 先验知识, 一般为 0.01
the value of p estimated byt he model for the rare class (foreground) at the start of training

3.4. Class Imbalance and Two-stage Detectors
Two-stage Detectors 是怎么解决 class imbalance 了?
(1) a two-stage cascade and (2) biased minibatch sampling, 1:3

  1. RetinaNet Detector
    这里我们设计了一个 RetinaNet Detector 来验证我们提出的 local loss 的有效性

Feature Pyramid Network (FPN) + subnetworks for classifying anchor boxes + subnetworks for anchor boxes regress

目标检测--Focal Loss for Dense Object Detection相关推荐

  1. 目标检测 | RetinaNet:Focal Loss for Dense Object Detection

    论文分析了 one-stage 网络训练存在的类别不平衡问题,提出能根据 loss 大小自动调节权重的 focal loss,使得模型的训练更专注于困难样本.同时,基于 FPN 设计了 RetinaN ...

  2. Focal Loss for Dense Object Detection(整理后转载)

    @[TOC](Focal Loss for Dense Object Detection 论文目标 核心思想 focal loss的提出 交叉熵损失函数 focal loss的重要性质 focal l ...

  3. RetinaNet——《Focal Loss for Dense Object Detection》论文翻译

    <Focal Loss for Dense Object Detection> 摘要 迄今为止最高精度的对象检测器基于由R-CNN推广的 two-stage 方法,其中分类器应用于稀疏的候 ...

  4. RetinaNet论文详解Focal Loss for Dense Object Detection

    一.论文相关信息 ​ 1.论文题目:Focal Loss for Dense Object Detection ​ 2.发表时间:2017 ​ 3.文献地址:https://arxiv.org/pdf ...

  5. 【翻译】Focal Loss for Dense Object Detection(RetinaNet)

    [翻译]Focal Loss for Dense Object Detection(RetinaNet) 目录 摘要 1.介绍 2.相关工作 3.Focal Loss 3.1 平衡的交叉熵损失 3.2 ...

  6. Focal Loss for Dense Object Detection(RetinaNet)(代码解析)

    转自:https://www.jianshu.com/p/db4ccd194109 转载于:https://www.cnblogs.com/leebxo/p/10485740.html

  7. 点云 3D 目标检测 - CenterPoint:Center-based 3D Object Detection and Tracking(CVPR 2021)

    点云 3D 目标检测 - CenterPoint: Center-based 3D Object Detection and Tracking - 基于中心的3D目标检测与跟踪(CVPR 2021) ...

  8. 目标检测-Oriented RepPoints for Aerial Object Detection(CVPR 2022)

    目标检测-Oriented RepPoints for Aerial Object Detection(CVPR 2022) 论文地址:Oriented RepPoints for Aerial Ob ...

  9. 【开放域目标检测】一:Open-Vocabulary Object Detection Using Captions论文讲解

    出发点是制定一种更加通用的目标检测问题,目的是借助于大量的image-caption数据来覆盖更多的object concept,使得object detection不再受限于带标注数据的少数类别,从 ...

最新文章

  1. Json的序列化和反序列化
  2. php将关联数组输出到前台,如何使用foreach从PHP中的关联数组输出特定数据
  3. 【多线程】学习记录七种主线程等待子线程结束之后在执行的方法
  4. java 快速查找 list_面试官:小伙子,你连Java集合都讲不清楚,怎么就敢开口要8K呀?...
  5. CSS3与页面布局学习笔记(三)——BFC、定位、浮动、7种垂直居中方法
  6. 分类分布(categorical分布)
  7. java如何将String转换为enum
  8. java 带宽控制_如何使用Java netty正确限制带宽使用?
  9. 使用Linux curl命令获取本机公网IP地址
  10. 面对 ESM,webpack 还有还手之力吗?
  11. VSCode调试Python时终端输出中文乱码解决方法2
  12. windbg中ntsd使用用户态调试器链接到内核调试器的常用技巧
  13. 用Global Mapper软件批处理将dwg转shp
  14. 数据库实验四 视图实验
  15. 锂电池电量百分比计算_锂电池容量计算的方法
  16. 奇虎360 php t5级别,奇虎360凭什么估值3800亿?核心价值只是他而已!
  17. WorkflowSim工作流仿真软件介绍 + 类的介绍 + 自创算法实现步骤
  18. NTKO OFFICE文档控件使用
  19. 徐文长传奇李舟楫的博客新浪博客
  20. c语言禁用键盘,C/C++ 禁用鼠标键盘

热门文章

  1. ICML2020 | Retro*: 通过神经引导的A*搜索学习逆合成设计
  2. Android中对Handler用法的总结
  3. 根据基因或者蛋白的id提取序列---extract_seq.exe
  4. 静态配置_【实验】华为静态路由基础配置
  5. Bioinformatics:吉林大学刘富组-深度学习从宏基因组序列中识别短病毒序列Virtifier...
  6. 中国农科院微生物生态和进化方向博士后招聘(有高通量数据分析经验者优先)...
  7. 宏基因组序列物种分类之kraken 1/2和Bracken的使用
  8. R语言使用ggplot2包使用geom_density()函数绘制分组密度图(线条色彩、添加均值线)实战(density plot)
  9. R语言聚类分析之基于划分的聚类KMeans实战:基于菌株数据
  10. Error in plot.new() : figure margins too large