我一直试图让它在安卓设备上工作一段时间,但我无法让模型进行任何检测。
我正在使用谷歌为对象检测提供的示例代码:https ://github.com/tensorflow/examples/tree/master/lite/examples/object_detection/android 并试图让它与预训练模型一起运行对于 mobilenet v3,特别是“ssd_mobilenet_v3_large_coco”中的 .tflite 文件,从此处下载:https ://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md
每当我运行模型时,它总是返回不大于 10^-15 的每个类别的置信度分数,即太低而无法构成检测。代码在旧的 mobilenet v1 模型上运行良好,由于这个模型是我唯一要更改的东西,我怀疑我一定是错误地使用了新模型。
我想知道是否有人能够成功地使用这种新模型进行对象检测,如果是的话,他们是如何做到的。这就是我现在尝试这样做的方式:
1.) 以google提供的上述示例代码为例,我将他们使用的模型替换为.tflite 文件为mobilenet v3 .tflite 模型。(并相应地更改 build.gradle 文件)
2.)我设置了 TF_OD_API_INPUT_SIZE = 320(在 DetectorActivity.java 中)
3.) 我设置了 NUM_DETECTIONS = 2034(在 TFLiteObjectDetectionAPIModel.java 中)
4.) 我使用 2 个浮点数组作为检测输出,一个用于形状 [1][NUM_DETECTIONS][91] 的检测置信度,另一个用于形状 [1][NUM_DETECTIONS][1][4] 的框
这些基本上是我所做的唯一更改。为任何建议欢呼。