SNIPER: Efficient Multi-Scale Training
参考 SNIPER: Efficient Multi-Scale Training - 云+社区 - 腾讯云
摘要
我们提出了SNIPER算法,在实例级视觉识别任务中执行有效的多尺度训练。 与处理图像金字塔中的每个像素不同,SNIPER在适当的尺度上处理地面真实实例(称为芯片)周围的上下文区域。 对于背景采样,这些上下文区域是使用从具有短学习计划的区域建议网络中提取的建议生成的。 因此,在训练过程中,每幅图像生成的chip数量会根据场景复杂度自适应变化。 与COCO数据集上800x1333像素的常用单尺度训练相比,SNIPER仅多处理30%的像素。 但是,它也观察图像金字塔的极端分辨率的样本,比如1400x2000像素。 由于SNIPER在重新采样的低分辨率chip(512x512像素)上运行,即使使用ResNet-101骨干,它在单个GPU上的批量大小也可以达到20个。 因此,它可以在训练期间受益于批处理规范化,而不需要跨GPU同步批处理规范化统计信息。 SNIPER将目标检测等实例级识别任务的训练更接近于图像分类协议,并指出,对于实例级视觉识别任务而言,在高分辨率图像上进行训练是很重要的这一普遍接受的指导方针可能并不正确。 我们的实现基于Faster-RCNN和ResNet-101骨干在COCO数据集上获得了47.6%的mAP来进行包围框检测,并且在使用单个GPU进行推理时每秒可以处理5幅图像。
1、Introduction
人类有一个中央凹视觉系统,它关注固定距离和大小的物体。 例如,当我们聚焦在附近的物体时,远处的物体会变得模糊。 当然,我们很难同时关注不同尺度的物体[30]。 我们在任何给定的时间点只处理一个小的视场,自适应地忽略图像中剩余的视觉内容。 然而,为目标检测等视觉识别任务而设计的计算机算法却偏离了这种处理视觉信息的自然方式。 为了获得对尺度具有鲁棒性的表示,流行的检测算法如Faster-RCNN/Mask-RCNN在多尺度图像金字塔上进行训练。 由于每个像素都在每个尺度上进行处理,这种处理视觉信息的方法大大增加了训练时间。 例如,构建一个3比例的图像金字塔(例如,比例=1x,2x,3x)需要处理原始图像中14倍的像素。 因此,在许多场景中使用多尺度训练是不切实际的。
最近的研究表明,在[33]训练过程中,忽略具有极端分辨率的物体的梯度是有益的。 例如,在构建3个尺度的图像金字塔时,在大分辨率和小分辨率下,大目标和小目标的梯度分别应该被忽略。 如果是这样,一个直观的问题就会出现,我们是否需要以3倍的分辨率处理整个图像? 在这个分辨率下,在小物体周围采集一个小得多的RoI(chip)难道还不够吗? 另一方面,如果图像已经是高分辨率的,并且其中的目标也很大,那么对图像进行上采样有什么好处吗?
虽然忽略图像的重要部分会节省计算,但较小的芯片也会缺乏识别所需的上下文。 在较高的分辨率下,很大一部分背景也会被忽略。 因此,在加速多尺度训练的同时,需要在计算、上下文和负挖掘之间进行权衡。 为此,我们提出了一种新的训练算法,称为高效重采样图像金字塔的尺度归一化(SNIPER),该算法以图像内容为条件,自适应地从图像金字塔的多个尺度上采样芯片。 我们取样基于地面真实实例的正筹码,以及基于区域提案网络产生的提案的负筹码。 在相同的条件下(固定批归一化),我们证明了SNIPER的表现与SNIP[33]中提出的多尺度策略一样,同时在COCO数据集上训练时将处理过的像素数减少了3倍。 因为SNIPER是在512x512大小的芯片上训练的,所以它可以在单个GPU节点上通过批量归一化训练获得大批量的好处。 特别是,即使使用基于ResNet-101的Faster-RCNN检测器,我们也可以使用每个GPU 20个批大小(导致总批大小为160个)。 在高效的同时,SNIPER在COCO检测数据集上获得了具有竞争力的性能,即使是使用像Faster-RCNN这样的简单检测架构。
2、Background
基于深度学习的目标检测算法主要是从R-CNN检测器进化而来,该检测器从无监督算法生成的目标建议开始,将这些建议调整为标准的224x224大小的图像,并使用卷积神经网络对它们进行分类。 这个模型是比例不变的,但是R-CNN的训练和推理的计算成本与建议的数量成线性比例。 为了缓解这一计算瓶颈,Fast-RCNN提出将区域建议投影到一个高级卷积特征映射上,并使用融合的特征作为区域建议的语义表示。 在此过程中,卷积层的计算是共享的,每个方案只应用轻量级全连接层。 但是,对于不同大小的对象进行卷积是在单一尺度上进行的,这破坏了R-CNN的尺度不变性。 因此,在多个尺度上进行推理,并通过从一对邻近的尺度中选择与预训练网络分辨率更接近的特征来结合多个尺度的检测。 fast -RCNN模型已经成为对区域提议进行分类的事实上的方法,因为它速度快,并且在其特征中捕获了更多的上下文,而这在R-CNN中是缺乏的。
值得注意的是,在多尺度训练中,Fast-RCNN对图像中的每一个提案(无论大小)进行上采样和下采样。 这与R-CNN不同,在R-CNN中,每个提案都被调整为224x224像素的标准尺寸。 在R-CNN中,大目标不上采样,小目标不下采样。 在这方面,R-CNN更合适的做法是,不对图像中的每个像素进行上下采样,而只对可能包含适当分辨率的物体的区域进行采样。 然而,R-CNN并没有类似Fast-RCNN的卷积特性,这使得它的速度变慢。 为此,我们提出了SNIPER,它通过生成特定规模的上下文区域(芯片)来保留这两种方法的好处,该区域覆盖了特定规模的最大建议。 SNIPER对芯片内的所有提案进行分类,如Fast-RCNN,使我们能够对chip内的多个提案进行有效分类。 由于SNIPER不会对有大目标的图像进行上采样,也不会对容易处理的背景区域进行处理,因此与在图像金字塔上训练的Fast-RCNN检测器相比,它的速度要快得多。
SNIP也在图像金字塔的几乎所有像素上进行训练(如Fast-RCNN),尽管由极端分辨率的目标产生的梯度被忽略。特别的是,图像金字塔的2个分辨率(480和800像素)总是在进行训练,在图像的1400像素分辨率的最细尺度上采样多个1000像素的作物。SNIPER将这种裁剪过程发挥到极致,从图像金字塔的3个尺度上取样512像素。在极端的尺度(如3x), SNIPER观察到的原始内容不到图像的十分之一。不幸的是,由于仅使用ground truth实例生成的SNIPER chip与原始图像的分辨率相比非常小,很大一部分背景没有参与训练。这导致假阳性率增加。因此,为背景区域生成chip也很重要。在SNIPER中,这是通过从可能覆盖假阳性的区域随机取样固定数量的chip(本文中最多为2个)来实现的。为了找到这样的区域,我们训练了一个时间表很短的轻量级RPN网络。这个网络的提议被用来为可能包含假阳性的区域生成chip(这也可能被像EdgeBoxes[42]这样的无监督提议所替代)。加入负芯片采样后,SNIPER的性能与SNIP相当,但速度是SNIP的3倍!由于我们可以通过观察不到十分之一的图像来获得相似的性能,这意味着在训练过程中非常大的上下文对于训练高性能的检测器并不重要,但包含难负的采样区域是重要的。
3、SNIPER
我们将在这一节描述SNIPER的主要组件。一种是正/负芯片挖掘,另一种是芯片生成后的标签分配。最后,我们将讨论与SNIPER训练的好处。
3.1 Chip Generation
SNIPER在多尺度生成chip 。对于每个尺度,图像首先调整为宽度()和高度()。在这张画布上,像素chip以像素的等距放置(本文将设为32)。这就产生了一个二维的chip阵列。
3.2 Positive Chip Selection
对于每个尺度,都有一个所需的面积范围,它决定每个尺度的哪些ground truth框/方案参与训练。中的ground truth边界框的有效列表被称为。然后,贪婪地选择chip,以覆盖最大数量的有效ground truth框()。如果一个ground-truth box完全封闭在chip内部,则称其为covered。从一个比例的所有积极的芯片被合并为每个图像,并被称为。对于每一个ground truth包围框,总是有一个chip覆盖它。由于连续的包含重叠的间隔,一个ground-truth bounding box可以分配给多个不同尺度的chip。同样有可能的是,同一个ground truth边界框可能是来自相同规模的多个chip。部分重叠的ground truth实例(IoU>0)用chip裁切。所有裁剪的ground-truth框(有效或无效)都保留在chip中,用于标签分配。
这样,每个ground-truth框都以适当的比例被覆盖。由于作物的大小比图像的分辨率小得多(例如,对于高分辨率图像,要小10倍以上),SNIPER无法在高分辨率下处理大部分背景。在处理高分辨率图像时,这将显著节省计算和内存需求。我们用图1所示的示例来说明这一点。图的左侧显示了由绿色边框框表示的地面真实框。图左侧的其他彩色矩形为SNIPER在原始图像分辨率下生成的chip,覆盖所有物体。这些chip显示在图形的右侧,边框颜色相同。绿色和红色的边界框分别表示与chip规模对应的有效和无效的ground-truth目标。可以看出,在这个例子中,SNIPER通过形成4个低分辨率chip,有效地处理了所有合适规模的ground-truth目标。
3.3 Negative Chip Selection
虽然积极的chip覆盖了所有积极的实例,但很大一部分背景并没有被它们覆盖。错误的背景分类增加了假阳性率。在当前的目标检测算法中,在进行多尺度训练时,对图像中的每个像素进行各个尺度的处理。尽管各种规模的训练降低了假阳性率,但也增加了计算量。我们假设大量的背景很容易分类,因此,我们可以避免在这些区域执行任何计算。那么,我们如何剔除那些容易分类的区域呢?一种简单的方法是使用对象建议来识别可能存在对象的区域。毕竟,我们的分类器对区域建议进行操作,如果在图像的一部分没有区域建议,这意味着它很容易被分类为背景。因此,我们可以在训练时忽略图像的这些部分。
为此,对于负chip挖掘,我们首先训练RPN几个epoch。没有负chip用于训练这个网络。这个网络的任务是粗略地指导我们选择可能包含假阳性的区域,所以不需要非常准确。这个RPN用于在整个训练集中生成建议。我们假设,如果RPN在图像的大部分区域没有生成建议,那么它不太可能包含目标实例。对于负chip选择,对于每个尺度,我们首先删除中包含的所有建议。然后,对于每个尺度,我们贪婪地选择中至少包含个建议的所有chip。这将为每张图像的每个比例生成一组负chip,。在训练过程中,我们从这个从所有尺度生成的负芯片池中,每个epoch(每张图像)随机抽取固定数量的负芯片,即。图2显示了由SNIPER生成的负chip示例。第一行显示图像和地面真实框。在底部一行中,我们展示了未涵盖的提案以及生成的相应的负筹码(橙色框)。然而,为了清晰起见,我们在每个建议的中心用一个红色圆圈表示。如图所示,SNIPER只处理可能包含假阳性的区域,从而加快处理时间。
3.5、Benefits
为了训练,我们从整个数据集随机抽取chip,生成一批。平均,我们生成大致5个chip,大小512 x512可可数据集的图像(包括负chip),当训练三个尺度(512/ms 2, 1:667, 3)。这是只有30%以上的像素数量每图像处理时执行单一的训练规模的图像分辨率800 x1333。因为我们所有的图像都是相同大小的,所以数据打包得更好,GPU利用率更好,很容易克服额外的30%开销。但更重要的是,我们收获了在3个尺度上的多尺度训练、大批量和批归一化训练的好处,而在单个8个GPU节点上的性能没有任何下降。
人们通常认为高分辨率的图像(例如800x1333)对于级别识别任务是必要的。因此,例如级别识别任务,不可能使用在单个GPU上计算的批归一化统计进行训练。为了缓解这一问题,有人提出了同步批处理归一化或在128个GPU上进行训练等方法。同步批处理规范化显著降低了训练速度,而且在128个GPU上进行训练对大多数人来说也是不切实际的。因此,最近有人提出了组归一化,以便实例级识别任务可以从训练期间低批处理设置的另一种形式的归一化中受益。使用SNIPER,我们可以缓解图像分辨率瓶颈,例如级别识别任务。只要我们能够覆盖负面信息,并使用适当的尺度归一化方法,我们就可以使用大量重采样的低分辨率芯片进行训练,即使是在像COCO这样具有挑战性的数据集上。我们的结果表明,在训练过程中,特定视野之外的环境可能是不利的。也有可能是深度神经网络的有效接受域不够大,不足以利用图像中远处的像素,如[24]所示。
在OpenImagesV4这样包含1.7百万图像的非常大的数据集中,大多数对象都是大的,提供的图像是高分辨率的(1024x768),所以将图像向上采样3倍并不那么重要。在本例中,使用SNIPER,我们生成了3:5百万大小为512x512的chip,使用(512/ms, 1)的比例。注意,SNIPER还执行自适应下行采样。由于比例尺较小,chip将覆盖更多的背景,从而减少了负采样的影响。在这种情况下(正向芯片选择),与OpenImagesV4中上述尺度上的原始多尺度训练相比,SNIPER只处理了一半的像素。因此,我们能够在3天内在一个8个GPU节点上用ResNet-101骨干训练Faster-RCNN在1百万张图像上!
4、Experiments
我们评估SNIPER在COCO数据集上的目标检测。COCO在训练和验证集中包含123,000个图像,在测试开发集中包含20288个图像。我们在联合训练和验证集上进行训练,并在测试开发集上报告结果。由于评估服务器不提供建议的召回,我们对118,000张图像进行培训,并报告其余5,000张图像的召回(通常称为最小集合)。
在COCO上,我们以128批的批量,0.015的学习率训练SNIPER。我们使用512×512像素大小的芯片。训练尺度设置为(512/ms, 1.667,3),其中ms为image3的最大宽度和高度值。对于每个尺度,所需的面积范围(即)分别设置为(0,802)、(322,1502)和(1202,inf)。训练总共进行6个阶段,在阶段5结束时降下来。图像翻转被用作一种数据增强技术。每个epoch需要11000次迭代。为了训练无负号的RPN,每个epoch需要7000次迭代。我们使用RPN生成负chip,并以固定的学习速率0.015进行2个纪元的训练,没有任何降阶。因此,训练2个epoch的RPN只需要不到总训练时间的20%。RPN建议是从所有尺度中提取的。请注意,推理需要1/3的时间,完全向前向后传递,我们不执行提取建议的任何翻转。因此,这个过程也是高效的。我们使用[27]中描述的混合精确训练。为此,我们将权重衰减调整为100,学习率调整为100,梯度调整为100。这确保了我们可以训练半精度的激活(因此约2倍大批大小)没有任何准确性损失。我们对RPN (classification and regression)中的第一卷积层、最后卷积层以及Faster-RCNN中的全连接层使用fp32权值。
我们使用一种流行的检测器,Faster-RCNN与ResNets和MobileNetV2来评估SNIPER。利用RPN在conv4特征的基础上生成建议,并将conv4和conv5特征连接起来进行分类。在conv5分支中,我们使用可变形的卷积和步幅为1。在RPN中,我们使用512维特征图。对于分类分支,我们首先将连接的特征映射投影到256维,然后添加2个全连接层和1024个隐藏单元。对于像MobileNetv2这样的轻量级网络,为了保持网络的计算处理能力,我们没有对网络做任何架构上的改变,比如改变网络的步幅或添加可变形的卷积。我们将RPN维度减少到256,fc层的大小从1024减少到512。对于MobileNetv2,在stride为32的层上同时应用了RPN和分类分支。
在图像翻转后,SNIPER为COCO数据集生成1.20万个chip。这导致每张图像大约有5个chip。在一些包含多个目标实例的图像中,SNIPER可以生成多达10个chip,而在有单个较大显著目标的图像中,它只能生成单个chip。在某种意义上,它减少了梯度传播到实例级的不平衡,该实例级存在于检测器中,检测器是在全分辨率图像上训练的。至少在理论上,全分辨率图像的训练偏向于大目标实例。
4.1、召回率分析
我们观察到,如果我们不进行负采样,RPN的召回率(在多个重叠阈值上平均为0.5:0.05:0.95)不会下降。这是因为回忆不能解释假阳性。如4.2节所示,这与负采样起重要作用的mAP检测相反。此外,在正向芯片取样中,我们确实覆盖了每一个地面真实样本。因此,为了生成建议,只在正样本上进行训练就足够了。这一结果进一步支持了SNIPER基于RPN寻找负值的策略,即仅对正样本进行训练。
4.2、负chip挖掘和尺度
SNIPER使用负chip挖掘来降低误报率,同时通过跳过图像内容易识别的区域来加速训练。如第3.3节所述,我们使用具有短学习计划的区域提议网络来寻找这些区域。为了评估我们的负挖掘方法的有效性,我们比较了SNIPER的平均精度和一个轻微的变体,即仅在训练期间使用正chip(记为SNIPER w/o negg)。其他参数保持不变。表2比较了这些模型的性能。提出的负chip挖掘方法显著改善了所有定位阈值和目标大小的AP。值得注意的是,负chip挖掘将平均精度从43.4提高到46.1。这与我们评估提案的上一节形成了对比。这是因为mAP会受到误报的影响。如果我们在图像中不包含包含在外观上类似于阳性实例的阴性区域,它将增加我们的假阳性率,并对检测性能产生不利影响。
SNIPER是一种高效的多尺度训练算法。在本文的所有实验中,我们都使用了上述三种量表(详见第4节)。为了证明SNIPER有效地受益于多尺度训练,我们通过降低高分辨率尺度,将尺度数量从3个减少到2个。表2显示了在这两种设置下SNIPER的平均精度。可以看到,通过减少规模的数量,在所有评估指标上的性能都会大幅下降。
4.3、定时
它需要14个小时来训练SNIPER端到端的8 GPU V100节点与更快的rcnn探测器,它有一个ResNet-101骨干。值得注意的是,我们在图像金字塔的3个尺度上进行训练(最大大小为512、1.667和3)。训练RPN的效率要高得多,只需要2小时的预训练。SNIPER不仅训练效率高,还可以在单个V100 GPU上每秒处理约5张图像。为了更好地利用资源,我们在推理过程中并行运行多个进程,并计算处理一批100张图像所需的平均时间。
4.4、推断
我们对图像金字塔进行推理,并将原始图像缩放到以下分辨率(480,512)、(800,1280)和(1400,2000)。第一个元素是最小尺寸,条件是最大尺寸不超过第二个元素。训练和推断的有效范围类似于SNIP。为了结合检测,我们使用了软网管[4]。我们不执行翻转、迭代包围框回归或掩模收紧。
4.5、和SOTA的比较
很难比较不同的检测器,因为它们在主干结构(如ResNet, ResNext, Xception),预训练数据(如ImageNet-5k, JFT, OpenImages),底层网络的不同结构(如多尺度特征,可变形卷积,重头部,锚的大小,路径聚合),测试时间的增加,如翻转,遮罩收紧,迭代包围框回归等。
因此,我们将我们的结果与SNIP进行了比较,SNIP是一种在图像金字塔上训练目标检测器的新方法。结果如表3所示。在不使用批处理归一化的情况下,SNIPER获得了可比的结果。SNIP处理几乎所有的图像金字塔,而SNIPER则通过跳过容易的区域来减少计算成本。此外,由于SNIPER在低分辨率输入上操作,它减少了内存占用。这允许我们增加批大小,与SNIP不同,我们可以在训练期间从批规范化中受益。通过批处理规范化,SNIPER在所有指标上都显著优于SNIP。需要指出的是,本文提出的方法不仅更准确,而且在训练过程中速度快了3倍。据我们所知,对于具有ResNet-101主干(具有可变形的卷积)的Faster-RCNN架构,我们报告的46.1%的结果是最先进的。如果我们在OpenImagesV4数据集上预先训练检测器,这个结果将提高到46.8%。增加一个实例分割头,同时对检测网络进行训练,将性能提高到47.6%。
利用我们高效的批处理推理流水线,我们可以在单个V100 GPU上每秒处理5张图像,同时仍然获得47.6%的mAP。这意味着在现代gpu上,可以对高分辨率(如1400x2000)的图像金字塔进行推理。我们还展示了使用MobileNetV2训练的Faster-RCNN的结果。它获得了34.1%的mAP,而SSDLite[31]版本获得了22.1%。这再次强调了图像金字塔(和SNIPER训练)的重要性,因为我们可以将检测器的性能提高12%。
我们还显示了实例分割的结果。网络结构与Mask-RCNN相同,只是我们不使用FPN,而是使用与目标检测相同的检测结构。对于多任务,我们尝试了两种不同的损失函数来训练掩模分支。一个是用于N个类的前台-后台softmax函数,另一个是N+1路softmax函数。例如,对于每个类,使用2-way Softmax loss训练的网络显然表现得更好。但是,对于目标检测,N+1方式的Softmax损失导致稍微更好的结果。在推理过程中,我们只使用3个尺度,不执行翻转、掩模收紧、迭代边界盒回归、调整尺寸前填充掩模等操作。我们的实例分割结果是初步的,到目前为止我们只训练了2个模型。
5、相关工作
SNIPER得益于去年开发的多种技术。值得注意的是,对于目标检测和语义分割等任务,使用批处理归一化统计数据进行训练是非常重要的。这是狙击手表现更好的一个重要原因。SNIPER还得益于大量批量,这被证明是有效的目标检测。像SNIP一样,SNIPER忽略图像金字塔中极端尺度上的目标梯度,以改进多尺度训练。
过去,人们提出了许多不同的方法来理解语境、尺度和抽样]的作用。利用网络的不同层的特征和设计体系结构来明确编码上下文/多尺度信息,以进行分类,这是非常重要的。我们的结果强调了上下文对于训练高性能目标检测器可能不是很重要。
6、结论和将来的工作
我们提出了一种有效的多尺度训练算法,该算法从多尺度图像金字塔中采样低分辨率chip,可将多尺度训练速度提高3倍。在这样做的过程中,SNIPER没有因为正、负chip的有效采样技术而影响检测器的性能。由于SNIPER操作在重新采样的低分辨率chip上,它可以在单个GPU上使用大量批量进行训练,这使它更接近训练图像分类的协议。这与在高分辨率图像上进行实例级识别任务训练的常见做法形成了对比。在未来,我们希望加速多尺度推断,因为可以在不执行昂贵的计算的情况下消除很大一部分背景。评估什么chip分辨率会影响目标探测器的性能也是很有趣的。
SNIPER: Efficient Multi-Scale Training相关推荐
- 《MA‑CRNN: a multi‑scale attention CRNN for Chinese text line recognition in natural scenes》论文阅读
参考博文: CRNN的一个变种,可以读一读,看看相对于CRNN来说有什么变化?以及为什么? 文章目录 make decision step1:读摘要 step2:读Introduction step3 ...
- SNIPER: Efficient Multi-Scale Training解读
它算是An Analysis of Scale Invariance in Object Detection-SNIP的增强版,依然在思考怎么能更好的解决检测中的多尺度问题 Introduction ...
- [文献阅读] Sparsity in Deep Learning: Pruning and growth for efficient inference and training in NN
文章目录 1. 前言 2. Overview of Sparsity in Deep Learning 2.1 Generalization 2.2 performance and model sto ...
- 2021年小目标检测最新研究综述 很全面值得收藏
摘要 小目标检测长期以来是计算机视觉中的一个难点和研究热点.在深度学习的驱动下,小目标检测已取得了重大突破,并成功应用于国防安全.智能交通和工业自动化等领域.为了进一步促进小目标检测的发展,本文对小目 ...
- 《小目标目标检测的解决方法及方式》
<小目标目标检测的解决方法及方式> 最近在做小目标相关的项目,参考了一些博客.论文及书籍,在这里对小目标的方法和方式做了些总结.如果有哪些问题理解错误或补充欢迎讨论. 1.什么是小目标检测 ...
- 综述 | 目标检测中的多尺度检测方法
本文从降低下采样率与空洞卷积.多尺度训练.优化Anchor尺寸设计.深层和浅层特征融合等多个方面入手,对目标检测中的多尺度检测方法进行了全面概述,并介绍了多尺度检测相关方法. 前面的话 传统卷积网络通 ...
- 检测到目标服务器启用了trace方法_综述:目标检测中的多尺度检测方法
↑ 点击蓝字 关注极市平台作者丨SFXiang来源丨AI算法修炼营编辑丨极市平台 极市导读 本文从降低下采样率与空洞卷积.多尺度训练.优化Anchor尺寸设计.深层和浅层特征融合等多个方面入手,对目标 ...
- 目标检测中的性能提升方法综述
文章目录 一.多尺度检测 1.什么是多尺度检测? 2.降低下采样率与空洞卷积 3.多尺度训练 4.优化Anchor尺寸训练 5.深层与浅层特征融合 6.SNIP,尺度归一化 7.TridentNet, ...
- 从0梳理1场CV缺陷检测赛事!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:江保祥,厦门大学 一.布匹缺陷检测比赛分析 1. 赛题背景 去年的 ...
最新文章
- 所有机器学习项目都适用的检查清单
- PHP Misc. 函数
- 关于负载均衡的三种传输模式(反向代理,透传,三角)
- ORACLE10g安装
- 畅销书《深入浅出Vue.js》作者,在阿里淘系1年的收获成长
- linux不用命令开启ssh,不用密码也能ssh登陆Linux?
- pascal和python的区别_Python如何与其他编程语言不同
- 4个技巧,教你如何用excel绘制出高大上的图表
- 跌落式封隔器行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
- 5分钟内快速上手掌握springtx事务以及注解的使用
- JSP 页面传值方法总结(转)
- 前端小游戏——植物大战僵尸
- EASBOS获取系统状态控制期间
- python 多行注释后可运行程序报错
- ADNI数据集相关概念整理
- 字符处理——大写转小写、小写转大写
- SpringBoot项目启动时如何自动弹出启动页,如何修改默认启动路径
- PDF转图片的工具汇总
- 成都列五中学2021年高考成绩查询,2021年成都列五中学升学率怎么样?
- 用python画小猪佩奇代码_用Python画小猪佩奇
热门文章
- linux csgo 是英文,linux csgo服务器
- Android混淆心得
- 2022年国内私网IP地址
- android AudioRecord 音频录制 噪音消除
- 软件定义网络基础(SDN④)
- MySQL常见命令及基本查询
- Linux --------- 远程操作工具
- 仅改变rowspan背景_山西耗资10亿的小镇,人称长治“小周庄”,距市中心仅16公里...
- win10 删除删除账户,新的账户中文件资源管理器图标变白 找回方法
- Failed to load ‘D:\webpack.config.js‘ config Error: Cannot find module ‘webpack//libRequestShortener