İçeriğe geç

Ultralytics YOLO11 🚀 Kullanarak VisionEye Görünümü Nesne Eşleme

VisionEye Nesne Haritalama nedir?

Ultralytics YOLO11 VisionEye, bilgisayarların nesneleri tanımlama ve tam olarak belirleme yeteneği sunarak, insan gözünün gözlemsel hassasiyetini simüle eder. Bu işlevsellik, bilgisayarların belirli bir bakış açısından ayrıntıları gözlemleme şekline çok benzer şekilde, belirli nesneleri ayırt etmesini ve bunlara odaklanmasını sağlar.

Ultralytics YOLO11 kullanılarak Nesne Takibi ile VisionEye Görüntü Nesne Eşleme

Ultralytics YOLO Kullanarak 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]"
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("visioneye_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize vision eye object
visioneye = solutions.VisionEye(
    show=True,  # display the output
    model="yolo11n.pt",  # use any model that Ultralytics support, i.e, YOLOv10
    classes=[0, 2],  # generate visioneye view for specific classes
    vision_point=(50, 50),  # the point, where vision will view objects and draw tracks
)

# 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

VisionEye Argümanlar

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

Argüman Tür Varsayılan Açıklama
model str None Ultralytics YOLO Model Dosyasına Giden Yol.
vision_point tuple[int, int] (20, 20) VisionEye Solution kullanılarak nesnelerin izleneceği ve yolların çizileceği nokta.

Ayrıca çeşitli araçlardan da faydalanabilirsiniz: track içindeki argümanlar VisionEye çözümü:

Argüman Tür Varsayılan Açıklama
tracker str 'botsort.yaml' Kullanılacak izleme algoritmasını belirtir, örneğin: bytetrack.yaml veya botsort.yaml.
conf float 0.3 Algılamalar için güven eşiğini ayarlar; daha düşük değerler daha fazla nesnenin izlenmesine olanak tanır ancak yanlış pozitifleri içerebilir.
iou float 0.5 Ç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 İzleme sonuçlarının görüntülenmesini kontrol eder ve izlenen nesnelerin görsel bir çıktısını sağlar.
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.

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

Argüman Tür Varsayılan Açıklama
show bool False Eğer True, ek 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 None or int None Sınırlayıcı kutuların çizgi genişliğini belirtir. Eğer None, ç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 Etiketin yanında her algılama için güvenilirlik puanını görüntüler. Modelin her algılama için kesinliği hakkında fikir verir.
show_labels bool True Görsel çıktıdaki her algılama için etiketleri görüntüler. Algılanan nesnelerin anında anlaşılmasını sağlar.

VisionEye Nasıl Çalışır

VisionEye, çerçevede sabit bir görüş noktası oluşturarak ve bu noktadan algılanan nesnelere çizgiler çizerek çalışır. Bu, insan görüşünün tek bir bakış açısından birden çok nesneye nasıl odaklandığını simüle eder. Çözüm, gözlemci (görüş noktası) ile sahnedeki nesneler arasındaki uzamsal ilişkinin görsel bir temsilini oluşturarak, çerçeveler arasında nesnelerin tutarlı bir şekilde tanımlanmasını sağlamak için nesne takibi kullanır.

process VisionEye sınıfındaki method, çeşitli temel işlemleri 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 etiketleri çizmek için bir açıklama aracı oluşturur
  3. Algılanan her nesne için bir kutu etiketi çizer ve görüş noktasından bir görüş çizgisi oluşturur
  4. İzleme istatistikleriyle birlikte açıklama eklenmiş 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şlemesinin çeşitli sektörlerde çok sayıda pratik uygulaması vardır:

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

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

Not

Herhangi bir sorunuz için, sorularınızı Ultralytics Sorunlar Bölümü'nde veya aşağıda belirtilen tartışma bölümünde paylaşmaktan çekinmeyin.

SSS

Ultralytics YOLO11 ile VisionEye Nesne Eşleme'yi kullanmaya nasıl başlarım?

VisionEye Nesne Eşleme'yi Ultralytics YOLO11 ile kullanmaya başlamak için, öncelikle Ultralytics YOLO paketini pip aracılığıyla yüklemeniz gerekir. Ardından, VisionEye ile nesne algılamayı ayarlamak için belgelerde sağlanan örnek kodu kullanabilirsiniz. Başlamanıza 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 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="yolo11n.pt",  # use any model that Ultralytics support, i.e, 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 haritalama ve izleme için neden Ultralytics YOLO11 kullanmalıyım?

Ultralytics YOLO11, nesne haritalama ve izleme için en iyi seçim olmasını sağlayan hızı, doğruluğu ve entegrasyon kolaylığı ile ünlüdür. Başlıca avantajları şunlardır:

  1. Son Teknoloji Performansı: Gerçek zamanlı nesne algılamada yüksek doğruluk sunar.
  2. Esneklik: Algılama, izleme ve mesafe hesaplama gibi çeşitli görevleri destekler.
  3. Topluluk ve Destek: Sorun giderme ve iyileş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 faydalar hakkında daha fazla bilgi için Ultralytics YOLO11 dokümantasyonuna göz atın.

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

Ultralytics YOLO11, deney takibi, işbirliği ve yeniden üretilebilirliği artırarak Comet ve ClearML gibi çeşitli makine öğrenimi araçlarıyla sorunsuz bir şekilde entegre olabilir. Başlamak için YOLOv5'i Comet ile nasıl kullanacağınız ve YOLO11'i ClearML ile nasıl entegre edeceğinizle ilgili ayrıntılı kılavuzları izleyin.

Daha fazla keşif ve entegrasyon örnekleri için Ultralytics Entegrasyon Kılavuzumuza göz atın.



📅 1 yıl önce oluşturuldu ✏️ 2 ay önce güncellendi

Yorumlar