İç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 supports, e.g., YOLOv10
    classes=[0, 2],  # generate visioneye view for specific classes
    vision_point=(50, 50),  # the point where VisionEye 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

vision_point tuple'ı gözlemcinin konumunu piksel koordinatlarında temsil eder. Kamera perspektifiyle eşleşecek şekilde ayarlayın, böylece işlenen ışınlar nesnelerin seçilen bakış açısıyla nasıl ilişkili olduğunu doğru şekilde gösterir.

VisionEye Argümanlar

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

ArgümanTürVarsayılanAçıklama
modelstrNoneUltralytics YOLO model dosyasına giden yol.
vision_pointtuple[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ümanTürVarsayılanAçıklama
trackerstr'botsort.yaml'Kullanılacak izleme algoritmasını belirtir, örneğin: bytetrack.yaml veya botsort.yaml.
conffloat0.3Algı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.
ioufloat0.5Çakışan algılamaları filtrelemek için Intersection over Union (IoU) eşiğini ayarlar.
classeslistNoneSonuçları sınıf indeksine göre filtreler. Örneğin, classes=[0, 2, 3] yalnızca belirtilen sınıfları izler.
verboseboolTrueİzleme sonuçlarının görüntülenmesini kontrol eder ve izlenen nesnelerin görsel bir çıktısını sağlar.
devicestrNoneÇı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ümanTürVarsayılanAçıklama
showboolFalseEğ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_widthNone or intNoneSı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_confboolTrueEtiketin 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_labelsboolTrueGö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 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 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 ✏️ 5 gün önce güncellendi
glenn-jocherRizwanMunawarUltralyticsAssistantMatthewNoyceIvorZhu331

Yorumlar