首页 > 解决方案 > 用于检测小物体的 SSD

问题描述

我将使用 Google Detection API 的 SSD 模型来检测小物体(如图片中的排球)。

我想更改配置文件中的以下参数(纵横比、比例、..):

anchor_generator {
  ssd_anchor_generator {
    num_layers: 6
    min_scale: 0.2
    max_scale: 0.95
    aspect_ratios: 1.0
    aspect_ratios: 2.0
    aspect_ratios: 0.5
    aspect_ratios: 3.0
    aspect_ratios: 0.3333

我有三个问题:

谢谢你。

标签: tensorflowdetection

解决方案


为了修改这些参数(比例、纵横比……),我需要重新训练模型吗?或者在这些修改之后,我仍然可以使用预训练模型并对我的数据进行微调? 是的,您需要重新训练您的模型,因为该网络经过训练可以找到该特定纵横比的排球,但是您可以重新训练现有网络而不是使用新网络。

由于我要检测的对象与图像大小相比都很小,增加或减少移动网络中的卷积层数量是否会提高(速度或准确性)检测?如果是,我可以在哪个文件中应用这些更改? 通常,您想要仍然产生合理精度的接近最小尺寸的网络,但是我不确定 tensorflow 是否允许设置图像重采样限制,因为在该图像大小下,您可能会完全从图像中重新采样排球。训练是任何神经网络中最慢的部分,并且运行检测查询对性能来说并不是什么大问题。

是否有任何特定的方法可以修改 SSD mobilenet 检测器以使其更好地检测小物体?例如,我知道 4X4 特征图(网格)对于我的对象的大小来说太大了,有没有办法删除课程网格并只保留细网格(如 8X8)? 如前所述,重新采样对设置很重要,但是我不确定是否可能。也许这可能是规模参数。


推荐阅读