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 |
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.