Implementierung und Evaluierung einer gradientbasierten Methode für das 3D Model Retrieval - Implementation and Evaluation of a gradient-based ...

Die Seite wird erstellt Christian Heß
 
WEITER LESEN
Implementierung und
Evaluierung einer
gradientbasierten Methode für
das 3D Model Retrieval
Implementation and Evaluation of a gradient-based method for 3D Model
Retrieval
Bachelor-Thesis von Michael Walter

                                                        Fachbereich Informatik
                                                        Grafisch-Interaktive Systeme
Implementierung und Evaluierung einer gradientbasierten Methode für das 3D Model
Retrieval
Implementation and Evaluation of a gradient-based method for 3D Model Retrieval

Vorgelegte Bachelor-Thesis von Michael Walter

1. Gutachten: Prof. Dr. Dieter W. Fellner
2. Gutachten: -

Tag der Einreichung:
Erklärung zur Bachelor-Thesis
Hiermit versichere ich, die vorliegende Bachelor-Thesis ohne Hilfe
Dritter nur mit den angegebenen Quellen und Hilfsmitteln angefertigt
zu haben. Alle Stellen, die aus Quellen entnommen wurden, sind als
solche kenntlich gemacht. Diese Arbeit hat in gleicher oder ähnlicher
Form noch keiner Prüfungsbehörde vorgelegen.

Darmstadt, den 30. Januar 2012

(Michael Walter)

                                                                    1
Abstract
Due to the constant growth of number and importance of 3D models content-based
model retrieval gains importance as well. To this end a new descriptor for 3D models
is defined in this work, the so-called 3DHOG. It is based on the HOG descriptor for
images presented by Dalal et al. in 2005 [17]. This work demonstrates how the
HOG descriptor can be adopted for 3D models. The approach was implemented and
its suitability for 3D model retrieval evaluated. The results of the evaluation are
presented and show a descriptor with great potential.

2
Zusammenfassung
Durch das ständige Wachstum von Anzahl und Bedeutung verfügbarer 3D Modelle,
wird auch die inhaltsbasierte Suche auf diesen Modellen immer wichtiger. In dieser
Arbeit wird in dem Zusammenhang ein neuer Deskriptor für 3D Modelle definiert,
der sogenannte 3DHOG. Dieser basiert auf dem von Dalal et al. im Jahr 2005 vorge-
stellten HOG-Deskriptor für Bilder [17]. Diese Arbeit zeigt, wie dieser auf 3D Modelle
übertragen werden kann. Der vorgestellte Ansatz wurde implementiert und seine Eig-
nung für das 3D Model Retrieval evaluiert. Die Ergebnisse dieser Evaluierung werden
in der Arbeit vorgestellt und zeigen einen Deskriptor mit großem Potenzial.

Danksagung
  Mein größter Dank gilt meinem Betreuer, Dr. Tobias Schreck, der während der
Arbeit jederzeit bereit war mir zu helfen. Er hat damit wesentlichen Anteil daran,
dass diese Arbeit zustande gekommen ist.
  Außerdem danke ich Christian Wojek. Er hat mir enorm beim Verständnis des HOG-
Deskriptors für Bilder und der Implementierung des 3DHOG-Deskriptors geholfen.
  Ich danke Thomes Kalbe, der ein Programm zum Rendern von Distanzfeldern bereit
gestellt hat und bei der Installation dessen behilflich war. Dadurch fiel die Verifikation
eines großen Teils der Implementierung deutlich leichter.
  Weiterhin danke ich den beiden Korrekturlesern, die mit nützlichen Hinweisen ge-
holfen haben, die Qualität dieser Arbeit zu verbessern.
  Zu guter Letzt danke ich meiner Familie, die viel Verständnis für meine Anspannung
zu kritischen Zeiten dieser Arbeit hatte.

                                                                                        3
Inhaltsverzeichnis
Abbildungsverzeichnis                                                                                                                               6

Tabellenverzeichnis                                                                                                                                 7

1 Einleitung                                                                                                                                        8

2 Themenbezogene Arbeiten                                                                                                                           10
  2.1 3D Model Retrieval . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   10
      2.1.1 Feature Vektor Ansatz           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   10
  2.2 HOG Features . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   11
  2.3 Distanzfelder . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   12

3 Ansatz                                                                                                                                            13
  3.1 Objektnormalisierung . . . . . . . . . . . .                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   13
  3.2 Distanzfeldberechnung . . . . . . . . . . . .                         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   14
  3.3 Berechnung des Feature Vektors . . . . . .                            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   17
      3.3.1 Modifikation des HOG-Deskriptors                                .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   17
      3.3.2 Gradientenberechnung . . . . . . .                              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   18
      3.3.3 Histogramme . . . . . . . . . . . . .                           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   20
      3.3.4 Blocknormalisierung . . . . . . . . .                           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   21

4 Evaluierung                                                                                                                                       23
  4.1 Methodik . . . . . . . . . . . . . . . . . . . . . .                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   23
       4.1.1 Maße . . . . . . . . . . . . . . . . . . . .                           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   23
       4.1.2 Benchmarks . . . . . . . . . . . . . . . .                             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   24
  4.2 Effektivität . . . . . . . . . . . . . . . . . . . . .                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   25
       4.2.1 Einfache Gradienten . . . . . . . . . . .                              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   26
       4.2.2 Differenzen der Gradienten . . . . . .                                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   27
       4.2.3 Approximation der zweiten Ableitung                                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   30
       4.2.4 Blocknormalisierung durch L2Hys . .                                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   31
       4.2.5 Einzelne Klassen . . . . . . . . . . . . .                             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   32
       4.2.6 Kombinationen . . . . . . . . . . . . . .                              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   33
  4.3 Effizienz . . . . . . . . . . . . . . . . . . . . . . .                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   35
       4.3.1 Distanzfeldberechnung . . . . . . . . .                                .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   36
       4.3.2 HOG Extraktion . . . . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   36

5 Verbesserungsvorschläge                                                                                                                           40
  5.1 Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                         40
  5.2 Blockform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                         40
  5.3 Objektnormalisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                              41

4
5.4     Distanzfeldberechnung . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   41
  5.5     Gradientenberechnung . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   42
  5.6     Reduktion der Dimension      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   43
  5.7     Machine Learning . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   43

6 Fazit                                                                                                                                                44

                                                                                                                                                        5
Abbildungsverzeichnis
    3.1 Formel zur Berechnung der Dimension des Deskriptors . . . . . . . . . .              14
    3.2 Schritte zur Berechnung des Feature Vektors aus dem Modell . . . . . .               15
    3.3 Gerendertes Mesh (links) und Volumen Rendering des entsprechenden
        Distanzfeldes (rechts) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   16
    3.4 Visualisierung eines Distanzfeldes (links) und des entsprechenden
        Gradientenfeldes (rechts) in 2D . . . . . . . . . . . . . . . . . . . . . . . .      18
    3.5 Visualisierung der Differenzen der Gradienten . . . . . . . . . . . . . . .          19
    3.6 Visualisierung von Gradienten (links) und Differenzen von Gradienten
        (rechts) an zwei unterschiedlichen Objekten . . . . . . . . . . . . . . . .          20
    3.7 Visualisierung der Approximation der zweiten Ableitungen . . . . . . .               20

    4.1 Precision-Recall-Kurven der 3 Deskriptoren (einfache Gradienten) auf
        den Benchmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   27
    4.2 Precision-Recall-Kurven der Deskriptoren (Differenzen der Gradien-
        ten) auf den Benchmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . .      29
    4.3 Precision-Recall-Kurven der Deskriptoren (Approximation der zweiten
        Ableitungen) auf den Benchmarks . . . . . . . . . . . . . . . . . . . . . . .        31
    4.4 Precision-Recall-Kurven der besten Parametrisierungen der Methoden
        zur Berechnung der Gradienten . . . . . . . . . . . . . . . . . . . . . . . .        33
    4.5 Vergleich für einzelne Klassen gegenüber DSR472-Deskriptor . . . . . . .             38
    4.6 Beispielmodelle aus einzelnen Klassen . . . . . . . . . . . . . . . . . . . .        39

    5.1 Visualisierung des Shell Models von Ankerst et al. [14] . . . . . . . . . .          41
    5.2 Vergleich der Gradientenberechnung aus Distanzfeldern (links) und
        mit Hilfe der Normale direkt aus dem Mesh (rechts) . . . . . . . . . . .             42

