【问题标题】:Computer vision detection on small object bad results why?计算机视觉检测小物体效果不好的原因是什么?
【发布时间】:2018-12-04 03:45:57
【问题描述】:

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

  • 一个阶段:SSD、YOLO、retinanet、...
  • 两个阶段:例如 RCNN、Fast RCNN 和 Faster RCNN

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

【问题讨论】:

    标签: deep-learning computer-vision object-detection


    【解决方案1】:

    我认为像retinaNet这样的一般网络正在试图弥合你提到的差距。通常在一个阶段的网络中,我们将在Backbone网络产生的特征图中有不同尺度的锚框,这些特征图是由大量下降产生的对输入图像进行采样,在执行此操作时可能会丢失很多关于小物体的信息。虽然这是一级检测器的情况,但在两级检测器中,由于 RPN 网络的灵活性,RPN 网络可能仍然会提出区域很小,这可能有助于它比单阶段的表现稍好。

    我不认为你应该对这两个可能使用相同的主干感到非常惊讶,在提取卷积特征之后,两个网络使用不同的方法来执行检测。

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

    【讨论】:

    • 感谢您的回复。这就是我的想法,但对我来说似乎有点奇怪。此外,FPN 似乎也可以减少这个问题,但我们还需要使用网络的第一个特征图。例如对于retinanet,如果我们也使用P2,它会更好!但它也更消耗。
    猜你喜欢
    • 2018-04-16
    • 2013-02-07
    • 2019-12-06
    • 2014-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多