focal loss和retinanet】的更多相关文章

这个是自己用的focal loss的代码和公式推导:https://github.com/zimenglan-sysu-512/Focal-Loss 这个是有retinanet:https://github.com/unsky/RetinaNet…
Paper: https://arxiv.org/abs/1708.02002 还参考了:https://www.jianshu.com/p/8e501a159b28 其中p是预测属于某类的概率.…
论文原址:https://arxiv.org/abs/1708.02002 github代码:https://github.com/fizyr/keras-retinanet 摘要 目前,具有较高准确率的检测器基于双阶段的目标检测算法实现,单阶段通过对可能存在的位置进行密集的采样操作,一定程度上要比双阶段的方法要更简单快速,但是准确率会有所损失.在进行训练时,前景与背景二者之间较大的类别不平衡是产生上述问题的原因.针对上述问题,本文对常规的损失函数进行修改,降低易分类样本产生的损失的贡献度.本文…
论文分析了one-stage网络训练存在的类别不平衡问题,提出能根据loss大小自动调节权重的focal loss,使得模型的训练更专注于困难样本.同时,基于FPN设计了RetinaNet,在精度和速度上都有不俗的表现 论文:Focal Loss for Dense Object Detection 论文地址:https://arxiv.org/abs/1708.02002 论文代码:https://github.com/facebookresearch/Detectron Introducti…
Focal Loss for Dense Object Detection-RetinaNet YOLO和SSD可以算one-stage算法里的佼佼者,加上R-CNN系列算法,这几种算法可以说是目标检测领域非常经典的算法了.这几种算法在提出之后经过数次改进,都得到了很高的精确度,但是one-stage的算法总是稍逊two-stage算法一筹,于是就有了Focal Loss来找场子. 在Focal Loss这篇论文中中,作者认为one-stage精确度不如two-stage是因为下面的原因: ① …
1. 总述 Focal loss主要是为了解决one-stage目标检测中正负样本比例严重失衡的问题.该损失函数降低了大量简单负样本在训练中所占的权重,也可理解为一种困难样本挖掘. 2. 损失函数形式 Focal loss是在交叉熵损失函数基础上进行的修改,首先回顾二分类交叉上损失: 是经过激活函数的输出,所以在0-1之间.可见普通的交叉熵对于正样本而言,输出概率越大损失越小.对于负样本而言,输出概率越小则损失越小.此时的损失函数在大量简单样本的迭代过程中比较缓慢且可能无法优化至最优.那么Foc…
论文:Focal Loss for Dense Object Detection 论文链接:https://arxiv.org/abs/1708.02002 一. 提出背景 object detection的算法主要可以分为两大类:two-stage detector和one-stage detector.前者是指类似Faster RCNN,RFCN这样需要region proposal的检测算法,这类算法可以达到很高的准确率,但是速度较慢.虽然可以通过减少proposal的数量或降低输入图像的…
Focal Loss for Dense Object Detection Intro 这又是一篇与何凯明大神有关的作品,文章主要解决了one-stage网络识别率普遍低于two-stage网络的问题,其指出其根本原因是样本类别不均衡导致,一针见血,通过改变传统的loss(CE)变为focal loss,瞬间提升了one-stage网络的准确率.与此同时,为了测试该loss对网络改进的影响,文章还特地设计了一个网络,retina net,证明了其想法. Problems 为啥one-stage网…
原文标题:Focal Loss for Dense Object Detection 概要 目标检测主要有两种主流框架,一级检测器(one-stage)和二级检测器(two-stage),一级检测器,结构简单,速度快,但是准确率却远远比不上二级检测器.作者发现主要原因在于前景和背景这两个类别在样本数量上存在很大的不平衡.作者提出了解决这种不平衡的方法,改进了交叉熵损失,使其对容易分类的样本产生抑制作用,使得损失集中在数量较少的难分类样本上.同时,作者提出了著名的RetinaNet,这个网络不仅速…
[本期推荐专题]物联网从业人员必读:华为云专家为你详细解读LiteOS各模块开发及其实现原理. 摘要:Focal Loss的两个性质算是核心,其实就是用一个合适的函数去度量难分类和易分类样本对总的损失的贡献. 本文分享自华为云社区<技术干货 | 基于MindSpore更好的理解Focal Loss>,原文作者:chengxiaoli. 今天更新一下恺明大神的Focal Loss,它是 Kaiming 大神团队在他们的论文Focal Loss for Dense Object Detection…
为了有效地同时解决样本类别不均衡和苦难样本的问题,何凯明和RGB以二分类交叉熵为例提出了一种新的Loss----Focal loss 原始的二分类交叉熵形式如下: Focal Loss形式如下: 上式中,相对于原始的二分类交叉熵加入了两个量:1.modulating factor:(其中幂称为focusing parameter):2.: 现在分别来解释一下两个分量的作用: (1)第一个分量称为调制系数,它的作用是困难样本挖掘,比如p越大,则表示它更趋于是简单正样本,则对应的调制系数则更小,即简…
论文:<Focal Loss for Dense Object Detection> Focal Loss 是何恺明设计的为了解决one-stage目标检测在训练阶段前景类和背景类极度不均衡(如1:1000)的场景的损失函数.它是由二分类交叉熵改造而来的. 标准交叉熵 其中,p是模型预测属于类别y=1的概率.为了方便标记,定义: 交叉熵CE重写为: α-平衡交叉熵: 有一种解决类别不平衡的方法是引入一个值介于[0; 1]之间的权重因子α:当y=1时,取α; 当y=0时,取1-α. 这种方法,当…
何凯明大佬 ICCV 2017 best student paper 作者提出focal loss的出发点也是希望one-stage detector可以达到two-stage detector的准确率,同时不影响原有的速度.one-stage detector的准确率不如two-stage detector的原因,作者认为原因是:样本的类别不均衡导致的.因此针对类别不均衡问题,作者提出一种新的损失函数:focal loss,这个损失函数是在标准交叉熵损失基础上修改得到的.这个函数可以通过减少易…
把Focal Loss的前向和后向进行数学化描述.本文的公式可能数学公式比较多.本文尽量采用分解的方式一步一步的推倒.达到能易懂的目的. Focal Loss 前向计算 其中 是输入的数据 是输入的标签. 其中 Focal Loss 后向梯度计算 为了计算前向公式(3)的梯度我们,首先计算单元 的导数. 计算计算 导数: 有了(4)和(5)我们就来对(3)进行推倒. 在(6)中把(4)(5)带入并合并整理就得到(7) (7)就是Focal loss的后向的最后结果.要是在TF, Pytorch等…
公式推导:https://github.com/zimenglan-sysu-512/paper-note/blob/master/focal_loss.pdf 使用的代码:https://github.com/zimenglan-sysu-512/Focal-Loss 在onestage的网络中,正负样本达到1:1000,这就会出现两个问题:1.样本不平衡   2.负样本主导loss.虽然负样本的loss小(因为大量的负样本是easy example,大量负样本是准确率很高的第0类),但个数众…
温故知新 focal loss for dense object detection,知乎上一人的评论很经典.hard negative sampling, 就是只挑出来男神(还是最难追的),而focal loss把男神拉出来的同时,还把备胎都拉出来,同时还按照颜值排个序…… 太有才了……理工科人也有幽默感的! video detection, track to detect and detect to track, neural networks tricks of the trade,觉得我…
Focal Loss 与 GHM Focal Loss Focal Loss 的提出主要是为了解决难易样本数量不平衡(注意:这有别于正负样本数量不均衡问题)问题.下面以目标检测应用场景来说明. 一些 one-stage 的目标检测器通常会产生很多数量的 anchor box,但是只有极少数是正样本,导致正负样本数量不均衡.这里假设我们计算分类损失函数为交叉熵公式. 由于在目标检测中,大量的候选目标都是易分样本,这些样本的损失很低,但是由于数量极不平衡,易分样本数量相对来说太多,最终主导了总的损失…
本质上讲,Focal Loss 就是一个解决分类问题中类别不平衡.分类难度差异的一个 loss,总之这个工作一片好评就是了. 看到这个 loss,开始感觉很神奇,感觉大有用途.因为在 NLP 中,也存在大量的类别不平衡的任务.最经典的就是序列标注任务中类别是严重不平衡的,比如在命名实体识别中,显然一句话里边实体是比非实体要少得多,这就是一个类别严重不平衡的情况. 硬截断 整篇文章都是从二分类问题出发,同样的思想可以用于多分类问题.二分类问题的标准 loss 是交叉熵. 其中 y∈{0,1} 是真…
def focal_loss(pred, y, alpha=0.25, gamma=2): r"""Compute focal loss for predictions. Multi-labels Focal loss formula: FL = -alpha * (z-p)^gamma * log(p) -(1-alpha) * p^gamma * log(1-p) ,which alpha = 0.25, gamma = 2, p = sigmoid(x), z = ta…
0 前言 Focal Loss是为了处理样本不平衡问题而提出的,经时间验证,在多种任务上,效果还是不错的.在理解Focal Loss前,需要先深刻理一下交叉熵损失,和带权重的交叉熵损失.然后我们从样本权利的角度出发,理解Focal Loss是如何分配样本权重的.Focal是动词Focus的形容词形式,那么它究竟Focus在什么地方呢? 1 交叉熵 1.1 交叉熵损失(Cross Entropy Loss) 有\(N\)个样本,输入一个\(C\)分类器,得到的输出为\(X\in \mathcal{…
文章来自公众号[机器学习炼丹术] 1 focal loss的概述 焦点损失函数 Focal Loss(2017年何凯明大佬的论文)被提出用于密集物体检测任务. 当然,在目标检测中,可能待检测物体有1000个类别,然而你想要识别出来的物体,只是其中的某一个类别,这样其实就是一个样本非常不均衡的一个分类问题. 而Focal Loss简单的说,就是解决样本数量极度不平衡的问题的. 说到样本不平衡的解决方案,相比大家是知道一个混淆矩阵的f1-score的,但是这个好像不能用在训练中当成损失.而Focal…
Focal Loss 摘要 Focal Loss目标是解决样本类别不平衡以及样本分类难度不平衡等问题,如目标检测中大量简单的background,很少量较难的foreground样本.Focal Loss通过修改交叉熵函数,通过增加类别权重\(\alpha\) 和 样本难度权重调因子(modulating factor)\((1-p_t)^\gamma\),来减缓上述问题,提升模型精确. 一.技术背景 我们知道object detection的算法主要可以分为两大类:two-stage dete…
Focal loss是目标检测领域的一篇十分经典的论文,它通过改造损失函数提升了一阶段目标检测的性能,背后关于类别不平衡的学习的思想值得我们深入地去探索和学习.正负样本失衡不仅仅在目标检测算法中会出现,在别的机器学习任务中同样会出现,这篇论文为我们解决类似问题提供了一个很好的启发,所以我认为无论是否从事目标检测领域相关工作,都可以来看一看这篇好论文. 论文的关键性改进在于对损失函数的改造以及对参数初始化的设置. 首先是对损失函数的改造.论文中指出,限制目标检测网络性能的一个关键因素是类别不平衡.…
目录 Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dense Object Detection 一. 论文简介 将目标检测Loss和评价指标统一,提升检测精度.这是一篇挺好的论文,下面会将其拓展到其它领域. 主要做的贡献如下(可能之…
首先要在caffe.proto中的LayerParameter中增加一行optional FocalLossParameter focal_loss_param = 205;,然后再单独在caffe.proto中增加 message FocalLossParameter{  optional float gamma = 1 [default = 2];                        optional float alpha = 2 [default = 0.25];  }    …
目标检测是很多计算机视觉任务的基础,不论我们需要实现图像与文字的交互还是需要识别精细类别,它都提供了可靠的信息.本文对目标检测进行了整体回顾,第一部分从RCNN开始介绍基于候选区域的目标检测器,包括Fast R-CNN.Faster R-CNN 和 FPN等.第二部分则重点讨论了包括YOLO.SSD和RetinaNet等在内的单次检测器,它们都是目前最为优秀的方法. 一.基于候选区域的目标检测器 1.1  滑动窗口检测器 自从 AlexNet 获得 ILSVRC 2012 挑战赛冠军后,用 CN…
引言 介绍 目前精度高的检测器都是基于two-stage,proposal-driven机制,第一阶段生成稀疏的候选对象位置集,第二阶段使用CNN进一步将每个候选位置分为前景或者背景以及确定其类别: 提出一个one-stage检测器可以匹配two-stage检测器在COCO上AP,例如FPN.Mask R-CNN,为了到达这一结果针对训练过程中类别不平衡这个阻碍问题,设计出一个新的loss,focal loss: R-CNN类检测器可以通过two-stage级联和启发式采用来解决class im…
作为单阶段网络,retinanet兼具速度和精度(精度是没问题,速度我持疑问),是非常耐用的一个检测器,现在很多单阶段检测器也是以retinanet为baseline,进行各种改进,足见retinanet的重要,我想从以下几个方面出发将retinanet解读下,尽己所能. retinanet出发点,目的,为什么 retinanet解决方案,做法,干什么 retinanet的效果,缺点,改什么 retinanet中的疑点(我个人的) [出发点] retinanet的出发点,作为一款单阶段检测器,开…
目标检测解决的是计算机视觉任务的基本问题:即What objects are where?图像中有什么目标,在哪里?这意味着,我们不仅要用算法判断图片中是不是要检测的目标, 还要在图片中标记出它的位置, 用边框或红色方框把目标圈起来.如下图 目前存在的一些挑战在于:除了计算机视觉任务都存在的不同视角.不同光照条件以及类内差异等之外,还存在目标旋转和尺度变化(如小目标),如何精确的目标定位,密集和遮挡条件下的目标检测,以及如何加快检测速度等. 下图是目标检测的发展历程: 以年为界,目标检测分为传统…
识别葡萄的一种虫害,比较了传统SIFT和深度学习分类,最后还做了目标检测 分类用的 MobileNet,目标检测 RetinaNet MobileNet 是将传统深度可分离卷积分成了两步,深度卷积和逐点卷积,性能基本不受影响情况下,降低计算量和参数量 RetinaNet 主要提出 focal loss,用于处理目标检测时正负样本不均衡问题,FL的作用如下 网络结构就是 FPN + sub-network + FL FPN是图像金字塔网络,对不同scale的图像进行融合和预测,主要用于目标检测,原…