YOLO Vision 2026:

Ultralytics YOLO26 ile VisionEye Görünüm Nesne Eşleme 🚀#

VisionEye Nesne Eşleme nedir?#

Ultralytics YOLO26 VisionEye, bilgisayarların insan gözünün gözlem hassasiyetini taklit ederek nesneleri tanımlamasını ve tam olarak belirlemesini sağlar. Bu işlevsellik, tıpkı insan gözünün belirli bir bakış açısıyla ayrıntıları gözlemlemesi gibi, bilgisayarların belirli nesneleri ayırt etmesine ve bunlara odaklanmasına olanak tanır.

VisionEye object mapping with YOLO tracking

YOLO26 ile Nesneleri Haritala#

VisionEye, kare içinde tek bir gözlem noktası sabitler ve buradan takip edilen her nesneye bir ışın çizer, böylece bir sahnenin tek bir bakış açısıyla nasıl göründüğünü görselleştirebilirsin. vision_point değerini gözlemcinin piksel koordinatlarına ayarla, ardından Python API veya CLI ile çözümü videon üzerinde çalıştır.

Ultralytics YOLO ile VisionEye Eşleme
# Monitor objects position with visioneye
yolo solutions visioneye show=True

# Pass a source video
yolo solutions visioneye source="path/to/video.mp4"

# Monitor the specific classes
yolo solutions visioneye classes="[0, 5]"

VisionEye Argümanları#

İşte VisionEye argümanlarını içeren bir tablo:

ArgümanTipVarsayılanAçıklama
modelstrNoneBir Ultralytics YOLO model dosyasına giden yol.
vision_pointtuple[int, int](20, 20)VisionEye Çözümü ile vizyonun nesneleri izleyeceği ve yollar çizeceği nokta.

Ayrıca VisionEye çözümü içinde çeşitli track argümanlarını kullanabilirsin:

ArgümanTipVarsayılanAçıklama
trackerstr'tracktrack.yaml'Kullanılacak izleme algoritmasını belirtir. Yerleşik seçenekler: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.1Algılamalar için güven eşiğini ayarlar; daha düşük değerler daha fazla nesnenin izlenmesine izin verir ancak hatalı pozitif sonuçlar içerebilir.
ioufloat0.7Örtüşen tespitleri filtrelemek için Intersection over Union (IoU) eşiğini ayarlar.
classeslistNoneSonuçları sınıf indeksine göre filtreler. Örneğin, classes=[0, 2, 3] yalnızca belirtilen sınıfları izler.
verboseboolTrueİzlenen nesnelerin görsel bir çıktısını sağlayarak izleme sonuçlarının görüntülenmesini kontrol eder.
devicestrNoneÇıkarım için cihazı belirtir (ör. cpu, cuda:0 veya 0). Kullanıcıların model yürütme için CPU, belirli bir GPU veya diğer bilgi işlem cihazları arasında seçim yapmasına olanak tanır.

Dahası, aşağıda listelenen bazı görselleştirme argümanları da desteklenmektedir:

ArgümanTipVarsayılanAçıklama
showboolFalseEğer True ise, açıklama eklenmiş görüntüleri veya videoları bir pencerede görüntüler. Geliştirme veya test sırasında anında görsel geri bildirim için kullanışlıdır.
line_widthint or NoneNoneSınırlayıcı kutuların çizgi genişliğini belirtir. Eğer None ise, çizgi genişliği görüntü boyutuna göre otomatik olarak ayarlanır. Netlik için görsel özelleştirme sağlar.
show_confboolTrueHer tespit için güven skorunu etiketin yanında görüntüler. Her bir tespit için modelin kesinliği hakkında içgörü sağlar.
show_labelsboolTrueGörsel çıktıda her bir tespit için etiketleri görüntüler. Tespit edilen nesnelerin anında anlaşılmasını sağlar.

VisionEye Nasıl Çalışır#

VisionEye, karede sabit bir görüş noktası oluşturarak ve bu noktadan tespit edilen nesnelere çizgiler çizerek çalışır. Bu, insan görüşünün tek bir bakış açısıyla birden fazla nesneye nasıl odaklandığını taklit eder. Çözüm, kareler arasında nesnelerin tutarlı kimliğini korumak için nesne takibini kullanır ve gözlemci (görüş noktası) ile sahnedeki nesneler arasındaki uzamsal ilişkinin görsel bir temsilini oluşturur.

