IMAGE WARPING and MOSAICING

Nick Vandal

Overview

The goal of this assignment is to get your hands dirty in different aspects of image warping with a “cool” application -- image mosaicing. 

 

Image Rectification

Input
Output

 

Input
Output

 

Part I: Blend the images into a mosaic

The images below correspond to Part I of the project, where hand labeled correspondences are defined using a MATLAB GUI. Two band blending was found to provide the best results, although the full multi-scale pyramid blending algorithm was also implemented.

Input
Output


Input
Output


Input
Output


Input
Output

 

Feature matching for Autostitching

The images below correspond to Part II of the project, interest points are detected and matched, and homographies are determined using RANSAC.

Step 0: Input Images

Step 1: Single Scale Harris Interest Points

Step 2: Non-maximal Adaptive Supression

Step 3: Matching of Features

Step 4: Warping using RANSAC-determined Homograpy

Step 5: Blending using 2-band method

 

Gallery of Mosaics

Input
Output


Input
Output


Input
Output


Input
Output

 

Part III: Tour into the Picture: Single View Modeling

The goal of this project is to create a simple, planar 3D scene from a single photograph. The project will follow the description in Tour into the Picture by Horry et al. in modeling the scene as a 3D axis-parallel box. First, we will let the user specify simple constraints on that box (the back wall plus thevanishing point). All code, including the 3D rendering is performed with native MATLAB code.

Input
Novel Views


Input
Novel Views


Input
Novel Views


Input
Novel Views


Bells and Whistles

Better Blending

I implemented full multi-scale Laplacian pyramid blending. Comparisions between the two blending techniques are shown below. In general, it appears as if the two-band blending technique (where low frquencies are linearly blended and high frequencies are taken from the source image with the largest alpha weighting) performed better than the linear blend at all frequencies.
Two Band BlendingMult Scale Laplacian Blending




Movie Fly-through of Oxford image



Panorama Recogntion

Given a set of unordered images, some of which might form panoramas, my code automatically extracts features from each image, and performs pairwise matches between all images. Interest points are matched and RANSAC is performed to determine a homography between each pair of images. The determination of which pairs are valid correspondences is based on the number of inliers (probabilistic model from M. Brown and D.G. Lowe "Recognising Panoramas" paper). I then warp all other images to the perspective of the most connected image and find the shortest path from each of the other images to this most connected image using the pairwise homographies. If there is no path from a particular node, it is considered to not be a part of the panorama.