行人检测中的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. sql or语法

    1.mysql中or语法的使用,在mysql语法中or使用注意点. 项目遇到坑,遍历发放奖励数据查询错误!!! $sql = 'SELECT * FROM `vvt_spread_doubleegg_ ...

  2. win8.1怎么安装iis

    进入系统后,在左下角处点鼠标右键,再点击[程序和功能]如下图所示:       2 进入程序和功能界面后,点击[启用或关闭Windows功能] 在WINDOWS功能对话框中找到[internet in ...

  3. LOJ#6491. zrq 学反演(莫比乌斯反演 杜教筛)

    题意 题目链接 Sol 反演套路题? 不过最后一步还是挺妙的. 套路枚举\(d\),化简可以得到 \[\sum_{T = 1}^m (\frac{M}{T})^n \sum_{d \ | T} d \ ...

  4. 纯web实现游记类手机端应用

    初衷 当初的一个学习框架项目,采用sui框架实现的一套手机端页面.今天清理github的时候重新整理了一下,因为设计的确实不错嘛,拿出来大家一起学习...哈哈 说明 采用sui框架 纯html/css ...

  5. 应用ArcGIS Server JavaScript API实现地图卷帘效果实现

    var maskDynamicMapServiceLayer = null; var maskDynamicMapServiceLayerDiv = null; var pointNumb = 0; ...

  6. 调用Android中的软键盘

    我们在Android提供的EditText中单击的时候,会自动的弹 出软键盘,其实对于软键盘的控制我们可以通过InputMethodManager这个类来实现.我们需要控制软键盘的方式就是两种一个是像 ...

  7. ciscn2018-pwn-wp

    前言 2018全国大学生网络安全竞赛 ,做了2 道题 task_supermarket change_desc 里面调用 realloc 会触发 uaf 利用 uaf 修改 obj->desc_ ...

  8. 类和类的关系——java

    类(对象)之间的关系   1.继承关系(子类自动拥有了父类所有的成员变量和普通方法,如果父类的成员变量和普通方法是private 的,那么子类只有拥有权,没有使用权.父类的构造方法在子类的构造方法执行 ...

  9. 【转】grep -v grep

    1.grep 是查找含有指定文本行的意思,比如grep test 就是查找含有test的文本的行 2.grep -v 是反向查找的意思,比如 grep -v grep 就是查找不含有 grep 字段的 ...

  10. 回归JavaScript基础(九)

    主题:理解对象,创建对象. 小明是一名程序猿,也是一条单身狗!他常常自嘲:每天都会有很多对象,但却没有女朋友! 多么痛的领悟.哈哈,目前比较流行的编程语言都是面向对象的语言(Object-Orient ...