行人检测中的mr,fppi这些指标???

3种距离:欧式距离、SmoothL1距离、IoU距离

总的loss公式:3个部分组成Lattr是预测框和匹配的gt尽可能接近,Lrepgt是预测框和周围没匹配的gt尽可能远离 ,Lrepbox是预测框和周围的其他预测框尽可能远离

整体上loss的计算是针对每个正样本的预测框

p+是所有的正样本proposal的集合

Lattr是为了公平的对比,依旧采用了smoothL1

  1.Lrepgt中G的公式如下:

  也就是说G是除了与预测框匹配的gt意外所有其他剩下的gt中与预测框iou最大的gt

  2.Lrepgt采用的smoothLn和iog

  为什么使用iog、iou+smoothLn,而不使用smoothl1?

  原论文中说:smoothl1是让预测框和遮挡的gt越来越远,但iog、iou+smoothLn是缩小两者的交集,更符合motivation

  为什么采用iog,而不使用iou?

  首先明确gt框的大小和位置是不变的,如果使用iou,可能会通过放大预测框的方式来降低loss,也就是通过增大并集,iou的分母部分(当然这种情况也可能分子也会增加,但最大的可能是分子的增加赶不上分母的增加);使用iog,就只能优化分子部分,也就是两个框的交集部分,这也是作者的目的(当然最想要的是预测框远离另一个gt,但也可能通过缩小预测框达到这个目的,不过总比iou这种好)。总的来说,iou会比iog多一个优化的变量,让可能的优化的目标走偏,并且iog更符合作者的motivation

  进一步问题:为什么不是远离,而是让两者的交集越来越小?

这个loss的目的是使预测框远离相邻不是预测同一真实目标的预测框。首先根据真实目标框GT将P_+分为不同的子集,,然后使得来自与不同子集的proposal的overlap尽可能的小。分母中的示性函数,其实就是iou大于0就直接输出结果,iou等于0就输出0,表示的意思是:必须是有交集的预测框才计入损失值,如果两个proposal完全不相邻,则不计入。

这个为什么能解决nms的问题???

delta越小,对异常值就越不敏感。iou或者iog的取值在[0,1]之间,一般来说1这种就算异常值了,可以看到delta越小,取值就越小,并且相对于其他值变化不是那么大,这样就越不敏感了。

这其实类似于smoothl1跟l2-loss的对比关系,smoothl1相对于l2-loss对异常值更加不敏感。

正如Smooth_l1不会对特别大的偏差给予过大的penalty,Smooth_ln对于很小接近于1的输入也不会像原始的ln函数一样给予负无穷那么大的loss,从而可以稳定训练过程,而且对抗一些outlier。

RepBox相对于RepGT有更多的outliers,所以应该弱化其对σ的敏感性,论文实验中RepGT和RepBox分别在σ=1和σ=0取得更好的效果。

当delta为1时,就跟iou-loss一样,-ln(1-IoG)  (unitbox)

https://zhuanlan.zhihu.com/p/43655912

https://www.zhihu.com/search?type=content&q=repulsion%20loss

https://blog.csdn.net/weixin_42615068/article/details/82391354

repulsion-loss的一个实现:https://github.com/JegernOUTT/repulsion_loss/blob/master/repulsion_loss.py

repulsion-loss的更多相关文章

  1. 目标检测——深度学习下的小目标检测(检测难的原因和Tricks)

    小目标难检测原因 主要原因 (1)小目标在原图中尺寸比较小,通用目标检测模型中,一般的基础骨干神经网络(VGG系列和Resnet系列)都有几次下采样处理,导致小目标在特征图的尺寸基本上只有个位数的像素 ...

  2. caffe的python接口学习(7):绘制loss和accuracy曲线

    使用python接口来运行caffe程序,主要的原因是python非常容易可视化.所以不推荐大家在命令行下面运行python程序.如果非要在命令行下面运行,还不如直接用 c++算了. 推荐使用jupy ...

  3. 基于Caffe的Large Margin Softmax Loss的实现(中)

    小喵的唠叨话:前一篇博客,我们做完了L-Softmax的准备工作.而这一章,我们开始进行前馈的研究. 小喵博客: http://miaoerduo.com 博客原文:  http://www.miao ...

  4. 基于Caffe的Large Margin Softmax Loss的实现(上)

    小喵的唠叨话:在写完上一次的博客之后,已经过去了2个月的时间,小喵在此期间,做了大量的实验工作,最终在使用的DeepID2的方法之后,取得了很不错的结果.这次呢,主要讲述一个比较新的论文中的方法,L- ...

  5. loss function

    什么是loss?   loss: loss是我们用来对模型满意程度的指标.loss设计的原则是:模型越好loss越低,模型越差loss越高,但也有过拟合的情况.   loss function: 在分 ...

  6. caffe中accuracy和loss用python从log日志里面获取

    import re import pylab as pl import numpy as np if __name__=="__main__": accuracys=[] loss ...

  7. Derivative of the softmax loss function

    Back-propagation in a nerual network with a Softmax classifier, which uses the Softmax function: \[\ ...

  8. How To Handle a Loss of Confidence in Yourself

    Do you feel like you've lost confidence in yourself? Have you had strong self doubts? Perhaps you we ...

  9. loss function与cost function

    实际上,代价函数(cost function)和损失函数(loss function 亦称为 error function)是同义的.它们都是事先定义一个假设函数(hypothesis),通过训练集由 ...

  10. Fragment提交transaction导致state loss异常

    下面自从Honeycomb发布后,下面栈跟踪信息和异常信息已经困扰了StackOverFlow很久了. java.lang.IllegalStateException: Can not perform ...

随机推荐

  1. mysql安装配置、主从复制配置详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/8213723.html 邮箱:moyi@moyib ...

  2. java工程师_基础_阶段一_HTML笔记篇

    一.了解HTML语言 html:超文本标记语言. 二.HTML整体结构<html> <head> </head> <body> </body> ...

  3. js返回一组日期中最近连续的天数

    用js获取一组日期(并把当天算入)中连续的天数 刚开始可能想到单纯的比较日期大小判断连续, 而又有大小月,平闰年这些因素,还是时间戳来的安全; 首先得有一组日期,比如: var arr = [ '20 ...

  4. 全功能开发团队(FSD)

  5. oracle 网络配置 及 pl/sql 连接配置

    oracle网络配置有三个文件,它们都在D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN 这个文件夹下面,有sqlnet.ora.l ...

  6. private 与 super

    public class Person { private String name; private int age; } public class Student extends Person { ...

  7. CSS 小结笔记之清除浮动

    浮动是一个非常好用的属性,但是有时会出现一些问题,需要进行清除浮动.例如 <!DOCTYPE html> <html lang="en"> <head ...

  8. Linux服务器安装JDK运行环境教程

    小Alan过些天可能就要去上海出差了,出差干啥?当然是部署项目上线咯!所以呢必须自己学会在Linux服务上面安装部署项目运行环境的啦!今天先跟大家聊聊最基本的jdk运行环境部署安装,后续再跟大家分享一 ...

  9. leetCode题解之Contains Duplicate

    1.题目描述 2.题目分析 直接使用hashTable 计数,超过1 则返回true,最后返回 false即可. 3.代码 bool containsDuplicate(vector<int&g ...

  10. python之线程、进程

    线程语法 class Thread(_Verbose): """A class that represents a thread of control. This cla ...