← Back to portfolio

Machine Learning Project

Multimodal Small-Object Detection

Faster R-CNN and CLIP for language-guided small-object localization.

Overview

Finding Waldo: Multimodal Approaches to Small Object Detection in Cluttered Scenes (with Nancy Patel) treats "Where's Waldo?" as a controlled benchmark for small-object detection under maximum visual clutter. Waldo is small (32–256px), surrounded by hundreds of visually similar distractor characters, and defined by a precise conjunction of visual attributes (red-and-white stripes, glasses, blue jeans) rather than coarse category membership — making evaluation unambiguous while stress-testing localization.

Method

A two-stage, three-part pipeline:

Results

MethodMean IoUTop-1@0.5IoU=0 (failure) rate
WaldoNet baseline (YOLOv9)—0.541—
Faster R-CNN (ours, no CLIP)0.5560.6800.24
+ CLIP rerank (best config)0.5670.6800.16

The best configuration improves Top-1@0.5 over the published WaldoNet baseline (0.541) and substantially reduces the complete-failure rate. Ablations over query phrasing show the model is sensitive to how precisely the text names Waldo's attributes: explicit mention of the stripe pattern and Waldo's name both help, since CLIP's pretraining encodes that association. Learning rate (best: 1e-4) had the single largest effect, and the attribute loss weight (λ_attr = 0.1) gave a consistent but secondary boost over no attribute loss (0.522 IoU).

Failure analysis

~60% of failures are confusion with background characters whose clothing partially matches the query (e.g., red stripes without glasses); ~40% are complete mislocalization when Waldo is very small and densely surrounded by distractors, where both detection and CLIP similarity signals collapse toward noise. The identified limiting factor is the post-hoc reranking architecture — CLIP scores crops after detection rather than shaping proposal generation, unlike end-to-end grounded detectors such as MDETR or OWLv2.

Code

github.com/EunbiYoon/waldo · github.com/nancypatel12/Finding-Waldo-Multimodal-Detection

Tech stack

PyTorch, Faster R-CNN (ResNet-50-FPN), CLIP ViT-B/32, COCO-style annotations