Ultralytics YOLO27:
Ultralytics YOLO

Ultralytics YOLOv8 để ước tính tốc độ trong các dự án computer vision

Khám phá cách sử dụng model Ultralytics YOLOv8 để ước tính tốc độ trong các dự án computer vision của bạn. Tự mình thử nghiệm với một ví dụ code đơn giản.

ABAbirami Vina11 min read
Ultralytics YOLOv8 để ước tính tốc độ trong các dự án computer vision

Có lẽ tất cả chúng ta đều đã nhìn thấy các biển báo giới hạn tốc độ trên đường. Một số người thậm chí có thể đã nhận được thông báo vi phạm giới hạn tốc độ tự động qua đường bưu điện hoặc email. Các hệ thống quản lý giao thông bằng trí tuệ nhân tạo (AI) có thể tự động phát hiện hành vi chạy quá tốc độ nhờ thị giác máy tính. Video thời gian thực được camera tại các cột đèn đường và trên đường cao tốc ghi lại được sử dụng để ước tính tốc độ và tăng cường an toàn đường bộ.

Ước tính tốc độ không chỉ giới hạn trong việc đảm bảo an toàn trên đường cao tốc. Công nghệ này còn có thể được sử dụng trong thể thao, xe tự hành và nhiều ứng dụng khác. Trong bài viết này, chúng ta sẽ thảo luận cách sử dụng model Ultralytics YOLOv8 để ước tính tốc độ trong các dự án thị giác máy tính. Chúng ta cũng sẽ thực hiện từng bước một ví dụ lập trình để bạn có thể tự mình thử nghiệm. Hãy bắt đầu!

Ước tính tốc độ giúp quản lý giao thông dễ dàng hơn#

Theo Tổ chức Y tế Thế giới (WHO), khoảng 1,19 triệu người tử vong mỗi năm do tai nạn giao thông đường bộ vì chạy quá tốc độ. Ngoài ra, 20 đến 50 triệu người khác bị thương không tử vong, trong đó nhiều trường hợp dẫn đến khuyết tật. Không thể xem nhẹ tầm quan trọng của an toàn giao thông, đặc biệt khi ước tính tốc độ giúp ngăn ngừa tai nạn, cứu sống nhiều người và duy trì sự an toàn, hiệu quả cho đường sá.

Ước tính tốc độ bằng thị giác máy tính bao gồm việc phát hiệntheo dõi các đối tượng trong từng khung hình video để tính tốc độ di chuyển của chúng. Các thuật toán như Ultralytics YOLOv8 có thể xác định và theo dõi các đối tượng như phương tiện qua những khung hình liên tiếp. Hệ thống đo khoảng cách mà các đối tượng di chuyển bằng camera đã hiệu chuẩn hoặc các điểm tham chiếu để ước lượng khoảng cách trong thế giới thực. Bằng cách đo thời gian đối tượng di chuyển giữa hai điểm, hệ thống tính tốc độ dựa trên tỷ số giữa quãng đường và thời gian.

Ước tính tốc độ bằng model Ultralytics YOLOv8

Hình 1. Ước tính tốc độ bằng model Ultralytics YOLOv8.

Ngoài việc phát hiện các phương tiện chạy quá tốc độ, các hệ thống ước tính tốc độ tích hợp AI có thể thu thập dữ liệu để đưa ra dự đoán về giao thông. Những dự đoán này có thể hỗ trợ các tác vụ quản lý giao thông như tối ưu hóa thời gian đèn tín hiệu và phân bổ tài nguyên. Thông tin chi tiết về các mô hình giao thông và nguyên nhân gây ùn tắc có thể được sử dụng để quy hoạch các tuyến đường mới nhằm giảm ùn tắc.

Ứng dụng của ước tính tốc độ trong các ngành khác#

Ứng dụng ước tính tốc độ không chỉ giới hạn ở việc giám sát đường sá. Công nghệ này cũng hữu ích trong việc theo dõi hiệu suất vận động viên, giúp xe tự hành hiểu tốc độ của các đối tượng chuyển động xung quanh, phát hiện hành vi đáng ngờ, v.v. Bất cứ nơi nào camera có thể được sử dụng để đo tốc độ của một đối tượng, ước tính tốc độ bằng thị giác máy tính đều có thể được áp dụng.

