1.问题

验证目标检测模型性能时候,模型输出检测目标需要和真值目标匹配,然后计算精度acc。主要涉及bounding box和label的匹配。

2.目标检测流程

(1)图片输入模型,并输出检测目标的bond_boxes,labels和probs。

(2)把bond_boxes通过尺寸缩放到原图对应尺寸,并对超出图像边界框进行去除

(3)对bond_boxes根据置信度probs过滤,去掉执行度低的(常0.5为阈值)

(4)对bond_boxes 进行非极大值抑制处理(NMS)

(5)处理时候,根据过滤后bond_boxes 的索引(index)同步更新labels和probs。

更名为det_bond_boxes,det_labels

(6)读取该图片对应真值文件(ground truth)中的bond_boxes和labels。

更名为gt_bond_boxes,gt_labels

(7)根据det_bond_boxes和gt_bond_boxes的IOU来匹配,这一步是需要操作技巧。具体流程如下

import numpy as npif __name__ == "__main__":#依次拿检测到的gt_boxes和真值ground truth中gt_box匹配,计算两者IOU,假设det_box为a,gt_box=ba = [[1,2,4,5],[4,5,6,7],[8,9,10,11,12],[13,14,15,16]]b = [[4, 5, 6, 7],[1, 2, 4, 5],[8, 9, 10, 11, 12],]det_boxes = np.array(a)gt_boxes  = np.array(b)#假设IOU计算如下,一共12个,第一列是第一个dt_box和3个gt_box的IOUIOU = [[0.1, 0.8, 0.1],[0.8, 0.1, 0.1],[0.1, 0.1, 0.9],[0.1, 0.1, 0.2]]#找出每个det_box和三个gt_box IOU最值iou_max = np.max(IOU,axis = 1)print(iou_max)#iou_max = [0.8 0.3 0.9 0.9]# 对IOU进行过滤小于0.5淘汰iou_max_index = iou_max > 0.5print(iou_max_index)#iou_max_index=[ True  True False  True]new_det_boxes =det_boxes[iou_max_index]#[list([1, 2, 4, 5]) list([4, 5, 6, 7]) list([8, 9, 10, 11, 12])#已经过滤掉det_box的第四个box#这时候需要给每个det_box 匹配对应的gt_box,首先去除IOU中那个属于错误检测框的IOU,也就是IOU第三列gt_match_dt_index = np.argmax(IOU,axis=0)#返回给gt_box匹配IOU最大的对应det_box的索引print(gt_match_dt_index)#[1 0 2]new_gt_boxes = gt_boxes[gt_match_dt_index]## [list([1, 2, 4, 5]) list([4, 5, 6, 7]) list([8, 9, 10, 11, 12])#完成检测框和真值框的一一匹配

目标检测_0.1检测目标和真值(ground truth)匹配相关推荐

  1. 自动驾驶之-MATLAB环境下基于深度学习的目标检测(停车标志检测)

    深度学习,一个大号的,现代的,黑箱的,信号/图像处理器,本文程序运行环境为MATLAB R2018A. 本文简要讲解如何使用深度学习(R-CNN网络)来训练一个停车标志检测器.R-CNN是一种目标检测 ...

  2. 目标跟踪介绍(单目标)

    Abstract 视觉跟踪技术是计算机视觉领域(人工智能分支)的一个重要课题,有着重要的研究意义:且在军事制导.视频监控.机器人视觉导航.人机交互.以及医疗诊断等许多方面有着广泛的应用前景.随着研究人 ...

  3. 面向量产的3D目标与车道线检测方法

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 Part 1 背景介绍 1. 1 团队介绍 商汤科技自动驾驶团队依托公司为背景,以 SenseParr ...

  4. 【目标检测】grid cell、bounding box、ground truth的含义

    记录几个名词解释,如果有表达不准确或不充分的地方欢迎指正. grid cell 就相当于划分好的网格,比如说YOLOv1是将图片分成7*7的网格,然后这49个网格每个网格就是一个grid cell. ...

  5. 【目标检测】56、目标检测超详细介绍 | Anchor-free/Anchor-based/Backbone/Neck/Label-Assignment/NMS/数据增强

    文章目录 1.双阶段和单阶段目标检测器 1.1 双阶段目标检测器 1.1.1 R-CNN 1.1.2 SPP 1.1.3 Fast R-CNN 1.1.4 Faster R-CNN 1.2 单阶段目标 ...

  6. 【camera】自动驾驶感知系统实现(车道线检测和拟合、目标检测与跟踪、道路可行驶区域分割、深度估计、图像视野到BEV空间映射、像平面到地平面映射)

    自动驾驶感知系统实现(车道线检测和拟合.目标检测与跟踪.道路可行驶区域分割.深度估计.图像视野到BEV空间映射.像平面到地平面映射) 项目下载地址:项目下载地址 推理引擎下载地址:推理引擎下载地址 支 ...

  7. 我理解的分类、目标检测、目标识别、目标定位、目标跟踪

    分类:判断一张图片是什么类别?不需要给出物体的位置信息. 目标检测:找到图中所有的目标和它们的位置.(可能有多个目标) 目标识别:输出一张图片中是不是包含目标?(单个目标) 目标定位:输出目标的确切位 ...

  8. 运动目标检测、阴影检测及目标跟踪中用得到的标准测试视频下载

    运动目标检测.阴影检测及目标跟踪中用得到的标准测试视频下载 转载 2016年03月16日 09:53:28 标签: 目标跟踪 / 755

  9. 摄像头图像分析目标物体大小位置_小目标检测的增强算法

    版权声明:本文来源 程序媛的小世界https://zhuanlan.zhihu.com/p/135397874 Augmentation for small object detection 摘要 近 ...

最新文章

  1. 海量数据选取重复次数最多的n个
  2. workbench透明设置_ansys workbench模型能透明显示吗?非常感谢
  3. java resource放入的文件没有生成在classes中_JAVA程序员学习笔记----mybatis深入剖析...
  4. 从零开始的服务器配置
  5. MacOS磁盘工具:如何将“校验和..“添加到磁盘映像
  6. python画图包哪个好_十款好用的画图软件,你都用过吗?
  7. 联想笔记本使用Driver Booster更新驱动触控板失效解决方案
  8. 2020 数据中心机房建设方案
  9. excel打印二维码
  10. 计算机如何删除用户密码,怎么清除电脑开机密码
  11. python开发cms企业官网用python php_基于Django的Python CMS
  12. Win10 如何解决,应用商店打不开,错误代码0x80131500问题
  13. 项目经理:什么是矩阵型组织结构?
  14. 零基础入行IT,怎么成为一名优秀的IT人才?
  15. android 系统级闹铃,Android 设置系统闹铃和日历
  16. 华为、联想:外媒眼中的“中国制造”
  17. 图片格式导致的报错:Attribute Error: ‘NoneType‘ object has no attribute ‘astype‘ 解决方案
  18. RPLIDAR思岚雷达学习记录--4--雷达数据实时保存
  19. lnmp架构之mysql部署
  20. MATLAB环境下Delat并联机器人simulnik + solidworks联合仿真(终)

热门文章

  1. make_layers 作用
  2. linux 命令集合1
  3. 轻松玩抠图:图像去除背景方法与技巧
  4. 【Axure10视频教程】第九章 设置选中
  5. MATLAB consolas字体中文显示乱码问题
  6. Nacos—苹果Mac电脑os系统安装nacos步骤
  7. github pages 无法加载css的问题
  8. 算法中的递归和尾递归
  9. 引领大数据新未来 斐讯北京数据中心正式开业
  10. 【厚积薄发】FairyGUI使用经验分享