首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

atss

ATSS(Adaptive Training Sample Selection)是一种自适应训练样本选择技术,主要用于深度学习模型的训练过程中,以提高模型的性能和训练效率。以下是对ATSS的详细解释:

基础概念

ATSS的核心思想是根据当前模型的预测能力动态地选择训练样本。传统的随机采样方法可能会导致模型在训练过程中难以收敛或过拟合。ATSS通过计算每个样本的重要性分数,并根据这些分数进行采样,从而优化训练过程。

相关优势

  1. 提高模型精度:通过选择更有代表性的样本,ATSS可以帮助模型更快地收敛到最优解。
  2. 减少过拟合:动态调整样本选择可以避免模型对某些特定样本过度依赖,从而减少过拟合的风险。
  3. 提升训练效率:ATSS减少了不必要的样本处理,使得训练过程更加高效。

类型与应用场景

ATSS主要应用于目标检测等计算机视觉任务中。它可以根据目标的类别、大小和位置等信息,动态调整采样策略。

  • 单阶段目标检测器:如YOLO系列和SSD,这些检测器通常使用ATSS来优化正负样本的选择。
  • 多阶段目标检测器:如Faster R-CNN,也可以通过ATSS来改进其训练过程。

实现原理

ATSS的计算过程主要包括以下几个步骤:

  1. 计算每个样本与所有正样本的中心距离
  2. 根据这些距离计算每个样本的重要性分数
  3. 根据分数进行采样,确保正负样本的比例适中

示例代码(Python)

以下是一个简化的ATSS实现示例,用于说明其基本原理:

代码语言:txt
复制
import torch

def atss_sampling(anchors, gt_boxes, num_samples):
    """
    anchors: 预设的锚框,形状为(N, 4)
    gt_boxes: 真实的目标框,形状为(M, 4)
    num_samples: 需要采样的样本数量
    """
    N = anchors.shape[0]
    M = gt_boxes.shape[0]
    
    # 计算每个锚框与所有真实框的中心距离
    anchor_centers = (anchors[:, :2] + anchors[:, 2:]) / 2
    gt_centers = (gt_boxes[:, :2] + gt_boxes[:, 2:]) / 2
    distances = torch.cdist(anchor_centers, gt_centers)
    
    # 计算每个锚框的重要性分数
    scores = torch.sum(distances, dim=1)
    
    # 根据分数进行采样
    sampled_indices = torch.topk(scores, num_samples).indices
    
    return sampled_indices

# 示例使用
anchors = torch.tensor([[10, 10, 20, 20], [30, 30, 40, 40]])
gt_boxes = torch.tensor([[15, 15, 25, 25], [35, 35, 45, 45]])
num_samples = 1

sampled_indices = atss_sampling(anchors, gt_boxes, num_samples)
print("Sampled Indices:", sampled_indices)

可能遇到的问题及解决方法

  1. 采样不均衡:如果发现正负样本比例失衡,可以调整ATSS的计算公式,增加对少数类别的权重。
  2. 计算复杂度高:在大规模数据集上,ATSS的计算可能会变得非常耗时。可以通过并行计算或优化算法来提高效率。
  3. 模型收敛慢:如果模型收敛速度较慢,可以考虑增加采样数量或调整学习率。

