文章目录

  • 1 引言
  • 2 问题分析
  • 3 IoU Loss
  • 4 代码演示IoU
  • 5 感谢链接

1 引言

目标检测任务的损失函数由Classificition Loss和Bounding Box Regeression Loss两部分构成。

Bounding Box Regression Loss Function的演进路线是:
Smooth L1 Loss --> IoU Loss --> GIoU Loss --> DIoU Loss --> CIoU Loss

之前写到了Smooth L1 Loss,本文介绍IoU Loss。

2 问题分析

Iou loss提出前,大家主要通过4个坐标点独立回归Bounding box(bbox,边界框),这样做的缺点有:

  • 目标检测的评价方式是使用IoU,而实际回归坐标框的时候使用4个坐标点,二者是不等价的,如下图所示;
  • L1或者L2 Loss相同的框,其IoU 不是唯一的
  • 通过4个坐标点回归坐标框的方式,是假设4个点相互独立的,没有考虑其相关性,实际4个坐标点具有一定的相关性
  • 基于L1和L2的距离的loss对于尺度 不具有 不变性



图(a)中的三组框具有相同的L2 Loss,但其IoU差异很大;
图(b)中的三组框具有相同的L1 Loss,但IoU 同样差异很大。
说明L1,L2这些Loss用于回归任务时,不能等价于最后用于评测检测的IoU。

3 IoU Loss

针对上面的问题,旷世在2016年提出IoU Loss,将4个点构成的box看成一个整体进行回归。

上图展示了L2 Loss和IoU Loss 的求法,图中的红色点表示目标检测网络结构中Head部分上的点(i, j),绿色的框表示Ground truth框, 蓝色的框表示Prediction的框。

IoU loss的定义如上,先求出2个框的IoU,然后再求-ln(IoU)。其中IoU是真实框和预测框的交集和并集之比,当它们完全重合时,IoU就是1。

对于Loss来说,越小越好,loss越小说明他们重合度高。所以,IoU Loss也可以写为1-IoU

IoU loss能够更好的反应重合程度,具有尺度不变形。但当框不相交,使用1-IoU作为loss时,loss为0。

4 代码演示IoU

import cv2
import numpy as npdef CountIOU(RecA, RecB):xA = max(RecA[0], RecB[0])yA = max(RecA[1], RecB[1])xB = min(RecA[2], RecB[2])yB = min(RecA[3], RecB[3])# 计算交集部分面积interArea = max(0, xB - xA + 1) * max(0, yB - yA + 1)# 计算预测值和真实值的面积RecA_Area = (RecA[2] - RecA[0] + 1) * (RecA[3] - RecA[1] + 1)RecB_Area = (RecB[2] - RecB[0] + 1) * (RecB[3] - RecB[1] + 1)# 计算IOUiou = interArea / float(RecA_Area + RecB_Area - interArea)return iouimg = np.zeros((512,512,3), np.uint8)
img.fill(255)# 分别是矩形左上、右下的坐标
RecA = [30,30,300,300]
RecB = [60,60,350,340]cv2.rectangle(img, (RecA[0],RecA[1]), (RecA[2],RecA[3]), (0, 255, 0), 5)
cv2.rectangle(img, (RecB[0],RecB[1]), (RecB[2],RecB[3]), (255, 0, 0), 5)IOU = CountIOU(RecA,RecB)
font = cv2.FONT_HERSHEY_SIMPLEXcv2.putText(img,"IOU = %.2f"%IOU,(130, 190),font,0.8,(0,0,0),2)cv2.imshow("image",img)
cv2.waitKey()
cv2.destroyAllWindows()

5 感谢链接

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

