This week I set up AWS and got it running code for the first time. Struggled a lot initially with memory issues and figuring out how to set up instances, but was very satisfied with the result. I got to test out the different models I had prepared on the Kaggle ASL dataset with different parameters and found that the best model returned a surprising 95% validation accuracy rate. Fine tuning the end layers after freezing the model from transfer learning resulted in some accuracy problems, but since most of the models did not take too long to run, I decided to train all of the model parameters over the night and found much better results. I also found that since the size of the dataset was so large (100,000 total images I subset from), training with even a few epochs returned very strong results. Having saved these model weights and model json files, I just need to export them into the web app and be able to run the classifier there. For the first time, there’s light at the end of the tunnel.
Young’s Status Update for 10/17/2020
This week I researched different neural networks and architectures we could incorporate (RNNs, CNN) and read up on tensorflow and keras to familiarize myself with the actual programming side of the classification stage. I’m still working on the feature recognition and extraction stage but for the time being, I will just try reducing the dimensions of the processed image and removing the background, and pass in the edge detected image for the static sign recognition. The complexity and time to run this will be the benchmark to beat for different feature extraction strategies we try out.
Young’s Status Update for 10/10/2020
This week I researched some edge detection algorithms that we can use to filter out our image, wrote out one in matlab and one short one in python, since I believe both are compatible with Django. The sobel edge detector returns a smooth but a more faded image while the Canny detector returns a sharp contrast image. I will test them out on test data very soon to compare them. Next week, I’ll go on to test out which feature engineering and/or dimensionality reduction strategy to use so that we can move onto the neural network stage. Overall, I would say I made less progress on the project than I wanted to as I had a lot of assignments due and had to TA for ~20 hours for this particular week but hopefully next week, I’ll have some more time available.
Young’s Status Update for 10/03/2020
This week mostly consisted of our learning and deep learning primer phase where we familiarise ourselves with the content that we’ll need to understand to implement the ideal ML algorithm we can use. Over the week I reviewed the 10-601 Introduction to Machine Learning recorded lectures and relevant homeworks such as neural networks and logistic regression. Antonis shared a 10-701 footprint recognition assignment with us because of the similarity to our project so I searched the assignment for inspiration on techniques we can incorporate. I also researched popular edge detection and feature extraction algorithms for the preprocessing stage of the workflow. Next week, we’ll plan to start implementing these two techniques and write different types of feature detectors so we can compare their performance later on.