İnteraktif Nesne Tespiti: Gradio ve Ultralytics YOLO26#
Etkileşimli Nesne Tespitine Giriş#
Bu Gradio arayüzü, Ultralytics YOLO26 modelini kullanarak nesne tespiti gerçekleştirmek için kolay ve etkileşimli bir yol sunar. Kullanıcılar görüntü yükleyebilir ve gerçek zamanlı tespit sonuçları almak için güven eşiği ve kesişim-birleşim (IoU) eşiği gibi parametreleri ayarlayabilir.
Watch: Deploy Ultralytics YOLO26 in a Browser with Gradio | Complete Tutorial | Vision AI 🌐
Nesne Tespiti için Gradio Neden Kullanılmalı?#
- Kullanıcı Dostu Arayüz: Gradio, kullanıcıların herhangi bir kodlama gerektirmeden görüntü yüklemesine ve tespit sonuçlarını görselleştirmesine olanak tanıyan anlaşılır bir platform sunar.
- Gerçek Zamanlı Ayarlamalar: Güven ve IoU eşikleri gibi parametreler anında ayarlanabilir; böylece tespit 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 tanıtımlar, eğitim amaçları ve hızlı denemeler için mükemmel bir araç haline getirir.
Gradio Nasıl Yüklenir?#
pip install gradioArayüz Nasıl Kullanılır?#
- Görüntü Yükleme: Nesne tespiti için bir görüntü dosyası seçmek üzere 'Görüntü Yükle'ye tıklayın.
- Parametreleri Ayarlama:
- Güven Eşiği: Nesneleri tespit etmek için gereken minimum güven düzeyini ayarlayan kaydırıcı.
- IoU Eşiği: Farklı nesneleri ayırt etmek için IoU eşiğini ayarlayan kaydırıcı.
- Sonuçları Görüntüleme: Tespit edilen nesneleri ve etiketlerini içeren işlenmiş görüntü görüntülenir.
Örnek Kullanım Alanları#
- Örnek Görüntü 1: Varsayılan eşiklerle otobüs tespiti.
- Örnek Görüntü 2: Varsayılan eşiklerle bir spor görüntüsü üzerinde tespit.
Kullanım Örneği#
Bu bölümde, Ultralytics YOLO26 ile nesne tespiti için bir Gradio arayüzü oluşturmakta kullanılan Python kodu sunulmaktadır. İlgili model kontrol noktası yüklenerek örnek; sınıflandırma, örnek bölümleme, poz ve diğer YOLO görevlerine uyarlanabilir.
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 tespitinin gerçekleştirileceği görüntü. |
conf_threshold | float | Nesneleri tespit etmek 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 | Tespit için görüntü yüklemek amacıyla. |
| Kaydırıcılar | Güven ve IoU eşiklerini ayarlamak amacıyla. |
| Görüntü Çıktısı | Tespit sonuçlarını görüntülemek amacıyla. |
SSS#
Nesne tespiti için Gradio'yu Ultralytics YOLO26 ile kullanmak üzere şu adımları izleyebilirsin:
- Gradio'yu Yükleme:
pip install gradiokomutunu kullanın. - Arayüz Oluşturma: Gradio arayüzünü başlatmak için bir Python betiği yazın. Ayrıntılar için belgelerdeki ilgili kod örneğine başvurabilirsiniz.
- Yükleme ve Ayarlama: Gerçek zamanlı nesne tespiti sonuçları almak için görüntünü Gradio arayüzüne yükle ve güven ile IoU eşiklerini ayarla.
Başvurabilmen için aşağıda minimal bir kod parçacığı 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() 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'yu Yükleme:
Ultralytics YOLO26 ile nesne tespiti için Gradio kullanmak çeşitli faydalar sunar:
- Kullanıcı Dostu Arayüz: Gradio, kullanıcıların herhangi bir kodlama çabası göstermeden görüntü yüklemesine ve tespit sonuçlarını görselleştirmesine olanak tanıyan sezgisel bir arayüz sunar.
- Gerçek Zamanlı Ayarlamalar: Güven ve IoU eşikleri gibi tespit parametrelerini dinamik olarak ayarlayabilir ve etkilerini hemen görebilirsin.
- Erişilebilirlik: Web arayüzüne herkes erişebilir; bu da onu hızlı denemeler, eğitim amaçları ve tanıtımlar için kullanışlı kılar.
Daha fazla ayrıntı için benzer etkileşimli görselleştirme tekniklerini gösteren bu radyolojide yapay zekâ hakkındaki blog yazısını okuyabilirsiniz.
Evet, Gradio ve Ultralytics YOLO26 eğitim amaçlarıyla etkili bir şekilde birlikte kullanılabilir. Gradio'nun sezgisel web arayüzü, öğrencilerin ve eğitimcilerin ileri düzey programlama becerilerine ihtiyaç duymadan Ultralytics YOLO26 gibi gelişmiş derin öğrenme modelleriyle etkileşim kurmasını kolaylaştırır. Gradio anında görsel geri bildirim sağladığından bu kurulum, nesne tespiti ve bilgisayarlı görü alanlarındaki temel kavramları göstermek için idealdir; ayrıca farklı parametrelerin tespit performansı üzerindeki etkisini anlamaya yardımcı olur.
YOLO26 için Gradio arayüzünde, sağlanan kaydırıcıları kullanarak güven ve IoU eşiklerini ayarlayabilirsin. Bu eşikler, tahmin doğruluğunu ve nesnelerin ayrılmasını kontrol etmeye yardımcı olur:
- Güven Eşiği: Nesneleri tespit etmek için gereken minimum güven düzeyini belirler. Gereken güveni artırmak veya azaltmak için kaydırıcıyı hareket ettirin.
- IoU Eşiği: Üst üste binen nesneleri ayırt etmek için kesişim-birleşim eşiğini belirler. Nesnelerin ayrılması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 YOLO26'yı Gradio ile birleştirmenin pratik uygulamaları şunları içerir:
- Gerçek Zamanlı Nesne Tespiti Tanıtımları: Nesne tespitinin gerçek zamanlı olarak nasıl çalıştığını göstermek için idealdir.
- Eğitim Araçları: Akademik ortamlarda nesne tespiti ve bilgisayarlı görü kavramlarını öğretmek için kullanışlıdır.
- Prototip Geliştirme: Prototip nesne tespiti uygulamalarını hızlı bir şekilde geliştirmek ve test etmek için etkilidir.
- Topluluk ve İş Birlikleri: Modelleri geri bildirim ve iş birliği için toplulukla paylaşmayı kolaylaştırır.
Benzer kullanım alanlarına ilişkin örnekler için etkileşimli görselleştirmenin yaban hayatını koruma çalışmalarını nasıl geliştirebileceğini gösteren hayvan davranışlarının izlenmesine ilişkin Ultralytics blog yazısına göz atın.