6
Tabellenverzeichnis
 3.1 Zusammenfassung der einzelnen Schritte . . . . . . . . . . . . . . . . . .                13

 4.1    Werte für die vier Deskriptoren von Vranić auf den drei Benchmarks .                  26
 4.2    Parameter der getesteten Deskriptoren (einfache Gradienten) . . . . . .                27
 4.3    Ergebnisse der Deskriptoren (einfache Gradienten) auf den Benchmarks                   28
 4.4    Parameter der getesteten Deskriptoren (Differenzen von Gradienten) .                   28
 4.5    Ergebnisse der Deskriptoren (Differenzen von Gradienten) auf den
        Benchmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     30
 4.6    Ergebnisse der Deskriptoren (Approximation der zweiten Ableitun-
        gen) auf den Benchmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . .        32
 4.7    Ergebnisse des Deskriptors mit L2-Normalisierung mit und ohne Hy-
        sterese auf den Benchmarks . . . . . . . . . . . . . . . . . . . . . . . . . . .       32
 4.8    Details zu einzelnen Klassen . . . . . . . . . . . . . . . . . . . . . . . . . .       34
 4.9    First Tier der Deskriptoren von Vranić mit und ohne dem hog_5184_sec-
        Deskriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   35
 4.10   Berechnungszeiten der Distanzfelder . . . . . . . . . . . . . . . . . . . . .          36
 4.11   Durchschnittliche Laufzeit der hog-Extraktoren pro Modell auf den un-
        terschiedlichen Benchmarks . . . . . . . . . . . . . . . . . . . . . . . . . . .       37

                                                                                                7
1 Einleitung
Nicht umsonst wird das aktuelle Zeitalter als Informationszeitalter bezeichnet. Die
Bedeutung von Informationen hat in den letzten Jahrzehnten extrem zugenommen.
Doch gerade auch durch die weltweite Verbreitung des Internets ist die Menge der
verfügbaren Informationen schnell gewachsen. Das liegt unter anderem daran, dass
jeder zum Internet beitragen kann, wenn er das möchte. Das wiederum hat aber
den Nachteil, dass die Informationen unkontrolliert und unstrukturiert abgelegt wer-
den. Wichtige Informationen können auf Webseiten, in Forenbeiträgen, in Wikis, auf
Mailinglisten oder ähnlich versteckt sein. Um die große Vielfalt an Informationen,
die das Internet bietet, trotzdem nutzen zu können, wird die Suche nach relevanten
Informationen immer wichtiger.
   In der Informatik wird das Gebiet, welches sich mit diesem Problem beschäf-
tigt, als “Information Retrieval” bezeichnet. Ein Teilgebiet davon ist das soge-
nannte “Document Retrieval”, welches die Basis für die ausgiebig genutzten Internet-
Suchmaschinen bildet. Diese beweisen, wie weit fortgeschritten dieses Gebiet heut-
zutage schon ist. Auf der anderen Seite hat das “Multimedia Retrieval”, ein weite-
res Teilgebiet des “Information Retrieval”, noch nicht so weit verbreitete praktische
Anwendung gefunden. Trotzdem gewinnt auch dieses Gebiet immer mehr an Bedeu-
tung, da die Menge an multimedialen Daten im Internet zunimmt. Das “Multimedia
Retrieval” spaltet sich wiederum in kleinere Teilgebiete, je nach der Form der Daten,
welche durchsucht werden. Hier gibt es zum Beispiel das “Image Retrieval”, “Music
Retrieval” oder “3D Model Retrieval”. Diese Arbeit beschäftigt sich mit letzterem.
   Die Menge der im Internet verfügbaren 3D Modelle nimmt ständig zu. Forscher
auf dem Gebiet der grafischen Datenverarbeitung entwickeln immer mehr und bes-
sere Methoden zur Gewinnung von 3D Modellen. Viele Künstler und Ingenieure
erzeugen neue CAD Modelle. Diese Menge nach relevanten Modellen zu durchsu-
chen, ist eine anspruchsvolle Aufgabe. Voraussetzung dafür ist, auf diesen Modellen
ein Maß für Ähnlichkeit zu definieren, welches dem menschlichem Empfinden von
Ähnlichkeit möglichst nahe kommt. In Abschnitt 3D Model Retrieval auf Seite 10
werden verschieden Methoden, dies zu erreichen, kurz beschrieben. Ein weit ver-
breiteter Ansatz ist der sogenannte Feature Vektor Ansatz. Dabei werden aus den
Modellen hochdimensionale Vektoren extrahiert. Es gibt schon eine große Menge
von Verfahren diese Vektoren zu extrahieren, sogenannte Deskriptoren, aber die Su-
che nach neuen Deskriptoren ist immer noch Gegenstand aktueller Forschung. Es ist
bisher nicht bekannt, ob der bestmögliche Deskriptor für generische Modelle bereits
gefunden wurde. Des Weiteren können bestimmte Deskriptoren für spezielle Pro-
bleme besser geeignet sein als andere. Eine breite Palette an Deskriptoren ist für die
Forschung also von Vorteil.
   Auf dem Gebiet “Computer Vision” hat Lowe ein Verfahren zur Extraktion von cha-
rakteristischen Merkmalen aus Bildern vorgestellt [7]. Aus diesem haben Dalal et al.
einen sogenannten HOG-Deskriptor (“Histograms of Oriented Gradients”) entwickelt
[17]. Dieser eignet sich sehr gut für die Erkennung von Menschen auf Bildern, wie

8
sie in ihren Experimenten feststellen. In Abschnitt HOG Features auf Seite 11 wird
das Verfahren genauer beschrieben. Die Idee dieser Arbeit ist es nun zu untersuchen,
ob und wie gut sich dieses Verfahren auf 3D Modelle übertragen lässt und wie es sich
für das “3D Model Retrieval” eignet. Da die Modelle in der Regel als Dreiecksnetz1
vorliegen, das Verfahren von Dalal et al. allerdings auf Pixeln eines Bildes arbeitet,
werden die Modelle zunächst in ein Distanzfeld transformiert, welches aus Voxeln be-
steht. Nun muss das Verfahren von Dalal et al. lediglich um eine Dimension erweitert
werden.
   Der Beitrag dieser Arbeit ist zum einen eine detaillierte Beschreibung der Übertra-
gung des HOG-Deskriptors auf Meshes, um als Ergebnis den 3DHOG-Deskriptor zu
erhalten. Zum zweiten wurde der beschriebene Ansatz implementiert und schließ-
lich wurde der Deskriptor mit verschiedenen Parametern für das 3D Model Retrieval
getestet.
   Der Rest der Arbeit ist folgendermaßen aufgebaut. In Kapitel 2 werden relevante
Arbeiten beschrieben. Kapitel 3 beschreibt den gewählten Ansatz und die Implemen-
tierung dessen im Detail, bevor in Kapitel 4 die Ergebnisse der Experimente vorge-
stellt werden. Dann folgt in Kapitel 5 eine Reihe von Vorschlägen, die das Verfahren
verbessern könnten und in Zukunft untersucht werden sollten. Abschließend wird in
Kapitel 6 ein Fazit gezogen.

1
    Im Folgenden “Mesh” genannt. Plural: “Meshes”.

                                                                                    9
2 Themenbezogene Arbeiten
Dieses Kapitel gibt einen Überblick über die Themen, die mit dieser Arbeit verwandt
sind.

2.1 3D Model Retrieval
Das Gebiet des “3D Model Retrievals” beschäftigt sich mit der Ähnlichkeitssuche auf
3D Modellen. Im Normalfall wird dabei von dem “query-by-example”-Prinzip aus-
gegangen. Das heißt, ein Benutzer stellt an ein Suchsystem eine Anfrage in Form
eines 3D Modells und erwartet, dass das System ihm möglichst viele relevante, also
ähnliche, Modelle aus einer Datenbank zurückliefert. Die Herausforderung besteht
darin, die vom Menschen empfundene Ähnlichkeit zwischen zwei 3D Modellen zu
definieren. Es wurden bereits viele verschiedene Ansätze untersucht, um dieses Pro-
blem zu lösen. Es gibt einige Arbeiten, die diese Ansätze zusammenfassen und die
besten bisher bekannten Methoden herausstellen [5, 16, 21].
  Seit 2006 findet jährlich ein Wettbewerb namens “SHREC” statt. Dabei werden die
Methoden der Teilnehmer empirisch verglichen und bewertet. Das Ziel dieses Wett-
kampfes ist es, die aktuell erfolgreichste Methode zu identifizieren. Anschließend
werden die Ergebnisse in einem gemeinsamen Artikel veröffentlicht [1].

    2.1.1 Feature Vektor Ansatz
