inferencejsリファレンス
Roboflowで構築したコンピュータビジョンアプリケーションをWeb/JavaScript環境にデプロイするためのエッジライブラリ「inferencejs」のリファレンス
インストール
このライブラリは、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
YOLOv8
YOLOv5
を使用して推論を行った結果 InferenceEngine
YOLOv8またはYOLOv5オブジェクト検出モデルの場合、次の型の配列となります:
type RFObjectDetectionPrediction = {
class?: string;
confidence?: number;
bbox?: {
x: number;
y: number;
width: number;
height: number;
};
color?: string;
};
GazeDetections
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
コンピュータビジョンタスクで使用できる画像を表すクラスです。画像の操作や変換のための様々なメソッドを提供します。
コンストラクタ
この CVImage(image)
クラスコンストラクタは新しいインスタンスを初期化します。次のいずれかの型の画像を1つ受け取ります:
ImageBitmap
: オプションのImageBitmap
画像の表現。HTMLImageElement
: オプションのHTMLImageElement
画像の表現。tf.Tensor
: オプションのtf.Tensor
画像の表現。tf.Tensor4D
: オプションの4Dtf.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?