コンテンツにスキップ

インタラクティブなオブジェクトdetect: GradioとUltralytics YOLO26 🚀

インタラクティブオブジェクト検出入門

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



見る: GradioとUltralytics YOLO26の統合

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

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

GradioYOLO インターフェース

Gradioをインストールする方法

pip install gradio

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

  1. 画像をアップロード: 「画像をアップロード」をクリックして、オブジェクト検出用の画像ファイルを選択します。
  2. パラメータの調整:
    • 信頼度閾値: オブジェクトを検出するための最小信頼度レベルを設定するスライダー。
    • IoU Threshold: 異なるオブジェクトを区別するためのIoUしきい値を設定するスライダー。
  3. View Results(結果の表示): 検出されたオブジェクトとそのラベルを含む処理済みの画像が表示されます。

ユースケース例

  • サンプル画像1: デフォルトの閾値によるバスの検出。
  • サンプル画像2: デフォルトの閾値によるスポーツ画像の検出。

使用例

このセクションでは、Ultralytics YOLO26モデルでGradioインターフェースを作成するために使用されるpythonコードを提供します。このコードは、分類タスク、detectタスク、segmentタスク、およびキーポイントタスクをサポートしています。

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しきい値を調整するには。
画像出力検出結果を表示するには。

よくある質問

GradioをUltralytics YOLO26と組み合わせてオブジェクトdetectを行うにはどうすればよいですか?

GradioをUltralytics YOLO26と組み合わせてオブジェクトdetectを行うには、以下の手順に従ってください。

  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()

GradioをUltralytics YOLO26のオブジェクトdetectに利用する利点は何ですか?

GradioをUltralytics YOLO26のオブジェクトdetectに利用することには、いくつかの利点があります。

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

同様のインタラクティブな可視化手法を紹介する放射線科における AI に関するブログ記事で詳細をご覧いただけます。

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

はい、GradioとUltralytics YOLO26は教育目的で効果的に活用できます。Gradioの直感的なウェブインターフェースにより、学生や教育者は高度なプログラミングスキルを必要とせずに、Ultralytics YOLO26のような最先端の深層学習モデルと簡単にやり取りできます。Gradioは即座に視覚的なフィードバックを提供し、異なるパラメータがdetect性能に与える影響を理解するのに役立つため、この設定はオブジェクトdetectやコンピュータービジョンの主要な概念を実演するのに理想的です。

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

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

  • 信頼度閾値: オブジェクトを検出するための最小信頼度レベルを決定します。スライドして、必要な信頼度を増減させます。
  • IoU Threshold: 重なり合うオブジェクトを区別するためのIntersection-over-Unionしきい値を設定します。この値を調整してオブジェクトの分離を改善します。

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

Ultralytics YOLO26とGradioを組み合わせた実用的なアプリケーションにはどのようなものがありますか?

Ultralytics YOLO26とGradioを組み合わせた実用的なアプリケーションには、以下のようなものがあります。

  • リアルタイム物体検出デモンストレーション: リアルタイムでの物体検出の仕組みを紹介するのに最適です。
  • 教育ツール: オブジェクト検出とコンピュータビジョンの概念を教えるための教育現場で役立ちます。
  • プロトタイプ開発: プロトタイプオブジェクト検出アプリケーションを迅速に開発およびテストするのに効率的です。
  • コミュニティとコラボレーション: フィードバックとコラボレーションのために、コミュニティとのモデル共有を容易にします。

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



📅 1年前に作成 ✏️ 5日前に更新
glenn-jocherRizwanMunawarUltralyticsAssistantambitious-octopusIvorZhu331RizwanMunawar

コメント