Alignment of Non-Overlapping Images
Alignment of Non-Overlapping Images
on Computational Photography)
Abstract
Image alignment and mosaicing are usually performed
on a set of overlapping images, using features in the area
of overlap for alignment and for seamless stitching. Without image overlap current methods are helpless, and this is
the case we address in this paper. So if a traveler wants
to create a panoramic mosaic of a scene from pictures he
has taken, but realizes back home that his pictures do not
overlap, there is still hope.
The proposed process has three stages: (i) Images are
extrapolated beyond their original boundaries, hoping that
the extrapolated areas will cover the gaps between them.
This extrapolation becomes more blurred as we move away
from the original image. (ii) The extrapolated images are
aligned and their relative positions recovered. (iii) The gaps
between the images are inpainted to create a seamless mosaic image.
1. Introduction
Mosaicing several images to give a panoramic view has
been extensively studied, and the technology has matured
enough to be performed in real time inside many cameras.
The area of overlap between the pictures is critical for these
methods. Features in the overlap area are used for image
alignment, and once aligned the overlap area enables seamless stitching. We will skip a survey of mosaicing since it is
very common, and interested readers can look at [15].
But what happens when no overlapping areas exist, as
illustrated in Fig. 1? A simple case of non-overlap is addressed by square jigsaw puzzle solvers, such as [12, 8],
where an image is to be reconstructed from non-overlapping
square patches. In [12] a single pixel extrapolation is used
to determine the positions of the patches. Placement and
stitching are simple since the finite canvas size is known
in advance, and the patches are contiguous and have a relatively small number of possible positions. In contrast to
[12], in our case the relative placements, the gap widths,
and the canvas size are all unknown.
2. Image Extrapolation
While image inpainting is very common [9, 13, 1], image extrapolation is not as common. Early usage was to allow image filtering without reducing the image size [16]. In
[11] video extrapolation was used to avoid cropping when
performing video stabilization. In [5, 3] video extrapolation
is performed to improve viewing experience of video. Our
approach to image extrapolation is similar to [3] applied to
single images rather than to video. Note that traditional image inpainting is done to please the human viewer and inpainted regions should look indistinguishable from the original image. Image extrapolation is used in our case to enable alignment, and hallucinated high-frequency information such as produced by [10], should be avoided. Since
the Fourier transform of the autocorrelation function is the
power spectrum, it is clear that the autocorrelation of high
Figure 1. A set of non-overlapping images which we would like to align and to mosaic. While image locations have been computed using
our proposed alignment method, input images are given unordered and without any position information.
(a)
(b)
Figure 2. (a) The right side of the patch A is inside the original
image and its left side is outside the image. To extrapolate the left
part of A we search in the image for a patch B whose right side is
most similar to the right side of A. (b) The left side of patch B is
used to paint the left side of patch A.
(4)
(b)
(c)
P
Cost(P, Q) =
(x,y)
(3)
where (i) The sum over (x, y) uses the global coordinate system after alignment, and (ii) W (x, y) is a weight
(a)
(b)
(c)
S=
described in Sec. 3.2. A simple solution to this problem
might be to add a few rotations to the search for optimal
alignment. While this solution might work well, it comes
with a substantial increase in the complexity of the search.
Instead, we propose a method for aligning multiple images
with rotations that takes the observations made in Sec. 3.2
one step further.
The proposed alignment approach has three steps. We
begin by integrating each input image with rotated copies
{max + j},
(5)
j=0
(6)
S0
of max and define the amount of rotated images we integrate, but they also affect the next steps, as we describe
next.
The second step is batch alignment of the integrated images as described in Sec. 3.2. We have found that the alignment process fails for high values max or low values of
. This is because high values of max or low values of
produce integrated images that do not contain any useful
data. The resulting integrated images are too blurred and
smeared to tell one from another. We have successfully experimented with max 21 and 3 . Fig. 9 shows an
alignment result of integrated images.
The third step is selecting a rotation angle S0 for
each input image. We scan the alignment result for pairs of
overlapping integrated images. For each overlapping pair Ii
and Ij , we search for i and j such that
(i , j )
arg min
Cost(Pi,i , Pj,j ),
(7)
(i ,j )S0 S0
rotations.
5. Experimental Results
As usual in direct image alignment methods [4, 6], alignment is performed in a multi-resolution approach. Gaussian pyramids are built for the extrapolated images, and
the alignment starts at the lowest resolution. At that level
all possible translations and rotations are examined. Once
an optimal alignment is found at a low resolution level, a
higher resolution level is examined. When moving from
a lower resolution to a higher resolution, all translations
found so far are scaled to the new level. In our case they are
multiplied by two. The search for the minimum is now performed only around the previously found translations and
(a)
(b)
(c)
(d)
Figure 11. (a) Input images. (b) Alignment result without the use
of integrated images. (c) Alignment result using integrated images. (d) Integrated images replaced by the best rotation angle
image. While there are some errors in the horizontal alignment,
the vertical alignment and the rotation angles are approximately
correct.
(a)
(b)
(c)
(d)
Figure 13. Panoramic input images shown after alignment, and the generated panoramic image created from them by inpainting.
6. Concluding Remarks
Automatic alignment and mosaicing of non-overlapping
images has been introduced. The general scheme includes
steps of image extrapolation, alignment of extrapolated images, and inpainting the gaps. We believe that the described
approach will work well even if one or more of the three
steps will be implemented in methods that are different from
those described in this paper. Some of our experiments were
performed assuming a pure translation between images, and
the inpainting process conceals small rotations. We have
also introduced an approach for handling relative rotations
between images.
We must admit that we were surprised by the success of
the simple batch alignment of multiple images, and from
the success of integrated images in aligning rotated images.
We hope that this simple approach can be used for different
tasks where alignment of feature points may not be possible.
7. Acknowledgement
This work was supported by the Israel Science Foundation and the Ministry of Science and Technology.
References
[1] Content Aware Fill, Adobe Photoshop CS5.
[2] E. Adelson, C. Anderson, J. Bergen, P. Burt, and J. Ogden. Pyramid methods in image processing. RCA Engineer,
29:3341, 1984.
[3] A. Aides, T. Avraham, and Y. Schechner. Multi-scale ultrawide foveated video extrapolation. In ICCP, 2011.
[4] P. Anandan. A computational framework and an algorithm
for the measurement of visual motion. International Journal
of Computer Vision, 2(3):283310, 1989.
[5] T. Avraham and Y. Schechner. Ultrawide foveated video extrapolation. IEEE Journal of Selected Topics in Signal Processing, 5:321334, 2011.
[6] J. Bergen, P. Anandan, K. Hanna, and R. Hingorani. Hierarchical model-based motion estimation. In ECCV, pages
237252, 1992.
[7] J. Bergen, P. Burt, R. Hingorani, and S. Peleg. A three
frame algorithm for estimating two-component image motion. IEEE Trans. PAMI, 14:886896, 1992.
[8] T. S. Cho, S. Avidan, and W. T. Freeman. A probabilistic image jigsaw puzzle solver. In IEEE Conference on Computer
Vision and Pattern Recognition (CVPR), 2010.
[9] A. Criminisi, P. Perez, and K. Toyama. Region filling and
object removal by exemplar-based inpainting. IEEE Trans.
Image Processing, pages 12001212, 2004.
[10] A. Efros and T. Leung. Texture synthesis by non-parametric
sampling. In In International Conference on Computer Vision, pages 10331038, 1999.
[11] Y. Matsushita, E. Ofek, W. Ge, X. Tang, and H. Shum.
Fullframe video stabilization with motion inpainting. IEEE
Trans. PAMI, pages 11501163, 2006.
[12] D. Pomeranz, M. Shemesh, and O. Ben-Shahar. A fully automated greedy square jigsaw puzzle solver. In CVPR, 2011.
[13] Y. Pritch, E. Kav-Venaki, and S. Peleg. Shift-map image
editing. In ICCV09, pages 151158, Kyoto, Sept 2009.
[14] H. Sawhney and R. Kumar. True multi-image alignment and
its application to mosaicing and lens distortion correction.
IEEE Trans. PAMI, pages 235243, 1999.
[15] R. Szeliski. Image alignment and stitching: A tutorial. Foundations and Trends in Computer Graphics and Computer Vision, 2:1104, Dec 2006.
[16] B. White and D. Brzakovic. Two methods of image extension. Computer Vision, Graphics, and Image Processing,
50:342352, 1990.