Ein vielversprechender Ansatz für das 3D Model Retrieval ist der Feature Vektor An-
satz. Ein Feature Vektor ist ein hochdimensionaler Vektor, der aus einem Modell
extrahiert wird. Dieser hat die Aufgabe, die Charakteristiken des Modells als nu-
merische Werte zu speichern. Damit wird das Problem der Ähnlichkeit von zwei
3D Modellen auf die Distanz zwischen zwei Vektoren reduziert. Dabei gibt es zwei
Probleme zu lösen. Zum einen braucht man ein Verfahren, welches die Charakteri-
stiken eines Modells möglichst gut in einen Vektor erfasst. Zum anderen muss eine
Distanz für die Vektoren definiert werden. Für letzteres bietet sich offensichtlich eine
Vektornorm an. Es gibt dazu aber noch eine Reihe weiterer Ansätze [19]. Die aktu-
elle Forschung konzentriert sich jedoch hauptsächlich auf die Suche nach möglichst
guten Deskriptoren, die die Modelle in Form von Vektoren beschreiben können. Mitt-
lerweile gibt es zahlreiche verschiedene Deskriptoren, von denen viele in früheren
Arbeiten bereits verglichen und bewertet wurden [4, 23]. Besondere Beachtung in
den Experimenten dieser Arbeit finden vier verschiedene Deskriptoren, von denen es
freie Implementierungen gibt1 . Von diesen vier Deskriptoren ist einer strahlenbasiert
(RSH136), einer silhouettenbasiert (SIL300) und einer tiefenpufferbasiert (DBD438).
Diese drei Deskriptoren sind Weiterentwicklungen von drei der Deskriptoren, die Bu-
stos et al. in ihrer Arbeit bereits verglichen haben [4] (Rays-SH, Silhouette, Depth
buffer). Der Vierte, DSR472, ist eine Kombination aus den anderen drei Deskripto-
ren. Vranić beschreibt die Deskriptoren genauer in seiner Arbeit [23]. Gerade der
1
      http://merkur01.inf.uni-konstanz.de/3Dtools/

10
letzte Deskriptor hat sich als einer der aktuell Besten bewiesen, wie Vranić in seinen
Experimenten zeigt. Die Ergebnisse dieser Arbeit werden einerseits an diesen vier
Deskriptoren und den von Bustos et al. verglichenen [4] gemessen. Auf der ande-
ren Seite wird versucht, durch Kombination mit diesen einen besseren Deskriptor zu
finden.

    Histogrammbasierte Ansätze
Histogrammbasierte Ansätze können als Sonderform der Feature Vektoren betrachtet
werden. Die Feature Vektoren werden dabei aus Histogrammwerten gebildet. Dazu
werden Punkte auf der Oberfläche des Modells gewählt, aus diesen bestimmte Cha-
rakteristiken extrahiert und in Histogrammen gespeichert. Diese Ansätze haben die
Besonderheit, dass spezielle Ähnlichkeitsmaße für Histogramme aus der Informati-
onstheorie angewendet werden können. Ramani et al. geben in ihrem Artikel einen
guten Überblick über diese Methoden [16].
  Ankerst et al. beschreiben eine Methode, bei der der umschließende Raum des
Modells in Zellen zerlegt wird [14]. Diese Zellen entsprechen den Bins2 der Hi-
stogramme. Im Gegensatz dazu wird in unserer Methode jeder Zelle ein eigenes
Histogramm zugeordnet.

    Gradientverwandte Methoden
In Abschnitt Gradientenberechnung auf Seite 42 wird verdeutlicht, dass eines der in
dieser Arbeit untersuchten Verfahren zur Gradientenberechnung die Oberflächennor-
malen approximiert. Wang et al. haben im Jahr 2007 einen Deskriptor namens
“Multi-Shell Extended Gaussian Image” (MSEGI) vorgestellt [24]. Dieser basiert auf
der Verteilung der Oberflächennormalen in Kugelschalen um den Masseschwerpunkt
des Modells. Diese Verteilungsfunktion wird abschließend in Kugelflächenfunktio-
nen3 transformiert und die berechneten Koeffizienten ergeben den Feature Vektor.
Die Testergebnisse auf dem PSB-Benchmark [18] zeigen aber, dass der in dieser
Arbeit vorgestellte Deskriptor eine bessere Effektivität vorweist, als der MSEGI-
Deskriptor.
  Etwas entfernter verwandt ist die Methode von Zaharia et al. [25]. Ihre Arbeit be-
schreibt einen “Shape Spectrum Descriptor”, der ein Histogramm aus dem “Shape
Index” verschiedener Punkte berechnet, welcher sich wiederum aus dem lokalen
Krümmungsverhalten ergibt. Diese Methode schneidet für generische Benchmarks
verhältnismäßig schlecht ab, wie zum Beispiel Grana et al. in ihren Experimenten
zeigen [8].

2.2 HOG Features
Dalal et al. beschreiben eine Methode zur Erkennung von Menschen auf Bildern, die
sie “Histograms of Oriented Gradients” (HOG) nennen [17]. Die grundsätzliche Idee,
dass Bilder sehr gut durch die Verteilung der Gradienten charakterisiert werden, ist
nicht neu. Lowe hat mit den SIFT Features [7] schon hervorragende Ergebnisse auf
2
     Als “Bins” werden in dieser Arbeit die Bereiche eines Histogrammes bezeichnet. Singular: “Bin”.
3
     engl.: “Spherical Harmonics”

                                                                                                  11
diesem Gebiet erzielt. Tatsächlich ist das Verfahren von Dalal et al. eine Vereinfa-
chung der SIFT Features. Der SIFT Algorithmus identifiziert markante Punkte auf
dem Bild und in deren Umgebung werden Histogramme extrahiert. Das Verfahren
von Dalal et al. extrahiert diese Histogramme aus Zellen, die regelmäßig in einem
Gitter über das Bild verteilt sind. Dazu wird jeder Zelle ein Histogramm zugeord-
net, in welches die Gradienten der einzelnen Pixel eingetragen werden. Während
der Winkel des Gradienten den Bin bestimmt, legt der Betrag das Gewicht fest, mit
welchem ein Gradient in ein Histogramm eingetragen wird. Dieses Zellgitter wird
anschließend in Blöcke aufgeteilt, die sich überlappen können. Die Histogramme
werden dann über die Blöcke normalisiert. Die Aneinanderreihung der Histogramm-
werte aller Zellen aller Blöcke bilden den HOG Deskriptor. Dieser hat zwar eine
verhältnismäßig hohe Dimension gegenüber dem SIFT Deskriptor, allerdings ist er
auch deutlich einfacher zu implementieren und anzuwenden, da die Identifikation
und das Matching von markanten Punkten wegfällt.

2.3 Distanzfelder
Um den HOG Deskriptor auf 3D Modelle zu übertragen, werden die 3D Modelle ei-
nem Vorverarbeitungsschritt unterzogen, der sie zu Distanzfeldern konvertiert. Dazu
wird der umschließende Quader des Modells in ein Voxelgitter aufgeteilt und in je-
des Voxel wird die Distanz zum Mesh eingetragen. Diese Konvertierung ist sehr auf-
wendig und Gegenstand aktueller Forschung, welche versucht, diesen Prozess zu
beschleunigen. Jones et al. geben in ihrem Artikel [13] einen Überblick über die ver-
schiedenen Ansätze und den aktuellen Stand der Forschung. Viele Ansätze versuchen
die Berechnung zu beschleunigen, indem sie lediglich Approximationen statt exakter
Distanzen berechnen. Andere versuchen eine Effizienzsteigerung durch Ausnutzen
von Parallelisierung zu erreichen.

12
3 Ansatz
In diesem Kapitel wird der neue 3DHOG-Deskriptor detailliert beschrieben. Dabei
wird davon ausgegangen, dass das Modell als Mesh vorliegt (im OFF-Format). Ein
Beispiel eines solchen Meshes ist in Abbildung 3.3 auf Seite 16 visualisiert. Die imple-
mentierten Schritte werden in der Reihenfolge beschrieben, in der sie auf das Modell
angewendet werden. Tabelle 3.1 fasst die Schritte mit den entsprechenden Para-
metern zusammen. Die Berechnung der aus der Wahl der Parameter resultierende
Dimension des Deskriptors ist in Abbildung 3.1 auf der nächsten Seite angegeben.
Abbildung 3.2 auf Seite 15 visualisiert den ganzen Prozess.

  Schritt                       Beschreibung                Parameter
  1. Objektnormalisierung       Herstellung von Invari-
                                anz zu geometrischen
                                Transformationen
  2. Distanzfeldberechnung      Konvertierung von Mesh Auflösung: r x, y,z
                                zu Distanzfeld
  3. Gradientenberechnung       Berechnung des Gradi- Maske zur Gradienten-
                                entenfeldes aus Distanz- berechnung
                                feld
  4. Zellaufteilung             Unterteilung des Gradi- Zellgröße: c x, y,z
                                entenfeldes in Zellen
                                                            Bereich (φ)
                          Berechnung des Histo-
  5. Histogrammberechnung                                   Bereich (θ )
                          gramms für jede Zelle
                                                            Anzahl der Bins (φ): |φ|
                                                            Anzahl der Bins (θ ): |θ |
                                Aufteilung der Zellen in    Blockgröße: b x, y,z
  6. Blockaufteilung
                                Blöcke                      Überlappung: o x, y,z
                                                            ε
                                Normalisierung aller
  7. Blocknormalisierung
                                Werte des Blocks            (Maximalwert)
                                                            (ε2 )

                Tabelle 3.1: Zusammenfassung der einzelnen Schritte

