Das 3d-Puzzle-Problem

fendaten, Oberflächennormalen oder Volumendaten handeln. Für jeden Typ werden .... Durch n binäre Musterprojektionen können bereits 2n unterschiedliche.
10MB Größe 6 Downloads 445 Ansichten
Das 3d-Puzzle-Problem Effiziente Methoden zum paarweisen Zusammensetzen von dreidimensionalen Fragmenten

Von der Carl-Friedrich-Gauß-Fakulta¨t fu ¨r Mathematik und Informatik der Technischen Universit¨at Carolo-Wilhelmina zu Braunschweig zur Erlangung des Grades eines Doktor-Ingenieurs (Dr.-Ing.) genehmigte Dissertation

von aus 1. Referent: 2. Referent: eingereicht am: mu ¨ndliche Pru ¨fung am:

Dipl.-Inform. Simon Winkelbach (Geburtsort) G¨ottingen Prof. Dr.-Ing. Friedrich M. Wahl Prof. Dr.-Ing. Hans Burkhardt 16. 06. 2006 18. 09. 2006

i

Vorwort Die vorliegende Dissertation entstand im Rahmen meiner T¨atigkeit als wissenschaftlicher Mitarbeiter am Institut fu ¨r Robotik und Prozessinformatik der Technischen Universit¨at Braunschweig. Mein besonderer Dank gilt dem Leiter des Instituts Herrn Prof. Dr.-Ing. Friedrich M. Wahl, denn ohne seine hilfreiche fachliche Betreuung w¨are diese Arbeit sicherlich nicht mo¨glich gewesen. Er hat mich bereits als Student fru ¨hzeitig gefo¨rdert und meine Arbeit kontinuierlich durch viele konstruktive Ideen und wertvolle Erfahrungen unterstu ¨tzt. ¨ Herrn Prof Dr.-Ing. Hans Burkhardt, der sich zur Ubernahme des Koreferats bereit erkl¨art hat, gilt ebenfalls mein Dank. Herzlicher Dank gebu ¨hrt natu ¨rlich auch allen Kolleginnen und Kollegen, sowie Studenten des Instituts fu ¨r ihre aktive Mitwirkung und fu ¨r die vielen interessanten und anregenden Diskussionen. Insbesondere Herr Markus Rilk, Herr Sven Molkenstruck und Herr Christoph Scho¨nfelder haben bei den umfangreichen Implementierungsarbeiten tatkra¨ftig mitgeholfen. Meinen Kollegen Herrn Ralf Westphal, sowie unseren Projektpartnern an der Unfallchirurgischen Klinik der Medizinischen Hochschule Hannover unter der Leitung von Prof. Dr. med. Christian Krettek danke ich fu ¨r die ausgezeichnete Zusammenarbeit und die Bereitstellung des umfangreichen Datenmaterials. Schließlich mo¨chte ich mich ganz herzlich bei der deutschen Forschungsgemeinschaft (DFG) fu ¨r die finanzielle Unterstu ¨tzung dieser Arbeit im Rahmen des Projektes 3d” Puzzle-Problem“ (WA 848/14–1) und des Projektes Roboterunterstu ¨tzte Femurmark” nagelung“ (WA 848/10–1) bedanken.

Braunschweig, im Juni 2006

Simon Winkelbach

iii

Inhaltsverzeichnis 1 Einleitung 1.1 Zielsetzung und Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . .

1 3

2 Gewinnung und Repr¨ asentation von Basisdaten 2.1 Tiefendaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Lasertriangulation . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.2 Der Codierte Lichtansatz . . . . . . . . . . . . . . . . . . . . . . . 2.2 Oberfla¨chennormalen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Oberfl¨achenrekonstruktion durch Projektion zweier Streifenmuster 2.2.2 Oberfl¨achenrekonstruktion durch Projektion eines Streifenmusters 2.2.3 Tiefenbilder aus Gradientenkarten . . . . . . . . . . . . . . . . . . 2.2.4 Experimentelle Ergebnisse . . . . . . . . . . . . . . . . . . . . . . 2.3 Volumendaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Computertomographie . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 Extraktion von Isofl¨achen . . . . . . . . . . . . . . . . . . . . . . 2.4 Repr¨asentationsformen von Oberfl¨achendaten . . . . . . . . . . . . . . .

5 6 7 10 11 12 18 22 29 31 31 33 36

3 Matching von Oberfl¨ achen: Problemstellung und Stand der 3.1 Oberfl¨achenregistrierung versus 3d-Puzzle-Problem . . . . . . 3.2 Feinregistrierung . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Grobregistrierung . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Merkmalsbasierte Korrespondenzsuche . . . . . . . . . 3.3.2 Hypothesen-Akkumulation (Pose Clustering) . . . . . . 3.3.3 Hypothesengenerierung und Hypothesenverifizierung . 3.4 Stand der Technik beim 3d-Puzzle-Problem . . . . . . . . . . 4 Matching von 3d Objektfragmenten (3d-Puzzle-Problem) 4.1 Einfu ¨hrung . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Formale Problemstellung und Begriffsdefinitionen . . . . . . 4.3 Ein zufallsbasierter Ansatz: ’Random Sample Matching’ . . . 4.3.1 Das RANSAC-Konzept . . . . . . . . . . . . . . . . . 4.3.2 Schnelle Generierung von Lagehypothesen . . . . . . 4.3.3 Effiziente Bewertung der Lagehypothesen . . . . . . . 4.3.4 Experimentelle Ergebnisse . . . . . . . . . . . . . . .

. . . . . . .

Technik 39 . . . . . . 39 . . . . . . 41 . . . . . . 42 . . . . . . 42 . . . . . . 44 . . . . . . 45 . . . . . . 46 . . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

49 49 51 56 56 59 63 64

iv

Inhaltsverzeichnis

4.3.5 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ein Grob-zu-Fein-Ansatz: ’Cluster Tree Matching’ . . . . . . . . . . . 4.4.1 Transformationsfreies Matching von orientierten Punktwolken 4.4.2 Hierarchische Zerlegung von Punktwolken . . . . . . . . . . . 4.4.3 Hierarchisches Matching . . . . . . . . . . . . . . . . . . . . . 4.4.4 Beschleunigungsmo¨glichkeiten . . . . . . . . . . . . . . . . . . 4.4.5 Experimentelle Ergebnisse und Diskussion . . . . . . . . . . . 4.5 Anpassung an spezielle Fragmenttypen . . . . . . . . . . . . . . . . . 4.4

5 Anwendungen und Einsatzgebiete 5.1 Anwendungen in der Chirurgie . . . . . . 5.1.1 Repositionierung von gebrochenen 5.1.2 Repositionierung von gebrochenen 5.2 Anwendungen in der Arch¨aologie . . . . 5.3 Registrierung von Oberfla¨chendaten . . . 5.4 Objekterkennung und Lagesch¨atzung . .

. . . . . . . . . . . . . Oberschenkelknochen Beckenknochen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . . . .

. . . . . . . .

76 78 80 82 86 89 90 94

. . . . . .

. . . . . .

97 97 97 112 123 126 132

6 Zusammenfassung und Ausblick

135

A Ungenauigkeiten bei perspektivischer Projektion

139

B Erg¨ anzungen zu den experimentellen Ergebnissen

143

C Eigene Ver¨ offentlichungen

145

Literaturverzeichnis

149

Index

157

v

Kurzfassung Das Zusammenfu ¨gen von dreidimensionalen Objekten aus Einzelteilen (3d-Puzzle-Problem) ist in vielen wichtigen Forschungs- und Anwendungsbereichen, wie zum Beispiel der Archa¨ologie, der Medizin, sowie der Bioinformatik und Robotik, von hoher Relevanz. So mu ¨ssen in der Arch¨aologie zerbrochene historische Artefakte rekonstruiert, in der Chirurgie gebrochene Knochen repositioniert und fixiert, in der Bioinformatik Proteine zusammengesetzt und in der Robotik Bauteile gefu ¨gt werden. In dieser Arbeit wird die gesamte Prozesskette von der Datenakquisition mittels unterschiedlicher Sensoren, u ¨ber die allgemeine Registrierung von Oberfl¨achen, bis hin zu speziellen Anforderungen beim Zusammensetzen von Fragmenten in unterschiedlichen Anwendungsf¨allen, betrachtet. Insbesondere werden zwei neue Ans¨atze vorgestellt, mit denen ein paarweises Matching von Fragmentoberfl¨achen ¨außerst effizient gel¨ost werden kann. Hierbei wird eine hohe Robustheit gegenu ¨ber Messungenauigkeiten, Fragmentsch¨adigungen und Materialverschleiß erreicht. In ihrer Basiskonfiguration berechnen beide Verfahren diejenige relative Lage, bei der die Fragmente einen m¨oglichst großen Oberfl¨achenkontakt aufweisen. Der erste Ansatz beruht auf einer zufallsbasierten Generierung von wahrscheinlichen Lagehypothesen und einer schnellen Hochrechnung der Kontaktfl¨ache. Der zweite Ansatz basiert auf einer deterministischen Grob-zu-Fein-Strategie“ ” und kommt ohne Zufallskomponente aus. Des Weiteren wird untersucht, auf welche Weise Vorwissen u ¨ber die zerbrochenen Objekte (z.B. u ¨ber Form, Symmetrieebenen, Achsen, etc.) genutzt werden kann, um die Effizienz, Genauigkeit und Robustheit zu erh¨ohen. Insbesondere gelingt es in dieser Arbeit durch Einbeziehung von Vorwissen gebrochene Oberschenkel- und Beckenknochen virtuell zusammenzufu ¨gen und somit einen wichtigen Baustein fu ¨r die computerassistierte Frakturbehandlung in der Chirurgie zu schaffen. Neben den 3d-Puzzle-Problemen findet das automatische Anpassen von Oberfl¨achendaten (engl. ’surface matching’) auch in vielen anderen wichtigen Bereichen des 3dComputer-Sehens Anwendung. In diesem Zusammenhang wird gezeigt, dass die entwickelten Ans¨atze unter anderem auch fu ¨r die Erkennung und Lagesch¨atzung von Objekten im Raum und fu ¨r die Registrierung von Tiefendaten eingesetzt werden k¨onnen.

vii

Abstract The reconstruction of three-dimensional fragmented objects (3d-puzzle-problem) is a highly relevant task with many applications. The field of application comprises archaeology, surgery, bioinformatics and robotics. Examples are the reconstruction of broken archaeological artefacts, human bone fracture reduction in surgery, protein-docking, and the assemblage of industrial components. This work considers the whole processing chain, starting from data acquisition with different sensors, the general registration of surfaces, up to special requirements for matching fragments in different applications. In this context, two novel and efficient pairwise matching approaches will be introduced, which are highly robust against measurement inaccuracies, material deterioration and noise. In their basic configuration, both methods search for a relative pose, where the surface contact between all fragments is as high as possible. The first approach is based on a randomized generation of likely pose hypotheses and an efficient forecasting of the contact area. The second approach is based on a deterministic coarse-to-fine strategy without any random variables. Furthermore, this work discusses how a priori knowledge of the broken objects (like shape priors, mirror symmetries and symmetry axes) can be used to increase the efficiency, accuracy and robustness. Particularly, it shows how to use a priori knowledge to reconstruct broken femurs (thigh bones) and pelvis fractures, which is an important building block for computer-assisted fracture reduction in surgery. In addition to the 3d-puzzle-problem, an automatic matching of surfaces has applications in many other important computer vision related fields. It will be shown that the developed approaches are also applicable for 3d object recognition and pose estimation, as well as for registration of range data.

1

Kapitel 1

Einleitung Die Bildverarbeitung hat seit Einsatz des Computers große Fortschritte gemacht. So ist es beispielsweise heutzutage mit geeigneten zweidimensionalen bildgebenden Sensoren m¨oglich, automatisiert handgeschriebene Texte zu erkennen, industrielle Bauteile zu vermessen und zu pru ¨fen, Gesichter und Fingerabdru ¨cke zu identifizieren oder mobilen Robotern das Erkennen von Hindernissen zu erm¨oglichen. Neben den weit verbreiteten 2d-Bildsensoren wie Farbbildkameras oder R¨ontgenger¨ate kommen auch immer h¨aufiger 2 12 d-Bildsensoren zum Einsatz. Hierunter fallen z.B. taktile Sensoren, Stereokameras, Lasertriangulationssensoren, Lichtschnittsensoren, strukturierte Beleuchtungssensoren und Lichtlaufzeitsensoren. Diese Sensoren erm¨oglichen eine hochaufl¨osende Erfassung von geometrischen Formen. Neben den genannten Sensoren zur Vermessung von 2 21 d-Oberfl¨achenkoordinaten gibt es insbesondere im medizinischen Bereich auch Technologien zur Vermessung volumetrischer 3d-Raumdaten. Hierunter fallen z.B die Computertomographie (CT), die Magnetresonanztomographie (MRT), die Positronenemissionstomographie (PET) sowie moderne sonographische Technologien. Durch die schnittbildgebenden Sensoren wie CT und MRT ist es m¨oglich, dreidimensionale Objekte raumfu ¨llend in ihrer a¨ußeren Form und ihrer inneren Zusammensetzung zu erfassen. Somit k¨onnen Organe und Knochen im K¨orper segmentiert und analysiert werden. Auch in der Industrie gewinnt die Computertomographie immer mehr an Bedeutung. Mit ihr ist es m¨oglich, Elemente und Strukturen aus dem Inneren von Materialien, so z.B. Materialdefekte oder innere Werkstu ¨ckelemente sichtbar zu machen. Durch moderne 2 21 dund 3d-Sensoren k¨onnen also dreidimensionale Objekte in eine hochaufl¨osende digitale Form gebracht werden. Ein aktiver Forschungsbereich besch¨aftigt sich deshalb mit der Entwicklung von Methoden und Techniken zur computerbasierten Nutzung dieser Daten. In diesem Bereich ist auch die vorliegende Arbeit einzuordnen. Ein Mensch besitzt im Allgemeinen die kognitiven und motorischen F¨ahigkeiten, ein zerbrochenes Objekt wieder zu einem Ganzen zusammenzusetzen, in vielen F¨allen sogar dann, wenn er die Form des urspru ¨nglichen Objektes nicht kennt. Hierbei mu ¨ssen die Bruchstu ¨cke (Fragmente) in die urspru ¨ngliche (also vor dem Zerbrechen vorherrschende) relative r¨aumliche Lage gebracht werden. In Anlehnung an das allseits bekannte zweidimensionale Puzzlespiel, soll das Problem des Zusammensetzens von dreidimensionalen Fragmenten im Folgenden kurz 3d-Puzzle-Problem genannt werden. Die Lo¨sung

2

Kapitel 1. Einleitung

(a)

(b)

(c)

(d)

Abbildung 1.1 Exemplarische Fragmente unterschiedlicher Art: (a) Arch¨aologisches Artefakt; (b) Beckenfraktur; (c) Bauteile; (d) Proteine.

dieses Problems ist nicht nur beim spielerischen Geduldsspiel oder beim Reparieren von Ton- und Glasgefa¨ßen erforderlich, sondern hat auch maßgebliche Relevanz im Bereich Arch¨aologie, Medizin, Bioinformatik und Robotik. So mu ¨ssen zum Beispiel in der Arch¨aologie wertvolle arch¨aologische Artefakte rekonstruiert, in der Medizin/Chirurgie Knochen repositioniert und fixiert, in der Bioinformatik Proteine zusammengesetzt und in der Robotik Bauteile gefu ¨gt oder Tiefendaten fusioniert werden. Wie diese Beispiele verdeutlichen, findet man das Problem in unterschiedlichen Bereichen mit Fragmenten v¨ollig unterschiedlicher Art. Hierbei muss es sich nicht zwangsweise um Fragmente von zerbrochenen Objekten handeln, sondern es k¨onnen prinzipiell beliebige zusammensetzbare Teile sein. Insbesondere sind hier starre dreidimensionale Fragmente gemeint, deren Oberfl¨achen mit anderen Fragmenten eine m¨oglichst passgenaue Verbindung eingehen k¨onnen. Vier solcher Fragmentarten sind exemplarisch in Abbildung 1.1 dargestellt. In vielen Bereichen ist jedoch ein manuelles Zusammensetzen der Fragmente prinzipiell nicht m¨oglich, zu ungenau oder mit zu hohen Kosten und Zeitaufwand verbunden. Die manuelle Bearbeitung ist oft nicht innerhalb eines sinnvollen Zeitrahmens zu bewerk-

1.1. Zielsetzung und Aufbau der Arbeit

3

stelligen, da die kombinatorischen M¨oglichkeiten explosionsartig mit der Fragmentanzahl steigen. Im Fall von gebrochenen Knochen geht der behandelnde Chirurg ein nicht unerhebliches Gesundheitsrisiko ein, da der Fixierungsvorgang laufend durch eine Vielzahl von R¨ontgenbildaufnahmen (und damit verbundener Strahlenbelastung) u ¨berwacht werden muss. In der pharmazeutischen Forschung mu ¨ssen beispielsweise große Strukturdatenbanken nach einem Protein durchsucht werden, welches eine stabile molekulare Verbindung mit einem anderen Protein bildet. Eine m¨ogliche Anwendung ist die Suche nach einer Substanz, die ein Enzym blockieren (inhibieren) und damit eine Virusinfektion eind¨ammen kann. Aus diesen Gru ¨nden besteht großes Interesse an effizienten Methoden zur automatischen L¨osung des 3d-Puzzle-Problems. In der heutigen Zeit bietet der Einsatz von Sensoren, Robotern und Computern prinzipiell die M¨oglichkeit zu einer schnelleren, genaueren und gu ¨nstigeren automatischen L¨osung zu gelangen. Die Fragmentoberfl¨achen mu ¨ssen hierzu zuerst in eine geeignete digitale Form gebracht werden. Das Ziel ist dann, durch spezielle Methoden aus dem Bereich Bildverarbeitung, 3d-Computer-Sehen und Mustererkennung, die einzelnen Fragmente virtuell zusammenzusetzen und somit ’Baupl¨ane’ oder Bindungsf¨ahigkeitsinformationen zu generieren. Diese Informationen k¨onnen zum manuellen oder robotergefu ¨hrten Zusammensetzen der realen Teile oder in der Biochemie und Pharmazie zur Vorhersage von Proteininteraktionen genutzt werden. Neben der Anwendung beim 3d-Puzzle-Problem findet das automatische Anpassen von Oberfl¨achendaten auch in vielen anderen wichtigen Bereichen des 3d-Computer-Sehens Anwendung. Beispiele hierfu atzung von Objekten im ¨r sind die Erkennung und Lagesch¨ Raum, sowie die Registrierung oder Fusion von verschiedenen Daten desselben K¨orpers, welche aus unterschiedlichen Sichtrichtungen aufgenommen wurden.

1.1

Zielsetzung und Aufbau der Arbeit

Das Ziel dieser Arbeit ist es, konkrete Methoden zum L¨osen des 3d-Puzzle-Problems vorzustellen. Dabei wird die gesamte Prozesskette, von der Datenakquisition mittels unterschiedlicher Sensoren, u ¨ber das allgemeine Matching von Oberfl¨achen, bis hin zu speziellen Anforderungen beim Matching von Fragmenten in unterschiedlichen Anwendungsf¨allen, betrachtet. Besonderer Wert wird auf die anschauliche und intuitiv verst¨andliche Darstellung der Techniken gelegt. Neben der Robustheit und Genauigkeit steht immer auch die Effizienz der Verfahren im Vordergrund, da diese ein entscheidendes Kriterium fu ¨r die Praxistauglichkeit ist: • Effiziente Algorithmen erm¨oglichen das Zusammensetzen mehrerer Fragmente in einem sinnvollen Zeitrahmen, • sie versprechen in der Chirurgie ku ¨rzere Operationszeiten (und damit verbesserte Heilungschancen und geringere Kosten), • sie k¨onnen w¨ahrend der Laufzeit (beispielsweise bei der automatisierten Montage) eingesetzt werden,

4

Kapitel 1. Einleitung

• sie erm¨oglichen es, große Datenbanken schneller nach einem passenden Gegenstu ¨ck zu durchsuchen • und k¨onnen schließlich fu ¨r Systeme mit interaktiver Benutzerschnittstelle eingesetzt werden. Alle Kapitel dieser Arbeit sind so weit wie m¨oglich voneinander unabh¨angig aufgebaut und auch getrennt voneinander nachvollziehbar. Die Arbeit ist folgendermaßen gegliedert: In Kapitel 2 wird zun¨achst die Akquisition und Vorverarbeitung von r¨aumlichen Daten behandelt, welche die Basis s¨amtlicher Matching- und Registrierungsmethoden sind. Dabei liegt der Schwerpunkt auf aktiven beru ¨hrungslosen Ans¨atzen zur Gewinnung von hochaufgel¨osten Daten. Bei diesen Daten kann es sich je nach Verfahren um Tiefendaten, Oberfl¨achennormalen oder Volumendaten handeln. Fu ¨r jeden Typ werden ein bis zwei besonders geeignete Verfahren vorgestellt. Besonderes Augenmerk liegt dabei auf eigenen Arbeiten in diesem Bereich. Nach der Datenakquisition und -aufbereitung kann das Oberfla¨chen-Matching beginnen. ¨ Kapitel 3 gibt einen Uberblick u ¨ber diverse aus der Literatur bekannte Ans¨atze zum Registrieren von Oberfl¨achendaten. Diese Registrierungsverfahren werden im Allgemeinen zur Fusion von Tiefendaten oder zur 3d-Lagescha¨tzung von Objekten eingesetzt. Obwohl das Zusammensetzen von zerbrochenen Teilen ein sehr ¨ahnlicher Anwendungsfall ist, sind diese Methoden hierfu ¨r nur begrenzt geeignet. Gru ¨nde dafu ¨r liegen beispielsweise in der oft fehlenden Initiall¨osung, in der teilweise geringen Oberfl¨achenu ¨berlappung, im Materialverschleiß, sowie in der Notwendigkeit Durchdringungen zu vermeiden. Aus diesem Grund werden in Kapitel 4 zwei neue Verfahren vorgestellt, mit denen das 3d-Puzzle-Problem wesentlich effizienter und robuster als mit bisherigen Ans¨atzen gelo¨st werden kann. In ihrer Basiskonfiguration suchen beide Verfahren diejenige relative Lage, bei der die Fragmente den gr¨oßtm¨oglichen Oberfl¨achenkontakt aufweisen. Der erste Ansatz beruht auf einer zufallsbasierten Suche von wahrscheinlichen Kontaktlagen und einer schnellen Hochrechnung der Kontaktgu ¨te. Dabei besticht der Algorithmus vor allem durch seine Einfachheit und Geschwindigkeit. Die Suche terminiert sobald die gewu ¨nschte Gu ¨te erreicht oder ein vorgegebenes Zeitlimit u ¨berschritten wurde. Der zweite Ansatz tastet hingegen den Suchraum mit einer Grob-zu-Fein-Strategie“ ab, ” kommt ohne Zufallskomponente aus und terminiert nach endlicher Zeit. In Kapitel 5 werden die Ans¨atze in unterschiedlichen Anwendungsszenarien untersucht. Die vorgestellten Anwendungen umfassen u.a. die Repositionierung von gebrochenen Oberschenkel- und Beckenknochen, die Registrierung von Tiefendaten und die Erkennung und Lagesch¨atzung von Objekten im 3d Raum. Je nach Anwendung wird zus¨atzliches a priori Wissen“ genutzt, wodurch eine wesentlich h¨ohere Robustheit und Genau” igkeit erzielt wird. Abschließend folgt in Kapitel 6 ein Ausblick auf m¨ogliche zuku ¨nftige Aktivit¨aten auf diesem interessanten Forschungsgebiet.

5

Kapitel 2

Gewinnung und Repr¨ asentation von Basisdaten Die Basis s¨amtlicher Matching- und Registrierungsmethoden sind digitale Daten von realen dreidimensionalen Objekten. Ganz am Anfang des 3d-Puzzle-Problems steht deshalb die wichtige Frage, wie diese Objekte in eine digitale Form u ¨berfu ¨hrt werden k¨onnen. In diesem Kapitel sollen einige geeignete Methoden zur beru hrungslosen Gewinnung ¨ von r¨aumlichen Daten erl¨autert werden. Inzwischen gibt es eine Vielzahl unterschiedlicher Ans¨atze. Zu unterscheiden sind passive und aktive Verfahren. Passive Verfahren nehmen im Allgemeinen das reflektierte Umgebungslicht der Szene mittels ein oder mehrerer optischer Systeme auf, w¨ahrend aktive Verfahren die Reflektion oder Emission einer zus¨atzlichen Strahlen- oder Magnetquelle messen. Neben der Unterteilung in aktiv und passiv, k¨onnen die Verfahren auch nach der Art der gewonnen Daten (Tiefendaten, Oberfl¨achennormalen, Volumendaten) gegliedert werden. Tabelle 2.1 zeigt eine Gliederung nach beiden Unterscheidungskriterien. Natu ¨rlich gibt es noch weitere Verfahren die hier nicht genannt wurden. Das Ziel dieses Tabelle 2.1 Unterschiedliche Methoden zur ber¨ uhrungslosen Gewinnung r¨aumlicher Daten. Tiefendaten Oberfl¨ achennormalen Volumendaten passiv

Stereobildanalyse

Shape from Shading

Shape from Motion

Shape from Texture

Shape from Focus

Shape from Reflexion

Shape from Silhouette aktiv

Lasertriangulation

Photometrisches Stereo

CT

Codierter Lichtansatz

Moir´e Interferometrie

MRT

Strukturiertes Licht

Shape from Stripe Pattern

PET

Phasenshift Time-of-Flight

(Ultraschall)

6

Kapitel 2. Gewinnung und Repr¨asentation von Basisdaten

¨ Kapitels ist es, einen Uberblick u ¨ber die wichtigsten bzw. zweckm¨aßigsten Methoden zu vermitteln. In den folgenden Abschnitten werden insbesondere diejenigen Techniken genauer erl¨autert, die in den Experimenten in Kapitel 4 und 5 eingesetzt und/oder durch Eigenentwicklungen erweitert wurden. Abschnitt 2.1 befasst sich mit der Akquisition von Tiefendaten, in Abschnitt 2.2 werden Ans¨atze zu Gewinnung von Oberfl¨achenorientierungen bzw. Oberfla¨chennormalen vorgestellt und in Abschnitt 2.3 wird kurz auf die Akquisition und Verarbeitung von Volumendaten eingegangen.

2.1

Tiefendaten

Die bekanntesten und am h¨aufigsten verwendeten Verfahren zur beru ¨hrungslosen Gewinnung von Tiefendaten basieren auf der optischen Tiangulation. Hierbei erfolgt die Vermessung der Oberfl¨ache u ¨ber Schnittpunktberechnungen von Seh- bzw. Beleuchtungsstrahlen mindestens zweier optischer Systeme. Zum Beispiel werden bei der Stereobildanalyse (siehe z.B. Grimson [30], Marr & Poggio [59]) die zum selben Oberfl¨achenpunkt geh¨origen Sehstrahlen zweier Kameras mathematisch zum Schnitt gebracht. Der gewonnene 3d-Schnittpunkt stellt dann einen Punkt der Objektoberfla¨che im Raum dar. Die Hauptschwierigkeit beim Stereo-Verfahren ist das so genannte Korrespondenzproblem. Um eine Schnittberechnung durchfu ¨hren zu k¨onnen, mu ¨ssen in beiden Kamerabildern Bildpunkte gleichen Ursprungs gefunden werden. Bei falscher Zuordnung werden falsche Raumpunkte berechnet. Im Fall von homogenen unstrukturierten Oberfla¨chen ist das Korrespondenzproblem ohne zus¨atzliche aktive Beleuchtung nahezu unl¨osbar, so dass oftmals die Tiefeninformation großer Bildbereiche nur durch Interpolation aus den angrenzenden Gebieten gewonnen werden kann. Die daraus resultierende geringe Genauigkeit und die begrenzte laterale Auflo¨sung reicht fu ¨r viele praktische Anwendungen nicht aus. Genauere Daten und eine bessere Aufl¨osung (insbesondere bei homogenen Oberfl¨achen) kann durch den Einsatz aktiver Beleuchtung erzielt werden. Das Korrespondenzproblem wird hierbei durch Projektion von Laser- oder Lichtmustern gel¨ost. Die Lichtmuster dienen dabei zur eindeutigen Kodierung der Beleuchtungsrichtung. Dabei kann die Kodierung r¨aumlich (Strukturiertes Licht) oder r¨aumlich und zeitlich (Lichtschnitt, Codiertes Licht, Phasenshift) erfolgen (siehe z.B. Blais [11] fu ¨r einen umfas¨ senden Uberblick u ¨ber bekannte Techniken). V¨ollig ohne Triangulation kommen Sensoren zur Messung der Lichtlaufzeit (engl. ’time-of-flight’) aus. Sogenannte ’Time-of-flight Massenspektrometer’ zur Messung einzelner punktueller Distanzwerte gibt es bereits seit u ¨ber 50 Jahren (siehe z.B. Wiley & McLaren [94]). In den letzten Jahren wurden allerdings neuartige auf CMOS/CCD-Technologie basierende Lichtlaufzeitsensoren entwickelt (siehe z.B. Lange & Seitz [54]). Bis dato sind diese Sensoren jedoch noch kostenintensiv, ungenau und haben nur eine geringe laterale Aufl¨osung. Es ist jedoch zu erwarten, dass diese Sensoren an Bedeutung gewinnen werden, denn mit ihnen ist es mo¨glich Tiefendaten von bewegten Objekten in Kamera-Frame-Rate zu akquirieren.

2.1. Tiefendaten

2.1.1

7

Lasertriangulation

Auf Triangulation basierende Laser- oder Lichtschnittverfahren wurden bereits vor u ¨ber zwei Jahrzehnten vorgeschlagen (siehe z.B. Hall et al. [34], Pipitone & Marshall [68]) und kommen noch immer in vielen Anwendungsbereichen zum Einsatz. Das Anwendungsfeld umfasst Computergrafik, Robotik, industrielles Design, Medizin, Archeologie, Multimedia und Web-Design, sowie ’rapid prototyping’ und computergestu ¨tzte Qualit¨atskontrolle. Die meisten kommerziellen Systeme benutzen eine Kamera und einen Laserstrahl oder eine Laser- oder Lichtebene. Dort wo das Licht auf das zu vermessende Objekt auftrifft, also in der sichtbaren Schnittlinie zwischen Laser-/Lichtebene und Objektoberfla¨che, werden die Lichtstrahlen diffus in den Raum zuru ¨ckreflektiert. Diese Linie wird von einer seitlich versetzen Kamera erfasst. Um nun die Raumkoordinaten der Oberfl¨achenpunkte auf der Linie zu ermitteln, mu ¨ssen nur die Lichtstrahlen (in diesem Zusammenhang spricht man auch von ’Sehstrahlen’) zuru ¨ckverfolgt und mathematisch mit der Laser-/Lichtebene zum Schnitt gebracht werden. Wird eine fla¨chendeckende Oberfl¨achenvermessung ben¨otigt, muss entweder der Laser- bzw. die Lichtebene u ¨ber die Szene geschwenkt (oder die Objekte selbst gedreht oder transliert) werden. Da fu ¨r die Triangulation der Oberfl¨achenpunkte zu jedem Zeitpunkt die r¨aumliche Lage des Lasers bzw. des Lichtprojektors (bzw. die Orientierung der Drehvorrichtung) bekannt sein muss, erfordert dies eine hochgenau kalibrierte Aktorik. Einige alternative, handgefu ¨hrte Ger¨ate vermeiden diese teure Aktorik und erh¨ohen damit außerdem die Flexibilit¨at beim Scanningprozess. Bei diesen Ans¨atzen muss die Lage des Laserger¨ates im Raum online (also w¨ahrend der Laufzeit) ermittelt werden. Diese Echtzeit-Lagebestimmung erfolgt durch unterschiedliche Mechanismen, wie optischem LED Tracking, elektromagnetischen Sensoren oder mechanischen Positionierarmen (siehe Blais [11], Zagorchev & Goshtasby [106]). In einer eigenen Arbeit wurde deshalb ein Verfahren zur Oberfl¨achenvermessung mit einem manuell gefu ¨hrten Laser entwickelt, das ohne externes Trackingsystem auskommt (siehe Molkenstruck [62], Winkelbach et al. [97]). Die Laserebene wird dabei online durch Analyse der Laserlinien im Kamerabild kalibriert. Die Laserlinie wird mehrfach per Hand u ¨ber das zu scannende Objekt geschwenkt. Diese Methode hat einige Vorteile: • Die geringen Hardwarekosten k¨onnen auch von Studenten und privaten Entwicklern aufgebracht werden. • Es muss nur der leichte Laser gehalten werden, was ein komfortables Scannen gew¨ahrleistet. • Die Beleuchtungsrichtung bleibt flexibel, wodurch Laserschatten und Ausreißer vermieden werden k¨onnen. Die einzige Voraussetzung ist eine a priori bekannte Hintergrundgeometrie, die der Kalibrierung das Lasers dient. Abbildung 2.1 zeigt eine typische Versuchsanordnung mit bekannte Hintergrundgeometrie (im einfachsten Fall zwei Ebenen, die eine Raumecke bilden). Die ra¨umliche Lage der

8

Kapitel 2. Gewinnung und Repr¨asentation von Basisdaten

zu messendes Objekt Laser

Bildebene Laserebene

Kamera Raumecke

Abbildung 2.1 Oberfl¨achenscanner mit manuell gef¨ uhrtem Laser.

Kamera bzgl. der Hintergrundgeometrie, sowie die intrinsischen Kameraparameter mu ¨ssen natu ¨rlich im Vorfeld kalibriert werden. Danach k¨onnen die vom Laser beleuchteten ’Hintergrundpunkte’ per Schnitt von zugeho¨rigen Sehstrahlen und Hintergrundgeometrie berechnet werden. Da diese Hintergrundpunkte in der Laserebene liegen, spannen sie (sofern sie linear unabh¨angig sind) die Laserebene im Raum auf. Diese Vorgehensweise erfordert eine schnelle, genaue und robuste Online-Registrierung von redundanten Hintergrundpunkten und der Laserebene. Hierfu ¨r wurde ein effizientes RANSAC-Verfahren implementiert. Der RANSAC-Algorithmus wird in Kapitel 4.3 aufgegriffen und genauer erl¨autert, da er auch als Basis fu ¨r das effiziente Matching von Oberfl¨achen verwendet werden kann. Abbildung 2.2 zeigt exemplarisch zwei experimentelle Ergebnisse des Ansatzes. Hier ist die erreichte Detailgenauigkeit gut zu erkennen. Die Oberfl¨achengenauigkeit ist abh¨angig von der Kalibriergenauigkeit des Laser und der Kamera, von der Genauigkeit der Bildverarbeitung sowie vom Triangulationswinkel zwischen Laser und Kamera. Untersuchungen der Messgenauigkeit mit einem bekannten Testobjekt, einem Triangulationswinkel von ca. 30-35◦ und einem Kameraabstand von 600 mm zum Messobjekt ergaben eine Standardabweichung von nur 0,37 mm.

2.1. Tiefendaten

9

(a)

(b)

(c)

(d)

Abbildung 2.2 (a) Kamerabild eines texturierten Testobjektes; (b) rekonstruierte Oberfl¨ache k¨ unstlich beleuchtet; (c) Kamerabild einer Beethovenb¨ uste; (d) rekonstruierte Oberfl¨ache k¨ unstlich beleuchtet.

10

2.1.2

Kapitel 2. Gewinnung und Repr¨asentation von Basisdaten

Der Codierte Lichtansatz

Eine weitere, gut geeignete und mittlerweile in etlichen kommerziellen Systemen eingesetzte, Messtechnik aus der Klasse der aktiven Triangulationsverfahren ist der so genannte Codierte Lichtansatz“ (CLA). Das zugrundeliegende Messprinzip wurde im ” Kern erstmals von Altschuler et al. [2], [3], vorgeschlagen und wurde kurze Zeit sp¨ater von Wahl [88], [89] und unabh¨angig davon von Inokuchi et al. [43], [73] zu seiner heute gebr¨auchlichen und praxistauglichen Form weiterentwickelt. Die Idee ist es, statt eine einzelne Laser- oder Lichtebene u ¨ber die Szene zu schwenken, ein fl¨achendeckendes Streifenmuster zu projizieren. Wie Abbildung 2.3 zeigt, kommen dabei typischerweise ein LCD-Projektor und eine seitlich versetzte Graubildkamera zum Einsatz. Jeder proji¨ zierte Hell-Dunkel-Ubergang eines Streifenmusters kann als Ebene im Raum angesehen werden. Der Schnitt einer solchen Beleuchtungsebene mit dem zugeh¨origen Sehstrahl der Kamera liefert (wie beim Lichtschnittverfahren) die entsprechenden Koordinaten eines Oberfl¨achenpunktes. Damit das Korrespondenzproblem (also die Zuordnung von Beleuchtungsebenen und Sehstrahlen) leicht gel¨ost werden kann, werden die Streifen zeitlich codiert. Durch n bin¨are Musterprojektionen k¨onnen bereits 2n unterschiedliche Beleuchtungsrichtungen codiert werden. Beim Codierten Lichtansatz kommt hierfu ¨r ein, gegenu ¨ber Bit-Fehlern robuster, Gray-Code [28] zum Einsatz (siehe Abbildung 2.4).

zu messendes Objekt Mustersequenz

Bildsequenz

Projektor

Kamera t

Abbildung 2.3 Setup f¨ ur den Codierten Lichtansatz.

2.2. Oberfl¨achennormalen

11

Abbildung 2.4 Kamerabildsequenz mit Gray-codiertem Streifenmuster beim Codierten Lichtansatz.

2.2

Oberfl¨ achennormalen

Im Gegensatz zu den Verfahren zur Gewinnung von Tiefendaten wird bei den Verfahren zur Gewinnung von Oberfl¨achennormalen keine Triangulation durchgefu ¨hrt, sondern aufgrund bestimmter Merkmale eines Bildpunktes, wie zum Beispiel der Textur (’Shape from texture’, siehe z.B. Witkin [102]) oder der Grauschattierung (’Shape from shading/photometrisches Stereo’, siehe z.B. Horn [40], Coleman & Jain [16] und Woodham [103]), die Orientierungen der Oberfl¨achennormalen ermittelt. Diese Verfahren mu ¨ssen also kein Korrespondenzproblem l¨osen. Die gewonnenen Oberfl¨achennormalen k¨onnen bereits als Grundlage fu ¨r viele Anwendungen dienen. Hierunter fallen beispielsweise: • die Gewinnung robuster 3d Merkmale von Freiformfla¨chen (Fla¨chenorientierungen, Kru ¨mmungen, Kanten, lokale Maxima, etc.). • die Segmentierung von Oberfl¨achen in geometrische Grundformen (Ebene, Kugel, Zylinder, Kegel, etc.), • die Erkennung und Lagesch¨atzung von Objekten im Raum, • die Berechnung eines beleuchtungsunabh¨angigen Modells, sowie die ku ¨nstliche Beleuchtung aus einer beliebigen Richtung, • und die Berechnung von Tiefendaten mittels 2d Integration.

12

Kapitel 2. Gewinnung und Repr¨asentation von Basisdaten

zu messendes Objekt Streifenmuster

Projektor

s

Bildebene

Kamera

Abbildung 2.5 Versuchsanordnung mit einem Streifenlichtprojektor und einer Graubildkamera.

Bei den durch 2d Integration berechneten Tiefendaten handelt es sich allerdings nicht um absolute, sondern lediglich um relative Tiefendaten, da bei der Integration ein konstanter Anteil unbekannt bleibt (genaueres zur 2d Integration folgt in Abschnitt 2.2.3). Im Folgenden wird eine effiziente, auf aktiver Streifenlichtprojektion basierende Methode vorgestellt. Das Verfahren beruht im Gegensatz zum Strukturierten oder Codierten Lichtansatz nicht auf Tiefendatengewinnung durch Triangulation, sondern auf der Messung von Oberfl¨achennormalen. Außerdem liefert es genauere und robustere Daten als der photometrische Stereo-Ansatz. Ben¨otigt wird hierzu eine Graubildkamera und ein oder mehrere Lichtprojektoren, welche Streifenmuster auf das zu rekonstruierende Objekt projizieren. Abbildung 2.5 zeigt eine m¨ogliche Versuchsanordnung. Gut zu erkennen ist, dass das projizierte regelm¨aßige Streifenmuster auf der Objektoberfl¨ache deformiert und dann durch die seitlich versetzte Kamera erfasst wird. Die Deformation des Streifenmusters wird im Folgenden analysiert und hieraus die lokalen Oberfl¨achenorientierungen berechnet.

2.2.1

Oberfl¨ achenrekonstruktion durch Projektion zweier Streifenmuster

Der erste hier vorgestellte Ansatz wurde von uns erstmals in Winkelbach [96] und Winkelbach & Wahl [99] vorgestellt und beruht darauf, dass je nach Orientierung der Oberfla¨che des Objektes ein anderer Winkel des projizierten Streifens im Graubild entsteht.

2.2. Oberfl¨achennormalen

13

Abbildung 2.6 Schritte zur Rekonstruktion der Oberfl¨ache aus zwei Aufnahmen mit unterschiedlich rotierten Streifenprojektionen.

14

Kapitel 2. Gewinnung und Repr¨asentation von Basisdaten

Jeder Streifenwinkel schr¨ankt einen Freiheitsgrad der zugeh¨origen Oberfl¨achennormale ein. Die Oberfla¨chenrekonstruktion la¨sst sich wie in Abbildung 2.6 dargestellt in mehrere Arbeitsschritte unterteilen. Als erstes werden Graubilder mit zwei unterschiedlich rotierten Streifenmustern von der Szene aufgenommen. Unerwu ¨nschte Informationen wie inhomogene Objektschattierungen und Texturen werden durch eine geeignete Vorverarbeitung eliminiert. In den Streifenbildern ko¨nnen per Gradientenoperator die lokalen Winkel der Streifenkanten ermittelt werden. Nach der Streifenwinkelmessung erh¨alt man zwei Winkelbilder, bei denen noch schlechte Messergebnisse extrahiert und fehlende Punkte interpoliert werden mu ¨ssen. Mit Hilfe jeweils zweier Streifenwinkel in einem Bildpunkt kann nun im nachfolgenden Schritt die 3d-Oberfl¨achenorientierung bzw. Oberfl¨achennormale an jedem Punkt berechnet werden. Die Oberfl¨achennormalen k¨onnen im letzten Schritt zur Rekonstruktion der Oberfl¨ache benutzt werden. Vorverarbeitung Hat die zu vermessende Oberfla¨che eine ausreichend homogene Reflektionscharakteristik, k¨onnen die Streifen ohne Umwege im Kamerabild analysiert werden. Oberfl¨achentexturen und andere Reflektionsvariationen k¨onnen allerdings die Analyse des Streifensignals beeintr¨achtigen. In diesem Fall sollte im ersten Schritt eine Vorverarbeitung erfolgen, die das Streifenmuster von den Oberfla¨chenreflexionseigenschaften des Objektes trennt. Abbildung 2.7 zeigt eine m¨ogliche Vorgehensweise: Zus¨atzlich zu der Aufnahme mit Streifenmuster (a) wird eine Aufnahme mit ausgeschaltetem Projektor (b) und eine weitere mit eingeschaltetem Projektor ohne Streifenmaske (c) angefertigt. Durch die absolute Differenz d = |a − b| werden die dunklen Streifen auf den Grauwert Null gesenkt und die Einflu ¨sse dritter Beleuchtungsquellen beseitigt. In diesem Differenzbild (d) bleiben allerdings die durch das Projektorlicht verursachten Schattierungen und variierende Reflexionsst¨arken bei den hellen Streifen bestehen. Aus diesem Grund wird das Streifensignal auf eine konstante H¨ohe normiert, indem durch die absolute Differenz (e) zwischen beleuchtetem und unbeleuchtetem Bild geteilt wird f = d/e. Durch die Normierung wird natu ¨rlich auch das Bildrauschen auf den gleichen Kontrast wie das Streifenmuster gehoben. Verrauschte Werte ergeben sich an denjenigen Stellen, an denen das Objekt nur schwach vom Projektor beleuchtet wurde und k¨onnen deshalb mit der Maske f = e > Schwelle ausmaskiert werden.

2.2. Oberfl¨achennormalen

15

Abbildung 2.7 Zur Vorverarbeitung: (a) Messobjekt mit Streifenmuster; (b) Messobjekt bei ausgeschaltetem Projektor; (c) Messobjekt bei eingeschalteten Projektor ohne Streifen; (d) absolute Differenz von a und b; (e) absolute Differenz von b und c; (f) Normalisiertes Streifenbild; (g) Maske.

Bestimmung des lokalen Streifenwinkels Nachdem das Streifenbild aufbereitet wurde, kann die lokale Messung der Streifenwinkel mittels bekannter Gradientenoperatoren, wie Sobel, Canny, etc. erfolgen. Abbildung 2.8 zeigt die Anwendung des Sobel-Operators auf das vorverarbeitete Streifenbild (a) einer Kugeloberfl¨ache. Im resultierenden Winkelbild (b) (die Winkel wurden hier als unterschiedliche Grauwerte dargestellt) entstehen zwischen den Streifenkanten verrauschte Bereiche, die darauf zuru ¨ckzufu ¨hren sind, dass an diesen Stellen das Fenster des SobelOperators homogene Bereiche u ¨berdeckt. Diese verrauschten Gradientenwinkel weisen allerdings einen geringen Gradientenbetrag auf und k¨onnen deshalb ausmaskiert (c) und dann u ¨ber die gu ¨ltigen Winkel in der Nachbarschaft interpoliert werden (d).

16

Kapitel 2. Gewinnung und Repr¨asentation von Basisdaten

(a)

(c)

(b)

(d)

Abbildung 2.8 Zur Berechnung der Streifenwinkel: (a) Streifenbild; (b) Gradientenwinkel (Winkelbild) des Sobel-Operators; (c) u ¨ber die Gradientenl¨ange ausmaskiertes Winkelbild; (d) linear interpoliertes Winkelbild.

Oberfl¨ achennormalen aus Streifenwinkeln Um aus den Streifenwinkeln die Oberfl¨achennormalen zu berechnen, gibt es zwei M¨oglichkeiten: Zum einen die mathematisch korrekte Berechnung bei einem voll kalibrierten System (Kamera und Projektoren) und zum anderen die Verwendung einer experimentell erstellten LookUp-Tabelle, welche jeweils zwei Streifenwinkel auf eine Oberfl¨achennormale abbildet. Das Erstellen der LookUp-Tabelle funktioniert analog zum Ansatz beim photometrischen Stereo [16]: Durch die bisher beschriebenen Schritte werden die Streifenwinkel der beiden gedrehten Streifenprojektionen auf einer Kugeloberfl¨ache (Kalibrierobjekt) gemessen. Da die Position der Kugel im Bild berechenbar ist und deren Oberfl¨achennormalen bekannt sind, sind alle Informationen vorhanden, um die LookUpTabelle zu fu ¨llen und anschließend fehlende Werte zu interpolieren. Die LookUp-Tabelle

2.2. Oberfl¨achennormalen

17

Objekt v~1

Lichtebene

Sehebene Bildebene ~v ′

~s

~c Beleuchtungsrichtung der Streifen

p~

ω Kamera

Abbildung 2.9 Zur Berechnung der Oberfl¨achennormalen: Schematische Darstellung der Projektion einer Streifenkante auf ein Objekt und deren Abbild in der Bildebene.

dient dann dazu, bei einer Messung mit unbekanntem Objekt die gemessenen Streifenwinkel auf die Oberfl¨achennormalen abzubilden. Da bei diesem Ansatz die Streifenwinkel unabh¨angig von Bildkoordinaten und Projektorkoordinaten auf die Oberfl¨achennormalen abgebildet werden, k¨onnen die Auswirkungen der perspektivischen Projektion nicht beru ¨cksichtigt werden. Das heißt, es wird implizit von einem parallel projizierenden Projektor und einer parallel abbildenden Kamera ausgegangen. Genauere Daten liefert eine modellbasierte mathematische Berechnung. Abbildung 2.9 visualisiert den geometrischen Zusammenhang zwischen Oberfl¨achenorientierung im 3d und der Streifenrichtung im Kamerabild. Zu jedem Bildpunkt kann u ¨ber das kalibrierte Kameramodell ein Sehstrahlrichtungsvektor ~s berechnet werden. Der lokale Streifenwinkel ω an diesen Bildkoordinaten definiert den Streifenrichtungsvektor ~v ′ in der Bildebene und spannt zusammen mit ~s eine Sehebene“ auf. Die Normale ~c = ~s × ~v ′ steht ” senkrecht auf dieser Sehebene. Die reale Streifenrichtung ~v1 des projizierten Streifenmusters auf der Oberfl¨ache des Objektes liegt sowohl in der Sehebene als auch in der Beleuchtungsebene und steht somit senkrecht auf der Normalen der Sehebene ~c und der durch die Kalibrierung bekannten Normale der Beleuchtungsebene p~. Dies erm¨oglicht die einfache Berechnung der 3d Streifenrichtung per Kreuzprodukt ~v1 = ~c × p~. Dieser 3d Streifenrichtungsvektor ~v1 entspricht einer Tangentenrichtung auf der Oberfl¨ache und schr¨ankt somit einen Freiheitsgrad der zugeh¨origen Oberfl¨achennormale ~n ein. Durch eine zweite Messung unter anderer Streifenorientierung erhalten wir eine zweite Tangentenrichtung ~v2 pro Messpunkt und ko¨nnen dann die Oberfla¨chennormale wiederum mittels Kreuzprodukt ~n = ~v1 × ~v2 berechnen. Im folgenden Abschnitt werden wir sehen, dass die zweite Tangentenrichtung auch u ¨ber die Breite der Streifen berechnet werden kann, so dass man bereits mit einer einzelnen Streifenbildaufnahme auskommt. Mit der mathematischen Berechnung ko¨nnen alle Kameradaten inklusive der Brennweite und

18

Kapitel 2. Gewinnung und Repr¨asentation von Basisdaten Be leu

ch t

un g

se be ne n

Zylinderlinse

~r ~r ~r ~r Laserarray

p~

Abbildung 2.10 Parallele Beleuchtungsebenen mittels Laserarray.

Linsenverzeichnungen beru ¨cksichtigt werden. Allerdings geht auch diese Berechnung von einem parallel projizierenden Projektor aus. Der Grund dafu ¨r ist die fehlende Information u ¨ber die Nummer des Streifens im Kamerabild. Die Streifen im Kamerabild k¨onnen also nicht bestimmten Streifen im Projektionsmuster zugeordnet werden, weshalb fu ¨r alle Streifen die gleiche Projektionsrichtung angenommen werden muss. Diese Annahme trifft allerdings nur bei einem parallel projizierenden Projektor (wie in Abbildung 2.10 vorgeschlagen) zu. Im Anhang A auf Seite 139 werden die durch herk¨ommliche perspektivische Projektoren entstehenden Ungenauigkeiten ausfu ¨hrlicher untersucht. 2.2.2

Oberfl¨ achenrekonstruktion durch Projektion eines Streifenmusters

In den letzten Abschnitten wurde besprochen, wie man die Oberfl¨achennormalen mittels Projektion zweier Streifenmuster gewinnen kann. Im Folgenden werden wir zeigen, dass dieses auch mittels einer einzelnen Projektion eines statischen Streifenmusters m¨oglich ist. Ein großer Vorteil dieser Technik ist es, dass zum einen nur ein kleiner kostengu ¨nstiger Festmusterprojektor ben¨otigt wird und zum anderen die Akquisition von dynamischen Objekten m¨oglich wird. Der Ansatz basiert auf der Tatsache, dass nicht nur der Streifenwinkel sondern auch die Streifenbreite von der Orientierung der Oberfl¨ache abh¨angig ist. Die Berechnung der Oberfl¨achennormalen basiert in diesem Fall auf einer zus¨atzlichen Analyse der lokalen Streifenbreiten des deformierten 2d Streifenbildes. Diese Idee wurde bereits von Asada et al. [4] vorgeschlagen, jedoch wurde dort nur ¨außerst knapp auf die erforderlichen Bildverarbeitungs- und Berechnungsschritte eingegangen, w¨ahrend der Schwerpunkt auf der Segmentierung von planaren Objektfl¨achen lag. Abbildung 2.11 zeigt die n¨otigen Arbeitsschritte, welche zum Großteil mit denen aus Abbildung 2.6 u ¨bereinstimmen, nur dass dieses Mal von einem einzelnen Streifenbild ausgegangen wird und zus¨atzlich zu den Streifenwinkeln die Streifenbreiten gemessen werden.

2.2. Oberfl¨achennormalen

19

Abbildung 2.11 Schritte zur Rekonstruktion der Oberfl¨ache aus einem einzelnen Streifenbild.

20

Kapitel 2. Gewinnung und Repr¨asentation von Basisdaten

Bestimmung der lokalen Streifenbreite Die Bestimmung der Streifenbreite sollte auf jeden Fall auf Subpixelebene geschehen, um eine ausreichende Genauigkeit zu erzielen. Im Fall eines vertikalen Streifenverlaufs k¨onnen die Zeilen des Kamerabildes unabh¨angig voneinander betrachtet werden, so dass nur eindimensionale Signalverarbeitungsoperationen notwendig sind. Die pixelgenaue Lage der Streifenkanten kann u ¨ber die lokalen Maxima der Gradienten (die bereits zur Bestimmung der Streifenwinkel berechnet wurden) erfolgen. Zur subpixelgenauen Bestimmung der Streifenkanten hat sich in eigenen Untersuchungen der Ansatz zur Berechnung der fotometrischen Mitte“ von Roth [70] als etwas besser als das herko¨mmliche Linear ” ” Mixing Model“ von Merickel et al. [61] herausgestellt. Hierbei wird der Grauwertverlauf rund um jede Kante (siehe Abbildung 2.12 links) analysiert. Die rechte Seite von Abbildung 2.12 zeigt das Modell einer solchen Kantenregion. Die fotometrische Mitte ai einer Kante i kann mit Hilfe der Kantenho¨he hi , der Kantenbreite ci , sowie der Fla¨che Ai unter der abgetasteten Kante u ¨ber das Verh¨altnis von Breite und Fl¨ache berechnet werden: ai Ai Ai = ⇐⇒ ai = (2.1) ci ci · hi hi Nach Berechnung der exakten Kantenlagen kann die Breite aller Streifen u ¨ber den Abstand der angrenzenden Kanten bestimmt werden. Abbildung 2.13 zeigt exemplarisch das Ergebnis dieser Berechnung. Es muss jedoch beachtet werden, dass bei ungu ¨nstiger Kameraeinstellung die hellen Streifen breiter als die dunklen Streifen erscheinen k¨onnen. Dieser Effekt ist bei einer u ¨bersteuerten Kamera als so genanntes ’blooming’ zu beobachten. In diesen F¨allen erh¨alt man ein einwandfreies Ergebnis durch die Mittelung jeweils zweier benachbarter Streifenbreiten. Dies hat allerdings eine leichte aber vertretbare Gl¨attung zur Folge.

hi

Ai ci

ci+1

ci+2

c i - ai

ai ci

Abbildung 2.12 (Links) Unterteilung eines Zeilenschnittes in kleine Bereiche mit jeweils einer Kante; (Rechts) Modell einer Streifenkante zur subpixelgenauen Berechnung der Kantenlage.

2.2. Oberfl¨achennormalen

21

Abbildung 2.13 (Oben) Normalisiertes Streifenbild und ein Zeilenschnitt; (Mitte) Berechnete Streifenbreite und Zeilenschnitt; (Unten) Linear interpolierte Streifenbreite als Graubild und zugeh¨origer Zeilenschnitt.

Oberfl¨ achennormalen aus Streifenbreite und Streifenwinkel In Abschnitt 2.2.1 haben wir bereits gesehen, wie man mit Hilfe zweier Streifenprojektionen und dessen lokalen Streifenwinkeln die Oberfl¨achennormalen berechnen kann. Wir erinnern uns, dass man pro Streifenwinkel eine Oberfl¨achentangentenrichtung ~vi erh¨alt und dann die Oberfl¨achennormale ~n u ¨ber das Kreuzprodukt ~n = ~v1 ×~v2 berechnen kann. Die zweite Tangentenrichtung ~v2 kann allerdings auch u ¨ber die Streifenbreite berechnet werden, wodurch die zweite Streifenprojektion eingespart werden kann. Wie bisher mu ¨ssen wir von einer parallelen Streifenprojektion ausgehen und in diesem Fall zus¨atzlich eine parallele Kameraabbildung voraussetzen. In der Praxis eignen sich deshalb Systeme mit langer Brennweite. Zur Berechnung von ~v2 auf Basis der Streifenbreite reicht es aus, das einfache 2d Modell in Abbildung 2.14 zu betrachten. Die Abbildung zeigt den Zusammenhang zwischen Streifenbreite im Bild und Oberfl¨achenorientierung. Die Streifenbreite d der Streifenmusterbeleuchtung und der konstante Winkel γ zwischen

22

Kapitel 2. Gewinnung und Repr¨asentation von Basisdaten

Oberfl¨ache b b

d

h

Kamera

γ

g

d Projektor Abbildung 2.14 Modell zur Berechnung der Oberfl¨achenneigung aus der Streifenbreite.

Beleuchtungsrichtung und Kamerablickrichtung muss in einer vorausgehenden Kalibrierung bestimmt werden. Unter Verwendung der gemessenen Streifenbreite b im Kamerabild k¨onnen wir den Oberfl¨achengradienten p mit Hilfe einfacher trigonometrischer Zusammenh¨ange berechnen: b . tan γ

(2.2)

d b d − b · cos γ − = , sin γ tan γ sin γ

(2.3)

h d/b − cos γ = b sin γ

(2.4)

h+g = Hieraus folgt h=

d sin γ

und g =

was den Oberfl¨achengradienten p=



ergibt. Die zweite Oberfl¨achentangentenrichtung ist dann durch ~v2 = 1 0 -p ben. 2.2.3

T

gege-

Tiefenbilder aus Gradientenkarten

Die Oberfl¨achennormalen k¨onnen bereits als Grundlage fu ¨r viele Anwendungen dienen, wie zum Beispiel zur Berechnung von Oberfl¨achenmerkmalen, zur Oberfl¨achensegmentierung und zur Objekterkennung und Lagesch¨atzung. Sind jedoch Tiefendaten erwu ¨nscht, mu ssen diese aus den Oberfl a chennormalen rekonstruiert werden. Dieser Schritt ist ¨ ¨

2.2. Oberfl¨achennormalen

23

nicht nur bei den gerade genannten, auf Streifenmustern basierenden, Akquisitionstechniken notwendig, sondern kommt bei allen Shape from X“-Verfahren (insbesondere ” dem ’Shape from Shading’ und ’Photometrischen Stereo’) zum Einsatz, die ein dichtes Gradientenfeld liefern. Bei den Oberfl¨achennormalen bzw. Oberfl¨achengradienten (P (x, y), Q(x, y)) handelt es sich mathematisch gesehen um die partiellen Ableitungen des Tiefenbildes Z(x, y), also ∂Z(x, y) ∂Z(x, y) ; Q(x, y) = . (2.5) ∂x ∂y Das heißt das Tiefenbild kann umgekehrt durch eine 2d Integration aus den Gradienten rekonstruiert werden. P (x, y) =

Klette & Schlu ¨ns [50] unterteilen die bekannten Ans¨atze in zwei Klassen: Verfahren zur lokalen Integration entlang Pfaden und globale Integrationstechniken. Die lokalen Verfahren breiten sich inkrementell von vorgegebenen Startpunkten aus und berechnen meist eindimensionale Kurven- oder Linienintegrale. Sie sind zwar effizient, sind aber insbesondere bei verrauschten Daten relativ ungenau, da sich die Fehler fortpflanzen. Globale Verfahren hingegen fassen die Integration als globales Optimierungsproblem auf und minimieren beispielsweise den mittleren quadratischen Fehler F zwischen gemessenen Oberfl¨achengradienten (P (x, y), Q(x, y)) und den partiellen Ableitungen des e gesch¨atzten Tiefenbildes Z(x, y): F =

XX y

x

!2

e ∂ Z(x, y) − P (x, y) ∂x

+

!2

e ∂ Z(x, y) − Q(x, y) ∂y

−→ min.

(2.6)

Klette & Schlu ¨ns zeigen, dass die globale Methode von Frankot & Chellappa [24] im Fall von realen verrauschten Daten robuster und genauer arbeitet als lokale Techniken. Die 2d Integration nach Frankot & Chellappa arbeitet im Fourierraum. Die Fourierreihendarstellung eines Bildsignals entspricht einer Summe von Sinus-/Cosinusschwingungen. Demnach kann sowohl die Ableitung als auch die Integration u ¨ber eine Phasenverschiebung der Sinus-/Cosinusschwingungen erreicht werden. Die Berechnungsschritte sind in Algorithmus 1 wiedergegeben (vgl. [24] und [50]). Algorithmus 1 2d Integration nach Frankot & Chellappa 1: function Integrate(P, Q) 2: R ← 0; S ← 0; ⊲ Initialize images for imaginary numbers 3: FFT(P, R); FFT(Q, S) ⊲ Fast Fourier transform of P and Q 4: for all u = 6 0, v 6= 0 do 5: Z1(u, v) ← (u · R(u, v) + v · S(u, v))/(u2 + v 2 ); ⊲ Phase shift 6: Z2(u, v) ← (−u · P (u, v) − v · Q(u, v))/(u2 + v 2 );

7: 8: 9:

Z1(0, 0) ← c; Z2(0, 0) ← 0 FFT−1 (Z1, Z2); return Z1;

⊲ c is the unknown offset ⊲ Inverse fast Fourier transform

Die Integration bringt jedoch in vielen F¨allen Probleme mit sich. Zum einen geht bei der Ableitung ein konstanter Offset verloren und kann nicht mehr per Integration rekon-

24

Kapitel 2. Gewinnung und Repr¨asentation von Basisdaten

(a)

(b)

(c)

(d)

Abbildung 2.15 (a) Tiefenbild eines K-f¨ormigen Polyeders; (b) 3d Plot des Tiefenbildes; (c) Ergebnis der 2d Integration nach Frankot-Chellappa; (d) Ergebnis der iterativen Verbesserung.

struiert werden (die absolute Distanz des Objektes bleibt also unklar) und zum anderen sind C0-unstetige Oberfl¨achen im Allgemeinen nicht integrierbar. Genauer gesagt k¨onnen pl¨otzliche Spru ¨nge in der Tiefe (wie z.B. bei mehreren nicht zusammenh¨angenden Objekten) nicht korrekt rekonstruiert werden, da die Spru ¨nge nicht in den Oberfl¨achennormalen wiederzufinden sind. Aber selbst bei stetigen Oberfl¨achen gibt es immer dann große Probleme, wenn die gemessenen Oberfl¨achennormalen nicht den gesamten Bildbereich ausfu ¨llt. In diesem Fall gibt es immer C0-Unstetigkeiten an den Grenzu ¨berg¨angen zwischen gemessenen und unbekannten Oberfl¨achennormalen (z.B. zwischen Objekt und Hintergrund). Bei dem vorgestellten globalen Fourier-Ansatz ist es leider nicht m¨oglich, sich nur auf die gemessenen Bereiche zu beschra¨nken. Die Auswirkungen werden in Abbildung 2.15 deutlich. Bild (a) zeigt das ku ¨nstlich erzeugte Tiefenbild eine K-f¨ormigen Polyeders. Die partiellen Ableitungen in x- und y-Richtungen dienen nun als Testbasis fu ¨r die 2d-Integration. Bild (b) zeigt einen 3d-Plott des Tiefenbildes und ist gewissermaßen der zu erreichende Goldstandard. Abbildung (c) zeigt nun das auffallend stark defor-

2.2. Oberfl¨achennormalen

25

mierte Ergebnis der Frankot-Chellappa-Integration. Die Deformationen sind vor allem auf die betra¨chtlichen Distanzspru ¨nge zwischen Objekt und Hintergrund zuru ¨ckzufu ¨hren, aber auch innerhalb des Objektbereiches gibt es C0- und C1-Unstetigkeiten die zu Ungenauigkeiten fu ¨hren. Die drei Bilder (a-c) entsprechen weitestgehend der Testreihe, die auch in [50] zu finden ist. Bei dem genannten Verfahren mu ¨ssen die nicht gemessenen Bereiche mit Werten fu r die Oberfl a chengradienten initialisiert werden. Ha¨ufig setzt man ¨ ¨ die P - und Q- Werte fu ¨r den Hintergrund einfach auf konstant Null, was einer zur Bildebene parallelen Ebene entspricht. Hieraus ergeben sich die genannten Tiefenspru ¨nge zwischen Objekt und Hintergrund. Die globale Integration gl¨attet diese Unstetigkeiten im Sinne des kleinsten Fehlerquadrats, was einer weichen Verschmelzung zwischen Objekt und Ebene gleichkommt. Abbildung 2.15 (d) zeigt hingegen das vergleichsweise deutlich bessere Ergebnis nach einer eigenen Erweiterung. Bei dieser Erweiterung handelt es sich um eine iterative Verbesserung des Tiefenbildes in den Regionen, in denen tats¨achlich Oberfl¨achennormalen gemessen wurden. Das Verfahren ist auch bei Szenen mit mehreren sich u ¨berdeckenden Objekten mit dazwischen befindlichen C0Unstetigkeiten erfolgreich, wenn die einzelnen Objekte segmentiert werden k¨onnen. Der zu minimierende mittlere quadratische Fehler aus Gleichung (2.6) sollte also wie folgt

FM =

XX y

x



M (x, y) 

e ∂ Z(x, y)

∂x

!2

− P (x, y)

+

e ∂ Z(x, y)

∂y

!2 

− Q(x, y)



(2.7)

auf die Bildbereiche jeweils eines (stetigen) Objektes beschr¨ankt werden, wobei M (x, y) eine Maske mit den Werten 1 fu ¨r Objektpunkte und 0 sonst beschreibt. Da diese Maskierung nicht ohne weiteres im Fourierraum durchzufu ¨hren ist, arbeitet Algorithmus 2 u ¨ber einen iterativen Optimierungsansatz. Die Vorgehensweise des Algorithmus ist auch in Abbildung 2.16 veranschaulicht. In einer Schleife werden zuerst die gemessenen Oberfl¨achengradienten Psensor und Qsensor mit dem Fourier-Ansatz (Algorithmus 1) integriert und dann wieder partiell abgeleitet und als P1 , Q1 abgelegt. Entlang der Tiefenspru ¨nge kommt es zu beiderseitig ausgebreiteten Abweichungen zwischen (Psensor , Qsensor ) und (P1 , Q1 ), wodurch die unbekannten Tiefenspru ¨nge global ausgeglichen werden. Da die Abweichungen in den gemessenen Objektbereichen unzul¨assig, aber sonst (z.B. im Hintergrundbereich) erlaubt sind, werden im na¨chsten Schritt die ungenauen Gradienten (P1 , Q1 ) im Objektbereich wieder durch die gemessenen Gradienten (Psensor , Qsensor ) ersetzt. Diese Schritte werden nun iterativ wiederholt. Hierdurch ergibt sich eine stetige Verschiebung der Ungenauigkeiten vom Objektbereich in den Hintergrundbereich, bis die gemessene Oberfla¨che im Sinne von Gleichung (2.7) optimal ist.

26

Kapitel 2. Gewinnung und Repr¨asentation von Basisdaten

Algorithmus 2 Iterative Verbesserung 1: function ImproveIntegrate(P, Q, M, steps) 2: P0 ← P ; Q0 ← Q; 3: for i = 1 . . . steps do 4: Zi ← Integrate(Pi−1 , Qi−1 ); 5: Pi (x, y) ← DerivateX(Zi ); 6: Qi (x, y) ← DerivateY(Zi ); 7: for all x,y do 8: Pi (x, y) ← P (x, y) · M (x, y) + Pi (x, y) · (1 − M (x, y)); 9: Qi (x, y) ← Q(x, y) · M (x, y) + Qi (x, y) · (1 − M (x, y));

10:

⊲ Initialization ⊲ Integration ⊲ Derivation in x-direction ⊲ Derivation in y-direction

return Integrate(Pi , Qi );

Abbildung 2.17 zeigt die Zwischenergebnisse der iterativen Verbesserung im Fall einer realen Messung. Bei dem Datensatz handelt es sich um eine schr¨ag zum Sensor liegende Flasche. Das erste Bild links oben zeigt das Ergebnis der standard FrankotChellappa-Integration und die darauf folgenden Bilder die stetige Verbesserung nach jedem Iterationsschritt. In den folgenden Experimenten wurde dieser Algorithmus ¨außerst erfolgreich eingesetzt, um die Unstetigkeiten zwischen Objekt und Hintergrund korrekt zu rekonstruieren. Eine genaue mathematische Verifizierung des Ansatzes bleibt jedoch zuku ¨nftigen Arbeiten vorbehalten. Um auch die Unstetigkeiten innerhalb des Objektes robust zu rekonstruieren, bedarf es weiterer Randbedingungen, wie z.B. im Bild vorgegebene Unstetigkeitskurven (siehe Kara¸cali & Snyder [49]).

2.2. Oberfl¨achennormalen

Abbildung 2.16 Iterativer Algorithmus zur 2d Integration.

27

28

Kapitel 2. Gewinnung und Repr¨asentation von Basisdaten

Abbildung 2.17 Die ersten acht Iterationsschritte der Integration am Beispiel einer schr¨ag zum Sensor liegenden Flasche.

2.2. Oberfl¨achennormalen

2.2.4

29

Experimentelle Ergebnisse

Zur experimentellen Evaluierung des ’shape from stripe pattern’-Ansatzes diente eine handelsu ¨bliche CCD-Kamera und ein konventioneller Video-Beamer. Fu ¨r die Projektion eines einzelnen Streifenmusters kann auch ein einfacher Diaprojektor oder ein preisgu ¨nstiger statischer Musterprojektor verwendet werden. Die beschriebenen Methoden sind vollkommen unbeeinflusst gegenu ¨ber Musterverschiebungen und nur leicht beeinflusst durch eine defokussierte Musterbeleuchtung oder eine unscharfe Kameraabbildung. Diese Ans¨atze wurden mit einer Reihe von unterschiedlichen Testobjekten erprobt. Abbildung 2.18 zeigt einige der Rekonstruktionsergebnisse der ’one-shot’-Technik. Was die Genauigkeit betrifft sollte man beru ¨cksichtigen, dass die hier vorgestellten Experimente nur zwei Parameter (die Beleuchtungsrichtung γ und die Streifenmusterbreite d) aus einer vereinfachten Projektorkalibrierung verwenden. Aus diesem Grund entstehen Ungenauigkeiten natu ¨rlich auch durch die vernachla¨ssigten intrinsischen Kameraund Projektorparametern. Abbildung 2.18 (a) zeigt eine Kugeloberfl¨ache, die mit einem Streifenmuster beleuchtet wurde. Dieses einzelne Bild reicht bereits fu ¨r die Rekonstruktion der Oberfl¨achennormalen aus. Abbildung (b) zeigt einige (0,1%) der rekonstruierten Oberfl¨achennormalen (diese werden in jedem Bildpunkt mit Streifenkante berechnet und zwischen den Streifenkanten interpoliert). Durch Vergleich der berechneten (nicht interpolierten) Oberfl¨achennormalen mit den mathematisch exakten Normalen der Kugeloberfl¨ache, l¨asst sich eine mittlere Ungenauigkeit von 1,79 Grad mit einer Standardabweichung von 1,22 Grad feststellen. Abbildung (c) zeigt einen 3d Plot des aus den Oberfl¨achennormalen rekonstruierten Tiefenbildes. Die folgenden drei Abbildungen (d)(f) zeigen die gleiche Sequenz mit einem wu ¨rfelf¨ormigen Testobjekt. Bei der oberen Wu ¨rfelfl¨ache ergibt der Vergleich zwischen berechneten und exakten Normalen eine Genauigkeit von 1,14 Grad und eine Standardabweichung von 0,58 Grad. Die ungenauesten Normalen mit einem mittleren Winkelfehler von 1,95 Grad und 2,12 Grad Standardabweichung sind bei der unteren linken Wu ¨rfelfl¨ache zu beobachten. Diese Fl¨ache ist stark vom Projektor weggeneigt, wodurch der Abstand der Streifenkanten sehr schmal und die Berechnung der Streifenwinkel und Streifenbreiten ungenauer ist. Die letzten drei Bilder (g)-(i) zeigen die gleiche Sequenz mit einem Kunststoffkopf. Wie man sehen kann, ist mit diesem Ansatz eine ad¨aquate Oberfl¨achenrekonstruktion mit angemessener Genauigkeit (ausreichend fu ¨r viele Anwendungen) und mit kostengu ¨nstigem Equipment mo¨glich. Die Rekonstruktion der Oberfl¨achennormalen kann mit LookUp-Tabellen in der Framerate der Kamera erfolgen. Die 2d-Integration zur Berechnung des Tiefenbildes dauert etwas l¨anger (je nach Iterationstiefe zwischen 0,3 und 3 Sekunden auf einem 1 Ghz Pentium 4 Prozessor).

30

Kapitel 2. Gewinnung und Repr¨asentation von Basisdaten

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

(i)

Abbildung 2.18 Ergebnisse: (a) Kugel mit projiziertem Streifenmuster; (b) resultierende Oberfl¨achennormalen; (c) 3d Plot der rekonstruierten Oberfl¨ache; (d-f) entsprechende Bildfolge von einem W¨ urfel; (h-i) entsprechende Bildfolge von einem Kunststoffkopf.

2.3. Volumendaten

2.3

31

Volumendaten

Neben den genannten Sensoren zur Vermessung von 2 12 d-Oberfl¨achenkoordinaten und Oberfl¨achennormalen werden insbesondere im medizinischen Umfeld Technologien zur Vermessung von volumetrischen 3d-Raumdaten eingesetzt. Hierunter fallen die Computertomographie (CT), die Magnetresonanztomographie (MRT), die Positronenemissionstomographie (PET) sowie moderne sonographische Technologien. Durch die schnittbildgebenden Sensoren wie CT und MRT ist es m¨oglich, dreidimensionale K¨orper raumfu ¨llend in ihrer ¨außeren Form und ihrer inneren Zusammensetzung zu erfassen. Somit k¨onnen Organe und Knochen segmentiert und analysiert werden. Eines der wichtigsten Anwendungsgebiete fu ¨r Verfahren zum L¨osen des 3d-Puzzle-Problems ist sicherlich das Zusammensetzen von gebrochenen Knochen in der Chirurgie. Fu ¨r die Akquisition der Knochenoberfl¨achen im K¨orperinneren ist die Computertomographie besonders gut geeignet, da das dichte Knochengewebe einen hohen Kontrast zu den umliegenden Weichteilen bildet. S¨amtliche Knochenfragmente aus dieser Arbeit wurden per CT aufgenommen und weiterverarbeitet. Aus diesem Grund soll in den n¨achsten Abschnitten eine kurze Einfu ¨hrung in die eingesetzten Verfahren vermittelt werden. 2.3.1

Computertomographie

Der Begriff Tomographie“ entstand aus den griechischen W¨ortern tomeo“ (Schnitt) ” ” und graphia“ (schreiben). Die Computertomographie basiert auf R¨ontgenaufnahmen, ” die aus unterschiedlichen Richtungen aufgenommen werden. Aus diesen zweidimensionalen Projektionen wird durch Bildverarbeitungsmethoden ein dreidimensionales Volumen rekonstruiert. Die Rekonstruktion basiert auf der Idee des b¨ohmischen Mathematikers J. H. Radon, der 1917 bewies, dass die Werte einer zweidimensionaler Funktion aus ihren eindimensionalen integralen Projektionen rekonstruiert werden k¨onnen [69]. Die Radontransformierte r(ϕ, a) einer zweidimensionalen Funktion f (x, y) ist als r(ϕ, a) =

+∞ Z

−∞

f (a cos ϕ − b sin ϕ, a sin ϕ + b cos ϕ) db

(2.8)

definierbar. Dabei kann ϕ anschaulich als Richtung der Integrationsgerade (bzw. des Projektionsstrahls) und a als Abstand der Gerade zum Ursprung interpretiert werden. Bei einem konstanten ϕ von 0◦ ergibt sich beispielsweise eine einfache Integration in y-Richtung r(0, a) =

+∞ Z

f (a, b) db .

(2.9)

−∞

Die eindimensionalen Projektionen aus allen Orientierungen ergeben dann zusammen die 2d-Radontransformierte. Die Projektion mittels Integral entspricht, abgesehen von der exponentiellen Abschwa¨chung, genau der Ro¨ntgenprojektion, wie sie auch im CT

32

Kapitel 2. Gewinnung und Repr¨asentation von Basisdaten

Abbildung 2.19 Das Prinzip der Computerthomographie und der Rekonstruktion des Schnittbildes aus den eindimensionalen Projektionen mittels Fouriertransformation.

entsteht. Die exponentielle Abschw¨achung l¨asst sich durch einfache Logarithmierung der R¨ontgenprojektion kompensieren. Das Prinzip ist in Abbildung 2.19 anschaulich dargestellt. Um nun aus den Projektionen bzw. aus der Radontransformierten Funktion wieder die urspru ¨ngliche Funktion zu gewinnen, muss man die inverse Radontransformation berechnen. Von großer Bedeutung ist hierbei das Zentralschnitt-Theorem, welches einen Zusammenhang zur Fouriertransformation herstellt. Es besagt, dass die Fouriertransformierte Funktion F (u, v) der Objektfunktion f (x, y) aus den eindimensionalen Projektionen rekonstruiert werden kann. Hierzu mu ¨ssen die eindimensionalen Projektionen Fouriertransformiert, um ϕ gedreht und im Ursprung eines 2d-Rasters eingetragen werden. Eine inverse 2d-Fouriertransformation liefert dann die urspru ¨ngliche Objektfunktion f (x, y). Das Problem bei dieser Vorgehensweise ist die Umrechnung der Polarkoordinaten auf das 2d-Raster. Hierbei fallen teilweise Daten auf denselben Rasterpunkt und mu ¨ssen gemittelt werden, w¨ahrend andere Rasterpunkte unbesetzt bleiben bzw. interpoliert werden mu ¨ssen. Deshalb bedient man sich meist der gefilterten Ru ¨ckprojektionstechnik (FBP, filtered backprojection). Hierbei werden die 1d-Projektionen mit einem speziellen Faltungskern gefaltet und entlang der urspru ¨nglichen Strahlenrichtung in den 2d-Raum zuru ¨ckprojiziert und u ¨berlagert. Fu ¨r weiterfu ¨hrende Informationen siehe Kalender [46]. Ein interessanter Aspekt in diesem Zusammenhang ist, dass die Radontransformation auch andere Anwendungen in der digitalen Bildverarbeitung hat. So lassen sich mit ihrer Hilfe z.B. lineare (geradenhafte) Strukturen in Graubildern finden (siehe z.B. Beyerer & Le´on [10]). Abbildung 2.20 zeigt die Radontransformation angewandt auf zwei Testbilder. Bei Bin¨arbildern liefert die Radontransformation exakt das gleiche Resultat wie die wohlbekannte Houghtransformation fu ¨r Geraden in Hessescher-Normalform

2.3. Volumendaten

33

(a)

(b)

(c)

(d)

Abbildung 2.20 (a) CT-Schitt; (b) Radontransformierte des CT-Schnittes; (c) Bin¨arbild mit Kanten; (d) Radontransformierte des Kantenbildes (nach logarithmischer Intensit¨atsskalierung).

(siehe Duda & Hart [20]). Somit kann die Radontransformation als Erweiterung der Houghtransformation auf Graubilder angesehen werden. Eine denkbare Anwendung ist die Erkennung von Geraden bzw. Kanten in reelwertigen Gradientenbildern. 2.3.2

Extraktion von Isofl¨ achen

Da es beim 3d-Puzzle-Problem nicht auf das Objektinnere sondern auf die Oberfl¨achen ankommt, mu ¨ssen diese aus den Volumendaten extrahiert werden (siehe Abbildung 2.21). Eine der popul¨arsten Methoden zur Berechnung von Oberfl¨achenmodellen aus Volumendaten ist der Marching-Cube-Algorithmus, der unabh¨angig voneinander 1986 von Wyvill et al. [104] sowie 1987 von Lorensen & Cline [58] vorgestellt wurde. Das Verfahren extrahiert Isofl¨achen in Form von Dreiecksnetzen. Eine Isofl¨ache bezeichnet dabei eine zweidimensionale Fl¨ache im dreidimensionalen Volumen mit konstantem Grauwert S (bzw. konstanter Hounsfieldeinheit bei CT-Daten), welche der Oberfl¨ache des zu extrahierenden Ko¨rpers entspricht. Die Isofla¨che ist implizit durch die Gleichung f (~v ) = S

34

Kapitel 2. Gewinnung und Repr¨asentation von Basisdaten

¨ Abbildung 2.21 Ubergang von 2d-Schnittbilder u ¨ber die 3d-Volumenrepr¨asentation hin zum Oberfl¨achenmodell.

definiert, wobei die Funktion f (~v ) den Grauwert an den Volumenkoordinaten ~v zuru ¨ckgibt. Der Marching-Cube-Algorithmus l¨auft mit einem 2×2×2-Fenster u ¨ber das gesamte Volumen und u ¨berpru ¨ft ob die Grauwerte im Fenster u ¨ber- oder unterhalb der Schwelle S liegen und klassifiziert die Voxel des Volumen in innerhalb“ und außerhalb“ des ” ” Objektes. Falls in einem lokalen Fenster sowohl Grauwerte u ¨berhalb, als auch unterhalb von S (also innerhalb und außerhalb des Objektes) liegen, so muss es zwangsl¨aufige eine Trenn-/Isofl¨ache dazwischen geben. Hierbei gibt es exakt 28 = 256 verschiedene M¨oglichkeiten wie die acht Voxel im Fenster klassifiziert sein k¨onnen. Wenn man alle M¨oglichkeiten die durch Rotation oder Inversion aufeinander abbildbar sind zusammen¨ fasst, so erh¨alt man 15 Aquivalenzklassen. Abbildung 2.22 zeigt jeweils einen Repr¨asen¨ tanten dieser 15 Aquivalenzklassen. Alle 256 Fa¨lle ko¨nnen im Programm auf effiziente ¨ Weise mittels einer LookUp-Tabelle ihrer entsprechenden Aquivalenzklasse zugewiesen werden. Die Abbildung zeigt außerdem die zugeh¨origen Dreiecke, die die Isofl¨ache approximieren. Die Knoten der Dreiecke liegen dabei immer auf den Kanten des Quaders, welcher durch die acht Voxel im Fenster aufgespannt wird. Genauer gesagt liegt immer

2.3. Volumendaten

35

¨ Abbildung 2.22 Aquivalenzklassen und zugeh¨orige Dreiecksfl¨achen beim Marching Cube. f f (~v1 )

S f (~v2 )

~v1

~ p~ m

~v2

Koordinatenachse

Abbildung 2.23 Lineare Interpolation des Schnittpunktes p~ zwischen zwei Grauwerten mit Koordinaten ~v1 , ~v2 unter Anwendung der Schwelle S; im Vergleich zum Mittelpunkt m ~ der bei einer bin¨aren Anwendung der Schwelle entstehen w¨ urde.

dann ein Dreiecksknoten auf einer Quaderkante, wenn die beiden zugeh¨origen Voxel mit Koordinaten ~v1 , ~v2 an den Kantenenden unterschiedlich klassifiziert sind und demnach die Isofl¨ache die Kante schneiden muss. Der subvoxel -genaue Schnittpunkt p~ berechnet sich dann durch p~ := (1 − ω)~v1 + ω~v2

mit ω :=

f (~v1 ) − S . f (~v1 ) − f (~v2 )

(2.10)

Wie in Abbildung 2.23 dargestellt, wird hierbei ein lineare Grauwertverlauf zwischen zwei Voxeln angenommen. Normalerweise approximiert der Marching-Cube-Algorithmus die Oberfl¨ache des Objektes in Form eines vollsta¨ndig geschlossenen Dreiecksnetzes. Allerdings ko¨nnen in seltenen

36

Kapitel 2. Gewinnung und Repr¨asentation von Basisdaten

Abbildung 2.24 Alternative Dreieckskonfigurationen zur Vermeidung von L¨ochern.

ungu ¨nstigen Fa¨llen Lo¨cher im Netz entstehen. Aus diesem Grunde wurden z.B. von Montani et al. [63] sowie Schroeder et al. [75] zus¨atzliche Dreieckskonfigurationen eingefu ¨hrt (siehe Abbildung 2.24), mit denen das Problem gel¨ost werden kann. Eine alternative M¨oglichkeit die L¨ocher zu vermeiden, ist die Zerlegung des ’Cubes’ in mehrere Tetraeder (siehe z.B. Payne & Toga [67] und Hall & Warren [35]). Ein Vorteil dieser Methode ist eine genauere Approximation der Isofl¨ache, was allerdings mit einer mehr als doppelt so hohen Dreiecksanzahl und einer l¨angeren Berechnungszeit erkauft wird. Neben dem Standard Marching-Cube-Algorthimus gibt es eine Vielzahl von Varianten und Erweiterungen, die sich z.B. in der Form der verwendeten Oberfl¨achenprimitive (Dreiecke, Vierecke, Patches) sowie der Interpolationsmethode (z.B. linear, quadratisch, trilinear) unterscheiden.

2.4

Repr¨ asentationsformen von Oberfl¨ achendaten

In der einschla¨gigen Literatur werden eine Vielzahl von unterschiedlichen Repra¨sentationsformen und Datenstrukturen fu ¨r Oberfl¨achen vorgeschlagen. Typische Repr¨asentationsformen fu ¨r Oberfl¨achen sind Punktwolken, polygonale Netze, parametrische Oberfl¨achen wie Spline-Patches und Isofl¨achen in volumetrischen Daten. Welche ist nun fu ¨r das 3d-Puzzle-Problem vorzuziehen? Im Bereich Computergraphik werden ha¨ufig polygonale Netze zur Repr¨asentation von Oberfl¨achen verwendet. Eine Hu ¨rde bei der Verarbeitung von polygonalen Netzen ist die Aufrechterhaltung von Topologie und Netzstruktur ohne Faltenbildung oder entartete Polygone. Dies ist oftmals schwierig und mit großem Implementierungsaufwand verbunden. In der Computergraphik sind Dreiecksnetze besonders beliebt, da aktuelle Grafikkarten Dreiecke hardwarebeschleunigt darstellen k¨onnen. Im Bereich der Bildverarbeitung werden hingegen h¨aufig Punktwolken als Repr¨asentationsform gew¨ahlt, da sie sehr einfach sind, wenig Speicher erfordern und von vornherein Ausgabe vieler Oberfl¨achensensoren sind. Im Gegensatz hierzu liegen die Daten in medizinischen Anwendungen oft in volumetrischer Form (z.B. CT und MRT) vor. Zu jeder Repr¨asentationsform existieren Algorithmen, die diese in eine jeweils andere Repr¨asentationsform u ¨berfu ¨hren k¨onnen. Fu ¨r jede Repr¨asentationsform gibt es hierarchische Datenstrukturen die sich nicht nur zum schnellen Schnitt-, Kollisions-, bzw. Kontakttest, sondern auch zur schnellen Approximation von Oberfl¨achen in verschiedenen Aufl¨osungsstufen (’level-of-detail’) eignen. Typische hierarchische Datenstrukturen sind Octrees, Hu ¨llko¨rperhierarchien, KD-Trees

2.4. Repr¨asentationsformen von Oberfl¨achendaten

37

(siehe Friedman et al. [25]), Binary Space Partitionings (BSPs) (siehe Fuchs et al. [26]), Progressive Meshes (siehe z.B. Hoppe [39]) oder Normal Meshes (siehe Guskov et al. [33]). Die verwendete Datenstruktur ist die Ausgangsbasis fu ¨r alle weiteren Verarbeitungsschritte und beeinflusst deren erreichbare Effizienz und Genauigkeit maßgeblich. Die aus der Computergraphik bekannten polygonalen Methoden zur Auflo¨sungsreduktion haben meist die Beschleunigung der Grafikausgabe zum Ziel und sind nicht fu ¨r Bildverarbeitungszwecke konzipiert. So werden bei der Grafikausgabe glatte Oberfl¨achen durch m¨oglichst wenige große Dreiecke approximiert, was wiederum zu einer ungleichma¨ßigen Verteilung der Eckpunkte fu ¨hrt und fu ¨r Bildverarbeitungsansa¨tze ungeeignet sein kann. Eine der wenigen Ausnahmen wird z.B. von Johnson & Hebert [45] vorgeschlagen, bei der eine ¨aquidistante Verteilung der Punkte angestrebt wird. Bei der Aufl¨osungsreduktion und Vorverarbeitung ist es beim 3d-Puzzle-Problem nicht unbedingt entscheidend, dass die Form m¨oglichst unver¨andert bleibt. Es muss lediglich sichergestellt werden, dass sich die Form auf dem komplement¨aren Fragment gleichartig ¨andert, damit die Teile weiterhin zusammenpassen. Bei stark verrauschten Fragmentoberfl¨achen ist eine Gl¨attung der Oberfl¨achendaten vor der Berechnung von Oberfl¨achennormalen, Kru ¨mmungen und weiteren Merkmalen sinnvoll. Da bei der Normalen- und Kru ¨mmungsberechnung stets ein- oder mehrfach differenziert werden muss, ist eine Gl¨attung unerl¨asslich. Je nach gew¨ahlter Basisdatenstruktur kann die Gl¨attung, Normalenund Merkmalsberechnung auf unterschiedliche Weise erfolgen. Bei volumetrischen Repr¨asentationsformen k¨onnen die Oberfl¨achen beispielsweise durch eine faltungsbasierte Tiefpassfilterung gegl¨attet werden. Die Normalenberechnung entspricht in diesem Fall einer Gradientenberechnung an den Objektgrenzen und kann durch diskrete Richtungsableitungen gewonnen werden. Dies trifft natu ¨rlich ebenso auf alle hierarchischen Datenstrukturen, die die volumetrischen Daten abbilden, wie beispielsweise Octrees, zu. Bei Punktwolken muss ein anderer Ansatz fu ¨r Gl¨attung und Normalenberechnung gew¨ahlt werden, beispielsweise u ¨ber eine gewichtete Polynomfl¨achenanpassung an einen lokalen Bereich (siehe z.B. Alexa et al. [1], Levin [55]).

39

Kapitel 3

Matching von Oberfl¨ achen: Problemstellung und Stand der Technik Nachdem die Fragmente in eine geeignete digitale Form gebracht wurden, kann das Zusammensetzen der Oberfl¨achen beginnen. Warum ben¨otigt man nun neue Methoden fu ¨r das 3d-Puzzle-Problem? Wurde dies nicht schon mit der Vielzahl an publizierten Matching-Ans¨atzen ausreichend gel¨ost? Um diese berechtigte Frage zu beantworten, ist ¨ ein Uberblick u ¨ber den derzeitigen Stand der Technik notwendig. Im Mittelpunkt der folgenden Betrachtung stehen deshalb die mit dem 3d-Puzzle-Problem eng verwandten und bekannten Verfahren zur Registrierung von Oberfl¨achen.

3.1

Oberfl¨ achenregistrierung versus 3d-Puzzle-Problem

Viele Arbeiten betrachten das Problem des Zusammensetzens von vollst¨andig oder partiell u ¨berlappenden Oberfl¨achen, wie z.B. das Zusammensetzen mehrerer Tiefenbilder. Es handelt sich hierbei meist um zwei oder mehrere Datens¨atze desselben Objektes, die in ein gemeinsames Koordinatensystem gebracht werden sollen. In diesem Zusammenhang spricht man auch von Registrierung∗ . Abbildung 3.1 veranschaulicht unterschiedliche ¨ Uberlappungstypen die nach ihrer Schwierigkeit geordnet sind. Die ersten drei Typen sind klassische Basisdaten fu ¨r die herk¨ommlichen Registrierungsverfahren. Bei Typ 1 handelt es sich um zwei Datens¨atze eines Objektes die durch eine starre Transformation vollst¨andig zur Deckung gebracht werden k¨onnen. Dies ist der einfachste aller F¨alle, bei dem bereits eine einfache Ausrichtung von Schwerpunkt und Hauptachsen zum Ziel fu ¨hren kann. Bei Typ 2 ist der Datensatz B eine Teilmenge des Datensatzes A. Bei A ∗ Definition des Begriffes ’Registrierung’ (engl. ’registration’) aus TheFreeDictionary.com: In Computer Vi” sion different sets of data acquired by sampling the same scene or object will be in different coordinate systems. Registration is the process of transforming the different sets of data into one coordinate system. In medical imaging (e.g. data of the same patient taken at different points in time) registration often additionally involves elastic registration to cope with elastic deformation of the body parts imaged.“

40

Kapitel 3. Matching von Oberfl¨achen: Problemstellung und Stand der Technik

Typ 1

Typ 2

Typ 3

Typ 4

¨ Abbildung 3.1 Vier unterschiedliche Uberlappungstypen: 1. Kongruenz; 2. Bijektion; 3. par¨ tielle Uberlappung; 4. 3d-Puzzle-Problem.

ko¨nnte es sich beispielsweise um ein vollsta¨ndiges Modell und bei B um eine Messaufnahme aus einer Sichtrichtung handeln. Hierbei gibt es zu jedem Punkt aus B genau einen korrespondierenden Punkt in A, allerdings hat nicht jeder Punkt aus A einen korrespondierenden Punkt in B. Typische Probleme aus dieser Klasse sind Objekterkennungs- und Lagescha¨tzungsaufgaben. Typ 3 zeigt den Fall von zwei sich partiell u ¨berlappenden Datens¨atzen. Sowohl in A als auch in B gibt es Bereiche die keine Entsprechung im jeweils anderen Datensatz haben. Ein typisches Problem aus dieser Klasse ist die Fusionierung von sich u ¨berlappenden Tiefendaten eines Objektes aus unterschiedlichen Sichtrichtungen. W¨ahrend es sich bei Typ 1 bis 3 im Allgemeinen um aufeinander abbildbare Daten desselben Objektes handelt, so handelt es sich bei Typ 4 um unterschiedliche Objektteile die zu einem Ganzen zusammenfu ¨gbar sind. Die Fragmente besitzen also Oberfl¨achenbereiche die geometrisch komplement¨ar zu einem Gegenstu ¨ck sind. Alle vier Typen weisen folgende gemeinsame Schwierigkeiten bezu ¨glich des 3d-Matchings auf: • Im Fall von nur zwei Datens¨atzen hat der Suchraum im Allgemeinen bereits sechs Freiheitsgrade (n¨amlich drei rotatorische und drei translatorische Freiheiten der relativen Lage). • Der Wunsch nach einer effizienten L¨osung, trotz massiver Menge an Oberfl¨achendaten, stellt hohe Anforderungen an den verwendeten Algorithmus und die zugrunde liegende Datenstruktur. • Die digitalisierten Oberfl¨achen liegen oft in ungenauer und verrauschter Form vor. Allerdings gibt es beim allgemeinen 3d-Puzzle-Problem einige zus¨atzliche Schwierigkeiten, die die Anwendbarkeit der bis dato bekannten Methoden stark einschra¨nkt: • Anders als zum Beispiel bei der Fusion von Tiefenbildern, ist eine gute Initiall¨osung, die fu ¨r eine Iteration in ein globales Optimum erforderlich w¨are, im Allgemeinen nicht verfu ¨gbar. • Sehr große Oberfl¨achenregionen haben keine korrespondierenden Bereiche auf dem Gegenstu ¨ck. Das heißt, oftmals besteht die Fragmentoberfla¨che nur zu einem ge-

3.2. Feinregistrierung

41

ringen Teil aus Bruchfl¨ache die zu einem Gegenstu ¨ck passt. • Objektdurchdringungen mu ¨ssen vermieden werden. • Fehlende Fragmente, Materialverschleiß und Sch¨adigungen erschweren das Matching. Eine Methode zur L¨osung des Problems vom Typ 4 sollte also ohne eine Initiall¨osung ¨ auskommen, trotz großer Datenmengen mit geringer Uberlappung effizient arbeiten, Objektdurchdringungen vermeiden und m¨oglichst robust gegenu ¨ber Rauschen, Sch¨adigungen und Materialverschleiß sein. Eine zeiteffiziente Methode ist, insbesondere im Fall von vielen Fragmentstu ¨cken und der daraus resultierenden kombinatorischen Vielfalt, erforderlich. In der Literatur wird ha¨ufig zwischen Grobregistrierung“ und Feinregistrierung“ un” ” terschieden (siehe auch Campbell & Flynn [12]). Bei der Feinregistrierung liegt bereits eine initiale Lagesch¨atzung vor, die (meist iterativ) optimiert wird. Falls keine initiale Lagesch¨atzung vorliegt, ist eine Grobregistrierung erforderlich, bei der die grobe Ziellage ¨ gesucht wird. Im Folgenden soll ein kurzer Uberblick u ¨ber bekannte Arbeiten gegeben ¨ werden, die allerdings nur zur L¨osung des Uberlappungstyps 1-3 entwickelt wurden und h¨aufig nur auf Tiefenbildern arbeiten.

3.2

Feinregistrierung

Die wohl gebr¨auchlichste Methode zum Registrieren von Oberfl¨achen ist der so genannte ’Iterative Closest Point’-Algorithmus (ICP) von Besl & McKay [9]. Dieser Ansatz versucht eine gegebene Initiall¨osung iterativ zu verbessern. Hierzu werden in jedem Iterationsschritt zuerst zu Punkten auf der einen Oberfla¨che nahe liegende Punkte (engl. ’closest points’) auf der anderen Oberfl¨ache gesucht und dessen Abst¨ande dann im Sinne des minimalen Fehlerquadrats mit dem Verfahren von Horn [41] minimiert. Der urspru ¨ngliche Algorithmus erfreut sich immer noch sehr großer Beliebtheit, da er sehr einfach zu implementieren ist. Allerdings ist er in seiner Grundform relativ langsam, ¨außerst fehleranf¨allig gegenu ¨ber Ausreißern und kann oft trotz guter Initiall¨osung keine akzeptable L¨osung finden, da das Minimum im Sinne des Fehlerquadrats h¨aufig nicht der gesuchten tats¨achlichen L¨osung entspricht. Seit der Publikation des ICP-Algorithmus wurden viele Verbesserungen vorgeschlagen. Diese empfehlen meist eine effizientere oder robustere Suche von korrespondierenden Punkten (siehe z.B. Dalley & Flynn [19], Greenspan & Yurick [29], Krebs et al. [52], Masuda [60], Sharp et al. [77]). Trotz dieser Verbesserungen ¨ wird jedoch immer eine gute initiale Lagescha¨tzung beno¨tigt. Eine Ubersicht u ¨ber einige effiziente Varianten des ICP-Algorithmus findet sich beispielsweise in einer Arbeit von Rusinkiewicz & Levoy [71]. Da beim 3d-Puzzle-Problem im Allgemeinen keine initiale Lage vorliegt, sind diese Verfahren nicht direkt einsetzbar bzw. k¨onnen allenfalls zur lokalen Verbesserung einer bereits gefundenen Lo¨sung dienen.

42

Kapitel 3. Matching von Oberfl¨achen: Problemstellung und Stand der Technik

(a)

(b)

(c)

Abbildung 3.2 Zur Berechnung von ’spin images’: (a) 3d Modell und Normalenachse durch einen Oberfl¨achenpunkt zu dem ein ’spin image’ berechnet werden soll; (b) Rotation des 3d Modells um die Normalenachse; (c) Projektion der Oberfl¨achenpunkte auf die Abbildungsebene ergibt ein ’spin image’.

3.3 3.3.1

Grobregistrierung Merkmalsbasierte Korrespondenzsuche

In den meisten Arbeiten zur Grobregistrierung werden lokale Oberfl¨achenmerkmale fu ¨r die Suche nach korrespondierenden Oberfl¨achenpunkten verwendet. Hierzu mu ¨ssen in einem Vorverarbeitungsschritt auf beiden Oberfl¨achen Merkmale extrahiert und dann einander zugeordnet werden. Die verwendeten Merkmale reichen von einfachen Oberfl¨acheneigenschaften wie Kru ¨mmungen bis hin zu komplexen mehrdimensionalen Merkmalsvektoren. Johnson & Hebert [44] schlagen so genannte ’spin images’ fu ¨r die Oberfl¨achenregistrierung und 3d-Objekterkennung vor. Hierzu wird in jeden Oberfl¨achenpunkt ein zur Oberfl¨achennormale ausgerichtetes Koordinatensystem gelegt und jeweils alle Punkte relativ zu diesem Koordinatensystem durch Rotation um die Normalenachse auf eine Bildebene akkumuliert (siehe Abbildung 3.2). Dies entspricht einer Umrechnung der Euklidischen Koordinaten in relative Zylinderkoordinaten und einer Projektion entlang des Rotationswinkels. Hierdurch entsteht fu ¨r jeden Oberfl¨achenpunkt ein rotationsinvariantes Abbild des gesamten Objektes. Da jeweils das gesamte Objekt und nicht nur die lokale Umgebung abgebildet wird, handelt sich bei den ’spin images’ um globale Merkmale. Fu ¨r die Registrierung von zwei Oberfl¨achen werden nun die ’spin images’ miteinander verglichen, um korrespondierende Punkte zu finden. Nach der Zuordnung korrespondierender Punkte werden die Oberfl¨achen grob ausgerichtet und die relative Lage dann per ICP-Algorithmus verfeinert.

3.3. Grobregistrierung

43

Die Oberfl¨achensignaturen (engl. ’surface signatures’) von Yamany & Farag [105] sind konzeptionell den ’spin images’ sehr a¨hnlich. Statt Zylinderkoordinaten werden Kugelkoordinaten verwendet, und statt Punkte zu akkumulieren, werden Kru ¨mmungen in den Projektionsbildern gemittelt. Außerdem wird die Anzahl von Signaturen durch eine Vorauswahl von Punkten mit hoher Kru ¨mmung reduziert. Scho¨n & H¨ausler [74] suchen ebenfalls nach markanten Punkten (engl. ’salient points’) auf den Oberfl¨achen. Genauer gesagt sind Oberfl¨achenpunkte gemeint, die eine hohe Kru ¨mmungsentropy (also mo¨glichst viele unterschiedliche partielle Oberfla¨chenkru ¨mmungen je nach Ausbreitungs-/Blickrichtung) in ihrer lokalen Nachbarschaft haben. Es werden dann die hundert markantesten Punkte ausgew¨ahlt und fu ¨r die Registrierung weiterverwendet. Um nun korrespondierende Punkte zu finden, werden zugeh¨orige lokale rotationsinvariante Merkmalsvektoren berechnet. Ein Merkmalsvektor entspricht dabei einem 2d Histogramm, in dem die lokalen Punkte der Umgebung akkumuliert werden. Als Histogrammindizes dienen dabei der relative Abstand und die partielle Kru ¨mmung. Demnach haben die Histogramme ganz ¨ahnliche Eigenschaften wie die ’spin images’ und ’surface signatures’, allerdings sind sie auf die jeweilige lokale Umgebung beschra¨nkt. Sun et al. [82] definieren ’Fingerabdru ¨cke’ (engl. ’finger prints’) auf Oberfl¨achen. Hierbei handelt es sich um eine Menge von Kurven mit gleicher geodesischer Distanz zu einem ausgew¨ahltem Oberfl¨achenpunkt. Die Oberfl¨acheneigenschaften (wie Kru ¨mmung oder Farbe) entlang dieser Kurven werden dann orthogonal auf die Tangentialeben projiziert und repr¨asentieren die lokale Oberfl¨achenregion. In einer Vorauswahl werden nur Punkte selektiert dessen ’finger prints’ mo¨glichst irregula¨r und damit unverkennbar sind. Da diese Merkmale nicht rotationsinvariant sind, muss bei der Korrespondenzsuche ein verbleibender rotatorischer Freiheitsgrad per Kreuzkorrelation bestimmt werden. Neben den Punktmerkmalen“, die die Umgebung eines ausgezeichneten Punktes cha” rakterisieren, gibt es auch Kurvenmerkmale“, die eine eindimensionale Ausbreitung auf ” der Oberfl¨ache beschreiben. H¨aufig werden Randkurven und Kanten mit hoher Kru ¨mmung vorgeschlagen (siehe z.B. Krebs et al. [51], Papaioannou & Theoharis [66] und Sappa et al. [72]). Eine etwas allgemeinere Variante sind die ’level curves of constant mean curvature’ also Isokru ¨mmungskurven in Tiefendaten von Krsek et al. [53]. Auch Vanden Wyngaerd & Van Gool [85] detektieren charakteristische Kurven - so genannte ’bitangent curves’ - fu ¨r die Registrierung der Oberfla¨chen. Hierbei handelt es sich um spezielle Kurvenpaare, bei denen jede Tangentialebene der einen Kurve auch gemeinsame Tangentialebene der andern Kurve ist. Wie diese unterschiedlichen Beispiele verdeutlichen, sind die verwendeten Oberfl¨achenmerkmale zwar ¨ahnlich, unterscheiden sich jedoch unter anderem in ihrer Lokalit¨at. Eine zu hohe Lokalit¨at (bzw. ein zu kleiner Einflussbereich) der Oberfl¨achenmerkmale macht diese schlecht unterscheidbar, empfindlich gegenu ¨ber Rauschen und erho¨ht die Zuordnungskomplexit¨at. Eine zu geringe Lokalit¨at hingegen birgt bei partiell u ¨berlappenden Oberfl¨achen die Gefahr, dass Bereiche mit einbezogen werden, die keine Korrespondenz auf dem Gegenstu ¨ck haben. Dies wiederum macht die Suche nach korrespondierenden Merkmalen schwieriger. Ein anderes Unterscheidungskriterium ist die Rotations-

44

Kapitel 3. Matching von Oberfl¨achen: Problemstellung und Stand der Technik

invarianz der Oberfl¨achenmerkmale. Auch hier sind Vor- und Nachteile festzustellen. Rotationsinvariante Merkmale sind zwar schneller vergleichbar, ko¨nnen aber mehrdeutig sein, denn es gibt meist viele unterschiedliche Oberfl¨achenformen, die jeweils exakt die gleichen Merkmalsvektoren hervorrufen. Rotationsvariante Merkmale wie die ’finger prints’ oder die Kurvenmerkmale sind demgegenu ¨ber zwar eindeutiger, erfordern aber einen aufwa¨ndigeren Vergleich (beispielsweise eine Kreuzkorrelation oder eine ICPRegistrierung). ¨ Ein Uberblick u ¨ber weitere merkmalsbasierte Registrierungsans¨atze findet sich z.B. in Seeger & Labourex [76]. Der Nachteil von merkmalsbasierten Ansa¨tzen ist der verha¨ltnism¨aßig hohe Zeitaufwand, der in der Vorverarbeitung fu ¨r die Merkmalsextraktion und Sortierung ben¨otigt wird. Sind die Merkmale nicht robust messbar (z.B. aufgrund von Rauschen oder fehlenden Oberfl¨achenstrukturen) oder wenig pr¨agnant bzw. nicht eindeutig einander zuzuordnen (Korrespondenzproblem), ko¨nnen diese Verfahren fu ¨r sich allein genommen das Problem nicht l¨osen, aber h¨aufig den Suchraum erheblich einschr¨anken. 3.3.2

Hypothesen-Akkumulation (Pose Clustering)

Eine zum 3d-Puzzle-Problem verwandte Klasse von Methoden, die meist zur Erkennung und Lokalisierung von Objekten dienen, sind die so genannten ’pose clustering’Ans¨atze (auch bekannt unter den Begriffen Hypothesenakkumulation oder verallgemeinerte Hough-Transformation, siehe zum Beispiel Ballard [5], Stockman [81], Linnainmaa et al. [57] und Olson [64]). Die Basisidee ist es, low-level-Lagehypothesen in einem Parameterraum bzw. einer Voting-Tabelle zu akkumulieren, gefolgt von einer Clusterbzw. Maximasuche, welche die meist besuchten Hypothesen identifiziert. Der gr¨oßte Nachteil von Voting-Tabellen ist der relativ hohe Zeit- und Speicherbedarf, insbesondere im Fall von großen Datenmengen und einem 6d Such-/Parameterraum. Einige Arbeiten versuchen diese Komplexita¨t durch die Einbeziehung von lokalen Oberfl¨achenmerkmalen zu beherrschen. Ein interessanter Ansatz von Barequet & Sharir [6], [7] verwendet hierfu ¨r beispielsweise so genannte ’gerichtete und ungerichtete footprints’. Im einfachsten Fall sind dies Oberfl¨achennormalen als gerichtete Merkmale und Oberfl¨achenkru ¨mmungen als ungerichtete (also rotationsinvariante) Merkmale. Sowohl gerichtete als auch ungerichtete Merkmale k¨onnen die Anzahl der m¨oglichen Lagehypothesen stark einschr¨anken, denn es kommen nur solche Lagehypothesen in Frage, bei denen die gerichteten Merkmale in den Kontaktpunkten korrekt ausgerichtet sind und die ungerichteten Merkmale u ¨bereinstimmen. Die Hypothesen mu ¨ssen jedoch weiterhin in einem 6d Parameterraum akkumuliert werden. Um den enormen Speicherbedarf zu reduzieren, schlagen Barequet und Sharir deshalb die Verwendung einer Hashtabelle statt eines 6d Arrays vor. Hierdurch ko¨nnen theoretisch leere Bereiche im Parameterraum besser ausgenutzt werden. Die Verwendung einer Hashtabelle bedeutet jedoch zus¨atzlichen Aufwand bei der Behandlung von Kollisionen und fu ¨hrt im ungu ¨nstigen Fall sogar zu einem erheblich gr¨oßeren Rechenaufwand. Außerdem gehen die Nachbarschaftsbeziehungen des Arrays verloren, was dazu fu ¨hrt, dass das Finden von leicht ausgedehnten

3.3. Grobregistrierung

45

Clustern erheblich erschwert wird.

3.3.3

Hypothesengenerierung und Hypothesenverifizierung

Die DARCES-Methode (’data-aligned rigidity-constrained exhaustive search’) von Chen et al. [14] zur Registrierung von Tiefendaten kommt ohne Initiall¨osung und ohne Oberfl¨achenmerkmalen aus. Damit ist dieser Ansatz auch fu ¨r das allgemeine 3d-Puzzle-Problem interessant. Die L¨osung wird u ¨ber eine alterniernde Hypothesengenerierung und Hypothesenverifizierung gesucht. Eine solche Vorgehensweise werden wir auch im ersten L¨osungsansatz fu ¨r das 3d-Puzzle-Problem in Kapitel 4 aufgreifen. Bei der DARCESMethode werden Lagehypothesen gesucht und getestet, bei denen die Oberfl¨achen einen Kontakt an drei oder mehr Punkten aufweisen. Im uneingescha¨nkten Fall mu ¨ssen bei der Suche von jeweils drei Punkten pro Oberfl¨ache, die per Rotation und Translation in Kontakt gebracht werden k¨onnen, eine enorme Anzahl von Kombinationsm¨oglichkeiten betrachtet werden. Bei n Punkten pro Oberfl¨ache gibt es bereits ca. n3 Punkttripel pro Oberfla¨che und demnach n6 Kombinationen von zwei Punkttripeln, die dann auf Kongruenz u ¨berpru ¨ft werden mu ¨ssten. Um diese kombinatorische Explosion zu bew¨altigen, mu ¨ssen eine Reihe von Einschr¨ankungen getroffen werden: (i) Die Oberfl¨achenpunkte werden auf eine kleine zuf¨allig ausgew¨ahlte Untermenge von Referenzpunkten“ redu” ziert. Der Algorithmus arbeitet dann nur noch auf dieser kleineren Referenzpunktmenge. (ii) Es werden nur solche Punkttripel zugelassen, bei denen die Punkte einen fest vorgegebenen Abstand haben (also nur gleichschenklige Dreiecke mit fester Gr¨oße). Der vorgegebene Abstand sollte nicht zu klein sein, da ansonsten die Lagehypothese instabil gegenu ¨ber Rauschen wird, aber auch nicht zu groß sein, da sonst die Suche eines kongruenten Punkttripels ineffizient wird. (iii) Die Suche des kongruenten Tripels, als auch die Verifizierung der Lagehypothesen arbeitet ganz speziell auf Tiefenbildern (bzw. auf der Projektion der Punktwolken auf eine Indexebene). Diese starken Einschr¨ankungen zu Gunsten der Effizienz bringen jedoch einige Probleme mit sich: Die Reduzierung der Punktmenge fu ¨hrt zu einer gr¨oberen Abtastung des Suchraums und birgt damit die Gefahr, dass das globale Optimum verfehlt wird. Die Beschra¨nkung auf Punkttripel mit festem Abstand versta¨rkt diesen Effekt noch weiter. Außerdem kann dies dazu fu ¨hren, dass bestimmte Oberfl¨achen (z.B. Fragmente mit langen und schmalen oder lu ¨ckenhaften Bruchfl¨achen) nicht registriert werden k¨onnen, da sich keine entsprechenden Dreiecke auf ihnen finden lassen. Bei den Lagehypothesen wird kein tangentialer Kontakt gefordert, wodurch sich die Fragmente bei sehr vielen Lagehypothesen durchdringen werden. Und letztlich wird die Projektion auf eine Indexebene ben¨otigt, was bei Tiefenbildern natu ¨rlich Sinn macht, da sie bereits eine solche Projektion darstellen, aber bei vollst¨andigen 3d Objekten problematisch ist, da keine Projektionsrichtung alle Daten u ¨berdeckungsfrei abbildet. In einer der neuesten Arbeiten zum Thema Registrierung von Tiefendaten von Silva et al. [78], [79] wird diejenige relative Lage gesucht, bei der die Oberfl¨achen eine m¨oglichst hohe Anzahl an Durchdringungspunkten aufweisen. Die Suche der besten relativen Lage basiert auf einem neuartigen genetischen Algorithmus. Viele Durchdringungspunkte sind

46

Kapitel 3. Matching von Oberfl¨achen: Problemstellung und Stand der Technik

jedoch auch ein starkes Indiz fu ¨r die komplette Durchdringung der 3d Fragmente, was im Fall des 3d-Puzzle-Problems unerwu ¨nscht ist. Der komplexe Algorithmus arbeitet speziell auf Dreiecksnetzen und ben¨otigt eine relativ lange Laufzeit fu ¨r eine paarweise Registrierung (fu ¨nf Minuten fu ¨r 10.000 Punkte auf einem 1,7 GHz PC). Die Ans¨atze, die in der vorliegenden Arbeit vorgeschlagen werden, erreichen jedoch Laufzeiten von unter einer Sekunde fu ¨r weitaus gro¨ßere Datensa¨tze.

3.4

Stand der Technik beim 3d-Puzzle-Problem

Das allgemeine 3d-Puzzle-Problem wurde bis zum jetzigen Zeitpunkt nur sehr wenig untersucht. Einige interessante Arbeiten behandeln die Rekonstruktion von wertvollen zerbrochenen arch¨aologischen Tongef¨aßen oder Keramiken anhand ihrer Bruchkanten, Texturen oder Rotationssymmetrieeigenschaften (siehe z.B. Cooper et al. [17], Kampel & Sablatnig [48], [47], da Gama Leit˜ao & Stolfi [18], Goldberg et al. [27], Willis & Cooper [95]). Diese Methoden l¨osen also eher ein 2d-Puzzle-Problem und k¨onnen im Allgemeinen nicht auf 3d Fragmente u ¨bertragen werden. Eine der wenigen Arbeiten, die das dreidimensionale Puzzle-Problem untersuchen, basiert auf einer Lagefehlersch¨atzung unter Verwendung von Z-Buffern (Papaioannou et al. [65]). Wie Abbildung 3.3 veranschaulicht, werden die Fragmente solange rotiert und verschoben, bis die 2d Abstandsfunktionen (Z-Buffer) zu einer separierenden Referenzebene stark korrelieren (der Ansatz muss dabei sieben Freiheitsgrade optimieren). Obwohl der vorgeschlagene Algorithmus eine ’simulated annealing’-Optimierung einsetzt, so degeneriert er doch zu einer vollst¨andigen Suche, wenn die optimale Fu ¨gerichtung auf einen kleinen Winkelbereich beschr¨ankt ist. Ein weiterer Nachteil ist die zeitineffiziente Generierung und Korrelierung der Z-Buffer, die in jeder zu u ¨berpru ¨fenden Lage erfolgen muss.

Abbildung 3.3 Prinzip des Z-Buffer-Matchings.

3.4. Stand der Technik beim 3d-Puzzle-Problem

47

In einer Folgearbeit [66] werden deshalb Bruchkanten als Merkmale integriert, um zum einen die Effizienz zu Verbessern und zum anderen auch du ¨nnwandige archa¨ologische Artefakte (wie Scherben) erfolgreich zusammenzufu ¨gen. Einige weitere Arbeiten gibt es auf dem Gebiet des ’Protein-Dockings’ (siehe z.B. Chen & Weng [15] sowie Fernandez-Recio et al. [22]), welche eine gemeinsame methodische Schnittmenge mit dem allgemeinen 3d-Puzzle-Problem aufweisen. Auch hier dient die ¨ u ¨außere geometrische Struktur als Basis fu ¨r die Kontaktsuche. Ein Uberblick ¨ber aktuelle Arbeiten auf dem Gebiet des Protein-Dockings findet sich z.B. in Smith & Sternberg [80] und Via et al. [86]. Die geometrische Komplementarita¨t von Bereichen ist eine notwendige, aber nicht hinreichende Bedingung fu ¨r die Bildung eines Proteinkomplexes. Die Proteine mu ¨ssen auch chemisch (beispielsweise bezu ¨glich ihrer elektrostatischen Wechselwirkungen) komplement¨ar sein. Des Weiteren sind die fu ¨r das Protein-Docking konzipierten Ans¨atze speziell auf Struktureigenschaften von Moleku ¨lketten angepasst und nicht fu ¨r zerbrochene Objekte geeignet. Deshalb wird in dieser Arbeit nur im Ausblick kurz auf das Protein-Docking-Problem eingegangen.

49

Kapitel 4

Matching von 3d Objektfragmenten (3d-Puzzle-Problem) Im vorhergehenden Kapitel wurde deutlich, dass trotz vieler Arbeiten auf dem Forschungsgebiet der Oberfl¨achenregistrierung das allgemeine 3d-Puzzle-Problem im Fall von dreidimensionalen Fragmenten kaum behandelt und noch nicht zufriedenstellend gel¨ost wurde. Aus diesem Grund wollen wir uns nun zwei neuartigen Ans¨atzen zuwenden, die speziell auf das effiziente und robuste Zusammensetzen von 3d Fragmenten zugeschnitten sind. Im Gegensatz zu den meisten bekannten Verfahren zur Oberfl¨achenregistrierung basieren die neuen Methoden nicht auf komplexen Merkmalsvektoren, ¨ sondern offerieren grundlegende und innovative Suchstrategien. Ahnlich wie der bew¨ahrte ICP-Algorithmus als ausbauf¨ahige Basis fu ¨r die Feinregistrierung angesehen werden kann, sind die folgenden Ansa¨tze als elementare Basis fu ¨r die Grobregistrierung und das paarweise Zusammensetzen von Fragmenten zu verstehen.

4.1

Einfu ¨ hrung

Wie bereits erw¨ahnt, ist das 3d-Puzzle-Problem bereits bei nur zwei Fragmenten ein komplexes Problem mit sechs zu l¨osenden Freiheitsgraden. In diesem sechsdimensionalen Parameterraum beschreibt jeder Punkt die relative Lage eines Fragmentes bezu ¨glich der Lage eines anderen. In diesem Zusammenhang spricht man in der Robotik auch von Konfigurationsr¨aumen. Fu ¨r jeden Punkt im 6d Konfigurationsraum kann ein Fehlerbzw. Gu ¨temaß berechnet werden, welches die Passgenauigkeit in der aktuellen Lage bewertet. Die Bewertung einer Lage ist allerdings ein relativ zeitaufw¨andiger Prozess. Aus diesem Grund ist es wichtig, die Anzahl der zu bewertenden Punkte im Parameterraum m¨oglichst weitgehend zu reduzieren. Bei n¨aherer Betrachtung stellt man fest, dass der Raum große Bereiche hat, in denen die Fragmente sich nicht beru ¨hren. Diese Bereiche sollten von vornherein nicht untersucht werden. Stattdessen sollten nur relative Lagen betrachtet werden, bei denen ein Kontakt zwischen den Fragmentoberfl¨achen besteht. Genauer gesagt sollten die Oberfl¨achen sich an den Kontaktpunkten stets tangential beru ¨hren, da sie sich sonst durchdringen wu ¨rden. Die Oberfla¨chennormalen beider Sei-

50

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

ten mu ¨ssen demnach an den Kontaktfl¨achen entgegengerichtet sein. Unter Ausnutzung dieses Wissens kann der zu betrachtende Parameterraum bei zwei Fragmenten auf fu ¨nf Dimensionen begrenzt werden (zwei Dimensionen fu ¨r die Wahl des Kontaktpunktes auf der ersten Oberfl¨ache, plus zwei Dimensionen fu ¨r die Wahl des Kontaktpunktes auf der zweiten Oberfl¨ache, plus eine Dimension fu ¨r die Rotation um die Oberfl¨achennormale im Kontaktpunkt). Daru ber hinaus kommen nur Oberfla¨chenkontakte in Frage, ¨ bei denen die lokale Umgebung beider Seiten komplement¨ar zueinander ist (eine konvexe Oberfl¨achenregion passt zum Beispiel nur zu einer konkaven, usw.). Dies fu ¨hrt zur optionalen Verwendung geeigneter Merkmale wie beispielsweise im einfachsten Fall Oberfl¨achenkru ¨mmungen. Um nun den verbleibenden Parameterraum zu durchsuchen, bedarf es geeigneter Methoden und Strategien. Die meisten bekannten Optimierungsverfahren (wie Gradientenabstieg, ’hill climber’, ’simulated annealing’, etc.) profitieren von kleinen Bewegungen in ein lokales Optimum. Viele Optimierungsverfahren mu ¨ssen in jedem Schritt mehrere benachbarte Konfigurationen bewerten, um die Richtung des Optimums zu scha¨tzen. Im Fall des 3d-Puzzle-Problems ist dies ein Nachteil, da gerade die Bewertungsfunktion relativ zeitaufw¨andig ist. Untersuchungen haben außerdem gezeigt, dass beim 3d-PuzzleProblem der Parameterraum oft ¨außerst stark mit lokalen Optima frequentiert ist. Aus diesem Grund entarten diese Optimierungsverfahren zu einer nahezu vollst¨andigen Suche, bei der ein Großteil der Zeit fu ¨r die Iteration in falsche lokale Optima verschwendet wird. Einige Verfahren zum Registrieren von Objekten (wie beispielsweise die ’pose clustering’-Ans¨atze) setzen deshalb auf die vollst¨andige Durchsuchung des Parameterraums und konzentrieren sich auf eine Beschleunigung der Bewertungsmethode. Die gefundene L¨osung kann dann im Nachhinein als Initiall¨osung fu ¨r eine Feinoptimierung genutzt werden. Natu ¨rlich kann ein kontinuierlicher Raum nicht vollst¨andig“, sondern nur an diskreten ” Punkten bewertet werden. Der Parameterraum muss also geeignet diskretisiert bzw. die Parameter geeignet quantisiert werden. (Eine Verteilung von diskreten Punkten entsteht im u ¨brigen ebenso, wenn die Startpunkte fu ¨r eine lokale Optimasuche gesetzt werden). Diese Quantisierung kann auf unterschiedliche Weise erfolgen. Im einfachsten Fall wird der Parameterraum mit einem regelm¨aßigem Abtastgitter u ¨berlagert. Da dieses Gitter sich nicht an der Gestalt der Fragmente orientiert, ist die Gefahr groß, dass das globale Optimum zwischen die Abtastpunkte f¨allt. Eine ¨ahnliche Vorgehensweise, die sich allerdings besser an der Gestalt orientiert, ist die Verwendung diskreter Punkte auf der Oberfl¨ache, welche zur Kontaktbildung herangezogen werden und somit diskrete Lagepunkte ergeben. In den meisten F¨allen liegen die Oberfl¨achen von vornherein in diskreter Form vor (z.B. bei Punktwolken), so dass diese Vorgehensweise keinen Nachteil darstellt. Im Fall von großen Datens¨atzen kann eine geeignete Unterauswahl von Oberfl¨achenpunkten den Such- und Bewertungsvorgang stark beschleunigen. Problematisch ist die oft verwendete Kombination von diskreten Gitterpunkten im Parameterraum und diskreten Punkten auf der Oberfl¨ache (wie beispielsweise beim Ansatz von Barequet & Sharir [6] vorgeschlagen). Aufgrund der doppelten Abtastung in unterschiedlichen R¨aumen fu ¨hrt diese Vorgehensweise leicht zu Abtastfehlern und damit verbundenen Falschbewertun-

4.2. Formale Problemstellung und Begriffsdefinitionen

51

gen von L¨osungen. Zusammengefasst bedeutet dies, dass folgende Ziele bei der Entwicklung eines neuen Ansatzes zum Matchen von Fragmentoberfla¨chen beru ¨cksichtigt werden mu ¨ssen: • Es sollten nur Lagen, bei denen die Fragmente in Kontakt sind, betrachtet werden. • Oberfla¨chenmerkmale k¨onnen den Suchraum weiter einschr¨anken. Die verwendeten Merkmale mu ¨ssen trotz Messrauschen stabil berechenbar und signifikant sein. • Die Lagebewertung sollte m¨oglichst effizient sein. • Der Parameterraum kann ¨außerst viele lokale Optima besitzen, insbesondere wenn die Oberfla¨chen rau oder verrauscht sind. Auf die Verbesserung lokaler Optima sollte keine Zeit verschwendet werden. • Eine geeignete Parameterquantisierung muss gew¨ahlt werden, da sie entscheidend fu ¨r die Robustheit des Verfahrens ist.

4.2

Formale Problemstellung und Begriffsdefinitionen

Bevor wir zu konkreten L¨osungsans¨atzen fu ¨r das 3d-Puzzle-Problem u ¨bergehen, ben¨otigen wir eine solide mathematische Basis. Deshalb werden wir im Folgenden einige mathematische Hilfskonstrukte formal definieren, die in dieser Arbeit durchga¨ngig verwendet werden. Angenommen es liegen die Oberfl¨achen von zwei Fragmenten in Form von Punktwolken vor. Gegeben sei also die Menge PA der 3d Punktkoordinaten p~1 , . . . , p~k auf der Oberfl¨ache des Fragmentes A und die Menge NA von zugeh¨origen Oberfl¨achennormalen ~n1 , . . . , ~nk . Hierbei gehen wir stets von senkrecht nach außen zeigenden Oberfl¨achennormalen mit der L¨ange eins aus. Durch Kombination von Punktkoordinaten und Oberfl¨achennormalen erhalten wir fu ¨r jeden Oberfl¨achenpunkt einen 6d Parametervektor, den wir im Folgenden orientierten Punkt nennen wollen (engl. ’oriented point’ siehe auch Johnson & Hebert [44]). Definition 1 (orientierter Punkt) Ein orientierter Punkt ist ein Raumpunkt mit einer Orientierung. In dieser Arbeit besteht ein orientierter Punkt ~u aus den Koordinaten eines Punktes auf der Fragmentoberfl¨ ache und der zugeh¨ origen Oberfl¨ achenorientierung. Wir fassen ihn als 6d Vektor ~u := [~pu , ~nu ] ∈ IR6 auf, wobei p~u ∈ IR3 die Koordinaten des Punktes und ~nu ∈ IR3 die zugeh¨origen Oberfl¨ achennormale beschreibt. Die Punktwolken k¨onnen damit als eine Menge A von orientierten Punkten auf Fragment A und die Menge B von orientierten Punkten auf dem Gegenstu ¨ck B aufgefasst werden: A := {~u = [~pu , ~nu ] | p~u ∈ PA und ~nu ∈ NA } B := {~v = [~pv , ~nv ] | p~v ∈ PB und ~nv ∈ NB } .

(4.1) (4.2)

52

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

Abbildung 4.1 Zur Darstellung der Oberfl¨achen.

Abbildung 4.1 zeigt links die Oberfla¨che eines Fragmentes in Form einer solchen Punktwolke bestehend aus vielen einzelnen orientierten Punkten. Da diese Form der Darstellung fu ¨r den Menschen nur sehr schlecht interpretierbar ist, wird in den Abbildungen dieser Arbeit statt dessen immer ein gerendertes Dreiecksnetz der Oberfl¨achen dargestellt. Dennoch ist eine Dreiecksvernetzung fu ¨r die folgenden Ansa¨tze nicht notwendig.

Ziel ist es nun, diejenige relative Lage zu finden, die die Fragmente richtig“ zusammen” fu ¨gt. Was das bedeutet, h¨angt vom Anwendungsfall ab. Um die beste aller relativen Lagen zu finden, werden anwendungsspezifische Gu ¨te- oder Fehlermaße zur Bewertung ben¨otigt. Denkbare Kriterien sind beispielsweise die Glattheit der intakten Oberfl¨ache nach dem Zusammenfu ¨gen oder der Verzahnungsgrad“ der Bruchfl¨achen. Hierauf wer” den wir noch in Abschnitt 4.5 na¨her eingehen. Eines der wichtigsten Kriterien ist jedoch sicherlich die Gr¨oße der Kontaktfl¨ache zwischen den Fragmenten, auf das wir uns im Folgenden konzentrieren wollen. Verfahren die die gesamte Kontaktfl¨ache beru ¨cksichtigen versprechen eine h¨ohere Robustheit als Verfahren die allein auf lokalen Oberfl¨achenmerkmalen beruhen. Ein Kontakt liegt vor, wenn sich die Oberfla¨chen der Fragmente an mindestens einem Punkt tangential beru ¨hren. Definition 2 (tangentialer Kontakt zwischen zwei orientierten Punkten) Bei einer gegebenen relativen Lage ATB (relative Transformationsmatrix in homogener Koordinatenschreibweise) liegt genau dann ein tangentialer Kontakt zwischen den orientierten Punkten ~a ∈ A und ~b ∈ B vor, wenn die Punktkoordinaten in dieser Lage zusammenfallen p~a = ATB · p~b und die zugeh¨ origen Oberfl¨ achennormalen entgegengerichtet A sind ~na = − TB · ~nb .

4.2. Formale Problemstellung und Begriffsdefinitionen

53

Definition 3 (tangentialer Kontakt zwischen Punkt und Fragment) Bei einer gegebenen relativen Lage steht ein orientierter Punkt ~a genau dann in tangentialem Kontakt mit Fragment B, wenn es einen orientierten Punkt ~b ∈ B gibt, der in tangentialem Kontakt mit ~a steht. Die Menge MAB (ATB ) bezeichnet im Folgenden die Punkte von Fragment A, die unter einer gegebenen Transformation ATB in tangentialem Kontakt mit Fragment B stehen. Mathematisch ausgedru ¨ckt n









o

MAB (ATB ) := ~a ∈ A | ∃ ~b ∈ B : p~a − ATB · p~b < εp ∧ ~na · ATB · ~nb + 1 < εn . (4.3) Im Gegensatz zu Definition 2 wird in dieser Festlegung eine maximale translatorische Abweichung von εp und eine rotatorische Abweichung von εn toleriert. Diese Toleranzen sind notwendig, da im Allgemeinen real gemessene Daten mit Ungenauigkeiten behaftet sind. Das heißt εp und εn sollten an die Genauigkeit der Oberfl¨achen angepasst werden. Die relative Gr¨oße der Kontaktfl¨ache auf Fragment A kann dann u ¨ber das Verh¨altnis der Anzahl an Kontaktpunkten zur Gesamtpunktanzahl Ω :=

|MAB (ATB )| |A|

(4.4)

approximiert werden. Gesucht ist diejenige relative Transformation ATB , die die Kontaktfl¨ache Ω maximiert. Entscheidend ist hierbei jedoch, dass nur relative Transformationen gewertet werden, bei denen die Fragmente sich nicht durchdringen. Definition 4 (Durchdringung) Zwei Fragmente mit geschlossener Oberfl¨ ache durchdringen sich genau dann, wenn es Punkte auf der Oberfl¨ ache des einen Fragments gibt, die sich innerhalb des anderen Fragments befinden. Eine solche relative Lage ist bei starren Fragmenten physikalisch nicht m¨ oglich. Wie diese Anforderung algorithmisch realisiert werden kann, wird sp¨ater in den beiden Lo¨sungsstrategien in Abschnitt 4.3 und 4.4 genau erla¨utert. Bis zum jetzigen Zeitpunkt haben wir die relative Lage zwischen zwei Fragmenten ausschließlich mit Hilfe einer homogenen 4×4-Transformationsmatrix ATB ausgedru ¨ckt. Wie bereits in der Einfu hrung erl a utert wurde, wollen wir nicht den 6d Raum aller relativen ¨ ¨ Transformationen diskretisieren und nach einem Maximum durchsuchen, sondern nur diejenigen Lagen betrachten, bei denen die Fragmente in Kontakt stehen. Eine Lagehypothese ist in unserem Fall also immer eine Kontaktsituation. Definition 5 (Lagehypothese) Eine Lagehypothese bezeichnet die vorl¨ aufige Annahme einer relativen Position und Orientierung von zwei oder mehreren Fragmenten zueinander. Lagehypothesen sollten durch weitere Untersuchungen verifiziert oder falsifiziert werden. In dieser Arbeit wird eine Lagehypothese stets aus der Annahme eines tangentialen Kontaktes zwischen mehreren Oberfl¨ achenpunkten abgeleitet. Wir k¨onnen uns beispielsweise eine Lagehypothese zwischen zwei Fragmenten A und B konstruieren, indem wir einen tangentialen Kontakt zwischen den orientierten Punkten

54

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

a ements p~c

A FA

B

p~d

~nc ~nd

p~a

A

~na

FB

TB

p~b ~nb

Abbildung 4.2 Zur Berechnung der relativen Transformation ATB .

~a ∈ A und ~b ∈ B sowie zwischen ~c ∈ A und d~ ∈ B annehmen. Diese Annahme beschr¨ankt alle Freiheitsgrade der relativen Lage. Aus einer solchen Lagehypothese kann natu ¨rlich bei Bedarf eine homogene 4×4-Transformationsmatrix berechnet werden. Abbildung 4.2 illustriert eine m¨ogliche Vorgehensweise. Die relative Transformation ATB wird hier mittels zweier Koordinatensysteme FA und FB (jeweils ein Koordinatensystem pro Fragment) ermittelt: TB = FA−1 · FB

A

(4.5)

mit FA := F(~a, ~c) und FB := F(~b∗ , d~∗ ), wobei der hochgestellte Stern (in Anlehnung an die komplexe Konjugation) die Invertierung der Oberfl¨achennormale kennzeichnet ~b∗ := [~pb , −~nb ] ;

d~∗ := [~pd , −~nd ]

(4.6)

und die Funktion F(~u, ~v ) eine homogene 4×4 Transformationsmatrix repr¨asentiert, welche zwischen den orientierten Punkten ~u und ~v liegt: 

p ~uv ×~nuv F(~u, ~v ) :=  k~puv ×~nuv k p~uv 0 0

p ~uv ×~nuv ×~ puv k~ puv ×~nuv ×~ puv k

0



p ~u +~ pv 2 

1

(4.7)

mit dem Differenzvektor p~uv und dem kombinierten Normalenvektor ~nuv p~uv :=

p~v − p~u ; k~pv − p~u k

~nuv := ~nu + ~nv .

(4.8)

Um singul¨are Koordinatensysteme zu vermeiden, muss sichergestellt werden, dass die L¨ange von p~uv und ~nuv gr¨oßer null ist. Die hiermit berechnete Transformation ATB richtet beide Punktpaare im Sinne des minimalen quadratischen Fehlers aus. Allerdings ist ein exakter tangentialer Kontakt an zwei Punkten nur dann mo¨glich, wenn die Absta¨nde

4.2. Formale Problemstellung und Begriffsdefinitionen

55

der Punktpaare und die Oberfl¨achenorientierungen an den Kontaktpunkten u ¨bereinstimmen. Genauer gesagt mu ssen wir u berpr u fen, ob das orientierte Punktpaar (~a, ~c) ¨ ¨ ¨ ~ ist. geometrisch komplement¨ar zu dem orientierten Punktpaar (~b, d) Definition 6 (geometrisch komplement¨ ar / geometrisch kongruent) Zwei orientierte Punktmengen A und B sind geometrisch komplement¨ ar, wenn es eine relative Lage gibt, bei der jeder Punkt von A mit einem Punkt von B in tangentialem Kontakt steht und umgekehrt jeder Punkt von B in tangentialem Kontakt mit einem Punkt von ¨ A steht. Aquivalent dazu sind A und B genau dann geometrisch komplement¨ ar, wenn ∗ ∗ ~ ~ A geometrisch kongruent zu B := { b | b ∈ B} ist. Bei genauerer Betrachtung stellt man fest, dass die r¨aumliche Beziehung zwischen zwei orientierten Punkten auf einem Fragment eindeutig durch vier Relationen definiert werden kann:

PSfrag repla ements

duv αuv βuv δuv

:= := := :=

k~pv − p~u k , arccos(~nu · p~uv ), arccos(~nv · p~uv ), atan2 (~nu · (~puv × ~nv ), (~nu × p~uv ) · (~puv × ~nv )) ,

(4.9) (4.10) (4.11) (4.12)

bestehend aus der euklidischen Distanz duv , den Neigungswinkeln αuv , βuv zwischen

δuv ~nu

αuv p~u

βuv duv

~nv

p~v

Abbildung 4.3 Relationen zwischen den orientierten Punkten ~u und ~v

den Oberfl¨achennormalen und der Verbindungsgeraden durch p~u und p~v , sowie dem Rotationswinkel δuv zwischen den Oberfl¨achennormalen um die Verbindungsgerade. Die Skizze in Abbildung 4.3 veranschaulicht die vier Relationen. Es ist sofort ersichtlich, dass diese Relationen stets invariant gegenu ¨ber Rotation und Translation sind. Zwei orientierte Punktpaare sind also genau dann geometrisch kongruent, wenn die vier Relationen bei beiden Paaren u ¨bereinstimmen. Nachdem wir nun formal definiert haben, wie man gute Lagehypothesen konstruieren kann und nach welchem Gu ¨temaß die Hypothesen bewertet werden, stellt sich sofort die Frage, wie dieser Ansatz effizient realisiert werden soll. Bei n Oberfl¨achenpunkten pro Fragment gibt es zu jedem Fragment bereits n2 verschiedene Punktpaare. Ein naiver Algorithmus, der alle Paarkombinationen auf Kongruenz u ¨berpru ¨ft, um gu ¨ltige Hypothesen zu finden, ha¨tte bereits eine Zeitkomplexita¨t von O(n4 ). Jede gu ltige Hypothese ¨

56

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

muss dann noch durch Ausz¨ahlen von tangentialen Kontakten bewertet werden, was in einer naiven Implementierung nochmals einen zusa¨tzlichen Faktor von n2 bedeutet. In den folgenden Abschnitten werden wir jedoch zwei Ans¨atze vorstellen, die diese Problematik ¨außerst effizient l¨osen.

4.3

Ein zufallsbasierter Ansatz: ’Random Sample Matching’

Der erste Ansatz beruht auf einer zufallsbasierten Generierung von wahrscheinlichen Lagehypothesen und einer schnellen Hochrechnung der Kontaktfl¨ache. Es handelt sich also um eine alternierende Hypothesengenerierung und Hypothesenverifizierung, die im Kern auf den klassischen RANSAC-Algorithmus zuru ¨ckzufu ¨hren ist. 4.3.1

Das RANSAC-Konzept

Der Ausdruck RANSAC“ steht fu ¨r ’Random Sample Consensus’ und wurde 1981 von ” Fischler & Bolles [23] gepr¨agt. Bei dem RANSAC-Ansatz handelt es sich um einen Algorithmus zum Scha¨tzen von Modellparametern aus einer Menge von Datenpunkten. H¨aufig wird der Ansatz zum Detektieren von analytisch beschreibbaren Geometrien (z.B. von Geraden oder Kreisen in Bildern) oder zum Kalibrieren von extrinsischen Kameraparametern verwendet. Somit ist der Ansatz auf die gleiche Problemklasse anwendbar, die auch von den ’Pose Clustering’-Verfahren (siehe Kapitel 3.3.2), wie z.B. der HoughTransformation gel¨ost werden kann. Der zufallsbasierte Algorithmus ist zugleich einfach und m¨achtig: Zuerst wird eine zuf¨allige Untermenge aus der Menge aller gemessenen Datenpunkte ausgew¨ahlt. Die Anzahl der auszuw¨ahlenden Punkte entspricht typischerweise der Mindestanzahl, die n¨otig ist, um alle Modellparameter festzulegen. Danach werden die Parameter des Modells unter Verwendung der ausgew¨ahlten Daten berechnet. Die Gu ¨te der Hypothese wird nun m¨oglichst effizient unter Beru ¨cksichtigung aller vorhandenen Datenpunkte gesch¨atzt. Ein gebr¨auchliches Gu ¨temaß ist die Anzahl der Datenpunkte, die unter einer gewissen Toleranz zu der Hypothese passen. Der Vorgang wird solange wiederholt bis eine hinreichend gute L¨osung gefunden oder ein Zeitlimit u ¨berschritten wurde. Der folgende Algorithmus verdeutlicht die Vorgehensweise nochmals an einem konkreten Anwendungsbeispiel: RANSAC-Algorithmus zur Detektion von Geraden in Bin¨ arbildern Gegeben sei ein beliebiges Bin¨arbild in dem geradenhafte Strukturen gesucht werden sollen. In jedem Durchlauf werden zuerst zuf¨allig zwei gesetzte Bildpunkte ausgew¨ahlt und angenommen, dass durch diese Punkte eine Gerade verl¨auft. Danach wird gepru ¨ft, wie viele weitere Punkte zu dieser Geraden passen. 1. Wa¨hle zuf¨allig zwei Punkte p1 und p2 aus der Menge aller gesetzten Bildpunkte aus.

4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’

57

2. Berechne die Parameter einer Geraden g die durch p1 und p2 verl¨auft. 3. Scha¨tze die Gu ¨te von g durch Ausz¨ahlen der gesetzten Bildpunkte deren Abstand zu g kleiner als ε ist. 4. Wiederhole Schritt 1-3 bis die Lo¨sung gut genug ist, alle Punktpaare ausgewa¨hlt wurden, oder ein Zeitlimit u ¨berschritten ist. Der Algorithmus ist aufgrund seiner Zufallskomponente nicht deterministisch, aber terminiert nach endlicher Zeit, falls in Schritt 1 dafu ¨r gesorgt wird, dass kein Punktpaar doppelt ausgew¨ahlt wird. Die Kernidee besteht darin, zum einen nur Geraden zu pru ¨fen, die durch mindestens zwei Punkte verlaufen und zum anderen so schnell es geht m¨oglichst viele dieser Geraden zu u ¨berpru ¨fen. Die Laufzeit des Algorithmus h¨angt erheblich von der Effizienz der Gu ¨teberechnung in Schritt 3 ab. Bei einer großen Anzahl von gesetzten Punkten kann die Gu ¨teberechnung stark von einer schnellen Hochrechnung profitieren. Jede Hypothese wird dabei zuerst mit einer geringen Anzahl von gesetzten Bildpunkten getestet. Falls eine Hochrechnung auf die Gesamtmenge eine schlechte Gu ¨te vorhersagt bzw. die Gu ¨te weit unter dem bis dato besten Ergebnis liegt, wird die Gu teberechnung abgebrochen und eine neue Hypothese generiert. Das RANSAC¨ Verfahren bietet die gleiche Robustheit gegenu ¨ber Ausreißern wie die wohl bekannte Hough-Transformation fu ¨r Geraden [42] (siehe auch Abbildung 4.4), bietet aber einige zus¨atzliche Vorteile: (i) Es wird kein Akkumulartorarray (Hough-Raum) ben¨otigt, weshalb der Speicherbedarf marginal ist. Außerdem werden die Modellparameter nicht auf einen diskreten Raum abgebildet. Die Parameterquantisierung grenzt die Genauigkeit der HoughTransformation ein, da der Speicherbedarf mit Erh¨ohung der Genauigkeit ansteigt und die lokalen Optima in Cluster zerfallen, die u ¨ber mehrere Hough-Raumzellen verteilt sind, was die Suche nach Clustern erschwert. (ii) Der RANSAC-Algorithmus findet durch seine datenpunktgetriebene zuf¨allige Abtastung des L¨osungsraums sehr schnell gute“ L¨osungen, wodurch die Gu ¨teberech” nung schneller wird, da im Folgenden immer mehr Hypothesen fru ¨hzeitig durch die Hochrechnung ausgemustert werden. (iii) Die Suche kann jederzeit abgebrochen werden. Ein Abbruchkriterium k¨onnte beispielsweise eine Gu ¨tevorgabe sein, die zu erfu ¨llen ist oder ein Zeitlimit, das u ¨berschritten wurde. Letzteres macht das Verfahren besonders interessant fu ¨r Echtzeitanwendungen. (iv) Die Implementierung ist sehr einfach und ohne Probleme zu parallelisieren. Tabelle 4.1 zeigt die Zeit- und Speicherkomplexit¨at der Hough-Transformation und des RANSAC-Ansatzes im Vergleich. Die asymptotische Zeitkomplexita¨t ist bei beiden Methoden vergleichbar. Starke Laufzeitunterschiede zeigen sich jedoch in einem Vorfaktor, der bei der Hough-Transformation von der gewu ¨nschten Genauigkeit (Aufl¨osung des Hough-Raums) und bei dem RANSAC-Algorithmus vom Prozentsatz der ’inlier’ abha¨ngt. Dieser Unterschied verdeutlicht auch die Nachteile des RANSAC-Ansatzes: Die

58

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

Ausreiÿer Optimum bei Minimierung der Fehlerquadrate

epla ements

Ideale Modelgerade Abbildung 4.4 Die lineare Regression bzw. Minimierung der Fehlerquadrate kann aufgrund von Ausreißern leicht zum falschen Ergebnis f¨ uhren. Tabelle 4.1 Komplexit¨atsvergleich von Hough-Transformation und RANSAC-Verfahren: n ist die Anzahl der Datenpunkte; m ist die Anzahl der ’inlier’; d ist die Anzahl der Freiheitsgrade des Modells; b ist die Aufl¨osung des Hough-Raums. Unter der realistischen Annahme, dass b und n/m konstant sind, werden s¨amtliche Zeitkomplexit¨aten zu O (n) und alle Speicherkomplexit¨aten zu O (1). Geradensuche Zeit Speicher Hough-Trans. RANSAC

O (n · b)

n 2 O n · (m )



O (b 2 ) O(1)

Allgemein Zeit Speicher   O n · b d−1 O bd  n d O n · (m ) O(1)

Laufzeit steigt an, wenn die Anzahl der ’inlier’ im Verh¨altnis zur Gesamtpunktanzahl abf¨allt, da in diesem Fall die Wahrscheinlichkeit, zuf¨allig eine gute L¨osung zu finden, kleiner wird. Bei einer hohen Anzahl von ’outlier’ und geringen Genauigkeitsanforderungen ist die Hough-Transformation effizienter. Zum anderen kann der nichtdeterministische Charakter des RANSAC-Verfahrens als Nachteil angesehen werden, da im Vorfeld nie ganz klar ist, wie lange der Algorithmus ben¨otigt. RANSAC u ¨ bertragen auf das 3d-Puzzle-Problem Im Folgenden werden wir das RANSAC-Konzept auf das Matchen von Oberfl¨achen u ¨bertragen. Der vorgeschlagene Ansatz durchsucht auf effiziente Weise den Raum aller relativen Lagen zweier Fragmente. Transformationen, bei denen die Fragmente nicht in Kontakt stehen, werden von vornherein ausgeschlossen. Die gesuchte relative Lage wird danach bewertet, wie groß der Oberfl¨achenkontakt zwischen den Fragmenten ist. Des weiteren sollten Fragmentdurchdringungen vermieden werden, weshalb sie eine Gu ¨testrafe erhalten. Wie beim klassischen RANSAC-Algorithmus werden wahrscheinliche

4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’

59

Hypothesen generiert und deren Gu ¨te durch eine effiziente Hochrechnung gesch¨atzt. Der Basisalgorithmus besteht aus den folgenden Schritten: 1. Konstruiere eine Lagehypothese durch Annahme eines tangentialen Kontaktes zwischen dem zuf¨allig ausgew¨ahlten orientierten Punktpaar ~a, ~c ∈ A und einem dazu geometrisch komplement¨aren Punktpaar ~b, d~ ∈ B. ¨ Optional: Uberpr u ¨fe ob lokale Merkmale an den Kontaktpunkten u ¨bereinstimmen. 2. Berechne die Gu ¨te (die Gr¨oße der Kontaktfl¨ache) der Lagehypothese. Die Effizienz dieses Schrittes wird erheblich durch eine schnelle zufallsbasierte Hochrechnung gesteigert. 3. Wiederhole die Schritte 1 und 2 und speichere das jeweils beste Ergebnis, solange bis die Gu ¨te hinreichend hoch ist, alle Hypothesen getestet wurden oder die maximale Suchzeit abgelaufen ist. Es ist offensichtlich, dass die Wahrscheinlichkeit korrespondierende Oberfla¨chenpunkte zu finden durch die Beru ¨cksichtigung von lokalen Oberfl¨achenmerkmalen stark erh¨oht werden kann. In den Experimenten in Abschnitt 4.3.4 wird beispielsweise die mittlere Kru ¨mmung verwendet, wodurch auf einfache Weise u ¨ber 95% der Kontaktpunktpaare ausgeschlossen werden k¨onnen. Die St¨arke des Algorithmus ist seine Unabh¨angigkeit gegenu ¨ber der Fragmentform. Die Effizienz ist direkt proportional zu der Gr¨oße der kompatiblen Bruchfl¨ache und bleibt unbeeinflusst gegenu ¨ber einem kleinen Konvergenzradius∗ oder einer geringen Fu ¨gerichtungstoleranz (wie beispielsweise beim Fu ¨gen von Stift und Loch oder Stecker und Sockel). 4.3.2

Schnelle Generierung von Lagehypothesen

In einer eigenen Arbeit (siehe Winkelbach et al. [98]) wurde bereits eine sehr schnelle Methode zur Generierung von Lagehypothesen vorgestellt. Dieser Ansatz wurde inzwischen jedoch weiterentwickelt, wodurch der Matching-Algorithmus um ein Vielfaches beschleunigt wurde. In den experimentellen Ergebnissen ist eine Beschleunigung um den Faktor 20 bis 40 bzw. bei der Registrierung von Tiefendaten sogar ein Faktor von 40 bis 100 (siehe Winkelbach et al. [97]) zu beobachten. In Abschnitt 4.2 haben wir gesehen, wie man Lagehypothesen aus den gegebenen Punktwolken konstruieren kann. Hierzu w¨ahlen wir ein orientiertes Punktpaar auf Fragment A aus und ben¨otigen dann ein geometrisch komplement¨ares Punktpaar auf Fragment B. Die Lagehypothese ist dann die Annahme eines tangentialen Kontaktes zwischen beiden Punktpaaren. Angenommen wir haben zwei Oberfla¨chen A und B, die vollsta¨ndig geometrisch komplement¨ar sind und durch Punktwolken mit jeweils n orientierten Punkten repr¨asentiert werden. Die Frage ist: Wie lange dauert es, bis man zwei korrespondierende Punktpaare (eines auf A und eines auf B) findet? ∗ Konvergenzradius bezeichnet hier den maximalen Lagefehler, den eine Initiall¨osung haben darf, damit sie in das globale Optimum konvergiert.

60

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

Wenn man ein Punktpaar auf A gew¨ahlt hat, dann ist die Wahrscheinlichkeit, zuf¨allig das korrespondierende Punktpaar auf B zu ziehen, 1/n2 . Man muss also im Schnitt n2 +1 Punktpaare betrachten, bis man zwei korrespondierende Paare erwischt (Ziehen mit Zuru ¨cklegen). Dies entspricht bereits einer nicht zu vernachl¨assigenden Komplexit¨at von O(n2 ). Dieses Laufzeitverhalten scheint auf den ersten Blick unvermeidbar zu sein. Doch durch einen einfachen Trick geht es wesentlich schneller: Angenommen wir tragen in einem Vorverarbeitungsschritt n2 /k Punktpaare von A in eine ’Hashtabelle’ ein, wobei die Hashtabelle mit translations- und rotationsinvarianten Merkmalen/Hashwerten indiziert wird. Nehmen wir des weiteren vereinfacht an, dass die Hashwerte eindeutig sind. Wenn wir nun zuf¨allig ein Punktpaar auf Fragment B w¨ahlen, dann ist die Wahrscheinlichkeit 1/k, dass wir ein dazu passendes Paar von A in der Hashtabelle finden. Somit brauchen wir im Schnitt nur noch n2 /k+k Paare zu betrachten (Vorverarbeitung mitgez¨ahlt). Bei k = n w¨aren das beispielsweise nur noch 2n Paare. Es bleibt also die erfreulich geringe Komplexit¨at von O(n) u ¨brig. Und es geht noch etwas schneller: Wenn wir nun alternierend erst ein zuf¨alliges Punktpaar von A ziehen und in die Hashtabelle eintragen und dann ein zuf¨alliges Punktpaar von B ziehen und in die Hashtabelle eintragen, brauchen wir im Schnitt nur noch ca. 1,2 · n Paare zu betrachten bis es zu einer Kollision kommt. Diese Methode entspricht dem so genannten Geburtstagsangriff [90] aus dem Bereich der Kryptologie, welcher dazu missbraucht werden kann, zwei verschiedene Dokumente mit der gleichen digitalen Signatur (Hashwerten) zu erzeugen. Der Begriff ’Geburtstagsangriff’ ist wiederum von dem so genannten Geburtstagsparadoxon abgeleitet. Das Geburtstagsparadoxon besagt, dass bei 23 Personen die Wahrscheinlichkeit, dass mindestens zwei Personen am gleichen Tag im Jahr Geburtstag haben, bereits gr¨oßer als 1/2 ist. Es handelt sich also um kein ’Paradoxon’ im eigentlichen Sinne, sondern es wird lediglich so bezeichnet, da es der u ¨blichen Intuition widerspricht. Nach diesem Prinzip arbeitet auch der Algorithmus. Anstatt einer Hashtabelle verwenden wir jeweils eine 4d Relationstabelle pro Fragment. Diese Tabellen werden nun alternierend mit zuf¨alligen Punktpaaren gefu ¨llt. Als Tabellenindizes dienen die vier translations- und rotationsinvarianten Relationen eines orientierten Punktpaares (~u, ~v ), ¨ die bereits in den Gleichungen (4.9)–(4.12) auf Seite 55 zur Uberpr u ¨fung der geometrischen Kongruenz von Punktpaaren aufgestellt wurden: 







duv k~pv − p~u k  cos αuv   ~nu · p~uv   :=  rel (~u, ~v ) :=    cos βuv   ~nv · p~uv atan2 (~nu · (~puv × ~nv ).(~nu × p~uv ) · (~puv × ~nv )) δuv

(4.13)

Zur Beschleunigung der atan2 -Funktion kann eine einfache eindimensionale LookUpTabelle fu ¨r den Arkustangens und eine Fallunterscheidung verwendet werden. Wahl et al. [87] haben gezeigt, dass ganz ¨ahnliche Relationsvektoren auch in Merkmalshistogrammen akkumuliert und zur schnellen 3d Formklassifizierung verwendet werden k¨onnen. Die Suchschleife des Algorithmus arbeitet nun folgendermaßen:

4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’

61

1. Wa¨hle ein zuf¨alliges orientiertes Punktpaar ~a, ~c ∈ A und berechne den zugeh¨origen Relationsvektor rel(~a, ~c). 2. Trage das Punktpaar in die Relationstabellen RA ein: RA [rel(~a, ~c)] ← (~a, ~c).

~ ← RB [rel(~a, ~c)]. 3. Lies die andere Relationstabelle RB an der gleichen Stelle aus: (~b, d) ~ Falls an dieser Stelle bereits ein Eintrag steht ⇒ neue Lagehypothese (~a, ~b, ~c, d). ~ Optional: Pru ¨fe ob f eature(~a) = f eature(~b) und f eature(~c) = f eature(d).

4. Wa¨hle ein zufa¨lliges orientiertes Punktpaar ~b, d~ ∈ B und berechne den zugeho¨rigen Relationsvektor rel(~b∗ , d~∗ ). ~ 5. Trage das Punktpaar in die Relationstabellen RB ein: RB [rel(~b∗ , d~∗ )] ← (~b, d).

6. Lies die Relationstabelle RA an der gleichen Stelle aus: (~a, ~c) ← RB [rel(~b∗ , d~∗ )]. ~ Falls an dieser Stelle bereits ein Eintrag steht ⇒ neue Lagehypothese (~a, ~b, ~c, d). ~ Optional: Pru ¨fe ob f eature(~a) = f eature(~b) und f eature(~c) = f eature(d).

Diese Schritte werden wiederholt, bis die Hypothese gut genug ist, alle Kombinationen getestet wurden oder das Zeitlimit abgelaufen ist. Natu ¨rlich mu ¨ssen im Schritt 1 und 4 die vier Relationen jeweils auf einen beschr¨ankten ganzzahligen Wertebereich normiert werden, damit sie als Tabellenindizes dienen k¨onnen. In den Experimenten haben sich 4d Relationstabellen mit jeweils 324 Zellen bewa¨hrt. Dies ergibt bei 2x2 Bytes pro Zelle einen vertretbaren Speicherbedarf von vier Megabyte pro Tabelle. In Abbildung 4.5 wird die Vorgehensweise nochmals anschaulich dargestellt. Hiermit wird eine Laufzeitkomplexit¨at von O(n) fu ¨r die erste Hypothese erreicht; diese konvergiert jedoch fu ¨r weitere Hypothesen gegen eine effiziente Laufzeit von O(1), da die Relationstabellen immer weiter gefu ¨llt werden.

62

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

RB

RA

A

?

c a (a,c)

RB

RA

b

d

B

(b,d) ?

RB

RA

A

?

(a,c) c

a RA ?

RB

B

(b,d) d

b

Abbildung 4.5 Generierung von Lagehypothesen: In einer Schleife werden alternierend Punktpaare in die Relationstabellen RA und RB eingetragen. Hierdurch f¨ ullen sich die Tabellen und es finden sich nach kurzer Zeit Punktpaare mit gleichen Relationen, die demnach per Rotation und Translation aufeinander abbildbar sind und als Lagehypothese dienen.

4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’

4.3.3

63

Effiziente Bewertung der Lagehypothesen

Nach der Generierung einer Lagehypothese muss die Gu ¨te der Hypothese u ¨berpru ¨ft werden. Hierfu ¨r berechnen wir zuerst die zur Lagehypothese zugeh¨orige relative TransA formation TB (zur Berechnung siehe Gleichung (4.5), Seite 54) und dann die Gr¨oße der Kontaktfl¨ache zwischen den beiden Fragmenten A und B bzw. das Verh¨altnis Ω zwischen Kontaktpunktanzahl und Gesamtpunktanzahl (vergleiche Gleichung (4.4)). Dieses Verh¨altnis kann auch als Wahrscheinlichkeit, dass ein zuf¨alliger Punkt ~x ∈ A in der gegebenen Lage in Kontakt mit einem Punkt ~y ∈ B steht, interpretiert werden. Deshalb ko¨nnen wir Ω durch eine effiziente Monte-Carlo-Hochrechnung abscha¨tzen, indem wir eine Sequenz von Zufallspunkten auf Kontakt u ¨berpru ¨fen. Der Vorteil hierbei ist, dass die Gu ¨tesch¨atzung fru ¨hzeitig abgebrochen werden kann, falls der Erwartungswert weit unter dem bisher besten Matching-Ergebnis liegt. Der Nachteil ist jedoch, dass hierdurch eine optimale Lo¨sung, aufgrund einer falschen Hochrechnung, verloren gehen kann. Da jedoch ¨ viele Hypothesen nahezu die gleiche relative Lage repr¨asentieren, ist das ’Ubersehen’ all dieser L¨osungen extrem unwahrscheinlich und praktisch zu vernachl¨assigen. Angenommen wir haben eine Sequenz ~x1 , . . . ~xk von unabha¨ngigen orientierten Zufallspunkten auf Fragment A, die bereits durch Multiplikation mit ATB−1 in das Koordinatensystem von Fragment B transformiert wurden. Dann ist Ω gegeben durch Ω := lim

k→∞

Pk

xi ) i=1 contactB (~ k

,

(4.14)

wobei contactB (~xi ) eine Funktion ist, die bestimmt, ob ein Punkt ~x in Kontakt mit Fragment B steht contactB (~x) :=



falls k~px − p~y k < ε . sonst.

1 0

(4.15)

Hierbei bezeichnet ~y = [~py , ~ny ] jeweils denjenigen orientierten Punkt auf Fragment B, der die ku ¨rzeste Distanz zu ~x hat ~y := arg min k~px − p~b k . ~b∈B

(4.16)

Fu ¨r die Suche nach dem Punkt mit der ku ¨rzesten Distanz verwenden wir einen kd-tree (siehe Friedman et al. [25]), wodurch eine logarithmische Zeitkomplexit¨at erreicht wird. Im Gegensatz zu Gleichung (4.14) ist es jedoch nur m¨oglich eine begrenzte Anzahl von Zufallspunkten auf Kontakt zu testen. Aus diesem Grund kann Ω nur bis zu einem vorgegebenen Genauigkeitsgrad approximiert werden. Dies ist jedoch nur bei kontinuierlichen Oberfla¨chen eine Einschra¨nkung, da bei Punktwolken die Anzahl von vornherein begrenzt ist. Unter Beru ¨cksichtigung eines marginalen Fehlers kann Ω fu ¨r jeden zus¨atzlichen Zufallspunkt genauer approximiert werden Ω≈

Pk

xi ) i=1 contactB (~ k

1, 96 ± √ . 2 k

(4.17)

64

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

Wobei diese Darstellung ein Konfidenzintervall beschreibt, innerhalb dessen der tatsa¨chliche Wert mit einer 95%-tigen Wahrscheinlichkeit liegt. Wenn die obere Grenze des Intervalls schlechter als das bisher beste Matching-Ergebnis ist, brechen wir die Berechnung ab und testen die n¨achste Lagehypothese. Auf diese Weise wird die Gu ¨teberechnung w¨ahrend der Laufzeit schneller und schneller, je besser die bisher beste Hypothese wird. Bisher haben wir noch keine Durchdringungen beru ¨cksichtigt. Um sicherzustellen, dass die Fragmente sich nicht durchdringen, subtrahieren wir einfach eine Gu ¨testrafe fu ¨r Durchdringungspunkte (also Punkte des einen Fragments, die sich innerhalb des anderen Fragments befinden). Dies kann beispielsweise durch eine negative Gewichtung w¨ahrend der Kontaktpunktberechnung erfolgen  

1 falls k~px − p~y k < ε , (Kontakt) contactB (~x) = −4 falls k~px − p~y k ≥ ε ∧ (~px − p~y ) · ~ny < 0 , (innen)  0 sonst. (außen) 4.3.4

(4.18)

Experimentelle Ergebnisse

Nachdem alle Schritte des ’Random Sample Matching’-Ansatz erl¨autert wurden, wollen wir an dieser Stelle die Performanz des Ansatzes anhand von unterschiedlichen Fragmenten evaluieren. Alle Experimente wurden auf einem handelsu ¨blichen PC mit AMD Athlon 64 Prozessor und 2.2GHz durchgefu ¨hrt. Um die Genauigkeit der Matching-Resultate zu bewerten, vergleichen wir die algorithmisch berechnete relative Lage mit einer exakten Ziellage. Als Genauigkeitsmaße dienen zum einen die rotatorische Abweichung und zum anderen die mittlere Bruchfl¨achendistanz. Neben der Genauigkeit und Robustheit werden wir insbesondere die Effizienz des Verfahrens analysieren. Betrachten wir als erstes exemplarisch die Bruchstu ¨cke des Venuskopfes in Abbildung 4.6. Hierbei handelt es sich um ein 3d Modell, welches ku ¨nstlich in drei Teile zerschnitten wurde. Als Schnittfl¨ache dienten zuf¨allige fraktale Oberfl¨achen, die manuell in das Objekt hineingelegt wurden. Nach der Auftrennung der Punktwolke des Kopfes in zwei Untermengen, wurden jeweils fu ¨r beide Seiten die Oberfl¨achenpunkte der Schnittfl¨ache (also die Bruchfl¨achen) hinzugefu ¨gt. Um reale Testbedingungen zu schaffen, wurden die Bruchfl¨achen beider Seiten jeweils unterschiedlich abgetastet, so dass selbst in der korrekten Ziellage die Oberfl¨achenpunkte der Bruchfl¨achen nicht exakt aufeinander fallen. Nach dem Start des ’Random Sample Matching’-Algorithmus k¨onnen wir uns zu jedem Zeitpunkt das bisher beste Matching-Ergebnis ausgeben lassen. Die Kurve in Abbildung 4.7 oben zeigt exemplarisch die mittlere Bruchfl¨achendistanz, also die mittlere Distanz zwischen Ist- und Sollposition der Bruchfl¨achenpunkte, sowie die Gr¨oße der Kontaktfla¨che u ¨ber der Laufzeit eines Matching-Durchlaufes. Darunter sind einige Zwischenl¨osungen abgebildet. Gut zu sehen ist, dass der Algorithmus erst v¨ollig falsche Zwischenl¨osungen vorschl¨agt. Die berechnete Gu ¨te der Lagehypothese (also die Gr¨oße der Kontaktfl¨achen) steigt zwar von einer Zwischenl¨osung zur n¨achsten stetig an, dies fu ¨hrt jedoch nicht zwangsweise zu genaueren Ergebnissen. Das heißt, die Genauigkeit

4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’

65

Abbildung 4.6 (Links) 3D-Scan des Venuskopfes; (Rechts) Fragmente nach dem k¨ unstlichen Zerbrechen.

Abbildung 4.7 Matching-Durchlauf: (Oben) Mittlere Bruchfl¨achendistanz (prozentual bzgl. des maximalen Fragmentdurchmessers) und Gr¨oße der Kontaktfl¨ache im zeitlichen Verlauf; (Unten) Einige Zwischenergebnisse.

66

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

Abbildung 4.8 Vier weitere Matching-Durchl¨aufe bei gleichen Eingabedaten.

4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’

67

springt zuf¨allig auf und ab, solange bis der Algorithmus (in diesem Fall nach ca. 1,3 Sekunden) in die Na¨he des Optimums trifft und die Lo¨sung danach nur noch besser werden kann. Da der Algorithmus zufallsbasiert arbeitet, erhalten wir nach jedem Start (mit ge¨anderten ’seed’-Werten fu ¨r den Zufallszahlengenerator) ein anderes Verhalten. Einige weitere Versuchsdurchl¨aufe bei gleichen Eingabedaten sind in Abbildung 4.8 dargestellt. Um statistische Aussagen u ¨ber die Performanz machen zu k¨onnen, wurden jeweils 100 Testdurchla¨ufe pro Fragmentpaar angefertigt. Die Ergebnisse aller 100 Durchla¨ufe beim Venuskopf sind in der obersten Grafik in Abbildung 4.9 u ¨berlagert. Jeder Punkt stellt hier die erreichte Genauigkeit (bzw. Bruchfl¨achendistanz bzgl. des maximalen Fragmentradius) zu einem Zeitpunkt dar. Zu jedem Zeitpunkt liegen also jeweils 100 Datenpunkte vertikal u ¨bereinander. Eine u ¨bliche Darstellung ist die mittlere Genauigkeit und die zugeh¨orige Standardabweichung pro Zeitpunkt. Diese Darstellungsform ist in der mittlere Grafik in Abbildung 4.9 zu sehen. Allerdings ist der Mittelwert und insbesondere die Standardabweichung nur dann aussagekr¨aftig, wenn die Messpunkte nahezu normalverteilt sind. Dies ist aber in unserem Fall nicht gegeben und fu ¨hrt deshalb leicht zu Fehlinterpretationen. Zum Beispiel impliziert die Kurve des Mittelwertes, dass nach einer Laufzeit von 1,5 Sekunden im Schnitt eine Bruchfl¨achendistanz von ca. 15% erreicht wird. Wenn wir uns allerdings die zugeho¨rigen Messpunkte anschauen, sehen wir, dass eine Bruchfl¨achendistanz von 15% nicht vorkommt, und dass zu diesem Zeitpunkt bereits u ¨ber 70% aller Versuchsdurchl¨aufe eine wesentlich bessere Bruchfl¨achendistanz von unter 5% erzielt haben. Der schlechte Mittelwert an dieser Stelle wurde durch eine Minderheit von Ausreißern verursacht. Ebenso wie der Mittelwert kann auch die Standardabweichung fehlinterpretiert werden, denn diese wird normalerweise als ein Konfidenzintervall mit 68%iger Wahrscheinlichkeit gedeutet. Genauer gesagt fallen bei normalverteilten Daten 68% der Messpunkte in das Intervall [Mittelwert±Standardabweichung]. In unserer Veruchsreihe liegen jedoch zu weiten Teilen kaum Messpunkte in diesem Bereich. Wesentlich aussagekr¨aftiger ist hingegen der Medianwert in Abbildung 4.9 unten. Genau 50% der Messungen liegen unterhalb, die anderen 50% oberhalb der Mediankurve. Auch das Sprungverhalten der einzelnen Versuchreihen spiegelt sich in dieser Kurve wider. Der Zeitpunkt des Sprungs entspricht der Laufzeit, zu der die H¨alfte aller Versuchsdurchl¨aufe das Optimum (bzw. die unmittelbare N¨ahe zu diesem) gefunden haben. Die Sprungh¨ohe der Mediankurve kann auch als Distanz zwischen lokalen Optima und globalem Optimum interpretiert werden. Neben dem Median, der die sortierten Datenpunkte in der Mitte trennt, k¨onnen gleichzeitig Quantile berechnet werden, die die tats¨achliche Anzahl der Datenpunkte und die Abweichung vom Median repr¨asentieren. Das am hellsten unterlegte Intervall (Quantil 10%-90%) in der Grafik enth¨alt beispielsweise 80% der Datenpunkte, bzw. 90% der Messreihen liegen unterhalb der Obergrenze dieses Intervalls (90% Quantil). Hieran ist auch abzulesen, dass bereits nach 2,5 Sekunden u ¨ber 90% der Durchl¨aufe ein sehr gutes Ergebnis erzielt haben. Im Folgenden werden wir uns auf die Darstellung der Median- und Quantilkurven beschr¨anken. Bevor wir zu weiteren Datens¨atzen u ¨bergehen, wollen wir an dieser Stelle den Einfluss der Oberfla¨chennormalenberechnung und den Einfluss von Rauschen genauer untersu-

68

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

Venus:

Bruchflächendistanz bzgl. Durchmesser

70% 60% 50% 40% 30% 20% 10% 0% 0

0,5s

1s

1,5s

2s

3s

3,5s

4s

4,5s

5s

Venus:

70% Bruchflächendistanz bzgl. Durchmesser

2,5s

Mittelwert ± Standardabweichung

60% 50% 40% 30% 20% 10% 0% 0

0,5s

1s

1,5s

2s

3s

3,5s

4s

4,5s

5s

Venus:

70% Bruchflächendistanz bzgl. Durchmesser

2,5s

Median Quantil 40% bis 60% Quantil 30% bis 70% Quantil 20% bis 80% Quantil 10% bis 90%

60% 50% 40% 30% 20% 10% 0% 0

0,5s

1s

1,5s

2s

2,5s

3s

3,5s

4s

4,5s

5s

¨ Abbildung 4.9 Genauigkeit w¨ahrend 100 Matching-Durchl¨aufen: (Oben) Uberlagerte Messpunkte; (Mitte) Mittelwert ± Standardabweichung; (Unten) Median und Quantile.

4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’ Venus − Normalenberechnungsradius 1:

60% 50% 40% 30% 20% 10% 0%

60% 50% 40% 30% 20% 10% 0%

0

0,5s

1s

1,5s

2s

2,5s

3s

0

Venus − Normalenberechnungsradius 3:

60% 50% 40% 30% 20% 10% 0%

0,5s

1s

1,5s

2s

2,5s

3s

Venus − Normalenberechnungsradius 5:

70% Bruchflächendistanz bzgl. Durchmesser

70% Bruchflächendistanz bzgl. Durchmesser

Venus − Normalenberechnungsradius 2:

70% Bruchflächendistanz bzgl. Durchmesser

Bruchflächendistanz bzgl. Durchmesser

70%

69

60% 50% 40% 30% 20% 10% 0%

0

0,5s

1s

1,5s

2s

2,5s

3s

0

0,5s

1s

1,5s

2s

2,5s

3s

Abbildung 4.10 Performanzgewinn durch Vergr¨oßerung des Operatorfensters bei der Berechnung von Oberfl¨achennormalen. (Zugeh¨orige Messpunkte siehe Anhang, Abbildung B.1, Seite 143).

chen. Die Oberfla¨chennormalen werden insbesondere zur Erzeugung von Lagehypothesen verwendet. Eine robuste Berechnung der Normalen kann daher die Performanz des Matching-Algorithmus maßgeblich verbessern. In Kapitel 2 wurden bereits unterschiedliche Methoden zur Gewinnung und Berechnung von Oberfl¨achennormalen vorgestellt. Bei Punktwolken ko¨nnen die Oberfla¨chennormalen beispielsweise u ¨ber ein lokales Fitting von Tangentialebenen berechnet werden. Dabei ist der Radius des lokalen Operators frei w¨ahlbar. Je gr¨oßer der Radius, desto robuster ist die Oberfl¨achennormale gegenu ¨ber Rauschen. Gleiches gilt natu ¨rlich fu ¨r die Oberfl¨achenkru ¨mmung. Allerdings kann ein gr¨oßerer Radius auch die Performanz bei unverrauschten Oberfl¨achen verbessern. In der Versuchsreihe in Abbildung 4.10 wurden wieder die Venusfragmente mit der ku ¨nstlichen, unverrauschten Bruchfl¨ache verwendet. Das Operatorfenster fu ¨r die Normalenund Kru ¨mmungsberechnung wurde schrittweise vom Radius 1 auf Radius 5 erh¨oht. Wie man sieht, verbessert sich hierdurch das Laufzeitverhalten rapide. Dies ist darauf zuru ¨ckzufu ¨hren, dass die Oberfla¨chennormalen implizit gegla¨ttet werden, was wieder-

70

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

um zu einer Gl¨attung der Gu ¨tefunktion im Suchraum fu ¨hrt. Durch die Gl¨attung der Gu tefunktion wird das globale Optimum verbreitert und damit erhalten auch Nachbar¨ l¨osungen eine hohe Gu ¨te. Hierdurch findet der Algorithmus schneller Lagehypothesen mit hohem Gu ¨temaß. Dies wiederum beschleunigt den Algorithmus, da viele schlechtere Lagehypothesen durch die Hochrechnung fru ¨hzeitiger aussortiert werden k¨onnen. Allerdings kann sich ein zu großer Radius auch nachteilig auswirken, da hierdurch die Normalen an den Objektkanten verschliffen werden. Insbesondere am Randbereich der Bruchfl¨achen fu ¨hrt dies dazu, dass das Operatorfenster in intakte Oberfl¨achenbereiche hineinreicht und die Normalen an diesen Stellen nicht mehr mit dem korrespondierenden Gegenstu ¨ck u ¨bereinstimmen. Aus diesem Grund wird in allen folgenden Experimenten ein Operatorfenster mit einem moderaten Radius von 3 verwendet. Es ist offensichtlich, dass durch die Vergr¨oßerung des Berechnungsradius auch die Beeinflussung von Messrauschen verringert wird. Um den Einfluss von Rauschen zu u ¨berpru ¨fen, werden wir die Fragmente im Folgenden mit unterschiedlich starkem normalverteilten Rauschen u ¨berlagern. Abbildung 4.11 zeigt ein Fragment des Venuskopfes mit unterschiedlicher Rauschvarianz. Hier wird deutlich, wie sich dieses Rauschen auf die Performanz des Matching-Verfahrens auswirkt. Wie erwartet, hat das Rauschen den gegenteiligen Effekt wie die Gl¨attung. Es ist jedoch zu beobachten, dass das Rauschen sich zwar negativ auf die Effizienz auswirkt, aber die Genauigkeit kaum und die Robustheit so gut wie gar nicht beeintra¨chtigt wird.

4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’

ohne Rauschen

+10% Rauschen

60% 50% 40% 30% 20% 10%

+100% Rauschen

Venus + 50% Rauschen:

70% Bruchflächendistanz bzgl. Durchmesser

Bruchflächendistanz bzgl. Durchmesser

+50% Rauschen

Venus + 10% Rauschen:

70%

71

60% 50% 40% 30% 20% 10%

0%

0% 0

0,5s

1s

1,5s

2s

2,5s

0

0,5s

1s

1,5s

2s

2,5s

3s

Venus + 100% Rauschen:

70% Bruchflächendistanz bzgl. Durchmesser

3s

Median Quantil 40% bis 60% Quantil 30% bis 70% Quantil 20% bis 80% Quantil 10% bis 90%

60% 50% 40% 30% 20% 10% 0% 0

0,5s

1s

1,5s

2s

2,5s

3s

3,5s

4s

4,5s

5s

Abbildung 4.11 (Oben) Venusfragment mit unterschiedlich starkem normalverteiltem Rauschen (Rauschstreuung prozentual zur mittleren Punktdistanz); (Unten) Auswirkung des Rauschens auf die Performanz. (Zugeh¨orige Messpunkte siehe Anhang, Abbildung B.2, Seite 144).

72

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

Bei den folgenden Testfragmenten handelt es sich um ku ¨nstlich erzeugte Bru ¨che und um echte Knochenfrakturen. Um vergleichbare Testbedingungen zu schaffen, wurden die ku ¨nstlichen Frakturen mit 10% additivem normalverteiltem Rauschen (10% Streuung bzgl. der mittleren Punktdistanz) u ¨berlagert. Die Abbildungen 4.12 bis 4.18 zeigen die experimentellen Ergebnisse bei unterschiedlichen Fragmenttypen (wie bisher ausgefu ¨hrt auf einem AMD Athlon 64 Prozessor mit 2.2GHz). In den Abbildungen sind jeweils links oben die Fragmente in initaler Lage und daneben ein Matching-Resultat dargestellt. Die Tabellen auf der rechten Seite fassen die Matching-Ergebnisse von 100 Durchl¨aufen pro Fragmentpaar zusammen. Die jeweils erste Zeile enth¨alt dabei die mittlere Bruchfl¨achendistanz (Mittelwert, Median, Minimum und Maximum) nach einer Laufzeit von 10 Sekunden pro Durchlauf. Die zweite Zeile gibt analog zur ersten die erreichte rotatorische Genauigkeit an. Die letzte Zeile zeigt die Laufzeit, die vom Algorithmus ben¨otigt wurde, um eine relative Lage mit einer mittleren Bruchfl¨achendistanz von unter 3% zu finden. In der unteren H¨alfte der Abbildungen sind jeweils die u ¨berlagerten Messpunkte und der Median±Quantile von allen 100 Durchl¨aufen dargestellt. Bei zwei Datensa¨tzen handelt es sich nicht um zerbrochene Objekte, sondern um kombinierbare Bauteile, die die m¨ogliche Anwendung des Verfahrens im Bereich der computerunterstu ¨tzten Modellierung und Montageplanung repr¨asentieren. Bei zwei weiteren Datens¨atzen handelt es sich um Oberschenkelfrakturen, die in Kooperation mit der Medizinischen Hochschule Hannover (MHH) per Computertomographie aufgenommen wurden. Das automatisierte Zusammenfu ¨gen von Knochenfrakturen ist ein wichtiges

Endergebnis: min

max

Dist. [%]

0.55

0.51

0.19

1.20

Rot. [ ◦ ]

0.92

0.89

0.08

2.10

Zeit [ s ]

0.33

0.30

0.05

1.25

70% Bruchflächendistanz bzgl. Durchmesser

Bruchflächendistanz bzgl. Durchmesser

70%

mean median

60% 50% 40% 30% 20% 10% 0%

60% 50% 40% 30% 20% 10% 0%

0

0,5s

1s

1,5s

2s

2,5s

3s

0

0,5s

1s

1,5s

2s

2,5s

Abbildung 4.12 Venus, 55159 Punkte, 10% Rauschen, Normalenberechnungsradius 3.

3s

4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’

73

Endergebnis: min

max

Dist. [%]

1.50

1.49

0.61

2.85

Rot. [ ◦ ]

3.94

3.56

1.23

8.28

Zeit [ s ]

1.39

1.20

0.05

6.50

70% Bruchflächendistanz bzgl. Durchmesser

Bruchflächendistanz bzgl. Durchmesser

70%

mean median

60% 50% 40% 30% 20% 10% 0%

60% 50% 40% 30% 20% 10% 0%

0

0,5s

1s

1,5s

2s

2,5s

3s

0

0,5s

1s

1,5s

2s

2,5s

3s

Abbildung 4.13 Spiralfraktur, 39962 Punkte, Normalenberechnungsradius 3.

Endergebnis: min

max

Dist. [%]

1.39

1.29

0.01

4.45

Rot. [ ◦ ]

1.99

1.96

0.01

3.88

Zeit [ s ]

0.66

0.40

0.05

2.65

70% Bruchflächendistanz bzgl. Durchmesser

Bruchflächendistanz bzgl. Durchmesser

70%

mean median

60% 50% 40% 30% 20% 10% 0%

60% 50% 40% 30% 20% 10% 0%

0

0,5s

1s

1,5s

2s

2,5s

3s

0

0,5s

1s

1,5s

2s

2,5s

Abbildung 4.14 Femurfraktur, 17239 Punkte, Normalenberechnungsradius 3.

3s

74

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

Endergebnis: min

max

Dist. [%]

0.17

0.12

0.02

0.49

Rot. [ ◦ ]

0.61

0.57

0.08

1.48

Zeit [ s ]

0.30

0.30

0.05

1.25

70% Bruchflächendistanz bzgl. Durchmesser

Bruchflächendistanz bzgl. Durchmesser

70%

mean median

60% 50% 40% 30% 20% 10% 0%

60% 50% 40% 30% 20% 10% 0%

0

0,5s

1s

1,5s

2s

2,5s

3s

0

0,5s

1s

1,5s

2s

2,5s

3s

Abbildung 4.15 Stanford Bunny, 51179 Punkte, 10% Rauschen, Normalenberechnungsradius 3. Endergebnis: min

max

Dist. [%]

0.16

0.15

0.03

0.55

Rot. [ ◦ ]

0.29

0.27

0.02

0.76

Zeit [ s ]

0.05

0.05

0.05

0.10

70% Bruchflächendistanz bzgl. Durchmesser

Bruchflächendistanz bzgl. Durchmesser

70%

mean median

60% 50% 40% 30% 20% 10% 0%

60% 50% 40% 30% 20% 10% 0%

0

0,5s

1s

1,5s

2s

2,5s

3s

0

0,5s

1s

1,5s

2s

2,5s

Abbildung 4.16 Felskugel, 20445 Punkte, 10% Rauschen, Normalenberechnungsradius 3.

3s

4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’

75

Endergebnis: min

max

Dist. [%]

0.19

0.15

0.05

1.17

Rot. [ ◦ ]

0.33

0.30

0.06

1.15

Zeit [ s ]

0.30

0.30

0.05

1.20

70% Bruchflächendistanz bzgl. Durchmesser

Bruchflächendistanz bzgl. Durchmesser

70%

mean median

60% 50% 40% 30% 20% 10% 0%

60% 50% 40% 30% 20% 10% 0%

0

0,5s

1s

1,5s

2s

2,5s

3s

0

0,5s

1s

1,5s

2s

2,5s

3s

Abbildung 4.17 Stecker, 39677 Punkte, 10% Rauschen, Normalenberechnungsradius 3.

Endergebnis: min

max

Dist. [%]

0.27

0.11

0.07

1.45

Rot. [ ◦ ]

0.95

0.43

0.11

5.49

Zeit [ s ]

0.05

0.05

0.05

0.30

70% Bruchflächendistanz bzgl. Durchmesser

Bruchflächendistanz bzgl. Durchmesser

70%

mean median

60% 50% 40% 30% 20% 10% 0%

60% 50% 40% 30% 20% 10% 0%

0

0,5s

1s

1,5s

2s

2,5s

3s

0

0,5s

1s

1,5s

2s

2,5s

Abbildung 4.18 IEC320, 11873 Punkte, kein Rauschen, Normalenberechnungsradius 1.

3s

76

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

Anwendungsfeld in der computergestu ¨tzten chirurgischen Frakturbehandlung. Dort verspricht ein robustes und effizientes Matching-Verfahren sowohl bessere Repositionsergebnisse, als auch eine Verringerung der R¨ontgenstrahlenbelastung und eine Reduktion von OP-Zeit und Kosten. Fu ¨r dieses Anwendungsfeld werden wir sp¨ater in Kapitel 5.1 zus¨atzliches Symmetriewissen in das Verfahren integrieren, um eine deutliche Verbesserung der Robustheit und Effizienz zu erzielen. 4.3.5

Diskussion

Der vorgestellte ’Random Sample Matching’-Ansatz maximiert ho¨chst effizient die Kontaktfl¨ache zwischen zwei Fragmenten und stellt somit die kleinste gemeinsame Schnittstelle fu ¨r eine Vielzahl von Anwendungen dar. Das einzige Vorwissen was bisher ausgenutzt wurde, ist der große Oberfl¨achenkontakt zwischen den Fragmenten in ihrer Ziellage. Es gibt natu ¨rlich auch Fragmente, bei denen diese Strategie nicht die gesuchte L¨osung liefert, also die korrekte Lage nicht diejenige mit dem gr¨oßtm¨oglichen Oberfl¨achenkontakt ist. Dies tritt beispielsweise dann auf, wenn das Verh¨altnis von Bruchfl¨ache zu Gesamtfl¨ache klein ist und wenn die intakte Oberfl¨ache große glatte Bereiche mit komplement¨aren Regionen auf dem Gegenstu ¨ck aufweist. In diesem Fall ist eine Spezialisierung an den jeweiligen Anwendungsfall durch Integration von weiterem Vorwissen erforderlich. Das Vorwissen kann außerdem die Performanz des Verfahrens durch Einschr¨ankung des Suchraums weiter verbessern. Am Ende dieses Kapitels wird hierauf noch n¨aher eingegangen. Es gibt jedoch bei genauerer Betrachtung auch bei der Kontaktfl¨achenmaximierung einige Aspekte, die bisher noch nicht beru ¨cksichtigt wurden: Der ’Random Sample Matching’-Ansatz kann als Markow-Prozess 0-ter Ordnung (also ein Prozess ohne Ged¨achtnis) aufgefasst werden. Das heißt, er generiert in jedem Zeitschritt zuf¨allige Lagehypothesen v¨ollig unabh¨angig von der Vergangenheit bzw. den bisherigen Berechnungen. Einzig und allein die Gu ¨te der bisher besten Hypothese wird zur Beschleunigung der zuku ¨nftigen Gu ¨tebewertung verwendet. Ebenso kann auch der Kontakttest innerhalb der Gu tebewertung fu ¨ ¨r sich selbst als ein Markov-Prozess 0-ter Ordnung angesehen werden, denn es werden zuf¨allige Oberfl¨achenpunkte, unabh¨angig von den bisher betrachteten Punkten, auf Kontakt getestet. Der Vorteil dieser Strategie ist die einfache Implementierung und der ¨außerst geringe Speicherbedarf. Allerdings k¨onnen die Informationen aus den vergangenen Berechnungsschritten durchaus vorteilhaft genutzt werden. Um dies zu erl¨autern, wollen wir den Begriff Kontaktkoh¨ arenz einfu ¨hren. Definition 7 (Kontaktkoh¨ arenz) Die Kontaktkoh¨arenz ist in dieser Arbeit ein Maß fu ¨r den Zusammenhang von Kontaktregionen bei Fragmenten. Eine hohe lokale Kontaktkoha ¨renz bedeutet, dass ein in tangentialem Kontakt stehender Oberfla ¨chenpunkt mit hoher Wahrscheinlichkeit ebensolche Kontaktpunkte in seiner Umgebung hat. Im Allgemeinen bilden die Bruchfl¨achen sowie die ’intakten Oberfl¨achen’ große zusammenh¨angende Bereiche. Das heißt, ebenso sollte eine gute Lagehypothese große zusammenha¨ngende Kontaktfla¨chen bilden. Angenommen ein Punkt ~a ∈ A steht mit einem Punkt ~b ∈ B in tangentialem Kontakt. Dann besagt die lokale Kontaktkoha¨renz, dass

4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’

B

A

77

B

A

~a r

~x

(b)

(a)

B

A

(c)

B

A

(d)

Abbildung 4.19 Zur Kontaktkoh¨arenz: (a) lokale Ausbreitung der Kontaktsuche um den Kontaktpunkt ~a; (b) Oberfl¨achenpunkt ~x auf Fragment A und Abstand r zu Fragment B. Zur Lagekoh¨arenz: (c),(d) leicht ver¨anderte Lagehypothesen mit ¨ahnlichem Oberfl¨achenkontakt.

mit hoher Wahrscheinlichkeit die Nachbarn von ~a auch in tangentialem Kontakt mit den Nachbarn von ~b stehen. Eine M¨oglichkeit dieses Wissen bei der Gu ¨tesch¨atzung auszunutzen, besteht darin, die Kontaktpunktsuche lokal von einem bereits gefundenen Kontaktpunkt auszubreiten (siehe Abbildung 4.19 (a)). Hierdurch muss nicht fu ¨r jeden Punkt der gesamte Suchbaum (bzw. kd-Tree) durchlaufen werden, was die Gu ¨tesch¨atzung stark beschleunigen kann. Allerdings ist dann eine Hochrechnung der Kontaktfl¨ache schwieriger, da nicht mehr gleichverteilte Punkte vorliegen. Analog zu den Kontaktpunkten, haben auch die nicht in Kontakt stehenden Oberfl¨achenpunkte mit hoher Wahrscheinlichkeit ebensolche freistehenden Punkte in ihrer lokalen Umgebung. Abbildung 4.19 (b) zeigt einen solchen Oberfla¨chenpunkt ~x ∈ A und den Abstand r zu Fragment B. Innerhalb dieses Abstandes (bzw. innerhalb der Kugel um ~x mit Radius r) befindet sich kein Oberfl¨achenpunkt von Fragment B und demnach auch kein Kontaktpunkt. Da bei dem vorgestellten Kontakttest genau dieser Abstand berechnet wird, ko¨nnte diese Information genutzt werden, um alle Punkte innerhalb dieses Radius sofort als freistehend zu klassifizieren. Jedoch ist auch hier eine statistische Hochrechnung der Kontaktfl¨achengr¨oße schwierig. Neben der Kontaktkoha¨renz, die eine Eigenschaft zwischen den Oberfla¨chenpunkten

78

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

¨ bei einer fest vorgegebenen Lagehypothese beschreibt, l¨asst sich auch eine Ahnlichkeit zwischen nah beieinander liegenden Lagehypothesen feststellen. Diese Eigenschaft bezeichnen wir im Folgenden als Lagekoh¨ arenz. Definition 8 (Lagekoh¨ arenz) Die Lagekoh¨arenz ist in dieser Arbeit ein Maß fu ¨r die ¨ Ahnlichkeit von unterschiedlichen Lagehypothesen. Eine hohe lokale Lagekoh¨ arenz bedeutet, dass eine Lagehypothese mit hoher Wahrscheinlichkeit Lagehypothesen mit a ¨hnlichen Kontaktpunkten und ¨ahnlichem Gu ahe hat. ¨temaß in seiner unmittelbaren N¨ Wie Abbildung 4.19 (c) und (d) verdeutlicht, ¨andern sich die Kontaktpunkte (unter ¨ Beru der relativen Lage nur ¨cksichtigung gewisser Toleranzen) bei kleinen Anderungen wenig. Die Kontaktinformation von bereits ausgewerteten Lagehypothesen ko¨nnte theoretisch zur Beschleunigung der Kontaktsuche von nahe gelegenen neuen Hypothesen verwendet werden. Es ist jedoch alles andere als trivial, diese Idee in den bisherigen ’Random Sample Matching’-Ansatz zu integrieren. Im folgenden Abschnitt werden wir jedoch ein alternatives Verfahren zur L¨osung des 3d-Puzzle-Problems vorstellen, welches sowohl die Kontaktkoh¨arenz, als auch die Lagekoh¨arenz ausnutzt.

4.4

Ein Grob-zu-Fein-Ansatz: ’Cluster Tree Matching’

Ein bekanntes und nahe liegendes Vorgehen mit unterschiedlichen Anwendungen in der Bildverarbeitung ist die ’Grob-zu-Fein’- oder ’multi-resolution’-Strategie. Hierbei wird das Problem zuerst auf einer geringen Auflo¨sungsstufe mit wenigen Daten bearbeitet und dann schrittweise die Aufl¨osung erh¨oht und das Ergebnis verfeinert. Eine solche Vorgehensweise wurde fu ¨r das Zusammensetzten von 3d Fragmenten bis dato noch nicht untersucht. Abbildung 4.20 skizziert grob die Idee des Verfahrens. Im ersten Schritt wird die Auflo¨sung von jedem Fragment schrittweise verringert und eine Aufl¨osungshierarchie erstellt. Die Fragmente k¨onnen durch Reduktion der Aufl¨osung implizit gegl¨attet werden, wodurch hohe Frequenzen und Rauschen unterdru ¨ckt und damit Oberfl¨achenmerkmale und Oberfl¨achennormalen stabiler berechenbar werden. Fu ¨r die Speicherung verschiedener Aufl¨osungsstufen eignen sich hierarchische Datenstrukturen besonders gut. Im zweiten Schritt werden die grob aufgel¨osten Fragmente benutzt, um Kontaktlagen zu finden. Dies entspricht einer groben Suche von L¨osungen. Bei geringer Aufl¨osung mu ¨ssen weniger Kontaktlagen betrachtet werden und die Kontaktbewertung arbeitet schneller. Im dritten Schritt werden die Kontaktpunkte jeweils einer L¨osung bestimmt. Bei weiterer Verbesserung der L¨osung mu ¨ssen dann nur noch diese Kontaktbereiche betrachtet werden. Im vierten Schritt werden die Kontaktbereiche in ihrer Auflo¨sung verfeinert und die Lage mit dem gleichen Ansatz rekursiv verbessert. In der n¨achst h¨oheren Aufl¨osungsstufe kann die Suche im Parameterraum auf einen kleinen Bereich eingeschr¨ankt werden, da die zu erwartende verbesserte Lage nahe der bereits ermittelten gr¨oberen L¨osung liegen muss. Außerdem kann das Kontaktwissen von einer Auflo¨sungsstufe in die na¨chst ho¨he-

4.4. Ein Grob-zu-Fein-Ansatz: ’Cluster Tree Matching’

79

Abbildung 4.20 Idee des Grob-zu-Fein-Ansatzes.

re u ¨bertragen werden und somit die Kontaktpunktsuche sowie die Bewertungsfunktion durch Ausnutzung von hierarchischen Beziehungen stark beschleunigt werden. Wie auch der ’Random Sample Matching’-Ansatz aus dem vorherigen Abschnitt, sucht der folgende Algorithmus diejenige relative Lage, bei der die Fragmente den gr¨oßten Oberfl¨achenkontakt aufweisen und sich nicht durchdringen. Dabei wird ebenfalls keine initiale Lagesch¨atzung ben¨otigt. Die neu entwickelte Methode verwendet einen hierarchischen ’Clustering’-Algorithmus um die Oberfla¨chen der Fragmente in eine bina¨re Baumstruktur zu zerlegen. Die beste Lagehypothese wird dann per simultaner Tiefensuche in beiden Cluster-B¨aumen gesucht. Es ist klar, dass aus Gru ¨nden der Effizienz nicht s¨amtliche Lagehypothesen bis zur jeweils untersten Baumebene verfolgt werden k¨onnen. Es mu ¨ssen also m¨oglichst viele Hypothesen auf oberer Ebene fru hzeitig verworfen werden. Doch wie verhindert man, dass ¨ nicht bereits auf einer der oberen Baumebenen (also auf einer Ebene mit geringer Clusteranzahl) Hypothesen verworfen werden, die sich eventuell auf einer tieferen Ebene als gut erweisen k¨ onnten? Die Antwort ist offensichtlich: Die berechnete Gu tesch a tzung einer ’high-level’ Lagehypothese (also einer Hypothe¨ ¨

80

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

se auf oberer Baumebene) muss immer eine konservative ’best-case’-Absch¨atzung aller darunter liegenden Hypothesen sein. In diesem Fall kann die Traversierung abgebrochen werden, wenn die ’best-case’-Absch¨atzung bereits schlechter als die bisher beste gefundene ’low-level’ Lagehypothese ist. An dieser Stelle wird auch klar, warum eine Tiefensuche verwendet werden muss: Bevor die Baumtraversierung auf hoher Ebene abgebrochen werden kann, muss bereits mindestens eine Hypothese mit besserer Gu ¨te auf unterster Ebene gefunden worden sein, denn nur auf unterster Ebene ist eine sichere Aussage u ¨ber die Gu ¨te m¨oglich. Bei genauerer Betrachtung dieser Anforderungen stellt man fest, dass eine ’high-level’ Lagehypothese niemals eine starre Lage sein kann, da sie ein Repr¨asentant aller darunter liegenden ’low-level’ Lagehypothesen ist, sondern gewisse Lagetoleranzen beinhalten muss. Somit kann hierfu ¨r auch keine relative Transformation (in Form einer einfachen homogenen Transformationsmatrix) angegeben werden. 4.4.1

Transformationsfreies Matching von orientierten Punktwolken

Bevor wir jedoch zum konkreten ’Cluster Tree Matching’-Ansatz u ¨bergehen, mu ¨ssen wir die mathematische Problemstellung des 3d-Puzzle-Problems aus Abschnitt 4.2 an die Grob-zu-Fein-Strategie anpassen. Genauer gesagt wird in diesem Abschnitt erl¨autert, wie die Gu ¨te von ’low-level’ Lagehypothesen berechnet werden kann, ohne eine relative Transformationsmatrix zu verwenden. Dieses Konzept ko¨nnen wir dann in Abschnitt 4.4.3 auf die Gu ¨tesch¨atzung von ’high-level’ Lagehypothesen u ¨bertragen. Wir erinnern uns, dass eine Lagehypothese durch Annahme eines tangentialen Kontaktes zwischen den orientierten Punkten ~a ∈ A und ~b ∈ B, sowie zwischen ~c ∈ A und d~ ∈ B konstruiert werden kann (siehe Definition 5, Seite 53). Ein exakter tangentialer Kontakt an zwei Punkten ist nur dann m¨oglich, wenn das orientierte Punktpaar (~a, ~c) geometrisch ~ ist. Die Punktpaare sind genau dann komplementa¨r zu dem orientierten Punktpaar (~b, d) geometrisch komplement¨ar, wenn die vier r¨aumlichen Relationen aus Gleichungen (4.9)– (4.12) u ¨bereinstimmen. Diese Relationen fassen wir nochmals (wie bereits beim ’Random Sample Matching’-Ansatz, Gleichung (4.13), Seite 60) zu einem 4d-Vektor zusammen: 







duv k~pv − p~u k  cos αuv   ~nu · p~uv .  :=  rel (~u, ~v ) :=    cos βuv   ~nv · p~uv atan2 (~nu · (~puv × ~nv ), (~nu × p~uv ) · (~puv × ~nv )) δuv

(4.19)

Dabei ist duv die euklidische Distanz zwischen den Punktkoordinaten, αuv bzw. βuv der Neigungswinkel zwischen jeweils einer Oberfl¨achennormalen und der Verbindungsgeraden durch p~u und p~v , sowie δuv der Rotationswinkel zwischen den Oberfl¨achennormalen um die Verbindungsgerade (siehe linke Seite von Abbildung 4.21). Betrachten wir nun die Kongruenzrelation zwischen orientierten Punktpaaren (~u, ~v ) ∼ = (~q, ~r) :⇐⇒ rel(~u, ~v ) ≈ rel(~q, ~r) ,

(4.20)

4.4. Ein Grob-zu-Fein-Ansatz: ’Cluster Tree Matching’

βuv

81

~v ~v

δuv

~r

~s

w ~

~u

~q

αuv ~u

Abbildung 4.21 (Links) R¨aumliche Relationen eines orientierten Punktpaares (~u, ~v ); (Rechts) zur Kongruenzrelation zwischen den orientierten Punkttripeln (~u,~v ,w) ~ und (~q,~r,~s).

welche die Relationsvektoren auf (approximative) Gleichheit testet und damit u ¨berpru ¨ft, ¨ ob eine Uberdeckung mo¨glich ist. Hiermit kann nun die Menge aller gu ltigen Lagehypo¨ thesen durch (4.21) H := {(a, b, c, d) | (~a, ~c) ∼ = (~b∗ , d~∗ ); ~a, ~c ∈ A; ~b, d~ ∈ B} definiert werden. Um die beste aller Hypothesen zu finden, verwenden wir auch hier die Gr¨oße der Kontaktfl¨ache zwischen den Fragmenten als Qualit¨atskriterium zur Bewertung. In dem bisherigen Ansatz zur Sch¨atzung der Kontaktfl¨ache wurde zuerst die relative Transformation ATB berechnet und dann jeder Punkt in ein gemeinsames Koordinatensystem transformiert, um die Kontaktpunktpaare zu z¨ahlen. Da wir jedoch beim hierarchischen Matching nicht mehr mit starren Lagehypothesen auf Punktpaaren arbeiten, sondern es mit beweglichen“ Lagehypothesen auf Cluster-Paaren zu tun haben, ist ” eine explizite Angabe der relativen Transformation nicht mehr m¨oglich. Wir ben¨otigen also eine alternative transformationsfreie Vorgehensweise. Als erstes erweitern wir hierzu die Kongruenzrelation von orientierten Punktpaaren (4.20) zu einer Kongruenzrelation von orientierten Punkttripeln (4.22) (~u, ~v , w) ~ ∼ = (~q, ~r, ~s) :⇐⇒ |~nuv p~vw p~wu | = |~nqr p~rs p~sq | ∧ ~ ~u) ∼ ~ ∼ (~u, ~v ) ∼ = (~s, ~q). = (~r, ~s) ∧ (w, = (~q, ~r) ∧ (~v , w) Hierbei vergleicht die erste Unterbedingung den relativen Orientierungssinn und vermeidet spiegelsymmetrische L¨osungen, w¨ahrend alle folgenden Unterbedingungen u ¨berpru ¨fen, ob die zwei orientierten Punkttripel geometrisch kongruente Dreiecke aufspannen ~ ∈H (siehe rechte Seite von Abbildung 4.21). Fu ¨r eine gegebene Lagehypothese (~a, ~b, ~c, d) k¨onnen wir nun mit Hilfe dieser Kongruenzrelation Kontaktpunktpaare finden. Und zwar ist ein orientierter Punkt ~e ∈ A genau dann in tangentialem Kontakt mit Fragment B, wenn es einen orientierten Punkt f~ ∈ B mit (~a, ~c, ~e) ∼ = (~b∗ , d~∗ , f~∗ ) gibt. In

82

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

diesem Fall kann die zweite Unterbedingung von Gleichung (4.22) vernachl¨assigt werden, da (~a, ~c) ∼ = (~b∗ , d~∗ ) bereits Voraussetzung der Lagehypothese ist. Hiermit kann nun leicht das Verh¨altnis von Kontaktpunkten zur Gesamtanzahl von Oberfl¨achenpunkten berechnet werden. Die bisher angewandte Methode zur Vermeidung von Fragmentdurchdringungen, war eine Suche nach Oberfl¨achenpunkten von Fragment B, die innerhalb von Fragment A liegen (oder umgekehrt). Leider erfordert dieses Vorgehen die Berechnung von ATB . Eine Alternative ist die Suche nach Punkten, an dessen Stelle sich die beiden Fragmentoberfl¨achen schneiden. Diese Schnitt- bzw. Durchdringungspunkte sind Kontaktpunkten sehr ¨ahnlich, nur dass die Oberfl¨achennormalen nicht entgegengerichtet sind. Hieraus folgt, dass wir w¨ahrend der Suche nach Kontaktpunkten auch gleichzeitig nach Schnittpunkten suchen k¨onnen. Ein Schnitt bzw. eine Durchdringung der Oberfl¨achen liegt dann vor, wenn die Kontaktpunktbedingung (~a, ~c, ~e) ∼ = (~b∗ , d~∗ , f~∗ ) einzig und allein aufgrund der nicht entgegengerichteten Oberfl¨achennormalen ~ne und ~nf scheitert. Da jedoch diese Durchdringungsdetektion etwas instabil bei verrauschten Oberfl¨achen sein kann, sollten Hypothesen mit Oberfl¨achendurchdringungen nicht sofort verworfen werden, sondern wie bisher nur eine Qualit¨atsstrafe fu ¨r jeden Durchdringungspunkt erhalten. Zus¨atzlich kann natu ¨rlich auch auf tats¨achliche (Volumen-)Durchdringung getestet werden, sobald die Tiefensuche die Bl¨atter der Cluster-B¨aume erreicht. Hierzu kann dann der Ansatz des ’Random Sample Matchings’ aus Abschnitt 4.3.3 u ¨bernommen werden. 4.4.2

Hierarchische Zerlegung von Punktwolken

Aufgrund der kombinatorischen Explosion von m¨oglichen Kontaktpunktpaaren und der daraus resultierenden Vielzahl an Lagehypothesen, ist das theoretische Konzept des letzten Abschnitts weit von einer effizienten Implementierung entfernt. Aus diesem Grund werden wir in diesem Abschnitt die Fragmente in Form einer bin¨aren Baumstruktur ablegen, was die Verwendung einer effizienten hierarchischen Matching-Strategie ermo¨glicht. Die Unterteilung der Punktwolken basiert auf einem hierarchischen top-down Clustering-Algorithmus. Eine weit verbreitete Vorgehensweise ist es, die Punktwolken im 3d Koordinatenraum zu ’clustern’. In diesem Anwendungsfall fu ¨hrt jedoch das simultane Clustern von Punktkoordinaten und Oberfl¨achennormalen im kombinierten 6d Koordinaten-Normalen-Raum (4.1) zu wesentlich besseren Ergebnissen. Der ClusteringAlgorithmus arbeitet folgendermaßen: 1. Skaliere alle Oberfl¨achennormalen, so dass deren Varianz mit der Punktkoordinatenvarianz u ¨bereinstimmt. 2. Zerlege jede Punktmenge rekursiv in Untermengen. Fu ¨r die Zerlegung wird in dieser Arbeit der bekannte k-means clustering Ansatz von Hartigan & Wong [36] verwendet, jedoch im 6d Raum mit k=2 (k steht hierbei fu ¨r die Anzahl der Cluster pro Unterteilungsschritt). Auf diese Weise werden die Punkte in Cluster ¨ahnlicher Raumlage und ¨ahnlicher Oberfl¨achenorientierung unterteilt und verlieren beim Hinabsteigen in den Baum schnell an Gro¨ße (sowohl im Koordinaten- als auch

4.4. Ein Grob-zu-Fein-Ansatz: ’Cluster Tree Matching’

83

Ax

ne 1

Eb e

ne 0

A1

Eb e

A2

ne 2

A2x+1

A7

Eb e

A5 A9 A8

A2x

Indizierungsschema

A4

ne 3 Eb e

A3

A6 A15

A10

A11

A12

A13

A14

Abbildung 4.22 Beispiel eines Cluster-Baums: Die ersten Ebenen der Zerlegung angewandt auf ein einfaches Testfragment.

im Orientierungsunterraum). Hierbei kommt es nicht darauf an, wie stabil die Cluster berechnet werden, bzw. ob die Bruchfl¨achen auf beiden Seiten ¨ahnlich zerlegt werden. Aus diesem Grund k¨onnen viele Clustering-Algorithmen eingesetzt werden, aber der einfache und effiziente k-means-Ansatz hat sich als ausreichend erwiesen. Das 6d Unterteilungsschema ist insbesondere deshalb vorzuziehen, da sowohl die Koordinatenvarianz, als auch die Normalenorientierungsvarianz ein entscheidender Faktor fu ¨r die Lagetoleranz einer high-level Hypothese ist (wird im folgenden Abschnitt diskutiert) und die Effizienz des gesamten Matching-Verfahrens positiv beeinflusst. Theoretisch ist auch ein 5d Koordinaten-Orientierungs-Raum denkbar, da die Orientierung einer Oberfl¨ache nur zwei Freiheitsgrade hat. Allerdings fu ¨hrt jede Abbildung der 3d Oberfl¨achennormalen in den 2d Raum zu einer nicht ¨aquidistanten Orientierungsverteilung oder zu Singularit¨aten und Unstetigkeiten, was beim ’clustering’ Probleme verursachen wu ¨rde. Abbildung 4.22 zeigt die ersten Ebenen der hierarchischen Zerlegung angewandt auf ein einfaches Testfragment. Wie man sehen kann, wird das Fragment in Teilfragmente (Cluster) mit ¨ahnlicher Oberfl¨achenorientierung zerlegt, wodurch die Zerteilung bevorzugt entlang starker Kanten verl¨auft. Ein weiteres Beispiel zeigt Abbildung 4.23. Hier sind die einzelnen Zerlegungsschritte des Clustering-Ansatzes im Fall eines CAD-Modells dargestellt. Der Vorteil der 6d Zerlegung im Koordinaten-Normalen-Raum gegenu ¨ber der 3d Zerlegung im einfachen Koordinatenraum wird an dem Knochenfragment in Abbildung 4.24 deutlich. Die obere Reihe zeigt das 3d Unterteilungsschema, bei dem die Oberfla¨chenorientierung unberu ¨cksichtigt bleibt. Gut zu sehen ist, dass hier die farbigen

84

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

Oberfla¨chensegmente u ¨ber die scharfen Bruchkanten hinweg verlaufen, dass die gemittelten Oberfla¨chennormalen die Oberfla¨chenorientierungen des Knochens nur schlecht repr¨asentieren und dass die Normalenvarianz innerhalb vieler Segmente hoch ist. Im Gegensatz dazu verlaufen die Segmentgrenzen beim 6d Unterteilungsschema in der unteren Reihe bevorzugt entlang der scharfen Bruchkanten des Knochens, wodurch intakte und gebrochene Oberfla¨chen fru ¨hzeitig getrennt werden, die gemittelten Oberfla¨chennormalen gut die Oberfl¨achenorientierungen wiedergeben und die Normalenvarianz innerhalb der Segmente niedrig ist. Nicht zu sehen, aber noch problematischer ist es, dass bei der 3d Unterteilung die Segmente meist die gegenu ¨berliegenden ¨außeren Knochenoberfl¨achen und die inneren Oberfl¨achen des Knochenmarkkanals vereinigen. Dies liegt darin begru ¨ndet, das die gegenu ¨berliegenden inneren und ¨außeren Oberfl¨achen nur eine geringe euklidische Distanz zueinander haben. Abhilfe wu ¨rde die Verwendung eines geodesischen Distanzmaßes schaffen, welches aber aufw¨andiger in der Berechnung ist. Dieses Problem tritt jedoch bei der verwendeten 6d Unterteilung nicht auf, da hier die Oberfl¨achenorientierungen bei der Distanzberechnung mitberu ¨cksichtigt werden. Wie in Abbildung 4.22 werden im Folgenden die Knoten des Baumes von Fragment A fortlaufend mit A1 , . . . , Ak bezeichnet, wobei die Wurzel mit dem Index 1 das gesamte Fragment repr¨asentiert A1 = A und alle Knoten Ax in jeweils zwei Kinderknoten A2x und A2x+1 zerlegt werden. Das gleiche gilt analog fu ¨r die Knoten B1 , . . . , Bl des Baumes von Fragment B.

4.4. Ein Grob-zu-Fein-Ansatz: ’Cluster Tree Matching’

85

Abbildung 4.23 Hierarchische Zerlegung in Cluster: Die ersten acht Zerlegungsschritte angewandt auf das Modell einer Gl¨ uhbirne.

86

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

Abbildung 4.24 3d vs. 6d Unterteilungsschema am Beispiel eines Knochenfragments: (Oben) Segmentierung der Oberfl¨ache im 3d Koordinatenraum und segmentweise gemittelte Oberfl¨achennormale; (unten) Segmentierung der Oberfl¨ache im 6d Koordinaten-NormalenRaum und segmentweise gemittelte Oberfl¨achennormale.

4.4.3

Hierarchisches Matching

Nachdem wir den Cluster-Baum bis hin zu einer festgelegten Baumtiefe erstellt haben, kann der hierarchische Matching-Algorithmus beginnen. Der folgende Ansatz entspricht weitestgehend dem theoretischen Konzept aus Abschnitt 4.4.1, nur dass wir diesmal auf Clustern von orientierten Punkten arbeiten. Beginnen wir mit einigen Definitionen auf Cluster-Paaren: Ein tangentialer Kontakt zwischen zwei Clustern Aa und Bb impliziert, dass mindestens ein tangentialer Kontakt zwischen zwei orientierten Punkten mit ~a ∈ Aa and ~b ∈ Bb besteht. Wir ko¨nnen nun eine ’high-level’ Lagehypothese konstruieren, indem wir einen tangentialen Kontakt zwischen mehreren Clustern annehmen. Genauer gesagt: Eine ’high-level’ Lagehypothese (Aa , Bb , Ac , Bd ) ist die Annahme eines tangentialen Kontakts zwischen den Clustern Aa und Bb , sowie zwischen Ac and Bd . Ein tangentialer Kontakt zwischen zwei

4.4. Ein Grob-zu-Fein-Ansatz: ’Cluster Tree Matching’

87

Cluster-Paaren ist nur dann m¨oglich, wenn ihre relativen Distanzen und Winkel ein u ¨berlappendes Intervall haben. Um diese Vorbedingung zu pru ¨fen, u ¨bernehmen wir die Idee aus Gleichung (4.20), wo wir 4d Relationsvektoren von orientierten Punktpaaren verglichen haben; allerdings vergleichen wir diesmal 4d Relationsintervalle von ClusterPaaren. Hierfu ¨r benutzen wir min-/max-Operatoren die elementweise auf Vektormengen definiert sind       xn  min{x1 , . . . , xn }  x1 min  y.1  , . . . ,  y.n  :=  min{y1 ,.. . . , yn }   . . . 

.

.

(4.23)

.

und max{. . . } analog. Ein Relationsintervall [relmin (Aa , Ac ), relmax (Aa , Ac )] eines Cluster-Paares (Aa , Ac ) kann dann einfach als relmin (Aa , Ac ) := min{rel(~u, ~v ) | ~u ∈ Aa , ~v ∈ Ac } relmax (Aa , Ac ) := max{rel(~u, ~v ) | ~u ∈ Aa , ~v ∈ Ac }

(4.24)

definiert werden. Fu ¨r eine effiziente Berechnung s¨amtlicher Relationsintervalle (zwischen jeweils zweier Knoten der gleichen Baumebene), empfiehlt sich allerdings die folgende rekursive Definition: relmin (Aa , Ac ) :=

(

rel(~u, ~v ) falls Aa = {~u} und Ac = {~v } einelementig sind, min {relmin (Au , Av ) | ⌊u/2⌋ = a, ⌊v/2⌋ = c} sonst.

(4.25)

Die Bedingung ⌊u/2⌋ = a folgt hierbei lediglich dem Indizierungsschema aus Abbildung 4.22 und steht fu ¨r Cluster Au ist ein Kindknoten von Cluster Aa“. Jetzt brauchen wir ” noch Vergleichsoperatoren (, =) auf Relationsintervallen, die ebenfalls elementweise definiert sind "

#

"

#

x.1 y1 .. ⋚ ... :⇔ xi ⋚ yi fu ¨r alle i = 1, . . . , n. xn yn

(4.26)

Dies erm¨oglicht uns Relationsintervalle zu vergleichen und eine Kongruenzrelation zwischen Cluster-Paaren aufzustellen (Au , Av ) ∼ = (Bq∗ , Br∗ ) :⇔ relmin (Au , Av ) ≤ relmax (Bq∗ , Br∗ ) ∧ relmax (Au , Av ) ≥ relmin (Bq∗ , Br∗ ),

(4.27)

welche genau dann gu ¨ltig ist, wenn die Intervalle sich u ¨berlappen und damit ein tangentialer Kontakt m¨oglich ist. Eine essenzielle Beobachtung ist hierbei, dass diese Kongruenzrelation auf Cluster-Paaren in die Kongruenzrelation (4.20) auf orientierten Punktpaaren u ¨bergeht, wenn die Gr¨oße der Cluster gegen Null streben. Hieraus folgt, dass b auf die gleiche Weise wie die die Menge der gu ¨ltigen ’high-level’ Lagehypothesen H (’low-level’) Lagehypothesen von (4.21) durch b := {(Aa , Bb , Ac , Bd ) | (Aa , Ac ) ∼ H = (Bb∗ , Bd∗ )}.

(4.28)

88

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

definiert werden k¨onnen. Nun k¨onnen alle gu ¨ltigen ’high-level’ Lagehypothesen beim Hinabsteigen der Cluster-Ba¨ume durchlaufen werden. Es ist offensichtlich, dass die Kinderknoten einer ungu ¨ltigen Hypothese ebenfalls ungu ¨ltig sind. Oder anders gesagt: Wenn zwei Cluster-Paare nicht zusammenpassen, dann tun es ihre Kinder erst recht nicht. Diese Tatsache erm¨oglicht es uns, sehr viele Cluster-Paare auszuschließen, lange bevor die Tiefensuche ein Blatt erreicht hat. Um die Qualit¨at einer ’high-level’ Lagehypothese zu sch¨atzen, k¨onnen wir uns der gleichen Methode bedienen, die bereits fu ¨r low-level Hypothesen in Gleichung (4.22) vorgeschlagen wurde. Wir erweitern also die Kongruenzrelation (4.27) von Cluster-Paaren nach Cluster-Tripel (4.29) (Au , Av , Aw ) ∼ = (Bq∗ , Br∗ ) ∧ = (Bq∗ , Br∗ , Bs∗ ) :⇔ (Au , Av ) ∼ (Av , Aw ) ∼ = (Bs∗ , Bq∗ ). = (Br∗ , Bs∗ ) ∧ (Aw , Au ) ∼ Im Gegensatz zu (4.27) beru ¨cksichtigt diese Definition nicht den relativen Orientierungssinn des ’Cluster-Dreiecks’ und akzeptiert deshalb auch spiegelsymmetrische L¨osungen. Dies muss allerdings kein Nachteil sein, da spiegelsymmetrische L¨osungen selten sind und sie außerdem durch Gleichung (4.22) verworfen werden ko¨nnen, sobald die Traversierung die Bl¨atter erreicht. Bei einer gegebenen ’high-level’ Lagehypothese (Aa , Bb , Ac , Bd ) ist ein Cluster Ae potentiell in tangentialem Kontakt mit Fragment B, wenn es ein Cluster Bf mit (Aa , Ac , Ae ) ∼ = (Bb∗ , Bd∗ , Bf∗ ) gibt. Auch hier k¨onnen wir die Tatsache ausnutzen, dass ein Cluster-Paar nur dann in Kontakt stehen kann, wenn dessen Eltern-Cluster ebenfalls in Kontakt stehen. Das Verh¨altnis von Kontakt-Clustern zur Gesamtzahl an Clustern dient als Qualit¨atskriterium und ist gleichzeitig eine konservative Absch¨atzung der maximal erreichbaren Qualit¨at aller darunterliegenden Hypothesen auf den Kind” Clustern“. Wenn nun die Qualit¨at der aktuellen ’high-level’ Hypothese schlechter als die bisher beste Hypothese ist, kann die Tiefensuche abgeschnitten und bei der n¨achst h¨oheren Verzweigung fortgesetzt werden. Rekapitulieren und konkretisieren wir an dieser Stelle nochmals den gesamten Algorithmus: In einem Vorverarbeitungsschritt (siehe Algorithmus 3, Zeile 1–7) stellen wir fu ¨r jedes Fragment durch hierarchisches Zerlegen einen Cluster-Baum auf und benutzen dann die rekursive Intervalldefinition (4.25), um die Relationsintervalle jedes Cluster-Paares in einer Matrix zu speichern. Dann initialisieren wir eine Liste von Kontaktpaaren C (0) mit dem Wurzelknotenpaar und starten den Matching-Algorithmus mit (A1 , B1 , A1 , B1 ) als Starthypothese. Die rekursive Matching-Prozedur (Zeile 8–20) u ¨berpru ¨ft zuerst, ob die Cluster-Paare zusammenpassen (also ob die Lagehypothese gu ltig ist), berechnet ¨ dann ihre Kontaktqualit¨at und steigt die Cluster-B¨aume alternierend hinab, solange die aktuelle Qualit¨at besser als das bisher beste Matching-Ergebnis ist. Die Kontaktqualit¨at wird durch Iteration der Kontaktpaarliste von einer Ebene zur n¨achsten berechnet (Zeile 21–30).

4.4. Ein Grob-zu-Fein-Ansatz: ’Cluster Tree Matching’

89

Algorithmus 3 Preprocessing and Recursive Matching 1: Build a cluster tree for fragment A; 2: for all knot combinations Ai ,Aj at same tree level do 3: Store relmin (Ai , Aj ), relmax (Ai , Aj ) in a matrix;

4: 5: 6: 7:

Repeat step 1–3 for fragment B; C (0) ← {(A1 , B1 )}; bestQuality ← 0; Match(1, 1, 1, 1, 0);

⊲ init contact list ⊲ start recursion at root nodes

8: procedure Match(a, b, c, d, i) 9: if a > b then return; 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:

⊲ avoids symmetrical hypotheses ⊲ pair does not fit

b then return; if (Aa , Bb , Ac , Bd ) ∈ /H actQuality ← BuildContactList(a, b, c, d, i); if actQuality ≤ bestQuality then return; if i is maximal recursion depth then bestQuality ← actQuality, bestHypothesis ← (Aa , Bb , Ac , Bd ); else for u ← 0 . . . 1 for v ← 0 . . . 1 do if i is odd then Match(a, 2b+u, c, 2d+v, i+1); else Match(2a+u, b, 2c+v, 2d, i+1);

⊲ weak contact

⊲ memorize best

⊲ decend tree of B ⊲ decend tree of A

21: function BuildContactList(a, b, c, d, i) 22: if i = 0 then return 100%; 23: 24: 25: 26: 27: 28: 29: 30:

4.4.4

C (i) ← ∅; ⊲ clear contact list of recursion depth i (i–1) for all (Ae , Bf ) ∈ C do ⊲ over all pairs of list i-1 for u ← 0 to 1 do ∗ if i is odd ∧ (Aa , Ac , Ae ) ∼ = (Bb∗ , Bd∗ , B2f +u ) then (i) (i) C ← C ∪ {(Ae , B2f +u )}; ⊲ add contact pair if i is even ∧ (Aa , Ac , A2e+u ) ∼ = (B ∗ , B ∗ , B ∗ ) then b

C (i) ← C (i) ∪ {(A2e+u , Bf )};

d

f

⊲ add contact pair

return percent of overlap at level i;

Beschleunigungsm¨ oglichkeiten

Angenommen wir haben n Oberfl¨achenpunkte auf der korrespondierenden Bruchfl¨ache von Fragment A und B. Da jede Paarkombination dieser Bruchfl¨achenpunkte von Fragment A in Kontakt mit einem korrespondierenden Punktpaar von Fragment B gebracht werden kann, erhalten wir bis zu n2 gu ¨ltige Hypothesen, die alle nahezu dieselbe Kontaktlage ergeben. Um diese unn¨otig große Anzahl von redundanten Hypothesen zu reduzieren, ko¨nnen wir die Suche der Punktpaare auf eine kleine Untermenge von gleichm¨aßig verteilten Punkten auf Fragment A beschr¨anken. Dies kann durch eine einfache ¨ Anderung des Algorithmus realisiert werden. Es muss nur eine Tiefe festgelegt werden, ab der die Hypotheseniteration auf den linken Pfad des Baumes von Fragment A beschra¨nkt ist. Hierdurch wird die Qualita¨tsscha¨tzung nicht beeinflusst, da weiterhin

90

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

alle Oberfl¨achenpunkte fu ¨r die Kontaktpaarberechnung verwendet werden. Eine weitere Mo¨glichkeit ist die leichte Verkleinerung der Cluster-Ausdehnungen (insbesondere im Unterraum der Oberfl¨achennormalen). Hierdurch werden Ausreißer beseitigt und eine implizite Gl¨attung erzielt, was wiederum die Laufzeit verbessert und außerdem die Genauigkeit bei verrauschten Daten erh¨oht. Beide Erweiterungen (Hypothesenreduktion und Cluster-Verkleinerung) ko¨nnen die Effizienz signifikant erho¨hen, es kann allerdings nicht mehr garantiert werden, dass die beste L¨osung gefunden wird. 4.4.5

Experimentelle Ergebnisse und Diskussion

Der Grob-zu-Fein-Ansatz wurde mit vielen Fragmenten unterschiedlicher Art evaluiert. Abbildung 4.25 zeigt die initiale Lage und das Matching-Ergebnis von sechs repr¨asentativen Beispielen. Um realistische Testbedingungen zu schaffen, wurden die Punktwolken der drei ku ¨nstlichen Objekte additiv mit normalverteiltem Rauschen (10% Streuung bzgl. der mittleren Punktdistanz) u ¨berlagert. Tabelle 4.2 zeigt die Laufzeit fu ¨r die Vorverarbeitung in Abh¨angigkeit von der verwendeten Baumtiefe. Diese Laufzeit umfasst die Erstellung des Cluster-Baums sowie die Berechnung der zugeh¨origen Relationsintervallmatrix. S¨amtliche Tests wurden auf einem handelsu ¨blichen AMD Athlon 64 PC mit 2.2 Ghz erstellt. Fu ¨r alle dargestellten Fragmente wurden ad¨aquate Matching-Ergebnisse in weniger als drei Sekunden gefunden. Die Resultate von vier Fallstudien mit variabler maximaler Baumtiefe sind in Abbildung 4.26 dargestellt. Wie man sehen kann, steigt die Laufzeit (Abbildung 4.26 oben) nahezu linear mit der Anzahl von Clustern an. Der Rotationsfehler (Abbildung 4.26 unten) liegt ab einer Baumtiefe von 12 immer unter vier Grad. Werden Cluster-B¨aume mit zu geringer Baumtiefe verwendet, so scheitert das Matching aufgrund der unzureichenden Oberfl¨achenapproximation). Der Ansatz arbeitet sehr robust fu ¨r eine Vielzahl von verschiedenen Objekten. Zusammenfassend kann gesagt werden, dass die Ergebnisse des hierarchischen Ansatzes eine zum ’Random Sample Matching’ vergleichbar gute Performanz bezu ¨glich Effizienz, Genauigkeit und Robustheit belegen. Auch wenn die Laufzeiten des ’Cluster Tree Matchings’ im direkten Vergleich augenscheinlich etwas schlechter ausfallen, so muss beru ¨cksichtigt werden, dass beim ’Random Sample Matching’ nur die Zeit bis zum Finden der besten Hypothese beru ¨cksichtigt wurde. Beim ’Cluster Tree Matching’ wurde hingegen die Laufzeit bis zur abschließenden Termination nach vollst¨andiger Durchsuchung aller Hypothesen angesetzt. Des Weiteren wurden im Gegensatz zum ’Random Sample Matching’ weder Oberfl¨achenkru ¨mmungen noch anderen Oberfl¨achenmerkmale eingesetzt, was wiederum die St¨arke des grundlegenden Verfahrens untermauert. Natu ¨rlich kann auch der hierarchische Ansatz von geeigneten Merkmalen profitieren. Gerade bei der hierarchischen Cluster-Zerlegung bietet sich eine simultane Merkmalsberechnung auf den Clustern an. Die Normalenvarianz der Cluster korreliert beispielsweise unmittelbar mit der Oberfl¨achenkru ¨mmung und kann leicht per Eigenwertanalyse berechnet werden. Aber auch die scharfen Bruchkanten, die bevorzugt entlang der Cluster-Grenzen verlaufen, ko¨nnen leicht detektiert werden. Somit bietet der neue Ansatz betra¨chtlichen

4.4. Ein Grob-zu-Fein-Ansatz: ’Cluster Tree Matching’

91

Abbildung 4.25 Einige Testfragmente in initialer Lage und ihrer Lage nach dem Matching: (a) zerbrochener Venuskopf; (b) zerbrochene Felskugel; (c) zerbrochener Stanford Bunny; (d) IEC-320 Stromverbinder; (e) Gl¨ uhlampe aus Autoscheinwerfer; (f) Spiralfraktur eines Knochenmodells.

92

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

Abbildung 4.26 Matching-Ergebnisse von vier Fragmenten unter variabler Anzahl von Oberfl¨achenpunkten bzw. variabler Baumtiefe.

4.4. Ein Grob-zu-Fein-Ansatz: ’Cluster Tree Matching’

93

Tabelle 4.2 Laufzeit f¨ ur die Vorverarbeitung (Erstellung eines Cluster-Baumes und Berechnung der zugeh¨origen Relationsintervallmatrix). Baumtiefe 10 11 12 13 14 15 Laufzeit [s] 0.86 0.96 1.10 1.39 2.23 5.06

Tabelle 4.3 Experimentelle Ergebnisse: Laufzeit t in Sekunden, Winkelfehler φ bei verschiedenen Cluster-Baumtiefen. T ief e Venus A+B 11 12 Venus B+C 11 12 Felskugel 11 12 Bunny A+B 12 Bunny A+C 11 12 IEC-320 10 11 12 Gl¨ uhbirne 12 Spiralfraktur 12

Spielraum fu ¨r weitere Verbesserungen.

t [s] 1,58 4,13 1,17 3,70 0,83 1,09 8,75 0,77 1,60 2,39 4,04 5,45 3,22 0,90

φ 5,4◦ 2,1◦ 5,6◦ 4,9◦ 0,6◦ 3,4◦ 3,6◦ 2,1◦ 5,8◦ 5,4◦ 2,1◦ 1,8◦ 2,8◦ 4,9◦

94

4.5

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

Anpassung an spezielle Fragmenttypen

Die bisher vorgeschlagenen Ans¨atze favorisieren die relative Lage mit dem gr¨oßten Oberfl¨achenkontakt zwischen den Fragmenten. Wie bereits erw¨ahnt, gibt es natu ¨rlich auch Fragmente, bei denen diese L¨osung nicht die gesuchte ist, also die korrekte Lage nicht diejenige mit dem gro¨ßtmo¨glichen Oberfla¨chenkontakt ist. Dies tritt beispielsweise dann auf, wenn das Verh¨altnis von Bruchfl¨ache zu Gesamtfl¨ache klein ist und wenn die intakte Oberfl¨ache große glatte Bereiche mit komplement¨aren Regionen auf dem Gegenstu ¨ck aufweist (z.B. im Fall vieler du ¨nnwandiger arch¨aologischer Fragmente, wie Scherben von Tonkru gen etc.). Dies ist der Grund, warum der Ansatz in den drei Beispielen in Ab¨ bildung 4.27 versagt. Beim ersten Beispiel handelt es sich um ein gebrochenes Becken. Da zum einen die Bruchfl¨achen nur sehr schmal sind und nur einen ¨außerst kleinen Teil der Gesamtfl¨ache ausmachen und zum anderen große glatte Oberfl¨achenbereiche innerhalb der Beckenschaufeln existieren, werden falsche Lo¨sungen vorgeschlagen. Vergleichbare Ursachen fu ¨hren auch zu falschen Ergebnissen bei der Femurfraktur und dem zerbrochenen Quader. Es ist klar, dass in diesen F¨allen zus¨atzliches Vorwissen integriert werden muss, um zu verhindern, dass der Algorithmus triviale L¨osungen“ findet. Je nach Objektklasse, gibt ” es ganz unterschiedliches Vorwissen, das genutzt werden kann. Abbildung 4.28 zeigt einige Beispiele hierfu ¨r. Insbesondere vorhandene Symmetrien, wie Rotationssymmetrien, Spiegelsymmetrien oder Translationssymmetrien, kommen h¨aufig vor und k¨onnen ¨außerst nu ¨tzlich fu ¨r das Matching sein. Ein Beispiel fu ¨r rotationssymmetrische Objekte sind T¨opferwaren wie Tonkru ¨ge und Vasen. Dieses Vorwissen ist also unter anderem bei der Rekonstruktion von historischen Fundstu ¨cken in der Arch¨aologie nu ¨tzlich. Ein gutes Beispiel fu ¨r spiegelsymmtrische Objekte sind Knochen. Jeder menschliche Knochen ist entweder spiegelsymmetrisch aufgebaut (z.B. Sch¨adelknochen, Ru ¨ckenwirbel und Beckenknochen) oder hat ein spiegelsymmetrisches Gegenstu ¨ck. Zus¨atzlich sind die vielen R¨ohrenknochen im Schaftbereich ann¨ahernd translationssymmetrisch, d.h. sie haben eine u ¨ber den Knochenverlauf gleichm¨aßige Grundform bzw. Schnittfl¨ache. Natu ¨rlich haben auch die meisten geometrischen Grundformen (wie Kugel, Kegel, Zylinder, Torus, Quader, Ellipsoid, etc.) eine oder mehrere Symmetrieeigenschaften. Neben dem Symmetriewissen k¨onnen auch a priori bekannte Oberfl¨acheneigenschaften von ¨außerst großem Nutzen sein. Denkbar ist zum Beispiel, dass sich die Oberfl¨ache der Bruchregionen stark von der intakten Oberfl¨ache unterscheidet. H¨aufig findet man beispielsweise eine raue und unebene Bruchfl¨ache, die sich gut von der vergleichsweise glatten intakten Oberfl¨ache differenzieren l¨asst. Falls die zerbrochenen Objekte nicht verschliffen sind, sind meist scharfe Bruchkanten zwischen Bruchfl¨ache und intakter Oberfl¨ache zu finden und liefern weitere Oberfl¨achenmerkmale. Des Weiteren ist auch das Wissen u ¨ber eine urspru ¨nglich kontinuierliche Oberfla¨chenbeschaffenheit hilfreich. ¨ Nach dem Zusammensetzen sollten also m¨oglichst glatte Uberg ¨ange von einem Fragment zum anderen entstehen. Dies bezieht sich nicht nur auf einen stetigen Oberfl¨achenverlauf, sondern auch auf eine kontinuierliche Farbe oder Textur. Und nicht zuletzt kann auch eventuell vorhandenes Wissen u ¨ber die urspru ¨ngliche Form des Objektes ausgenutzt

4.5. Anpassung an spezielle Fragmenttypen

95

Beckenfraktur

Schaftbereich einer Femurfraktur

Bruchst¨ ucke eines Quaders mit Relief Abbildung 4.27 Fragmente, bei denen die Maximierung der Kontaktfl¨ache zu falschen Ergebnissen f¨ uhrt. (Links) initiale Lage; (Mitte) Matching-Ergebnis; (Rechts) korrekte Lage.

96

Kapitel 4. Matching von 3d Objektfragmenten (3d-Puzzle-Problem)

Rotationssymmetrie

markante Bruchfläche

Spiegelsymmetrie

Translationssymmetrie

scharfe Bruchkante

Oberflächenkontinuität

Abbildung 4.28 Nutzbares Vorwissen u ¨ber Symmetrien und Oberfl¨acheneigenschaften.

werden. ¨ Nach diesen theoretischen Uberlegungen wird im folgenden Kapitel die Integration von Vorwissen (insbesondere Symmetriewissen) anhand von verschiedenen Objekttypen und Anwendungsbereichen in die Praxis u ¨bertragen.

97

Kapitel 5

Anwendungen und Einsatzgebiete Im letzten Kapitel wurden effiziente und robuste Ans¨atze zum Zusammensetzen von zerbrochenen Objekten vorgestellt und evaluiert. In diesem Kapitel soll exemplarisch das weite Anwendungsspektrum und die vielf¨altigen Einsatzm¨oglichkeiten der Verfahren aufzeigt werden. Da die bisher vorgestellten Ans¨atze diejenige relative Lage mit dem gr¨oßten Oberfl¨achenkontakt suchen, dies jedoch h¨aufig nicht die gewu ¨nschte L¨osung darstellt, wird je nach Anwendungsgebiet zus¨atzliches Vorwissen u ¨ber die Form der zerbrochenen Objekte integriert. Durch dieses a priori Wissen wird der Such- bzw. Konfigurationsraum im Allgemeinen stark eingeschr¨ankt, unerwu ¨nschte L¨osungen werden vermieden und das Laufzeitverhalten verbessert sich. Im ersten Abschnitt wird die Repositionierung von Knochen behandelt, ein extrem wichtiges und zukunftstr¨achtiges Anwendungsgebiet in der Chirurgie. Danach folgt eine interessante Anwendungsmo¨glichkeiten in der Arch¨aologie. Abschnitt 5.3 demonstriert die Tauglichkeit der Algorithmen zur Registrierung von Tiefendaten, bzw. zur Fusionierung von Objektoberfl¨achen, die per Tiefensensor aus unterschiedlichen Sichtrichtungen aufgenommen wurden. Und schließlich wird in Abschnitt 5.4 erla¨utert, wie die Registrierung von Oberfla¨chen fu ¨r die Objekterkennung und Lagesch¨atzung von Objekten im Raum einsetzt werden kann. Da viele Implementierungsarbeiten bereits zeitlich vor der Entstehung des hierarchischen ’Cluster Tree Matching’-Ansatzes gemacht wurden, verwenden die folgenden Experimente durchgehend den zufallsbasierten ’Random Sample Matching’-Ansatz. Dennoch k¨onnen sie selbstverst¨andlich auch auf den hierarchischen Matching-Ansatz u ¨bertragen werden.

5.1 5.1.1

Anwendungen in der Chirurgie Repositionierung von gebrochenen Oberschenkelknochen

Eine u ¨bliche Form der Therapie bei Femurfrakturen (Oberschenkelbru ¨chen) ist die Ausrichtung der Femurfragmente per geschlossener Femurmarknagelung“ (siehe Grafik in ” Abbildung 5.1). Diese moderne minimalinvasive Technik hat den großen Vorteil, dass zusa¨tzliche Gewebescha¨digungen der bereits gescha¨digten Bereiche weitestgehend ver-

98

Kapitel 5. Anwendungen und Einsatzgebiete

(a)

(b)

(c)

(d)

(e)

Abbildung 5.1 Das Prinzip der Marknagelung einer Femurfraktur: (a) Einschnitt in H¨ uftregion; (b) Er¨offnung des Knochenmarkkanals; (c) Einf¨ uhrung des Marknagels und Repositionierung des distalen Fragments; (d) Fixierung mit Schrauben; (e) Ergebnis.

¨ mieden werden, da nur noch kleine Offnungen fu ¨r den Marknagel und fu ¨r die sogenannten Schanzschen Schrauben notwendig sind. Allerdings ist es hierbei schwierig, die Femurfragmente exakt zu repositionieren, da zum einen die intraoperativen R¨ontgenbilder (siehe Abbildung 5.2) nur eine sehr eingeschr¨ankte Sicht erlauben und zum anderen der ausfu ¨hrende Chirurg gegen die Zugkraft der Sehnen und Muskeln anka¨mpfen“ muss, ” die je nach Muskelmasse bis zu 400N (∼40kg) (siehe z.B. Westphal et al. [93]) betragen kann. Dies fu ¨hrt h¨aufig zu Fehlstellungen und schlechten Fixierungen, was wiederum fu ¨r den Patienten physiologischen Stress, Funktionsst¨orungen, fru ¨hzeitigen Gelenkverschleiß und Schmerzen bedeutet. Die Knochenachse selbst kann mittels mehrfacher R¨ontgenaufnahmen und Marknagel noch relativ gut ausgerichtet werden. Postoperative frontale und/oder sagitale Fehlstellungen der Knochenachse von u ¨ber fu ¨nf Grad treten in diversen Fachliteraturquellen mit einer H¨aufigkeit zwischen 2% und 18% auf. Bedeutend schwieriger ist jedoch die richtige Rotation um die Knochenachse festzustellen. Ein Rotationsfehler von u ¨ber fu ¨nfzehn Grad um die Knochenachse wird als kritische Torsions” abweichung“ betrachtet und sollte in einer zus¨atzlichen Operation korrigiert werden. Einige Studien belegen, dass nach der Fixierung ein solcher kritischer Rotationsfehler bei einer nicht vernachl¨assigbaren Anzahl an Patienten von bis zu 28% zu beobachten ist. Ein DFG-gestu ¨tztes Kooperationsprojekt zwischen der Unfallchirurgischen Klinik der Medizinische Hochschule Hannover und dem Institut fu ¨r Robotik und Prozessinforma-

5.1. Anwendungen in der Chirurgie

99

Abbildung 5.2 Intraoperative R¨ontgenaufnahmen zweier Femurfrakturen mittels ISO-CBogen.

tik der TU-Braunschweig besch¨aftigt sich deshalb mit der Vermeidung dieser Komplikationen durch Verwendung eines kraft-/momentengefu ¨hrten Roboters zur semi-automatischen Knochenrepositionierung (siehe z.B. G¨osling et al. [31], [32], Westphal et al. [91], [92], [93], Winkelbach et al. [100], [101]). Bevor die roboterassistierte Operation durchgefu ¨hrt werden kann, mu ¨ssen die Repositionierungsparameter bestimmt werden. Insbesondere die relative Endposition des distalen zum proximalen Femurfragment sollte so genau wie m¨oglich berechnet werden und mit m¨oglichst wenig Interventionen des Chirurgen geschehen. Nach einer visuellen Kontrolle der berechneten Ziellage und der vorgeschlagenen Bewegungstrajektorie k¨onnen die Daten zur Ausfu ¨hrung an das Robotersystem u bergeben werden. Auf diese Weise k o nnten in Zukunft Repositionierungsfeh¨ ¨ ler weitestgehend vermieden und zus¨atzlich die intraoperative R¨ontgenstrahlenbelastung fu ¨r Patient und Chirurg verringert werden. Dies ist insbesondere fu ¨r die Chirurgen wichtig, da sie tagt¨aglich dieser Belastung ausgesetzt sind. Daru ¨ber hinaus wird hierdurch auch eine Reduktion der Operationszeit und Kosten erwartet.

Methodenu ¨ berblick Wie Abbildung 5.3 zeigt, ben¨otigt man fu ¨r die Berechnung der Ziellage zuerst Oberfl¨achenmodelle aller Femurfragmente. Die Oberfl¨achen k¨onnen per Isofl¨achenextraktion (siehe Kapitel 2.3.2) aus einem Computertomogramm rekonstruiert werden. Das Computertomogramm kann preoperativ mittels Standardtechnik oder auch intraoperativ mit Hilfe eines modernen ISO-C-Bogens erstellt werden. Die zweite Variante hat den Vorteil, dass die initiale Lage der Knochenfragmente des CTs mit der aktuellen OP-Situation u ¨bereinstimmt und nicht aufw¨andig registriert werden muss. Voraussetzung ist lediglich ein kalibrierter ISO-C-Bogen. Abbildung 5.4 zeigt einen direkten Vergleich zwischen

100

Kapitel 5. Anwendungen und Einsatzgebiete

Abbildung 5.3 Berechnungsschritte der virtuellen Femurrepositionierung.

der rekonstruierten Oberfl¨ache eines Femurfragments aus einem Standard-CT und aus einem ISO-C-Bogen CT. Gut zu sehen ist, dass die Oberfl¨ache des C-Bogens-CTs wesentlich verrauschter, allerdings auch detaillierter rekonstruiert wurde. Das st¨arkere Rauschen l¨asst sich durch die geringeren technischen M¨oglichkeiten des mobilen C-Bogens erkl¨aren. Die h¨ohere Detailgenauigkeit in diesem Beispiel beruht auf dem geringeren Schichtabstand und damit h¨oheren Schichtanzahl des C-Bogen-CTs (0.47 mm beim CBogen gegenu ¨ber 2 mm beim Standard-CT). Allerdings l¨asst sich auch ein Standard-CT mit geringerem Schichtabstand und entsprechend hoher Detailaufl¨osung erzeugen. Die rekonstruierten Oberfl¨achenmodelle der Femurfragmente bilden nun das zu l¨osende 3dPuzzle-Problem. Wie bereits in Kapitel 4.3 auf Seite 95 gezeigt, fu ¨hrt eine direkte Maximierung der Kontaktfl¨ache zwischen den Femurfragmenten h¨aufig nicht zum gewu ¨nschten Ergebnis, da die Bruchfl¨ache im Verh¨altnis zur Gesamtfl¨ache relativ gering ist. Die Algorithmen aus Kapitel 4 neigen in ihrer Basiskonfiguration dazu, einen Kontakt zwischen den intakten ausgedehnten Seitenfla¨chen der Femurfragmente vorzuschlagen. Aus

5.1. Anwendungen in der Chirurgie

101

Abbildung 5.4 Zwei mit unterschiedlicher Aufnahmetechnik rekonstruierte Oberfl¨achen des selben Femurfragments: (Links) Standard-CT mit einem Schichtabstand vom 2 mm; (Rechts) mobiler ISO-C-Bogen mit einem Schichtabstand von 0,47 mm.

diesem Grund muss zus¨atzliches a priori Wissen integriert werden. Bei Oberschenkelknochen (sowie allen anderen R¨ohrenknochen) ist es naheliegend, den relativ gleichf¨ormigen Verlauf entlang der Femurachse auszunutzen, um in einer Vorverarbeitung die Orientierung der Knochenachse zu sch¨atzen. Diese Achsorientierung kann auf zweierlei Weise vom Matching-Verfahren genutzt werden: Zum einen schr¨ankt sie zwei rotatorische Freiheitsgrade der relativen Transformation ein und zum anderen kann hiermit die Bruchfl¨ache von der intakten Oberfl¨ache unterschieden werden, was sich wiederum positiv auf Effizienz, Robustheit und Genauigkeit auswirkt.

Achssch¨ atzung und Bruchfl¨ achensegmentierung Fu ¨r die Detektion von zylindrischen und r¨ohrenf¨ormigen Strukturen in Oberfl¨achendaten (h¨aufig Tiefendaten) gibt es bereits zahlreiche Ans¨atze. Eine M¨oglichkeit ist das Anpassen (engl. ’fitting’) eines Zylindermodells an die Punktmenge per Minimierung einer Fehlerfunktion (siehe z.B. Faber & Fisher [21]). Andere Ans¨atze nutzen die Tatsache, dass die Oberfl¨achennormalen eines Zylinders auf der Gaußschen Kugel einen Kreis bilden (siehe z.B. Hebert & Ponce [37], Chaperon & Goulette [13]). Behrens et al. [8] segmentieren ro¨hrenfo¨rmige Strukturen per randomisierter Hough-Transformation und Kalmann-Filter. Dieser Ansatz sucht Zylinder mit einer elliptischen Grundfl¨ache und einem Freiformkurvenverlauf. In einer eigenen Arbeit (siehe Winkelbach et al. [101]) wurde die Position und Orientierung der Achse von zylindrischen Fragmenten per Hough-Transformation in zwei Schritten ermittelt: Die Hough-Transformation im ersten Schritt sucht die Orientierung der Zylinderachse und basiert darauf, dass alle Oberfl¨achennormalen der intakten Mantelfl¨ache senkrecht auf der Zylinderachse stehen (siehe Abbildung 5.5). Fu ¨r jede Oberfl¨achennormale ~ni wird die Orientierung aller dazu senkrecht stehenden Vektoren {~z | ~z ⊥ ~ni } in einem 2d Array (Hough-Raum) akkumuliert. Hierdurch entsteht ein Cluster im HoughRaum, dessen Indizes die korrekte Achsorientierung beschreiben. Nach der Berechnung der Achsorientierung wird im zweiten Schritt die Position der Achse im Raum ebenfalls mit einer Hough-Transformation ermittelt. Hierbei werden alle Oberfla¨chenpunkte

102

Kapitel 5. Anwendungen und Einsatzgebiete

~z

Kno hena hse

~z

Bru hä he

Kno hena hse Bru hä he

~nf

~nf

g repla ements ~nj

~nj

intakte Oberä he

intakte Oberä he

Abbildung 5.5 Zur Berechnung der Achsorientierung: Unter Annahme eines gleichf¨ormigen Knochenverlaufs stehen die Oberfl¨achennormalen ~nj der intakten Knochenoberfl¨ache senkrecht auf der Knochenachse ~z, w¨ahrend die Oberfl¨achennormalen ~nf der Bruchfl¨ache meist nicht senkrecht auf ~z stehen.

auf eine Ebene senkrecht zur Knochenachse projiziert. Unter der Modellannahme, dass die Knochenoberfl¨ache n¨aherungsweise eine kreisf¨ormige Grund-/Schnittfl¨ache besitzt, muss nun analog zur Hough-Transformation fu ¨r Kreise, der Mittelpunkt dieses Kreises bestimmt werden. Wenn die Position und Orientierung der Knochenachse aller Fragmente bekannt ist, reduziert sich das 3d-Puzzle-Problem auf ein einfaches eindimensionales Problem pro Fragmentpaar, da nur noch die Rotation um die Achse zu l¨osen bleibt. Es hat sich allerdings herausgestellt, dass menschliche Oberschenkelknochen in den meisten F¨allen stark von der kreisf¨ormigen Grundform abweichen (siehe Abbildung 5.6) und deshalb die Bestimmung einer, u ¨ber alle Fragmente eindeutigen, Achsposition nicht m¨oglich ist. Im Folgenden werden wir uns deshalb auf die Achsorientierung bzw. die Richtung der Translationssymmetrie beschr¨anken. Die oben beschriebene Methode zur Berechnung der Achsorientierung hat neben den bereits in Kapitel 4.3.1 angesprochenen allgemeinen Problemen der Hough-Transformation (wie Quantisierung des Parameterraums und m¨ogliche Verteilung der Cluster u ¨ber mehrere Hough-Raumzellen) den Nachteil, dass eine einfache zweidimensionale Parametrisierung der Achsorientierung (bzw. der Kugeloberfla¨che) stets zu einer ungleichma¨ßigen Aufl¨osung und damit zu einer nicht ¨aquidistanten Richtungsverteilung fu ¨hrt. Eine L¨osungsm¨oglichkeit w¨are es, statt dessen einfach einen 3d Hough-Raum (Repr¨asentation der Richtungsvektoren mit x,y,z-Koordinaten) zu verwenden. Eine andere nahe liegende und leicht zu implementierende Vorgehensweise ist der folgende RANSAC-Ansatz:

5.1. Anwendungen in der Chirurgie

103

Abbildung 5.6 Zwei echte Femurfragmente: Ein Blick entlang der Achse zeigt die Bruchfl¨ache und die nicht kreisf¨ormige Grundform.

1. Wa¨hle zufa¨llig zwei Oberfla¨chenpunkte mit den Oberfla¨chennormalen ~n, m ~ und konstruiere hiermit eine Achshypothese ~z. 2. Berechne die Gu ¨te der Achshypothese (Anzahl der Oberfl¨achennormalen die senkrecht auf der Achse stehen). Die Effizienz dieses Schrittes kann durch eine schnelle zufallsbasierte Hochrechnung gesteigert werden. 3. Wiederhole die Schritte 1 und 2 und speichere das jeweils beste Ergebnis, solange bis alle Paarkombinationen getestet wurden, die Gu ¨te ausreicht oder die maximale Suchzeit abgelaufen ist. Fu ~ ∈ NA mit k~n × mk ~ 6= 0 kann eine Achsorientierungshypo¨r jedes Normalenpaar ~n, m these ~z := (~n × m) ~ / k~n × mk ~ (5.1) generiert werden. Die Gu ¨te Ω der Hypothese ist dann (analog zu Gleichung (4.17)) Ω≈

Pk

z , ~ni ) i=1 orthogonal(~ k

1, 96 ± √ ; 2 k

(5.2)

wobei die Funktion orthogonal(~z, ~ni ) bestimmt, ob die Oberfl¨achennormale ~ni orthogonal auf der Achsrichtung ~z steht orthogonal(~z, ~ni ) :=



1 0

falls k~z · ~ni k < εr , sonst.

(5.3)

Nachdem die Knochenachse bestimmt wurde, kann sie zur Identifizierung und Segmentierung der Bruchfla¨che herangezogen werden. Wie wir bereits festgestellt haben, stehen

104

Kapitel 5. Anwendungen und Einsatzgebiete

im Schaftbereich die Normalen der intakten Knochenoberfl¨ache im Allgemeinen senkrecht auf der Knochenachse. Das heißt, alle Oberfla¨chenbereiche, die das orthogonalKriterium aus Gleichung (5.3) nicht erfu ¨llen, geh¨oren mit hoher Wahrscheinlichkeit zur Bruchfl¨ache. In einer konkreten Implementierung sollte allerdings eine gr¨oßere Toleranz εr als bei der Gu ¨tesch¨atzung der Achshypothese zugelassen werden. Alle Oberfl¨achenbereiche, die nicht parallel zur Achse verlaufen (und damit sichtbar sind, wenn man wie in Abbildung 5.6 entlang der Knochenachse schaut), werden mit dieser Methode als Bruchfl¨ache klassifiziert. Matching der Femurfragmente Mit der berechneten Knochenachse und der segmentierten Bruchfla¨che haben wir ideale Voraussetzungen fu ¨r das Matching der Femurfragmente geschaffen. Durch die Achsorientierung k¨onnen bereits zwei rotatorische Freiheitsgrade zwischen jeweils zwei Fragmenten eingeschr¨ankt werden; und die Kenntnis der Bruchfl¨achen reduziert die Anzahl der m¨oglichen Kontaktlagen. Als Basisalgorithmus verwenden wir im Folgenden den ’Random Sample Matching’-Ansatz aus Kapitel 4.3. Anstatt ein Punktpaar pro Fragment auszuw¨ahlen, reicht jeweils ein einzelner Punkt auf Fragment A und Fragment B aus, da zwei Freiheitsgrade bereits durch die Knochenachse festgelegt sind. Außerdem brauchen wir nur noch die markierten Bruchfl¨achen zu beru ¨cksichtigen. Nach diesen Modifikationen ergibt sich folgende Suchschleife: 1. Konstruiere eine Lagehypothese durch Annahme eines tangentialen Kontaktes zwischen zwei zuf¨allig ausgew¨ahlten orientierten Punkten ~a ∈ A und ~b ∈ B, wobei A, B die Bruchfla¨chenpunkte von Fragment A und B bezeichnen. 2. Berechne die Gu ¨te der Lagehypothese (Gr¨oße der in Kontakt stehenden Bruchfl¨ache). Die Effizienz dieses Schrittes kann durch eine schnelle zufallsbasierte Hochrechnung gesteigert werden. 3. Wiederhole die Schritte 1 und 2 und speichere das jeweils beste Ergebnis, solange bis alle Paarkombinationen getestet wurden, die Gu ¨te ausreicht oder die maximale Suchzeit abgelaufen ist. In Schritt 1 wird zuf¨allig ein orientierter Punkt ~a auf der Bruchfl¨ache von Fragment A und ein orientierter Punkt ~b auf der Bruchfl¨ache von Fragment B ausgew¨ahlt und in tangentialen Kontakt gebracht. Der verbleibende rotatorische Freiheitsgrad um die entgegengerichteten Oberfla¨chennormalen ~na , ~nb kann durch Ausrichten der Knochenachsen ~zA , ~zB festgelegt werden. Ein Entgegenrichten der Oberfl¨achennormalen und gleichzeitiges Ausrichten der Knochenachsen ist allerdings nur dann m¨oglich, wenn der Winkel zwischen Oberfl¨achennormale und Achse auf beiden Fragmenten u ¨bereinstimmt ~na · ~zA ≈ ~nb · ~zB

bzw. | arccos(~na · ~zA ) − arccos(~nb · ~zB )| < εz .

(5.4)

Außerdem muss sichergestellt werden, dass beide Winkel gr¨oßer Null sind ~na · ~zA > 0 und ~nb · ~zB > 0,

(5.5)

5.1. Anwendungen in der Chirurgie

105

damit die relative Transformation eindeutig ist. Punktpaare, die diese Bedingungen nicht erfu ¨llen, werden verworfen. Die relative Transformation ATB zwischen den beiden Fragmenten kann nun (analog zu Gleichung (4.5) auf Seite 54) mittels zweier Koordinatensysteme FA und FB (jeweils ein Koordinatensystem pro Fragment) ermittelt werden: TB = FA−1 · FB

A

(5.6)

mit 

FA := ~na 0

~z1 ×~na |~z1 ×~na |

~na ×~zA ×~na |~na ×~zA ×~na |

0

0



p~a  , 1



FB := −~nb 0

~nb ×~zB |~nb ×~zB |

~nb ×~zB ×~nb |~nb ×~zB ×~nb |

0

0



p~b  . 1

(5.7)

Durch diese Definition der Koordinatensysteme wird gewa¨hrleistet, dass die Oberfla¨chennormalen exakt entgegengerichtet sind und die Knochenachsen mit dem verbleibenden Freiheitsgrad im Sinne des kleinsten Winkelfehlers ausgerichtet werden. Hierdurch wird eine leichte Abweichung von der Achsorientierung zugelassen, wodurch das Verfahren ¨ robuster gegenu εz (in Glei¨ber ungenau berechneten Achsorientierungen wird. Uber chung (5.4)) kann die maximal erlaubte Winkelabweichung zwischen den Knochenachsen festgelegt werden. Die Gu ¨teberechnung in Schritt 2 und die Abbruchbedingungen in Schritt 3 erfolgen dann v¨ollig analog zum ’Random Sample Matching’-Ansatz auf Seite 63. Experimentelle Ergebnisse Schauen wir uns nun die Performanz des Ansatzes an. Als Testdaten standen sowohl Computertomogramme von gebrochenen menschlichen Oberschenkelknochen, als auch von Kunstknochen der Firma Synbone [83] mit diversen Frakturtypen zu Verfu ¨gung. Abbildung 5.7 zeigt drei echte Femurfrakturen, die per C-Bogen aufgenommen wurden, und Abbildung 5.9 zeigt drei gebrochene Kunstknochen, die per Standard-CT aufgenommen wurden. Links ist jeweils die initiale Lage der Knochenfragmente dargestellt, in der Mitte sieht man die gesch¨atzte Knochenachse und die segmentierte Bruchfl¨ache (hell) gegenu ¨ber der intakten Knochenoberfl¨ache (dunkel) und rechts ist das Ergebnis des Matching-Ansatzes abgebildet. Wie man sieht, arbeitet der Algorithmus augenscheinlich sehr genau und ¨außerst robust. Die Achssch¨atzung, die Bruchfl¨achensegmentierung und der Matching-Ansatz funktionieren selbst bei schwierigen Frakturformen. Pra¨zise Aussagen u ¨ber die erreichte Genauigkeit und Effizienz des Matching-Ansatzes liefern die Grafiken in Abbildung 5.8 und Abbildung 5.10. Hierzu wurden mit jeder Femurfraktur 100 Versuchsdurchl¨aufe durchgefu ¨hrt und ausgewertet. In der Grafik links sieht man den Medianwert±Quantile der erreichten Bruchfl¨achendistanz (mittlere Distanz der Bruchfla¨chenpunkte gegenu ¨ber ihrer Sollposition in Millimetern) u ¨ber der Zeit. Der Algorithmus erreicht in allen F¨allen bereits nach einem Bruchteil einer Sekunde die unmittelbare N¨ahe der gewu ¨nschten L¨osung, so dass in den dargestellten Daten nur noch bereits gute L¨osungen zu sehen sind (man beachte, dass die Skalierung der Ordinate eine andere ist als in Kapitel 4). Anschaulicher als die Bruchfla¨chendistanz ist der

106

Kapitel 5. Anwendungen und Einsatzgebiete

Tabelle 5.1 Matching-Ergebnisse der Femurfrakturen nach jeweils 100 Durchl¨aufen: Dargestellt ist jeweils Mittelwert, Median, Minimum und Maximum der mittleren Bruchfl¨achendistanz (Dist.) und des Rotationsfehlers (Rot.) nach einer Laufzeit von 10 Sekunden pro Durchlauf, sowie die Laufzeit, die ben¨otigt wurde, um eine relative Transformation mit einer Bruchfl¨achendistanz von unter 3 mm zu finden. Die Messwerte wurden im 0,05-Sekundentakt erhoben. mean median min max Femur 1: Dist. [mm]

0,42

0,44

0,24

0,80

Rot. [ ◦ ]

1,57

1,60

0,91

3,09

Zeit [ s ]

0,05

0,05

0,05

0,10

1,09

1,14

0,66

1,49

Rot. [ ◦ ]

1,75

1,57

0,39

3,89

Zeit [ s ]

0,06

0,05

0,05

0,30

0,74

0,77

0,52

0,99

Rot. [ ◦ ]

3,51

3,80

1,03

4,67

Zeit [ s ]

0,06

0,05

0,05

0,15

1,39

1,37

0,70

2,33

Rot. [ ◦ ]

2,36

2,34

0,39

5,67

Zeit [ s ]

0,10

0,05

0,05

2,25

0,68

0,62

0,38

1,18

Rot. [ ]

2,29

1,81

0,40

5,21

Zeit [ s ]

0,05

0,05

0,05

0,05

0,57

0,56

0,29

1,07

Rot. [ ]

1,47

1,24

0,25

3,18

Zeit [ s ]

0,05

0,05

0,05

0,05

Femur 2: Dist. [mm]

Femur 3: Dist. [mm]

Femur 4: Dist. [mm]

Femur 5: Dist. [mm] ◦

Femur 6: Dist. [mm] ◦

Rotationsfehler im jeweils rechten Graphen. Hier sieht man, dass bereits nach dem ersten Zeitschritt (also nach 0,05 Sekunden) u ¨ber 90% der Versuche weit unter der kritischen ” Torsionsabweichung“ von fu ¨nfzehn Grad liegen. Nach zwei Sekunden liegen bereits alle Ergebnisse unter einem Rotationsfehler von fu ¨nf Grad. In Tabelle 5.1 sind nochmals die erreichten Matching-Ergebnisse zusammengefasst dargestellt. Hier sieht man, dass bereits nach einem Bruchteil einer Sekunde im Schnitt eine Genauigkeit zwischen ein und drei Grad erzielt wurde und das Ergebnis somit weit besser als die manuelle Repositionierung ausf¨allt. Der verbleibende Lagefehler ist nicht zuletzt auch darauf zuru ¨ckzufu ¨hren, dass die Knochen beim Brechen leicht verformt werden.

5.1. Anwendungen in der Chirurgie

107

108

Kapitel 5. Anwendungen und Einsatzgebiete

segmentierte Bruchfläche

Ergebnis

Femur 3

Femur 2

Femur 1

Initallage

Abbildung 5.7 Drei menschliche Femurfrakturen, rekonstruiert aus C-Bogen CTs: (Links) initiale Lage; (Mitte) berechnete Achsen und segmentierte Bruchfl¨achen; (Rechts) MatchingErgebnisse.

5.1. Anwendungen in der Chirurgie

109

10° 9°

3

8° 2,5



Rotationsfehler

mittlere Bruchflächendistanz [mm]

3,5

2 1,5

6° 5° 4° 3°

1

2° 0,5

1° 0

0° 0

0,5s

1s

1,5s

2s

0

2,5s

0,5s

1s

(a)

2,5s

1,5s

2s

2,5s

1,5s

2s

2,5s

10° 9°

3

8° 2,5



Rotationsfehler

mittlere Bruchflächendistanz [mm]

2s

(b)

3,5

2 1,5

6° 5° 4° 3°

1

2° 0,5

1° 0

0° 0

0,5s

1s

1,5s

2s

0

2,5s

0,5s

1s

(c)

(d) 10°

3,5

9° 3

8° 2,5



Rotationsfehler

mittlere Bruchflächendistanz [mm]

1,5s

2 1,5

6° 5° 4° 3°

1

2° 0,5

1° 0

0° 0

0,5s

1s

1,5s

(e)

2s

2,5s

0

0,5s

1s

(f)

Abbildung 5.8 Matching-Ergebnisse: (a) Median±Quantile der Bruchfl¨achendistanz von Femur 1; (b) Median±Quantile des Rotationsfehlers von Femur 1; (c)-(d) analoge Graphen f¨ ur Femur 2; (e)-(f) analoge Graphen f¨ ur die Hauptfragmente von Femur 3.

110

Kapitel 5. Anwendungen und Einsatzgebiete

segmentierte Bruchfläche

Ergebnis

Femur 6

Femur 5

Femur 4

Initallage

Abbildung 5.9 Drei Kunstknochen, rekonstruiert aus Standard-CTs: (Links) initiale Lage; (Mitte) berechnete Achsen und segmentierte Bruchfl¨achen; (Rechts) Matching-Ergebnisse.

5.1. Anwendungen in der Chirurgie

111

10° 9°

3

8° 2,5



Rotationsfehler

mittlere Bruchflächendistanz [mm]

3,5

2 1,5

6° 5° 4° 3°

1

2° 0,5

1° 0

0° 0

0,5s

1s

1,5s

2s

0

2,5s

0,5s

1s

(a)

2,5s

1,5s

2s

2,5s

1,5s

2s

2,5s

10° 9°

3

8° 2,5



Rotationsfehler

mittlere Bruchflächendistanz [mm]

2s

(b)

3,5

2 1,5

6° 5° 4° 3°

1

2° 0,5

1° 0

0° 0

0,5s

1s

1,5s

2s

0

2,5s

0,5s

1s

(c)

(d) 10°

3,5

9° 3

8° 2,5



Rotationsfehler

mittlere Bruchflächendistanz [mm]

1,5s

2 1,5

6° 5° 4° 3°

1

2° 0,5

1° 0

0° 0

0,5s

1s

1,5s

(e)

2s

2,5s

0

0,5s

1s

(f)

Abbildung 5.10 Matching-Ergebnisse: (a) Median±Quantile der Bruchfl¨achendistanz von Femur 4; (b) Median±Quantile des Rotationsfehlers von Femur 4; (c)-(d) analoge Graphen f¨ ur Femur 5; (e)-(f) analoge Graphen f¨ ur zwei Fragmente von Femur 6.

112

5.1.2

Kapitel 5. Anwendungen und Einsatzgebiete

Repositionierung von gebrochenen Beckenknochen

Nach Tscherne H.; Pohlemann T. [84] sind fu ¨nf bis acht Prozent aller auftretenden Frakturen Beckenverletzungen. Dies ist nicht zuletzt auf die hohe Anzahl an Verletzungen im Straßenverkehr zuru ¨ckzufu ¨hren. Neben der roboterassistierten Femurmarknagelung ist auch eine Roboterunterstu ¨tzung bei der Repositionierung von gebrochenen Becken sinnvoll und vielversprechend, da sich ¨ahnliche Genauigkeitsprobleme aufgrund der eingeschr¨ankten R¨ontgenansichten ergeben. Ein automatisches Zusammensetzen der Beckenfragmente k¨onnte auch hier die preoperative Operationsplanung stark vereinfachen und selbstversta¨ndlich bereits vorhandene Systeme zur computerassistierten Beckenchirurgie (siehe z.B. Hu ¨fner [38]) sinnvoll erg¨anzen. Die Bruchfl¨ache bei gebrochenen Beckenknochen ist im Allgemeinen schmal und macht nur einen sehr geringen Teil der gesamten Oberfl¨ache aus. Wie bereits beschrieben, bringt eine einfache Kontakfl¨achenmaximierung meist die großen glatten Darmbeinschaufeln (siehe Abbildung 5.11) in Kontakt. Deshalb muss auch in diesem Anwendungsfall zus¨atzliches a priori Wissen integriert werden, damit der Matching-Ansatz aus Kapitel 4 funktioniert. Wie l¨asst sich nun das Wissen u ¨ber den spiegelsymmetrischen Aufbau des Beckens ausnutzen?

Abbildung 5.11 Das kn¨ocherne Becken (Pelvis) des Menschen.

5.1. Anwendungen in der Chirurgie

113

Ausnutzung von Spiegelsymmetrien Abbildung 5.12 veranschaulicht eine m¨ogliche Vorgehensweise, mit der wir einfach eine gute grobe Lagesch¨atzung erhalten. Zuerst wird das gr¨oßere Fragment an einer beliebigen Ebene gespiegelt (z.B. an der YZ-Ebene durch invertieren der X-Koordinaten) und anschließend mit seiner gespiegelten Kopie registriert. Das Registrierungsproblem kann durch invertieren der Oberfl¨achennormalen des gespiegelten Fragmentes in ein 3d-Puzzle-Problem u ¨berfu ¨hrt werden. Natu ¨rlich ist ein reales Becken nicht perfekt spiegelsymmetrisch. Deshalb ist es wichtig, dass der Algorithmus robust gegenu ¨ber kleinen Abweichungen von der Spiegelsymmetrie ist. Hierfu ¨r k¨onnen beide Ans¨atze aus Kapitel 4 eins-zu-eins angewandt werden. Durch die Invertierung zeigen die Normalen in das Innere des Fragmentes, wodurch fu ¨r den Matching-Algorithmus nunmehr Innen“ und ” Außen“ vertauscht ist und das gespiegelte Fragment m¨oglichst passgenau in das un” gespiegelte Fragment eingefu ¨gt wird. Als Ergebnis erg¨anzen sich die beiden Beckenteile n¨aherungsweise zu einem ganzen Becken. Man erh¨alt die Symmetrieebene und einen virtuellen Beh¨alter“, in den das zweite kleinere Fragment hinein passen muss. ” Abbildung 5.13 veranschaulicht wie die Symmetrieebene berechnet werden kann. Bild (a) zeigt das gr¨oßere Beckenfragment A und das gespiegelte Fragment A, welches durch Spiegelung an der YZ-Ebene des Referenzkoordinatensystems FA (bzw. durch Invertieren der X-Koordinaten aller Oberfla¨chenpunkte) entstanden ist. Nach der Spiegelung sind die Referenzkoordinatensysteme beider Fragmente deckungsgleich FA = FA . Durch die darauffolgende Registrierung, wird das Referenzkoordinatensystem FA transliert und rotiert, so dass sich die Fragmente (wie in Abbildung 5.13 (b) dargestellt) zu einem ganzen Becken erg¨anzen. Die implizit errechnete Symmetrieebene liegt nun genau zwischen den beiden Referenzkoordinatensystemen und ist u ¨ber die Ebenengleichung in Normal-

Abbildung 5.12 Ausnutzung von Spiegelsymmetrien am Beispiel eines Beckens

114

Kapitel 5. Anwendungen und Einsatzgebiete

(a)

(b)

Abbildung 5.13 Zur Berechnung der Symmetrieebene: (a) Spiegelung des gr¨oßeren Beckenfragments A and der YZ-Ebene. (b) Nach der Registrierung des Beckenfragments mit seinem ¨ gespiegelten Aquivalent A kann die Symmetrieebene aus der Lage der beiden Referenzkoordinatensysteme FA und FA berechnet werden.

formdarstellung gegeben, wobei

(~p − p~M ) · ~nM = 0 ; p~ ∈ IR3 p~M =

(5.8)

p~A + p~A 2

(5.9)

~xA + ~xA |~xA + ~xA |

(5.10)

dem Ortsvektor der Symmetrieebene und ~nM =

der Normalen der Symmetrieebene entspricht. Das Einpassen des fehlenden Fragmentes B in das innere von Fragment A kann wiederum mit dem gleichen 3d-Puzzle-Ansatz erfolgen. Als Ergebnis erh¨alt man ein grob zusammengesetztes Becken. Die experimentellen Ergebnisse belegen das große Potenzial dieser Vorgehensweise. Die folgenden Abbildungen zeigen die Spiegelsymmetrieregistrierung an acht unterschiedlich frakturierten Kunststoffbecken, dessen Oberfl¨achen aus Computertomogrammen rekonstruiert wurden. Abbildung 5.14 zeigt die acht Testfrakturen in ihrer initialen Lage. Die Fraktur verla¨uft jeweils durch unterschiedliche Bereiche des Beckens (durch Kreuzbein/Schambeinfuge, Kreuzbein/Sitzbein, Darmbein/Schambeinfuge, Darmbein/Sitzbein und Kreuzbein-Darmbein-Gelenk/Schambeinfuge). Abbildung 5.15 zeigt die Zwischenergebnisse nach der Registrierung des jeweils gr¨oßeren Fragments mit seinem gespiegelten Gegenstu ¨ck, sowie die dabei berechneten Symmetrieebenen.

5.1. Anwendungen in der Chirurgie

115

Abbildung 5.14 Acht Beckenfrakturen mit unterschiedlichen Frakturverl¨aufen bestehen aus jeweils ca. 64.000 Oberfl¨achenpunkten.

Abbildung 5.15 Zwischenergebnisse nach der Registrierung des jeweils gr¨oßeren Beckenfrag¨ ments mit seinem gespiegelten Aquivalent und die dabei berechneten Symmetrieebenen.

Die Ergebnisse nach der Registrierung des verbleibenden kleineren Fragmentes sind in den Abbildungen 5.16 und 5.17 dargestellt. Die jeweils linke Spalte zeigt nochmals die initiale Lage, die mittlere Spalte das auf Symmetrie basierende Registrierungsergebnis und die rechte Spalte eine Detailansicht der Frakturregionen aus einer anderen Perspektive. Da die Registrierungsergebnisse bisher einzig und allein auf dem Symmetriewissen basieren, aber die Beckenknochen natu ¨rlich nicht perfekt symmetrisch aufgebaut sind, ist es nicht verwunderlich, dass gewisse Ungenauigkeiten in den Endergebnissen zu beobachten sind (siehe eingekreiste Frakturregionen in Abbildung 5.16 und 5.17). Deshalb sind diese L¨osungen auch nur als grobe Initiall¨osung fu ¨r eine nachfolgende Feinausrichtung zu verstehen. In diesem Verbesserungsschritt mu ¨ssen insbesondere die Kreuzbeinl¨ocher (Foramin sacralia) mo¨glichst exakt ausgerichtet werden, falls der Bruch durch diese Bereiche verl¨auft, da es sich hierbei um die Austrittsl¨ocher der Nerven und Blutgef¨aße handelt.

116

Kapitel 5. Anwendungen und Einsatzgebiete

Symmetrie-Match

Detail

Becken 4

Becken 3

Becken 2

Becken 1

Initallage

Abbildung 5.16 Auf Symmetrie basierende Registrierung von Becken 1-4: (Links) initiale Lage; (Mitte) Registrierungsergebnisse; (Rechts) Detailansicht aus einer anderen Perspektive mit eingekreisten Problemzonen.

5.1. Anwendungen in der Chirurgie

Symmetrie-Match

Detail

Becken 8

Becken 7

Becken 6

Becken 5

Initallage

117

Abbildung 5.17 Auf Symmetrie basierende Registrierung von Becken 5-8: (Links) initiale Lage; (Mitte) Registrierungsergebnisse; (Rechts) Detailansicht aus einer anderen Perspektive mit eingekreisten Problemzonen.

118

Kapitel 5. Anwendungen und Einsatzgebiete

Segmentierung der Bruchfl¨ achen und Feinausrichtung Die berechnete grobe Lage soll nun verbessert werden. Eine direkte Anwendung des ICPAnsatzes zur Feinregistrierung fu ¨hrt leider in den meisten F¨allen nicht zum Erfolg, da die Bruchfl¨achen sehr schmal sind und die grobe L¨osung noch zu weit von der optimalen Lage entfernt ist. Der ICP-Algorithmus zieht statt der Bruchfl¨achen h¨aufig die angrenzenden intakten Fl¨achen zusammen. Wie auch bei den Femurfragmenten kann das Problem allerdings durch eine vorausgehende Segmentierung der Bruchfl¨achen behoben werden. Fu ¨r die folgenden Berechnungen zur Segmentierung der Bruchfl¨achen sei angenommen, dass die beiden Beckenfragmente A und B, sowie das gespiegelte Fragment A (wie im vorherigem Abschnitt erl¨autert) bereits grob ausgerichtet und alle Oberfl¨achenpunkte und -normalen entsprechend in ein gemeinsames Koordinatensystem transformiert wurden. In der grob ausgerichteten Lage kann davon ausgegangen werden, dass die Bruchfla¨chen nicht allzu weit voneinander entfernt liegen. Im ersten Schritt werden deshalb diejenigen Oberfl¨achenpunkte bestimmt die eine geringe Distanz zum Gegenstu ¨ck haben, denn hierbei handelt es sich um potentielle Bruchfl¨achenpunkte. In den Experimenten hat sich eine maximale Distanz von 16 mm als ausreichend erwiesen. Im Folgenden ko¨nnen wir damit die weiteren Berechnung auf die Teilmengen Aclose = Bclose =

n

o

~a ∈ A | ∃ ~b ∈ B : k~pa − p~b k < 16 mm ,

n

o

~b ∈ B | ∃ ~a ∈ A : k~pb − p~a k < 16 mm

(5.11)

beschr¨anken. Bei der Beckenfraktur in Abbildung 5.18 sind die hierdurch ausgew¨ahlten Oberfl¨achenbereiche grau eingef¨arbt. Um die Bruchfl¨ache noch weiter einzuschr¨anken, bestimmen wir als erstes Oberfl¨achenbereiche die nahe der Symmetrieebene liegen und ungef¨ahr parallel zu dieser ausgerichtet

Abbildung 5.18 Beckenfraktur in grob ausgerichteter Lage, bei der diejenigen Oberfl¨achenbereiche grau eingef¨arbt sind, die eine geringe Distanz (< 16 mm) zum Gegenst¨ uck haben.

5.1. Anwendungen in der Chirurgie

(a)

119

(b)

Abbildung 5.19 (a) Oberfl¨achenbereiche von Fragment A, die nahe und parallel zu der Symmetrieebene liegen sind blau eingef¨arbt. (b) Resultat der Bruchfl¨achensegmentierung f¨ ur Fragment A.

sind: Asym = {~a ∈ Aclose | (~pa − p~M ) · ~nM < εsym ∧ |~na · ~nM | − 1 < εn } o n Bsym = ~b ∈ Bclose | (~pb − p~M ) · ~nM < εsym ∧ |~nb · ~nM | − 1 < εn

(5.12)

Wie in Abbildung 5.19 (a) zu sehen ist, werden hierdurch insbesondere eventuelle Bruchfl¨achen im Bereich der Schambeinfuge detektiert. Fu ¨r die Segmentierung der verbleibenden Bruchfl¨achen muss zus¨atzlich die relative Lage des gespiegelten Fragments A beru ¨cksichtigt werden. Die verbleibenden Bruchfla¨chen von Fragment A und B sind dadurch gekennzeichnet, dass sie keine Entsprechung im gespiegelten Fragment A haben. Insbesondere sind die Bruchfl¨achen nicht parallel zu der Oberfl¨ache von A ausgerichtet und k¨onnen deshalb u ¨ber Aorth = Borth =

(

~a ∈ Aclose | |~na · ~nx | < 0, 6 mit ~x := arg min k~pa − p~y k ~ y ∈A

(

~b ∈ Bclose | |~nb · ~nx | < 0, 6 mit ~x := arg min k~pb − p~y k ~ y ∈A

)

)

(5.13)

eingegrenzt werden. Die Vereinigung der Mengen aus (5.12) und (5.13) ergeben dann die in Abbildung 5.19 (b) dargestellte Menge der segmentierten Bruchfla¨chenpunkte Af rac = Asym ∩ Aorth , Bf rac = Bsym ∩ Borth .

(5.14)

120

Kapitel 5. Anwendungen und Einsatzgebiete

Matching-Ergebnis

Detail

Becken 4

Becken 3

Becken 2

Becken 1

segmentierte Bruchfl¨ache

Abbildung 5.20 Feinausrichtung von Becken 1-4: (Links) segmentierte Bruchfl¨achen blau eingef¨arbt; (Mitte) Ergebnisse der Feinausrichtung; (Rechts) Detailansicht aus einer anderen Perspektive.

5.1. Anwendungen in der Chirurgie

Matching-Ergebnis

Detail

Becken 8

Becken 7

Becken 6

Becken 5

segmentierte Bruchfl¨ache

121

Abbildung 5.21 Feinausrichtung von Becken 5-8: (Links) segmentierte Bruchfl¨achen blau eingef¨arbt; (Mitte) Ergebnisse der Feinausrichtung; (Rechts) Detailansicht aus einer anderen Perspektive.

122

Kapitel 5. Anwendungen und Einsatzgebiete

Tabelle 5.2 Matching-Ergebnisse der Beckenfrakturen nach jeweils 100 Durchl¨aufen: Dargestellt ist jeweils Mittelwert, Median, Minimum und Maximum der ’root-mean-square’Bruchfl¨achendistanz (RMS-Dist.) und des Rotationsfehlers (Rot.) nach einer Gesamtlaufzeit von 25 Sekunden (20 Sekunden Grobregistrierung + 5 Sekunden Feinausrichtung) pro Durchlauf. mean median min max Becken 1: RMS-Dist. [mm] Rot. [ ] ◦

Becken 2: RMS-Dist. [mm] Rot. [ ] ◦

Becken 3: RMS-Dist. [mm] Rot. [ ◦ ] Becken 4: RMS-Dist. [mm] Rot. [ ] ◦

Becken 5: RMS-Dist. [mm] Rot. [ ] ◦

Becken 6: RMS-Dist. [mm] Rot. [ ◦ ] Becken 7: RMS-Dist. [mm] Rot. [ ] ◦

Becken 8: RMS-Dist. [mm] Rot. [ ] ◦

3,87

3,70

1,89

6,21

2,79

2,81

1,18

4,35

2,25

2,34

0,94

3,26

2,04

2,12

0,55

3,24

4,57

5,03

1,22

8,07

2,38

2,61

0,51

4,26

2,37

2,29

1,53

4,28

1,72

1,58

0,71

2,97

2,48

2,64

0,92

3,33

1,57

1,59

0,70

2,18

1,79

1,69

0,50

3,81

1,69

1,74

0,73

2,79

1,69

1,62

0,97

3,49

1,80

1,78

0.64

3,08

2,55

2,40

1,79

4,48

1,40

0,62

0,01

6,28

Nachdem die Bruchfl¨achen segmentiert wurden, k¨onnen diese problemlos mit einem Standardverfahren registriert werden. Neben dem ICP-Ansatz eignen sich auch hier wieder die in Kapitel 4 vorgestellten Verfahren zur L¨osung des 3d-Puzzle-Problems. Die Abbildungen 5.20 und 5.21 zeigen die experimentellen Ergebnisse der Feinausrichtung angewandt auf die acht Beckenfrakturen. Die linke Spalte zeigt jeweils die segmentierten Bruchfl¨achen, die mittlere Spalte das auf der Bruchfl¨ache basierende Matching-Ergebnis und die rechte Spalte eine Detailansicht der Frakturregionen aus einer anderen Perspektive. Wie man sieht liegen nun die Bruchfl¨achen nahtlos und passgenau aufeinander. Die erreichten Genauigkeiten nach einer Gesamtberechnungszeit von 25 Sekunden sind in Tabelle 5.2 zusammengefasst. Die mittlere rotatorische Abweichung zwischen Ist- und Solllage liegt in allen F¨allen unter drei Grad. Das Wissen von Symmetrien macht in vielen Fa¨llen ein korrektes Zusammenfu ¨gen u ¨berhaupt erst m¨oglich. Die vorgeschlagene Vorgehensweise macht nicht nur im Fall von spiegelsymmetrischen Objekten Sinn, sondern kann auch eingesetzt werden, wenn es ein zweites spiegelsymmetrisches Gegenstu ¨ck gibt, wie z.B. einen zweiten spiegelsymmetrischen Knochen. Da das Knochenskelett von Mensch und Tier im Allgemeinen

5.2. Anwendungen in der Arch¨aologie

123

vollkommen symmetrisch aufgebaut ist, trifft dies auf s¨amtliche Knochen im K¨orper zu. Die Ausnutzung von Spiegelsymmetrien in medizinischen Anwendungen ist nicht neu. Allerdings musste bei Verfahren, die Spiegelsymmetrie ausnutzen, bis zum jetzigen Zeitpunkt jeweils ein intaktes spiegelsymmetrisches Gegenstu ¨ck vorliegen. Oftmals ist diese Voraussetzung leider nicht gegeben (so sind z.B. bei Unf¨allen im Straßenverkehr oft beide Beine betroffen). Im Gegensatz hierzu kann der vorgeschlagene Ansatz auch eingesetzt werden, wenn beide Symmetrieteile gebrochen sind.

5.2

Anwendungen in der Arch¨ aologie

Neben dem Repositionieren von Knochen in der Chirurgie ist natu ¨rlich auch die Arch¨aologie ¨außerst interessiert an Verfahren, die das Zusammensetzen von zerbrochenen Objekten unterstu ¨tzen. Oftmals hat man es in der Arch¨aologie mit zerbrochenen T¨opferwaren oder Keramiken zu tun. Die manuelle Rekonstruktion der vielen zersplitterten Fundstu ¨cke aus den unz¨ahligen kleinen Scherben ist eine nahezu unl¨osbare Aufgabe. In den Archiven lagern die Scherben kistenweise. Bei den zerbrochenen Artefakten handelt es sich h¨aufig um wenige Zentimeter oder Millimeter starke, rotationssymmetrische Beh¨altnisse. Viele L¨osungsans¨atze spezialisieren sich deshalb auf diese (nahezu zweidimensionalen) Fragmente und stu ¨tzen sich auf Bruchkanten, Texturen und Rotationssymmetrieeigenschaften (siehe z.B. [17], [18], [27], [47], [48], [95]). Diese Arbeit konzentriert sich jedoch prim¨ar auf das Zusammensetzen von dreidimensionalen (massiven oder zumindest dickwandigen) Fragmenten mit entsprechend großer Bruchfl¨ache. Dennoch funktionieren die vorgestellten Ans¨atze selbstverst¨andlich auch fu ¨r relativ du ¨nnwandige Objekte, falls vorher die schmalen Bruchfl¨achen segmentiert wurden. Die Segmentierung der Bruchfl¨achen von du ¨nnwandigen Fragmenten ist im Allgemeinen recht einfach. Hier kann das Wissen ausgenutzt werden, dass die intakten Oberfl¨achenregionen immer eine nahe gelegene und ungef¨ahr parallele Oberfl¨ache mit entgegengesetzter Orientierung haben. Anders ausgedru ¨ckt: Die intakten Bereiche bilden immer zwei gegenu ¨berliegenden Oberfl¨achen. Somit geh¨oren all diejenigen orientierten Oberfl¨achenpunkte ~a zur Bruchfl¨ache, die keinen gegens¨atzlich orientierten Oberfl¨achenpunkt ~x in ihrer lokalen Umgebung haben: Af rac = { ~a ∈ A | ∀ ~x ∈ A : (~na · ~nx < −0.9 ∨ k~pa − p~x k > dmax ) } ,

(5.15)

wobei dmax die maximale Wanddicke des zerbrochenen Objekts angibt. Abbildung 5.22 zeigt links eine ku ¨nstlich in vier Teile zerbrochene Tasse, dessen Bruchfl¨ache mit dem oben beschriebenen Ansatz segmentiert wurde. Die erreichten Genauigkeiten und Geschwindigkeiten sind in Tabelle 5.3 zusammengefasst. Wie an den Laufzeiten zu sehen ist, findet der Algorithmus im Mittel bereits nach nur 3 bis 8 Millisekunden gute L¨osungen mit einer Genauigkeit von unter drei Grad. Diese enorme Geschwindigkeit l¨asst sich einfach darauf zuru ¨ckfu ¨hren, dass die Anzahl der Oberfl¨achenpunkte auf der schmalen Bruchfla¨che sehr klein ist.

124

Kapitel 5. Anwendungen und Einsatzgebiete

Abbildung 5.22 (Links) k¨ unstlich zerbrochene Tasse mit segmentierter Bruchfl¨ache (insgesamt ca. 23.000 Punkten); (Rechts) Matching-Ergebnis.

Tabelle 5.3 Matching-Ergebnisse der zerbrochenen Tasse (H¨ohe 80 mm) nach 100 Durchl¨aufen: Dargestellt ist jeweils Mittelwert, Median, Minimum und Maximum der ’root-mean-square’Distanz (RMS-Dist.) und des Rotationsfehlers (Rot.) nach einer Laufzeit von 2 Sekunden pro Durchlauf, sowie die Laufzeit die ben¨otigt wurde um einen Rotationsfehler von unter drei Grad zu erreichen. Fragmente mean median min max A+B:

A+C:

C+D:

RMS-Dist. [mm]

0,53

0,47

0,47

0,65

Rot. [ ◦ ]

2,31

2,10

1,78

3,02

Zeit [s]

0,003

0,004

0,002 0,005

RMS-Dist. [mm]

0,48

0,48

0,42

0,64

Rot. [ ◦ ]

0,63

0,68

0,26

0,87

Zeit [s]

0,006

0,007

0,002 0,014

RMS-Dist. [mm]

0,43

0,43

0,42

0,43

Rot. [ ◦ ]

1,90

1,87

1,85

1,97

Zeit [s]

0,008

0,008

0,001 0,019

5.2. Anwendungen in der Arch¨aologie

125

Abbildung 5.23 Anwendung des Femur-Matching-Ansatzes auf einen zerbrochen Quader: (Oben links) initiale Lage; (Oben rechts) berechnete Achsen und segmentierte Bruchfl¨achen; (Unten) Matching-Ergebnis.

Ein gutes Beispiel fu ¨r die Nu ¨tzlichkeit von Verfahren fu ¨r dickwandige dreidimensionale Fragmente ist die Forma Urbis Romae“, eine u ber 2000 Jahre alte Marmorplatte ¨ ” mit einem historischen Stadtplan von Rom. Auf dem ca 18x14 Meter großen, detaillierten Stadtplan sind alle Straßen, alle Geb¨aude im Grundriss und alle Treppen der Stadt eingraviert. Die Platte wurde jedoch im 15ten Jahrhundert beim Fall des R¨omischen Imperiums zerst¨ort und ist in u ¨ber tausend Teile zerbrochen. Die Rekonstruktion dieses Puzzles ist noch immer eines der großen ungel¨osten Probleme der klassischen Arch¨aologie. Seit 1998 wird versucht, die Fragmente computergestu ¨tzt zusammenzusetzen. Hierfu ¨r wurden alle gefundenen Fragmente per Laserscanner digitalisiert (siehe Levoy [56]); doch bisher konnte nur ein sehr kleiner Teil rekonstruiert werden. Sicherlich kann und sollte auch bei der Marmorplatte zus¨atzliches Vorwissen genutzt werden. Da es sich hierbei um einen nahezu gleichm¨aßig dicken Quader handelt, k¨onnen die Bruchfl¨achen und Bruchkanten leicht segmentiert werden. Leider waren die hochaufgelo¨sten digitalen Fragmente bisher nicht ¨offentlich zug¨anglich. Abbildung 5.23 zeigt exemplarisch das Ergebnis des ’Random Sample Matching’-Ansatzes anhand eines ku ¨nstlich zerbrochenen und verrauschten Steinquaders. Die Bruchfl¨ache konnte in diesem Fall mit dem gleichen Ansatz, der auch fu ¨r die Femurfragmente verwendet wurde, segmentiert werden.

126

Kapitel 5. Anwendungen und Einsatzgebiete

Natu ¨rlich liefert auch die Gravur viele Merkmale die beim Zusammensetzen ausgenutzt werden sollten. Die Integration dieses texturiellen“ Vorwissens wurde hier jedoch nicht ” vorgenommen und bleibt zuku ¨nftigen Arbeiten vorbehalten.

5.3

Registrierung von Oberfl¨ achendaten

Ein klassisches Problem der 3d-Bildverarbeitung ist die Registrierung oder Fusionierung von Oberfl¨achendaten, die per Tiefensensor (z.B. Laserscanner oder Codierter-LichtAnsatz) akquiriert wurden. Im Allgemeinen k¨onnen die Sensoren nur die sichtbaren Oberfl¨achen erfassen. Um ein komplettes 360◦ -Rundummodell zu erhalten, mu ¨ssen also die aus verschiedenen Sichtrichtungen gewonnenen Oberfla¨chen in ein gemeinsames Koordinatensystem gebracht und relativ zueinander so ausgerichtet werden, dass die mehr oder weniger u ¨berlappenden Oberfl¨achenr¨ander aufeinander passen. In den meisten aus der Literatur bekannten Verfahren (wie z.B. dem ICP-Ansatz) wird davon ausgegangen, dass bereits eine recht gute Scha¨tzung der relativen Lage vorliegt. Denkbar ist zum Beispiel, dass der ungef¨ahre Rotationswinkel, mit dem das Objekt weitergedreht wurde, bekannt ist. Eine Feinregistrierung muss in diesem Fall nur noch kleine Kalibrierungsungenauigkeiten durch eine iterative Optimierung ausgleichen. Im Gegensatz hierzu arbeiten die hier vorgestellten Verfahren auch ohne initiale Lagesch¨atzung und erlauben somit eine h¨ohere Flexibilit¨at bei der Akquisitionstechnik. Abbildung 5.24 zeigt vier akquirierte Oberfl¨achen einer Beethoven-Bu ¨ste (170 mm hoch). Die Oberfl¨achen wurden per Triangulation mit der manuell gefu ¨hrten Laserschnitttechnik aus Kapitel 2.1.1 vermessen. Wie man sehen kann, sind die Oberfl¨achen verrauscht und decken jeweils nur einen Teil der Gesamtoberfl¨ache des Objektes ab. Die einzelnen Oberfl¨achen der Bu ¨ste bestehen aus jeweils ca. 60.000 Punkten und weisen eine Oberfl¨achenu ¨berlappung von ca. 35 % auf. Die akquirierte Oberfl¨achen eines zweiten Testobjekts (145 mm hoch) sind in Abbildung 5.25 dargestellt. Ziel ist es nun, die jeweils vier Datens¨atze eines Objektes zu registrieren, also in die richtige r¨aumliche Lage zueinander zu bringen. Hierzu kann z.B. der ’Random Sample Matching’-Ansatz aus Kapitel 4.3 auf die Daten angewandt werden. Da ein Durchdringungstest in diesem Fall nicht notwendig ist, setzten wir die Gu ¨testrafe auf Null. Außerdem mu ¨ssen (wie bereits bei den gebrochenen Beckenknochen) die Oberfl¨achennormalen von jeweils einem Fragment invertiert werden, damit aus dem 3d-Puzzle-Problem ein Registrierungsproblem wird. Abbildung 5.26 zeigt das Ergebnis der paarweisen Registrierung der Beethoven-Bu ¨ste. Dieses Ergebnis wird bereits nach wenigen Sekunden erreicht. Um die Registrierungsgenauigkeiten zu evaluieren, ist die Kenntnis der exakten Solllage notwendig. Aus diesem Grund wurden die Objekte zwischen den 3d-Aufnahmen mit einem pra¨zisen Drehteller gedreht. Die erreichten Genauigkeiten sind in Tabelle 5.4 zusammengefasst. Bei der dargestellten RMS-Distanz (engl. ’root-mean-square distance’) handelt es sich um die Wurzel des mittleren quadratischen Fehlers zwischen Ist- und ¨ Solllage der Oberfl¨achenpunkte im Uberlappungsbereich. Die hervorragende Performanz des Matching-Ansatzes in diesem Anwendungsfall wird in Abbildung 5.27 deutlich. Dar-

5.3. Registrierung von Oberfl¨achendaten

127

gestellt ist die erreichte RMS-Distanz (a) und der Rotationsfehler (b) u ¨ber der Zeit im Fall der Registrierung zweier Oberfla¨chenfragmente der Beethoven-Bu ¨ste. Wie man hier ablesen kann, haben bereits nach 0,5 Sekunden 70 % aller Versuchsdurchl¨aufe einen rotatorischen Fehler von unter drei Grad erreicht. Das Laufzeitverhalten der anderen Oberfl¨achenfragmente ist ¨ahnlich gut. Die Ergebnisse der Oberfl¨achenregistrierung fu ¨r das zweite Testobjekt sind in Abbildung 5.28 dargestellt. Im Fall von Punktwolken ist man nach der Ausrichtung der Datens¨atze bereits fertig. Alle Oberfl¨achenpunkte k¨onnen nach Transformation in das gemeinsame Koordinatensystem einfach in einer gemeinsamen Liste vereinigt werden. Im Fall von anderen Repra¨sentationsformen, wie Dreiecksnetzen, ist noch eine Nachbearbeitung erforderlich, um eine ordnungsgem¨aße Vernetzung der vereinigten Punktmengen herzustellen.

128

Kapitel 5. Anwendungen und Einsatzgebiete

Abbildung 5.24 Aus vier unterschiedlichen Sichtrichtungen akquirierte Oberfl¨ache einer Beethoven-B¨ uste: (Oben) Frontalansicht; (Unten) Ansicht von unten.

Abbildung 5.25 Aus vier unterschiedlichen Sichtrichtungen akquirierte Oberfl¨ache eines weiteren Testobjektes: (Oben) Frontalansicht; (Unten) Ansicht von unten.

5.3. Registrierung von Oberfl¨achendaten

129

(a)

(c)

(b)

(d)

(e)

Abbildung 5.26 Ergebnis der Oberfl¨achenregistrierung: (a) Frontalansicht und (b) Seitenansicht der registrierten Oberfl¨achen farblich unterschieden; (c) Kamerabild des Testobjektes; (d) Frontalansicht und (e) Seitenansicht der registrierten Oberfl¨achen in einheitlichem Grauton.

130

Kapitel 5. Anwendungen und Einsatzgebiete

Tabelle 5.4 Ergebnisse der Beethoven-B¨ uste (H¨ohe 170 mm) nach 100 Registrierungsdurchl¨aufen: Dargestellt ist jeweils Mittelwert, Median, Minimum und Maximum der ’root-meansquare’-Distanz (RMS-Dist.) und des Rotationsfehlers (Rot.) nach einer Gesamtlaufzeit von 20 Sekunden pro Durchlauf. Fragmente mean median min max front/left: left/back:

RMS-Dist. [mm]

0,93

0,91

0,45

1,76

Rot. [ ◦ ]

0,99

0,99

0,21

2,09

RMS-Dist. [mm]

2,07

1,83

0,44

6,84

Rot. [ ◦ ]

2,67

2,38

0,60

2,38

1,24

1,18

0,50

2,55

1,21

1,12

0,10

2,63

front/right: RMS-Dist. [mm] Rot. [ ] ◦

6

10° 9° 8° 7°

4

Rotationsfehler

RMS−Dist. [mm]

5

3

2

6° 5° 4° 3° 2°

1



0



0

0,5s

1s

1,5s

(a)

2s

2,5s

0

0,5s

1s

1,5s

2s

2,5s

(b)

Abbildung 5.27 Medan±Quantile von 100 Registrierungsdurchl¨aufen zweier Oberfl¨achen der Beethoven-B¨ uste: (a) ’root-mean-square’-Distanz u ¨ber der Zeit; (b) Rotationsfehler u ¨ber der Zeit.

5.3. Registrierung von Oberfl¨achendaten

131

(a)

(c)

(b)

(d)

(e)

Abbildung 5.28 Ergebnis der Oberfl¨achenregistrierung: (a) Frontalansicht und (b) Seitenansicht der registrierten Oberfl¨achen farblich unterschieden; (c) Kamerabild des Testobjektes; (d) Frontalansicht und (e) Seitenansicht der registrierten Oberfl¨achen in einheitlichem Grauton.

132

5.4

Kapitel 5. Anwendungen und Einsatzgebiete

Objekterkennung und Lagesch¨ atzung

Neben der Fusionierung von Tiefendaten kann die Oberfl¨achenregistrierung auch zur Erkennung von dreidimensionalen Objekten und zur Sch¨atzung ihrer absoluten r¨aumlichen Lage verwendet werden. Fu ¨r die Erkennung und Lagesch¨atzung von 3d Objekten gibt es unter anderem in der Robotik vielf¨altige Anwendungsm¨oglichkeiten. Insbesondere der klassische Griff in die Kiste“ ist eine im industriellen Umfeld h¨aufig gewu ¨nschte ” Roboteranwendung, die aber bis dato in vielen Bereichen kaum zufriedenstellend gel¨ost wurde. Das Ziel hierbei ist es, mit einem Roboter frei bewegliche Bauteile wohldefiniert aus einer Kiste zu greifen. Da die r¨aumliche Lage der sich u ¨berdeckenden Bauteile a priori unbekannt ist, ist im ersten Schritt eine Erkennung der Bauteile und deren Raumlage erforderlich. Eine m¨ogliche Vorgehensweise ist die visuelle Erfassung der Bauteile per Tiefensensor. In diesen Tiefenbildern ko¨nnen dann per Oberfla¨chenregistrierung sowohl die Bauteile erkannt, als auch simultan ihre r¨aumliche Lage gesch¨atzt werden. Hierzu muss natu ¨rlich ein Oberfl¨achenmodell aller einbezogenen Bauteile vorhanden sein. Da die CAD-Daten der Bauteile im industriellen Umfeld meist ohnehin vorhanden sind, stellt dies keine Einschra¨nkung dar. Falls die Modelldaten jedoch nicht verfu ¨gbar sein sollten, k¨onnen sie auch vorab einzeln per Tiefensensor aufgenommen werden. Durch eine einfache Oberfl¨achenregistrierung k¨onnen nun die Modelle in das Tiefenbild der Szene eingepasst werden. Eine solche Vorgehensweise wurde fu ¨r die Oberfl¨achendaten in Abbildung 5.29 durchgefu ¨hrt. Die Abbildung zeigt links eine, per Laserscanner aufgenommene, Testszene. Die Tiefendaten der Szene wurden nur aus einer einzelnen Sichtrichtung aufgenommen und sind deshalb unvollst¨andig. Zus¨atzlich wurden mit einem CAD-System zwei Bauteile aus der Szene modelliert und ko¨nnen nun per Registrierung in der Szene erkannt und an die richtige Stelle positioniert werden.

Abbildung 5.29 (Links) Per Laserscanner akquirierte Testszene mit verschiedenen Bauteilen; (Rechts) CAD-Modelle von zwei Bauteilen aus der Testszene.

5.4. Objekterkennung und Lagesch¨atzung

133

Abbildung 5.30 Ergebnis der Oberfl¨achenregistrierung zur Objekterkennung und Lagesch¨atzung der Bauteile.

Wie die Registrierungsergebnisse in Abbildung 5.30 zeigen, k¨onnen hiermit beide Bauteile, trotz geringer Oberfl¨achenu ¨berlappung, relative starkem Oberfl¨achenrauschen und Ausreißern, robust und korrekt in der Tiefenszene eingeordnet werden. Somit k¨onnen die Objekte mit dem vorgestellten Ansatz sowohl erkannt, als auch ihre ra¨umliche Lage bestimmt werden. Die erreichte Genauigkeit und die Laufzeiten fu ¨r das erste Bauteil sind exemplarisch in Abbildung 5.31 und Tabelle 5.5 wiedergegeben. Zur vollst¨andigen L¨osung des Griff in die Kiste“-Problems muss natu ¨rlich anschließend noch eine ” Greifplanung (Ermittlung eines gut zug¨anglichen und stabilen Ansatzpunktes fu ¨r den Robotergreifer) und eine Bahnplanung erfolgen. Interessanterweise k¨onnten die Ans¨atze zur L¨osung des 3d-Puzzle-Problems auch fu ¨r die Greifplanung ¨außerst hilfreich sein, da auch hier der Greifer einen stabilen und kollisionsfreien Oberfl¨achenkontakt mit dem zu greifenden Bauteil eingehen muss.

134

Kapitel 5. Anwendungen und Einsatzgebiete

Tabelle 5.5 Ergebnisse nach 100 Registrierungsdurchl¨aufen des blauen Bauteils (Abmessung 150 × 52 × 40 mm): Mittelwert, Median, Minimum und Maximum der ’root-mean-square’Distanz (RMS-Dist.) und des Rotationsfehlers (Rot-Error) nach einer Gesamtlaufzeit von 10 Sekunden pro Durchlauf, sowie die Laufzeit, die ben¨otigt wurde, um eine relative Transformation mit eine RMS-Distanz von unter 3 mm zu finden. mean median min max RMS-Dist. [mm]

0.99

0.94

0.34

1.92

Rot-Error [ ]

1.44

1.46

0.24

3.07

Zeit [ s ]

0.44

0.40

0.05

1.60



6

10° 9° 8° 7°

4

Rotationsfehler

RMS−Dist. [mm]

5

3

2

6° 5° 4° 3° 2°

1



0



0

0,5s

1s

1,5s

(a)

2s

2,5s

0

0,5s

1s

1,5s

2s

2,5s

(b)

Abbildung 5.31 Medan±Quantile von 100 Registrierungsdurchl¨aufen des blauen Bauteils (Abmessung 150 × 52 × 40 mm): (a) ’root-mean-square’-Distanz u ¨ber der Zeit; (b) Rotationsfehler u ¨ber der Zeit.

135

Kapitel 6

Zusammenfassung und Ausblick Das Ziel dieser Arbeit war es, konkrete Methoden zum L¨osen des 3d-Puzzle-Problems vorzustellen. Obwohl das 3d-Puzzle-Problem dem klassischen Oberfl¨achenregistrierungsproblem sehr ¨ahnlich ist, sind die bekannten Methoden nur begrenzt fu ¨r das Zusammensetzen von zerbrochenen Teilen geeignet. Aus diesem Grund wurden im Rahmen dieser Arbeit eine Reihe von Bausteinen geschaffen, mit denen das 3d-Puzzle-Problem in ganz unterschiedlichen Anwendungsf¨allen wesentlich effizienter und robuster gel¨ost werden kann. Zusammengefasst liefert die Arbeit folgende neue Beitr¨age: 1. Mit der Tiefendatenakquisition per manuell gefu ¨hrtem Laser und der Gewinnung von Oberfl¨achennormalen aus Streifenmusterprojektionen, wurden zwei neue und ¨außerst kostengu ¨nstige Ans¨atze zur Gewinnung von Oberfl¨achendaten vorgestellt. 2. Das ’single shot’ Streifenprojektionsverfahren hat insbesondere den Vorteil, dass einerseits nur ein kleiner und kostengu ¨nstiger Festmusterprojektor ben¨otigt wird und andererseits die Akquisition von dynamischen Szenen m¨oglich ist. 3. Den Schwerpunkt dieser Arbeit bilden zwei neuartige Ans¨atze zur Maximierung der Kontaktfl¨ache zwischen Fragmenten. Diese Ans¨atze ben¨otigen, im Gegensatz zu vielen aus der Literatur bekannten Verfahren, weder eine initiale Lagesch¨atzung, noch spezielle Oberfl¨achenmerkmale. Sie arbeiten auch bei geringer Oberfl¨achenu ¨berlappung und vermeiden wenn no¨tig Objektdurchdringungen. 4. In der Vielzahl der Experimente haben sich die Matching-Ans¨atze als ¨außerst robust gegenu ¨ber Oberfl¨achenrauschen und Ausreißern erwiesen. Die außerordentliche Effizienz der Ans¨atze ist allen bekannten und vergleichbaren Verfahren u ¨berlegen. Selbst fu ¨r große Datens¨atze wurden Laufzeiten von unter einer Sekunde erreicht. 5. Die Leistungsf¨ahigkeit der Verfahren wurde des weiteren anhand von verschiedenen relevanten Anwendungsgebieten erfolgreich demonstriert. Insbesondere wurde gezeigt, wie sich hiermit gebrochene Oberschenkel- und Beckenknochen durch Ausnutzung von Symmetriewissen robust und pr¨azise zusammensetzen lassen. Hierdurch k¨onnen in Zukunft Repositionierungsfehler weitestgehend vermieden und die intraoperative Ro¨ntgenstrahlenbelastung fu ¨r Patient und Chirurg verringert

136

Kapitel 6. Zusammenfassung und Ausblick

werden. 6. In diesem Zusammenhang wurde daru ¨ber hinaus ein neues Verfahren zur Ausnutzung von Spiegelsymmetrien vorgestellt, welches nicht nur bei spiegelsymmetrischen Objekten, sondern auch bei Vorhandensein eines spiegelsymmetrischen Pendants (wie es bei allen Knochen im Skelett der Fall ist) einsetzbar ist. Im Gegensatz zu bekannten Ans¨atzen kann diese Methode auch eingesetzt werden, wenn beide Symmetrieteile gebrochen sind. 7. Schließlich wurde das große Potenzial der Verfahren in weiteren wichtigen Anwendungsgebieten, wie das Zusammensetzen von arch¨aologischen Artefakten, die Registrierung von Oberfl¨achendaten und die 3d Objekterkennung und Lagesch¨atzung demonstriert. Mit den vorgeschlagen Anwendungsbeispielen sind jedoch selbstverst¨andlich noch l¨angst nicht alle denkbaren Einsatzgebiete ausgescho¨pft. Ein wichtiges und dem hier vorgestellten 3d-Puzzle-Problem konzeptionell sehr ¨ahnliches Anwendungsgebiet ist sicherlich das Protein-Docking. Die Interaktion zwischen Proteinen spielt bei vielen biochemischen Vorg¨angen eine wichtige Rolle. Zwei Proteine k¨onnen eine feste Verbindung eingehen, wenn sie eine hohe Affinita¨t aufweisen. Hierzu za¨hlt insbesondere die geometrische Komplementarit¨at von großen Oberfl¨achenbereichen. Ein wachsendes Forschungsinteresse gilt deshalb der Vorhersage von Proteininteraktionen unter Ausnutzung der dreidimensionalen Gestalt (siehe z.B. Smith & Sternberg [80] und Via et al. [86]). Diese Vorhersagemethoden versprechen neue M¨oglichkeiten bei der Erstellung von Medikamenten und bei der Behandlung von Krankheiten. Abbildung 6.1 zeigt einen ersten Versuch die hier entwickelten Methoden fu ¨r das Protein-Docking einzusetzen. In der Abbildung sind zwei unterschiedliche Lagehypothesen zwischen den Proteinen ’1s0q’ und ’1pit’ zu sehen, von denen bekannt ist, dass sie eine stabile Verbindung eingehen k¨onnen. Allerdings werden mit dem bisherigen Ansatz viele unterschiedliche Lagehypothesen mit einem ¨ahnlichen Gu ¨temaß gefunden. Dies ist unter anderem darauf zuru ¨ckzufu ¨hren, dass die geometrische Komplementarita¨t nur eine notwendige, aber nicht hinreichende Bedingung fu ¨r die Bildung von Proteinkomplexen ist. Die Proteine mu ¨ssen auch chemisch (beispielsweise bezu ¨glich ihrer elektrostatischen Wechselwirkungen) komplement¨ar sein. Außerdem sind Proteine im allgemeinen nicht v¨ollig starr, sondern haben bewegliche Elemente. Hier bedarf es also noch weiterer Untersuchungen, um die bisherigen Methoden an die spezifischen Eigenschaften von Proteinen anzupassen. Im Hinblick auf zuku ¨nftige Arbeiten, ist vor allem das Matching von vielen Fragmenten ein offenes, zu untersuchendes Problem. So wurden in dieser Arbeit bisher nur jeweils zwei Fragmente paarweise zusammengefu ¨gt. Hiermit k¨onnen zwar (wie gezeigt) auch mehrere Fragmente effizient zu einem ganzen Objekt zusammengesetzt werden, aber die Lo¨sung ist mo¨glicherweise im globalen Sinne nicht optimal. Zum Beispiel kann es vorkommen, dass sich der Fehler von einem Fragment zum n¨achsten fortpflanzt. Ein anschauliches Beispiel ist der in mehrere Teile zerbrochene Torus in Abbildung 6.2 (links). Nach dem Zusammenfu ¨gen von Fragment A und Fragment B, sowie Fragment B und Fragment C usw., passen das erste und das letzte Fragment nicht exakt zusammen.

137

Abbildung 6.1 Anwendungsbeispiel Protein-Docking: Zwei Lagehypothesen mit großem Oberfl¨achenkontakt zwischen den Proteinen ’1s0q’ und ’1pit’.

Abbildung 6.2 (Links) Beispiel zur Fehlerfortplanzung: Ein paarweises Zusammenf¨ ugen der Torusfragmente A und B, B und C sowie C und D ergibt eine L¨ ucke zwischen A und D; (Rechts) M¨ogliche Kontaktgraphen zur Bildung von stabilen Lagehypothesen bei drei Fragmenten.

Eine M¨oglichkeit dieses Problem zu l¨osen, w¨are eine nachfolgende globale Optimierung bzw. Feinregistrierung. Bei drei oder mehr Fragmenten stellt sich auch die Frage, welche Paarkombinationen gebildet werden sollen, denn es ist von vornherein nicht klar, welches Fragment mit welchem zusammenpasst. Entweder gibt ein Benutzer diese Zusammengeh¨origkeiten bzw. die Matching-Reihenfolge explizit an, oder es mu ¨ssen alle Paarkombinationen getestet und hieraus die beste Hypothesenkombination identifiziert werden. Fu ¨r jede Kombinationsm¨oglichkeit muss es also ein globales Gu ¨temaß geben, bei dem auch die globale Durchdringungsfreiheit beru cksichtigt wird. ¨

138

Kapitel 6. Zusammenfassung und Ausblick

Eine viel versprechende Alternative w¨are ein globales Matching-Verfahren, das von vornherein sa¨mtliche Fragmente gleichzeitig betrachtet. Hierzu ko¨nnte ein Algorithmus eingesetzt werden, der spezielle Lagehypothesen generiert und validiert, bei denen die relative Lage aller Fragmente festgelegt ist. Anstatt zwei tangentiale Kontaktpunkte zwischen jeweils zwei Fragmenten anzunehmen, wu ¨rde z.B. im Fall von drei Fragmenten ein tangentialer Kontakt zwischen Fragment A und B, sowie jeweils ein tangentialer Kontakt zwischen Fragment B und C und zwischen C und A ausreichen (also nur drei anstatt vier Kontaktpunkte). Dies fu ¨hrt letztendlich auf die Generierung von stabilen zyklischen Pfaden in einem Graphen (siehe Abbildung 6.2 (rechts)), bei dem die Knoten des Graphen fu ¨r die Fragmente und die Kanten des Graphen fu ¨r die Kontaktpunkte stehen. Im Fall von vielen Fragmenten ist auch noch offen, wie das inh¨arente Problem der exponentiell wachsenden Komplexit¨at gel¨ost werden kann. Allerdings kann die herausragende Effizienz der vorgeschlagenen Matching-Strategien als ein essenzieller Schritt in Richtung eines effizienten Multi-Fragment-Matching angesehen werden. Natu ¨rlich gibt es noch viel Potenzial fu ¨r weitere Verbesserungen und Erweiterungen. Alles in allem sind jedoch die vorgestellten L¨osungsans¨atze bereits ¨außerst nu ¨tzlich und bilden eine solide Basis fu ¨r den praktischen Einsatz in vielen Anwendungsgebieten.

139

Anhang A

Zur Oberfl¨ achennormalengewinnung: Ungenauigkeiten bei perspektivischer Projektion In Kapitel 2.2 wurde ein Verfahren zur Akquisition von Oberfl¨achennormalen per Streifenmusterprojektion vorgestellt. Hierbei wird sowohl beim Ansatz mittels ’LookUp’Tabelle, als auch beim mathematischen Ansatz zur Bestimmung der Oberfla¨chennormalen, von einem parallel projizierenden Projektor ausgegangen. Falls jedoch kein parallel projizierender, sondern ein u ¨blicher perspektivisch projizierender Streifenlichtprojektor verwendet wird, entstehen Ungenauigkeiten bei der Normalenberechnung. Die linke Seite von Abbildung A.1 veranschaulicht den Unterschied der Parallelprojektion gegenu ¨ber der Zentralprojektion. Werden die Streifen senkrecht auf eine Fl¨ache projiziert, sind sowohl im parallelen Fall, als auch im perspektivischen Fall die projizierten Streifen auf der Fl¨ache parallel zueinander. Je weiter jedoch die Fl¨ache geneigt wird, desto mehr divergieren die projizierten Streifen bei der Zentralprojektion in unterschiedliche Richneigbare Ebene Projektor

parallele Projektion

γ

α

Kamera

frag repla ements perspektivis he Projektion Abbildung A.1 (Links) Unterschied zwischen einem parallelen und einem perspektivischen Projektor bei Projektion eines Streifenmusters auf eine geneigte Oberfl¨ache; (Rechts) Modell zur Analyse des durch perspektivische Projektion verursachten Fehlers.

140

Anhang A. Ungenauigkeiten bei perspektivischer Projektion

tungen, w¨ahrend sie bei der Parallelprojektion weiterhin parallel verlaufen. Da bei der Berechnung der Oberfla¨chennormale nicht die Streifennummer (des Beleuchtungsmusters) bekannt ist, muss von einer mittleren Streifenprojektionsrichtung ausgegangen werden, was zu einer Abweichung der berechneten Normalen gegenu ¨ber der tats¨achlichen Oberfl¨achennormalen fu ¨hrt. Die Ungenauigkeiten bei der Oberfl¨achennormalenberechnung sind von verschiedenen Einflussfaktoren abha¨ngig. Zum einen spielt die Brennweite des Projektors eine wichtige Rolle: Je gr¨oßer die Brennweite, desto mehr n¨ahert sich die Streifenprojektion dem angenommenen parallelen Fall an und desto genauer wird die Berechnung. Abh¨angig von der Brennweite ver¨andert sich der Streifenwinkel auf der Oberfl¨ache, je weiter der Streifen am Projektionsrand liegt. Anders ausgedru ¨ckt erh¨oht sich der Berechnungsfehler, je st¨arker die Streifenprojektionsrichtung von der zentralen Projektionsrichtung des Projektors abweicht. Des weiteren verst¨arkt sich der Winkelunterschied der Streifen, je weiter sich die Oberfl¨ache von der senkrechten Lage weg neigt. Die Ungenauigkeiten sind also abh¨angig von der Oberfl¨ achenneigung. Außerdem sind sie natu ¨rlich auch abh¨angig von dem verwendeten Abstand zwischen Projektor und Kamera oder genauer gesagt vom Winkel zwischen Projektoions- und Kamerablickrichtung. Dieser relative Kamerablickwinkel wirkt sich natu ¨rlich nicht auf die 3d Lage der projizierten Streifen auf der Oberfl¨ache aus; er nimmt jedoch Einfluss auf die Winkel der Streifen im Kamerabild. Im Folgenden wird ein einfaches Modell zur Bestimmung des oben beschriebenen Fehlers bei der Oberfl¨achennormalenberechnung vorgestellt und ausgewertet. Die rechte Seite von Abbildung A.1 zeigt die Parameter des Modells. Das Streifenmuster wird horizontal auf eine planare Oberfl¨ache mit dem Neigungswinkel α projiziert. Der Abstand der Kamera zum Projektor und somit auch der Winkel zwischen Projektionsund Kamerablickrichtung γ la¨sst sich frei einstellen. Der Abstand von Kamera und Projektor zur Oberfl¨ache ist konstant und proportional zur Brennweite. Die Projektionsrichtung des betrachteten Streifens gegenu ¨ber der zentralen Projektionsrichtung ist mit δ angegeben; der Winkel zwischen dem Minimalen und Maximalen δ entspricht somit ¨ dem Offnungswinkel des Projektors. Alle oben aufgefu ¨hrten Einflussgro¨ßen sind damit im Modell abgebildet. Abbildung A.2 zeigt die Abweichung des Winkels zwischen gemessener und realer Oberfl¨achenormale in Abh¨angigkeit von der Oberfl¨achenneigung α und der Beleuchtungsrichtungsabweichung δ. Der Winkel γ zwischen Projektions- und ¨ Kamerablickrichtung wurde jeweils konstant gehalten. Die schrittweise Anderung der Beleuchtungsrichtungsabweichung δ liefert eine Kurvenschar. Das linke Diagramm in Abbildung A.2 zeigt die Kurvenschar bei einem festen Blickwinkel von γ = 30◦ , das rechte Diagramm die Kurvenschar bei einem Blickwinkel von γ = 45◦ . Die δ-Kurven decken insgesamt einen Winkelbereich von -10◦ bis +10◦ ab, was einem realistischen Projektor¨offnungswinkel von 20◦ entspricht. Die Fehlerkurven fallen ab, wenn die Ebene sich dem Neigungswinkel α = 90◦ n¨ahert. Das liegt daran, dass die Ebene sich hierdurch von der Kamerasicht weg neigt, was letztendlich zu einer Seitenansicht der Ebene fu ¨hrt und damit alle Streifen zu einer Linie im Kamerabild konvergieren. Die maximale Abweichung der Oberfl¨achennormale ist am Rand des Projektionsmusters festzustellen und betr¨agt 9, 7◦ bei einem Blickwinkel von γ = 30◦ und 5, 2◦ bei einem Blickwinkel von γ = 45◦ . Allgemein kann man sagen, je gro¨ßer der Winkel zwischen Projektions- und

141

Abbildung A.2 Horizontale Abweichung der Oberfl¨achennormale unter einem Blickwinkel von γ = 30◦ (oben) und γ = 45◦ (unten).

142

Anhang A. Ungenauigkeiten bei perspektivischer Projektion

Kamerablickrichtung ist, desto besser wird der Fehler bei kurzen Brennweiten kompensiert. Allerdings verringern sich bei großen Absta¨nden zwischen Projektor und Kamera die messbaren Oberfl¨achenorientierungen, da immer mehr Oberfl¨achen mit projizierten Streifen von der Kamerasichtrichtung abgewandt sind, w¨ahrend sichtbare Oberfl¨achen aus analogen Gru ¨nden nicht vom Projektor beleuchtet werden. Es besteht also ein Zielkonflikt zwischen Qualita¨t und Quantita¨t der berechenbaren Oberfla¨chennormalen.

143

Anhang B

Erg¨ anzungen zu den experimentellen Ergebnissen

Venus − Normalenberechnungsradius 1:

60% 50% 40% 30% 20% 10% 0%

60% 50% 40% 30% 20% 10% 0%

0

0,5s

1s

1,5s

2s

2,5s

3s

0

Venus − Normalenberechnungsradius 3:

60% 50% 40% 30% 20% 10% 0%

0,5s

1s

1,5s

2s

2,5s

3s

Venus − Normalenberechnungsradius 5:

70% Bruchflächendistanz bzgl. Durchmesser

70% Bruchflächendistanz bzgl. Durchmesser

Venus − Normalenberechnungsradius 2:

70% Bruchflächendistanz bzgl. Durchmesser

Bruchflächendistanz bzgl. Durchmesser

70%

60% 50% 40% 30% 20% 10% 0%

0

0,5s

1s

1,5s

2s

2,5s

3s

0

0,5s

1s

1,5s

2s

2,5s

3s

Abbildung B.1 Erg¨anzende Messpunkte zu Abbildung 4.10, Seite 69: Performanzgewinn durch Vergr¨oßerung des Operatorfensters bei der Berechnung von Oberfl¨achennormalen.

144

Anhang B. Erg¨anzungen zu den experimentellen Ergebnissen

Venus + 10% Rauschen:

Venus + 50% Rauschen:

70% Bruchflächendistanz bzgl. Durchmesser

Bruchflächendistanz bzgl. Durchmesser

70% 60% 50% 40% 30% 20% 10%

60% 50% 40% 30% 20% 10%

0%

0% 0

0,5s

1s

1,5s

2s

2,5s

0

0,5s

1s

1,5s

2s

2,5s

3s

Venus + 100% Rauschen:

70% Bruchflächendistanz bzgl. Durchmesser

3s

60% 50% 40% 30% 20% 10% 0% 0

0,5s

1s

1,5s

2s

2,5s

3s

3,5s

4s

4,5s

5s

Abbildung B.2 Erg¨anzende Messpunkte zu Abbildung 4.11, Seite 71: Auswirkung von unterschiedlich starkem additiven gaußschem Rauschen (Rauschstreuung prozentual zur mittleren Punktdistanz) auf die Performanz.

145

Anhang C

Eigene Vero ¨ffentlichungen ¨ sling, T.; Oszwald, M.; Bredow, J.; Klepzig, D.; • Westphal, R.; Go ¨ fner, T.; Krettek, C. and Wahl, F.: 3D Robot AsWinkelbach, S.; Hu sisted Fracture Reduction. Accepted at 10th International Symposium on Experimental Robotics 2006 (ISER ’06), Rio de Janeiro, Brazil, 2006.

• Winkelbach, S.; Molkenstruck, S.; Wahl, F.: Low-Cost Laser Range Scanner and Fast Surface Registration Approach. In: Franke, K.; Mu ¨ller, K.-R.; Nickolay, B.; Sch¨afer, R. (Eds.): Pattern Recognition (DAGM 2006), Lecture Notes in Computer Science 4174, Springer 2006, pp. 718–728. ∗

• Westphal, R.; Winkelbach, S.: Sensors, Medical Image and Signal Processing. Managing Editors for the Yearbook Section on Sensor, Signal and Imaging Informatics, IMIA Yearbook of Medical Informatics 2006.

¨ sling, T.; Hu ¨ fner, T.; Faulstich, J.; • Westphal, R.; Winkelbach, S.; Go Martin, P.; Krettek, C.; Wahl, F.: A Surgical Telemanipulator for Femur Shaft Fracture Reduction. Accepted in: Int. J. of of Medical Robotics and Computer Assisted Surgery, 2006.



Hauptpreis der Deutschen Arbeitsgemeinschaft f¨ ur Mustererkennung (DAGM e.V.).

146

Anhang C. Eigene Ver¨offentlichungen

¨ ger, T.; Finkemeyer, B.; Winkelbach, S.; Eble, L.; Molkenstruck, • Kro S.; Wahl, F.: Demonstration of Multi-Sensor Integration in Industrial Manipulation (Poster). Accepted at IEEE International Conference on Robotics and Automation, Orlando, USA, 2006. ¨ ger, T.; Finkemeyer, B.; Winkelbach, S.; Eble, L.; Molkenstruck, • Kro S. and Wahl, F.: Demonstration of Multi-Sensor Integration in Industrial Manipulation (Video). Accepted at IEEE International Conference on Robotics and Automation, Orlando, USA, 2006. • Rilk, M.; Winkelbach, S.; Wahl, F.: Partikelfilter-basiertes Tracking chirurgischer Instrumente in Endoskopbildern. Workshop Bildverarbeitung fu ¨r die Medizin, Hamburg, M¨arz, 2006. • Winkelbach, S. and Wahl, F.: Cluster Tree Matching of 3D Fragmented Objects. Technical Report 09-05-01, Institute for Robotics and Process Control, Technical University of Braunschweig, September 2005. • B. Ma; Winkelbach, S.; Lindenmaier, W.; Dittmar, K.E.J.: Six-color Fluorescence Imaging of Lymphoid Tissue Based on Color Addition Theory. Accepted in Acta Histochemica, 2005. ¨ sling, T.; Winkelbach, S.; Westphal, R.; Hu ¨ fner, T.; Wahl, F.; • Go Krettek, C.: Oberfl¨achen-Matching als Basis anatomischer Achswiederherstellung am Beispiel der Femurschaftfraktur. (Poster/Abstract) DGU 2004, 68. Jahrestagung Deutsche Gesellschaft fu ¨r Unfallchirurgie, Oktober 2004. ¨ nfelder, C.; Wahl, F. M.: Fast Random • Winkelbach, S.; Rilk, M., Scho Sample Matching of 3d Fragments. In: Rasmussen, C. E.; Bu ¨lthoff, H. H.; Giese, M. A.; Sch¨olkopf, B.(Eds.): Pattern Recognition (DAGM 2004), Lecture Notes in Computer Science 3175, Springer, Tu ¨bingen, Germany, August/September 2004, pp. 129–136. ¨ sling, T.; • Westphal, R.; Winkelbach, S.; Finkemeyer, B.; Wahl, F.; Go ¨ fner, T.; Faulstich, J.; Krettek, C.: Progress in Robot Assisted Fracture Hu Reduction. Video-Proceedings - IEEE, International Conference on Robotics and Automation, New Orleans, USA, April 2004, Video.

147

¨ sling, T.: Automatic computation of • Winkelbach, S.; Westphal, R.; Go reposition parameters of fractured long bones based on CT-analysis. (Poster/Abstract) CARS 2003, Proceedings of the 17th International Congress and Exhibition, Computer Assisted Radiology and Surgery, International Congress Series 1256, June 2003, pp. 1348. ¨ sling, T.; Winkelbach, S.;Hu ¨ fner, T.; • Westphal, R.; Faulstich, J.; Go Krettek, C.; Wahl, F.: Fracture reduction using a telemanipulator with haptical feedback. (Poster/Abstract) CARS 2003, Proceedings of the 17th International Congress and Exhibition, Computer Assisted Radiology and Surgery, International Congress Series 1256, June 2003, pp. 1369. ¨ sling, T.: Pose Estimation of Cylindrical • Winkelbach, S.; Westphal, R.; Go Fragments for Semi-automatic Bone Fracture Reduction. In: B. Michaelis, G. Krell (Eds.): Pattern Recognition (DAGM 2003), Lecture Notes in Computer Science 2781, Springer, Magdeburg, Germany, September 2003, pp. 566–573. • Winkelbach, S.; Wahl, F. M.: Shape from Single Stripe Pattern Illumination. In: Luc Van Gool (Eds.): Pattern Recognition (DAGM 2002), Lecture Notes in Computer Science 2449, Springer 2002, Zu ¨rich, pp. 240–247. • Winkelbach, S.; Wahl, F.: Efficient Shape Recovery of Objects Illuminated with one Single Bar Pattern. Technical Report 02-02-01, Institute for Robotics and Process Control, Technical University of Braunschweig, 2002. • Winkelbach, S.; Wahl, F.: Gradienten basierte Rekonstruktion von 3D-Oberfl¨achen. Technischer Bericht 04-01-01, Institut fu ¨r Robotik und Prozessinformatik, Technische Universit¨at Braunschweig, 2001. • Winkelbach, S.; Wahl, F.: Shape from 2D Edge Gradients. In: Radig, Florczyk (Eds.): Pattern Recognition (DAGM 2001), Lecture Notes in Computer Science 2191, Springer 2001, Munich, pp. 377–384. † • Winkelbach, S.: Gradienten basierte Rekonstruktion von 3D Oberfl¨achen. Diplomarbeit, Institut fu ¨r Robotik und Prozessinformatik, Technische Universit¨at Braunschweig, 21. Mai 2001. ‡ † ‡

Hauptpreis der Deutschen Arbeitsgemeinschaft f¨ ur Mustererkennung (DAGM e.V.). Jubil¨aumspreis (1.Platz) der Siegfried Werth Stiftung zur F¨orderung der optischen Messtechnik

148

Anhang C. Eigene Ver¨offentlichungen

• Winkelbach, S.: 3D-Lagemessungen mit einem Laserlichtschnittsystem. Studienarbeit, Institut fu ¨r Robotik und Prozessinformatik, Technische Universit¨at Braunschweig, August 2000.

149

Literaturverzeichnis [1] Alexa, M. ; Behr, J. ; Cohen-Or, D. ; Fleishman, S. ; Levin, D. ; Silva, C. T.: Point Set Surfaces. In: IEEE Visualization, 2001, pp 21–28 [2] Altschuler, M. D. ; Altschuler, B. R. ; Taboada, J.: Measuring Surfaces Space-Coded by a Laser-Projected Dot Matrix. In: SPIE Imaging Application for Automated Industrial Inspection & Assembly 182 (1979), pp 187–191 [3] Altschuler, M. D. ; Altschuler, B. R. ; Taboada, J.: Laser Electro-Optic System for Rapid Three-Dimensional (3D) Topographic Mapping of Surfaces. In: Optical Engineering 20 (1981), No. 6, pp 953–961 [4] Asada, M. ; Ichikawa, H. ; Tsuji, S.: Determining of Surface Properties by Projecting a Stripe Pattern. In: IEEE Proc. of ICPR’86, 1986, pp 1162–1164 [5] Ballard, D. H.: Generalizing the Hough transform to detect abitrary shapes. In: Pattern Recognition 12 (1981), No. 2, pp 111–122 [6] Barequet, G. ; Sharir, M.: Partial surface matching by using directed footprints. In: Proc. of the 12th annual symposium on Computational geometry, ACM Press, 1996, pp 409–410 [7] Barequet, G. ; Sharir, M.: Partial Surface and Volume Matching in Three Dimensions. In: IEEE Trans. Pattern Anal. Machine Intell. 19 (1997), No. 9 [8] Behrens, B. ; Rohr, K. ; Stiehl, H. S.: Using an Extended Hough Transformation Combined with a Kalmann Filter to Segment Tubular Structures in 3D Medical Images. In: Workshop Vision, Modeling, and Visualization 2001 (2001) [9] Besl, P. J. ; McKay, N. D.: A Method for Registration of 3-D Shapes. In: IEEE Trans. Pattern Anal. Machine Intell. 14 (1992), Februar, No. 2, pp 239–258 ´ n, F. P.: Die Radontransformation in der digitalen Bildverar[10] Beyerer, J. ; Leo beitung. In: at - Automatisierungstechnik 50 (2002), pp 472–480 [11] Blais, F.: Review of 20 Years Range Sensor Development. In: Journal of Electronic Imaging 13 (2004), No. 1 [12] Campbell, R. J. ; Flynn, P. J.: A Survey of Free-Form Object Representation and Recognition Techniques. In: Computer Vision and Image Understanding 81 (2001), pp 166–210

150

Literaturverzeichnis

[13] Chaperon, T. ; Goulette, F.: Extracting cylinders in full 3D data using a random sampling method and the Gaussian image. In: Workshop Vision, Modeling, and Visualization 2001 (2001) [14] Chen, C.-S. ; Hung, Y.-P. ; Cheng, J.-B.: RANSAC-Based DARCES: A New Approach to Fast Automatic Registration of Partially Overlapping Range Images. In: IEEE Trans. Pattern Anal. Machine Intell. 21 (1999), No. 11, pp 1229–1234 [15] Chen, R. ; Weng, Z.: A Novel Shape Complementarity Scoring Function for Protein-Protein Docking. In: Proteins -New York- 51 (2003), No. 3, pp 397–408 [16] Coleman, E. N. ; Jain, R.: Obtaining Shape of Textured and Specular Surfaces using Four-Source Photometry. In: Computer Graphics and Image Processing 18 (1982), No. 4, pp 309–328 [17] Cooper, D. ; Willis, A. ; Andrews, S. ; Baker, J. ; Cao, Y. ; Han, D. ; Kang, K. ; Kong, W. ; Leymarie, F. F. ; Orriols, X. ; et al.: Bayesian Pot-Assembly from Fragments as Problems in Perceptual-Grouping and Geometric-Learning. In: International Conference on Pattern Recognition 16 (2002), No. 3, pp 297–302 ˜ o, H. C. ; Stolfi, J.: A Multiscale Method for the Reassembly [18] da Gama Leita of Two-Dimensional Fragmented Objects. In: IEEE Trans. Pattern Anal. Machine Intell. 24 (2002), September, No. 9, pp 1239–1251 [19] Dalley, G. ; Flynn, P.: Pair-wise range image registration: a study in outlier classification. In: Comput. Vis. Image Underst. 87 (2002), No. 1-3, pp 104–115 [20] Duda, R. O. ; Hart, P. E.: Use of the Hough transformation to detect lines and curves in pictures. In: Communications od the ACM 15 (1972), No. 1, pp 11–15 [21] Faber, P. ; Fisher, B.: A Buyer’s Guide to Euclidean Elliptical Cylindrical and Conical Surface Fitting. In: 12th BMVC, 2001, pp 521–530 [22] Fernandez-Recio, J. ; Totrov, M. ; Abagyan, R.: ICM-DISCO Docking by Global Energy Optimization With Fully Flexible Side-Chains. In: Proteins -New York- 52 (2003), No. 1, pp 113–117 [23] Fischler, M. A. ; Bolles, R. C.: Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography. In: Communications of the ACM 24 (1981), Juni, No. 6, pp 381–395 [24] Frankot, R. T. ; Chellappa, R.: A Method for Enforcing Integrability in Shape from Shading Algorithms. In: IEEE Trans. Pattern Anal. Machine Intell. 10 (1988), pp 439–451 [25] Friedman, J. H. ; Bentley, J. L. ; Finkel, R. A.: An Algorithm for Finding Best Matches in Logarithmic Expected Time. In: ACM Transactions on Mathematical Software 3 (1977), September, No. 3, pp 209–226 [26] Fuchs, H. ; Kedem, Z. ; Naylor, B.: On Visible Surface Generation by A Priori Tree Structures. In: SIGGRAPH ’80 14 (1980), No. 3, pp 124–133

Literaturverzeichnis

151

[27] Goldberg, D. ; Malon, C. ; Bern, M.: A global approach to automatic solution of jigsaw puzzles. In: Annual Symposium on Computational Geometry, ACM Press, 2002, pp 82–87 [28] Gray., F.: Pulse code communication. M¨arz 1953. – U.S. Patent 2,632,058 [29] Greenspan, M. A. ; Yurick, M.: Approximate K-D Tree Search for Efficient ICP. In: International Conference on 3D Digital Imaging and Modeling (3DIM 2003), 2003, pp 442–228 [30] Grimson, W. E. L.: A Computer Implementation of a Theory of human stereo vision / MIT Artificial Intelligence Laboratory. 1980 (AIM-565). – Technical Report ¨ sling, T. ; Westphal, R. ; Faulstich, J. ; Sommer, K. ; Wahl, F. ; [31] Go ¨ fner, T.: Forces and torques during fracture reduction: IntraKrettek, C. ; Hu operative measurements in the femur. In: J Orthop Res. 24 (2006), Januar, No. 3, pp 333–338 ¨ sling, T. ; Winkelbach, S. ; Westphal, R. ; Hu ¨ fner, T. ; Wahl, F. [32] Go ; Krettek, C.: Oberfla¨chen-Matching als Basis anatomischer Achswiederherstellung am Beispiel der Femurschaftfraktur. In: DGU 2004, 68. Jahrestagung Deutsche Gesellschaft fu ¨r Unfallchirurgie (Poster/Abstract), 2004 [33] Guskov, I. ; Vidimce, K. ; Sweldens, W. ; Schroder, P.: Normal Meshes. In: SIGGRAPH ’200 (2000), pp 95–102 [34] Hall, E. L. ; Tio, J. B. K. ; MCPherson, C. A.: Measuring Curved Surfaces for Robot Vision. In: Computer 15 (1982), No. 12, pp 42–54 [35] Hall, M. ; Warren, J.: Adaptive Polygonalization of Implicitly Defined Surfaces. In: IEEE Computer Graphics and Applications Vol. 10, 1990, pp 33–42 [36] Hartigan, J. A. ; Wong, M. A.: A k-means clustering algorithm. In: Applied Statistics 28 (1978), pp 100–108 [37] Hebert, M. ; Ponce, J.: New Method for Segmenting 3-D Scenes into Primitives. In: IEEE 6th Int. Conf. on Pattern Recognition 2 (1982), pp 836–838 ¨ fner, T.: Computerassistierte Beckenchirurgy Pr¨ [38] Hu azisionsanalysen, Innovationen und klinische Anwendungen, Medizinische Hochschule Hannover, Unfallchirurgische Klinik, Habilitationsschrift, 2001 [39] Hoppe, H.: Progressive Meshes. In: SIGGRAPH ’96 (1996), pp 99–108 [40] Horn, B. K. P.: Robot Vision. MIT Press, 1986 [41] Horn, B. K. P.: Closed-form solution of absolute orientation using unit quaternions. In: Optical Society of America Journal A 4 (1987), April, pp 629–642 [42] Hough, P. V. C.: Method and means for recognizing complex patterns. Dezember 1962. – U.S. Patent 3,069,654

152

Literaturverzeichnis

[43] Inokuchi, S. ; Sato, K. ; Matsuda, F.: Range-Imaging System for 3-D Object Recognition. In: IEEE International Conference on Pattern Recognition, 1984, pp 806–808 [44] Johnson, A. ; Hebert, M.: Recognizing Objects by Matching Oriented Points. In: Proc. IEEE Conf. Computer Vision and Pattern Recognition (CVPR’97), 1997, pp 684–689 [45] Johnson, A. E. ; Hebert, M.: Control of Polygonal Mesh Resolution for 3-D Computer Vision. In: Graphical models and image processing: GMIP 60 (1998), Juli, No. 4, pp 261–285 [46] Kalender, W. A.: Computertomographie - Grundlagen, Ger¨ atetechnologie, Bildqualit¨ at, Anwendungen. Mu ¨nchen : Publicis MCD Verlag, 2000 [47] Kampel, M. ; Sablatnig, R.: Profile-based Pottery Reconstruction. In: Conference on Computer Vision and Pattern Recognition Workshop 1 (2003), pp 4 [48] Kampel, M. ; Sablatnig, R.: Virtual reconstruction of broken and unbroken pottery. In: International Conference on 3-D Digital Imaging and Modeling (3DIM), 2003, pp 318–325 [49] Kara¸ cali, B. ; Snyder, W.: Reconstructing discontinuous surfaces from a given gradient field using partial integrability. In: Computer Vision and Image Understanding 92 (2003), pp 78–111 ¨ ns, K.: Height data from gradient fields. In: Proc. Machine [50] Klette, R. ; Schlu Vision Applications, Architectures, and Systems Integration V, SPIE 2908, 1996, pp 204–215 [51] Krebs, B. ; Korn, B. ; Wahl, F. M.: Plausibilistic preprocessing of sparse range images. In: Proc. of the 8th International Conf. on Image Anal. and Processing (ICIAP ’95), 1995, pp 361–366 [52] Krebs, B. ; Sieverding, P. ; Korn, B.: A fuzzy icp algorithm for 3d free form object recognition. In: International Conf. on Pattern Recognition, 1996, pp 539– 543 ´c ˇ, V.: Differential Invariants as the Base of [53] Krsek, P. ; Pajdla, T. ; Hlava Triangulated Surface Registration. In: Computer Vision and Image Understanding 87 (2002), pp 27–38 [54] Lange, R. ; Seitz, P.: Solid-State Time-of-Flight. Range Camera. In: IEEE J. Quantum Electronics 37 (2001), No. 3, pp 390––397 [55] Levin, D.: Mesh-Independent Surface Interpolation. In: Geometric Modeling for Scientific Visualization, Springer, 2003, pp 21–28 [56] Levoy, M.: Scanning the Fragments of the Forma Urbis Romae, Stand: 19. Februar 2006. www.graphics.stanford.edu/projects/forma-urbis/

Literaturverzeichnis

153

[57] Linnainmaa, S. ; Harwood, D. ; Davis, L. S.: Pose Determination of a ThreeDimensional Object Using Triangle Pairs. In: IEEE Trans. Pattern Anal. Machine Intell. 10 (1988), September, No. 5, pp 634–647 [58] Lorensen, W. E. ; Cline, H. E.: Marching cubes: A high resolution 3D surface construction algorithm. In: SIGGRAPH ’87: Proceedings of the 14th annual conference on Computer graphics and interactive techniques, 1987, pp 163–169 [59] Marr, D. ; Poggio, T.: A Theory of Human Stereo Vision / MIT Artificial Intelligence Laboratory. 1977 (AIM-451). – Technical Report [60] Masuda, T.: A Robust Method for Registration and Segmentation of Multiple Range Images. In: Computer Vision and Image Understanding 61 (1995), No. 3, pp 295–307 [61] Merickel, M. ; Lundgram, J. ; Sorensen, T.: Cascade, an algorithm to reduce the effect of mixed pixels. In: IEEE Conference of Computer Vision and Pattern Recognition, 1983, pp 53–58 [62] Molkenstruck, S.: Manuell gefu achenscanner mit Online¨hrter 2,5d-Oberfl¨ Laserkalibrierung, Institut fu ¨r Robotik und Prozessinformatik, Technische Universit¨at Braunschweig, Germany, Studienarbeit, Betreuer: Winkelbach, S., 2004 [63] Montani, C. ; Scateni, R. ; Scopigno, R.: A modified look-up table for implicit disambiguation of Marching Cubes. In: The Visual Computer 10 (1994), No. 6, pp 353–355 [64] Olson, C. F.: Efficient Pose Clustering Using a Randomized Algorithm. In: International Journal of Computer Vision 23 (1997), No. 2, pp 131–147 [65] Papaioannou, G. ; Karabassi, E.-A. ; Theoharis, T.: Reconstruction of Three-Dimensional Objects through Matching of Their Parts. In: IEEE Trans. Pattern Anal. Machine Intell. 24 (2002), No. 1, pp 114–124 [66] Papaioannou, G. ; Theoharis, T.: Fast Fragment Assemblage Using Boundary Line and Surface Matching. In: IEEE/CVPR Workshop on Applicat. of Computer Vision in Archaeology, 1999 [67] Payne, B. A. ; Toga, A. W.: Surface Mapping Brain Function on 3D Models. In: IEEE Computer Graphics and Applications Vol. 10, 1990, pp 33–41 [68] Pipitone, F. J. ; Marshall, T. G.: A Wide-Field Scanning Triangulation Rangefinder for Machine Vision. In: International Journal of Robotics Research 2 (1983), No. 1, pp 39–49 ¨ [69] Radon, J. H.: Uber die Bestimmung von Funktionen durch ihre Integralwerte l¨angs gewisser Mannigfaltigkeiten. In: Berichte u ¨ber die Verhandlungen der K¨oniglich S¨achsischen Gesellschaft der Wissenschaften zu Leipzig Vol. Math. Phys. Klasse 69, 1917, pp 262–277

154

Literaturverzeichnis

[70] Roth, E.: Untersuchung von Subpixelverfahren zur Steigerung der Antastgenauigkeit optisch wirksamer Strukturen in Verbindung mit automatisch arbeitenden, fehlertoleranten Strukturlageerkennungsverfahren, Friedrich-Schiller-Universit¨at Jena, Diss., 1993 [71] Rusinkiewicz, S. ; Levoy, M.: Efficient Variants of the ICP Algorithm. In: International Conference on 3D Digital Imaging and Modeling (3DIM 2001), 2001, pp 145–152 [72] Sappa, A. ; Restrepo-Specht, A. ; Devy, M.: Range Image Registration by using an Edge-Based Representation. In: International Symposium on Intelligent Robotic Systems (SIRS’01), 2001, pp 167–176 [73] Sato, K. ; Inokuchi, S.: Three-Dimensional Surface Measurement by Space Encoding Range Imaging. In: Journal of Robotic Systems 2 (1985), No. 1, pp 27–39 ¨ n, N. ; Ha ¨ usler, G.: Automatic Coarse Registration of 3D Surfaces. In: [74] Scho Vision, Modeling, and Visualization 2005, 2005, pp 71–178 [75] Schroeder, W. J. ; Martin, K. M. ; Lorensen, W. E.: The Visualization Toolkit, second edition. Upper Saddle River, New Jersey : Prentice-Hall, 1998 [76] Seeger, S. ; Labourex, X.: Feature extraction and registration: An overview. In: Principles of 3D Image Analysis and Synthesis (2000), pp 153–166 [77] Sharp, G. C. ; Lee, S. W. ; Wehe, D. K.: ICP Registration Using Invariant Features. In: IEEE Trans. Pattern Anal. Machine Intell. 24 (2002), No. 1, pp 90–102 [78] Silva, L. ; Bellon, O. R. P. ; Boyer, K. L.: Precision Range Image Registration Using a Robust Surface Interpenetration Measure and Enhanced Genetic Algorithms. In: IEEE Trans. Pattern Anal. Machine Intell. (2005), pp 762–776 [79] Silva, L. ; Bellon, O. R. P. ; Boyer, K. L.: Machine Perception Artificial Intelligence. Vol. 60: Robust Range Image Registration Using Genetic Algorithms and the Surface Interpenetration Measure. World Scientific, 2005 [80] Smith, G. R. ; Sternberg, M. J.: Prediction of protein-protein interactions by docking methods. In: Current Opinion in Structural Biology 12 (2002), No. 1, pp 28–35 [81] Stockman, G.: Object recognition and localization via pose clustering. In: Comput. Vision Graph. Image Process. 40 (1987), No. 3, pp 361–387 [82] Sun, Y. ; Paik, J. ; Koschma, A. ; Page, D. L. ; Abidi, M. A.: Point Fingerprint: A New 3-D Object Representation Scheme. In: IEEE Transactions on System, Man, and Cybernetics 33 (2003), No. 4, pp 712–717 [83] Synbone AG: Clavadelerstrasse, 7270 Davos, Switzerland. www.synbone.ch

Literaturverzeichnis

155

[84] Tscherne H.; Pohlemann T. (Eds.): Becken und Acetabulum. Springer, 1998 (Tscherne Unfallchirurgie) [85] Vanden Wyngaerd, J. ; Van Gool, L.: Automatic Crude Patch Registration: Toward Automatic 3D Model Building. In: Computer Vision and Image Understanding 87 (2002), pp 8–26 [86] Via, A. ; Ferre, F. ; Brannetti, B. ; Helmer-Citterich, M.: Protein surface similarities: a survey of methods to describe and compare protein surfaces. In: Cellular and Molecular Life Sciences 57 (2000), No. 13/14, pp 1970–1977 [87] Wahl, E. ; Hillenbrand, U. ; Hirzinger, G.: Surflet-Pair-Relation Histograms: A Statistical 3D-Shape Representation for Rapid Classification. In: Proc. 4th International Conf. on 3-D Digital Imaging and Modeling (3DIM’03), IEEE Computer Society Press, 2003, pp 474–481 [88] Wahl, F. M.: A Coded Light Approach for 3-Dimensional (3D) Vision. 1984 (RZ 1452). – IBM Research Report [89] Wahl, F. M.: A Coded Light Approach for Depth Map Acquisition. In: Hartmann, G. (Eds.): Mustererkennung 1986, Springer, 1986, pp 12–17 [90] Weisstein, E. W.: Birthday Attack. From MathWorld–A Wolfram Web Resource. http://mathworld.wolfram.com/BirthdayAttack.html ¨ sling, T. ; Winkelbach, S. ; Hu ¨ fner, S. [91] Westphal, R. ; Faulstich, R. ; Go ; Krettek, T. ; Wahl, F. M.: Fracture reduction using a telemanipulator with haptical feedback. In: Proceedings of the 17th International Congress and Exhibition, Computer Assisted Radiology and Surgery (CARS 2003), Elsevier Science Ltd, Juni 2003 (International Congress Series 1256), pp 1369 ¨ sling, [92] Westphal, R. ; Winkelbach, S. ; Finkemeyer, B. ; Wahl, F. ; Go ¨ fner, T. ; Faulstich, J. ; Krettek, C.: Progress in Robot Assisted T. ; Hu Fracture Reduction. In: Video-Proceedings - IEEE, International Conference on Robotics and Automation. New Orleans, USA, 2004 ¨ sling, T. ; Hu ¨ fner, T. ; Faulstich, [93] Westphal, R. ; Winkelbach, S. ; Go J. ; Martin, P. ; Krettek, C. ; Wahl, F.: A Surgical Telemanipulator for Femur Shaft Fracture Reduction. In: Int. J. of of Medical Robotics and Computer Assisted Surgery (accepted for publication) (2006) [94] Wiley, W. C. ; McLaren, H.: Time-of-Flight Mass Spectrometer with Improved Resolution. In: Review of Scientific Instruments 26 (1955), No. 12, pp 1150–1157 [95] Willis, A. ; Cooper, D.: Bayesian Assembly of 3D Axially Symmetric Shapes from Fragments. In: IEEE Conference on Computer Vision and Pattern Recognition 1 (2004), pp 82–89 [96] Winkelbach, S.: Gradienten basierte Rekonstruktion von 3D Oberfl¨ achen, Institut fu ¨r Robotik und Prozessinformatik, Technische Universit¨at Braunschweig, Germany, Diplomarbeit, Betreuer: Wahl, F. M., 2001

156

Literaturverzeichnis

[97] Winkelbach, S. ; Molkenstruck, S. ; Wahl, F.: Low-Cost Laser Range Scan¨ ller K.-R.; ner and Fast Surface Registration Approach. In: Franke K.; Mu ¨ fer R. (Eds.): Pattern Recognition, 28th DAGM Symposium Nickolay B.; Scha ¨ nfelder, C. ; Wahl, F. M.: Fast Random [98] Winkelbach, S. ; Rilk, M. ; Scho Sample Matching of 3d Fragments. In: B., Rasmussen C. E.; Bu ¨lthoff H. H.; Giese H. H.; S. (Eds.): Pattern Recognition, 26th DAGM Symposium [99] Winkelbach, S. ; Wahl, F. M.: Shape from 2D Edge Gradients. In: Radig B.; Florczyk S. (Eds.): Pattern Recognition, 23th DAGM Symposium, Springer, September 2001 (Lecture Notes in Computer Science 2191), pp 377–384 ¨ sling, T.: Automatic Computation of [100] Winkelbach, S. ; Westphal, R. ; Go Reposition Parameters of Fractured Long Bones based on CT-analysis. In: Proc. of the 17th International Congress and Exhibition, Computer Assisted Radiology and Surgery (CARS 2003), Elsevier Science Ltd, Juni 2003 (International Congress Series 1256), pp 1348 ¨ sling, T.: Pose Estimation of Cylin[101] Winkelbach, S. ; Westphal, R. ; Go drical Fragments for Semi-automatic Bone Fracture Reduction. In: Michaelis B.; Krell G. (Eds.): Pattern Recognition, 25th DAGM Symposium, Springer, September 2003 (Lecture Notes in Computer Science 2781), pp 566–573 [102] Witkin, A. P.: Recovering Surface Shape and Orientation from Texture. In: Artificial Intelligence 17 (1981), pp 17–45 [103] Woodham, R. J.: Analysing Images of Curved Surfaces. In: Artificial Intelligence 17 (1981), pp 117–140 [104] Wyvill, B. ; McPheeters, C. ; Wywill, G.: Data Structure for Soft Objects. In: The Visual Computer Vol. 2, 1986, pp 227–234 [105] Yamany, S. M. ; Farag, A. A.: Surface Signatures: An Orientation Independent Free-Form Surface Represenation Scheme for the Purpose of Objects Registration and Matching. In: IEEE Trans. Pattern Anal. Machine Intell. 24 (2002), No. 8, pp 1105–1120 [106] Zagorchev, L. ; Goshtasby, A.: A paintbrush laser range scanner. In: Computer Vision and Image Understanding 101 (2006), pp 65–85

Index 2d Integration, 22 3d-Puzzle-Problem, 1, 39, 49

Hough-Transformation, 44, 58 Hypothesenakkumulation, 44

Achsscha¨tzung, 101 Arch¨aologie, 46, 123

ICP, 41 Integration, 22 Isofl¨ache, 33

Becken -fraktur, 112 -knochen, 112 Bruchfl¨achensegmentierung, 118 Bruchfl¨achen -distanz, 64 -segmentierung, 101, 118

Kohera¨nz, 76 Kongruenzrelation auf Cluster-Paaren, 87 auf Punktpaaren, 80 Kontaktkoh¨arenz, 76 Korrespondenzproblem, 6 Lagehypothesen Bewertung, 63, 88 Definition, 53, 87 Generierung, 59 high-level, 79, 86, 87 Lagekoh¨arenz, 78 Lagesch¨atzung, 132 Laserarray, 18 Laserscanner, 7 LookUp-Tabelle, 16

Chirurgie, 97 Cluster Tree Konstruktion, 82 Matching, 78 Clustering, 82 Codierter Lichtansatz, 10 Computertomographie, 31 Durchdringung, 53, 64, 82 Feinregistrierung, 41 Femur -frakturen, 97 Achssch¨atzung, 101 Bruchfl¨achensegmentierung, 101 Festmusterprojektor, 18 Fotometrische Mitte, 20 Fusion von Oberfl¨achendaten, 126

Marching Cube, 33 Merkmale, 42 Monte-Carlo, 63 Oberfla¨chen Gradient, 11, 23 Kru ¨mmungen, 42 Merkmale, 42, 59, 94 Normale, 11, 23, 51 Repr¨asentationsformen, 36 Oberschenkelknochen, siehe Femur Objekterkennung, 132 orientierter Punkt, 51

Geburtstagsangriff, 60 Geburtstagsparadoxon, 60 geometrisch komplementa¨r, 55 Gradientenkarte, 11 Gradientenoperatoren, 15 Gray-Code, 10 Grobregistrierung, 41

pose clustering, 44 157

158

Protein-Docking, 47, 136 Punktwolke, 51, 82 Quantile, 67 Radontransformation, 31 Random Sample Matching, 56 RANSAC zur Detektion von Geraden, 56 zur L¨osung des 3d-Puzzle-Problems, 58 zur Sch¨atzung der Knochenachse, 102 Rauschen, 67 Registrierung, 39, 126 Relations -intervall, 87 -tabelle, 60 -vektor, 87 spin image, 42 Stereo, 6 Streifenlichtprojektion, 12 subpixel, 20 subvoxel, 35 tangentialer Kontakt, 52 Tiefenbilder, 6 Triangulation, 6 Ueberlappungstypen, 39 Volumendaten, 31 Zentralschnitt-Theorem, 32

Index