next up previous
Next: 3 View Interpolation for Up: Video Mosaicing using Manifold Previous: 1 Introduction

2 Mosaicing from Strips

A common method for construction of panoramic mosaics includes the collection of sections (``strips'') from each image and pasting these strips next to each other to become the mosaic. In the simple case of a camera which is moving horizontally, vertical strips are taken from each image and pasted side by side [11] (see Fig. 1.a). This process can also be viewed as scanning the scene with a vertical broom [4, 16]. This vertical broom scans the entire sequence, extracts vertical strips along the sequence, and pastes them one next to the other to create the panoramic mosaic. The vertical broom is perpendicular to the horizontal optical flow, and after placing the strips in the panoramic image, the optical flow is pointing exactly to the direction from which the panoramic image is constructed (see Fig. 1.b).

   figure27
Figure 1: The relation between the mosaicing process using strips and the direction of the optical flow.
(a) The simple case of camera which is moving to the left. The optical flow points to the right, and vertical strips are collected. After pasting, The optical flow is parallel with the direction in which the panoramic image is built.
(b) New information is passing through the scanning broom when the Optical Flow is perpendicular to the broom.
(c) No new information is passing through the scanning broom when it is parallel to the optical flow.
(d) When the scanning broom is set to be perpendicular to a radial optical flow its shape will be a circular arc.

The scanning broom must be perpendicular to the optical flow. A counter example is shown in Fig. 1.c, using a vertical scanning broom with vertical optical flow. When the optical flow is parallel to the scanning broom no mosaic is created as no new information will pass through the broom. The case where the scanning broom is perpendicular to a radial optical flow is shown in Fig. 1.d. The information from all images in the sequences will pass through the scanning broom, allowing to collect strips for pasting in the mosaic.

The following section describes a practical implementation for determining the shape of the scanning broom for the case of affine motion, which can give good approximation for image motion in many cases. Numerous methods exist to recover the parameters of an affine transformation [7, 13]. Implementations for other motion models can be done in a similar manner.

2.1 Example: Strips in the case of Affine Motion

The affine transformation can be expressed as:

  equation39

where tex2html_wrap_inline430 and tex2html_wrap_inline432 are corresponding points in images tex2html_wrap_inline434 and tex2html_wrap_inline436 , and the parameters of the affine transformation tex2html_wrap_inline438 are (a, b, c, d, e, f). (u, v) is the optical flow vector as a function of the position tex2html_wrap_inline444 . The transformation tex2html_wrap_inline438 (and the optical flow) vary continuously along the sequence.

The scanning broom will be a line tex2html_wrap_inline448 such that it will be perpendicular to the optical flow. The normal to the line tex2html_wrap_inline450 is in the direction tex2html_wrap_inline452 thus it should be in the same direction as (u, v). This constraint can be expressed by:

equation63

for some value of k. A line equation can be derived by integration only when e = c. In most cases, the difference between the values of c and e is due to the rotation around the optical axis tex2html_wrap_inline464 , such that it contributes tex2html_wrap_inline466 to c, and tex2html_wrap_inline470 to e. To approximately satisfy the condition e = c it is therefore sufficient to rotate the image by tex2html_wrap_inline476 after the affine transformation is recovered, and then recompute the affine transformation.

After correction for rotation around the optical axis, when the affine transformation is such that tex2html_wrap_inline478 , we get the following equation of the scanning broom by integration:

  equation80

This is a family of lines that are all perpendicular to the optical flow. M is used to select a specific line. We suggest that M will be set to the value for which the line contains maximum number of pixels within the image. If many options exist, then we suggest using a line as close as possible to the center of the image to minimize lens distortions. This selection should ensure that pixels used in the mosaic will be from that image having best resolution at that location.

We will use the following notation to describe the scanning broom along the sequence: The line tex2html_wrap_inline484 is the line in Image tex2html_wrap_inline436 , in it's coordinate system, which corresponds to the affine transformation tex2html_wrap_inline488 . This affine transformation tex2html_wrap_inline490 relates points tex2html_wrap_inline492 in Image tex2html_wrap_inline436 to corresponding points tex2html_wrap_inline496 in Image tex2html_wrap_inline434 (see Fig. 3).

Eq. 3 can be easily understood for some simple cases.

For pure camera translations the scanning broom will be a circle around the Focus of Expansion (FOE). In more general cases the scanning broom may be approximated by an elliptic curve.

   figure110
Figure 2: Examples for scanning broom.
(a) A vertical scanning broom is selected for horizontal motion.
(b) A horizontal scanning broom is selected for vertical motion.
(c) A circular scanning broom is selected for zoom and for forward motion.

2.2 Determining Strips

The mosaic is constructed by pasting together strips taken from the original images. The shape of the strip, and its width, depend on the image motion. This section describes how to determine these strips in the case of an affine motion to conform with the methodology of the selection of best resolution. Strip selection for other motion models can be done in a similar manner.

