用于检测小物体的SSD

时间:2018-07-02 14:24:59

标签: tensorflow detection

我将使用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

我有三个问题:

  • 要修改这些参数(比例,宽高比等),是否需要重新训练模型?还是经过这些修改后,我仍然可以使用预训练的模型并对数据进行微调?

  • 由于我要检测的对象与图像大小相比都很小,因此增加或减少mobilenet中转换层的数量会改善(速度或准确性)检测吗?如果是,我可以在哪个文件中应用这些更改?

  • 是否有用于修改SSD移动网检测器的特定方法,以使其更好地检测小物体?例如,我知道4X4功能图(网格)对于我的对象来说太大了,有什么方法可以删除路线网格并仅保留精细网格(例如8X8)吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

要修改这些参数(比例,宽高比等),是否需要重新训练模型?还是经过这些修改后,我仍然可以使用预训练的模型并对数据进行微调? 是的,您需要重新训练模型,因为网络经过训练可以以特定的长宽比查找排球,但是您可以重新训练现有的网络,而不必使用新的网络。

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

是否有用于修改SSD移动网检测器的特定方法,以使其更好地检测小物体?例如,我知道4X4特征图(网格)对于我的对象来说太大了,是否有任何方法可以删除路线网格并仅保留精细网格(例如8X8)? 如前所述,重采样设置很重要,但是我不确定是否可行。也许是比例参数。