3.1 Objektnormalisierung
Für die Modelle werden keine Restriktionen in Bezug auf Größe und Position im
Raum angenommen. Deshalb muss jedes Modell zunächst normalisiert werden.

                                                                                         13
rx
                       cx
                            − ox
              kx =
                       bx − ox
                       ry
                       cy
                            − oy
              ky =
                       by − oy
                       rz
                       cz
                            − oz
              kz =
                   bz − oz
               k = k x · k y · kz            (Anzahl der Blöcke)
               b = b x · b y · bz            (Anzahl der Zellen pro Block)
               d = k · b · |φ| · |θ |

Abbildung 3.1: Formel zur Berechnung der Dimension d des Deskriptors aus den Pa-
               rametern. Diese sind in Tabelle 3.1 auf der vorherigen Seite erläutert.

Dazu wird es als erstes so verschoben, dass sein Masseschwerpunkt im Koordina-
tenursprung liegt. Anschließend wird es rotiert, sodass seine zwei Hauptachsen auf
der x-, beziehungsweise y-Achse liegen. Dann wird es so skaliert, dass es im Einheits-
würfel liegt, und am Ende wird es so gespiegelt, dass die größere Masse jeweils auf
den positiven Seiten der Achsen liegt.
  Für die Bestimmung der Hauptachsen für die Rotation wird die “weighted PCA”
(wPCA) verwendet, eine Modifikation der Hauptkomponentenanalyse (“Principal
Component Analysis”), wie sie von Vranić und Saupe im Jahr 2000 vorgeschlagen
wurde [6]. Diese war bereits vor Beginn der Arbeit implementiert und wird deshalb
hier nicht näher diskutiert.

3.2 Distanzfeldberechnung
Wie in Abschnitt HOG Features auf Seite 11 bereits erwähnt, rechnet das HOG-
Verfahren von Dalal et al. auf den Pixeln eines Bildes. Um eine Analogie für diese
Pixel in einem 3D Modell zu finden, wird dieses in ein Distanzfeld transformiert. Die-
ses besteht aus einem Gitter von Voxeln, welche das Pendant zu den Pixeln bilden.
Jedem dieser Voxel wird ein Wert zugewiesen, der der Distanz des Mittelpunktes des
Voxels zur Oberfläche des Modells entspricht. Mathematisch ausgedrückt ist das eine
Funktion d : N × N × N → R, die folgendermaßen definiert ist: sei m(i, j, k) = p eine
Funktion, die für jeden Voxel seinen Mittelpunkt p ∈ R3 zurück gibt, wobei i, j, k ∈ N
die Indizes des Voxels sind und sei Σ die Menge aller Punkte auf der Oberfläche des
Modells. Dann ist d definiert als

                              d(i, j, k) = min kx − m(i, j, k)k2
                                          x∈Σ

Es werden hier bewusst vorzeichenlose Distanzfelder berechnet. Wollte man Distanz-
felder mit Vorzeichen berechnen, wie zum Beispiel Bærentzen und Aanæs [9], dann

14
Abbildung 3.2: Schritte zur Berechnung des Feature Vektors aus dem Modell

                                                                            15
müsste man mehrere Annahmen in Bezug auf die Modelle treffen und würde die
Allgemeingültigkeit des Ansatzes einschränken. Da der Deskriptor aber für alle Po-
lygonsuppen, wie sie zum Beispiel im Internet verfügbar sind, anwendbar sein soll,
wird hier darauf verzichtet.

Abbildung 3.3: Gerendertes Mesh (links) und Volumen Rendering des entsprechen-
               den Distanzfeldes (rechts)

Abstandsberechnung von Punkt und Dreieck
  Die Distanzfeldberechnung involviert eine Vielzahl von Abstandsberechnungen von
Punkt zu Dreieck. Diese Berechnung scheint zunächst eine einfache geometrische
Berechnung zu sein. Allerdings muss als erstes bestimmt werden, welcher Kom-
ponente des Dreiecks der Punkt am nächsten ist, um dann zu entscheiden, ob der
Abstand zwischen zwei Punkten, einem Punkt und einer Geraden oder einem Punkt
und einer Fläche zu berechnen ist. Diese Entscheidung ist verhältnismäßig teuer.
Die verwendete Implementierung richtet sich nach einer Methode, die Jones 1995
vorgeschlagen hat [12]. Sie reduziert das Problem der Abstandsberechnung im 3-
dimensionalen Raum durch Translation und Rotation auf eine Abstandsberechnung
im 2-dimensionalen Raum.

Beschleunigung durch hierarchische Struktur
  Die Auflösung des Distanzfeldes ist ein Parameter, welcher meist durch die Re-
chenzeit begrenzt ist. Versucht man das Distanzfeld mit einem Brute-Force-Ansatz
zu berechnen, gerät man sehr schnell an die Grenze des Durchführbaren. Man
muss dazu die Distanz von jedem Voxel zu jedem Dreieck berechnen und das Mi-
nimum speichern. Um etwas höhere Auflösungen auch auf größeren Datenbanken
berechnen zu können, werden die Dreiecke in einer hierarchischen AABB-Struktur1
organisiert. Dazu wird der umschließende Würfel des Modells ausgehend von seinem
Zentrum in acht gleich große AABBs geteilt. Für jedes Dreieck bestimmt sein Mittel-
punkt die AABB, welcher es zugeordnet wird. Anschließend werden die Grenzen der
neuen Boxen entsprechend angepasst. In den Experimenten hat das eine schnellere
Berechnung ergeben als die Zerlegung von Dreiecken, die über die Grenze der Box
hinaus ragen. Dieser Prozess wird rekursiv auf die einzelnen Boxen wieder angewen-
det, bis diese weniger als n Dreiecke enthalten oder das Verhältnis ihres Volumens zu
1
     AABB: “Axis Aligned Bounding Box”

16
dem ihres Elternknotens größer oder gleich einem Grenzwert t ist. Für die Parameter
wurden experimentell die Werte n = 3 und t = 0.95 bestimmt.
  Danach wird bei der Berechnung des Wertes für einen Punkt die aktuell gespei-
cherte kürzeste Distanz mit der kürzesten Distanz zu der Bounding Box verglichen.
Letztere ist sehr effizient zu berechnen. Nur wenn die Distanz zur Bounding Box klei-
ner ist, werden die Boxen innerhalb der Bounding Box betrachtet, beziehungsweise
die Abstandsberechnungen zu den Dreiecken innerhalb der Box durchgeführt, wenn
die niedrigste Hierarchiestufe bereits erreicht wurde. Weitere potenzielle Verbesse-
rungen werden in Kapitel 5 diskutiert.

3.3 Berechnung des Feature Vektors
Nachdem die gerade beschriebene Vorverarbeitung abgeschlossen ist, kann eine
leicht modifizierte Variante des Verfahrens von Dalal et al. [17] angewendet wer-
den. Im folgenden Abschnitt wird das modifizierte Verfahren beschrieben, welches
das Verfahren um eine Dimension erweitert. Danach wird noch auf einzelne Punkte
im Speziellen eingegangen.

 3.3.1 Modifikation des HOG-Deskriptors
Zunächst wird für jedes Voxel im Distanzfeld sein Gradient berechnet. Darauf wird
in Abschnitt Gradientenberechnung auf der nächsten Seite genauer eingegangen. Die
Gradienten werden in Kugelkoordinaten umgerechnet. Damit erhält man die Winkel
φ und θ , sowie den Betrag für jeden Gradienten. Als Resultat ergibt sich nun ein
Gradientenfeld. Dieses Gradientenfeld wird in Zellen aufgeteilt. Die Größe der Zellen
ist ein Parameter des Verfahrens. Im Gegensatz zum Verfahren von Dalal et al. sind
die Zellen 3-dimensional und die Größe der Zellen liefert prinzipiell drei Parameter
(Größe in jeder Dimension).
   Jede Zelle speichert ein 2-dimensionales Histogramm, in welche die Gradienten
