İçeriğe geç

Ultralytics YOLO11 Kullanarak Hız Tahmini 🚀

Hız Tahmini nedir?

Hız tahmini, genellikle bilgisayar görüşü uygulamalarında kullanılan, belirli bir bağlamda bir nesnenin hareket hızını hesaplama işlemidir. Ultralytics YOLO11 kullanarak artık trafik izleme ve gözetleme gibi görevler için çok önemli olan mesafe ve zaman verilerinin yanı sıra nesne takibi kullanarak nesnelerin hızını hesaplayabilirsiniz. Hız tahmininin doğruluğu, çeşitli uygulamaların verimliliğini ve güvenilirliğini doğrudan etkiler ve bu da onu akıllı sistemlerin ve gerçek zamanlı karar verme süreçlerinin ilerlemesinde önemli bir bileşen haline getirir.



İzle: Ultralytics YOLO11 Kullanarak Hız Tahmini

Blogumuza Göz Atın

Hız tahmini hakkında daha derin bilgiler için şu blog yazımıza göz atın: Bilgisayar Görüşü Projelerinde Hız Tahmini için Ultralytics YOLO11

Hız Tahmininin Avantajları

  • Verimli Trafik Kontrolü: Doğru hız tahmini, trafik akışını yönetmeye, güvenliği artırmaya ve yollardaki tıkanıklığı azaltmaya yardımcı olur.
  • Hassas Otonom Navigasyon: Otonom sürüşlü arabalar gibi otonom sistemlerde, güvenilir hız tahmini, güvenli ve doğru araç navigasyonunu sağlar.
  • Gelişmiş Gözetim Güvenliği: Gözetim analizlerinde hız tahmini, olağandışı davranışları veya potansiyel tehditleri belirlemeye yardımcı olarak güvenlik önlemlerinin etkinliğini artırır.

Gerçek Dünya Uygulamaları

Taşıma Taşıma
Ultralytics YOLO11 Kullanarak Yolda Hız Tahmini Ultralytics YOLO11 Kullanarak Köprüde Hız Tahmini
Ultralytics YOLO11 Kullanarak Yolda Hız Tahmini Ultralytics YOLO11 Kullanarak Köprüde Hız Tahmini
Hız Bir Tahmindir

Hız bir tahmin olacaktır ve tamamen doğru olmayabilir. Ek olarak, tahmin kamera özelliklerine ve ilgili faktörlere göre değişebilir.

Ultralytics YOLO Kullanarak Hız Tahmini

# Run a speed example
yolo solutions speed show=True

# Pass a source video
yolo solutions speed source="path/to/video.mp4"

# Adjust meter per pixel value based on camera configuration
yolo solutions speed meter_per_pixel=0.05
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("speed_management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize speed estimation object
speedestimator = solutions.SpeedEstimator(
    show=True,  # display the output
    model="yolo11n.pt",  # path to the YOLO11 model file.
    fps=fps,  # adjust speed based on frame per second
    # max_speed=120,  # cap speed to a max value (km/h) to avoid outliers
    # max_hist=5,  # minimum frames object tracked before computing speed
    # meter_per_pixel=0.05,  # highly depends on the camera configuration
    # classes=[0, 2],  # estimate speed of specific classes.
    # line_width=2,  # adjust the line width for bounding boxes
)

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

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

    results = speedestimator(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

SpeedEstimator Argümanlar

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

Argüman Tür Varsayılan Açıklama
model str None Ultralytics YOLO Model Dosyasına Giden Yol.
fps float 30.0 Hız hesaplamaları için kullanılan saniye başına kare sayısı.
max_hist int 5 Hız/yön hesaplamaları için nesne başına izlenecek maksimum geçmiş nokta sayısı.
meter_per_pixel float 0.05 Piksel mesafesini gerçek dünya birimlerine dönüştürmek için kullanılan ölçekleme faktörü.
max_speed int 120 Görsel katmanlarda maksimum hız sınırı (uyarılarda kullanılır).

SpeedEstimator çözümü, şunun kullanımına izin verir: track parametreler:

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.

Ek olarak, aşağıdaki görselleştirme seçenekleri desteklenir:

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.

SSS

Ultralytics YOLO11 kullanarak nesne hızını nasıl tahmin ederim?

Ultralytics YOLO11 ile nesne hızını tahmin etmek, nesne tespiti ve izleme tekniklerini birleştirmeyi içerir. İlk olarak, YOLO11 modelini kullanarak her karedeki nesneleri tespit etmeniz gerekir. Ardından, zaman içindeki hareketlerini hesaplamak için bu nesneleri kareler arasında izleyin. Son olarak, nesnenin kareler arasında kat ettiği mesafeyi ve kare hızını kullanarak hızını tahmin edin.

Örnek:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
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("speed_estimation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize SpeedEstimator
speedestimator = solutions.SpeedEstimator(
    model="yolo11n.pt",
    show=True,
)

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break
    results = speedestimator(im0)
    video_writer.write(results.plot_im)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

Daha fazla ayrıntı için resmi blog yazımıza bakın.

Trafik yönetiminde hız tahmini için Ultralytics YOLO11'i kullanmanın faydaları nelerdir?

Hız tahmini için Ultralytics YOLO11 kullanmak, trafik yönetiminde önemli avantajlar sunar:

  • Gelişmiş Güvenlik: Aşırı hızı tespit etmek ve yol güvenliğini artırmak için araç hızlarını doğru bir şekilde tahmin edin.
  • Gerçek Zamanlı İzleme: Trafik akışını ve sıkışıklığı etkili bir şekilde izlemek için YOLO11'in gerçek zamanlı nesne algılama özelliğinden yararlanın.
  • Ölçeklenebilirlik: Modeli, uç cihazlardan sunuculara kadar çeşitli donanım kurulumlarında dağıtarak, büyük ölçekli uygulamalar için esnek ve ölçeklenebilir çözümler sağlayın.

Daha fazla uygulama için hız tahmininin avantajlarına bakın.

YOLO11, TensorFlow veya PyTorch gibi diğer AI çerçeveleriyle entegre edilebilir mi?

Evet, YOLO11, TensorFlow ve PyTorch gibi diğer AI çerçeveleriyle entegre edilebilir. Ultralytics, YOLO11 modellerini ONNX, TensorRT ve CoreML gibi çeşitli formatlara aktarmak için destek sağlayarak diğer ML çerçeveleriyle sorunsuz birlikte çalışabilirliği sağlar.

Bir YOLO11 modelini ONNX formatına aktarmak için:

yolo export --weights yolo11n.pt --include onnx

Dışa aktarma kılavuzumuzda modelleri dışa aktarma hakkında daha fazla bilgi edinin.

Ultralytics YOLO11 kullanılarak hız tahmini ne kadar doğru?

Ultralytics YOLO11 kullanılarak hız tahmininin doğruluğu, nesne izlemenin kalitesi, videonun çözünürlüğü ve kare hızı ve çevresel değişkenler dahil olmak üzere çeşitli faktörlere bağlıdır. Hız tahmincisi güvenilir tahminler sağlarken, kare işleme hızındaki ve nesne örtüşmesindeki farklılıklar nedeniyle %100 doğru olmayabilir.

Not: Hata payını her zaman göz önünde bulundurun ve mümkün olduğunda tahminleri temel doğruluk verileriyle doğrulayın.

Daha fazla doğruluk iyileştirme ipucu için şuraya bakın: Argümanlar SpeedEstimator bölüm.



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

Yorumlar