In order to determine the strip to be taken from Image tex2html_wrap_inline436 , the preceding frame, tex2html_wrap_inline434 , and the succeeding frame, tex2html_wrap_inline528 , should be considered. Let tex2html_wrap_inline490 be the affine transformation relating points tex2html_wrap_inline532 in Image tex2html_wrap_inline436 to the corresponding points tex2html_wrap_inline536 in Image tex2html_wrap_inline434 , and let tex2html_wrap_inline540 be the affine transformation relating points tex2html_wrap_inline542 in Image tex2html_wrap_inline528 to the corresponding points tex2html_wrap_inline532 in Image tex2html_wrap_inline436 .

Given the affine transformations tex2html_wrap_inline490 and tex2html_wrap_inline540 , the lines tex2html_wrap_inline484 and tex2html_wrap_inline556 are selected respectively (see Fig. 3.a-c). The line tex2html_wrap_inline484 in tex2html_wrap_inline436 corresponds to the line tex2html_wrap_inline562 in tex2html_wrap_inline434 using the affine transformation tex2html_wrap_inline490 . In the same way, the line tex2html_wrap_inline556 in tex2html_wrap_inline528 corresponds to the line tex2html_wrap_inline572 in tex2html_wrap_inline436 using the affine transformation tex2html_wrap_inline540 .

The strip that is taken from the image tex2html_wrap_inline436 is bounded between the two lines tex2html_wrap_inline484 and tex2html_wrap_inline572 in tex2html_wrap_inline436 (see Fig. 3.a-c).

Using this selection, the first boundary of the strip will be described by the selected line tex2html_wrap_inline586 , thus will be exactly orthogonal to the optical flow with regard to the previous image. The second boundary of the strip is described by the line tex2html_wrap_inline588 which is the projection of the line tex2html_wrap_inline590 onto the current image tex2html_wrap_inline436 , having the same property in the next image.

This selection of the boundaries of the strip ensures that no information is missed nor duplicated along the strip collection, as the orthogonality to the optical flow is kept.

   figure164
Figure 3: Example of cutting and pasting strips.
(a)-(c) Strips are perpendicular to the optical flow. Line tex2html_wrap_inline390 is selected in Image tex2html_wrap_inline392 and Line tex2html_wrap_inline394 is selected in Image tex2html_wrap_inline396 . The mapping of Line tex2html_wrap_inline394 (in tex2html_wrap_inline396 ) into Image tex2html_wrap_inline392 using the affine transformation is Line tex2html_wrap_inline404 . The strip tex2html_wrap_inline406 taken from Image tex2html_wrap_inline392 is bound between lines tex2html_wrap_inline390 and tex2html_wrap_inline404 .
(d) Strips are warped and pasted so that the optical flow becomes parallel, their back is fixed (e.g. tex2html_wrap_inline390 in Strip tex2html_wrap_inline406 ) and their front (e.g. tex2html_wrap_inline404 in Strip tex2html_wrap_inline406 ) is warped to match the back of the next strip.

2.3 Pasting Strips

 

To create continuous mosaic images while avoiding accumulated distortions, the warping of the strips should depend only on the adjacent original frames, independent of the history of previous distortions. This section describes how to warp the strips in the case of affine motion.

In our scheme, the back of each strip is never changed. This is the side of the strip which corresponds to the boundary between Image tex2html_wrap_inline434 and Image tex2html_wrap_inline436 and defined by tex2html_wrap_inline586 . The front of the strip is warped to match the back side of the next strip. This is the boundary between Image tex2html_wrap_inline436 and Image tex2html_wrap_inline528 which is defined by tex2html_wrap_inline588 .

In the example described in Fig. 3.d, we warp the first strip such that its left side does not change, while its right side is warped to match the left side of the original second strip. In the second strip, the left side does not change, while the right side is warped to match the left side of the third strip, etc.

As a result, the constructed image is continuous. Also, if we warp the original optical flow as we did with the strips, the resulting flow will be parallel to the direction in which the panoramic mosaic is constructed. Moreover, no accumulative distortions are encountered, as each strip is warped to match just another original strips, avoiding accumulative warps.

The strips as pasted in the example of Fig. 3 remain curved. The transformation can be modelled by a projection into a cylindrical manifold, in which case the strips should be un-bent into straight edges before pasting into the mosaic. Un-bending the strips may cause distortions in some parts of the mosaic, and before visual presentation the mosaic should be re-bent depending on the desired viewpoint. The bending and un-bending, however, is not very critical when the strips are curved only slightly.


next up previous
Next: 3 View Interpolation for Up: Video Mosaicing using Manifold Previous: 1 Introduction

Adrian F Clark
Thu Jul 24 15:12:24 BST 1997