For the complete documentation index, see llms.txt. This page is also available as Markdown.

inferencejs リファレンス

Roboflow で構築した computer vision アプリケーションを Web/JavaScript 環境にデプロイするためのエッジライブラリ `inferencejs` のリファレンス

について詳しく見る inferencejs 、当社の web SDK、 こちら

インストール

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

npm install inferencejs

はじめに

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

import { InferenceEngine } from "inferencejs";

const PUBLISHABLE_KEY = "rf_a6cd..."; // Roboflow から取得した自分の publishable key に置き換えてください

const inferEngine = new InferenceEngine();

// モデルのページからコピーした model id を使ってモデルを読み込みます。
const workerId = await inferEngine.startWorkerByModelId("[MODEL ID]", PUBLISHABLE_KEY);

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

model id はモデルのページに表示され、次の形式です workspace/model-slug (例: my-workspace/hard-hat-abc-1-yolov8n-t1). 旧来の project-versioned モデルは startWorker を使って、project slug とバージョン番号で読み込めます。複数の学習済みモデルを持つバージョンの場合、旧来の {project}/{version} id は、存在する場合はそのバージョンのエイリアスを介して解決されます。エイリアスがない場合は、そのバージョンに単一のモデルしかないときにのみ機能し、それ以外では id が曖昧になるため、モデル自身の model id で読み込む必要があります。参照: 旧来の ID がどのように解決されるか.

API 経由で

InferenceEngine

new InferenceEngine()

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

startWorkerByModelId(modelId: string, publishableKey: string): Promise<number>

指定された model id に対して新しい worker を開始し、 workerIdを返します。これはモデルを読み込む推奨方法です。 modelId は完全な workspace/model-slug model のページに表示される id で、バージョンなしのモデルや複数モデルのバージョンで動作します。 publishableKey は必須で、Roboflow の project settings フォルダから取得できます。

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

project の URL slug と整数の version で指定された旧来のモデルを読み込み、 workerId。使用すると startWorkerByModelId を新しい統合で使用します。 publishableKey は必須で、Roboflow の project settings フォルダから取得できます。

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

指定された workerId. img を使って推論します。 new CVImage(HTMLImageElement | HTMLVideoElement | ImageBitmap | TFJS.Tensor) または createImageBitmap

stopWorker(workerId: number): Promise<void>

指定された workerId.

YOLO Lite YOLOv8 YOLOv5

を使用して推論を行った結果は、 InferenceEngine YOLO Lite、YOLOv8、または YOLOv5 の object detection model に対して返される配列は、次の型です:

GazeDetections

を使用して推論を行った結果は、 InferenceEngine Gaze model に対して。次の型の配列です:

leftEye.x

左目の x 位置を表す浮動小数点数で、入力画像の幅の割合として 0 から 1 の間です。

leftEye.y

左目の y 位置を表す浮動小数点数で、入力画像の高さの割合として 0 から 1 の間です。

rightEye.x

右目の x 位置を表す浮動小数点数で、入力画像の幅の割合として 0 から 1 の間です。

rightEye.y

右目の y 位置を表す浮動小数点数で、入力画像の高さの割合として 0 から 1 の間です。

yaw

視線の yaw で、ラジアン単位で測定されます。

pitch

視線の pitch で、ラジアン単位で測定されます。

CVImage

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

コンストラクタ

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

  • ImageBitmap:任意の ImageBitmap 画像の表現。

  • HTMLImageElement:任意の HTMLImageElement 画像の表現。

  • tf.Tensor:任意の tf.Tensor 画像の表現。

  • tf.Tensor4D:任意の 4D tf.Tensor 画像の表現。

メソッド

bitmap()

Promise を返し、 ImageBitmap 画像の表現に解決します。画像がすでに bitmap である場合は、キャッシュされた bitmap を返します。

tensor()

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

tensor4D()

Promise を返し、4D の tf.Tensor 画像の表現に解決します。画像がすでに 4D tensor である場合は、キャッシュされた 4D tensor を返します。

array()

Promise を返し、画像の JavaScript 配列表現に解決します。画像がすでに tensor である場合は、tensor を配列に変換します。

dims()

画像の次元を含む配列を返します。画像が bitmap の場合は [width, height]. 画像が tensor の場合は tensor の shape を返します。画像が HTML image element の場合は [width, height].

dispose()

画像の tensor 表現を破棄してメモリを解放します。

static fromArray(array: tf.TensorLike)

与えられた CVImage tensor-like 配列から新しいインスタンスを作成します。

最終更新

役に立ちましたか?