Computer Vision (CSE 576), Spring 2005

Project 2:  Panoramic Mosaic Stitching



Test Sequence

View Panorama

Taken On Kaiden Head

View Panorama

View Panorama

Taken From Hand-Held Camera

View Panorama

Taken From Camera Phone

View Panorama

What Worked Well

The second sequence taken using the Kaiden Head came out surprisingly well. The manual exposure setting for the camera seemed to have helped eliminate the difference in illumination across frames, resulting in a fairly seamless mosaic. I was also surprised how well the ripples in the water blended from frame to frame. I used a simple 1-D hat function as my blending weighting function. I did not use bilinear inperpolation since all images are simply offset in the x-direction and thus simply blending across the x-direction should be sufficient.

I also initially tried using the blend width to specify the width of the blend region such that the hat function looks like a trapezoid, but that resulted in seams of the images showing up as bands of slight illumination differences, so I decided to revert back to the simple feathering function.

I was also surprised how well the camera phone sequence came out (it's not very good, but much better than I expected since I was not very careful about aligning my shots and keeping the camera from rolling or drifting). For the focal length and radial distortion coefficients, I manually tweak them since I did not want to go through the whole calibration process, and what I ended up with seem to work fine. There are definitely artifacts that are visible due to warped edges, it would be interesting to see how much of it will be eliminated had I done a more rigorous calibration step.

What Didn't Work So Well

The first sequence taken using the Kaiden Head came out ok, but there are noticeable blurring along image seams, especially around tree leaves. This is due to the fact that it was particularly windy that day and the leaves were moving around quite a bit while I was taking the pictures. The radial distortion coefficient for the camera may also not be accurate, as I notice that some of the edges (such as between the water and the red/blue bank, grass below the brick wall, and the dirt pavement) seem to be blurred.

The sequence taken using my hand-held camera didn't come out so well for several possible reasons. First, when I was taking the pictures, I was not using a tripod and therefore I may have rotated the camera slightly fo some of the frames, resulting in misaligned edges (mostly noticeable along the path/grass boundaries). Also, I tried using Jean-yves' Calibration Toolbox to determine the focal length and radial distortion coefficients for my camera, but I'm not quite sure how accurate it was since I noticed that during calibration, some of the corners that the tool detected were slightly off even after I tried to correct it manually by specifying a radial distortion coefficient.

Extra Credit

I implemented blending with sub-pixel localization, but the results seemed to be quite minimal. In most cases, however, applying sub-pixel localization seemed to slightly blur the blended seams. This may be due to the fact that I used forward warping as opposed to inverse warping. I also attempted to shoot a scene with many people, some of whom were moving around (my handheld sequence) as an analog to a sequence in which the same person appears multiple times. In shooting the sequence, I made sure that in each frame, I did not capture any moving person in the left and right side of the image which will overlap with my neighboring images.