【IoU loss】IoU损失函数理解相关推荐

  1. NeurIPS 2021 助力YOLOv5涨点 Alpha-IoU:IoU Loss大一统

    经过测试,代码与Yolov5基本一致, 模型也是14m,精度没有大幅明显提升. Alpha-IoU:A Family of Power Intersection over Union Losses f ...

  2. L1/L2/smooth_l1_loss/center_loss+Dice Loss+focal loss+各种IOU loss+kl散度

    一.L1/L2/smooth_l1_loss/center_loss公式与代码 1.公式 L2公式: smooth_L1公式: 2.三种函数numpy代码实现 import numpy as np i ...

  3. α-IoU | 再助YOLOv5登上巅峰,造就IoU Loss大一统

    点击上方"计算机视觉工坊",选择"星标" 干货第一时间送达 作者丨 ChaucerG 编辑丨集智书童 在本文中,作者将现有的基于IoU Loss推广到一个新的P ...

  4. IoU loss 系列

    目录 IoU 之前 IoU loss GIoU loss DIoU & DIoU NMS CIoU IoU 之前 IoU loss提出前,大家主要通过4个坐标点独立回归Bounding box ...

  5. 【Smooth L1 Loss】Smooth L1损失函数理解

    文章目录 1 引言 2 L1 Loss 3 L2 Loss 4 Smooth L1 Loss 5 曲线对比分析 6 参考链接 1 引言 目标检测任务的损失函数由Classificition Loss和 ...

  6. 目标检测算法——YOLOv5/YOLOv7改进|将IOU Loss替换为EIOU Loss

    >>>深度学习Tricks,第一时间送达<<< 论文题目:<Focal and Efficient IOU Loss for Accurate Boundin ...

  7. IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

    边界框回归(BBR)的损失函数对于目标检测至关重要.它的良好定义将为模型带来显著的性能改进.大多数现有的工作假设训练数据中的样本是高质量的,并侧重于增强BBR损失的拟合能力. 一.L2-norm 最初 ...

  8. 【GIoU loss】GIoU loss损失函数理解

    文章目录 1 引言 2 问题分析 3 GIoU Loss计算过程 4 IoU和GIoU对比分析 5 代码实现IoU与GIoU的对比可视化 6 感谢链接 1 引言 目标检测任务的损失函数由Classif ...

  9. IoU Loss汇总

    IoU Loss 论文 UnitBox: An Advanced Object Detection Network 解决的问题 用\(l_{2}\) loss作为边框回归loss的两个缺点: 在\(l ...

最新文章

  1. Touch Event
  2. 看图说OpenGL之二之投影矩阵求法
  3. HTML属性——180226
  4. bugku—— 代码审计 做题记录
  5. redis 源码阅读
  6. 【渝粤教育】国家开放大学2018年春季 0175-21T社会调查研究与方法 参考试题
  7. 一周只指定一个主要目标,当主要目标完成时,就已经完成了任务的80%
  8. Access数据库迁移到MS SQL Server数据库
  9. 跟涛哥(张开涛)聊聊技术人的发展
  10. vue项目引入阿里巴巴矢量图标库图标
  11. mac idea jrebel 激活
  12. mysql 存储过程 对象_【MYSQL笔记3】MYSQL过程式数据库对象之存储过程的调用、删除和修改...
  13. android 转发朋友圈,微信怎么转发朋友圈 转发朋友圈方法详细教程
  14. scrapy爬虫框架实现简单案例:爬取阳光平台内容
  15. WEB开发(2) Servlet
  16. 牛顿二项式定理(广义二项式定理)
  17. 搭建一套直播平台需要多少钱
  18. 【干货】APP解构重构,让你用户不再流失
  19. U盘在电脑上读不出来是什么原因 U盘在电脑上读不出来怎么修复
  20. 一款模拟养成类游戏的策划大纲

热门文章

  1. 自制p站小姐姐图片返回api.
  2. golang 时间missing Location in call to Date
  3. Couldn‘t flush user prefs: java.util.prefs.BackingStoreException: Couldn‘t get file lock
  4. 机器人视觉分析算法_机器视觉处理:目标检测和跟踪
  5. Matlab中关于数值积分及符号积分的讨论
  6. 数据结构与算法—前导
  7. 国考计算机三级嵌入式,英语初级视频学习
  8. 计算机开机图片怎么换,如何把电脑开机画面换成自己的图片?
  9. 春招笔记(十一)--设计模式
  10. 服务器怎么连接?服务器远程连接图文教程Windows如何远程连接服务器?Linux服务器如何远程登录?远程连接服务器命令