mit ihrem Betrag gewichtet eingetragen werden. Ein Gradient wird aber nicht nur
in die Zelle eingetragen, in der er liegt, sondern es wird über die acht umliegenden
Zellmittelpunkte trilinear interpoliert und in jedes der acht Histogramme der umlie-
genden Zellen wird der Gradient mit dem entsprechenden Gewicht eingetragen. Die
Histogramme werden in Abschnitt Histogramme auf Seite 20 ausführlicher diskutiert.
   Das resultierende Zellgitter wird wiederum in Blöcke aufgeteilt. Ähnlich zur Zell-
größe liefert auch die Blockgröße wieder drei Parameter. Über diese Blöcke werden
die Histogramme anschließend normalisiert. Welche Normalisierungen getestet wur-
den, wird in Abschnitt Blocknormalisierung auf Seite 21 beschrieben. Dalal et al.
schließen aus ihren Experimenten, dass sich die Blöcke überlappen sollten, um noch
bessere Ergebnisse zu erzielen. Auf den ersten Blick scheint das zwar eine unnütze
Redundanz zu produzieren, allerdings argumentieren sie, dass dadurch viele Histo-
gramme in mehrere Normalisierungen einfließen. Da es die Effektivität im Verfahren
von Dalal et al. signifikant steigert, wurden auch in dieser Arbeit Parametrisierungen
mit Überlappung getestet. Die Überlappung in jeder Dimension liefert drei weitere
Parameter. Nach der Normalisierung enthält jeder Block einen Vektor mit norma-
lisierten Werten. Die Vektoren der Blöcke werden nun in einer festen Reihenfolge
aneinandergehängt und bilden den Feature Vektor.

                                                                                    17
3.3.2 Gradientenberechnung
Im Rahmen dieser Arbeit wurden drei verschiedene Varianten der Gradientenberech-
nung getestet, welche im Folgenden beschrieben werden.

     Einfache Gradienten
Dalal et al. erzielen in ihren Experimenten das beste Ergebnis durch die Berechnung
der Gradienten mit einer einfachen [−1, 0, 1]-Maske [17]. Sie wenden diese Maske
für jeden Pixel in horizontaler und vertikaler Richtung an und produzieren damit
einen 2-dimensionalen Gradienten. Durch die Anwendung der Maske in einer wei-
teren Dimension, der z-Achse, kann man einfach einen 3-dimensionalen Gradienten
berechnen.
  Da diese Form der Gradientenberechnung die besten Ergebnisse bei Dalal et al.
erzielt, wurde diese auch in dieser Arbeit getestet. Diese Form der Berechnung birgt
aber ein Problem, welches sich aus der Natur der Distanzfelder ergibt. In Abbil-
dung 3.4 ist links ein Beispiel eines Distanzfeldes für ein Modell, welches nur aus
einer einzigen Wand besteht, dargestellt. Rechts daneben befindet sich das entspre-
chende Gradientenfeld, welches sich durch das oben beschriebene Verfahren ergibt.
Wie man leicht sieht, befinden sich die meisten Gradienten regelmäßig im Raum ver-
teilt, nur auf der Oberfläche haben sie einen Betrag von 0 und werden damit nicht in
den Histogrammen berücksichtigt. Intuitiv sollten aber gerade die Gradienten in der
Nähe der Oberfläche eines Modells besonders stark die Histogramme beeinflussen,
da diese eher charakteristisch für die Modelle sind.

      9                                              9

      8                                              8
                                      Objekt                                         Object
      7       5   4   3   2   1   0      1   2   3   7

      6       5   4   3   2   1   0     1    2   3   6

      5       5   4   3   2   1   0     1    2   3   5

      4       5   4   3   2   1   0     1    2   3   4

      3       5   4   3   2   1   0     1    2   3   3

      2       5   4   3   2   1   0     1    2   3   2

      1       5   4   3   2   1   0     1    2   3   1

      0                                              0

          0   1   2   3   4   5   6     7    8   9       0   1   2   3   4   5   6     7      8   9

Abbildung 3.4: Visualisierung eines Distanzfeldes (links) und des entsprechenden
               Gradientenfeldes (rechts) in 2D

     Differenzen von Gradienten
Um das Problem, welches im vorhergehenden Abschnitt beschrieben wurde, zu be-
heben, wurde eine zweite Variante der Gradientenberechnung getestet. Zunächst
werden die einfachen Gradienten berechnet und in den Voxeln gespeichert. Nun
wird für jedes Voxel die Maske ein weiteres mal angewendet, diesmal auf die gespei-
cherten Gradienten. Dadurch ergeben sich für jeden Punkt drei Differenzvektoren,

18
einer für jede Dimension. Der neue Gradient berechnet sich nun durch die 2-Normen
der entsprechenden Differenzvektoren. Eine Visualisierung des Ergebnisses, welches
sich durch Anwendung dieses Verfahrens auf das Distanzfeld aus Abbildung 3.4 auf
der vorherigen Seite ergibt, ist in Abbildung 3.5 dargestellt. An der Abbildung kann
man sehr gut erkennen, dass nun gerade in der Nähe der Oberfläche die Gradienten
groß werden, während sie im restlichen Raum verschwinden.

                          9

                          8
                                                          Objekt
                          7

                          6

                          5

                          4

                          3

                          2

                          1

                          0

                              0   1   2   3   4   5   6     7      8   9

           Abbildung 3.5: Visualisierung der Differenzen der Gradienten

  Doch auch dieses Verfahren hat eine entscheidende Schwäche. Da die einzelnen
Elemente der so berechneten Gradienten aus 2-Normen von Vektoren berechnet wer-
den, sind sie immer positiv. Sehr unterschiedliche Differenzvektoren können die
gleiche 2-Norm haben. Dadurch können gleiche oder ähnliche Gradienten an Stel-
len mit sehr unterschiedlicher Geometrie entstehen. Abbildung 3.6 auf der nächsten
Seite verdeutlicht dieses Problem. Auf der linken Seite sind zwei unterschiedliche
Objekte dargestellt mit ihrem Gradientenfeld, das durch die Berechnung von einfa-
chen Gradienten entsteht. Rechts daneben sind die gleichen Objekte dargestellt mit
dem Gradienten, wie er für den Mittelpunkt des Objektes mit dem gerade beschrie-
benen Verfahren berechnet werden würde. Wie man leicht sieht, sind diese gleich,
obwohl die Objekte unterschiedlich sind.

  Approximation der zweiten Ableitungen
Um auch das gerade beschriebene Problem zu beheben, wurde noch eine dritte Va-
riante der Gradientenberechnung implementiert. Das Verfahren mit einfachen Gra-
dienten aus Abschnitt Einfache Gradienten auf der vorherigen Seite approximiert den
Gradienten, der definiert ist als
                                            ∂d
                                                    
                                                 (p)
                                          ∂∂ dx
                                                 (p)
                                                     
                                  g(p) = 
                                          ∂y
                                                     ,
                                            ∂d
                                                     
                                            ∂z
                                                 (p)

wobei d(x, y, z) definiert ist wie in Abschnitt Distanzfeldberechnung auf Seite 14. Um
nun die vorhergehenden Probleme zu lösen, wurden die Elemente des Gradienten
durch die zweite Ableitung in jede Richtung ersetzt:

                                                                                   19
Abbildung 3.6: Visualisierung von Gradienten (links) und Differenzen von Gradienten
               (rechts) an zwei unterschiedlichen Objekten

                                                    
                                          ∂ 2d
                                         ∂ x2
                                               (p)   
                                          ∂ 2d
                               g(p) =         (p)   .
                                                    
                                          ∂ y2
                                           2
                                          ∂ d
                                                     
                                          ∂ z2
                                               (p)

  Um diesen Vektor zu approximieren, kann die Maske der einfachen Gradienten,
[−1, 0, 1], in jede Richtung zweimal angewendet werden. Das entspricht der ein-
maligen Anwendung der Maske [1, 0, −2, 0, 1] in jede Richtung. Die resultierenden
Gradienten von dem Beispiel aus Abbildung 3.6 sind in Abbildung 3.7 dargestellt.

     Abbildung 3.7: Visualisierung der Approximation der zweiten Ableitungen

 3.3.3 Histogramme
