On Computing Exact Visual Hulls of Solids Bounded by Smooth

advertisement
Projective Visual Hulls
Svetlana Lazebnik
Beckman Institute
University of Illinois
Joint work with
Edmond Boyer
INRIA Rhône-Alpes
Jean Ponce
Beckman Institute
What Is a Visual Hull?
• The visual hull of an object with
respect to a set of input views
is…
– The maximal shape that yields the
same silhouettes as the original
object in all the input views.
– The intersection of the solid visual
cones formed by back-projecting
the silhouettes in all the input views.
Visual Hull: A 2D Example
O1
O2
O3
Previous Work
• Theory
– Laurentini ’94, Petitjean ’98, Laurentini ’99
• Solid cone intersection:
– Baumgart ’74 (polyhedra), Szeliski ’93 (octrees)
• Image-based visual hulls
– Matusik et al. ’00, Matusik et al. ’01
• Advanced modeling
– Sullivan & Ponce ’98, Cross & Zisserman ’00,
Matusik et al. ’02
• Applications
– Leibe et al. ’00, Lok ’01, Shlyakhter et al. ’01
This Talk
• S. Lazebnik, E. Boyer, and J. Ponce.
‘‘On Computing Exact Visual Hulls of Solids
Bounded by Smooth Surfaces,’’ CVPR 2001.
• Key contributions:
– Computing the visual hull based on weakly calibrated
cameras
– Exact boundary representations
• The rim mesh
• The visual hull mesh
• Mathematical techniques
– Oriented Projective Geometry [Stolfi ’91]
– Projective Differential Geometry
The Setup
How Do Visual Cones Intersect?
How Do Visual Cones Intersect?
How Do Visual Cones Intersect?
How Do Visual Cones Intersect?
Frontier Point
How Do Visual Cones Intersect?
How Do Visual Cones Intersect?
Intersection
Points
Frontier Points
How Do Visual Cones Intersect?
Cone Strips
Visual Hull As Topological Polyhedron
• Vertices: frontier points +
intersection points
• Edges: intersection curve
segments
• Faces: visual cone patches
Visual Hull Mesh
The Arrangement of Rims on the
Surface of the Object
• Vertices: frontier points
• Edges: rim segments
• Faces: regions on the
surface of the object
Rim Mesh
Image-Based Computation
Weak calibration is sufficient
The visual hull is an (oriented)
projective construction
Computing the Rim Mesh
Rim Mesh Example
104 frontier points
Tracing Intersection Curves
Use transfer for reprojection
Tracing Intersection Curves
Tracing Intersection Curves
Tracing Intersection Curves
Finding Intersection Points
Finding Intersection Points
The Egg (synthetic, 6 views)
24 frontier points, 44 triple points
The Egg: Visual Hull Mesh and Strips
Real Data: Non-Singular Intersection
Curves
Real Data: Non-Singular Intersection
Curves
Real Data: Non-Singular Intersection
Curves
Non-Singular Intersections: Example
The Gourd – 9 views, 96 frontier points
The Gourd
The Teapot – 9 views, 104 frontier
points
The Vase – 6 views, 30 frontier points
Summary
• Exact visual hulls:
geometric and topological representations
– The rim mesh
– The visual hull mesh
• Oriented projective framework
– Weak calibration is enough for an image-based
algorithm to compute the visual hull
Oriented Projective Geometry
• Motivation: real cameras see only what is in front
of them
• Conventional projective space:
Pn = (Rn+1 – {0}) / ~
x ~ y iff x = ay, a  0.
• Oriented projective space:
Tn = (Rn+1 – {0}) / ~
• Two-sided model
of the image plane
x ~ y iff x = ay, a > 0.
Back range
Front range
The line at infinity
Example: Orienting Epipolar Lines
X
xj
xi
Oi
ej
ei
A simple case
Oj
Example: Orienting Epipolar Lines
X
Wrong!
xj
xi
Oi
ej
ei
Oj
We’re in trouble
Example: Orienting Epipolar Lines
X
Flip orientation
of the epipole
xj
xi
Oi
ej
ei
Oj
Correct solution
Rediscovering Projective
Differential Geometry
• Motivation: projective reconstruction of smooth
curves and surfaces
• A surface in P3 (in homogeneous coordinates):
x(u,v) = (x1(u,v), x2(u,v), x3(u,v), x4(u,v))T
• A projective differential property is a property that
remains invariant under the following
transformations:
– Rescaling of the homogeneous coordinates
a(u,v) x(u,v)
– Reparametrization
x(u(s,t), v(s,t))
– Projective transformation
Mx(u,v)
Projective Differential Property:
Local Shape
From [Pae & Ponce, ‘99]
Elliptic
K>0
Hyperbolic
K<0
Parabolic
K=0
K = LN – M2
L = |x, xu, xv, xuu|, M = |x, xu, xv, xuv|, N = |x, xu, xv, xvv|.
Projective Differential Property:
Local Shape
Elliptic:
No asymptotic
tangents
Hyperbolic:
Two asymptotic
tangents
Parabolic:
One asymptotic
tangent
Oriented Projective Differential
Geometry (Curves in 2)
• A curve in T2 (in homogeneous coordinates):
x(t) = (x1(t), x2(t), x3(t))T
• An oriented projective differential property is a
property that remains invariant under the following
transformations:
– Rescaling of the homogeneous coordinates by a
positive function
a(t)x(t),
a(t) > 0
– Orientation-preserving change of parameter
x(t(s)),
dt/ds > 0
– Orientation-preserving projective transformation
Mx(t),
det M > 0
An Oriented Projective Differential
Property
Inflection
k=0
Concave
Point
Convex
Point
k<0
k>0
k = |x, x, x|
Koenderink’s Theorem: sgn K = sgn k
Parabolic
Hyperbolic
Elliptic
Inflection
Convex
Concave
Application: Rim Ordering
Ri
X
Rj
xi
xj
li
Oi
lj
Oj
Application: Rim Ordering
Ri
X
Rj
xi
xj
ti
Oi
tj
Oj
Rim Ordering
Rj
Ri
X
X
Rj
Ri
k (ti  li) > 0
k (ti  li) <
0
Rim Ordering and Local Shape
Rj
Ri
Ri
Rj
Oi
Oj
Elliptic
Oi
Oj
Hyperbolic
References
• Oriented Projective Geometry
– Framework: Stolfi ’91
– Applications to computer vision: Laveau & Faugeras ’96,
Hartley ’98, Werner & Pajdla ’00, Werner & Pajdla ’01
• Projective Differential Geometry
– Textbooks: Lane ’32, Bol ’50 (3 volumes, in German)
Download