# waldo

Published articles for waldo.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Finding Where's Waldo using Mask R-CNN

DevFeed: [Finding Where's Waldo using Mask R-CNN](<https://devfeed.tech/articles/finding-where-s-waldo-using-mask-r-cnn-21536.md>)

Original publisher: [Read original article](<http://lifepluslinux.blogspot.com/2018/06/finding-wheres-waldo-using-mask-r-cnn.html>)

Author: Suresh Alse (noreply@blogger.com)

Published: 2018-06-14T05:51:00Z

Content type: tutorial

Language: en

Sources: [Life Plus Linux](<https://devfeed.tech/sources/life-plus-linux.md>)

Topics: [Image](<https://devfeed.tech/topics/image.md>), [Neural Network](<https://devfeed.tech/topics/neural-network.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>), [dataset](<https://devfeed.tech/topics/dataset.md>), [Image processing](<https://devfeed.tech/topics/image-processing.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [cnn](<https://devfeed.tech/tags/cnn.md>), [deep-learning](<https://devfeed.tech/tags/deep-learning.md>), [deeplearning](<https://devfeed.tech/tags/deeplearning.md>), [faster](<https://devfeed.tech/tags/faster.md>), [mask](<https://devfeed.tech/tags/mask.md>), [ml](<https://devfeed.tech/tags/ml.md>), [model](<https://devfeed.tech/tags/model.md>), [tag](<https://devfeed.tech/tags/tag.md>), [train](<https://devfeed.tech/tags/train.md>), [waldo](<https://devfeed.tech/tags/waldo.md>)

### AI overview

The author reports that Mask R-CNN worked better for finding and masking Waldo than an initial two-class image-classification approach, which struggled with only about 20 Waldo images and severe class imbalance. They assembled 29 images from two sources, split them into 26 training and 3 validation images, and manually drew Waldo masks with the VIA tool. The model was trained for 30 epochs at 100 steps per epoch, using a COCO-trained Mask R-CNN as the starting model. The author says it works fairly well on images similar to ones it has seen, especially when image quality is good and Waldo is clearly visible; the very small dataset limits the result.

### Source excerpt

When I was a kid, I really loved solving Where's Waldo. There were few books (it used to be called Where's Wally) in our school library on which I spent hours finding Waldo. For people who do not know what it is, basically Waldo - a unique character is hidden among hundreds of other characters and you have to find him in all the chaos in the image. Now that I am too old to be solving it and too busy to spend hours on such things, I decided to build a system that uses deep learning to automatically solve it and spent weeks to build it. I started off by treating this like a classification problem with two classes - Waldo and not Waldo, similar to Hot dog - not Hot dog . Once we can get the classification problem successfully solved, we can just apply a classification action mapping (CAM) layer to find Waldo's activations in the image and thus finding Waldo. However I couldn't find enough images of Waldo. I found this repo which has about 20 images. And as there are only 20 Waldo vs thousands of not-Waldo characters, there is very high imbalance in the classes. I still tried though. But the results weren't that great. When I looked if someone has already worked on it, I found a medium post which used Tensorflow's Faster R-CNN model to do this. But I didn't want to just find bounding boxes, I wanted to actually mask out Waldo in the image. But I got more images of Where's Waldo from it. Then I came across this paper on Mask R-CNN which sounded promising for this usecase. And it was indeed much better than my earlier approach: Waldo masked out in the image Original Image In this post I would like to share how I was able to get the data, tag it and train a model to be able to solve Where's Waldo. You can checkout my code on github here. Fork deepwaldo on Github Mask R-CNN The main idea here is to: Take the input image and pass it into a set of convolutional layers that sort of generates a feature map for the given image. Now, you take this feature map and pass it into a r