インタラクティブな物体検出:GradioとUltralytics YOLO11 🚀
インタラクティブオブジェクト検出入門
このGradioインターフェースは、Ultralytics YOLO11モデルを使用して物体検出を実行するための簡単でインタラクティブな方法を提供します。ユーザーは画像をアップロードし、信頼度閾値やIntersection-over-Union(IoU)閾値などのパラメータを調整して、リアルタイムの検出結果を得ることができます。
見る: Ultralytics YOLO11とGradioの統合
物体検出にGradioを使用する理由
- ユーザーフレンドリーなインターフェース: Gradioは、ユーザーが画像をアップロードし、コーディングを必要とせずに検出結果を視覚化するための簡単なプラットフォームを提供します。
- リアルタイム調整: 信頼度やIoUの閾値などのパラメータをその場で調整できるため、即座にフィードバックを得て検出結果を最適化できます。
- 幅広いアクセシビリティ: Gradio Webインターフェースは誰でもアクセスできるため、デモンストレーション、教育目的、および迅速な実験に最適なツールです。
Gradioをインストールする方法
pip install gradio
インターフェースの使用方法
- 画像をアップロード: 「画像をアップロード」をクリックして、オブジェクト検出用の画像ファイルを選択します。
- パラメータの調整:
- 信頼度閾値: オブジェクトを検出するための最小信頼度レベルを設定するスライダー。
- IoU閾値: 異なるオブジェクトを区別するためのIoU閾値を設定するスライダー。
- View Results(結果の表示): 検出されたオブジェクトとそのラベルを含む処理済みの画像が表示されます。
ユースケース例
- サンプル画像1: デフォルトの閾値によるバスの検出。
- サンプル画像2: デフォルトの閾値によるスポーツ画像の検出。
使用例
このセクションでは、Ultralytics YOLO11モデルでGradioインターフェースを作成するために使用されるpythonコードを提供します。このコードは、分類タスク、検出タスク、セグメンテーションタスク、およびキーポイントタスクをサポートしています。
import gradio as gr
import PIL.Image as Image
from ultralytics import ASSETS, YOLO
model = YOLO("yolo11n.pt")
def predict_image(img, conf_threshold, iou_threshold):
"""Predicts objects in an image using a YOLO11 model with adjustable confidence and IOU thresholds."""
results = model.predict(
source=img,
conf=conf_threshold,
iou=iou_threshold,
show_labels=True,
show_conf=True,
imgsz=640,
)
for r in results:
im_array = r.plot()
im = Image.fromarray(im_array[..., ::-1])
return im
iface = gr.Interface(
fn=predict_image,
inputs=[
gr.Image(type="pil", label="Upload Image"),
gr.Slider(minimum=0, maximum=1, value=0.25, label="Confidence threshold"),
gr.Slider(minimum=0, maximum=1, value=0.45, label="IoU threshold"),
],
outputs=gr.Image(type="pil", label="Result"),
title="Ultralytics Gradio",
description="Upload images for inference. The Ultralytics YOLO11n model is used by default.",
examples=[
[ASSETS / "bus.jpg", 0.25, 0.45],
[ASSETS / "zidane.jpg", 0.25, 0.45],
],
)
if __name__ == "__main__":
iface.launch()
パラメータの説明
パラメータ名 | 種類 | 説明 |
---|---|---|
img |
Image |
オブジェクト検出が実行される画像。 |
conf_threshold |
float |
オブジェクト検出の信頼度閾値。 |
iou_threshold |
float |
オブジェクト分離のためのIntersection-over-unionの閾値。 |
Gradioインターフェースコンポーネント
コンポーネント | 説明 |
---|---|
画像入力 | 検出のために画像をアップロードするには。 |
スライダー | 信頼度とIoUの閾値を調整するには。 |
画像出力 | 検出結果を表示するには。 |
よくある質問
Ultralytics YOLO11でGradioを使用して物体検出を行うにはどうすればよいですか?
オブジェクト検出のためにUltralytics YOLO11でGradioを使用するには、以下の手順に従ってください。
- Gradioのインストール: 次のコマンドを使用します
pip install gradio
. - インターフェースの作成: pythonスクリプトを作成して、Gradioインターフェースを初期化します。詳細については、ドキュメントに記載されているコード例を参照してください。
- アップロードと調整: 画像をアップロードし、Gradioインターフェースで信頼度とIoUのしきい値を調整して、リアルタイムのオブジェクト検出結果を取得します。
参考までに、最小限のコードスニペットを以下に示します。
import gradio as gr
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
def predict_image(img, conf_threshold, iou_threshold):
results = model.predict(
source=img,
conf=conf_threshold,
iou=iou_threshold,
show_labels=True,
show_conf=True,
)
return results[0].plot() if results else None
iface = gr.Interface(
fn=predict_image,
inputs=[
gr.Image(type="pil", label="Upload Image"),
gr.Slider(minimum=0, maximum=1, value=0.25, label="Confidence threshold"),
gr.Slider(minimum=0, maximum=1, value=0.45, label="IoU threshold"),
],
outputs=gr.Image(type="pil", label="Result"),
title="Ultralytics Gradio YOLO11",
description="Upload images for YOLO11 object detection.",
)
iface.launch()
Ultralytics YOLO11 物体検出に Gradio を使用する利点は何ですか?
Ultralytics YOLO11 のオブジェクト検出に Gradio を使用すると、いくつかの利点があります。
- ユーザーフレンドリーなインターフェース: Gradioは、ユーザーが画像をアップロードし、コーディング作業なしで検出結果を視覚化するための直感的なインターフェースを提供します。
- リアルタイム調整: 信頼度やIoUの閾値などの検出パラメータを動的に調整し、その効果をすぐに確認できます。
- アクセシビリティ: Webインターフェースは誰でもアクセスできるため、迅速な実験、教育目的、およびデモンストレーションに役立ちます。
同様のインタラクティブな可視化手法を紹介する放射線科における AI に関するブログ記事で詳細をご覧いただけます。
教育目的でGradioとUltralytics YOLO11を一緒に使用できますか?
はい、GradioとUltralytics YOLO11は、教育目的で効果的に連携して利用できます。Gradioの直感的なWebインターフェースにより、学生や教育者は、高度なプログラミングスキルがなくても、Ultralytics YOLO11のような最先端の深層学習モデルを簡単に操作できます。この構成は、オブジェクト検出とコンピュータビジョンの重要な概念を実演するのに最適です。Gradioは即座に視覚的なフィードバックを提供し、検出パフォーマンスに対するさまざまなパラメータの影響を理解するのに役立ちます。
YOLO11のGradioインターフェースで、信頼度とIoUの閾値を調整するにはどうすればよいですか?
YOLO11のGradioインターフェースでは、提供されているスライダーを使用して、信頼度とIoUの閾値を調整できます。これらの閾値は、予測の精度とオブジェクトの分離を制御するのに役立ちます。
- 信頼度閾値: オブジェクトを検出するための最小信頼度レベルを決定します。スライドして、必要な信頼度を増減させます。
- IoU閾値: 重複するオブジェクトを区別するためのIntersection-over-Union(IoU)の閾値を設定します。この値を調整して、オブジェクトの分離を調整します。
これらのパラメータの詳細については、パラメータの説明セクションをご覧ください。
GradioとUltralytics YOLO11を組み合わせて使用する実用的な応用例は何ですか?
Ultralytics YOLO11 と Gradio を組み合わせた具体的な応用例:
- リアルタイム物体検出デモンストレーション: リアルタイムでの物体検出の仕組みを紹介するのに最適です。
- 教育ツール: オブジェクト検出とコンピュータビジョンの概念を教えるための教育現場で役立ちます。
- プロトタイプ開発: プロトタイプオブジェクト検出アプリケーションを迅速に開発およびテストするのに効率的です。
- コミュニティとコラボレーション: フィードバックとコラボレーションのために、コミュニティとのモデル共有を容易にします。
同様のユースケースの例については、インタラクティブな視覚化が野生生物の保護活動をどのように強化できるかを示す動物行動モニタリングに関する Ultralytics のブログをご覧ください。