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

目标检测中的正负样本是什么,是如何起作用的?

1、正负样本的定义

1.1、正样本

正样本是指那些与真实目标(Ground Truth, GT)有很高关联性的样本,其作用是让模型学习目标的位置和类别特征。举个例子:

Anchor-based中,如果一个候选框(Anchor)与目标框的重叠程度(IoU,交并比)大于一定阈值,可以被认为是正样本。

Anchor-free中,如果某个像素点或者区域落在目标框内且符合预定条件,则被认为是正样本。

1.2、负样本

负样本是指那些与真实目标没有强关联的样本,其作用是帮助模型区分背景和目标,减少误报。举个例子:

Anchor-based中,如果一个候选框与目标框的IoU小于某个阈值,就被认为是负样本。

Anchor-free中,如果某个像素点或区域不在目标框内或未被标记为正样本,则是负样本。

2、正负样本在检测中到底是怎么起作用的

目标检测损失函数通常由三部分组成:

置信度损失(Objectness Loss):用于区分正样本(框住了目标)和背景(负样本)。

边界框回归损失(Localization Loss):优化正样本预测框的位置和大小。

分类损失(Classification Loss):预测正样本的目标类别。

如果一个检测框被认为是正样本,那么该检测框会参与检测中的目标分类、置信度预测以及边界框回归。

而如果该检测框被认为是负样本,也就是模型认为该检测框没有框中感兴趣的目标,仅仅是包含了一些背景,那么该框仅仅会进行置信度的预测。

以二分类交叉熵置信度损失函数为例:

N表示总样本数,pi表示检测框的预测置信度值,yi表示检测框是正样本(1)还是负样本(0)

对于一个检测框,如果被认为是正样本(有目标),则yi=1,那么等式右边的第二项就为0了,此时变成了 Lobj = -log(pi)预测置信度越接近大,则Lobj越小。

对于一个检测框,如果被认为是负样本(纯背景),则yi=0,那么等式右边的第一项就为0了,此时变成了 Lobj = -log(1 - pi),预测置信度越接近大,则Lobj也越大。

通过多轮的训练,每次前向传播和反向传播后,梯度下降,模型参数会朝使损失函数减少的方向调整,损失不断降低。

正样本置信度逐渐接近 1,类别预测逐渐准确,边界框与真实框逐步重合。负样本置信度逐渐接近 0,减少对背景区域的误检测。


http://www.kler.cn/a/456040.html

相关文章:

  • flask后端开发(3):html模板渲染
  • springboot、spring、springmvc有哪些注解
  • 微信流量主挑战:三天25用户!功能未完善?(新纪元4)
  • Pandas08
  • uniapp中wx.getFuzzyLocation报错如何解决
  • org.apache.zookeeper.server.quorum.QuorumPeerMain
  • AI助力古诗视频制作全流程化教程
  • MySQL版本升级(8.0.31->8.0.37)
  • 外键约束
  • 电路元件与电路基本定理
  • Xshell远程连接提示“找不到匹配的host key算法“问题处理
  • 【Java 数据结构】LinkedList 类 和 模拟实现链表
  • html+css+js网页设计 美食 全屏幕轮播美食1个页面
  • 基于监督学习的神经网络控制算法详细介绍和例程
  • 数学建模 绘图 图表 可视化(2)
  • mybatis-plus 代码生成
  • 嵌入式开发 的算法与数据结构
  • 5-Linux 系统中VIM 编辑器的基本使用
  • 跨语言学习之C++ 和 Python 的赋值操作 (等号“=“) 的区别
  • MATLAB用find函数结合all,any函数高效解决问题