Skip to content
YOLO v3 and Tiny YOLO v1, v2, v3 with Tensorflow.js
JavaScript
Branch: master
Clone or download
Latest commit deae1ca Apr 11, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist Upgrade to TFJS 1.0 Apr 10, 2019
src
.babelrc init Oct 28, 2018
.gitignore
LICENSE init Oct 28, 2018
README.md v0.0.3 Nov 7, 2018
package.json
webpack.config.js init Oct 28, 2018
yarn.lock Upgrade to TFJS 1.0 Apr 10, 2019

README.md

tfjs-yolo

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

Demo

Install

npm install tfjs-yolo

Usage

Import module

import yolo from 'tfjs-yolo';

Initialize and load model

// Use default models (stored in my GitHub demo repo)
let myYolo = await yolo.v1tiny();
let myYolo = await yolo.v2tiny();
let myYolo = await yolo.v3tiny();
let myYolo = await yolo.v3();

// or specify path or handler, see https://js.tensorflow.org/api/0.13.3/#loadModel
let myYolo = await yolo.v3tiny("https://.../model.json");

// or use frozen model, see https://js.tensorflow.org/api/0.13.3/#loadFrozenModel
let myYolo = await yolo.v3tiny(
  "https://.../weights_manifest.json",
  "https://.../tensorflowjs_model.pb"
);

Run model

Supported input html element:

  • img
  • canvas
  • video
const boxes = await myYolo.predict(canvas);

// Optional settings
const boxes = await myYolo.predict(
  canvas,
  {
    maxBoxes: 5,          // defaults to 20
    scoreThreshold: .2,   // defaults to .5
    iouThreshold: .5,     // defaults to .3
    numClasses: 80,       // defaults to 80 for yolo v3, tiny yolo v2, v3 and 20 for tiny yolo v1
    anchors: [...],       // See ./src/config.js for examples
    classNames: [...],    // defaults to coco classes for yolo v3, tiny yolo v2, v3 and voc classes for tiny yolo v1
    inputSize: 416,       // defaults to 416
  }
);

Output box format

{
  top,    // Float
  left,   // Float
  bottom, // Float
  right,  // Float
  height, // Float
  width,  // Float
  score,  // Float
  class   // String, e.g. person
}

Dispose model

myYolo.dispose();

Credits

You can’t perform that action at this time.