Im Verfahren von Dalal et al. werden die 2-dimensionalen Gradienten in Polarko-
ordinaten umgerechnet und in ein 1-dimensionales Histogramm mit ihrem Betrag
gewichtet eingetragen. Dazu wird der Wertebereich der Winkelkoordinate in gleich
große Bins aufgeteilt. Für den Wertebereich des Winkels kommen zwei obere Gren-
zen in Frage. Zum einen kann man die vollen 360° betrachten. Auf der anderen Seite

20
kann man gegenüberliegende Gradienten als gleich betrachten und in den gleichen
Bin eintragen. Damit ergibt sich ein Wertebereich von 180°. Die Wahl des Werte-
bereichs ist ein Parameter des Verfahrens. Dalal et al. erzielten mit letzterem die
besseren Ergebnisse.
  Im Gegensatz zum Verfahren von Dalal et al. wurden in dieser Arbeit 3-
dimensionale Gradienten berechnet. Wie oben bereits erwähnt, ergeben sich durch
die Transformation in Kugelkoordinaten zwei Winkel und ein Betrag. Dadurch muss
das Histogramm um eine Dimension erweitert werden. Der Wertebereich von φ ist
0° ≤ φ ≤ 360° und von θ 0° ≤ θ ≤ 180°. Trägt man nun aber analog zum Verfahren
von Dalal et al. gegenüberliegende Gradienten in den gleichen Bin ein, halbiert sich
der Wertebereich von φ. Der Wertebereich von θ bleibt gleich. Prinzipiell ist die Wahl
des Wertebereichs wie im Verfahren von Dalal et al. ein Parameter. Aus Zeitgründen
wurde jedoch in dieser Arbeit nur letztere Variante betrachtet. Die Differenzierung
zwischen gegenüberliegenden Gradienten bleibt für zukünftige Forschung offen.
  Etwas anders sieht der Wertebereich aus, wenn man das Verfahren der Differenzen
von Gradienten aus Abschnitt Differenzen von Gradienten auf Seite 18 anwendet. Wie
bereits erwähnt, sind die einzelnen Elemente dieser Gradienten alle positiv. Dadurch
ergibt sich für φ und θ ein Wertebereich von 0° ≤ φ, θ ≤ 90°.
  Analog zum Verfahren von Dalal et al., in welchem zwischen den Mittelpunkten
von zwei benachbarten Bins linear interpoliert wird und die Gradienten mit entspre-
chendem Gewicht in die Bins eingetragen werden, wurde in der Implementierung
dieser Arbeit zwischen den Mittelpunkten der vier benachbarten Bins bilinear inter-
poliert. Die Anzahl der Bins für φ und für θ sind Parameter.

 3.3.4 Blocknormalisierung
Die Werte aus den Histogrammen der Zellen eines Blocks werden zu einem Vektor
konkateniert und diese werden normalisiert. Die Blocknormalisierung kann komplett
analog zur Methode von Dalal et al. durchgeführt werden. Dalal et al. beschreiben
in ihrem Paper verschiedene Normalisierungsverfahren, die sie getestet haben [17].
Ihre Experimente haben ergeben, dass die meisten dieser Normalisierungsverfahren
gleich stark sind. Sie führen die Verbesserung des Deskriptors durch Normalisierung
darauf zurück, dass er dadurch eine höhere Invarianz gegenüber lokalen Beleuch-
tungsunterschieden im Bild erreicht. Insbesondere bei den unterschiedlichen For-
men der Gradientenberechnung in dieser Arbeit ist es schwierig eine Analogie zu
diesen lokalen Unterschieden zu finden. Um möglichst nahe an dem Bilddeskriptor
zu bleiben, wurden in dieser Arbeit trotzdem zwei von den gleich starken Verfahren
ausgewählt und getestet.
  Die erste Normalisierungsmethode, die getestet wurde, ist die L2-Normalisierung,
welche die Werte nach folgender Formel normalisiert. Seien v i die zu normalisieren-
den Werte mit i ∈ N, dann wird v i auf den Wert

                                                vi
                                 v i = pP
                                            i   v i2 + ε2

gesetzt, wobei ε ein Parameter ist.

                                                                                   21
Die zweite Methode bezeichnen Dalal et al. als “L2Hys”, da hier zusätzlich zu
der L2-Normalisierung noch eine Hysterese zum Einsatz kommt. Zunächst wird die
L2-Normalisierung wie gerade beschrieben angewendet. Danach werden Werte über
einem bestimmten Maximalwert auf diesen gesetzt (der Hystereseschritt) und die
L2-Normalisierung wird noch einmal mit einem neuen ε2 durchgeführt. Der Maxi-
malwert und das ε2 sind Parameter. Diese Normalisierung soll verhindern, dass sehr
große Werte die anderen zu stark dominieren.

22
4 Evaluierung
Das Verfahren aus Kapitel 3 wurde implementiert, getestet und evaluiert. Die Ergeb-
nisse werden in diesem Kapitel vorgestellt.

4.1 Methodik
Die Ergebnisse der Tests wurden nach etablierten Methoden des “3D Model Retrieval”
evaluiert. Die Methodik wird im Folgenden genauer beschrieben. Zur Auswertung
wurden die frei verfügbaren Programme der “Princeton Shape Retrieval and Analysis
Group”1 (PSB-Tools) verwendet.

    4.1.1 Maße
Als Evaluierungsmaße kamen Standardmaße des “3D Model Retrieval” zum Einsatz.
Einen guten Überblick bieten Shilane et al. in ihrer Arbeit über den PSB-Benchmark
[18]. Um die Maße auszuwerten, wird ein Anfrageobjekt q aus der Klasse Cq betrach-
tet. Als Rückgabe der Anfrage erhält man eine sortierte Liste der Datenbankobjekte,
die sich aus der Distanz der Feature Vektoren zum Feature Vektor des Anfrageobjekts
ergibt. Davon wird die Menge R bestehend aus den ersten k Modellen der Liste aus-
gewertet. Alle Modelle der Klasse Cq werden als relevant betrachtet. Als Distanzmaß
ist die 1-Norm des Differenzvektors zum Einsatz gekommen.

    Precision-Recall
Precision
  Die Precision beschreibt den Anteil der relevanten Objekte in R für ein gegebenes
k. Die Precision p ist also definiert als

                                           |R ∩ (Cq \ {q})|
                                      p=                      .
                                                   k

Recall
  Der Recall beschreibt den Anteil der gefundenen Modelle aus Cq . Der Recall r ist
also definiert als
                                           |R ∩ (Cq \ {q})|
                                      r=                      .
                                               |Cq | − 1

Precision-Recall-Kurven
  Eine Precision-Recall-Kurve ist ein Graph, der das Verhältnis zwischen Precision
und Recall visualisiert. Auf der horizontalen Achse sind Recall-Level dargestellt, wäh-
rend die vertikale Achse die entsprechende Precision beschreibt. Es gibt jedoch bei
1
      http://shape.cs.princeton.edu/benchmark/util.html

                                                                                    23
unterschiedlich großen Klassen unterschiedliche Recall-Level. Oft sind aber einheit-
liche Recall-Level gewünscht, um zum Beispiel mehrere Precision-Recall-Kurven zu
mitteln. Als Lösung bietet es sich an die Precision an bestimmten Standard-Recall-
Leveln zu interpolieren. Für die Interpolation gibt es mehrere Möglichkeiten. Wäh-
rend Yates et al. in ihrem Standardwerk “Modern Information Retrieval” eine Inter-
polation mittels Maximalwerten beschreiben [3], verwendet Vranić in seiner Arbeit
lineare Interpolation [23]. Die verwendeten PSB-Tools verwenden ebenfalls lineare
Interpolation.

     Precision auf dem First Tier
Die Precision auf dem First Tier (im Folgenden einfach als First Tier oder FT be-
zeichnet), oft auch RPrecision genannt, ist die Precision mit einem k, welches der
Klassenstärke des Anfrageobjektes ohne das Anfrageobjekt selber entspricht, also
k = |Cq | − 1. In dem Fall sind Precision und Recall gleich groß. Auf dieser Größe
liegt in dieser Arbeit der Fokus, da sie sich als gutes Maß für die Güte eines Deskrip-
tors etabliert hat.

     Andere Maße
Der Vollständigkeit halber wurden auch andere Standardmaße ausgewertet. Es han-
delt sich dabei um die Precision auf dem Second Tier (Second Tier oder ST) und
dem Nearest Neighbor (Nearest Neighbor oder NN), dem E-Measure (E) und dem
Discounted Cumulative Gain (DCG). Ausführliche Erläuterungen zu diesen Maßen
sind in der Arbeit von Shilane et al. zu finden [18].

    4.1.2 Benchmarks
