3 D Photography Sensors Ioannis Stamos Perspective projection

  • Slides: 74
Download presentation
3 D Photography Sensors Ioannis Stamos

3 D Photography Sensors Ioannis Stamos

Perspective projection

Perspective projection

Pinhole & the Perspective Projection (x, y) SCREEN SCENE Is there an image being

Pinhole & the Perspective Projection (x, y) SCREEN SCENE Is there an image being formed on the screen? Ioannis Stamos – CSCI 493. 69 F 08

Pinhole Camera �“Camera obscura” – known since antiquity Image plane Image Object Pinhole camera

Pinhole Camera �“Camera obscura” – known since antiquity Image plane Image Object Pinhole camera Ioannis Stamos – CSCI 493. 69 F 08

Perspective Camera From Trucco & Verri r (x, y, z) Center of Projection r

Perspective Camera From Trucco & Verri r (x, y, z) Center of Projection r =[x, y, z]T r’=[X, Y, Z]T r/f=r’/Z f: effective focal length: distance of image plane from O. Ioannis Stamos – CSCI 493. 69 F 08 r’ (X, Y, Z) x=f * X/Z y=f * Y/Z z=f

Magnification From Trucco & Verri (x, y) Center of Projection x/f=X/Z y/f=Y/Z d (x+dx,

Magnification From Trucco & Verri (x, y) Center of Projection x/f=X/Z y/f=Y/Z d (x+dx, y+dy) (x+dx)/f=(X+d. X)/Z (y+dy)/z=(Y+d. Y)/Z Ioannis Stamos – CSCI 493. 69 F 08 (X, Y, Z) d’ (X+d. X, Y+d. Y, Z) => dx/f=d. X/Z dy/f=d. Y/Z

Magnification From Trucco & Verri (x, y) (X, Y, Z) d Center of Projection

Magnification From Trucco & Verri (x, y) (X, Y, Z) d Center of Projection d’ (x+dx, y+dy) (X+d. X, Y+d. Y, Z) Magnification: |m|=||d’||/||d||=|f/Z| or m=f/Z m is negative when image is inverted… Ioannis Stamos – CSCI 493. 69 F 08

Implications For Perception* Same size things get smaller, we hardly notice… Parallel lines meet

Implications For Perception* Same size things get smaller, we hardly notice… Parallel lines meet at a point… * A Cartoon Epistemology: http: //cns-alumni. bu. edu/~slehar/cartoonepist. html Ioannis Stamos – CSCI 493. 69 F 08

Vanishing Points (from NALWA) Ioannis Stamos – CSCI 493. 69 F 08

Vanishing Points (from NALWA) Ioannis Stamos – CSCI 493. 69 F 08

Vanishing points H VPL VPR VP 2 VP 1 Different directions correspond to different

Vanishing points H VPL VPR VP 2 VP 1 Different directions correspond to different vanishing points Ioannis Stamos – CSCI 493. 69 F 08 VP 3 Marc Pollefeys

3 D is different…

3 D is different…

3 D Data Types: Volumetric Data �Regularly-spaced grid in (x, y, z): “voxels” �For

3 D Data Types: Volumetric Data �Regularly-spaced grid in (x, y, z): “voxels” �For each grid cell, store �Occupancy (binary: occupied / empty) �Density �Other properties �Popular in medical imaging �CAT scans �MRI

Voxelized example

Voxelized example

3 D Data Types: Surface Data �Polyhedral �Piecewise planar �Polygons connected together �Most popular:

3 D Data Types: Surface Data �Polyhedral �Piecewise planar �Polygons connected together �Most popular: “triangle meshes” �Smooth �Higher-order (quadratic, cubic, etc. ) curves �Bézier patches, splines, NURBS, subdivision surfaces, etc.

Example of triangle mesh

Example of triangle mesh

2½-D Data �Image: stores an intensity / color along each of a set of

2½-D Data �Image: stores an intensity / color along each of a set of regularly-spaced rays in space �Range image: stores a depth along each of a set of regularly-spaced rays in space �Not a complete 3 D description: does not store objects occluded (from some viewpoint) �View-dependent scene description

2½-D Data �This is what most sensors / algorithms really return �Advantages �Uniform parameterization

2½-D Data �This is what most sensors / algorithms really return �Advantages �Uniform parameterization �Adjacency / connectivity information �Disadvantages �Does not represent entire object �View dependent

2½-D Data �Range images �Range surfaces �Depth images �Depth maps �Height fields � 2½-D

2½-D Data �Range images �Range surfaces �Depth images �Depth maps �Height fields � 2½-D images �Surface profiles �xyz maps �…

Example of range image

Example of range image

Point Clouds �A collection of 3 D points �Order does not matter �Usually the

Point Clouds �A collection of 3 D points �Order does not matter �Usually the concatenation of various range images

Example point clouds

Example point clouds

Example of point clouds

Example of point clouds

Range Acquisition Taxonomy Mechanical (CMM, jointed arm) Contact Inertial (gyroscope, accelerometer) Ultrasonic trackers Magnetic

Range Acquisition Taxonomy Mechanical (CMM, jointed arm) Contact Inertial (gyroscope, accelerometer) Ultrasonic trackers Magnetic trackers Range acquisition Industrial CT Transmissive Ultrasound MRI Non-optical Reflective Optical Radar Sonar

Range Acquisition Taxonomy Shape from X: Passive Optical methods stereo motion shading texture focus

Range Acquisition Taxonomy Shape from X: Passive Optical methods stereo motion shading texture focus defocus Active variants of passive methods Active Stereo w. projected texture Active depth from defocus Photometric stereo Time of flight Triangulation

Optical Range Acquisition Methods �Advantages: �Non-contact �Safe �Usually inexpensive �Usually fast �Disadvantages: �Sensitive to

Optical Range Acquisition Methods �Advantages: �Non-contact �Safe �Usually inexpensive �Usually fast �Disadvantages: �Sensitive to transparency �Confused by specularity and interreflection �Texture (helps some methods, hurts others)

Stereo �Find feature in one image, search along epipolar line in other image for

Stereo �Find feature in one image, search along epipolar line in other image for correspondence

Stereo Vision depth map

Stereo Vision depth map

Triangulation Z-axis Z cl pl X-axis Ol Fixation Point: Infinity. Parallel optical axes. P

Triangulation Z-axis Z cl pl X-axis Ol Fixation Point: Infinity. Parallel optical axes. P cr pr f Or T Left Camera Right Camera Calibrated Cameras Similar triangles: d: disparity (difference in retinal positions). T: baseline. Depth (Z) is inversely proportional to d (fixation at infinity)

Traditional Stereo Inherent problems of stereo: Need textured surfaces Matching problem Baseline trade-off Unstructured

Traditional Stereo Inherent problems of stereo: Need textured surfaces Matching problem Baseline trade-off Unstructured point set However Cheap (price, weight, size) Mobile Depth plus Color Sparse estimates Unreliable results

Why More Than 2 Views? �Baseline �Too short – low accuracy �Too long –

Why More Than 2 Views? �Baseline �Too short – low accuracy �Too long – matching becomes hard

Multibaseline Stereo [Okutami & Kanade]

Multibaseline Stereo [Okutami & Kanade]

Shape from Motion �“Limiting case” of multibaseline stereo �Track a feature in a video

Shape from Motion �“Limiting case” of multibaseline stereo �Track a feature in a video sequence �For n frames and f features, have 2 n f knowns, 6 n+3 f unknowns

Photometric Stereo Setup [Rushmeier et al. , 1997]

Photometric Stereo Setup [Rushmeier et al. , 1997]

Photometric Stereo Use multiple light sources to resolve ambiguity In surface orientation. Note: Scene

Photometric Stereo Use multiple light sources to resolve ambiguity In surface orientation. Note: Scene does not move – Correspondence between points in different images is easy! Notation: Direction of source i: or Image intensity produced by source i:

Lambertian Surfaces (special case) Use THREE sources in directions Image Intensities measured at point

Lambertian Surfaces (special case) Use THREE sources in directions Image Intensities measured at point (x, y): orientation albedo

Photometric Stereo: RESULT INPUT orientation albedo

Photometric Stereo: RESULT INPUT orientation albedo

Data Acquisition Example Color Image of Thomas Hunter Building, New York City. Range Image

Data Acquisition Example Color Image of Thomas Hunter Building, New York City. Range Image of same building. One million 3 D points. Pseudocolor corresponds to laser intensity.

Time-of-flight scanners Also known as LIDAR Light Detection And Ranging

Time-of-flight scanners Also known as LIDAR Light Detection And Ranging

Data Acquisition Spot laser scanner. Time of flight. Max Range: 100 meters. Scanning time:

Data Acquisition Spot laser scanner. Time of flight. Max Range: 100 meters. Scanning time: 16 minutes for one million points. Accuracy: ~6 mm per range point

Data Acquisition Leica Scan. Station 2 Spherical field of view. Registered color camera. Max

Data Acquisition Leica Scan. Station 2 Spherical field of view. Registered color camera. Max Range: 300 meters. Scanning time: 2 -3 times faster Accuracy: ~5 mm per range point

Data Acquisition, Leica Scan Station 2, Park Avenue and 70 th Street, NY

Data Acquisition, Leica Scan Station 2, Park Avenue and 70 th Street, NY

Cyclone view and Cyrax Video

Cyclone view and Cyrax Video

Pulsed Time of Flight �Send out pulse of light (usually laser), time how long

Pulsed Time of Flight �Send out pulse of light (usually laser), time how long it takes to return

Pulsed Time of Flight �Advantages: �Large working volume (more than 100 m. ) �Disadvantages:

Pulsed Time of Flight �Advantages: �Large working volume (more than 100 m. ) �Disadvantages: �Not-so-great accuracy (at best ~5 mm. ) � Requires getting timing to ~30 picoseconds � Does not scale with working volume �Often used for scanning buildings, rooms, archeological sites, etc.

Data Acquisition, Leica Scan Station 2, Park Avenue and 70 th Street, NY

Data Acquisition, Leica Scan Station 2, Park Avenue and 70 th Street, NY

Video

Video

Other range sensors (some based on Prime. Sense/Kinect) Dot. Product Matterport Google Project Tango

Other range sensors (some based on Prime. Sense/Kinect) Dot. Product Matterport Google Project Tango Prototype

Real-time range sensors == self driving cars

Real-time range sensors == self driving cars

Open datasets �KITTI <self driving> http: //www. cvlibs. net/datasets/kitti/ �Waymo (just announced) <self driving>

Open datasets �KITTI <self driving> http: //www. cvlibs. net/datasets/kitti/ �Waymo (just announced) <self driving> https: //waymo. com/open/ • Sun. RGBD <indoor> http: //rgbd. cs. princeton. edu/

Park Avenue: Six registered scans (top view)

Park Avenue: Six registered scans (top view)

3 D PHOTOGRAPHY EXAMPLE Ten scans were acquired of façade of Thomas Hunter Building

3 D PHOTOGRAPHY EXAMPLE Ten scans were acquired of façade of Thomas Hunter Building (NYC) Automatic registration. Each scan has a different color. Registration details

3 D PHOTOGRAPHY EXAMPLE 24 scans were acquired of façade of Shepard Hall (City

3 D PHOTOGRAPHY EXAMPLE 24 scans were acquired of façade of Shepard Hall (City College of NY)

TEXTURE MAP ANIMATION

TEXTURE MAP ANIMATION

Optical Triangulation Sources of error: 1) grazing angle, 2) object boundaries. Sheet of light

