Fast Multiple-baseline Stereo with Occlusion Marc-Antoine Drouin - - PowerPoint PPT Presentation

fast multiple baseline stereo with occlusion
SMART_READER_LITE
LIVE PREVIEW

Fast Multiple-baseline Stereo with Occlusion Marc-Antoine Drouin - - PowerPoint PPT Presentation

Fast Multiple-baseline Stereo with Occlusion Marc-Antoine Drouin Martin Trudeau S ebastien Roy { drouim,trudeaum,roys } @iro.umontreal.ca June 2005 Overview Introduction. Previous Works. Observation. Our Algorithm.


slide-1
SLIDE 1

Fast Multiple-baseline Stereo with Occlusion

Marc-Antoine Drouin Martin Trudeau S´ ebastien Roy {drouim,trudeaum,roys}@iro.umontreal.ca June 2005

slide-2
SLIDE 2

Overview

  • Introduction.
  • Previous Works.
  • Observation.
  • Our Algorithm.
  • Experimental Results.
  • Conclusion.

1

slide-3
SLIDE 3

Dense Stereo

X Y Left Right Depth map Near Far

2 cameras

  • For each pixel in the left image we try to find the

corresponding pixel in the right image.

  • The resulting displacement for that pixel (disparity) re-

lates to the distance between the object and the reference camera.

2

slide-4
SLIDE 4

Dense Stereo

E(f) =

  • p∈P

e(p, f(p))

  • likelihood

+smoothing. 2 cameras

  • P : set of reference pixels.
  • f : disparity map.
  • Hypothesis : for each reference pixel corresponds a sup-

porting pixel.

3

slide-5
SLIDE 5

Camera Configuration

bottom top left right ref

  • 5 cameras in cross configuration.
  • Disparity map is computed for the central camera.
  • In red, examples of occlusion.

4

slide-6
SLIDE 6

Disparity and Visibility Maps

bottom top left right ref

Reference camera

  • One disparity for each pixel.
  • One visibility mask for each pixel.
  • i.e. mask (0, 0, 0, 1).

5

slide-7
SLIDE 7

Multi-camera and Occlusion

E(f, g) =

  • p∈P

e(p, f(p), g(p)) + smoothing. with g(p) = V (p|f(p), f) ∀p ∈ P

  • f disparity map.
  • g visibility mask map.

6

slide-8
SLIDE 8

Nakamura96

less plausible

✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ☎ ☎ ☎ ☎ ☎ ☎ ☎ ☎ ☎ ☎ ☎ ☎ ☎ ☎ ☎ ☎ ☎ ☎ ✆ ✆ ✆ ✆ ✆ ✆ ✆ ✆ ✆ ✆ ✆ ✆ ✆ ✆ ✆ ✆ ✆ ✆ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✞ ✞ ✞ ✞ ✞ ✞ ✞ ✞ ✞ ✞ ✞ ✞ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✠ ✠ ✠ ✠ ✠ ✠ ✠ ✠ ✠ ✠ ✠ ✠ ✠ ✠ ✠ ✠ ✡ ✡ ✡ ✡ ✡ ✡ ✡ ✡ ✡ ✡ ✡ ✡ ✡ ✡ ✡ ☛ ☛ ☛ ☛ ☛ ☛ ☛ ☛ ☛ ☛ ☛ ☛ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✌ ✍ ✍ ✍ ✍ ✍ ✍ ✍ ✍ ✍ ✍ ✍ ✍ ✍ ✍ ✍ ✍ ✍ ✍ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✏ ✏ ✏ ✏ ✏ ✏ ✏ ✏ ✏ ✏ ✏ ✏ ✏ ✏ ✏ ✏ ✏ ✏ ✑ ✑ ✑ ✑ ✑ ✑ ✑ ✑ ✑ ✑ ✑ ✑ ✑ ✑ ✑ ✑ ✑ ✑ ✒ ✒ ✒ ✒ ✒ ✒ ✒ ✒ ✒ ✒ ✒ ✒ ✒ ✒ ✒ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✕ ✕ ✕ ✕ ✕ ✕ ✕ ✕ ✕ ✕ ✕ ✕ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✙ ✙ ✙ ✙ ✙ ✙ ✙ ✙ ✙ ✙ ✙ ✙ ✙ ✙ ✙ ✙ ✙ ✙ ✙ ✙ ✙ ✙ ✙ ✙ ✚ ✚ ✚ ✚ ✚ ✚ ✚ ✚ ✚ ✚ ✚ ✚ ✚ ✚ ✚ ✚ ✚ ✚ ✛ ✛ ✛ ✛ ✛ ✛ ✛ ✛ ✛ ✛ ✛ ✛ ✛ ✛ ✛ ✛ ✛ ✛ ✜ ✜ ✜ ✜ ✜ ✜ ✜ ✜ ✜ ✜ ✜ ✜ ✜ ✜ ✜ ✢ ✢ ✢ ✢ ✢ ✢ ✢ ✢ ✢ ✢ ✢ ✢ ✢ ✢ ✢

