コンテンツにスキップ

推論

Ultralytics Platform 学習済みモデルのテスト用推論APIを提供します。ブラウザベースの Predict クイック検証用のタブまたは REST API プログラムによるアクセスの場合。

Ultralytics モデル予測タブ(検出オーバーレイ付き)

予測タブ

各モデルには以下が含まれます Predict ブラウザベース推論用タブ:

  1. モデルに移動
  2. 予測タブをクリックします。
  3. 画像をアップロードする、例を使用する、またはウェブカメラを開く
  4. バウンディングボックスのオーバーレイで予測を即座に確認

Ultralytics Predict タブ 画像アップロード ドロップゾーン

入力方法

予測パネルは複数の入力方式をサポートしています:

メソッド説明
画像アップロード画像をアップロードするには、ドラッグ&ドロップまたはクリックしてください
サンプル画像組み込みの例 (データセット画像またはデフォルト) をクリックします。
ウェブカメラキャプチャライブカメラ映像と単一フレームキャプチャ
graph LR
    A[Upload Image] --> D[Auto-Inference]
    B[Example Image] --> D
    C[Webcam Capture] --> D
    D --> E[Results + Overlays]

    style D fill:#2196F3,color:#fff
    style E fill:#4CAF50,color:#fff

画像をアップロード

ドラッグ&ドロップまたはクリックしてアップロード:

  • サポートされているフォーマット: JPEG、PNG、WebP、AVIF、HEIC、JP2、TIFF、BMP、DNG、MPO
  • 最大サイズ:10MB
  • オートインファレンス: アップロード後、結果が自動的に表示されます。

自動推論

画像のアップロード、例の選択、またはウェブカメラのフレームキャプチャ時に、予測パネルは自動的に推論を実行します。ボタンをクリックする必要はありません。

サンプル画像

予測パネルには、モデルにリンクされたデータセットからのサンプル画像が表示されます。データセットがリンクされていない場合、デフォルトのサンプルが使用されます:

画像コンテンツ
bus.jpg車両のある街の風景
zidane.jpg人物のいるスポーツシーン

obbモデルの場合、代わりにボートや空港の航空画像が表示されます。

プリロードされた画像

ページが読み込まれるとサンプル画像がプリロードされるため、例をクリックすると、ダウンロードを待つことなくほぼ瞬時に推論が実行されます。

ウェブカメラ

ウェブカメラカードをクリックしてライブカメラフィードを開始します。

  1. カメラの許可を求められたら許可する
  2. ビデオプレビューをクリックしてフレームをキャプチャします
  3. 推論はキャプチャされたフレーム上で自動的に実行される
  4. もう一度クリックすると、ウェブカメラが再起動します。

結果を表示

推論結果の表示:

  • バウンディングボックス(クラスラベル付き、SVGオーバーレイとして)
  • 信頼度スコア (各detectに対して)
  • データセットのカラーパレット(またはUltralyticsのデフォルトパレット)からのクラスの色
  • 速度の内訳: 前処理、推論、後処理、およびネットワーク時間

Ultralytics :検出と速度統計による予測タブの結果

結果パネルには以下が表示されます:

フィールド説明
検出リストクラス名と信頼度を含む各検出
速度統計前処理、推論、後処理、ネットワーク (ms)
JSONレスポンスコードブロック内の生のAPIレスポンス

推論パラメータ

折りたたみ可能なパラメータセクションのパラメータで検出動作を調整します:

Ultralytics 予測タブパラメータスライダー

パラメータ範囲デフォルト説明
信頼度0.01-1.00.25最小信頼度しきい値
IoU0.0-0.950.70NMS IoUしきい値
画像サイズ320, 640, 1280640入力サイズ変更(ボタン切り替え)

自動再実行

いずれかのパラメータを変更すると、500ミリ秒のデバウンスを伴って、現在の画像に対して自動的に推論が再実行されます。再アップロードの必要はありません。

信頼度しきい値

信頼度で予測をフィルタリング:

  • 高め (0.5以上): 予測は少なく、より確実
  • 低め (0.1-0.25): 予測は多く、ノイズが混じる可能性あり
  • デフォルト (0.25): ほとんどのユースケースでバランスが取れている

IoUしきい値

NMSを制御:

  • より高い (0.7+): 重なり合うボックスをさらに許可する
  • 下位 (0.3-0.5): 近接検出をより積極的に統合する
  • デフォルト (0.70): ほとんどのユースケースでバランスの取れたNMS

デプロイメント予測

各実行中の 専用エンドポイント 以下を含む Predict デプロイメントカード上で直接タブを操作します。これにより、共有予測サービスではなくデプロイメント固有の推論サービスが使用され、ブラウザからデプロイされたエンドポイントをテストできるようになります。

REST API

推論にプログラムでアクセス:

認証

リクエストにAPIキーを含めます:

Authorization: Bearer YOUR_API_KEY

APIキー必須

独自のスクリプト、ノートブック、またはアプリから推論を実行するには、APIキーを含めてください。APIキーは以下で生成できます。 Settings (プロフィールタブのAPIキーセクション)

エンドポイント

POST https://platform.ultralytics.com/api/models/{modelId}/predict

リクエスト

import requests

url = "https://platform.ultralytics.com/api/models/MODEL_ID/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = {"file": open("image.jpg", "rb")}
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}

response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())
curl -X POST \
  "https://platform.ultralytics.com/api/models/MODEL_ID/predict" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@image.jpg" \
  -F "conf=0.25" \
  -F "iou=0.7" \
  -F "imgsz=640"
const formData = new FormData();
formData.append("file", fileInput.files[0]);
formData.append("conf", "0.25");
formData.append("iou", "0.7");
formData.append("imgsz", "640");

