I'm currently working on a "Where's Waldo" project as part of my coursework, where I have to find 3 different characters in any given image - Waldo, Wenda, and Wizard.

I'm trying to convert this into a machine learning problem where I essentially train an SVM with templates of each character (so I have 3 classes/labels), but I'm not so sure what the best approach is when it comes to building the model.

Before training, I partitioned the templates of each character into training and validation sets, and my SVM performs well (~82% accuracy in predicting whether a window/template is Waldo/Wenda/Wizard). However, the testing accuracy is rather low, as the final windows that I get are false positives.

Would it be better to add a 4th label that says 'None of the above' to reduce the percentage of false positives, or is that only useful for when we want Yes/No classification?

Any input would be appreciated!


1] Yes, you have to add data with the 4-th case, "none of the above".

2] The three characters may be present in an image concurrently. So instead of performing 1 multi-category classification, you should perform 3 binary classifications... Even if an image is guaranteed to have at most one character, 3 binary classifications may deliver higher overall accuracy.

3] You may benefit from taking your time before jumping into SVM. You may run less computationally demanding gradient boosting (boosted trees) and random forests first. They will allow you to calculate out-of-bag (OOB) feature importance. The OOB importance will be used to pre-screen the features, with only the best performers entering SVM.

SVM are quite slow when the number of features falls above 10-20 (depending on the implementation and the percentage of categorical features). So you may benefit from using only the most powerful ones. This will allow you to experiment with a larger number of SVM specifications.

  • $\begingroup$ Thanks for the quick reply! I will try out what you suggested. $\endgroup$ – Yash Chowdhary Nov 3 '19 at 6:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.