VITO Challenge

Computer Vision Recycling

Recap: Stones vs Glass

Glass

Stones

Challenges

Train a model

Confusion Matrix

Unseen Image

> 64 mm

2

Possible Approaches

BGsub for labels

Blob detection based

Baseline Feature Classifier

Small CNN Classifier

Semantic Segmentation (SW!)

Instance Segmentation

DOWNSIDE: Overlap!

Sliding Window

Data Augmentation

Background Subtraction

-> Thresholding

Magic number :( But does not need to be perfect

Blob detection

-> Find contours + size filtering***

*** This is not accurate!

Feature Extraction

OpenCV built-in features

Surface Area

Aspect Ratio

Min, Max, Mean X-ray value

Ideally expert knowledge!

...

35 features

Feature Classifiers

Lot of choices

SVC

Random Forest

XGBoost

Needs extensive experimentation!

...

Random Forest

Final Result!

Data Augmentation!

Create new, mixed, labeled samples

Can create labeled overlaps!

Ready for instance segmentation

....

Next Steps

Spend more time polishing the classifiers

KFold Cross Validation

Feature Imporance Analysis

Better Metrics (AUC, P, R, F1)

Improve Augmentation + Manually Label Subset

Also clone noise pattern

Smaller sliding windows so larger particles (SAHI)

Add Expert Knowledge

Re-evaluate background subtraction

Learnings

Aimed too high for given time

OpenCV is a bottomless pit of knowledge

FiftyOne is nice for label conversion!

Polished classical > non finished deep learning

Aimed too high for given time

Thank you!

Backup slides for when I'm allowed to share my 8+ hours progress

Backup slides for when I'm allowed to share my 8+ hours progress

Made with Slides.com