通过上述方法,可以有效解决ATSS在实际应用中可能遇到的问题,进一步提升模型的性能和训练效率。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 致敬ATSS | Dynamic ATSS再造ATSS辉煌!!!

    ATSS通过根据候选Anchor和GT目标之间的IoU分布,计算均值和标准差来计算自适应阈值。PAA将候选Anchor拟入高斯混合模型中,并对其进行概率分离。...3本文方法 3.1 致敬ATSS ATSS策略经常把正负样本通过计算统计参数(如平均值和标准偏差)选定候选Anchors。...3.2 Dynamic ATSS 本文提出了一种简单有效的动态标签分配策略,将预测引入到标签分配的Anchor中。在早期训练阶段,由于随机初始化,预测是不准确的。...使用ATSS作为基础网络,它有一个CNN Backbone,一个FPN Neck,和一个共享的Head,它分别有2个分支分别用于分类和回归。...只是将CIoUs引入ATSS,标记的目标仍然是Hard Targets。在接下来的实验中,将证明Soft Targets(QFL或VFL)可以进一步提高性能。

    1.7K40

    ATSS : 目标检测的自适应正负anchor选择,很扎实的trick | CVPR 2020

    论文指出one-stage anchor-based和center-based anchor-free检测算法间的差异主要来自于正负样本的选择,基于此提出ATSS(Adaptive Training...  论文的主要贡献如下: 指出anchor-free和anchor-based方法的根本差异主要来源于正负样本的选择 提出ATSS( Adaptive Training Sample Selection...仅有一个超参数$k$,后面的使用会表明ATSS的性能对$k$不敏感,所以ATSS几乎是hyperparameter-free的 Verification [1240]   将ATSS应用到RetinaNet...和FCOS上测试效果: 将RetinaNet中的正负样本替换为ATSS,AP提升了2.9%,这样的性能提升几乎是没有任何额外消耗的 在FCOS上的应用主要用两种:lite版本采用ATSS的思想,从选取GT...从结果来看,在每个位置设定多个anchor box是无用的操作,关键在于选择合适的正样本 Comparison [1240]   实现的是FCOS版本的ATSS,在相同的主干网络下,ATSS方法能够大幅增加准确率

    1.8K80

    2020CVPR | ATSS——最新技术的目标检测(文末源码下载)

    简要 详细解释了anchor-free与anchor-based的本质区别,此外,使用ATSS去尝试解决label assignment的问题; ATSS是目标检测中可以学习借鉴的点,解决正负样本的选取问题...、Centernet; 2) Center-based:FCOS、Foveabox; ATSS需要借助于铺设1个anchor来选取正样本,但无论这1个anchor铺什么比例,或铺多大尺寸,ATSS提升都挺稳定...,主要是因为ATSS会根据目前所铺设的anchor,自适应地根据统计信息来选取合适的正负训练样本; 关于label assign的上限问题。...关注label assign的除了FreeAnchor、PISA、ATSS之外,还有一篇与ATSS几乎同时放出来的MAL,它的ResNet-50的结果也是39.2。...受此启发,提出了一种新的自适应训练样本选择(ATSS)方法,根据目标特征自动选择正负样本。它弥补了基于锚和无锚探测器之间的差距。

    1.1K30

    【论文解读】VarifocalNet:如何对候选框排序的最优方案

    动机 这部分中,我们研究了FCOS+ATSS的performance的上限,展示了将IoU-aware的分类得分作为排序bias的重要性。...结果如表1,原始的FCOS+ATSS的AP是39.2,当我们在推理的时候对centerness得分使用gt值(gt_ctr)的时候,只提升了2个点,类似的,我们把centerness值替换为gt_IoU...相比之下,使用gt包围框的FCOS+ATSS在没有centerness的情况下,达到了56.1的AP。...VarifocalNet 基于上面的发现,我们提出去学习一个IoU-aware的分类得分(IACS)来排序检测结果,然后我们基于FCOS+ATSS,去掉了centerness分支,构建了一个新的dense...相比于FCOS+ATSS,有3个新东西:varifocal loss,星型包围框以及包围框优化。

    60120

    【源头活水】PSS:更简单有效的End-to-End检测

    paper68】下载本论文 代码链接:即将开源 01 Motivation 我们提出了一种简单的NMS-free、end-to-end的目标检测框架,仅需要对现有one-stage检测器(FCOS、ATSS...因为我们发现原先比如DeFCN固定采用center sampling策略作为spatial prior会有问题,比如FCOS在每个level assign正样本的时候是配置了range的,再比如ATSS...03 Experiments 我们主要在FCOS和ATSS上接上我们的PSS方法进行实验,结果如下: ?...我们大大缩小了E2E检测与NMS-based检测的gap,达到甚至超过了ATSS、FCOS的baseline,网络推理耗时仅少量增加,并且由于移除了NMS,我们的后处理耗时减小了。...04 Conclusion 我们提出了一个更简单和更有效的E2E检测框架,仅需要对FCOS、ATSS进行简单的修改,就能移除NMS,并且达到和超过ATSS、FCOS的baseline。

    89120

    目标检测 | ATSS:自适应选择正负样本,消除Anchor-based和Anchor-free算法之间的性能差异

    另外,在一个水下机器人目标检测大赛Rank 6的经验分享中,同样使用了ATSS方法来提升目标检测的性能,可见ATSS算法的实用性也不错。 ?...总的来说,唯一的超参数k相当健壮,所提出的ATSS几乎可以视为无超参数。 ? ATSS对于不同的anchor设置是鲁棒的。 ?...如果没有ATSS,anchor越多性能就越好,但是加上ATSS即使一个anchor性能也很不错。...在不使用ATSS的情况下,在每个位置上使用更多的anchor更得到较好的性能提升;但是在提出本文的ATSS方法后,无论在每个位置平铺多少anchor,结果都是相同的。...ATSS也可以用到anchor-free上,具体方法是假设location位置处是一个8倍下采样率大小的正方形。

    2.1K10

    Rank & Sort Loss for Object Detection and Instance Segmentation

    在我们对RS Loss训练的ATSS的分析中,我们观察到基于值的任务平衡执行类似于调谐λ盒(平均为0 AP)。...6.1.2、一阶段检测器我们对ATSS和PAA分别进行了中心头和IoU头的架构培训。...对于所有基于排名的损失,我们采用Oksuz等人的锚配置(不同的锚配置不影响标准ATSS的性能),并将学习率设置为0.008。...对于ATSS和PAA, RS Loss比基于排名的替代方案提供了显著的增益,在之前的工作中使用类SSD增强,训练了100个epoch,ATSS为1.8/2.2 AP增益,AP/aLRP Loss为3.7...虽然QFL和ATSS的RS损失结果相似,但有0.8的AP差距有利于我们的RS损失,这可能是由于PAA中不同的正负标签方法(表2)。

    1.7K20

    ARM-CPU150FPS | PicoDet助力移动端达到超实时检测(强烈建议工程人员学习)

    ATSS提出了一种自适应训练样本选择,根据目标的统计特征自动选择正样本和负样本。...直接将正样本和负样本划分出来; FCOS 以中心点在Ground Truth内部的Anchor为正样本; YOLOv4 和 YOLOv5 选择Ground Truth中心点及其相邻Anchor为正样本; ATSS...1、CSP-PAN 首先得到与NanoDet相似的Base模型,Backbone采用ShuffleNetV2-1x ,Neck采用无卷积的PAN,Loss采用标准GFL Loss,标签分配策略采用ATSS...3、Label Assignment Strategy 在前一节的相同配置下,用原始的SimOTA和修改的SimOTA替换ATSS。发现n越大效果越差。然后将参数n设置为10。...ATSS的性能与原SimOTA几乎相同。修改的mAP (0.5:0.95) SimOTA达到30.0。

    2.3K30

    VariFocalNet | IoU-aware同V-Focal Loss全面提升密集目标检测(附YOLOV5测试代码)

    性能优于ATSS、EfficientDet等网络,代码现已开源! 作者单位:昆士兰科技大学, 昆士兰大学 1 简介 准确地对大量候选检测器进行排名是高性能密集目标检测器的关键。...为此在去掉中心分支的FCOS+ATSS的基础上,构建了一个新的密集目标检测器,称为VarifocalNet或VFNet。...这里在训练期间使用ATSS来定义前景和背景点。 VFNet的推理很简单,只涉及通过网络模型传输输入图像和NMS的后处理步骤,以消除冗余检测。...可以看到Varifocal损失使RetinaNet, FoveaBox和ATSS持续改善0.9 AP。对于RepPoints增加了1.4 AP。...由于在完全相同的设置下很难得到所有列出的检测器的速度,所以只将VFNet与Baseline ATSS进行比较。

    6.1K30
    领券