Ultralytics YOLO11 🚀 Kullanarak Hız Tahmini
Hız Tahmini Nedir?
Hız tahmini, genellikle bilgisayarla görme uygulamalarında kullanılan, belirli bir bağlam içinde bir nesnenin hareket oranını hesaplama işlemidir. Kullanma Ultralytics YOLO11 Artık mesafe ve zaman verilerinin yanı sıra nesne tak ibini kullanarak nesnelerin hızını hesaplayabilirsiniz, bu da trafik izleme ve gözetleme gibi görevler için çok önemlidir. Hız tahmininin doğruluğu, çeşitli uygulamaların verimliliğini ve güvenilirliğini doğrudan etkileyerek akıllı sistemlerin ve gerçek zamanlı karar verme süreçlerinin ilerlemesinde kilit bir bileşen haline gelir.
İzle: Kullanarak Hız Tahmini Ultralytics YOLO11
Blogumuza Göz Atın
Hız tahmini hakkında daha derin bilgiler için blog yazımıza göz atın: Ultralytics YOLO11 for Speed Estimation in Computer Vision Projects
Hız Tahmininin Avantajları
- Verimli Trafik Kontrolü: Doğru hız tahmini, trafik akışını yönetmeye, güvenliği artırmaya ve karayollarındaki tıkanıklığı azaltmaya yardımcı olur.
- Hassas Otonom Navigasyon: Kendi kendine giden arabalar gibi otonom sistemlerde, güvenilir hız tahmini güvenli ve doğru araç navigasyonu sağlar.
- Geliştirilmiş Gözetim Güvenliği: Gözetim analitiğindeki hız tahmini, olağandışı davranışların veya potansiyel tehditlerin belirlenmesine yardımcı olarak güvenlik önlemlerinin etkinliğini artırır.
Gerçek Dünya Uygulamaları
Ulaşım | Ulaşım |
---|---|
![]() |
![]() |
Yol Üzerinde Hız Tahmini Ultralytics YOLO11 | Köprü Üzerinde Hız Tahmini Ultralytics YOLO11 |
Hız Bir Tahmindir
Hız bir tahmin olacaktır ve tamamen doğru olmayabilir. Ayrıca, tahmin GPU hızına ve çevresel faktörlere bağlı olarak değişebilir.
Ultralytics YOLO kullanarak Hız Tahmini
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))
# speed region points
speed_region = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
# Initialize speed estimation object
speedestimator = solutions.SpeedEstimator(
show=True, # display the output
model="yolo11n.pt", # path to the YOLO11 model file.
region=speed_region, # pass region points
# 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 bir tablo SpeedEstimator
Argümanlar:
Tartışma | Tip | Varsayılan | Açıklama |
---|---|---|---|
model |
str |
None |
Ultralytics YOLO Model Dosyasının Yolu. |
region |
list |
[(20, 400), (1260, 400)] |
Sayım bölgesini tanımlayan noktaların listesi. |
Bu SpeedEstimator
çözümünün kullanılmasına izin verir track
Parametreler:
Tartışma | Tip | Varsayılan | Açıklama |
---|---|---|---|
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. |
device |
str |
None |
Çıkarım için cihazı belirtir (örn, cpu , cuda:0 veya 0 ). Kullanıcıların CPU, belirli bir GPU veya model yürütme için diğer hesaplama cihazları arasında seçim yapmasına olanak tanır. |
Ayrıca, aşağıdaki görselleştirme seçenekleri de desteklenmektedir:
Tartışma | Tip | Varsayılan | Açıklama |
---|---|---|---|
show |
bool |
False |
Eğer True , 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. |
SSS
Ultralytics YOLO11 adresini kullanarak nesne hızını nasıl tahmin edebilirim?
Ultralytics YOLO11 ile nesne hızını tahmin etmek, nesne algılama ve izleme tekniklerini birleştirmeyi içerir. Öncelikle, YOLO11 modelini kullanarak her karedeki nesneleri tespit etmeniz gerekir. Ardından, zaman içindeki hareketlerini hesaplamak için bu nesneleri kareler boyunca izleyin. Son olarak, hızını tahmin etmek için nesnenin kareler arasında kat ettiği mesafeyi ve kare hızını kullanın.
Ö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(
region=[(0, 360), (1280, 360)],
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 gönderimize bakın.
Trafik yönetiminde hız tahmini için Ultralytics YOLO11 adresini kullanmanın faydaları nelerdir?
Hız tahmini için Ultralytics YOLO11 adresinin kullanılması trafik yönetiminde önemli avantajlar sunmaktadır:
- 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ığını etkin bir şekilde izlemek için YOLO11'un gerçek zamanlı nesne algılama özelliğinden yararlanın.
- Ölçeklenebilirlik: Modeli uç cihazlardan sunuculara kadar çeşitli donanım kurulumlarına dağıtarak büyük ölçekli uygulamalar için esnek ve ölçeklenebilir çözümler sağlar.
Daha fazla uygulama için hız tahmininin avantajları bölümüne bakın.
YOLO11 gibi diğer yapay zeka çerçeveleri ile entegre edilebilir mi? TensorFlow veya PyTorch?
Evet, YOLO11 , TensorFlow ve PyTorch gibi diğer AI çerçeveleriyle entegre edilebilir. Ultralytics , YOLO11 modellerini aşağıdaki gibi çeşitli formatlara aktarmak için destek sağlar ONNX, TensorRTve CoreMLDiğer makine öğrenimi çerçeveleri ile sorunsuz birlikte çalışabilirlik sağlar.
Bir YOLO11 modelini ONNX formatına aktarmak için:
Dışa aktarma kılavuzumuzda modelleri dışa aktarma hakkında daha fazla bilgi edinin.
Ultralytics YOLO11 adresini kullanarak hız tahmini ne kadar doğrudur?
Ultralytics YOLO11 adresini kullanarak yapılan hız tahmininin doğruluğu, nesne takibinin kalitesi, videonun çözünürlüğü ve kare hızı ve çevresel değişkenler gibi çeşitli faktörlere bağlıdır. Hız tahmincisi güvenilir tahminler sağlarken, kare işleme hızı ve nesne tıkanıklığındaki farklılıklar nedeniyle %100 doğru olmayabilir.
Not: Her zaman hata payını göz önünde bulundurun ve mümkün olduğunda tahminleri yer gerçeği verileriyle doğrulayın.
Daha fazla doğruluk geliştirme ipucu için Argümanlar SpeedEstimator
bölüm.