An edge library for deploying computer vision applications built with Roboflow to JS environments.
This library is designed to be used within the browser, using a bundler such as vite, webpack, parcel, etc. Assuming your bundler is set up, you can install by executing:
npm install inferencejs
Begin by initializing the InferenceEngine
. This will start a background worker which is able to download and
execute models without blocking the user interface.
import { InferenceEngine } from "inferencejs"
const PUBLISHABLE_KEY = "rf_a6cd..."; // replace with your own publishable key from Roboflow
const inferEngine = new InferenceEngine();
const workerId = await inferEngine.startWorker("gaze", 1, PUBLISHABLE_KEY);
//make inferences against the model
const result = await inferEngine.infer(workerId, img)
Creates a new InferenceEngine instance.
Starts a new worker for the given model and returns the workerId
. Important- publishableKey
is required and can be obtained from Roboflow in your project settings folder.
Infer an image using the worker with the given workerId
. img
can be created using createImageBitmap
Stops the worker with the given workerId
.
The result of making an inference using the InferenceEngine
on a Gaze model. An array with the following type:
type GazeDetections = {
leftEye: { x: number, y: number },
rightEye: { x: number, y: number },
yaw: number,
pitch: number
}[]
The x position of the left eye as a floating point number between 0 and 1, measured in percentage of the input image width.
The y position of the left eye as a floating point number between 0 and 1, measured in percentage of the input image height.
The x position of the right eye as a floating point number between 0 and 1, measured in percentage of the input image width.
The y position of the right eye as a floating point number between 0 and 1, measured in percentage of the input image height.
The yaw of the visual gaze, measured in radians.
The pitch of the visual gaze, measured in radians.
A fully functional example can be found in demo/demo.ts
To start the local development server, execute npm run dev
to run the demo in development mode, with hot reloading.
To run library tests execute npm run test
. To run the index.html file in dev mode with vite packaging run npm run dev
.