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

推論タブ#
すべてのモデルには、ブラウザベースの推論を行うためのPredictタブが含まれています。
- モデルのページへ移動します
- Predictタブをクリックします
- 画像をアップロードするか、例を使用するか、Webカメラを開きます
- タスク固有のオーバーレイ、予測サマリー、処理時間、および生レスポンスを確認します。

入力方法#
予測パネルは複数の入力方法をサポートしています。
| メソッド | 説明 |
|---|---|
| 画像のアップロード | ドラッグ&ドロップ、またはクリックして画像をアップロードします |
| サンプル画像 | 組み込みのサンプル(データセット画像またはデフォルト)をクリックします |
| 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, DNG, MPO
- 最大サイズ: 10MB
- 自動推論: アップロード後に結果が自動的に表示されます
予測パネルは、画像のアップロード、サンプルの選択、またはWebカメラのフレームキャプチャを行うと自動的に推論を実行します。ボタンをクリックする必要はありません。
サンプル画像#
予測パネルには、モデルに関連付けられたデータセットのサンプル画像が表示されます。データセットがリンクされていない場合は、デフォルトのサンプルが使用されます:
| 画像 | コンテンツ |
|---|---|
bus.jpg | 車両が映った街中のシーン |
zidane.jpg | 人が映ったスポーツシーン |
OBBモデルの場合は、代わりにボートや空港の航空写真が表示されます。
サンプル画像はページ読み込み時にプリロードされるため、サンプルをクリックするとダウンロード待ち時間なしでほぼ瞬時に推論がトリガーされます。
Webcam#
Webカメラカードをクリックしてライブカメラフィードを開始します:
- プロンプトが表示されたらカメラへのアクセスを許可します
- ビデオプレビューをクリックしてフレームをキャプチャします
- キャプチャしたフレームに対して自動的に推論が実行されます
- もう一度クリックするとWebカメラが再起動します
結果を表示#
推論結果には、モデルのタスクに応じた出力(バックス、マスク、キーポイント、指向性バックス、分類スコア、セマンティックカバレッジ、または深度マップ)が表示されます。オブジェクトの結果には、可能な場合、データセットのクラスカラーが使用されます。また、パネルには前処理、推論、後処理、およびネットワークの処理時間も表示されます。
結果パネルには以下が表示されます。
| フィールド | 説明 |
|---|---|
| 結果サマリー | 検出、分類、またはセマンティッククラスのカバレッジ |
| 速度統計 | 前処理、推論、後処理、およびネットワーク(ms) |
| JSONレスポンス | コードブロック内の生のAPIレスポンス |
推論パラメータ#
画像の下の3つのスライダーで推論の挙動を調整します:

| パラメータ | 範囲 | デフォルト | 説明 |
|---|---|---|---|
| Confidence | 0.01 – 1.0、0.01刻み | 0.25 | 最小信頼度しきい値 |
| IoU | 0.0 – 0.95、0.01刻み | 0.7 | NMS IoUしきい値 |
| Image Size | 32 – 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カードには、Python、JavaScript、cURLのリクエスト例が含まれています。これらの例は、モデルをデプロイするまでプレースホルダーを使用します。デプロイ後、デプロイメントカードのCodeタブに、エンドポイントのURLとワークスペースで使用可能なAPIキーが入力されます。
認証#
リクエストにAPIキーを含めてください:
Authorization: Bearer YOUR_API_KEY独自スクリプト、ノートブック、またはアプリから推論を実行するには、APIキーを含めてください。Settings > API Keysで生成できます。
エンドポイント#
POST https://YOUR_DEPLOYMENT_URL.run.app/predictリクエスト#
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())
リクエストパラメータ#
| パラメータ | タイプ | デフォルト | 範囲 | 説明 |
|---|---|---|---|---|
file | ファイル | - | - | 画像または動画ファイル(source が設定されている場合を除き必須) |
conf | float | 0.25 | 0.01 – 1.0 | 最小信頼度しきい値 |
iou | float | 0.7 | 0.0 – 0.95 | NMS IoUしきい値 |
imgsz | int | 640 | 32 – 1280 | 入力画像のサイズ(ピクセル単位) |
normalize | bool | false | - | バウンディングボックスの座標を0~1で返します |
decimals | int | 5 | 0 – 10 | 座標値の小数点以下の精度 |
source | string | - | - | 画像 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,
"functionTimeCall": 0.018,
"task": "detect",
"version": {
"ultralytics": "8.x.x",
"torch": "2.6.0",
"torchvision": "0.21.0",
"python": "3.13.0"
}
}
}
レスポンスフィールド#
| フィールド | タイプ | 説明 |
|---|---|---|
images | 配列 | 処理された画像のリスト |
images[].shape | 配列 | 画像サイズ [高さ, 幅] |
images[].results | 配列 | 検出結果のリスト |
images[].results[].class | int | クラスインデックス (整数ID) |
images[].results[].name | string | クラス名 |
images[].results[].confidence | float | 検出の信頼度 (0-1) |
images[].results[].box | オブジェクト | バウンディングボックスの座標 |
images[].speed | オブジェクト | ミリ秒単位の処理時間 |
metadata | オブジェクト | リクエストのメタデータおよびバージョン情報 |
タスク固有のレスポンス#
レスポンス形式はタスクによって異なります:
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}レート制限#
共有モデルAPIは、各APIキー、サインインした呼び出し元、または匿名IPに対して20リクエスト/分に制限されています。スロットルされると、APIは429をRetry-Afterヘッダーとともに返します。すべてのエンドポイントカテゴリについては、完全なrate-limit referenceを参照してください。
dedicated endpointに直接送信されたリクエストは、Platform APIのレートリミッターを通過しません。大音量のローカル推論については、Predict mode guideを参照してください。
エラーハンドリング#
一般的なエラーレスポンス:
| コード | メッセージ | 解決策 |
|---|---|---|
| 400 | 無効な画像 | ファイル形式を確認してください |
| 401 | 未承認 | APIキーを確認してください |
| 404 | モデルが見つかりません | モデルIDを確認してください |
| 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を参照してください。
- Shared inference(
/api/models/{id}/predict)は同じ予測サービスを使用し、同じビデオ形式を受け入れます。ブラウザのPredictタブでは画像しか選択できないため、ビデオにはAPIまたはdedicated endpointを使用してください。
APIはJSON形式の予測結果を返します。可視化するには:
- 予測結果を使用してローカルでボックスを描画する
- 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にリサイズされます
大きな画像は、アスペクト比を維持したまま自動的にリサイズされます。
現在のAPIは1リクエストにつき1画像を処理します。バッチ処理を行うには:
- 画像ごとに個別のリクエストを送信します
- 必要に応じて専用エンドポイント間でリクエストを分散させます
- 大規模なバッチにはローカル推論を使用します
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))