Upload
hathuan
View
221
Download
0
Embed Size (px)
Citation preview
Online Occlusion CullingStudienarbeit
Florian Schoppmann
Betreuer: Dr. Christian Sohler
Fachgruppe Algorithmen und KomplexitätFakultät für Elektrotechnik, Mathematik und Informatik
Universität Paderborn
19. Januar 2005
Universität Paderborn · Florian Schoppmann 19.01.2005 · 1 / 23
MotivationI Computergrafik: Effizientes Darstellen dreidimensionaler
SzenenI Objekte zusammengesetzt aus PrimitivenI Occlusion Culling: Aussortieren nicht sichtbarer Objekte→ Entlastung der Rendering-Pipeline
Objekt-beschreibung
Trans-formation
Clipping u. Culling
Rasterung, Schattierung
Pixel
Annahme für Culling-Verfahren:I Ohne Einfluss auf RenderingI Kein direkter Zugriff auf Datenstrukturen der Szene→ Zwischenspeicher beschränkter Größe
I Aussortierung bei Verdeckung durch Objekt imZwischenspeicher
Universität Paderborn · Florian Schoppmann 19.01.2005 · 2 / 23
Problemstellung
I Culling-Algorithmus erhält Objekte der Reihe nachI Bei Ankunft eines Objektes:
1. Verdeckung (durch Zwischenspeicher) → Verwerfen2. Keine Verdeckung → Zeichnen
optional: in Zwischenspeicher, wenn voll: Verdrängung einesanderen Objektes
Offline-Problem:I Culling-Algorithmus kennt
EingabeI Verdrängungsstrategie: Stets
das am wenigsten nützlicheObjekt
Online-Problem:I Culling-Algorithmus ohne
Kenntnis noch folgenderObjekte
I Welche Objekte imZwischenspeicher bringenden meisten Nutzen?
Universität Paderborn · Florian Schoppmann 19.01.2005 · 3 / 23
Gliederung
Das formale ModellGrundbegriffeBewertung von Online-Algorithmen
Schranken im Modell mit unbeschränktem ZwischenspeicherSpezielle AnordnungenDer zufällig gleichverteilte FallApproximation
Schranken im Modell mit beschränktem Zwischenspeicher
Komplexität des Culling-ProblemsDas Optimierungsproblem KnotenaussortierungKomplexität von KnotenaussortierungEnt
Universität Paderborn · Florian Schoppmann 19.01.2005 · 4 / 23
Das Modell
Üblich: An die Fotografieangelehntes Modell
Projektionsfläche(Bildebene)
ProjektionszentrumProjektionsgeraden
Bildebene beiLochkamera
In dieser Arbeit:Zweidimensionale Modellierung
Projektionszentrum
Projektions-kreis
Projektions-bogen
Kugel kiProjektionsgeraden
Szene (informelle Definition):I Menge von Kugeln {k1, . . . , kn} im R2, wobei ki MittelpunkteI Eine Kugel ki verdeckt kj , wenn Projektionsbogen von ki den
von kj echt „überlappt“. Symbolisch: ki � kj
I Abstand einer Kugel ki vom Projektionszentrum: rad ki
Universität Paderborn · Florian Schoppmann 19.01.2005 · 5 / 23
Bewertung von Online-Algorithmen
Competitive Ratio: inf{γ | ALG[I ] ≤ γ · OPT[I ] + α für alle I ∈ I}Problem:
I Online Culling-Algorithmenmit konstant großemZwischenspeicher nieo(n)-competitiveEingabe:
I Zwischenspeicher-Größe cI Kugeln und Reihenfolge
wie rechts
I OBdA wird nach (c + 1)-terKugel die dritte ausZwischenspeicher verdrängt
I Offline-Algorithmus hätteandere Kugeln verdrängt
…
…
(c + 1)-te Kugel
Projektionszentrum
Reihenfolge
Universität Paderborn · Florian Schoppmann 19.01.2005 · 6 / 23
Erweiterung der Competitive Analysis
Ergebnis:I Kostenverhältnis von Online- zu Offline-Algorithmus bei
einzelner beliebig gewählter Eingabe unbeschränktI Sogar wenn Offline-Algorithmus nur mit Zwischenspeicher der
Größe 1I Auch bei Randomisierung / unterschiedlichen Ressourcen
Koutsoupias & Papadimitriou (2000): Alternative, in der Praxisrealistischere Bewertung von Online-Algorithmen:
inf{
γ | ED [ALG[I ]] ≤ γ · ED [OPT[I ]] + αfür alle D ∈ ∆,I ZG mit I ∼ D
}∆: Klasse von erlaubten Eingabeverteilungen
In dieser Arbeit: ∆ enthält nur Gleichverteilung
Universität Paderborn · Florian Schoppmann 19.01.2005 · 7 / 23
Gliederung
Das formale ModellGrundbegriffeBewertung von Online-Algorithmen
Schranken im Modell mit unbeschränktem ZwischenspeicherSpezielle AnordnungenDer zufällig gleichverteilte FallApproximation
Schranken im Modell mit beschränktem Zwischenspeicher
Komplexität des Culling-ProblemsDas Optimierungsproblem KnotenaussortierungKomplexität von KnotenaussortierungEnt
Universität Paderborn · Florian Schoppmann 19.01.2005 · 8 / 23
Unbeschränkter Zwischenspeicher
Optimal: Aufnahme jedes Objektes in den Zwischenspeicher
Beispiele:Ki jeweils Indikatorzufallsgröße, dass ki gezeichnet werden muss
I Feste Anordnung, zufällige Reihenfolge:Pr[Ki = 1] = 1
j+1 , wobei j Anzahl der Kugeln, die ki verdeckenI n Kugeln auf einer Projektionslinie, zufällige Reihenfolge:
…
n Kugeln Projektionszentrum
Erwartete Anzahl gezeichneter Objekte insgesamt:
n∑i=1
E[Ki ] =n∑
i=1
Pr[Ki = 1] =n∑
i=1
1i
= Hn = Θ(ln n)
Universität Paderborn · Florian Schoppmann 19.01.2005 · 9 / 23
Zufällige Anordnungen
Kugeln zufällig gleichverteilt in (1, r ]•, Reihenfolgezufällig gleichverteilt
R Zufallsgröße für Abstand einer beliebigen Kugelvom Projektionszentrum. F (x) := FR(x):
F (x) =
0 für x ≤ 1π(x2−1)π(r2−1)
= x2−1r2−1 für 1 < x < r
1 für x ≥ r
I Exakte Berechnung prinzipiell möglich, aberkaum handhabbar
I Wahrscheinlichkeit für ki � kj vonungünstiger Gestalt (Zähler rot markiert,Nenner wäre πr2 − 1)
1 r
(1,r]●
r
Projektionskreis mit Radius 1
Kugel ki
Kugel kj
Universität Paderborn · Florian Schoppmann 19.01.2005 · 10 / 23
Abschätzung
Idee:I Einteilung eines Kranzes
um den Projektionskreis in„Boxen“
I Dabei: In jeder Box eineKugel ⇒ ∃s : jede Kugel kimit rad ki ≥ s wird verdeckt
t
s(t,a)
a
„Boxen“
…
…
Problem: Wie Parameter t und awählen, so dass sich eine guteSchranke ergibt?
Universität Paderborn · Florian Schoppmann 19.01.2005 · 11 / 23
Das Balls into Bins-Modell
Definition (Unendliches Balls into Bins-Modell)Gegeben m Boxen und eine unbegrenzte Anzahl von Kugeln. Eswird der Reihe nach auf die m Boxen geworfen. Jeder Wurf trifftzufällig unabhängig gleichverteilt genau eine Box.
Im Erwartungswert m · Hm Kugeln, bis keine Box mehr leer
Culling-Algorithmus: Einteilung von Eingabe in zwei Phasen:I Erste Phase: Es gibt Boxen ohne Kugel→ Obere Abschätzung: Zeichnung jeder KugelLänge der ersten Phase: Balls into Bins-Modell!
I Zweite Phase: Jede Box enthält Kugel, jede ankommendeKugel ki mit rad ki ≥ s verdeckt→ Obere Abschätzung: Zeichnung jeder Kugel mitWahrscheinlichkeit F (s)
Universität Paderborn · Florian Schoppmann 19.01.2005 · 12 / 23
Obere Schranke für Anzahl zu zeichnender Kugeln
M ZG für Anzahl gezeichneter Kugeln insgesamtN Zufallsgröße für Anzahl Kugeln, bis keine Box mehr leer
E[M] < E[N] + E[(n − N) · F (s)] <1− F (s)
F (t)·m · Hm + n · F (s)
Startwerte für t und m gegeben, asymptotische Abschätzung:I Anzahl Kugeln ver-16-fachtI „Dicke“ des Kranzes halbiertI Anzahl Boxen verdoppelt
⇒ Phase 1 ca. 8-mal länger, in Phase 2 Zeichnung max. 8-mal sovieler Kugeln
⇒ Anzahl Kugeln: n, gezeichnete Kugeln ca.O(8log16 n) = O(n3/4)
Exaktes Ergebnis: Erwartete Anzahl gezeichneter Kugeln:
O(n3/4 · log16 n)
Universität Paderborn · Florian Schoppmann 19.01.2005 · 13 / 23
Gliederung
Das formale ModellGrundbegriffeBewertung von Online-Algorithmen
Schranken im Modell mit unbeschränktem ZwischenspeicherSpezielle AnordnungenDer zufällig gleichverteilte FallApproximation
Schranken im Modell mit beschränktem Zwischenspeicher
Komplexität des Culling-ProblemsDas Optimierungsproblem KnotenaussortierungKomplexität von KnotenaussortierungEnt
Universität Paderborn · Florian Schoppmann 19.01.2005 · 14 / 23
Schranken im Modell mit beschränktem Zwischenspeicher
Heuristiken:I Maximal überdeckte FlächeI Einteilung eines Kranzes in Boxen (wie zuvor)
Problem: Bei konstant großem Zwischenspeicher nur konstantviele Boxen!
Zwischenspeicher der Größe nc mit c ∈ (0, 1):I Wende vorherige Überlegungen anI ∃ Algorithmus mit Schranke O(n3/4 · log16 n), wenn c ≥ 1
4
Sei ALG[I ] solch ein Online-Algorithmus:
E[ALG[I ]]E[OPT[I ]]
= O
(n3/4 · log16 n
ln n
)= O(n3/4)
Universität Paderborn · Florian Schoppmann 19.01.2005 · 15 / 23
Gliederung
Das formale ModellGrundbegriffeBewertung von Online-Algorithmen
Schranken im Modell mit unbeschränktem ZwischenspeicherSpezielle AnordnungenDer zufällig gleichverteilte FallApproximation
Schranken im Modell mit beschränktem Zwischenspeicher
Komplexität des Culling-ProblemsDas Optimierungsproblem KnotenaussortierungKomplexität von KnotenaussortierungEnt
Universität Paderborn · Florian Schoppmann 19.01.2005 · 16 / 23
Verdeckungsgraphen
DefinitionSei V = {k1, . . . , kn} Menge von Kugeln. Ferner seiE := {(ki , kj) ∈ V 2 | ki � kj}. Dann heißt der gerichtete GraphG = (V , E ) Verdeckungsgraph zu V .
Projektionskreis
Projektionszentrum
Universität Paderborn · Florian Schoppmann 19.01.2005 · 17 / 23
Verdeckungsgraphen
DefinitionSei V = {k1, . . . , kn} Menge von Kugeln. Ferner seiE := {(ki , kj) ∈ V 2 | ki � kj}. Dann heißt der gerichtete GraphG = (V , E ) Verdeckungsgraph zu V .
Projektionskreis
Projektionszentrum
Universität Paderborn · Florian Schoppmann 19.01.2005 · 17 / 23
Das Optimierungsproblem
Occlusion Culling als (verallgemeinertes) Graphen-ProblemKnotenaussortierung:
Eingabe: DAG G = (V , E ), n := |V |, Reihenfolge der Knoten,Zwischenspeicher-Größe c .
Finde: Verdrängungssequenz aus Zwischenspeicher, dieGesamtanzahl aussortierter Knoten maximiert.Aussortierung eins Knotens v , wenn ∃v ′ ∈ V mit:
I v ′ vor v in der ReihenfolgeI ∃ Pfad von v ′ zu vI v ′ zum Zeitpunkt der Betrachtung von v noch
im Zwischenspeicher
Beispiel wie rechts:Optimale Verdrängungssequenz:(ε, a, c, e, d , f )Aussortierte Knoten: 3 a b
cd e
fReihenfolge:a,b,c,e,d,f
Zwischenspeicher:Größe 1
Universität Paderborn · Florian Schoppmann 19.01.2005 · 18 / 23
Entscheidungsproblem zum Culling-Problem
Frage: Gibt es effizienten (Offline) Algorithmus für dasCulling-Problem?
Zunächst: Problem Knotenaussortierung und seinEntscheidungsproblem
Definition (KnotenaussortierungEnt)Gibt es zu einem Verdeckungsgraphen G = (V , E ), einerKnotenreihenfolge, und einem Zwischenspeicher der Größe c eineVerdrängungssequenz, so dass ≥ m Knoten aussortiert werden?
Frage: Gibt es ein NP-vollständiges Problem, das sich inpolynomieller Zeit auf KnotenaussortierungEnt reduzieren lässt?
Wenn ja, würde folgen:I KnotenaussortierungEnt NP-schwerI Sofern P 6= NP, Knotenaussortierung nicht effizient lösbar
Universität Paderborn · Florian Schoppmann 19.01.2005 · 19 / 23
Entscheidungsproblem zum Culling-Problem
Frage: Gibt es effizienten (Offline) Algorithmus für dasCulling-Problem?
Zunächst: Problem Knotenaussortierung und seinEntscheidungsproblem
Definition (KnotenaussortierungEnt)Gibt es zu einem Verdeckungsgraphen G = (V , E ), einerKnotenreihenfolge, und einem Zwischenspeicher der Größe c eineVerdrängungssequenz, so dass ≥ m Knoten aussortiert werden?
Frage: Gibt es ein NP-vollständiges Problem, das sich inpolynomieller Zeit auf KnotenaussortierungEnt reduzieren lässt?
Wenn ja, würde folgen:I KnotenaussortierungEnt NP-schwerI Sofern P 6= NP, Knotenaussortierung nicht effizient lösbar
Universität Paderborn · Florian Schoppmann 19.01.2005 · 19 / 23
Knotenüberdeckung und Knotenaussortierung
KnotenüberdeckungEnt : Gibt eszu einem ungerichteten GraphenG = (V , E ) und einem k ∈ N0eine Teilmenge V ′ ⊆ V , so dass|V ′| ≤ k und für jede Kante{e, d} ∈ E wenigstens e oder din V ′ enthalten ist?
a
b
c
d
a
b
c
d
{b,d} 2-Knoten-überdeckung
{a,c} keine 2-Knoten-überdeckung
Bekannt:
I KnotenüberdeckungEnt ist NP-vollständig
SatzKnotenüberdeckungEnt ist polynomiell reduzierbar aufKnotenaussortierungEnt .
Universität Paderborn · Florian Schoppmann 19.01.2005 · 20 / 23
Reduktion von Knotenüberdeckung
Beweisskizze: Verwende folgende Reduktion vonKnotenüberdeckungEnt auf KnotenaussortierungEnt (hier ohneKorrektheitsbeweis):
Eingabe: G = (V , E ), k ∈ N0. Dabei V := {v1, . . . , vn},E := {e1, . . . , es} mit ei = {vj , vk} für j , k ∈ N≤n,j 6= k und i ∈ N≤s .
Ausgabe: DAG G ′ = (V ′, E ′) mit V ′ = {v1, . . . , vn, e1, . . . , es}und E ′ = {(v , e) | e ∈ E und v ∈ e}. Reihenfolge derKugeln genauso. c = k . m = |E |
Beispiel:
a
b
c
d ab c
d
Reduktion
{a,b}
{a,d}{b,c}
{b,d}{c,d}
Universität Paderborn · Florian Schoppmann 19.01.2005 · 21 / 23
Zusammenfassung
Motivation: Modellierung von Occlusion CullingProblemstellung: Gute Ausnutzung des Zwischenspeichers
I Konstant großer Zwischenspeicher: Kein OnlineCulling-Algorithmus o(n)-competitive
I Bei zufälliger Eingabe und unbegrenztem Zwischenspeicher:Mindestens ω(ln n) und maximal O(n3/4 · log16 n) gezeichneteKugeln
I Auf nc , c ≥ 14 , begrenzter Zwischenspeicher: Es gibt
Online-Algorithmus, der maximal O(n3/4 · log16 n) Kugelnzeichnet.
I Das dem Culling-Problem ähnliche OptimierungsproblemKnotenaussortierung ist nicht effizient lösbar, wenn P 6= NP.
Universität Paderborn · Florian Schoppmann 19.01.2005 · 22 / 23
Zum Weiterlesen. . .
Elias Koutsoupias und Christos H. Papadimitriou (2000):Beyond Competitive Analysis.SIAM Journal on Computing 30, Nr. 1, 300–317.http://epubs.siam.org/sam-bin/dbq/article/29954
Martin Raab und Angelika Steger (1998):“Balls into Bins” - A Simple and Tight Analysis.RANDOM ’98: Proce. of the Second Intern. Workshop onRandomization and Approximation Techniques in ComputerScience, Springer-Verlag.http://wwwmayr.informatik.tu-muenchen.de/personen/raab/publ/balls.pdf
Alan Watt (2002):3D-Computergrafik.3. Auflage.Pearson Studium, München.
Universität Paderborn · Florian Schoppmann 19.01.2005 · 23 / 23