inferencejs Reference
Reference for `inferencejs`, an edge library for deploying computer vision applications built with Roboflow to web/JavaScript environments
Last updated
Was this helpful?
Reference for `inferencejs`, an edge library for deploying computer vision applications built with Roboflow to web/JavaScript environments
Last updated
Was this helpful?
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.
new InferenceEngine()
Creates a new InferenceEngine instance.
startWorker(modelName: string, modelVersion: number, publishableKey: string): Promise<number>
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(workerId: number, img: CVImage | ImageBitmap): Promise<Inference>
stopWorker(workerId: number): Promise<void>
Stops the worker with the given workerId
.
YOLOv8
YOLOv5
The result of making an inference using the InferenceEngine
on a YOLOv8 or YOLOv5 object detection model is an array of the following type:
GazeDetections
The result of making an inference using the InferenceEngine
on a Gaze model. An array with the following type:
leftEye.x
The x position of the left eye as a floating point number between 0 and 1, measured in percentage of the input image width.
leftEye.y
The y position of the left eye as a floating point number between 0 and 1, measured in percentage of the input image height.
rightEye.x
The x position of the right eye as a floating point number between 0 and 1, measured in percentage of the input image width.
rightEye.y
The y position of the right eye as a floating point number between 0 and 1, measured in percentage of the input image height.
yaw
The yaw of the visual gaze, measured in radians.
pitch
The pitch of the visual gaze, measured in radians.
CVImage
A class representing an image that can be used for computer vision tasks. It provides various methods to manipulate and convert the image.
The CVImage(image)
class constructor initializes a new instance of the class. It accepts one image of one of the following types:
ImageBitmap
: An optional ImageBitmap
representation of the image.
HTMLImageElement
: An optional HTMLImageElement
representation of the image.
tf.Tensor
: An optional tf.Tensor
representation of the image.
tf.Tensor4D
: An optional 4D tf.Tensor
representation of the image.
bitmap()
Returns a promise that resolves to an ImageBitmap
representation of the image. If the image is already a bitmap, it returns the cached bitmap.
tensor()
Returns a tf.Tensor
representation of the image. If the image is already a tensor, it returns the cached tensor.
tensor4D()
Returns a promise that resolves to a 4D tf.Tensor
representation of the image. If the image is already a 4D tensor, it returns the cached 4D tensor.
array()
Returns a promise that resolves to a JavaScript array representation of the image. If the image is already a tensor, it converts the tensor to an array.
dims()
Returns an array containing the dimensions of the image. If the image is a bitmap, it returns [width, height]
. If the image is a tensor, it returns the shape of the tensor. If the image is an HTML image element, it returns [width, height]
.
dispose()
Disposes of the tensor representations of the image to free up memory.
static fromArray(array: tf.TensorLike)
Creates a new CVImage
instance from a given tensor-like array.
Infer on n image using the worker with the given workerId
. img
can be created using new CVImage(HTMLImageElement | HTMLVideoElement | ImageBitmap | TFJS.Tensor)
or