行人检测中的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. fuzhou 1075 分解素因子

    Problem 1075 分解素因子 Accept: 1331    Submit: 2523Time Limit: 1000 mSec    Memory Limit : 32768 KB Prob ...

  2. Spring Boot的快速创建

    一.利用向导快速搭建Spring Boot应用 创建一个controller package com.hoje.springboot.Controller; import org.springfram ...

  3. 用数组指针遍历数组,FOR/FOREACH遍历数组

    1. 用数组指针遍历一维数组 <?php header("Content-type:text/html;charset=utf-8"); /*用数组指针遍历一位数组的值*/ ...

  4. Tips——Flatlist的onEndReached多次触发问题解决

    一.问题 RN项目里使用Flatlist组件,上拉刷新item过多时,出现跳屏.闪屏.空白屏等问题. 二.原因 先在render函数里log了一下,发现没有re-render,判断不是网络请求或页面内 ...

  5. margin相关基本知识

    什么是 margin ? CSS 边距属性定义元素周围的空间.通过使用单独的属性,可以对上.右.下.左的外边距进行设置.也可以使用简写的外边距属性同时改变所有的外边距.——W3School 边界,元素 ...

  6. js/jq动态创建表格的行与列

    之前做了一个项目,需求是能动态创建表格行,动态创建表格的列,度了很多资料,都没有动态创建列的插件,所以自己动手写了一个 需求大概是(下图) 1.动态添加一行.2.动态添加一列,3.删除行.4.删除列, ...

  7. Two ways to invert a string

    package com.itheima_07; import java.util.Scanner; /* * 字符串反转 * 举例:键盘录入”abc” * 输出结果:”cba” * * 分析: * A ...

  8. 带你从零学ReactNative开发跨平台App开发-[react native 仿boss直聘](十三)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  9. Django 模板继承extend 标签include block

    # block 站网页位置# includ 导入网页标签# extends 导入网页模板 # common_js.html <script src="/static/plugins/j ...

  10. leetCode题解之旋转数字

    1.题目描述 X is a good number if after rotating each digit individually by 180 degrees, we get a valid n ...