首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mobilenet SSD输入图像大小

Mobilenet SSD输入图像大小
EN

Stack Overflow用户
提问于 2018-02-22 22:11:03
回答 2查看 13.6K关注 0票数 6

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

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

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

这里的宽高比必须是1:1吗,比如300x300,或者我可以指定一个自定义比例吗?

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

EN

回答 2

Stack Overflow用户

发布于 2019-10-01 19:34:00

在模型文件中选择高度和宽度(根据您的链接),作为您希望模型训练和操作的输入图像的形状。如果有必要,模型会将输入图像的大小调整到指定大小。

因此,这可能是您的输入图像的大小(如果您的硬件可以训练和操作该大小的模型):

代码语言:javascript
复制
image_resizer {
    fixed_shape_resizer {
        height: 256
        width: 960
    }
}

选择将取决于训练图像的大小以及训练(和使用)该大小模型所需的资源。

我通常使用512x288,因为这个大小的模型在Raspberry Pi上运行得很好。我准备了各种规模的训练图像,就是这个大小。因此,图像大小调整在训练期间不起作用。

作为推断,我以1920x1080的大小输入图像,因此在它们进入Mobilenet之前,图像大小调整程序会将它们缩放到512x288,同时保持纵横比。

然而,纵横比在我的领域中并不重要,因为这样的扭曲是自然发生的。

所以,是的,只需使用您的训练图像尺寸。

票数 3
EN

Stack Overflow用户

发布于 2018-02-25 05:03:58

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

代码语言:javascript
复制
image_resizer 
{
  keep_aspect_ratio_resizer 
  {
    min_dimension: 600
    max_dimension: 1024
  }
}

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48929519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档