Meet YOLO26: next-gen vision AI.

Link to this sectionUltralytics YOLO26 kullanarak Mesafe Hesaplama#

Link to this sectionMesafe Hesaplama nedir?#

Mesafe hesaplama, bir görüntü veya video karesindeki iki tespit edilen nesne arasındaki boşluğu ölçme işlemidir. Ultralytics YOLO26 söz konusu olduğunda, kullanıcı tarafından vurgulanan sınırlayıcı kutuların mesafesini hesaplamak için sınırlayıcı kutu ağırlık merkezi kullanılır.



Watch: How to estimate distance between detected objects with Ultralytics YOLO in Pixels 🚀

Link to this sectionGörseller#

Ultralytics YOLO26 kullanarak Mesafe Hesaplama
Ultralytics YOLO26 Mesafe Hesaplama

Link to this sectionMesafe Hesaplamanın Avantajları#

  • Konumlandırma Hassasiyeti: Bilgisayarlı görü görevlerinde doğru uzamsal konumlandırmayı geliştirir.
  • Boyut Tahmini: Daha iyi bağlamsal anlayış için nesne boyutunun tahmin edilmesine olanak tanır.
  • Sahne Anlama: Otonom araçlar ve gözetim sistemleri gibi uygulamalarda daha iyi karar verme için 3D sahne kavrayışını iyileştirir.
  • Çarpışma Önleme: Hareketli nesneler arasındaki mesafeleri izleyerek sistemlerin potansiyel çarpışmaları tespit etmesini sağlar.
  • Uzamsal Analiz: İzlenen ortamdaki nesne ilişkilerinin ve etkileşimlerinin analizini kolaylaştırır.
Mesafe Hesaplama
  • Mesafe hesaplamak için fare sol tuşuyla herhangi iki sınırlayıcı kutuya tıkla.
  • Çizilen tüm noktaları silmek için farenin sağ tuşunu kullan.
  • Yeni noktalar eklemek için karenin herhangi bir yerine sol tıkla.
Mesafe bir tahmindir

Mesafe bir tahmindir ve derinlik bilgisinden yoksun 2D veriler kullanılarak hesaplandığından tamamen doğru olmayabilir.

Ultralytics YOLO kullanarak 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="yolo26n.pt",  # path to the YOLO26 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

Link to this sectionDistanceCalculation() Argümanları#

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

ArgümanTürVarsayılanAçıklama
modelstrNoneBir Ultralytics YOLO model dosyasına giden yol.

You can also make use of various track arguments in the DistanceCalculation solution.

ArgümanTürVarsayılanAçıklama
trackerstr'botsort.yaml'Kullanılacak izleme algoritmasını belirtir, örneğin bytetrack.yaml veya botsort.yaml.
conffloat0.1Tespitler için güven eşiğini belirler; düşük değerler daha fazla nesnenin izlenmesine izin verir ancak hatalı pozitifleri içerebilir.
ioufloat0.7Çakışan tespitleri filtrelemek için Intersection over Union (IoU) eşiğini belirler.
classeslistNoneSonuçları sınıf dizinine 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 (örneğin cpu, cuda:0 veya 0). Kullanıcıların model yürütme için CPU, belirli bir GPU veya diğer hesaplama cihazları arasında seçim yapmasına olanak tanır.

Ayrıca, aşağıdaki görselleştirme argümanları mevcuttur:

ArgümanTürVarsayılanAçıklama
showboolFalseTrue ise, açıklamalı görüntüleri veya videoları bir pencerede görüntüler. Geliştirme veya test sırasında anlık görsel geri bildirim için kullanışlıdır.
line_widthint or NoneNoneSınırlayıcı kutuların çizgi genişliğini belirtir. None ise, çizgi genişliği görüntü boyutuna göre otomatik olarak ayarlanır. Netlik için görsel özelleştirme sağlar.
show_confboolTrueHer bir tespit için güven puanını etiketin yanında görüntüler. Her bir tespit için modelin kesinliği hakkında fikir verir.
show_labelsboolTrueGörsel çıktıda her tespit için etiketleri görüntüler. Tespit edilen nesnelerin hemen anlaşılmasını sağlar.

