来源:天津大学 论文名称:Distance-IoU Loss: Faster and Better Learning for Bounding BoxRegression 原文作者:Zhaohui Zheng...本文提出了一个Distance-IoU (DIoU) loss,合并了预测框和目标框之间的标准化距离,在训练中比IoU和GIoU loss收敛得更快。...此外,本文还总结了边界盒回归中的三个几何因素(重叠面积、中心点距离和纵横比),并以此为基础提出了一个Complete IoU(CIoU)损失,从而加快了收敛速度,提高了性能。...通过将DIoU和CIoU损失合并到YOLOv3、SSD和Faster RCNN等最新的目标检测算法,在IoU度量方面和GIoU度量方面实现了显著的性能提高。
进入正题~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 ?
最近在工作中也是碰到这个问题,花了些时间梳理并实践了类别不均衡问题的解决方式,主要实践了“魔改”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。
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越大)。
新框架 作者定义了本文提出的基于DIoU、CIoU损失函数如下: ? 其中 ? 表示预测框 ? 和 ? 间的惩罚项。 Distance-IoU Loss ?...基于此,作者提出了Complete-IoU Loss。其损失函数定义如下: ? 上述损失函数为CIoU的损失,通过公式可以很直观的看出,CIoU比DIoU多出了 ? 和 ? 这两个参数。...最后,CIoU loss的梯度类似于DIoU loss,但还要考虑 ? 的梯度。w,h取值范围[0,1]的情况下, ? 的值通常很小,会导致梯度爆炸,因此在实现时将 ? 替换成1。...基于IoU指标,在SSD-FPN上进行实验对比,因为本身模型已经精度很好了,DIoU loss和CIoU的效果不是很显著,但仍有提升。...总结 论文提出了两种新的IoU-based损失函数,DIoU loss和CIoU loss:DIoU loss最小化bbox间的中心点距离,从而使得函数快速收敛;CIoU loss则在DIoU 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
CIoU loss,以及建议使用DIoU-NMS替换经典的NMS方法,充分地利用IoU的特性进行优化。...另外,论文考虑bbox的三要素,重叠区域,中心点距离和长宽比,进一步提出了Complete IoU(CIoU) loss,收敛更快,效果更好。...2、Complete IoU loss 论文考虑到bbox回归三要素中的长宽比还没被考虑到计算中,因此,进一步在DIoU的基础上提出了CIoU。...最后,CIoU loss的梯度类似于DIoU loss,但还要考虑的梯度。在长宽在的情况下,的值通常很小,会导致梯度爆炸,因此在实现时将替换成1。...五、总结 论文提出了两种新的IoU-based损失函数,DIoU loss和CIoU loss:DIoU loss最小化bbox间的中心点距离,从而使得函数快速收敛;CIoU loss则在DIoU loss
基于此,作者提出了Complete-IoU Loss。其损失函数定义如下: 上述损失函数为CIoU的损失,通过公式可以很直观的看出,CIoU比DIoU多出了 和 这两个参数。...由 定义可以看出来,损失函数会更加倾向于往重叠区域增多方向优化: 最后,CIoU loss的梯度类似于DIoU loss,但还要考虑 的梯度。...实验结果 在YOLOv3上进行实验对比,DIoU loss和CIoU的效果都很显著,mAP分别提升3.29%和5.67%,而AP75则分别提升6.40%和8.43%,而使用DIoU-NMS则能进一步提升...上图对GIoU和CIoU的结果进行了可视化,可以看到,在中大型物体检测上,CIoU的结果比GIoU要准确。...总结 论文提出了两种新的IoU-based损失函数,DIoU loss和CIoU loss:DIoU loss最小化bbox间的中心点距离,从而使得函数快速收敛;CIoU loss则在DIoU loss
论文提出了IoU-based的DIoU loss和CIoU loss,以及建议使用DIoU-NMS替换经典的NMS方法,充分地利用IoU的特性进行优化。...最后,CIoU loss的梯度类似于DIoU loss,但还要考虑的梯度。...在SSD-FPN上进行实验对比,因为本身模型已经精度很好了,DIoU loss和CIoU的效果不是很显著,但仍有提升。...如图9所示,DIoU-NMS的整体性能都比原生的NMS效果要好 Conclusion ---- 论文提出了两种新的IoU-based损失函数,DIoU loss和CIoU loss:DIoU loss...最小化bbox间的中心点距离,从而使得函数快速收敛;CIoU loss则在DIoU loss的基础上加入长宽比的考量,能够进一步地快速收敛和提升性能。
(3)DIOU DIOU和CIOU都出自论文《Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression》(https...= 2.0 - 1.0 * label_xywh[:, :, :, :, 2:3] * label_xywh[:, :, :, :, 3:4] / (input_size ** 2) ciou_loss...= respond_bbox * bbox_loss_scale * (1 - ciou) # 1. respond_bbox作为mask,有物体才计算xxxiou_loss (2)置信度损失...(论文里称之为ignore) 最后对上述的三个损失取个平均即可,如下 ciou_loss = tf.reduce_mean(tf.reduce_sum(ciou_loss, axis=[1, 2,...3, 4])) # 每个样本单独计算自己的ciou_loss,再求平均值 conf_loss = tf.reduce_mean(tf.reduce_sum(conf_loss, axis=[1
Huber Loss 是一个用于回归问题的带参损失函数, 优点是能增强平方误差损失函数(MSE, mean square error)对离群点的鲁棒性。...Huber Loss 定义如下?...参数 a 通常表示 residuals,写作 ,当 时,Huber loss 定义为: 是 的参数, 是真实值
论文提出了IoU-based的DIoU loss和CIoU loss,以及建议使用DIoU-NMS替换经典的NMS方法,充分地利用IoU的特性进行优化。...另外,论文考虑bbox的三要素,重叠区域,中心点距离和长宽比,进一步提出了Complete IoU(CIoU) loss,收敛更快,效果更好 Analysis to IoU and GIoU Losses...VOC [1240] 在SSD-FPN上进行实验对比,因为本身模型已经精度很好了,DIoU loss和CIoU的效果不是很显著,但仍有提升。...如图9所示,DIoU-NMS的整体性能都比原生的NMS效果要好 Conclusion *** 论文提出了两种新的IoU-based损失函数,DIoU loss和CIoU loss:DIoU loss...最小化bbox间的中心点距离,从而使得函数快速收敛;CIoU loss则在DIoU loss的基础上加入长宽比的考量,能够进一步地快速收敛和提升性能。
CIoU Loss 为了回答第二个问题,作者提出了Complete-IoU Loss。一个好的目标框回归损失应该考虑三个重要的几何因素:重叠面积,中心点距离,长宽比。...基于这一点,论文提出了CIoU Loss。 ? 从上面的损失可以看到,CIoU比DIoU多了和这两个参数。其中是用来平衡比例的系数,是用来衡量Anchor框和目标框之间的比例一致性。...CIoU类似。 实验结论 Table1给出了分别在YOLOv3上使用IoU Loss,GIoU Loss,DIoU Loss, CIoU Loss获得的AP值。...可以看到CIoU Loss涨了快3个点,证明了这种Loss的有效性。遗憾的是论文没有给出其他的对比数据了,究竟有没有用欢迎大家去试,个人认为这种带有工程性Trick的论文是最值得去尝试的。 ?...和CIoU Loss就介绍到这里了,希望对大家目标检测升点有帮助。
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())#后四者一样,都是把数值取出来 结果:
标签平滑(Label Smoothing) 边界框回归的损失函数 IOU Loss GIOU Loss DIOU Loss CIOU Loss Bag of specials 增强感受野 SPP ASPP...(2020)->CIoU Loss(2020) 我们从最常用的IOU_Loss开始,进行对比拆解分析,看下Yolov4为啥要选择CIOU_Loss。...DIOU Loss 和 CIOU Loss 好的目标框回归函数应该考虑三个重要几何因素:重叠面积、中心点距离,长宽比。...CIOU Loss的性能要比DIOU Loss好,那为什么不用CIOU_nms,而用DIOU_nms?...因为CIOU_loss,是在DIOU_loss的基础上,添加了一个的影响因子,包含groundtruth标注框的信息,在训练时用于回归。
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元就行了。
原文链接:Hinge loss Hinge loss 在机器学习中,hinge loss常作为分类器训练时的损失函数。hinge loss用于“最大间隔”分类,特别是针对于支持向量机(SVM)。...,hinge loss的结果为L(y)=0,但是当出现错误的分类是,hinge loss的L(y)与y呈线性关系(一个线性误差)。...扩展 当然有时二分类的SVM通常会以一对一或者一对多的形式扩展到多分类的任务,为了实现这个目的,也可以扩展hinge loss函数。现在已经有多种hinge loss的不同的变化形式。...优化 hinge loss是一个凸函数,所以,很多在机器学习中涉及到的凸优化方法同样适用于hinge loss。它是不可微的(不连续啊),但是对于线性SVM( ?...上图中为hinge loss(蓝)和0/1损失(绿)。注意,hinge loss函数惩罚了tyloss不为0),这个特点和SVM中的分类间隔的概念是相对应的。
^{\frac {1}{p}} = \max(|x_1-y_1|,…,|x_n-y_n|) 损失函数 0 - 1 损失函数 gold standard image.png 对数损失函数 Log Loss...cross entropy error image.png 对 LR 而言, 把它的条件概率分布方程 image.png 带入上式, 即可得到 LR 的对数损失函数 平方损失函数 Square Loss...image.png 其中 $$Y-f(X)$$ 表示残差, 整个式子表示残差平方和, Residual Sum of Squares 指数损失函数 Exponential Loss image.png...与比平方损失相比,它对 outlier 更加不敏感 对于回归问题 image.png 其中 $$|a|=y-f(x)$$ 对分类问题 image.png 下图是 huber loss(绿色)与平方损失...以 w∈R2w\in \mathbb R^2w∈R2 为例,椭圆形是 loss 的损失等高线,灰色区域是约束区域,等高线与约束区域相交的地方,就是最优解。
the center loss...LP loss...: x x是同一label下,距离样本 最近的 个样本(但是感觉这样会引起小团体的问题),按作者的说法是,LP loss相较于ceter loss更适用于多模态的分布情况,而不是说把所有样本往单一的中心点去靠拢...Island loss...: 考虑到不同类之间可能会有重叠,作者提出了Island loss,缩小类内距的同时,增大类间距。
1) 两个分布很接近,但是与0和1不接近,loss仍然很大,只适合分类 2)mse只计算两个差异,做回归用的,数据相同,bceloss比mseloss大。...3)SmoothL1Loss比mseloss小 4) bceloss收敛比较快 5)bceloss input必须是0-1之间,targets可以不是 6)target 是0.5 input 是0.4与...0.6,loss无正负之分,只有大小之分。...('self',x) x= loss_fn(conf_data, conf_mask).item() print('mse',x) loss_fn = torch.nn.BCELoss() # reduce...=False, size_average=False) x = loss_fn(conf_data, conf_data).item() print('self',x) x = loss_fn(conf_data
领取专属 10元无门槛券
手把手带您无忧上云