Guidance on landscape image recognition
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.
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