Note: I just reuploaded this on 11/13 because I accidentally replaced it with a project 5 website :(
Angela Xu
For this project, I took some images around my apartment at different angles to stitch together into mosaics!
Here is one set of example images!
Here is an example of correspondence points:
|
In this project, I learned how panoramic pictures are created! I also found how important precision is when choosing correspondence points, as slight differences can really affect how images line up (this is evident in some of my results, because I could not perfectly select points in ginput). This has been very fun!
I used the function given to find Harris corners on my room image.
There are many points, so we use Adaptive Non-Maximal Suppression to choose a stronger subset of all the points.
Now that we have our corner points, we get 8x8 patches of the features of each point. We get these from blurring and rescaling 40x40 squares.
We get the feature descriptor patches for each images corners, and then through finding the minimum SSD between features, we match them.
Here are some example matches from our first image!
We used RANSAC to compute homographies by taking a random sample of 4 points, computing the homography matrix, finding the distances between transformed points of image 1 and actual points of image 2, and appending these as "inliers" if the distance is below epsilon. This is looped over 1000 times, and homography is then determined by the maximum number of inliers.
Here, we compare the before and after of manual/auto mosaics!