当前位置:网站首页>Classificition Loss in target detection
Classificition Loss in target detection
2022-08-08 10:32:00 【51CTO】
Classificition Loss
PyTorch: https://github.com/shanglianlm0525/CvPytorch
目标检测中的Bounding Box Regression Loss
目标检测中的Classificition Loss
目标检测任务的损失函数由Classificition Loss和Bounding Box Regeression Loss两部分构成.本文介绍目标检测任务中近几年来Classificition Loss的演变过程
1 Cross Entropy
Cross-entropy is expressed as a true probability distributionp的函数和预测概率分布q的函数.
其中p表示真实值,在这个公式中是one-hot形式;q是预测值,在这里假设已经是经过softmax后的结果了.
PyTorch代码:
2 K-L Divergence
Kullback-Leibler Divergence,即K-L散度,是一种量化两种概率分布P和Q之间差异的方式,又叫相对熵.
KL散度 = 交叉熵 - 熵
PyTorch代码:
3 Dice Loss
Dice LossA function for evaluating a measure of similarity between two samples,取值范围为0~1,值越大表示两个值的相似度越高.
Laplace smoothing:为了防止分母项为0,一般我们会在分子和分母处同时加入一个很小的数作为平滑系数,也称为拉普拉斯平滑项.
优点:
- 有益于正负样本不均衡的情况,侧重于对前景的挖掘;
- 训练过程中,在有较多小目标的情况下容易出现振荡;
- 极端情况下会出现梯度饱和的情况
PyTorch代码:
4 Focal loss
Focal loss则是聚焦于训练一个困难样本的稀疏集,通过直接在标准的交叉熵损失基础上做改进,引进了两个惩罚因子,来减少易分类样本的权重,使得模型在训练过程中更专注于困难样本.
γ称作focusing parameter,γ>=0.
called the modulation system(modulating factor).
优点:
- 当一个样本被分错的时候,pt是很小的(Please combine the formula2,比如当y=1时,p要小于0.5is misclassification,此时pt就比较小,反之亦然),因此调制系数就趋于1,也就是说相比原来的loss是没有什么大的改变的.当pt趋于1的时候(此时分类正确而且是易分类样本),调制系数趋于0,也就是对于总的loss的贡献很小.
- 当γ=0的时候,focal loss就是传统的交叉熵损失,当γ增加的时候,调制系数也会增加.
PyTorch代码:
5 Tversky loss
Tversky系数主要用于描述两个特征(集合)之间的相似度.
其中,α + β 的取值我们一般会令其1.
当设置α=β=0.5,此时Tversky系数就是Dice系数.
当设置α=β=1时,此时Tversky系数就是Jaccard系数.
因此,我们只需控制 α 和 β The balance between false negatives and false positives can be controlled.如增大 β 的取值,可以增大Recall值.
PyTorch代码:
参考资料:
1 一文看尽深度学习中的15种损失函数
2 Focal Loss for Dense Object Detection
3 Tversky loss function for image segmentation using 3D fully convolutional deep networks
边栏推荐
猜你喜欢
idea安装步骤
Hystrix熔断器
"Weekly Translate Go" This time we have something different!-- "How to Code in Go" series launched
go调度原理
"Inversion of Control" and "Dependency Inversion", can't you tell the difference?
在SAP分析云里根据业务数据绘制词云(Word Cloud)
开源一夏 | 牛plus,多层嵌套动态JSON该如何解析总结
上海控安SmartRocket系列产品推介(二):SmartRocket Modeler可视化建模开发工具
Dubins curve study notes and related thinking
带你深入理解3.4.2的版本更新,对用户带来了什么?
随机推荐
Mobile/Embedded-CV Model-2018: MobileFaceNets
牛客收藏上万的神作!这份阿里P8手写的MySQL主从原理手册真的牛
TCP通信
.net开发中,C# DateTime.Now 取出的时间含有星期解决办法
利用图像二维熵实现视频信号丢失检测(Signal Loss Detection)
go web之响应用户
Redis 定长队列的探索和实践
使用C# 调用api接口获取法定节假日(百度api)
彻底弄清楚session,cookie,sessionStorage,localStorage的区别及应用场景(面试向)
Hystrix熔断器
ReentrantLock源码分析和使用案例
SCCM2012R2管理之版本更新
Leetcode 700. 二叉搜索树中的搜索
搞清楚系统到底怎样支撑高并发以及架构图的绘制(面试向)
What is intrinsic safety?
2022.8.6 模拟赛
idea installation steps
实例存储之shelve
嵌入式C编程中错误异常该如何统一处理?
MySQL源码解析之执行计划