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

时间:2019-09-22 19:49:04

标签: tensorflow tensorflow-lite

我正在本机Android上使用带有TensorFlow Lite的自定义对象检测模型。目前,我仅检测2个自定义对象。我正在使用TensorFlow对象检测API,并且有一个生成优化的.tflite文件的管道。

但是,在推断时,模型最多只能返回10个单独的检测结果。根据{{​​3}},这是预期的。问题是我的图像具有相对较大的对象密度。我需要能够在每个图像/推理调用中检测多达30个单个对象。

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

谢谢!

1 个答案:

答案 0 :(得分:0)

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