İçeriğe geç

İnteraktif Nesne Tespiti: Gradio & Ultralytics YOLO11 🚀

İnteraktif Nesne Algılamaya Giriş

Bu Gradio arayüzü, Ultralytics YOLO11 modeli kullanılarak nesne algılama gerçekleştirmenin kolay ve etkileşimli bir yolunu sağlar. Kullanıcılar, gerçek zamanlı algılama sonuçları almak için görüntüleri yükleyebilir ve güven eşiği ve kesişim-üzerinden-birleşim (IoU) eşiği gibi parametreleri ayarlayabilir.



İzle: Ultralytics YOLO11 ile Gradio Entegrasyonu

Nesne Algılama için Neden Gradio Kullanılır?

  • Kullanıcı Dostu Arayüz: Gradio, kullanıcıların herhangi bir kodlama gereksinimi olmadan görüntüleri yüklemeleri ve algılama sonuçlarını görselleştirmeleri için basit bir platform sunar.
  • Gerçek Zamanlı Ayarlamalar: Güven ve IoU eşikleri gibi parametreler anında ayarlanabilir, bu da anında geri bildirim ve algılama sonuçlarının optimizasyonunu sağlar.
  • Geniş Erişilebilirlik: Gradio web arayüzüne herkes erişebilir, bu da onu gösteriler, eğitim amaçları ve hızlı deneyler için mükemmel bir araç haline getirir.

Gradio örnek ekran görüntüsü

Gradio Nasıl Kurulur

pip install gradio

Arayüz Nasıl Kullanılır

  1. Görüntü Yükle: Nesne algılama için bir görüntü dosyası seçmek üzere 'Görüntü Yükle'ye tıklayın.
  2. Parametreleri Ayarla:
    • Güven Eşiği: Nesneleri tespit etmek için minimum güven düzeyini ayarlamak için kaydırıcı.
    • IoU Eşiği: Farklı nesneleri ayırt etmek için IoU eşiğini ayarlamak için kaydırıcı.
  3. Sonuçları Görüntüle: Algılanan nesneleri ve etiketlerini içeren işlenmiş görüntü görüntülenecektir.

Örnek Kullanım Durumları

  • Örnek Resim 1: Varsayılan eşiklerle otobüs tespiti.
  • Örnek Resim 2: Varsayılan eşiklerle bir spor görüntüsünde tespit.

Kullanım Örneği

Bu bölüm, Ultralytics YOLO11 modeliyle Gradio arayüzü oluşturmak için kullanılan Python kodunu sağlar. Kod, sınıflandırma görevlerini, tespit görevlerini, segmentasyon görevlerini ve anahtar nokta görevlerini destekler.

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

Parametre Açıklaması

Parametre Adı Tür Açıklama
img Image Nesne algılamanın gerçekleştirileceği görüntü.
conf_threshold float Nesneleri tespit etmek için güven eşiği.
iou_threshold float Nesne ayrımı için kesişim-üzerinden-birleşim eşiği.

Gradio Arayüz Bileşenleri

Bileşen Açıklama
Görüntü Girişi Algılama için görüntüyü yüklemek için.
Kaydırıcılar Güven ve IoU eşiklerini ayarlamak için.
Görüntü Çıktısı Algılama sonuçlarını görüntülemek için.

SSS

Nesne algılama için Ultralytics YOLO11 ile Gradio'yu nasıl kullanırım?

Nesne tespiti için Ultralytics YOLO11 ile Gradio'yu kullanmak için şu adımları izleyebilirsiniz:

  1. Gradio'yu Yükle: Şu komutu kullanın pip install gradio.
  2. Arayüz Oluştur: Gradio arayüzünü başlatmak için bir Python betiği yazın. Ayrıntılar için belgelerdeki sağlanan kod örneğine başvurabilirsiniz.
  3. Yükleyin ve Ayarlayın: Gerçek zamanlı nesne algılama sonuçları elde etmek için görüntünüzü yükleyin ve Gradio arayüzünde güven ve IoU eşiklerini ayarlayın.

