#
Shoot and digitize pictures

Going to google earth, I took screenshots of a construction location around campus.
For the other picture, I took a screenshot in Minecraft of the HyPixel server.

#
Recover Homographies and Warping

Warping is done by computing the homographies, which is a transformation in the form of a matrix.
It requires solving for 8 variables, and each point can solve 2, so in total needs at least 4 to solve the matrix system.

Shown below are the input to warping, and output after solving the homographies and applying the warping transformation.
Both warp a rectangular face to be straightened.

#
Mosaic

To create the mosaics, I take more screenshots of minecraft, from the HyPixel server.

Manually selecting 8 points (greater than the required 4) for each, I get:

I then "warp" the first image to the second, and take a weighted average of the images in the overlapping regions.

#
Autostitching

##
HIP, ANMS, Features and RANSAC

####
Harris Interest Points Detection

HIP calculates through a matrix equation points where traveling in a line results in a change in intensity. For Minecraft, luckily, there aren't many images, otherwise it could flood the entire image when displaying!

####
ANMS

ANMS calculates the r-score of each point i, and selects the top few points. What's used is the Harris score to determine the score.
$$r_{i} = \min _{j} \|x_{i} - x_{j}\| \space s.t. \space H(i) < 0.9 * H(j)$$

####
Feature Descriptor Extraction and Matching

Features are extracted from the points, and then to match the features, brute force search is used to match them.

####
RANSAC

As described in class, we create robust homographies by rejecting all outliers

#
Mosaic results

Using the points, I recreate the mosaics. Compared to hand-selected points, these look a bit more accurate.

#
Lessons Learnt

Very nice! We can take panorama pictures using just a few frames, the magic of phone camera isn't even that cool! I always thought it was blending the video and matching 1 line of frames each time to stitch, but it's doing much more than that!