Link to this sectionUygulama Detayları#

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

  1. Seçilen sınırlayıcı kutuların ağırlık merkezlerini (orta noktalar) çıkarır
  2. Bu ağırlık merkezleri arasındaki Öklid mesafesini piksel cinsinden hesaplar
  3. Mesafeyi, nesneler arasında bir bağlantı çizgisi ile kare üzerinde görüntüler

Uygulama, fare etkileşimlerini yönetmek için mouse_event_for_distance yöntemini kullanır ve kullanıcıların nesneleri seçmesine ve gerektiğinde seçimleri temizlemesine olanak tanır. process yöntemi, kare kare işlemeyi, nesneleri izlemeyi ve mesafeleri hesaplamayı yönetir.

Link to this sectionUygulamalar#

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

  • Perakende Analitiği: Müşterilerin ürünlere yakınlığını ölç ve mağaza düzeni etkinliğini analiz et
  • Endüstriyel Güvenlik: Çalışanlar ile makineler arasındaki güvenli mesafeleri izle
  • Trafik Yönetimi: Araç mesafelerini analiz et ve yakın takibi tespit et
  • Spor Analizi: Oyuncular, top ve sahadaki önemli konumlar arasındaki mesafeleri hesapla
  • Sağlık Hizmetleri: Bekleme alanlarında uygun mesafeyi sağla ve hasta hareketini izle
  • Robotik: Robotların engellerden ve insanlardan uygun mesafeleri korumasını sağla

Link to this sectionSSS#

Link to this sectionUltralytics YOLO26 kullanarak nesneler arasındaki mesafeleri nasıl hesaplarım?#

To calculate distances between objects using Ultralytics YOLO26, you need to identify the bounding box centroids of the detected objects. This process involves initializing the DistanceCalculation class from Ultralytics' solutions module and using the model's tracking outputs to calculate the distances.

Link to this sectionUltralytics YOLO26 ile mesafe hesaplamayı kullanmanın avantajları nelerdir?#

Ultralytics YOLO26 ile mesafe hesaplamayı kullanmak birkaç avantaj sunar:

  • Konumlandırma Hassasiyeti: Nesneler için doğru uzamsal konumlandırma sağlar.
  • Boyut Tahmini: Fiziksel boyutları tahmin etmeye yardımcı olur, daha iyi bağlamsal anlayışa katkıda bulunur.
  • Sahne Anlama: 3D sahne kavrayışını geliştirir, otonom sürüş ve gözetim gibi uygulamalarda daha iyi karar vermeye yardımcı olur.
  • Gerçek Zamanlı İşleme: Hesaplamaları anında gerçekleştirir, bu da onu canlı video analizi için uygun hale getirir.
  • Entegrasyon Yetenekleri: nesne izleme ve hız tahmini gibi diğer YOLO26 çözümleriyle sorunsuz çalışır.

Link to this sectionUltralytics YOLO26 ile gerçek zamanlı video akışlarında mesafe hesaplama yapabilir miyim?#

Evet, Ultralytics YOLO26 ile gerçek zamanlı video akışlarında mesafe hesaplama yapabilirsin. İşlem, OpenCV kullanarak video karelerini yakalamayı, YOLO26 nesne tespiti çalıştırmayı ve art arda gelen karelerdeki nesneler arasındaki mesafeleri hesaplamak için DistanceCalculation sınıfını kullanmayı içerir. Ayrıntılı bir uygulama için video akışı örneğine bak.

Link to this sectionUltralytics YOLO26 kullanarak mesafe hesaplama sırasında çizilen noktaları nasıl silerim?#

Ultralytics YOLO26 ile mesafe hesaplama sırasında çizilen noktaları silmek için sağ fare tıklamasını kullanabilirsin. Bu eylem, çizdiğin tüm noktaları temizleyecektir. Daha fazla ayrıntı için mesafe hesaplama örneğinin altındaki notlar bölümüne başvur.

Link to this sectionUltralytics YOLO26'da DistanceCalculation sınıfını başlatmak için temel argümanlar nelerdir?#

Ultralytics YOLO26'da DistanceCalculation sınıfını başlatmak için temel argümanlar şunları içerir:

  • model: YOLO26 model dosyasına giden yol.
  • tracker: Kullanılacak izleme algoritması (varsayılan 'botsort.yaml' şeklindedir).
  • conf: Tespitler için güven eşiği.
  • show: Çıktıyı görüntülemek için bayrak.

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

Yorumlar