Mobilenet SSD 输入图像大小

Tes*_*la. 6 object-detection tensorflow object-detection-api

我想在自定义数据集上训练 Mobilenet SSD 模型。

我研究了重新训练模型的工作流程,并注意到配置文件中的 image_resizer{} 块:

https://github.com/tensorflow/models/blob/d6d0868209833e014074d6cb4f32558e7acf2a6d/research/object_detection/samples/configs/ssd_mobilenet_v1_pets.config#L43

这里的纵横比是否必须像 300x300 这样的 1:1 或我可以指定自定义比例?

我所有的数据集图像都是 960x256 - 所以我可以输入这个大小的高度和宽度吗?或者我是否需要调整所有图像的大小以使其纵横比为 1:1?

g.s*_*her 0

如果保持原样,无论图像的实际大小如何,网络都会将输入图像的大小调整为 300x300。您可以尝试的另一件事是将 image_resizer 块替换为以下更改:

image_resizer 
{
  keep_aspect_ratio_resizer 
  {
    min_dimension: 600
    max_dimension: 1024
  }
}
Run Code Online (Sandbox Code Playgroud)

,它将向网络提供未成形的输入图像,范围为 [min_dim, max_dim]。我不知道这是否有效,因为我相信 SSD 检测器需要将输入图像调整为正方形,这意味着具有相同的高度和宽度,例如 224x224 或 128x128。您不必对硬图像进行任何手动更改。

  • 我认为你应该编辑你的答案,因为它可能会误导人们在 Mobilenet SSD 模型中使用非方形图像。 (2认同)