İçeriğe geç

Kullanarak Mesafe Hesaplama Ultralytics YOLO11

Mesafe Hesaplama Nedir?

İki nesne arasındaki boşluğun ölçülmesi, belirli bir alan içinde mesafe hesaplaması olarak bilinir. Bu durumda Ultralytics YOLO11sınırlayıcı kutu merkezi, kullanıcı tarafından vurgulanan sınırlayıcı kutuların mesafesini hesaplamak için kullanılır.



İzle: Kullanarak Mesafe Hesaplama Ultralytics YOLO11

Görseller

Kullanarak Mesafe Hesaplama Ultralytics YOLO11
Ultralytics YOLO11 Mesafe Hesaplama

Mesafe Hesaplamanın Avantajları?

  • Yerelleştirme Hassasiyeti: Bilgisayarla görme görevlerinde doğru uzamsal konumlandırmayı geliştirir.
  • Boyut Tahmini: Daha iyi bağlamsal anlayış için nesne boyutunun tahmin edilmesini sağlar.
Mesafe Hesaplama
  • Mesafe hesaplaması için herhangi iki sınırlayıcı kutuya Sol Fare tıklaması ile tıklayın

YOLO11 Kullanarak Mesafe Hesaplama Örnek

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("Path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
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
video_writer = cv2.VideoWriter("distance_calculation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init distance-calculation obj
distance = solutions.DistanceCalculation(model="yolo11n.pt", show=True)

# 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
    im0 = distance.calculate(im0)
    video_writer.write(im0)

cap.release()
video_writer.release()
cv2.destroyAllWindows()
Not
  • Fare Sağ Tıklaması çizilen tüm noktaları silecektir
  • Fare Sol Tıklaması nokta çizmek için kullanılabilir
Mesafe Tahminidir
Distance will be an estimate and may not be fully accurate, as it is calculated using 2-dimensional data, which lacks information about the object's depth.

Argümanlar DistanceCalculation()

Name Type Default Açıklama
model str None Ultralytics YOLO Model Dosyasının Yolu
line_width int 2 Sınırlayıcı kutular için çizgi kalınlığı.
show bool False Video akışının görüntülenip görüntülenmeyeceğini kontrol etmek için bayrak.

Argümanlar model.track

Tartışma Tip Varsayılan Açıklama
source str None Resimler veya videolar için kaynak dizini belirtir. Dosya yollarını ve URL'leri destekler.
persist bool False Video dizileri boyunca kimlikleri koruyarak nesnelerin kareler arasında kalıcı olarak izlenmesini sağlar.
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.

SSS

Ultralytics YOLO11 adresini kullanarak nesneler arasındaki mesafeleri nasıl hesaplayabilirim?

Nesneler arasındaki mesafeleri hesaplamak için Ultralytics YOLO11'de, algılanan nesnelerin sınırlayıcı kutu merkezlerini belirlemeniz gerekir. Bu işlem, nesnelerin sınırlayıcı kutu DistanceCalculation sınıfından Ultralytics' solutions modülünü kullanır ve mesafeleri hesaplamak için modelin izleme çıktılarını kullanır. Uygulamaya şuradan başvurabilirsiniz mesafe hesaplama örneği.

Mesafe hesaplamasını Ultralytics YOLO11 ile kullanmanın avantajları nelerdir?

Mesafe hesaplamasını Ultralytics YOLO11 ile kullanmak çeşitli avantajlar sunar:

  • Yerelleştirme Hassasiyeti: Nesneler için doğru uzamsal konumlandırma sağlar.
  • Boyut Tahmini: Fiziksel boyutların tahmin edilmesine yardımcı olarak bağlamın daha iyi anlaşılmasına katkıda bulunur.
  • Sahne Anlama: 3D sahne kavrayışını geliştirerek otonom sürüş ve gözetleme gibi uygulamalarda gelişmiş karar verme sürecine yardımcı olur.

Ultralytics YOLO11 ile gerçek zamanlı video akışlarında mesafe hesaplaması yapabilir miyim?

Evet, Ultralytics YOLO11 ile gerçek zamanlı video akışlarında mesafe hesaplaması yapabilirsiniz. İşlem, aşağıdakileri kullanarak video karelerini yakalamayı içerir OpenCV, koşmak YOLO11 nesne algılamave kullanarak DistanceCalculation sınıfı, birbirini izleyen karelerdeki nesneler arasındaki mesafeleri hesaplamak için kullanılır. Ayrıntılı bir uygulama için bkz. video akışı örneği.

Ultralytics YOLO11 adresini kullanarak mesafe hesaplaması sırasında çizilen noktaları nasıl silebilirim?

Ultralytics YOLO11 ile mesafe hesaplaması sırasında çizilen noktaları silmek için farenin sağ tuşunu kullanabilirsiniz. Bu işlem çizdiğiniz tüm noktaları silecektir. Daha fazla ayrıntı için mesafe hesaplama örneğinin altındaki not bölümüne bakın.

Ultralytics YOLO11 adresinde DistanceCalculation sınıfını başlatmak için temel argümanlar nelerdir?

Başlatmak için temel argümanlar DistanceCalculation sınıfına Ultralytics YOLO11 adresinden ulaşabilirsiniz:

  • model: Model dosya yolu.
  • show: Video akışının görüntülenip görüntülenmeyeceğini gösteren bayrak.
  • line_width: Sınırlayıcı kutunun ve görüntü üzerine çizilen çizgilerin kalınlığı.

Kapsamlı bir liste ve varsayılan değerler için DistanceCalculation argümanlarına bakın.

📅1 1 ay önce oluşturuldu ✏️ 1 ay önce güncellendi

Yorumlar