Ask Your Question

Guidance on landscape image recognition

asked 2018-12-06 03:09:37 -0500

Mike M gravatar image

updated 2018-12-06 03:57:59 -0500

Hello, I'm fairly new here (and new to Computer Vision in general), I've been banging my head on this for a little while and was wondering if folks here might be able to help me out.

I'm trying to match one image to another, specifically to find keypoints between the images. The two images are greyscale landscapes taken by either satellites or airplanes, on different days. Lighting conditions are likely to be different, as well as things like snow cover and surrounding sea ice. I've attached an example pair. The eye can quickly tell these are the same island/peninsula even though the sea ice is dramatically different, but I'm having trouble getting a computer to see the same. I've been using ASIFT/SURF but that doesn't seem to work well, the small-scale immediate-pixel-neighborhood features are too different for those algorithms to make good matches, it seems. Or perhaps I'm just not using them well. It's the overall structure of the landscape, the wide-scale topography, that I'm trying to pin down in order to find matching keypoints between them. Individual rocks or crevasses will be hard to match, but the overall contour of the island's boundary remains fairly constant.

Image 1 Image 2

I think perhaps some type of line- or edge-detection (then fed into SURF or similar?) might work, but I'm unsure. I'm not necessarily looking for exact code from folks, just a general strategy that might work well. It's been suggested that a neural-net/kdtree might help, but I don't have a large bank of images to train it to detect individual landscape features, so that would be tough.

Any help? Thanks, - M

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2018-12-06 05:34:09 -0500

Grillteller gravatar image

updated 2018-12-06 05:44:54 -0500

Hi, I am usually working with historical images and thus having the same problems. For your problem I would try/consider the Matlab Code of RIFT. Easy to use and good results on images with the same ground truth but very strong radiometric differences (long loading times due to chinese website: Maybe you have to prune your images at first to the relevant area.

Using OpenCV I got good results with the combination of ORB detector and SURF descriptor and as a second method MSER. I want to try ASIFT in the future but as far as I know it is not implemented.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2018-12-06 03:08:34 -0500

Seen: 221 times

Last updated: Dec 06 '18