Deep learning 计算机视觉检测小物体效果不好的原因是什么?

Deep learning 计算机视觉检测小物体效果不好的原因是什么?,deep-learning,computer-vision,object-detection,Deep Learning,Computer Vision,Object Detection,目前,对于检测(定位+识别任务),我们主要使用计算机视觉中的深度学习算法。存在两种类型的探测器: 一个阶段:SSD,YLO,视网膜网 两阶段:例如RCNN、快速RCNN和快速RCNN 在非常小的物体(例如10个像素)上使用这些探测器是一项非常具有挑战性的任务,而且单阶段算法似乎比两阶段算法差。但我真的不明白为什么它在更快的RCNN上工作得更好。事实上,一级和两级检测器都使用锚概念,并且大多数检测器使用相同的主干,如VGG16或resnet50/resnet101。这意味着感受野是相同的。例如

目前,对于检测(定位+识别任务),我们主要使用计算机视觉中的深度学习算法。存在两种类型的探测器:

  • 一个阶段:SSD,YLO,视网膜网
  • 两阶段:例如RCNN、快速RCNN和快速RCNN

在非常小的物体(例如10个像素)上使用这些探测器是一项非常具有挑战性的任务,而且单阶段算法似乎比两阶段算法差。但我真的不明白为什么它在更快的RCNN上工作得更好。事实上,一级和两级检测器都使用锚概念,并且大多数检测器使用相同的主干,如VGG16或resnet50/resnet101。这意味着感受野是相同的。例如,我尝试在视网膜网和更快的RCNN上检测非常小的对象。在视网膜网上,与更快的rcnn相反,不会检测到小对象。我不明白为什么。理论上的解释是什么?(同一主干网:resnet50)

我认为像retinaNet这样的普通网络正在试图弥合你提到的差距。通常在单级网络中,我们在主干网生成的特征图中会有不同比例的锚定框,这些特征图是通过对输入图像进行大量下采样生成的,在执行此操作时,有关小对象的大量信息可能会丢失。虽然单级检测器的情况是这样,但由于RPN网络的灵活性,在两级检测器中,RPN网络仍可能提出较小的区域,这可能有助于它比单级检测器的性能稍好一些

我认为您不应该对这两个网络可能使用相同的主干感到惊讶,在提取conv特征后,两个网络使用不同的方法执行检测


希望这有帮助,如果我不够清楚,或者您有问题,请告诉我。

谢谢您的回复。我就是这么想的,但我觉得有点奇怪。此外,FPN似乎也可以减少这个问题,但我们还需要使用网络的第一特征图。例如,对于视网膜网,如果我们同时使用P2,效果会更好!但它也更消耗。