YOLO Vision 2026:

推論#

Ultralytics Platformは、トレーニング済みモデルをテストするためのブラウザベースの推論機能と、プログラムからアクセスするための専用エンドポイントを提供します。

Ultralytics Platform Model Predict Tab With Detections Overlay

推論タブ#

重みを持つすべてのモデルには、ブラウザベースの推論用の Predict タブが含まれています:

  1. モデルのページへ移動します
  2. Predictタブをクリックします
  3. 画像をアップロードするか、例を使用するか、Webカメラを開きます
  4. タスク固有のオーバーレイ、予測サマリー、処理時間、および生レスポンスを確認します。

重みを持たないモデルには代わりに空の状態が表示されます。最初にモデルをトレーニングするか、重みをアップロードしてください。

Ultralytics Platform Predict Tab Image Upload Dropzone

入力方法#

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

メソッド説明
画像のアップロードドラッグ&ドロップ、またはクリックして画像をアップロードします
サンプル画像組み込みのサンプル(データセット画像またはデフォルト)をクリックします
Webカメラキャプチャシングルフレームキャプチャが可能なライブカメラフィード
graph LR
    A[Upload Image]:::start --> D[Auto-Inference]:::proc
    B[Example Image]:::start --> D
    C[Webcam Capture]:::start --> D
    D --> E[Results + Overlays]:::out

    classDef start fill:#4CAF50,color:#fff
    classDef proc fill:#2196F3,color:#fff
    classDef out fill:#9C27B0,color:#fff

画像をアップロード#

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

  • 対応フォーマット: JPEG, PNG, WebP, AVIF, HEIC, JP2, TIFF, BMP
  • 最大サイズ: 10 MB
  • 自動推論: アップロード後に結果が自動的に表示されます
自動推論

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

クライアント側のリサイズ

アップロードする前に、パネルは画像の最も長い辺が選択された Image Size に一致するようにリサイズし、正規化された座標をリクエストします。これによりブラウザでのテストが高速に保たれます。ご自身で送信するリクエストはリサイズされません。

サンプル画像#

予測パネルには、モデルのリンクされたデータセットからの最大2つのサンプル画像が表示され、val 分割、次に test、その次に train が優先されます。データセットがリンクされていない場合は、デフォルトのサンプルが使用されます:

画像コンテンツ
bus.jpg車両が映った街中のシーン
zidane.jpg人が映ったスポーツシーン

OBBモデルの場合は、ボートや空港の航空写真が代わりに表示されます。

プリロードされた画像

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

Webcam#

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

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

結果を表示#

推論結果には、モデルのタスクに応じた出力(バックス、マスク、キーポイント、指向性バックス、分類スコア、セマンティックカバレッジ、または深度マップ)が表示されます。オブジェクトの結果には、可能な場合、データセットのクラスカラーが使用されます。また、パネルには前処理、推論、後処理、およびネットワークの処理時間も表示されます。

Ultralytics Platform Predict Tab Results With Detections And Speed Stats 結果パネルには以下が表示されます。

フィールド説明
結果サマリー検出ごとのリスト、または分類およびセマンティックモデルの場合は上位5つのクラス
速度統計前処理、推論、後処理、およびネットワーク(ms)
バージョンUltralyticsおよびPyTorchのバージョン、および該当する場合は深度範囲またはマスクサイズ
JSONレスポンスコードブロック内の生のAPIレスポンス。base64マップデータは省略されています

結果が表示されると、プレビューの上に2つのコントロールが表示されます。画像をクリックするとオーバーレイを維持したまま拡大でき、ダウンロードボタンを使用すると現在結果のアノテーション付きJPEGを保存できます。

推論パラメータ#

画像の下の3つのスライダーで推論の挙動を調整します:

Ultralytics Platform Predict Tab Parameters Sliders

パラメータ範囲デフォルト説明
Confidence0.01 – 1.0、0.01刻み0.25最小信頼度しきい値
IoU0.0 – 0.95、0.01刻み0.7NMS IoUしきい値
Image Size32 – 1280、32刻み640入力リサイズの寸法
自動再実行

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

信頼度しきい値#

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

  • 高 (0.5以上): 予測数は減少しますが、より確実性が高い結果になります
  • 低 (0.1-0.25): より多くの予測が得られますが、ノイズが含まれる可能性があります
  • デフォルト (0.25): ほとんどのユースケースでバランスが取れています

IoUしきい値#

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

  • 高 (0.7以上): 重なり合うボックスをより多く許可します
  • Lower (0.3-0.5): 重なり合う検出をより積極的に抑制します
  • デフォルト (0.7): ほとんどのユースケースでバランスの取れたNMS動作を提供します

デプロイメント予測#

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

専用エンドポイント API#

モデルの Predict タブにある API Docs カードには、スライダーで現在設定されている信頼度、IoU、画像サイズがあらかじめ入力された、Python、JavaScript、cURLのリクエスト例が含まれています。URLとキーは、モデルをデプロイするまではプレースホルダーです。コードタブの横にある Deploy ボタンをクリックすると、モデルの Deploy タブに移動します。デプロイ後、デプロイカードの Code タブには、そのエンドポイントのURLと、ワークスペース所有者の場合はバインドされたAPIキーが入力され、コピーして実行する準備が整います。

認証#

リクエストにAPIキーを含めてください:

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

独自のスクリプト、ノートブック、またはアプリから推論を実行するには、APIキーを含めます。Settings > API Keys で作成してください。専用エンドポイントは作成時に使用された単一のキーのみを受け入れます。共有モデルAPIはワークスペース内のアクティブなキーを受け入れ、パブリックモデルは匿名のリクエストも受け入れます。

