目标检测的意义,目标检测的内容有哪些特点,目标检测的意义,目标检测的内容有哪些方法
点击上方“
机器学习与生成对抗网络
”关注明星。获取有趣好玩的前沿干货!
来源:wovenware编译:CV技术指南
前言
在本文中,将详细介绍anchor,主要包括以下内容:什么:什么是什么:主播?
在哪里:如何以及在哪里为用于目标检测训练的图像生成锚?
什么时候:什么时候可以生成锚?
为什么:为什么要学习偏移量而不是实际值?
如何:如何在训练过程中修改选择的锚点,实现训练目标检测模型?
几年前,主流的SOTA目标检测是基于锚设计的。这方面的研究包括YOLO、SSD、R-CNN、Fast-RCNN、Mask-RCNN和RetinaNet等。主播是一个晦涩难懂的东西,没有任何一篇论文明确定义,具体是什么。很多人第一次接触就头疼。
本文将详细介绍anchor,主要包括以下内容:
什么:什么是什么:主播?
在哪里:如何以及在哪里为用于目标检测训练的图像生成锚?
什么时候:什么时候可以生成锚?
为什么:为什么要学习偏移量而不是实际值?
如何:如何在训练过程中修改选择的锚点,实现训练目标检测模型?
anchor是什么
术语锚定框是指一组预定义的框,其宽度和高度被选择为与数据集中目标的宽度和高度相匹配。提议的锚盒包含可以在数据集中找到的目标尺寸的可能组合。当然,这应该包括数据中存在的不同长宽比和比例。通常选择4-10个锚框作为图像中不同位置的建议。
在计算机视觉领域,深度学习神经网络在图像分类和目标检测方面表现出色。首先,它是一种滑动窗口检测器,可以定位正向传输中的单个目标。滑动窗检测器已经被单级和两级检测器所取代,可以处理整幅图像并输出多次检测。这些目标检测器非常依赖锚盒的概念来优化滑动窗口检测的速度和效率。这是因为滑动窗口检测器需要大量的正向传递来处理图像,而许多正向传递只处理背景像素。有关滑动窗口检测器的说明,请参见下面的图1。
图1:滑动窗口检测器
训练目标检测网络的典型任务包括使用传统的计算机视觉技术提出锚框或搜索潜在的锚,将提出的锚与可能的地面txydbwb框配对,将其余的分配给背景类别并训练以纠正输入的提议框。应当注意,锚盒的概念可以用于预测固定数量的盒。
anchor在图像上如何以及在哪里提出?
实质上,提出锚是关于确定能够适合数据中大多数目标的适当的一组框,在图像上放置假设的和均匀间隔的框,并且创建将卷积特征图的输出映射到图像中每个位置的规则。
为了理解锚盒是如何提出的,考虑包含小目标的256px 256px图像的目标检测数据集,其中大部分位于40px 40px或80px 40px之间。额外的数据整理可能表明地面txydbwb框主要是长宽比为11的正方形或长宽比为21的矩形。
鉴于此,至少应该考虑两个纵横比(1:1和2:1)来为该样本数据集提出锚盒。这些目标的比例是指目标的长度或宽度(以像素为单位)与其包含的图像的总长度或宽度(以像素为单位)的比例。
例如,考虑一幅图像的宽度=256px=1个单位,那么一个40px宽的目标占据的宽度为40px/256px=0.15625个单位,3354,目标占据图像总宽度的15.62%。
为了选择一组最能代表数据的尺度,我们可以考虑具有最极值的目标侧度量,即数据集中所有目标的所有宽度和高度之间的最小值、最小值和最大值。如果样本数据集中的最大和最小标度是0.15625和0.3125,并且我们将为锚盒提议选择三个标度,那么三个潜在标度可能是0.15625、0.234375和0.3125。
如果使用上述两个纵横比(1:1和2:1)和这三个比例(0.15625、0.234375和0.3125)为该样本数据集提议锚定框,我们将总共有六个锚定框来提议任何输入图像中的多个位置。
下图显示了图像上均匀分布的88网格。可以在每个单元的中心提议一个边界框。每个位置提出6个盒子,共计384个。在每个位置,我们可以为长宽比和比例的每个组合提出一个框,每个网格中心/位置总共有六个框。在每个位置都建议使用不同长宽比和比例的盒子,以涵盖所有可能性。
图2:上面有88网格的图像
为了获得图2中网格中每个位置的卷积神经网络预测,考虑一个4通道88特征图,其中每个通道输出每个位置的盒子的x、y、宽度和高度坐标。对于每个位置的六个盒子,考虑4*6通道的8*8特征图。使用锚盒的SOTA架构通常包含维度为8的倍数的特征图。这是可能的,因为卷积神经网络本质上对输入进行下采样,同时通过2D卷积和汇集操作保留重要的空间特征,并且完整卷积层的密集输出的特征图如图3所示。
图3:卷积层显示了下采样是如何发生的,以及每个渐进特征图是如何变小的。
现在让我们来讨论当所提出的网格是如此自然以至于存在包含多个小目标的单个单元时,检测小于网格单元大小——的目标。这可以通过提出更精细的网格并相应地调整特征图的输出形状来解决。更好的是,您可以使用多个网格,并将它们映射到卷积层次中的不同卷积层,就像SSD和RetinaNet预测器头使用的特征金字塔网络一样。
在下一节中,我们将讨论在生成地面txydbwb批次或在推理过程中解释预测时,如何在不同位置的图像上提出锚的概念。
什么时候在图像上提出anchor?
检测器不是预测框,而是为每个提议的边界框预测一组值,主要是锚框坐标偏移和每个学习类别的置信度得分。这意味着相同的锚将总是被建议在每个图像上,并且向前传递的预测偏移将被用于校正这些建议。网络没有将特征图的坐标与图像中的位置匹配的概念,并且其输出对应于锚盒,直到输出被解释。
理论上,由于每个图像将总是与同一组固定锚点提议相关联,并且地面txydbwb在训练过程中不会改变,因此实际上不需要多次提议锚点或将其与地面txydbwb或背景类别进行匹配。建议和基础txydbwb之间的匹配通常发生在批处理生成器中。有时,提议生成层会被添加到实际网络中,以将锚数据添加到网络的输出张量中,但在批处理生成器中在图像上生成和平铺提议的逻辑应该是相同的。
知道了这些,就很容易理解anchor需要初始化,这个数据结构存储在内存中实际使用,比如训练中与地面xydbwb匹配,推理中把预测偏移量应用到Anchor。
为什么学习偏移量而不是实际值?
理论上,如果卷积滤波器在同一类型的目标上照亮其感受野两次,则无论滤波器在图像中的何处照亮其感受野,它都应该输出大致相同的值两次。
这意味着,如果图像包含两辆汽车,并且输出的特征地图包含绝对坐标,那么网络将预测两辆汽车的坐标大致相同。
学习锚点偏移允许特征映射输出类似于这两辆车的偏移输出,但是偏移应该应用于可以映射到输入图像中不同位置的锚点。这是在绑定框回归期间学习锚框偏移的主要原因。
地面txydbwb——匹配锚点,生成批次。
地面txydbwb批次必须包含要学习的目标偏移,并且应该包含建议的锚。后者在训练期间不使用,但是它避免了在推理期间将锚和偏移预测与附加数据结构和伴随代码相关联。目标偏移应该是将建议移动到匹配的背景txydbwb框所需的精确量或零(如果它是背景框的背景txydbwb),因为背景框不需要被校正。
回顾一下,基于锚点的批处理生成器已经建立了一个学习目标,其中在训练期间将考虑图像的每个提议锚点,而不管它是否已经被分配到前景或背景类别。根据我们的示例,一批将从64个位置的6个锚开始,总共有384个锚箱。通过以下或这些基本步骤的变化,每个提议的锚可与地面txydbwb箱匹配:
对于每个锚点,找出哪个接地txydbwb框具有最高的关节交点(IOU)分数。
IOU大于50%的锚与相应的接地txydbwb盒匹配。
IOU大于40%的锚被认为是不明确的,并被忽略。
IOU低于40%的主播被分配到后台类别。
再梳理一下流程。从所有建议锚的集合(在该示例中为384)开始,匹配地面txydbwb框的框将包含其类别和更新的偏移,以校正或移动该锚。背景和模糊/忽略框的偏移保持在它们的初始零偏移值。同样,这些偏移量是我们希望用神经网络近似的值。这些是在边界框回归任务中获得的实际值。决定在权重优化中考虑哪些背景偏移并丢弃不匹配的框通常发生在损失函数中。
如何在训练期间修正anchor boxes
损失计算不对锚箱应用偏移。此时,批生成器已经编码了将锚精确地“移动”到地面txydbwb所在位置所需的偏移,并且如上所述,这是匹配或不匹配地面txydbwb框的每个建议框的位置学习目标。不匹配的锚盒应该不会造成损失,通常会被忽略。
回想一下,网络会预测每个要素地图位置的所有建议偏移。这意味着地面txydbwb数据包含匹配地面txydbwb框的锚的真实偏移,而背景框的地面txydbwb的偏移保持为零。这是因为锚点中的像素空间完全被认为是背景,并且所提出的锚点不需要坐标调整。
此外,这些零值将被忽略,因为背景锚点偏移确实会导致回归损失。这是因为目标检测是关于学习寻找前景目标,并且边界框回归损失(在预测偏移和正确偏移之间)通常仅对于前景目标被最小化。换句话说,由于分配给背景类别的锚点根本不应该被移动或校正,所以没有要预测的偏移,并且在边界框的回归损失中没有可以表示背景框的重要值。
通常,存在于地面txydbwb中的总背景盒的子集被用于最小化分类损失以处理类别不平衡。示例中,每个位置有6个框,共有384个提案,其中大部分将是背景框,这会造成严重的类别不平衡。这种不平衡问题的流行解决方案叫做硬负挖掘——按照预定的比例(通常是1:3;前景:背景)选择哪些背景框会对损失产生影响。在对损失进行分类时,处理类别不平衡的另一种流行方法是减少易于分类的实例的损失贡献。视网膜局灶性缺失就是这种情况。
为了获得目标检测的最终集合,网络的预测偏移被应用到它们对应的锚盒。可能有数百个提议的框,但最终,当前的SOTA检测器忽略所有预测为背景的框,保留通过一些标准的前景检测,并应用非最大值抑制来纠正同一目标的重叠预测。
正如本文开头所提到的,理解SOTA目标检测的飞跃通常会变得令人生畏和晦涩难懂,但一旦理解了锚盒的作用,目标检测就会有一个全新的意义。
原始链接:
https://www。编织器皿。com/blog/2020/06/anchor-boxes-in-object-detection-when-where-and-how-propose-them-deep-learning-apps/#。yyccrz 5 bxhe
仅分享,侵删
猜您喜欢:
等你着陆!【GAN生成对抗网络】知识星球!
CVPR 2021专题1:GAN的改进
CVPR 2021 GAN的说话人驱动、3D人脸论文汇总
CVPR 2021 图像转换 今如何?几篇GAN论文
【CVPR 2021】通过GAN提升人脸识别的遗留难题
CVPR 2021生成对抗网络GAN部分论文汇总
经典GAN不得不读:StyleGAN
最新最全20篇!基于 StyleGAN 改进或应用相关论文