然后AAAI 2020来了一个新的Loss,即是本文要介绍的DIoU Loss。论文原文地址见附录。 背景 我们先来回归一下IoU Loss和GIoU Loss。...DIoU Loss 论文为了解决第一个问题,提出了Distance-IoU Loss(DIoU Loss)。 ?...DIoU Loss的优点如下: 和GIoU Loss类似,DIoU Loss在和目标框不重叠时,仍然可以为边界框提供移动方向。...DIoU Loss可以直接最小化两个目标框的距离,因此比GIoU Loss收敛快得多。...后记 关于DIoU Loss和CIoU Loss就介绍到这里了,希望对大家目标检测升点有帮助。
见文章底部 下载完整原文,公众号回复:1911.08287 论文地址:http://arxiv.org/pdf/1911.08287v1.pdf 代码:https://github.com/zzh-tju/diou...来源:天津大学 论文名称:Distance-IoU Loss: Faster and Better Learning for Bounding BoxRegression 原文作者:Zhaohui Zheng...本文提出了一个Distance-IoU (DIoU) loss,合并了预测框和目标框之间的标准化距离,在训练中比IoU和GIoU loss收敛得更快。...通过将DIoU和CIoU损失合并到YOLOv3、SSD和Faster RCNN等最新的目标检测算法,在IoU度量方面和GIoU度量方面实现了显著的性能提高。...而且DIoU很容易地应用到非最大抑制(non-maximum suppression,NMS)作为准则,进一步促进性能提升。 下面是论文具体框架结构以及实验结果: ? ? ? ? ? ? ?
论文提出了IoU-based的DIoU loss和CIoU loss,以及建议使用DIoU-NMS替换经典的NMS方法,充分地利用IoU的特性进行优化。...DIoU loss的惩罚项能够直接最小化中心点间的距离,而GIoU loss意在减少外界包围框的面积 DIoU loss保留了IoU loss和GIoU loss的一些属性: DIoU loss依然是尺寸无关的...DIoU loss也有一些独有的属性: 如图1和图3所示,DIoU loss能够直接最小化bbox的中心点距离。...最后,CIoU loss的梯度类似于DIoU loss,但还要考虑的梯度。...如图9所示,DIoU-NMS的整体性能都比原生的NMS效果要好 Conclusion ---- 论文提出了两种新的IoU-based损失函数,DIoU loss和CIoU loss:DIoU loss
直观的展示如下图所示: DIoU loss的惩罚项能够直接最小化中心点间的距离,而GIoU loss意在减少外界包围框的面积 DIoU loss保留了IoU loss和GIoU loss的一些优点: DIoU...loss与尺寸无关的,不会大尺寸产生大的loss,小尺寸产生小的loss那样; 类似于GIoU loss,DIoU loss能够为无交集的bbox提供梯度方向; 当bbox完全重合时, ,当bbox...在模拟实验中,发现DIoU loss也有一些独有的特点: DIoU loss可以直接最小化两个目标框的距离,因此比GIoU loss收敛快得多; 对于包含两个框在水平方向和垂直方向上这种情况,DIoU损失可以使回归非常快...由 定义可以看出来,损失函数会更加倾向于往重叠区域增多方向优化: 最后,CIoU loss的梯度类似于DIoU loss,但还要考虑 的梯度。...总结 论文提出了两种新的IoU-based损失函数,DIoU loss和CIoU loss:DIoU loss最小化bbox间的中心点距离,从而使得函数快速收敛;CIoU loss则在DIoU loss
进入正题~categorical_crossentropy loss(交叉熵损失函数)讲交叉熵损失函数,我想先从均方差损失函数讲起 均方差损失函数 简单来说,均方误差(MSE)的含义是求一个batch中...那么 loss=−(1∗log(0.8)+0∗log(0.2))=−log(0.8)。...Hinge loss 在网上也有人把hinge loss称为铰链损失函数,它可用于“最大间隔(max-margin)”分类,其最著名的应用是作为SVM的损失函数。 ? 二分类情况下 ?...hinge loss: 栗子②△取10 ?
DIoU loss的惩罚项能够直接最小化中心点间的距离,而GIoU loss意在减少外界包围框的面积 DIoU loss保留了IoU loss和GIoU loss的一些优点: DIoU loss与尺寸无关的...,不会大尺寸产生大的loss,小尺寸产生小的loss那样; 类似于GIoU loss,DIoU loss能够为无交集的bbox提供梯度方向; 当bbox完全重合时, ?...在模拟实验中,发现DIoU loss也有一些独有的特点: DIoU loss可以直接最小化两个目标框的距离,因此比GIoU loss收敛快得多; 对于包含两个框在水平方向和垂直方向上这种情况,DIoU损失可以使回归非常快...Complete IoU loss DIoU Loss 只是考虑了边界框的重叠面积和 ? 与 ? 中心点距离,然而anchor框和目标框之间的w,h比的一致性也是极其重要的。...总结 论文提出了两种新的IoU-based损失函数,DIoU loss和CIoU loss:DIoU loss最小化bbox间的中心点距离,从而使得函数快速收敛;CIoU loss则在DIoU loss
论文提出了IoU-based的DIoU loss和CIoU loss,以及建议使用DIoU-NMS替换经典的NMS方法,充分地利用IoU的特性进行优化。...一般地,GIoU loss不能很好地收敛SOTA算法,反而造成不好的结果 DIoU 综合上面的分析,论文提出Distance-IoU(DIoU) loss,简单地在IoU loss基础上添加一个惩罚项...,而GIoU loss意在减少外界包围框的面积 DIoU loss保留了IoU loss和GIoU loss的一些属性: DIoU loss依然是尺寸无关的,不会大尺寸产生大的loss,小尺寸产生小的...的梯度类似于DIoU loss,但还要考虑$v$的梯度。...如图9所示,DIoU-NMS的整体性能都比原生的NMS效果要好 Conclusion *** 论文提出了两种新的IoU-based损失函数,DIoU loss和CIoU loss:DIoU loss
最近在工作中也是碰到这个问题,花了些时间梳理并实践了类别不均衡问题的解决方式,主要实践了“魔改”loss(focal loss, GHM loss, dice loss 等),整理如下。...因此,就集中看下重加权 loss 改进的部分。 2. 模型层面的重加权 重加权主要指的是在 loss 计算阶段,通过设计 loss,调整类别的权值对 loss 的贡献。...比较经典的 loss 改进应该是 Focal Loss, GHM Loss, Dice Loss。...在交叉熵 loss 基础上,当正样本预测值 大于 0.5 时,需要给它的 loss 一个小的权重值 ,使其对总 loss 影响小,反之正样本预测值 小于 0.5,给它的 loss 一个大的权重值。...& DSC Loss Dice Loss 是来自文章 V-Net 提出的,DSC Loss 是香侬科技的 Dice Loss for Data-imbalanced NLP Tasks。
4、DIoU 综合上面的分析,论文提出Distance-IoU(DIoU) loss,简单地在IoU loss基础上添加一个惩罚项,该惩罚项用于最小化两个bbox的中心点距离。...DIoU loss的完全定义如公式7。...图 5 DIoU loss的惩罚项能够直接最小化中心点间的距离,而GIoU loss意在减少外界包围框的面积 DIoU loss保留了IoU loss和GIoU loss的一些属性: DIoU loss...在模拟实验中,发现DIoU loss也有一些独有的属性: 如图1和图3所示,DIoU loss能够直接最小化bbox的中心点距离。...五、总结 论文提出了两种新的IoU-based损失函数,DIoU loss和CIoU loss:DIoU loss最小化bbox间的中心点距离,从而使得函数快速收敛;CIoU loss则在DIoU loss
Contrastive Loss 在传统的siamese network中一般使用Contrastive Loss作为损失函数,这种损失函数可以有效的处理孪生神经网络中的paired data的关系。...siamese network-孪生神经网络 contrastive loss的表达式如下: ?...# tensorflow伪代码 def contrastive_loss(self, y,d,batch_size): tmp= y *tf.square(d) #tmp= tf.mul...观察上述的contrastive loss的表达式可以发现,这种损失函数可以很好的表达成对样本的匹配程度,也能够很好用于训练提取特征的模型。当y=1(即样本相似)时,损失函数只剩下 ?...与欧式距离之间的关系,因为欧式距离越大与"两个文本相似"这个事实事与愿违,那么我们就对它们惩罚越大(即loss越大)。
The hinge loss is used for "maximum-margin" classification, most notably for support vector machines...For an intended output t = ±1 and a classifier score y(raw score), the hinge loss of the prediction y...that when t and y have the same sign (meaning y predicts the right class) and |y| \ge 1, the hinge loss...ml-hinge-loss
L2 loss, L1 loss, Smooth L1 loss smooth L1 loss 相对于 L2 loss的优点: 当预测框与 ground truth 差别过大时,梯度值不至于过大; 当预测框与...C表示包含两个框的最小矩形 优点 尺度不变性 边框相交时,可以反映边框的相交情况 DIOU Loss 天津大学 AAAI 2020 论文:arxiv.org/abs/1911.08287 https:/.../github.com/Zzh-tju/DIoU-darknet GIOU Loss 的缺点 当目标框完全包裹预测框的时候,IoU和GIoU的值都一样,此时GIoU退化为IoU, 无法区分其相对位置关系...公式中分子d和分母c的说明 DIOU的优点 尺度不变性 相比于GIOU,优化距离替换优化面积,收敛速度更快。.../DIoU-darknet DIOU的问题 DIOU没有考虑到检测框的长宽比。
Huber Loss 是一个用于回归问题的带参损失函数, 优点是能增强平方误差损失函数(MSE, mean square error)对离群点的鲁棒性。...Huber Loss 定义如下?...参数 a 通常表示 residuals,写作 ,当 时,Huber loss 定义为: 是 的参数, 是真实值
DIOU Loss 和 CIOU Loss 好的目标框回归函数应该考虑三个重要几何因素:重叠面积、中心点距离,长宽比。...但是DIOU Loss没有考虑长宽比,当预测框在目标框内部时,且多个预测框的中心点的位置都一样时,这时候DIOU Loss无法区分这几个预测框的位置。 ?...因为DIOU在计算loss的时候,需要考虑边界框中心点的位置信息,所以一些重叠物体也可以回归出来。因此在重叠目标的检测中,DIOU_nms的效果优于传统的nms。...CIOU Loss的性能要比DIOU Loss好,那为什么不用CIOU_nms,而用DIOU_nms?...所以Yolov4在DIOU_Loss的基础上采用DIOU_nms的方式,而Yolov5中采用加权nms的方式。 采用DIOU_nms,对于遮挡问题,检出效果有所提升。
框回归可以分为两大类,基于x,y,w,h的回归(比如Faster R-CNN、YOLO、RetinaNet里框回归的loss),基于IoU的回归(比如IoU loss、GIoU loss、DIoU loss...、CIoU loss)。...GIoU loss关注了1,DIoU loss关注了2,CIoU loss关注了2和3。 GIoU loss缓解了IoU loss在预测框和GT框之间IoU为0,梯度为0的问题。...实验中GIoU收敛比较慢,DIoU缓解了GIoU这个问题;CIoU基于DIoU,添加了一个关于长宽比的惩罚项。...提出来之后,后续大家打了一个接一个的补丁(比如GIoU、DIoU、CIoU),甚至PP-YOLO发现把基于x、y、w、h的回归和基于IoU的回归结合起来效果更好。
Huber Loss 是一个用于回归问题的带参损失函数, 优点是能增强平方误差损失函数(MSE, mean square error)对离群点的鲁棒性。...Huber Loss 定义如下??参数 a 通常表示 residuals,写作 y−f(x),当 a = y−f(x) 时,Huber loss 定义为:?...δ 是 HuberLoss 的参数,y是真实值,f(x)是模型的预测值, 且由定义可知 Huber Loss 处处可导。各位看官老爷,如果觉得对您有用麻烦赏个子,创作不易,0.1元就行了。
print('1111',loss) print('2222',loss.data)#tensor且GPU print('3333',loss.cpu()) print('4444',loss.cpu(...).data)#tensor且CPU # print('5555',loss.cpu().data[0])#报错 IndexError: invalid index of a 0-dim tensor....Use tensor.item() to convert a 0-dim tensor to a Python number # print('6666',loss.cpu().numpy())#报错...Use var.detach().numpy() instead. print('7777',loss.cpu().detach().numpy()) print('8888',loss.cpu().data.numpy...()) print('9999',loss.cpu().item()) print('aaaa',loss.item())#后四者一样,都是把数值取出来 结果:
Neck中采用了SPP、FPN+PAN的结构, 输出端则采用CIOU_Loss、DIOU_nms操作。...优点: 与GIoU loss类似,DIoU loss( L D I o U = 1 − D I o U L_{DIoU} = 1 – DIoU LDIoU=1−DIoU)在与目标框不重叠时,仍然可以为边界框提供移动方向...DIoU loss可以直接最小化两个目标框的距离,因此比GIoU loss收敛快得多。...Yolov4中采用CIOU_Loss作为目标Bounding box的损失。...所以Yolov4在DIOU_Loss的基础上采用DIOU_nms的方式,而Yolov5中采用加权nms的方式。
所以DIOU和GIOU的提出解决了上述GIOU的问题。...(3)DIOU DIOU和CIOU都出自论文《Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression》(https...如下图所示为GIOU和DIOU的对比。 ? 红色框是DIOU损失中的预测框。可以很明显的看出,DIOU的收敛速度较GIOU更快。 那么有关DIOU的定义是怎么样的呢?...下面给出公式定义: image.png (4)CIOU CIOU作者考虑的更加全面一些,DIOU考虑到了两个检测框的中心距离。...4.小结 本文结合了四个IOU损失的理论定义,以及CIOU在YOLO V4中代码定义,详细地分析了DIOU损失和CIOU损失。
5、 DIou-soft NMS 6、 CmBN 7、 Self-Adversarial Training(自对抗训练) 8、 Elminate grid sensitivity(网格消除敏感) 9、...label smoothing bbox: 1、 loU_ loss 2、 GloU_ loss 3、DIoU_ loss 4、CIoU_ loss(yolov4采用的) Yolov4-use: 1、...引入了GIou-Loss,相当于加入了一个惩罚项 ? Diou:加入了两个框的中心点位置的约束,c是对角线的长度,分子是两个中心点的平方 ?...Ciou:是在Diou的基础上乘上了α*v,效果有时候和Diou差不多 ? ? v:是用来度量长宽比的相似性的 α:权重函数 ? 5、 DIou-soft NMS ?...DIoU-NMS 不仅考虑了检测区域的重叠,而且还考虑了检测区域间的中心点距离。 ? 6、 CmBN ? ?
领取专属 10元无门槛券
手把手带您无忧上云