你如何判断对象检测算法运作良好呢?这里我们引进了IoU(Intersection over Union)

通过上面的图,我们可以知道loU衡量了两个边界框重叠地相对大小。如果你有两个边界框,你可以计算交集,计算并集,然后求两个数值的比值,

现在贴出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算法程序与原理解读相关推荐

  1. java synthetic_Java 中冷门的 synthetic 关键字原理解读

    看JAVA的反射时,看到有个synthetic ,还有一个方法isSynthetic() 很好奇,就了解了一下: 1.定义 Any constructs introduced by a Java co ...

  2. 卷积神经网络三:目标检测和yolo算法

    1 目标定位 对象检测,它是计算机视觉领域中一个新兴的应用方向,相比前两年,它的性能越来越好.在构建对象检测之前,我们先了解一下对象定位,首先我们看看它的定义. 图片分类任务我们已经熟悉了,就是算法遍 ...

  3. 目标检测-YOLO算法实现

    注:此篇博文未经过仔细整理,几乎全文拷贝参考论文,写得并不清楚,仅用来博主未来自查.未免浪费读者时间,特此注明! 前段时间跟着吴恩达大牛的视频学了深度学习,做了课后的作业"YOLO算法实现自 ...

  4. 目标检测 /yolo算法原理的详解

    前言 谈到计算机视觉时,我们都会联想到图像分类,图像分类是计算机视觉最基本的任务之一,在图像分类的基础上,我们还有更复杂的任务,比如目标检测,物体定位,图像分割等,本文主要讲目标检测,目标检测是分类与 ...

  5. 电竞AI之视觉篇:YOLO算法在电竞中的应用(Darknet + TF)

    转战米国,经过一段时间的调整和适应,终于有时间整理下最近做的一个项目.从infra到云到大数据到AI,各个领域都应该保持学习,技术的道路从来都不是一帆风顺. 1. 场景介绍 MOBA玩家都比较熟悉不论 ...

  6. 目标检测扩(六)一篇文章彻底搞懂目标检测算法中的评估指标计算方法(IoU(交并比)、Precision(精确度)、Recall(召回率)、AP(平均正确率)、mAP(平均类别AP) )

    ​ 基本在目标检测算法中会碰到一些评估指标.常见的指标参数有:IoU(交并比).Precision(精确度).Recall(召回率).AP(平均正确率).mAP(平均类别AP)等.这些评估指标是在评估 ...

  7. YOLO算法最全综述:从YOLOv1到YOLOv5

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:初识cv,编辑:极市平台 来源丨https://zhuanlan. ...

  8. YOLO算法史上最全综述:从YOLOv1到YOLOv5

    作者:初识cv,编辑:极市平台 来源丨https://zhuanlan.zhihu.com/p/136382095,侵删 导读 YOLO系列是基于深度学习的回归方法,本文详细介绍了从YOLOv1至最新 ...

  9. 【CV】YOLO算法最全综述:从YOLOv1到YOLOv5

    作者丨初识CV 来源丨https://zhuanlan.zhihu.com/p/136382095 编辑丨极市平台 导读 YOLO系列是基于深度学习的回归方法,本文详细介绍了从YOLOv1至最新YOL ...

最新文章

  1. 关于JS客户端对服务器控件赋值,Post后不能保留值的解决办法
  2. 中职计算机专业论文,中职教学中计算机专业论文
  3. Windows下sc create命令行添加/创建/修改服务
  4. python列表中包含元祖_python列表与元祖
  5. IT 行业的创新 - 创新的迷思 (5-6)
  6. set,存放不重复数据的集合类型
  7. [Leetcode]第[58]题[JAVA][最后一个单词的长度][字符串]
  8. 关于Oracle10g归档参数的研究
  9. word插入目录右边对不齐
  10. java中contains的用法_好程序员Java教程分享Java中this的几种用法
  11. python数据分析课程网盘-数据分析技能 全套 百度网盘 下载
  12. 阿里巴巴Java编程规范试题答案
  13. HP 6L WIN7 WIN8 驱动
  14. html调用网易云播放器无法自动播放,网页内嵌网易云插件全程(包括生成自己歌单的外链)...
  15. Python模拟登陆强智教务以及使用(持续更新中)
  16. iOS - Safe iOS 加密安全
  17. ADAS功能介绍 - ACC(一)
  18. 延迟队列实现30分钟订单自动过期失效
  19. 播布客小布老师所有视频
  20. ctf(EasySQL)

热门文章

  1. Python 简单编写一个注册邮箱
  2. pdfbox或icepdf转换PDF为图片时,中文乱码处理
  3. libVLC 事件机制
  4. webservice:com.sun.xml.internal.ws.server.ServerRtException: [failed to localize]
  5. java算法int型整数反转的另类解法
  6. shell脚本——注释(单行注释 多行注释)
  7. 【Web Design The Missing Link】Chatty APIs
  8. 轻量级网络:ResNeXt
  9. 长沙理工大学计算机电路b试题,长沙理工大学考试试卷(计算机网络)
  10. 【转贴】英语如此简单