31/07/2019, 14:10

Tự build mạng lưới đơn giản nhận diện biển báo giao thông

Người viết: Quy Nguyen Như tiêu đề, hôm nay mình sẽ hướng dẫn các bạn xây dựng một mạng CNN đơn giản để nhận diện biển báo giao thông. Với tập dữ liệu gồm tất cả 42 biển báo giao thông với các điều kiện khác nhau như thiếu sáng, biển báo bị nghiêng, ảnh chụp mờ… ...

Người viết: Quy Nguyen

Như tiêu đề, hôm nay mình sẽ hướng dẫn các bạn xây dựng một mạng CNN đơn giản để nhận diện biển báo giao thông. Với tập dữ liệu gồm tất cả 42 biển báo giao thông với các điều kiện khác nhau như thiếu sáng, biển báo bị nghiêng, ảnh chụp mờ…

Bài toán yêu cầu đầu vào là 1 ảnh chụp được từ biển báo giao thông và đầu ra là tên tương ứng của biển báo, với số lượng biển báo giao thông là cố định và đây là bài toán phân biệt nên chúng ta sẽ coi đây là bài toán phân loại ảnh, với số lớp cần phân loại chính là số lượng loại biển báo giao thông cần xác định. Vì hình ảnh các biển báo rất khác nhau và có thể dễ dàng phân biệt bằng mắt thường nên dữ liệu phân lớp khá đơn giản và ít sự nhập nhằng. Vì thế chúng ta sẽ cần một mô hình deep learning đơn giản là có thể xử lý được việc này.

Import thư viện

Đầu tiên bạn vào đây để tải về bộ dữ liệu gồm các biển báo đã được đánh nhãn và lưu các thông tin trong file csv. Đây là bộ dữ liệu biển báo giao thông của Đức, gồm 42 loại biển báo khác nhau. Bạn tải về và giải nén ra thư mục của project

Bạn đổi lại biến path theo đường dẫn trên máy bạn

  Máy học - Machine Learning và một vài hạn chế.
  Machine Learning góp phần cải thiện chiến lược Digital Marketing của bạn như thế nào?

Như các bài thông thường, chúng ta sẽ tiến hành chia tập dữ liệu ảnh thành tập train và tập validation

Với các label chúng ta sẽ chuyển sang dạng One-hot encoding để xử lý

Complie mô hình

Khởi tạo đồ thị kết quả mô hình

Training

Tiến hành chạy file code