使用 tensorflow 更改 mobilenet_ssd 的输入图像大小

change the input image size for mobilenet_ssd using tensorflow

我正在使用 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 之前缩放输入图像。

注意:训练数据集中的图片本来就不是300*300的。原来的分辨率可能比较大,不是正方形,缩小到300*300。这意味着将 1280*720 图像缩小到 300*300 图像完全没问题,而且应该可以正常工作。

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

要改变图片的输入尺寸,需要重新设计anchor box的位置。因为锚点固定为输入图像分辨率。一旦将锚点位置更改为 720P,mobilenet 就可以接受 720p 作为输入。