【问题标题】:How to integrate yolo-v3 custom object detector in flutter app?如何在 Flutter 应用中集成 yolo-v3 自定义对象检测器?
【发布时间】:2020-07-18 08:54:53
【问题描述】:

我开发了颤振应用程序和yolov3 自定义对象检测器。两个模块都是独立的。现在我想将这些模块组合到一个项目中,但无法弄清楚如何在我的颤振应用程序中使用该自定义对象检测器的训练权重。谁能帮我完成这个集成?

【问题讨论】:

  • 欢迎来到 stackoverflow =) 请添加更多关于您想要实现的目标的详细信息。您使用哪些语言?哪个框架?如果您使您的问题更易于理解,我们将更容易为您提供帮助! stackoverflow.com/help/how-to-ask

标签: flutter yolo


【解决方案1】:

我不知道您是在使用Flutter 构建android 应用还是iOS

无论如何,要能够在您的 Flutter 应用上使用经过自定义训练的 Yolov3 模型,请执行以下两个步骤。

1.首先需要将训练好的yolov3模型转换为tflite版本:

您可以为此目的使用this repo。

将自定义训练的 Yolov3 darknet 权重保存到 tfmodel,这是 tflite 转换所需的:

python save_model.py --weights yolov3.weights --output ./checkpoints/yolov3-416 --input_size 416 --model yolov3 --framework tflite

Yolov3模型转换为tflite版本:

python convert_tflite.py --weights ./checkpoints/yolov3-416 --output ./checkpoints/yolov3-416.tflite

2。然后你使用Flutter 插件访问TensorFlow-Lite API,它适用于androidiOS - https://github.com/shaqian/flutter_tflite

a) 创建一个 assets 文件夹并将你的标签文件和模型文件放在 它。在pubspec.yaml 添加:

  assets:
   assets/labels.txt
   assets/yolov3-416.tflite

b) 导入库:

import 'package:tflite/tflite.dart';

c) 加载模型和标签:

String res = await Tflite.loadModel(
model: "assets/yolov3-416.tflite",
labels: "assets/labels.txt",
numThreads: 1, // defaults to 1
isAsset: true, // defaults to true, set to false to load resources outside assets
useGpuDelegate: false // defaults to false, set to true to use GPU delegate
        );

d) 在图像上运行:

  var recognitions = await Tflite.detectObjectOnImage(
  path: filepath,       // required
  model: "YOLOv3",      
  imageMean: 0.0,       
  imageStd: 255.0,      
  threshold: 0.3,       // defaults to 0.1
  numResultsPerClass: 2,// defaults to 5
  anchors: anchors,     // defaults to [0.57273,0.677385,1.87446,2.06253,3.33843,5.47434,7.88282,3.52778,9.77052,9.16828]
  blockSize: 32,        // defaults to 32
  numBoxesPerBlock: 5,  // defaults to 5
  asynch: true          // defaults to true
);

e) 释放资源:

await Tflite.close();

【讨论】:

    猜你喜欢
    • 2021-10-23
    • 2022-01-20
    • 2020-02-11
    • 1970-01-01
    • 2020-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    相关资源
    最近更新 更多