Page 1
Großer Beleg - Computergrafik:
Texturgenerierung von Gebäudemodellen aus
Luftbildern
Technische Universität Dresden
Fakultät Informatik
Institut für Software- und Multimediatechnik
Autor: Marcel Heckel
Betreuer: Dipl.-Medieninf. Sören König
02.07.2008
Page 2
Inhalt
Einleitung
Kamerakalibrierung
Sichtbarkeitsbestimmung
Texturieren
Texturatlas-Erzeugung
Ergebnisse
Offene Probleme / Ausblick
Demonstration der Anwendung
2 / 39
Page 3
Einleitung
Motivation
Luftaufnahmen von Städten leicht über das Internet zu bekommen (http://maps.live.com/)
3D-Modelle von manchen Gebäuden / Städten auch verfügbar (http://www.citygml.org, http://sketchup.google.de/3dwarehouse)
3D-Modelle aus Grundrissdaten, Höhekarten und Laserscans(Dipl. von Robert Bürger)
3 / 39
Page 4
Einleitung
Zielstellung
3D-Modelle meist ohne Texturen
Texturen täuschen fehlende Details vor
Texturen lassen das Modell reeller wirken.
Aber: Extremer Aufwand um für große Modelle manuell Texturen zu erzeugen
Ziel:Texturierung der Modelle mittels Luftaufnahmen
4 / 39
Page 5
Einleitung
Fragen auf dem Weg zum Ziel
Wie entsteht ein Foto? ⇨ Projektion / Kameramodell
Was sind die Parameter des Kameramodells?
Wie bestimmt man diese Parameter?
5 / 39
Page 6
Einleitung
Fragen auf dem Weg zum Ziel
Welche Facetten sind auf dem Bild sichtbar?
Bei mehreren Bildern: Bestes Bild für Facettentextur?
6 / 38
Page 7
Einleitung
Fragen auf dem Weg zum Ziel
Effiziente Speicherung der texturierten 3D-Modelle?
7 / 39
Page 8
Kamerakalibrierung
Nutzung von Korrespondenzen zwischen Modell und Foto
Tsai 2 Stufiges Verfahren
1. Bestimmung der Ausrichtung und Brennweite der Kamera mittels linearer Gleichungen
2. Optimierung der Parameter, Beachtung von radialer Verzeichnung.
DLT Direkte Bestimmung der Projektionsmatrix mittels eines
LSG
Zhang: Effektives LGS mit 3D-Punkten, die in einer Ebene liegen.
Einleitung
Verwandte Arbeiten
8 / 39
Page 9
Vergleich Tsai / DLT
Einleitung
Verwandte Arbeiten
9 / 39
DLT
Tsai
Page 10
PhotoModeler / ImageModeler
3D-Modelle aus Bildern erzeugen
“Multi-View Stereo for Community Photo Collections”
N. Goesele, et al
Automatisierte Erzeugung der 3D-Modelle, aus sehr vielen Photos.
Einleitung
Verwandte Arbeiten
10 / 39
Page 11
“Automated Texture Mapping of 3D City Models With Oblique Aerial Imagery “
Christian Frueh, Russell Sammon, Avideh Zakhor
Ähnliches Ziel wie in dieser Arbeit
Annahme, das genaues Wissen über die Aufnahmebedingungen zur Verfügung steht.
Einleitung
Verwandte Arbeiten
11 / 39
Page 12
Kamerakalibrierung
12 / 39
Page 13
Kamerakalibrierung
Kameramodell und Projektion
Einfachstes Kameramodell
Lochkamera
Projektive Abbildung
Projektionsmatrix P
Homogene Koordinaten
3×4 Matrix
Interne & externe Parameter
13 / 39
Page 14
Kamerakalibrierung
Projektionsmatrix
Bestandteile der Projektionsmatrix
Rotationsmatrix – Ausrichtung der Kamera
Position der Kamera
Interne Kameraparameter (Brennweite, Hauptpunkt, …)
Bestimmung K und M aus P mittels RQ-Zerlegung
MKP
100
0 0
0
vf
usf
K
x
tRM |
,,,, 00 xsvuf
R
t
14 / 39
Page 15
Kamerakalibrierung
Nicht lineare Kameraparameter
Keine Kamera ist ideal ⇨ Verzeichnung
z.B.: Radiale Verzeichnung:
Linse simuliert die Lochkamera
Besonders bei geringen Brennweiten:
starke Abweichungen zur Lochkamera, wegen der Linsenkrümmung
...1)(
)(
4
2
2
1 rrrL
v
urL
v
u
d
d
15 / 39
Page 16
Kamerakalibrierung
Bestimmung der Projektionsmatrix P
Festlegen von Korrespondenzen im Modell und Bild
Punkte
Linien
16 / 39
Page 17
Kamerakalibrierung
DLT
Direkte Lineare Transformation (DLT)
11 freie Parameter von P (12 – 1 für Skalierung)
Aufstellen eines LGS
2 Gleichungen pro Korrespondenz ⇨ min. 6
)','('
),,(
)1,,,(
vuq
wvuq
zyxp
pPq
T
T
analog) ( 1
'333231
14131211 vzpypxp
pzpypxp
w
uu
zpuypuxpupzpypxpu 33323114131211 ''''
zpvypvxpvpzpypxpv 33323124232221 ''''
17 / 39
Page 18
Kamerakalibrierung
DLT
)','('
),,(
)1,,,(
vuq
wvuq
zyxp
pPq
T
Tanalog) ( 1
'333231
14131211 vzpypxp
pzpypxp
w
uu
bpA
~
zpuypuxpupzpypxpu 33323114131211 ''''
zpvypvxpvpzpypxpv 33323124232221 ''''
111111111
111111111
'''10000
'''00001
xvxvxvzyx
xuxuxuzyx
A
3332312423222114131211 ,,,,,,,,,,~ pppppppppppp
nn vuvub ',',,',' 11
18 / 39
Page 19
Kamerakalibrierung
DLT
Meist viele Korrespondenzen ⇨ überbestimmtes LGS
Korrespondenzen fehlerbehaftet ⇨ keine (genaue) Lösung
A im Allg. nicht invertierbar
Nutzung der Pseudo-Inversen (mittels SVD)
Lösung: welches den quadratischen Fehler min.:p~
bAp
1'~0~ 2
bpA
19 / 39
Page 20
Kamerakalibrierung
Optimierung
Nicht-Lineare-Optimierung
Für nicht lineare Kameraparameter wie der radialen Verzeichnung
Iterative Verfahren zur Minimierung der Fehlerfunktion für die Korrespondenzen ⇨Levenberg-Marquardt
Benötigen Anfangs-Schätzung ⇨ DLT
...1)(
)(
4
2
2
1 rrrL
v
urL
v
u
d
d
20 / 39
Page 21
Sichtbarkeitsbestimmung
Blickwinkel: Ausrichtung zwischen Facette und Kamera
Sichtbar wenn
Verdeckung durch andere Facetten
Nutzung des Z-Puffers:
Zeichne jede Facette in einer bestimmten Farbe (Index der Facette ⇨ Farbe)
Pixel, die die Farbe der Facettehaben, sind die sichtbaren Teile
32 Bit (RGBA) ⇨ ~ 4 Mrd. Facetten möglich
21 / 39
FK
FK
pp
pp
n
narccos
9090
Page 23
Texturieren
Textur-Extraktion
Textur-Extraktion
Nutzung der errechneten Projektionsmatrix
Projektion der Eckpunkte in das Foto
Projizierte Punkte entsprechen Texturkoordinaten im Foto
Bei mehreren Fotos: Auswahl des Fotos, auf der die Facette am besten zu sehen ist:
Größe in Pixeln
Nicht verdeckter Anteil
Blickwinkel
23 / 39
Page 24
Texturieren
Problem: Sichtbarkeit
Problem: Facette ist evtl. auf keinem Foto voll sichtbar
Verdeckte Bereiche in Textur markieren
Vermeiden das andere Objekte auf der Facettentextur sichtbar sind
24 / 39
Nicht sichtbare Bereiche bunt markiert.
Page 25
Texturatlas
Nutzen eines Texturatlas
Effektive Speicherung der Texturstücke nötig
Lösung für optimale Anordnung der Stücke ist NP-hart
Nutzung eines suboptimalen Verfahrens
Skyline-Verfahren
25 / 39
Page 26
Texturatlas
Skyline-Verfahren
Skyline-Verfahren
Arbeitet wie ein einfacher Tetrisspieler
Stücke sortieren nach Größe; nacheinander einfügen
Minimiere Kosten für Orientierung und Position des aktuellen einzufügenden Stückes
26 / 39
Page 27
Ergebnisse
Stabile Implementierung des Verfahrens
27 / 39
Page 28
Ergebnisse
Kamerakalibrierung / Projektion des Modells
28 / 39
Page 29
Ergebnisse
Texturatlas
29 / 39
Page 30
Ergebnisse
GUI, die alle erwähnten Schritte ermöglicht
30 / 39
Page 31
Offene Probleme / Ausblick
31 / 39
Page 32
Offene Probleme / Ausblick
Ungenaue Daten
Korrespondenzen sind fehlerbehaftet, da manuell angelegt
Ungenauigkeiten in den Modellen
Eventuelle unbekannte Verzerrung der Bilder
32 / 39
Page 33
Offene Probleme / Ausblick
Ungenaue Daten
33 / 39
Page 34
Offene Probleme / Ausblick
Ungenaue Daten
Evtl. Lösung:Bildregistierung(Image-Registration)
Korrespondenzen zwischen 2 Bildern
Finden einer min. Verformung
Quelle: “Image registration methods: a survey”http://library.utia.cas.cz/prace/20030125.pdf
34 / 39
Page 35
Offene Probleme / Ausblick
Manuelle Korrespondenzerzeugung
Punkt- und Linienkorrespondenzen müssen noch manuell angegeben werden.
Automatisierung möglich, wenn:
Ungefähre Kameraparameter im Voraus bekannt sind
Zuverlässige autom. Merkmalserkennung in Bildern
Ecken: schwierig in städtischen Bildern
Kanten: einfacher, da viele gerade Häuserblöcke
35 / 39
Page 36
Offene Probleme / Ausblick
Optimierung der Texturen
„Runde“ Körper, wie Säulen, bestehen aus vielen, aber kleinen Facetten.
Viele kleine Einzelstücke im Texturatlas ⇨ viele Lücken, hoher Platzverbrauch Lösung: Benachbarte Facetten aus einer Textur als ein
Stück aus dem Bild holen.
Unschöne Effekte bei schmalen Facetten (ein bis zwei Pixel breit)
Sichtbarkeitsbestimmung markiert kleine Facetten alsunsichtbar (zu wenig Pixel) Evtl. Lösung: Benachbarte
Facetten wie eine einzigebehandeln.
36 / 39
Page 37
Offene Probleme / Ausblick
Optimierung der Texturen
Diskontinuitäten bei benachbarten Facetten, die aus verschiedenen Bildern texturiert werden.
Evtl. Lösung: Farbabgleich, (Panorama-)Stitching
37 / 39
Page 38
Offene Probleme / Ausblick
Optimierung der Texturen
Texturen haben schon eine Beleuchtung und Schattierung.
Nachträgliche Beleuchtung des Modelles schwierig.
Evtl. Lösung: Beleuchtungsrichtung im Fotobestimmen und mittels Phong-Modell die Beleuchtungherrausrechnen
38 / 39
Page 39
Ende
39 / 39
Vielen Dank für ihre Aufmerksamkeit!