技术分享半锚式检测器SemiAncho

北京酒渣鼻中医医院 http://pf.39.net/bdfyy/bdfyw/210310/8733706.html

半锚式检测器:Semi-Anchored

摘要:

目前标准的一阶段检测器主要包括两个任务:分类和回归。引入锚框策略有利于减轻多尺度目标回归的挑战,但是锚框中的类不平衡问题会导致分类性能降低;无锚框策略有利于分类器任务,但是缺乏先验框所以难以回归到最优值。本文提出了一个半锚式检测器(Semi-Anchored),在分类过程中确定正位置,并且将多个anchors与回归的正位置相关联

问题起源:

采用锚框时背景候选框的数量明显大于前景候选框,这种不平衡的框会提升目标检测的难度(不同区域会匹配不同尺度的锚框去结合不同尺度的物体,即使在最正确的区域还有着许多的背景框),无锚框策略缺乏先验框使得回归任务难以超优。

解决方案:

文章提出了位置分类器和锚点回归器来解决以上问题。

位置分类器:

在没有锚的情况下对featuremap中的位置进行分类,锚点的正候选点与负候选点的比率从1:提高到位置的1:。一个位置是指featuremap中的一个像素,设{xi,yi}表示位置集,其中xi为特征,yi表示第i个位置的标号。对于C个前景对象的问题,我们让yi∈{0,…,C}其中yi=0表示背景位置,位置分配标签的方式是groundtruth边界盒内的位置用相应的前景标签进行标记,并且每个位置都可以与多个前景对象相关联。对于其中的位置,将K个锚框与不同的比例和纵横比关联,利用groundtruth边界盒计算loss,得到锚点的标号。设one-hot向量yi,k∈{0,1}C+1表示第i个位置上第k个锚点的标号。通过对一个位置锚的标签,我们可以得到该位置的置信分数为:

锚点中存在的大量样本,故采用IOU定义正锚,0≤γ≤1的分数重新标为背景(即c=0,其中sci为si中第c个元素)。

锚只用于获取位置标签,图中可看出不必要的位置被标记为了背景:

相当于采用阈值移动以解决类不平衡的问题,当给定了置信度分数则第i个位置的标签可以定义为:

得到位置后便可采用focalloss训练分类器:

位置分类器可以推出对象c的第i个位置的概率Pr{yi=c

xi}

锚点回归器:

为每个位置关联多个锚点,锚点{zi,K}K=1,…,K,其中zi,K表示第K个锚点在第i个位置的特征。我们的目标是估计每个锚点的概率为Pr{yi,k=c

xi,zi,k},此处只有对应位置的概率Pr{yi=c

xi},由于锚点的标签应该与位置一致,故计算条件概率为:

锚具具有相同的定位性能,由于锚具的形状不同,所以性能不佳,因此附加一个锚分类头来识别每个位置的前景锚,识别锚与相同的标签作为位置,因此可将训练集收集为{zi,k,yi,k}

传统的锚框方法中锚的标签{yi,k}是根据锚的先验形状计算的,然而回归后细化的形状与原始形状不一致,导致了很大的差异,本文通过计算回归后改进锚点的loss来消除该误差,有了适合的标签便可以优化focalloss以学习锚分类器,μi,k表示锚点zi,k的IoU。我们将每个位置的IoU分数归一化为:

采用分数作为软标签,并引入asmoothedfocalloss:

与标准focalloss相比,我们有μ?,k的平滑标签正锚,而不是1,可以捕获不同的锚更好的分布和提高性能。在提出的平滑focal损失的情况下,锚分类器是通过最小化所有前景位置的损失来学习的:

点击上方蓝字



转载请注明地址:http://www.wangzhidongd.com/zyjr/5769.html
  • 上一篇文章:
  • 下一篇文章:
  • 热点文章

    • 没有热点文章

    推荐文章

    • 没有推荐文章