【发布时间】:2020-04-19 13:18:15
【问题描述】:
我想在嵌入式系统中使用 tensorflow 来检测汽车,所以我尝试了 ssd_mobilenet_v2,它实际上对我来说效果很好,除了一些不太常见的特定汽车类型,我认为这就是模型无法识别它们的原因。我有这些案例的数据集,我想通过微调来改进模型。我还应该注意,我需要一个 .tflite 文件,因为我在 python 中使用 tflite_runtime。 我按照这些说明https://github.com/EdjeElectronics/TensorFlow-Object-Detection-API-Tutorial-Train-Multiple-Objects-Windows-10 进行了训练,并达到了合理的损失值。然后我在对象检测 API 中使用 export_tflite_ssd_graph.py 从训练好的模型构建 inference_graph。之后我使用 toco 工具构建了一个 .tflite 文件。
但问题是,在我完成所有这些之后;不仅模型没有改进,而且现在它没有检测到任何汽车。我很困惑,不知道是什么问题,我搜索了很多,没有找到任何关于做我需要做的事情的教程。他们只是在模型中添加了一个新对象,然后将其导出,我尝试过并且成功地做到了。我还尝试在不训练模型的情况下直接从Tensorflow detection model zoo 构建一个 .tflite 文件,并且效果很好。所以我认为这个问题与训练过程有关。也许我在那里遗漏了一些东西。
我在文档中没有找到的另一件事是,是否可以将一个类“添加”到对象检测模型的当前类中。例如,假设 mobilenet ssd v2 检测到 90 个不同的对象类,我想添加另一个类,以便模型检测到 91 个不同的类而不是 90 个类。据我了解并在使用对象检测 API 进行迁移学习后进行测试,我只能检测到我的数据集中拥有的对象,而旧的类将会消失。那么我该怎么做呢?
【问题讨论】:
-
向我的数据集添加更多数据后,输出变得更好。但我仍然停留在 tflite convert 步骤。
标签: python tensorflow object-detection object-detection-api