目录

目标检测中有一个很重要的概念便是IOU

那么什么是IOU?

那么我们为什么要用IOU?

问题:给出两个矩形框,请计算出它们两个的IOU。

实现代码:


目标检测中有一个很重要的概念便是IOU

那么什么是IOU?

IOU是一种评价目标检测器的指标。

下图是一个示例:图中绿色框为实际框,红色框为预测框,当我们需要判断两个框之间的关系时,需要用什么指标呢?
此时便需要用到IOU。

计算IOU的公式为:

可以看到IOU是一个比值,即交并比。
在分子部分,值为预测框和实际框之间的重叠区域;

在分母部分,值为预测框和实际框所占有的总区域。

交区域和并区域的比值,就是IOU。

那么我们为什么要用IOU?

目标检测任务的结果是框的锁定,

因此当我们输入图片时,模型应该给出一个推测,也就是它认为在照片中哪些地方有物体,以及物体的范围。由此,模型推测的结果和目标之间就会出现一个误差,而评价这个误差程度的方法就是IoU。

Iou是一种评价指标,让我们能够比较不同的目标检测任务或者模型的优劣。

问题:给出两个矩形框,请计算出它们两个的IOU。

实现代码:

import cv2
import numpy as np
def 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 = [50,50,300,300]
RecB = [60,60,320,320]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()

简单理解目标检测的IOU究竟是什么相关推荐

  1. 目标检测+mAP+IoU

    目标检测+mAP+IoU IoU 的全称为交并比(Intersection over Union),通过这个名称我们大概可以猜到 IoU 的计算方法.IoU 计算的是 "预测的边框" ...

  2. 睿智的目标检测1——IOU的概念与python实例

    睿智的目标检测1--IOU的概念与python实例 学习前言 什么是IOU IOU的特点 全部代码 学习前言 神经网络的应用还有许多,目标检测就是其中之一,目标检测中有一个很重要的概念便是IOU. 什 ...

  3. Python实现一个简单的目标检测

    Python实现一个简单的目标检测 相关介绍 实验环境 基本思路 代码实现 输出结果 相关介绍 选择性搜索(Select Search)算法属于候选区域算法,用分割不同区域的办法来识别潜在的物体.在分 ...

  4. 目标检测系列1—目标检测评价指标IOU

    目标检测评价指标IOU 什么是IOU IOU的特点 全部实现 什么是IOU 神经网络的应用还有许多,目标检测就是其中之一,目标检测中有一个很重要的概念便是IOU. IOU是一种评价目标检测器的一种指标 ...

  5. 3D IoU-Net:三维目标检测预测IoU

    作者丨twn29004@知乎 来源丨https://zhuanlan.zhihu.com/p/457026913 编辑丨3D视觉工坊 论文链接:https://arxiv.org/abs/2004.0 ...

  6. 全面理解目标检测中的anchor

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源丨CV技术指南 编辑丨极市平台 导读 anchor是一个晦涩难懂 ...

  7. 深度理解目标检测(MMdetection)-HOOK机制

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|计算机视觉联盟 最近做了一段时间的目标检测,不得不说检测这 ...

  8. 《计算机视觉之目标检测》IOU详解及代码

    今天在改模型的时候刚好用到了IOU,因此将IOU说说,记录一下代码,方便以后复用. 1.什么是IOU IoU 的全称为交并比(Intersection over Union),它的计算也比较简单,就是 ...

  9. 【论文解读】R-CNN 深入浅出理解目标检测开山之作

    R-CNN是CNN处理目标检测问题的开山之作,其中的区域提议,难例挖掘,非极大值抑制等等方法沿用至今..整个打下了two-stage模型的框架.但我并不推荐研究R-CNN的实现,因为选择性搜索部分与现 ...

最新文章

  1. 使用SCSS高亮显示控件、聚焦位置
  2. python3.7 6如何安装-centos安装python3.7
  3. Python divmod方法
  4. 深入理解python之self
  5. UVALive - 3231 Fair Share(最大流+二分)
  6. java lock 信号_java各种锁(ReentrantLock,Semaphore,CountDownLatch)的实现原理
  7. 工作178:moment使用
  8. 在本地实现完成多台服务器之间文件拷贝
  9. [JAVA实现]微信公众号网页授权登录,java开发面试笔试题
  10. python的datetime模块用法_Python3.5内置模块之time与datetime模块用法实例分析
  11. vfp中treeview右键菜单_用卓语言程序把Sublime Text 3添加到和删除出右键菜单
  12. 【转】如何防止softmax函数上溢出(overflow)和下溢出(underflow)
  13. UVA 10791 最小公倍数的和
  14. codevs——1230 元素查找
  15. java while循环 计算机,Java while和do ... while循环 - 芒果文档
  16. uniapp全局修改字体
  17. 微信分享带图片,描述(php版)
  18. 谈谈网络工程师的就业方向与薪资水平
  19. Android问题集锦之三十一:Android Studio: Plugin with id 'android-library' not found
  20. canonical raft源码编译

热门文章

  1. Windows API 关于控件的自绘——文本颜色、背景颜色、字体
  2. C#设计模式之四建造者模式(Builder Pattern)【创建型】
  3. 把oracle数据导入redis,Oracle向redis数据迁移
  4. Java 埃拉托色尼筛选法
  5. 服务器上文件共享有哪些协议,Windows中的文件共享协议
  6. --nuhub--linux
  7. 2013年第四届java A组蓝桥杯省赛真题
  8. 【每日蓝桥】15、一三年省赛Java组真题“错误票据”
  9. GraphicsLab Project之基于物理的着色系统(Physical based shading)-直接光照
  10. iOS常见面试题总结