Fitting an affine transformation
Posted on 2008-10-18
I'm trying to implement the "RANSAC" algorithm for fitting a bunch of points in one image to points in another image.
I need some help figuring out a method which will let me determine an affine transform used to get a point in one image, to a point in another image.
The RANSAC algorithm goes something like this (this is just background)::
1) Run a SIFT descriptor extractor on each of the images, get back an array of 128d descriptors and their x,y location in the images.
2) Run a match filter - take each descriptor from image1, try to find a single match for it from image2.
3) Now this is where I need help - I have a point in image1 that is (supposedly) a match for a point in image2. How can I find the affine transformation which gets it from image1 to image2 (or vice versa).
I don't understand this because the two images can be wildly different. For instance, image 1 is a large scene of a table with fruit on it. I might find some descriptors for pixels in an apple on the table. Image 2 is just a cropped image of the apple itself, rotated and scaled up. Will an affine transform even make sense between the pixels on the apple on the table, and the cropped image of the apple scaled up and rotated?
Thanks for any help