İçeriğe geç

Etkileşimli Nesne Algılama: Gradio & Ultralytics YOLOv8 🚀

Etkileşimli Nesne Algılamaya Giriş

Bu Gradio arayüzü, nesne algılama işlemini gerçekleştirmek için kolay ve etkileşimli bir yol sağlar. Ultralytics YOLOv8 model. Kullanıcılar görüntüleri yükleyebilir ve gerçek zamanlı algılama sonuçları elde etmek için güven eşiği ve kesişim-üzerinde-birleşme (IoU) eşiği gibi parametreleri ayarlayabilir.



İzle: Gradio ile Entegrasyon Ultralytics YOLOv8

Nesne Algılama için Neden Gradio Kullanılmalı?

  • Kullanıcı Dostu Arayüz: Gradio, kullanıcıların herhangi bir kodlama gereksinimi olmadan görüntü 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, böylece anında geri bildirim ve tespit sonuçlarının optimizasyonu sağlanır.
  • Geniş Erişilebilirlik: Gradio web arayüzüne herkes tarafından erişilebilir, 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' üzerine tıklayın.
  2. Parametreleri Ayarlayın:
    • Güven Eşiği: Nesneleri tespit etmek için minimum güven seviyesini 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 algılama.
  • Örnek Görüntü 2: Varsayılan eşik değerleriyle bir spor görüntüsü üzerinde algılama.

Kullanım Örneği

Bu bölümde Ultralytics YOLOv8 modeli ile Gradio arayüzünü oluşturmak için kullanılan Python kodu sağlanmaktadır. Sınıflandırma görevlerini, algılama 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("yolov8n.pt")


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

Parametreler Açıklama

Parametre Adı Tip 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-üzerinde-birleşme eşiği.

Gradio Arayüz Bileşenleri

Bileşen Açıklama
Görüntü Girişi Tespit için görüntüyü yüklemek için.
Sürgüler 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

Gradio'yu nesne algılama için Ultralytics YOLOv8 ile nasıl kullanabilirim?

Gradio'yu nesne algılama için Ultralytics YOLOv8 ile kullanmak için aşağıdaki adımları takip edebilirsiniz:

  1. Gradio'yu yükleyin: Şu komutu kullanın pip install gradio.
  2. Arayüz Oluşturun: Gradio arayüzünü başlatmak için bir Python kodu yazın. Ayrıntılar için belgelerde verilen kod örneğine başvurabilirsiniz.
  3. Yükleyin ve Ayarlayın: Görüntünüzü yükleyin ve gerçek zamanlı nesne algılama sonuçları almak için 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("yolov8n.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 YOLOv8",
    description="Upload images for YOLOv8 object detection.",
)
iface.launch()

Ultralytics YOLOv8 nesne tespiti için Gradio kullanmanın faydaları nelerdir?

Ultralytics YOLOv8 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ü 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üne herkes erişebilir, bu da onu hızlı deneyler, eğitim amaçları ve gösteriler için kullanışlı hale getirir.

Daha fazla ayrıntı için bu blog yazısını okuyabilirsiniz.

Gradio ve Ultralytics YOLOv8 adreslerini eğitim amacıyla birlikte kullanabilir miyim?

Evet, Gradio ve Ultralytics YOLOv8 birlikte eğitim amaçlı olarak etkin bir şekilde kullanılabilir. Gradio'nun sezgisel web arayüzü, öğrencilerin ve eğitimcilerin gelişmiş programlama becerilerine ihtiyaç duymadan Ultralytics YOLOv8 gibi son teknoloji derin öğrenme modelleriyle etkileşime girmesini kolaylaştırır. Gradio, farklı parametrelerin algılama performansı üzerindeki etkisini anlamaya yardımcı olan anında görsel geri bildirim sağladığından, bu kurulum nesne algılama ve bilgisayarla görme alanındaki temel kavramları göstermek için idealdir.

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

YOLOv8 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 seviyesini belirler. Gerekli güveni artırmak veya azaltmak için kaydırın.
  • IoU Eşiği: Üst üste binen nesneleri ayırt etmek için kesişim-over-union eşiğini ayarlar. Nesne ayrımını hassaslaştırmak için bu değeri ayarlayın.

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

Gradio ile Ultralytics YOLOv8 kullanmanın bazı pratik uygulamaları nelerdir?

Ultralytics YOLOv8 adresini Gradio ile birleştirmenin pratik uygulamaları şunlardır:

  • Gerçek Zamanlı Nesne Algılama Gösterileri: 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 bilgisayarla görme 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 durumlarına ilişkin örnekler için Ultralytics bloguna göz atın.

Bu bilgilerin dokümantasyon içinde sağlanması, Ultralytics YOLOv8 adresinin kullanılabilirliğini ve erişilebilirliğini artırmaya yardımcı olacak ve her uzmanlık seviyesindeki kullanıcılar için daha ulaşılabilir hale getirecektir.



Oluşturuldu 2024-02-01, Güncellendi 2024-07-05
Yazarlar: glenn-jocher (6), ambitious-octopus (1), IvorZhu331 (1), RizwanMunawar (1)

Yorumlar