Ước tính tốc độ sử dụng Ultralytics YOLO26 🚀

Ước tính tốc độ là gì?

Ước tính tốc độ là quá trình tính toán tốc độ di chuyển của một đối tượng trong một bối cảnh nhất định, thường được sử dụng trong các ứng dụng computer vision. Sử dụng Ultralytics YOLO26, giờ đây bạn có thể tính toán tốc độ của đối tượng bằng cách sử dụng object tracking kết hợp với dữ liệu khoảng cách và thời gian, điều này rất quan trọng cho các tác vụ như giám sát giao thông và an ninh. Độ chính xác của việc ước tính tốc độ ảnh hưởng trực tiếp đến hiệu quả và độ tin cậy của nhiều ứng dụng, khiến nó trở thành thành phần quan trọng trong việc phát triển các hệ thống thông minh và quy trình ra quyết định thời gian thực.



Watch: Speed Estimation using Ultralytics YOLO26
Xem blog của chúng tôi

Để có hiểu biết sâu hơn về ước tính tốc độ, hãy xem bài đăng trên blog của chúng tôi: Ultralytics YOLO for Speed Estimation in Computer Vision Projects

Ưu điểm của ước tính tốc độ

  • Kiểm soát giao thông hiệu quả: Ước tính tốc độ chính xác giúp quản lý luồng giao thông, tăng cường an toàn và giảm ùn tắc trên đường bộ.
  • Điều hướng tự hành chính xác: Trong các hệ thống tự hành như self-driving cars, việc ước tính tốc độ đáng tin cậy đảm bảo việc điều hướng phương tiện an toàn và chính xác.
  • Tăng cường an ninh giám sát: Ước tính tốc độ trong phân tích giám sát giúp xác định các hành vi bất thường hoặc các mối đe dọa tiềm ẩn, cải thiện hiệu quả của các biện pháp an ninh.

Ứng dụng trong thế giới thực

Giao thôngGiao thông
Speed Estimation on Road using Ultralytics YOLO26Speed Estimation on Bridge using Ultralytics YOLO26
Ước tính tốc độ trên đường bằng Ultralytics YOLO26Ước tính tốc độ trên cầu bằng Ultralytics YOLO26
Tốc độ chỉ là ước tính

Tốc độ sẽ là một ước tính và có thể không hoàn toàn chính xác. Ngoài ra, việc ước tính có thể thay đổi tùy thuộc vào thông số kỹ thuật của camera và các yếu tố liên quan.

Ước tính tốc độ sử dụng Ultralytics YOLO
# 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

Các đối số của SpeedEstimator

Dưới đây là bảng các đối số của SpeedEstimator:

Đối sốLoạiMặc địnhMô tả
modelstrNoneĐường dẫn đến một file model Ultralytics YOLO.
fpsfloat30.0Số khung hình trên giây được sử dụng để tính toán tốc độ.
max_histint5Số điểm lịch sử tối đa cần theo dõi trên mỗi đối tượng để tính toán tốc độ/hướng.
meter_per_pixelfloat0.05Hệ số tỷ lệ được sử dụng để chuyển đổi khoảng cách pixel sang đơn vị thực tế.
max_speedint120Giới hạn tốc độ tối đa trong các lớp phủ hình ảnh (được sử dụng trong cảnh báo).

Giải pháp SpeedEstimator cho phép sử dụng các tham số track:

Đối sốLoạiMặc địnhMô tả
trackerstr'botsort.yaml'Chỉ định thuật toán theo dõi cần sử dụng, ví dụ: bytetrack.yaml hoặc botsort.yaml.
conffloat0.1Đặt ngưỡng tin cậy cho các phát hiện; các giá trị thấp hơn cho phép theo dõi nhiều đối tượng hơn nhưng có thể bao gồm cả các kết quả dương tính giả.
ioufloat0.7Đặt ngưỡng Intersection over Union (IoU) để lọc các phát hiện chồng lấp.
classeslistNoneLọc kết quả theo chỉ số lớp. Ví dụ: classes=[0, 2, 3] chỉ theo dõi các lớp được chỉ định.
verboseboolTrueKiểm soát việc hiển thị các kết quả theo dõi, cung cấp đầu ra trực quan của các đối tượng được theo dõi.
devicestrNoneChỉ định thiết bị thực hiện suy luận (ví dụ: cpu, cuda:0 hoặc 0). Cho phép người dùng chọn giữa CPU, một GPU cụ thể hoặc các thiết bị tính toán khác để chạy model.

