当前位置:网站首页>目标检测重要概念——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])。这是平均值的平均。
边栏推荐
- JUC(一)- JUC学习概览 - 对JUC有一个整体的认识
- 51单片机外设篇:DS18B20
- 驱动页面性能优化的3个有效策略
- MySQL数据表的基本操作和基于 MySQL数据表的基本操作的综合实例项目
- 整合ssm(一)
- Browser onload event
- 100 latest software testing interview questions in 2022, summary of common interview questions and answers
- 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
- el-input can only input integers (including positive numbers, negative numbers, 0) or only integers (including positive numbers, negative numbers, 0) and decimals
- Brush LeetCode topic series - 10. Regular expression match
猜你喜欢
使用TinkerPop框架对GDB增删改查
There are more and more talents in software testing. Why are people still reluctant to take the road of software testing?
在腾讯做外包测试的那些日子.....
51单片机外设篇:ADC
51单片机外设篇:红外通信
软件测试在职2年跳槽4次,你还在怪老板不给你涨薪?
[email protected](using passwordYES)"/>
Navicat报错:1045-Access denied for user [email protected](using passwordYES)
Three methods of importing sql files in MySQL
【C语言】LeetCode26.删除有序数组中的重复项&&LeetCode88.合并两个有序数组
6W+字记录实验全过程 | 探索Alluxio经济化数据存储策略
随机推荐
Go language study notes - grpc serverclient protobuf Go language from scratch
Shuttle + Alluxio 加速内存Shuffle起飞
非关系型数据库MongoDB的特点及安装
Block elements, inline elements (
elements, span elements)如何优化OpenSumi终端性能?
Redis-cluster mode (master-slave replication mode, sentinel mode, clustering mode)
25K测试老鸟6年经验的面试心得,四种公司、四种问题…
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
navicat新建数据库
5年在职经验之谈:2年功能测试、3年自动化测试,从入门到不可自拔...
kubernetes 亲和、反亲和、污点、容忍
25K test old bird's 6-year experience in interviews, four types of companies, four types of questions...
Use the browser's local storage to realize the function of remembering the user name
【合集- 行业解决方案】如何搭建高性能的数据加速与数据编排平台
ERROR 1045 (28000) Access denied for user 'root'@'localhost'Solution
Constructors, member variables, local variables
C竞赛训练
程序员写PPT的小技巧
Meta公司新探索 | 利用Alluxio数据缓存降低Presto延迟
golang generics