İçeriğe geç

VisionEye View Object Mapping kullanarak Ultralytics YOLO11 🚀

VisionEye Nesne Eşleme nedir?

Ultralytics YOLO11 VisionEye, insan gözünün gözlemsel hassasiyetini taklit ederek bilgisayarların nesneleri tanımlama ve nokta atışı yapma kabiliyetini sunar. Bu işlevsellik, insan gözünün belirli bir bakış açısından ayrıntıları gözlemlemesine benzer şekilde, bilgisayarların belirli nesneleri ayırt etmesini ve bunlara odaklanmasını sağlar.

VisionEye kullanarak Nesne Takibi ile Nesne Haritalamayı Görüntüle Ultralytics YOLO11

Ultralytics YOLO kullanarak 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]"
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 bir tablo VisionEye Argümanlar:

Tartışma Tip Varsayılan Açıklama
model str None Ultralytics YOLO Model Dosyasının Yolu.
vision_point tuple[int, int] (50, 50) VisionEye Çözümünü kullanarak görüşün nesneleri izleyeceği ve yolları çizeceği nokta.

Aynı zamanda çeşitli track içindeki argümanlar VisionEye Çözüm:

Tartışma Tip Varsayılan Açıklama
tracker str 'botsort.yaml' Kullanılacak izleme algoritmasını belirtir, örn, bytetrack.yaml veya botsort.yaml.
conf float 0.3 Algılamalar için güven eşiğini ayarlar; düşük değerler daha fazla nesnenin izlenmesine izin verir ancak yanlış pozitifler içerebilir.
iou float 0.5 Çakışan algılamaları filtrelemek için Birlik üzerinde Kesişim (IoU) eşiğini ayarlar.
classes list None Sonuçları sınıf dizinine 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 ederek 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 CPU, belirli bir GPU veya model yürütme için diğer hesaplama cihazları arasında seçim yapmasına olanak tanır.

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

Tartışma Tip Varsayılan Açıklama
show bool False Eğer True, 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.

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 fazla nesneye nasıl odaklandığını simüle eder. Çözüm, nesnelerin kareler arasında tutarlı bir şekilde tanımlanmasını sağlamak için nesne izlemeyi kullanır ve gözlemci (görüş noktası) ile sahnedeki nesneler arasındaki uzamsal ilişkinin görsel bir temsilini oluşturur.

Bu process VisionEye sınıfındaki yöntem birkaç önemli işlem 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çıklayıcı 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çıklamalı görüntüyü döndürür

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

VisionEye Uygulamaları

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

  • Güvenlik ve Gözetim: Sabit bir kamera konumundan birden fazla ilgi nesnesini izleyin
  • Perakende Analitiği: Mağaza vitrinleriyle ilişkili olarak müşteri hareket modellerini izleyin
  • Spor Analizi: Bir antrenörün bakış açısıyla oyuncu pozisyonunu ve hareketini analiz etme
  • 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şturma

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

Not

Sorularınız için Ultralytics Sorun Bölümüne veya aşağıda belirtilen tartışma bölümüne sorularınızı göndermekten çekinmeyin.

SSS

VisionEye Object Mapping'i Ultralytics YOLO11 ile kullanmaya nasıl başlayabilirim?

VisionEye Object Mapping'i 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. İşte başlamanız 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="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 eşleme ve izleme için neden Ultralytics YOLO11 adresini kullanmalıyım?

Ultralytics YOLO11 hızı, doğruluğu ve entegrasyon kolaylığı ile ünlüdür, bu da onu nesne haritalama ve izleme için en iyi seçim haline getirir. Temel avantajları şunlardır:

  1. Son Teknoloji Performans: Gerçek zamanlı nesne algılamada yüksek doğruluk sağlar.
  2. Esneklik: Algılama, izleme ve mesafe hesaplama gibi çeşitli görevleri destekler.
  3. Topluluk ve Destek: Sorun giderme ve geliştirmeler için kapsamlı belgeler 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.

Başvurular ve avantajlar hakkında daha fazla bilgi için Ultralytics YOLO11 belgelerine göz atın.

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

Ultralytics YOLO11 Comet ve gibi çeşitli makine öğrenimi araçlarıyla sorunsuz bir şekilde entegre olabilir ve deney takibini, işbirliğini ve yeniden üretilebilirliği geliştirebilir. Başlamak için 'un ClearML YOLOv5 Comet ile nasıl kullanılacağına ve 'un YOLO11 ClearML ile nasıl entegre edileceğine ilişkin ayrıntılı kılavuzları izleyin.

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

📅1 yıl önce oluşturuldu ✏️ 6 gün önce güncellendi

Yorumlar