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

[复制链接]
发表于 2024-12-29 17:06:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
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,减少对背景区域的误检测。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表