Homographies image mosaics and tracking
This presentation is the property of its rightful owner.
Sponsored Links
1 / 35

Assignment 1 PowerPoint PPT Presentation


  • 76 Views
  • Uploaded on
  • Presentation posted in: General

Homographies , Image Mosaics and Tracking. Assignment 1. Homography estimation from corresponding points Homographies describe image transformation of... General scene when camera motion is rotation about camera center Planar surfaces under general camera motion

Download Presentation

Assignment 1

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Homographies image mosaics and tracking

Homographies,

Image Mosaics and Tracking

Assignment 1


Key parts

  • Homography estimation from corresponding points

    • Homographies describe image transformation of...

      • General scene when camera motion is rotation about camera center

      • Planar surfaces under general camera motion

  • Displaying tracking data on a map

  • Image mosaic / stitch and Texture mapping

    • Bilinear interpolation

    • Image compositing

  • Wii (optional)

Key Parts


Goal image mosaics

Goal: Image Mosaics

  • + + … +=

Goal: Stitch together several images into a seamless composite


First part

First part


Displaying tracking data

Displaying Tracking Data


Second part

Second part


Texture mapping on legobricks

Texture mapping on Legobricks


Image warping

Image Warping

  • Given a coordinate transform x’ = h(x) and a source image f(x), how do we compute a transformed image g(x’)=f(h(x))?

  • What about holes?

h(x)

x

x’

f(x)

g(x’)


Forward warping

Forward Warping

  • Send each pixel f(x) to its corresponding location x’=h(x) in g(x’)

  • What if pixel lands “between” two pixels?

  • Answer: add “contribution” to several pixels, normalize later (splatting)

h(x)

x

x’

f(x)

g(x’)


Inverse warping

Inverse Warping

  • Get each pixel g(x’) from its corresponding location x’=h(x) in f(x)

  • What if pixel comes from “between” two pixels?

h(x)

x

x’

f(x)

g(x’)


Inverse warping1

Inverse Warping

  • Get each pixel g(x’) from its corresponding location x’=h(x) in f(x)

  • What if pixel comes from “between” two pixels?

  • Answer: resample color value from interpolated (prefiltered) source image

x

x’

f(x)

g(x’)


Interpolation

Interpolation

  • Possible interpolation filters:

    • nearest neighbor

    • bilinear

    • bicubic (interpolating)


Nearest neighbor interpolation nn

Round-off idea: Just use closest integer-valued pixel

Nearest neighbor interpolation (NN)


Nn issues

Problem is that it can cause big aliasing effects

Why? Because the round() function causes discontinuous switches in which pixel is nearest and hence is the color drawn

NN issues


Nn aliasing

NN aliasing

rotate 45±, scale 1.5


Blending

t controls “blend”

of two endpoints

  • From parametric definition of a line segment:

    p(t) = p0 + t(p1 ¡ p0), wheret2[0, 1]

    = p0¡tp0 + tp1

    = (1 ¡ t)p0 + tp1

Blending

from Akenine-Möller & Haines


Bilinear interpolation bli

Vertical blend

Horizontal blend

  • Idea: Blend four pixel values surrounding source, weighted by nearness

  • (see MO chapter 5)

Bilinear Interpolation (BLI)


Bilinear interpolation

Blending eliminates abrupt color changes, reducing aliasing artifacts

Bilinear interpolation

rotate 45±, scale 1.5


Pixel interpolation approaches nn vs bli

Pixel Interpolation approaches:NN vs. BLI


Pixel interpolation approaches nn vs bli1

Pixel Interpolation approaches:NN vs. BLI


Image stitching

Image Stitching


Assembling the panorama

Assembling the panorama

  • Stitch pairs together, blend, then crop


Image compositing issues

  • With homography computed, how to render combined image?

  • Simply putting one image on top of the other, even with bilinear interpolation, may result in a “seam” due to different brightness levels

    • Auto-iris can change overall lightness of images

    • Vignetting can make image edges darker

Image Compositing Issues

courtesy of P. Haeberli


Image feathering

Image feathering

  • Weight each image proportional to its distance from the edge (distance map [Danielsson, CVGIP 1980]

  • 1. Generate weight map for each image

  • 2. Sum up all of the weights and divide by sum:weights sum up to 1: wi’ = wi / ( ∑iwi)


Image feathering1

Image Feathering


Feathering

+

=

1

0

1

0

Feathering


Effect of window size

0

1

0

1

Effect of window size

left

right


Effect of window size1

0

1

0

1

Effect of window size


Good window size

0

1

Good window size

  • “Optimal” window: smooth but not ghosted

    • Doesn’t always work...


Bilinear compositing

  • Idea: Use “hat” function w indicating weight of contributions of an image to the mosaic

    • w is 1 at source image center, falls linearly to 0 at image boundaries

    • Combination of horizontal and vertical hat functions:

  • Normalize hat weights to get blend factor in overlaping area:

Bilinear Compositing


Future directions

Future Directions


Various student projects small and large

various student projects (small and large)


Mosaics for video coding

Mosaics for Video Coding????

  • Convert masked images into a background sprite for content-based coding

  • + + +

    =


Fully automated 2d stitching

Fully automated 2D stitching

Demo


Recognizing panoramas

Recognizing Panoramas

[Brown & Lowe, ICCV’03]


  • Login