2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der...

49
2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern Studienarbeit von Leo Härdle An der Fakultät für Informatik Institut für Anthropomatik Group On Human Motion Analysis Erstgutachter: Dipl. Inf. Tobias Feldmann Zweitgutachter: Prof. Dr.-Ing. Rainer Stiefelhagen Betreuer: Dipl. Inf. Tobias Feldmann 15. April 2010 11. Februar 2011 KIT – Universität des Landes Baden-Würtemberg und nationales Forschungszentrum der Helmholz-Gesellschaft www.kit.edu

Transcript of 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der...

Page 1: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

2,5-D-Karten aus Schnitten vonSehstrahlen und Polyedern

Studienarbeitvon

Leo Härdle

An der Fakultät für InformatikInstitut für Anthropomatik

Group On Human Motion Analysis

Erstgutachter: Dipl. Inf. Tobias FeldmannZweitgutachter: Prof. Dr.-Ing. Rainer StiefelhagenBetreuer: Dipl. Inf. Tobias Feldmann

15. April 2010 – 11. Februar 2011

KIT – Universität des Landes Baden-Würtemberg und nationales Forschungszentrum der Helmholz-Gesellschaft www.kit.edu

Page 2: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

Leo HärdleGerwigstraÿe 676131 Karlsruhe

Hiermit erkläre ich an Eides Statt, dass ich die von mir vorgelegte Arbeit selbstständig ver-fasst habe, dass ich die verwendeten Quellen, Internet-Quellen und Hilfsmittel vollständigangegeben habe und dass ich die Stellen der Arbeit � einschlieÿlich Tabellen, Karten undAbbildungen �, die anderen Werken oder dem Internet im Wortlaut oder dem Sinn nach ent-nommen sind, auf jeden Fall unter Angabe der Quelle als Entlehnung kenntlich gemacht habe.

Karlsruhe, den 11. Februar 2011

(Unterschrift)

Leo Härdle

Page 3: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

Inhaltsverzeichnis

1 Einführung 51.1 Motivation und Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2 Aufbau und Kapitelübersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Stand der Technik 72.1 Lösungen für das Korrespondenzproblem . . . . . . . . . . . . . . . . . . . . . 82.2 Semi Global Block Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3 Berechnung des Kamerasichtvolumens eines Multikamerasystems . . . . . . . 92.4 Probabilistische Vorder-/Hintergrundtrennung . . . . . . . . . . . . . . . . . . 9

3 Grundlagen 113.1 Mathematische Notationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2 Geometrische Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.2.1 Strahlgleichung (Parameterdarstellung) . . . . . . . . . . . . . . . . . 113.2.2 Polyeder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2.3 Kreuzprodukt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.2.4 Skalarprodukt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.2.5 Dreiecksnormale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.2.6 Allgemeine baryzentrische Koordinaten . . . . . . . . . . . . . . . . . . 123.2.7 Determinanten-Berechnung nach Sarrus . . . . . . . . . . . . . . . . . 133.2.8 Cramer-Regel zur Lösung eines linearen Gleichungssystems (LGS) . . 13

3.3 Computergraphische Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . 133.3.1 View Volume Culling und Backface Culling . . . . . . . . . . . . . . . 14

3.4 Kamerakalibrierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.4.1 Umrechnung von Welt- nach Bildkoordinaten . . . . . . . . . . . . . . 153.4.2 Linsenverzerrung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4 Umsetzung 174.1 Eingabeparameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.1.1 Bestimmung des Kamerasichtvolumens . . . . . . . . . . . . . . . . . . 184.2 Verfahren zur Bestimmung der Tiefeninformationen des Kamerasichtvolumens 19

4.2.1 Idee und Ziel des Verfahrens . . . . . . . . . . . . . . . . . . . . . . . . 194.2.2 Schnitt von Sehstrahl mit Dreieck . . . . . . . . . . . . . . . . . . . . . 234.2.3 Berechnung der Disparitäten . . . . . . . . . . . . . . . . . . . . . . . 264.2.4 Fusion mit dem Disparitätenbild der Szenerie . . . . . . . . . . . . . . 28

5 Evaluierung und experimentelle Validierung 295.1 Schrittweise Ablauf und Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . 30

5.1.1 Die Handshake- und die Turnerinsequenz . . . . . . . . . . . . . . . . 325.1.2 Vergleich der Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3

Page 4: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

6 Schlussbetrachtungen und Ausblick 41

Abbildungsverzeichnis 42

Tabellenverzeichnis 45

Weiterführende Literatur zu wissenschaftlichen Ausarbeitungen 48

4

Page 5: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

1 Einführung

1.1 Motivation und Zielsetzung

In der heutigen Zeit wird es immer wichtiger, dass Computer in der Lage sind Bewegungen zuerfassen. Sei es in der Filmbranche, in welcher per Motion-Capturing-Technik Bewegungen vonSchauspielern auf animierte Charaktere übertragen werden, oder in der Videospielebranche,in der Spielekonsolen verstärkt auf Steuerung durch Gestenerkennung setzen. Im Leistungs-sport werden auch immer mehr Stimmen laut, die computergestützte Bewegungserkennungfordern, beispielsweie um die Kür eines Turners zu bewerten. Dies geschieht bisher normaler-weise durch Preisrichter, allerdings können diese Bewertungen sehr subjetiv ausfallen, obwohlviele Bewegungsabläufe sehr klar de�niert sind und von einem bewegungserfassenden Compu-ter messbar und vergleichbar zu äquivalenten Bewegungsabläufen gemacht werden könnten.Bewegunserkennung lässt sich realisieren, indem eine Szenerie mit einem Multi-Kamerasystemaufgenommen wird und aus diesen Aufnahmen ein 3D-Modell der Szene generiert wird. In die-sem Szenario der Bewegungserkennung �ndet sich ein Teilbereich, in welchem es darum geht,den Vordergrund einer Szene von seinem Hintergrund zu trennen. Im Beispiel eines Turnersbedeutet das, dass die handelnde Person, also der Turner, Vordergrund ist und z. B. das Pu-blikum wäre dann Hintergrund.

Diese Arbeit beschäftigt sich mit der Aufgabe, Tiefeninformationen über das Kamerasicht-volumen zu erhalten. Das Kamerasichtvolumen ist der Bereich der Szenerie, der garantiertin jedem Kamerabild eines Multi-Kamerasystems zu sehen ist, sofern er nicht verdeckt wirddurch ein Objekt oder eine Person.

Es wird in dieser Arbeit ein Verfahren vorgestellt, welches eine Möglichkeit liefert zu ent-scheiden, ob Personen oder Objekte sich innerhalb oder ausserhalb des Kamerasichtvolumenseines Multi-Kamerasystems be�nden. Realisiert wird dieses Verfahren an Hand von Tiefen-informationen über das Kamerasichtvolumen, welche mit Tiefeninformationen einer Personoder eines Objekts verglichen werden. Genauer gesagt, soll die Entfernung bestimmt werdenzwischen einer einzelnen Kamera und dem sichtbaren Aufnahmevolumen, das alle Kamerasgemein haben. Dieses Tiefeninformation wird im hier vorgestellten Verfahren fusioniert mitTiefenwerten eines Objekts oder einer Person, welche mittels des Halbglobalen Blockmat-chingverfahrens (engl. semi global block matching) aus dem Stereo Vision Bereich gewonnenwerden. Durch die Fusion dieser verschiedenen Ansätze, liefert das hier vorgestellte Verfahreneine neue Möglichkeit für Personen oder Objekte zu entcheiden, ob sie sich innerhalb desKamerasichtvolumens be�nden oder nicht.

5

Page 6: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

1.2 Aufbau und Kapitelübersicht

In Kapitel 2 (Stand der Technik) wird zunächst auf einige Stereo-basierte Tiefenbestimmungs-verfahren eingegangen, und schlieÿlich wird das in dieser Arbeit verwendete Verfahren be-handelt. Anschlieÿend werden in Kapitel 3 (Grundlagen) die Grundlagen und Grundbegri�eerklärt, die in dieser Arbeit zum Verständnis benötigt werden. Den eigene Ansatz wird inKapitel 4 (Umsetzung) näher betrachtet. Abschlieÿend werden das Verfahren in Kapitel 5(Evaluierung und experimentelle Validierung) evaluiert und die Ergebnisse verglichen.

6

Page 7: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

2 Stand der Technik

In diesem Kapitel soll darauf eingegangen werden, wie der Stand der Forschung in diesemBereich der Computer Vision ist. Hier werden die grundlegenden Stereo Vision Algorithmenund Methoden vorgestellt. Ausserdem wird auf die Berechung des Kamerasichtvolumens undVerfahren zur probabilistischen Vorder-/Hintergrundtrennung eingegangen.

Grundsätzlich geht es bei rechnerbasiertem Stereo Vision darum, die dreidimensionale Struk-tur einer Szenerie zu berechnen, anhand von zwei oder mehr Bildern, welche von unterschied-lichen Blickwinkeln im Raum aus aufgenommen wurden. Wenn man also zwei Kamerabildergegeben hat und man die Orte in den Bildern �nden kann, die zu demselben Punkt im physi-kalischen Raum korrespondieren, dann ist es möglich, den Ort des Punktes im physikalischenRaum zu bestimmen. Die primären Probleme, die es zu lösen gilt, sind Kalibrierung, Korre-spondenz und Rekonstruktion.

Kalibrierung nennt sich der Prozess, bei welchem interne und externe Kameraparameter fürdie einzelnen Kameras bestimmt werden. Das Schätzen der Kalibrierung ist heutzutage sehrgut erforscht, und es gibt qualitativ hochwertige Werkzeuge wie z. B. das Camera Calibration

Toolkit for Matlab 1. Im weiteren gehen wir jetzt davon aus, dass die Kamerakalibrierung sta-tisch und bekannt ist. Eine Disparität bezeichnet den Versatz eines Welpunktes bzgl. seiner

d

Abbildung 2.1: Disparität d in der linken Kamerabildebene in schwarz eingezeichnet.

Pixelkoordinaten, die aus verschiedenen Perspektiven aufgenommen wurden. Hierbei geht es

1Das Toolkit ist unter http://www.vision.caltech.edu/bouguetj/calib_doc erhältlich.

7

Page 8: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

um Pixel, die den selben Punkt in der Welt zeigen. Wenn zwei Stereokameras planar neben-einander aufgebaut sind und die selbe Szenerie aufnehmen, dann werden Punkte in der Weltauf jeweils verschiedene Bildpunkte in den Kameras abgebildet. Diesen Abstand, den die Pi-xel bzgl. ihrer Koordinaten voneinander haben, wenn man die zwei Bilder übereinander legenwürde, nennt man Disparität. In Abbildung 2.1 ist die Disparität d im linken Kamerabildeingezeichnet, die sich zwischen dem Bildpunkt in der linken Kamera und dem korrespondie-renden Bildpunkt der anderen Kamera aufspannt. Würde man diese Analyse für alle Pixel inder linken Kamera durchführen so erhilete man eine Disparitätenkarte.

Eine Disparitätenkarte ist ein Bild, in welchem alle Disparitäten zwischen zwei Bildern ein-getragen sind.

Will man für jeden passenden Pixel im linken Kamerabild den passenden zugehörigen Pixel�nden, so benötigt man Verfahren, die anhand von Maÿen den richtigen korrespondierendenPunkt im rechten Kamerabild bestimmen. Die Ermittling des richtigen Punktes nennt manKorrespondenzproblem.

