inferencejsリファレンス

Roboflowで構築したコンピュータビジョンアプリケーションをWeb/JavaScript環境にデプロイするためのエッジライブラリ「inferencejs」のリファレンス

詳細はこちら inferencejs 、私たちのWeb SDK、 こちら

インストール

このライブラリは、vite、webpack、parcelなどのバンドラーを使用してブラウザ内で使用するように設計されています。バンドラーのセットアップが完了している場合、次のコマンドを実行してインストールできます:

npm install inferencejs

はじめに

まず、を初期化します InferenceEngine。これにより、バックグラウンドワーカーが起動し、ユーザーインターフェースをブロックすることなくモデルのダウンロードと実行が可能になります。

import { InferenceEngine } from "inferencejs";

const PUBLISHABLE_KEY = "rf_a6cd..."; // Roboflowのプロジェクト設定から取得した自分のパブリッシャブルキーに置き換えてください

const inferEngine = new InferenceEngine();
const workerId = await inferEngine.startWorker("[PROJECT URL SLUG]", [VERSION NUMBER], PUBLISHABLE_KEY);

//モデルに対して推論を行う
const result = await inferEngine.infer(workerId, img);

API

InferenceEngine

new InferenceEngine()

新しいInferenceEngineインスタンスを作成します。

startWorker(modelName: string, modelVersion: number, publishableKey: string): Promise<number>

指定したモデル用の新しいワーカーを起動し、 workerId. 重要- publishableKey は必須であり、Roboflowのプロジェクト設定フォルダから取得できます。

infer(workerId: number, img: CVImage | ImageBitmap): Promise<Inference>

指定したワーカーで画像に対して推論を行います workerId. img は、次の方法で作成できます new CVImage(HTMLImageElement | HTMLVideoElement | ImageBitmap | TFJS.Tensor) または createImageBitmap

stopWorker(workerId: number): Promise<void>

指定したワーカーを停止します workerId.

YOLOv8 YOLOv5

を使用して推論を行った結果 InferenceEngine YOLOv8またはYOLOv5オブジェクト検出モデルの場合、次の型の配列となります:

type RFObjectDetectionPrediction = {
    class?: string;
    confidence?: number;
    bbox?: {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    color?: string;
};

GazeDetections

を使用して推論を行った結果 InferenceEngine Gazeモデルの場合。次の型の配列です:

type GazeDetections = {
    leftEye: { x: number; y: number };
    rightEye: { x: number; y: number };
    yaw: number;
    pitch: number;
}[];

leftEye.x

左目のx座標。入力画像の幅に対する割合で0から1の間の浮動小数点数です。

leftEye.y

左目のy座標。入力画像の高さに対する割合で0から1の間の浮動小数点数です。

rightEye.x

右目のx座標。入力画像の幅に対する割合で0から1の間の浮動小数点数です。

rightEye.y

右目のy座標。入力画像の高さに対する割合で0から1の間の浮動小数点数です。

yaw

視線のヨー(左右の回転)をラジアンで表します。

pitch

視線のピッチ(上下の回転)をラジアンで表します。

CVImage

コンピュータビジョンタスクで使用できる画像を表すクラスです。画像の操作や変換のための様々なメソッドを提供します。

コンストラクタ

この CVImage(image) クラスコンストラクタは新しいインスタンスを初期化します。次のいずれかの型の画像を1つ受け取ります:

  • ImageBitmap: オプションの ImageBitmap 画像の表現。

  • HTMLImageElement: オプションの HTMLImageElement 画像の表現。

  • tf.Tensor: オプションの tf.Tensor 画像の表現。

  • tf.Tensor4D: オプションの4D tf.Tensor 画像の表現。

メソッド

bitmap()

Promiseを返し、 ImageBitmap 画像の表現を返します。画像がすでにビットマップの場合は、キャッシュされたビットマップを返します。

tensor()

画像の tf.Tensor 表現を返します。画像がすでにテンソルの場合は、キャッシュされたテンソルを返します。

tensor4D()

Promiseを返し、4Dの tf.Tensor 画像表現を返します。画像がすでに4Dテンソルの場合は、キャッシュされた4Dテンソルを返します。

array()

Promiseを返し、画像のJavaScript配列表現を返します。画像がすでにテンソルの場合は、テンソルを配列に変換します。

dims()

画像の寸法を含む配列を返します。画像がビットマップの場合は [幅, 高さ]を返します。画像がテンソルの場合はテンソルの形状を返します。画像がHTML画像要素の場合は [幅, 高さ].

dispose()

画像のテンソル表現を破棄し、メモリを解放します。

static fromArray(array: tf.TensorLike)

新しい CVImage インスタンスを指定されたテンソルライク配列から作成します。

Last updated

Was this helpful?