Ultralytics YOLO27:

インタラクティブなオブジェクト検出: GradioとUltralytics YOLO26#

インタラクティブな物体検出の概要#

このGradioインターフェースでは、物体検出Ultralytics YOLO26モデルで簡単かつインタラクティブに実行できます。ユーザーは画像をアップロードし、信頼度しきい値や交差領域と和領域の比率(IoU)しきい値などのパラメーターを調整して、リアルタイムの検出結果を取得できます。



Watch: Deploy Ultralytics YOLO26 in a Browser with Gradio | Complete Tutorial | Vision AI 🌐

物体検出に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コードを紹介します。対応するモデルチェックポイントを読み込むことで、このサンプルを分類、インスタンスセグメンテーション、ポーズ、その他のYOLOタスク向けに適応できます。

import gradio as gr
from PIL import 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物体を分離するための交差領域と和領域の比率のしきい値です。

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

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

FAQ#

  • 物体検出でGradioとUltralytics YOLO26を使用するには、次の手順に従います。

    1. Gradioのインストール: コマンドpip install gradioを使用します。
    2. インターフェースの作成: Gradioインターフェースを初期化するPythonスクリプトを作成します。詳細については、ドキュメントにあるコード例を参照してください。
    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()
  • 物体検出でGradioをUltralytics YOLO26とともに使用すると、次のようなメリットがあります。

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

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

  • はい、GradioとUltralytics YOLO26は教育目的で効果的に組み合わせて利用できます。Gradioの直感的なWebインターフェースにより、学生や教育者は高度なプログラミングスキルがなくても、Ultralytics YOLO26のような最先端のディープラーニングモデルを簡単に操作できます。この構成は、物体検出とコンピュータービジョンの主要な概念を実演するのに適しています。Gradioが即時に視覚的なフィードバックを提供するため、さまざまなパラメーターが検出性能に与える影響を理解しやすくなります。

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

    • 信頼度しきい値: 物体を検出するための最小信頼度レベルを決定します。スライダーを動かして、必要な信頼度を増減します。
    • IoUしきい値: 重なり合う物体を区別するための交差領域と和領域の比率のしきい値を設定します。この値を調整して物体の分離を細かく調整します。

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

  • Ultralytics YOLO26とGradioの組み合わせには、次のような実用的な用途があります。

    • リアルタイム物体検出のデモンストレーション: 物体検出の仕組みをリアルタイムで紹介するのに適しています。
    • 教育ツール: 学術環境で物体検出やコンピュータービジョンの概念を教えるのに役立ちます。
    • プロトタイプ開発: 物体検出アプリケーションのプロトタイプを迅速に開発・テストするのに効果的です。
    • コミュニティとコラボレーション: コミュニティとモデルを簡単に共有し、フィードバックやコラボレーションを得られます。

    同様の使用例については、インタラクティブな可視化によって野生動物保全の取り組みを強化する方法を紹介している動物行動モニタリングに関するUltralyticsブログをご覧ください。

コメント