51
Introduction to 3D image reconstruction An introduction to 3D image reconstruction and understanding concepts and ideas Samuele Carli Martin Hellmich 5 febbraio 2013 1 iCSC2013 Carli S. Hellmich M. (CERN) ,

An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

Introduction to 3D image reconstruction

An introduction to 3D image

reconstruction and understandingconcepts and ideas

Samuele Carli Martin Hellmich

5 febbraio 2013

1 iCSC2013 Carli S. Hellmich M. (CERN),

Page 2: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

Introduction to 3D image reconstruction

Introduction to the lecture series

2 iCSC2013 Carli S. Hellmich M. (CERN),

Page 3: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

Introduction to 3D image reconstruction

Imagine...

3 iCSC2013 Carli S. Hellmich M. (CERN),

Page 4: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

Introduction to 3D image reconstruction

Imagine...

4 iCSC2013 Carli S. Hellmich M. (CERN),

Page 5: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

Introduction to 3D image reconstruction

Imagine... the Challenge

5 iCSC2013 Carli S. Hellmich M. (CERN),

Page 6: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

Introduction to 3D image reconstruction

Stereo Vision

6 iCSC2013 Carli S. Hellmich M. (CERN),

Page 7: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

Introduction to 3D image reconstruction

Techniques

7 iCSC2013 Carli S. Hellmich M. (CERN),

Page 8: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

Introduction to 3D image reconstruction

Contents

Lecture 1: Human vision and image pre-processing

Lecture 2: Feature detection and 3D reconstruction

Lecture 3: Object recognition and scene understanding

8 iCSC2013 Carli S. Hellmich M. (CERN),

Page 9: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Lecture 1

Introduction to the human visual system

and image pre-processingconcepts and ideas

Samuele Carli Martin Hellmich

5 febbraio 2013

9 iCSC2013 Carli S. Hellmich M. (CERN),

Page 10: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Contents

A bit of anatomy

Few words on the basics

Image processing

10 iCSC2013 Carli S. Hellmich M. (CERN),

Page 11: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Contents

A bit of anatomyVision formationCameras

Few words on the basics

Image processing

11 iCSC2013 Carli S. Hellmich M. (CERN),

Page 12: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

The eye

12 iCSC2013 Carli S. Hellmich M. (CERN),

Page 13: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Eyes correlation

13 iCSC2013 Carli S. Hellmich M. (CERN),

Page 14: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Horopter

14 iCSC2013 Carli S. Hellmich M. (CERN),

Page 15: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Minimal context

15 iCSC2013 Carli S. Hellmich M. (CERN),

Page 16: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Stereo matching in HVSI Mostly guided by ’disparity detecting neurons’I Efficient correlation of images (edges and high gradient

spots)I Less efficient correlation of textures

I one of reasons why looking at random dot stereogramscan be difficult

I We believe matching depends on correlation of retinaimage locations with second derivative of luminance(greatest change in signal instead of greatest signal)

I Indications of a ’fall-back’ correlation mechanism whenluminance is not enough

I Color has effect on matching (increased performance)I Experience (and evolution) plays a big role (most

interesting comes first)

16 iCSC2013 Carli S. Hellmich M. (CERN),

Page 17: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Biofeedback

I Autonomous movement of eyes limited to high precisionrefinements

I Big movements are conscious and directed by brain asneeded

I Brain can ’feel’ position and focus of eyes: approximatedistance/size of pointed object!

I Change of focus and parallax happens really often, helpsto understand positions and occlusions

I Often the whole head gets moved to get an enhanced 3Dimpression

I Both displacement and rotation helpful (baseline usefulhint for distance)

17 iCSC2013 Carli S. Hellmich M. (CERN),

Page 18: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

The role of the brain

Lots of processing necessary in normal life:

I Differentiate objects of interest from background

I Locate objects in space

I Eventually predict movements/hazards!

I Recognize objects and associate them with meaning

I Find relationships, physical boundaries and connections(leaf/plants, tiger...)

I Act! (And act fast if the tiger is looking at you!)

18 iCSC2013 Carli S. Hellmich M. (CERN),

Page 19: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Illusions

19 iCSC2013 Carli S. Hellmich M. (CERN),

Page 20: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Notably, computers have eyes...

Hello, Dave!20 iCSC2013 Carli S. Hellmich M. (CERN)

,

Page 21: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

...which are usually Cameras

21 iCSC2013 Carli S. Hellmich M. (CERN),

