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şıma | Taşıma |
|---|---|
![]() | ![]() |
| Ultralytics YOLO26 ile Yolda Hız Tahmini | Ultralytics 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üman | Tür | Varsayılan | Açıklama |
|---|---|---|---|
model | str | None | Bir Ultralytics YOLO model dosyasının yolu. |
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.1 | 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.7 | Ç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 | int or None | 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 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.

