Xem Nhiều 9/2022 ❤️️ Phân Loại Biển Báo Giao Thông Bằng Deep Learning (Cnn) ❣️ Top Trend | Sachlangque.net

Xem Nhiều 9/2022 ❤️ Phân Loại Biển Báo Giao Thông Bằng Deep Learning (Cnn) ❣️ Top Trend

Xem 17,028

Cập nhật thông tin chi tiết về Phân Loại Biển Báo Giao Thông Bằng Deep Learning (Cnn) mới nhất ngày 30/09/2022 trên website Sachlangque.net. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Cho đến thời điểm hiện tại, bài viết này đã đạt được 17,028 lượt xem.

450 Câu Hỏi Luật Giao Thông Đường Bộ: Đặc Điểm Của Biển Báo Nguy Hiểm

Quy Định Về Đặt Biển Báo Hạn Chế Tốc Độ Theo Quy Định Của Pháp Luật

Thẩm Quyền Đặt Biển Báo Tốc Độ Theo Quy Định?

Biển Báo Giao Thông Số 202

Ý Nghĩa Của 64 Biểu Tượng Trên Bảng Táp Lô Xe Ô Tô

Hôm trước co một bạn trên Mì Ai yêu cầu viết về bài toán biển báo giao thông nên Mì AI đáp ứng liền. Về biển báo giao thông thì thường có 2 bài toán là:

Nhận diện biển báo

Phân loại biển báo

Với bài toán nhận diện biển báo thì bạn vừa phải detect biển báo trong hình và đồng thời nhận diện được đó là biển báo loại gì. Còn với bài Phân loại thì input đầu vào sẽ là các ảnh biển báo và chúng ta sẽ phân loại xem biển báo đó là biển gì? Ví dụ: giới hạn tốc độ, cấm rẽ trái, cấm quay đầu….

Let’s go!

Phần 1 – Phân tích bài toán

Bài toán của chúng ta như mình đã nói sẽ là input là 1 ảnh, output là ảnh đó là ảnh gì, hay cụ thể hơn là biển báo gì.

Về dữ liệu chúng ta sẽ sử dụng bộ dữ liệu biển báo giao thông nổi tiếng đó là German Traffic Sign.

Chúng ta sẽ sử dụng bộ dữ liệu training tải về tài link này .

Bộ dữ liệu này gồm khoảng gần 40k ảnh chia thành 43 folder là 43 loại biển báo khác nhau. Mỗi folder sẽ có 1 file CSV chứa thông tin các ảnh trong thư mục. Chúng ta chú ý vài thông tin sau:

ROI: là vùng ảnh chứa biển số với các thông tin X1, Y1, X2, Y2

ClassID: là nhãn của biển số (từ 1 đến 43)

Các bạn clone git của mình về bằng lệnh:

Sau đó tải data, giải nén và copy folder GTSRB vào thư mục gốc của project luôn nha.

Phần 2 – Đọc và xử lý dữ liệu

Việc đầu tiên là phải đọc dữ liệu từ thư mục GTSRB đã, chúng ta sẽ lặp qua các thư mục con, đọc và add vào các list.

Ở đây sẽ có 2 list là:

pixels: Chứa tất cả các ảnh trong bộ dữ liệu

labels: Chứa nhãn của các ảnh trong bộ dữ liệu

Để đọc dữ liệu ta dùng đoạn code:

Xong con ong! Bây giờ sau khi đọc xong ta sẽ tiến hành chia dữ liệu train, test và val.

Như các bạn đã biết, với một bài toán Deep Learning thì với dữ liệu có được ta hay chia thành 3 bộ:

Train: Để train model

Val: Để validation model trong quá trình train

Test: Để kiểm thử model sau khi train xong

Ở đây mình chia theo tỷ lệ 60% – 20% – 20%, nghĩa là 60% dữ liệu mình dùng để train, 20% cho validation và 20% còn lại để test. Việc chia dữ liệu test riêng rất cần thiết để xem model sẽ treat như nào với các dữ liệu unseen – chưa nhìn thấy bao giờ.

Để thực hiện việc đó mình sử dụng hàm sau:

Rồi! Sau bước này thì có đủ cả X và y cho các ông train, val và test rồi. Sang bước xây dựng model thôi.

Phần 3 – Xây dựng model phân loại biển báo

Bài này các bạn hoàn toàn có thể sử dụng Transfer Learning với các mạng nổi tiếng như VGG16, VGG19… nhưng ở đây mình xin demo việc tự xây một mạng đơn giản để các bạn hiểu từng bước cho dễ.

Ta cùng xây dựng model đơn giản:

Model này có mấy điểm các bạn cần chú ý:

Model có input size là 64x64x3, nghĩa là các ảnh đầu vào đều phải resize về 64×64.

Model có output = 43 – là số class biển báo ta có.

Model có sử dụng Dropout để tránh Overfit

Tổng số tham số là 10,698,555!

Phần 4 – Train model phân loại biển báo và kiểm thử

Thôi thì nguyên vật liệu đã xong, nồi niêu xong chảo cũng đủ cả thì giờ nấu Mì thôi anh em!

Chúng ta sẽ train khoảng 10 epochs với batch_size là 16.

Sau khi train xong thì save lại file h5 để lần sau còn sử dụng 😀

Model đạt val_accuracy là 0.9939 sau 10 epochs, một kết quả khá tốt:

Kết quả eval với loss = 0.011 và accuracy khá cao 0.996:

Như vậy là model cũng khá ổn rồi! Vui quá anh em ah!

OK! Như vậy mình đã guide anh em làm một model classify biển báo đơn giản. Anh em có thể modify, áp dụng transfer learning hay bơm dữ liệu biển báo Việt Nam vào cho thực tế!

Nhận Diện Biển Báo Giao Thông Bằng Cnn & Keras

600 Câu Hỏi & Đáp Án Lý Thuyết Sát Hạch Lái Xe Ô Tô

Biển Báo Cấm: Hình Ảnh, Ý Nghĩa Và Mức Phạt Vi Phạm

Lái Xe Rẽ Phải Ở Nơi Có Biển Báo Cấm Rẽ Bị Xử Phạt Như Thế Nào

Cấm Giờ Xe Tải Tp Biên Hòa

Bạn đang xem bài viết Phân Loại Biển Báo Giao Thông Bằng Deep Learning (Cnn) trên website Sachlangque.net. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!

Yêu thích 2289 / Xu hướng 2379 / Tổng 2469 thumb
🌟 Home
🌟 Top