Das Rekonstruktionsproblem besteht darin, aus einer Disparitätenkarte und der Kameraka-librierung die dreidimensionale Struktur zu berechnen. Für diese Arbeit ist vor allem dasKorrespondenzproblem relevant.

2.1 Lösungen für das Korrespondenzproblem

Nach Myron Z. Brown [Brown 03] teilen sich die Methoden zum Lösen des Korrespondenzpro-blems grundsätzlich in lokale und globale Korrespondezmethoden auf. Zu den lokalen Metho-den zählen Block Matching, gradientenbasierte Optimierung und Feature Matching. Das BlockMatching versucht die Disparität eines Punktes zu schätzen, indem in einem Bild eine kleineRegion, um den betrachteten Punkt herum, verglichen wird mit mehreren kleinen Regionenaus dem anderen Bild. Diese Verfahren werden in [P. Aschwanden 92] genauer betrachtet.Gradientenbasierte Methoden versuchen für kleine lokale Regionen, Di�erentialgleichungenbezüglich Bewegung und Bildhelligkeit aufzustellen. Ein gradientenbasiertes Verfahren wirdzum Beispiel in [Irani 91] vorgestellt. Sowohl Block Matching als auch gradientenbasierte Me-thoden haben das Problem, dass sie sensitiv reagieren gegenüber Tiefenunstetigkeiten, da eineRegion nahe einer Unstetigkeit Punkte enthält, die sehr unterschiedliche Tiefenwerte habenkönnen. Merkmalsbasierte Methoden versuchen, diese Problematik zu lösen, indem sie dieRegionen beschränken auf spezielle garantiert verlässliche Merkmale des Bildes. Siehe hierzuauch [Venkateswar 95] oder [Schmid 00].

Globale Korrespondenzmethoden nutzen nicht-lokale Bedingungen, um die Sensitivität gegen-über schwierigen lokalen Regionen zu vermindern. Schwierige lokale Regionen sind Regionen,für die keine ähnliche Region in dem zweiten Bild gefunden werden kann. Allerdings wird durchdie Verwendung dieser Bedingungen die Komplexität der Berechnungen wesentlich erhöht.

Die globalen Methoden beinhalten Dynamische Programmierung, Intrinsic Curves und GraphCuts. Die Dynamische Programmierung, versucht die Komplexität der Berechnungen vonOptimierungsproblemen zu verringern, indem sie die Optimierungsprobleme in kleinere undeinfachere Unterprobleme aufteilt. Dynamische Programmierung macht sich vor allem die An-ordnung der Objekte und die Weichheit des Farbverlaufs als Nebenbedingung zunutze. Fürdetailliertere Informationen, siehe auch [Brown 03]. Tomasi und Manduchie [Tomasi 98] schla-

8

Page 9: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

gen als Alternative, eine andere Repräsentation der Scanlines, eines Bildes, vor. Eine Scanlineist die Linie die zwei korrespondierende Bildpunkte verbindet. Diese Alternativen Scanlinesnennt man intrinsische Kurven oder Intrinsic Curves. Anhand dieser intrinsischen Kurven wirddas Disparitäten-Suchproblem zu einem nächste Nachbarn Problem umformuliert. Ein weite-rer Ansatz besteht darin, über den minimalen Cut in einem Graphen den maximalen Flowzu �nden. Dieses Verfahren wird als Graph Cuts bezeichnet, es wird im Buch von Cormen[Cormen 01] oder in [Roy 98] detailliert beschrieben.

In dieser Arbeit wird zur Validierung des eigenen Ansatzes das Semi Halbglobale Blockmat-chingverfahren verwendet, das in OpenCV 2.1 implementiert ist. Die Open-Source-BibliothekOpenCV ist unter http://opencv.willowgarage.com/wiki/ frei verfügbar.

2.2 Semi Global Block Matching

Der in OpenCV verwendete Algorithmus basiert auf dem Ansatz von Heiko Hirschmüller[Hirschmüller 08]. Dieser Algorithmus vergleicht die Eingangsbilder pixelweise und nimmtdabei auf unterschiedliche Beleuchtung der Aufnahmen Rücksicht. Mit dem Semi Global BlockMatching wird eine schnelle Approximation mit guten Ergebnissen erreicht. Ausserdem werdenVerdeckungen behandelt, und die Berechnungen laufen auf Subpixelebene, um eine erhöhteGenauigkeit zu erreichen. Durch schrittweise Nachbearbeitung werden Ausreiÿer eliminiertund Lücken durch Interpolation beseitigt.

2.3 Berechnung des Kamerasichtvolumens einesMultikamerasystems

In [Feldmann 10] wird ein Verfahren vorgestellt, dass das Kamerasichtvolumen zu einem Mul-tikamerasystem berechnet. Dieses Verfahren berechnet den Schnitt der einzelnen Kamerafrus-ta, also den Sichtpyramiden der Kameras. Hieraus ergibt sich ein Polyeder, der den Bereichbegrenzt, der in allen Kameras sichtbar ist. Auf dieses Verfahren wird in Abschnitt 4.1.1 nähereingegangen.

2.4 Probabilistische Vorder-/Hintergrundtrennung

Eine Methode zur Vorder-/Hintergrundtrennung ist die von [Feldmann 09] vorgestellte Me-thode. Hierbei werden Informationen aus mehreren Kameraperspektiven fusioniert, um einebessere Vordergrundtrennung zu erreichen, als das mit separat betrachteten Informationenaus einzelnen Kameras möglich wäre. Die Fusionierung wird mittels einer silhouttenbasierten3D-Rekonstruktion der Szene erreicht. Dies ermöglicht es einen dreidimensionalen Interessens-bereich zu erhalten. Hierraus können auch bewegte Objekte ausserhalb des Interessensbereichsdem Hintergrund zugerechnet werden. Die Projektion der 3D-Rekonstruktion in die ursprüng-lichen Bilder bietet schlieÿlich die Möglichkeit einem Lernalgorithmus Feeback zu geben, umim nächsten Schritt eine bessere Trennung zu erreichen.

9

Page 10: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird
Page 11: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

3 Grundlagen

3.1 Mathematische Notationen

Im folgenden Abschnitt wird auf die verwendete mathematische Notation eingegangen, die indieser Arbeit benutzt wird. Punkte werden in Groÿbuchstaben angegeben wie z. B. A,B,C, . . .und werden äquivalent zu ihren Ortsverktoren verwendet. Vektoren werden als ~x, ~y, . . . be-zeichnet. Ein Vektor zwischen zwei Punkten A,B wird als

−−→AB bezeichnet, wenn der Vektor von

A nach B zeigt oder als−−→BA, wenn der Vektor von B nach A zeigt. Ein Dreieck wird angegeben

als ∆(A,B,C), wobei A,B,C die drei Eckpunkte des Dreiecks darstellen. Die Orientierung einesDreiecks wird als gegen den Uhrzeigesinn angenommen, somit ist der Normalenvektor ~n desDreiecks ∆(A,B,C) über die Rechte-Hand-Regel eindeutig bestimmbar. Matrizen werden mitfetten Groÿbuchstaben angegeben wie z. B. M , Q oder R.

3.2 Geometrische Grundlagen

In diesem Abschnitt wird auf die Grundlagen der verwendeten Geometrie eingegangen.

3.2.1 Strahlgleichung (Parameterdarstellung)

Ein Strahl ist mathematisch betrachtet eine Halbgerade mit einer Richtung, das bedeutet einStrahl geht von einem Anfangspunkt A aus und erstreckt sich in eine Richtung ins Unendliche.Angegeben wird ein Strahl durch den Anfangspunkt A und einen zweiten Punkt B den dieHalbgerade schneidet. Durch die Di�erenz B −A wird die Richtung angegeben.

Strahl: r(t) = A+ t · (B −A), t ∈ R, t ≤ 0 (3.1)

3.2.2 Polyeder

Das Kamerasichtvolumen liegt in Polyeder-Form vor. Ein Polyeder (engl. = polyhedron) istein Körper im Raum, dieser Körper ist durch ebene Flächen begrenzt. Ein Polyeder stellt eineVerallgemeinerung eines Polygons dar, meist im dreidimensionalen Raum, kann aber auch aufhöhere Dimensionen verallgemeinert werden.

Ein Polyeder heiÿt konvex, wenn für zwei beliebige Punkte P1, P2, welche sich innerhalb desPolyeders oder auf seiner Ober�äche be�nden, gilt, dass alle Punkte die auf der Verbindungs-strecke von P1, P2 liegen, auch entweder innerhalb des Polyeders oder auf seiner Ober�ächeliegen.

11

Page 12: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

3.2.3 Kreuzprodukt

Das Kreuzprodukt ist eine Verknüpfung von zwei Vektoren, die als Ergebnis wieder einenVektor liefert. Das Kreuzprodukt berechnet sich für zwei gegebene Vektoren ~u,~v wie folgt:

~u× ~v =

u2 · v3 − u3 · v2u3 · v1 − u1 · v3u1 · v2 − u2 · v1

(3.2)

3.2.4 Skalarprodukt

Das Skalarprodukt ist eine Verknüpfung zwischen zwei Vektoren die einen Skalar als Ergebniszurückliefert. Das Skalarprodukt wird berechnet durch

~x · ~y = x1y1 + x2y2 + x3y3. (3.3)

Geometrisch bedeutet das, dass das Skalarprodukt der zwei Vektoren

~x · ~y = |~x| |~y| cos^(~x, ~y) (3.4)

ist, wobei |~x| die Länge des Vektors ~x und ^(~x, ~y) der von ~x und ~y eingeschlossene Winkel.

3.2.5 Dreiecksnormale

Die Dreiecksnormale kann mit dem Kreuzprodukt der Richtungsvektoren zweier Kanten desDreiecks berechnet werden, welche die Ebene aufspannen in der das Dreieck liegt. Das sind zumBeispiel die Vektoren

−−→AB und

−→AC in einem Dreieck ∆(A,B,C). In dieser Arbeit werden immer

genau dieses Kombinationen (−−→AB und

−→AC)gewählt, damit die Normalenrichtung eindeutig

ist. Also ergibt sich der Normalenvektor zu

~n =−−→AB ×

−→AC. (3.5)

3.2.6 Allgemeine baryzentrische Koordinaten

Behandelt werden hier allgemeine barizentrische Koordinaten, in dieser Arbeit werden sie inDreiecken gebraucht, dies wird an Ort und Stelle in Abschnitt 4.2.2 detailliert ehandelt. Füreinen Punkte Q

Q = λ1 · P1 + λ2 · P2 + ...+ λk · Pk mit 1 = λ1 + λ2 + λ3 (3.6)

nennt man laut Peter Shirley [Shirley 09] (λ1, λ2, . . . , λk) die baryzentrischen Koordinaten desPunktes Q bezüglich der Basispunkte P1, P2, . . . , Pk.

12

Page 13: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

3.2.7 Determinanten-Berechnung nach Sarrus

Die Regel von Sarrus ist eine Möglichkeit die Determinante einer 3× 3-Matrix zu berechnen.Bei gegegbener Matrix M mit

M =

a b cd e fg h i

(3.7)

gilt, dass die Determinante berechnet wird mit der Formel

det(M) =