const response = await fetch(
  "https://platform.ultralytics.com/api/models/MODEL_ID/predict",
  {
    method: "POST",
    headers: { Authorization: "Bearer YOUR_API_KEY" },
    body: formData,
  }
);

const result = await response.json();
console.log(result);

Ultralytics Predict タブ コード例Python

応答

{
    "images": [
        {
            "shape": [1080, 1920],
            "results": [
                {
                    "class": 0,
                    "name": "person",
                    "confidence": 0.92,
                    "box": { "x1": 100, "y1": 50, "x2": 300, "y2": 400 }
                },
                {
                    "class": 2,
                    "name": "car",
                    "confidence": 0.87,
                    "box": { "x1": 400, "y1": 200, "x2": 600, "y2": 350 }
                }
            ],
            "speed": {
                "preprocess": 1.2,
                "inference": 12.5,
                "postprocess": 2.3
            }
        }
    ],
    "metadata": {
        "imageCount": 1,
        "functionTimeCall": 0.018,
        "model": "model.pt",
        "version": {
            "ultralytics": "8.x.x",
            "torch": "2.6.0",
            "torchvision": "0.21.0",
            "python": "3.13.0"
        }
    }
}

Ultralytics Predictタブ JSONレスポンス表示

レスポンスフィールド

フィールド種類説明
images配列処理済み画像の一覧
images[].shape配列画像サイズ [高さ, 幅]
images[].results配列detect結果のリスト
images[].results[].namestringクラス名
images[].results[].confidencefloatdetect信頼度 (0-1)
images[].results[].boxオブジェクトバウンディングボックス座標
images[].speedオブジェクト処理時間(ミリ秒単位)
metadataオブジェクトメタデータとバージョン情報を要求する

タスク固有のレスポンス

レスポンス形式はタスクによって異なります:

{
  "class": 0,
  "name": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}
{
  "class": 0,
  "name": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
  "segments": [[100, 50], [150, 60], ...]
}
{
  "class": 0,
  "name": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
  "keypoints": [
    {"x": 200, "y": 75, "conf": 0.95},
    ...
  ]
}
{
  "results": [
    {"class": 0, "name": "cat", "confidence": 0.95},
    {"class": 1, "name": "dog", "confidence": 0.03}
  ]
}
{
  "class": 0,
  "name": "ship",
  "confidence": 0.89,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
  "obb": {"x1": 105, "y1": 48, "x2": 295, "y2": 55, "x3": 290, "y3": 395, "x4": 110, "y4": 402}
}

請求

共有推論([予測] タブおよび /api/models/{id}/predict エンドポイント) は 追加料金なしで含まれています すべてのプランで。共有推論については、リクエストごとの課金は発生しません。

より高いスループットを必要とする本番ワークロードには、専用エンドポイントをデプロイしてください。

レート制限

共有推論はレート制限される APIキーあたり20リクエスト/分。スロットリングされた場合、APIは 429 とともに Retry-After ヘッダー。全文を参照 レート制限リファレンス すべてのエンドポイントカテゴリ向け。

スループットをさらに向上させたいですか?

レート制限なし、予測可能なスループット、一貫した低レイテンシー応答による無制限の推論のために、専用エンドポイントをデプロイします。ローカル推論については、予測モードガイドを参照してください。

エラー処理

一般的なエラーレスポンス:

コードメッセージソリューション
400無効な画像ファイル形式を確認してください
401認証されていませんAPIキーを確認してください
404モデルが見つかりませんモデルIDを確認する
429レート制限されています待機して再試行するか、無制限のスループットを実現する専用エンドポイントを使用してください
500サーバーエラーリクエストを再試行してください

よくある質問

ビデオで推論を実行できますか?

推論手法によって異なります:

  • 専用エンドポイントは動画ファイルを直接受け入れます。サポートされている形式(最大100MB):ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV。各フレームは個別に処理され、結果はフレームごとに返されます。詳細は専用エンドポイントを参照してください。
  • 共有推論 (/api/models/{id}/predict)は画像のみを受け付けます。動画の場合、フレームをローカルで抽出し、各フレームを個別のリクエストとして送信し、結果を集約してください。

アノテーション付き画像はどのように取得しますか?

APIはJSON予測を返します。視覚化するには:

  1. 予測を使用してローカルでボックスを描画する
  2. Ultralyticsを使用する plot() メソッド:
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
results = model("image.jpg")
results[0].save("annotated.jpg")

予測モードのドキュメントを参照して、完全な結果APIと可視化オプションを確認してください。

最大画像サイズはどのくらいですか?

  • アップロード制限: 10MB
  • Recommended: <5MB for fast inference
  • 自動リサイズ: 画像は選択されたサイズにリサイズされます。 Image Size パラメータ

大きな画像は、アスペクト比を維持しながら自動的にリサイズされます。

バッチ推論を実行できますか?

現在のAPIは1リクエストにつき1画像を処理します。バッチ処理の場合:

  1. 同時リクエストを送信する
  2. スループット向上のために専用エンドポイントを使用する
  3. 大規模なバッチ処理にはローカル推論を検討してください

Pythonによるバッチ推論

import concurrent.futures

import requests

url = "https://predict-abc123.run.app/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
images = ["img1.jpg", "img2.jpg", "img3.jpg"]


def predict(image_path):
    with open(image_path, "rb") as f:
        return requests.post(url, headers=headers, files={"file": f}).json()


with concurrent.futures.ThreadPoolExecutor(max_workers=4) as executor:
    results = list(executor.map(predict, images))


📅 2ヶ月前に作成✏️ 7日前に更新
glenn-jochert-hakobyansergiuwaxmannLaughing-q

コメント