ConerNet角点网络中的角点分类损失的理解

  • 1.交叉熵损失
  • 2.Focal Loss
    • α——平衡交叉熵
    • (1−y)γ(1-y)^{\gamma}(1−y)γ简单与困难样本
  • 3.CornerNet的损失函数

最近重新例会汇报CenterNet网络时候忘了CorerNet网络那个损失函数了,因此被老师说看论文没看透,于是重新回来认真读一遍。它是由交叉熵损失进阶到Focal Loss然后再到这个损失函数的,我们当做啥都不懂从头温习吧。

1.交叉熵损失

Li=−[yilogy^i+(1−yi)log(1−y^i)]L_{i}=-[y^{i}log\widehat{y}^{i}+(1-y^{i})log(1-\widehat{y}^{i})]Li​=−[yilogy​i+(1−yi)log(1−y​i)]
  在二分类问题中,真实样本为[0,1],表示负类和正类。一般会通 过一个Sigmoid函数,输出一个概率值,反映了为正类的可能性。
  输出表征当前样本标签为1的概率:
yi=P(y=1∣x)y^{i}=P(y=1|x)yi=P(y=1∣x)
  输出样本标签为0的概率:
1−yi=P(y=0∣x)1-y^{i}=P(y=0|x)1−yi=P(y=0∣x)
极大似然的角度整合P(y∣x)=y^y⋅(1−y^)1−yP(y|x)=\widehat{y}^{y}·(1-\widehat{y})^{1-y}P(y∣x)=y​y⋅(1−y​)1−y
当真实样本为0,转化为P(y=0∣x)=1−y^P(y=0|x)=1-\widehat{y}P(y=0∣x)=1−y​
当真实样本为1,转化为P(y=1∣x)=y^P(y=1|x)=\widehat{y}P(y=1∣x)=y​
我们本质是希望P(y|x)越大越好,若y=0,1−y^1-\widehat{y}1−y​越大,y^\widehat{y}y​越小就越靠近0。若y=1,y^\widehat{y}y​越大就越靠近1。
  对数函数不影响单调性,则变成了一开始给的公式。

2.Focal Loss

目的是为了解决one_stage目标检测中正负样本比例严重失衡问题,该损失函数降低了大量简单样本在训练中占的权重。
  样本中会存来大量的easy nagetive example(对于负样本就是与0近的,对于正样本就是与1近的),它们会对loss起主要贡献作用,会主导梯度方向,这样网络就学不到什么有用信息,对object准确分类造成影响,淹没少量正样本影响

α——平衡交叉熵