plausible

Occlusion

  • Some masks are very probable.
  • Some masks are improbable.
  • We can pre-compute a sub-set Mh of plausible masks.

7

slide-9
SLIDE 9

Nakamura96, Park97, Kang01 and Besnerais04

g∗

f(p) = arg min m∈Mh

e(p, f(p), m) w(m) then, E(f, g∗

f) =

  • p∈P

e(p, f(p), g∗

f(p)) + smoothing

Occlusion

  • Hypothesis : photo-consistency ⇒ correct visibility.
  • Visibility is heuristic.

8

slide-10
SLIDE 10

Occlusion Zones in Stereo

Cumulative histogram of likelihood term

  • Black : non-occluded pixels.
  • Red :occluded pixels.

10 20 30 40 50 60 70 80 Tsukuba Direct search 0.2 0.4 0.6 0.8 1 10 20 30 40 50 60 70 80 Venus Direct search 0.2 0.4 0.6 0.8 1 10 20 30 40 50 60 70 80 Sawtooth Direct search 0.2 0.4 0.6 0.8 1 10 20 30 40 50 60 70 80 Map Direct search 0.2 0.4 0.6 0.8 1 10 20 30 40 50 60 70 80 Tsukuba Ground truth 0.2 0.4 0.6 0.8 1 10 20 30 40 50 60 70 80 Venus Ground truth 0.2 0.4 0.6 0.8 1 10 20 30 40 50 60 70 80 Sawtooth Ground truth 0.2 0.4 0.6 0.8 1 10 20 30 40 50 60 70 80 Map Ground truth 0.2 0.4 0.6 0.8 1

  • Photo-consistency ⇒ geo-consistency.
  • Show the limitation of heuristic approaches.

9

slide-11
SLIDE 11

Geo-consistency

All masks are consistent with the scene geometry. g(p) ≤ V (p|f(p), f) ∀p ∈ P Nakamura96

  • Using an occluded camera ⇒ important artifact.
  • Not using a visible camera ⇒ no impact.

10

slide-12
SLIDE 12

Kolmogorov02, Faugeras98 and Drouin05

E(f, g) =

  • p∈P

e(p, f(p), g(p)) + smoothing with g(p) ≤ V (p|f(p), f) ∀p ∈ P Occlusion

  • Kolmogorov : jumps from one geo-consistent configura-

tion to another.

  • Faugeras : level set (continuous framework).
  • Drouin : starts from a non geo-consistent solution and

converges to one which is.

  • One common feature : hard to solve.

11

slide-13
SLIDE 13

Disparities and Occlusions

camera

xi xj di dj xj xi dj di

continuous not continuous

camera

Continuous representation

  • Occlusion : xi + di ≥ xj + dj

Discontinuous representation

  • Occlusion : xi + di = xj + dj

12

slide-14
SLIDE 14

Disparities and Occlusions

camera

xi xj di dj xj xi dj di

continuous not continuous

camera

Continuous representation

  • Occlusion occurs when

max

0≤k<j(k + dk) ≥ j + dj

  • Occlusion at j depends on visibility at < j.
  • Efficiently computed.

13

slide-15
SLIDE 15

Dynamic Programming

✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁

disparity

i−1 d+2 d+1 d−2 d−3 d d−1 i−2 i−3 i−4 i−5 i

pixel

14

slide-16
SLIDE 16

Visibility Masks

unknown visibility

Left

unknown visibility

to be minimized already minimized Top Right Bottom known visibility known visibility

Occlusion

  • Cameras can be split in 2 sets CG and CH.
  • 2 sets of masks are build MG and MH.
  • Sets depend on the order in which lines are processed.

15

slide-17
SLIDE 17

