the size of the 3d visibility skeleton: analysis and
TRANSCRIPT
The Size of the 3D Visibility Skeleton:Analysis and Application
Ph.D. thesis proposal
Linqiao Zhang
School of Computer Science, McGill University
March 20, 2008
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 1/41
Overview
the visibility problem and its related literature
experimental study of the size of the visibility skeletonin 3D
a succinct 3D visibility skeleton
a new application to motion planning
summary of my thesis status
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 2/41
The Visibility Problem
Given a set of input objects, what an object can see?
application: computer graphics, robotics, computer vision
two types of problems:
easy: enquire visibility information from a fixed direction.
solutions: ray shooting ...
harder: enquire visibility information from all directions
solutions: discretization; visibility skeleton data structure ...
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 3/41
Visibility Skeleton
a graph that contains vertices and arcs
vertex: corresponds to a maximal free line segmentthat has 0-degrees of freedom
arc: corresponds to a set of maximal free linesegments that have 1-degree of freedom, and formone connected component
in 2D:
1
4
3
2AB
4
1 2
3
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 4/41
Visibility Skeleton
a graph that contains vertices and arcs
vertex: corresponds to a maximal free line segmentthat has 0-degrees of freedom
arc: corresponds to a set of maximal free linesegments that have 1-degree of freedom, and formone connected component
in 3D:
1
2
3
4
55
2 1
3
4
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 4/41
Visibility Skeleton in 2D
only one type of skeleton vertex in 2D:
1
4
3
2AB A B
4
2
3
1
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 5/41
Visibility Skeleton in 2D
only one type of skeleton vertex in 2D:
1
4
3
2AB A B
4
2
3
1
only one type of skeleton arc in 2D:
1
4
3
2AB A B
4
2
3
1
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 5/41
Visibility Skeleton in 3D
eight types of skeleton vertices in 3D:
ee2
e
3
1
e
4
v
e
e
3
1e
2
e
4
e
e
3
4
2
e1
ef
v2
v1
e
e
e
e3
4
1
2
EEEE VEE FEE VV
f
2
1
e
4
e3
f
e
e
1
2
1
e
e e2
e3
4
v
fe
f
v
v
f
FF FvE FE FVV
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 6/41
Visibility Skeleton in 3D
four types of skeleton arcs in 3D:
e 1
e2
e 3
e
v
ef
f
v
v
v
EEE VE FE FVE
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 6/41
Literature
visibility skeleton (complex):
2D: theory [G. Vegter, M. Pocchiola, 93]; implementation [P.Angelier, M. Pocchiola, 03]
3D: theory [F. Durand, G. Drettakis, C. Puech, 97]; brute forceimplementation [F. Durand, 97]
size of the visibility skeleton: when k is the number of inputobjects (e.g. polygons, polytopes, discs, spheres) and n is the totalnumber of edges
2D: worst case: Θ(k2); experimental evidence: Θ(k) [F.Cho, D. Forsyth, 99]
3D: worst case: Θ(n4); experimental evidence: Θ(n2)[F. Durand et al. 99]
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 7/41
Literature
visibility skeleton (complex):
2D: theory [G. Vegter, M. Pocchiola, 93]; implementation [P.Angelier, M. Pocchiola, 03]
3D: theory [F. Durand, G. Drettakis, C. Puech, 97]; brute forceimplementation [F. Durand, 97]
size of the visibility skeleton: when k is the number of inputobjects (e.g. polygons, polytopes, discs, spheres) and n is the totalnumber of edges
2D: worst case: Θ(k2); experimental evidence: Θ(k) [F.Cho, D. Forsyth, 99]
3D: worst case: Θ(n4); experimental evidence: Θ(n2)[F. Durand et al. 99]
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 7/41
Literature – cont.
more on size of the 3D visibility skeleton:
worst case: Θ(n2k2), when inputs are k polytopes withtotal complexity n. [H. Bronnimann, O. Devillers, V. Dujmovic,H. Everett, M. Glisse, X. Goaoc, S. Lazard, H.-S. Na, and S.Whitesides, 07]
worst case: O(nk2√
nk), when input polytopes haveconstant complexity. [M. Glisse, 07]
expected size: O(k), when inputs are randomlydistributed unit spheres. [O. Devillers, V. Dujmovic, H. Everett,X. Goaoc, S. Lazard, H.-S. Na, and S.Petitjean, 03]
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 8/41
Goals of the Thesis
provide an efficient and robust implementation toenable experimental studies (in 3D)
experimentally study the size of the visibility skeleton inpractice
seek a succinct visibility skeleton
find new applications of the visibility skeleton
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 9/41
3D Experimental Study: Software
implemented a sweep plane algorithm:
running time complexity: O(n2k2 log k) versus O(n5)
input:
disjoint convex polytopes in general position
output:
EEEE, VEE, FEE vertices
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 10/41
3D Experimental Study: Software– cont.
efficiency:
designed certain predicates, e.g. ordering a pair ofsweep planes
robustness:
used filtered_exact number type
software verification:
used geomview to visualize the intermediate stepsand the output of the software [socg07 video]
compared the output with a brute forceimplementation: tested on 20 input scenes
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 11/41
3D Experimental Study: the Set Up
The universe: a great sphere with radius R
The objects k: ‘randomly’ distributed disjoint convex polytopes
The scene density µ: calculated using the outer tangentspheres that generated the polytopes
R = 3
√
k/µ
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 12/41
3D Experimental Study: the Set Up– cont.
number type: doublethe observed failure rate less than 0.1%
double is four times faster than filtered_exact
medium performance machine: i686 with Pentium 2.8 GHzCPU and 2 GB main memory
measure:
the number of EEEE, VEE, FEE verticesrunning time
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 13/41
3D Experimental Study: Parameters
three parameters:
n/k: complexity of a polytope
k: number of polytopes
µ: scene density
three suites of experiments:
suite I: fix µ, choose n/k ≈ 7.5, 40, 85, and vary ksystematically
suite II: fix µ, choose k = 30, 60, 90, and vary n/ksystematically
suite III: repeat suite I, and vary µ systematically
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 14/41
3D Experimental Study: Parameters– cont.
sample input of suite I:
fix µ, choose n/k ≈ 7.5, 40, 85, and k = 50
n/k ≈ 7.5 n/k ≈ 40 n/k ≈ 85
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 15/41
3D Experimental Study:Suite I Results
size of skeleton versus total number of edges n
0 1000 2000 3000 4000 5000 6000 7000 8000 90000
0.5
1
1.5
2
2.5
3
3.5
4
4.5x 10
5
n
Num
ber
of A
ll V
ertic
es
n / k = 7.5n / k = 40n / k = 85
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 16/41
3D Experimental Study:Suite I Results – cont.
size of skeleton versus k2√
n/k
0 2 4 6 8 10 12 14
x 104
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5x 10
5
sqrt(n / k) × k2
Num
ber
of A
ll V
ertic
es
n / k = 7.5n / k = 40n / k = 85
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 17/41
3D Experimental Study:Interpretation of k2
√
n/k
given a universe U of radius R, the expected size of thevisibility skeleton is [O. Devillers, V. Dujmovic, H. Everett, X. Goaoc, S. Lazard,
H.-S. Na, and S.Petitjean]:
Θ(k) O(k2) when U consists of k randomly distributedpolytopes that are
inside U near the boundary of U
bounded aspect ratio
constant complexity
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 18/41
3D Experimental Study:Interpretation of k2
√
n/k – cont.
given a universe U of radius R that consists polytopes ofany given density
polytopes that are inside U : Θ(R3)
polytopes that are near the boundary of U : Θ(R2)
assume polytopes have constant complexity
number of visibility skeleton vertices with supportpolytopes are
inside U : Θ(R3)
near the boundary of U : O(R4)
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 19/41
3D Experimental Study:Interpretation of k2
√
n/k – cont.
experimental evidence:
0 2 4 6 8 10 12 14
x 104
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5x 10
5
sqrt(n / k) × k2
Num
ber
of A
ll V
ertic
es
n / k = 7.5n / k = 40n / k = 85
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 20/41
3D Experimental Study:Interpretation of k2
√
n/k – cont.
experimental evidence:
0 2 4 6 8 10 12 14
x 104
0
0.5
1
1.5
2
2.5
3
3.5x 10
5
sqrt(n / k) × k2
VE
E V
ersu
s O
ther
Typ
es o
f Ver
tices
VEE
others
n / k = 7.5n / k = 40n / k = 85
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 21/41
3D Experimental Study:Interpretation of k2
√
n/k – cont.
theoretical evidence:
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 22/41
3D Experimental Study:Interpretation of k2
√
n/k – cont.
theoretical evidence:
Conjecture: The expected number of type VEE vertices islinearly related to the expected silhouette size of thepolytopes.
proving of this conjecture would generalize the results of [O.
Devillers, V. Dujmovic, H. Everett, X. Goaoc, S. Lazard, H.-S. Na, and S.Petitjean]
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 22/41
A Succinct 3D Visibility Skeleton
recall the eight types of visibility skeleton vertices:
ee2
e
3
1
e
4
v
e
e
3
1e
2
e
4
e
e
3
4
2
e1
ef
v2
v1
e
e
e
e3
4
1
2
EEEE VEE FEE VV
f
2
1
e
4
e3
f
e
e
1
2
1
e
e e2
e3
4
v
fe
f
v
v
f
FF FvE FE FVVthesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 23/41
A Succinct 3D Visibility Skeleton
consists of type EEEE, VEE, FEE and VV vertices only
impact:
reduces the size of the visibility skeleton
simplifies the computation procedure, and reduces thecomputation time
gives a simpler data structure
preserves the visibility information
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 24/41
A Succinct 3D Visibility Skeleton
designed an algorithm to update the succinct visibilityskeleton incrementally
can maintain the visibility skeleton in dynamic scenesat low cost
e 1
e2
e 3
e
e
e
i
j
k
a b c d e
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 25/41
Finding a Relatively Shortest Path ina Scene of Polytope Obstacles
literature:
computing the exact shortest path in 3D polytopeobstacle space is NP-hard [John Canny 1987]
finding the supporting edge sequence of the shortestpath is NP-hard [John Canny 1987]
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 26/41
Finding a Relatively Shortest Path ina Scene of Polytope Obstacles
literature:
computing the exact shortest path in 3D polytopeobstacle space is NP-hard [John Canny 1987]
finding the supporting edge sequence of the shortestpath is NP-hard [John Canny 1987]
various polynomial algorithms to compute the(approximated) shortest paths on one or two polytopes
exponential algorithms to compute the shortest pathson more than two polytopes [M. Sharir and A. Schorr 1986],[K. Senevirantne and S. Earles 1993]
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 26/41
Finding a Relatively Shortest Path ina Scene of Polytope Obstacles
my approach: use computed visibility skeleton vertices tofind a relatively shortest path in polynomial time
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 27/41
Finding a Relatively Shortest Path ina Scene of Polytope Obstacles
my approach: use computed visibility skeleton vertices tofind a relatively shortest path in polynomial time
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 27/41
Finding a Relatively Shortest Path ina Scene of Polytope Obstacles
my approach: use computed visibility skeleton vertices tofind a relatively shortest path in polynomial time
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 27/41
Finding a Relatively Shortest Path ina Scene of Polytope Obstacles
algorithm:step one: construct a search graph
represent each polytope as a vertex in the search graph
represent each visibility skeleton vertex as an edge of the searchgraph
edge length is the length of the segment that is represented by thevisibility skeleton vertex
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 28/41
Finding a Relatively Shortest Path ina Scene of Polytope Obstacles
algorithm:step one: construct a search graph
represent each polytope as a vertex in the search graph
represent each visibility skeleton vertex as an edge of the searchgraph
edge length is the length of the segment that is represented by thevisibility skeleton vertex
step two: compute the initial shortest path from the searchgraph
use Dijkstra’s algorithm
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 28/41
Finding a Relatively Shortest Path ina Scene of Polytope Obstacles
algorithm:step three: optimize the “shortest” path
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 29/41
Finding a Relatively Shortest Path ina Scene of Polytope Obstacles
algorithm:step three: optimize the “shortest” path
step four: obtain a computed relatively shortest path
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 29/41
Finding a Relatively Shortest Path ina Scene of Polytope Obstacles
running time: O(n2k2logk)
n is the total number of edges, k is the total number of polytopes
quality of the approximation
theoretically: open problem
experimentally: future work
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 30/41
Intended Contributions of my Thesis
an efficient and robust implementation [SoCG07 video]
experimental study of the size of the 3D visibilityskeleton and the related theoretical results
a succinct 3D visibility skeleton
finding a relatively shortest path in a scene of polytopeobstacles
the algebraic degree of the predicates [Computational Geometry: Theory
and Application, accepted]
experimental study of the 2D visibility skeleton [International Journal of
Computational Geometry and Applications, 2007]
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 31/41
Intended Contributions of my Thesis
an efficient and robust implementation [SoCG07 video]
experimental study of the size of the 3D visibilityskeleton and the related theoretical results
a succinct 3D visibility skeleton
finding a relatively shortest path in a scene of polytopeobstacles
the algebraic degree of the predicates [Computational Geometry: Theory
and Application, accepted]
experimental study of the 2D visibility skeleton [International Journal of
Computational Geometry and Applications, 2007]
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 31/41
Experimental Study: in 2D
when k is the total number of inputsworst case: Θ(k2) [V. Gegter, M. Pocchiola]
expected size:
theoretically: O(k) (proof is similar to the 3D case)inputs are randomly distributed discs or polygonsinputs are with bounded aspect ratio
experimentally:use the available software [P. Angelier02]
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 32/41
Experimental Study: in 2D
model:
The universe: a large disc
The objects: n randomly distributed disjoint unit discs withvarying density µ
density = 0.55 density = 0.1
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 33/41
Experimental Study: in 2D
setting:
vary: scene density µ & number of discs n
measure: size of the 2D visibility skeleton
report: mean of the 10 experiments, and omit thestandard derivations since the observed values aresmall
slow machine: i686 with AMD Athlon 1.73 GHz CPU and 1 GBmain memory
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 34/41
Experimental Study: in 2D
results:
0
200 000
400 000
600 000
800 000
1e+06
1.2e+06
1.4e+06
1.6e+06
1.8e+06
2e+06
500 1 000 1 500 2 000 2 500 3 000
number of unit discs
scene density: 0.025
bitangentsmemory
time
0
200 000
400 000
600 000
800 000
1e+06
1.2e+06
1.4e+06
1.6e+06
1.8e+06
0 100 200 300 400 500 600 700 800 900 1 000
number of unit discs
scene density: 0.0025
bitangentsmemory
time
0
10000
20000
30000
40000
50000
60000
70000
80000
90000
500 1000 1500 2000 2500 3000
number of unit discs
scene density: 0.55
bitangentsmemory
time
0
200 000
400 000
600 000
800 000
1e+06
1.2e+06
1.4e+06
0 100 200 300 400 500 600 700 800 900 1 000
number of unit discs
scene density: 0.005
bitangentsmemory
time
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 35/41
Experimental Study: in 2D
results:
17.07
µ∗ n −
63.6
µ2−
2232
µ+ 5110 for n >
22.15
µ+ 61
no = 101
Nbts = 10 152
n : 300 µ : 0.55
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 35/41
3D Experimental Study:Interpretation of k2
√
n/k
given a universe U of radius R, the expected size of thevisibility skeleton is [O. Devillers, V. Dujmovic, H. Everett, X. Goaoc, S. Lazard,
H.-S. Na, and S.Petitjean]:
Θ(k) when U consists of k randomly distributed unitspheres
Θ(k) when U consists of k randomly distributedpolytopes that are
inside U
bounded aspect ratio
constant complexity
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 36/41
3D Experimental Study:Interpretation of k2
√
n/k
given a universe U of radius R, the expected size of thevisibility skeleton is [O. Devillers, V. Dujmovic, H. Everett, X. Goaoc, S. Lazard,
H.-S. Na, and S.Petitjean]:
Θ(k) when U consists of k randomly distributed unitspheres
Θ(k) O(k2) when U consists of k randomly distributedpolytopes that are
inside U near the boundary of U
bounded aspect ratio
constant complexity
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 36/41
3D Experimental Study:Running Time
running time versus n1.5k log k
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
x 108
0
0.5
1
1.5
2
2.5
3x 10
4
sqrt(n3) × k × log(k)
Run
ning
Tim
e
n / k = 7.5n / k = 40n / k = 85
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 37/41
3D Experimental Study:Suite II Results
size of skeleton versus k2√
n/k
0 1 2 3 4 5 6 7 8 9
x 104
0
0.5
1
1.5
2
2.5
3x 10
5
sqrt(n / k) × k2
Num
ber
of A
ll V
ertic
es
k = 30k = 60k = 90
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 38/41
3D Experimental Study:Suite II Results – cont.
size of skeleton versus√
n/k
2 3 4 5 6 7 8 9 10 110
0.5
1
1.5
2
2.5
3x 10
5
sqrt(n / k)
Num
ber
of A
ll V
ertic
es
k = 30k = 60k = 90
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 39/41
Remaining Work of my Thesis
experimental study of the size of the 3D visibilityskeleton in terms of varying scene density: one month
write up in detail the succinct 3D visibility skeleton datastructure: one month
write up the proposal of the algorithm for computingthe relatively shortest collision free path: two weeks
prepare the thesis manuscript: six months
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 40/41
Intended Main Chapters of my Thesis
Experimental Study of the 2D Visibility Skeleton
Design Aspects of the Implementation
The Algebraic Degree of the Predicates
Experimental Study of the 3D Visibility Skeleton
A Succinct 3D Visibility Skeleton
Finding a Relatively Shortest Path in a Scene ofPolytope Obstacles
thesis proposal: The Size of the 3D Visibility Skeleton: Analysis and Application – p. 41/41