Etkileşimli Nesne Algılama: Gradio ve Ultralytics YOLO26#
Etkileşimli Nesne Algılamaya Giriş#
Bu Gradio arayüzü, Ultralytics YOLO26 modelini kullanarak nesne algılama yapmanın kolay ve etkileşimli bir yolunu sunar. Kullanıcılar görüntü yükleyebilir ve gerçek zamanlı algılama sonuçları almak için güven eşiği ve kesişim-birleşim (IoU) eşiği gibi parametreleri ayarlayabilir.
İzle: Ultralytics YOLO26'yı Gradio ile tarayıcıda dağıt | Eksiksiz eğitim | Görüntü yapay zekâsı 🌐
Nesne Algılama için Neden Gradio Kullanmalısın?#
- Kullanıcı Dostu Arayüz: Gradio, kullanıcıların herhangi bir kod yazmadan görüntü yükleyip algılama sonuçlarını görselleştirmesi için basit bir platform sunar.
- Gerçek Zamanlı Ayarlamalar: Güven ve IoU eşikleri gibi parametreler anında ayarlanabilir; böylece algılama sonuçları hakkında hemen geri bildirim alınabilir ve sonuçlar optimize edilebilir.
- Geniş Erişilebilirlik: Gradio web arayüzüne herkes erişebilir; bu da onu gösterimler, eğitim amaçları ve hızlı denemeler için mükemmel bir araç hâline getirir.
Gradio Nasıl Kurulur#
pip install gradioArayüz Nasıl Kullanılır#
- 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ıkla.
- Parametreleri Ayarla:
- Güven Eşiği: Nesneleri algılamak için gereken minimum güven düzeyini belirleyen kaydırıcı.
- IoU Eşiği: Farklı nesneleri ayırt etmek için IoU eşiğini belirleyen kaydırıcı.
- Sonuçları Görüntüle: Algılanan nesneleri ve etiketlerini içeren işlenmiş görüntü gösterilir.
Örnek Kullanım Durumları#
- Örnek Görüntü 1: Varsayılan eşiklerle otobüs algılama.
- Örnek Görüntü 2: Varsayılan eşiklerle bir spor görüntüsünde algılama.
Kullanım Örneği#
Bu bölümde, Ultralytics YOLO26 ile nesne algılama için Gradio arayüzü oluşturmakta kullanılan Python kodu yer alır. İlgili model kontrol noktasını yükleyerek örneği sınıflandırma, örnek segmentasyonu, poz ve diğer YOLO görevlerine uyarlayabilirsin.
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()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 algılamak için güven eşiği. |
iou_threshold | float | Nesneleri ayırmak için kesişim-birleşim eşiği. |
Gradio Arayüz Bileşenleri#
| Bileşen | Açıklama |
|---|---|
| Görüntü Girdisi | Algılama için görüntü yüklemek amacıyla. |
| 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. |
Sık Sorulan Sorular#
Nesne algılama için Gradio'yu Ultralytics YOLO26 ile kullanmak üzere şu adımları izleyebilirsin:
- Gradio'yu Kur:
pip install gradiokomutunu kullan. - Arayüz Oluştur: Gradio arayüzünü başlatmak için bir Python betiği yaz. Ayrıntılar için belgelerdeki kod örneğine başvurabilirsin.
- Yükle ve Ayarla: Gerçek zamanlı nesne algılama sonuçları almak için görüntünü yükle ve Gradio arayüzündeki güven ile IoU eşiklerini ayarla.
Başvuru için aşağıda kısa bir kod örneği verilmiştir:
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 görüntüsü; pil=True olmadan plot() bir BGR dizisi döndürür 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'yu Kur:
Ultralytics YOLO26 ile nesne algılama için Gradio kullanmak çeşitli faydalar sağlar:
- Kullanıcı Dostu Arayüz: Gradio, kullanıcıların herhangi bir kod yazmadan görüntü yükleyip algılama sonuçlarını görselleştirmesi için sezgisel bir arayüz sunar.
- Gerçek Zamanlı Ayarlamalar: Güven ve IoU eşikleri gibi algılama parametrelerini dinamik olarak ayarlayabilir ve etkilerini hemen görebilirsin.
- Erişilebilirlik: Web arayüzüne herkes erişebilir; bu da arayüzü hızlı denemeler, eğitim amaçları ve gösterimler için kullanışlı kılar.
Benzer etkileşimli görselleştirme tekniklerini sergileyen radyolojide yapay zekâ hakkındaki bu blog yazısını okuyarak daha fazla bilgi edinebilirsin.
Evet, Gradio ve Ultralytics YOLO26 eğitim amaçları için birlikte etkili biçimde kullanılabilir. Gradio'nun sezgisel web arayüzü, öğrencilerin ve eğitimcilerin ileri düzey programlama becerilerine ihtiyaç duymadan Ultralytics YOLO26 gibi son teknoloji derin öğrenme modelleriyle etkileşim kurmasını kolaylaştırır. Gradio anında görsel geri bildirim sağladığından bu kurulum, nesne algılama ve bilgisayarlı görü alanındaki temel kavramları göstermek için idealdir; geri bildirim, farklı parametrelerin algılama performansı üzerindeki etkisini anlamaya yardımcı olur.
YOLO26 için Gradio arayüzünde güven ve IoU eşiklerini sunulan kaydırıcıları kullanarak ayarlayabilirsin. Bu eşikler tahmin doğruluğunu ve nesnelerin ayrılmasını denetlemeye yardımcı olur:
- Güven Eşiği: Nesneleri algılamak için gereken minimum güven düzeyini belirler. Gerekli güveni artırmak veya azaltmak için kaydırıcıyı hareket ettir.
- IoU Eşiği: Üst üste binen nesneleri ayırt etmek için kesişim-birleşim eşiğini belirler. Nesnelerin ayrımını iyileştirmek için bu değeri ayarla.
Bu parametreler hakkında daha fazla bilgi için parametre açıklaması bölümünü ziyaret et.
Ultralytics YOLO26'yı Gradio ile birleştirmenin 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ı sergilemek için idealdir.
- Eğitim Araçları: Akademik ortamlarda nesne algılama ve bilgisayarlı görü kavramlarını öğretmek için kullanışlıdır.
- Prototip Geliştirme: Prototip nesne algılama uygulamalarını hızla geliştirip test etmek için etkilidir.
- Topluluk ve İş Birlikleri: Geri bildirim ve iş birliği için modelleri toplulukla paylaşmayı kolaylaştırır.
Etkileşimli görselleştirmenin yaban hayatını koruma çalışmalarını nasıl destekleyebileceğini gösteren benzer kullanım örnekleri için hayvan davranışlarının izlenmesine ilişkin Ultralytics blog yazısına göz at.