Link to this sectionUltralytics YOLO26 ile VisionEye Görünüm Nesne Eşleme 🚀#
Link to this sectionVisionEye Nesne Eşleme nedir?#
Ultralytics YOLO26 VisionEye, bilgisayarların nesneleri tanımlaması ve tam olarak belirlemesi için insan gözünün hassasiyetini simüle etme yeteneği sunar. Bu işlevsellik, bilgisayarların tıpkı insan gözünün belirli bir bakış açısından detayları gözlemlemesi gibi, belirli nesneleri ayırt etmesini ve bunlara odaklanmasını sağlar.
Link to this sectionYOLO26 ile Nesneleri Haritala#
VisionEye, çerçevede tek bir gözlem noktası sabitler ve buradan her bir takip edilen nesneye bir ışın çizer; böylece bir sahnenin tek bir bakış açısından nasıl göründüğünü görselleştirebilirsin. vision_point değerini gözlemcinin piksel koordinatlarına ayarla ve ardından çözümü Python API veya CLI ile videonda ç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]"Link to this sectionVisionEye 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. |
You can also utilize various track arguments within the VisionEye solution:
| Argüman | Tip | Varsayılan | Açıklama |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Kullanılacak takip 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 | Çakışan algılamaları 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 (örn. cpu, cuda:0 veya 0). Kullanıcıların model yürütme için CPU, belirli bir GPU veya diğer 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 | True ise, açıklamalı 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. 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. |
Link to this sectionVisionEye Nasıl Çalışır#
VisionEye, çerçevede 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ından birden fazla nesneye nasıl odaklandığını simüle eder. Çözüm, gözlemci (görüş noktası) ile sahnedeki nesneler arasındaki mekansal ilişkinin görsel bir temsilini oluşturarak nesnelerin çerçeveler boyunca tutarlı bir şekilde tanımlanmasını sürdürmek için nesne takibi yöntemini kullanır.
VisionEye sınıfındaki process metodu birkaç ana işlem 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.
Link to this sectionVisionEye 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 bunların mekansal ilişkilerini ve davranışlarını da anlayan kapsamlı sistemler inşa edebilirsin.
Link to this sectionSSS#
Link to this sectionUltralytics YOLO26 ile VisionEye Nesne Eşlemeyi kullanmaya nasıl başlarım?#
Ultralytics YOLO26 ile VisionEye Nesne Eşlemeyi kullanmaya başlamak için öncelikle pip aracılığıyla Ultralytics YOLO paketini yüklemen gerekir. Ardından, VisionEye ile nesne tespiti kurulumu yapmak için dokümantasyonda sağlanan örnek kodu kullanabilirsin. İşte 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 windowsLink to this sectionNesne eşleme ve takip için neden Ultralytics YOLO26 kullanmalıyım?#
Ultralytics YOLO26; hızı, doğruluğu ve entegrasyon kolaylığı ile ünlüdür ve bu da onu nesne eşleme ve takip için en iyi seçenek haline getirir. Temel 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.
Link to this sectionVisionEye'ı Comet veya ClearML gibi diğer makine öğrenimi araçlarıyla nasıl entegre edebilirim?#
Ultralytics YOLO26 can integrate seamlessly with various machine learning tools like Comet and ClearML, enhancing experiment tracking, collaboration, and reproducibility. Follow the detailed guides on how to use YOLOv5 with Comet and integrate YOLO26 with ClearML to get started.
Daha fazla keşif ve entegrasyon örnekleri için Ultralytics Entegrasyon Rehberimize göz at.