Großer Beleg - Computergrafik: Texturgenerierung von … · Großer Beleg - Computergrafik:...

Post on 30-Jul-2020

13 views 0 download

Transcript of Großer Beleg - Computergrafik: Texturgenerierung von … · Großer Beleg - Computergrafik:...

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

Inhalt

Einleitung

Kamerakalibrierung

Sichtbarkeitsbestimmung

Texturieren

Texturatlas-Erzeugung

Ergebnisse

Offene Probleme / Ausblick

Demonstration der Anwendung

2 / 39

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

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

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

Einleitung

Fragen auf dem Weg zum Ziel

Welche Facetten sind auf dem Bild sichtbar?

Bei mehreren Bildern: Bestes Bild für Facettentextur?

6 / 38

Einleitung

Fragen auf dem Weg zum Ziel

Effiziente Speicherung der texturierten 3D-Modelle?

7 / 39

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

Vergleich Tsai / DLT

Einleitung

Verwandte Arbeiten

9 / 39

DLT

Tsai

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

“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

Kamerakalibrierung

12 / 39

Kamerakalibrierung

Kameramodell und Projektion

Einfachstes Kameramodell

Lochkamera

Projektive Abbildung

Projektionsmatrix P

Homogene Koordinaten

3×4 Matrix

Interne & externe Parameter

13 / 39

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

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

Kamerakalibrierung

Bestimmung der Projektionsmatrix P

Festlegen von Korrespondenzen im Modell und Bild

Punkte

Linien

16 / 39

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

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

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

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

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

Texturen

22 / 39

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

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.

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

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

Ergebnisse

Stabile Implementierung des Verfahrens

27 / 39

Ergebnisse

Kamerakalibrierung / Projektion des Modells

28 / 39

Ergebnisse

Texturatlas

29 / 39

Ergebnisse

GUI, die alle erwähnten Schritte ermöglicht

30 / 39

Offene Probleme / Ausblick

31 / 39

Offene Probleme / Ausblick

Ungenaue Daten

Korrespondenzen sind fehlerbehaftet, da manuell angelegt

Ungenauigkeiten in den Modellen

Eventuelle unbekannte Verzerrung der Bilder

32 / 39

Offene Probleme / Ausblick

Ungenaue Daten

33 / 39

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

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

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

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

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

Ende

39 / 39

Vielen Dank für ihre Aufmerksamkeit!