インタラクティブな物体検出:Gradio & Ultralytics YOLO26 🚀

インタラクティブな物体検出の紹介

This Gradio interface provides an easy and interactive way to perform object detection using the Ultralytics YOLO26 model. Users can upload images and adjust parameters like confidence threshold and intersection-over-union (IoU) threshold to get real-time detection results.



Watch: Gradio Integration with Ultralytics YOLO26

なぜ物体検出にGradioを使用するのか?

  • ユーザーフレンドリーなインターフェース: Gradioは、コーディングを必要とせずに、ユーザーが画像をアップロードして検出結果を可視化するための直感的なプラットフォームを提供します。
  • リアルタイム調整: 信頼度やIoUしきい値などのパラメータをその場で調整できるため、即座にフィードバックを得て検出結果を最適化できます。
  • 高いアクセシビリティ: GradioのWebインターフェースは誰でもアクセスできるため、デモンストレーションや教育目的、迅速な実験に最適なツールです。

Gradio YOLO detection interface

Gradioのインストール方法

pip install gradio

インターフェースの使用方法

  1. 画像のアップロード: 「Upload Image」をクリックして、物体検出を行う画像ファイルを選択します。
  2. パラメータの調整:
    • 信頼度しきい値: 物体検出のための最小信頼度レベルを設定するスライダーです。
    • IoUしきい値: 異なる物体を区別するためのIoUしきい値を設定するスライダーです。
  3. 結果の表示: 検出された物体とそのラベルが処理された画像上に表示されます。

使用例

  • サンプル画像1: デフォルトしきい値を用いたバスの検出。
  • サンプル画像2: デフォルトしきい値を用いたスポーツ画像の検出。

使用例

このセクションでは、Ultralytics YOLO26モデルでGradioインターフェースを作成するために使用されるPythonコードを紹介します。このコードは、分類タスク、検出タスク、セグメンテーションタスク、キーポイントタスクをサポートしています。

import gradio as gr
import PIL.Image as Image

from ultralytics import ASSETS, YOLO

model = YOLO("yolo26n.pt")

def predict_image(img, conf_threshold, iou_threshold):
    """Predicts objects in an image using a YOLO26 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 YOLO26n 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()

パラメータの説明

パラメータ名タイプ説明
imgImage物体検出を行う対象の画像。
conf_thresholdfloat物体検出のための信頼度しきい値。
iou_thresholdfloat物体分離のためのIntersection-over-unionしきい値。

Gradioインターフェースのコンポーネント

コンポーネント説明
画像入力検出用の画像をアップロードするために使用します。
スライダー信頼度およびIoUしきい値を調整するために使用します。
画像出力検出結果を表示するために使用します。

FAQ

Ultralytics YOLO26とGradioを使用して物体検出を行うにはどうすればよいですか?

Ultralytics YOLO26とGradioを使用して物体検出を行うには、以下の手順に従ってください:

  1. Gradioのインストール: pip install gradio コマンドを使用します。
  2. インターフェースの作成: Pythonスクリプトを作成してGradioインターフェースを初期化します。詳細は ドキュメント の提供されているコード例を参照してください。
  3. アップロードと調整: 画像をアップロードし、Gradioインターフェース上で信頼度とIoUのしきい値を調整して、リアルタイムの物体検出結果を得ます。

参考までに、最小限のコードスニペットを以下に示します:

import gradio as gr

from ultralytics import YOLO

model = YOLO("yolo26n.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 YOLO26",
    description="Upload images for YOLO26 object detection.",
)
iface.launch()

Ultralytics YOLO26の物体検出にGradioを使用する利点は何ですか?

Ultralytics YOLO26の物体検出にGradioを使用することには、いくつかの利点があります:

  • ユーザーフレンドリーなインターフェース: Gradioは、ユーザーがコーディングなしで画像をアップロードし、検出結果を可視化するための直感的なインターフェースを提供します。
  • リアルタイム調整: 信頼度やIoUしきい値などの検出パラメータを動的に調整し、その効果を即座に確認できます。
  • アクセシビリティ: Webインターフェースは誰でもアクセスできるため、迅速な実験、教育目的、デモンストレーションに役立ちます。

詳細については、同様のインタラクティブな可視化手法を紹介した 放射線医学におけるAIに関するブログ記事 をお読みください。

GradioとUltralytics YOLO26を教育目的で一緒に使用できますか?

はい、GradioとUltralytics YOLO26を教育目的で効果的に活用できます。Gradioの直感的なWebインターフェースにより、学生や教育者は、高度なプログラミングスキルを必要とせずに、Ultralytics YOLO26のような最先端の ディープラーニング モデルと対話できます。この構成は、物体検出や コンピュータビジョン の主要な概念をデモンストレーションするのに最適です。Gradioは即座に視覚的なフィードバックを提供するため、さまざまなパラメータが検出パフォーマンスに与える影響を理解するのに役立ちます。

YOLO26のGradioインターフェースで信頼度とIoUのしきい値を調整するにはどうすればよいですか?

YOLO26のGradioインターフェースでは、提供されているスライダーを使用して信頼度とIoUのしきい値を調整できます。これらのしきい値は、予測の 精度 と物体の分離を制御するのに役立ちます:

  • 信頼度しきい値: 物体検出のための最小信頼度レベルを決定します。スライドさせて、必要な信頼度を増減させます。
  • IoUしきい値: 重なり合う物体を区別するためのIntersection-over-unionしきい値を設定します。この値を調整して、物体の分離を微調整します。

これらのパラメータの詳細については、 パラメータ説明セクション をご覧ください。

Ultralytics YOLO26とGradioを併用する実用的なアプリケーションにはどのようなものがありますか?

Ultralytics YOLO26とGradioを組み合わせた実用的なアプリケーションには、以下が含まれます:

  • リアルタイム物体検出デモンストレーション: 物体検出がリアルタイムでどのように機能するかを紹介するのに最適です。
  • 教育ツール: 学術現場において、物体検出やコンピュータビジョンの概念を教えるのに役立ちます。
  • プロトタイプ開発: 物体検出アプリケーションのプロトタイプを迅速に開発およびテストするのに効率的です。
  • コミュニティとコラボレーション: モデルをコミュニティと簡単に共有し、フィードバックやコラボレーションを得るのに役立ちます。

同様のユースケースの例については、インタラクティブな可視化が野生生物の保護活動をどのように強化できるかを示した 動物行動モニタリングに関するUltralyticsブログ をご確認ください。

コメント