ウェブブラウザ
roboflow.jsによるエッジでのリアルタイム予測
ほとんどのビジネスアプリケーションには、 ホステッドAPI が適しています。しかし、多くの消費者向けアプリケーションや一部のエンタープライズ用途では、サーバーホスト型モデルは実用的ではありません(例えば、ユーザーが帯域幅に制約がある場合や、リモートAPIを使用するよりも低遅延が必要な場合など)。
inferencejs
は、 Tensorflow.js の上に構築されたカスタムレイヤーで、Roboflowでトレーニングされたモデルを使ってJavaScriptによるリアルタイム推論を可能にします。
学習リソース
Webカメラでモデルを試す:Webカメラデモをこちらでお試しいただけます: ハンド検出モデル (これは公開されている EgoHandsデータセット).
インタラクティブReplit環境:私たちは「はじめに」というプロジェクトをRepl.it上で公開し、 Repl.itテンプレートを使ったYOLOv8モデルのデプロイ方法を紹介するチュートリアルも用意しています。.
GitHubテンプレート: Roboflowのホームページ は、
inferencejs
を使ってCOCO推論ウィジェットを動かしています。READMEには、GitHub Pagesを使ってウェブにモデルをデプロイするためのリポジトリテンプレートの使い方が記載されています。ドキュメント:特定の関数についてさらに詳しく知りたい場合は、
inferencejs
の ドキュメントページ をご覧いただくか、下記ガイド内のinferencejs
メソッド名をクリックすると、それぞれのドキュメントに移動します。
対応モデル
inferencejs
は現在、以下のモデルアーキテクチャをサポートしています:
YOLOv8
YOLOv5
インストール
プロジェクトに inference
を追加するには、npmでインストールするか、スクリプトタグをページの <head>
タグが付与されていない画像のみが含まれます。
npm install inferencejs
<script src="https://cdn.jsdelivr.net/npm/inferencejs"></script>
初期化 inferencejs
inferencejs
認証
あなたの publishable_key
はRoboflowのワークスペース設定から取得できます。

注意: あなたの publishable_key
は inferencejs
, プライベート あなたの APIキー(これは秘密にしておく必要があります)では ありません。
まず InferenceEngine
をインポートし、新しい推論エンジンオブジェクトを作成します。
import { InferenceEngine } from "inferencejs";
const inferEngine = new InferenceEngine();
これでRoboflowからあなたの publishable_key
とモデルメタデータ(モデル名とバージョン)、信頼度しきい値や重なりしきい値などの設定パラメータを使ってモデルをロードできます。
const workerId = await inferEngine.startWorker("[model name]", "[version]", "[publishable key]");
inferencejs
これで選択したモデルを実行するワーカーが起動します。返されたワーカーIDは InferenceEngine
で推論に使うワーカーIDと一致します。モデルで推論するには、 infer
メソッドを InferenceEngine
.
で呼び出します。画像を読み込んでワーカーで推論してみましょう。
const image = document.getElementById("image"); // idが`image`の画像要素を取得
const predictions = await inferEngine.infer(workerId, image); // 画像で推論
)を受け付けます。これは予測の配列(この場合はクラス RFObjectDetectionPrediction
)
設定
の動作をカスタマイズ・設定したい場合は、 inferencejs
が予測をフィルタリングする方法を、ワーカー作成時にパラメータとして渡せます。
const configuration = {scoreThreshold: 0.5, iouThreshold: 0.5, maxNumBoxes: 20};
const workerId = await inferEngine.startWorker("[model name]", "[version]", "[publishable key]", configuration);
または推論時に設定オプションを渡すこともできます。
const configuration = {
scoreThreshold: 0.5,
iouThreshold: 0.5,
maxNumBoxes: 20
};
const predictions = await inferEngine.infer(workerId, image, configuration);
Last updated
Was this helpful?