Dưới đây là một số ví dụ về nơi ước tính tốc độ đang được sử dụng:

  • Xe tự hành của Tesla sử dụng ước tính tốc độ dựa trên thị giác để tránh va chạm.
  • Thị giác máy tính và ước tính tốc độ sẽ được sử dụng tại Thế vận hội Olympic 2024 để cải thiện phân tích hiệu suất trong các nội dung điền kinh.
  • Các thành phố thông minh đang nghiên cứu phân tích dáng đi của người đi bộ để theo dõi tốc độ đi bộ và tăng cường khả năng di chuyển cũng như an toàn trong đô thị. Những hệ thống này có thể cảnh báo người lái xe về sự hiện diện của người đi bộ và ngăn ngừa tai nạn.
  • Các hệ thống theo dõi hành vi động vật sử dụng ước tính tốc độ để theo dõi chuyển động của động vật và phát hiện dấu hiệu căng thẳng hoặc bệnh tật.

Ước tính tốc độ đo tốc độ đi bộ của một người

Hình 2. Ước tính tốc độ có thể đo tốc độ đi bộ của một người.

Lợi ích của việc ước tính tốc độ bằng thị giác máy tính#

Các hệ thống ước tính tốc độ dựa trên thị giác đang thay thế các phương pháp truyền thống dựa trên cảm biến nhờ độ chính xác, hiệu quả chi phí và tính linh hoạt cao hơn. Không giống các hệ thống phụ thuộc vào những cảm biến đắt tiền như LiDAR, thị giác máy tính sử dụng camera tiêu chuẩn để giám sát và phân tích tốc độ theo thời gian thực. Các giải pháp thị giác máy tính cho việc ước tính tốc độ có thể được tích hợp liền mạch với cơ sở hạ tầng giao thông hiện có. Ngoài ra, các hệ thống này có thể được xây dựng để thực hiện nhiều tác vụ phức tạp như nhận dạng loại phương tiện và phân tích mô hình giao thông nhằm cải thiện lưu lượng cũng như an toàn giao thông tổng thể.

Tự mình thử nghiệm: Ước tính tốc độ bằng Ultralytics YOLOv8#

Giờ đây, khi đã hiểu rõ về ước tính tốc độ và các ứng dụng của nó, hãy cùng xem xét kỹ hơn cách tích hợp ước tính tốc độ vào các dự án thị giác máy tính thông qua code. Chúng ta sẽ phát hiện các phương tiện đang di chuyển và ước tính tốc độ của chúng bằng model Ultralytics YOLOv8.

Ví dụ này sử dụng video về các xe ô tô trên đường được tải xuống từ Internet. Bạn có thể sử dụng cùng video đó hoặc bất kỳ video phù hợp nào khác. Model Ultralytics YOLOv8 xác định tâm của từng phương tiện và tính tốc độ dựa trên mức độ nhanh mà tâm này đi qua một đường ngang trong khung hình video.

Trước khi bắt đầu, cần lưu ý rằng trong trường hợp này, phép tính khoảng cách chỉ mang tính xấp xỉ và dựa trên Khoảng cách Euclid. Việc hiệu chuẩn camera không được tính đến, vì vậy kết quả ước tính tốc độ có thể không hoàn toàn chính xác. Ngoài ra, tốc độ ước tính có thể thay đổi tùy thuộc vào tốc độ GPU của bạn.

Bước 1: Trước tiên, chúng ta sẽ cài đặt package Ultralytics. Mở command prompt hoặc terminal và chạy lệnh bên dưới.

pip install ultralytics

Hãy xem hướng dẫn Cài đặt Ultralytics để biết hướng dẫn từng bước và các phương pháp hay nhất trong quá trình cài đặt. Nếu gặp vấn đề khi cài đặt các package cần thiết cho YOLOv8, hướng dẫn Các vấn đề thường gặp của chúng tôi có các giải pháp và mẹo hữu ích.

