目标检测基本概念解释

本文介绍了目标检测中的关键概念,包括Backbone网络用于特征提取,Neck提升特征利用率,Head进行预测。还讨论了Bottleneck、GAP(全局平均池化)、Warmup训练策略、评估标准如mAP、Precision-Recall曲线以及过拟合的识别和解决方法。此外,提到了BN(BatchNormalization)的作用和GFLOPs作为计算复杂度的指标。
摘要由CSDN通过智能技术生成

前言🎈(只要学习,就会一直写!)

简单记录一下,自己在学习目标检测过程中遇到的一些概念问题🐱‍🐉

backbone

主干网络,用来做特征提取的网络(比如ResNet,VGG等等),一般用来提取图片信息,然后生成Feature map。

neck

放在backbone和head之间,作用是更好的利用backbone提取的特征。

head

是获取网络的输出内容,head部分利用backbone提取的特征作出预测。

bottleneck

意为瓶颈,通常指的是网络输入的数据维度和输出的维度不同,输出的维度比输入的小了许多,就像脖子一样,变细了。经常设置的参数 bottle_num=256,指的是网络输出的数据的维度是256 ,可是输入进来的可能是1024维度的。

GAP(Global Average Pool)

全局平均池化。即将某个通道的特征值取平均值。

warm up

Warm up指的是用一个小的学习率先训练几个epoch,这是因为网络的参数是随机初始化的,一开始就采用较大的学习率容易数值不稳定。

目标检测结果评价标准

box_loss:边界框回归损失 预测预测框和标定框之间的损失。
obj_loss: 目标存在的置信度损失。
csl_loss: 分类损失,计算锚框和对应的标记分类是否正确。
一般来说mAP针对整个数据集而言的;AP针对数据集中某一个类别而言的;而percision和recall针对单张图片某一类别的。

  • precision(精确率):简单来说就是都被模型判断为positive的目标,其中判断对了多少个。

  • recall(召回率) :在真实标签为positive的所有样本中,找到了多少个。
    注: Precision和Recall之间往往是一种博弈关系好的模型让Recall值增长的同时保持Precision的值也在很高的水平,而差的模型性可能会损失很多Precision值才能换来Recall值的提高。通常情况下,都会使用Precision-recall曲线,来显示分类模型在Precision与Recall之间的权衡

  • 准确率:计算的是分类正确个数占全体样本的比例,针对的是所有类别。一般不直接使用准确率。主要是因为类别不平衡问题,如果大部分是negative的 而且大部分模型都很容易判别出来,那准确率都很高, 没有区分度,也没有实际意义(因为negative不是我们感兴趣的)

  • IoU :就是模型预测的框和自己标记的框之间的重合度。

  • AP :多个类别物体检测中,每一个类别都可以根据recall和precision绘制一条曲线。AP是Precision-Recall Curve(PRC)曲线所覆盖的面积,用来衡量模型在每个具体类别上的好坏

  • mAP(mean average precision) :衡量精度的指标。即多个类别AP的平均值。这里average等于是对recall取平均。而mAP的mean,是对所有类别取平均。

Ablation experiment(消融实验)

第一次看到Ablation experiment忘记是哪篇论文了,一直到现在才搞懂到底什么是消融实验。其实很简单,比如在一次目标检测中,因为加入了A、B、C 因此取得了不错的效果,但是不知道到底是因为ABC哪一个。因此,消融实验就是保留A,去除B、C·····依次查看到底是哪个起了作用。

BN(Batch Normalization)

概念: 用于神经网络的正则化技术,加速模型的训练。他对输入进行标准化,得每层的输入在训练时都具有相似的统计特性,从而加速模型的训练过程。
作用:

  • 将每个批次的数据标准化为均值为0和方差为1的分布,通过引入批次统计信息,可以减少模型的过拟合现象,提高模型的泛化能力
  • 可以解决梯度消失和梯度爆炸等问题,提高模型的稳定性和收敛速度。

GFLOPs(Giga Floating-point Operations)

GFLOPs指的是模型的浮点运算量。
它是衡量深度学习模型计算量的一种常用指标,通常用于比较不同模型之间的计算复杂度大小。一个GFLOP表示模型在一秒钟内所执行的十亿次浮点运算数。
通常情况下,GFLOPs越高,模型的复杂度越高,模型的计算量也就越大,训练和推理的时间也就越长。但是,GFLOPs并不能单独决定模型的性能好坏,还需要考虑其他指标,比如精度、召回率、速度等。

过拟合

今天在训练模型的时候,发现训练损失一直在下降,但是验证损失在下降之后开始上升,这就是过拟合了。
也就是说 在训练集上表现的好,在验证集或测试集(也就是没见过的数据)上表现差,即为过拟合。
解决方法有:

  • 数据增强:增加训练数据的多样性,有助于提高模型泛化能力。
  • 正则化:通过添加惩罚项限制模型参数的大小,减少过拟合现象。
  • 早停:在验证损失开始上升之前停止训练,避免模型过拟合。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值