当前位置:网站首页>目标检测重要概念——IOU、感受野、空洞卷积、mAP
目标检测重要概念——IOU、感受野、空洞卷积、mAP
2022-08-02 05:11:00 【樱花的浪漫】
1.IOU的计算
通过比较真值框(ground-truth bounding box)和预测框(predicted bounding box)的距离、重叠面积等可以判断目标检测算法的性能。IoU(Intersection over Union)是一种在特定数据集中检测相应物体准确度的标准, 恰好可以实现上述目的。IoU的计算逻辑非常简单,就是两个框相交
的面积除以两个框相并的面积,如图所示。 那所谓的真值框是从哪里来的呢?对于任何一个训练数据集或测试数据集来说,至少包含两大类数据:一类是图像本身;另一类包含待检测对象的坐标。我们的目标是构建一个目标检测算法,在测试集上进行测试,如果IoU的值大于0.5,通常来说这个测试效果是不错的;如果I0U的值小于0.5,那么很明显目标检测的效果不太理想。如果IoU的值在0.7左右,则说明真值框和预测框的位置已经很接近了;如果IoU的值在0.9左右,则说明目标检测算法在测试集上的效果非常优秀。

2.空洞卷积
常见的图像分割算法通常使用池化层和卷积层增加感受野,同时也缩小了特征图尺寸,再利用上采样还原图像尽寸。因为特征图缩小再放大的过程造成了精度上的损天,所以需要在增加感受野的同时保持特征图的尺寸不变,从而代替下采样和上采样操作,在这种需求下,空洞卷积就诞生了。
Dilated/Atrous Convolation (中文可称作空洞卷积或膨胀卷积)是在标准的卷积映射里注入空洞,以此来增加感受野,相比原来的正常卷积,空洞卷积额外增加了一个超参数:扩张率(dilation rate),该参数定义了卷积核处理数据时各值的间距(比如标准的卷积扩张率为1)。

空洞卷积有如下两个作用。
1)扩大感受野:在深层网络中为了在增加感受野的同时降低计算量,总要进行下采样(比如使用池化层),这样虽然可以增加感受野,但也降低了空间分辨率。使用空洞卷积可以在尽量不丢失分辨率的情况下扩大感受野,在检测或者分割任务中尤为重要。一方面感受野大了可以检测大目标,另一方面分辨率高了可以精确定位目标。
2)捕获多尺度上下文信息:当设置不同的扩张率时,感受野就会不一样,便可以获取多度信息。多尺度信息在视觉任务中是非常重要的。
3.mAP
假设分类器在10%的召回率下具有90%的精度,但在20%的召回率下具有96%的精度。这里实际上没有折衷:使用分类器以20%的召回率(而不是10%)更合理,因为你将获得更高的召回率和更高的精度。因此,我们不应该着眼于10%的召回率,而是应该着眼于分类器可以提供至少10%的召回率的最大精度。这是96%,而不是90%。因此要获得关于模型性能的合理概念的一种方法是计算召回率在至少为0%时可以获得的最大精度(然后是10%、20%,以此类推,直至100%)然后计算这些最大精度的平均值。这称为平均精度(AP)指标。当有两个以上类别时,我们可以为每个类别计算AP,然后计算平均AP(mAP)。
在物体检测系统中,存在另外一层的复杂度:如果系统检测到正确的类别但在错误的位置(即边界框完全没有物体)怎么办?当然,我们不应将此视为正的预测。二种方法是定义IOU阈值:例如,我们可以认为只有在IOU太于05且预测类别正确时,该预测才是正确的。通常将相应的mAP标记为[email protected](或[email protected]%,或有时为AP50)。在某些比赛中(例如PASCAL VOC挑战赛)就是这样做的。在其他情况(例如COCO竞争)中,针对不同的IOU阅值(0.50、0.55、0.60,…,0.95)计算mAP,而最终指标是所有这些mAP的平均值(记为AP @[ .50:.95]或[email protected][.50:0.05:.95])。这是平均值的平均。
边栏推荐
- 关于鸿蒙系统 JS UI 框架源码的分析
- 5年在职经验之谈:2年功能测试、3年自动化测试,从入门到不可自拔...
- 利用浏览器本地存储 实现记住用户名的功能
- [C language] LeetCode26. Delete duplicates in an ordered array && LeetCode88. Merge two ordered arrays
- The company does not pay attention to software testing, and the new Ali P8 has written a test case writing specification for us
- golang generics
- Navicat报错:1045-Access denied for user [email protected](using passwordYES)
- 【解决】RESP.app 连接不上redis
- Integrate ssm (1)
- 软件测试的需求人才越来越多,为什么大家还是不太愿意走软件测试的道路?
猜你喜欢

apifox介绍及使用(1)。

关于 VS Code 优化启动性能的实践

The original question on the two sides of the automatic test of the byte beating (arranged according to the recording) is real and effective 26

Polar Parametrization for Vision-based Surround-View 3D Detection 论文笔记

leetcode一步解决链表反转问题

The company does not pay attention to software testing, and the new Ali P8 has written a test case writing specification for us

Matlab paper illustration drawing template No. 41 - bubble chart (bubblechart)

Block elements, inline elements (
elements, span elements)
腾讯大咖分享 | 腾讯Alluxio(DOP)在金融场景的落地与优化实践

对node工程进行压力测试与性能分析
随机推荐
nacos注册中心
C语言入门实战(13):十进制数转二进制
51 MCU peripherals: ADC
Redis数据库
【合集- 行业解决方案】如何搭建高性能的数据加速与数据编排平台
How H5 realizes evoking APP
H5 access payment process - WeChat payment & Alipay payment
关于web应用的目录结构
The company does not pay attention to software testing, and the new Ali P8 has written a test case writing specification for us
复盘:图像饱和度计算公式和图像信噪(PSNR)比计算公式
golang's time package: methods for time interval formatting and output of timestamp formats such as seconds, milliseconds, and nanoseconds
利用浏览器本地存储 实现记住用户名的功能
The Go language learning notes - dealing with timeout - use the language from scratch from Context
LeetCode刷题系列 -- 10. 正则表达式匹配
软件测试在职2年跳槽4次,你还在怪老板不给你涨薪?
C language: Check for omissions and fill in vacancies (3)
Say good woman programmers do testing have an advantage?More than a dozen interview, abuse of cry ~ ~ by the interviewer
CPU使用率和负载区别及分析
ApiPost 真香真强大,是时候丢掉 Postman、Swagger 了
MySQL implements sorting according to custom (specified order)