原文标题:Focal Loss for Dense Object Detection

概要

目标检测主要有两种主流框架,一级检测器(one-stage)和二级检测器(two-stage),一级检测器,结构简单,速度快,但是准确率却远远比不上二级检测器。作者发现主要原因在于前景和背景这两个类别在样本数量上存在很大的不平衡。作者提出了解决这种不平衡的方法,改进了交叉熵损失,使其对容易分类的样本产生抑制作用,使得损失集中在数量较少的难分类样本上。同时,作者提出了著名的RetinaNet,这个网络不仅速度快,而且精度不比二级检测器低,是个一出色的目标检测网络。

focal loss

一般来讲,如果对一个样本进行分类,这个样本分类很容易,比如说概率为98%,它的损失相应来讲也会很小。但是有一种情况,如果样本中存在极大的不平衡,这个容易分类的样本数量占很大的比例,那么它所产生的损失也会占大部分比例,就会使得难分类的样本占的损失比例较少,使得模型难以训练。
作者由此提出了focal loss,来解决样本不平衡的问题。
$ FL(p_t)=-(1-p_t)^rlog(p_t) $

RetinaNet 网络结构

retinaNet 是一个简单,一致的网络,它有一个主干网络(backbone)以及两个具有特殊任务的子网络。主干网络用来提取特征,有好多现成的,可以直接用。第一个子网络执行分类任务,第二个字网络执行回顾任务。

1.backbone

使用了特征金字塔(FPN)作为backbone,它可以提取不同尺度的特征。金字塔的每一层都可以用来检测物体,小特征可以检测大物体,大特征可以检测小物体。
将FPN建立在resnet的基础上,构成了从P3到P7的金字塔,(\(P_l\)比输入的图片尺寸小\(2^l\)倍)。所有的金字塔层,都有256个通道。

2.Anchors

  • 使用具有平移不变特性的Anchors。它们的大小从\(32^2\)到\(512^2\),对应P3到P7。Anchors使用3种长宽比,{1:2,1:1,2:1},使用3种大小比例{\(2^0,2^{1/3},2^{2/3}\)}.这样的设置可以提高AP。每个位置中anchor 的个数A= 3X3=9。
  • 每个Anchor都会分配一个长度为K的one-hot编码,K是类别的数量,包含背景类。并且分配一个长度为4的向量,代表框子的大小和定位。
  • 设置前景是IoU大于0.5的框,背景是IoU小于0.4的框,其他的忽略掉。每个Anchor都有一个one-hot编码,对应类别为1,其他为0.

    3.分类子网络

    这是一个小的全卷积神经网络,每个空间位置都会产生KA个预测,K是类别数,A是Anchor个数(9)。
    注意:只有一个分类子网络,金字塔的所有层都共享这一个网络中的参数。步骤如下:从金字塔中提取出C(256)通道的特征,然后子网络有4个卷积层,每个卷积层都使用3X3的卷积核.最后在跟着一个(KA)通道的卷积层。

    4.回归子网络

    这也是一个全卷积神经网络,与分类子网络并行存在着,它的任务是对预测框与距离最近的标注框(真实值,如果有的话)进行回归。它在每个空间位置有4A个预测。与其他方式不同,这种回归方式对于分类,是独立的,不可知的。这使用了更少的参数,但是同样有效。

    推断与训练

    推断

    为了提高速度,把阈值设置为0.05,最多使用前1000个最高分的回归框预测。最后融合所有层级的预测结果,使用非极大值抑制,阈值为0.5.

    focal loss

    r=2的时候效果好,focal loss 将用在每张图片的10万个anchors上,也就是说,focal loss是这10 万个anchor(经过归一化)产生的损失的和。参数a也有一个稳定的范围。这两个参数成反比关系。

    初始化

    除了最后一个卷积层,所有的卷积层都用b=0,高斯权重0.01.对于最后一个卷积层,b的设置有所不同,这是为了避免在训练开始的时候,出现不稳定现象

    实验结果