Page 22: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Camera vs Eye

I CCD is not spherical

I but it has no blind spot

I retina is variable resolution (in color and light sensitivity)

I CCD is fixed constant resolution

I Eye focus is limited in range compared to camera

I Camera can even zoom and change perspective!

I Eye has integrated noise-reduction

I Retina is randomized → reduced aliasing!

I Eye can move 3D with really high precision (yes, even onthe face plane! limited, but still...)

22 iCSC2013 Carli S. Hellmich M. (CERN),

Page 23: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Contents

A bit of anatomy

Few words on the basicsRepresentation primitivesProjectionsCamera parameters

Image processing

23 iCSC2013 Carli S. Hellmich M. (CERN),

Page 24: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Geometric primitives

I 3D points: x = (x , y , z) ∈ R3 or x = (x , y , z , w) ∈ P3

using homogeneous coordinates in a projective space(note x ≡ (ky , ky , kz , kw) ∀ k)

I 3D lines:I Segment: r = (1− λ)p + λq, p,q ∈ R3

I Projective: r = µp + λq

No elegant representation

I 3D planes:m = (a, b, c , d)⇒ x · m = ax + by + cz + d = 0 (wherex is a normalized vector (x , y , z , 1))

24 iCSC2013 Carli S. Hellmich M. (CERN),

Page 25: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

2D Transformations

I Translation: x ′ = x + t or x′ =

[I t

0T 1

]x

I Euclidean (rotation + translation): x ′ = Rx + t orx ′ = [R t]x

where R =

[cosφ − sinφsinφ cosφ

]with RRT = I and |R| = 1

I Similarity (scaled rotation): x ′ = sRx + t

I Affine: x ′ = Ax where A =

a00 a01 a02a10 a11 a120 0 1

I Projective: x′ = Hx, H ∈M3×3

25 iCSC2013 Carli S. Hellmich M. (CERN),

Page 26: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

2D Transformations summary

Transformation Matrix DoF preservestranslation [I t]2×3 2 orientationeuclidean [R t]2×3 3 lenghtssimilarity [sR t]2×3 4 anglesaffine [A]2×3 6 parallelism

projective [H]3×3 8 straight lines

One can begin asking himself: how difficult can be torecognize two things are the same after transformation?Transformation is applied by optical systems and positions!

26 iCSC2013 Carli S. Hellmich M. (CERN),

Page 27: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

3D Transformations summary

Transformation Matrix DoF preservestranslation [I t]3×4 3 orientationrigid (euclidean) [R t]3×4 6 lenghtssimilarity [sR t]3×4 7 anglesaffine [A]3×4 12 parallelism

projective [H]4×4 15 straight lines

27 iCSC2013 Carli S. Hellmich M. (CERN),

Page 28: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Projections (1)

28 iCSC2013 Carli S. Hellmich M. (CERN),

Page 29: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Projections (2)

29 iCSC2013 Carli S. Hellmich M. (CERN),

Page 30: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Projections (3)

30 iCSC2013 Carli S. Hellmich M. (CERN),

Page 31: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Projections (4)

Most used is 3D perspective:

x = Pz(p) =

x/zy/z

1

or

x =

1 0 0 00 1 0 00 0 1 00 0 0 0

p

31 iCSC2013 Carli S. Hellmich M. (CERN),

Page 32: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Camera intrinsics

Map 3D rays to 2D pixels onsensor:

xs = Kpc, K ∈M3×3

K is the calibration matrix:position of sensor relativeto lens

I Rotation

I Translation

I Scale (Sx , Sy )

32 iCSC2013 Carli S. Hellmich M. (CERN),

Page 33: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Camera intrisics and estrinsics

33 iCSC2013 Carli S. Hellmich M. (CERN),

Page 34: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Camera matrix: intrinsics + estrinsics

Adds rotation and translation of whole camera:

P = K [R t] ∈M3×4

The full rank version:

P =

[K 00T 1

] [R t0T 1

]is invertible and maps 3D world points pw = (xw, yw, zw, 1) toscreen coordinates xs = (xs , ys , 1, d)

34 iCSC2013 Carli S. Hellmich M. (CERN),

Page 35: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Other camera parameters

I Lens distortion (barrel, pincushion, fisheye)

I Chromatic aberration (glass index of refraction notconstant in wavelenght)

I Vignetting (brightness diminishes near borders) can be atleast partially overcome with proper camera models

