How can I use YOLO on dynamic images?

I have one large image of a map. I also have various smaller images that are portions of said map, but have some small differences. How can I use YOLO to map the portions of the said map to a bounding box on the actual map? These map portions are not static images, and could be any area of the map.

There might be a way to accomplish this using object detection, but every process I can think of off-hand seems problematic and likely brittle. I suspect that what you might want to use is homography. A feature matching technique like FLANN or AKAZE sounds like it is more aligned with what you’re looking to accomplish.

I’ve tried feature matching, and sadly the variations in size, resolution, and slight differences in features have caused it to not work, despite my best efforts. I’ve tried both FLANN and ORB, and neither has gotten even close to working. I’ll try a few more times, however.

I followed your link for AKAZE, and it turned out to be nearly exactly what I needed! Now all I have to do is tweak the code and images a little and it should be good! Thank you for your help!

1 Like

It’s great to hear that AKAZE feature matching worked for you! If you’re still exploring options for handling variations in size, resolution, and slight differences in your map images, you might find Ultralytics YOLO11 helpful, as it excels in detecting objects even under challenging conditions. An article explains the evolution of object detection and how YOLO models have advanced over time. You may also want to explore Oriented Object Detection (OBB), a feature of YOLOv8 designed for precise detection results, especially for objects at various angles, which could be beneficial for your dynamic map portions.