【问题标题】:change the input image size for mobilenet_ssd using tensorflow使用 tensorflow 更改 mobilenet_ssd 的输入图像大小
【发布时间】:2018-06-13 10:32:22
【问题描述】:

我正在使用 tensorflow 和 tflite 来检测对象。我使用的模型是来自https://github.com/tensorflow/models/tree/master/research/object_detection的mobilenet_ssd(版本2)

检测的输入图像尺寸固定为300*300,在模型中是硬编码的。 我想输入1280*720的图片进行检测,怎么做?我没有分辨率为 1280*720 的训练图像数据集。我只有 pascal 和 coco 数据集。

如何修改模型以接受1280*720图像(不缩放图像)进行检测?

【问题讨论】:

  • 我用这个模型在安卓手机上运行。

标签: tensorflow tensorflow-lite


【解决方案1】:

要改变图像的输入尺寸,需要重新设计锚框位置。因为锚点是固定在输入图像分辨率上的。将锚点位置更改为 720P 后,移动网络就可以接受 720p 作为输入。

【讨论】:

    【解决方案2】:

    通常的做法是在将数据输入 TensorFlow / TensorFlow Lite 之前缩放输入图像。

    注意:训练数据集中的图像原本不是 300*300。原始分辨率可能更大且非正方形,并且缩小到 300*300。这意味着将 1280*720 图像缩小到 300*300 图像是完全可以的,它应该可以正常工作。

    您介意尝试缩放并看看它是否有效吗?

    【讨论】:

    • 缩小到 300 会导致检测精度变差。我正在尝试删除无法调整大小的模型的最后一层,所有其他层都是完全卷积的。但我必须自己选择预测的边界框。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-25
    • 2021-11-24
    • 1970-01-01
    • 2012-08-04
    • 2010-11-20
    • 2018-12-25
    相关资源
    最近更新 更多