Optical Triangulation Sources of error: 1) grazing angle, 2) object boundaries. Sheet of light Lens CCD array

Optical Triangulation Sources of error: 1) grazing angle, 2) object boundaries. Sheet of light

Optical Triangulation Sources of error: 1) grazing angle, 2) object boundaries. Sheet of light Lens CCD array

Active Optical Triangulation Light Stripe System. Zc Yc Xc Light Plane: AX+BY+CZ+D=0 (in camera

Active Optical Triangulation Light Stripe System. Zc Yc Xc Light Plane: AX+BY+CZ+D=0 (in camera frame) Image Point: x=f X/Z, y=f Y/Z (perspective) Image Triangulation: Z=-D f/(A x + B y + C f) Move light stripe or object.

Triangulation

Triangulation

Triangulation: Moving the Camera and Illumination �Moving independently leads to problems with focus, resolution

Triangulation: Moving the Camera and Illumination �Moving independently leads to problems with focus, resolution �Most scanners mount camera and light source rigidly, move them as a unit

Triangulation: Moving the Camera and Illumination

Triangulation: Moving the Camera and Illumination

Triangulation: Moving the Camera and Illumination

Triangulation: Moving the Camera and Illumination

The Digital Michelangelo Project

The Digital Michelangelo Project

Marc Levoy (Stanford) � calibrated motions � pitch (yellow) � pan (blue) � horizontal

Marc Levoy (Stanford) � calibrated motions � pitch (yellow) � pan (blue) � horizontal translation (orange) � uncalibrated motions � vertical translation � remounting the scan head � moving the entire gantry

Scanner design 4 motorized axes laser, range camera, white light, and color camera truss

Scanner design 4 motorized axes laser, range camera, white light, and color camera truss extensions for tall statues

Scanning the David height of gantry: weight of gantry: 7. 5 meters 800 kilograms

Scanning the David height of gantry: weight of gantry: 7. 5 meters 800 kilograms

Triangulation Scanner Issues �Accuracy proportional to working volume (typical is ~1000: 1) �Scales down

Triangulation Scanner Issues �Accuracy proportional to working volume (typical is ~1000: 1) �Scales down to small working volume (e. g. 5 cm. working volume, 50 m. accuracy) �Does not scale up (baseline too large…) �Two-line-of-sight problem (shadowing from either camera or laser) �Triangulation angle: non-uniform resolution if too small, shadowing if too big (useful range: 15 -30 )

Triangulation Scanner Issues �Accuracy proportional to working volume (typical is ~1000: 1) �Scales down

Triangulation Scanner Issues �Accuracy proportional to working volume (typical is ~1000: 1) �Scales down to small working volume (e. g. 5 cm. working volume, 50 m. accuracy) �Does not scale up (baseline too large…) �Two-line-of-sight problem (shadowing from either camera or laser) �Triangulation angle: non-uniform resolution if too small, shadowing if too big (useful range: 15 -30 )

Multi-Stripe Triangulation �To go faster, project multiple stripes �But which stripe is which? �Answer

Multi-Stripe Triangulation �To go faster, project multiple stripes �But which stripe is which? �Answer #1: assume surface continuity

Multi-Stripe Triangulation �To go faster, project multiple stripes �But which stripe is which? �Answer

Multi-Stripe Triangulation �To go faster, project multiple stripes �But which stripe is which? �Answer #2: colored stripes (or dots)

Multi-Stripe Triangulation �To go faster, project multiple stripes �But which stripe is which? �Answer

Multi-Stripe Triangulation �To go faster, project multiple stripes �But which stripe is which? �Answer #3: time-coded stripes

Time-Coded Light Patterns �Assign each stripe a unique illumination code over time [Posdamer 82]

Time-Coded Light Patterns �Assign each stripe a unique illumination code over time [Posdamer 82] Time Space

Laser-based Sensing Provides solutions Dense & reliable Regular grid Adjacency info But Complex &

Laser-based Sensing Provides solutions Dense & reliable Regular grid Adjacency info But Complex & large point sets Redundant point sets No color information (explain this) Expensive, non-mobile Mesh

Major Issues Registration of point sets Global and coherent geometry remove redundancy handle holes

Major Issues Registration of point sets Global and coherent geometry remove redundancy handle holes handle all types of geometries Handle complexity Fast Rendering

Representations of 3 D Scenes Geometry and Material Geometry and Images with Depth Panorama

Representations of 3 D Scenes Geometry and Material Geometry and Images with Depth Panorama with Depth Light-Field/Lumigraph Facade Panorama Colored Voxels Complete description Global Geometry Traditional texture mapping Local Geometry Scene as a light source No/Approx. Geometry False Geometry

Head of Michelangelo’s David photograph 1. 0 mm computer model

Head of Michelangelo’s David photograph 1. 0 mm computer model