Ultralytics YOLO27:

推論#

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

Ultralytics Platform Model Predict Tab With Detections Overlay

予測タブ#

重みを含むすべてのモデルには、ブラウザベースの推論用にPredictタブがあります。

  1. モデルに移動します
  2. Predictタブをクリックします
  3. 画像をアップロードするか、サンプルを使用するか、Webcamを開きます
  4. タスク固有のオーバーレイ、推論サマリー、処理時間、未加工のレスポンスを確認します

重みのないモデルでは空の状態が表示されます。まずモデルをトレーニングするか、重みをアップロードしてください。

Ultralytics Platform Predict Tab Image Upload Dropzone

入力方法#

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

メソッド説明
画像のアップロードドラッグ&ドロップするか、クリックして画像をアップロードします
サンプル画像組み込みのサンプル(データセット画像またはデフォルト)をクリックします
Webcamキャプチャ単一フレームのキャプチャに対応したライブカメラフィード
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
  • 自動推論: アップロード後に結果が自動的に表示されます
自動推論

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

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

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

サンプル画像#

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

画像内容
bus.jpg車両がある街路シーン
zidane.jpg人物がいるスポーツシーン

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

事前読み込み済み画像

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

Webcam#

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

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

結果を表示#

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

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.010.25最小信頼度しきい値
IoU0.0~0.95、ステップ幅0.010.7NMS IoUしきい値
Image Size32~1280、ステップ幅32640入力リサイズの寸法
自動再実行

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

信頼度しきい値#

信頼度で予測をフィルタリングします。

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

IoUしきい値#

Non-Maximum Suppressionを制御します。

  • 高い(0.7以上): より多くの重複ボックスを許可
  • 低い(0.3~0.5): 重複する検出をより積極的に抑制
  • デフォルト(0.7): ほとんどのユースケースに適したバランスのNMS動作

デプロイメントのPredict#

実行中の各専用エンドポイントには、デプロイメントカード上にPredictタブが直接含まれています。これは共有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キーを生成してください。専用エンドポイントは作成時に指定された単一のキーのみを受け付けます。共有モデルAPIはワークスペース内の有効なキーをすべて受け付け、パブリックモデルは匿名リクエストも受け付けます。

エンドポイント#

専用エンドポイントは、それぞれのURLでリクエストを受け付けます。

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

共有推論では、モデルの完全なパスを指定してPlatform 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

リクエストパラメーター#

パラメータデフォルト範囲説明
filefile--画像または動画ファイル(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オブジェクトBounding 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につき、1分あたり20リクエストに制限されています。レート制限が適用されると、APIは 429Retry-After ヘッダーとともに返します。すべてのエンドポイントカテゴリについては、完全なレート制限リファレンスをご覧ください。

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

専用エンドポイントに直接送信されたリクエストは、Platform APIのレートリミッターを通過しません。エンドポイントが一時的に容量上限に達した場合は、429Retry-After ヘッダーを付けて負荷を軽減します。大量のローカル推論については、Predictモードガイドをご覧ください。

エラーハンドリング#

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

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

FAQ#

  • どちらの推論方法も動画ファイルに対応しています:

    • 専用エンドポイントは動画ファイルを直接受け付けます。対応形式(最大100 MB):ASF、AVI、GIF、M4V、MKV、MOV、MP4、MPEG、MPG、TS、WEBM、WMV。各フレームが個別に処理され、フレームごとに結果が返されます。詳細については専用エンドポイントをご覧ください。
    • 共有推論POST /api/models/{owner}/{project}/{model}/predict)は同じ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モードのドキュメントをご覧ください。

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

コメント