检测评价函数 intersection-over-union ( IOU )

深度学习 专栏收录该内容
13 篇文章 0 订阅

1、概念

在目标检测的评价体系中,有一个参数叫做 IoU ,简单来讲就是模型产生的目标窗口和原来标记窗口的交叠率。具体我们可以简单的理解为: 即检测结果(DetectionResult)Ground Truth 的交集比上它们的并集,即为检测的准确率 IoU :

IOU=DetectionResultGroundTruthDetectionResultGroundTruth I O U = D e t e c t i o n R e s u l t ⋂ G r o u n d T r u t h D e t e c t i o n R e s u l t ⋃ G r o u n d T r u t h

如下图所示:GT = GroundTruth; DR = DetectionResult;
黄色边框框起来的是:

GTDR G T ⋂ D R

绿色框框起来的是:
GTDR G T ⋃ D R

应该够详细了,上幅图直观些。当然最理想的情况就是 DR 与 GT 完全重合,即

IoU=1 I o U = 1

下面附上图例说明,及 IOU 的python实现,已经测试无误,自行取用。

这里写图片描述

原图:
这里写图片描述

# -*- coding: utf-8 -*-
"""
Created on Sun Aug 07 14:26:51 2016

@author: Eddy_zheng
"""

def IOU(Reframe,GTframe):
    """
    自定义函数,计算两矩形 IOU,传入为均为矩形对角线,(x,y)  坐标。
    """
    x1 = Reframe[0]
    y1 = Reframe[1]
    width1 = Reframe[2]-Reframe[0]
    height1 = Reframe[3]-Reframe[1]

    x2 = GTframe[0]
    y2 = GTframe[1]
    width2 = GTframe[2]-GTframe[0]
    height2 = GTframe[3]-GTframe[1]

    endx = max(x1+width1,x2+width2)
    startx = min(x1,x2)
    width = width1+width2-(endx-startx)

    endy = max(y1+height1,y2+height2)
    starty = min(y1,y2)
    height = height1+height2-(endy-starty)

    if width <=0 or height <= 0:
        ratio = 0 # 重叠率为 0 
    else:
        Area = width*height # 两矩形相交面积
        Area1 = width1*height1
        Area2 = width2*height2
        ratio = Area*1./(Area1+Area2-Area)
    # return IOU
    return ratio,Reframe,GTframe
  • 35
    点赞
  • 5
    评论
  • 34
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
<p class="MsoNormal"> <span style="color:#337FE5;font-size:16px;">【课程特色】</span> </p> <p class="MsoNormal"> <span>1</span>、超强师资<span>+</span>体系全面<span>+ 1 </span>对<span> 1 </span>答疑<span>+</span>离线缓存<span>+</span>永久有效,无限回放<span></span> </p> <p class="MsoNormal"> <span>2</span>、知识全面系统, <span>YOLO v1</span>到<span>YOLO v4 </span>网络结构全面解析,<span>YOLO v4</span>优化点总结以及使用<span>YOLO v4</span>训练自己的目标检测模型,从原理到实战,让你一门课掌握<span>YOLO</span>系列的前世今生。<span></span> </p> <p class="MsoNormal"> <span> </span> </p> <p class="MsoNormal"> <span style="font-size:16px;color:#337FE5;">【为什么要学习这门课?】</span><span></span> </p> <p class="MsoNormal"> 目标检测是计算机视觉和数字图像处理的一个热门方向,广泛应用于机器人导航、智能视频监控、工业检测、航空航天等诸多领域,通过计算机视觉减少对人力资本的消耗,具有重要的现实意义。因此,目标检测也就成为了近年来理论和应用的研究热点。<span></span> </p> <p class="MsoNormal"> <span> </span>目标检测工程落地中<span>,</span>以二阶段和一阶段网络为主<span>,</span>其中<span>yolo</span>系列落地公司最多<span>;</span> </p> <p class="MsoNormal"> 最近新出的<span>yolov4</span>必将代替<span>yolov3 </span>以及其他二阶网络。<span></span> </p> <p class="MsoNormal"> <br /> </p> <p class="MsoNormal"> <span style="font-size:16px;color:#337FE5;">【学完后我将达到什么水平?】</span><span></span> </p> <p class="MsoNormal"> 你将能够熟练掌握 <span>Windows</span>环境下的深度学习模型的搭建,具备使用<span>YOLO v4</span>训练自己的目标检测模型等项目实战能力,掌握计算机视觉工程师的核心能力。<span></span> </p> <p class="MsoNormal"> <span> </span> </p> <p class="MsoNormal"> <span style="font-size:16px;color:#337FE5;">【面向人群】</span><span></span> </p> <p class="MsoNormal"> <span>1</span>、对计算机视觉领域有兴趣的学生、研究人员等;<span></span> </p> <p class="MsoNormal"> <span>2</span>、有一定编程基础,对<span>YOLO </span>系列有深刻理解的开发者;<span></span> </p> <p class="MsoNormal"> <span>3</span>、想要了解如何训练自己的深度学习模型的深度学习的初学者;<span></span> </p> <p class="MsoNormal"> <span>4</span>、准备从事计算机视觉领域开发工作的程序员。<span></span> </p> <p> <br /> </p> <p> <br /> </p> <p class="MsoNormal"> <span><span style="font-size:16px;">【课程内容】</span></span> </p> <img src="https://img-bss.csdnimg.cn/202007140816552093.png" alt="" /> <p> <br /> </p>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值