İçeriğe geç

Ultralytics YOLO26 ile Hız Tahmini 🚀

Hız Tahmini nedir?

Hız tahmini, belirli bir bağlamda bir nesnenin hareket hızını hesaplama sürecidir ve genellikle bilgisayar görüşü uygulamalarında kullanılır. Ultralytics YOLO26 kullanarak, trafik izleme ve gözetim gibi görevler için kritik olan mesafe ve zaman verileriyle birlikte nesne track kullanarak nesnelerin hızını artık hesaplayabilirsiniz. Hız tahmininin doğruluğu, çeşitli uygulamaların verimliliğini ve güvenilirliğini doğrudan etkiler, bu da onu akıllı sistemlerin ve gerçek zamanlı karar verme süreçlerinin ilerlemesinde temel bir bileşen haline getirir.



İzle: Ultralytics YOLO26 ile Hız Tahmini

Blogumuza Göz Atın

Hız tahmini hakkında daha derinlemesine bilgi için blog yazımıza göz atın: Bilgisayar Görüşü Projelerinde Hız Tahmini için Ultralytics YOLO

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şımaTaşıma
Ultralytics YOLO26 ile Yolda Hız TahminiUltralytics YOLO26 ile Köprüde Hız Tahmini
Ultralytics YOLO26 ile Yolda Hız TahminiUltralytics YOLO26 ile 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="yolo26n.pt",  # path to the YOLO26 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ümanTürVarsayılanAçıklama
modelstrNoneBir Ultralytics YOLO model dosyasının yolu.
fpsfloat30.0Hız hesaplamaları için kullanılan saniye başına kare sayısı.
max_histint5Hız/yön hesaplamaları için nesne başına izlenecek maksimum geçmiş nokta sayısı.
meter_per_pixelfloat0.05Piksel mesafesini gerçek dünya birimlerine dönüştürmek için kullanılan ölçekleme faktörü.
max_speedint120Gö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ümanTürVarsayılanAçıklama
trackerstr'botsort.yaml'Kullanılacak izleme algoritmasını belirtir, örneğin: bytetrack.yaml veya botsort.yaml.
conffloat0.1Algı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.
ioufloat0.7Çakışan algılamaları filtrelemek için Intersection over Union (IoU) eşiğini ayarlar.
classeslistNoneSonuçları sınıf indeksine 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 (ö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ümanTürVarsayılanAçıklama
showboolFalseEğ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_widthint or NoneNoneSı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_confboolTrueEtiketin 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_labelsboolTrueGö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 YOLO26 kullanarak nesne hızını nasıl tahmin ederim?

Ultralytics YOLO26 ile nesne hızını tahmin etmek, nesne algılama ve track tekniklerini birleştirmeyi içerir. Öncelikle, YOLO26 modelini kullanarak her karedeki nesneleri detect etmeniz gerekir. Ardından, bu nesneleri kareler arasında track ederek zaman içindeki hareketlerini hesaplayın. 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="yolo26n.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.

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

Ultralytics YOLO26'yı hız tahmini için kullanmak, trafik yönetiminde önemli avantajlar sunar:

  • Geliştirilmiş 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: YOLO26'nın gerçek zamanlı nesne algılama yeteneğinden faydalanarak trafik akışını ve tıkanıklığını etkili bir şekilde izleyin.
  • Ö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.

YOLO26, TensorFlow veya PyTorch gibi diğer yapay zeka çerçeveleriyle entegre edilebilir mi?

Evet, YOLO26, TensorFlow ve PyTorch gibi diğer yapay zeka çerçeveleriyle entegre edilebilir. Ultralytics, YOLO26 modellerini ONNX, TensorRT ve CoreML gibi çeşitli formatlara aktırma desteği sağlayarak diğer ML çerçeveleriyle sorunsuz birlikte çalışabilirlik sağlar.

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

yolo export model=yolo26n.pt format=onnx

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

Ultralytics YOLO26 kullanarak hız tahmini ne kadar doğrudur?

Ultralytics YOLO26 kullanarak hız tahmininin doğruluğu, nesne takibinin kalitesi, videonun çözünürlüğü ve kare hızı ile çevresel değişkenler dahil olmak üzere çeşitli faktörlere bağlıdır. Hız tahmincisi güvenilir tahminler sağlasa da, kare işleme hızındaki farklılıklar ve nesne örtüşmesi 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.



📅 2 yıl önce oluşturuldu ✏️ 7 gün önce güncellendi
glenn-jocherRizwanMunawarMatthewNoyceRizwanMunawaraaurelions@gmail.comleonnilUltralyticsAssistantIvorZhu331Burhan-QAyushExel

Yorumlar