目标检测概述

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

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

  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种不同的损失值,选取其中值最小的损失作为梯度下降的优化目标,同时将该最小损失对应的预测框与真实目标绑定,其余未与真实目标组合的预测框则全视作背景框。
相关推荐
金井PRATHAMA22 分钟前
描述逻辑(Description Logic)对自然语言处理深层语义分析的影响与启示
人工智能·自然语言处理·知识图谱
Rock_yzh23 分钟前
AI学习日记——参数的初始化
人工智能·python·深度学习·学习·机器学习
Hcoco_me1 小时前
YOLO入门教程(番外):目标检测的一阶段学习方法
yolo·目标检测·学习方法
CiLerLinux2 小时前
第四十九章 ESP32S3 WiFi 路由实验
网络·人工智能·单片机·嵌入式硬件
-dzk-3 小时前
【3DGS复现】Autodl服务器复现3DGS《简单快速》《一次成功》《新手练习复现必备》
运维·服务器·python·计算机视觉·3d·三维重建·三维
七芒星20233 小时前
多目标识别YOLO :YOLOV3 原理
图像处理·人工智能·yolo·计算机视觉·目标跟踪·分类·聚类
Learn Beyond Limits4 小时前
Mean Normalization|均值归一化
人工智能·神经网络·算法·机器学习·均值算法·ai·吴恩达
byzy4 小时前
【论文笔记】VisionPAD: A Vision-Centric Pre-training Paradigm for Autonomous Driving
论文阅读·深度学习·计算机视觉·自动驾驶
ACERT3334 小时前
5.吴恩达机器学习—神经网络的基本使用
人工智能·python·神经网络·机器学习
C嘎嘎嵌入式开发5 小时前
(一) 机器学习之深度神经网络
人工智能·神经网络·dnn