I am trying to stitch aerial images using feature-based registration. Most image pairs are matched well, such as this:

enter image description here

Others are not matched due to lack of common features:

enter image description here

As you can see, the images contain almost no corners (only fuzzy edges).

Is there a way to register such images? Please note that I need homography so template matching is not possible. The images are taken by flying drone wiggling in the air, hence the images have perspective distortions and feature matching is therefore essential.

Please note I have tried many point features (Harris, SIFT, SURF, MOPS) with similar (bad) results.

My ideas:

  • Use some line-based (Hough transform?) or area-based features (MSER?)
  • Use more images or video and then recover homography from dense data using Horn-Schunck or Lucas-Kanade

Here you can download the source images - it contains two pairs of images, the easier pair and hard-to-align pair:

Download original images

  • $\begingroup$ Well, you'll need to find un-periodic elements in your pictures if you want to have un-ambiguity. $\endgroup$ Jun 10, 2016 at 12:02
  • $\begingroup$ To me this sounds plenty dangerous because of noise quickly becoming the most important energy source in this case, but: What about you do some periodometric transform (e.g. 2D-DFT), sort the coefficients by energy descending and then discard the first coefficients that the two images have in common, and reconstruct the image from the remainder, and do your analysis on that? $\endgroup$ Jun 10, 2016 at 12:05
  • $\begingroup$ Please post the original images so that people could try. $\endgroup$ Jun 10, 2016 at 12:51
  • $\begingroup$ I have added the download link. $\endgroup$
    – Libor
    Jun 10, 2016 at 13:15
  • 1
    $\begingroup$ If you do not have corresponding features for frames, there are a few things you might want to do: 1) drop these frames from the analysis, if possible...do you need to process every frame...2) Add some prior motion model and develop this in a statistical framework. This way you can regularize based on your prior when the data is noisy or unreliable...I think unscented kalman filters are generally used for this. $\endgroup$
    – Luca
    Jun 10, 2016 at 13:37

1 Answer 1


This is what I got after using geometric verification.

I have referred to Stage I.D of this tutorial. Hope this helps. http://www.robots.ox.ac.uk/~vgg/practicals/instance-recognition/index.html#stage-id-improving-sift-matching-using-a-geometric-transformation

When the features have scale and orientation assigned (e.g. SIFT features have these properties), you can compute similarity transform between each corresponding feature pair. The similarity transform has 4 parameters: Tx, Ty - translation, R - rotation and S - scale.

The tentative correspondences are then filtered using RANSAC-like algorithm such that only correspondences consistent with common similarity transform (up to a predefined threshold) are used.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.