∣∣∣∣∣∣a b cd e fg h i

∣∣∣∣∣∣ = aei+ bfg + cdh− gec− hfa− idb. (3.8)

Mithilfe der Determinante lässt sich anhand der Cramerschen Regel ein Gleichungsystemdritter Ordnung lösen.

3.2.8 Cramer-Regel zur Lösung eines linearen Gleichungssystems (LGS)

Mit der Cramerschen Regel läÿt sich ein LGS berechnen, welches genau so viele Unbekanntewie Gleichungen hat. Für drei Gleichungen bei einem LGS der Form

ax1 + bx2 + cx3 = d

ex1 + fx2 + gx3 = h

ix1 + jx2 + kx3 = l

(A| b) =

a b ce f gi j k

∣∣∣∣∣∣dhl

. (3.9)

Ergibt sich die Lösung zu

x1 =det(A1)

det(A)=

∣∣∣∣∣∣d b ch f gl j k

∣∣∣∣∣∣∣∣∣∣∣∣a b ce f gi j k

∣∣∣∣∣∣x2 =

det(A2)

det(A)=

∣∣∣∣∣∣a d ce h gi l k

∣∣∣∣∣∣∣∣∣∣∣∣a b ce f gi j k

∣∣∣∣∣∣x3 =

det(A3)

det(A)=

∣∣∣∣∣∣a b de f hi j l

∣∣∣∣∣∣∣∣∣∣∣∣a b ce f gi j k

∣∣∣∣∣∣.

(3.10)Jetzt müssen nur noch die Determinanten berechnet werden, dazu eigent sich die Sarrus Regel,Gleichung 3.8 in Abschnitt 3.2.7.

3.3 Computergraphische Grundlagen

In diesem Abschnitt wird auf die Grundlagen im Bereich der Computergraphik eingegangen.

13

Page 14: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

3.3.1 View Volume Culling und Backface Culling

Culling ist eine Technik der Computergraphik, in der es darum geht Performance zu gewinnen.Möchte man ein Bild aus geometrischen Strukturen auf dem Monitor darstellen, kann dassehr aufwendig werden. Um diesen Aufwand gering zu halten, versucht man mit dem Cullingzu verhindern, dass Dinge gezeichnet werden, die später nicht mehr sichtbar sind. Wenn manalso versucht Polygone zu zeichnen, dann kann man laut [Shirley 09] Polygone verwerfen, nochbevor sie gezeichnet werden, wenn diese Polygone nach dem Zeichnen der Szene nicht sichtbarsind. Dafür, dass ein Polygon nach dem Zeichen nicht sichtbar ist, gibt es zwei Möglichkeiten.

Die erste Möglichkeit ist, dass das Polygon sich gar nicht innerhalb des Sichtvolumens be�ndet,was als View Volume Culling bezeichnet wird.

Die zweite Möglichkeit ist, dass die Frontseite eines geschlossenen Polygonmodells (beispiels-weise eines Polyeders), die Polygone der Rückseite des Polygonmodells verdeckt. Da diesePolygone der Rückseite im fertig gezeichneten Bild von den Polygonen der Frontseite über-deckt sind, kann Performance gewonnen werden, indem die Polygone der Rückseite gar nichterst gezeichnet werden. In diesem Fall spricht man von Backface Culling, also das Verwer-fen der Rückseite. Dieses Vorgehen funktioniert natürlich nur bei Polygonmodellen, die nichtopak sind, d. h. nicht durchsichtig. Geht man davon aus, dass man nur geschlossene, opakeObjekte zeichnet, dann wird dies realisiert, indem man die Richtung der Normalen des Polyg-ons betrachtet und somit unterscheiden kann, ob das Polygon zur Vorder- oder Rückseite desObjektes gehört (wie das genau funktioniert, wird in Abschnitt 4.2.2 erklärt). Anschlieÿendkönnen Polygone verworfen werden, die zur Rückseite gehören, da sie von der Vorderseiteverdeckt werden.

3.4 Kamerakalibrierung

Bei der Kamerakalibrierung möchte man die Intrinsischen sowie die Extrinsischen Kamerapa-rameter berechnen. Hierbei stellen die Intrinsischen Parameter Linseneigenschaften, Brenn-weite und Pixelformat des Bildsensors dar. Die Extrinsischen Parameter beschreiben dieBlickrichtung sowie die Lage der Kamera im Raum in Bezug zum Weltkoordinatensystem.Die Kalibrierung wird anhand des Verfahrens von Zhang [Zhang 00] berechnet. In diesemVerfahren kalibriert man mit Hilfe eines gegebenen Musters, wie hier bespielsweise ein Brettmit einem aufgedruckten Schachbrettmuster. Dieses Brett wird durch den Raum bewegt undso in verschiedene Richtungen gedreht und geschwenkt, dass es im Kamerabild aus möglichstunterschiedlichen Ansichten gut erkennbar ist. Anhand dieser Aufnahmen können dann mitdem Camera Calibration Toolkit for Matlab1 [Bouguet 08] die Extrinsischen und IntrinsischenKameraparameter für jede Kamera bestimmt werden. Nach Heikkila et al. [Heikkila 97] wer-den die Intrinsischen Kamerparameter in vier Parameter unterteilt. Die Daten werden vondem Toolkit in folgendem Schema für die Intrinsischen Parameter rausgeschrieben:

� Zwei Werte für die Brennweite f (focal length) der Linse, diese werden in Pixeln ange-geben,

� zwei Werte beschreiben den Brennpunkt cc (cardinal oder principal point) der Linse,

1Das Toolkit ist unter http://www.vision.caltech.edu/bouguetj/calib_doc erhältlich.

14

Page 15: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

� einen Scherungskoe�zienten αc der Bildsensorzellen (wird meist als gleich 0 angenom-men),

� fünf Werte für die radiale und tangentiale Verzerrung kc

Für die extrinsischen Parameter schreibt das Toolkit die folgenden Daten raus:

� Drei Werte für die Translation ~t der Kamera vom Ursprung des Weltkoordinatensystems,

� neun Werte für die Rotation R der Kamera im Raum in einer 3× 3-Rotationsmatrix.

3.4.1 Umrechnung von Welt- nach Bildkoordinaten

Da ein Bild keine direkten Tiefeninformationen besitzt, braucht man eine Umrechnung umeinen Bildpunkt in der Welt wiederzu�nden. Es lässt sich entsprechend nicht sagen, wie weitein Objekt, das im Bildpunkt zu sehen ist, von der Kamera enfernt ist. Durch die Umrechnungkann man also nur feststellen, auf welchem von der Kamera ausgehenden Strahl sich dasObjekt im Raum be�ndet. Für die einfache Umrechnung nehmen wir das Lochkameramodellan, bei der keine Linsenverzerrung berücksichtigt werden muss, da man diese vorher aus denBilddaten herrausrechnen kann (vgl. Abschnitt 3.4.2).

Welt- zu Kamerakoordinaten

Um einen Punkt PW in Weltkoordinaten in einen Punkt PI im Bild zu transformieren, mussman erst die Umrechnung in Kamerakoordinaten aurchführen. Hierbei wird davon ausgegan-gen, dass die rechte-Hand-Regel gilt, d. h. x- und y-Achse bilden eine horizontale Ebene unddie z-Achse zeigt weg von der Kamera. Anhand der extrinsischen ParameterR und ~t kann manaus dem Punkt in Weltkoordinaten PW einen Punkt PC in Kamerakoordinaten umrechnen.

PC = R · PW + ~t

PCx

PCy

PCz

(3.11)

Die Umkehrung, also von Kamera- in Weltkoordinaten zu gelangen, ist nicht eindeutig, da beider Projektion auf das 2D Bild eine Dimension verloren geht (vgl. Abschnitt 3.4).

Kamera- zu Pixelkoordinaten

Von den Kamerakoordinaten kommt man dann mit folgender Formel zu den PixelkoordinatenPI , hierbei wird eine Dimensionsreduktion und eine Normierung durchgeführt. Ausserdemwird angenommen dass es keine Verschiebung des Bildursprungs gibt und die Pixel keineScherung haben.

PI =1

PCz·(PCx

PCy

)(3.12)

15

Page 16: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

Kamera- zu Weltkoordinaten

Von den Kamerakoordinaten in die Welt gelangt man ebenfalls anhand der extrinsischenParameter:

PW = R ·

PCx

PCy

PCz

− ~t (3.13)

3.4.2 Linsenverzerrung

Wenn man davon ausgeht, dass eine Kamera mit Linse benutzt wird, dann muss bei derAbbildung die Verzerrung der Linse beachtet werden. Vor allem bei Weitwinkelobjektiven istdieser Verzerrungse�ekt in der Praxis sehr deutlich zu beobachten. Zur Entzerrung werden dieIntrinsischen Parameter fc, cc, αc und kc benötigt. Nach der Berechnung der Pixelkoordinatenwird die Entzerrung durchgeführt.

16

Page 17: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

4 Umsetzung

In diesem Kapitel geht es darum, zu einem gegebenen Kamerasichtvolumen eines Multikame-rasystem die Tiefenwerte der einzelnen Ober�ächenpunkte zu berechnen, die in einer Kamerasichtbar sind. Dies geschieht, indem durch die einzelnen Bildpunkte der Kamera Sehstrahlengeschoÿen werden und mit der Ober�äche des Kamerasichtvolumens geschnitten werden.

Die Umsetzung teilt sich auf in Abschnitt 4.1, welcher die grundlegenden Eingabeparameterdas beeinhaltet vor allem das Kamerasichtvolumen, in Abschnitt 4.2 wird der eigene Ansatzbetrachtet und näher erklärt.

4.1 Eingabeparameter

Grundlegend für das Verfahren, welches in dieser Arbeit vorgestellt wird ist das Kamerasicht-volumen eines Multikamerasystems. In diesem Abschnitt wird genauer beschrieben, was dar-unter zu verstehen ist.

Das Kamerasichtvolumen eines Multikamerasystems ist der Bereich, der garantiert in allenKamerabildern auftaucht, sofern er nicht verdeckt wird. Zur Bestimmung des Kamerasicht-volumens wurde in [Feldmann 10] ein Verfahren vorgestellt, was dieser Arbeit als Grundlagedient. Abbildung 4.1 (a) zeigt die betrachtete Person und die sie umgebenden Kameras, inAbbildung 4.1 (b) ist das Ergebnis des Verfahrens eingezeichnet, der rote Polyeder begrenztden Bereich, der in allen Kameras sichtbar ist.

(a) Zu betrachtende Person innerhalb eines Mul-tikamerasystems.

(b) Person im Sichtvolumen der Kameras desMultikamerasystems.

Abbildung 4.1: Das Verfahren bestimmt das Sichtvolumen in einem Multikamersystem, wel-ches von allen Kameras gesehen wird (Bilder stammen aus [Brand 10]).

17

Page 18: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

4.1.1 Bestimmung des Kamerasichtvolumens

