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.
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.
# 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üman | Tip | Varsayılan | Açıklama |
|---|---|---|---|
model | str | None | Bir Ultralytics YOLO model dosyasına giden yol. |
vision_point | tuple[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üman | Tip | Varsayılan | Açıklama |
|---|---|---|---|
tracker | str | 'tracktrack.yaml' | Kullanılacak izleme algoritmasını belirtir. Yerleşik seçenekler: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.1 | Algı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. |
iou | float | 0.7 | Örtüşen tespitleri filtrelemek için Intersection over Union (IoU) eşiğini ayarlar. |
classes | list | None | Sonuçları sınıf indeksine göre filtreler. Örneğin, classes=[0, 2, 3] yalnızca belirtilen sınıfları izler. |
verbose | bool | True | İzlenen nesnelerin görsel bir çıktısını sağlayarak izleme sonuçlarının görüntülenmesini kontrol eder. |
device | str | None | Çı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üman | Tip | Varsayılan | Açıklama |
|---|---|---|---|
show | bool | False | Eğ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_width | int or None | None | Sı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_conf | bool | True | Her 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_labels | bool | True | Gö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:
- Giriş görüntüsünden izleri (sınırlayıcı kutular, sınıflar ve maskeler) çıkarır
- Sınırlayıcı kutular ve etiketler çizmek için bir annotator (açıklayıcı) oluşturur
- Her tespit edilen nesne için bir kutu etiketi çizer ve görüş noktasından bir görüş çizgisi oluşturur
- 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 windowsNesne 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:
- Son Teknoloji Performans: Gerçek zamanlı nesne tespitinde yüksek doğruluk sağlar.
- Esneklik: Tespit, takip ve mesafe hesaplama gibi çeşitli görevleri destekler.
- Topluluk ve Destek: Sorun giderme ve geliştirmeler için kapsamlı dokümantasyon ve aktif GitHub topluluğu.
- 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.