当前位置: 首页 > news >正文

目标检测概述

为什么基于卷积网络的目标检测模型在预测后要使用非极大值抑制

基于卷积网络的目标检测模型可能会在目标的相邻区域生成多个相互重叠框,每个框的预测结果都是同一个目标,引起同一目标的重复检测。造成这一现象的原因主要有两个,

  1. 基于卷积网络的目标检测模型是在Feature Map上进行预测的,Feature Map上的每个像素在原图上都对应一块感受野,并由这块感受野经过一层层卷积映射而来。Feature Map上两个像素越相邻,两者在原图上的感受野的重叠部分就越大,在卷积核权重参数分布平均的情况下(卷积核在训练时使用了L2正则化,每个权重参数接近于0,且近似相等),这两块感受野经过相同的卷积运算后映射值相似。如果Feature Map上两个相邻像素中有一个像素经过预测头后,能预测出物体,由于相邻像素是相似的,那么另一个像素经过预测头后有很大可能预测出同一个物体,从而引起同一物体的重复预测。
  2. 一个样本中的目标相邻区域可能在另一个样本中是作为正样本(目标存在区域)进行训练的,所以就可能导致这个样本的目标相邻区域经过卷积层和预测头后,得到目标信息。进而产生同一目标的重复预测。

为了解决这种重复预测现象,提高检测精度,就需要用到非极大值抑制——在所有重叠框中选择置信度最大的那个框作为最终结果,同时删除与该框IOU大于0.5的其它重叠框。

DETR

  • 图片先经过一个卷积骨干网络(ResNet50)提取局部特征,然后利用Transformer的Encoder进一步提取图片上下文信息。这些上下文信息均被输入到Decoder中,作为Key和Value。DETR使用的Decoder也可以视作Transformer的Encoder,因为它的多头注意力机制并没有进行因果掩码处理,所以DETR的Decoder是并行地预测目标框。
  • DETR的Decoder的输入是一组可训练的Objects Query,作为第一层多头注意力的Query。DETR的Decoder的输出是一个长度固定的集合,集合中有目标框以及背景框
  • 图片中的目标数量和Decoder的预测数量往往不相等的。假如真实目标数量是3个,Decoder的预测数量固定为100个。那么在训练时,这三个真实目标应该与100个预测框中的哪三个框进行损失值计算呢?DERT是这样解决的:这三个真实目标分别与100个预测框进行组合(每个预测框只能与一个真实目标进行组合),然后计算损失值,这时总共有100*99*98=970200种不同的损失值,选取其中值最小的损失作为梯度下降的优化目标,同时将该最小损失对应的预测框与真实目标绑定,其余未与真实目标组合的预测框则全视作背景框。

相关文章:

  • AI在市场营销分析中的核心应用及价值,分场景详细说明
  • 【C++】深入浅出之继承
  • 召回率和精准率-找书的例子
  • 机器视觉在贴标机的应用
  • Flowable进阶
  • C++编译与链接:从源码到可执行文件的魔法之旅(Visual Studio实践)
  • 【嵌入式系统设计师(软考中级)】第一章:计算机系统基础知识(中)
  • 对于“人工智能+教育”的一些思考
  • 【Python入门】文件读取全攻略:5种常用格式(csv/excel/word/ppt/pdf)一键搞定 | 附完整代码示例
  • 【音视频】FLV格式分析
  • python 读取分级目录
  • 7 编译型语言、解释型语言与混合型语言的深度解析:以 C、Java、Python 为例
  • MyCat 分库分表
  • 《SpringBoot中@Scheduled和Quartz的区别是什么?分布式定时任务框架选型实战》​
  • 在 Linux 服务器上安装 Conda 环境(零基础小白教程)
  • 云服务器CVM标准型S5实例性能测评——2025腾讯云
  • Edge浏览器安卓版流畅度与广告拦截功能评测【不卡还净】
  • 记录一次生产中mysql主备延迟问题处理
  • 1.1 设置电脑开机自动用户登录exe开机自动启动
  • 容器docker入门学习
  • 汕头违建豪宅“英之园”将强拆,当地:将根据公告期内具体情况采取下一步措施
  • 著名连环画家庞邦本逝世
  • 山东省市监局“你点我检”专项抽检:一批次“无抗”鸡蛋农兽药残留超标
  • 广州地铁十一号线赤沙车辆段工程高坠事故调查报告公布:1人重伤且漏报
  • 广州一饮品店取名“警茶”?市监局:取名没问题,但图像会产生误解
  • 影子调查丨三名“淘金客”殒命雪峰山:千余废弃金矿洞的监管难题