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

Predictタブ
すべてのモデルには、ブラウザベースの推論を行うためのPredictタブが含まれています。
- モデルに移動します
- 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モデルの場合は、代わりにボートや空港の航空写真が表示されます。
サンプル画像はページ読み込み時にプリロードされるため、例をクリックするとダウンロードを待つことなくほぼ瞬時に推論がトリガーされます。
Webカメラ
ウェブカメラカードをクリックしてライブカメラフィードを開始します:
- プロンプトが表示されたらカメラへのアクセスを許可します
- ビデオプレビューをクリックしてフレームをキャプチャします
- キャプチャしたフレームに対して自動的に推論が実行されます
- もう一度クリックするとウェブカメラが再起動します
結果を表示
推論結果が表示されます:
- SVGオーバーレイとしてのクラスラベル付きバウンディングボックス
- 各検出の信頼度スコア
- データセットのカラーパレット(またはUltralyticsのデフォルトパレット)によるクラスの色分け
- 速度の内訳: 前処理、推論、後処理、およびネットワーク時間

結果パネルには以下が表示されます:
| 項目 | 説明 |
|---|---|
| 検出リスト | クラス名と信頼度を含む各検出結果 |
| 速度統計 | 前処理、推論、後処理、ネットワーク時間 (ms) |
| JSONレスポンス | コードブロック内の生のAPIレスポンス |
推論パラメータ
折りたたみ可能なParametersセクションにあるパラメータを使用して検出動作を調整します:

| パラメータ | 範囲 | デフォルト | 説明 |
|---|---|---|---|
| Confidence | 0.01 – 1.0 | 0.25 | 最小信頼度閾値 |
| IoU | 0.0 – 0.95 | 0.7 | NMS IoU閾値 |
| Image Size | 320, 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キーを含めてください。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())
レスポンス
{
"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"
}
}
}
レスポンスフィールド
| 項目 | タイプ | 説明 |
|---|---|---|
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形式の予測結果を返します。可視化するには:
- 予測結果を使用してローカルでボックスを描画する
- 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つの画像を処理します。バッチ処理を行うには:
- 同時リクエストを送信する
- より高いスループットを得るために専用エンドポイントを使用する
- 大規模なバッチ処理にはローカル推論を検討する
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))