论文阅读|Focal loss的更多相关文章

  1. [论文理解]Focal Loss for Dense Object Detection(Retina Net)

    Focal Loss for Dense Object Detection Intro 这又是一篇与何凯明大神有关的作品,文章主要解决了one-stage网络识别率普遍低于two-stage网络的问题 ...

  2. 深度学习笔记(八)Focal Loss

    论文:Focal Loss for Dense Object Detection 论文链接:https://arxiv.org/abs/1708.02002 一. 提出背景 object detect ...

  3. 论文阅读笔记四十四:RetinaNet:Focal Loss for Dense Object Detection(ICCV2017)

    论文原址:https://arxiv.org/abs/1708.02002 github代码:https://github.com/fizyr/keras-retinanet 摘要 目前,具有较高准确 ...

  4. Focal Loss for Dense Object Detection 论文阅读

    何凯明大佬 ICCV 2017 best student paper 作者提出focal loss的出发点也是希望one-stage detector可以达到two-stage detector的准确 ...

  5. 论文阅读笔记四十七:Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression(CVPR2019)

    论文原址:https://arxiv.org/pdf/1902.09630.pdf github:https://github.com/generalized-iou 摘要 在目标检测的评测体系中,I ...

  6. Focal loss论文解析

    Focal loss是目标检测领域的一篇十分经典的论文,它通过改造损失函数提升了一阶段目标检测的性能,背后关于类别不平衡的学习的思想值得我们深入地去探索和学习.正负样本失衡不仅仅在目标检测算法中会出现 ...

  7. 论文阅读 | FCOS: Fully Convolutional One-Stage Object Detection

    论文阅读——FCOS: Fully Convolutional One-Stage Object Detection 概述 目前anchor-free大热,从DenseBoxes到CornerNet. ...

  8. 论文阅读 | FoveaBox: Beyond Anchor-based Object Detector

    论文阅读——FoveaBox: Beyond Anchor-based Object Detector 概述 这是一篇ArXiv 2019的文章,作者提出了一种新的anchor-free的目标检测框架 ...

  9. 论文阅读 | Region Proposal by Guided Anchoring

    论文阅读 | Region Proposal by Guided Anchoring 相关链接 论文地址:https://arxiv.org/abs/1901.03278 概述 众所周知,anchor ...

随机推荐

  1. electron聊天室|vue+electron-vue仿微信客户端|electron桌面聊天

    一.项目概况 基于Electron+vue+electron-vue+vuex+Nodejs+vueVideoPlayer+electron-builder等技术仿制微信电脑端界面聊天室实例,实现消息 ...

  2. MySQL排序查询

    语法:① SELECT 查询 (要找的东西)②FROM 表 (在哪个表找)③[WHERE 筛选条件](取出重要的或有用的)④ORDER BY 排序列表 [ASC|DESC] (排序的关键字 字段)([ ...

  3. undefined 和 null

    cc.log('---log--- guomengkai :',guomengkai); guomengkai is not defined cc.log('---log--- gmk cc.sys. ...

  4. Python入门1 —— 初识Python

    一:Python介绍 1.Python是什么? Python是一门编程语言,编程语言是一门语言. 语言就是一个事物与另一个事物沟通的工具. 而编程语言则是人与计算机沟通的介质. 2.为什么要跟计算机沟 ...

  5. Excel 不同文件、sheet 关联引用(vlookup函数)

    有时候在excel办公中会遇到,两个sheet相同的一列数据,作为关联(就像数据库的表的外键),其中一个sheet想要获取另一个sheet的其他列数据,这样就用到了vlookup函数,下面演示一下: ...

  6. 浅谈ABB机器人(工具坐标,工件坐标,有效载荷)

    工具坐标(tool): 使tcl坐标偏移到工具上,例如焊接工作,使机器人工作点切入焊枪点上 mass:工具的重量 xyz:偏移距离的大小 验证:通过手动模式,切换至自定义工具,重定向 工件坐标(wob ...

  7. POJ 3177 Redundant Paths (tarjan边双连通分量)

    题目连接:http://poj.org/problem?id=3177 题目大意是给定一些牧场,牧场和牧场之间可能存在道路相连,要求从一个牧场到另一个牧场要有至少两条以上不同的路径,且路径的每条pat ...

  8. eclipse 添加主題

    在使用Eclipse过程中可能想更换下界面主题,此处介绍的是一款主题插件 Eclipse Color Theme 打开Eclipse,Help --> Eclipse Marketplace 在 ...

  9. 迭代器:遍历集合元素的操作. iterator()

    package seday11; import java.util.ArrayList;import java.util.Collection;import java.util.Iterator; / ...

  10. JS生成简单随机答案选择器,小抽奖器

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...