项目作者: shaqian

项目描述 :
YOLO v3 and Tiny YOLO v1, v2, v3 with Tensorflow.js
高级语言: JavaScript
项目地址: git://github.com/shaqian/tfjs-yolo.git
创建时间: 2018-10-28T14:31:31Z
项目社区:https://github.com/shaqian/tfjs-yolo

开源协议:MIT License

下载


tfjs-yolo

YOLO object detection with Tensorflow.js. Supports YOLO v3 and Tiny YOLO v1, v2, v3.

Demo

Install

  1. npm install tfjs-yolo

Usage

Import module

  1. import yolo from 'tfjs-yolo';

Initialize and load model

  1. // Use default models (stored in my GitHub demo repo)
  2. let myYolo = await yolo.v1tiny();
  3. let myYolo = await yolo.v2tiny();
  4. let myYolo = await yolo.v3tiny();
  5. let myYolo = await yolo.v3();
  6. // or specify path or handler, see https://js.tensorflow.org/api/0.13.3/#loadModel
  7. let myYolo = await yolo.v3tiny("https://.../model.json");
  8. // or use frozen model, see https://js.tensorflow.org/api/0.13.3/#loadFrozenModel
  9. let myYolo = await yolo.v3tiny(
  10. "https://.../weights_manifest.json",
  11. "https://.../tensorflowjs_model.pb"
  12. );

Run model

Supported input html element:

  • img
  • canvas
  • video
  1. const boxes = await myYolo.predict(canvas);
  2. // Optional settings
  3. const boxes = await myYolo.predict(
  4. canvas,
  5. {
  6. maxBoxes: 5, // defaults to 20
  7. scoreThreshold: .2, // defaults to .5
  8. iouThreshold: .5, // defaults to .3
  9. numClasses: 80, // defaults to 80 for yolo v3, tiny yolo v2, v3 and 20 for tiny yolo v1
  10. anchors: [...], // See ./src/config.js for examples
  11. classNames: [...], // defaults to coco classes for yolo v3, tiny yolo v2, v3 and voc classes for tiny yolo v1
  12. inputSize: 416, // defaults to 416
  13. }
  14. );

Output box format

  1. {
  2. top, // Float
  3. left, // Float
  4. bottom, // Float
  5. right, // Float
  6. height, // Float
  7. width, // Float
  8. score, // Float
  9. class // String, e.g. person
  10. }

Dispose model

  1. myYolo.dispose();

Credits