By Ekapol Chuangsuwanich
Image Rectification
Starting with some basic stuff.
It's hard to hang a picture straight.
Easier done in MATLAB.
I wonder what he felt when he spilled that.
Don't forget to
Looking along the lines
Mosaics
Image blending.
I tried several image blending methods. Here are some examples.
Blending these 2 pictures to a mosaic.
Method 1: Average the overlapping part (Note the sky)
Method 2: Blend using distance transform (Note the trees are blurred)
Method 3: 2 level Laplacian blending (Sharper trees, but the some of the sky does not agree)
Complete Mosaics using 2 level Laplacian
Set 1. Horizontal. My Apartment rooftop
Set 2. Vertical. Once upon a tree (Incredibly hard to mark correspondences)
Set 3. Horizontal and Vertical. Roberts Engineering Hall
Fun with blending and mosaics
Matlab Advertisement
Being grateful of numerous Matlab's Out of Memory Error (of death) that popped up during the course of this project, I decided to paint a floor advertisement for them.
The high frequency component are added together without blending to makes lines and the cement textiles appear.
Space Paradox
Q: 3 Tests tomorrow what should I do?
A: Study 3 times as fast
Using a larger smoothing window, I got this pretty neat effect.
Time Paradox
Cylindrical Projection
Big version here. Note that the trash box on the right is no longer strangely long.
Picture A and B to be matched
Find ALL corners. Throw away the ones in the 20 pixel border of the pictures. 4391 points found.
Use the Adaptive Non-Maximal Suppression with c_robust = 0.9 to select 500 points. The suppression radius is found to be around 16 pixels.
Use the 500 points to for Harris descriptors. A 40x40 window sub sample to 8x8 is selected around each point. Here is an example of a descriptor.
The red point correspond to the corner detected. The yellow dots are the sampled points for that descriptor.
Find matches between descriptors. If the ratio between the 1st nearest/ 2nd nearest is larger than 0.6, discard those points.
Points before matching (red and blue): 500. Points after matching (blue): 210
RANSAC is performed on the remaining matches, throwing away outliers. The tolerance ratio is 1 pixel disagreement.
Points after RANSAC (green): 75
Use the remaining points to create a mosaic.
A new mosaics using this automate algorithm.
Rotation Invariant descriptor
Use the direction of the corner to change the orientation of the sampling square for the descriptor.
An example of the rotation invariant descriptor. Red is the corner. Blue is the orientation. Yellow are the sample points. Notice how the square is now tilted
This new descriptor overcomes the problem when the input image is rotated.
For example
Picture A. Picture B (rotated by 30 degrees)
Using the original descriptor, RANSAC does not converge.
Using the new descriptor, RANSAC is able to find 27 matches.
Output
This project was fun, but it takes a lot of time as well. Time for me to work on my other courses.