Classify traffic signs using traditional machine learning method and deep learning methods. [course project of "Media and Recognition" of EE, Tsinghua University]
See the report.
This cource project includes 4 tasks. Task 1 requires us to classify traffic signs using traditional machine learning method, task 2 requires us to classify using deep learning method, task 3 requires us to perform single example classification and task 4 requires us to detect traffic signs and then classify.
I am responsible for task 1 & 2, so this repository only consists of code and report of these 2 tasks. If my teammates decide to public the remaining tasks on GitHub, I will add the links.
You can download the dataset from Tsinghua Cloud Drive or Google Drive.
Note: the labels in test.json
are randomly generated and only used to demonstrate the output format. However, only my teacher and TAs have the ground truths because this is a course project.
Task 1 requires
- numpy
- cv2
- tqdm
- scipy
- sklearn
Task 2 requires
- torch
- pytorch_lightning
- torchvision
- PIL
- tqdm
Our work has 95.16% accuracy of task 1, and 97.89% accuracy of task 2 on the test set (according to my TA). Although we have relatively high accuracy of task 1, the accuracy of task 2 is not that high enough. The reason is that I adopted the network structure in this paper [content, code (Lua)], but did not have time to shrink its size to fit our dataset (Our dataset is much smaller so this will apparently cause overfitting problems).