Ngoài ra, các tùy chọn trực quan hóa sau đây được hỗ trợ:

Đối sốLoạiMặc địnhMô tả
showboolFalseNếu True, hiển thị các ảnh hoặc video đã được chú thích trong một cửa sổ. Hữu ích để có phản hồi trực quan ngay lập tức trong quá trình phát triển hoặc thử nghiệm.
line_widthint or NoneNoneChỉ định độ dày đường kẻ của khung bao. Nếu là None, độ dày đường kẻ sẽ tự động được điều chỉnh dựa trên kích thước ảnh. Cung cấp khả năng tùy chỉnh trực quan để đảm bảo độ rõ nét.
show_confboolTrueHiển thị điểm tin cậy cho mỗi kết quả phát hiện bên cạnh nhãn. Cung cấp cái nhìn sâu sắc về độ chắc chắn của model cho mỗi kết quả phát hiện.
show_labelsboolTrueHiển thị nhãn cho mỗi kết quả phát hiện trong đầu ra trực quan. Cung cấp hiểu biết ngay lập tức về các đối tượng được phát hiện.

Câu hỏi thường gặp (FAQ)

Làm thế nào để ước tính tốc độ đối tượng bằng Ultralytics YOLO26?

Ước tính tốc độ đối tượng với Ultralytics YOLO26 liên quan đến việc kết hợp các kỹ thuật object detection và theo dõi. Đầu tiên, bạn cần phát hiện các đối tượng trong mỗi khung hình bằng mô hình YOLO26. Sau đó, theo dõi các đối tượng này qua các khung hình để tính toán chuyển động của chúng theo thời gian. Cuối cùng, sử dụng khoảng cách mà đối tượng đã di chuyển giữa các khung hình và tốc độ khung hình để ước tính tốc độ của nó.

Ví dụ:

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()

Để biết thêm chi tiết, hãy tham khảo bài đăng trên blog chính thức của chúng tôi.

Việc sử dụng Ultralytics YOLO26 để ước tính tốc độ trong quản lý giao thông có những lợi ích gì?

Sử dụng Ultralytics YOLO26 để ước tính tốc độ mang lại những ưu điểm đáng kể trong quản lý giao thông:

  • Tăng cường an toàn: Ước tính chính xác tốc độ phương tiện để phát hiện việc chạy quá tốc độ và cải thiện an toàn đường bộ.
  • Giám sát thời gian thực: Tận dụng khả năng phát hiện đối tượng thời gian thực của YOLO26 để theo dõi luồng giao thông và tình trạng tắc nghẽn một cách hiệu quả.
  • Khả năng mở rộng: Triển khai mô hình trên nhiều thiết lập phần cứng khác nhau, từ edge devices đến máy chủ, đảm bảo các giải pháp linh hoạt và có khả năng mở rộng cho các triển khai quy mô lớn.

Để xem thêm các ứng dụng khác, hãy xem ưu điểm của ước tính tốc độ.

YOLO26 có thể được tích hợp với các AI framework khác như TensorFlow hoặc PyTorch không?

Có, YOLO26 có thể được tích hợp với các AI framework khác như TensorFlow và PyTorch. Ultralytics cung cấp hỗ trợ xuất mô hình YOLO26 sang nhiều định dạng khác nhau như ONNX, TensorRTCoreML, đảm bảo khả năng tương tác mượt mà với các ML framework khác.

Để xuất mô hình YOLO26 sang định dạng ONNX:

yolo export model=yolo26n.pt format=onnx

Tìm hiểu thêm về việc xuất mô hình trong hướng dẫn xuất của chúng tôi.

Việc ước tính tốc độ sử dụng Ultralytics YOLO26 có chính xác không?

Độ accuracy của việc ước tính tốc độ sử dụng Ultralytics YOLO26 phụ thuộc vào một số yếu tố, bao gồm chất lượng theo dõi đối tượng, độ phân giải và tốc độ khung hình của video, cùng với các biến môi trường. Mặc dù bộ ước tính tốc độ cung cấp các ước tính đáng tin cậy, nhưng nó có thể không chính xác 100% do sự thay đổi trong tốc độ xử lý khung hình và hiện tượng che khuất đối tượng.

Lưu ý: Luôn cân nhắc biên độ sai số và xác thực các ước tính bằng dữ liệu ground truth khi có thể.

Để biết thêm các mẹo cải thiện độ chính xác, hãy xem phần các đối số SpeedEstimator.

Bình luận