Als Benchmarks werden Mengen von 3D Modellen verwendet, die vollständig oder
teilweise klassifiziert sind. In dieser Arbeit wurde untersucht, wie geeignet das Ver-
fahren für generische Objekte ist. Aus diesem Grund wurden drei generische Bench-
marks ausgewählt. Bei den Tests wurde jedes klassifizierte Modell als Anfrageobjekt
betrachtet. Die Werte der Maße aus dem Abschnitt Maße auf der vorherigen Seite
wurden dann entsprechend über alle Anfrageobjekte gemittelt.

     KN-DB
Der KN-DB-Benchmark wurde im Jahr 2006 von Bustos et al. verwendet um die
Effektivität einer Menge von Deskriptoren zu untersuchen und zu vergleichen [4].
Auch Vranić verwendet diesen Benchmark in seiner Arbeit [23]. Aus diesem Grund
liegt es nahe, das Verfahren dieser Arbeit auch auf diesem Benchmark zu testen.
   Der Benchmark ist frei im Internet verfügbar2 und besteht aus 1838 generischen
Modellen. Davon sind 472 Modelle in 55 Klassen sortiert. Die Klassenstärke der
meisten Klassen variiert zwischen 2 und 26 Modellen, nur eine Klasse besteht aus 56
Modellen. Die durchschnittliche Klassengröße ist 8, 58.
2
      http://merkur01.inf.uni-konstanz.de/CCCC/

24
SHREC Benchmark 2009
Das Verfahren wurde auch auf dem Benchmark des generischen Teils des SHREC
Wettbewerbs 2009 (TargetModels) getestet [1]. Auch dieser Benchmark ist im Inter-
net frei verfügbar3 und besteht aus 720 Modellen, die alle in 40 Klassen sortiert sind.
Die Ergebnisse dieser Arbeit können allerdings nicht ohne Weiteres mit denen des
Wettbewerbs verglichen werden, da die Methodik etwas unterschiedlich ist. Wäh-
rend hier die Menge der Modelle, die als Anfrage-Objekte gewählt werden (Query
Set), die gleiche ist wie die Menge der Modelle, in denen die Ergebnisse gesucht
werden (Target Set), wurden für den Wettbewerb zwei verschiedene Mengen dafür
gewählt. Um die Ergebnisse dieser Arbeit also mit den erzielten Resultaten des Wett-
bewerbs vergleichen zu können, müsste die Methodik angepasst werden. Darauf
wurde zunächst verzichtet, zum einen aus Zeitgründen und zum anderen erreicht
das Verfahren noch nicht annähernd die Effektivität der Verfahren des Wettbewerbs.
Zunächst sollte es noch ausgereift werden, bevor Vergleiche mit den Verfahren des
Wettbewerbs angemessen sind.
  Dieser Benchmark wurde hauptsächlich wegen seiner Kompaktheit gewählt. Er ist
im Vergleich zu den anderen verwendeten Benchmarks der kleinste. Dadurch konn-
ten sehr früh die ersten Ergebnisse gewonnen werden und die besten Parametrisie-
rungen identifiziert werden. Das hatte zur Folge, dass weniger der aufwendigeren
Tests auf den größeren Benchmarks durchgeführt werden mussten. Dadurch konnte
in der vorgegebenen Zeit intensiver getestet werden.

    Princeton Shape Benchmark
Mittlerweile hat sich der Benchmark der “Princeton Shape Retrieval and Analysis
Group” etabliert [18]. Dieser ist ebenfalls frei im Internet verfügbar4 . Für die Tests
wurde der Test Benchmark in der Basisklassifikation verwendet. Dieser besteht aus
907 Modellen, die in 92 Klassen sortiert sind. Die durchschnittliche Klassengröße ist
9, 85 und die größte Klasse besteht aus 50 Modellen. Dieser Benchmark wurde auch
von Bustos et al. für den Vergleichstest mehrerer Deskriptoren verwendet [4]. Die
dargestellten Ergebnisse sind auf diesem Benchmark etwas schlechter als auf dem
KN-DB-Benchmark. Dieser Unterschied wurde auch in dieser Arbeit beobachtet. Der
PSB-Test-Benchmark ist erst ab dem Verfahren mit den Differenzen von Gradienten
zum Einsatz gekommen.

4.2 Effektivität
In diesem Abschnitt werden die Ergebnisse der Effektivitätstest vorgestellt. Die Ef-
fektivität beschreibt, wie gut sich ein Deskriptor für die Ähnlichkeitssuche eignet. Die
Ergebnisse werden einerseits an den Deskriptoren gemessen, die Bustos et al. in ih-
rer Arbeit miteinander verglichen haben. Auf der anderen Seite werden sie mit den
vier in Feature Vektor Ansatz auf Seite 10 genannten Deskriptoren von Vranić vergli-
chen. Dazu stellt Tabelle 4.1 die Effektivität dieser Deskriptoren auf den Benchmarks
zusammen.
3
     http://www.itl.nist.gov/iad/vug/sharp/benchmark/shrecGeneric/
4
     http://shape.cs.princeton.edu/benchmark/

                                                                                     25
Benchmark     Deskriptor   NN      FT      ST      E       DCG
                          DBD438       0,617   0,342   0,435   0,239   0,601
                          DSR472       0,709   0,429   0,548   0,294   0,691
            KN-DB
                          RSH136       0,568   0,288   0,373   0,205   0,556
                          SIL300       0,585   0,312   0,417   0,228   0,59
                          DBD438       0,726   0,394   0,504   0,343 0,7
                          DSR472       0,824   0,503   0,643   0,438 0,785
            Shrec
                          RSH136       0,685   0,358   0,477   0,324 0,671
                          SIL300       0,719   0,396   0,53    0,361 0,708
                          DBD438       0,609   0,332   0,421   0,249   0,599
                          DSR472       0,658   0,404   0,513   0,294   0,663
            PSB-Test
                          RSH136       0,515   0,256   0,346   0,202   0,537
                          SIL300       0,547   0,305   0,409   0,239   0,58

     Tabelle 4.1: Werte für die vier Deskriptoren von Vranić auf den drei Benchmarks

 4.2.1 Einfache Gradienten
Zunächst wurde die einfachste Art der Berechnung der Gradienten getestet, wie sie
in Abschnitt Einfache Gradienten auf Seite 18 beschrieben wurde. Dieser Deskriptor
wurde nur auf dem Shrec- und dem KN-DB-Benchmark getestet.

     Parameter
In diesem Abschnitt wird die Wahl der Parameter beschrieben.

Distanzfeldberechnung
  Mit den empfohlenen Parametern von Dalal et al. [17] im Hinterkopf wurde eine
Distanzfeldauflösung von 48 × 48 × 48 gewählt. Diese war schon an der oberen
Grenze der Durchführbarkeit, die durch die Rechenzeit bestimmt war und bot trotz-
dem noch sinnvollen Spielraum für die Parameter. Allerdings ergeben sich aus diesen
Distanzfeldern Gradientenfelder mit einer Größe von 46 × 46 × 46. Um trotzdem die
empfohlenen Parameter umsetzen zu können, wurden die Blöcke am Rand etwas
verkleinert. Es ist davon auszugehen, dass das der Effektivität nicht schadet, da es
ein rein struktureller Unterschied ist, der auf allen Modellen gleich umgesetzt wurde.

HOG Extraktion
   Es wurden drei unterschiedliche Deskriptoren definiert. Die einzelnen Parameter
sind in Tabelle 4.2 auf der nächsten Seite dargestellt. Die Zahl im Deskriptornamen
ist die Dimension des Deskriptors. hog_81000_simple ist eine Parametrisierung, die
möglichst nah an den empfohlenen Werten von Dalal et al. gewählt wurde. Das Ziel
des hog_5184_simple-Deskriptors war es die Dimension zu reduzieren, da 81000
sehr unpraktikabel ist. Letztendlich wurde mit hog_17496_simple ein Deskrip-
tor mit verhältnismäßig geringer Dimension erzeugt, mit welchem der Einfluss der

26
Blocküberlappung untersucht werden sollte. Das ε wurde im Bereich [1, · · · , 10000]
experimentell bestimmt. Die besten Ergebnisse wurden mit 100 ≤ ε ≤ 120 erzielt.

                                                   hog_81000_simple              hog_5184_simple                         hog_17496_simple
 Blockgröße           2x2x2 Zellen                                               2x2x2 Zellen                            3x3x3 Zellen
 Blocküberlappung     1x1x1 Zellen                                               0x0x0 Zellen                            2x2x2 Zellen
 Zellgröße            8x8x8 Voxel                                                12x12x12 Voxel                          12x12x12 Voxel
 ε                    100                                                        120                                     120
 Bereich (φ)          180°                                                       180°                                    180°
 Anzahl der Bins (φ) 9                                                           9                                       9
 Anzahl der Bins (θ ) 9                                                          9                                       9

              Tabelle 4.2: Parameter der getesteten Deskriptoren (einfache Gradienten)

  Ergebnisse
