IOU->GIOU->CIOU->Focal_loss
IOU->GIOU->CIOU->Focal_loss
总览

2022-1-3号补充
- 该链接下关于算是函数讨论
IOU loss

绿色代表Gtbox,黑色代表最终预测的边界框
但是去计算这三种L2损失时都是一样的(8.41),但是去计算IOU时很明显他们的IOU是不一样的---->说明L2损失不能很好的衡量两个目标边界框的重合程度
GIOU loss

上图中绿色的是真实目标边界框,红色的边界框是最终预测的边界框
外面的蓝色目标边界框就是用一个小的矩型将这两个框住-->这个蓝色目标边界框的面积=A^C,
这里的u等于蓝色和红色两个目标边界框并集的部分
- Glou缺点:当两个目标边界框是并集是GLOU退化层LOU(后面的一项退化成了0)

Diou loss

IOU: 缺点: 收敛特别的慢
GIOU:缺点: 回归的不够准确
上图中的第一行(GLOU)使用GLOU来训练网络-->让预测目标边界框尽可能地回归到真实地目标边界框
(这里的黑色代表anchor(default box),绿色是Groud truth, 蓝色是最终预测的边界框)--->目的是使蓝色边界框与绿色边界框重合在一起
(1--> 分别表示迭代40步,100步,400步)
第2行的DLOUloss,(20th--40th--120th)---->从而说明DLOU比GLOU收敛更快
观察上图的右侧--->说明IOU和GLOU不能很好的说明目标边界框重合的位置关系
- DIOU计算公式:

上图中的ρ^2 表示b和b^gt 的欧式距离
观察上图:b是预测目标边界框的中心点b^gt 是真实目标的中心点坐标, ρ^2 是中心点的距离的平方,这里的c是这两个矩形的最小外接框的对角线长度
所以,当两个目标边界框重合在一起的时候d^2=0,当这两个边界框相聚无穷远的时候d^2 趋近于c^2
Ciou loss

- 样例

Focal loss
Focal loss针对one-stage模型,正负样本差距太大会导致
2.类别不平衡
为什么在two-stage中没有类别不均衡的问题?
1.在two-stage中的第一阶段也存在不平衡问题,但是是通过第二阶段的检测来确定最终的目标的(例如faster-rcnn经过rpn后就大概2000个框了)

- Focal Loss--->针对正负样本极不平衡的情况

由上图可得例如当a=0.75时,可以增加正样本的权重,减少负样本的(背景)权重
- 引入a对于计算cross entropy的计算(这里的a是一个超参数,来平衡正负样本的权重)

由上面右边的图可得: 当该样本是好分的样本是那么(1-p_t)^r能够降低好分样本的权重
- 降低简单样本的权重,因此能够聚焦于难分的负样本,因此作者引入了(1−P_t )^γ

- 这里的a_t 是超参数

