Application: photo and video stabilization and merging
Rotational Panoramas
When the camera undergoes a pure rotation
Gap Closing
Cylindrical Coordinates
Align images is to first warp the images into cylindrical coordinates and then use a pure translational model to align them.
This only works if the images are all taken with a level camera or with a known tilt angle.
Spherical Coordinates
It is useful if the final panorama includes a full sphere or hemisphere of views, instead of just a cylindrical strip.
Global Alignment (Registration for All Images)
Goal: To find a globally consistent set of alignment parameters that minimize the mis-registration between all pairs of images
Method 1: Add new images to the panorama one at a time, aligning the most recent image with the previous ones already in the collection and discovering, if necessary, which images it overlaps.
Problem: Accumulated error may lead to the presence of a gap (or excessive overlap) between the two ends of the panorama.
Solution: Gap closing
Method 2 (Bundle adjustment): Simultaneously align all the images using a
least-squares framework to correctly distribute any mis-registration errors.
disadvantage 1: Features that are observed many times are overweighted in the final solution.
disadvantage 2: The derivatives of x ˜ik with respect to the {(Rj, fj)} are a little cumbersome, although using the incremental correction to Rj
makes this more tractable.
disadvantage 3: The disadvantage of full bundle adjustment is that there are more variables to solve for, so each iteration and also the overall convergence may be slower.
Composoting
Choosing a Composting Surface (parameterization)
Flat Panorama
It start to look severely distorted once the field of view exceeds 90◦
Cylindrical Panorama
Spherical Panorama
Reference Image (View selection)
Flat Panorama
A reasonable choice is the one that is geometrically most central
Rotational Panorama
We can choose the image whose z-axis is closest to the average z-axis (assuming a reasonable field of view).
Cylindrical and Spherical Panoramas
We can use the same heuristic if a subset of the viewing sphere has been imaged. In the case of full 360◦ panoramas, a better choice might be to choose the middle image from the sequence of inputs, or sometimes the first image, assuming this contains the object of greatest interest.
Coordinate Transformations
Flat
Cylindrical or spherical
Texture-mapped polyhedron
Sampling issues
Final panorama has lower resolution than the input images
Pre-filtering the input images is necessary to avoid aliasing.
Highest visual quality
A higher order (e.g., cubic) interpolator combined with a spatially adaptive pre-filter may be necessary.
Final Panorama should has higher resolution than the input images
Super-resolution process
Pixel selection and weighting (de-ghosting)
Average
Performed in an accumulation buffer (using the A channel as the weight).
Simple averaging usually does not work very well, since exposure differences, mis-registrations, and scene movement are all very visible
Median
Used when rapidly moving objects are the only problem
Center-weighting and minimum likelihood selection
Used to retain multiple copies of a moving object.
Feathered average
Weighted averaging with a distance map
It does a reasonable job of blending over exposure differences. However, blurring and ghosting can still be problems
p-norm
Raise the distance map values to some large power. The weighted averages then become dominated by the larger values.
Provides a reasonable tradeoff between visible exposure differences and blur
Voronoi diagram
Assigns each pixel to the nearest image center in the set.
"Cutting through" moving objects
Place the seams in regions where the images agree, so that transitions from one source to another are not visible.
Weighted ROD cover with feathering
Determine regions of difference (RODs) See Page 401
Graph cut seams with Poisson blending
See Page 402
Blending
Laplacian pyramid blending
Gradient domain blending
Exposure compensation
Applications
Digital maps and satellite photos
Create beautiful ultra wide-angle panoramas
Summarize and compress videos taken with a panning camera.
Photomontage
Problems
Parallax
Exposure differences
Lens distortion
Scene motion
Current Research Topics
The potential presence of large amounts of independent motion, camera zoom, and the desire to visualize dynamic events impose additional challenges.
Create panoramic matte paintings for multi-plane cel animation
Creating stitched images of scenes with parallax
3D representations of more complex scenes using multiple-center-of-projection images and multi-perspective panoramas
The most difficult part of getting a fully automated stitching algorithm to
work is deciding which pairs of images actually correspond to the same parts of the scene.
The use of stereographic projections looking down at the ground (in an outdoor scene) to create “little planet” renderings.
Recognizing Panoramas
Bundle adjustment combined with the process of topology inference can be used to automatically assemble a panorama.
first find all pairwise image overlaps using a feature-based method and then find connected components in the overlap graph to “recognize” individual panoramas.
Parallax removal
Caused by
Unmodeled radial distortion
Solution: plumb-line method (adjusts radial distortion parameters until slightly curved lines become straight)
3D parallax (failure to rotate the camera around its optical center)
Solution: Doing a full 3D bundle adjustment
Small scene motions such as waving tree branches
Solution: General 2D motion estimation (optical flow) can be used to perform an appropriate correction before blending using a process called local alignment.
Large-scale scene motions such as people moving in and out of pictures
Solution: Select pixels from only one image at a time as the source for the final composite.
General Note
Local Alignment
Types
Direct pixel-based alignment
Disadvantage: They have a limited range of convergence. Even though they can be used in a hierarchical (coarse-to-fine) estimation framework.
Feature-based approaches
Disadvantage: Early feature-based methods would get confused in regions that were either too textured or not textured enough. The features would often be distributed unevenly over the images.