エンドポイント#

専用エンドポイントは独自のURLでリクエストを受け付けます:

POST https://YOUR_DEPLOYMENT_URL.run.app/predict

共有推論では、モデルのフルパスを指定してプラットフォームAPIを使用します:

POST https://platform.ultralytics.com/api/models/{owner}/{project}/{model}/predict

どちらも同じ multipart/form-data ボディを受け入れ、同じレスポンスの形状を返します。Python SDK を使用する場合は、共有推論には client.models.predict(owner, project, model, body=...) を使用し、専用デプロイには client.deployments.predict(owner, deployment, body=...) を使用します:

from ultralytics_platform import Platform

client = Platform()  # reads ULTRALYTICS_API_KEY
with open("image.jpg", "rb") as f:
    results = client.models.predict("acme-vision", "inspection", "v3", body={"file": f, "conf": 0.25})

リクエスト#

import requests

url = "https://YOUR_DEPLOYMENT_URL.run.app/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}

with open("image.jpg", "rb") as image_file:
    response = requests.post(url, headers=headers, files={"file": image_file}, data=data)
print(response.json())

Ultralytics Platform Predict Tab Code Examples Python Tab

リクエストパラメータ#

パラメータタイプデフォルト範囲説明
fileファイル--画像または動画ファイル(source が設定されている場合を除き必須)
conffloat0.250.01 – 1.0最小信頼度しきい値
ioufloat0.70.0 – 0.95NMS IoUしきい値
imgszint64032 – 1280入力画像のサイズ(ピクセル単位)
normalizeboolfalse-バウンディングボックスの座標を0~1で返します
decimalsint50 – 10座標値の小数点以下の精度
bitsint88, 12, 16深度マップの量子化(深度モデルのみ)
sourcestring--画像 URL または base64 文字列(file の代替)

レスポンス#

{
    "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,
        "functionTimeAlive": 1284.51,
        "functionTimeCall": 0.018,
        "task": "detect",
        "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配列処理された画像のリスト(動画の場合は動画フレームごとに1つのエントリ)
images[].shape配列画像サイズ [高さ, 幅]
images[].results配列検出結果のリスト
images[].results[].classintクラスインデックス (整数ID)
images[].results[].namestringクラス名
images[].results[].confidencefloat検出の信頼度 (0-1)
images[].results[].boxオブジェクトバウンディングボックスの座標
images[].semantic_maskオブジェクトピクセルごとのクラスマップ(セマンティックモデルのみ)
images[].depthオブジェクトピクセルごとの深度マップ(深度モデルのみ)
images[].speedオブジェクトミリ秒単位の処理時間
metadataオブジェクト画像数、サービスタイミング、タスク、およびUltralytics/PyTorchのバージョン

タスク固有のレスポンス#

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

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

レート制限#

共有モデルAPIは、各APIキー、サインインした呼び出し元、または匿名IPに対して20リクエスト/分に制限されています。スロットルされると、APIは429Retry-Afterヘッダーとともに返します。すべてのエンドポイントカテゴリについては、完全なrate-limit referenceを参照してください。

より高いスループットが必要ですか?

専用エンドポイントに直接送信されたリクエストは、プラットフォームAPIのレートリミッターを通過しません。エンドポイントは、一時的に容量いっぱいのときには、429Retry-After ヘッダーを用いて負荷を逃がします。大容量のローカル推論については、Predict モードガイドを参照してください。

エラーハンドリング#

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

コードメッセージ解決策
400無効な画像ファイル形式を確認するか、モデルにトレーニング済みの重みがあることを確認してください
401未承認APIキーを確認してください
404モデルが見つかりません所有者、プロジェクト、モデル名を確認してください
413入力が大きすぎますファイルサイズをエンドポイントの制限未満に減らしてください
429レート制限待機して再試行するか、dedicated endpointにリクエストを直接送信してください。
500サーバーエラーリクエストを再試行
503サービス利用不可Predictサービスが起動中または到達不能です。しばらく待ってから再試行してください

よくある質問 (FAQ)#

  • どちらの推論方法も動画ファイルを受け付けます:

    • Dedicated endpointsはビデオファイルを直接受け入れます。サポートされている形式(最大100 MB):ASF、AVI、GIF、M4V、MKV、MOV、MP4、MPEG、MPG、TS、WEBM、WMV。各フレームは個別に処理され、結果はフレームごとに返されます。詳細については、dedicated endpointsを参照してください。
    • 共有推論 (POST /api/models/{owner}/{project}/{model}/predict) は同じ予測サービスを使用し、同じ動画フォーマットを受け付けます。ブラウザの Predict タブは画像のみを選択するため、動画の場合はAPIまたは専用エンドポイントを使用してください。
  • Predict タブでは、プレビュー上のダウンロードボタンで現在結果のアノテーション付きJPEGとして保存できます。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 mode documentationを参照してください。

    • Predict タブの制限: 10 MB
    • API制限: 共有推論と専用エンドポイントの両方で 100 MB
    • Predictタブでの自動リサイズ:画像はアップロード前に選択されたImage Sizeにリサイズされます

    大きな画像はアスペクト比を維持したままブラウザで自動的にリサイズされます。ご自身で送信するリクエストはリサイズされないため、制限を超える画像は 413 で拒否されます。

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

    1. 画像ごとに個別のリクエストを送信します
    2. 必要に応じて専用エンドポイント間でリクエストを分散させます
    3. 大規模なバッチにはローカル推論を使用します
    Pythonを使用したバッチ推論
    import concurrent.futures
    
    import requests
    
    url = "https://YOUR_DEPLOYMENT_URL.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))

コメント