为交叉熵定一个权重,其中权重因子为相反类的比重(负样本越多α越大,1-α越小)。负样本越多,给它权重越小用来降低负样本影响。
Lfl=−αlog(Pt)={−αlogy′−(1−α)log(1−y′)L_{fl}=-\alpha log\left ( P_{t} \right )=\left\{\begin{matrix} -\alpha logy{}' \\ -(1-\alpha) log(1-y{}') \end{matrix}\right.Lfl​=−αlog(Pt​)={−αlogy′−(1−α)log(1−y′)​

(1−y)γ(1-y)^{\gamma}(1−y)γ简单与困难样本

Lfl=−αlog(Pt)={−α(1−y′)γlogy′−(1−α)y′γlog(1−y′)L_{fl}=-\alpha log\left ( P_{t} \right )=\left\{\begin{matrix} -\alpha(1-y{}') ^{\gamma }logy{}' \\ -(1-\alpha) y{}'^{\gamma }log(1-y{}') \end{matrix}\right.Lfl​=−αlog(Pt​)={−α(1−y′)γlogy′−(1−α)y′γlog(1−y′)​
当y为正样本,y为简单样本则(1−y)γ(1-y)^{\gamma}(1−y)γ很小,对损失影响小;当y为负样本,yγy^{\gamma}yγ很小,对损失影响很小。简单样本的处理是为了让人关注易分错的样本。

3.CornerNet的损失函数

Ldet=−1N∑Cc=1∑Hi=1∑Wj=1{(1−Pcij)αlogPcij(1−ycij)βPcijαlog(1−y′)L_{det}=-\frac{1}{N}\sum_{C}^{c=1}\sum_{H}^{i=1}\sum_{W}^{j=1}\left\{\begin{matrix} (1-P_{cij}) ^{\alpha }logP_{cij}\\ (1-y_{cij})^{\beta } P_{cij}^{\alpha}log(1-y{}') \end{matrix}\right.Ldet​=−N1​C∑c=1​H∑i=1​W∑j=1​{(1−Pcij​)αlogPcij​(1−ycij​)βPcijα​log(1−y′)​
  保留了Focal Loss中对简单样本损失减小;对于ycij=e−x2+y22σ2y_{cij}=e^{^{-\frac{x^{2}+y^{2}}{2\sigma ^{2}}}}ycij​=e−2σ2x2+y2​,离中心点越近,ycijy_{cij}ycij​越接近1;离中心点越远,ycijy_{cij}ycij​越远离1;则近的点1−ycij1-y_{cij}1−ycij​小,远的点1−ycij1-y_{cij}1−ycij​大。与中心越近的块与正样本更相似与GT拥有相对高的IoU,负样本训练则不需要过多关注这些区域,因此降低它的权重。

ConerNet角点网络中的角点分类损失的理解相关推荐

  1. 航向角,横摆角,车辆质心侧偏角,前轮侧偏角(这又可以分为在轮胎坐标系下和车辆坐标系下的前轮侧偏角哦),前轮转角

    航向角:地面坐标系下,车辆真实运动方向(即车辆质心速度)与横轴(横轴就是全局基准X轴)的夹角.航向角为图中θ 横摆角:指车体纵轴线(也就是x轴)与大地坐标系的横轴(即X轴)的夹角. 车辆质心侧偏角:指 ...

  2. ARP欺骗实验-Wireshark-长角牛网络监控

    ARP欺骗实验-Wireshark-长角牛网络监控 ARP(Address Resolution Protocol)地址解析协议: 最直白的说法是:在IP以太网中,当一个上层协议要发包时,有了该节点的 ...

  3. OpenCV检测子像素中的角点位置

    OpenCV检测子像素中的角点位置 检测子像素中的角点位置 目标 代码 结果 检测子像素中的角点位置 目标 在本教程中,您将学习如何: 使用OpenCV函数cv :: cornerSubPix查找更精 ...

  4. C#中全角转半角以及半角转全角

    半角指的是一个字符占用一个标准字符的位置.全角指一个字符占用两个标准字符位置的状态.在C#中,我们可以通过程序的方法,将相应的半角字符串信息转换为全角类型,也可以实现全角转半角功能. 相应封装好的方法 ...

  5. php全角数字转半角,php代码中全角数字如何转半角

    php代码中全角数字转半角的方法:使用replace转换,代码为[for($i=0;$i php代码中全角数字转半角的方法: 把全角数字转为半角数字function GetAlabNum($fnum) ...

  6. 全角数字变半角php,php代码中全角数字转半角的方法

    php代码中全角数字转半角的方法 发布时间:2020-10-13 14:33:52 来源:亿速云 阅读:66 作者:小新 小编给大家分享一下php代码中全角数字转半角的方法,相信大部分人都还不怎么了解 ...

  7. STM32_FOC_4_如何获得Park变换中的θ角-即电机的电角度_Plus

    STM32_FOC_2_如何获得Park变换中的θ角-即电机的电角度_heqiunong的博客-CSDN博客 前面我们谈到,寻找零电角度对应的编码器偏置量,然后用这个零电角度的编码器偏置量和编码器读数 ...

  8. php全角半角转换,php代码中全角数字如何转半角

    php代码中全角数字转半角的方法:使用replace转换,代码为[for($i=0;$i php代码中全角数字转半角的方法: 把全角数字转为半角数字function GetAlabNum($fnum) ...

  9. matlab 求虚数相位角,在matlab中怎么计算其相位

    本文收集整理关于在matlab中怎么计算其相位的相关议题,使用内容导航快速到达. 内容导航: Q1:相位超前补偿器在matlab中是什么模块 首先介绍一下函数,angle()是求相位角,angle() ...

最新文章

  1. 刻意练习:LeetCode实战 -- Task22. 二叉树的中序遍历
  2. 《卫生信息基本数据集编制规范》等23项行业标准的通告
  3. .net Remoting(1)基本内容
  4. 刘文峰:让科技成就艺术创意
  5. Mongodb千万级数据在python下的综合压力测试及应用探讨
  6. 十一届蓝桥杯国赛 美丽的2-枚举
  7. nodejs cluster_认识node核心模块--全局对象及Cluster
  8. 存储服务器内的温度检测信号线 用线,常用的3线和4线电阻温度检测器介绍
  9. 软件测试每日例会,每日例会(二).md
  10. 【折腾系列—All In One主机】3、 iKuai软路由安装前的设置
  11. 什么技术都只懂一点的蹩脚程序员
  12. Android面试分析一:关于OKhttp详解(附带视频教程,flutter游戏全屏
  13. 海康视频下载,以及实时视频预览
  14. 悠悠web(1)-HTML基本结构
  15. 数据指标体系搭建实践
  16. Redis 集群搭建及集群管理工具
  17. A 平台I2C 的使用
  18. 老衲躺地上都中枪的“ = + ”
  19. java-仿滴滴出行 App 功能
  20. 和前司运维(张松)谈网络

热门文章

  1. freopen实现标准流重定向到文件
  2. 小程序好像文本不能复制?
  3. 一款USB to TTL模块的短接帽使用
  4. 微信小程序语音识别、语音合成(微信同声传译)使用代码实例
  5. 网络攻击窃密案高发,没有留存网络日志小心越红线
  6. mac pro换屏指南
  7. VISA操作编程资料
  8. 2 Linux环境基础开发工具
  9. TCPIP网络编程第一章踩坑过程 bind() error connect() error
  10. 中国省市区三级联的JSON格式