In diesem Abschnitt wird genauer darauf eingegangen wie das Kamerasichtvolumen anhandder Kamerakalibrierungsparameter bestimmt wird. In [Feldmann 10] wird anhand von Kali-brierungsparametern eines Multikamerasystems der Raum bestimmt, der sich im Sichtbereichaller beteiligten Kameras be�ndet. Dieser Raum, das sogenannte Kamerasichtvolumen (sieheAbbildung 4.1b, wird ermittelt, indem als erster Schritt das Sichtvolumen jeder einzelnen Ka-mera berechnet wird. Anschlieÿend werden im zweiten Schritt diese Sichtvolumina geschnitten,und es entsteht als Schnittmenge das Sichtvolumen für alle Kameras.

Sichtvolumen einer Kamera

Im Lochkameramodell hat das Sichtvolumen einer Kamera die Form eines Frustums. Ein Fru-

stum ist ein Pyramidenstumpf, der entsteht, wenn bei einer Pyramide die Spitze abgeschnittenwird. In der Realität besitzt eine Kamera natürlich keine perfekte Linse, was bedeutet, dassdie Linsenverzerrung beachtet werden muss. Durch die Linsenverzerrung entsteht ein defor-miertes Frustum. Die Grund�äche eines solchen deformierten Frustums ist in Abbildung 4.2anhand einer durchgezogenen Linie dargestellt. Hierzu wird in [Feldmann 10], als Annäherungan das Sichtvolumen, eine äussere Boundingbox (äusseres gestricheltes Rechteck in Abbildung4.2), welche entsprechend in 3D das angenäherte Sichtvolumen in Frustumform ergibt.

Abbildung 4.2: Verzerrtes Sichtfeld (durchgezogene Linie) mit gestricheltem innerem Recht-eck für angenommenes unverzerrtes Sichtfeld und äusserem Rechteck als mi-nimales konvexes Sichtfeld, welches an den Stellen der gröÿten Verzerrunganliegt(Bild aus [Brand 10]).

18

Page 19: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

Sichtvolumen aller beteiligten Kameras

Will man das Sichtvolumen aller beteiligten Kameras berechnen, so wird als erstes der Schnittder Sichtvolumina der einzelnen Kameras durchgeführt. Das bedeutet: es werden für n Ka-meras n Frusta geschnitten. Beispielhaft ist in Abbildung 4.3 (a) der Schnitt der Frusta vondrei Kameras dargestellt, in grün ist hier das Frustum von Kamera drei zu sehen, rot ist derSchnitt der Frusta von Kamera eins, zwei und drei. Das Ergebnis des Schnittes mit einemweiteren Kamerafrustum, dem von Kamera vier, wird in Bild 4.3 (b) gezeigt. Jetzt ist derrote Bereich durch die hinzugekommene Kamera bzw. ihr Frustum weiter eingeschränkt. Aus

(a) Schnitt der Kamerafrusta 1,2 und 3. (b) Hinzunahme des Frustums der Kamera 4.

Abbildung 4.3: Schnitt der Kamerafrusta (Bilder aus [Brand 10]).

den hieraus gewonnen Schnittpunkten der Kamerafrusta wird nun die konvexe Hülle berech-net und es entsteht ein Polyeder. Die Ober�äche dieses Polyeders besteht aus Dreiecken. Derfertig triangulierte Polyeder dient dieser Arbeit als Grundlage bzw. Eingabeparameter. Alsweitere Eingabeparameter liegen die Kamerakalibrierungen vor.

4.2 Verfahren zur Bestimmung der Tiefeninformationen desKamerasichtvolumens

4.2.1 Idee und Ziel des Verfahrens

Ziel des Verfahrens ist es aus dem gegebenen Kameravolumen Tiefeninformationen über seineOber�äche zu bekommen. Genauer gesagt, soll das Verfahren es ermöglichen, die Tiefenwertedes Kamerasichtvolumens aus Sicht einer Kamera zu bestimmen, also den Abstand, den dieseKamera zum Sichtvolumen hat. Dabei sollen sowohl Frontseite als auch Rückseite des Poly-eders betrachtet werden. Anschlieÿend sollen diese Tiefendaten des Kamerasichtvolumens mitüber Stereo Vision bestimmten Tiefendaten von Personen oder Objekten in der Szenerie ver-glichen werden, um somit zu ermitteln ob sich Personen oder Objekte innerhalb des Volumensbe�nden. Diese fusionierten Informationen können verwendet werden, um eine probabilisti-sche Vorder-/Hintergrundtrennung wie in [Feldmann 09] zu verbessern. Um dies zu erreichen,muss für jeden einzelnen Pixel im Kamerabild getestet werden, ob dieser Pixel überhaupt einenTeil der Welt zeigt, der zum Kamerasichtvolumen gehört. Anschlieÿend muss für jeden Pixel,der tatsächlich das Kamerasichtvolumen zeigt, ein Tiefenwert bestimmt werden, welcher den

19

Page 20: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

Abbildung 4.4: Abstand zwischen Punkt auf der Polyederober�äche und der Kamera.

Abstand von der Kamera zu dem Punkt in der Welt darstellt, den der Pixel im Kamerabildzeigt. Abbildung 4.4 zeigt den Abstand der Kamera zu dem Punkt auf der Aussenhülle desKamerasichtvolumens. Rosa ist der Polyeder des Kamerasichtvolumens dargestellt, die graueFläche ist die Bildebene, und die rote Strecke zeigt den Abstand zwischen Polyederober�ächeund Kamera. Dieser Abstand stellt die Tiefe dar, die mit dem hier vorgestellten Verfahrenberechnet werden kann.

Die Idee für die Tiefenberechnung ist, ausgehend vom Kamerazentrum durch jeden Pixel desKamerabildes einen Strahl zu schieÿen, und zu prüfen, ob der Strahl den Polyeder tri�t odernicht. Das bedeutet: für jeden Pixel und seinen zugehörigen Strahl muss geprüft werden ob sichder Strahl mit den Dreiecken des Polyeders schneidet und wie gegebenenfalls der Schnittpunktaussieht. Anschlieÿend wird der Abstand dieses Schnittpunktes zur Kamera berechnet. Um dieWerte vergleichbar zu machen mit Daten eines Stereokameraaufbaus, erfolgt eine Umrechnungin Disparitäten (siehe Abschnitt 4.2.3).

Beim Auftre�en der Strahlen auf den Polyeder können fuenf verschiedene Ergebnisse auftreten.Der Strahl schneidet:

� den Polyeder überhaupt nicht

� schneidet den Polyeder, wobei unterschieden werden muss zwischen:

� (1.) 2 Schnittpunkte mit genau 2 Dreiecken, ein Dreieck der Frontseite, ein Dreieckder Rückseite des Polyeders (schematisch in Abbildung 4.5 dargestellt).

� (2.) 3 oder 4 Schnittpunkte mit 3 bzw. 4 Dreiecken, dieser Fall tritt ein, wenn derStrahl frontal durch eine Kante in den Polyeder eintritt, und je nachdem, ob erauch durch eine Kante wieder austritt, sind es 3 oder 4 Schnittpunkte.

� (3.) n Schnittpunkte mit n Dreiecken, wenn der Strahl genau auf einen Eckpunktdes Polyeders tri�t (schematisch in Abbildung 4.6b dargestellt).

� (4.) unendlich viele Schnittpunkte mit n Dreiecken, wenn der Strahl exakt der Län-ge nach durch eine Kante hindurchgeht(schematisch in Abbildung 4.7a dargestellt).

20

Page 21: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

� (5.) unendlich viele Schnittpunkte mit n Dreiecken, wenn der Strahl in der Ebenedes Dreiecks liegt (schematisch in Abbildung 4.7b dargestellt).

Im folgenden Abschnitt werden die relevanten Fälle (das sind die Fälle bei denen ein Schnittzustande kommt) näher betrachtet.

Fall (1.) Zwei Dreiecke werden geschnitten

Der Fall, dass zwei Dreiecke, eines auf der Vorderseite und eines auf der Rückseite des Po-lyeders, geschnitten werden ist der häu�gste Fall. Er tritt immer dann auf, wenn der Strahlnicht auf den Rand tri�t. In Abbildung 4.5 ist ein derartiger Aufbau mit einem einfachenBeispielpolyeder dargestellt. Grün ist hierin der Sehstrahl, der vom Kamerazentrum als ers-tes das Dreieck A der Frontseite tri�t, anschliessend den Polyeder durchquert und auf derRückseite in Form des Dreiecks B wieder austritt aus dem Polyeder.

B

A

Abbildung 4.5: Fall (1.)Zwei Dreiecke A, B werden geschnitten. Dreieck A auf der zur Kameragewandten Seite und Dreieck B auf der Rückseite

Es werden mehr als zwei Dreiecke geschnitten

Wenn mehr als zwei Dreiecke geschnitten werden, gibt es wieder verschiedene Spezialfälle. Im(2.) Fall wird eine Kante geschnitten beim Ein- oder Austritt in den Polyeder. Im (3.) Fallschneidet der Sehstrahl genau einen Eckpunkt des Polyeders. Der (4.) Fall ist der, in welchemder Strahl exakt der Länge nach durch eine Kante hindurchgeht, und im (5.) Fall schneidetder Strahl das Dreieck so, dass er in der Dreiecks�äche liegt.

Fall (2.) Strahl geht durch eine Kante beim Ein- und/oder Austritt in den Polyeder

:

Hier werden beim Eintritt an der Kante zwei Dreiecke, und beim Austritt an der Kante zweiDreiecke geschnitten. In Abbildung 4.6a ist das schematisch dargestellt, eine Variante, beider nur eine Kante geschnitten wird und auf der anderen Seite nur ein Dreiecksschnittpunktbesteht, ist auch möglich.

Fall (3.) Strahl schneidet Eckpunkt

:

21

Page 22: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

Der Strahl verläuft genau durch den Eckpunkt. In diesem Fall schneidet der Strahl n Dreie-cke, wobei n der Anzahl der Dreiecke entspricht, die den Polyedereckpunkt als gemeinsamenDreieckseckpunkt haben. In Abbildung 4.6b sieht man den grünen Sehstrahl durch die Eckeeines einfachen Polyeders laufen. In diesem Beispiel wären es dann 4 Schnittpunkte mit den4 Dreiecken die den oberen Eckpunkt des Polyeders gemein haben.

Fall (4.) Kante liegt auf dem Strahl

:

Dieser Fall schlieÿt im Prinzip die Schnittpunkte des vorherigen Falls mit ein, da jede Kan-te zwei Eckpunkte des Polyeders als Begrenzung hat. In Abbildung 4.7a ist auch hier derSehstrahl grün dargestellt, er geht von der Kamera in Richtung des Beispielpolyeders (hierrosa und orange dargestellt) und tri�t direkt auf den Eckpunkt, der die Kante begrenzt. Imanschliessenden Verlauf ist der Strahl identisch mit der Kante und tri�t dann auf den zwei-ten Eckpunkt, der die Kante begrenzt. Die zwei orangenen Dreiecke haben mit dem Strahlunendlich viele Schnittpunkte, da die Kante innerhalb des Strahls liegt. Mit den n Dreiecken,welche zusätzlich zu den orangenen Dreiecken auch einen der beiden Eckpunkte gemein haben,kommen nochmal n Schnittpunkte dazu, entsprechend wie im Falle des einen Eckpunktes.

Fall (5.) Strahl läuft durch die Ebene, in der sich das Dreieck be�ndet

:

Auch in diesem Fall wird ein Eckpunkt des Polyeders geschnitten, womit alle n Dreiecke, diediesen Eckpunkt gemein haben, einen Schnittpunkt mit dem Strahl haben. Wie in Abbildung4.7b deutlich wird, liegt der grüne Sehstrahl genau in der Ebene des orangenen Dreiecks, wasdazu führt, dass unendlich viele weitere Schnittpunkte mit dem orangenen Dreieck hinzukom-men und ein Schnittpunkt mit dem Dreieck, das an der Kante anliegt.

B

A

(a) Fall (2.) Eine Kante wird bei Ein-tritt geschnitten und eine bei Aus-tritt.

(b) Fall (3.) Genau der Eckpunkt desPolyeders wird von dem Strahl ge-tro�en, d.h. alle Dreiecke zu de-nen dieser Eckpunkt gehört ha-ben einen Schnittpunkt mit demStrahl.

Abbildung 4.6: Schnittpunkte mit mehr als zwei Dreiecken.

22

Page 23: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

(a) Fall (4.) Der Strahl geht genaudurch eine Kante des Polyeders, so-mit haben die zwei orangenen Drei-ecke unendlich viele Schnittpunktemit dem Strahl. Hinzukommen al-le Schnitte der beiden an die Kanteangrenzenden Eckpunkte.

(b) Fall (5.) Der Strahl schneidet einenEckpunkt und liegt genau in derDreiecksebene des orangenen Drei-ecks.

Abbildung 4.7: Weitere Fälle mit Schnittpunkten mit mehr als zwei Dreiecken.

andere Schnittpunktanzahl

Eine andere Anzahl an Schnittpunkten, z.B. einen einzigen Schnittpunkt, kann es theoretischgesehen nicht geben, da von einem geschlossenen knovexen Polyeder ausgeht, der immer 2Schnittpunkte (Vorder- und Rückseite) haben muss, es sei denn man tri�t genau auf eineKante (Fälle (2.) und (4.)), oder einen Eckpunkt (Fall (3.)). In diesen Fällen gibt es immermehr als einen Schnittpunkt wie bereits ausgeführt. In der Realität können allerdings numeri-sche Ungenauigkeiten in den Rechnungen auftreten. Diese lassen zu, dass auch andere Werteals Schnittpunktanzahl herauskommen können, z. B. könnte der Strahl durch eine Kante gehenund nur einen Schnittpunkt mit einem Dreieck der Vorderseite haben, aber durch numerischeUngenauigkeit die Kante des Dreiecks der Rückseite nicht schneiden.

4.2.2 Schnitt von Sehstrahl mit Dreieck

Im Folgenden wird davon ausgegangen, dass das Kamerasichtvolumen ein konvexer Polyederim dreidimensionalen Raum ist, der nach dem in 4.1.1 beschriebenen Verfahren berechnetwird. Ein solcher Polyeder ist aus Dreiecken zusammengesetzt und begrenzt den Sichtbereichder Kameras.

Den Test, ob ein Strahl ein Dreieck schneidet bzw. welche Dreiecke der Strahl schneidet, leistetdas Verfahren von Tomas Möller und Ben Trumbore [Möller 05]. In diesem Verfahren wirdanhand bar�entrischer Koordinaten der direkte Schnittpunkt mit einem Dreieck berechnet,ohne dabei die Berechnungen der Ebenengleichungen zu benötigen.

Strahl und baryzentrische Dreieckskoordinaten als Input

Für die Berechnung des Schnittpunktes muss ein Strahl generiert werden. Ein Sehstrahl istde�niert als

r(t) = O + t · ~d, t ∈ R, t ≤ 0

nach der Gleichung 3.1, wobei O der Ursprung, ~d die normierte Richtung mit der Länge |~d| = 1und t der reele Paramter dieser Gleichung ist. Für einen Sehstrahl gilt, dass sein Ursprung im

23

Page 24: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

Kamerazentrum liegt. Die Richtung wird vorgegeben durch die Bildkoordinate, durch die derStrahl gehen soll. Die Dreiecke, welche den Polyeder des Kamerasichtvolumens begrenzen, sindgegeben durch ihre drei Eckpunkte A,B,C wie in Abschnitt 3.2.5 beschrieben. Die Punkteliegen in sortierter Reihenfolge vor, so dass der Normalenvektor der Ebene, in der das Dreieckliegt, auf der Ober�äche des Polyeders steht und nicht in den Polyeder hinein zeigt.

Ein Punkt innerhalb eines Dreiecks lässt sich in Analogie zur De�nition in [Shirley 09] dar-stellen als

Q = λ1A+ λ2B + λ3C mit A, B, C, Q ∈ R3. (4.1)

Hierbei ist Q der Punkt auf dem Dreieck, A,B,C die Eckpunkte des Dreiecks und λ1, λ2, λ3die baryzentrischen Koordinaten bzgl. der Eckpunkte des Dreiecks, wie in Abschnitt 3.2.6beschrieben.

Jetzt kann anhand der Strahlgleichung 3.1 und der baryzentrischen Koordinaten getestetwerden ob sich ein Schnittpunkt innerhalb des Dreiecks ergibt. Dazu setzt man den Strahlgleich mit der Gleichung des Dreieckspunktes Q.

O + t · ~d = λ1A+ λ2B + λ3C (4.2)

Nach De�nition der baryzentrischen Koordinaten (Gleichung 3.6), weiÿ man, dass gilt

1 = λ1 + λ2 + λ3, ⇒ λ1 = 1− λ2 − λ3. (4.3)

Durch einsetzen gelangt man zu:

O + t · ~d = (1− λ2 − λ3)A+ λ2B + λ3C (4.4)

Damit kann ein lineares Gleichungssystem mit drei Gleichungen und drei Unbekannten t, λ2und λ3aufgestellt werden

Ox + t · ~dx = (1− λ2 − λ3)Ax + λ2Bx + λ3Cx

Oy + t · ~dy = (1− λ2 − λ3)Ay + λ2By + λ3Cy

Oz + t · ~dz = (1− λ2 − λ3)Az + λ2Bz + λ3Cz

.

Mit der Cramerschen Regel (vgl. Abschnitt 3.2.8) bekommt man schliesslich die Lösung fürλ2, λ3 und t, und mit Einsetzen in Gleichung 4.3 auch das fehlende λ1 heraus. Wenn an-schlieÿend veri�ziert ist, dass es sich um einen Schnittpunkt handelt, dann ist t der eigentlichgesuchte Tiefenwert, der den Abstand der Kamera zu dem Punkt auf der Ober�äche des Ka-merasichtvolumens darstellt. Für die baryzentrischen Koordinaten gilt, alle möglichen PunkteQ mit 1 = λ1 + λ2 + λ3 liegen innerhalb des Dreiecks ∆(A,B,C), wenn alle λk > 0 mitk ∈ {1, 2, 3} sind.

Ist genau ein λk = 0, so liegt Q auf einer Kante.

Sind λi = λj = 0, so liegt Q genau im verbleibenden Punkt Pl mit l 6= i 6= j ∈ {1, 2, 3}.

24

Page 25: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

Es lässt sich also überprüfen, ob der Strahl ein Dreieck schneidet. Für jeden Strahl errechnetman somit, welche Dreiecke er schneidet, indem man über alle Dreiecke iteriert. Anschlie-ÿend müssen die Dreiecke respektive ihre Schnittpunkte mit dem Strahl geprüft werden, obsie der von der Kamera aus gesehenen Vorderseite des Sichtvolumens oder der der Kameraabgewandten Rückseite angehören.

Vorder-/ Rückseiten-Test

Da die Normalen der Dreiecke nach aussen zeigen, bieten sie eine Möglichkeit, die Dreiecke zuunterscheiden nach Zugehörigkeit zu Vorder- bzw. Rückseite. Das Skalarprodukt (siehe Ab-schnitt 3.3) von Sehstrahl und der Normale des Dreiecks ergibt, wie in Abbildung 4.8, zu sehenist, einen Wert kleiner, göÿer oder gleich 0. Um Probleme mit numerischen Ungenauigkeitenzu vermeiden wird 0 als ε = 10−7 bzw. −ε angenommen. Wenn das Skalarprodukt gröÿer ε ist,gehört das entsprechende Dreieck zur Vorderseite des Kamerasichtvolumens. Skalarproduktvon Sehtstrahl und Normalenvektor kleiner −ε bedeutet: das zugehörige Dreieck gehört zurRückseite. Der Spezialfall, dass das Skalarprodukt 0 (damit ist gemeint kleiner ε und gröÿer−ε) ergibt, tritt auf, wenn der Normalenvektor genau orthogonal zu dem Sehstrahl steht. Daspassiert genau dann, wenn der Strahl eine Kante schneidet (siehe Spezialfall in Abbildung4.6b) oder in der Dreiecks�äche liegt wie in Abbildung 4.7b. Zusammengefasst sieht man diedrei möglichen Normalenausrichtungen in Abbildung 4.8.

n

n

n

Skalarprodukt s von Strahl und Normalenvektor

s = 0

s < 0s > 0

Abbildung 4.8: Trennung von Vorder- und Rückseite, die rosa Dreiecke sind deutlich Vorder-und Rückseite. Die beiden roten Dreiecke werden nicht weiter betrachtet, daihre Normalenvektoren orthogonal zu dem Sehstrahl stehen.

Alle Fälle, bei denen das Skalarprodukt gleich 0 ist, werden für die Tiefenberechnung verwor-fen, da immer mindestens ein Dreieck der Vorderseite und eines der Rückseite auch geschnittenwird und einen passenden Tiefenwert liefert. In Abbildung 4.8 sieht man, dass die beiden oran-genen Dreiecke nicht notwendig sind, da die Tiefenwerte der Vorderseite z. B. aus dem blauenDreieck und die Tiefenwerte der Rückseite z. B. aus dem gelben Dreieck berechnet werdenkönnen. Im Falle, dass der Strahl an einer Kante ein- oder austritt und durch die Dreiecksebe-ne läuft, wie in Abbildung 4.7b, gibt es das Dreieck der Unterseite, welches sich die Kantemit dem orangenen Dreieck teilt und somit einen Tiefenwert liefert.

Da für jeden Pixel nur ein Tiefenwert für die Vorderseite berechnet wird, reicht es, den Tie-fenwert des ersten Dreiecks (der Vorderseite), das man �ndet, zu bestimmen. Hierbei spielt eskeine Rolle, ob, wie in Abbildung 4.8, der Schnittpunkt des blauen Dreiecks oder des vorderenrosa Dreiecks bestimmt wird, da sie identisch sind, und somit einen identischen Tiefenwertbesitzen. Analog spielt es für die Rückseite keine Rolle, ob der Tiefenwert des gelben oderdes hinteren rosa Dreiecks bestimmt wird. Daher wird jeweils für Vorder- und Rückseite nachdem ersten gefundenen Schnittpunkt abgebrochen. Somit sind, wenn alle Strahlen jeweils über

25

Page 26: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

alle Dreiecke iteriert wurden, und bei den relevanten Schnittpunkten t berechnet wurde, alleTiefenwerte für Vorder- und Rückseite des Kamerasichtvolumens bestimmt. Wenn man dieseTiefenwerte in ein Graustufenbild mit 8-Bit speichert, erhält man mit dem Kamera Bild desJongleurs in Abbildung 4.9 für Vorder- und Rückseite die Bilder 4.10a und 4.10b. In die-sen Graustufenbildern bedeuten dunklere Werte, dass die Punkte näher an der Kamera sind,Punkte die weiter entfernt sind, werden heller dargestellt.

Abbildung 4.9: Juggler-Bild mit eingezeichnetem Kamerasichtvolumen.

(a) Vorderseite des Kamerasichtvolu-mens als Grauwertbild.

(b) Rückseite des Kamerasichtvolu-mens als Grauwertbild.

Abbildung 4.10: Tiefenbilder des Kamerasichtvolumens

4.2.3 Berechnung der Disparitäten

Um die Berechnung der Disparitäten durchführen zu können braucht man zunächst Daten ei-ner zweiten Kamera, die mit der bisher betrachteten Kamera ein Stereokamerapaar bildet. Eswird im folgenden davon ausgegangen, dass die bisher betrachtete Kamera die linke Kamerader beiden ist. Eine Disparität bezeichnet das Verschiedensein zweier Pixel in zwei verschie-denen Kamerabildern bezüglich der Koordinaten. Hierbei geht es um Pixel, die den selbenPunkt in der Welt zeigen. Wenn zwei Stereokameras planar nebeneinander aufgebaut sindund die selbe Szenerie aufnehmen, dann werden Punkte in der Welt auf jeweils verschiedeneBildpunkte in den Kameras abgebildet. Diesen Abstand den die Pixel bzgl. ihrer Koordi-naten voneinander haben, wenn man die zwei Bilder übereinander legen würde, nennt manDisparität. Wie in Abbildung 2.1 bereits gesehen, ist die Disparität d im linken Kamerabildder Abstand, der sich zwischen dem Bildpunkt und dem korrespondierenden Bildpunkt deranderen Kamera aufspannt.

Für die Berechnung der Disparität benötigt man desweiteren die Rückprojektionsmatrix Q,

26

Page 27: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

welche einen 2D-Bildpunkt und eine zugehörige Disparität in einen 3D-Weltpunkt transfor-miert.

Q =

1 0 0 −cx0 1 0 −cy0 0 0 f

0 0 −1/Tx(cx−c′x)

Tx

Abbildung 4.11: Ein Stereokamerasetup, und die dazugehörigen Parameter. Bild stammt aus[Bradski 08]

Hierbei sind cx, cy die x- und y-Koordinaten des Bildhauptpunktes, f ist die Brennweite, Txist der Abstand der zwei Kameras in der x-Ebene, die durch den Ursprung des Kamerakoor-dinatenystems der linken Kamera aufgespannt wird. Die bisher genannten Parameter gehörenzur linken Kamera, c′x ist dann schlieÿlich die x-Koordinate des Bildhauptpunktes der rechtenKamera. In Abbildung 4.11 sind diese Parameter und ihre Bedeutung anschaulich dargestellt.

Die Matrix Q erlaubt es einen 3D-Punkt in Kamerakoordinaten zu errechnen, wenn manDisparität und x, y der Bildkoordinaten kennt.

Q

xyd1

=

XYZW

(4.5)

Im hiesigen Fall hingegen sind allerdings die 3D-Weltkoordinaten Xw, Yw, Zw gegeben und dieDisparität d ist gesucht. Das heiÿt, die 3D-Weldkoordinaten müssen noch in Kamerakoordi-naten transformiert werden, wie in Abschnitt 3.4.1 beschrieben.

Also bekommt man mit den nun vorhandenen 3D-Kamerakoordinaten nach invertieren derQ-Matrix die invertierte Matrix Q−1

Q−1 =

1 0 −cx

f 0

0 1−cyf 0

0 0 cx−c′xf −Tx

0 0 −1/Tx(cx−c′x)

Tx

. (4.6)

27

Page 28: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

Und entsprechend die Gleichung

Q−1

XYZ1

=

xWyWdW1W

. (4.7)

Daraus ergibt die Gleichung d = −Tx∗fZ . Womit man schlieÿlich zu jedem Pixel eine Disparität

berechnen kann.

Abbildung 4.12: Ein Beispielbild für ein Kamerabild auf dem die Disparitäten der Senerie zusehen sind.

4.2.4 Fusion mit dem Disparitätenbild der Szenerie

In diesem Abschnitt betrachten wir ein aus dem Halbglobalen Blockmatching Verfahren (vgl.2.2) gewonnenes Disparitäten Bild der ganzen Szenerie (vgl. Abbildung 4.12). Schlussendlichwerden jetzt die berechneten Disparitäten genutzt, um den Bereich darzustellender Disparitä-ten der Szenerie einzugrenzen, und somit irrelevanten Hintergrund herraus zu �ltern. Anhandder Disparitäten für Vorder- und Rückseite des Kamerasichtvolumens lässt sich jetzt sagen,welche Disparitäten der Szenerie überhaupt in dem Sichtvolumen liegen. Dies geschieht mitdem einfachen Test, für jeden Pixel des Disparitätenbildes der Szenerie zu prüfen, ob er zwi-schen dem Wert der Disparität des äquivalenten Pixels des Vorderseiten Disparitätenbildesund dem Wert des äquivalenten Pixels des Rückseiten Disparitätenbildes liegt. Alle ande-ren Disparitäten werden verworfen. Folglich sieht man in diesem Disparitätenbild nur nochPersonen und Objekte die sich tatsächlich innerhalb des Sichtbereichs be�nden. Damit istletztendlich das Ziel dieser Arbeit erreicht, für eine Person oder ein Objekt entscheiden zukönnen, ob sie bzw. es sich innerhalb des Kamerasichtvolumens be�ndet.

28

Page 29: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

5 Evaluierung und experimentelle

Validierung

(a) Die Auswellensequenz zeigt eine Person beider Tätigkeit des Teigauswellens.

(b) Die Handshakesequenz zeigt eine Person, wel-che einem Imaginären gegenüber die Handschüttelt.

(c) Die Turnerinsequenz zeigt eine Turnerin, wiesie einen Bogengang vorwärts ausführt.

Abbildung 5.1: Die drei verschiedenen Testdatensätze.

Die Evaluierung und experimentelle Validierung des Verfahrens wurde anhand von drei Test-datensätzen, welche hier am Lehrstuhl aufgenommen wurden, durchgeführt. Es werden hierbeispeziell jeweils die Bilder eines Stereokamerapaars betrachtet, um den Vergleich zu den Datenaus dem Halbglobalen Blockmatchingverfahren herstellen zu können. In der Literraturrecher-che wurde kein vergleichbares Verfahren gefunden. Daher ist es schwierig, einen objektivenVergleich durchzuführen. Wir haben uns daher entschieden die Testdaten nur untereinanderzu vergleichen.

Das Kapitel teilt sich in drei Teile auf. Im ersten Abschnitt wird schrittweise anhand des erstenDatensatzes erklärt, welche Zwischenergebnisse das Verfahren liefert und wie diese entstehen.

29

Page 30: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

Anschlieÿend werden im zweiten Abschnitt die Ergebnisse der beiden anderen Datensätzegezeigt. Im dritten und letzten Abschnitt werden die Ergebnisse miteinander verglichen.

Beim ersten Datensatz handelt es sich um die Auswellensequenz. Sie ist im institutseige-nen Labor aufgenommen und zeigt eine Person bei der Tätigkeit des Teigauswellens, sieheAbbildung 5.1a. Ebenso wie der erste Datensatz wurde auch der zweite Datensatz, die Hands-hakesequenz, im institutseigenen Labor aufgenommen. diese Sequenz zeigt eine Person, welcheeinem Imaginären gegenüber die Hand schüttelt, wie in Abbildung 5.1b zu sehen ist. Der drit-te Datensatz, die Bogengangvorwärtssequenz, wurde in einer Sporthalle des Sportinstitutsaufgenommen. Diese Sequenz zeigt eine Turnerin, wie sie einen Bogengang vorwärts ausführt,siehe Abbildung 5.1c.

5.1 Schrittweise Ablauf und Ergebnisse

Als erster Datensatz wird die Auswellensequenz betrachtet, in welcher eine Person die Kü-chentätigkeit des Teigauswellens vollführt. Die Abbildungungen 5.2a und 5.2b zeigen die un-bearbeiteten Bilder von der linken bzw. rechten Kamera.

(a) Originalbild der linken Kamera. (b) Originalbild der rechten Kamera.

Abbildung 5.2: Auswellensequenz.

(a) Kamerasichtvolumen eingezeichnet indas Originalbild der linken Kamera.

(b) Kamerasichtvolumen eingezeichnet indas Originalbild der rechten Kamera.

Abbildung 5.3: Kamerasichtvolumen der Auswellensequenz.

30

Page 31: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

Im nächsten Schritt werden die Abbildungen 5.3a und 5.3b betrachtet. Hier ist bereits dasKamerasichtvolumen aller Kameras berechnet. Der Umriss dieses Volumens aus Perspekti-ve der entsprechenden Kamera ist in rot jeweils in die Originalbilder der beiden Kameraseingezeichnet.

(a) Rekti�ziertes Bild der linken Kamera. (b) Rekti�ziertes Bild der rechten Kamera.

Abbildung 5.4: Rekti�zierte Kamerabilder der Auswellensequenz.

Im Anschluss daran sind in Abbildung 5.4a und 5.4b die rekti�zierten Bilder zu sehen. Indiesen Bildern sind jetzt jeweils zwei korrespondierende Punkte auf gleicher Höhe, d. h., dassfür zwei Punkte, die den selben Punkt der Szenerie abbilden, gilt, dass sie gleiche Werte alsy-Bildkoordinate haben.

In den Abbildungen 5.5a und 5.5a sieht man das Kamerasichtvolumen als Graustufenbild.Dunklere Pixel repräsentieren Punkte, die einen kleineren Abstand zur Kamera haben alshellere Pixel. Die Frontseite des Kamerasichtvolumens ist in Abbildung 5.5a zu sehen, dieTiefe der dunklen Werte in der Mitte des Sichtvolumens ist kleiner als die Tiefe der hellerenPunkte am oberen und unteren Rand, da der Abstand der Kamera zu der Mitte der Frontseitedes Kamerasichtvolumens kleiner ist als der Abstand zu den Punkten, die heller dargestelltsind. Die Rückseite des Kamerasichtvolumens ist in Abbildung 5.5b zu sehen. Das Bild zeigteine Innenansicht der Rückseite, hellere Werte stellen eine gröÿere Tiefe dar, ensprechend sinddie hellen Punkte in der Mitte weiter entfernt von der Kamera als dunklere Punkte am Rand.

Die Disparitäten der Vorder- und Rückseite des Kamerasichtvolumens sind in den Abbildun-gen 5.6a und 5.6b zu sehen. Umgekehrt wie in in den Tiefenbildern werden in diesen BildernPunkte, die weiter entfernt von der Kamera sind, dunkler und Punkte, die näher an der Ka-mera sind, heller dargestellt. Dies liegt daran, dass Disparitäten mit zunehmendem Abstanddes Punktes zur Kamera kleiner werden (vgl. Abbildung 4.11.

Zum Vergleich der gewonnenen Disparitäten mit den Disparitäten der Szenerie sehen wir inAbbildung 5.7 das Disparitätenbild, das aus den rekti�zierten Bildern (Abbildungen 5.4b und5.4a) berechnet wurde.

Schlieÿlich sehen wir in den Abbildungen 5.8a und 5.8b die Ergebnisse der Fusion der be-rechneten Disparitäten des Kamerasichtvolumens mit den Disparitäten der Szenerie, die ausden rekti�zierten Bildern berechnet wurden. In Abbildung 5.8a werden nur Disparitäten derSzenerie dargestellt, welche nicht rechts, links, unter- oder oberhalb des Sichtvolumens, son-dern im Bereich der Silhouette des Kamerasichtvolumens liegen. Das endgültige Ergebnis Bild5.8b beachtet zusätzlich, dass Disparitäten der Szenerie, die hinter der Rückseite bzw. vor der

31

Page 32: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

Vorderseite des Kamerasichtvolumens liegen, auch verworfen werden können, da sie sich nichtinnerhalb des Kamerasichtvolumens be�nden.

5.1.1 Die Handshake- und die Turnerinsequenz

Analog zur Auswellensequenz werden in diesem Kapitel die Bilder der Handshakesequenz,Abbildungen 5.9a bis 5.15b, und im Anschluss daran die Bilder der Turnerinsequenz, Abbil-dungen 5.16a bis 5.22b, gezeigt.

32

Page 33: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

(a) Tiefenbild der Frontansicht des Kamer-asichtvolumens, berechnet durch Schnittvon Sehstrahl und Polyeder, wie in Ab-schnitt 4.2.2 erklärt.

(b) Tiefenbild der Rückseite des Kamer-asichtvolumens, berechnet durch Schnittvon Sehstrahl und Polyeder, wie in Ab-schnitt 4.2.2 erklärt. Mit Rückseite isthier die Innenansicht der Rückseite ge-meint, wenn man die Frontseite weg-schneidet.

Abbildung 5.5: Tiefenbilder des Kamerasichtvolumens der Auswellensequenz.

(a) Disparitäten-Bild der Frontansicht desKamerasichtvolumens, berechnet durchdas Verfahren aus Abschnitt 4.2.3.

(b) Disparitäten-Bild der Rückseite des Ka-merasichtvolumens, berechnet durch dasVerfahren aus Abschnitt 4.2.3.

Abbildung 5.6: Disparitätenbilder des Kamerasichtvolumens der Auswellensequenz.

Abbildung 5.7: Disparitätenbild der Auswellensequenz.

33

Page 34: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

(a) Fusion der Disparitäten des Kamer-asichtvolumens und der Disparitäten derSzenerie. Disparitäten, die sich links,rechts, ober- oder unterhalb des Kame-rasichtvolumens be�nden, werden hiernicht mehr betrachtet.

(b) Fusion der Disparitäten des Kamer-asichtvolumens und der Disparitäten derSzenerie. Zusätzlich zu den Disparitä-ten, die sich links, rechts, ober- oderunterhalb des Kamerasichtvolumens be-�nden, werden auch jene verworfen diesich hinter der Rückseite oder vor derFrontseite des Kamerasichtvolumens be-�nden.

Abbildung 5.8: Ergebnisse der Auswellensequenz.

(a) Originalbild der linken Kamera. (b) Originalbild der rechten Kamera.

Abbildung 5.9: Handshakesequenz.

34

Page 35: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

(a) Kamerasichtvolumen eingezeichnet indas Originalbild der linken Kamera.

(b) Kamerasichtvolumen eingezeichnet indas Originalbild der rechten Kamera.

Abbildung 5.10: Kamerasichtvolumen der Handshakesequenz.

(a) Rekti�ziertes Bild der linken Kamera. (b) Rekti�ziertes Bild der rechten Kamera.

Abbildung 5.11: Rekti�zierte Kamerabilder der Handshakesequenz.

(a) Tiefenbild der Frontansicht des Kamer-asichtvolumens, berechnet durch Schnittvon Sehstrahl und Polyeder, wie in Ab-schnitt 4.2.2 erklärt.

(b) Tiefenbild der Rückseite des Kamer-asichtvolumens, berechnet durch Schnittvon Sehstrahl und Polyeder, wie in Ab-schnitt 4.2.2 erklärt. Mit Rückseite isthier die Innenansicht der Rückseite ge-meint, wenn man die Frontseite weg-schneidet.

Abbildung 5.12: Tiefenbilder des Kamerasichtvolumens der Handshakesequenz.

35

Page 36: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

(a) Disparitäten-Bild der Frontansicht desKamerasichtvolumens, berechnet durchdas Verfahren aus Abschnitt 4.2.3.

(b) Disparitäten-Bild der Rückseite des Ka-merasichtvolumens, berechnet durch dasVerfahren aus Abschnitt 4.2.3.

Abbildung 5.13: Disparitätenbilder des Kamerasichtvolumens der Handshakesequenz.

Abbildung 5.14: Disparitätenbild der Handshakesequenz.

(a) Fusion der Disparitäten des Kamer-asichtvolumens und der Disparitäten derSzenerie. Disparitäten, die sich links,rechts, ober- oder unterhalb des Kame-rasichtvolumens be�nden, werden hiernicht mehr betrachtet.

(b) Fusion der Disparitäten des Kamer-asichtvolumens und der Disparitäten derSzenerie. Zusätzlich zu den Disparitä-ten, die sich links, rechts, ober- oderunterhalb des Kamerasichtvolumens be-�nden, werden auch jene verworfen, diesich hinter der Rückseite oder vor derFrontseite des Kamerasichtvolumens be-�nden.

Abbildung 5.15: Ergebnisse der Handshakesequenz.

36

Page 37: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

(a) Originalbild der linken Kamera. (b) Originalbild der rechten Kamera.

Abbildung 5.16: Turnerinsequenz.

(a) Kamerasichtvolumen eingezeichnet indas Originalbild der linken Kamera.

(b) Kamerasichtvolumen eingezeichnet indas Originalbild der rechten Kamera.

Abbildung 5.17: Kamerasichvolumen der Turnerinsequenz.

(a) Rekti�ziertes Bild der linken Kamera. (b) Rekti�ziertes Bild der rechten Kamera.

Abbildung 5.18: Rekti�zierte Kamerabilder der Turnerinsequenz.

37

Page 38: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

(a) Tiefenbild der Frontansicht des Kamer-asichtvolumens, berechnet durch Schnittvon Sehstrahl und Polyeder, wie in Ab-schnitt 4.2.2 erklärt.

(b) Tiefenbild der Rückseite des Kamer-asichtvolumens, berechnet durch Schnittvon Sehstrahl und Polyeder, wie in Ab-schnitt 4.2.2 erklärt. Mit Rückseite isthier die Innenansicht der Rückseite ge-meint, wenn man die Frontseite weg-schneidet.

Abbildung 5.19: Tiefenbilder des Kamerasichtvolumens der Turnerinsequenz.

(a) Disparitäten-Bild der Frontansicht desKamerasichtvolumens, berechnet durchdas Verfahren aus Abschnitt 4.2.3.

(b) Disparitäten-Bild der Rückseite des Ka-merasichtvolumens, berechnet durch dasVerfahren aus Abschnitt 4.2.3.

Abbildung 5.20: Disparitätenbilder des Kamerasichtvolumens der Turnerinsequenz.

Abbildung 5.21: Disparitätenbild der Turnerinsequenz.

38

Page 39: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

(a) Fusion der Disparitäten des Kamer-asichtvolumens und der Disparitäten derSzenerie. Disparitäten, die sich links,rechts, ober- oder unterhalb des Kame-rasichtvolumens be�nden, werden hiernicht mehr betrachtet.

(b) Fusion der Disparitäten des Kamer-asichtvolumens und der Disparitäten derSzenerie. Zusätzlich zu den Disparitä-ten, die sich links, rechts, ober- oderunterhalb des Kamerasichtvolumens be-�nden, werden auch jene verworfen, diesich hinter der Rückseite oder vor derFrontseite des Kamerasichtvolumens be-�nden.

Abbildung 5.22: Ergebnisse der Turnerinsequenz.

39

Page 40: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

5.1.2 Vergleich der Ergebnisse

In diesem Abschnitt werden die Ergebnisse der Fusion von Kamerasichtvolumen-Tiefendatenund den Stereo-Tiefendaten einer Person behandelt. In Tabelle 5.1 sind die Ergebnisse zu-sammengefasst. Es werden alle Pixel gezählt, die in den einzelnen Zwischenergebnissen nichtschwarz sind. Das heiÿt die Stellen, an denen eine Disparität eingezeichnet wird. In der Aus-wellensequenz werden durch Wegschneiden der Disparitäten links, rechts, ober- und unterhalbdes Kamerasichtvolumens die Disparitäten um ca. 25 % reduziert. Im Gegensatz dazu fallenin diesem Schritt bei der Handshakesequenz nur ca 17 % weg, und bei der Turnerinsequenzsind es 34 %, die verworfen werden können.

Wenn schlieÿlich auch die Disparitäten vor der Vorderseite und hinter der Rückseite verworfenwerden, erhalten wir im Ergebnis bei der Auswellensequenz nur noch 16 %, bei der Hands-hakesequenz sind es noch 14 %, und bei der Turnerin sind es 28 % der Disparitäten, die vomoriginalen Disparitätenbild noch übrig bleiben.

# nicht schwarze Pixel Auswellen Handshake Turnerinim Disparitätenbild 176951 193940 155301

im ersten fusionierten Disparitätenbild 133580 160719 102571im fusionierten Ergebnisbild 25452 53376 25412

Tabelle 5.1: In der ersten Zeile geht es um das originale Disparitätenbild, die zweite Zeilebetri�t das Bild, bei welchem Disparitäten vor der Vorderseite und hinter derRückseite noch nicht verworfen worden sind, und die dritte Zeile beschreibt dasErgebnisbild, in welchem auch die Disparitäten vor der Vorderseite und hinterder Rückseite verworfen wurden.

Wie erwartet lässt sich ein Groÿteil der Disparitäten des Bildes herraus�ltern. Wieviel hierbeiheraus ge�ltert werden kann, hängt natürlich sehr stark davon ab, wie isoliert die Person oderdas Objekt im Kamerasichtvolumen ist. Das heiÿt, wenn viele weitere Objekte innerhalb desSichtvolumens sind fällt das Verfahren nicht so gut aus. Wenn z. B. eine Rückwand hinter derPerson sich auch innerhalb des Kamerasichtvolumens be�ndet, wird sie nicht weggeschnit-ten, wie z. B. bei der Handshakesequenz. In der Auswellensequenz beispielsweise be�nden sichein Tisch und mehrere Gegenstände darauf innerhalb des Sichtvolumens, das bedeutet hiergewinnt man nichts, wenn man die Person von dem Tisch trennen möchte. Ausserdem istdas Verfahren abhängig von der Gröÿe des Kamerasichtvolumens, denn je gröÿer das Kamer-asichtvolumen, desto weniger wird weggeschnitten.

40

Page 41: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

6 Schlussbetrachtungen und Ausblick

In dieser Arbeit wurde ein Verfahren vorgestellt, das Tiefeninformationen über das Kame-rasichtvolumen berechnet und diese fusioniert mit Tiefendaten über eine Person oder einObjekt. Dieses Verfahren dient dem Zweck für gegebene Tiefendaten einer Person zu testenob sich diese Person innerhalb des Kamerasichtvolumens be�ndet oder nicht.

Über die Schnittberechnung von Sehstrahl und dem Polyeder, der das Kamerasichtvolumenbegrentzt, wurden die Abstände der Punkte auf der Polyederober�äche zu der Kamera ge-wonnen. Somit wurde für das Kamerasichtvolumen jeweils ein Tiefenbild sowohl für die Vor-derseite, als auch für die Rückseite des Polyeders berechnet. Im Anschluss daran wurdendie Tiefenwerte umgerechnet in Disparitäten, um die Werte vergleichbar zu machen mit Tie-feninformationen, die durch das Halbglobale Blockmatchingverfahren gewonnen wurden. Eswurde durch Tests ermittelt, dass die Disparitäten der Szenerie mit dem Verfahren auf dieDisparitäten innerhalb des Kamerasichtvolumens reduziert werden können. In den Testfällenkonnten die Disparitäten somit auf ein Drittel der Disparitäten der Originalszenerie redu-ziert werden, teilweise sogar auf 15%. Dies funktioniert vor allem dann sehr gut, wenn dasKamerasichtvolumenwenige keine anderen Objekte oder Personen als die betrachtete Personbzw. das betrachtete Objekt beinhaltet. Ausserdem ist das Verfahren abhängig von der Gröÿedes Kamerasichtvolumens. Da in gängigen Aufnahmen das Kamerasichtvolumen nicht vollerstörender Objekte oder Personen ist, lässt sich sagen, dass das Verfahren die gewünschtenResultete liefert und im Mittel sehr gut funktioniert.

Das Ziel 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern wurde erreicht und liefertgute Resultate. Darüber hinaus wurde eine Möglichkeit generiert, mit der Fusion von Tiefen-daten über das Kamerasichtvolumen und Tiefendaten der Szenerie, zu Testen ob bestimmteBereiche wie Personen oder Objekte innerhalb des Kamerasichtvolumens liegen oder nicht.

Die Performance der Schnittberechnung von Sehstrahl und Polyeder könnte durch Optimie-rungsverfahren verbessert werden. Ein Ansatz wäre, das Bild mit einem Gitter in Regionenaufzuteilen. Im Anschluss daran könnte man in einer Vorberechnung für jede Region alle Drei-ecke ausschlieÿen, deren Flächen sich mit der Region nicht schneiden. Mit diesem Vorgehenwürde man Performance gewinnen, dadurch, dass für jeden Strahl jetzt nur noch ein Bruchteilder Dreiecke getestet werden müsste.

Der nächste Schritt wäre dann, das hier vorgestelle Verfahren mit einem Verfahren zur pro-babilistischen Vorder-/Hintergrundtrennung wie in [Feldmann 09] zu fusionieren, um bessereErgebnisse der Vorder-/Hintergrundtrennung zu erreichen.

41

Page 42: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird
Page 43: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

Abbildungsverzeichnis

2.1 Disparität d in der linken Kamerabildebene in schwarz eingezeichnet. . . . . . 7

4.1 Das Verfahren bestimmt das Sichtvolumen in einem Multikamersystem, welchesvon allen Kameras gesehen wird (Bilder stammen aus [Brand 10]). . . . . . . 17

4.2 Verzerrtes Sichtfeld (durchgezogene Linie) mit gestricheltem innerem Rechteckfür angenommenes unverzerrtes Sichtfeld und äusserem Rechteck als minimaleskonvexes Sichtfeld, welches an den Stellen der gröÿten Verzerrung anliegt(Bildaus [Brand 10]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.3 Schnitt der Kamerafrusta (Bilder aus [Brand 10]). . . . . . . . . . . . . . . . . 194.4 Abstand zwischen Punkt auf der Polyederober�äche und der Kamera. . . . . 204.5 Fall (1.)Zwei Dreiecke A, B werden geschnitten. Dreieck A auf der zur Kamera

gewandten Seite und Dreieck B auf der Rückseite . . . . . . . . . . . . . . . . 214.6 Schnittpunkte mit mehr als zwei Dreiecken. . . . . . . . . . . . . . . . . . . . 224.7 Weitere Fälle mit Schnittpunkten mit mehr als zwei Dreiecken. . . . . . . . . 234.8 Trennung von Vorder- und Rückseite, die rosa Dreiecke sind deutlich Vorder-

und Rückseite. Die beiden roten Dreiecke werden nicht weiter betrachtet, daihre Normalenvektoren orthogonal zu dem Sehstrahl stehen. . . . . . . . . . . 25

4.9 Juggler-Bild mit eingezeichnetem Kamerasichtvolumen. . . . . . . . . . . . . . 264.10 Tiefenbilder des Kamerasichtvolumens . . . . . . . . . . . . . . . . . . . . . . 264.11 Ein Stereokamerasetup, und die dazugehörigen Parameter. Bild stammt aus

[Bradski 08] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.12 Ein Beispielbild für ein Kamerabild auf dem die Disparitäten der Senerie zu

sehen sind. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.1 Die drei verschiedenen Testdatensätze. . . . . . . . . . . . . . . . . . . . . . . 295.2 Auswellensequenz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.3 Kamerasichtvolumen der Auswellensequenz. . . . . . . . . . . . . . . . . . . . 305.4 Rekti�zierte Kamerabilder der Auswellensequenz. . . . . . . . . . . . . . . . . 315.5 Tiefenbilder des Kamerasichtvolumens der Auswellensequenz. . . . . . . . . . 335.6 Disparitätenbilder des Kamerasichtvolumens der Auswellensequenz. . . . . . . 335.7 Disparitätenbild der Auswellensequenz. . . . . . . . . . . . . . . . . . . . . . . 335.8 Ergebnisse der Auswellensequenz. . . . . . . . . . . . . . . . . . . . . . . . . . 345.9 Handshakesequenz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345.10 Kamerasichtvolumen der Handshakesequenz. . . . . . . . . . . . . . . . . . . . 355.11 Rekti�zierte Kamerabilder der Handshakesequenz. . . . . . . . . . . . . . . . 355.12 Tiefenbilder des Kamerasichtvolumens der Handshakesequenz. . . . . . . . . . 355.13 Disparitätenbilder des Kamerasichtvolumens der Handshakesequenz. . . . . . 365.14 Disparitätenbild der Handshakesequenz. . . . . . . . . . . . . . . . . . . . . . 365.15 Ergebnisse der Handshakesequenz. . . . . . . . . . . . . . . . . . . . . . . . . 365.16 Turnerinsequenz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

43

Page 44: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

5.17 Kamerasichvolumen der Turnerinsequenz. . . . . . . . . . . . . . . . . . . . . 375.18 Rekti�zierte Kamerabilder der Turnerinsequenz. . . . . . . . . . . . . . . . . . 375.19 Tiefenbilder des Kamerasichtvolumens der Turnerinsequenz. . . . . . . . . . . 385.20 Disparitätenbilder des Kamerasichtvolumens der Turnerinsequenz. . . . . . . . 385.21 Disparitätenbild der Turnerinsequenz. . . . . . . . . . . . . . . . . . . . . . . 385.22 Ergebnisse der Turnerinsequenz. . . . . . . . . . . . . . . . . . . . . . . . . . . 39

44

Page 45: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

Tabellenverzeichnis

5.1 In der ersten Zeile geht es um das originale Disparitätenbild, die zweite Zeilebetri�t das Bild, bei welchem Disparitäten vor der Vorderseite und hinter derRückseite noch nicht verworfen worden sind, und die dritte Zeile beschreibt dasErgebnisbild, in welchem auch die Disparitäten vor der Vorderseite und hinterder Rückseite verworfen wurden. . . . . . . . . . . . . . . . . . . . . . . . . . 40

45

Page 46: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird
Page 47: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

Weiterführende Literatur zu

wissenschaftlichen Ausarbeitungen

[Bouguet 08] J. Y. Bouguet. Camera calibration toolbox for matlab. http://www.vision.

caltech.edu/bouguetj/calib_doc/; besucht am: 6. April 2010.

[Bradski 08] Dr. Gary Rost Bradski, Adrian Kaehler. Learning OpenCV, 1st edition. O'ReillyMedia, Inc., �rst Auflage, 2008.

[Brand 10] Karsten Brand. Automatische bestimmung des kameravolumens für statische mul-tikamerasysteme.

[Brown 03] Myron Z. Brown, Darius Burschka, Gregory D. Hager. Advances in computationalstereo. IEEE Transactions on Pattern Analysis and Machine Intelligence, 25:993�1008, 2003.

[Cormen 01] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Cli�ord Stein. In-troduction to Algorithms, second edition. B&T, 2001.

[Feldmann 09] Tobias Feldmann, Lars Diesselberg, Annika Wörner. Adaptive fore-ground/background segmentation using multiview silhouette fusion. Tagungsband: Pro-ceedings of the 31st DAGM Symposium on Pattern Recognition, Seiten 522�531, Berlin,Heidelberg, 2009. Springer-Verlag.

[Feldmann 10] Tobias Feldmann, Karsten Brand, Annika Wörner. Enhancing voxel carvingby capture volume calculations. Tagungsband: Image Processing (ICIP), 2010 17th IEEEInternational Conference on, Seiten 4053 �4056, 2010.

[Heikkila 97] Janne Heikkila, Olli Silven. A four-step camera calibration procedure with im-plicit image correction. Tagungsband: CVPR '97: Proceedings of the 1997 Conference onComputer Vision and Pattern Recognition (CVPR '97), Seite 1106, Washington, DC, USA,1997. IEEE Computer Society.

[Hirschmüller 08] H. Hirschmüller. Stereo processing by semiglobal matching and mutualinformation. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 30(2):328�341, 2008.

[Irani 91] Michal Irani, Shmuel Peleg. Improving resolution by image registration. CVGIP:Graphical Models and Image Processing, 53(3):231 � 239, 1991.

[Möller 05] Tomas Möller, Ben Trumbore. Fast, minimum storage ray/triangle intersection.Tagungsband: ACM SIGGRAPH 2005 Courses, SIGGRAPH '05, New York, NY, USA,2005. ACM.

[P. Aschwanden 92] W. Guggenbuehl P. Aschwanden. Experimental Results from a Com-parative Study on Correlation-type Registration Algorithms, Seiten 268�282. Wichmann,

47

Page 48: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird

1992.

[Roy 98] Sebastien Roy, Ingemar Cox. A Maximum-Flow Formulation of the N-camera StereoCorrespondence Problem. 1998.

[Schmid 00] Cordelia Schmid, Andrew Zisserman. The geometry and matching of lines andcurves over multiple views. International Journal of Computer Vision, 40:199�233, 2000.10.1023/A:1008135310502.

[Shirley 09] Peter Shirley, Steve Marschner. Fundamentals of Computer Graphics. A. K.Peters, Ltd., Natick, MA, USA, dritte Auflage, 2009.

[Tomasi 98] C. Tomasi, R. Manduchi. Stereo matching as a nearest-neighbor problem. PatternAnalysis and Machine Intelligence, IEEE Transactions on, 20(3):333 �340, Maerz 1998.

[Venkateswar 95] V. Venkateswar, R. Chellappa. Hierarchical stereo and motion correspon-dence using feature groupings. International Journal of Computer Vision, 15:245�269, 1995.10.1007/BF01451743.

[Zhang 00] Zhengyou Zhang. A �exible new technique for camera calibration. IEEE Tran-sactions on Pattern Analysis and Machine Intelligence, 22:1330�1334, November 2000.

48

Page 49: 2,5-D-Karten aus Schnitten von Sehstrahlen und Polyedern · Hieraus ergibt sich ein Polyeder, der den Bereich begrenzt, der in allen Kameras sichtbar ist. Auf dieses erfahrenV wird