Ultralytics YOLO27:

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

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

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



視聴: Gradioを使ってUltralytics YOLO26をブラウザーにデプロイする方法 | 完全チュートリアル | ビジョンAI 🌐

物体検出にGradioを使用する理由#

  • 使いやすいインターフェース: Gradioは、ユーザーがコーディング不要で画像をアップロードし、検出結果を視覚化できるシンプルなプラットフォームを提供します。
  • リアルタイム調整: 信頼度やIoUのしきい値などのパラメーターをその場で調整できるため、検出結果に対する即時のフィードバックを得て、最適化できます。
  • 幅広い利用しやすさ: GradioのWebインターフェースには誰でもアクセスできるため、デモ、教育、手早い実験に最適です。

Gradio YOLO detection interface

Gradioのインストール方法#

pip install gradio

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

  1. 画像をアップロード: 「画像をアップロード」をクリックして、物体検出を行う画像ファイルを選択します。
  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物体を分離するためのintersection-over-unionしきい値です。

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

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

よくある質問#

  • 物体検出で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(pil=True)  # RGB PIL画像です。pil=Trueを指定せずにplot()を実行すると、BGR配列が返されます
    
    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しきい値: 重なり合う物体を区別するためのintersection-over-unionしきい値を設定します。この値を調整して、物体の分離を細かく設定します。

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

  • Ultralytics YOLO26とGradioを組み合わせた実用例は次のとおりです。

    • リアルタイム物体検出のデモ: 物体検出の仕組みをリアルタイムで紹介するのに最適です。
    • 教育ツール: 教育機関で物体検出やコンピュータービジョンの概念を教えるのに役立ちます。
    • プロトタイプ開発: 物体検出アプリケーションのプロトタイプを迅速かつ効率的に開発、テストできます。
    • コミュニティと共同作業: コミュニティとモデルを簡単に共有し、フィードバックを得たり、共同作業を行ったりできます。

    同様のユースケースについては、インタラクティブな可視化が野生生物保護の取り組みをどのように強化できるかを紹介するUltralyticsの動物行動モニタリングに関するブログをご覧ください。

コメント