目标检测--Focal Loss for Dense Object Detection
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.
- 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,可以高效的训练所有的样本,不用设计采样策略来减少简单的负样本
- 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
- 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相关推荐
- 目标检测 | RetinaNet:Focal Loss for Dense Object Detection
论文分析了 one-stage 网络训练存在的类别不平衡问题,提出能根据 loss 大小自动调节权重的 focal loss,使得模型的训练更专注于困难样本.同时,基于 FPN 设计了 RetinaN ...
- Focal Loss for Dense Object Detection(整理后转载)
@[TOC](Focal Loss for Dense Object Detection 论文目标 核心思想 focal loss的提出 交叉熵损失函数 focal loss的重要性质 focal l ...
- RetinaNet——《Focal Loss for Dense Object Detection》论文翻译
<Focal Loss for Dense Object Detection> 摘要 迄今为止最高精度的对象检测器基于由R-CNN推广的 two-stage 方法,其中分类器应用于稀疏的候 ...
- RetinaNet论文详解Focal Loss for Dense Object Detection
一.论文相关信息 1.论文题目:Focal Loss for Dense Object Detection 2.发表时间:2017 3.文献地址:https://arxiv.org/pdf ...
- 【翻译】Focal Loss for Dense Object Detection(RetinaNet)
[翻译]Focal Loss for Dense Object Detection(RetinaNet) 目录 摘要 1.介绍 2.相关工作 3.Focal Loss 3.1 平衡的交叉熵损失 3.2 ...
- Focal Loss for Dense Object Detection(RetinaNet)(代码解析)
转自:https://www.jianshu.com/p/db4ccd194109 转载于:https://www.cnblogs.com/leebxo/p/10485740.html
- 点云 3D 目标检测 - CenterPoint:Center-based 3D Object Detection and Tracking(CVPR 2021)
点云 3D 目标检测 - CenterPoint: Center-based 3D Object Detection and Tracking - 基于中心的3D目标检测与跟踪(CVPR 2021) ...
- 目标检测-Oriented RepPoints for Aerial Object Detection(CVPR 2022)
目标检测-Oriented RepPoints for Aerial Object Detection(CVPR 2022) 论文地址:Oriented RepPoints for Aerial Ob ...
- 【开放域目标检测】一:Open-Vocabulary Object Detection Using Captions论文讲解
出发点是制定一种更加通用的目标检测问题,目的是借助于大量的image-caption数据来覆盖更多的object concept,使得object detection不再受限于带标注数据的少数类别,从 ...
最新文章
- Json的序列化和反序列化
- php将关联数组输出到前台,如何使用foreach从PHP中的关联数组输出特定数据
- 【多线程】学习记录七种主线程等待子线程结束之后在执行的方法
- java 快速查找 list_面试官:小伙子,你连Java集合都讲不清楚,怎么就敢开口要8K呀?...
- CSS3与页面布局学习笔记(三)——BFC、定位、浮动、7种垂直居中方法
- 分类分布(categorical分布)
- java如何将String转换为enum
- java 带宽控制_如何使用Java netty正确限制带宽使用?
- 使用Linux curl命令获取本机公网IP地址
- 面对 ESM,webpack 还有还手之力吗?
- VSCode调试Python时终端输出中文乱码解决方法2
- windbg中ntsd使用用户态调试器链接到内核调试器的常用技巧
- 用Global Mapper软件批处理将dwg转shp
- 数据库实验四 视图实验
- 锂电池电量百分比计算_锂电池容量计算的方法
- 奇虎360 php t5级别,奇虎360凭什么估值3800亿?核心价值只是他而已!
- WorkflowSim工作流仿真软件介绍 + 类的介绍 + 自创算法实现步骤
- NTKO OFFICE文档控件使用
- 徐文长传奇李舟楫的博客新浪博客
- c语言禁用键盘,C/C++ 禁用鼠标键盘
热门文章
- ICML2020 | Retro*: 通过神经引导的A*搜索学习逆合成设计
- Android中对Handler用法的总结
- 根据基因或者蛋白的id提取序列---extract_seq.exe
- 静态配置_【实验】华为静态路由基础配置
- Bioinformatics:吉林大学刘富组-深度学习从宏基因组序列中识别短病毒序列Virtifier...
- 中国农科院微生物生态和进化方向博士后招聘(有高通量数据分析经验者优先)...
- 宏基因组序列物种分类之kraken 1/2和Bracken的使用
- R语言使用ggplot2包使用geom_density()函数绘制分组密度图(线条色彩、添加均值线)实战(density plot)
- R语言聚类分析之基于划分的聚类KMeans实战:基于菌株数据
- Error in plot.new() : figure margins too large