Die Precision-Recall-Kurven der drei Deskriptoren sind in Abbildung 4.1 dargestellt.
Wie man sieht, unterscheiden sie sich kaum. Auch die Werte für die Maße, abgebildet
in Tabelle 4.3 auf der nächsten Seite, sind sehr ähnlich. Gerade hog_81000_simple
und hog_17496_simple zeigen auf beiden Benchmarks ähnliche Ergebnisse. Da er-
sterer aber auf dem KN-DB-Benchmark einen signifikant besseren Wert für First Tier
zeigt, wird er als besserer Deskriptor betrachtet. Die Ergebnisse zeigen insgesamt
einen durchschnittlichen Deskriptor verglichen mit den Methoden, die von Bustos et
al. verglichen wurden [4].
                                       Shrec                                                                    KN-DB
                          hog_5184_simple                hog_17496_simple                           hog_5184_simple             hog_17496_simple
                          hog_81000_simple                                                          hog_81000_simple
              1                                                                               1

             0,8                                                                             0,8
                                                                                 Precision
 Precision

             0,6                                                                             0,6

             0,4                                                                             0,4

             0,2                                                                             0,2

              0                                                                               0
                   0,1   0,2   0,3   0,4     0,5   0,6     0,7   0,8   0,9   1                 0,05 0,15 0,25 0,35 0,45 0,55 0,65 0,75 0,85 0,95
                                              Recall                                                                   Recall

Abbildung 4.1: Precision-Recall-Kurven der 3 Deskriptoren (einfache Gradienten) auf
               dem SHREC-Benchmark (links) und dem KN-DB-Benchmark (rechts)

 4.2.2 Differenzen der Gradienten
Als zweites wurde die Berechnung der Gradienten durch Differenzen von Gradienten,
wie in Abschnitt Differenzen von Gradienten auf Seite 18 beschrieben, getestet.

  Parameter
Zunächst werden hier wieder die gewählten Parameter erläutert.

                                                                                                                                                   27
Benchmark     Deskriptor            NN      FT      ST       E       DCG
                   hog_81000_simple 0,726        0,353   0,448 0,306 0,662
     Shrec         hog_5184_simple  0,704        0,35    0,448 0,305 0,661
                   hog_17496_simple 0,685        0,354   0,46  0,313 0,667
                   hog_81000_simple 0,506        0,242   0,296    0,172   0,495
     KN-DB         hog_5184_simple  0,498        0,233   0,289    0,169   0,488
                   hog_17496_simple 0,509        0,229   0,282    0,167   0,488

Tabelle 4.3: Ergebnisse der Deskriptoren (einfache Gradienten) auf den Benchmarks

Distanzfeldberechnung
  Da diese Form der Berechnung der Gradienten das Gradientenfeld gleich um zwei
Voxel an jeder Seite gegenüber dem Distanzfeld schrumpfen lässt, wurden Distanz-
felder mit einer Auflösung von 52 × 52 × 52 berechnet. Allerdings wurde dazu der
                                            2
umschließende Raum von dem Modell um 48       in jeder Richtung in jeder Dimension
erweitert, sodass das resultierende Gradientenfeld mit der Dimension 48 × 48 × 48
die Größe des Einheitswürfels hat. Die Blöcke sind nun alle gleich groß.

HOG Extraktion
  Die Parametrisierungen sind besonders im Hinblick auf Überlappung, Zell- und
Blockgröße ähnlich gewählt wie in Abschnitt Einfache Gradienten auf Seite 26. Aller-
dings wurde der Wertebereich für φ und θ entsprechend angepasst (siehe Abschnitt
Histogramme auf Seite 20) und, um diesem gerecht zu werden, die Anzahl der Bins
auf jeweils 6 reduziert. Dadurch haben die Deskriptoren eine deutlich kleinere Di-
mension und werden damit deutlich praktikabler. Die einzelnen Parametrisierungen
sind im Detail in Tabelle 4.4 dargestellt. Das ε musste neu bestimmt werden. Die be-
sten Ergebnisse wurden diesmal mit ε = 5 erzielt. Es war zu erwarten, dass das ε in
diesem Fall deutlich kleiner als in Abschnitt Einfache Gradienten auf Seite 26 gewählt
werden muss, da die Menge an Gradienten weniger wird, wie in den Abbildungen
3.4 und 3.5 auf Seite 19 deutlich wird.

                           hog_36000_dog      hog_2304_dog       hog_7776_dog
     Blockgröße           2x2x2 Zellen        2x2x2 Zellen       3x3x3 Zellen
     Blocküberlappung     1x1x1 Zellen        0x0x0 Zellen       2x2x2 Zellen
     Zellgröße            8x8x8 Voxel         12x12x12 Voxel     12x12x12 Voxel
     ε                    5                   5                  5
     Bereich (φ)          90°                 90°                90°
     Bereich (θ )         90°                 90°                90°
     Anzahl der Bins (φ) 6                    6                  6
     Anzahl der Bins (θ ) 6                   6                  6

 Tabelle 4.4: Parameter der getesteten Deskriptoren (Differenzen von Gradienten)

28
Ergebnisse

Es wurden wieder Precision-Recall-Kurven berechnet (siehe Abbildung 4.2), welche
wieder nur marginale Unterschiede zeigen. Die Werte in Tabelle 4.5 zeigen aber, dass
in diesem Test der kleinste Deskriptor, hog_2304_dog, den größten als stärksten De-
skriptor abgelöst hat. Das ist in diesem Test auf allen Benchmarks konsistent, wenn
auch zum Teil nur geringfügig. Im Vergleich zu den Ergebnissen mit der Methode
der einfachen Gradienten zeigen aber alle Deskriptoren eine signifikante Verbes-
serung um ungefähr 0, 03 bis 0, 05. Die Ergebnisse auf dem PSB-Test-Benchmark
zeigen, dass dieser Deskriptor sogar in der Lage ist, den verwandten MSEGI De-
skriptor [24] zu schlagen. Im Vergleich mit den Methoden, die Bustos et al. getestet
haben [4], zeigt sich nun ein guter Deskriptor, welcher nach First Tier auf der KN-DB-
Benchmark auf Platz 4 vor dem Silouetten- und dem Rays-SH-Deskriptor rangieren
würde. Auch auf dem PSB-Test-Benchmark wäre der Deskriptor auf Rang 4, aller-
dings diesmal hinter dem Silouetten-Deskriptor. Der Depth buffer-Deskriptor ist
jeweils auf Platz 1.
  Etwas anders verhält es sich mit den in Kapitel 2 vorgestellten Deskriptoren von
Vranić. Er war in der Lage, die eben genannten noch etwas zu verbessern. Von diesen
kann lediglich der schwächste, RSH136, auf allen Benchmarks überholt werden, wie
ein Vergleich mit Tabelle 4.1 auf Seite 26 zeigt.

                                           Shrec                                                                                                                   KN-DB
                               hog_2304_dog                     hog_7776_dog                                                                           hog_2304_dog              hog_7776_dog
                               hog_36000_dog                                                                                                           hog_36000_dog

              1                                                                                                                   1

             0,8                                                                                                                0,8
                                                                                                                    Precision
 Precision

             0,6                                                                                                                0,6

             0,4                                                                                                                0,4

             0,2                                                                                                                0,2

              0                                                                                                                   0
                   0,1   0,2   0,3   0,4    0,5    0,6                0,7    0,8    0,9       1                                    0,05     0,15   0,25     0,35   0,45   0,55   0,65   0,75    0,85   0,95
                                               Recall                                                                                                                  Recall

                                                                                                   PSB-Test
                                                                             hog_2304_dog            hog_7776_dog                         hog_36000_dog

                                                                 1

                                                                0,8

                                                                0,6
                                                    Precision

                                                                0,4

                                                                0,2

                                                                 0
                                                                  0,05      0,15   0,25     0,35    0,45      0,55              0,65   0,75     0,85      0,95
                                                                                                           Recall

Abbildung 4.2: Precision-Recall-Kurven der Deskriptoren (Differenzen der Gradien-
               ten) auf dem SHREC-Benchmark (oben links), dem KN-DB-Benchmark
               (oben rechts) und dem PSB-Test-Benchmark (unten)

                                                                                                                                                                                                              29
Sie können auch lesen