第一列代表的是预测概率
第二列代表的是真实地标签(1对应是正样本0对应的是负样本)
第三列的CE是cross entropy loss
第四列代表的是focal loss
第五列的rate代表的是CE和FL的比值
说明Focal loss--->降低易分样本的权重的功能
使用Focal loss之后更专注于学习难学习的样本,对于简单样本就降低他的学习的权重
Focal的缺点是易受噪音的干扰(所以这里可以在标注是要尽可能地正确)
IOU->GIOU->CIOU->Focal_loss的更多相关文章
- 目标检测中的IOU和CIOU原理讲解以及应用(附测试代码)
上期讲解了目标检测中的三种数据增强的方法,这期我们讲讲目标检测中用来评估对象检测算法的IOU和CIOU的原理应用以及代码实现. 交并比IOU(Intersection over union) 在目标检 ...
- IoU、GIoU、DIoU、CIoU损失函数
IoU.GIoU.DIoU.CIoU损失函数 目标检测任务的损失函数由Classificition Loss和Bounding Box Regeression Loss两部分构成.目标检测任务中近几年 ...
- YOLOV4源码详解
一. 整体架构 整体架构和YOLO-V3相同(感谢知乎大神@江大白),创新点如下: 输入端 --> Mosaic数据增强.cmBN.SAT自对抗训练: BackBone --> CSPDa ...
- Yolov4性能分析(下)
Yolov4性能分析(下) 六. 权重更新 "darknet/src/detector.c"--train_detector()函数中: ...... /* 开始训练网络 */ f ...
- 八分音符(频率)卷积算子 Octave Convolution
为什么读此系列文章? 优化数学和计算理论帮助机器学习完成问题分类: 1)按照领域划分,比如计算机视觉,自然语言处理,统计分析预测形: 2)按照算法复杂划分,比如是否是NP-Hard问题,是否需要精确解 ...
- CVPR2019目标检测方法进展综述
CVPR2019目标检测方法进展综述 置顶 2019年03月20日 14:14:04 SIGAI_csdn 阅读数 5869更多 分类专栏: 机器学习 人工智能 AI SIGAI 版权声明:本文为 ...
- CVPR2019目标检测论文看点:并域上的广义交
CVPR2019目标检测论文看点:并域上的广义交 Generalized Intersection over Union Generalized Intersection over Union: A ...
- YOLO V4的模型训练
1.YOLO V4模型训练的基本思路 所有机器学习涉及模型训练,一般都有训练集.验证集.测试集,因此需要准备数据集.有了数据集,再调用训练的算法,获取训练的结果.v3.v4模型训练方法相同. 2.YO ...
- AAAI 2020 | DIoU和CIoU:IoU在目标检测中的正确打开方式
论文提出了IoU-based的DIoU loss和CIoU loss,以及建议使用DIoU-NMS替换经典的NMS方法,充分地利用IoU的特性进行优化.并且方法能够简单地迁移到现有的算法中带来性能的提 ...
- iou与giou对比
设矩形1大小为100x100,矩形2从左上角顶点重合开始,向右滑动250个单位. c++源码(基于opencv3.4.0) float iou(const cv::Rect& r1, cons ...
随机推荐
- APICloud首款全功能集成开发工具重磅发布,彰显云端一体理念
近日,APICloud重磅推出首款云端一体的全功能集成开发工具--APICloud Studio 2.为了更深入了解这款开发工具的特性及优势,APICloud CTO 邹达针对几个核心问题做出了解答. ...
- 从零到有模拟实现一个Set类
前言 es6新增了Set数据结构,它允许你存储任何类型的唯一值,无论是原始值还是对象引用.这篇文章希望通过模拟实现一个Set来增加对它的理解. 原文链接 用在前面 实际工作和学习过程中,你可能也经常用 ...
- Android开发 之 理解Handler、Looper、MessageQueue、Thread关系
本文转自博客:http://blog.csdn.net/he90227/article/details/43567073 一. 图解与概述 首先Android中 的每一个线程都会对应一个Message ...
- hibernate 联合主键 composite-id
如果表使用联合主键(一个表有两个以上的主键),你可以映射类的多个属性为标识符属性.如:<composite-id>元素接受<key-property> 属性映射(单表映射)和& ...
- es6语法之模版字符串
//es6语法之`${}`以及vue语法 `${ }` (模版字符串)const name = '小缘' const age = 14 console.info(`大家好,我叫${name},今年${ ...
- FastAPI(六十七)实战开发《在线课程学习系统》接口开发--用户登陆接口开发
接上一篇文章FastAPI(六十六)实战开发<在线课程学习系统>接口开发--用户注册接口开发.这次我们分享实际开发--用户登陆接口开发. 我们先来梳理下逻辑 1.查询用户是否存在2.校验密 ...
- Java线程内存模型-JVM-底层原理
public class Demo1 { private static boolean initFlag=false; public static void main(String[] args) t ...
- 深入理解Kafka核心设计及原理(三):消费者
转载请注明出处:https://www.cnblogs.com/zjdxr-up/p/16114877.html 深入理解Kafka核心设计及原理(一):初识Kafka 深入理解Kafka核心设计及原 ...
- 代码源 BFS练习1
BFS练习1 http://oj.daimayuan.top/course/11/problem/147 题目 思路 四个方向进行BFS 注意:此题读写量大,cin会被卡 代码 #include &l ...
- 2021.08.09 P6225 抑或橙子(树状数组)
2021.08.09 P6225 抑或橙子(树状数组) 重点: 1.异或用法 题意: Janez 喜欢橙子!他制造了一个橙子扫描仪,但是这个扫描仪对于扫描的每个橙子的图像只能输出一个 3232 位整数 ...

