Ultralytics YOLO27:
Get Started

Ultralytics YOLO26 ile VisionEye Görünümü Nesne Haritalama#

VisionEye Nesne Haritalama nedir?#

Ultralytics YOLO26 VisionEye, bilgisayarların nesneleri tanımlayıp konumlarını belirlemesini sağlayarak insan gözünün gözlemsel hassasiyetini taklit eder. Bu işlev, bilgisayarların belirli nesneleri ayırt edip bunlara odaklanmasını sağlar; tıpkı insan gözünün ayrıntıları belirli bir bakış açısından gözlemlemesi gibi.

VisionEye object mapping with YOLO tracking

YOLO26 ile Nesneleri Haritalandır#

VisionEye, karede sabit bir gözlem noktası belirler ve bu noktadan izlenen her 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, ardından Python API veya CLI ile çözümü videonda çalıştır.

Ultralytics YOLO ile VisionEye Haritalama
# 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 Bağımsız Değişkenleri#

Aşağıda VisionEye bağımsız değişkenlerini içeren bir tablo bulabilirsin:

Bağımsız değişkenTürVarsayılanAçıklama
modelstrNoneUltralytics YOLO model dosyasının yolu.
vision_pointtuple[int, int](20, 20)VisionEye Solution ile nesnelerin izleneceği ve yolların çizileceği nokta.
line_widthint2Çözümün çizdiği kutular, anahtar noktalar ve sayılar için çizgi kalınlığı.
verboseboolTrueÇözümün her kare için girdi şekli, sınıf sayıları ve işleme hızına ilişkin günlüğünü etkinleştirir. İzleme çağrısının kendisi her zaman sessizdir.

Ayrıca VisionEye çözümünde çeşitli track bağımsız değişkenlerini de kullanabilirsin:

Bağımsız değişkenTürVarsayı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.25Algılamalar için güven eşiğini belirler; düşük değerler daha fazla nesnenin izlenmesine olanak tanır ancak yanlış pozitifleri de içerebilir.
ioufloat0.7Çakışan algılamaları filtrelemek için Kesişim-Birleşim Oranı (IoU) eşiğini belirler.
classeslistNoneSonuçları sınıf dizinine göre filtreler. Örneğin, classes=[0, 2, 3] yalnızca belirtilen sınıfları izler.
devicestrNoneÇıkarım için kullanılacak cihazı belirtir (ör. cpu, cuda:0 veya 0). Kullanıcıların model yürütme için CPU, belirli bir GPU veya başka hesaplama cihazları arasında seçim yapmasına olanak tanır.
imgszint or tuple640Hedef çıkarım görüntü boyutu: kare görüntüler için bir tam sayı veya bir (height, width) çifti. Boyutlar model adım değerine göre ayarlanır.
max_detint300Yoğun sahnelerde bir çözümün işleyeceği nesne sayısını sınırlamak için izleme öncesinde kare başına tutulan en yüksek algılama sayısı.
quantizeint or strNoneÇıkarım hassasiyeti: PyTorch ve TorchScript modellerinde 16 (FP16) veya 32/ayarlanmamış (FP32); diğer biçimlerde hesaplama, yapıtın ve çalışma zamanının seçtiği hassasiyetle yapılır. Kullanımdan kaldırılan half bayrağının yerine geçer.

Ayrıca aşağıda listelenen bazı görselleştirme bağımsız değişkenleri de desteklenir:

Bağımsız değişkenTürVarsayılanAçıklama
showboolFalseTrue ise açıklama eklenmiş görüntüleri veya videoları bir pencerede gösterir. Geliştirme veya test sırasında anında görsel geri bildirim almak için kullanışlıdır.
show_confboolTrueHer algılamanın güven puanını etiketinin yanında gösterir. Modelin her algılamaya ne kadar güvendiğini görmeni sağlar.
show_labelsboolTrueGörsel çıktıda her algılama için etiketleri gösterir. Algılanan nesnelerin hemen anlaşılmasını sağlar.

VisionEye nasıl çalışır?#