Bước 2: Tiếp theo, chúng ta sẽ import các thư viện cần thiết. Thư viện OpenCV sẽ giúp xử lý video.

import cv2
from ultralytics import YOLO, solutions

Bước 3: Sau đó, chúng ta có thể load model Ultralytics YOLOv8 và lấy tên các class mà model có thể phát hiện.

model = YOLO("yolov8n.pt")
names = model.model.names

Xem tất cả model được chúng tôi hỗ trợ để hiểu model nào phù hợp nhất với dự án của bạn.

Bước 4: Trong bước này, chúng ta sẽ mở file video đầu vào bằng module VideoCapture của OpenCV. Chúng ta cũng sẽ trích xuất chiều rộng, chiều cao và số khung hình mỗi giây (fps) của video.

cap = cv2.VideoCapture("path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

Bước 5: Tại đây, chúng ta sẽ khởi tạo video writer để lưu kết quả ước tính tốc độ cuối cùng. File video đầu ra sẽ được lưu dưới tên “speed_estimation.avi”.

video_writer = cv2.VideoWriter("speed_estimation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

Bước 6: Tiếp theo, chúng ta có thể xác định các điểm của đường dùng để ước tính tốc độ. Với video đầu vào, đường này sẽ được đặt theo chiều ngang ở giữa khung hình. Bạn có thể tùy chỉnh các giá trị để đặt đường ở vị trí phù hợp nhất, tùy thuộc vào video đầu vào.

line_pts = [(0, 360), (1280, 360)]

Bước 7: Giờ đây, chúng ta có thể khởi tạo đối tượng ước tính tốc độ bằng các điểm đường và tên class đã xác định.

speed_obj = solutions.SpeedEstimator(
    reg_pts=line_pts,
    names=names,
    view_img=True,
)

Bước 8: Phần cốt lõi của script xử lý video theo từng khung hình. Chúng ta đọc từng khung hình, đồng thời phát hiện và theo dõi các đối tượng. Tốc độ của các đối tượng được theo dõi sẽ được ước tính, và khung hình đã chú thích sẽ được ghi vào video đầu ra.

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    tracks = model.track(im0, persist=True, show=False)
    im0 = speed_obj.estimate_speed(im0, tracks)
    video_writer.write(im0)

Bước 9: Cuối cùng, chúng ta giải phóng các đối tượng video capture và writer, đồng thời đóng mọi cửa sổ OpenCV.

cap.release()
video_writer.release()
cv2.destroyAllWindows()

Bước 10: Lưu script của bạn. Nếu đang làm việc từ terminal hoặc command prompt, hãy chạy script bằng lệnh sau:

python your_script_name.py

Những thách thức của việc ước tính tốc độ dựa trên thị giác#

Việc hiểu rõ những thách thức khi triển khai ước tính tốc độ bằng thị giác máy tính cũng rất quan trọng. Các điều kiện thời tiết bất lợi như mưa, sương mù hoặc tuyết có thể gây vấn đề cho hệ thống vì làm cản trở tầm nhìn trên đường. Tương tự, hiện tượng che khuất do các phương tiện hoặc vật thể khác gây ra có thể khiến các hệ thống này khó theo dõi và ước tính chính xác tốc độ của phương tiện mục tiêu. Điều kiện ánh sáng kém gây ra bóng hoặc hiện tượng chói do ánh nắng mặt trời cũng có thể làm nhiệm vụ ước tính tốc độ trở nên phức tạp hơn.

Một thách thức khác liên quan đến năng lực tính toán. Để ước tính tốc độ theo thời gian thực, chúng ta phải xử lý lượng lớn dữ liệu hình ảnh từ các camera giao thông chất lượng cao. Giải pháp của bạn có thể yêu cầu phần cứng đắt tiền để xử lý toàn bộ dữ liệu này và đảm bảo mọi thứ hoạt động nhanh chóng mà không bị trễ.

Tiếp đó là vấn đề quyền riêng tư. Dữ liệu do các hệ thống này thu thập có thể bao gồm thông tin về phương tiện của một cá nhân như hãng xe, model và biển số, được thu thập mà không có sự đồng ý của họ. Một số camera HD hiện đại thậm chí có thể ghi lại hình ảnh những người ngồi bên trong xe. Việc thu thập dữ liệu như vậy có thể làm phát sinh các vấn đề nghiêm trọng về đạo đức và pháp lý, cần được xử lý hết sức cẩn trọng.

Tăng tốc hướng tới tương lai#

Sử dụng model Ultralytics YOLOv8 để ước tính tốc độ mang lại một giải pháp linh hoạt và hiệu quả cho nhiều mục đích sử dụng. Mặc dù vẫn có những thách thức như độ chính xác trong điều kiện khắc nghiệt và việc giải quyết các vấn đề về quyền riêng tư, những lợi ích mà công nghệ này mang lại là rất đa dạng. Ước tính tốc độ hỗ trợ bởi thị giác máy tính có hiệu quả chi phí, khả năng thích ứng và độ chính xác cao hơn so với các phương pháp cũ. Công nghệ này hữu ích trong nhiều lĩnh vực như giao thông vận tải, thể thao, giám sát và xe tự lái. Với tất cả lợi ích và ứng dụng đó, công nghệ này chắc chắn sẽ trở thành một phần quan trọng của các hệ thống thông minh trong tương lai.

Bạn quan tâm đến AI? Hãy kết nối với cộng đồng của chúng tôi! Khám phá repository GitHub để tìm hiểu thêm về cách chúng tôi sử dụng AI nhằm tạo ra các giải pháp đổi mới trong nhiều ngành như chăm sóc sức khỏenông nghiệp. Hãy cùng chúng tôi hợp tác, đổi mới và học hỏi! 🚀

Explore solutions

Thị giác máy tính cho hình ảnh trên không

Thị giác máy tính cho hình ảnh trên không

Biến đổi hình ảnh từ máyδ bay không người lái và ảnh chụp trên không thành thông tin chi tiết thời gian thực cho nông nghiệp, nuôi trồng thủy sản, giám sát môi trường, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Mang thị giác AI đến với hoạt động giám sát trên không bằng các model Ultralytics YOLO. Cung cấp sức mạnh cho máy bay không người lái, quy trình hàng không vũ trụ, bảo tồn môi trường & ngành công nghiệp địa không gian với các giải pháp thị giác máy tính.
Tìm hiểu thêm

Bảo vệ mọi địa điểm bằng các model Ultralytics YOLO. Thị giác AI cung cấp sức mạnh cho việc giám sát chu vi, phát hiện mối đe dọa, nhận diện biển số xe và an toàn nơi làm việc.
Tìm hiểu thêm
Thị giác máy tính trong robotics

Thị giác máy tính trong robotics

Nâng cao năng lực cho máy móc thông minh hơn với các model Ultralytics YOLO. Vision AI trong robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh gọn logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại ngành bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ tracking hàng tồn kho, giám sát kệ hàng, quản lý hàng đợi và cung cấp insight khách hàng thông minh hơn.
Tìm hiểu thêm
Computer vision trong healthcare

Computer vision trong healthcare

Xây dựng các giải pháp healthcare với các model Ultralytics YOLO. Vision AI trong healthcare thúc đẩy chẩn đoán hình ảnh nhanh hơn, chẩn đoán thông minh hơn và giám sát bệnh nhân.
Tìm hiểu thêm
Computer vision trong sản xuất

Computer vision trong sản xuất

Tối ưu hóa sản xuất với các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Computer vision trong ngành ô tô

Computer vision trong ngành ô tô

Ứng dụng computer vision trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn đường bộ, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Computer vision trong nông nghiệp

Computer vision trong nông nghiệp

Đưa vision AI vào nông nghiệp thông minh với các model Ultralytics YOLO. Thúc đẩy giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để đạt năng suất cao hơn, thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính cho hình ảnh trên không

Thị giác máy tính cho hình ảnh trên không

Biến đổi hình ảnh từ máyδ bay không người lái và ảnh chụp trên không thành thông tin chi tiết thời gian thực cho nông nghiệp, nuôi trồng thủy sản, giám sát môi trường, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Mang thị giác AI đến với hoạt động giám sát trên không bằng các model Ultralytics YOLO. Cung cấp sức mạnh cho máy bay không người lái, quy trình hàng không vũ trụ, bảo tồn môi trường & ngành công nghiệp địa không gian với các giải pháp thị giác máy tính.
Tìm hiểu thêm

Bảo vệ mọi địa điểm bằng các model Ultralytics YOLO. Thị giác AI cung cấp sức mạnh cho việc giám sát chu vi, phát hiện mối đe dọa, nhận diện biển số xe và an toàn nơi làm việc.
Tìm hiểu thêm
Thị giác máy tính trong robotics

Thị giác máy tính trong robotics

Nâng cao năng lực cho máy móc thông minh hơn với các model Ultralytics YOLO. Vision AI trong robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh gọn logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại ngành bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ tracking hàng tồn kho, giám sát kệ hàng, quản lý hàng đợi và cung cấp insight khách hàng thông minh hơn.
Tìm hiểu thêm
Computer vision trong healthcare

Computer vision trong healthcare

Xây dựng các giải pháp healthcare với các model Ultralytics YOLO. Vision AI trong healthcare thúc đẩy chẩn đoán hình ảnh nhanh hơn, chẩn đoán thông minh hơn và giám sát bệnh nhân.
Tìm hiểu thêm
Computer vision trong sản xuất

Computer vision trong sản xuất

Tối ưu hóa sản xuất với các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Computer vision trong ngành ô tô

Computer vision trong ngành ô tô

Ứng dụng computer vision trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn đường bộ, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Computer vision trong nông nghiệp

Computer vision trong nông nghiệp

Đưa vision AI vào nông nghiệp thông minh với các model Ultralytics YOLO. Thúc đẩy giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để đạt năng suất cao hơn, thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính cho hình ảnh trên không

Thị giác máy tính cho hình ảnh trên không

Biến đổi hình ảnh từ máyδ bay không người lái và ảnh chụp trên không thành thông tin chi tiết thời gian thực cho nông nghiệp, nuôi trồng thủy sản, giám sát môi trường, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Mang thị giác AI đến với hoạt động giám sát trên không bằng các model Ultralytics YOLO. Cung cấp sức mạnh cho máy bay không người lái, quy trình hàng không vũ trụ, bảo tồn môi trường & ngành công nghiệp địa không gian với các giải pháp thị giác máy tính.
Tìm hiểu thêm

Bảo vệ mọi địa điểm bằng các model Ultralytics YOLO. Thị giác AI cung cấp sức mạnh cho việc giám sát chu vi, phát hiện mối đe dọa, nhận diện biển số xe và an toàn nơi làm việc.
Tìm hiểu thêm
Thị giác máy tính trong robotics

Thị giác máy tính trong robotics

Nâng cao năng lực cho máy móc thông minh hơn với các model Ultralytics YOLO. Vision AI trong robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh gọn logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại ngành bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ tracking hàng tồn kho, giám sát kệ hàng, quản lý hàng đợi và cung cấp insight khách hàng thông minh hơn.
Tìm hiểu thêm
Computer vision trong healthcare

Computer vision trong healthcare

Xây dựng các giải pháp healthcare với các model Ultralytics YOLO. Vision AI trong healthcare thúc đẩy chẩn đoán hình ảnh nhanh hơn, chẩn đoán thông minh hơn và giám sát bệnh nhân.
Tìm hiểu thêm
Computer vision trong sản xuất

Computer vision trong sản xuất

Tối ưu hóa sản xuất với các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Computer vision trong ngành ô tô

Computer vision trong ngành ô tô

Ứng dụng computer vision trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn đường bộ, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Computer vision trong nông nghiệp

Computer vision trong nông nghiệp

Đưa vision AI vào nông nghiệp thông minh với các model Ultralytics YOLO. Thúc đẩy giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để đạt năng suất cao hơn, thông minh hơn.
Tìm hiểu thêm

Hãy cùng xây dựng tương lai của AI!

Bắt đầu hành trình của bạn với tương lai của machine learning