35 iCSC2013 Carli S. Hellmich M. (CERN),

Page 36: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Lens distortions correction

A know pattern with as many known camera parameters aspossible is necessary for measuring lens characteristics

36 iCSC2013 Carli S. Hellmich M. (CERN),

Page 37: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Camera CCD structure

37 iCSC2013 Carli S. Hellmich M. (CERN),

Page 38: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Camera image sensing pipeline

38 iCSC2013 Carli S. Hellmich M. (CERN),

Page 39: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Contents

A bit of anatomy

Few words on the basics

Image processingTransforms

Filters

Image resolutionImage transformation

39 iCSC2013 Carli S. Hellmich M. (CERN),

Page 40: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Pixel transforms

I Operation pixel by pixel on one or more images (assumedof the same size): g(x) = h(f0(x), ..., fn(x))

I Different operators: contrast, brightness, linear imageblend, gamma correction

I Often requires conversions between different colorspaces!Example changing luminosity: add value to RGB of eachpixel affects contrast and hue as well; RGB → XYZ →increase Y luminance → RGB

40 iCSC2013 Carli S. Hellmich M. (CERN),

Page 41: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Few words on color spaces

41 iCSC2013 Carli S. Hellmich M. (CERN),

Page 42: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Histogram equalization

Problem: Determine best values for brightness, contrast, tone,etc.Common solution: individual color channels and luminancehistograms equalization

42 iCSC2013 Carli S. Hellmich M. (CERN),

Page 43: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Filters: linear operators

Most commonly used are linear filters:

g(i , j) =∑k,l

f (i − k , j − l)h(k , l) =∑k,l

f (k , l)h(i − k , j − l)

to obtain blurring, sharpening, smoothing, binaryzation...Note: boundary effects usually solved with different kinds ofimage padding (zero, constant, clamp, wrap...)

43 iCSC2013 Carli S. Hellmich M. (CERN),

Page 44: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Filters: nonlinear operators

I Non-linear operation: composition of filters becomes notcommutative

I May or may not maintain locality

I Can be applied iteratively

More effective than linear filters for sharpening, blur, noiseremoval

44 iCSC2013 Carli S. Hellmich M. (CERN),

Page 45: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Image resolution

Often it is needed to scale up or down images:

I Match size of different images (mix/compare/match)

I Visualization (Screen, print...)

I Appropriate resolution unknown: ex. face recognition,what’s the scale for the face?

45 iCSC2013 Carli S. Hellmich M. (CERN),

Page 46: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Interpolation and Decimation

Simplest forms:

I Linear interpolation (upsample):

g(i , j) =∑k,l

f (k , l)h(i − rk , j − rl)

I Linear interpolation (downsample):

g(i , j) =1

r

∑k,l

f (k , l)h(i − k

r, j − l

r)

The kernel h can be the same for interpolation and decimation!Better results can be obtained using higher order interpolation.

46 iCSC2013 Carli S. Hellmich M. (CERN),

Page 47: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Multi-resolution representations: Pyramids

Pyramid of images at different resolution

Constructed scaling down with low-pass filter to avoid aliasingUsed in coarse to fine search operations, pattern recognitionetc.

47 iCSC2013 Carli S. Hellmich M. (CERN),

Page 48: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Geometric transformation

It may be needed to rotate/warp an image

I using any geometric transformation: affine, projection

I or mesh-based warping

I can be complicated (introduction of holes, aliasing, imagedegradation)

I can be computationally expensive (to avoid degradation)

Many techniques available to overcome and optimize theproblem (vast literature)Let’s assume we can do this efficiently on image pyramids

48 iCSC2013 Carli S. Hellmich M. (CERN),

Page 49: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection

L1: Human vision and image pre-processing

Recap

I Vision is a difficult task...

I ...which requires understanding more than precision (forreal-life application as robotics)

I HVS comes from millions years of evolution aimed atmaximizing real life performance

I We see what we want (need?) to see, not what’s there!

I We have advanced mathematics able to describe 3Dworld and many of sensing characteristics efficiently

I We have efficient methods to perform the basic imagehandling needed for more advanced tasks

I But much more than this is needed! (useful) vision isprimarily a high level task.

49 iCSC2013 Carli S. Hellmich M. (CERN),

Page 50: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection
Page 51: An introduction to 3D image reconstruction and ... · Introduction to 3D image reconstruction Contents Lecture 1: Human vision and image pre-processing Lecture 2: Feature detection