yolo 算法中的IOU算法程序与原理解读
你如何判断对象检测算法运作良好呢?这里我们引进了IoU(Intersection over Union)
现在贴出python计算IOU代码:
def iou(box1, box2):"""Implement the intersection over union (IoU) between box1 and box2 Arguments: box1 -- first box, list object with coordinates (x1, y1, x2, y2) box2 -- second box, list object with coordinates (x1, y1, x2, y2) """ # Calculate the (y1, x1, y2, x2) coordinates of the intersection of box1 and box2. Calculate its Area. ### START CODE HERE ### (≈ 5 lines) xi1 = max(box1[0], box2[0])yi1 = max(box1[1], box2[1])xi2 = min(box1[2], box2[2])yi2 = min(box1[3], box2[3])inter_area = (yi2 - yi1) * (xi2 - xi1)### END CODE HERE ### # Calculate the Union area by using Formula: Union(A,B) = A + B - Inter(A,B) ### START CODE HERE ### (≈ 3 lines) box1_area = (box1[2] - box1[0]) * (box1[3] - box1[1])box2_area = (box2[2] - box2[0]) * (box2[3] - box2[1])union_area = box1_area + box2_area - inter_area### END CODE HERE ### # compute the IoU ### START CODE HERE ### (≈ 1 line) iou = inter_area / union_area### END CODE HERE ### return iou
这里可以看出上面坐标系对应的box1的x1,y1,x2,y2和box2的x1,y1,x2,y2。
xi1 = max(box1[0], box2[0])yi1 = max(box1[1], box2[1])xi2 = min(box1[2], box2[2])yi2 = min(box1[3], box2[3])
这段程序相当于计算出了交集的坐标系,通过这个交集的坐标系,可以求出交集的面积:
inter_area = (yi2 - yi1) * (xi2 - xi1)
然后分别计算box1,box2的面积:
box1_area = (box1[2] - box1[0]) * (box1[3] - box1[1])box2_area = (box2[2] - box2[0]) * (box2[3] - box2[1])
现在计算box1与box2并集的面积,其为两个面积减去交集面积:
union_area = box1_area + box2_area - inter_area
最后计算IOU结果,交集面积/并集面积:
iou = inter_area / union_area
一般约定,在计算机检测任务中,如果,就说检测正确,如果预测器和实际边界框完美重叠,loU就是1,因为交集就等于并集。但一般来说只要,那么结果是可以接受的,看起来还可以。一般约定,0.5是阈值,用来判断预测的边界框是否正确。一般是这么约定,但如果你希望更严格一点,你可以将loU定得更高,比如说大于0.6或者更大的数字,但loU越高,边界框越精确。
本文参考:
1.http://www.ai-start.com/dl2017/html/lesson4-week3.html
2.https://blog.csdn.net/lanchunhui/article/details/71190055
yolo 算法中的IOU算法程序与原理解读相关推荐
- java synthetic_Java 中冷门的 synthetic 关键字原理解读
看JAVA的反射时,看到有个synthetic ,还有一个方法isSynthetic() 很好奇,就了解了一下: 1.定义 Any constructs introduced by a Java co ...
- 卷积神经网络三:目标检测和yolo算法
1 目标定位 对象检测,它是计算机视觉领域中一个新兴的应用方向,相比前两年,它的性能越来越好.在构建对象检测之前,我们先了解一下对象定位,首先我们看看它的定义. 图片分类任务我们已经熟悉了,就是算法遍 ...
- 目标检测-YOLO算法实现
注:此篇博文未经过仔细整理,几乎全文拷贝参考论文,写得并不清楚,仅用来博主未来自查.未免浪费读者时间,特此注明! 前段时间跟着吴恩达大牛的视频学了深度学习,做了课后的作业"YOLO算法实现自 ...
- 目标检测 /yolo算法原理的详解
前言 谈到计算机视觉时,我们都会联想到图像分类,图像分类是计算机视觉最基本的任务之一,在图像分类的基础上,我们还有更复杂的任务,比如目标检测,物体定位,图像分割等,本文主要讲目标检测,目标检测是分类与 ...
- 电竞AI之视觉篇:YOLO算法在电竞中的应用(Darknet + TF)
转战米国,经过一段时间的调整和适应,终于有时间整理下最近做的一个项目.从infra到云到大数据到AI,各个领域都应该保持学习,技术的道路从来都不是一帆风顺. 1. 场景介绍 MOBA玩家都比较熟悉不论 ...
- 目标检测扩(六)一篇文章彻底搞懂目标检测算法中的评估指标计算方法(IoU(交并比)、Precision(精确度)、Recall(召回率)、AP(平均正确率)、mAP(平均类别AP) )
基本在目标检测算法中会碰到一些评估指标.常见的指标参数有:IoU(交并比).Precision(精确度).Recall(召回率).AP(平均正确率).mAP(平均类别AP)等.这些评估指标是在评估 ...
- YOLO算法最全综述:从YOLOv1到YOLOv5
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:初识cv,编辑:极市平台 来源丨https://zhuanlan. ...
- YOLO算法史上最全综述:从YOLOv1到YOLOv5
作者:初识cv,编辑:极市平台 来源丨https://zhuanlan.zhihu.com/p/136382095,侵删 导读 YOLO系列是基于深度学习的回归方法,本文详细介绍了从YOLOv1至最新 ...
- 【CV】YOLO算法最全综述:从YOLOv1到YOLOv5
作者丨初识CV 来源丨https://zhuanlan.zhihu.com/p/136382095 编辑丨极市平台 导读 YOLO系列是基于深度学习的回归方法,本文详细介绍了从YOLOv1至最新YOL ...
最新文章
- 关于JS客户端对服务器控件赋值,Post后不能保留值的解决办法
- 中职计算机专业论文,中职教学中计算机专业论文
- Windows下sc create命令行添加/创建/修改服务
- python列表中包含元祖_python列表与元祖
- IT 行业的创新 - 创新的迷思 (5-6)
- set,存放不重复数据的集合类型
- [Leetcode]第[58]题[JAVA][最后一个单词的长度][字符串]
- 关于Oracle10g归档参数的研究
- word插入目录右边对不齐
- java中contains的用法_好程序员Java教程分享Java中this的几种用法
- python数据分析课程网盘-数据分析技能 全套 百度网盘 下载
- 阿里巴巴Java编程规范试题答案
- HP 6L WIN7 WIN8 驱动
- html调用网易云播放器无法自动播放,网页内嵌网易云插件全程(包括生成自己歌单的外链)...
- Python模拟登陆强智教务以及使用(持续更新中)
- iOS - Safe iOS 加密安全
- ADAS功能介绍 - ACC(一)
- 延迟队列实现30分钟订单自动过期失效
- 播布客小布老师所有视频
- ctf(EasySQL)
热门文章
- Python 简单编写一个注册邮箱
- pdfbox或icepdf转换PDF为图片时,中文乱码处理
- libVLC 事件机制
- webservice:com.sun.xml.internal.ws.server.ServerRtException: [failed to localize]
- java算法int型整数反转的另类解法
- shell脚本——注释(单行注释 多行注释)
- 【Web Design The Missing Link】Chatty APIs
- 轻量级网络:ResNeXt
- 长沙理工大学计算机电路b试题,长沙理工大学考试试卷(计算机网络)
- 【转贴】英语如此简单