计算机视觉检测对小物体的不良结果为何?

时间:2018-06-25 14:16:58

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

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

  • 一个阶段:SSD,YOLO,r​​etinanet,...
  • 两个阶段:例如RCNN,快速RCNN和更快的RCNN

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

1 个答案:

答案 0 :(得分:1)

我认为在诸如retinaNet之类的一般网络中,我们试图弥合您提到的差距。通常,在一个阶段的网络中,我们将在Backbone网络生成的特征图中拥有不同比例的锚点框,这些特征图是由重心向下生成的对输入图像进行采样时,执行此操作时可能会丢失许多有关小物体的信息。对于一级检测器,情况就是这样;由于RPN网络的灵活性,在两级检测器中,RPN网络可能仍会建议体积较小,这可能会使其性能优于一级竞争对手。

对于这两个网络都可能使用相同的主干,我不感到惊讶,在提取转换功能后,两个网络都使用不同的方法进行检测。

希望这会有所帮助,如果我不够清楚,或者您有任何疑问,请告诉我。