Visibility Masks

unknown visibility

Left

unknown visibility

to be minimized already minimized Top Right Bottom known visibility known visibility

Masks Mg = { (0,1,0,0),(0,0,0,1),(0,1,0,1) } Mh = { (1,0,0,0),(0,0,1,0) }

Occlusion

  • Camera order (left, right, top, bottom).
  • In bold : cameras belonging to Cg.

16

slide-18
SLIDE 18

Energy Function

E(f, g) =

  • p∈P

e(p, f(p), g(p)) + smoothing with g(p) =    a mask in Mg arg min

m∈Mh

e(p, f(p), m) if a camera in Cg is visible

  • therwise

Configuration of low energy.

17

slide-19
SLIDE 19

Disparity and Visibility smoothing

Visibility map Disparity map

  • Difference of depth between two neighbor pixels.
  • Change in the set of masks (Mh and Mg).
  • Smoothing function may have any shape.

18

slide-20
SLIDE 20

2 Steps Smoothing

Passive Smoothing Active Smoothing

Iterative Dynamic Programming (Leung04)

19

slide-21
SLIDE 21

Experimental Results

Tsukuba Head and Lamp

  • 384 × 288 with 16 disparity steps.
  • 5 images in cross shape configuration were used.

20

slide-22
SLIDE 22

Experimental Results

|f(p) − fT(p)| > 1

  • An error of 1 could be the result of discretization.
  • Standard metric.

21

slide-23
SLIDE 23

Experimental Results

Algorithms Error Ours + IDP (16 iterations) 1.57% Ours + IDP (4 iterations) 1.67% Nakamura96+ Graph Cut 1.77% Ours + IDP (1 iteration) 1.82% Kolmogorov02 2.30% Nakamura96 + IDP (12 iterations) 2.35% Drouin05 +BNV 2.46%

22

slide-24
SLIDE 24

Experimental Results

Middlebury sequence

  • 334 × 383 with 20 disparity steps.
  • 6 scenes with 7 images each in single baseline configura-

tion were used.

23

slide-25
SLIDE 25

Experimental Results

Middlebury sequence algorithms barn1 barn2 bull poster venus sawtooth average Graph Cut (no occlusion) 3.5 % 3.1 % 0.7 % 3.7 % 3.4 % 3.3% 3.0% IDP (no occlusion) 3.0 % 4.9% 1.2% 6.0 % 5.8% 3.7% 4.1% Drouin05 +Graph Cut 0.8 % 0.6 % 0.4 % 1.1 % 2.4 % 1.1 % 1.3% Nakamura96 + Graph Cut 1.4 % 1.5 % 0.9 % 1.1 % 4.0 % 1.5% 1.7% Ours +IDP 0.7 % 3.9 % 0.8 % 4.0 % 5.3% 1.0 % 2.6% Nakamura96 + IDP 1.6 % 6.0 % 1.9 % 4.5 % 7.4% 2.2 % 3.9%

  • The camera configuration is not favorable to our ap-

proach.

24

slide-26
SLIDE 26

Experimental Results

Tsukuba sequence

  • 320 × 240 with about 24 disparity steps.
  • 5 images in cross shape configuration were used.

25

slide-27
SLIDE 27

Conclusion

Summary

  • Hybrid between geo-consistent and heuristic approaches.
  • Fast and can easily be parallelized.
  • Code can be download from :

www.iro.umontreal.ca/~drouim/ Future work

  • Generalizing to arbitrary camera configurations.

Wish list

  • Designing an hardware implementation in FPGA.

26

slide-28
SLIDE 28

Ordering Constraint

2 1 2 1 2 1 2 1 1 2 2 1

  • The order in which two objects are encounter along an

epipolar line does not change.

  • Not always true.

27

slide-29
SLIDE 29

Ordering Constraint

2 1 2 1 2 1 2 1 1 2 2 1

  • Continuous mesh ⇒ ordering constraint.
  • On the masks but not on the geometry.

28

slide-30
SLIDE 30

Experimental Results

20 40 60 80 20 40 60 80 0.02 0.04 0.06 0.08 20 40 60 80

20 40 60 80 20 40 60 80 0.02 0.04 0.06 0.08 20 40 60 80

v i s i b i l i t y s m

  • t

h i n g d i s p a r i t y s m

  • t

h i n g errors

Resistance to change of the smoothing parameter.

29