CS50X - Research Resources

Spying Eye

Google Developers Documentation

A great place to start learning about machine learning: it contains multiple courses to understand the theory and practices of machine learning.

Google's Machine Learning Documentation

Youtube Courses

While searching on the web about pytorch, I stumbled upon Murtaza's Workshop course, Object Detection 101, which helped me understand object detection with Python and YOLO.

After watching the course, I decided to build a web app with a pre-trained model. This will make the completion of the project in a logical time frame possible.

Handling Video Feed

At first, I was thinking about building my project for image analysis only. But it's a bit boring. I decided to change to a video feed to make it more interesting. So, the user will be able to use a camera to identify objects around them. This lets the user use the app even with their phone.

The problem here is that I must send the stream to the back end, analyze the stream, and then send back the data needed to create the bounding boxes.

I've found an interesting video made by Muhammad Moin which should be very helpful in completing the video.

Single Page Application

Single-page applications have been getting popular lately. I decided to build such an application to make a nice dynamic and interactive website without loading alternative websites.

Training

Training is an important part of machine learning. Learning how to create a model and train it for my own purposes will be a great way to dwell deeper into machine learning.

First, we need a data set to train our model. A good source of common objects is Microsoft's Coco(Common Objects in Context). It is important to train nano, small and medium models to achieve optimal performance.

While training, we can use a clearml integration to monitor the process of the training. Using it is quite straightforward, first install clearML, on the project's environment by running "pip install clearml", then run clearml-init, generate new credentials for the project on the clearml website(It needs an account), and then copy the credentials to the CLI.

This should be everything

I think I have everything I need to complete the project. Time to start writing some code!