简单理解目标检测的IOU究竟是什么
目录
目标检测中有一个很重要的概念便是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究竟是什么相关推荐
- 目标检测+mAP+IoU
目标检测+mAP+IoU IoU 的全称为交并比(Intersection over Union),通过这个名称我们大概可以猜到 IoU 的计算方法.IoU 计算的是 "预测的边框" ...
- 睿智的目标检测1——IOU的概念与python实例
睿智的目标检测1--IOU的概念与python实例 学习前言 什么是IOU IOU的特点 全部代码 学习前言 神经网络的应用还有许多,目标检测就是其中之一,目标检测中有一个很重要的概念便是IOU. 什 ...
- Python实现一个简单的目标检测
Python实现一个简单的目标检测 相关介绍 实验环境 基本思路 代码实现 输出结果 相关介绍 选择性搜索(Select Search)算法属于候选区域算法,用分割不同区域的办法来识别潜在的物体.在分 ...
- 目标检测系列1—目标检测评价指标IOU
目标检测评价指标IOU 什么是IOU IOU的特点 全部实现 什么是IOU 神经网络的应用还有许多,目标检测就是其中之一,目标检测中有一个很重要的概念便是IOU. IOU是一种评价目标检测器的一种指标 ...
- 3D IoU-Net:三维目标检测预测IoU
作者丨twn29004@知乎 来源丨https://zhuanlan.zhihu.com/p/457026913 编辑丨3D视觉工坊 论文链接:https://arxiv.org/abs/2004.0 ...
- 全面理解目标检测中的anchor
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源丨CV技术指南 编辑丨极市平台 导读 anchor是一个晦涩难懂 ...
- 深度理解目标检测(MMdetection)-HOOK机制
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|计算机视觉联盟 最近做了一段时间的目标检测,不得不说检测这 ...
- 《计算机视觉之目标检测》IOU详解及代码
今天在改模型的时候刚好用到了IOU,因此将IOU说说,记录一下代码,方便以后复用. 1.什么是IOU IoU 的全称为交并比(Intersection over Union),它的计算也比较简单,就是 ...
- 【论文解读】R-CNN 深入浅出理解目标检测开山之作
R-CNN是CNN处理目标检测问题的开山之作,其中的区域提议,难例挖掘,非极大值抑制等等方法沿用至今..整个打下了two-stage模型的框架.但我并不推荐研究R-CNN的实现,因为选择性搜索部分与现 ...
最新文章
- 使用SCSS高亮显示控件、聚焦位置
- python3.7 6如何安装-centos安装python3.7
- Python divmod方法
- 深入理解python之self
- UVALive - 3231 Fair Share(最大流+二分)
- java lock 信号_java各种锁(ReentrantLock,Semaphore,CountDownLatch)的实现原理
- 工作178:moment使用
- 在本地实现完成多台服务器之间文件拷贝
- [JAVA实现]微信公众号网页授权登录,java开发面试笔试题
- python的datetime模块用法_Python3.5内置模块之time与datetime模块用法实例分析
- vfp中treeview右键菜单_用卓语言程序把Sublime Text 3添加到和删除出右键菜单
- 【转】如何防止softmax函数上溢出(overflow)和下溢出(underflow)
- UVA 10791 最小公倍数的和
- codevs——1230 元素查找
- java while循环 计算机,Java while和do ... while循环 - 芒果文档
- uniapp全局修改字体
- 微信分享带图片,描述(php版)
- 谈谈网络工程师的就业方向与薪资水平
- Android问题集锦之三十一:Android Studio: Plugin with id 'android-library' not found
- canonical raft源码编译
热门文章
- Windows API 关于控件的自绘——文本颜色、背景颜色、字体
- C#设计模式之四建造者模式(Builder Pattern)【创建型】
- 把oracle数据导入redis,Oracle向redis数据迁移
- Java 埃拉托色尼筛选法
- 服务器上文件共享有哪些协议,Windows中的文件共享协议
- --nuhub--linux
- 2013年第四届java A组蓝桥杯省赛真题
- 【每日蓝桥】15、一三年省赛Java组真题“错误票据”
- GraphicsLab Project之基于物理的着色系统(Physical based shading)-直接光照
- iOS常见面试题总结