用于检测小物体的SSD

SSD for detecting small objects

我将使用 Google 检测 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 中的 conv 层数是否会提高(速度或准确性)检测?如果是,我可以在哪个文件中应用这些更改? 通常你想要接近最小尺寸的网络仍然产生合理的精度,但是我不确定 tensorflow 是否允许设置图像重采样限制,因为在图像的那个尺寸下你可能会完全从图像中重新采样排球.训练是任何神经网络中最慢的部分,运行 检测查询对性能来说并不是什么大问题。

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