Khám phá cách thức Ultralytics YOLOv8 mô hình 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 đường giới hạn tốc độ. 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. Hệ thống quản lý giao thông trí tuệ nhân tạo (AI) có thể tự động gắn cờ vi phạm tốc độ nhờ thị giác máy tính. 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à củng cố an toàn đường bộ.
Ước tính tốc độ không chỉ giới hạn ở an toàn đường cao tố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 tôi sẽ thảo luận về cách bạn có thể sử dụng Ultralytics YOLOv8 Mô hình ước tính tốc độ trong các dự án thị giác máy tính của bạn. Chúng tôi cũng sẽ hướng dẫn từng bước thông qua một ví dụ mã hóa để bạn có thể tự mình thử. Bắt đầu nào!
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, 20 đến 50 triệu người khác bị thương tích không gây tử vong, trong đó nhiều người dẫn đến khuyết tật. Tầm quan trọng của an ninh giao thông không thể được phóng đại, đặc biệt là khi ước tính tốc độ giúp ngăn ngừa tai nạn, cứu sống và giữ cho đường của chúng ta an toàn và hiệu quả.
Ước tính tốc độ bằng cách sử dụng thị giác máy tính liên quan đến 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à theo dõi các đối tượng như xe cộ trên các khung hình liên tiếp. Hệ thống đo khoảng cách các vật thể này di chuyển bằng cách sử dụng máy ảnh hiệu chỉnh hoặc điểm tham chiếu để đo khoảng cách trong thế giới thực. Bằng cách tính thời gian cần thiết để các vật thể di chuyển giữa hai điểm, hệ thống tính toán tốc độ của chúng bằng cách sử dụng tỷ lệ khoảng cách-thời gian.
Ngoài việc bắt 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ề lưu lượng truy cập. Những dự đoán này có thể hỗ trợ các nhiệm vụ quản lý lưu lượng như tối ưu hóa thời gian tín hiệu và phân bổ tài nguyên. Thông tin chi tiết về mô hình giao thông và nguyên nhân tắc nghẽn có thể được sử dụng để lập kế hoạch cho những con đường mới nhằm giảm tắc nghẽn giao thông.
Các ứng dụng ước tính tốc độ vượt ra ngoài việc giám sát đường. Nó cũng có thể hữu ích để theo dõi hiệu suất của vận động viên, giúp các phương tiện tự trị hiểu được tốc độ của các vật thể di chuyển xung quanh chúng, phát hiện hành vi đáng ngờ, v.v. Bất cứ nơi nào một máy ảnh có thể được sử dụng để đo tốc độ của một đối tượng, ước tính tốc độ bằng cách sử dụng thị giác máy tính có thể được sử dụng.
Dưới đây là một số ví dụ về nơi ước tính tốc độ đang được sử dụng:
Các hệ thống ước tính tốc độ dựa trên tầm nhìn đ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. Không giống như các hệ thống dựa trên 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ố nhiệm vụ phức tạp như nhận dạng 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 tổng thể và an toàn.
Bây giờ chúng ta đã hiểu rõ về ước tính tốc độ và các ứng dụng của nó, chúng ta hãy 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ẽ 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 cách sử dụng YOLOv8 mẫu.
Ví dụ này sử dụng video về ô tô 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. Các YOLOv8 Model xác định tâm của mỗi chiếc xe và tính toán tốc độ của nó dựa trên tốc độ trung tâm này vượt qua một đường ngang trong khung video.
Trước khi chúng ta đi sâu vào, điều quan trọng cần lưu ý là, trong trường hợp này, tính toán khoảng cách là 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, và 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 GPUTốc độ của nó.
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 thiết bị đầu cuối của bạn và chạy lệnh được hiển thị bên dưới.
Hãy xem Ultralytics Hướng dẫn cài đặt để 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 phải 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ó 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 chúng ta xử lý xử lý video.
Bước 3: Sau đó, chúng ta có thể tải YOLOv8 Mô hình hóa và truy xuất tên của các lớp mà mô hình có thể phát hiện.
Kiểm tra tất cả các mô hình chúng tôi hỗ trợ để hiểu mô hình 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ở tệp video đầu vào bằng mô-đun VideoCapture của OpenCV. Chúng tôi cũng sẽ trích xuất chiều rộng, chiều cao và khung hình mỗi giây (fps) của video.
Bước 5: Ở đây, chúng tôi sẽ khởi tạo trình viết video để lưu kết quả cuối cùng của chúng tôi về ước tính tốc độ. Tệp 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 để ước tính tốc độ. Đối với video đầu vào của chúng tôi, dòng này sẽ được đặt theo chiều ngang ở giữa khung. Hãy thoải mái chơi xung quanh với các giá trị để đặt dòng ở các vị trí phù hợp nhất, tùy thuộc vào video đầu vào của bạn.
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 dòng và tên lớp đã xác định.
Bước 8: Cốt lõi của kịch bản xử lý từng khung hình video. Chúng tôi đọc từng khung hình và 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 được ước tính và khung chú thích được ghi vào video đầu ra.
Bước 9: Cuối cùng, chúng tôi phát hành các đối tượng quay và ghi video và đóng bất kỳ cửa sổ OpenCV nào.
Bước 10: Lưu tập lệnh của bạn. Nếu bạn đang làm việc từ thiết bị đầu cuối hoặc dấu nhắc lệnh, hãy chạy tập lệnh bằng lệnh sau:
Nếu mã của bạn được thực thi thành công, tệp video đầu ra của bạn sẽ trông như thế này.
Nó cũng quan trọng để hiểu những thách thức liên quan đến việc thực hiện ước tính tốc độ bằng cách sử dụng thị giác máy tính. Điều kiện thời tiết không thuận lợi như mưa, sương mù hoặc tuyết có thể gây ra sự cố cho hệ thống vì chúng có thể cản trở tầm nhìn của đường. Tương tự, tắc nghẽn gây ra bởi các phương tiện hoặc vật thể khác có thể gây khó khăn cho các hệ thống này để theo dõi 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 hình ảnh 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 chi tiết xe của một cá nhân như nhãn hiệu, kiểu xe và 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 trong xe. Việc thu thập dữ liệu như vậy có thể gây ra các vấn đề đạo đức và pháp lý nghiêm trọng cần được xử lý cẩn thận nhất.
Sử dụng Ultralytics YOLOv8 Mô hình ước tính tốc độ cung cấp 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ó những thách thức, như độ chính xác trong điều kiện khắc nghiệt và giải quyết các vấn đề riêng tư, nhưng lợi thế rất đa dạng. Ước tính tốc độ hỗ trợ thị giác máy tính tiết kiệm chi phí, thích ứng và chính xác hơn so với các cách cũ hơn. Nó hữu ích trong các lĩnh vực khác nhau như giao thông, thể thao, giám sát và xe tự lái. Với tất cả các lợi ích và ứng dụng, nó được định sẵn là 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? 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. Cộng tác, đổi mới và học hỏi với chúng tôi! 🚀
Bắt đầu hành trình của bạn với tương lai của machine learning