Phát hiện xe máy – xe ô tô bằng YOLO v7

Trong bối cảnh phát triển nhanh chóng của công nghệ thị giác máy tính, việc phát hiện xe máy và ô tô trở thành một nhu cầu thiết yếu trong nhiều ứng dụng đặc biệt là hệ thống bãi đỗ xe thông minh. Vậy tại sao phần mềm phát hiện xe máy và xe ô tô lại là giải pháp hiệu quả cho quản lý bãi đỗ xe?

  • An Ninh: Việc giám sát và ghi lại hoạt động của các phương tiện ra vào bãi đỗ xe giúp ngăn chặn và xử lý các tình huống không mong muốn, tăng cường an ninh và an toàn cho bãi xe.
  • Tiết kiệm thời gian và chi phí: Xác định vị trí trống, đếm số lượng xe ra vào và cung cấp dữ liệu để quản lý bãi đỗ xe hiệu quả hơn. Điều này giúp tối ưu hóa việc sử dụng không gian và nâng cao trải nghiệm người dùng.
  • Độ chính xác cao: Sử dụng trí tuệ nhân tạo (AI) đảm bảo độ chính xác cao trong việc nhận diện và phân loại đối tượng, có thể chạy liên tục mà không cần nghỉ ngơi, từ đó giảm thiểu sai sót so với phương pháp thủ công.
  • Tốc độ xử lý nhanh: Khả năng xử lý trong thời gian thực, nhanh chóng phân tích hình ảnh và video, cập nhật thông tin liên tục và chính xác.

Một trong những mô hình hiệu quả nhất hiện nay cho nhiệm vụ này là YOLOv7. Bài viết này hướng dẫn cách nhận diện xe máy và xe hơi (ô tô) bằng YOLO v7.

Bài viết này đã chuẩn bị sẵn dữ liệu xe máy, xe hơi, các bạn chỉ cần download 1 số file theo hướng dẫn là được.

Bước 1: cài đặt phần mềm và các thư viện cần thiết

Bước 2: cài đặt CUDA 12.5

Bước 3: clone repository và cài đặt Package

    Download source code cuối bài viết

  • Cài đặt các thư viện pip bằng lệnh
  • pip install -r requirements.txt

  • Tải xuống mô hình YOLOv7 được file yolov7.pt và lưu vào thư mục yolov7

Bước 4: Training

Tất cả dữ liệu bao gồm hình ảnh và anotation đã được chuẩn bị sẵn, bạn chỉ cần training là ra kết quả.

Thời gian ước tính để huấn luyện toàn bộ dataset với các tham số –batch 16 –epochs 300 –img-size 224 224 là khoảng 6 giờ.

Sau khi quá trình huấn luyện hoàn tất, bạn có thể tìm thấy file best.pt trong thư mục runs/train/expXXX/weights/, với XXX là số tăng dần. Đây là kết quả của quá trình huấn luyện. Trong repository đã có sẵn file best.pt để bạn có thể thử nghiệm ngay.

Nếu cần, bạn có thể giảm số lượng epoch xuống còn 100 mà vẫn đảm bảo độ chính xác. Đối với GPU có hiệu suất yếu, bạn có thể giảm kích thước batch xuống 4 hoặc 2 và giảm số lượng worker xuống 1 để phù hợp với cấu hình máy của bạn.

Để kiểm tra độ chính xác, hãy chạy block Evaluation và đảm bảo truyền đúng đường dẫn file. Lưu ý rằng file best.pt đã được đặt ngoài thư mục runs để dễ dàng phát hiện.

Download

Repo Github: https://github.com/thigiacmaytinh/ParkingCounter