Bài toán nhận dạng biển báo giao thông năm 2024
Ngày nay, cơ sở hạ tầng giao thông ngày càng phát triển, việc phát hiện biển báo để cung cấp thông tin đến người tham gia giao thông là một điều rất quan trọng. Tận dụng những kiến thức đã được học ở môn Machine Learning, kết hợp với những điều gần gũi với đời sống. Nhóm chúng em đã chọn đề tài “Phát hiện các loại biển báo giao thông phổ biến ở Làng Đại học” làm đề tài nghiên cứu. Giúp mọi người có thể hiểu đâu là biển báo giao thông và chúng có ý nghĩa thế nào. Show
Mô tả bài toán:
Để xây dựng được mô hình như yêu cầu bài toán đó, ta cần phải trải qua 2 bước:
Phát hiện biển báo:
Xây dựng ScannerĐể có thể tìm được vật thể chúng ta cần tìm, ta cần phải quét toàn bộ trên bức hình. Vì vật thể có thể nằm bất cứ đâu trên hình và có kích thước ngẫu nhiên. Cho nên chúng ta cần xây dụng “scanner” theo 2 tiêu chí sau:
Trích xuất đặc trưng ở mỗi vùng scan trên hình
Dự đoán đối tượng trong cửa sổ trượt
Support Vector Machine là gì?
Tổng hợp lại các khung viền
Non-maximum Suppression (NMS)Input: Một danh sách B là các cửa sổ thỏa mãn, cùng với các xác suất dự đoán tương ứng và cuối cùng là ngưỡng overlap N.Output: Danh sách D các cửa sổ tối ưu cuối cùng.Các bước thực hiện:
Mô hình phân loại biển báoMô hình này mục đích là để đưa ra kết quả dự đoán xem trong cửa sổ trượt đó có biển báo hay không và chúng thuộc loại nào. Các bước xây dựng:
Thu thập dữ liệu:Dữ liệu là những bức ảnh biển báo giao thông nhóm tự chụp bằng điện thoại. Tùy thuộc vào tần suất xuất hiện nên số ảnh ở mỗi lớp có sự chênh lệch Ảnh không chứa biển báo: SceneClass13 gồm 3000 tấm Số lượngBao gồm 6 classes và 1 class ảnh ngoại cảnh(ảnh không chứa biển báo) Training:
Testing:
Xử lý dữ liệuXử lý dữ liệu bao gồm các bước như sau:
Chọn model và trainingDùng model SVM và KNN để training. Model được import từ scikit-learn. Ở SVM cần quan tâm tới các hyperparameters như sau:
Gọi phương thức model.fit để thực hiện training. Sau khi training xong ta sẽ lưu model lại cho những lần dự đoán tiếp theo. |