TF Lite 对象检测仅返回 10 个检测

Car*_*aAI 0 tensorflow tensorflow-lite

我在原生 Android 上使用带有 TensorFlow Lite 的自定义对象检测模型。在这一点上,我只检测到 2 个自定义对象。我正在使用 TensorFlow 对象检测 API,并且我有一个管道可以生成优化的 .tflite 文件。

但是,在推理时,该模型最多只返回 10 个单独的检测。根据https://www.tensorflow.org/lite/models/object_detection/overview,这是预期的。问题是我的图像具有相对较大的对象密度。我需要能够在每个图像/推理调用中检测多达 30 个单独的对象。

如果我将示例 Android 应用程序中的 NUM_DETECTIONS 从 TF 存储库从 10 更改为 20,由于形状不匹配,我会收到运行时异常。如何生成能够产生超过 10 个对象检测实例的 .tflite 文件?

谢谢!

小智 5

不幸的是,由于 TFLite 更喜欢静态形状的输入/输出,您需要重新导出具有所需输出数量的 TFLite SSD 图。说明在这里。在调用时object_detection/export_tflite_ssd_graph.py,您需要传入参数--max_detections=20。然后,您的更改NUM_DETECTIONS应该按预期工作。