VisionEye sınıfındaki process yöntemi birkaç temel işlemi gerçekleştirir:

  1. Giriş görüntüsünden izleri (sınırlayıcı kutular, sınıflar ve maskeler) çıkarır
  2. Sınırlayıcı kutular ve etiketler çizmek için bir annotator (açıklayıcı) oluşturur
  3. Her tespit edilen nesne için bir kutu etiketi çizer ve görüş noktasından bir görüş çizgisi oluşturur
  4. Takip istatistikleri ile birlikte açıklamalı görüntüyü döndürür

Bu yaklaşım, özellikle gözetim sistemleri, otonom navigasyon ve etkileşimli kurulumlar gibi mekansal farkındalık ve nesne ilişkisi görselleştirmesi gerektiren uygulamalar için kullanışlıdır.

VisionEye Uygulamaları#

VisionEye nesne eşleme, çeşitli endüstrilerde çok sayıda pratik uygulamaya sahiptir:

  • Güvenlik ve Gözetim: Sabit bir kamera konumundan ilgi duyulan birden fazla nesneyi izle
  • Perakende Analitiği: Müşteri hareket modellerini mağaza teşhirleriyle ilişkili olarak takip et
  • Spor Analizi: Bir antrenörün bakış açısından oyuncu konumlandırmasını ve hareketini analiz et
  • Otonom Araçlar: Bir aracın çevresindeki nesneleri nasıl "gördüğünü" ve önceliklendirdiğini görselleştir
  • İnsan-Bilgisayar Etkileşimi: Mekansal ilişkilere yanıt veren daha sezgisel arayüzler oluştur

VisionEye'ı mesafe hesaplama veya hız tahmini gibi diğer Ultralytics çözümleriyle birleştirerek yalnızca nesneleri takip etmekle kalmayıp aynı zamanda uzamsal ilişkilerini ve davranışlarını da anlayan kapsamlı sistemler oluşturabilirsin.

SSS#

Ultralytics YOLO26 ile VisionEye Nesne Eşlemeyi kullanmaya nasıl başlarım?#

Ultralytics YOLO26 ile VisionEye Nesne Eşleme'yi kullanmaya başlamak için öncelikle pip aracılığıyla Ultralytics YOLO paketini yüklemen gerekir. Ardından, VisionEye ile nesne tespitini ayarlamak için belgelerde sağlanan örnek kodu kullanabilirsin. Başlaman için basit bir örnek:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("vision-eye-mapping.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init vision eye object
visioneye = solutions.VisionEye(
    show=True,  # display the output
    model="yolo26n.pt",  # use any model that Ultralytics supports, e.g., YOLOv10
    classes=[0, 2],  # generate visioneye view for specific classes
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()

    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break

    results = visioneye(im0)

    print(results)  # access the output

    video_writer.write(results.plot_im)  # write the video file

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

Nesne eşleme ve takip için neden Ultralytics YOLO26 kullanmalıyım?#

Ultralytics YOLO26 hızı, doğruluğu ve entegrasyon kolaylığı ile tanınır; bu da onu nesne eşleme ve takibi için en iyi seçenek haline getirir. Başlıca avantajları şunlardır:

  1. Son Teknoloji Performans: Gerçek zamanlı nesne tespitinde yüksek doğruluk sağlar.
  2. Esneklik: Tespit, takip ve mesafe hesaplama gibi çeşitli görevleri destekler.
  3. Topluluk ve Destek: Sorun giderme ve geliştirmeler için kapsamlı dokümantasyon ve aktif GitHub topluluğu.
  4. Kullanım Kolaylığı: Sezgisel API, karmaşık görevleri basitleştirerek hızlı dağıtım ve yinelemeye olanak tanır.

Uygulamalar ve avantajlar hakkında daha fazla bilgi için Ultralytics YOLO26 belgelerine göz at.

VisionEye'ı Comet veya ClearML gibi diğer makine öğrenimi araçlarıyla nasıl entegre edebilirim?#

Ultralytics YOLO26, deney takibini, işbirliğini ve tekrarlanabilirliği geliştiren Comet ve ClearML gibi çeşitli makine öğrenimi araçlarıyla sorunsuz bir şekilde entegre olabilir. Başlamak için YOLOv5'in Comet ile nasıl kullanılacağı ve YOLO26'nın ClearML ile nasıl entegre edileceği hakkındaki ayrıntılı kılavuzları takip et.

Daha fazla inceleme ve entegrasyon örneği için Ultralytics Entegrasyon Kılavuzumuza göz at.

Yorumlar