推論 (Inference)

Ultralytics Platformでは、学習済みモデルをテストするための推論APIを提供しています。ブラウザベースのPredictタブを使用して手早く検証するか、プログラムからアクセスするためにREST APIを使用してください。

Ultralytics Platform Model Predict Tab With Detections Overlay

Predictタブ

すべてのモデルには、ブラウザベースの推論を行うためのPredictタブが含まれています。

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

Ultralytics Platform Predict Tab Image Upload Dropzone

入力方法

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

メソッド説明
画像アップロードドラッグ&ドロップまたはクリックして画像をアップロードします
サンプル画像組み込みの例(データセット画像またはデフォルト)をクリックします
ウェブカメラ撮影シングルフレームキャプチャ機能付きのライブカメラフィード
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モデルの場合は、代わりにボートや空港の航空写真が表示されます。

プリロード済み画像

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

Webカメラ

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

  1. プロンプトが表示されたらカメラへのアクセスを許可します
  2. ビデオプレビューをクリックしてフレームをキャプチャします
  3. キャプチャしたフレームに対して自動的に推論が実行されます
  4. もう一度クリックするとウェブカメラが再起動します

結果を表示

推論結果が表示されます:

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

Ultralytics Platform Predict Tab Results With Detections And Speed Stats

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

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

推論パラメータ

折りたたみ可能なParametersセクションにあるパラメータを使用して検出動作を調整します:

Ultralytics Platform Predict Tab Parameters Sliders

パラメータ範囲デフォルト説明
Confidence0.01 – 1.00.25最小信頼度閾値
IoU0.0 – 0.950.7NMS IoU閾値
Image Size320, 640, 1280 (UI切り替え)640入力リサイズ寸法 (APIは32~1280の任意の値を許可)
自動再実行

パラメータを変更すると、現在の画像に対して500msのデバウンスで自動的に推論が再実行されます。再アップロードは不要です。

信頼度閾値

信頼度に基づいて予測をフィルタリングします:

  • 高 (0.5以上): 確実性の高い少数の予測
  • 低 (0.1-0.25): より多くの予測、一部ノイズを含む
  • デフォルト (0.25): ほとんどのユースケースに適したバランス

IoU閾値

NMS (Non-Maximum Suppression) を制御します:

  • 高 (0.7以上): 重なり合うボックスをより多く許可
  • 低 (0.3-0.5): 近接する検出結果をより積極的に統合
  • デフォルト (0.7): ほとんどのユースケースに適したバランスの取れたNMS動作

デプロイメントの予測

実行中の専用エンドポイントには、各デプロイメントカード上に直接Predictタブが含まれています。これは共有の予測サービスではなくデプロイメント独自の推論サービスを使用するため、ブラウザからデプロイしたエンドポイントをテストできます。

REST API

プログラムから推論にアクセスします:

認証

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

Authorization: Bearer YOUR_API_KEY
APIキーが必要です

独自のスクリプト、ノートブック、またはアプリから推論を実行するには、APIキーを含めてください。Settings > API Keysでキーを生成できます。

エンドポイント

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())

Ultralytics Platform Predict Tab Code Examples Python Tab

レスポンス

{
    "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 Platform Predict Tab Json Response View

レスポンスフィールド

項目タイプ説明
images配列処理済み画像のリスト
images[].shape配列画像サイズ [高さ, 幅]
images[].results配列検出結果のリスト
images[].results[].name文字列クラス名
images[].results[].confidence浮動小数点数検出信頼度 (0-1)
images[].results[].boxオブジェクトBBox座標
images[].speedオブジェクトミリ秒単位の処理時間
metadataオブジェクトリクエストのメタデータおよびバージョン情報

タスク固有のレスポンス

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

{
  "class": 0,
  "name": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}

請求

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

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

レート制限

共有推論は、APIキーごとに20リクエスト/分のレート制限が適用されます。制限を超えた場合、APIは 429 ステータスコードと Retry-After ヘッダーを返します。すべてのエンドポイントカテゴリの完全なレート制限リファレンスを参照してください。

より高いスループットが必要な場合

専用エンドポイントをデプロイすると、レート制限なしの無制限の推論が可能となり、予測可能なスループットと安定した低遅延のレスポンスが得られます。ローカル推論については、Predictモードガイドを参照してください。

エラーハンドリング

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

コードメッセージ解決策
400無効な画像ファイル形式を確認してください
401認証失敗APIキーを確認してください
404モデルが見つかりませんモデルIDを確認してください
429レート制限超過待機してから再試行するか、無制限のスループットを利用するために専用エンドポイントを使用してください
500サーバーエラーリクエストを再試行してください

FAQ

動画で推論を実行できますか?

両方の推論手法で動画ファイルを受け付けています:

  • 専用エンドポイントは動画ファイルを直接受け付けます。サポートされている形式(最大100 MB):ASF、AVI、GIF、M4V、MKV、MOV、MP4、MPEG、MPG、TS、WEBM、WMV。各フレームが個別に処理され、フレームごとの結果が返されます。詳細は専用エンドポイントを参照してください。
  • 共有推論/api/models/{id}/predict)は同じ予測サービスを使用し、同じ動画形式を受け付けます。ただし、UI上のブラウザのPredictタブは画像のみをアップロードできるため、動画ワークフローにはREST APIを直接使用するか、専用エンドポイントを使用してください。共有エンドポイントには20リクエスト/分のレート制限もあるため、大量の動画を処理する場合は専用エンドポイントの方が適しています。

アノテーション付き画像を取得するにはどうすればよいですか?

APIはJSON形式の予測結果を返します。可視化するには:

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

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

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

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

  • アップロード制限:10MB
  • 推奨:高速な推論のために5MB未満
  • 自動リサイズ:画像は選択された Image Size パラメータに合わせてリサイズされます

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

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

現在のAPIはリクエストごとに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))

コメント