Ultralytics YOLO11 kullanılarak Mesafe Hesaplama
Mesafe Hesaplama Nedir?
İki nesne arasındaki boşluğun ölçülmesi, belirli bir alan içinde mesafe hesaplaması olarak bilinir. Ultralytics YOLO11 durumunda, kullanıcı tarafından vurgulanan sınırlayıcı kutular için mesafeyi hesaplamak üzere sınırlayıcı kutu centroidi kullanılır.
İzle: Ultralytics YOLO11 kullanılarak Mesafe Hesaplama
Görseller
Ultralytics YOLO11 kullanılarak 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 Örneği
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 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.
Ultralytics YOLO11 ile mesafe hesaplama 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, YOLO11'i çalıştırıyor 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 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.