Bằng cách nhấp vào “Chấp nhận tất cả Cookie”, bạn đồng ý với việc lưu trữ cookie trên thiết bị của mình để tăng cường khả năng điều hướng trang web, phân tích việc sử dụng trang web và hỗ trợ các nỗ lực tiếp thị của chúng tôi. Thêm thông tin
Cài đặt Cookie
Bằng cách nhấp vào “Chấp nhận tất cả Cookie”, bạn đồng ý với việc lưu trữ cookie trên thiết bị của mình để tăng cường khả năng điều hướng trang web, phân tích việc sử dụng trang web và hỗ trợ các nỗ lực tiếp thị của chúng tôi. Thêm thông tin
Khám phá cách Ultralytics YOLOv8 Mô hình này có thể được sử dụng để ước tính tốc độ trong các dự án thị giác máy tính của bạn. Hãy tự mình thử nghiệm với một ví dụ mã hóa đơn giản.
Có lẽ tất cả chúng ta đều đã thấy biển báo giới hạn tốc độ trên đường. Một số người trong chúng ta 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ể gắn cờ các vi phạm tốc độ một cách tự động nhờ computer vision. Các cảnh quay thời gian thực được ghi lại bởi camera tại đèn đường và trên đường cao tốc đượ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 an toàn đường bộ. 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 tôi sẽ thảo luận về cách bạn có thể sử dụng mô hình Ultralytics YOLOv8 để ước tính tốc độ trong các dự án thị giác máy tính của mình. Chúng tôi cũng sẽ hướng dẫn từng bước qua một ví dụ mã hóa để bạn có thể tự mình trải nghiệm. Hãy bắt đầu thôi!
Ướ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 chết hàng năm do tai nạn giao thông đường bộ do chạy quá tốc độ. Ngoài ra, có thêm 20 đến 50 triệu người bị thương không gây tử vong, trong đó nhiều người dẫn đến tàn tật. Tầm quan trọng của an ninh giao thông là không thể phủ nhận, đặc biệt khi ước tính tốc độ giúp ngăn ngừa tai nạn, cứu sống và giữ cho đường xá của chúng ta an toàn và hiệu quả.
Ước tính tốc độ bằng công nghệ thị giác máy tính bao gồm việc phát hiện và theo dõi các đối tượng trong khung hình video để tính toán tốc độ di chuyển của chúng. Các thuật toán như YOLOv8 có thể xác định và track Các vật thể như xe cộ di chuyển qua các khung hình liên tiếp. Hệ thống đo khoảng cách mà các vật thể này di chuyển bằng camera đã hiệu chuẩn hoặc các điểm tham chiếu để đo khoảng cách thực tế. Bằng cách tính thời gian vật thể di chuyển giữa hai điểm, hệ thống tính toán tốc độ của chúng dựa trên tỷ lệ khoảng cách-thời gian.
Hình 1. Ước tính tốc độ bằng cách sử dụng Ultralytics YOLOv8 Người mẫu
Ngoài việc bắt những người 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 tín hiệu và phân bổ nguồn lực. Thông tin chi tiết về các kiểu giao thông và nguyên nhân gây tắc nghẽn có thể được sử dụng để lên kế hoạch cho các con đường mới nhằm giảm tắc nghẽn giao thông.
Ứng dụng của ước tính tốc độ trong các ngành công nghiệp khác
Các ứng dụng ước tính tốc độ không chỉ giới hạn ở việc giám sát đường xá. Nó cũng có thể hữu ích để theo dõi hiệu suất của vận động viên, giúp xe tự hành hiểu được tốc độ của các vật thể di chuyển xung quanh chúng, phát hiện các hành vi đáng ngờ, v.v. Bất cứ nơi nào có thể sử dụng camera để đo tốc độ của một vật thể, thì đều có thể sử dụng ước tính tốc độ bằng thị giác máy tính.
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.
Tầm nhìn 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 track và các sự kiện thực địa.
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 và an toàn đô thị. Các 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.
Hệ thống giám sát hành vi động vật sử dụng ước tính tốc độ để track chuyển động của động vật và detect dấu hiệu của sự đau khổ hoặc bệnh tật.
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 Vision đang thay thế các phương pháp dựa trên cảm biến truyền thống vì độ chính xác, hiệu quả chi phí và tính linh hoạt được nâng cao của chúng. Không giống như các hệ thống dựa vào các cảm biến đắt tiền như LiDAR, thị giác máy tính sử dụng camera tiêu chuẩn để theo dõi và phân tích tốc độ trong thời gian thực. Các giải pháp thị giác máy tính để ướ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 một số tác vụ phức tạp như xác định loại xe và phân tích mô hình giao thông để cải thiện lưu lượng giao thông và an toàn tổng thể.
Hãy tự mình thử: Ước tính tốc độ bằng cách sử dụng YOLOv8
Bây giờ chúng ta đã 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 bạn có thể tích hợp ước tính tốc độ vào các dự án thị giác máy tính của mình thông qua mã . Chúng tôi sẽ detect các phương tiện di chuyển và ước tính tốc độ của chúng bằng cách sử dụng YOLOv8 người mẫu.
Ví dụ này sử dụng video quay cảnh xe cộ trên đường được tải xuống từ internet. Bạn có thể sử dụng cùng một video hoặc bất kỳ video nào có liên quan. YOLOv8 mô hình xác định tâm của từng xe và tính toán tốc độ của xe dựa trên tốc độ tâm này cắt qua đường ngang trong khung hình video.
Trước khi đi sâu vào chi tiết, điều quan trọng cần lưu ý là trong trường hợp này, phép tính khoảng cách chỉ mang tính gần đúng và dựa trên Khoảng cách Euclid. Hiệu chuẩn máy ảnh không được tính đến, do đó ướ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 GPU tốc độ của.
Bước 1: Chúng ta sẽ bắt đầu bằng cách cài đặt Ultralytics gói. Mở dấu nhắc lệnh hoặc terminal và chạy lệnh hiển thị bên dưới.
pip install ultralytics
Hãy xem hướng dẫn Cài đặt Ultralytics của chúng tôi để biết hướng dẫn từng bước và các phương pháp hay nhất về quy trình cài đặt. Nếu bạn gặp bất kỳ sự cố nào trong khi cài đặt các gói 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ó giải pháp và mẹo hữu ích.
Bước 2: Tiếp theo, chúng ta sẽ nhập các thư viện cần thiết. OpenCV thư viện sẽ giúp chúng tôi xử lý video.
import cv2
from ultralytics import YOLO, solutions
Bước 3: Sau đó, chúng ta có thể tải YOLOv8 mô hình và lấy tên của các lớp mà mô hình có thể detect .
model = YOLO("yolov8n.pt")
names = model.model.names
Bước 4: Trong bước này, chúng ta sẽ mở tệp video đầu vào bằng cách sử dụng OpenCV Mô-đun VideoCapture. Chúng tôi cũng sẽ trích xuất chiều rộng, chiều cao và số khung hình trên 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: Ở đây, chúng ta sẽ khởi tạo video writer để lưu kết quả cuối cùng của việc ước tính tốc độ. File video đầu ra sẽ được lưu dưới dạng “speed_estimation.avi”.
Bước 6: Tiếp theo, chúng ta có thể xác định các điểm đường thẳng để ước tính tốc độ. Đối với video đầu vào của chúng ta, đường thẳng này sẽ được đặt theo chiều ngang ở giữa khung hình. Bạn có thể thoải mái điều chỉnh các giá trị để đặt đường thẳng ở vị trí phù hợp nhất, tùy thuộc vào video đầu vào của bạn.
line_pts = [(0, 360), (1280, 360)]
Bước 7: Bây giờ, chúng ta có thể khởi tạo đối tượng ước tính tốc độ bằng cách sử dụng các điểm đường kẻ đã xác định và tên class.
Bước 8: Phần cốt lõi của tập lệnh xử lý video theo từng khung hình. Chúng tôi đọc từng khung hình và detect Và track các đối tượng. Tốc độ của các đối tượng được theo dõi được ước tính và khung hình được chú thích được ghi vào video đầu ra.
while cap.isOpened():
success, im0 = cap.read()
ifnot 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 ghi và chụp video và đóng bất kỳ OpenCV cửa sổ.
Bước 10: Lưu script của bạn. Nếu bạn đ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
Điều quan trọng nữa là phải hiểu những thách thức liên quan đến việc triển khai ước tính tốc độ bằng thị giác máy tính. Đ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 ra vấn đề cho hệ thống vì chúng có thể cản trở tầm nhìn đường. Tương tự, sự 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ó thực hiện ước tính tốc độ. track và ước tính chính xác tốc độ của xe mục tiêu. Điều kiện ánh sáng kém gây ra bóng đổ hoặc ánh sáng chói từ mặt trời cũng có thể làm phức tạp thêm nhiệm vụ ước tính tốc độ.
Một thách thức khác liên quan đến sức mạnh tính toán. Để ước tính tốc độ trong thời gian thực, chúng ta phải xử lý rất nhiều dữ liệu trực quan từ 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ý tất cả những điều này và đảm bảo mọi thứ hoạt động nhanh chóng mà không bị chậm trễ.
Sau đó, có vấn đề về quyền riêng tư. Dữ liệu được thu thập bởi các hệ thống này có thể bao gồm thông tin chi tiết về xe của một cá nhân như nhãn hiệu, kiểu máy và thông tin biển số xe, đượ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ể chụp ả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 nảy sinh các vấn đề đạo đức và pháp lý nghiêm trọng cần được xử lý hết sức cẩn thận.
Hướng tới tương lai với tốc độ
Việc sử dụng mô hình YOLOv8 Ultralytics để ướ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ù còn nhiều thách thức, chẳng hạn như độ chính xác trong điều kiện khắc nghiệt và giải quyết các vấn đề về quyền riêng tư, nhưng lợi ích mang lại rất đa dạng. Ước tính tốc độ bằng thị giác máy tính tiết kiệm chi phí, dễ thích ứng và chính xác hơn so với các phương pháp cũ. Nó 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ả những lợi ích và ứng dụng này, nó được kỳ vọng 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á kho lưu trữ GitHub của chúng tôi để tìm hiểu thêm về cách chúng tôi đang sử dụng AI để tạo ra các giải pháp sáng tạo trong các ngành khác nhau như chăm sóc sức khỏe và nông nghiệp. Hãy hợp tác, đổi mới và học hỏi cùng chúng tôi! 🚀