Hoping for an intro to machine learning for object detection
Hi! Hopefully this is a good place to ask.
I've been googling around a fair bit, but haven't had much luck- I'm either finding ELI5 type articles, or in depth tutorials on setting up a model to tell the difference between a frog and a dog. I'm not sure if those are relevant to my concept.
I would like to implement a ML algorithm to detect a particular type of defect on a production line. Our current camera system isn't quite up to the task, but gives good, consistent imagery, and I have a good historical dataset. The product moves past the camera, it snaps a single black and white image, then the product moves on. This means that most of my images are more or less the same. These defects are obvious to the human eye.
Could someone please give me, a noob, a bird's eye view of how I would go about using ML to create a model for this? There's so many choices of tools and tutorials that I don't know which would be best suited to this use case.
Start with learning what is supervised classification. Yes, those differentiate between car and dog projects are the starter packs. You can't straight up jump to the problem you have. If you do, you will neither understand not be abl to debug issues you will encounter.
Next , create your training , test and evaluation data. For this, you will need some human experts to look at 1000s of images and label them as "good" or "bad".
When you have sufficient data read to go, start training an architecture that suits you. Keep tuning it and test it on test data. When you find acceptable performance, go ahead and use it in your production line.
What I said is the rough outline. You need to pad it with courses on theory in probability and calculus at the very list. There are plenty courses in Coursera to start with. And you should definitely not avoid theory and jump straight into the task cause you won't be able to identify or rectify errors you see during training especially the tricky ones.
Walking before you run is good advice, I just didn't know that what I was trying to do was running, not crawling!
When you say an architecture that suits me- how should I go about investigating which one which will suit me?
And is it better to train a simple binary 'pass/fail' initially? Or is it relatively trivial to introduce a scalar such as a score out of ten, or multiple reasons for failure, straight off the bat?
I recommend learning from the basics .
You can ask ChatGPT to make a roadmap and a planner for you .
I would say if you want to get a deeper understanding of the mathematics and functioning behind how your code works then start with the math behind it. It will take longer but it will be worth it.