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

时间:2018-06-13 10:32:22

标签: tensorflow tensorflow-lite

我使用tensorflow和tflite来检测物体。我使用的模型是https://github.com/tensorflow/models/tree/master/research/object_detection

中的mobilenet_ssd(版本2)

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

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