36
CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

  • View
    220

  • Download
    1

Embed Size (px)

Citation preview

Page 1: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

CSCE 641 Computer Graphics: Image Mosaicing

Jinxiang Chai

Page 2: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Outline

Image registration - How to break assumptions?

3D-2D registration

Image mosaicing

Page 3: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

virtual wide-angle camera

Mosaics: Stitching Image Together

Page 4: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Mosaic ProcedureBasic Procedure

Page 5: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Mosaic ProcedureBasic Procedure

– Take a sequence of images from the same position

• Rotate the camera about its optical center

Page 6: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Mosaic ProcedureBasic Procedure

– Take a sequence of images from the same position

• Rotate the camera about its optical center

– Compute transformation between second image and first

Page 7: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Mosaic ProcedureBasic Procedure

– Take a sequence of images from the same position

• Rotate the camera about its optical center

– Compute transformation between second image and first

– Transform the second image to overlap with the first

Page 8: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Mosaic ProcedureBasic Procedure

– Take a sequence of images from the same position

• Rotate the camera about its optical center

– Compute transformation between second image and first

– Transform the second image to overlap with the first

– Blend the two together to create a mosaic

Page 9: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Mosaic ProcedureBasic Procedure

– Take a sequence of images from the same position

• Rotate the camera about its optical center

– Compute transformation between second image and first

– Transform the second image to overlap with the first

– Blend the two together to create a mosaic– If there are more images, repeat

Page 10: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Image Mosaic

realcamera

syntheticcamera

Can generate any synthetic camera viewas long as it has the same center of projection!

Is a pencil of rays contains all views

Page 11: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Image Re-projection

mosaic PP

The mosaic has a natural interpretation in 3D– The images are reprojected onto a common plane– The mosaic is formed on this plane– Mosaic is a synthetic wide-angle camera

Page 12: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Issues in Image Mosaic

mosaic PP

How to relate two images from the same camera center? - image registration

How to re-project images to a common plane? - image warping

?

?

Page 13: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Image Mosaicing

Geometric relationship between images

Page 14: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Image Mosaicing

Geometric relationship between images– Use 8-parameter projective transformation matrix

111

'

'

y

x

hg

fed

cba

y

x

Page 15: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Image Mosaicing

Geometric relationship between images– Use 8-parameter projective transformation matrix

– Use a 3D rotation model (one R per image)

1

210

1

21

1

20

1201110

0200100

frf

fr

fr

rfrr

rfrr

111

'

'

y

x

hg

fed

cba

y

x

Derive it by yourself!

Page 16: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Image MosaicingGeometric relationship between images

– Use 8-parameter projective transformation matrix– Use a 3D rotation model (one R per image)

Register all pairwise overlapping images– Feature-based registration– Pixel-based registration

Chain together inter-frame rotations

Page 17: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Image Stitching

Stitch pairs together, blend, then crop

Page 18: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Image Stitching

A big image stitched from 5 small images

Page 19: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

PanoramasWhat if you want a 360 field of view?

mosaic Projection Cylinder

Page 20: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Cylindrical Panoramas

Steps– Re-project each image onto a cylinder– Blend – Output the resulting mosaic

Page 21: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Cylindrical Projection– Map 3D point (X,Y,Z) onto cylinder

XY

Z

unit cylinder

Page 22: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Cylindrical Projection– Map 3D point (X,Y,Z) onto cylinder

XY

Z

unwrapped cylinder

– Convert to cylindrical coordinates

unit cylinder

Page 23: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Cylindrical Projection– Map 3D point (X,Y,Z) onto cylinder

XY

Z

unwrapped cylinder

– Convert to cylindrical coordinates

cylindrical image

– Convert to cylindrical image coordinates

• s defines size of the final image

unit cylinder

Page 24: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Cylindrical Panoramas

mosaic Projection Cylinder

A

B

Cannot map point A to Point B without knowing (X,Y,Z)

Page 25: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Cylindrical Panoramas

mosaic Projection Cylinder

BC

A

But we can map point C (images) to Point B.

Page 26: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Cylindrical WarpingGiven focal length f

and image center (xc,yc)

X

YZ

(X,Y,Z)

(sin,h,cos)

Page 27: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Cylindrical Panoramas

f = 180 (pixels)

Map image to cylindrical or spherical coordinates– need known focal length

Image 384x300 f = 380f = 280

Page 28: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Cylindrical Panorama

3D rotation registration of four images taken with a handheld camera.

Page 29: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Cylindrical Panorama

Page 30: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Recognizing panoramas

• A fully automatic 2D image stitcher system

Input Images

Output panorama #1

Page 31: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Recognizing panoramas

• A fully automatic 2D image stitcher system

Input Images

Output panorama #2

Page 32: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Recognizing panoramas

• A fully automatic 2D image stitcher system

Input Images

Output panorama #3

Page 33: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Recognizing panoramas

• A fully automatic 2D image stitcher system

Input Images

- How to recognize which images can be used for panoramas?- How to stitch them automatically?

Page 34: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Recognizing panoramas

• A fully automatic 2D image stitcher system

Page 35: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Recognizing panoramas

• A fully automatic 2D image stitcher system

- Image matching with SIFT features

- For every image, find the M best images with RANSAC

- Form a graph and find connected component in the graph

- Stitching and blending.

Page 36: CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai

Outline

Image registration - How to break assumptions? (cont.)

3D-2D registration

Image mosaicing