VisionEye, karede sabit bir görüş noktası belirleyip bu noktadan algılanan nesnelere çizgiler çizerek çalışır. Bu, insan görüşünün tek bir bakış açısından birden fazla nesneye nasıl odaklandığını taklit eder. Çözüm, kareler boyunca nesnelerin tutarlı biçimde tanımlanmasını sağlamak için nesne izleme 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şlem gerçekleştirir:

  1. Girdi görüntüsünden izleri (sınırlayıcı kutular, sınıflar ve iz kimlikleri) çıkarır
  2. Sınırlayıcı kutuları ve etiketleri çizmek için bir açıklayıcı oluşturur
  3. Algılanan her nesne için kutu etiketi çizer ve görüş noktasından bir görüş çizgisi oluşturur
  4. İzleme istatistiklerini içeren açıklamalı görüntüyü döndürür

Bu yaklaşım; gözetim sistemleri, otonom navigasyon ve etkileşimli enstalasyonlar gibi uzamsal farkındalık ve nesne ilişkilerinin görselleştirilmesini gerektiren uygulamalar için özellikle kullanışlıdır.

VisionEye uygulamaları#

VisionEye nesne haritalama, çeşitli sektörlerde çok sayıda pratik uygulama sunar:

  • Güvenlik ve Gözetim: Sabit bir kamera konumundan ilgilenilen birden fazla nesneyi izle
  • Perakende Analitiği: Müşterilerin mağaza vitrinleriyle ilişkili hareket düzenlerini izle
  • Spor Analizi: Oyuncuların konumlanmasını ve hareketlerini antrenör bakış açısından 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: Uzamsal 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 izlemekle kalmayan, nesnelerin uzamsal ilişkilerini ve davranışlarını da anlayan kapsamlı sistemler geliştirebilirsin.

Sık Sorulan Sorular#

  • Ultralytics YOLO26 ile VisionEye Nesne Haritalama'yı kullanmaya başlamak için önce Ultralytics YOLO paketini pip üzerinden yüklemen gerekir. Ardından, VisionEye ile nesne algılama kurmak için belgelerdeki örnek kodu kullanabilirsin. Başlamana yardımcı olacak basit bir örnek:

    import cv2
    
    from ultralytics import solutions
    
    cap = cv2.VideoCapture("path/to/video.mp4")
    assert cap.isOpened(), "Error reading video file"
    
    # Video yazıcısı
    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))
    
    # VisionEye nesnesini başlat
    visioneye = solutions.VisionEye(
        show=True,  # çıktıyı görüntüle
        model="yolo26n.pt",  # Ultralytics'in desteklediği herhangi bir modeli kullan; ör. yolo26s.pt
        classes=[0, 2],  # belirli sınıflar için VisionEye görünümü oluştur
    )
    
    # Videoyu işle
    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)  # çıktıya eriş
    
        video_writer.write(results.plot_im)  # video dosyasını yaz
    
    cap.release()
    video_writer.release()
    cv2.destroyAllWindows()  # açık tüm pencereleri kapat
  • Ultralytics YOLO26; hızı, doğruluğu ve kolay entegrasyonuyla tanınır, bu da onu nesne haritalama ve izleme için en iyi seçeneklerden biri hâline getirir. Başlıca avantajları:

    1. Son Teknoloji Performans: Gerçek zamanlı nesne algılamada yüksek doğruluk sağlar.
    2. Esneklik: Algılama, izleme ve mesafe hesaplamayı tek bir işlem hattında destekler.
    3. Topluluk ve Destek: Sorun giderme ve geliştirmeler için kapsamlı belgeler ve aktif bir GitHub topluluğu sunar.
    4. Kullanım Kolaylığı: Sezgisel API, karmaşık görevleri basitleştirerek hızlı dağıtım ve yineleme olanağı sağlar.

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

  • Ultralytics YOLO26; Comet ve ClearML gibi çeşitli makine öğrenimi araçlarıyla sorunsuz biçimde entegre olarak deney takibini, iş birliğini ve tekrarlanabilirliği geliştirir. Başlamak için YOLO26'yı Comet ile entegre etme ve YOLO26'yı ClearML ile entegre etme hakkındaki ayrıntılı kılavuzları izle.

    Daha fazla bilgi ve entegrasyon örnekleri için Ultralytics Entegrasyon Kılavuzumuza göz at.

Yorumlar