It would be really nice if the classifier app was able to automatically detect objects in loaded images and fill out their properties. There are really three methods we could take here:
Traditional Image Processing
This involves using traditional color masks, edge detection filters, etc. to find objects and determine their properties. This allows us to tweak the algorithm to our heart's content, but it could mean we have to tweak the algorithm past our heart's content. Some applications, such as text detection, are incredibly difficult to tune properly.
Machine Learning

This can have a lot of advantages if it turns out that the problem of object classification is too difficult for us to design ourselves, but it comes with costs too. Training ML models takes a lot of data when we really don't have much. If we get to the end of the semester and our ML model isn't working properly, we'll have very little insight into where it's failing and might not have many methods of recourse outside throwing more data at the problem.
Hybrid
Machine learning and image processing might be better suited to different parts of the process. I'm not against adding multiple dependencies to the project to get this working as reliably as possible.
Also, convolutional neural networks are a thing. Just sayin'.
It would be really nice if the classifier app was able to automatically detect objects in loaded images and fill out their properties. There are really three methods we could take here:
Traditional Image Processing
This involves using traditional color masks, edge detection filters, etc. to find objects and determine their properties. This allows us to tweak the algorithm to our heart's content, but it could mean we have to tweak the algorithm past our heart's content. Some applications, such as text detection, are incredibly difficult to tune properly.
Machine Learning
This can have a lot of advantages if it turns out that the problem of object classification is too difficult for us to design ourselves, but it comes with costs too. Training ML models takes a lot of data when we really don't have much. If we get to the end of the semester and our ML model isn't working properly, we'll have very little insight into where it's failing and might not have many methods of recourse outside throwing more data at the problem.
Hybrid
Machine learning and image processing might be better suited to different parts of the process. I'm not against adding multiple dependencies to the project to get this working as reliably as possible.
Also, convolutional neural networks are a thing. Just sayin'.