İçeriğe geç

Ultralytics YOLO11 Kullanarak Mesafe Hesaplama

Mesafe Hesaplama (Distance Calculation) nedir?

İki nesne arasındaki boşluğu ölçmek, belirli bir alanda mesafe hesaplama olarak bilinir. Ultralytics YOLO11 durumunda, kullanıcı tarafından vurgulanan sınırlayıcı kutuların mesafesini hesaplamak için sınırlayıcı kutu centroidi kullanılır.



İzle: Ultralytics YOLO11 Kullanarak Mesafe Hesaplama

Görseller

Ultralytics YOLO11 Kullanarak Mesafe Hesaplama
Ultralytics YOLO11 Mesafe Hesaplama

Mesafe Hesaplamanın Avantajları Nelerdir?

  • Konumlandırma Hassasiyeti: Bilgisayar görüşü görevlerinde doğru uzamsal konumlandırmayı geliştirir.
  • Boyut Tahmini: Daha iyi bağlamsal anlayış için nesne boyutunun tahmin edilmesini sağlar.
  • Sahne Anlama: Otonom araçlar ve gözetim sistemleri gibi uygulamalarda daha iyi karar verme için 3D sahne algısını geliştirir.
  • Çarpışma Önleme: Hareketli nesneler arasındaki mesafeleri izleyerek sistemlerin potansiyel çarpışmaları tespit etmesini sağlar.
  • Konumsal Analiz: İzlenen ortamdaki nesne ilişkilerinin ve etkileşimlerinin analizini kolaylaştırır.
Mesafe Hesaplama
  • Mesafe hesabı için Sol Fare tıklaması ile herhangi iki sınırlayıcı kutuya tıklayın
  • Sağ Fare Tıklaması çizilen tüm noktaları siler
  • Sol Fare Tıklaması noktalar ç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.

Ultralytics YOLO kullanılarak Mesafe Hesaplama

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("distance_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize distance calculation object
distancecalculator = solutions.DistanceCalculation(
    model="yolo11n.pt",  # path to the YOLO11 model file.
    show=True,  # display the output
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()

    if not success:
        print("Video frame is empty or processing is complete.")
        break

    results = distancecalculator(im0)

    print(results)  # access the output

    video_writer.write(results.plot_im)  # write the processed frame.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

DistanceCalculation() Argümanlar

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

Argüman Tür Varsayılan Açıklama
model str None Ultralytics YOLO Model Dosyasına Giden Yol.

Ayrıca çeşitli olanaklardan da yararlanabilirsiniz: track içindeki argümanlar DistanceCalculation çö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ğıdaki görselleştirme argümanları mevcuttur:

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.

Uygulama Detayları

DistanceCalculation sınıfı, video kareleri arasında nesneleri izleyerek ve seçilen sınırlayıcı kutuların merkez noktaları arasındaki Öklid mesafesini hesaplayarak çalışır. İki nesneye tıkladığınızda, çözüm:

  1. Seçilen sınırlayıcı kutuların centroidlerini (merkez noktalarını) çıkarır
  2. Bu centroidler arasındaki Öklid mesafesini piksel cinsinden hesaplar
  3. Çerçeve üzerindeki mesafeyi nesneler arasında bağlantı çizgisiyle birlikte görüntüler

Uygulama şunu kullanır: mouse_event_for_distance kullanıcıların nesneleri seçmesine ve gerektiğinde seçimleri temizlemesine olanak tanıyan fare etkileşimlerini işleme method'u. The process yöntemi, kare kare işlemeyi, nesneleri izlemeyi ve mesafeleri hesaplamayı yönetir.

Uygulamalar

YOLO11 ile mesafe hesaplamanın çok sayıda pratik uygulaması vardır:

  • Perakende Analitiği: Müşterinin ürünlere yakınlığını ölçün ve mağaza yerleşiminin etkinliğini analiz edin.
  • Endüstriyel Güvenlik: İşçiler ve makineler arasındaki güvenli mesafeleri izleyin
  • Trafik Yönetimi: Araç aralıklarını analiz edin ve yakın takibi tespit edin
  • Spor Analizi: Oyuncular, top ve önemli saha pozisyonları arasındaki mesafeleri hesaplayın
  • Sağlık Hizmetleri: Bekleme alanlarında uygun mesafeyi sağlayın ve hasta hareketini izleyin
  • Robotik: Robotların engellerden ve insanlardan uygun mesafeleri korumasını sağlayın

SSS

Ultralytics YOLO11 kullanarak nesneler arasındaki mesafeleri nasıl hesaplarım?

Şunu kullanarak nesneler arasındaki mesafeleri hesaplamak için Ultralytics YOLO11, algılanan nesnelerin sınırlayıcı kutu merkez noktalarını belirlemeniz gerekir. Bu işlem, şunun başlatılmasını içerir: DistanceCalculation Ultralytics'in sınıfından solutions modülü ve modelin izleme çıktılarını kullanarak mesafeleri hesaplar.

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

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

  • Konumlandırma Hassasiyeti: Nesneler için doğru uzamsal konumlandırma sağlar.
  • Boyut Tahmini: Fiziksel boyutların tahmin edilmesine yardımcı olarak daha iyi bağlamsal anlayışa katkıda bulunur.
  • Sahne Anlayışı: 3B sahne kavrayışını geliştirir, otonom sürüş ve gözetim gibi uygulamalarda iyileştirilmiş karar almaya yardımcı olur.
  • Gerçek zamanlı İşleme: Anında hesaplamalar yaparak canlı video analizi için uygun hale getirir.
  • Entegrasyon Yetenekleri: Nesne takibi ve hız tahmini gibi diğer YOLO11 çözümleriyle sorunsuz çalışır.

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. Bu işlem, video kareleri yakalamayı içerir: OpenCV, YOLO11 çalıştırarak nesne tespiti, ve şunu kullanarak DistanceCalculation ardışık karelerdeki nesneler arasındaki mesafeleri hesaplamak için sınıf. Ayrıntılı bir uygulama için bkz. video akışı örneği.

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

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

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

Başlatmak için temel argümanlar DistanceCalculation Ultralytics YOLO11'deki sınıf şunları içerir:

  • model: YOLO11 model dosyasının yolu.
  • tracker: Kullanılacak izleme algoritması (varsayılan 'botsort.yaml').
  • conf: Algılamalar için güven eşiği.
  • show: Çıktıyı görüntüleme bayrağı.

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



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

Yorumlar