İşte referans için minimal bir kod parçacığı:

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 nesne tespiti için Gradio kullanmanın faydaları nelerdir?

Ultralytics YOLO11 nesne tespiti için Gradio kullanmak çeşitli avantajlar sunar:

  • Kullanıcı Dostu Arayüz: Gradio, kullanıcıların herhangi bir kodlama çabası olmadan görüntüleri yüklemeleri ve algılama sonuçlarını görselleştirmeleri için sezgisel bir arayüz sağlar.
  • Gerçek Zamanlı Ayarlamalar: Güven ve IoU eşikleri gibi algılama parametrelerini dinamik olarak ayarlayabilir ve etkilerini anında görebilirsiniz.
  • Erişilebilirlik: Web arayüzü herkese açıktır, bu da onu hızlı deneyler, eğitim amaçları ve gösteriler için kullanışlı hale getirir.

Daha fazla detay için, benzer etkileşimli görselleştirme tekniklerini sergileyen radyolojide yapay zeka hakkındaki bu blog gönderisini okuyabilirsiniz.

Eğitim amaçlı Gradio ve Ultralytics YOLO11'i birlikte kullanabilir miyim?

Evet, Gradio ve Ultralytics YOLO11, eğitim amaçlı olarak birlikte etkin bir şekilde kullanılabilir. Gradio'nun sezgisel web arayüzü, öğrencilerin ve eğitimcilerin ileri düzey programlama becerilerine ihtiyaç duymadan Ultralytics YOLO11 gibi son teknoloji derin öğrenme modelleriyle etkileşim kurmasını kolaylaştırır. Bu kurulum, nesne tespiti ve bilgisayar görüşündeki temel kavramları göstermek için idealdir, çünkü Gradio, farklı parametrelerin tespit performansı üzerindeki etkisini anlamaya yardımcı olan anında görsel geri bildirim sağlar.

YOLO11 için Gradio arayüzünde güven ve IoU eşiklerini nasıl ayarlayabilirim?

YOLO11 için Gradio arayüzünde, sağlanan kaydırıcıları kullanarak güven ve IoU eşiklerini ayarlayabilirsiniz. Bu eşikler, tahmin doğruluğunu ve nesne ayrımını kontrol etmeye yardımcı olur:

  • Güven Eşiği: Nesneleri tespit etmek için minimum güven düzeyini belirler. Gerekli güveni artırmak veya azaltmak için kaydırın.
  • IoU Eşiği: Çakışan nesneler arasında ayrım yapmak için kesişim-üzerinden-birleşim eşiğini ayarlar. Nesne ayrımını iyileştirmek için bu değeri ayarlayın.

Bu parametreler hakkında daha fazla bilgi için parametre açıklaması bölümünü ziyaret edin.

Ultralytics YOLO11'in Gradio ile kullanılmasının bazı pratik uygulamaları nelerdir?

Ultralytics YOLO11'in Gradio ile birleştirilmesinin pratik uygulamaları şunlardır:

  • Gerçek Zamanlı Nesne Algılama Gösterimleri: Nesne algılamanın gerçek zamanlı olarak nasıl çalıştığını göstermek için idealdir.
  • Eğitim Araçları: Nesne algılama ve bilgisayarlı görü kavramlarını öğretmek için akademik ortamlarda kullanışlıdır.
  • Prototip Geliştirme: Prototip nesne algılama uygulamalarını hızlı bir şekilde geliştirmek ve test etmek için etkilidir.
  • Topluluk ve İşbirlikleri: Geri bildirim ve işbirliği için modelleri toplulukla paylaşmayı kolaylaştırmak.

Benzer kullanım örnekleri için, interaktif görselleştirmenin yaban hayatı koruma çabalarını nasıl geliştirebileceğini gösteren hayvan davranışlarını izleme üzerine Ultralytics bloguna göz atın.



📅 1 yıl önce oluşturuldu ✏️ 4 ay önce güncellendi

Yorumlar