09.12.2012 Aufrufe

Das 3d-Puzzle-Problem - Institut für Robotik und Prozessinformatik ...

Das 3d-Puzzle-Problem - Institut für Robotik und Prozessinformatik ...

Das 3d-Puzzle-Problem - Institut für Robotik und Prozessinformatik ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Das</strong> <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong><br />

Effiziente Methoden zum paarweisen Zusammensetzen<br />

von dreidimensionalen Fragmenten<br />

Von der Carl-Friedrich-Gauß-Fakultät <strong>für</strong> Mathematik <strong>und</strong> Informatik<br />

der Technischen Universität Carolo-Wilhelmina zu Braunschweig<br />

zur Erlangung des Grades eines Doktor-Ingenieurs (Dr.-Ing.)<br />

genehmigte<br />

D i s s e r t a t i o n<br />

von Dipl.-Inform. Simon Winkelbach<br />

aus (Geburtsort) Göttingen<br />

1. Referent: Prof. Dr.-Ing. Friedrich M. Wahl<br />

2. Referent: Prof. Dr.-Ing. Hans Burkhardt<br />

eingereicht am: 16. 06. 2006<br />

mündliche Prüfung am: 18. 09. 2006


Vorwort<br />

Die vorliegende Dissertation entstand im Rahmen meiner Tätigkeit als wissenschaftlicher<br />

Mitarbeiter am <strong>Institut</strong> <strong>für</strong> <strong>Robotik</strong> <strong>und</strong> <strong>Prozessinformatik</strong> der Technischen Universität<br />

Braunschweig.<br />

Mein besonderer Dank gilt dem Leiter des <strong>Institut</strong>s Herrn Prof. Dr.-Ing. Friedrich M.<br />

Wahl, denn ohne seine hilfreiche fachliche Betreuung wäre diese Arbeit sicherlich nicht<br />

möglich gewesen. Er hat mich bereits als Student frühzeitig gefördert <strong>und</strong> meine Arbeit<br />

kontinuierlich durch viele konstruktive Ideen <strong>und</strong> wertvolle Erfahrungen unterstützt.<br />

Herrn Prof Dr.-Ing. Hans Burkhardt, der sich zur Übernahme des Koreferats bereit<br />

erklärt hat, gilt ebenfalls mein Dank.<br />

Herzlicher Dank gebührt natürlich auch allen Kolleginnen <strong>und</strong> Kollegen, sowie Studenten<br />

des <strong>Institut</strong>s <strong>für</strong> ihre aktive Mitwirkung <strong>und</strong> <strong>für</strong> die vielen interessanten <strong>und</strong> anregenden<br />

Diskussionen. Insbesondere Herr Markus Rilk, Herr Sven Molkenstruck <strong>und</strong> Herr Christoph<br />

Schönfelder haben bei den umfangreichen Implementierungsarbeiten tatkräftig<br />

mitgeholfen.<br />

Meinen Kollegen Herrn Ralf Westphal, sowie unseren Projektpartnern an der Unfallchirurgischen<br />

Klinik der Medizinischen Hochschule Hannover unter der Leitung von Prof.<br />

Dr. med. Christian Krettek danke ich <strong>für</strong> die ausgezeichnete Zusammenarbeit <strong>und</strong> die<br />

Bereitstellung des umfangreichen Datenmaterials.<br />

Schließlich möchte ich mich ganz herzlich bei der deutschen Forschungsgemeinschaft<br />

(DFG) <strong>für</strong> die finanzielle Unterstützung dieser Arbeit im Rahmen des Projektes ” <strong>3d</strong>-<br />

<strong>Puzzle</strong>-<strong>Problem</strong>“ (WA 848/14–1) <strong>und</strong> des Projektes ” Roboterunterstützte Femurmarknagelung“<br />

(WA 848/10–1) bedanken.<br />

Braunschweig, im Juni 2006 Simon Winkelbach<br />

i


Inhaltsverzeichnis<br />

1 Einleitung 1<br />

1.1 Zielsetzung <strong>und</strong> Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . 3<br />

2 Gewinnung <strong>und</strong> Repräsentation von Basisdaten 5<br />

2.1 Tiefendaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />

2.1.1 Lasertriangulation . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />

2.1.2 Der Codierte Lichtansatz . . . . . . . . . . . . . . . . . . . . . . . 10<br />

2.2 Oberflächennormalen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11<br />

2.2.1 Oberflächenrekonstruktion durch Projektion zweier Streifenmuster 12<br />

2.2.2 Oberflächenrekonstruktion durch Projektion eines Streifenmusters 18<br />

2.2.3 Tiefenbilder aus Gradientenkarten . . . . . . . . . . . . . . . . . . 22<br />

2.2.4 Experimentelle Ergebnisse . . . . . . . . . . . . . . . . . . . . . . 29<br />

2.3 Volumendaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />

2.3.1 Computertomographie . . . . . . . . . . . . . . . . . . . . . . . . 31<br />

2.3.2 Extraktion von Isoflächen . . . . . . . . . . . . . . . . . . . . . . 33<br />

2.4 Repräsentationsformen von Oberflächendaten . . . . . . . . . . . . . . . 36<br />

3 Matching von Oberflächen: <strong>Problem</strong>stellung <strong>und</strong> Stand der Technik 39<br />

3.1 Oberflächenregistrierung versus <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> . . . . . . . . . . . . 39<br />

3.2 Feinregistrierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41<br />

3.3 Grobregistrierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42<br />

3.3.1 Merkmalsbasierte Korrespondenzsuche . . . . . . . . . . . . . . . 42<br />

3.3.2 Hypothesen-Akkumulation (Pose Clustering) . . . . . . . . . . . . 44<br />

3.3.3 Hypothesengenerierung <strong>und</strong> Hypothesenverifizierung . . . . . . . 45<br />

3.4 Stand der Technik beim <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> . . . . . . . . . . . . . . . . 46<br />

4 Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>) 49<br />

4.1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49<br />

4.2 Formale <strong>Problem</strong>stellung <strong>und</strong> Begriffsdefinitionen . . . . . . . . . . . . . 51<br />

4.3 Ein zufallsbasierter Ansatz: ’Random Sample Matching’ . . . . . . . . . . 56<br />

4.3.1 <strong>Das</strong> RANSAC-Konzept . . . . . . . . . . . . . . . . . . . . . . . . 56<br />

4.3.2 Schnelle Generierung von Lagehypothesen . . . . . . . . . . . . . 59<br />

4.3.3 Effiziente Bewertung der Lagehypothesen . . . . . . . . . . . . . . 63<br />

4.3.4 Experimentelle Ergebnisse . . . . . . . . . . . . . . . . . . . . . . 64<br />

iii


iv Inhaltsverzeichnis<br />

4.3.5 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76<br />

4.4 Ein Grob-zu-Fein-Ansatz: ’Cluster Tree Matching’ . . . . . . . . . . . . . 78<br />

4.4.1 Transformationsfreies Matching von orientierten Punktwolken . . 80<br />

4.4.2 Hierarchische Zerlegung von Punktwolken . . . . . . . . . . . . . 82<br />

4.4.3 Hierarchisches Matching . . . . . . . . . . . . . . . . . . . . . . . 86<br />

4.4.4 Beschleunigungsmöglichkeiten . . . . . . . . . . . . . . . . . . . . 89<br />

4.4.5 Experimentelle Ergebnisse <strong>und</strong> Diskussion . . . . . . . . . . . . . 90<br />

4.5 Anpassung an spezielle Fragmenttypen . . . . . . . . . . . . . . . . . . . 94<br />

5 Anwendungen <strong>und</strong> Einsatzgebiete 97<br />

5.1 Anwendungen in der Chirurgie . . . . . . . . . . . . . . . . . . . . . . . . 97<br />

5.1.1 Repositionierung von gebrochenen Oberschenkelknochen . . . . . 97<br />

5.1.2 Repositionierung von gebrochenen Beckenknochen . . . . . . . . . 112<br />

5.2 Anwendungen in der Archäologie . . . . . . . . . . . . . . . . . . . . . . 123<br />

5.3 Registrierung von Oberflächendaten . . . . . . . . . . . . . . . . . . . . . 126<br />

5.4 Objekterkennung <strong>und</strong> Lageschätzung . . . . . . . . . . . . . . . . . . . . 132<br />

6 Zusammenfassung <strong>und</strong> Ausblick 135<br />

A Ungenauigkeiten bei perspektivischer Projektion 139<br />

B Ergänzungen zu den experimentellen Ergebnissen 143<br />

C Eigene Veröffentlichungen 145<br />

Literaturverzeichnis 149<br />

Index 157


Kurzfassung<br />

<strong>Das</strong> Zusammenfügen von dreidimensionalen Objekten aus Einzelteilen (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

ist in vielen wichtigen Forschungs- <strong>und</strong> Anwendungsbereichen, wie zum Beispiel<br />

der Archäologie, der Medizin, sowie der Bioinformatik <strong>und</strong> <strong>Robotik</strong>, von hoher Relevanz.<br />

So müssen in der Archäologie zerbrochene historische Artefakte rekonstruiert, in der<br />

Chirurgie gebrochene Knochen repositioniert <strong>und</strong> fixiert, in der Bioinformatik Proteine<br />

zusammengesetzt <strong>und</strong> in der <strong>Robotik</strong> Bauteile gefügt werden.<br />

In dieser Arbeit wird die gesamte Prozesskette von der Datenakquisition mittels unterschiedlicher<br />

Sensoren, über die allgemeine Registrierung von Oberflächen, bis hin zu<br />

speziellen Anforderungen beim Zusammensetzen von Fragmenten in unterschiedlichen<br />

Anwendungsfällen, betrachtet. Insbesondere werden zwei neue Ansätze vorgestellt, mit<br />

denen ein paarweises Matching von Fragmentoberflächen äußerst effizient gelöst werden<br />

kann. Hierbei wird eine hohe Robustheit gegenüber Messungenauigkeiten, Fragmentschädigungen<br />

<strong>und</strong> Materialverschleiß erreicht. In ihrer Basiskonfiguration berechnen beide<br />

Verfahren diejenige relative Lage, bei der die Fragmente einen möglichst großen Oberflächenkontakt<br />

aufweisen. Der erste Ansatz beruht auf einer zufallsbasierten Generierung<br />

von wahrscheinlichen Lagehypothesen <strong>und</strong> einer schnellen Hochrechnung der Kontaktfläche.<br />

Der zweite Ansatz basiert auf einer deterministischen ” Grob-zu-Fein-Strategie“<br />

<strong>und</strong> kommt ohne Zufallskomponente aus.<br />

Des Weiteren wird untersucht, auf welche Weise Vorwissen über die zerbrochenen Objekte<br />

(z.B. über Form, Symmetrieebenen, Achsen, etc.) genutzt werden kann, um die<br />

Effizienz, Genauigkeit <strong>und</strong> Robustheit zu erhöhen. Insbesondere gelingt es in dieser Arbeit<br />

durch Einbeziehung von Vorwissen gebrochene Oberschenkel- <strong>und</strong> Beckenknochen<br />

virtuell zusammenzufügen <strong>und</strong> somit einen wichtigen Baustein <strong>für</strong> die computerassistierte<br />

Frakturbehandlung in der Chirurgie zu schaffen.<br />

Neben den <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>en findet das automatische Anpassen von Oberflächendaten<br />

(engl. ’surface matching’) auch in vielen anderen wichtigen Bereichen des <strong>3d</strong>-<br />

Computer-Sehens Anwendung. In diesem Zusammenhang wird gezeigt, dass die entwickelten<br />

Ansätze unter anderem auch <strong>für</strong> die Erkennung <strong>und</strong> Lageschätzung von Objekten<br />

im Raum <strong>und</strong> <strong>für</strong> die Registrierung von Tiefendaten eingesetzt werden können.<br />

v


Abstract<br />

The reconstruction of three-dimensional fragmented objects (<strong>3d</strong>-puzzle-problem) is a<br />

highly relevant task with many applications. The field of application comprises archaeology,<br />

surgery, bioinformatics and robotics. Examples are the reconstruction of broken<br />

archaeological artefacts, human bone fracture reduction in surgery, protein-docking, and<br />

the assemblage of industrial components.<br />

This work considers the whole processing chain, starting from data acquisition with different<br />

sensors, the general registration of surfaces, up to special requirements for matching<br />

fragments in different applications. In this context, two novel and efficient pairwise<br />

matching approaches will be introduced, which are highly robust against measurement<br />

inaccuracies, material deterioration and noise. In their basic configuration, both methods<br />

search for a relative pose, where the surface contact between all fragments is as<br />

high as possible. The first approach is based on a randomized generation of likely pose<br />

hypotheses and an efficient forecasting of the contact area. The second approach is based<br />

on a deterministic coarse-to-fine strategy without any random variables.<br />

Furthermore, this work discusses how a priori knowledge of the broken objects (like<br />

shape priors, mirror symmetries and symmetry axes) can be used to increase the efficiency,<br />

accuracy and robustness. Particularly, it shows how to use a priori knowledge<br />

to reconstruct broken femurs (thigh bones) and pelvis fractures, which is an important<br />

building block for computer-assisted fracture reduction in surgery.<br />

In addition to the <strong>3d</strong>-puzzle-problem, an automatic matching of surfaces has applications<br />

in many other important computer vision related fields. It will be shown that the<br />

developed approaches are also applicable for <strong>3d</strong> object recognition and pose estimation,<br />

as well as for registration of range data.<br />

vii


Kapitel 1<br />

Einleitung<br />

Die Bildverarbeitung hat seit Einsatz des Computers große Fortschritte gemacht. So<br />

ist es beispielsweise heutzutage mit geeigneten zweidimensionalen bildgebenden Sensoren<br />

möglich, automatisiert handgeschriebene Texte zu erkennen, industrielle Bauteile<br />

zu vermessen <strong>und</strong> zu prüfen, Gesichter <strong>und</strong> Fingerabdrücke zu identifizieren oder mobilen<br />

Robotern das Erkennen von Hindernissen zu ermöglichen. Neben den weit verbreiteten<br />

2d-Bildsensoren wie Farbbildkameras oder Röntgengeräte kommen auch immer<br />

häufiger 21 2d-Bildsensoren zum Einsatz. Hierunter fallen z.B. taktile Sensoren, Stereokameras,<br />

Lasertriangulationssensoren, Lichtschnittsensoren, strukturierte Beleuchtungssensoren<br />

<strong>und</strong> Lichtlaufzeitsensoren. Diese Sensoren ermöglichen eine hochauflösende Erfassung<br />

von geometrischen Formen. Neben den genannten Sensoren zur Vermessung<br />

von 21 2d-Oberflächenkoordinaten gibt es insbesondere im medizinischen Bereich auch<br />

Technologien zur Vermessung volumetrischer <strong>3d</strong>-Raumdaten. Hierunter fallen z.B die<br />

Computertomographie (CT), die Magnetresonanztomographie (MRT), die Positronenemissionstomographie<br />

(PET) sowie moderne sonographische Technologien. Durch die<br />

schnittbildgebenden Sensoren wie CT <strong>und</strong> MRT ist es möglich, dreidimensionale Objekte<br />

raumfüllend in ihrer äußeren Form <strong>und</strong> ihrer inneren Zusammensetzung zu erfassen.<br />

Somit können Organe <strong>und</strong> Knochen im Körper segmentiert <strong>und</strong> analysiert werden. Auch<br />

in der Industrie gewinnt die Computertomographie immer mehr an Bedeutung. Mit ihr<br />

ist es möglich, Elemente <strong>und</strong> Strukturen aus dem Inneren von Materialien, so z.B. Ma-<br />

terialdefekte oder innere Werkstückelemente sichtbar zu machen. Durch moderne 2 1<br />

2 d<strong>und</strong><br />

<strong>3d</strong>-Sensoren können also dreidimensionale Objekte in eine hochauflösende digitale<br />

Form gebracht werden. Ein aktiver Forschungsbereich beschäftigt sich deshalb mit<br />

der Entwicklung von Methoden <strong>und</strong> Techniken zur computerbasierten Nutzung dieser<br />

Daten. In diesem Bereich ist auch die vorliegende Arbeit einzuordnen.<br />

Ein Mensch besitzt im Allgemeinen die kognitiven <strong>und</strong> motorischen Fähigkeiten, ein<br />

zerbrochenes Objekt wieder zu einem Ganzen zusammenzusetzen, in vielen Fällen sogar<br />

dann, wenn er die Form des ursprünglichen Objektes nicht kennt. Hierbei müssen die<br />

Bruchstücke (Fragmente) in die ursprüngliche (also vor dem Zerbrechen vorherrschende)<br />

relative räumliche Lage gebracht werden. In Anlehnung an das allseits bekannte<br />

zweidimensionale <strong>Puzzle</strong>spiel, soll das <strong>Problem</strong> des Zusammensetzens von dreidimensionalen<br />

Fragmenten im Folgenden kurz <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> genannt werden. Die Lösung<br />

1


2 Kapitel 1. Einleitung<br />

(a) (b)<br />

(c) (d)<br />

Abbildung 1.1 Exemplarische Fragmente unterschiedlicher Art: (a) Archäologisches Artefakt;<br />

(b) Beckenfraktur; (c) Bauteile; (d) Proteine.<br />

dieses <strong>Problem</strong>s ist nicht nur beim spielerischen Geduldsspiel oder beim Reparieren<br />

von Ton- <strong>und</strong> Glasgefäßen erforderlich, sondern hat auch maßgebliche Relevanz im Bereich<br />

Archäologie, Medizin, Bioinformatik <strong>und</strong> <strong>Robotik</strong>. So müssen zum Beispiel in der<br />

Archäologie wertvolle archäologische Artefakte rekonstruiert, in der Medizin/Chirurgie<br />

Knochen repositioniert <strong>und</strong> fixiert, in der Bioinformatik Proteine zusammengesetzt <strong>und</strong><br />

in der <strong>Robotik</strong> Bauteile gefügt oder Tiefendaten fusioniert werden. Wie diese Beispiele<br />

verdeutlichen, findet man das <strong>Problem</strong> in unterschiedlichen Bereichen mit Fragmenten<br />

völlig unterschiedlicher Art. Hierbei muss es sich nicht zwangsweise um Fragmente von<br />

zerbrochenen Objekten handeln, sondern es können prinzipiell beliebige zusammensetzbare<br />

Teile sein. Insbesondere sind hier starre dreidimensionale Fragmente gemeint, deren<br />

Oberflächen mit anderen Fragmenten eine möglichst passgenaue Verbindung eingehen<br />

können. Vier solcher Fragmentarten sind exemplarisch in Abbildung 1.1 dargestellt.<br />

In vielen Bereichen ist jedoch ein manuelles Zusammensetzen der Fragmente prinzipiell<br />

nicht möglich, zu ungenau oder mit zu hohen Kosten <strong>und</strong> Zeitaufwand verb<strong>und</strong>en. Die<br />

manuelle Bearbeitung ist oft nicht innerhalb eines sinnvollen Zeitrahmens zu bewerk-


1.1. Zielsetzung <strong>und</strong> Aufbau der Arbeit 3<br />

stelligen, da die kombinatorischen Möglichkeiten explosionsartig mit der Fragmentanzahl<br />

steigen. Im Fall von gebrochenen Knochen geht der behandelnde Chirurg ein nicht<br />

unerhebliches Ges<strong>und</strong>heitsrisiko ein, da der Fixierungsvorgang laufend durch eine Vielzahl<br />

von Röntgenbildaufnahmen (<strong>und</strong> damit verb<strong>und</strong>ener Strahlenbelastung) überwacht<br />

werden muss. In der pharmazeutischen Forschung müssen beispielsweise große Strukturdatenbanken<br />

nach einem Protein durchsucht werden, welches eine stabile molekulare<br />

Verbindung mit einem anderen Protein bildet. Eine mögliche Anwendung ist die Suche<br />

nach einer Substanz, die ein Enzym blockieren (inhibieren) <strong>und</strong> damit eine Virusinfektion<br />

eindämmen kann.<br />

Aus diesen Gründen besteht großes Interesse an effizienten Methoden zur automatischen<br />

Lösung des <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>s. In der heutigen Zeit bietet der Einsatz von Sensoren,<br />

Robotern <strong>und</strong> Computern prinzipiell die Möglichkeit zu einer schnelleren, genaueren <strong>und</strong><br />

günstigeren automatischen Lösung zu gelangen. Die Fragmentoberflächen müssen hierzu<br />

zuerst in eine geeignete digitale Form gebracht werden. <strong>Das</strong> Ziel ist dann, durch spezielle<br />

Methoden aus dem Bereich Bildverarbeitung, <strong>3d</strong>-Computer-Sehen <strong>und</strong> Mustererkennung,<br />

die einzelnen Fragmente virtuell zusammenzusetzen <strong>und</strong> somit ’Baupläne’ oder<br />

Bindungsfähigkeitsinformationen zu generieren. Diese Informationen können zum manuellen<br />

oder robotergeführten Zusammensetzen der realen Teile oder in der Biochemie<br />

<strong>und</strong> Pharmazie zur Vorhersage von Proteininteraktionen genutzt werden.<br />

Neben der Anwendung beim <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> findet das automatische Anpassen von<br />

Oberflächendaten auch in vielen anderen wichtigen Bereichen des <strong>3d</strong>-Computer-Sehens<br />

Anwendung. Beispiele hier<strong>für</strong> sind die Erkennung <strong>und</strong> Lageschätzung von Objekten im<br />

Raum, sowie die Registrierung oder Fusion von verschiedenen Daten desselben Körpers,<br />

welche aus unterschiedlichen Sichtrichtungen aufgenommen wurden.<br />

1.1 Zielsetzung <strong>und</strong> Aufbau der Arbeit<br />

<strong>Das</strong> Ziel dieser Arbeit ist es, konkrete Methoden zum Lösen des <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>s<br />

vorzustellen. Dabei wird die gesamte Prozesskette, von der Datenakquisition mittels<br />

unterschiedlicher Sensoren, über das allgemeine Matching von Oberflächen, bis hin zu<br />

speziellen Anforderungen beim Matching von Fragmenten in unterschiedlichen Anwendungsfällen,<br />

betrachtet. Besonderer Wert wird auf die anschauliche <strong>und</strong> intuitiv verständliche<br />

Darstellung der Techniken gelegt. Neben der Robustheit <strong>und</strong> Genauigkeit<br />

steht immer auch die Effizienz der Verfahren im Vordergr<strong>und</strong>, da diese ein entscheidendes<br />

Kriterium <strong>für</strong> die Praxistauglichkeit ist:<br />

• Effiziente Algorithmen ermöglichen das Zusammensetzen mehrerer Fragmente in<br />

einem sinnvollen Zeitrahmen,<br />

• sie versprechen in der Chirurgie kürzere Operationszeiten (<strong>und</strong> damit verbesserte<br />

Heilungschancen <strong>und</strong> geringere Kosten),<br />

• sie können während der Laufzeit (beispielsweise bei der automatisierten Montage)<br />

eingesetzt werden,


4 Kapitel 1. Einleitung<br />

• sie ermöglichen es, große Datenbanken schneller nach einem passenden Gegenstück<br />

zu durchsuchen<br />

• <strong>und</strong> können schließlich <strong>für</strong> Systeme mit interaktiver Benutzerschnittstelle eingesetzt<br />

werden.<br />

Alle Kapitel dieser Arbeit sind so weit wie möglich voneinander unabhängig aufgebaut<br />

<strong>und</strong> auch getrennt voneinander nachvollziehbar. Die Arbeit ist folgendermaßen gegliedert:<br />

In Kapitel 2 wird zunächst die Akquisition <strong>und</strong> Vorverarbeitung von räumlichen<br />

Daten behandelt, welche die Basis sämtlicher Matching- <strong>und</strong> Registrierungsmethoden<br />

sind. Dabei liegt der Schwerpunkt auf aktiven berührungslosen Ansätzen zur Gewinnung<br />

von hochaufgelösten Daten. Bei diesen Daten kann es sich je nach Verfahren um Tiefendaten,<br />

Oberflächennormalen oder Volumendaten handeln. Für jeden Typ werden ein<br />

bis zwei besonders geeignete Verfahren vorgestellt. Besonderes Augenmerk liegt dabei<br />

auf eigenen Arbeiten in diesem Bereich. Nach der Datenakquisition <strong>und</strong> -aufbereitung<br />

kann das Oberflächen-Matching beginnen.<br />

Kapitel 3 gibt einen Überblick über diverse aus der Literatur bekannte Ansätze zum Registrieren<br />

von Oberflächendaten. Diese Registrierungsverfahren werden im Allgemeinen<br />

zur Fusion von Tiefendaten oder zur <strong>3d</strong>-Lageschätzung von Objekten eingesetzt. Obwohl<br />

das Zusammensetzen von zerbrochenen Teilen ein sehr ähnlicher Anwendungsfall<br />

ist, sind diese Methoden hier<strong>für</strong> nur begrenzt geeignet. Gründe da<strong>für</strong> liegen beispielsweise<br />

in der oft fehlenden Initiallösung, in der teilweise geringen Oberflächenüberlappung,<br />

im Materialverschleiß, sowie in der Notwendigkeit Durchdringungen zu vermeiden.<br />

Aus diesem Gr<strong>und</strong> werden in Kapitel 4 zwei neue Verfahren vorgestellt, mit denen<br />

das <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> wesentlich effizienter <strong>und</strong> robuster als mit bisherigen Ansätzen<br />

gelöst werden kann. In ihrer Basiskonfiguration suchen beide Verfahren diejenige relative<br />

Lage, bei der die Fragmente den größtmöglichen Oberflächenkontakt aufweisen. Der<br />

erste Ansatz beruht auf einer zufallsbasierten Suche von wahrscheinlichen Kontaktlagen<br />

<strong>und</strong> einer schnellen Hochrechnung der Kontaktgüte. Dabei besticht der Algorithmus<br />

vor allem durch seine Einfachheit <strong>und</strong> Geschwindigkeit. Die Suche terminiert sobald<br />

die gewünschte Güte erreicht oder ein vorgegebenes Zeitlimit überschritten wurde. Der<br />

zweite Ansatz tastet hingegen den Suchraum mit einer ” Grob-zu-Fein-Strategie“ ab,<br />

kommt ohne Zufallskomponente aus <strong>und</strong> terminiert nach endlicher Zeit.<br />

In Kapitel 5 werden die Ansätze in unterschiedlichen Anwendungsszenarien untersucht.<br />

Die vorgestellten Anwendungen umfassen u.a. die Repositionierung von gebrochenen<br />

Oberschenkel- <strong>und</strong> Beckenknochen, die Registrierung von Tiefendaten <strong>und</strong> die Erkennung<br />

<strong>und</strong> Lageschätzung von Objekten im <strong>3d</strong> Raum. Je nach Anwendung wird zusätzliches<br />

” a priori Wissen“ genutzt, wodurch eine wesentlich höhere Robustheit <strong>und</strong> Genauigkeit<br />

erzielt wird. Abschließend folgt in Kapitel 6 ein Ausblick auf mögliche zukünftige<br />

Aktivitäten auf diesem interessanten Forschungsgebiet.


Kapitel 2<br />

Gewinnung <strong>und</strong> Repräsentation von<br />

Basisdaten<br />

Die Basis sämtlicher Matching- <strong>und</strong> Registrierungsmethoden sind digitale Daten von realen<br />

dreidimensionalen Objekten. Ganz am Anfang des <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>s steht deshalb<br />

die wichtige Frage, wie diese Objekte in eine digitale Form überführt werden können.<br />

In diesem Kapitel sollen einige geeignete Methoden zur berührungslosen Gewinnung<br />

von räumlichen Daten erläutert werden. Inzwischen gibt es eine Vielzahl unterschiedlicher<br />

Ansätze. Zu unterscheiden sind passive <strong>und</strong> aktive Verfahren. Passive Verfahren<br />

nehmen im Allgemeinen das reflektierte Umgebungslicht der Szene mittels ein oder<br />

mehrerer optischer Systeme auf, während aktive Verfahren die Reflektion oder Emission<br />

einer zusätzlichen Strahlen- oder Magnetquelle messen. Neben der Unterteilung in<br />

aktiv <strong>und</strong> passiv, können die Verfahren auch nach der Art der gewonnen Daten (Tiefendaten,<br />

Oberflächennormalen, Volumendaten) gegliedert werden. Tabelle 2.1 zeigt eine<br />

Gliederung nach beiden Unterscheidungskriterien.<br />

Natürlich gibt es noch weitere Verfahren die hier nicht genannt wurden. <strong>Das</strong> Ziel dieses<br />

Tabelle 2.1 Unterschiedliche Methoden zur berührungslosen Gewinnung räumlicher Daten.<br />

Tiefendaten Oberflächennormalen Volumendaten<br />

passiv Stereobildanalyse Shape from Shading<br />

Shape from Motion Shape from Texture<br />

Shape from Focus Shape from Reflexion<br />

Shape from Silhouette<br />

aktiv Lasertriangulation Photometrisches Stereo CT<br />

Codierter Lichtansatz Moiré Interferometrie MRT<br />

Strukturiertes Licht Shape from Stripe Pattern PET<br />

Phasenshift (Ultraschall)<br />

Time-of-Flight<br />

5


6 Kapitel 2. Gewinnung <strong>und</strong> Repräsentation von Basisdaten<br />

Kapitels ist es, einen Überblick über die wichtigsten bzw. zweckmäßigsten Methoden zu<br />

vermitteln. In den folgenden Abschnitten werden insbesondere diejenigen Techniken genauer<br />

erläutert, die in den Experimenten in Kapitel 4 <strong>und</strong> 5 eingesetzt <strong>und</strong>/oder durch<br />

Eigenentwicklungen erweitert wurden. Abschnitt 2.1 befasst sich mit der Akquisition<br />

von Tiefendaten, in Abschnitt 2.2 werden Ansätze zu Gewinnung von Oberflächenorientierungen<br />

bzw. Oberflächennormalen vorgestellt <strong>und</strong> in Abschnitt 2.3 wird kurz auf<br />

die Akquisition <strong>und</strong> Verarbeitung von Volumendaten eingegangen.<br />

2.1 Tiefendaten<br />

Die bekanntesten <strong>und</strong> am häufigsten verwendeten Verfahren zur berührungslosen Gewinnung<br />

von Tiefendaten basieren auf der optischen Tiangulation. Hierbei erfolgt die<br />

Vermessung der Oberfläche über Schnittpunktberechnungen von Seh- bzw. Beleuchtungsstrahlen<br />

mindestens zweier optischer Systeme. Zum Beispiel werden bei der Stereobildanalyse<br />

(siehe z.B. Grimson [30], Marr & Poggio [59]) die zum selben Oberflächenpunkt<br />

gehörigen Sehstrahlen zweier Kameras mathematisch zum Schnitt gebracht.<br />

Der gewonnene <strong>3d</strong>-Schnittpunkt stellt dann einen Punkt der Objektoberfläche im Raum<br />

dar. Die Hauptschwierigkeit beim Stereo-Verfahren ist das so genannte Korrespondenzproblem.<br />

Um eine Schnittberechnung durchführen zu können, müssen in beiden Kamerabildern<br />

Bildpunkte gleichen Ursprungs gef<strong>und</strong>en werden. Bei falscher Zuordnung werden<br />

falsche Raumpunkte berechnet. Im Fall von homogenen unstrukturierten Oberflächen<br />

ist das Korrespondenzproblem ohne zusätzliche aktive Beleuchtung nahezu unlösbar, so<br />

dass oftmals die Tiefeninformation großer Bildbereiche nur durch Interpolation aus den<br />

angrenzenden Gebieten gewonnen werden kann. Die daraus resultierende geringe Genauigkeit<br />

<strong>und</strong> die begrenzte laterale Auflösung reicht <strong>für</strong> viele praktische Anwendungen<br />

nicht aus. Genauere Daten <strong>und</strong> eine bessere Auflösung (insbesondere bei homogenen<br />

Oberflächen) kann durch den Einsatz aktiver Beleuchtung erzielt werden. <strong>Das</strong> Korrespondenzproblem<br />

wird hierbei durch Projektion von Laser- oder Lichtmustern gelöst. Die<br />

Lichtmuster dienen dabei zur eindeutigen Kodierung der Beleuchtungsrichtung. Dabei<br />

kann die Kodierung räumlich (Strukturiertes Licht) oder räumlich <strong>und</strong> zeitlich (Lichtschnitt,<br />

Codiertes Licht, Phasenshift) erfolgen (siehe z.B. Blais [11] <strong>für</strong> einen umfassenden<br />

Überblick über bekannte Techniken). Völlig ohne Triangulation kommen Sensoren<br />

zur Messung der Lichtlaufzeit (engl. ’time-of-flight’) aus. Sogenannte ’Time-of-flight<br />

Massenspektrometer’ zur Messung einzelner punktueller Distanzwerte gibt es bereits<br />

seit über 50 Jahren (siehe z.B. Wiley & McLaren [94]). In den letzten Jahren wurden<br />

allerdings neuartige auf CMOS/CCD-Technologie basierende Lichtlaufzeitsensoren<br />

entwickelt (siehe z.B. Lange & Seitz [54]). Bis dato sind diese Sensoren jedoch noch<br />

kostenintensiv, ungenau <strong>und</strong> haben nur eine geringe laterale Auflösung. Es ist jedoch<br />

zu erwarten, dass diese Sensoren an Bedeutung gewinnen werden, denn mit ihnen ist es<br />

möglich Tiefendaten von bewegten Objekten in Kamera-Frame-Rate zu akquirieren.


2.1. Tiefendaten 7<br />

2.1.1 Lasertriangulation<br />

Auf Triangulation basierende Laser- oder Lichtschnittverfahren wurden bereits vor über<br />

zwei Jahrzehnten vorgeschlagen (siehe z.B. Hall et al. [34], Pipitone & Marshall [68])<br />

<strong>und</strong> kommen noch immer in vielen Anwendungsbereichen zum Einsatz. <strong>Das</strong> Anwendungsfeld<br />

umfasst Computergrafik, <strong>Robotik</strong>, industrielles Design, Medizin, Archeologie,<br />

Multimedia <strong>und</strong> Web-Design, sowie ’rapid prototyping’ <strong>und</strong> computergestützte Qualitätskontrolle.<br />

Die meisten kommerziellen Systeme benutzen eine Kamera <strong>und</strong> einen<br />

Laserstrahl oder eine Laser- oder Lichtebene. Dort wo das Licht auf das zu vermessende<br />

Objekt auftrifft, also in der sichtbaren Schnittlinie zwischen Laser-/Lichtebene <strong>und</strong><br />

Objektoberfläche, werden die Lichtstrahlen diffus in den Raum zurückreflektiert. Diese<br />

Linie wird von einer seitlich versetzen Kamera erfasst. Um nun die Raumkoordinaten der<br />

Oberflächenpunkte auf der Linie zu ermitteln, müssen nur die Lichtstrahlen (in diesem<br />

Zusammenhang spricht man auch von ’Sehstrahlen’) zurückverfolgt <strong>und</strong> mathematisch<br />

mit der Laser-/Lichtebene zum Schnitt gebracht werden. Wird eine flächendeckende<br />

Oberflächenvermessung benötigt, muss entweder der Laser- bzw. die Lichtebene über<br />

die Szene geschwenkt (oder die Objekte selbst gedreht oder transliert) werden. Da <strong>für</strong><br />

die Triangulation der Oberflächenpunkte zu jedem Zeitpunkt die räumliche Lage des<br />

Lasers bzw. des Lichtprojektors (bzw. die Orientierung der Drehvorrichtung) bekannt<br />

sein muss, erfordert dies eine hochgenau kalibrierte Aktorik.<br />

Einige alternative, handgeführte Geräte vermeiden diese teure Aktorik <strong>und</strong> erhöhen damit<br />

außerdem die Flexibilität beim Scanningprozess. Bei diesen Ansätzen muss die Lage<br />

des Lasergerätes im Raum online (also während der Laufzeit) ermittelt werden. Diese<br />

Echtzeit-Lagebestimmung erfolgt durch unterschiedliche Mechanismen, wie optischem<br />

LED Tracking, elektromagnetischen Sensoren oder mechanischen Positionierarmen (siehe<br />

Blais [11], Zagorchev & Goshtasby [106]).<br />

In einer eigenen Arbeit wurde deshalb ein Verfahren zur Oberflächenvermessung mit<br />

einem manuell geführten Laser entwickelt, das ohne externes Trackingsystem auskommt<br />

(siehe Molkenstruck [62], Winkelbach et al. [97]). Die Laserebene wird dabei online<br />

durch Analyse der Laserlinien im Kamerabild kalibriert. Die Laserlinie wird mehrfach<br />

per Hand über das zu scannende Objekt geschwenkt. Diese Methode hat einige Vorteile:<br />

• Die geringen Hardwarekosten können auch von Studenten <strong>und</strong> privaten Entwicklern<br />

aufgebracht werden.<br />

• Es muss nur der leichte Laser gehalten werden, was ein komfortables Scannen<br />

gewährleistet.<br />

• Die Beleuchtungsrichtung bleibt flexibel, wodurch Laserschatten <strong>und</strong> Ausreißer<br />

vermieden werden können.<br />

Die einzige Voraussetzung ist eine a priori bekannte Hintergr<strong>und</strong>geometrie, die der Kalibrierung<br />

das Lasers dient.<br />

Abbildung 2.1 zeigt eine typische Versuchsanordnung mit bekannte Hintergr<strong>und</strong>geometrie<br />

(im einfachsten Fall zwei Ebenen, die eine Raumecke bilden). Die räumliche Lage der


8 Kapitel 2. Gewinnung <strong>und</strong> Repräsentation von Basisdaten<br />

Laser<br />

Laserebene<br />

Raumecke<br />

zu messendes Objekt<br />

Bildebene<br />

Kamera<br />

Abbildung 2.1 Oberflächenscanner mit manuell geführtem Laser.<br />

Kamera bzgl. der Hintergr<strong>und</strong>geometrie, sowie die intrinsischen Kameraparameter müssen<br />

natürlich im Vorfeld kalibriert werden. Danach können die vom Laser beleuchteten<br />

’Hintergr<strong>und</strong>punkte’ per Schnitt von zugehörigen Sehstrahlen <strong>und</strong> Hintergr<strong>und</strong>geometrie<br />

berechnet werden. Da diese Hintergr<strong>und</strong>punkte in der Laserebene liegen, spannen sie<br />

(sofern sie linear unabhängig sind) die Laserebene im Raum auf. Diese Vorgehensweise<br />

erfordert eine schnelle, genaue <strong>und</strong> robuste Online-Registrierung von red<strong>und</strong>anten Hintergr<strong>und</strong>punkten<br />

<strong>und</strong> der Laserebene. Hier<strong>für</strong> wurde ein effizientes RANSAC-Verfahren<br />

implementiert. Der RANSAC-Algorithmus wird in Kapitel 4.3 aufgegriffen <strong>und</strong> genauer<br />

erläutert, da er auch als Basis <strong>für</strong> das effiziente Matching von Oberflächen verwendet<br />

werden kann. Abbildung 2.2 zeigt exemplarisch zwei experimentelle Ergebnisse des<br />

Ansatzes. Hier ist die erreichte Detailgenauigkeit gut zu erkennen. Die Oberflächengenauigkeit<br />

ist abhängig von der Kalibriergenauigkeit des Laser <strong>und</strong> der Kamera, von<br />

der Genauigkeit der Bildverarbeitung sowie vom Triangulationswinkel zwischen Laser<br />

<strong>und</strong> Kamera. Untersuchungen der Messgenauigkeit mit einem bekannten Testobjekt, einem<br />

Triangulationswinkel von ca. 30-35 ◦ <strong>und</strong> einem Kameraabstand von 600 mm zum<br />

Messobjekt ergaben eine Standardabweichung von nur 0,37 mm.


2.1. Tiefendaten 9<br />

(a) (b)<br />

(c) (d)<br />

Abbildung 2.2 (a) Kamerabild eines texturierten Testobjektes; (b) rekonstruierte Oberfläche<br />

künstlich beleuchtet; (c) Kamerabild einer Beethovenbüste; (d) rekonstruierte Oberfläche<br />

künstlich beleuchtet.


10 Kapitel 2. Gewinnung <strong>und</strong> Repräsentation von Basisdaten<br />

2.1.2 Der Codierte Lichtansatz<br />

Eine weitere, gut geeignete <strong>und</strong> mittlerweile in etlichen kommerziellen Systemen eingesetzte,<br />

Messtechnik aus der Klasse der aktiven Triangulationsverfahren ist der so<br />

genannte ” Codierte Lichtansatz“ (CLA). <strong>Das</strong> zugr<strong>und</strong>eliegende Messprinzip wurde im<br />

Kern erstmals von Altschuler et al. [2], [3], vorgeschlagen <strong>und</strong> wurde kurze Zeit später<br />

von Wahl [88], [89] <strong>und</strong> unabhängig davon von Inokuchi et al. [43], [73] zu seiner<br />

heute gebräuchlichen <strong>und</strong> praxistauglichen Form weiterentwickelt. Die Idee ist es, statt<br />

eine einzelne Laser- oder Lichtebene über die Szene zu schwenken, ein flächendeckendes<br />

Streifenmuster zu projizieren. Wie Abbildung 2.3 zeigt, kommen dabei typischerweise<br />

ein LCD-Projektor <strong>und</strong> eine seitlich versetzte Graubildkamera zum Einsatz. Jeder projizierte<br />

Hell-Dunkel-Übergang eines Streifenmusters kann als Ebene im Raum angesehen<br />

werden. Der Schnitt einer solchen Beleuchtungsebene mit dem zugehörigen Sehstrahl<br />

der Kamera liefert (wie beim Lichtschnittverfahren) die entsprechenden Koordinaten<br />

eines Oberflächenpunktes. Damit das Korrespondenzproblem (also die Zuordnung von<br />

Beleuchtungsebenen <strong>und</strong> Sehstrahlen) leicht gelöst werden kann, werden die Streifen<br />

zeitlich codiert. Durch n binäre Musterprojektionen können bereits 2 n unterschiedliche<br />

Beleuchtungsrichtungen codiert werden. Beim Codierten Lichtansatz kommt hier<strong>für</strong> ein,<br />

gegenüber Bit-Fehlern robuster, Gray-Code [28] zum Einsatz (siehe Abbildung 2.4).<br />

ÈÖÓ���ØÓÖ<br />

ÅÙ×Ø�Ö×�ÕÙ�ÒÞ<br />

ÞÙÑ�××�Ò��×Ç����Ø ��Ð�×�ÕÙ�ÒÞ<br />

���<br />

t<br />

Abbildung 2.3 Setup <strong>für</strong> den Codierten Lichtansatz.


2.2. Oberflächennormalen 11<br />

Abbildung 2.4 Kamerabildsequenz mit Gray-codiertem Streifenmuster beim Codierten Lichtansatz.<br />

2.2 Oberflächennormalen<br />

Im Gegensatz zu den Verfahren zur Gewinnung von Tiefendaten wird bei den Verfahren<br />

zur Gewinnung von Oberflächennormalen keine Triangulation durchgeführt, sondern<br />

aufgr<strong>und</strong> bestimmter Merkmale eines Bildpunktes, wie zum Beispiel der Textur (’Shape<br />

from texture’, siehe z.B. Witkin [102]) oder der Grauschattierung (’Shape from shading/photometrisches<br />

Stereo’, siehe z.B. Horn [40], Coleman & Jain [16] <strong>und</strong> Woodham<br />

[103]), die Orientierungen der Oberflächennormalen ermittelt. Diese Verfahren müssen<br />

also kein Korrespondenzproblem lösen. Die gewonnenen Oberflächennormalen können<br />

bereits als Gr<strong>und</strong>lage <strong>für</strong> viele Anwendungen dienen. Hierunter fallen beispielsweise:<br />

• die Gewinnung robuster <strong>3d</strong> Merkmale von Freiformflächen (Flächenorientierungen,<br />

Krümmungen, Kanten, lokale Maxima, etc.).<br />

• die Segmentierung von Oberflächen in geometrische Gr<strong>und</strong>formen (Ebene, Kugel,<br />

Zylinder, Kegel, etc.),<br />

• die Erkennung <strong>und</strong> Lageschätzung von Objekten im Raum,<br />

• die Berechnung eines beleuchtungsunabhängigen Modells, sowie die künstliche Beleuchtung<br />

aus einer beliebigen Richtung,<br />

• <strong>und</strong> die Berechnung von Tiefendaten mittels 2d Integration.


ÞÙÑ�××�Ò��×Ç����Ø ��Ð����Ò�<br />

���<br />

12 Kapitel 2. Gewinnung <strong>und</strong> Repräsentation von Basisdaten<br />

ËØÖ����ÒÑÙ×Ø�Ö<br />

ÈÖÓ���ØÓÖ<br />

Abbildung 2.5 Versuchsanordnung mit einem Streifenlichtprojektor <strong>und</strong> einer Graubildkamera.<br />

Bei den durch 2d Integration berechneten Tiefendaten handelt es sich allerdings nicht um<br />

absolute, sondern lediglich um relative Tiefendaten, da bei der Integration ein konstanter<br />

Anteil unbekannt bleibt (genaueres zur 2d Integration folgt in Abschnitt 2.2.3).<br />

Im Folgenden wird eine effiziente, auf aktiver Streifenlichtprojektion basierende Methode<br />

vorgestellt. <strong>Das</strong> Verfahren beruht im Gegensatz zum Strukturierten oder Codierten<br />

Lichtansatz nicht auf Tiefendatengewinnung durch Triangulation, sondern auf der Messung<br />

von Oberflächennormalen. Außerdem liefert es genauere <strong>und</strong> robustere Daten als<br />

der photometrische Stereo-Ansatz. Benötigt wird hierzu eine Graubildkamera <strong>und</strong> ein<br />

oder mehrere Lichtprojektoren, welche Streifenmuster auf das zu rekonstruierende Objekt<br />

projizieren. Abbildung 2.5 zeigt eine mögliche Versuchsanordnung. Gut zu erkennen<br />

ist, dass das projizierte regelmäßige Streifenmuster auf der Objektoberfläche deformiert<br />

<strong>und</strong> dann durch die seitlich versetzte Kamera erfasst wird. Die Deformation des Streifenmusters<br />

wird im Folgenden analysiert <strong>und</strong> hieraus die lokalen Oberflächenorientierungen<br />

berechnet.<br />

2.2.1 Oberflächenrekonstruktion durch Projektion zweier Streifenmuster<br />

Der erste hier vorgestellte Ansatz wurde von uns erstmals in Winkelbach [96] <strong>und</strong> Winkelbach<br />

& Wahl [99] vorgestellt <strong>und</strong> beruht darauf, dass je nach Orientierung der Oberfläche<br />

des Objektes ein anderer Winkel des projizierten Streifens im Graubild entsteht.


2.2. Oberflächennormalen 13<br />

Abbildung 2.6 Schritte zur Rekonstruktion der Oberfläche aus zwei Aufnahmen mit unterschiedlich<br />

rotierten Streifenprojektionen.


14 Kapitel 2. Gewinnung <strong>und</strong> Repräsentation von Basisdaten<br />

Jeder Streifenwinkel schränkt einen Freiheitsgrad der zugehörigen Oberflächennormale<br />

ein. Die Oberflächenrekonstruktion lässt sich wie in Abbildung 2.6 dargestellt in mehrere<br />

Arbeitsschritte unterteilen. Als erstes werden Graubilder mit zwei unterschiedlich<br />

rotierten Streifenmustern von der Szene aufgenommen. Unerwünschte Informationen<br />

wie inhomogene Objektschattierungen <strong>und</strong> Texturen werden durch eine geeignete Vorverarbeitung<br />

eliminiert. In den Streifenbildern können per Gradientenoperator die lokalen<br />

Winkel der Streifenkanten ermittelt werden. Nach der Streifenwinkelmessung erhält<br />

man zwei Winkelbilder, bei denen noch schlechte Messergebnisse extrahiert <strong>und</strong> fehlende<br />

Punkte interpoliert werden müssen. Mit Hilfe jeweils zweier Streifenwinkel in einem<br />

Bildpunkt kann nun im nachfolgenden Schritt die <strong>3d</strong>-Oberflächenorientierung bzw. Oberflächennormale<br />

an jedem Punkt berechnet werden. Die Oberflächennormalen können im<br />

letzten Schritt zur Rekonstruktion der Oberfläche benutzt werden.<br />

Vorverarbeitung<br />

Hat die zu vermessende Oberfläche eine ausreichend homogene Reflektionscharakteristik,<br />

können die Streifen ohne Umwege im Kamerabild analysiert werden. Oberflächentexturen<br />

<strong>und</strong> andere Reflektionsvariationen können allerdings die Analyse des Streifensignals<br />

beeinträchtigen. In diesem Fall sollte im ersten Schritt eine Vorverarbeitung erfolgen,<br />

die das Streifenmuster von den Oberflächenreflexionseigenschaften des Objektes trennt.<br />

Abbildung 2.7 zeigt eine mögliche Vorgehensweise: Zusätzlich zu der Aufnahme mit<br />

Streifenmuster (a) wird eine Aufnahme mit ausgeschaltetem Projektor (b) <strong>und</strong> eine<br />

weitere mit eingeschaltetem Projektor ohne Streifenmaske (c) angefertigt. Durch die<br />

absolute Differenz d = |a − b| werden die dunklen Streifen auf den Grauwert Null gesenkt<br />

<strong>und</strong> die Einflüsse dritter Beleuchtungsquellen beseitigt. In diesem Differenzbild<br />

(d) bleiben allerdings die durch das Projektorlicht verursachten Schattierungen <strong>und</strong> variierende<br />

Reflexionsstärken bei den hellen Streifen bestehen. Aus diesem Gr<strong>und</strong> wird<br />

das Streifensignal auf eine konstante Höhe normiert, indem durch die absolute Differenz<br />

(e) zwischen beleuchtetem <strong>und</strong> unbeleuchtetem Bild geteilt wird f = d/e. Durch die<br />

Normierung wird natürlich auch das Bildrauschen auf den gleichen Kontrast wie das<br />

Streifenmuster gehoben. Verrauschte Werte ergeben sich an denjenigen Stellen, an denen<br />

das Objekt nur schwach vom Projektor beleuchtet wurde <strong>und</strong> können deshalb mit<br />

der Maske f = e > Schwelle ausmaskiert werden.


2.2. Oberflächennormalen 15<br />

Abbildung 2.7 Zur Vorverarbeitung: (a) Messobjekt mit Streifenmuster; (b) Messobjekt bei<br />

ausgeschaltetem Projektor; (c) Messobjekt bei eingeschalteten Projektor ohne Streifen; (d) absolute<br />

Differenz von a <strong>und</strong> b; (e) absolute Differenz von b <strong>und</strong> c; (f) Normalisiertes Streifenbild;<br />

(g) Maske.<br />

Bestimmung des lokalen Streifenwinkels<br />

Nachdem das Streifenbild aufbereitet wurde, kann die lokale Messung der Streifenwinkel<br />

mittels bekannter Gradientenoperatoren, wie Sobel, Canny, etc. erfolgen. Abbildung 2.8<br />

zeigt die Anwendung des Sobel-Operators auf das vorverarbeitete Streifenbild (a) einer<br />

Kugeloberfläche. Im resultierenden Winkelbild (b) (die Winkel wurden hier als unterschiedliche<br />

Grauwerte dargestellt) entstehen zwischen den Streifenkanten verrauschte<br />

Bereiche, die darauf zurückzuführen sind, dass an diesen Stellen das Fenster des Sobel-<br />

Operators homogene Bereiche überdeckt. Diese verrauschten Gradientenwinkel weisen<br />

allerdings einen geringen Gradientenbetrag auf <strong>und</strong> können deshalb ausmaskiert (c) <strong>und</strong><br />

dann über die gültigen Winkel in der Nachbarschaft interpoliert werden (d).


16 Kapitel 2. Gewinnung <strong>und</strong> Repräsentation von Basisdaten<br />

(a) (b)<br />

(c) (d)<br />

Abbildung 2.8 Zur Berechnung der Streifenwinkel: (a) Streifenbild; (b) Gradientenwinkel<br />

(Winkelbild) des Sobel-Operators; (c) über die Gradientenlänge ausmaskiertes Winkelbild;<br />

(d) linear interpoliertes Winkelbild.<br />

Oberflächennormalen aus Streifenwinkeln<br />

Um aus den Streifenwinkeln die Oberflächennormalen zu berechnen, gibt es zwei Möglichkeiten:<br />

Zum einen die mathematisch korrekte Berechnung bei einem voll kalibrierten<br />

System (Kamera <strong>und</strong> Projektoren) <strong>und</strong> zum anderen die Verwendung einer experimentell<br />

erstellten LookUp-Tabelle, welche jeweils zwei Streifenwinkel auf eine Oberflächennormale<br />

abbildet. <strong>Das</strong> Erstellen der LookUp-Tabelle funktioniert analog zum Ansatz<br />

beim photometrischen Stereo [16]: Durch die bisher beschriebenen Schritte werden die<br />

Streifenwinkel der beiden gedrehten Streifenprojektionen auf einer Kugeloberfläche (Kalibrierobjekt)<br />

gemessen. Da die Position der Kugel im Bild berechenbar ist <strong>und</strong> deren<br />

Oberflächennormalen bekannt sind, sind alle Informationen vorhanden, um die LookUp-<br />

Tabelle zu füllen <strong>und</strong> anschließend fehlende Werte zu interpolieren. Die LookUp-Tabelle


2.2. Oberflächennormalen 17<br />

Lichtebene<br />

Beleuchtungsrichtung<br />

der<br />

Streifen<br />

�p<br />

�v1<br />

Objekt<br />

�c<br />

�v ′<br />

Sehebene<br />

ω<br />

�s<br />

Kamera<br />

Bildebene<br />

Abbildung 2.9 Zur Berechnung der Oberflächennormalen: Schematische Darstellung der Projektion<br />

einer Streifenkante auf ein Objekt <strong>und</strong> deren Abbild in der Bildebene.<br />

dient dann dazu, bei einer Messung mit unbekanntem Objekt die gemessenen Streifenwinkel<br />

auf die Oberflächennormalen abzubilden. Da bei diesem Ansatz die Streifenwinkel<br />

unabhängig von Bildkoordinaten <strong>und</strong> Projektorkoordinaten auf die Oberflächennormalen<br />

abgebildet werden, können die Auswirkungen der perspektivischen Projektion nicht<br />

berücksichtigt werden. <strong>Das</strong> heißt, es wird implizit von einem parallel projizierenden<br />

Projektor <strong>und</strong> einer parallel abbildenden Kamera ausgegangen.<br />

Genauere Daten liefert eine modellbasierte mathematische Berechnung. Abbildung 2.9<br />

visualisiert den geometrischen Zusammenhang zwischen Oberflächenorientierung im <strong>3d</strong><br />

<strong>und</strong> der Streifenrichtung im Kamerabild. Zu jedem Bildpunkt kann über das kalibrierte<br />

Kameramodell ein Sehstrahlrichtungsvektor �s berechnet werden. Der lokale Streifenwinkel<br />

ω an diesen Bildkoordinaten definiert den Streifenrichtungsvektor �v ′ in der Bildebene<br />

<strong>und</strong> spannt zusammen mit �s eine ” Sehebene“ auf. Die Normale �c = �s × �v ′ steht<br />

senkrecht auf dieser Sehebene. Die reale Streifenrichtung �v1 des projizierten Streifenmusters<br />

auf der Oberfläche des Objektes liegt sowohl in der Sehebene als auch in der<br />

Beleuchtungsebene <strong>und</strong> steht somit senkrecht auf der Normalen der Sehebene �c <strong>und</strong> der<br />

durch die Kalibrierung bekannten Normale der Beleuchtungsebene �p. Dies ermöglicht<br />

die einfache Berechnung der <strong>3d</strong> Streifenrichtung per Kreuzprodukt �v1 = �c �p. Dieser <strong>3d</strong><br />

Streifenrichtungsvektor �v1 entspricht einer Tangentenrichtung auf der Oberfläche <strong>und</strong><br />

schränkt somit einen Freiheitsgrad der zugehörigen Oberflächennormale �n ein. Durch<br />

eine zweite Messung unter anderer Streifenorientierung erhalten wir eine zweite Tangentenrichtung<br />

�v2 pro Messpunkt <strong>und</strong> können dann die Oberflächennormale wiederum<br />

mittels Kreuzprodukt �n = �v1 �v2 berechnen. Im folgenden Abschnitt werden wir sehen,<br />

dass die zweite Tangentenrichtung auch über die Breite der Streifen berechnet werden<br />

kann, so dass man bereits mit einer einzelnen Streifenbildaufnahme auskommt. Mit der<br />

mathematischen Berechnung können alle Kameradaten inklusive der Brennweite <strong>und</strong>


18 Kapitel 2. Gewinnung <strong>und</strong> Repräsentation von Basisdaten<br />

Zylinderlinse<br />

Laserarray<br />

�r<br />

Beleuchtungsebenen<br />

Abbildung 2.10 Parallele Beleuchtungsebenen mittels Laserarray.<br />

Linsenverzeichnungen berücksichtigt werden. Allerdings geht auch diese Berechnung von<br />

einem parallel projizierenden Projektor aus. Der Gr<strong>und</strong> da<strong>für</strong> ist die fehlende Information<br />

über die Nummer des Streifens im Kamerabild. Die Streifen im Kamerabild können<br />

also nicht bestimmten Streifen im Projektionsmuster zugeordnet werden, weshalb <strong>für</strong><br />

alle Streifen die gleiche Projektionsrichtung angenommen werden muss. Diese Annahme<br />

trifft allerdings nur bei einem parallel projizierenden Projektor (wie in Abbildung 2.10<br />

vorgeschlagen) zu. Im Anhang A auf Seite 139 werden die durch herkömmliche perspektivische<br />

Projektoren entstehenden Ungenauigkeiten ausführlicher untersucht.<br />

2.2.2 Oberflächenrekonstruktion durch Projektion eines Streifenmusters<br />

In den letzten Abschnitten wurde besprochen, wie man die Oberflächennormalen mittels<br />

Projektion zweier Streifenmuster gewinnen kann. Im Folgenden werden wir zeigen, dass<br />

dieses auch mittels einer einzelnen Projektion eines statischen Streifenmusters möglich<br />

ist. Ein großer Vorteil dieser Technik ist es, dass zum einen nur ein kleiner kostengünstiger<br />

Festmusterprojektor benötigt wird <strong>und</strong> zum anderen die Akquisition von dynamischen<br />

Objekten möglich wird. Der Ansatz basiert auf der Tatsache, dass nicht nur<br />

der Streifenwinkel sondern auch die Streifenbreite von der Orientierung der Oberfläche<br />

abhängig ist. Die Berechnung der Oberflächennormalen basiert in diesem Fall auf einer<br />

zusätzlichen Analyse der lokalen Streifenbreiten des deformierten 2d Streifenbildes.<br />

Diese Idee wurde bereits von Asada et al. [4] vorgeschlagen, jedoch wurde dort nur äußerst<br />

knapp auf die erforderlichen Bildverarbeitungs- <strong>und</strong> Berechnungsschritte eingegangen,<br />

während der Schwerpunkt auf der Segmentierung von planaren Objektflächen lag.<br />

Abbildung 2.11 zeigt die nötigen Arbeitsschritte, welche zum Großteil mit denen aus<br />

Abbildung 2.6 übereinstimmen, nur dass dieses Mal von einem einzelnen Streifenbild<br />

ausgegangen wird <strong>und</strong> zusätzlich zu den Streifenwinkeln die Streifenbreiten gemessen<br />

werden.<br />

�r<br />

�r<br />

�p<br />

�r


2.2. Oberflächennormalen 19<br />

Abbildung 2.11 Schritte zur Rekonstruktion der Oberfläche aus einem einzelnen Streifenbild.


20 Kapitel 2. Gewinnung <strong>und</strong> Repräsentation von Basisdaten<br />

Bestimmung der lokalen Streifenbreite<br />

Die Bestimmung der Streifenbreite sollte auf jeden Fall auf Subpixelebene geschehen, um<br />

eine ausreichende Genauigkeit zu erzielen. Im Fall eines vertikalen Streifenverlaufs können<br />

die Zeilen des Kamerabildes unabhängig voneinander betrachtet werden, so dass nur<br />

eindimensionale Signalverarbeitungsoperationen notwendig sind. Die pixelgenaue Lage<br />

der Streifenkanten kann über die lokalen Maxima der Gradienten (die bereits zur Bestimmung<br />

der Streifenwinkel berechnet wurden) erfolgen. Zur subpixelgenauen Bestimmung<br />

der Streifenkanten hat sich in eigenen Untersuchungen der Ansatz zur Berechnung der<br />

” fotometrischen Mitte“ von Roth [70] als etwas besser als das herkömmliche ” Linear<br />

Mixing Model“ von Merickel et al. [61] herausgestellt. Hierbei wird der Grauwertverlauf<br />

r<strong>und</strong> um jede Kante (siehe Abbildung 2.12 links) analysiert. Die rechte Seite von Abbildung<br />

2.12 zeigt das Modell einer solchen Kantenregion. Die fotometrische Mitte ai<br />

einer Kante i kann mit Hilfe der Kantenhöhe hi, der Kantenbreite ci, sowie der Fläche Ai<br />

unter der abgetasteten Kante über das Verhältnis von Breite <strong>und</strong> Fläche berechnet werden:<br />

ai<br />

ci<br />

= Ai<br />

ci · hi<br />

⇐⇒ ai = Ai<br />

hi<br />

(2.1)<br />

Nach Berechnung der exakten Kantenlagen kann die Breite aller Streifen über den Abstand<br />

der angrenzenden Kanten bestimmt werden. Abbildung 2.13 zeigt exemplarisch<br />

das Ergebnis dieser Berechnung. Es muss jedoch beachtet werden, dass bei ungünstiger<br />

Kameraeinstellung die hellen Streifen breiter als die dunklen Streifen erscheinen können.<br />

Dieser Effekt ist bei einer übersteuerten Kamera als so genanntes ’blooming’ zu<br />

beobachten. In diesen Fällen erhält man ein einwandfreies Ergebnis durch die Mittelung<br />

jeweils zweier benachbarter Streifenbreiten. Dies hat allerdings eine leichte aber<br />

vertretbare Glättung zur Folge.<br />

ci<br />

Ai<br />

ci+1 ci+2<br />

ai ci- ai<br />

ci<br />

Abbildung 2.12 (Links) Unterteilung eines Zeilenschnittes in kleine Bereiche mit jeweils einer<br />

Kante; (Rechts) Modell einer Streifenkante zur subpixelgenauen Berechnung der Kantenlage.<br />

hi


2.2. Oberflächennormalen 21<br />

Abbildung 2.13 (Oben) Normalisiertes Streifenbild <strong>und</strong> ein Zeilenschnitt; (Mitte) Berechnete<br />

Streifenbreite <strong>und</strong> Zeilenschnitt; (Unten) Linear interpolierte Streifenbreite als Graubild <strong>und</strong><br />

zugehöriger Zeilenschnitt.<br />

Oberflächennormalen aus Streifenbreite <strong>und</strong> Streifenwinkel<br />

In Abschnitt 2.2.1 haben wir bereits gesehen, wie man mit Hilfe zweier Streifenprojektionen<br />

<strong>und</strong> dessen lokalen Streifenwinkeln die Oberflächennormalen berechnen kann. Wir<br />

erinnern uns, dass man pro Streifenwinkel eine Oberflächentangentenrichtung �vi erhält<br />

<strong>und</strong> dann die Oberflächennormale �n über das Kreuzprodukt �n = �v1×�v2 berechnen kann.<br />

Die zweite Tangentenrichtung �v2 kann allerdings auch über die Streifenbreite berechnet<br />

werden, wodurch die zweite Streifenprojektion eingespart werden kann. Wie bisher müssen<br />

wir von einer parallelen Streifenprojektion ausgehen <strong>und</strong> in diesem Fall zusätzlich<br />

eine parallele Kameraabbildung voraussetzen. In der Praxis eignen sich deshalb Systeme<br />

mit langer Brennweite. Zur Berechnung von �v2 auf Basis der Streifenbreite reicht<br />

es aus, das einfache 2d Modell in Abbildung 2.14 zu betrachten. Die Abbildung zeigt<br />

den Zusammenhang zwischen Streifenbreite im Bild <strong>und</strong> Oberflächenorientierung. Die<br />

Streifenbreite d der Streifenmusterbeleuchtung <strong>und</strong> der konstante Winkel γ zwischen


22 Kapitel 2. Gewinnung <strong>und</strong> Repräsentation von Basisdaten<br />

Oberfläche<br />

h<br />

b<br />

d<br />

g γ<br />

d<br />

Projektor<br />

b<br />

Kamera<br />

Abbildung 2.14 Modell zur Berechnung der Oberflächenneigung aus der Streifenbreite.<br />

Beleuchtungsrichtung <strong>und</strong> Kamerablickrichtung muss in einer vorausgehenden Kalibrierung<br />

bestimmt werden. Unter Verwendung der gemessenen Streifenbreite b im Kamerabild<br />

können wir den Oberflächengradienten p mit Hilfe einfacher trigonometrischer<br />

Zusammenhänge berechnen:<br />

Hieraus folgt<br />

was den Oberflächengradienten<br />

h + g = d<br />

sin γ<br />

h = d<br />

sin γ<br />

p = h<br />

b<br />

− b<br />

tanγ<br />

<strong>und</strong> g = b<br />

. (2.2)<br />

tanγ<br />

d − b · cosγ<br />

= , (2.3)<br />

sinγ<br />

= d/b − cosγ<br />

sin γ<br />

(2.4)<br />

ergibt. Die zweite Oberflächentangentenrichtung ist dann durch �v2 = � 1 0 -p � T gegeben.<br />

2.2.3 Tiefenbilder aus Gradientenkarten<br />

Die Oberflächennormalen können bereits als Gr<strong>und</strong>lage <strong>für</strong> viele Anwendungen dienen,<br />

wie zum Beispiel zur Berechnung von Oberflächenmerkmalen, zur Oberflächensegmentierung<br />

<strong>und</strong> zur Objekterkennung <strong>und</strong> Lageschätzung. Sind jedoch Tiefendaten erwünscht,<br />

müssen diese aus den Oberflächennormalen rekonstruiert werden. Dieser Schritt ist


2.2. Oberflächennormalen 23<br />

nicht nur bei den gerade genannten, auf Streifenmustern basierenden, Akquisitionstechniken<br />

notwendig, sondern kommt bei allen ” Shape from X“-Verfahren (insbesondere<br />

dem ’Shape from Shading’ <strong>und</strong> ’Photometrischen Stereo’) zum Einsatz, die ein dichtes<br />

Gradientenfeld liefern. Bei den Oberflächennormalen bzw. Oberflächengradienten<br />

(P(x,y),Q(x,y)) handelt es sich mathematisch gesehen um die partiellen Ableitungen<br />

des Tiefenbildes Z(x,y), also<br />

P(x,y) = ∂Z(x,y)<br />

∂x<br />

; Q(x,y) = ∂Z(x,y)<br />

. (2.5)<br />

∂y<br />

<strong>Das</strong> heißt das Tiefenbild kann umgekehrt durch eine 2d Integration aus den Gradienten<br />

rekonstruiert werden.<br />

Klette & Schlüns [50] unterteilen die bekannten Ansätze in zwei Klassen: Verfahren<br />

zur lokalen Integration entlang Pfaden <strong>und</strong> globale Integrationstechniken. Die lokalen<br />

Verfahren breiten sich inkrementell von vorgegebenen Startpunkten aus <strong>und</strong> berechnen<br />

meist eindimensionale Kurven- oder Linienintegrale. Sie sind zwar effizient, sind aber<br />

insbesondere bei verrauschten Daten relativ ungenau, da sich die Fehler fortpflanzen.<br />

Globale Verfahren hingegen fassen die Integration als globales Optimierungsproblem<br />

auf <strong>und</strong> minimieren beispielsweise den mittleren quadratischen Fehler F zwischen gemessenen<br />

Oberflächengradienten (P(x,y),Q(x,y)) <strong>und</strong> den partiellen Ableitungen des<br />

geschätzten Tiefenbildes � Z(x,y):<br />

F = �<br />

� �2 � �2 � ∂Z(x,y) � ∂Z(x,y) �<br />

− P(x,y) + − Q(x,y) −→ min. (2.6)<br />

∂x ∂y<br />

y<br />

x<br />

Klette & Schlüns zeigen, dass die globale Methode von Frankot & Chellappa [24] im Fall<br />

von realen verrauschten Daten robuster <strong>und</strong> genauer arbeitet als lokale Techniken. Die<br />

2d Integration nach Frankot & Chellappa arbeitet im Fourierraum. Die Fourierreihendarstellung<br />

eines Bildsignals entspricht einer Summe von Sinus-/Cosinusschwingungen.<br />

Demnach kann sowohl die Ableitung als auch die Integration über eine Phasenverschiebung<br />

der Sinus-/Cosinusschwingungen erreicht werden. Die Berechnungsschritte sind in<br />

Algorithmus 1 wiedergegeben (vgl. [24] <strong>und</strong> [50]).<br />

Algorithmus 1 2d Integration nach Frankot & Chellappa<br />

1: function Integrate(P, Q)<br />

2: R ← 0; S ← 0; ⊲ Initialize images for imaginary numbers<br />

3: FFT(P, R); FFT(Q, S) ⊲ Fast Fourier transform of P and Q<br />

4: for all u �= 0, v �= 0 do<br />

5: Z1(u, v) ← (u · R(u, v) + v · S(u, v))/(u 2 + v 2 ); ⊲ Phase shift<br />

6: Z2(u, v) ← (−u · P(u, v) − v · Q(u, v))/(u 2 + v 2 );<br />

7: Z1(0, 0) ← c; Z2(0, 0) ← 0 ⊲ c is the unknown offset<br />

8: FFT −1 (Z1, Z2); ⊲ Inverse fast Fourier transform<br />

9: return Z1;<br />

Die Integration bringt jedoch in vielen Fällen <strong>Problem</strong>e mit sich. Zum einen geht bei<br />

der Ableitung ein konstanter Offset verloren <strong>und</strong> kann nicht mehr per Integration rekon-


24 Kapitel 2. Gewinnung <strong>und</strong> Repräsentation von Basisdaten<br />

(a) (b)<br />

(c) (d)<br />

Abbildung 2.15 (a) Tiefenbild eines K-förmigen Polyeders; (b) <strong>3d</strong> Plot des Tiefenbildes; (c)<br />

Ergebnis der 2d Integration nach Frankot-Chellappa; (d) Ergebnis der iterativen Verbesserung.<br />

struiert werden (die absolute Distanz des Objektes bleibt also unklar) <strong>und</strong> zum anderen<br />

sind C0-unstetige Oberflächen im Allgemeinen nicht integrierbar. Genauer gesagt können<br />

plötzliche Sprünge in der Tiefe (wie z.B. bei mehreren nicht zusammenhängenden<br />

Objekten) nicht korrekt rekonstruiert werden, da die Sprünge nicht in den Oberflächennormalen<br />

wiederzufinden sind. Aber selbst bei stetigen Oberflächen gibt es immer dann<br />

große <strong>Problem</strong>e, wenn die gemessenen Oberflächennormalen nicht den gesamten Bildbereich<br />

ausfüllt. In diesem Fall gibt es immer C0-Unstetigkeiten an den Grenzübergängen<br />

zwischen gemessenen <strong>und</strong> unbekannten Oberflächennormalen (z.B. zwischen Objekt <strong>und</strong><br />

Hintergr<strong>und</strong>). Bei dem vorgestellten globalen Fourier-Ansatz ist es leider nicht möglich,<br />

sich nur auf die gemessenen Bereiche zu beschränken. Die Auswirkungen werden in Abbildung<br />

2.15 deutlich. Bild (a) zeigt das künstlich erzeugte Tiefenbild eine K-förmigen<br />

Polyeders. Die partiellen Ableitungen in x- <strong>und</strong> y-Richtungen dienen nun als Testbasis<br />

<strong>für</strong> die 2d-Integration. Bild (b) zeigt einen <strong>3d</strong>-Plott des Tiefenbildes <strong>und</strong> ist gewissermaßen<br />

der zu erreichende Goldstandard. Abbildung (c) zeigt nun das auffallend stark defor-


2.2. Oberflächennormalen 25<br />

mierte Ergebnis der Frankot-Chellappa-Integration. Die Deformationen sind vor allem<br />

auf die beträchtlichen Distanzsprünge zwischen Objekt <strong>und</strong> Hintergr<strong>und</strong> zurückzuführen,<br />

aber auch innerhalb des Objektbereiches gibt es C0- <strong>und</strong> C1-Unstetigkeiten die zu<br />

Ungenauigkeiten führen. Die drei Bilder (a-c) entsprechen weitestgehend der Testreihe,<br />

die auch in [50] zu finden ist. Bei dem genannten Verfahren müssen die nicht gemessenen<br />

Bereiche mit Werten <strong>für</strong> die Oberflächengradienten initialisiert werden. Häufig setzt man<br />

die P- <strong>und</strong> Q- Werte <strong>für</strong> den Hintergr<strong>und</strong> einfach auf konstant Null, was einer zur Bildebene<br />

parallelen Ebene entspricht. Hieraus ergeben sich die genannten Tiefensprünge<br />

zwischen Objekt <strong>und</strong> Hintergr<strong>und</strong>. Die globale Integration glättet diese Unstetigkeiten<br />

im Sinne des kleinsten Fehlerquadrats, was einer weichen Verschmelzung zwischen<br />

Objekt <strong>und</strong> Ebene gleichkommt. Abbildung 2.15 (d) zeigt hingegen das vergleichsweise<br />

deutlich bessere Ergebnis nach einer eigenen Erweiterung. Bei dieser Erweiterung<br />

handelt es sich um eine iterative Verbesserung des Tiefenbildes in den Regionen, in<br />

denen tatsächlich Oberflächennormalen gemessen wurden. <strong>Das</strong> Verfahren ist auch bei<br />

Szenen mit mehreren sich überdeckenden Objekten mit dazwischen befindlichen C0-<br />

Unstetigkeiten erfolgreich, wenn die einzelnen Objekte segmentiert werden können. Der<br />

zu minimierende mittlere quadratische Fehler aus Gleichung (2.6) sollte also wie folgt<br />

FM = �<br />

⎡�<br />

� ∂Z(x,y) �<br />

M(x,y) ⎣ − P(x,y)<br />

∂x<br />

y<br />

x<br />

� 2<br />

� � ⎤<br />

2<br />

∂Z(x,y) �<br />

+ − Q(x,y) ⎦ (2.7)<br />

∂y<br />

auf die Bildbereiche jeweils eines (stetigen) Objektes beschränkt werden, wobei M(x,y)<br />

eine Maske mit den Werten 1 <strong>für</strong> Objektpunkte <strong>und</strong> 0 sonst beschreibt. Da diese Maskierung<br />

nicht ohne weiteres im Fourierraum durchzuführen ist, arbeitet Algorithmus 2<br />

über einen iterativen Optimierungsansatz. Die Vorgehensweise des Algorithmus ist auch<br />

in Abbildung 2.16 veranschaulicht. In einer Schleife werden zuerst die gemessenen Oberflächengradienten<br />

Psensor <strong>und</strong> Qsensor mit dem Fourier-Ansatz (Algorithmus 1) integriert<br />

<strong>und</strong> dann wieder partiell abgeleitet <strong>und</strong> als P1,Q1 abgelegt. Entlang der Tiefensprünge<br />

kommt es zu beiderseitig ausgebreiteten Abweichungen zwischen (Psensor,Qsensor) <strong>und</strong><br />

(P1,Q1), wodurch die unbekannten Tiefensprünge global ausgeglichen werden. Da die<br />

Abweichungen in den gemessenen Objektbereichen unzulässig, aber sonst (z.B. im Hintergr<strong>und</strong>bereich)<br />

erlaubt sind, werden im nächsten Schritt die ungenauen Gradienten<br />

(P1,Q1) im Objektbereich wieder durch die gemessenen Gradienten (Psensor,Qsensor) ersetzt.<br />

Diese Schritte werden nun iterativ wiederholt. Hierdurch ergibt sich eine stetige<br />

Verschiebung der Ungenauigkeiten vom Objektbereich in den Hintergr<strong>und</strong>bereich, bis<br />

die gemessene Oberfläche im Sinne von Gleichung (2.7) optimal ist.


26 Kapitel 2. Gewinnung <strong>und</strong> Repräsentation von Basisdaten<br />

Algorithmus 2 Iterative Verbesserung<br />

1: function ImproveIntegrate(P, Q, M, steps)<br />

2: P0 ← P; Q0 ← Q; ⊲ Initialization<br />

3: for i = 1...steps do<br />

4: Zi ← Integrate(Pi−1, Qi−1); ⊲ Integration<br />

5: Pi(x, y) ← DerivateX(Zi); ⊲ Derivation in x-direction<br />

6: Qi(x, y) ← DerivateY(Zi); ⊲ Derivation in y-direction<br />

7: for all x,y do<br />

8: Pi(x, y) ← P(x, y) · M(x, y) + Pi(x, y) · (1 − M(x, y));<br />

9: Qi(x, y) ← Q(x, y) · M(x, y) + Qi(x, y) · (1 − M(x, y));<br />

10: return Integrate(Pi, Qi);<br />

Abbildung 2.17 zeigt die Zwischenergebnisse der iterativen Verbesserung im Fall einer<br />

realen Messung. Bei dem Datensatz handelt es sich um eine schräg zum Sensor<br />

liegende Flasche. <strong>Das</strong> erste Bild links oben zeigt das Ergebnis der standard Frankot-<br />

Chellappa-Integration <strong>und</strong> die darauf folgenden Bilder die stetige Verbesserung nach<br />

jedem Iterationsschritt. In den folgenden Experimenten wurde dieser Algorithmus äußerst<br />

erfolgreich eingesetzt, um die Unstetigkeiten zwischen Objekt <strong>und</strong> Hintergr<strong>und</strong><br />

korrekt zu rekonstruieren. Eine genaue mathematische Verifizierung des Ansatzes bleibt<br />

jedoch zukünftigen Arbeiten vorbehalten. Um auch die Unstetigkeiten innerhalb des<br />

Objektes robust zu rekonstruieren, bedarf es weiterer Randbedingungen, wie z.B. im<br />

Bild vorgegebene Unstetigkeitskurven (siehe Karaçali & Snyder [49]).


2.2. Oberflächennormalen 27<br />

Abbildung 2.16 Iterativer Algorithmus zur 2d Integration.


28 Kapitel 2. Gewinnung <strong>und</strong> Repräsentation von Basisdaten<br />

Abbildung 2.17 Die ersten acht Iterationsschritte der Integration am Beispiel einer schräg<br />

zum Sensor liegenden Flasche.


2.2. Oberflächennormalen 29<br />

2.2.4 Experimentelle Ergebnisse<br />

Zur experimentellen Evaluierung des ’shape from stripe pattern’-Ansatzes diente eine<br />

handelsübliche CCD-Kamera <strong>und</strong> ein konventioneller Video-Beamer. Für die Projektion<br />

eines einzelnen Streifenmusters kann auch ein einfacher Diaprojektor oder ein preisgünstiger<br />

statischer Musterprojektor verwendet werden. Die beschriebenen Methoden sind<br />

vollkommen unbeeinflusst gegenüber Musterverschiebungen <strong>und</strong> nur leicht beeinflusst<br />

durch eine defokussierte Musterbeleuchtung oder eine unscharfe Kameraabbildung. Diese<br />

Ansätze wurden mit einer Reihe von unterschiedlichen Testobjekten erprobt. Abbildung<br />

2.18 zeigt einige der Rekonstruktionsergebnisse der ’one-shot’-Technik. Was<br />

die Genauigkeit betrifft sollte man berücksichtigen, dass die hier vorgestellten Experimente<br />

nur zwei Parameter (die Beleuchtungsrichtung γ <strong>und</strong> die Streifenmusterbreite<br />

d) aus einer vereinfachten Projektorkalibrierung verwenden. Aus diesem Gr<strong>und</strong> entstehen<br />

Ungenauigkeiten natürlich auch durch die vernachlässigten intrinsischen Kamera<strong>und</strong><br />

Projektorparametern. Abbildung 2.18 (a) zeigt eine Kugeloberfläche, die mit einem<br />

Streifenmuster beleuchtet wurde. Dieses einzelne Bild reicht bereits <strong>für</strong> die Rekonstruktion<br />

der Oberflächennormalen aus. Abbildung (b) zeigt einige (0,1%) der rekonstruierten<br />

Oberflächennormalen (diese werden in jedem Bildpunkt mit Streifenkante berechnet<br />

<strong>und</strong> zwischen den Streifenkanten interpoliert). Durch Vergleich der berechneten (nicht<br />

interpolierten) Oberflächennormalen mit den mathematisch exakten Normalen der Kugeloberfläche,<br />

lässt sich eine mittlere Ungenauigkeit von 1,79 Grad mit einer Standardabweichung<br />

von 1,22 Grad feststellen. Abbildung (c) zeigt einen <strong>3d</strong> Plot des aus den<br />

Oberflächennormalen rekonstruierten Tiefenbildes. Die folgenden drei Abbildungen (d)-<br />

(f) zeigen die gleiche Sequenz mit einem würfelförmigen Testobjekt. Bei der oberen<br />

Würfelfläche ergibt der Vergleich zwischen berechneten <strong>und</strong> exakten Normalen eine Genauigkeit<br />

von 1,14 Grad <strong>und</strong> eine Standardabweichung von 0,58 Grad. Die ungenauesten<br />

Normalen mit einem mittleren Winkelfehler von 1,95 Grad <strong>und</strong> 2,12 Grad Standardabweichung<br />

sind bei der unteren linken Würfelfläche zu beobachten. Diese Fläche ist stark<br />

vom Projektor weggeneigt, wodurch der Abstand der Streifenkanten sehr schmal <strong>und</strong> die<br />

Berechnung der Streifenwinkel <strong>und</strong> Streifenbreiten ungenauer ist. Die letzten drei Bilder<br />

(g)-(i) zeigen die gleiche Sequenz mit einem Kunststoffkopf. Wie man sehen kann, ist mit<br />

diesem Ansatz eine adäquate Oberflächenrekonstruktion mit angemessener Genauigkeit<br />

(ausreichend <strong>für</strong> viele Anwendungen) <strong>und</strong> mit kostengünstigem Equipment möglich. Die<br />

Rekonstruktion der Oberflächennormalen kann mit LookUp-Tabellen in der Framerate<br />

der Kamera erfolgen. Die 2d-Integration zur Berechnung des Tiefenbildes dauert etwas<br />

länger (je nach Iterationstiefe zwischen 0,3 <strong>und</strong> 3 Sek<strong>und</strong>en auf einem 1 Ghz Pentium 4<br />

Prozessor).


30 Kapitel 2. Gewinnung <strong>und</strong> Repräsentation von Basisdaten<br />

(a) (b) (c)<br />

(d) (e) (f)<br />

(g) (h) (i)<br />

Abbildung 2.18 Ergebnisse: (a) Kugel mit projiziertem Streifenmuster; (b) resultierende Oberflächennormalen;<br />

(c) <strong>3d</strong> Plot der rekonstruierten Oberfläche; (d-f) entsprechende Bildfolge von<br />

einem Würfel; (h-i) entsprechende Bildfolge von einem Kunststoffkopf.


2.3. Volumendaten 31<br />

2.3 Volumendaten<br />

Neben den genannten Sensoren zur Vermessung von 21 2d-Oberflächenkoordinaten <strong>und</strong><br />

Oberflächennormalen werden insbesondere im medizinischen Umfeld Technologien zur<br />

Vermessung von volumetrischen <strong>3d</strong>-Raumdaten eingesetzt. Hierunter fallen die Computertomographie<br />

(CT), die Magnetresonanztomographie (MRT), die Positronenemissionstomographie<br />

(PET) sowie moderne sonographische Technologien. Durch die schnittbildgebenden<br />

Sensoren wie CT <strong>und</strong> MRT ist es möglich, dreidimensionale Körper raumfüllend<br />

in ihrer äußeren Form <strong>und</strong> ihrer inneren Zusammensetzung zu erfassen. Somit<br />

können Organe <strong>und</strong> Knochen segmentiert <strong>und</strong> analysiert werden.<br />

Eines der wichtigsten Anwendungsgebiete <strong>für</strong> Verfahren zum Lösen des <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>s<br />

ist sicherlich das Zusammensetzen von gebrochenen Knochen in der Chirurgie. Für<br />

die Akquisition der Knochenoberflächen im Körperinneren ist die Computertomographie<br />

besonders gut geeignet, da das dichte Knochengewebe einen hohen Kontrast zu den<br />

umliegenden Weichteilen bildet. Sämtliche Knochenfragmente aus dieser Arbeit wurden<br />

per CT aufgenommen <strong>und</strong> weiterverarbeitet. Aus diesem Gr<strong>und</strong> soll in den nächsten<br />

Abschnitten eine kurze Einführung in die eingesetzten Verfahren vermittelt werden.<br />

2.3.1 Computertomographie<br />

Der Begriff ” Tomographie“ entstand aus den griechischen Wörtern ” tomeo“ (Schnitt)<br />

<strong>und</strong> ” graphia“ (schreiben). Die Computertomographie basiert auf Röntgenaufnahmen,<br />

die aus unterschiedlichen Richtungen aufgenommen werden. Aus diesen zweidimensionalen<br />

Projektionen wird durch Bildverarbeitungsmethoden ein dreidimensionales Volumen<br />

rekonstruiert. Die Rekonstruktion basiert auf der Idee des böhmischen Mathematikers<br />

J. H. Radon, der 1917 bewies, dass die Werte einer zweidimensionaler Funktion aus<br />

ihren eindimensionalen integralen Projektionen rekonstruiert werden können [69]. Die<br />

Radontransformierte r(ϕ,a) einer zweidimensionalen Funktion f(x,y) ist als<br />

r(ϕ,a) =<br />

�<br />

+∞<br />

−∞<br />

f(a cosϕ − b sinϕ,asin ϕ + b cosϕ) db (2.8)<br />

definierbar. Dabei kann ϕ anschaulich als Richtung der Integrationsgerade (bzw. des<br />

Projektionsstrahls) <strong>und</strong> a als Abstand der Gerade zum Ursprung interpretiert werden.<br />

Bei einem konstanten ϕ von 0◦ ergibt sich beispielsweise eine einfache Integration in<br />

y-Richtung<br />

�+∞<br />

r(0,a) = f(a, b) db . (2.9)<br />

−∞<br />

Die eindimensionalen Projektionen aus allen Orientierungen ergeben dann zusammen<br />

die 2d-Radontransformierte. Die Projektion mittels Integral entspricht, abgesehen von<br />

der exponentiellen Abschwächung, genau der Röntgenprojektion, wie sie auch im CT


32 Kapitel 2. Gewinnung <strong>und</strong> Repräsentation von Basisdaten<br />

Abbildung 2.19 <strong>Das</strong> Prinzip der Computerthomographie <strong>und</strong> der Rekonstruktion des Schnittbildes<br />

aus den eindimensionalen Projektionen mittels Fouriertransformation.<br />

entsteht. Die exponentielle Abschwächung lässt sich durch einfache Logarithmierung<br />

der Röntgenprojektion kompensieren. <strong>Das</strong> Prinzip ist in Abbildung 2.19 anschaulich<br />

dargestellt. Um nun aus den Projektionen bzw. aus der Radontransformierten Funktion<br />

wieder die ursprüngliche Funktion zu gewinnen, muss man die inverse Radontransformation<br />

berechnen. Von großer Bedeutung ist hierbei das Zentralschnitt-Theorem,<br />

welches einen Zusammenhang zur Fouriertransformation herstellt. Es besagt, dass die<br />

Fouriertransformierte Funktion F(u,v) der Objektfunktion f(x,y) aus den eindimensionalen<br />

Projektionen rekonstruiert werden kann. Hierzu müssen die eindimensionalen<br />

Projektionen Fouriertransformiert, um ϕ gedreht <strong>und</strong> im Ursprung eines 2d-Rasters eingetragen<br />

werden. Eine inverse 2d-Fouriertransformation liefert dann die ursprüngliche<br />

Objektfunktion f(x,y). <strong>Das</strong> <strong>Problem</strong> bei dieser Vorgehensweise ist die Umrechnung der<br />

Polarkoordinaten auf das 2d-Raster. Hierbei fallen teilweise Daten auf denselben Rasterpunkt<br />

<strong>und</strong> müssen gemittelt werden, während andere Rasterpunkte unbesetzt bleiben<br />

bzw. interpoliert werden müssen. Deshalb bedient man sich meist der gefilterten Rückprojektionstechnik<br />

(FBP, filtered backprojection). Hierbei werden die 1d-Projektionen<br />

mit einem speziellen Faltungskern gefaltet <strong>und</strong> entlang der ursprünglichen Strahlenrichtung<br />

in den 2d-Raum zurückprojiziert <strong>und</strong> überlagert. Für weiterführende Informationen<br />

siehe Kalender [46].<br />

Ein interessanter Aspekt in diesem Zusammenhang ist, dass die Radontransformation<br />

auch andere Anwendungen in der digitalen Bildverarbeitung hat. So lassen sich mit ihrer<br />

Hilfe z.B. lineare (geradenhafte) Strukturen in Graubildern finden (siehe z.B. Beyerer<br />

& León [10]). Abbildung 2.20 zeigt die Radontransformation angewandt auf zwei<br />

Testbilder. Bei Binärbildern liefert die Radontransformation exakt das gleiche Resultat<br />

wie die wohlbekannte Houghtransformation <strong>für</strong> Geraden in Hessescher-Normalform


2.3. Volumendaten 33<br />

(a) (b)<br />

(c) (d)<br />

Abbildung 2.20 (a) CT-Schitt; (b) Radontransformierte des CT-Schnittes; (c) Binärbild mit<br />

Kanten; (d) Radontransformierte des Kantenbildes (nach logarithmischer Intensitätsskalierung).<br />

(siehe Duda & Hart [20]). Somit kann die Radontransformation als Erweiterung der<br />

Houghtransformation auf Graubilder angesehen werden. Eine denkbare Anwendung ist<br />

die Erkennung von Geraden bzw. Kanten in reelwertigen Gradientenbildern.<br />

2.3.2 Extraktion von Isoflächen<br />

Da es beim <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> nicht auf das Objektinnere sondern auf die Oberflächen<br />

ankommt, müssen diese aus den Volumendaten extrahiert werden (siehe Abbildung 2.21).<br />

Eine der populärsten Methoden zur Berechnung von Oberflächenmodellen aus Volumendaten<br />

ist der Marching-Cube-Algorithmus, der unabhängig voneinander 1986 von<br />

Wyvill et al. [104] sowie 1987 von Lorensen & Cline [58] vorgestellt wurde. <strong>Das</strong> Verfahren<br />

extrahiert Isoflächen in Form von Dreiecksnetzen. Eine Isofläche bezeichnet dabei eine<br />

zweidimensionale Fläche im dreidimensionalen Volumen mit konstantem Grauwert S<br />

(bzw. konstanter Hounsfieldeinheit bei CT-Daten), welche der Oberfläche des zu extrahierenden<br />

Körpers entspricht. Die Isofläche ist implizit durch die Gleichung f(�v) = S


34 Kapitel 2. Gewinnung <strong>und</strong> Repräsentation von Basisdaten<br />

Abbildung 2.21 Übergang von 2d-Schnittbilder über die <strong>3d</strong>-Volumenrepräsentation hin zum<br />

Oberflächenmodell.<br />

definiert, wobei die Funktion f(�v) den Grauwert an den Volumenkoordinaten �v zurückgibt.<br />

Der Marching-Cube-Algorithmus läuft mit einem 2×2×2-Fenster über das gesamte<br />

Volumen <strong>und</strong> überprüft ob die Grauwerte im Fenster über- oder unterhalb der Schwelle<br />

S liegen <strong>und</strong> klassifiziert die Voxel des Volumen in ” innerhalb“ <strong>und</strong> ” außerhalb“ des<br />

Objektes. Falls in einem lokalen Fenster sowohl Grauwerte überhalb, als auch unterhalb<br />

von S (also innerhalb <strong>und</strong> außerhalb des Objektes) liegen, so muss es zwangsläufige<br />

eine Trenn-/Isofläche dazwischen geben. Hierbei gibt es exakt 2 8 = 256 verschiedene<br />

Möglichkeiten wie die acht Voxel im Fenster klassifiziert sein können. Wenn man alle<br />

Möglichkeiten die durch Rotation oder Inversion aufeinander abbildbar sind zusammenfasst,<br />

so erhält man 15 Äquivalenzklassen. Abbildung 2.22 zeigt jeweils einen Repräsentanten<br />

dieser 15 Äquivalenzklassen. Alle 256 Fälle können im Programm auf effiziente<br />

Weise mittels einer LookUp-Tabelle ihrer entsprechenden Äquivalenzklasse zugewiesen<br />

werden. Die Abbildung zeigt außerdem die zugehörigen Dreiecke, die die Isofläche approximieren.<br />

Die Knoten der Dreiecke liegen dabei immer auf den Kanten des Quaders,<br />

welcher durch die acht Voxel im Fenster aufgespannt wird. Genauer gesagt liegt immer


2.3. Volumendaten 35<br />

Abbildung 2.22 Äquivalenzklassen <strong>und</strong> zugehörige Dreiecksflächen beim Marching Cube.<br />

f(�v1)<br />

f<br />

S<br />

f(�v2)<br />

�v1 �p �m �v2 Koordinatenachse<br />

Abbildung 2.23 Lineare Interpolation des Schnittpunktes �p zwischen zwei Grauwerten mit<br />

Koordinaten �v1, �v2 unter Anwendung der Schwelle S; im Vergleich zum Mittelpunkt �m der bei<br />

einer binären Anwendung der Schwelle entstehen würde.<br />

dann ein Dreiecksknoten auf einer Quaderkante, wenn die beiden zugehörigen Voxel mit<br />

Koordinaten �v1, �v2 an den Kantenenden unterschiedlich klassifiziert sind <strong>und</strong> demnach<br />

die Isofläche die Kante schneiden muss. Der subvoxel-genaue Schnittpunkt �p berechnet<br />

sich dann durch<br />

�p := (1 − ω)�v1 + ω�v2 mit ω := f(�v1) − S<br />

f(�v1) − f(�v2)<br />

. (2.10)<br />

Wie in Abbildung 2.23 dargestellt, wird hierbei ein lineare Grauwertverlauf zwischen<br />

zwei Voxeln angenommen.<br />

Normalerweise approximiert der Marching-Cube-Algorithmus die Oberfläche des Objektes<br />

in Form eines vollständig geschlossenen Dreiecksnetzes. Allerdings können in seltenen


36 Kapitel 2. Gewinnung <strong>und</strong> Repräsentation von Basisdaten<br />

Abbildung 2.24 Alternative Dreieckskonfigurationen zur Vermeidung von Löchern.<br />

ungünstigen Fällen Löcher im Netz entstehen. Aus diesem Gr<strong>und</strong>e wurden z.B. von Montani<br />

et al. [63] sowie Schroeder et al. [75] zusätzliche Dreieckskonfigurationen eingeführt<br />

(siehe Abbildung 2.24), mit denen das <strong>Problem</strong> gelöst werden kann. Eine alternative<br />

Möglichkeit die Löcher zu vermeiden, ist die Zerlegung des ’Cubes’ in mehrere Tetraeder<br />

(siehe z.B. Payne & Toga [67] <strong>und</strong> Hall & Warren [35]). Ein Vorteil dieser Methode<br />

ist eine genauere Approximation der Isofläche, was allerdings mit einer mehr als doppelt<br />

so hohen Dreiecksanzahl <strong>und</strong> einer längeren Berechnungszeit erkauft wird. Neben dem<br />

Standard Marching-Cube-Algorthimus gibt es eine Vielzahl von Varianten <strong>und</strong> Erweiterungen,<br />

die sich z.B. in der Form der verwendeten Oberflächenprimitive (Dreiecke,<br />

Vierecke, Patches) sowie der Interpolationsmethode (z.B. linear, quadratisch, trilinear)<br />

unterscheiden.<br />

2.4 Repräsentationsformen von Oberflächendaten<br />

In der einschlägigen Literatur werden eine Vielzahl von unterschiedlichen Repräsentationsformen<br />

<strong>und</strong> Datenstrukturen <strong>für</strong> Oberflächen vorgeschlagen. Typische Repräsentationsformen<br />

<strong>für</strong> Oberflächen sind Punktwolken, polygonale Netze, parametrische<br />

Oberflächen wie Spline-Patches <strong>und</strong> Isoflächen in volumetrischen Daten. Welche ist nun<br />

<strong>für</strong> das <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> vorzuziehen? Im Bereich Computergraphik werden häufig<br />

polygonale Netze zur Repräsentation von Oberflächen verwendet. Eine Hürde bei der<br />

Verarbeitung von polygonalen Netzen ist die Aufrechterhaltung von Topologie <strong>und</strong> Netzstruktur<br />

ohne Faltenbildung oder entartete Polygone. Dies ist oftmals schwierig <strong>und</strong> mit<br />

großem Implementierungsaufwand verb<strong>und</strong>en. In der Computergraphik sind Dreiecksnetze<br />

besonders beliebt, da aktuelle Grafikkarten Dreiecke hardwarebeschleunigt darstellen<br />

können. Im Bereich der Bildverarbeitung werden hingegen häufig Punktwolken<br />

als Repräsentationsform gewählt, da sie sehr einfach sind, wenig Speicher erfordern <strong>und</strong><br />

von vornherein Ausgabe vieler Oberflächensensoren sind. Im Gegensatz hierzu liegen die<br />

Daten in medizinischen Anwendungen oft in volumetrischer Form (z.B. CT <strong>und</strong> MRT)<br />

vor. Zu jeder Repräsentationsform existieren Algorithmen, die diese in eine jeweils andere<br />

Repräsentationsform überführen können.<br />

Für jede Repräsentationsform gibt es hierarchische Datenstrukturen die sich nicht nur<br />

zum schnellen Schnitt-, Kollisions-, bzw. Kontakttest, sondern auch zur schnellen Approximation<br />

von Oberflächen in verschiedenen Auflösungsstufen (’level-of-detail’) eignen.<br />

Typische hierarchische Datenstrukturen sind Octrees, Hüllkörperhierarchien, KD-Trees


2.4. Repräsentationsformen von Oberflächendaten 37<br />

(siehe Friedman et al. [25]), Binary Space Partitionings (BSPs) (siehe Fuchs et al. [26]),<br />

Progressive Meshes (siehe z.B. Hoppe [39]) oder Normal Meshes (siehe Guskov et al.<br />

[33]). Die verwendete Datenstruktur ist die Ausgangsbasis <strong>für</strong> alle weiteren Verarbeitungsschritte<br />

<strong>und</strong> beeinflusst deren erreichbare Effizienz <strong>und</strong> Genauigkeit maßgeblich.<br />

Die aus der Computergraphik bekannten polygonalen Methoden zur Auflösungsreduktion<br />

haben meist die Beschleunigung der Grafikausgabe zum Ziel <strong>und</strong> sind nicht <strong>für</strong><br />

Bildverarbeitungszwecke konzipiert. So werden bei der Grafikausgabe glatte Oberflächen<br />

durch möglichst wenige große Dreiecke approximiert, was wiederum zu einer ungleichmäßigen<br />

Verteilung der Eckpunkte führt <strong>und</strong> <strong>für</strong> Bildverarbeitungsansätze ungeeignet<br />

sein kann. Eine der wenigen Ausnahmen wird z.B. von Johnson & Hebert [45] vorgeschlagen,<br />

bei der eine äquidistante Verteilung der Punkte angestrebt wird. Bei der<br />

Auflösungsreduktion <strong>und</strong> Vorverarbeitung ist es beim <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> nicht unbedingt<br />

entscheidend, dass die Form möglichst unverändert bleibt. Es muss lediglich sichergestellt<br />

werden, dass sich die Form auf dem komplementären Fragment gleichartig<br />

ändert, damit die Teile weiterhin zusammenpassen. Bei stark verrauschten Fragmentoberflächen<br />

ist eine Glättung der Oberflächendaten vor der Berechnung von Oberflächennormalen,<br />

Krümmungen <strong>und</strong> weiteren Merkmalen sinnvoll. Da bei der Normalen- <strong>und</strong><br />

Krümmungsberechnung stets ein- oder mehrfach differenziert werden muss, ist eine Glättung<br />

unerlässlich. Je nach gewählter Basisdatenstruktur kann die Glättung, Normalen<strong>und</strong><br />

Merkmalsberechnung auf unterschiedliche Weise erfolgen. Bei volumetrischen Repräsentationsformen<br />

können die Oberflächen beispielsweise durch eine faltungsbasierte<br />

Tiefpassfilterung geglättet werden. Die Normalenberechnung entspricht in diesem Fall<br />

einer Gradientenberechnung an den Objektgrenzen <strong>und</strong> kann durch diskrete Richtungsableitungen<br />

gewonnen werden. Dies trifft natürlich ebenso auf alle hierarchischen Datenstrukturen,<br />

die die volumetrischen Daten abbilden, wie beispielsweise Octrees, zu. Bei<br />

Punktwolken muss ein anderer Ansatz <strong>für</strong> Glättung <strong>und</strong> Normalenberechnung gewählt<br />

werden, beispielsweise über eine gewichtete Polynomflächenanpassung an einen lokalen<br />

Bereich (siehe z.B. Alexa et al. [1], Levin [55]).


Kapitel 3<br />

Matching von Oberflächen:<br />

<strong>Problem</strong>stellung <strong>und</strong> Stand der<br />

Technik<br />

Nachdem die Fragmente in eine geeignete digitale Form gebracht wurden, kann das<br />

Zusammensetzen der Oberflächen beginnen. Warum benötigt man nun neue Methoden<br />

<strong>für</strong> das <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>? Wurde dies nicht schon mit der Vielzahl an publizierten<br />

Matching-Ansätzen ausreichend gelöst? Um diese berechtigte Frage zu beantworten, ist<br />

ein Überblick über den derzeitigen Stand der Technik notwendig. Im Mittelpunkt der<br />

folgenden Betrachtung stehen deshalb die mit dem <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> eng verwandten<br />

<strong>und</strong> bekannten Verfahren zur Registrierung von Oberflächen.<br />

3.1 Oberflächenregistrierung versus <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong><br />

Viele Arbeiten betrachten das <strong>Problem</strong> des Zusammensetzens von vollständig oder partiell<br />

überlappenden Oberflächen, wie z.B. das Zusammensetzen mehrerer Tiefenbilder. Es<br />

handelt sich hierbei meist um zwei oder mehrere Datensätze desselben Objektes, die in<br />

ein gemeinsames Koordinatensystem gebracht werden sollen. In diesem Zusammenhang<br />

spricht man auch von Registrierung ∗ . Abbildung 3.1 veranschaulicht unterschiedliche<br />

Überlappungstypen die nach ihrer Schwierigkeit geordnet sind. Die ersten drei Typen<br />

sind klassische Basisdaten <strong>für</strong> die herkömmlichen Registrierungsverfahren. Bei Typ 1<br />

handelt es sich um zwei Datensätze eines Objektes die durch eine starre Transformation<br />

vollständig zur Deckung gebracht werden können. Dies ist der einfachste aller Fälle,<br />

bei dem bereits eine einfache Ausrichtung von Schwerpunkt <strong>und</strong> Hauptachsen zum Ziel<br />

führen kann. Bei Typ 2 ist der Datensatz B eine Teilmenge des Datensatzes A. Bei A<br />

∗ Definition des Begriffes ’Registrierung’ (engl. ’registration’) aus TheFreeDictionary.com: ” In Computer Vision<br />

different sets of data acquired by sampling the same scene or object will be in different coordinate systems.<br />

Registration is the process of transforming the different sets of data into one coordinate system. In medical<br />

imaging (e.g. data of the same patient taken at different points in time) registration often additionally involves<br />

elastic registration to cope with elastic deformation of the body parts imaged.“<br />

39


40 Kapitel 3. Matching von Oberflächen: <strong>Problem</strong>stellung <strong>und</strong> Stand der Technik<br />

Typ 1 Typ 2 Typ 3 Typ 4<br />

Abbildung 3.1 Vier unterschiedliche Überlappungstypen: 1. Kongruenz; 2. Bijektion; 3. partielle<br />

Überlappung; 4. <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>.<br />

könnte es sich beispielsweise um ein vollständiges Modell <strong>und</strong> bei B um eine Messaufnahme<br />

aus einer Sichtrichtung handeln. Hierbei gibt es zu jedem Punkt aus B genau einen<br />

korrespondierenden Punkt in A, allerdings hat nicht jeder Punkt aus A einen korrespondierenden<br />

Punkt in B. Typische <strong>Problem</strong>e aus dieser Klasse sind Objekterkennungs- <strong>und</strong><br />

Lageschätzungsaufgaben. Typ 3 zeigt den Fall von zwei sich partiell überlappenden Datensätzen.<br />

Sowohl in A als auch in B gibt es Bereiche die keine Entsprechung im jeweils<br />

anderen Datensatz haben. Ein typisches <strong>Problem</strong> aus dieser Klasse ist die Fusionierung<br />

von sich überlappenden Tiefendaten eines Objektes aus unterschiedlichen Sichtrichtungen.<br />

Während es sich bei Typ 1 bis 3 im Allgemeinen um aufeinander abbildbare Daten<br />

desselben Objektes handelt, so handelt es sich bei Typ 4 um unterschiedliche Objektteile<br />

die zu einem Ganzen zusammenfügbar sind. Die Fragmente besitzen also Oberflächenbereiche<br />

die geometrisch komplementär zu einem Gegenstück sind. Alle vier Typen weisen<br />

folgende gemeinsame Schwierigkeiten bezüglich des <strong>3d</strong>-Matchings auf:<br />

• Im Fall von nur zwei Datensätzen hat der Suchraum im Allgemeinen bereits sechs<br />

Freiheitsgrade (nämlich drei rotatorische <strong>und</strong> drei translatorische Freiheiten der<br />

relativen Lage).<br />

• Der Wunsch nach einer effizienten Lösung, trotz massiver Menge an Oberflächendaten,<br />

stellt hohe Anforderungen an den verwendeten Algorithmus <strong>und</strong> die zugr<strong>und</strong>e<br />

liegende Datenstruktur.<br />

• Die digitalisierten Oberflächen liegen oft in ungenauer <strong>und</strong> verrauschter Form vor.<br />

Allerdings gibt es beim allgemeinen <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> einige zusätzliche Schwierigkeiten,<br />

die die Anwendbarkeit der bis dato bekannten Methoden stark einschränkt:<br />

• Anders als zum Beispiel bei der Fusion von Tiefenbildern, ist eine gute Initiallösung,<br />

die <strong>für</strong> eine Iteration in ein globales Optimum erforderlich wäre, im Allgemeinen<br />

nicht verfügbar.<br />

• Sehr große Oberflächenregionen haben keine korrespondierenden Bereiche auf dem<br />

Gegenstück. <strong>Das</strong> heißt, oftmals besteht die Fragmentoberfläche nur zu einem ge-


3.2. Feinregistrierung 41<br />

ringen Teil aus Bruchfläche die zu einem Gegenstück passt.<br />

• Objektdurchdringungen müssen vermieden werden.<br />

• Fehlende Fragmente, Materialverschleiß <strong>und</strong> Schädigungen erschweren das Matching.<br />

Eine Methode zur Lösung des <strong>Problem</strong>s vom Typ 4 sollte also ohne eine Initiallösung<br />

auskommen, trotz großer Datenmengen mit geringer Überlappung effizient arbeiten, Objektdurchdringungen<br />

vermeiden <strong>und</strong> möglichst robust gegenüber Rauschen, Schädigungen<br />

<strong>und</strong> Materialverschleiß sein. Eine zeiteffiziente Methode ist, insbesondere im Fall<br />

von vielen Fragmentstücken <strong>und</strong> der daraus resultierenden kombinatorischen Vielfalt,<br />

erforderlich.<br />

In der Literatur wird häufig zwischen ” Grobregistrierung“ <strong>und</strong> ” Feinregistrierung“ unterschieden<br />

(siehe auch Campbell & Flynn [12]). Bei der Feinregistrierung liegt bereits<br />

eine initiale Lageschätzung vor, die (meist iterativ) optimiert wird. Falls keine initiale<br />

Lageschätzung vorliegt, ist eine Grobregistrierung erforderlich, bei der die grobe Ziellage<br />

gesucht wird. Im Folgenden soll ein kurzer Überblick über bekannte Arbeiten gegeben<br />

werden, die allerdings nur zur Lösung des Überlappungstyps 1-3 entwickelt wurden <strong>und</strong><br />

häufig nur auf Tiefenbildern arbeiten.<br />

3.2 Feinregistrierung<br />

Die wohl gebräuchlichste Methode zum Registrieren von Oberflächen ist der so genannte<br />

’Iterative Closest Point’-Algorithmus (ICP) von Besl & McKay [9]. Dieser Ansatz versucht<br />

eine gegebene Initiallösung iterativ zu verbessern. Hierzu werden in jedem Iterationsschritt<br />

zuerst zu Punkten auf der einen Oberfläche nahe liegende Punkte (engl. ’closest<br />

points’) auf der anderen Oberfläche gesucht <strong>und</strong> dessen Abstände dann im Sinne des<br />

minimalen Fehlerquadrats mit dem Verfahren von Horn [41] minimiert. Der ursprüngliche<br />

Algorithmus erfreut sich immer noch sehr großer Beliebtheit, da er sehr einfach zu<br />

implementieren ist. Allerdings ist er in seiner Gr<strong>und</strong>form relativ langsam, äußerst fehleranfällig<br />

gegenüber Ausreißern <strong>und</strong> kann oft trotz guter Initiallösung keine akzeptable<br />

Lösung finden, da das Minimum im Sinne des Fehlerquadrats häufig nicht der gesuchten<br />

tatsächlichen Lösung entspricht. Seit der Publikation des ICP-Algorithmus wurden viele<br />

Verbesserungen vorgeschlagen. Diese empfehlen meist eine effizientere oder robustere Suche<br />

von korrespondierenden Punkten (siehe z.B. Dalley & Flynn [19], Greenspan & Yurick<br />

[29], Krebs et al. [52], Masuda [60], Sharp et al. [77]). Trotz dieser Verbesserungen<br />

wird jedoch immer eine gute initiale Lageschätzung benötigt. Eine Übersicht über einige<br />

effiziente Varianten des ICP-Algorithmus findet sich beispielsweise in einer Arbeit von<br />

Rusinkiewicz & Levoy [71]. Da beim <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> im Allgemeinen keine initiale<br />

Lage vorliegt, sind diese Verfahren nicht direkt einsetzbar bzw. können allenfalls zur<br />

lokalen Verbesserung einer bereits gef<strong>und</strong>enen Lösung dienen.


42 Kapitel 3. Matching von Oberflächen: <strong>Problem</strong>stellung <strong>und</strong> Stand der Technik<br />

(a) (b) (c)<br />

Abbildung 3.2 Zur Berechnung von ’spin images’: (a) <strong>3d</strong> Modell <strong>und</strong> Normalenachse durch<br />

einen Oberflächenpunkt zu dem ein ’spin image’ berechnet werden soll; (b) Rotation des <strong>3d</strong><br />

Modells um die Normalenachse; (c) Projektion der Oberflächenpunkte auf die Abbildungsebene<br />

ergibt ein ’spin image’.<br />

3.3 Grobregistrierung<br />

3.3.1 Merkmalsbasierte Korrespondenzsuche<br />

In den meisten Arbeiten zur Grobregistrierung werden lokale Oberflächenmerkmale <strong>für</strong><br />

die Suche nach korrespondierenden Oberflächenpunkten verwendet. Hierzu müssen in<br />

einem Vorverarbeitungsschritt auf beiden Oberflächen Merkmale extrahiert <strong>und</strong> dann<br />

einander zugeordnet werden. Die verwendeten Merkmale reichen von einfachen Oberflächeneigenschaften<br />

wie Krümmungen bis hin zu komplexen mehrdimensionalen Merkmalsvektoren.<br />

Johnson & Hebert [44] schlagen so genannte ’spin images’ <strong>für</strong> die Oberflächenregistrierung<br />

<strong>und</strong> <strong>3d</strong>-Objekterkennung vor. Hierzu wird in jeden Oberflächenpunkt ein zur<br />

Oberflächennormale ausgerichtetes Koordinatensystem gelegt <strong>und</strong> jeweils alle Punkte<br />

relativ zu diesem Koordinatensystem durch Rotation um die Normalenachse auf eine<br />

Bildebene akkumuliert (siehe Abbildung 3.2). Dies entspricht einer Umrechnung der<br />

Euklidischen Koordinaten in relative Zylinderkoordinaten <strong>und</strong> einer Projektion entlang<br />

des Rotationswinkels. Hierdurch entsteht <strong>für</strong> jeden Oberflächenpunkt ein rotationsinvariantes<br />

Abbild des gesamten Objektes. Da jeweils das gesamte Objekt <strong>und</strong> nicht nur<br />

die lokale Umgebung abgebildet wird, handelt sich bei den ’spin images’ um globale<br />

Merkmale. Für die Registrierung von zwei Oberflächen werden nun die ’spin images’<br />

miteinander verglichen, um korrespondierende Punkte zu finden. Nach der Zuordnung<br />

korrespondierender Punkte werden die Oberflächen grob ausgerichtet <strong>und</strong> die relative<br />

Lage dann per ICP-Algorithmus verfeinert.


3.3. Grobregistrierung 43<br />

Die Oberflächensignaturen (engl. ’surface signatures’) von Yamany & Farag [105] sind<br />

konzeptionell den ’spin images’ sehr ähnlich. Statt Zylinderkoordinaten werden Kugelkoordinaten<br />

verwendet, <strong>und</strong> statt Punkte zu akkumulieren, werden Krümmungen in<br />

den Projektionsbildern gemittelt. Außerdem wird die Anzahl von Signaturen durch eine<br />

Vorauswahl von Punkten mit hoher Krümmung reduziert.<br />

Schön & Häusler [74] suchen ebenfalls nach markanten Punkten (engl. ’salient points’)<br />

auf den Oberflächen. Genauer gesagt sind Oberflächenpunkte gemeint, die eine hohe<br />

Krümmungsentropy (also möglichst viele unterschiedliche partielle Oberflächenkrümmungen<br />

je nach Ausbreitungs-/Blickrichtung) in ihrer lokalen Nachbarschaft haben. Es<br />

werden dann die h<strong>und</strong>ert markantesten Punkte ausgewählt <strong>und</strong> <strong>für</strong> die Registrierung<br />

weiterverwendet. Um nun korrespondierende Punkte zu finden, werden zugehörige lokale<br />

rotationsinvariante Merkmalsvektoren berechnet. Ein Merkmalsvektor entspricht dabei<br />

einem 2d Histogramm, in dem die lokalen Punkte der Umgebung akkumuliert werden.<br />

Als Histogrammindizes dienen dabei der relative Abstand <strong>und</strong> die partielle Krümmung.<br />

Demnach haben die Histogramme ganz ähnliche Eigenschaften wie die ’spin images’ <strong>und</strong><br />

’surface signatures’, allerdings sind sie auf die jeweilige lokale Umgebung beschränkt.<br />

Sun et al. [82] definieren ’Fingerabdrücke’ (engl. ’finger prints’) auf Oberflächen. Hierbei<br />

handelt es sich um eine Menge von Kurven mit gleicher geodesischer Distanz zu<br />

einem ausgewähltem Oberflächenpunkt. Die Oberflächeneigenschaften (wie Krümmung<br />

oder Farbe) entlang dieser Kurven werden dann orthogonal auf die Tangentialeben projiziert<br />

<strong>und</strong> repräsentieren die lokale Oberflächenregion. In einer Vorauswahl werden nur<br />

Punkte selektiert dessen ’finger prints’ möglichst irregulär <strong>und</strong> damit unverkennbar sind.<br />

Da diese Merkmale nicht rotationsinvariant sind, muss bei der Korrespondenzsuche ein<br />

verbleibender rotatorischer Freiheitsgrad per Kreuzkorrelation bestimmt werden.<br />

Neben den ” Punktmerkmalen“, die die Umgebung eines ausgezeichneten Punktes charakterisieren,<br />

gibt es auch ” Kurvenmerkmale“, die eine eindimensionale Ausbreitung auf<br />

der Oberfläche beschreiben. Häufig werden Randkurven <strong>und</strong> Kanten mit hoher Krümmung<br />

vorgeschlagen (siehe z.B. Krebs et al. [51], Papaioannou & Theoharis [66] <strong>und</strong><br />

Sappa et al. [72]). Eine etwas allgemeinere Variante sind die ’level curves of constant<br />

mean curvature’ also Isokrümmungskurven in Tiefendaten von Krsek et al. [53]. Auch<br />

Vanden Wyngaerd & Van Gool [85] detektieren charakteristische Kurven - so genannte<br />

’bitangent curves’ - <strong>für</strong> die Registrierung der Oberflächen. Hierbei handelt es sich um<br />

spezielle Kurvenpaare, bei denen jede Tangentialebene der einen Kurve auch gemeinsame<br />

Tangentialebene der andern Kurve ist.<br />

Wie diese unterschiedlichen Beispiele verdeutlichen, sind die verwendeten Oberflächenmerkmale<br />

zwar ähnlich, unterscheiden sich jedoch unter anderem in ihrer Lokalität. Eine<br />

zu hohe Lokalität (bzw. ein zu kleiner Einflussbereich) der Oberflächenmerkmale macht<br />

diese schlecht unterscheidbar, empfindlich gegenüber Rauschen <strong>und</strong> erhöht die Zuordnungskomplexität.<br />

Eine zu geringe Lokalität hingegen birgt bei partiell überlappenden<br />

Oberflächen die Gefahr, dass Bereiche mit einbezogen werden, die keine Korrespondenz<br />

auf dem Gegenstück haben. Dies wiederum macht die Suche nach korrespondierenden<br />

Merkmalen schwieriger. Ein anderes Unterscheidungskriterium ist die Rotations-


44 Kapitel 3. Matching von Oberflächen: <strong>Problem</strong>stellung <strong>und</strong> Stand der Technik<br />

invarianz der Oberflächenmerkmale. Auch hier sind Vor- <strong>und</strong> Nachteile festzustellen.<br />

Rotationsinvariante Merkmale sind zwar schneller vergleichbar, können aber mehrdeutig<br />

sein, denn es gibt meist viele unterschiedliche Oberflächenformen, die jeweils exakt<br />

die gleichen Merkmalsvektoren hervorrufen. Rotationsvariante Merkmale wie die ’finger<br />

prints’ oder die Kurvenmerkmale sind demgegenüber zwar eindeutiger, erfordern<br />

aber einen aufwändigeren Vergleich (beispielsweise eine Kreuzkorrelation oder eine ICP-<br />

Registrierung).<br />

Ein Überblick über weitere merkmalsbasierte Registrierungsansätze findet sich z.B. in<br />

Seeger & Labourex [76]. Der Nachteil von merkmalsbasierten Ansätzen ist der verhältnismäßig<br />

hohe Zeitaufwand, der in der Vorverarbeitung <strong>für</strong> die Merkmalsextraktion <strong>und</strong><br />

Sortierung benötigt wird. Sind die Merkmale nicht robust messbar (z.B. aufgr<strong>und</strong> von<br />

Rauschen oder fehlenden Oberflächenstrukturen) oder wenig prägnant bzw. nicht eindeutig<br />

einander zuzuordnen (Korrespondenzproblem), können diese Verfahren <strong>für</strong> sich<br />

allein genommen das <strong>Problem</strong> nicht lösen, aber häufig den Suchraum erheblich einschränken.<br />

3.3.2 Hypothesen-Akkumulation (Pose Clustering)<br />

Eine zum <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> verwandte Klasse von Methoden, die meist zur Erkennung<br />

<strong>und</strong> Lokalisierung von Objekten dienen, sind die so genannten ’pose clustering’-<br />

Ansätze (auch bekannt unter den Begriffen Hypothesenakkumulation oder verallgemeinerte<br />

Hough-Transformation, siehe zum Beispiel Ballard [5], Stockman [81], Linnainmaa<br />

et al. [57] <strong>und</strong> Olson [64]). Die Basisidee ist es, low-level-Lagehypothesen in einem<br />

Parameterraum bzw. einer Voting-Tabelle zu akkumulieren, gefolgt von einer Clusterbzw.<br />

Maximasuche, welche die meist besuchten Hypothesen identifiziert. Der größte<br />

Nachteil von Voting-Tabellen ist der relativ hohe Zeit- <strong>und</strong> Speicherbedarf, insbesondere<br />

im Fall von großen Datenmengen <strong>und</strong> einem 6d Such-/Parameterraum.<br />

Einige Arbeiten versuchen diese Komplexität durch die Einbeziehung von lokalen Oberflächenmerkmalen<br />

zu beherrschen. Ein interessanter Ansatz von Barequet & Sharir<br />

[6], [7] verwendet hier<strong>für</strong> beispielsweise so genannte ’gerichtete <strong>und</strong> ungerichtete footprints’.<br />

Im einfachsten Fall sind dies Oberflächennormalen als gerichtete Merkmale <strong>und</strong><br />

Oberflächenkrümmungen als ungerichtete (also rotationsinvariante) Merkmale. Sowohl<br />

gerichtete als auch ungerichtete Merkmale können die Anzahl der möglichen Lagehypothesen<br />

stark einschränken, denn es kommen nur solche Lagehypothesen in Frage, bei<br />

denen die gerichteten Merkmale in den Kontaktpunkten korrekt ausgerichtet sind <strong>und</strong><br />

die ungerichteten Merkmale übereinstimmen. Die Hypothesen müssen jedoch weiterhin<br />

in einem 6d Parameterraum akkumuliert werden. Um den enormen Speicherbedarf zu reduzieren,<br />

schlagen Barequet <strong>und</strong> Sharir deshalb die Verwendung einer Hashtabelle statt<br />

eines 6d Arrays vor. Hierdurch können theoretisch leere Bereiche im Parameterraum<br />

besser ausgenutzt werden. Die Verwendung einer Hashtabelle bedeutet jedoch zusätzlichen<br />

Aufwand bei der Behandlung von Kollisionen <strong>und</strong> führt im ungünstigen Fall sogar<br />

zu einem erheblich größeren Rechenaufwand. Außerdem gehen die Nachbarschaftsbeziehungen<br />

des Arrays verloren, was dazu führt, dass das Finden von leicht ausgedehnten


3.3. Grobregistrierung 45<br />

Clustern erheblich erschwert wird.<br />

3.3.3 Hypothesengenerierung <strong>und</strong> Hypothesenverifizierung<br />

Die DARCES-Methode (’data-aligned rigidity-constrained exhaustive search’) von Chen<br />

et al. [14] zur Registrierung von Tiefendaten kommt ohne Initiallösung <strong>und</strong> ohne Oberflächenmerkmalen<br />

aus. Damit ist dieser Ansatz auch <strong>für</strong> das allgemeine <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong><br />

interessant. Die Lösung wird über eine alterniernde Hypothesengenerierung <strong>und</strong> Hypothesenverifizierung<br />

gesucht. Eine solche Vorgehensweise werden wir auch im ersten<br />

Lösungsansatz <strong>für</strong> das <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> in Kapitel 4 aufgreifen. Bei der DARCES-<br />

Methode werden Lagehypothesen gesucht <strong>und</strong> getestet, bei denen die Oberflächen einen<br />

Kontakt an drei oder mehr Punkten aufweisen. Im uneingeschänkten Fall müssen bei<br />

der Suche von jeweils drei Punkten pro Oberfläche, die per Rotation <strong>und</strong> Translation in<br />

Kontakt gebracht werden können, eine enorme Anzahl von Kombinationsmöglichkeiten<br />

betrachtet werden. Bei n Punkten pro Oberfläche gibt es bereits ca. n 3 Punkttripel pro<br />

Oberfläche <strong>und</strong> demnach n 6 Kombinationen von zwei Punkttripeln, die dann auf Kongruenz<br />

überprüft werden müssten. Um diese kombinatorische Explosion zu bewältigen,<br />

müssen eine Reihe von Einschränkungen getroffen werden: (i) Die Oberflächenpunkte<br />

werden auf eine kleine zufällig ausgewählte Untermenge von ” Referenzpunkten“ reduziert.<br />

Der Algorithmus arbeitet dann nur noch auf dieser kleineren Referenzpunktmenge.<br />

(ii) Es werden nur solche Punkttripel zugelassen, bei denen die Punkte einen fest vorgegebenen<br />

Abstand haben (also nur gleichschenklige Dreiecke mit fester Größe). Der<br />

vorgegebene Abstand sollte nicht zu klein sein, da ansonsten die Lagehypothese instabil<br />

gegenüber Rauschen wird, aber auch nicht zu groß sein, da sonst die Suche eines kongruenten<br />

Punkttripels ineffizient wird. (iii) Die Suche des kongruenten Tripels, als auch<br />

die Verifizierung der Lagehypothesen arbeitet ganz speziell auf Tiefenbildern (bzw. auf<br />

der Projektion der Punktwolken auf eine Indexebene).<br />

Diese starken Einschränkungen zu Gunsten der Effizienz bringen jedoch einige <strong>Problem</strong>e<br />

mit sich: Die Reduzierung der Punktmenge führt zu einer gröberen Abtastung<br />

des Suchraums <strong>und</strong> birgt damit die Gefahr, dass das globale Optimum verfehlt wird.<br />

Die Beschränkung auf Punkttripel mit festem Abstand verstärkt diesen Effekt noch<br />

weiter. Außerdem kann dies dazu führen, dass bestimmte Oberflächen (z.B. Fragmente<br />

mit langen <strong>und</strong> schmalen oder lückenhaften Bruchflächen) nicht registriert werden<br />

können, da sich keine entsprechenden Dreiecke auf ihnen finden lassen. Bei den Lagehypothesen<br />

wird kein tangentialer Kontakt gefordert, wodurch sich die Fragmente bei<br />

sehr vielen Lagehypothesen durchdringen werden. Und letztlich wird die Projektion auf<br />

eine Indexebene benötigt, was bei Tiefenbildern natürlich Sinn macht, da sie bereits eine<br />

solche Projektion darstellen, aber bei vollständigen <strong>3d</strong> Objekten problematisch ist, da<br />

keine Projektionsrichtung alle Daten überdeckungsfrei abbildet.<br />

In einer der neuesten Arbeiten zum Thema Registrierung von Tiefendaten von Silva et al.<br />

[78], [79] wird diejenige relative Lage gesucht, bei der die Oberflächen eine möglichst<br />

hohe Anzahl an Durchdringungspunkten aufweisen. Die Suche der besten relativen Lage<br />

basiert auf einem neuartigen genetischen Algorithmus. Viele Durchdringungspunkte sind


46 Kapitel 3. Matching von Oberflächen: <strong>Problem</strong>stellung <strong>und</strong> Stand der Technik<br />

jedoch auch ein starkes Indiz <strong>für</strong> die komplette Durchdringung der <strong>3d</strong> Fragmente, was<br />

im Fall des <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>s unerwünscht ist. Der komplexe Algorithmus arbeitet<br />

speziell auf Dreiecksnetzen <strong>und</strong> benötigt eine relativ lange Laufzeit <strong>für</strong> eine paarweise<br />

Registrierung (fünf Minuten <strong>für</strong> 10.000 Punkte auf einem 1,7 GHz PC). Die Ansätze, die<br />

in der vorliegenden Arbeit vorgeschlagen werden, erreichen jedoch Laufzeiten von unter<br />

einer Sek<strong>und</strong>e <strong>für</strong> weitaus größere Datensätze.<br />

3.4 Stand der Technik beim <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong><br />

<strong>Das</strong> allgemeine <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> wurde bis zum jetzigen Zeitpunkt nur sehr wenig<br />

untersucht. Einige interessante Arbeiten behandeln die Rekonstruktion von wertvollen<br />

zerbrochenen archäologischen Tongefäßen oder Keramiken anhand ihrer Bruchkanten,<br />

Texturen oder Rotationssymmetrieeigenschaften (siehe z.B. Cooper et al. [17], Kampel<br />

& Sablatnig [48], [47], da Gama Leitão & Stolfi [18], Goldberg et al. [27], Willis<br />

& Cooper [95]). Diese Methoden lösen also eher ein 2d-<strong>Puzzle</strong>-<strong>Problem</strong> <strong>und</strong> können<br />

im Allgemeinen nicht auf <strong>3d</strong> Fragmente übertragen werden.<br />

Eine der wenigen Arbeiten, die das dreidimensionale <strong>Puzzle</strong>-<strong>Problem</strong> untersuchen, basiert<br />

auf einer Lagefehlerschätzung unter Verwendung von Z-Buffern (Papaioannou et al.<br />

[65]). Wie Abbildung 3.3 veranschaulicht, werden die Fragmente solange rotiert <strong>und</strong> verschoben,<br />

bis die 2d Abstandsfunktionen (Z-Buffer) zu einer separierenden Referenzebene<br />

stark korrelieren (der Ansatz muss dabei sieben Freiheitsgrade optimieren). Obwohl der<br />

vorgeschlagene Algorithmus eine ’simulated annealing’-Optimierung einsetzt, so degeneriert<br />

er doch zu einer vollständigen Suche, wenn die optimale Fügerichtung auf einen<br />

kleinen Winkelbereich beschränkt ist. Ein weiterer Nachteil ist die zeitineffiziente Generierung<br />

<strong>und</strong> Korrelierung der Z-Buffer, die in jeder zu überprüfenden Lage erfolgen muss.<br />

Abbildung 3.3 Prinzip des Z-Buffer-Matchings.


3.4. Stand der Technik beim <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> 47<br />

In einer Folgearbeit [66] werden deshalb Bruchkanten als Merkmale integriert, um zum<br />

einen die Effizienz zu Verbessern <strong>und</strong> zum anderen auch dünnwandige archäologische<br />

Artefakte (wie Scherben) erfolgreich zusammenzufügen.<br />

Einige weitere Arbeiten gibt es auf dem Gebiet des ’Protein-Dockings’ (siehe z.B. Chen<br />

& Weng [15] sowie Fernandez-Recio et al. [22]), welche eine gemeinsame methodische<br />

Schnittmenge mit dem allgemeinen <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> aufweisen. Auch hier dient die<br />

äußere geometrische Struktur als Basis <strong>für</strong> die Kontaktsuche. Ein Überblick über aktuelle<br />

Arbeiten auf dem Gebiet des Protein-Dockings findet sich z.B. in Smith & Sternberg<br />

[80] <strong>und</strong> Via et al. [86]. Die geometrische Komplementarität von Bereichen ist eine notwendige,<br />

aber nicht hinreichende Bedingung <strong>für</strong> die Bildung eines Proteinkomplexes. Die<br />

Proteine müssen auch chemisch (beispielsweise bezüglich ihrer elektrostatischen Wechselwirkungen)<br />

komplementär sein. Des Weiteren sind die <strong>für</strong> das Protein-Docking konzipierten<br />

Ansätze speziell auf Struktureigenschaften von Molekülketten angepasst <strong>und</strong><br />

nicht <strong>für</strong> zerbrochene Objekte geeignet. Deshalb wird in dieser Arbeit nur im Ausblick<br />

kurz auf das Protein-Docking-<strong>Problem</strong> eingegangen.


Kapitel 4<br />

Matching von <strong>3d</strong> Objektfragmenten<br />

(<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

Im vorhergehenden Kapitel wurde deutlich, dass trotz vieler Arbeiten auf dem Forschungsgebiet<br />

der Oberflächenregistrierung das allgemeine <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> im Fall<br />

von dreidimensionalen Fragmenten kaum behandelt <strong>und</strong> noch nicht zufriedenstellend<br />

gelöst wurde. Aus diesem Gr<strong>und</strong> wollen wir uns nun zwei neuartigen Ansätzen zuwenden,<br />

die speziell auf das effiziente <strong>und</strong> robuste Zusammensetzen von <strong>3d</strong> Fragmenten<br />

zugeschnitten sind. Im Gegensatz zu den meisten bekannten Verfahren zur Oberflächenregistrierung<br />

basieren die neuen Methoden nicht auf komplexen Merkmalsvektoren,<br />

sondern offerieren gr<strong>und</strong>legende <strong>und</strong> innovative Suchstrategien. Ähnlich wie der bewährte<br />

ICP-Algorithmus als ausbaufähige Basis <strong>für</strong> die Feinregistrierung angesehen werden<br />

kann, sind die folgenden Ansätze als elementare Basis <strong>für</strong> die Grobregistrierung <strong>und</strong> das<br />

paarweise Zusammensetzen von Fragmenten zu verstehen.<br />

4.1 Einführung<br />

Wie bereits erwähnt, ist das <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> bereits bei nur zwei Fragmenten ein<br />

komplexes <strong>Problem</strong> mit sechs zu lösenden Freiheitsgraden. In diesem sechsdimensionalen<br />

Parameterraum beschreibt jeder Punkt die relative Lage eines Fragmentes bezüglich<br />

der Lage eines anderen. In diesem Zusammenhang spricht man in der <strong>Robotik</strong> auch von<br />

Konfigurationsräumen. Für jeden Punkt im 6d Konfigurationsraum kann ein Fehlerbzw.<br />

Gütemaß berechnet werden, welches die Passgenauigkeit in der aktuellen Lage bewertet.<br />

Die Bewertung einer Lage ist allerdings ein relativ zeitaufwändiger Prozess. Aus<br />

diesem Gr<strong>und</strong> ist es wichtig, die Anzahl der zu bewertenden Punkte im Parameterraum<br />

möglichst weitgehend zu reduzieren. Bei näherer Betrachtung stellt man fest, dass der<br />

Raum große Bereiche hat, in denen die Fragmente sich nicht berühren. Diese Bereiche<br />

sollten von vornherein nicht untersucht werden. Stattdessen sollten nur relative Lagen<br />

betrachtet werden, bei denen ein Kontakt zwischen den Fragmentoberflächen besteht.<br />

Genauer gesagt sollten die Oberflächen sich an den Kontaktpunkten stets tangential<br />

berühren, da sie sich sonst durchdringen würden. Die Oberflächennormalen beider Sei-<br />

49


50 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

ten müssen demnach an den Kontaktflächen entgegengerichtet sein. Unter Ausnutzung<br />

dieses Wissens kann der zu betrachtende Parameterraum bei zwei Fragmenten auf fünf<br />

Dimensionen begrenzt werden (zwei Dimensionen <strong>für</strong> die Wahl des Kontaktpunktes auf<br />

der ersten Oberfläche, plus zwei Dimensionen <strong>für</strong> die Wahl des Kontaktpunktes auf<br />

der zweiten Oberfläche, plus eine Dimension <strong>für</strong> die Rotation um die Oberflächennormale<br />

im Kontaktpunkt). Darüber hinaus kommen nur Oberflächenkontakte in Frage,<br />

bei denen die lokale Umgebung beider Seiten komplementär zueinander ist (eine konvexe<br />

Oberflächenregion passt zum Beispiel nur zu einer konkaven, usw.). Dies führt<br />

zur optionalen Verwendung geeigneter Merkmale wie beispielsweise im einfachsten Fall<br />

Oberflächenkrümmungen.<br />

Um nun den verbleibenden Parameterraum zu durchsuchen, bedarf es geeigneter Methoden<br />

<strong>und</strong> Strategien. Die meisten bekannten Optimierungsverfahren (wie Gradientenabstieg,<br />

’hill climber’, ’simulated annealing’, etc.) profitieren von kleinen Bewegungen<br />

in ein lokales Optimum. Viele Optimierungsverfahren müssen in jedem Schritt mehrere<br />

benachbarte Konfigurationen bewerten, um die Richtung des Optimums zu schätzen.<br />

Im Fall des <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>s ist dies ein Nachteil, da gerade die Bewertungsfunktion<br />

relativ zeitaufwändig ist. Untersuchungen haben außerdem gezeigt, dass beim <strong>3d</strong>-<strong>Puzzle</strong>-<br />

<strong>Problem</strong> der Parameterraum oft äußerst stark mit lokalen Optima frequentiert ist. Aus<br />

diesem Gr<strong>und</strong> entarten diese Optimierungsverfahren zu einer nahezu vollständigen Suche,<br />

bei der ein Großteil der Zeit <strong>für</strong> die Iteration in falsche lokale Optima verschwendet<br />

wird. Einige Verfahren zum Registrieren von Objekten (wie beispielsweise die ’pose<br />

clustering’-Ansätze) setzen deshalb auf die vollständige Durchsuchung des Parameterraums<br />

<strong>und</strong> konzentrieren sich auf eine Beschleunigung der Bewertungsmethode. Die<br />

gef<strong>und</strong>ene Lösung kann dann im Nachhinein als Initiallösung <strong>für</strong> eine Feinoptimierung<br />

genutzt werden.<br />

Natürlich kann ein kontinuierlicher Raum nicht ” vollständig“, sondern nur an diskreten<br />

Punkten bewertet werden. Der Parameterraum muss also geeignet diskretisiert bzw. die<br />

Parameter geeignet quantisiert werden. (Eine Verteilung von diskreten Punkten entsteht<br />

im übrigen ebenso, wenn die Startpunkte <strong>für</strong> eine lokale Optimasuche gesetzt werden).<br />

Diese Quantisierung kann auf unterschiedliche Weise erfolgen. Im einfachsten Fall wird<br />

der Parameterraum mit einem regelmäßigem Abtastgitter überlagert. Da dieses Gitter<br />

sich nicht an der Gestalt der Fragmente orientiert, ist die Gefahr groß, dass das globale<br />

Optimum zwischen die Abtastpunkte fällt. Eine ähnliche Vorgehensweise, die sich allerdings<br />

besser an der Gestalt orientiert, ist die Verwendung diskreter Punkte auf der Oberfläche,<br />

welche zur Kontaktbildung herangezogen werden <strong>und</strong> somit diskrete Lagepunkte<br />

ergeben. In den meisten Fällen liegen die Oberflächen von vornherein in diskreter Form<br />

vor (z.B. bei Punktwolken), so dass diese Vorgehensweise keinen Nachteil darstellt. Im<br />

Fall von großen Datensätzen kann eine geeignete Unterauswahl von Oberflächenpunkten<br />

den Such- <strong>und</strong> Bewertungsvorgang stark beschleunigen. <strong>Problem</strong>atisch ist die oft verwendete<br />

Kombination von diskreten Gitterpunkten im Parameterraum <strong>und</strong> diskreten<br />

Punkten auf der Oberfläche (wie beispielsweise beim Ansatz von Barequet & Sharir [6]<br />

vorgeschlagen). Aufgr<strong>und</strong> der doppelten Abtastung in unterschiedlichen Räumen führt<br />

diese Vorgehensweise leicht zu Abtastfehlern <strong>und</strong> damit verb<strong>und</strong>enen Falschbewertun-


4.2. Formale <strong>Problem</strong>stellung <strong>und</strong> Begriffsdefinitionen 51<br />

gen von Lösungen. Zusammengefasst bedeutet dies, dass folgende Ziele bei der Entwicklung<br />

eines neuen Ansatzes zum Matchen von Fragmentoberflächen berücksichtigt<br />

werden müssen:<br />

• Es sollten nur Lagen, bei denen die Fragmente in Kontakt sind, betrachtet werden.<br />

• Oberflächenmerkmale können den Suchraum weiter einschränken. Die verwendeten<br />

Merkmale müssen trotz Messrauschen stabil berechenbar <strong>und</strong> signifikant sein.<br />

• Die Lagebewertung sollte möglichst effizient sein.<br />

• Der Parameterraum kann äußerst viele lokale Optima besitzen, insbesondere wenn<br />

die Oberflächen rau oder verrauscht sind. Auf die Verbesserung lokaler Optima<br />

sollte keine Zeit verschwendet werden.<br />

• Eine geeignete Parameterquantisierung muss gewählt werden, da sie entscheidend<br />

<strong>für</strong> die Robustheit des Verfahrens ist.<br />

4.2 Formale <strong>Problem</strong>stellung <strong>und</strong> Begriffsdefinitionen<br />

Bevor wir zu konkreten Lösungsansätzen <strong>für</strong> das <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> übergehen, benötigen<br />

wir eine solide mathematische Basis. Deshalb werden wir im Folgenden einige<br />

mathematische Hilfskonstrukte formal definieren, die in dieser Arbeit durchgängig verwendet<br />

werden.<br />

Angenommen es liegen die Oberflächen von zwei Fragmenten in Form von Punktwolken<br />

vor. Gegeben sei also die Menge PA der <strong>3d</strong> Punktkoordinaten �p1,...,�pk auf der<br />

Oberfläche des Fragmentes A <strong>und</strong> die Menge NA von zugehörigen Oberflächennormalen<br />

�n1,...,�nk. Hierbei gehen wir stets von senkrecht nach außen zeigenden Oberflächennormalen<br />

mit der Länge eins aus. Durch Kombination von Punktkoordinaten <strong>und</strong> Oberflächennormalen<br />

erhalten wir <strong>für</strong> jeden Oberflächenpunkt einen 6d Parametervektor, den<br />

wir im Folgenden orientierten Punkt nennen wollen (engl. ’oriented point’ siehe auch<br />

Johnson & Hebert [44]).<br />

Definition 1 (orientierter Punkt) Ein orientierter Punkt ist ein Raumpunkt mit einer<br />

Orientierung. In dieser Arbeit besteht ein orientierter Punkt �u aus den Koordinaten<br />

eines Punktes auf der Fragmentoberfläche <strong>und</strong> der zugehörigen Oberflächenorientierung.<br />

Wir fassen ihn als 6d Vektor �u := [�pu,�nu] ∈ IR 6 auf, wobei �pu ∈ IR 3 die Koordinaten des<br />

Punktes <strong>und</strong> �nu ∈ IR 3 die zugehörigen Oberflächennormale beschreibt.<br />

Die Punktwolken können damit als eine Menge A von orientierten Punkten auf Fragment<br />

A <strong>und</strong> die Menge B von orientierten Punkten auf dem Gegenstück B aufgefasst<br />

werden:<br />

A := {�u = [�pu,�nu] | �pu ∈ PA <strong>und</strong> �nu ∈ NA} (4.1)<br />

B := {�v = [�pv,�nv] | �pv ∈ PB <strong>und</strong> �nv ∈ NB} . (4.2)


52 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

Abbildung 4.1 Zur Darstellung der Oberflächen.<br />

Abbildung 4.1 zeigt links die Oberfläche eines Fragmentes in Form einer solchen Punktwolke<br />

bestehend aus vielen einzelnen orientierten Punkten. Da diese Form der Darstellung<br />

<strong>für</strong> den Menschen nur sehr schlecht interpretierbar ist, wird in den Abbildungen<br />

dieser Arbeit statt dessen immer ein gerendertes Dreiecksnetz der Oberflächen dargestellt.<br />

Dennoch ist eine Dreiecksvernetzung <strong>für</strong> die folgenden Ansätze nicht notwendig.<br />

Ziel ist es nun, diejenige relative Lage zu finden, die die Fragmente ” richtig“ zusammenfügt.<br />

Was das bedeutet, hängt vom Anwendungsfall ab. Um die beste aller relativen<br />

Lagen zu finden, werden anwendungsspezifische Güte- oder Fehlermaße zur Bewertung<br />

benötigt. Denkbare Kriterien sind beispielsweise die Glattheit der intakten Oberfläche<br />

nach dem Zusammenfügen oder der ” Verzahnungsgrad“ der Bruchflächen. Hierauf werden<br />

wir noch in Abschnitt 4.5 näher eingehen. Eines der wichtigsten Kriterien ist jedoch<br />

sicherlich die Größe der Kontaktfläche zwischen den Fragmenten, auf das wir uns im Folgenden<br />

konzentrieren wollen. Verfahren die die gesamte Kontaktfläche berücksichtigen<br />

versprechen eine höhere Robustheit als Verfahren die allein auf lokalen Oberflächenmerkmalen<br />

beruhen. Ein Kontakt liegt vor, wenn sich die Oberflächen der Fragmente<br />

an mindestens einem Punkt tangential berühren.<br />

Definition 2 (tangentialer Kontakt zwischen zwei orientierten Punkten) Bei<br />

einer gegebenen relativen Lage A TB (relative Transformationsmatrix in homogener Koordinatenschreibweise)<br />

liegt genau dann ein tangentialer Kontakt zwischen den orientierten<br />

Punkten �a ∈ A <strong>und</strong> � b ∈ B vor, wenn die Punktkoordinaten in dieser Lage zusammenfallen<br />

�pa = A TB ·�pb <strong>und</strong> die zugehörigen Oberflächennormalen entgegengerichtet<br />

sind �na = − A TB · �nb.


4.2. Formale <strong>Problem</strong>stellung <strong>und</strong> Begriffsdefinitionen 53<br />

Definition 3 (tangentialer Kontakt zwischen Punkt <strong>und</strong> Fragment) Bei einer<br />

gegebenen relativen Lage steht ein orientierter Punkt �a genau dann in tangentialem<br />

Kontakt mit Fragment B, wenn es einen orientierten Punkt � b ∈ B gibt, der in tangentialem<br />

Kontakt mit �a steht.<br />

Die Menge MAB( A TB) bezeichnet im Folgenden die Punkte von Fragment A, die unter<br />

einer gegebenen Transformation A TB in tangentialem Kontakt mit Fragment B stehen.<br />

Mathematisch ausgedrückt<br />

MAB( A �<br />

TB) := �a ∈A | ∃� �<br />

�<br />

b ∈B : ��pa − A �<br />

�<br />

TB · �pb � < εp ∧<br />

�<br />

�<br />

��na· A �<br />

�<br />

TB · �nb + 1<br />

� < εn<br />

�<br />

.<br />

(4.3)<br />

Im Gegensatz zu Definition 2 wird in dieser Festlegung eine maximale translatorische<br />

Abweichung von εp <strong>und</strong> eine rotatorische Abweichung von εn toleriert. Diese Toleranzen<br />

sind notwendig, da im Allgemeinen real gemessene Daten mit Ungenauigkeiten behaftet<br />

sind. <strong>Das</strong> heißt εp <strong>und</strong> εn sollten an die Genauigkeit der Oberflächen angepasst werden.<br />

Die relative Größe der Kontaktfläche auf Fragment A kann dann über das Verhältnis<br />

der Anzahl an Kontaktpunkten zur Gesamtpunktanzahl<br />

Ω := |MAB( A TB)|<br />

|A|<br />

(4.4)<br />

approximiert werden. Gesucht ist diejenige relative Transformation A TB, die die Kontaktfläche<br />

Ω maximiert. Entscheidend ist hierbei jedoch, dass nur relative Transformationen<br />

gewertet werden, bei denen die Fragmente sich nicht durchdringen.<br />

Definition 4 (Durchdringung) Zwei Fragmente mit geschlossener Oberfläche durchdringen<br />

sich genau dann, wenn es Punkte auf der Oberfläche des einen Fragments gibt,<br />

die sich innerhalb des anderen Fragments befinden. Eine solche relative Lage ist bei<br />

starren Fragmenten physikalisch nicht möglich.<br />

Wie diese Anforderung algorithmisch realisiert werden kann, wird später in den beiden<br />

Lösungsstrategien in Abschnitt 4.3 <strong>und</strong> 4.4 genau erläutert.<br />

Bis zum jetzigen Zeitpunkt haben wir die relative Lage zwischen zwei Fragmenten ausschließlich<br />

mit Hilfe einer homogenen 4×4-Transformationsmatrix A TB ausgedrückt. Wie<br />

bereits in der Einführung erläutert wurde, wollen wir nicht den 6d Raum aller relativen<br />

Transformationen diskretisieren <strong>und</strong> nach einem Maximum durchsuchen, sondern nur<br />

diejenigen Lagen betrachten, bei denen die Fragmente in Kontakt stehen. Eine Lagehypothese<br />

ist in unserem Fall also immer eine Kontaktsituation.<br />

Definition 5 (Lagehypothese) Eine Lagehypothese bezeichnet die vorläufige Annahme<br />

einer relativen Position <strong>und</strong> Orientierung von zwei oder mehreren Fragmenten zueinander.<br />

Lagehypothesen sollten durch weitere Untersuchungen verifiziert oder falsifiziert<br />

werden. In dieser Arbeit wird eine Lagehypothese stets aus der Annahme eines tangentialen<br />

Kontaktes zwischen mehreren Oberflächenpunkten abgeleitet.<br />

Wir können uns beispielsweise eine Lagehypothese zwischen zwei Fragmenten A <strong>und</strong> B<br />

konstruieren, indem wir einen tangentialen Kontakt zwischen den orientierten Punkten


�Ñ�ÒØ× 54 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

A<br />

�pa<br />

�na<br />

�pc<br />

�nc<br />

�pd<br />

�A �nd<br />

�B<br />

AÌB<br />

B<br />

Abbildung 4.2 Zur Berechnung der relativen Transformation A TB .<br />

�a ∈ A <strong>und</strong> � b ∈ B sowie zwischen �c ∈ A <strong>und</strong> � d ∈ B annehmen. Diese Annahme beschränkt<br />

alle Freiheitsgrade der relativen Lage. Aus einer solchen Lagehypothese kann<br />

natürlich bei Bedarf eine homogene 4×4-Transformationsmatrix berechnet werden. Abbildung<br />

4.2 illustriert eine mögliche Vorgehensweise. Die relative Transformation A TB<br />

wird hier mittels zweier Koordinatensysteme FA <strong>und</strong> FB (jeweils ein Koordinatensystem<br />

pro Fragment) ermittelt:<br />

A TB = F −1<br />

A · F B (4.5)<br />

mit FA :=F(�a,�c) <strong>und</strong> FB :=F( � b ∗ , � d ∗ ), wobei der hochgestellte Stern (in Anlehnung an<br />

die komplexe Konjugation) die Invertierung der Oberflächennormale kennzeichnet<br />

� b ∗ :=[�pb, −�nb] ; � d ∗ :=[�pd, −�nd] (4.6)<br />

<strong>und</strong> die Funktion F(�u,�v) eine homogene 4×4 Transformationsmatrix repräsentiert, welche<br />

zwischen den orientierten Punkten �u <strong>und</strong> �v liegt:<br />

⎡<br />

⎤<br />

F(�u,�v) :=<br />

⎣ �puv×�nuv<br />

��puv�nuv� �puv<br />

�puv�nuv�puv<br />

��puv�nuv�puv�<br />

�nb<br />

�pu+�pv<br />

2<br />

0 0 0 1<br />

mit dem Differenzvektor �puv <strong>und</strong> dem kombinierten Normalenvektor �nuv<br />

�pb<br />

⎦ (4.7)<br />

�puv := �pv − �pu<br />

��pv − �pu� ; �nuv := �nu + �nv. (4.8)<br />

Um singuläre Koordinatensysteme zu vermeiden, muss sichergestellt werden, dass die<br />

Länge von �puv <strong>und</strong> �nuv größer null ist. Die hiermit berechnete Transformation A TB richtet<br />

beide Punktpaare im Sinne des minimalen quadratischen Fehlers aus. Allerdings ist ein<br />

exakter tangentialer Kontakt an zwei Punkten nur dann möglich, wenn die Abstände


4.2. Formale <strong>Problem</strong>stellung <strong>und</strong> Begriffsdefinitionen 55<br />

der Punktpaare <strong>und</strong> die Oberflächenorientierungen an den Kontaktpunkten übereinstimmen.<br />

Genauer gesagt müssen wir überprüfen, ob das orientierte Punktpaar (�a,�c)<br />

geometrisch komplementär zu dem orientierten Punktpaar ( � b, � d) ist.<br />

Definition 6 (geometrisch komplementär / geometrisch kongruent) Zwei orientierte<br />

Punktmengen A <strong>und</strong> B sind geometrisch komplementär, wenn es eine relative<br />

Lage gibt, bei der jeder Punkt von A mit einem Punkt von B in tangentialem Kontakt<br />

steht <strong>und</strong> umgekehrt jeder Punkt von B in tangentialem Kontakt mit einem Punkt von<br />

A steht. Äquivalent dazu sind A <strong>und</strong> B genau dann geometrisch komplementär, wenn<br />

A geometrisch kongruent zu B ∗ := { � b ∗ | � b ∈ B} ist.<br />

ÈË�Ö��Ö�ÔÐ��Ñ�ÒØ×<br />

Bei genauerer Betrachtung stellt man fest, dass die räumliche Beziehung zwischen zwei<br />

orientierten Punkten auf einem Fragment eindeutig durch vier Relationen definiert werden<br />

kann:<br />

bestehend aus der euklidischen Distanz duv, den Neigungswinkeln αuv,βuv zwischen<br />

duv := ��pv − �pu� , (4.9)<br />

αuv := arccos(�nu · �puv), (4.10)<br />

βuv := arccos(�nv · �puv), (4.11)<br />

δuv := atan2 (�nu · (�puv × �nv), (�nu × �puv) · (�puv × �nv)), (4.12)<br />

�nu<br />

αuv<br />

�pu<br />

duv<br />

δuv<br />

βuv<br />

Abbildung 4.3 Relationen zwischen den orientierten Punkten �u <strong>und</strong> �v<br />

den Oberflächennormalen <strong>und</strong> der Verbindungsgeraden durch �pu <strong>und</strong> �pv, sowie dem<br />

Rotationswinkel δuv zwischen den Oberflächennormalen um die Verbindungsgerade. Die<br />

Skizze in Abbildung 4.3 veranschaulicht die vier Relationen. Es ist sofort ersichtlich, dass<br />

diese Relationen stets invariant gegenüber Rotation <strong>und</strong> Translation sind. Zwei orientierte<br />

Punktpaare sind also genau dann geometrisch kongruent, wenn die vier Relationen<br />

bei beiden Paaren übereinstimmen.<br />

Nachdem wir nun formal definiert haben, wie man gute Lagehypothesen konstruieren<br />

kann <strong>und</strong> nach welchem Gütemaß die Hypothesen bewertet werden, stellt sich sofort die<br />

Frage, wie dieser Ansatz effizient realisiert werden soll. Bei n Oberflächenpunkten pro<br />

Fragment gibt es zu jedem Fragment bereits n 2 verschiedene Punktpaare. Ein naiver<br />

Algorithmus, der alle Paarkombinationen auf Kongruenz überprüft, um gültige Hypothesen<br />

zu finden, hätte bereits eine Zeitkomplexität von O(n 4 ). Jede gültige Hypothese<br />

�pv<br />

�nv


56 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

muss dann noch durch Auszählen von tangentialen Kontakten bewertet werden, was in<br />

einer naiven Implementierung nochmals einen zusätzlichen Faktor von n 2 bedeutet. In<br />

den folgenden Abschnitten werden wir jedoch zwei Ansätze vorstellen, die diese <strong>Problem</strong>atik<br />

äußerst effizient lösen.<br />

4.3 Ein zufallsbasierter Ansatz: ’Random Sample Matching’<br />

Der erste Ansatz beruht auf einer zufallsbasierten Generierung von wahrscheinlichen<br />

Lagehypothesen <strong>und</strong> einer schnellen Hochrechnung der Kontaktfläche. Es handelt sich<br />

also um eine alternierende Hypothesengenerierung <strong>und</strong> Hypothesenverifizierung, die im<br />

Kern auf den klassischen RANSAC-Algorithmus zurückzuführen ist.<br />

4.3.1 <strong>Das</strong> RANSAC-Konzept<br />

Der Ausdruck ” RANSAC“ steht <strong>für</strong> ’Random Sample Consensus’ <strong>und</strong> wurde 1981 von<br />

Fischler & Bolles [23] geprägt. Bei dem RANSAC-Ansatz handelt es sich um einen<br />

Algorithmus zum Schätzen von Modellparametern aus einer Menge von Datenpunkten.<br />

Häufig wird der Ansatz zum Detektieren von analytisch beschreibbaren Geometrien (z.B.<br />

von Geraden oder Kreisen in Bildern) oder zum Kalibrieren von extrinsischen Kameraparametern<br />

verwendet. Somit ist der Ansatz auf die gleiche <strong>Problem</strong>klasse anwendbar,<br />

die auch von den ’Pose Clustering’-Verfahren (siehe Kapitel 3.3.2), wie z.B. der Hough-<br />

Transformation gelöst werden kann. Der zufallsbasierte Algorithmus ist zugleich einfach<br />

<strong>und</strong> mächtig: Zuerst wird eine zufällige Untermenge aus der Menge aller gemessenen<br />

Datenpunkte ausgewählt. Die Anzahl der auszuwählenden Punkte entspricht typischerweise<br />

der Mindestanzahl, die nötig ist, um alle Modellparameter festzulegen. Danach<br />

werden die Parameter des Modells unter Verwendung der ausgewählten Daten berechnet.<br />

Die Güte der Hypothese wird nun möglichst effizient unter Berücksichtigung aller<br />

vorhandenen Datenpunkte geschätzt. Ein gebräuchliches Gütemaß ist die Anzahl der<br />

Datenpunkte, die unter einer gewissen Toleranz zu der Hypothese passen. Der Vorgang<br />

wird solange wiederholt bis eine hinreichend gute Lösung gef<strong>und</strong>en oder ein Zeitlimit<br />

überschritten wurde. Der folgende Algorithmus verdeutlicht die Vorgehensweise nochmals<br />

an einem konkreten Anwendungsbeispiel:<br />

RANSAC-Algorithmus zur Detektion von Geraden in Binärbildern<br />

Gegeben sei ein beliebiges Binärbild in dem geradenhafte Strukturen gesucht werden<br />

sollen. In jedem Durchlauf werden zuerst zufällig zwei gesetzte Bildpunkte ausgewählt<br />

<strong>und</strong> angenommen, dass durch diese Punkte eine Gerade verläuft. Danach wird geprüft,<br />

wie viele weitere Punkte zu dieser Geraden passen.<br />

1. Wähle zufällig zwei Punkte p1 <strong>und</strong> p2 aus der Menge aller gesetzten Bildpunkte<br />

aus.


4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’ 57<br />

2. Berechne die Parameter einer Geraden g die durch p1 <strong>und</strong> p2 verläuft.<br />

3. Schätze die Güte von g durch Auszählen der gesetzten Bildpunkte deren Abstand<br />

zu g kleiner als ε ist.<br />

4. Wiederhole Schritt 1-3 bis die Lösung gut genug ist, alle Punktpaare ausgewählt<br />

wurden, oder ein Zeitlimit überschritten ist.<br />

Der Algorithmus ist aufgr<strong>und</strong> seiner Zufallskomponente nicht deterministisch, aber terminiert<br />

nach endlicher Zeit, falls in Schritt 1 da<strong>für</strong> gesorgt wird, dass kein Punktpaar<br />

doppelt ausgewählt wird. Die Kernidee besteht darin, zum einen nur Geraden zu prüfen,<br />

die durch mindestens zwei Punkte verlaufen <strong>und</strong> zum anderen so schnell es geht möglichst<br />

viele dieser Geraden zu überprüfen. Die Laufzeit des Algorithmus hängt erheblich<br />

von der Effizienz der Güteberechnung in Schritt 3 ab. Bei einer großen Anzahl von<br />

gesetzten Punkten kann die Güteberechnung stark von einer schnellen Hochrechnung<br />

profitieren. Jede Hypothese wird dabei zuerst mit einer geringen Anzahl von gesetzten<br />

Bildpunkten getestet. Falls eine Hochrechnung auf die Gesamtmenge eine schlechte<br />

Güte vorhersagt bzw. die Güte weit unter dem bis dato besten Ergebnis liegt, wird<br />

die Güteberechnung abgebrochen <strong>und</strong> eine neue Hypothese generiert. <strong>Das</strong> RANSAC-<br />

Verfahren bietet die gleiche Robustheit gegenüber Ausreißern wie die wohl bekannte<br />

Hough-Transformation <strong>für</strong> Geraden [42] (siehe auch Abbildung 4.4), bietet aber einige<br />

zusätzliche Vorteile:<br />

(i) Es wird kein Akkumulartorarray (Hough-Raum) benötigt, weshalb der Speicherbedarf<br />

marginal ist. Außerdem werden die Modellparameter nicht auf einen diskreten<br />

Raum abgebildet. Die Parameterquantisierung grenzt die Genauigkeit der Hough-<br />

Transformation ein, da der Speicherbedarf mit Erhöhung der Genauigkeit ansteigt<br />

<strong>und</strong> die lokalen Optima in Cluster zerfallen, die über mehrere Hough-Raumzellen<br />

verteilt sind, was die Suche nach Clustern erschwert.<br />

(ii) Der RANSAC-Algorithmus findet durch seine datenpunktgetriebene zufällige Abtastung<br />

des Lösungsraums sehr schnell ” gute“ Lösungen, wodurch die Güteberechnung<br />

schneller wird, da im Folgenden immer mehr Hypothesen frühzeitig durch die<br />

Hochrechnung ausgemustert werden.<br />

(iii) Die Suche kann jederzeit abgebrochen werden. Ein Abbruchkriterium könnte beispielsweise<br />

eine Gütevorgabe sein, die zu erfüllen ist oder ein Zeitlimit, das überschritten<br />

wurde. Letzteres macht das Verfahren besonders interessant <strong>für</strong> Echtzeitanwendungen.<br />

(iv) Die Implementierung ist sehr einfach <strong>und</strong> ohne <strong>Problem</strong>e zu parallelisieren.<br />

Tabelle 4.1 zeigt die Zeit- <strong>und</strong> Speicherkomplexität der Hough-Transformation <strong>und</strong> des<br />

RANSAC-Ansatzes im Vergleich. Die asymptotische Zeitkomplexität ist bei beiden Methoden<br />

vergleichbar. Starke Laufzeitunterschiede zeigen sich jedoch in einem Vorfaktor,<br />

der bei der Hough-Transformation von der gewünschten Genauigkeit (Auflösung des<br />

Hough-Raums) <strong>und</strong> bei dem RANSAC-Algorithmus vom Prozentsatz der ’inlier’ abhängt.<br />

Dieser Unterschied verdeutlicht auch die Nachteile des RANSAC-Ansatzes: Die


�Ù×Ö����Ö<br />

58 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

ÔÐ��Ñ�ÒØ× ��Ö���Ð�ÖÕÙ��Ö�Ø� ÇÔØ�ÑÙÑ���Å�Ò�Ñ��ÖÙÒ�<br />

Á���Ð�ÅÓ��Ð��Ö���<br />

Abbildung 4.4 Die lineare Regression bzw. Minimierung der Fehlerquadrate kann aufgr<strong>und</strong><br />

von Ausreißern leicht zum falschen Ergebnis führen.<br />

Tabelle 4.1 Komplexitätsvergleich von Hough-Transformation <strong>und</strong> RANSAC-Verfahren: n ist<br />

die Anzahl der Datenpunkte; m ist die Anzahl der ’inlier’; d ist die Anzahl der Freiheitsgrade<br />

des Modells; b ist die Auflösung des Hough-Raums. Unter der realistischen Annahme, dass b<br />

<strong>und</strong> n/m konstant sind, werden sämtliche Zeitkomplexitäten zu O (n) <strong>und</strong> alle Speicherkomplexitäten<br />

zu O (1).<br />

Geradensuche Allgemein<br />

Hough-Trans.<br />

Zeit<br />

O (n · b)<br />

Speicher<br />

O (b<br />

Zeit Speicher<br />

2 ) O � n · b d−1� O � b d�<br />

RANSAC O � n · ( n<br />

m )2�<br />

O(1) O � n · ( n<br />

m )d�<br />

Laufzeit steigt an, wenn die Anzahl der ’inlier’ im Verhältnis zur Gesamtpunktanzahl<br />

abfällt, da in diesem Fall die Wahrscheinlichkeit, zufällig eine gute Lösung zu finden, kleiner<br />

wird. Bei einer hohen Anzahl von ’outlier’ <strong>und</strong> geringen Genauigkeitsanforderungen<br />

ist die Hough-Transformation effizienter. Zum anderen kann der nichtdeterministische<br />

Charakter des RANSAC-Verfahrens als Nachteil angesehen werden, da im Vorfeld nie<br />

ganz klar ist, wie lange der Algorithmus benötigt.<br />

RANSAC übertragen auf das <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong><br />

Im Folgenden werden wir das RANSAC-Konzept auf das Matchen von Oberflächen<br />

übertragen. Der vorgeschlagene Ansatz durchsucht auf effiziente Weise den Raum aller<br />

relativen Lagen zweier Fragmente. Transformationen, bei denen die Fragmente nicht<br />

in Kontakt stehen, werden von vornherein ausgeschlossen. Die gesuchte relative Lage<br />

wird danach bewertet, wie groß der Oberflächenkontakt zwischen den Fragmenten ist.<br />

Des weiteren sollten Fragmentdurchdringungen vermieden werden, weshalb sie eine Gütestrafe<br />

erhalten. Wie beim klassischen RANSAC-Algorithmus werden wahrscheinliche<br />

O(1)


4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’ 59<br />

Hypothesen generiert <strong>und</strong> deren Güte durch eine effiziente Hochrechnung geschätzt. Der<br />

Basisalgorithmus besteht aus den folgenden Schritten:<br />

1. Konstruiere eine Lagehypothese durch Annahme eines tangentialen Kontaktes zwischen<br />

dem zufällig ausgewählten orientierten Punktpaar �a,�c ∈ A <strong>und</strong> einem dazu<br />

geometrisch komplementären Punktpaar � b, � d ∈ B.<br />

Optional: Überprüfe ob lokale Merkmale an den Kontaktpunkten übereinstimmen.<br />

2. Berechne die Güte (die Größe der Kontaktfläche) der Lagehypothese. Die Effizienz<br />

dieses Schrittes wird erheblich durch eine schnelle zufallsbasierte Hochrechnung<br />

gesteigert.<br />

3. Wiederhole die Schritte 1 <strong>und</strong> 2 <strong>und</strong> speichere das jeweils beste Ergebnis, solange<br />

bis die Güte hinreichend hoch ist, alle Hypothesen getestet wurden oder die<br />

maximale Suchzeit abgelaufen ist.<br />

Es ist offensichtlich, dass die Wahrscheinlichkeit korrespondierende Oberflächenpunkte<br />

zu finden durch die Berücksichtigung von lokalen Oberflächenmerkmalen stark erhöht<br />

werden kann. In den Experimenten in Abschnitt 4.3.4 wird beispielsweise die mittlere<br />

Krümmung verwendet, wodurch auf einfache Weise über 95% der Kontaktpunktpaare<br />

ausgeschlossen werden können.<br />

Die Stärke des Algorithmus ist seine Unabhängigkeit gegenüber der Fragmentform. Die<br />

Effizienz ist direkt proportional zu der Größe der kompatiblen Bruchfläche <strong>und</strong> bleibt<br />

unbeeinflusst gegenüber einem kleinen Konvergenzradius ∗ oder einer geringen Fügerichtungstoleranz<br />

(wie beispielsweise beim Fügen von Stift <strong>und</strong> Loch oder Stecker <strong>und</strong><br />

Sockel).<br />

4.3.2 Schnelle Generierung von Lagehypothesen<br />

In einer eigenen Arbeit (siehe Winkelbach et al. [98]) wurde bereits eine sehr schnelle<br />

Methode zur Generierung von Lagehypothesen vorgestellt. Dieser Ansatz wurde inzwischen<br />

jedoch weiterentwickelt, wodurch der Matching-Algorithmus um ein Vielfaches<br />

beschleunigt wurde. In den experimentellen Ergebnissen ist eine Beschleunigung um<br />

den Faktor 20 bis 40 bzw. bei der Registrierung von Tiefendaten sogar ein Faktor von<br />

40 bis 100 (siehe Winkelbach et al. [97]) zu beobachten.<br />

In Abschnitt 4.2 haben wir gesehen, wie man Lagehypothesen aus den gegebenen Punktwolken<br />

konstruieren kann. Hierzu wählen wir ein orientiertes Punktpaar auf Fragment A<br />

aus <strong>und</strong> benötigen dann ein geometrisch komplementäres Punktpaar auf Fragment B.<br />

Die Lagehypothese ist dann die Annahme eines tangentialen Kontaktes zwischen beiden<br />

Punktpaaren. Angenommen wir haben zwei Oberflächen A <strong>und</strong> B, die vollständig geometrisch<br />

komplementär sind <strong>und</strong> durch Punktwolken mit jeweils n orientierten Punkten<br />

repräsentiert werden. Die Frage ist: Wie lange dauert es, bis man zwei korrespondierende<br />

Punktpaare (eines auf A <strong>und</strong> eines auf B) findet?<br />

∗ Konvergenzradius bezeichnet hier den maximalen Lagefehler, den eine Initiallösung haben darf, damit sie<br />

in das globale Optimum konvergiert.


60 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

Wenn man ein Punktpaar auf A gewählt hat, dann ist die Wahrscheinlichkeit, zufällig<br />

das korrespondierende Punktpaar auf B zu ziehen, 1/n 2 . Man muss also im Schnitt<br />

n 2 +1 Punktpaare betrachten, bis man zwei korrespondierende Paare erwischt (Ziehen<br />

mit Zurücklegen). Dies entspricht bereits einer nicht zu vernachlässigenden Komplexität<br />

von O(n 2 ). Dieses Laufzeitverhalten scheint auf den ersten Blick unvermeidbar zu sein.<br />

Doch durch einen einfachen Trick geht es wesentlich schneller: Angenommen wir tragen<br />

in einem Vorverarbeitungsschritt n 2 /k Punktpaare von A in eine ’Hashtabelle’ ein, wobei<br />

die Hashtabelle mit translations- <strong>und</strong> rotationsinvarianten Merkmalen/Hashwerten<br />

indiziert wird. Nehmen wir des weiteren vereinfacht an, dass die Hashwerte eindeutig<br />

sind. Wenn wir nun zufällig ein Punktpaar auf Fragment B wählen, dann ist die Wahrscheinlichkeit<br />

1/k, dass wir ein dazu passendes Paar von A in der Hashtabelle finden.<br />

Somit brauchen wir im Schnitt nur noch n 2 /k+k Paare zu betrachten (Vorverarbeitung<br />

mitgezählt). Bei k = n wären das beispielsweise nur noch 2n Paare. Es bleibt also die<br />

erfreulich geringe Komplexität von O(n) übrig.<br />

Und es geht noch etwas schneller: Wenn wir nun alternierend erst ein zufälliges Punktpaar<br />

von A ziehen <strong>und</strong> in die Hashtabelle eintragen <strong>und</strong> dann ein zufälliges Punktpaar<br />

von B ziehen <strong>und</strong> in die Hashtabelle eintragen, brauchen wir im Schnitt nur noch ca.<br />

1,2 · n Paare zu betrachten bis es zu einer Kollision kommt. Diese Methode entspricht<br />

dem so genannten Geburtstagsangriff [90] aus dem Bereich der Kryptologie, welcher<br />

dazu missbraucht werden kann, zwei verschiedene Dokumente mit der gleichen digitalen<br />

Signatur (Hashwerten) zu erzeugen. Der Begriff ’Geburtstagsangriff’ ist wiederum von<br />

dem so genannten Geburtstagsparadoxon abgeleitet. <strong>Das</strong> Geburtstagsparadoxon besagt,<br />

dass bei 23 Personen die Wahrscheinlichkeit, dass mindestens zwei Personen am gleichen<br />

Tag im Jahr Geburtstag haben, bereits größer als 1/2 ist. Es handelt sich also um kein<br />

’Paradoxon’ im eigentlichen Sinne, sondern es wird lediglich so bezeichnet, da es der<br />

üblichen Intuition widerspricht.<br />

Nach diesem Prinzip arbeitet auch der Algorithmus. Anstatt einer Hashtabelle verwenden<br />

wir jeweils eine 4d Relationstabelle pro Fragment. Diese Tabellen werden nun<br />

alternierend mit zufälligen Punktpaaren gefüllt. Als Tabellenindizes dienen die vier<br />

translations- <strong>und</strong> rotationsinvarianten Relationen eines orientierten Punktpaares (�u,�v),<br />

die bereits in den Gleichungen (4.9)–(4.12) auf Seite 55 zur Überprüfung der geometrischen<br />

Kongruenz von Punktpaaren aufgestellt wurden:<br />

⎡ ⎤<br />

duv<br />

⎢<br />

rel (�u,�v) := ⎢cosαuv<br />

⎥<br />

⎣cosβuv<br />

⎦ :=<br />

⎡<br />

⎢<br />

⎣<br />

��pv − �pu�<br />

�nu · �puv<br />

�nv · �puv<br />

⎤<br />

⎥<br />

⎦ (4.13)<br />

atan2 (�nu · (�puv × �nv).(�nu × �puv) · (�puv × �nv))<br />

δuv<br />

Zur Beschleunigung der atan2-Funktion kann eine einfache eindimensionale LookUp-<br />

Tabelle <strong>für</strong> den Arkustangens <strong>und</strong> eine Fallunterscheidung verwendet werden. Wahl et al.<br />

[87] haben gezeigt, dass ganz ähnliche Relationsvektoren auch in Merkmalshistogrammen<br />

akkumuliert <strong>und</strong> zur schnellen <strong>3d</strong> Formklassifizierung verwendet werden können.<br />

Die Suchschleife des Algorithmus arbeitet nun folgendermaßen:


4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’ 61<br />

1. Wähle ein zufälliges orientiertes Punktpaar �a,�c ∈ A <strong>und</strong> berechne den zugehörigen<br />

Relationsvektor rel(�a,�c).<br />

2. Trage das Punktpaar in die Relationstabellen RA ein: RA[rel(�a,�c)] ← (�a,�c).<br />

3. Lies die andere Relationstabelle RB an der gleichen Stelle aus: ( � b, � d) ← RB[rel(�a,�c)].<br />

Falls an dieser Stelle bereits ein Eintrag steht ⇒ neue Lagehypothese (�a, � b, �c, � d).<br />

Optional: Prüfe ob feature(�a) = feature( � b) <strong>und</strong> feature(�c) = feature( � d).<br />

4. Wähle ein zufälliges orientiertes Punktpaar � b, � d ∈ B <strong>und</strong> berechne den zugehörigen<br />

Relationsvektor rel( � b ∗ , � d ∗ ).<br />

5. Trage das Punktpaar in die Relationstabellen RB ein: RB[rel( � b ∗ , � d ∗ )] ← ( � b, � d).<br />

6. Lies die Relationstabelle RA an der gleichen Stelle aus: (�a,�c) ← RB[rel( � b ∗ , � d ∗ )].<br />

Falls an dieser Stelle bereits ein Eintrag steht ⇒ neue Lagehypothese (�a, � b, �c, � d).<br />

Optional: Prüfe ob feature(�a) = feature( � b) <strong>und</strong> feature(�c) = feature( � d).<br />

Diese Schritte werden wiederholt, bis die Hypothese gut genug ist, alle Kombinationen<br />

getestet wurden oder das Zeitlimit abgelaufen ist. Natürlich müssen im Schritt 1 <strong>und</strong> 4<br />

die vier Relationen jeweils auf einen beschränkten ganzzahligen Wertebereich normiert<br />

werden, damit sie als Tabellenindizes dienen können. In den Experimenten haben sich<br />

4d Relationstabellen mit jeweils 32 4 Zellen bewährt. Dies ergibt bei 2x2 Bytes pro Zelle<br />

einen vertretbaren Speicherbedarf von vier Megabyte pro Tabelle. In Abbildung 4.5<br />

wird die Vorgehensweise nochmals anschaulich dargestellt. Hiermit wird eine Laufzeitkomplexität<br />

von O(n) <strong>für</strong> die erste Hypothese erreicht; diese konvergiert jedoch <strong>für</strong><br />

weitere Hypothesen gegen eine effiziente Laufzeit von O(1), da die Relationstabellen<br />

immer weiter gefüllt werden.


62 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

c<br />

A<br />

A<br />

a<br />

a<br />

c<br />

(a,c)<br />

(a,c)<br />

RA<br />

RA<br />

?<br />

RA<br />

RA<br />

?<br />

?<br />

RB<br />

?<br />

RB<br />

RB<br />

RB<br />

(b,d)<br />

(b,d)<br />

Abbildung 4.5 Generierung von Lagehypothesen: In einer Schleife werden alternierend Punktpaare<br />

in die Relationstabellen RA <strong>und</strong> RB eingetragen. Hierdurch füllen sich die Tabellen <strong>und</strong><br />

es finden sich nach kurzer Zeit Punktpaare mit gleichen Relationen, die demnach per Rotation<br />

<strong>und</strong> Translation aufeinander abbildbar sind <strong>und</strong> als Lagehypothese dienen.<br />

b<br />

d<br />

d<br />

B<br />

B<br />

b


4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’ 63<br />

4.3.3 Effiziente Bewertung der Lagehypothesen<br />

Nach der Generierung einer Lagehypothese muss die Güte der Hypothese überprüft<br />

werden. Hier<strong>für</strong> berechnen wir zuerst die zur Lagehypothese zugehörige relative Transformation<br />

A TB (zur Berechnung siehe Gleichung (4.5), Seite 54) <strong>und</strong> dann die Größe<br />

der Kontaktfläche zwischen den beiden Fragmenten A <strong>und</strong> B bzw. das Verhältnis Ω zwischen<br />

Kontaktpunktanzahl <strong>und</strong> Gesamtpunktanzahl (vergleiche Gleichung (4.4)). Dieses<br />

Verhältnis kann auch als Wahrscheinlichkeit, dass ein zufälliger Punkt �x ∈ A in der gegebenen<br />

Lage in Kontakt mit einem Punkt �y ∈ B steht, interpretiert werden. Deshalb<br />

können wir Ω durch eine effiziente Monte-Carlo-Hochrechnung abschätzen, indem wir eine<br />

Sequenz von Zufallspunkten auf Kontakt überprüfen. Der Vorteil hierbei ist, dass die<br />

Güteschätzung frühzeitig abgebrochen werden kann, falls der Erwartungswert weit unter<br />

dem bisher besten Matching-Ergebnis liegt. Der Nachteil ist jedoch, dass hierdurch eine<br />

optimale Lösung, aufgr<strong>und</strong> einer falschen Hochrechnung, verloren gehen kann. Da jedoch<br />

viele Hypothesen nahezu die gleiche relative Lage repräsentieren, ist das ’Übersehen’ all<br />

dieser Lösungen extrem unwahrscheinlich <strong>und</strong> praktisch zu vernachlässigen.<br />

Angenommen wir haben eine Sequenz �x1,...�xk von unabhängigen orientierten Zufallspunkten<br />

auf Fragment A, die bereits durch Multiplikation mit AT −1<br />

B in das Koordinatensystem<br />

von Fragment B transformiert wurden. Dann ist Ω gegeben durch<br />

�k i=1<br />

Ω := lim<br />

k→∞<br />

contactB(�xi)<br />

k<br />

, (4.14)<br />

wobei contactB(�xi) eine Funktion ist, die bestimmt, ob ein Punkt �x in Kontakt mit<br />

Fragment B steht<br />

�<br />

1 falls ��px − �py� < ε .<br />

contactB(�x) :=<br />

(4.15)<br />

0 sonst.<br />

Hierbei bezeichnet �y = [�py,�ny] jeweils denjenigen orientierten Punkt auf Fragment B,<br />

der die kürzeste Distanz zu �x hat<br />

�y := arg min ��px − �pb� . (4.16)<br />

�b∈B Für die Suche nach dem Punkt mit der kürzesten Distanz verwenden wir einen kd-tree<br />

(siehe Friedman et al. [25]), wodurch eine logarithmische Zeitkomplexität erreicht wird.<br />

Im Gegensatz zu Gleichung (4.14) ist es jedoch nur möglich eine begrenzte Anzahl<br />

von Zufallspunkten auf Kontakt zu testen. Aus diesem Gr<strong>und</strong> kann Ω nur bis zu einem<br />

vorgegebenen Genauigkeitsgrad approximiert werden. Dies ist jedoch nur bei kontinuierlichen<br />

Oberflächen eine Einschränkung, da bei Punktwolken die Anzahl von vornherein<br />

begrenzt ist. Unter Berücksichtigung eines marginalen Fehlers kann Ω <strong>für</strong> jeden zusätzlichen<br />

Zufallspunkt genauer approximiert werden<br />

Ω ≈<br />

�k i=1 contactB(�xi)<br />

±<br />

k<br />

1, 96<br />

2 √ . (4.17)<br />

k


64 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

Wobei diese Darstellung ein Konfidenzintervall beschreibt, innerhalb dessen der tatsächliche<br />

Wert mit einer 95%-tigen Wahrscheinlichkeit liegt. Wenn die obere Grenze<br />

des Intervalls schlechter als das bisher beste Matching-Ergebnis ist, brechen wir die<br />

Berechnung ab <strong>und</strong> testen die nächste Lagehypothese. Auf diese Weise wird die Güteberechnung<br />

während der Laufzeit schneller <strong>und</strong> schneller, je besser die bisher beste<br />

Hypothese wird.<br />

Bisher haben wir noch keine Durchdringungen berücksichtigt. Um sicherzustellen, dass<br />

die Fragmente sich nicht durchdringen, subtrahieren wir einfach eine Gütestrafe <strong>für</strong><br />

Durchdringungspunkte (also Punkte des einen Fragments, die sich innerhalb des anderen<br />

Fragments befinden). Dies kann beispielsweise durch eine negative Gewichtung während<br />

der Kontaktpunktberechnung erfolgen<br />

⎧<br />

⎨ 1 falls ��px − �py� < ε , (Kontakt)<br />

contactB(�x) = −4 falls ��px − �py� ≥ ε ∧ (�px − �py) · �ny < 0 , (innen) (4.18)<br />

⎩<br />

0 sonst. (außen)<br />

4.3.4 Experimentelle Ergebnisse<br />

Nachdem alle Schritte des ’Random Sample Matching’-Ansatz erläutert wurden, wollen<br />

wir an dieser Stelle die Performanz des Ansatzes anhand von unterschiedlichen Fragmenten<br />

evaluieren. Alle Experimente wurden auf einem handelsüblichen PC mit AMD Athlon<br />

64 Prozessor <strong>und</strong> 2.2GHz durchgeführt. Um die Genauigkeit der Matching-Resultate<br />

zu bewerten, vergleichen wir die algorithmisch berechnete relative Lage mit einer exakten<br />

Ziellage. Als Genauigkeitsmaße dienen zum einen die rotatorische Abweichung <strong>und</strong><br />

zum anderen die mittlere Bruchflächendistanz. Neben der Genauigkeit <strong>und</strong> Robustheit<br />

werden wir insbesondere die Effizienz des Verfahrens analysieren.<br />

Betrachten wir als erstes exemplarisch die Bruchstücke des Venuskopfes in Abbildung 4.6.<br />

Hierbei handelt es sich um ein <strong>3d</strong> Modell, welches künstlich in drei Teile zerschnitten<br />

wurde. Als Schnittfläche dienten zufällige fraktale Oberflächen, die manuell in das Objekt<br />

hineingelegt wurden. Nach der Auftrennung der Punktwolke des Kopfes in zwei<br />

Untermengen, wurden jeweils <strong>für</strong> beide Seiten die Oberflächenpunkte der Schnittfläche<br />

(also die Bruchflächen) hinzugefügt. Um reale Testbedingungen zu schaffen, wurden<br />

die Bruchflächen beider Seiten jeweils unterschiedlich abgetastet, so dass selbst in der<br />

korrekten Ziellage die Oberflächenpunkte der Bruchflächen nicht exakt aufeinander fallen.<br />

Nach dem Start des ’Random Sample Matching’-Algorithmus können wir uns zu<br />

jedem Zeitpunkt das bisher beste Matching-Ergebnis ausgeben lassen. Die Kurve in<br />

Abbildung 4.7 oben zeigt exemplarisch die mittlere Bruchflächendistanz, also die mittlere<br />

Distanz zwischen Ist- <strong>und</strong> Sollposition der Bruchflächenpunkte, sowie die Größe<br />

der Kontaktfläche über der Laufzeit eines Matching-Durchlaufes. Darunter sind einige<br />

Zwischenlösungen abgebildet. Gut zu sehen ist, dass der Algorithmus erst völlig falsche<br />

Zwischenlösungen vorschlägt. Die berechnete Güte der Lagehypothese (also die Größe<br />

der Kontaktflächen) steigt zwar von einer Zwischenlösung zur nächsten stetig an, dies<br />

führt jedoch nicht zwangsweise zu genaueren Ergebnissen. <strong>Das</strong> heißt, die Genauigkeit


4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’ 65<br />

Abbildung 4.6 (Links) 3D-Scan des Venuskopfes; (Rechts) Fragmente nach dem künstlichen<br />

Zerbrechen.<br />

Abbildung 4.7 Matching-Durchlauf: (Oben) Mittlere Bruchflächendistanz (prozentual bzgl.<br />

des maximalen Fragmentdurchmessers) <strong>und</strong> Größe der Kontaktfläche im zeitlichen Verlauf;<br />

(Unten) Einige Zwischenergebnisse.


66 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

Abbildung 4.8 Vier weitere Matching-Durchläufe bei gleichen Eingabedaten.


4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’ 67<br />

springt zufällig auf <strong>und</strong> ab, solange bis der Algorithmus (in diesem Fall nach ca. 1,3 Sek<strong>und</strong>en)<br />

in die Nähe des Optimums trifft <strong>und</strong> die Lösung danach nur noch besser werden<br />

kann. Da der Algorithmus zufallsbasiert arbeitet, erhalten wir nach jedem Start (mit<br />

geänderten ’seed’-Werten <strong>für</strong> den Zufallszahlengenerator) ein anderes Verhalten. Einige<br />

weitere Versuchsdurchläufe bei gleichen Eingabedaten sind in Abbildung 4.8 dargestellt.<br />

Um statistische Aussagen über die Performanz machen zu können, wurden jeweils 100<br />

Testdurchläufe pro Fragmentpaar angefertigt. Die Ergebnisse aller 100 Durchläufe beim<br />

Venuskopf sind in der obersten Grafik in Abbildung 4.9 überlagert. Jeder Punkt stellt<br />

hier die erreichte Genauigkeit (bzw. Bruchflächendistanz bzgl. des maximalen Fragmentradius)<br />

zu einem Zeitpunkt dar. Zu jedem Zeitpunkt liegen also jeweils 100 Datenpunkte<br />

vertikal übereinander. Eine übliche Darstellung ist die mittlere Genauigkeit <strong>und</strong> die zugehörige<br />

Standardabweichung pro Zeitpunkt. Diese Darstellungsform ist in der mittlere<br />

Grafik in Abbildung 4.9 zu sehen. Allerdings ist der Mittelwert <strong>und</strong> insbesondere die<br />

Standardabweichung nur dann aussagekräftig, wenn die Messpunkte nahezu normalverteilt<br />

sind. Dies ist aber in unserem Fall nicht gegeben <strong>und</strong> führt deshalb leicht zu<br />

Fehlinterpretationen. Zum Beispiel impliziert die Kurve des Mittelwertes, dass nach einer<br />

Laufzeit von 1,5 Sek<strong>und</strong>en im Schnitt eine Bruchflächendistanz von ca. 15% erreicht<br />

wird. Wenn wir uns allerdings die zugehörigen Messpunkte anschauen, sehen wir, dass<br />

eine Bruchflächendistanz von 15% nicht vorkommt, <strong>und</strong> dass zu diesem Zeitpunkt bereits<br />

über 70% aller Versuchsdurchläufe eine wesentlich bessere Bruchflächendistanz von unter<br />

5% erzielt haben. Der schlechte Mittelwert an dieser Stelle wurde durch eine Minderheit<br />

von Ausreißern verursacht. Ebenso wie der Mittelwert kann auch die Standardabweichung<br />

fehlinterpretiert werden, denn diese wird normalerweise als ein Konfidenzintervall<br />

mit 68%iger Wahrscheinlichkeit gedeutet. Genauer gesagt fallen bei normalverteilten<br />

Daten 68% der Messpunkte in das Intervall [Mittelwert±Standardabweichung]. In unserer<br />

Veruchsreihe liegen jedoch zu weiten Teilen kaum Messpunkte in diesem Bereich.<br />

Wesentlich aussagekräftiger ist hingegen der Medianwert in Abbildung 4.9 unten. Genau<br />

50% der Messungen liegen unterhalb, die anderen 50% oberhalb der Mediankurve. Auch<br />

das Sprungverhalten der einzelnen Versuchreihen spiegelt sich in dieser Kurve wider. Der<br />

Zeitpunkt des Sprungs entspricht der Laufzeit, zu der die Hälfte aller Versuchsdurchläufe<br />

das Optimum (bzw. die unmittelbare Nähe zu diesem) gef<strong>und</strong>en haben. Die Sprunghöhe<br />

der Mediankurve kann auch als Distanz zwischen lokalen Optima <strong>und</strong> globalem Optimum<br />

interpretiert werden. Neben dem Median, der die sortierten Datenpunkte in der<br />

Mitte trennt, können gleichzeitig Quantile berechnet werden, die die tatsächliche Anzahl<br />

der Datenpunkte <strong>und</strong> die Abweichung vom Median repräsentieren. <strong>Das</strong> am hellsten<br />

unterlegte Intervall (Quantil 10%-90%) in der Grafik enthält beispielsweise 80% der Datenpunkte,<br />

bzw. 90% der Messreihen liegen unterhalb der Obergrenze dieses Intervalls<br />

(90% Quantil). Hieran ist auch abzulesen, dass bereits nach 2,5 Sek<strong>und</strong>en über 90% der<br />

Durchläufe ein sehr gutes Ergebnis erzielt haben. Im Folgenden werden wir uns auf die<br />

Darstellung der Median- <strong>und</strong> Quantilkurven beschränken.<br />

Bevor wir zu weiteren Datensätzen übergehen, wollen wir an dieser Stelle den Einfluss<br />

der Oberflächennormalenberechnung <strong>und</strong> den Einfluss von Rauschen genauer untersu-


68 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

Bruchflächendistanz bzgl. Durchmesser<br />

Bruchflächendistanz bzgl. Durchmesser<br />

Bruchflächendistanz bzgl. Durchmesser<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

Venus:<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s 3,5s 4s 4,5s 5s<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

Venus:<br />

Mittelwert<br />

± Standardabweichung<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s 3,5s 4s 4,5s 5s<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

Venus:<br />

Median<br />

Quantil 40% bis 60%<br />

Quantil 30% bis 70%<br />

Quantil 20% bis 80%<br />

Quantil 10% bis 90%<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s 3,5s 4s 4,5s 5s<br />

Abbildung 4.9 Genauigkeit während 100 Matching-Durchläufen: (Oben) Überlagerte Messpunkte;<br />

(Mitte) Mittelwert ± Standardabweichung; (Unten) Median <strong>und</strong> Quantile.


4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’ 69<br />

Bruchflächendistanz bzgl. Durchmesser<br />

Bruchflächendistanz bzgl. Durchmesser<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

Venus − Normalenberechnungsradius 1:<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

Venus − Normalenberechnungsradius 3:<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

Bruchflächendistanz bzgl. Durchmesser<br />

Bruchflächendistanz bzgl. Durchmesser<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

Venus − Normalenberechnungsradius 2:<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

Venus − Normalenberechnungsradius 5:<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

Abbildung 4.10 Performanzgewinn durch Vergrößerung des Operatorfensters bei der Berechnung<br />

von Oberflächennormalen. (Zugehörige Messpunkte siehe Anhang, Abbildung B.1, Seite<br />

143).<br />

chen. Die Oberflächennormalen werden insbesondere zur Erzeugung von Lagehypothesen<br />

verwendet. Eine robuste Berechnung der Normalen kann daher die Performanz des<br />

Matching-Algorithmus maßgeblich verbessern. In Kapitel 2 wurden bereits unterschiedliche<br />

Methoden zur Gewinnung <strong>und</strong> Berechnung von Oberflächennormalen vorgestellt.<br />

Bei Punktwolken können die Oberflächennormalen beispielsweise über ein lokales Fitting<br />

von Tangentialebenen berechnet werden. Dabei ist der Radius des lokalen Operators<br />

frei wählbar. Je größer der Radius, desto robuster ist die Oberflächennormale gegenüber<br />

Rauschen. Gleiches gilt natürlich <strong>für</strong> die Oberflächenkrümmung. Allerdings kann ein<br />

größerer Radius auch die Performanz bei unverrauschten Oberflächen verbessern. In der<br />

Versuchsreihe in Abbildung 4.10 wurden wieder die Venusfragmente mit der künstlichen,<br />

unverrauschten Bruchfläche verwendet. <strong>Das</strong> Operatorfenster <strong>für</strong> die Normalen<strong>und</strong><br />

Krümmungsberechnung wurde schrittweise vom Radius 1 auf Radius 5 erhöht.<br />

Wie man sieht, verbessert sich hierdurch das Laufzeitverhalten rapide. Dies ist darauf<br />

zurückzuführen, dass die Oberflächennormalen implizit geglättet werden, was wieder-


70 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

um zu einer Glättung der Gütefunktion im Suchraum führt. Durch die Glättung der<br />

Gütefunktion wird das globale Optimum verbreitert <strong>und</strong> damit erhalten auch Nachbarlösungen<br />

eine hohe Güte. Hierdurch findet der Algorithmus schneller Lagehypothesen<br />

mit hohem Gütemaß. Dies wiederum beschleunigt den Algorithmus, da viele schlechtere<br />

Lagehypothesen durch die Hochrechnung frühzeitiger aussortiert werden können.<br />

Allerdings kann sich ein zu großer Radius auch nachteilig auswirken, da hierdurch die<br />

Normalen an den Objektkanten verschliffen werden. Insbesondere am Randbereich der<br />

Bruchflächen führt dies dazu, dass das Operatorfenster in intakte Oberflächenbereiche<br />

hineinreicht <strong>und</strong> die Normalen an diesen Stellen nicht mehr mit dem korrespondierenden<br />

Gegenstück übereinstimmen. Aus diesem Gr<strong>und</strong> wird in allen folgenden Experimenten<br />

ein Operatorfenster mit einem moderaten Radius von 3 verwendet.<br />

Es ist offensichtlich, dass durch die Vergrößerung des Berechnungsradius auch die Beeinflussung<br />

von Messrauschen verringert wird. Um den Einfluss von Rauschen zu überprüfen,<br />

werden wir die Fragmente im Folgenden mit unterschiedlich starkem normalverteilten<br />

Rauschen überlagern. Abbildung 4.11 zeigt ein Fragment des Venuskopfes mit<br />

unterschiedlicher Rauschvarianz. Hier wird deutlich, wie sich dieses Rauschen auf die<br />

Performanz des Matching-Verfahrens auswirkt. Wie erwartet, hat das Rauschen den gegenteiligen<br />

Effekt wie die Glättung. Es ist jedoch zu beobachten, dass das Rauschen sich<br />

zwar negativ auf die Effizienz auswirkt, aber die Genauigkeit kaum <strong>und</strong> die Robustheit<br />

so gut wie gar nicht beeinträchtigt wird.


4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’ 71<br />

Bruchflächendistanz bzgl. Durchmesser<br />

ohne Rauschen +10% Rauschen +50% Rauschen +100% Rauschen<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

Venus + 10% Rauschen:<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

Bruchflächendistanz bzgl. Durchmesser<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

Bruchflächendistanz bzgl. Durchmesser<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

Venus + 50% Rauschen:<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

Venus + 100% Rauschen:<br />

Median<br />

Quantil 40% bis 60%<br />

Quantil 30% bis 70%<br />

Quantil 20% bis 80%<br />

Quantil 10% bis 90%<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s 3,5s 4s 4,5s 5s<br />

Abbildung 4.11 (Oben) Venusfragment mit unterschiedlich starkem normalverteiltem Rauschen<br />

(Rauschstreuung prozentual zur mittleren Punktdistanz); (Unten) Auswirkung des Rauschens<br />

auf die Performanz. (Zugehörige Messpunkte siehe Anhang, Abbildung B.2, Seite 144).


72 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

Bei den folgenden Testfragmenten handelt es sich um künstlich erzeugte Brüche <strong>und</strong> um<br />

echte Knochenfrakturen. Um vergleichbare Testbedingungen zu schaffen, wurden die<br />

künstlichen Frakturen mit 10% additivem normalverteiltem Rauschen (10% Streuung<br />

bzgl. der mittleren Punktdistanz) überlagert. Die Abbildungen 4.12 bis 4.18 zeigen die<br />

experimentellen Ergebnisse bei unterschiedlichen Fragmenttypen (wie bisher ausgeführt<br />

auf einem AMD Athlon 64 Prozessor mit 2.2GHz). In den Abbildungen sind jeweils links<br />

oben die Fragmente in initaler Lage <strong>und</strong> daneben ein Matching-Resultat dargestellt. Die<br />

Tabellen auf der rechten Seite fassen die Matching-Ergebnisse von 100 Durchläufen pro<br />

Fragmentpaar zusammen. Die jeweils erste Zeile enthält dabei die mittlere Bruchflächendistanz<br />

(Mittelwert, Median, Minimum <strong>und</strong> Maximum) nach einer Laufzeit von 10<br />

Sek<strong>und</strong>en pro Durchlauf. Die zweite Zeile gibt analog zur ersten die erreichte rotatorische<br />

Genauigkeit an. Die letzte Zeile zeigt die Laufzeit, die vom Algorithmus benötigt<br />

wurde, um eine relative Lage mit einer mittleren Bruchflächendistanz von unter 3% zu<br />

finden. In der unteren Hälfte der Abbildungen sind jeweils die überlagerten Messpunkte<br />

<strong>und</strong> der Median±Quantile von allen 100 Durchläufen dargestellt.<br />

Bei zwei Datensätzen handelt es sich nicht um zerbrochene Objekte, sondern um kombinierbare<br />

Bauteile, die die mögliche Anwendung des Verfahrens im Bereich der computerunterstützten<br />

Modellierung <strong>und</strong> Montageplanung repräsentieren. Bei zwei weiteren<br />

Datensätzen handelt es sich um Oberschenkelfrakturen, die in Kooperation mit der<br />

Medizinischen Hochschule Hannover (MHH) per Computertomographie aufgenommen<br />

wurden. <strong>Das</strong> automatisierte Zusammenfügen von Knochenfrakturen ist ein wichtiges<br />

Bruchflächendistanz bzgl. Durchmesser<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

Bruchflächendistanz bzgl. Durchmesser<br />

Endergebnis:<br />

mean median min max<br />

Dist. [%] 0.55 0.51 0.19 1.20<br />

Rot. [ ◦ ] 0.92 0.89 0.08 2.10<br />

Zeit [ s ] 0.33 0.30 0.05 1.25<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

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


4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’ 73<br />

Bruchflächendistanz bzgl. Durchmesser<br />

Bruchflächendistanz bzgl. Durchmesser<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

Bruchflächendistanz bzgl. Durchmesser<br />

Endergebnis:<br />

mean median min max<br />

Dist. [%] 1.50 1.49 0.61 2.85<br />

Rot. [ ◦ ] 3.94 3.56 1.23 8.28<br />

Zeit [ s ] 1.39 1.20 0.05 6.50<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

Abbildung 4.13 Spiralfraktur, 39962 Punkte, Normalenberechnungsradius 3.<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

Bruchflächendistanz bzgl. Durchmesser<br />

Endergebnis:<br />

mean median min max<br />

Dist. [%] 1.39 1.29 0.01 4.45<br />

Rot. [ ◦ ] 1.99 1.96 0.01 3.88<br />

Zeit [ s ] 0.66 0.40 0.05 2.65<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

Abbildung 4.14 Femurfraktur, 17239 Punkte, Normalenberechnungsradius 3.


74 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

Bruchflächendistanz bzgl. Durchmesser<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

Bruchflächendistanz bzgl. Durchmesser<br />

Endergebnis:<br />

mean median min max<br />

Dist. [%] 0.17 0.12 0.02 0.49<br />

Rot. [ ◦ ] 0.61 0.57 0.08 1.48<br />

Zeit [ s ] 0.30 0.30 0.05 1.25<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

Abbildung 4.15 Stanford Bunny, 51179 Punkte, 10% Rauschen, Normalenberechnungsradius<br />

3.<br />

Bruchflächendistanz bzgl. Durchmesser<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

Bruchflächendistanz bzgl. Durchmesser<br />

Endergebnis:<br />

mean median min max<br />

Dist. [%] 0.16 0.15 0.03 0.55<br />

Rot. [ ◦ ] 0.29 0.27 0.02 0.76<br />

Zeit [ s ] 0.05 0.05 0.05 0.10<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

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


4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’ 75<br />

Bruchflächendistanz bzgl. Durchmesser<br />

Bruchflächendistanz bzgl. Durchmesser<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

Bruchflächendistanz bzgl. Durchmesser<br />

Endergebnis:<br />

mean median min max<br />

Dist. [%] 0.19 0.15 0.05 1.17<br />

Rot. [ ◦ ] 0.33 0.30 0.06 1.15<br />

Zeit [ s ] 0.30 0.30 0.05 1.20<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

Abbildung 4.17 Stecker, 39677 Punkte, 10% Rauschen, Normalenberechnungsradius 3.<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

Bruchflächendistanz bzgl. Durchmesser<br />

Endergebnis:<br />

mean median min max<br />

Dist. [%] 0.27 0.11 0.07 1.45<br />

Rot. [ ◦ ] 0.95 0.43 0.11 5.49<br />

Zeit [ s ] 0.05 0.05 0.05 0.30<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

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


76 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

Anwendungsfeld in der computergestützten chirurgischen Frakturbehandlung. Dort verspricht<br />

ein robustes <strong>und</strong> effizientes Matching-Verfahren sowohl bessere Repositionsergebnisse,<br />

als auch eine Verringerung der Röntgenstrahlenbelastung <strong>und</strong> eine Reduktion<br />

von OP-Zeit <strong>und</strong> Kosten. Für dieses Anwendungsfeld werden wir später in Kapitel 5.1<br />

zusätzliches Symmetriewissen in das Verfahren integrieren, um eine deutliche Verbesserung<br />

der Robustheit <strong>und</strong> Effizienz zu erzielen.<br />

4.3.5 Diskussion<br />

Der vorgestellte ’Random Sample Matching’-Ansatz maximiert höchst effizient die Kontaktfläche<br />

zwischen zwei Fragmenten <strong>und</strong> stellt somit die kleinste gemeinsame Schnittstelle<br />

<strong>für</strong> eine Vielzahl von Anwendungen dar. <strong>Das</strong> einzige Vorwissen was bisher ausgenutzt<br />

wurde, ist der große Oberflächenkontakt zwischen den Fragmenten in ihrer Ziellage.<br />

Es gibt natürlich auch Fragmente, bei denen diese Strategie nicht die gesuchte<br />

Lösung liefert, also die korrekte Lage nicht diejenige mit dem größtmöglichen Oberflächenkontakt<br />

ist. Dies tritt beispielsweise dann auf, wenn das Verhältnis von Bruchfläche<br />

zu Gesamtfläche klein ist <strong>und</strong> wenn die intakte Oberfläche große glatte Bereiche mit<br />

komplementären Regionen auf dem Gegenstück aufweist. In diesem Fall ist eine Spezialisierung<br />

an den jeweiligen Anwendungsfall durch Integration von weiterem Vorwissen<br />

erforderlich. <strong>Das</strong> Vorwissen kann außerdem die Performanz des Verfahrens durch Einschränkung<br />

des Suchraums weiter verbessern. Am Ende dieses Kapitels wird hierauf<br />

noch näher eingegangen. Es gibt jedoch bei genauerer Betrachtung auch bei der Kontaktflächenmaximierung<br />

einige Aspekte, die bisher noch nicht berücksichtigt wurden:<br />

Der ’Random Sample Matching’-Ansatz kann als Markow-Prozess 0-ter Ordnung (also<br />

ein Prozess ohne Gedächtnis) aufgefasst werden. <strong>Das</strong> heißt, er generiert in jedem<br />

Zeitschritt zufällige Lagehypothesen völlig unabhängig von der Vergangenheit bzw. den<br />

bisherigen Berechnungen. Einzig <strong>und</strong> allein die Güte der bisher besten Hypothese wird<br />

zur Beschleunigung der zukünftigen Gütebewertung verwendet. Ebenso kann auch der<br />

Kontakttest innerhalb der Gütebewertung <strong>für</strong> sich selbst als ein Markov-Prozess 0-ter<br />

Ordnung angesehen werden, denn es werden zufällige Oberflächenpunkte, unabhängig<br />

von den bisher betrachteten Punkten, auf Kontakt getestet. Der Vorteil dieser Strategie<br />

ist die einfache Implementierung <strong>und</strong> der äußerst geringe Speicherbedarf. Allerdings können<br />

die Informationen aus den vergangenen Berechnungsschritten durchaus vorteilhaft<br />

genutzt werden. Um dies zu erläutern, wollen wir den Begriff Kontaktkohärenz einführen.<br />

Definition 7 (Kontaktkohärenz) Die Kontaktkohärenz ist in dieser Arbeit ein Maß<br />

<strong>für</strong> den Zusammenhang von Kontaktregionen bei Fragmenten. Eine hohe lokale Kontaktkohärenz<br />

bedeutet, dass ein in tangentialem Kontakt stehender Oberflächenpunkt mit<br />

hoher Wahrscheinlichkeit ebensolche Kontaktpunkte in seiner Umgebung hat.<br />

Im Allgemeinen bilden die Bruchflächen sowie die ’intakten Oberflächen’ große zusammenhängende<br />

Bereiche. <strong>Das</strong> heißt, ebenso sollte eine gute Lagehypothese große zusammenhängende<br />

Kontaktflächen bilden. Angenommen ein Punkt �a ∈ A steht mit einem<br />

Punkt � b ∈ B in tangentialem Kontakt. Dann besagt die lokale Kontaktkohärenz, dass


4.3. Ein zufallsbasierter Ansatz: ’Random Sample Matching’ 77<br />

A<br />

A<br />

�a<br />

B<br />

A<br />

�x r<br />

(a) (b)<br />

B<br />

A<br />

(c) (d)<br />

Abbildung 4.19 Zur Kontaktkohärenz: (a) lokale Ausbreitung der Kontaktsuche um den Kontaktpunkt<br />

�a; (b) Oberflächenpunkt �x auf Fragment A <strong>und</strong> Abstand r zu Fragment B. Zur<br />

Lagekohärenz: (c),(d) leicht veränderte Lagehypothesen mit ähnlichem Oberflächenkontakt.<br />

mit hoher Wahrscheinlichkeit die Nachbarn von �a auch in tangentialem Kontakt mit<br />

den Nachbarn von � b stehen. Eine Möglichkeit dieses Wissen bei der Güteschätzung<br />

auszunutzen, besteht darin, die Kontaktpunktsuche lokal von einem bereits gef<strong>und</strong>enen<br />

Kontaktpunkt auszubreiten (siehe Abbildung 4.19 (a)). Hierdurch muss nicht <strong>für</strong><br />

jeden Punkt der gesamte Suchbaum (bzw. kd-Tree) durchlaufen werden, was die Güteschätzung<br />

stark beschleunigen kann. Allerdings ist dann eine Hochrechnung der Kontaktfläche<br />

schwieriger, da nicht mehr gleichverteilte Punkte vorliegen. Analog zu den<br />

Kontaktpunkten, haben auch die nicht in Kontakt stehenden Oberflächenpunkte mit<br />

hoher Wahrscheinlichkeit ebensolche freistehenden Punkte in ihrer lokalen Umgebung.<br />

Abbildung 4.19 (b) zeigt einen solchen Oberflächenpunkt �x ∈ A <strong>und</strong> den Abstand r zu<br />

Fragment B. Innerhalb dieses Abstandes (bzw. innerhalb der Kugel um �x mit Radius<br />

r) befindet sich kein Oberflächenpunkt von Fragment B <strong>und</strong> demnach auch kein Kontaktpunkt.<br />

Da bei dem vorgestellten Kontakttest genau dieser Abstand berechnet wird,<br />

könnte diese Information genutzt werden, um alle Punkte innerhalb dieses Radius sofort<br />

als freistehend zu klassifizieren. Jedoch ist auch hier eine statistische Hochrechnung der<br />

Kontaktflächengröße schwierig.<br />

Neben der Kontaktkohärenz, die eine Eigenschaft zwischen den Oberflächenpunkten<br />

B<br />

B


78 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

bei einer fest vorgegebenen Lagehypothese beschreibt, lässt sich auch eine Ähnlichkeit<br />

zwischen nah beieinander liegenden Lagehypothesen feststellen. Diese Eigenschaft bezeichnen<br />

wir im Folgenden als Lagekohärenz.<br />

Definition 8 (Lagekohärenz) Die Lagekohärenz ist in dieser Arbeit ein Maß <strong>für</strong> die<br />

Ähnlichkeit von unterschiedlichen Lagehypothesen. Eine hohe lokale Lagekohärenz bedeutet,<br />

dass eine Lagehypothese mit hoher Wahrscheinlichkeit Lagehypothesen mit ähnlichen<br />

Kontaktpunkten <strong>und</strong> ähnlichem Gütemaß in seiner unmittelbaren Nähe hat.<br />

Wie Abbildung 4.19 (c) <strong>und</strong> (d) verdeutlicht, ändern sich die Kontaktpunkte (unter<br />

Berücksichtigung gewisser Toleranzen) bei kleinen Änderungen der relativen Lage nur<br />

wenig. Die Kontaktinformation von bereits ausgewerteten Lagehypothesen könnte theoretisch<br />

zur Beschleunigung der Kontaktsuche von nahe gelegenen neuen Hypothesen<br />

verwendet werden. Es ist jedoch alles andere als trivial, diese Idee in den bisherigen<br />

’Random Sample Matching’-Ansatz zu integrieren.<br />

Im folgenden Abschnitt werden wir jedoch ein alternatives Verfahren zur Lösung des<br />

<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>s vorstellen, welches sowohl die Kontaktkohärenz, als auch die Lagekohärenz<br />

ausnutzt.<br />

4.4 Ein Grob-zu-Fein-Ansatz: ’Cluster Tree Matching’<br />

Ein bekanntes <strong>und</strong> nahe liegendes Vorgehen mit unterschiedlichen Anwendungen in der<br />

Bildverarbeitung ist die ’Grob-zu-Fein’- oder ’multi-resolution’-Strategie. Hierbei wird<br />

das <strong>Problem</strong> zuerst auf einer geringen Auflösungsstufe mit wenigen Daten bearbeitet<br />

<strong>und</strong> dann schrittweise die Auflösung erhöht <strong>und</strong> das Ergebnis verfeinert. Eine solche<br />

Vorgehensweise wurde <strong>für</strong> das Zusammensetzten von <strong>3d</strong> Fragmenten bis dato noch nicht<br />

untersucht.<br />

Abbildung 4.20 skizziert grob die Idee des Verfahrens. Im ersten Schritt wird die Auflösung<br />

von jedem Fragment schrittweise verringert <strong>und</strong> eine Auflösungshierarchie erstellt.<br />

Die Fragmente können durch Reduktion der Auflösung implizit geglättet werden, wodurch<br />

hohe Frequenzen <strong>und</strong> Rauschen unterdrückt <strong>und</strong> damit Oberflächenmerkmale <strong>und</strong><br />

Oberflächennormalen stabiler berechenbar werden. Für die Speicherung verschiedener<br />

Auflösungsstufen eignen sich hierarchische Datenstrukturen besonders gut. Im zweiten<br />

Schritt werden die grob aufgelösten Fragmente benutzt, um Kontaktlagen zu finden.<br />

Dies entspricht einer groben Suche von Lösungen. Bei geringer Auflösung müssen weniger<br />

Kontaktlagen betrachtet werden <strong>und</strong> die Kontaktbewertung arbeitet schneller. Im<br />

dritten Schritt werden die Kontaktpunkte jeweils einer Lösung bestimmt. Bei weiterer<br />

Verbesserung der Lösung müssen dann nur noch diese Kontaktbereiche betrachtet werden.<br />

Im vierten Schritt werden die Kontaktbereiche in ihrer Auflösung verfeinert <strong>und</strong> die<br />

Lage mit dem gleichen Ansatz rekursiv verbessert. In der nächst höheren Auflösungsstufe<br />

kann die Suche im Parameterraum auf einen kleinen Bereich eingeschränkt werden, da<br />

die zu erwartende verbesserte Lage nahe der bereits ermittelten gröberen Lösung liegen<br />

muss. Außerdem kann das Kontaktwissen von einer Auflösungsstufe in die nächst höhe-


4.4. Ein Grob-zu-Fein-Ansatz: ’Cluster Tree Matching’ 79<br />

Abbildung 4.20 Idee des Grob-zu-Fein-Ansatzes.<br />

re übertragen werden <strong>und</strong> somit die Kontaktpunktsuche sowie die Bewertungsfunktion<br />

durch Ausnutzung von hierarchischen Beziehungen stark beschleunigt werden.<br />

Wie auch der ’Random Sample Matching’-Ansatz aus dem vorherigen Abschnitt, sucht<br />

der folgende Algorithmus diejenige relative Lage, bei der die Fragmente den größten<br />

Oberflächenkontakt aufweisen <strong>und</strong> sich nicht durchdringen. Dabei wird ebenfalls keine<br />

initiale Lageschätzung benötigt. Die neu entwickelte Methode verwendet einen hierarchischen<br />

’Clustering’-Algorithmus um die Oberflächen der Fragmente in eine binäre Baumstruktur<br />

zu zerlegen. Die beste Lagehypothese wird dann per simultaner Tiefensuche in<br />

beiden Cluster-Bäumen gesucht.<br />

Es ist klar, dass aus Gründen der Effizienz nicht sämtliche Lagehypothesen bis zur jeweils<br />

untersten Baumebene verfolgt werden können. Es müssen also möglichst viele Hypothesen<br />

auf oberer Ebene frühzeitig verworfen werden. Doch wie verhindert man, dass<br />

nicht bereits auf einer der oberen Baumebenen (also auf einer Ebene mit<br />

geringer Clusteranzahl) Hypothesen verworfen werden, die sich eventuell<br />

auf einer tieferen Ebene als gut erweisen könnten? Die Antwort ist offensichtlich:<br />

Die berechnete Güteschätzung einer ’high-level’ Lagehypothese (also einer Hypothe-


80 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

se auf oberer Baumebene) muss immer eine konservative ’best-case’-Abschätzung aller<br />

darunter liegenden Hypothesen sein. In diesem Fall kann die Traversierung abgebrochen<br />

werden, wenn die ’best-case’-Abschätzung bereits schlechter als die bisher beste<br />

gef<strong>und</strong>ene ’low-level’ Lagehypothese ist. An dieser Stelle wird auch klar, warum eine<br />

Tiefensuche verwendet werden muss: Bevor die Baumtraversierung auf hoher Ebene abgebrochen<br />

werden kann, muss bereits mindestens eine Hypothese mit besserer Güte auf<br />

unterster Ebene gef<strong>und</strong>en worden sein, denn nur auf unterster Ebene ist eine sichere Aussage<br />

über die Güte möglich. Bei genauerer Betrachtung dieser Anforderungen stellt man<br />

fest, dass eine ’high-level’ Lagehypothese niemals eine starre Lage sein kann, da sie ein<br />

Repräsentant aller darunter liegenden ’low-level’ Lagehypothesen ist, sondern gewisse<br />

Lagetoleranzen beinhalten muss. Somit kann hier<strong>für</strong> auch keine relative Transformation<br />

(in Form einer einfachen homogenen Transformationsmatrix) angegeben werden.<br />

4.4.1 Transformationsfreies Matching von orientierten Punktwolken<br />

Bevor wir jedoch zum konkreten ’Cluster Tree Matching’-Ansatz übergehen, müssen<br />

wir die mathematische <strong>Problem</strong>stellung des <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>s aus Abschnitt 4.2 an<br />

die Grob-zu-Fein-Strategie anpassen. Genauer gesagt wird in diesem Abschnitt erläutert,<br />

wie die Güte von ’low-level’ Lagehypothesen berechnet werden kann, ohne eine<br />

relative Transformationsmatrix zu verwenden. Dieses Konzept können wir dann in Abschnitt<br />

4.4.3 auf die Güteschätzung von ’high-level’ Lagehypothesen übertragen.<br />

Wir erinnern uns, dass eine Lagehypothese durch Annahme eines tangentialen Kontaktes<br />

zwischen den orientierten Punkten �a ∈ A <strong>und</strong> � b ∈ B, sowie zwischen �c ∈ A <strong>und</strong> � d ∈ B<br />

konstruiert werden kann (siehe Definition 5, Seite 53). Ein exakter tangentialer Kontakt<br />

an zwei Punkten ist nur dann möglich, wenn das orientierte Punktpaar (�a,�c) geometrisch<br />

komplementär zu dem orientierten Punktpaar ( � b, � d) ist. Die Punktpaare sind genau dann<br />

geometrisch komplementär, wenn die vier räumlichen Relationen aus Gleichungen (4.9)–<br />

(4.12) übereinstimmen. Diese Relationen fassen wir nochmals (wie bereits beim ’Random<br />

Sample Matching’-Ansatz, Gleichung (4.13), Seite 60) zu einem 4d-Vektor zusammen:<br />

⎡ ⎤<br />

duv<br />

⎢<br />

rel (�u,�v) := ⎢cosαuv<br />

⎥<br />

⎣cos<br />

βuv⎦<br />

:=<br />

⎡<br />

⎢<br />

⎣<br />

��pv − �pu�<br />

�nu · �puv<br />

�nv · �puv<br />

⎤<br />

⎥<br />

⎦<br />

atan2 (�nu · (�puv × �nv), (�nu × �puv) · (�puv × �nv))<br />

δuv<br />

. (4.19)<br />

Dabei ist duv die euklidische Distanz zwischen den Punktkoordinaten, αuv bzw. βuv der<br />

Neigungswinkel zwischen jeweils einer Oberflächennormalen <strong>und</strong> der Verbindungsgeraden<br />

durch �pu <strong>und</strong> �pv, sowie δuv der Rotationswinkel zwischen den Oberflächennormalen<br />

um die Verbindungsgerade (siehe linke Seite von Abbildung 4.21).<br />

Betrachten wir nun die Kongruenzrelation zwischen orientierten Punktpaaren<br />

(�u,�v) ∼ = (�q,�r) :⇐⇒ rel(�u,�v) ≈ rel(�q,�r) , (4.20)


4.4. Ein Grob-zu-Fein-Ansatz: ’Cluster Tree Matching’ 81<br />

δuv<br />

βuv<br />

αuv<br />

�v<br />

�u<br />

�v<br />

�u<br />

Abbildung 4.21 (Links) Räumliche Relationen eines orientierten Punktpaares (�u,�v);<br />

(Rechts) zur Kongruenzrelation zwischen den orientierten Punkttripeln (�u,�v,�w) <strong>und</strong> (�q,�r,�s).<br />

welche die Relationsvektoren auf (approximative) Gleichheit testet <strong>und</strong> damit überprüft,<br />

ob eine Überdeckung möglich ist. Hiermit kann nun die Menge aller gültigen Lagehypothesen<br />

durch<br />

�w<br />

H := {(a, b,c,d) | (�a,�c) ∼ =( � b ∗ , � d ∗ ); �a,�c∈A; � b, � d∈B} (4.21)<br />

definiert werden. Um die beste aller Hypothesen zu finden, verwenden wir auch hier<br />

die Größe der Kontaktfläche zwischen den Fragmenten als Qualitätskriterium zur Bewertung.<br />

In dem bisherigen Ansatz zur Schätzung der Kontaktfläche wurde zuerst die<br />

relative Transformation A TB berechnet <strong>und</strong> dann jeder Punkt in ein gemeinsames Koordinatensystem<br />

transformiert, um die Kontaktpunktpaare zu zählen. Da wir jedoch beim<br />

hierarchischen Matching nicht mehr mit starren Lagehypothesen auf Punktpaaren arbeiten,<br />

sondern es mit ” beweglichen“ Lagehypothesen auf Cluster-Paaren zu tun haben, ist<br />

eine explizite Angabe der relativen Transformation nicht mehr möglich. Wir benötigen<br />

also eine alternative transformationsfreie Vorgehensweise. Als erstes erweitern wir hierzu<br />

die Kongruenzrelation von orientierten Punktpaaren (4.20) zu einer Kongruenzrelation<br />

von orientierten Punkttripeln<br />

(�u,�v, �w) ∼ =(�q,�r,�s) :⇐⇒ |�nuv �pvw �pwu|=|�nqr �prs �psq| ∧ (4.22)<br />

(�u,�v) ∼ =(�q,�r) ∧ (�v, �w) ∼ =(�r,�s) ∧ (�w,�u) ∼ =(�s,�q).<br />

Hierbei vergleicht die erste Unterbedingung den relativen Orientierungssinn <strong>und</strong> vermeidet<br />

spiegelsymmetrische Lösungen, während alle folgenden Unterbedingungen überprüfen,<br />

ob die zwei orientierten Punkttripel geometrisch kongruente Dreiecke aufspannen<br />

(siehe rechte Seite von Abbildung 4.21). Für eine gegebene Lagehypothese (�a, � b,�c, � d) ∈ H<br />

können wir nun mit Hilfe dieser Kongruenzrelation Kontaktpunktpaare finden. Und<br />

zwar ist ein orientierter Punkt �e ∈ A genau dann in tangentialem Kontakt mit Fragment<br />

B, wenn es einen orientierten Punkt � f ∈ B mit (�a,�c,�e) ∼ = ( � b ∗ , � d ∗ , � f ∗ ) gibt. In<br />

�r<br />

�q<br />

�s


82 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

diesem Fall kann die zweite Unterbedingung von Gleichung (4.22) vernachlässigt werden,<br />

da (�a,�c) ∼ =( � b ∗ , � d ∗ ) bereits Voraussetzung der Lagehypothese ist. Hiermit kann nun<br />

leicht das Verhältnis von Kontaktpunkten zur Gesamtanzahl von Oberflächenpunkten<br />

berechnet werden.<br />

Die bisher angewandte Methode zur Vermeidung von Fragmentdurchdringungen, war<br />

eine Suche nach Oberflächenpunkten von Fragment B, die innerhalb von Fragment A<br />

liegen (oder umgekehrt). Leider erfordert dieses Vorgehen die Berechnung von A TB . Eine<br />

Alternative ist die Suche nach Punkten, an dessen Stelle sich die beiden Fragmentoberflächen<br />

schneiden. Diese Schnitt- bzw. Durchdringungspunkte sind Kontaktpunkten sehr<br />

ähnlich, nur dass die Oberflächennormalen nicht entgegengerichtet sind. Hieraus folgt,<br />

dass wir während der Suche nach Kontaktpunkten auch gleichzeitig nach Schnittpunkten<br />

suchen können. Ein Schnitt bzw. eine Durchdringung der Oberflächen liegt dann<br />

vor, wenn die Kontaktpunktbedingung (�a,�c,�e) ∼ = ( � b ∗ , � d ∗ , � f ∗ ) einzig <strong>und</strong> allein aufgr<strong>und</strong><br />

der nicht entgegengerichteten Oberflächennormalen �ne <strong>und</strong> �nf scheitert. Da jedoch diese<br />

Durchdringungsdetektion etwas instabil bei verrauschten Oberflächen sein kann, sollten<br />

Hypothesen mit Oberflächendurchdringungen nicht sofort verworfen werden, sondern<br />

wie bisher nur eine Qualitätsstrafe <strong>für</strong> jeden Durchdringungspunkt erhalten. Zusätzlich<br />

kann natürlich auch auf tatsächliche (Volumen-)Durchdringung getestet werden, sobald<br />

die Tiefensuche die Blätter der Cluster-Bäume erreicht. Hierzu kann dann der Ansatz<br />

des ’Random Sample Matchings’ aus Abschnitt 4.3.3 übernommen werden.<br />

4.4.2 Hierarchische Zerlegung von Punktwolken<br />

Aufgr<strong>und</strong> der kombinatorischen Explosion von möglichen Kontaktpunktpaaren <strong>und</strong> der<br />

daraus resultierenden Vielzahl an Lagehypothesen, ist das theoretische Konzept des letzten<br />

Abschnitts weit von einer effizienten Implementierung entfernt. Aus diesem Gr<strong>und</strong><br />

werden wir in diesem Abschnitt die Fragmente in Form einer binären Baumstruktur<br />

ablegen, was die Verwendung einer effizienten hierarchischen Matching-Strategie ermöglicht.<br />

Die Unterteilung der Punktwolken basiert auf einem hierarchischen top-down<br />

Clustering-Algorithmus. Eine weit verbreitete Vorgehensweise ist es, die Punktwolken<br />

im <strong>3d</strong> Koordinatenraum zu ’clustern’. In diesem Anwendungsfall führt jedoch das simultane<br />

Clustern von Punktkoordinaten <strong>und</strong> Oberflächennormalen im kombinierten 6d<br />

Koordinaten-Normalen-Raum (4.1) zu wesentlich besseren Ergebnissen. Der Clustering-<br />

Algorithmus arbeitet folgendermaßen:<br />

1. Skaliere alle Oberflächennormalen, so dass deren Varianz mit der Punktkoordinatenvarianz<br />

übereinstimmt.<br />

2. Zerlege jede Punktmenge rekursiv in Untermengen.<br />

Für die Zerlegung wird in dieser Arbeit der bekannte k-means clustering Ansatz von<br />

Hartigan & Wong [36] verwendet, jedoch im 6d Raum mit k=2 (k steht hierbei <strong>für</strong><br />

die Anzahl der Cluster pro Unterteilungsschritt). Auf diese Weise werden die Punkte in<br />

Cluster ähnlicher Raumlage <strong>und</strong> ähnlicher Oberflächenorientierung unterteilt <strong>und</strong> verlieren<br />

beim Hinabsteigen in den Baum schnell an Größe (sowohl im Koordinaten- als auch


4.4. Ein Grob-zu-Fein-Ansatz: ’Cluster Tree Matching’ 83<br />

Ebene 0<br />

Ebene 1<br />

Ebene 2<br />

Ebene 3<br />

A8<br />

A4<br />

A9<br />

A2<br />

A10<br />

A5<br />

A11<br />

A1<br />

A6<br />

A3<br />

A12 A13<br />

A7<br />

A14<br />

A15<br />

A 2x<br />

A x<br />

A 2x+1<br />

Indizierungsschema<br />

Abbildung 4.22 Beispiel eines Cluster-Baums: Die ersten Ebenen der Zerlegung angewandt<br />

auf ein einfaches Testfragment.<br />

im Orientierungsunterraum). Hierbei kommt es nicht darauf an, wie stabil die Cluster<br />

berechnet werden, bzw. ob die Bruchflächen auf beiden Seiten ähnlich zerlegt werden.<br />

Aus diesem Gr<strong>und</strong> können viele Clustering-Algorithmen eingesetzt werden, aber der<br />

einfache <strong>und</strong> effiziente k-means-Ansatz hat sich als ausreichend erwiesen. <strong>Das</strong> 6d Unterteilungsschema<br />

ist insbesondere deshalb vorzuziehen, da sowohl die Koordinatenvarianz,<br />

als auch die Normalenorientierungsvarianz ein entscheidender Faktor <strong>für</strong> die Lagetoleranz<br />

einer high-level Hypothese ist (wird im folgenden Abschnitt diskutiert) <strong>und</strong> die<br />

Effizienz des gesamten Matching-Verfahrens positiv beeinflusst. Theoretisch ist auch ein<br />

5d Koordinaten-Orientierungs-Raum denkbar, da die Orientierung einer Oberfläche nur<br />

zwei Freiheitsgrade hat. Allerdings führt jede Abbildung der <strong>3d</strong> Oberflächennormalen in<br />

den 2d Raum zu einer nicht äquidistanten Orientierungsverteilung oder zu Singularitäten<br />

<strong>und</strong> Unstetigkeiten, was beim ’clustering’ <strong>Problem</strong>e verursachen würde.<br />

Abbildung 4.22 zeigt die ersten Ebenen der hierarchischen Zerlegung angewandt auf<br />

ein einfaches Testfragment. Wie man sehen kann, wird das Fragment in Teilfragmente<br />

(Cluster) mit ähnlicher Oberflächenorientierung zerlegt, wodurch die Zerteilung bevorzugt<br />

entlang starker Kanten verläuft. Ein weiteres Beispiel zeigt Abbildung 4.23. Hier<br />

sind die einzelnen Zerlegungsschritte des Clustering-Ansatzes im Fall eines CAD-Modells<br />

dargestellt. Der Vorteil der 6d Zerlegung im Koordinaten-Normalen-Raum gegenüber<br />

der <strong>3d</strong> Zerlegung im einfachen Koordinatenraum wird an dem Knochenfragment in Abbildung<br />

4.24 deutlich. Die obere Reihe zeigt das <strong>3d</strong> Unterteilungsschema, bei dem die<br />

Oberflächenorientierung unberücksichtigt bleibt. Gut zu sehen ist, dass hier die farbigen


84 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

Oberflächensegmente über die scharfen Bruchkanten hinweg verlaufen, dass die gemittelten<br />

Oberflächennormalen die Oberflächenorientierungen des Knochens nur schlecht<br />

repräsentieren <strong>und</strong> dass die Normalenvarianz innerhalb vieler Segmente hoch ist. Im<br />

Gegensatz dazu verlaufen die Segmentgrenzen beim 6d Unterteilungsschema in der unteren<br />

Reihe bevorzugt entlang der scharfen Bruchkanten des Knochens, wodurch intakte<br />

<strong>und</strong> gebrochene Oberflächen frühzeitig getrennt werden, die gemittelten Oberflächennormalen<br />

gut die Oberflächenorientierungen wiedergeben <strong>und</strong> die Normalenvarianz innerhalb<br />

der Segmente niedrig ist. Nicht zu sehen, aber noch problematischer ist es, dass<br />

bei der <strong>3d</strong> Unterteilung die Segmente meist die gegenüberliegenden äußeren Knochenoberflächen<br />

<strong>und</strong> die inneren Oberflächen des Knochenmarkkanals vereinigen. Dies liegt<br />

darin begründet, das die gegenüberliegenden inneren <strong>und</strong> äußeren Oberflächen nur eine<br />

geringe euklidische Distanz zueinander haben. Abhilfe würde die Verwendung eines<br />

geodesischen Distanzmaßes schaffen, welches aber aufwändiger in der Berechnung ist.<br />

Dieses <strong>Problem</strong> tritt jedoch bei der verwendeten 6d Unterteilung nicht auf, da hier die<br />

Oberflächenorientierungen bei der Distanzberechnung mitberücksichtigt werden.<br />

Wie in Abbildung 4.22 werden im Folgenden die Knoten des Baumes von Fragment A<br />

fortlaufend mit A1,...,Ak bezeichnet, wobei die Wurzel mit dem Index 1 das gesamte<br />

Fragment repräsentiert A1 = A <strong>und</strong> alle Knoten Ax in jeweils zwei Kinderknoten A2x<br />

<strong>und</strong> A2x+1 zerlegt werden. <strong>Das</strong> gleiche gilt analog <strong>für</strong> die Knoten B1,...,Bl des Baumes<br />

von Fragment B.


4.4. Ein Grob-zu-Fein-Ansatz: ’Cluster Tree Matching’ 85<br />

Abbildung 4.23 Hierarchische Zerlegung in Cluster: Die ersten acht Zerlegungsschritte angewandt<br />

auf das Modell einer Glühbirne.


86 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

Abbildung 4.24 <strong>3d</strong> vs. 6d Unterteilungsschema am Beispiel eines Knochenfragments:<br />

(Oben) Segmentierung der Oberfläche im <strong>3d</strong> Koordinatenraum <strong>und</strong> segmentweise gemittelte<br />

Oberflächennormale; (unten) Segmentierung der Oberfläche im 6d Koordinaten-Normalen-<br />

Raum <strong>und</strong> segmentweise gemittelte Oberflächennormale.<br />

4.4.3 Hierarchisches Matching<br />

Nachdem wir den Cluster-Baum bis hin zu einer festgelegten Baumtiefe erstellt haben,<br />

kann der hierarchische Matching-Algorithmus beginnen. Der folgende Ansatz entspricht<br />

weitestgehend dem theoretischen Konzept aus Abschnitt 4.4.1, nur dass wir diesmal auf<br />

Clustern von orientierten Punkten arbeiten.<br />

Beginnen wir mit einigen Definitionen auf Cluster-Paaren: Ein tangentialer Kontakt<br />

zwischen zwei Clustern Aa <strong>und</strong> Bb impliziert, dass mindestens ein tangentialer Kontakt<br />

zwischen zwei orientierten Punkten mit �a ∈ Aa and � b ∈ Bb besteht. Wir können<br />

nun eine ’high-level’ Lagehypothese konstruieren, indem wir einen tangentialen Kontakt<br />

zwischen mehreren Clustern annehmen. Genauer gesagt: Eine ’high-level’ Lagehypothese<br />

(Aa, Bb, Ac, Bd) ist die Annahme eines tangentialen Kontakts zwischen den<br />

Clustern Aa <strong>und</strong> Bb, sowie zwischen Ac and Bd. Ein tangentialer Kontakt zwischen zwei


4.4. Ein Grob-zu-Fein-Ansatz: ’Cluster Tree Matching’ 87<br />

Cluster-Paaren ist nur dann möglich, wenn ihre relativen Distanzen <strong>und</strong> Winkel ein<br />

überlappendes Intervall haben. Um diese Vorbedingung zu prüfen, übernehmen wir die<br />

Idee aus Gleichung (4.20), wo wir 4d Relationsvektoren von orientierten Punktpaaren<br />

verglichen haben; allerdings vergleichen wir diesmal 4d Relationsintervalle von Cluster-<br />

Paaren. Hier<strong>für</strong> benutzen wir min-/max-Operatoren die elementweise auf Vektormengen<br />

definiert sind<br />

⎧⎡<br />

⎤ ⎡ ⎤⎫<br />

⎨ x1 xn ⎬<br />

min ⎣y1<br />

⎦,..., ⎣yn<br />

⎦<br />

⎩<br />

⎭<br />

. .<br />

:=<br />

⎡<br />

⎤<br />

min{x1,...,xn}<br />

⎣min{y1,...,yn}<br />

⎦ (4.23)<br />

.<br />

<strong>und</strong> max{...} analog. Ein Relationsintervall [relmin(Aa, Ac), relmax(Aa, Ac)] eines Cluster-Paares<br />

(Aa, Ac) kann dann einfach als<br />

relmin(Aa, Ac) := min{rel(�u,�v) | �u ∈ Aa,�v ∈ Ac} (4.24)<br />

relmax(Aa, Ac) := max{rel(�u,�v) | �u ∈ Aa,�v ∈ Ac}<br />

definiert werden. Für eine effiziente Berechnung sämtlicher Relationsintervalle (zwischen<br />

jeweils zweier Knoten der gleichen Baumebene), empfiehlt sich allerdings die folgende<br />

rekursive Definition:<br />

relmin(Aa, Ac) :=<br />

�<br />

rel(�u,�v) falls Aa={�u} <strong>und</strong> Ac={�v} einelementig sind,<br />

min {relmin(Au, Av) | ⌊u/2⌋ = a, ⌊v/2⌋ = c} sonst.<br />

(4.25)<br />

Die Bedingung ⌊u/2⌋ = a folgt hierbei lediglich dem Indizierungsschema aus Abbildung<br />

4.22 <strong>und</strong> steht <strong>für</strong> ” Cluster Au ist ein Kindknoten von Cluster Aa“. Jetzt brauchen wir<br />

noch Vergleichsoperatoren (, =) auf Relationsintervallen, die ebenfalls elementweise<br />

definiert sind<br />

� �<br />

x1<br />

. ⋚<br />

xn<br />

� �<br />

y1<br />

. :⇔ xi ⋚ yi <strong>für</strong> alle i = 1,...,n. (4.26)<br />

yn<br />

Dies ermöglicht uns Relationsintervalle zu vergleichen <strong>und</strong> eine Kongruenzrelation zwischen<br />

Cluster-Paaren aufzustellen<br />

(Au, Av) ∼ = (B ∗ q, B ∗ r) :⇔ relmin(Au, Av) ≤ relmax(B ∗ q, B ∗ r) ∧<br />

relmax(Au, Av) ≥ relmin(B ∗ q, B ∗ r), (4.27)<br />

welche genau dann gültig ist, wenn die Intervalle sich überlappen <strong>und</strong> damit ein tangentialer<br />

Kontakt möglich ist. Eine essenzielle Beobachtung ist hierbei, dass diese Kongruenzrelation<br />

auf Cluster-Paaren in die Kongruenzrelation (4.20) auf orientierten Punktpaaren<br />

übergeht, wenn die Größe der Cluster gegen Null streben. Hieraus folgt, dass<br />

die Menge der gültigen ’high-level’ Lagehypothesen � H auf die gleiche Weise wie die<br />

(’low-level’) Lagehypothesen von (4.21) durch<br />

�H := {(Aa, Bb, Ac, Bd) | (Aa, Ac) ∼ = (B ∗ b, B ∗ d)}. (4.28)


88 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

definiert werden können. Nun können alle gültigen ’high-level’ Lagehypothesen beim<br />

Hinabsteigen der Cluster-Bäume durchlaufen werden. Es ist offensichtlich, dass die Kinderknoten<br />

einer ungültigen Hypothese ebenfalls ungültig sind. Oder anders gesagt: Wenn<br />

zwei Cluster-Paare nicht zusammenpassen, dann tun es ihre Kinder erst recht nicht. Diese<br />

Tatsache ermöglicht es uns, sehr viele Cluster-Paare auszuschließen, lange bevor die<br />

Tiefensuche ein Blatt erreicht hat.<br />

Um die Qualität einer ’high-level’ Lagehypothese zu schätzen, können wir uns der gleichen<br />

Methode bedienen, die bereits <strong>für</strong> low-level Hypothesen in Gleichung (4.22) vorgeschlagen<br />

wurde. Wir erweitern also die Kongruenzrelation (4.27) von Cluster-Paaren<br />

nach Cluster-Tripel<br />

(Au, Av, Aw) ∼ = (B ∗ q, B ∗ r, B ∗ s) :⇔ (Au, Av) ∼ =(B ∗ q, B ∗ r) ∧ (4.29)<br />

(Av, Aw) ∼ =(B ∗ r, B ∗ s) ∧ (Aw, Au) ∼ =(B ∗ s, B ∗ q).<br />

Im Gegensatz zu (4.27) berücksichtigt diese Definition nicht den relativen Orientierungssinn<br />

des ’Cluster-Dreiecks’ <strong>und</strong> akzeptiert deshalb auch spiegelsymmetrische Lösungen.<br />

Dies muss allerdings kein Nachteil sein, da spiegelsymmetrische Lösungen selten sind <strong>und</strong><br />

sie außerdem durch Gleichung (4.22) verworfen werden können, sobald die Traversierung<br />

die Blätter erreicht. Bei einer gegebenen ’high-level’ Lagehypothese (Aa, Bb, Ac, Bd) ist<br />

ein Cluster Ae potentiell in tangentialem Kontakt mit Fragment B, wenn es ein Cluster<br />

Bf mit (Aa, Ac, Ae) ∼ = (B ∗ b , B∗ d , B∗ f<br />

) gibt. Auch hier können wir die Tatsache ausnutzen,<br />

dass ein Cluster-Paar nur dann in Kontakt stehen kann, wenn dessen Eltern-Cluster<br />

ebenfalls in Kontakt stehen. <strong>Das</strong> Verhältnis von Kontakt-Clustern zur Gesamtzahl an<br />

Clustern dient als Qualitätskriterium <strong>und</strong> ist gleichzeitig eine konservative Abschätzung<br />

der maximal erreichbaren Qualität aller darunterliegenden Hypothesen auf den ” Kind-<br />

Clustern“. Wenn nun die Qualität der aktuellen ’high-level’ Hypothese schlechter als<br />

die bisher beste Hypothese ist, kann die Tiefensuche abgeschnitten <strong>und</strong> bei der nächst<br />

höheren Verzweigung fortgesetzt werden.<br />

Rekapitulieren <strong>und</strong> konkretisieren wir an dieser Stelle nochmals den gesamten Algorithmus:<br />

In einem Vorverarbeitungsschritt (siehe Algorithmus 3, Zeile 1–7) stellen wir <strong>für</strong> jedes<br />

Fragment durch hierarchisches Zerlegen einen Cluster-Baum auf <strong>und</strong> benutzen dann<br />

die rekursive Intervalldefinition (4.25), um die Relationsintervalle jedes Cluster-Paares<br />

in einer Matrix zu speichern. Dann initialisieren wir eine Liste von Kontaktpaaren C (0)<br />

mit dem Wurzelknotenpaar <strong>und</strong> starten den Matching-Algorithmus mit (A1, B1, A1, B1)<br />

als Starthypothese. Die rekursive Matching-Prozedur (Zeile 8–20) überprüft zuerst, ob<br />

die Cluster-Paare zusammenpassen (also ob die Lagehypothese gültig ist), berechnet<br />

dann ihre Kontaktqualität <strong>und</strong> steigt die Cluster-Bäume alternierend hinab, solange die<br />

aktuelle Qualität besser als das bisher beste Matching-Ergebnis ist. Die Kontaktqualität<br />

wird durch Iteration der Kontaktpaarliste von einer Ebene zur nächsten berechnet (Zeile<br />

21–30).


4.4. Ein Grob-zu-Fein-Ansatz: ’Cluster Tree Matching’ 89<br />

Algorithmus 3 Preprocessing and Recursive Matching<br />

1: Build a cluster tree for fragment A;<br />

2: for all knot combinations Ai,Aj at same tree level do<br />

3: Store relmin(Ai, Aj), relmax(Ai, Aj) in a matrix;<br />

4: Repeat step 1–3 for fragment B;<br />

5: C (0) ← {(A1, B1)}; ⊲ init contact list<br />

6: bestQuality ← 0;<br />

7: Match(1, 1, 1, 1, 0); ⊲ start recursion at root nodes<br />

8: procedure Match(a, b, c, d, i)<br />

9: if a > b then return; ⊲ avoids symmetrical hypotheses<br />

10: if (Aa, Bb, Ac, Bd) /∈ � H then return; ⊲ pair does not fit<br />

11: actQuality ← BuildContactList(a, b, c, d, i);<br />

12: if actQuality ≤ bestQuality then return; ⊲ weak contact<br />

13: if i is maximal recursion depth then<br />

14: bestQuality ← actQuality,<br />

15: bestHypothesis ← (Aa, Bb, Ac, Bd); ⊲ memorize best<br />

16: else<br />

17: for u ← 0 . . .1 for v ← 0 . . .1 do<br />

18: if i is odd then<br />

19: Match(a,2b+u, c, 2d+v, i+1); ⊲ decend tree of B<br />

20: else Match(2a+u, b, 2c+v,2d, i+1); ⊲ decend tree of A<br />

21: function BuildContactList(a, b, c, d, i)<br />

22: if i = 0 then return 100%;<br />

23: C (i) ← ∅; ⊲ clear contact list of recursion depth i<br />

24: for all (Ae, Bf) ∈ C (i–1) do ⊲ over all pairs of list i-1<br />

25:<br />

26:<br />

for u ← 0 to 1 do<br />

if i is odd ∧ (Aa, Ac, Ae) ∼ = (B∗ b , B∗ d , B∗ 2f+u ) then<br />

27: C (i) ← C (i) ∪ {(Ae, B2f+u)}; ⊲ add contact pair<br />

28: if i is even ∧ (Aa, Ac, A2e+u) ∼ = (B∗ b , B∗ d , B∗ f ) then<br />

29: C (i) ← C (i) ∪ {(A2e+u, Bf)}; ⊲ add contact pair<br />

30: return percent of overlap at level i;<br />

4.4.4 Beschleunigungsmöglichkeiten<br />

Angenommen wir haben n Oberflächenpunkte auf der korrespondierenden Bruchfläche<br />

von Fragment A <strong>und</strong> B. Da jede Paarkombination dieser Bruchflächenpunkte von<br />

Fragment A in Kontakt mit einem korrespondierenden Punktpaar von Fragment B gebracht<br />

werden kann, erhalten wir bis zu n 2 gültige Hypothesen, die alle nahezu dieselbe<br />

Kontaktlage ergeben. Um diese unnötig große Anzahl von red<strong>und</strong>anten Hypothesen zu<br />

reduzieren, können wir die Suche der Punktpaare auf eine kleine Untermenge von gleichmäßig<br />

verteilten Punkten auf Fragment A beschränken. Dies kann durch eine einfache<br />

Änderung des Algorithmus realisiert werden. Es muss nur eine Tiefe festgelegt werden,<br />

ab der die Hypotheseniteration auf den linken Pfad des Baumes von Fragment A<br />

beschränkt ist. Hierdurch wird die Qualitätsschätzung nicht beeinflusst, da weiterhin


90 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

alle Oberflächenpunkte <strong>für</strong> die Kontaktpaarberechnung verwendet werden. Eine weitere<br />

Möglichkeit ist die leichte Verkleinerung der Cluster-Ausdehnungen (insbesondere im<br />

Unterraum der Oberflächennormalen). Hierdurch werden Ausreißer beseitigt <strong>und</strong> eine<br />

implizite Glättung erzielt, was wiederum die Laufzeit verbessert <strong>und</strong> außerdem die Genauigkeit<br />

bei verrauschten Daten erhöht. Beide Erweiterungen (Hypothesenreduktion<br />

<strong>und</strong> Cluster-Verkleinerung) können die Effizienz signifikant erhöhen, es kann allerdings<br />

nicht mehr garantiert werden, dass die beste Lösung gef<strong>und</strong>en wird.<br />

4.4.5 Experimentelle Ergebnisse <strong>und</strong> Diskussion<br />

Der Grob-zu-Fein-Ansatz wurde mit vielen Fragmenten unterschiedlicher Art evaluiert.<br />

Abbildung 4.25 zeigt die initiale Lage <strong>und</strong> das Matching-Ergebnis von sechs repräsentativen<br />

Beispielen. Um realistische Testbedingungen zu schaffen, wurden die Punktwolken<br />

der drei künstlichen Objekte additiv mit normalverteiltem Rauschen (10% Streuung<br />

bzgl. der mittleren Punktdistanz) überlagert. Tabelle 4.2 zeigt die Laufzeit <strong>für</strong> die Vorverarbeitung<br />

in Abhängigkeit von der verwendeten Baumtiefe. Diese Laufzeit umfasst<br />

die Erstellung des Cluster-Baums sowie die Berechnung der zugehörigen Relationsintervallmatrix.<br />

Sämtliche Tests wurden auf einem handelsüblichen AMD Athlon 64 PC mit<br />

2.2 Ghz erstellt. Für alle dargestellten Fragmente wurden adäquate Matching-Ergebnisse<br />

in weniger als drei Sek<strong>und</strong>en gef<strong>und</strong>en.<br />

Die Resultate von vier Fallstudien mit variabler maximaler Baumtiefe sind in Abbildung<br />

4.26 dargestellt. Wie man sehen kann, steigt die Laufzeit (Abbildung 4.26 oben)<br />

nahezu linear mit der Anzahl von Clustern an. Der Rotationsfehler (Abbildung 4.26<br />

unten) liegt ab einer Baumtiefe von 12 immer unter vier Grad. Werden Cluster-Bäume<br />

mit zu geringer Baumtiefe verwendet, so scheitert das Matching aufgr<strong>und</strong> der unzureichenden<br />

Oberflächenapproximation). Der Ansatz arbeitet sehr robust <strong>für</strong> eine Vielzahl<br />

von verschiedenen Objekten.<br />

Zusammenfassend kann gesagt werden, dass die Ergebnisse des hierarchischen Ansatzes<br />

eine zum ’Random Sample Matching’ vergleichbar gute Performanz bezüglich Effizienz,<br />

Genauigkeit <strong>und</strong> Robustheit belegen. Auch wenn die Laufzeiten des ’Cluster Tree Matchings’<br />

im direkten Vergleich augenscheinlich etwas schlechter ausfallen, so muss berücksichtigt<br />

werden, dass beim ’Random Sample Matching’ nur die Zeit bis zum Finden der<br />

besten Hypothese berücksichtigt wurde. Beim ’Cluster Tree Matching’ wurde hingegen<br />

die Laufzeit bis zur abschließenden Termination nach vollständiger Durchsuchung aller<br />

Hypothesen angesetzt. Des Weiteren wurden im Gegensatz zum ’Random Sample<br />

Matching’ weder Oberflächenkrümmungen noch anderen Oberflächenmerkmale eingesetzt,<br />

was wiederum die Stärke des gr<strong>und</strong>legenden Verfahrens untermauert. Natürlich<br />

kann auch der hierarchische Ansatz von geeigneten Merkmalen profitieren. Gerade bei<br />

der hierarchischen Cluster-Zerlegung bietet sich eine simultane Merkmalsberechnung auf<br />

den Clustern an. Die Normalenvarianz der Cluster korreliert beispielsweise unmittelbar<br />

mit der Oberflächenkrümmung <strong>und</strong> kann leicht per Eigenwertanalyse berechnet werden.<br />

Aber auch die scharfen Bruchkanten, die bevorzugt entlang der Cluster-Grenzen verlaufen,<br />

können leicht detektiert werden. Somit bietet der neue Ansatz beträchtlichen


4.4. Ein Grob-zu-Fein-Ansatz: ’Cluster Tree Matching’ 91<br />

Abbildung 4.25 Einige Testfragmente in initialer Lage <strong>und</strong> ihrer Lage nach dem Matching:<br />

(a) zerbrochener Venuskopf; (b) zerbrochene Felskugel; (c) zerbrochener Stanford Bunny;<br />

(d) IEC-320 Stromverbinder; (e) Glühlampe aus Autoscheinwerfer; (f) Spiralfraktur eines Knochenmodells.


92 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

Abbildung 4.26 Matching-Ergebnisse von vier Fragmenten unter variabler Anzahl von Oberflächenpunkten<br />

bzw. variabler Baumtiefe.


4.4. Ein Grob-zu-Fein-Ansatz: ’Cluster Tree Matching’ 93<br />

Tabelle 4.2 Laufzeit <strong>für</strong> die Vorverarbeitung (Erstellung eines Cluster-Baumes <strong>und</strong> Berechnung<br />

der zugehörigen Relationsintervallmatrix).<br />

Baumtiefe 10 11 12 13 14 15<br />

Laufzeit [s] 0.86 0.96 1.10 1.39 2.23 5.06<br />

Tabelle 4.3 Experimentelle Ergebnisse: Laufzeit t in Sek<strong>und</strong>en, Winkelfehler φ bei verschiedenen<br />

Cluster-Baumtiefen.<br />

Tiefe t[s] φ<br />

Venus A+B 11 1,58 5,4 ◦<br />

Spielraum <strong>für</strong> weitere Verbesserungen.<br />

12 4,13 2,1◦ Venus B+C 11 1,17 5,6◦ 12 3,70 4,9◦ Felskugel 11 0,83 0,6◦ 12 1,09 3,4◦ Bunny A+B 12 8,75 3,6◦ Bunny A+C 11 0,77 2,1◦ 12 1,60 5,8◦ IEC-320 10 2,39 5,4◦ 11 4,04 2,1◦ 12 5,45 1,8◦ Glühbirne 12 3,22 2,8◦ Spiralfraktur 12 0,90 4,9◦


94 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

4.5 Anpassung an spezielle Fragmenttypen<br />

Die bisher vorgeschlagenen Ansätze favorisieren die relative Lage mit dem größten Oberflächenkontakt<br />

zwischen den Fragmenten. Wie bereits erwähnt, gibt es natürlich auch<br />

Fragmente, bei denen diese Lösung nicht die gesuchte ist, also die korrekte Lage nicht<br />

diejenige mit dem größtmöglichen Oberflächenkontakt ist. Dies tritt beispielsweise dann<br />

auf, wenn das Verhältnis von Bruchfläche zu Gesamtfläche klein ist <strong>und</strong> wenn die intakte<br />

Oberfläche große glatte Bereiche mit komplementären Regionen auf dem Gegenstück<br />

aufweist (z.B. im Fall vieler dünnwandiger archäologischer Fragmente, wie Scherben von<br />

Tonkrügen etc.). Dies ist der Gr<strong>und</strong>, warum der Ansatz in den drei Beispielen in Abbildung<br />

4.27 versagt. Beim ersten Beispiel handelt es sich um ein gebrochenes Becken.<br />

Da zum einen die Bruchflächen nur sehr schmal sind <strong>und</strong> nur einen äußerst kleinen<br />

Teil der Gesamtfläche ausmachen <strong>und</strong> zum anderen große glatte Oberflächenbereiche<br />

innerhalb der Beckenschaufeln existieren, werden falsche Lösungen vorgeschlagen. Vergleichbare<br />

Ursachen führen auch zu falschen Ergebnissen bei der Femurfraktur <strong>und</strong> dem<br />

zerbrochenen Quader.<br />

Es ist klar, dass in diesen Fällen zusätzliches Vorwissen integriert werden muss, um zu<br />

verhindern, dass der Algorithmus ” triviale Lösungen“ findet. Je nach Objektklasse, gibt<br />

es ganz unterschiedliches Vorwissen, das genutzt werden kann. Abbildung 4.28 zeigt einige<br />

Beispiele hier<strong>für</strong>. Insbesondere vorhandene Symmetrien, wie Rotationssymmetrien,<br />

Spiegelsymmetrien oder Translationssymmetrien, kommen häufig vor <strong>und</strong> können äußerst<br />

nützlich <strong>für</strong> das Matching sein. Ein Beispiel <strong>für</strong> rotationssymmetrische Objekte<br />

sind Töpferwaren wie Tonkrüge <strong>und</strong> Vasen. Dieses Vorwissen ist also unter anderem bei<br />

der Rekonstruktion von historischen F<strong>und</strong>stücken in der Archäologie nützlich. Ein gutes<br />

Beispiel <strong>für</strong> spiegelsymmtrische Objekte sind Knochen. Jeder menschliche Knochen<br />

ist entweder spiegelsymmetrisch aufgebaut (z.B. Schädelknochen, Rückenwirbel <strong>und</strong> Beckenknochen)<br />

oder hat ein spiegelsymmetrisches Gegenstück. Zusätzlich sind die vielen<br />

Röhrenknochen im Schaftbereich annähernd translationssymmetrisch, d.h. sie haben eine<br />

über den Knochenverlauf gleichmäßige Gr<strong>und</strong>form bzw. Schnittfläche. Natürlich haben<br />

auch die meisten geometrischen Gr<strong>und</strong>formen (wie Kugel, Kegel, Zylinder, Torus,<br />

Quader, Ellipsoid, etc.) eine oder mehrere Symmetrieeigenschaften.<br />

Neben dem Symmetriewissen können auch a priori bekannte Oberflächeneigenschaften<br />

von äußerst großem Nutzen sein. Denkbar ist zum Beispiel, dass sich die Oberfläche<br />

der Bruchregionen stark von der intakten Oberfläche unterscheidet. Häufig findet man<br />

beispielsweise eine raue <strong>und</strong> unebene Bruchfläche, die sich gut von der vergleichsweise<br />

glatten intakten Oberfläche differenzieren lässt. Falls die zerbrochenen Objekte nicht<br />

verschliffen sind, sind meist scharfe Bruchkanten zwischen Bruchfläche <strong>und</strong> intakter<br />

Oberfläche zu finden <strong>und</strong> liefern weitere Oberflächenmerkmale. Des Weiteren ist auch<br />

das Wissen über eine ursprünglich kontinuierliche Oberflächenbeschaffenheit hilfreich.<br />

Nach dem Zusammensetzen sollten also möglichst glatte Übergänge von einem Fragment<br />

zum anderen entstehen. Dies bezieht sich nicht nur auf einen stetigen Oberflächenverlauf,<br />

sondern auch auf eine kontinuierliche Farbe oder Textur. Und nicht zuletzt kann auch<br />

eventuell vorhandenes Wissen über die ursprüngliche Form des Objektes ausgenutzt


4.5. Anpassung an spezielle Fragmenttypen 95<br />

Beckenfraktur<br />

Schaftbereich einer Femurfraktur<br />

Bruchstücke eines Quaders mit Relief<br />

Abbildung 4.27 Fragmente, bei denen die Maximierung der Kontaktfläche zu falschen Ergebnissen<br />

führt. (Links) initiale Lage; (Mitte) Matching-Ergebnis; (Rechts) korrekte Lage.


96 Kapitel 4. Matching von <strong>3d</strong> Objektfragmenten (<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>)<br />

Rotationssymmetrie Spiegelsymmetrie Translationssymmetrie<br />

markante Bruchfläche scharfe Bruchkante Oberflächenkontinuität<br />

Abbildung 4.28 Nutzbares Vorwissen über Symmetrien <strong>und</strong> Oberflächeneigenschaften.<br />

werden.<br />

Nach diesen theoretischen Überlegungen wird im folgenden Kapitel die Integration von<br />

Vorwissen (insbesondere Symmetriewissen) anhand von verschiedenen Objekttypen <strong>und</strong><br />

Anwendungsbereichen in die Praxis übertragen.


Kapitel 5<br />

Anwendungen <strong>und</strong> Einsatzgebiete<br />

Im letzten Kapitel wurden effiziente <strong>und</strong> robuste Ansätze zum Zusammensetzen von<br />

zerbrochenen Objekten vorgestellt <strong>und</strong> evaluiert. In diesem Kapitel soll exemplarisch<br />

das weite Anwendungsspektrum <strong>und</strong> die vielfältigen Einsatzmöglichkeiten der Verfahren<br />

aufzeigt werden. Da die bisher vorgestellten Ansätze diejenige relative Lage mit<br />

dem größten Oberflächenkontakt suchen, dies jedoch häufig nicht die gewünschte Lösung<br />

darstellt, wird je nach Anwendungsgebiet zusätzliches Vorwissen über die Form<br />

der zerbrochenen Objekte integriert. Durch dieses a priori Wissen wird der Such- bzw.<br />

Konfigurationsraum im Allgemeinen stark eingeschränkt, unerwünschte Lösungen werden<br />

vermieden <strong>und</strong> das Laufzeitverhalten verbessert sich. Im ersten Abschnitt wird die<br />

Repositionierung von Knochen behandelt, ein extrem wichtiges <strong>und</strong> zukunftsträchtiges<br />

Anwendungsgebiet in der Chirurgie. Danach folgt eine interessante Anwendungsmöglichkeiten<br />

in der Archäologie. Abschnitt 5.3 demonstriert die Tauglichkeit der Algorithmen<br />

zur Registrierung von Tiefendaten, bzw. zur Fusionierung von Objektoberflächen,<br />

die per Tiefensensor aus unterschiedlichen Sichtrichtungen aufgenommen wurden. Und<br />

schließlich wird in Abschnitt 5.4 erläutert, wie die Registrierung von Oberflächen <strong>für</strong> die<br />

Objekterkennung <strong>und</strong> Lageschätzung von Objekten im Raum einsetzt werden kann. Da<br />

viele Implementierungsarbeiten bereits zeitlich vor der Entstehung des hierarchischen<br />

’Cluster Tree Matching’-Ansatzes gemacht wurden, verwenden die folgenden Experimente<br />

durchgehend den zufallsbasierten ’Random Sample Matching’-Ansatz. Dennoch<br />

können sie selbstverständlich auch auf den hierarchischen Matching-Ansatz übertragen<br />

werden.<br />

5.1 Anwendungen in der Chirurgie<br />

5.1.1 Repositionierung von gebrochenen Oberschenkelknochen<br />

Eine übliche Form der Therapie bei Femurfrakturen (Oberschenkelbrüchen) ist die Ausrichtung<br />

der Femurfragmente per ” geschlossener Femurmarknagelung“ (siehe Grafik in<br />

Abbildung 5.1). Diese moderne minimalinvasive Technik hat den großen Vorteil, dass<br />

zusätzliche Gewebeschädigungen der bereits geschädigten Bereiche weitestgehend ver-<br />

97


98 Kapitel 5. Anwendungen <strong>und</strong> Einsatzgebiete<br />

(a) (b) (c) (d) (e)<br />

Abbildung 5.1 <strong>Das</strong> Prinzip der Marknagelung einer Femurfraktur: (a) Einschnitt in Hüftregion;<br />

(b) Eröffnung des Knochenmarkkanals; (c) Einführung des Marknagels <strong>und</strong> Repositionierung<br />

des distalen Fragments; (d) Fixierung mit Schrauben; (e) Ergebnis.<br />

mieden werden, da nur noch kleine Öffnungen <strong>für</strong> den Marknagel <strong>und</strong> <strong>für</strong> die sogenannten<br />

Schanzschen Schrauben notwendig sind. Allerdings ist es hierbei schwierig, die Femurfragmente<br />

exakt zu repositionieren, da zum einen die intraoperativen Röntgenbilder<br />

(siehe Abbildung 5.2) nur eine sehr eingeschränkte Sicht erlauben <strong>und</strong> zum anderen der<br />

ausführende Chirurg gegen die Zugkraft der Sehnen <strong>und</strong> Muskeln ” ankämpfen“ muss,<br />

die je nach Muskelmasse bis zu 400N (∼40kg) (siehe z.B. Westphal et al. [93]) betragen<br />

kann. Dies führt häufig zu Fehlstellungen <strong>und</strong> schlechten Fixierungen, was wiederum <strong>für</strong><br />

den Patienten physiologischen Stress, Funktionsstörungen, frühzeitigen Gelenkverschleiß<br />

<strong>und</strong> Schmerzen bedeutet. Die Knochenachse selbst kann mittels mehrfacher Röntgenaufnahmen<br />

<strong>und</strong> Marknagel noch relativ gut ausgerichtet werden. Postoperative frontale<br />

<strong>und</strong>/oder sagitale Fehlstellungen der Knochenachse von über fünf Grad treten in diversen<br />

Fachliteraturquellen mit einer Häufigkeit zwischen 2% <strong>und</strong> 18% auf. Bedeutend<br />

schwieriger ist jedoch die richtige Rotation um die Knochenachse festzustellen. Ein Rotationsfehler<br />

von über fünfzehn Grad um die Knochenachse wird als ” kritische Torsionsabweichung“<br />

betrachtet <strong>und</strong> sollte in einer zusätzlichen Operation korrigiert werden.<br />

Einige Studien belegen, dass nach der Fixierung ein solcher kritischer Rotationsfehler<br />

bei einer nicht vernachlässigbaren Anzahl an Patienten von bis zu 28% zu beobachten<br />

ist.<br />

Ein DFG-gestütztes Kooperationsprojekt zwischen der Unfallchirurgischen Klinik der<br />

Medizinische Hochschule Hannover <strong>und</strong> dem <strong>Institut</strong> <strong>für</strong> <strong>Robotik</strong> <strong>und</strong> Prozessinforma-


5.1. Anwendungen in der Chirurgie 99<br />

Abbildung 5.2 Intraoperative Röntgenaufnahmen zweier Femurfrakturen mittels ISO-C-<br />

Bogen.<br />

tik der TU-Braunschweig beschäftigt sich deshalb mit der Vermeidung dieser Komplikationen<br />

durch Verwendung eines kraft-/momentengeführten Roboters zur semi-automatischen<br />

Knochenrepositionierung (siehe z.B. Gösling et al. [31], [32], Westphal et al.<br />

[91], [92], [93], Winkelbach et al. [100], [101]). Bevor die roboterassistierte Operation<br />

durchgeführt werden kann, müssen die Repositionierungsparameter bestimmt werden.<br />

Insbesondere die relative Endposition des distalen zum proximalen Femurfragment sollte<br />

so genau wie möglich berechnet werden <strong>und</strong> mit möglichst wenig Interventionen des<br />

Chirurgen geschehen. Nach einer visuellen Kontrolle der berechneten Ziellage <strong>und</strong> der<br />

vorgeschlagenen Bewegungstrajektorie können die Daten zur Ausführung an das Robotersystem<br />

übergeben werden. Auf diese Weise könnten in Zukunft Repositionierungsfehler<br />

weitestgehend vermieden <strong>und</strong> zusätzlich die intraoperative Röntgenstrahlenbelastung<br />

<strong>für</strong> Patient <strong>und</strong> Chirurg verringert werden. Dies ist insbesondere <strong>für</strong> die Chirurgen wichtig,<br />

da sie tagtäglich dieser Belastung ausgesetzt sind. Darüber hinaus wird hierdurch<br />

auch eine Reduktion der Operationszeit <strong>und</strong> Kosten erwartet.<br />

Methodenüberblick<br />

Wie Abbildung 5.3 zeigt, benötigt man <strong>für</strong> die Berechnung der Ziellage zuerst Oberflächenmodelle<br />

aller Femurfragmente. Die Oberflächen können per Isoflächenextraktion<br />

(siehe Kapitel 2.3.2) aus einem Computertomogramm rekonstruiert werden. <strong>Das</strong> Computertomogramm<br />

kann preoperativ mittels Standardtechnik oder auch intraoperativ mit<br />

Hilfe eines modernen ISO-C-Bogens erstellt werden. Die zweite Variante hat den Vorteil,<br />

dass die initiale Lage der Knochenfragmente des CTs mit der aktuellen OP-Situation<br />

übereinstimmt <strong>und</strong> nicht aufwändig registriert werden muss. Voraussetzung ist lediglich<br />

ein kalibrierter ISO-C-Bogen. Abbildung 5.4 zeigt einen direkten Vergleich zwischen


100 Kapitel 5. Anwendungen <strong>und</strong> Einsatzgebiete<br />

Abbildung 5.3 Berechnungsschritte der virtuellen Femurrepositionierung.<br />

der rekonstruierten Oberfläche eines Femurfragments aus einem Standard-CT <strong>und</strong> aus<br />

einem ISO-C-Bogen CT. Gut zu sehen ist, dass die Oberfläche des C-Bogens-CTs wesentlich<br />

verrauschter, allerdings auch detaillierter rekonstruiert wurde. <strong>Das</strong> stärkere Rauschen<br />

lässt sich durch die geringeren technischen Möglichkeiten des mobilen C-Bogens<br />

erklären. Die höhere Detailgenauigkeit in diesem Beispiel beruht auf dem geringeren<br />

Schichtabstand <strong>und</strong> damit höheren Schichtanzahl des C-Bogen-CTs (0.47 mm beim C-<br />

Bogen gegenüber 2 mm beim Standard-CT). Allerdings lässt sich auch ein Standard-CT<br />

mit geringerem Schichtabstand <strong>und</strong> entsprechend hoher Detailauflösung erzeugen. Die<br />

rekonstruierten Oberflächenmodelle der Femurfragmente bilden nun das zu lösende <strong>3d</strong>-<br />

<strong>Puzzle</strong>-<strong>Problem</strong>. Wie bereits in Kapitel 4.3 auf Seite 95 gezeigt, führt eine direkte Maximierung<br />

der Kontaktfläche zwischen den Femurfragmenten häufig nicht zum gewünschten<br />

Ergebnis, da die Bruchfläche im Verhältnis zur Gesamtfläche relativ gering ist. Die<br />

Algorithmen aus Kapitel 4 neigen in ihrer Basiskonfiguration dazu, einen Kontakt zwischen<br />

den intakten ausgedehnten Seitenflächen der Femurfragmente vorzuschlagen. Aus


5.1. Anwendungen in der Chirurgie 101<br />

Abbildung 5.4 Zwei mit unterschiedlicher Aufnahmetechnik rekonstruierte Oberflächen<br />

des selben Femurfragments: (Links) Standard-CT mit einem Schichtabstand vom 2 mm;<br />

(Rechts) mobiler ISO-C-Bogen mit einem Schichtabstand von 0,47 mm.<br />

diesem Gr<strong>und</strong> muss zusätzliches a priori Wissen integriert werden. Bei Oberschenkelknochen<br />

(sowie allen anderen Röhrenknochen) ist es naheliegend, den relativ gleichförmigen<br />

Verlauf entlang der Femurachse auszunutzen, um in einer Vorverarbeitung die<br />

Orientierung der Knochenachse zu schätzen. Diese Achsorientierung kann auf zweierlei<br />

Weise vom Matching-Verfahren genutzt werden: Zum einen schränkt sie zwei rotatorische<br />

Freiheitsgrade der relativen Transformation ein <strong>und</strong> zum anderen kann hiermit<br />

die Bruchfläche von der intakten Oberfläche unterschieden werden, was sich wiederum<br />

positiv auf Effizienz, Robustheit <strong>und</strong> Genauigkeit auswirkt.<br />

Achsschätzung <strong>und</strong> Bruchflächensegmentierung<br />

Für die Detektion von zylindrischen <strong>und</strong> röhrenförmigen Strukturen in Oberflächendaten<br />

(häufig Tiefendaten) gibt es bereits zahlreiche Ansätze. Eine Möglichkeit ist das<br />

Anpassen (engl. ’fitting’) eines Zylindermodells an die Punktmenge per Minimierung<br />

einer Fehlerfunktion (siehe z.B. Faber & Fisher [21]). Andere Ansätze nutzen die Tatsache,<br />

dass die Oberflächennormalen eines Zylinders auf der Gaußschen Kugel einen Kreis<br />

bilden (siehe z.B. Hebert & Ponce [37], Chaperon & Goulette [13]). Behrens et al. [8]<br />

segmentieren röhrenförmige Strukturen per randomisierter Hough-Transformation <strong>und</strong><br />

Kalmann-Filter. Dieser Ansatz sucht Zylinder mit einer elliptischen Gr<strong>und</strong>fläche <strong>und</strong><br />

einem Freiformkurvenverlauf.<br />

In einer eigenen Arbeit (siehe Winkelbach et al. [101]) wurde die Position <strong>und</strong> Orientierung<br />

der Achse von zylindrischen Fragmenten per Hough-Transformation in zwei Schritten<br />

ermittelt: Die Hough-Transformation im ersten Schritt sucht die Orientierung der<br />

Zylinderachse <strong>und</strong> basiert darauf, dass alle Oberflächennormalen der intakten Mantelfläche<br />

senkrecht auf der Zylinderachse stehen (siehe Abbildung 5.5). Für jede Oberflächennormale<br />

�ni wird die Orientierung aller dazu senkrecht stehenden Vektoren {�z | �z ⊥�ni} in<br />

einem 2d Array (Hough-Raum) akkumuliert. Hierdurch entsteht ein Cluster im Hough-<br />

Raum, dessen Indizes die korrekte Achsorientierung beschreiben. Nach der Berechnung<br />

der Achsorientierung wird im zweiten Schritt die Position der Achse im Raum ebenfalls<br />

mit einer Hough-Transformation ermittelt. Hierbei werden alle Oberflächenpunkte


ÃÒÓ��Ò��×� �ÖÙ�����<br />

�ÖÙ����� ÃÒÓ��Ò��×�<br />

102 Kapitel 5. Anwendungen <strong>und</strong> Einsatzgebiete<br />

�z �z<br />

Ö�ÔÐ��Ñ�ÒØ× �nf<br />

�nf<br />

Ç��Ö���� �ÒØ��Ø�<br />

�nj<br />

�nj<br />

�ÒØ��Ø� Ç��Ö����<br />

Abbildung 5.5 Zur Berechnung der Achsorientierung: Unter Annahme eines gleichförmigen<br />

Knochenverlaufs stehen die Oberflächennormalen �nj der intakten Knochenoberfläche senkrecht<br />

auf der Knochenachse �z, während die Oberflächennormalen �nf der Bruchfläche meist nicht<br />

senkrecht auf �z stehen.<br />

auf eine Ebene senkrecht zur Knochenachse projiziert. Unter der Modellannahme, dass<br />

die Knochenoberfläche näherungsweise eine kreisförmige Gr<strong>und</strong>-/Schnittfläche besitzt,<br />

muss nun analog zur Hough-Transformation <strong>für</strong> Kreise, der Mittelpunkt dieses Kreises<br />

bestimmt werden.<br />

Wenn die Position <strong>und</strong> Orientierung der Knochenachse aller Fragmente bekannt ist,<br />

reduziert sich das <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> auf ein einfaches eindimensionales <strong>Problem</strong> pro<br />

Fragmentpaar, da nur noch die Rotation um die Achse zu lösen bleibt. Es hat sich<br />

allerdings herausgestellt, dass menschliche Oberschenkelknochen in den meisten Fällen<br />

stark von der kreisförmigen Gr<strong>und</strong>form abweichen (siehe Abbildung 5.6) <strong>und</strong> deshalb<br />

die Bestimmung einer, über alle Fragmente eindeutigen, Achsposition nicht möglich ist.<br />

Im Folgenden werden wir uns deshalb auf die Achsorientierung bzw. die Richtung der<br />

Translationssymmetrie beschränken.<br />

Die oben beschriebene Methode zur Berechnung der Achsorientierung hat neben den bereits<br />

in Kapitel 4.3.1 angesprochenen allgemeinen <strong>Problem</strong>en der Hough-Transformation<br />

(wie Quantisierung des Parameterraums <strong>und</strong> mögliche Verteilung der Cluster über mehrere<br />

Hough-Raumzellen) den Nachteil, dass eine einfache zweidimensionale Parametrisierung<br />

der Achsorientierung (bzw. der Kugeloberfläche) stets zu einer ungleichmäßigen<br />

Auflösung <strong>und</strong> damit zu einer nicht äquidistanten Richtungsverteilung führt. Eine Lösungsmöglichkeit<br />

wäre es, statt dessen einfach einen <strong>3d</strong> Hough-Raum (Repräsentation<br />

der Richtungsvektoren mit x,y,z-Koordinaten) zu verwenden. Eine andere nahe liegende<br />

<strong>und</strong> leicht zu implementierende Vorgehensweise ist der folgende RANSAC-Ansatz:


5.1. Anwendungen in der Chirurgie 103<br />

Abbildung 5.6 Zwei echte Femurfragmente: Ein Blick entlang der Achse zeigt die Bruchfläche<br />

<strong>und</strong> die nicht kreisförmige Gr<strong>und</strong>form.<br />

1. Wähle zufällig zwei Oberflächenpunkte mit den Oberflächennormalen �n, �m <strong>und</strong><br />

konstruiere hiermit eine Achshypothese �z.<br />

2. Berechne die Güte der Achshypothese (Anzahl der Oberflächennormalen die senkrecht<br />

auf der Achse stehen). Die Effizienz dieses Schrittes kann durch eine schnelle<br />

zufallsbasierte Hochrechnung gesteigert werden.<br />

3. Wiederhole die Schritte 1 <strong>und</strong> 2 <strong>und</strong> speichere das jeweils beste Ergebnis, solange<br />

bis alle Paarkombinationen getestet wurden, die Güte ausreicht oder die maximale<br />

Suchzeit abgelaufen ist.<br />

Für jedes Normalenpaar �n, �m ∈ NA mit ��n × �m� �= 0 kann eine Achsorientierungshypothese<br />

�z := (�n × �m) / ��n × �m� (5.1)<br />

generiert werden. Die Güte Ω der Hypothese ist dann (analog zu Gleichung (4.17))<br />

Ω ≈<br />

�k i=1 orthogonal(�z,�ni)<br />

±<br />

k<br />

1, 96<br />

2 √ k<br />

; (5.2)<br />

wobei die Funktion orthogonal(�z,�ni) bestimmt, ob die Oberflächennormale �ni orthogonal<br />

auf der Achsrichtung �z steht<br />

�<br />

1 falls ��z · �ni� < εr,<br />

orthogonal(�z,�ni) :=<br />

0 sonst.<br />

(5.3)<br />

Nachdem die Knochenachse bestimmt wurde, kann sie zur Identifizierung <strong>und</strong> Segmentierung<br />

der Bruchfläche herangezogen werden. Wie wir bereits festgestellt haben, stehen


104 Kapitel 5. Anwendungen <strong>und</strong> Einsatzgebiete<br />

im Schaftbereich die Normalen der intakten Knochenoberfläche im Allgemeinen senkrecht<br />

auf der Knochenachse. <strong>Das</strong> heißt, alle Oberflächenbereiche, die das orthogonal-<br />

Kriterium aus Gleichung (5.3) nicht erfüllen, gehören mit hoher Wahrscheinlichkeit zur<br />

Bruchfläche. In einer konkreten Implementierung sollte allerdings eine größere Toleranz<br />

εr als bei der Güteschätzung der Achshypothese zugelassen werden. Alle Oberflächenbereiche,<br />

die nicht parallel zur Achse verlaufen (<strong>und</strong> damit sichtbar sind, wenn man<br />

wie in Abbildung 5.6 entlang der Knochenachse schaut), werden mit dieser Methode als<br />

Bruchfläche klassifiziert.<br />

Matching der Femurfragmente<br />

Mit der berechneten Knochenachse <strong>und</strong> der segmentierten Bruchfläche haben wir ideale<br />

Voraussetzungen <strong>für</strong> das Matching der Femurfragmente geschaffen. Durch die Achsorientierung<br />

können bereits zwei rotatorische Freiheitsgrade zwischen jeweils zwei Fragmenten<br />

eingeschränkt werden; <strong>und</strong> die Kenntnis der Bruchflächen reduziert die Anzahl der möglichen<br />

Kontaktlagen. Als Basisalgorithmus verwenden wir im Folgenden den ’Random<br />

Sample Matching’-Ansatz aus Kapitel 4.3. Anstatt ein Punktpaar pro Fragment auszuwählen,<br />

reicht jeweils ein einzelner Punkt auf Fragment A <strong>und</strong> Fragment B aus, da zwei<br />

Freiheitsgrade bereits durch die Knochenachse festgelegt sind. Außerdem brauchen wir<br />

nur noch die markierten Bruchflächen zu berücksichtigen. Nach diesen Modifikationen<br />

ergibt sich folgende Suchschleife:<br />

1. Konstruiere eine Lagehypothese durch Annahme eines tangentialen Kontaktes zwischen<br />

zwei zufällig ausgewählten orientierten Punkten �a ∈ A <strong>und</strong> � b ∈ B, wobei A, B<br />

die Bruchflächenpunkte von Fragment A <strong>und</strong> B bezeichnen.<br />

2. Berechne die Güte der Lagehypothese (Größe der in Kontakt stehenden Bruchfläche).<br />

Die Effizienz dieses Schrittes kann durch eine schnelle zufallsbasierte Hochrechnung<br />

gesteigert werden.<br />

3. Wiederhole die Schritte 1 <strong>und</strong> 2 <strong>und</strong> speichere das jeweils beste Ergebnis, solange<br />

bis alle Paarkombinationen getestet wurden, die Güte ausreicht oder die maximale<br />

Suchzeit abgelaufen ist.<br />

In Schritt 1 wird zufällig ein orientierter Punkt �a auf der Bruchfläche von Fragment A<br />

<strong>und</strong> ein orientierter Punkt � b auf der Bruchfläche von Fragment B ausgewählt <strong>und</strong> in<br />

tangentialen Kontakt gebracht. Der verbleibende rotatorische Freiheitsgrad um die entgegengerichteten<br />

Oberflächennormalen �na,�nb kann durch Ausrichten der Knochenachsen<br />

�zA,�zB festgelegt werden. Ein Entgegenrichten der Oberflächennormalen <strong>und</strong> gleichzeitiges<br />

Ausrichten der Knochenachsen ist allerdings nur dann möglich, wenn der Winkel<br />

zwischen Oberflächennormale <strong>und</strong> Achse auf beiden Fragmenten übereinstimmt<br />

�na · �zA ≈ �nb · �zB bzw. | arccos(�na · �zA) − arccos(�nb · �zB)| < εz. (5.4)<br />

Außerdem muss sichergestellt werden, dass beide Winkel größer Null sind<br />

�na · �zA > 0 <strong>und</strong> �nb · �zB > 0, (5.5)


5.1. Anwendungen in der Chirurgie 105<br />

damit die relative Transformation eindeutig ist. Punktpaare, die diese Bedingungen nicht<br />

erfüllen, werden verworfen. Die relative Transformation A TB zwischen den beiden Fragmenten<br />

kann nun (analog zu Gleichung (4.5) auf Seite 54) mittels zweier Koordinatensysteme<br />

FA <strong>und</strong> FB (jeweils ein Koordinatensystem pro Fragment) ermittelt werden:<br />

mit<br />

⎡<br />

A TB = F −1<br />

A · F B (5.6)<br />

⎤<br />

FA := ⎣�na<br />

�z1�na<br />

|�z1�na|<br />

�na�zA�na<br />

|�na×�zA×�na| �pa ⎦, FB := ⎣−�nb<br />

�nb�zB<br />

|�nb�zB|<br />

�nb�zB�nb<br />

|�nb�zB�nb|<br />

0 0 0 1<br />

�pb ⎦ . (5.7)<br />

0 0 0 1<br />

Durch diese Definition der Koordinatensysteme wird gewährleistet, dass die Oberflächennormalen<br />

exakt entgegengerichtet sind <strong>und</strong> die Knochenachsen mit dem verbleibenden<br />

Freiheitsgrad im Sinne des kleinsten Winkelfehlers ausgerichtet werden. Hierdurch wird<br />

eine leichte Abweichung von der Achsorientierung zugelassen, wodurch das Verfahren<br />

robuster gegenüber ungenau berechneten Achsorientierungen wird. Über εz (in Gleichung<br />

(5.4)) kann die maximal erlaubte Winkelabweichung zwischen den Knochenachsen<br />

festgelegt werden.<br />

Die Güteberechnung in Schritt 2 <strong>und</strong> die Abbruchbedingungen in Schritt 3 erfolgen dann<br />

völlig analog zum ’Random Sample Matching’-Ansatz auf Seite 63.<br />

Experimentelle Ergebnisse<br />

Schauen wir uns nun die Performanz des Ansatzes an. Als Testdaten standen sowohl<br />

Computertomogramme von gebrochenen menschlichen Oberschenkelknochen, als auch<br />

von Kunstknochen der Firma Synbone [83] mit diversen Frakturtypen zu Verfügung.<br />

Abbildung 5.7 zeigt drei echte Femurfrakturen, die per C-Bogen aufgenommen wurden,<br />

<strong>und</strong> Abbildung 5.9 zeigt drei gebrochene Kunstknochen, die per Standard-CT aufgenommen<br />

wurden. Links ist jeweils die initiale Lage der Knochenfragmente dargestellt,<br />

in der Mitte sieht man die geschätzte Knochenachse <strong>und</strong> die segmentierte Bruchfläche<br />

(hell) gegenüber der intakten Knochenoberfläche (dunkel) <strong>und</strong> rechts ist das Ergebnis des<br />

Matching-Ansatzes abgebildet. Wie man sieht, arbeitet der Algorithmus augenscheinlich<br />

sehr genau <strong>und</strong> äußerst robust. Die Achsschätzung, die Bruchflächensegmentierung <strong>und</strong><br />

der Matching-Ansatz funktionieren selbst bei schwierigen Frakturformen.<br />

Präzise Aussagen über die erreichte Genauigkeit <strong>und</strong> Effizienz des Matching-Ansatzes<br />

liefern die Grafiken in Abbildung 5.8 <strong>und</strong> Abbildung 5.10. Hierzu wurden mit jeder Femurfraktur<br />

100 Versuchsdurchläufe durchgeführt <strong>und</strong> ausgewertet. In der Grafik links<br />

sieht man den Medianwert±Quantile der erreichten Bruchflächendistanz (mittlere Distanz<br />

der Bruchflächenpunkte gegenüber ihrer Sollposition in Millimetern) über der Zeit.<br />

Der Algorithmus erreicht in allen Fällen bereits nach einem Bruchteil einer Sek<strong>und</strong>e die<br />

unmittelbare Nähe der gewünschten Lösung, so dass in den dargestellten Daten nur<br />

noch bereits gute Lösungen zu sehen sind (man beachte, dass die Skalierung der Ordinate<br />

eine andere ist als in Kapitel 4). Anschaulicher als die Bruchflächendistanz ist der<br />

⎡<br />


106 Kapitel 5. Anwendungen <strong>und</strong> Einsatzgebiete<br />

Tabelle 5.1 Matching-Ergebnisse der Femurfrakturen nach jeweils 100 Durchläufen: Dargestellt<br />

ist jeweils Mittelwert, Median, Minimum <strong>und</strong> Maximum der mittleren Bruchflächendistanz<br />

(Dist.) <strong>und</strong> des Rotationsfehlers (Rot.) nach einer Laufzeit von 10 Sek<strong>und</strong>en pro Durchlauf,<br />

sowie die Laufzeit, die benötigt wurde, um eine relative Transformation mit einer Bruchflächendistanz<br />

von unter 3 mm zu finden. Die Messwerte wurden im 0,05-Sek<strong>und</strong>entakt erhoben.<br />

mean median min max<br />

Femur 1: Dist. [mm] 0,42 0,44 0,24 0,80<br />

Rot. [ ◦ ] 1,57 1,60 0,91 3,09<br />

Zeit [ s ] 0,05 0,05 0,05 0,10<br />

Femur 2: Dist. [mm] 1,09 1,14 0,66 1,49<br />

Rot. [ ◦ ] 1,75 1,57 0,39 3,89<br />

Zeit [ s ] 0,06 0,05 0,05 0,30<br />

Femur 3: Dist. [mm] 0,74 0,77 0,52 0,99<br />

Rot. [ ◦ ] 3,51 3,80 1,03 4,67<br />

Zeit [ s ] 0,06 0,05 0,05 0,15<br />

Femur 4: Dist. [mm] 1,39 1,37 0,70 2,33<br />

Rot. [ ◦ ] 2,36 2,34 0,39 5,67<br />

Zeit [ s ] 0,10 0,05 0,05 2,25<br />

Femur 5: Dist. [mm] 0,68 0,62 0,38 1,18<br />

Rot. [ ◦ ] 2,29 1,81 0,40 5,21<br />

Zeit [ s ] 0,05 0,05 0,05 0,05<br />

Femur 6: Dist. [mm] 0,57 0,56 0,29 1,07<br />

Rot. [ ◦ ] 1,47 1,24 0,25 3,18<br />

Zeit [ s ] 0,05 0,05 0,05 0,05<br />

Rotationsfehler im jeweils rechten Graphen. Hier sieht man, dass bereits nach dem ersten<br />

Zeitschritt (also nach 0,05 Sek<strong>und</strong>en) über 90% der Versuche weit unter der ” kritischen<br />

Torsionsabweichung“ von fünfzehn Grad liegen. Nach zwei Sek<strong>und</strong>en liegen bereits alle<br />

Ergebnisse unter einem Rotationsfehler von fünf Grad.<br />

In Tabelle 5.1 sind nochmals die erreichten Matching-Ergebnisse zusammengefasst dargestellt.<br />

Hier sieht man, dass bereits nach einem Bruchteil einer Sek<strong>und</strong>e im Schnitt<br />

eine Genauigkeit zwischen ein <strong>und</strong> drei Grad erzielt wurde <strong>und</strong> das Ergebnis somit weit<br />

besser als die manuelle Repositionierung ausfällt. Der verbleibende Lagefehler ist nicht<br />

zuletzt auch darauf zurückzuführen, dass die Knochen beim Brechen leicht verformt<br />

werden.


5.1. Anwendungen in der Chirurgie 107


108 Kapitel 5. Anwendungen <strong>und</strong> Einsatzgebiete<br />

Femur 1<br />

Femur 2<br />

Femur 3<br />

Initallage segmentierte Bruchfläche Ergebnis<br />

Abbildung 5.7 Drei menschliche Femurfrakturen, rekonstruiert aus C-Bogen CTs: (Links) initiale<br />

Lage; (Mitte) berechnete Achsen <strong>und</strong> segmentierte Bruchflächen; (Rechts) Matching-<br />

Ergebnisse.


5.1. Anwendungen in der Chirurgie 109<br />

mittlere Bruchflächendistanz [mm]<br />

mittlere Bruchflächendistanz [mm]<br />

mittlere Bruchflächendistanz [mm]<br />

3,5<br />

3<br />

2,5<br />

2<br />

1,5<br />

1<br />

0,5<br />

0<br />

0 0,5s 1s 1,5s 2s 2,5s<br />

3,5<br />

3<br />

2,5<br />

2<br />

1,5<br />

1<br />

0,5<br />

Rotationsfehler<br />

10°<br />

9°<br />

8°<br />

7°<br />

6°<br />

5°<br />

4°<br />

3°<br />

2°<br />

1°<br />

0°<br />

0 0,5s 1s 1,5s 2s 2,5s<br />

(a) (b)<br />

0<br />

0 0,5s 1s 1,5s 2s 2,5s<br />

3,5<br />

3<br />

2,5<br />

2<br />

1,5<br />

1<br />

0,5<br />

Rotationsfehler<br />

10°<br />

9°<br />

8°<br />

7°<br />

6°<br />

5°<br />

4°<br />

3°<br />

2°<br />

1°<br />

0°<br />

0 0,5s 1s 1,5s 2s 2,5s<br />

(c) (d)<br />

0<br />

0 0,5s 1s 1,5s 2s 2,5s<br />

Rotationsfehler<br />

10°<br />

9°<br />

8°<br />

7°<br />

6°<br />

5°<br />

4°<br />

3°<br />

2°<br />

1°<br />

0°<br />

0 0,5s 1s 1,5s 2s 2,5s<br />

(e) (f)<br />

Abbildung 5.8 Matching-Ergebnisse: (a) Median±Quantile der Bruchflächendistanz von Femur<br />

1; (b) Median±Quantile des Rotationsfehlers von Femur 1; (c)-(d) analoge Graphen <strong>für</strong><br />

Femur 2; (e)-(f) analoge Graphen <strong>für</strong> die Hauptfragmente von Femur 3.


110 Kapitel 5. Anwendungen <strong>und</strong> Einsatzgebiete<br />

Femur 4<br />

Femur 5<br />

Femur 6<br />

Initallage segmentierte Bruchfläche Ergebnis<br />

Abbildung 5.9 Drei Kunstknochen, rekonstruiert aus Standard-CTs: (Links) initiale Lage;<br />

(Mitte) berechnete Achsen <strong>und</strong> segmentierte Bruchflächen; (Rechts) Matching-Ergebnisse.


5.1. Anwendungen in der Chirurgie 111<br />

mittlere Bruchflächendistanz [mm]<br />

mittlere Bruchflächendistanz [mm]<br />

mittlere Bruchflächendistanz [mm]<br />

3,5<br />

3<br />

2,5<br />

2<br />

1,5<br />

1<br />

0,5<br />

0<br />

0 0,5s 1s 1,5s 2s 2,5s<br />

3,5<br />

3<br />

2,5<br />

2<br />

1,5<br />

1<br />

0,5<br />

Rotationsfehler<br />

10°<br />

9°<br />

8°<br />

7°<br />

6°<br />

5°<br />

4°<br />

3°<br />

2°<br />

1°<br />

0°<br />

0 0,5s 1s 1,5s 2s 2,5s<br />

(a) (b)<br />

0<br />

0 0,5s 1s 1,5s 2s 2,5s<br />

3,5<br />

3<br />

2,5<br />

2<br />

1,5<br />

1<br />

0,5<br />

Rotationsfehler<br />

10°<br />

9°<br />

8°<br />

7°<br />

6°<br />

5°<br />

4°<br />

3°<br />

2°<br />

1°<br />

0°<br />

0 0,5s 1s 1,5s 2s 2,5s<br />

(c) (d)<br />

0<br />

0 0,5s 1s 1,5s 2s 2,5s<br />

Rotationsfehler<br />

10°<br />

9°<br />

8°<br />

7°<br />

6°<br />

5°<br />

4°<br />

3°<br />

2°<br />

1°<br />

0°<br />

0 0,5s 1s 1,5s 2s 2,5s<br />

(e) (f)<br />

Abbildung 5.10 Matching-Ergebnisse: (a) Median±Quantile der Bruchflächendistanz von Femur<br />

4; (b) Median±Quantile des Rotationsfehlers von Femur 4; (c)-(d) analoge Graphen <strong>für</strong><br />

Femur 5; (e)-(f) analoge Graphen <strong>für</strong> zwei Fragmente von Femur 6.


112 Kapitel 5. Anwendungen <strong>und</strong> Einsatzgebiete<br />

5.1.2 Repositionierung von gebrochenen Beckenknochen<br />

Nach Tscherne H.; Pohlemann T. [84] sind fünf bis acht Prozent aller auftretenden Frakturen<br />

Beckenverletzungen. Dies ist nicht zuletzt auf die hohe Anzahl an Verletzungen im<br />

Straßenverkehr zurückzuführen. Neben der roboterassistierten Femurmarknagelung ist<br />

auch eine Roboterunterstützung bei der Repositionierung von gebrochenen Becken sinnvoll<br />

<strong>und</strong> vielversprechend, da sich ähnliche Genauigkeitsprobleme aufgr<strong>und</strong> der eingeschränkten<br />

Röntgenansichten ergeben. Ein automatisches Zusammensetzen der Beckenfragmente<br />

könnte auch hier die preoperative Operationsplanung stark vereinfachen <strong>und</strong><br />

selbstverständlich bereits vorhandene Systeme zur computerassistierten Beckenchirurgie<br />

(siehe z.B. Hüfner [38]) sinnvoll ergänzen. Die Bruchfläche bei gebrochenen Beckenknochen<br />

ist im Allgemeinen schmal <strong>und</strong> macht nur einen sehr geringen Teil der gesamten<br />

Oberfläche aus. Wie bereits beschrieben, bringt eine einfache Kontakflächenmaximierung<br />

meist die großen glatten Darmbeinschaufeln (siehe Abbildung 5.11) in Kontakt.<br />

Deshalb muss auch in diesem Anwendungsfall zusätzliches a priori Wissen integriert<br />

werden, damit der Matching-Ansatz aus Kapitel 4 funktioniert. Wie lässt sich nun das<br />

Wissen über den spiegelsymmetrischen Aufbau des Beckens ausnutzen?<br />

Abbildung 5.11 <strong>Das</strong> knöcherne Becken (Pelvis) des Menschen.


5.1. Anwendungen in der Chirurgie 113<br />

Ausnutzung von Spiegelsymmetrien<br />

Abbildung 5.12 veranschaulicht eine mögliche Vorgehensweise, mit der wir einfach eine<br />

gute grobe Lageschätzung erhalten. Zuerst wird das größere Fragment an einer beliebigen<br />

Ebene gespiegelt (z.B. an der YZ-Ebene durch invertieren der X-Koordinaten)<br />

<strong>und</strong> anschließend mit seiner gespiegelten Kopie registriert. <strong>Das</strong> Registrierungsproblem<br />

kann durch invertieren der Oberflächennormalen des gespiegelten Fragmentes in ein<br />

<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> überführt werden. Natürlich ist ein reales Becken nicht perfekt spiegelsymmetrisch.<br />

Deshalb ist es wichtig, dass der Algorithmus robust gegenüber kleinen<br />

Abweichungen von der Spiegelsymmetrie ist. Hier<strong>für</strong> können beide Ansätze aus Kapitel<br />

4 eins-zu-eins angewandt werden. Durch die Invertierung zeigen die Normalen in das<br />

Innere des Fragmentes, wodurch <strong>für</strong> den Matching-Algorithmus nunmehr Innen“ <strong>und</strong><br />

”<br />

” Außen“ vertauscht ist <strong>und</strong> das gespiegelte Fragment möglichst passgenau in das ungespiegelte<br />

Fragment eingefügt wird. Als Ergebnis ergänzen sich die beiden Beckenteile<br />

näherungsweise zu einem ganzen Becken. Man erhält die Symmetrieebene <strong>und</strong> einen<br />

” virtuellen Behälter“, in den das zweite kleinere Fragment hinein passen muss.<br />

Abbildung 5.13 veranschaulicht wie die Symmetrieebene berechnet werden kann. Bild (a)<br />

zeigt das größere Beckenfragment A <strong>und</strong> das gespiegelte Fragment A, welches durch<br />

Spiegelung an der YZ-Ebene des Referenzkoordinatensystems FA (bzw. durch Invertieren<br />

der X-Koordinaten aller Oberflächenpunkte) entstanden ist. Nach der Spiegelung<br />

sind die Referenzkoordinatensysteme beider Fragmente deckungsgleich FA = F A . Durch<br />

die darauffolgende Registrierung, wird das Referenzkoordinatensystem F A transliert <strong>und</strong><br />

rotiert, so dass sich die Fragmente (wie in Abbildung 5.13 (b) dargestellt) zu einem ganzen<br />

Becken ergänzen. Die implizit errechnete Symmetrieebene liegt nun genau zwischen<br />

den beiden Referenzkoordinatensystemen <strong>und</strong> ist über die Ebenengleichung in Normal-<br />

Abbildung 5.12 Ausnutzung von Spiegelsymmetrien am Beispiel eines Beckens


114 Kapitel 5. Anwendungen <strong>und</strong> Einsatzgebiete<br />

(a) (b)<br />

Abbildung 5.13 Zur Berechnung der Symmetrieebene: (a) Spiegelung des größeren Beckenfragments<br />

A and der YZ-Ebene. (b) Nach der Registrierung des Beckenfragments mit seinem<br />

gespiegelten Äquivalent A kann die Symmetrieebene aus der Lage der beiden Referenzkoordinatensysteme<br />

FA <strong>und</strong> F A berechnet werden.<br />

formdarstellung<br />

gegeben, wobei<br />

(�p − �pM) · �nM = 0 ; �p ∈ IR 3<br />

�pM = �pA + �p A<br />

2<br />

dem Ortsvektor der Symmetrieebene <strong>und</strong><br />

�nM = �xA + �x A<br />

|�xA + �x A |<br />

(5.8)<br />

(5.9)<br />

(5.10)<br />

der Normalen der Symmetrieebene entspricht. <strong>Das</strong> Einpassen des fehlenden Fragmentes<br />

B in das innere von Fragment A kann wiederum mit dem gleichen <strong>3d</strong>-<strong>Puzzle</strong>-Ansatz<br />

erfolgen. Als Ergebnis erhält man ein grob zusammengesetztes Becken.<br />

Die experimentellen Ergebnisse belegen das große Potenzial dieser Vorgehensweise. Die<br />

folgenden Abbildungen zeigen die Spiegelsymmetrieregistrierung an acht unterschiedlich<br />

frakturierten Kunststoffbecken, dessen Oberflächen aus Computertomogrammen rekonstruiert<br />

wurden. Abbildung 5.14 zeigt die acht Testfrakturen in ihrer initialen Lage.<br />

Die Fraktur verläuft jeweils durch unterschiedliche Bereiche des Beckens (durch Kreuzbein/Schambeinfuge,<br />

Kreuzbein/Sitzbein, Darmbein/Schambeinfuge, Darmbein/Sitzbein<br />

<strong>und</strong> Kreuzbein-Darmbein-Gelenk/Schambeinfuge). Abbildung 5.15 zeigt die Zwischenergebnisse<br />

nach der Registrierung des jeweils größeren Fragments mit seinem gespiegelten<br />

Gegenstück, sowie die dabei berechneten Symmetrieebenen.


5.1. Anwendungen in der Chirurgie 115<br />

Abbildung 5.14 Acht Beckenfrakturen mit unterschiedlichen Frakturverläufen bestehen aus<br />

jeweils ca. 64.000 Oberflächenpunkten.<br />

Abbildung 5.15 Zwischenergebnisse nach der Registrierung des jeweils größeren Beckenfragments<br />

mit seinem gespiegelten Äquivalent <strong>und</strong> die dabei berechneten Symmetrieebenen.<br />

Die Ergebnisse nach der Registrierung des verbleibenden kleineren Fragmentes sind in<br />

den Abbildungen 5.16 <strong>und</strong> 5.17 dargestellt. Die jeweils linke Spalte zeigt nochmals die initiale<br />

Lage, die mittlere Spalte das auf Symmetrie basierende Registrierungsergebnis <strong>und</strong><br />

die rechte Spalte eine Detailansicht der Frakturregionen aus einer anderen Perspektive.<br />

Da die Registrierungsergebnisse bisher einzig <strong>und</strong> allein auf dem Symmetriewissen basieren,<br />

aber die Beckenknochen natürlich nicht perfekt symmetrisch aufgebaut sind, ist es<br />

nicht verw<strong>und</strong>erlich, dass gewisse Ungenauigkeiten in den Endergebnissen zu beobachten<br />

sind (siehe eingekreiste Frakturregionen in Abbildung 5.16 <strong>und</strong> 5.17). Deshalb sind<br />

diese Lösungen auch nur als grobe Initiallösung <strong>für</strong> eine nachfolgende Feinausrichtung<br />

zu verstehen. In diesem Verbesserungsschritt müssen insbesondere die Kreuzbeinlöcher<br />

(Foramin sacralia) möglichst exakt ausgerichtet werden, falls der Bruch durch diese<br />

Bereiche verläuft, da es sich hierbei um die Austrittslöcher der Nerven <strong>und</strong> Blutgefäße<br />

handelt.


116 Kapitel 5. Anwendungen <strong>und</strong> Einsatzgebiete<br />

Becken 1<br />

Becken 2<br />

Becken 3<br />

Becken 4<br />

Initallage Symmetrie-Match Detail<br />

Abbildung 5.16 Auf Symmetrie basierende Registrierung von Becken 1-4: (Links) initiale<br />

Lage; (Mitte) Registrierungsergebnisse; (Rechts) Detailansicht aus einer anderen Perspektive<br />

mit eingekreisten <strong>Problem</strong>zonen.


5.1. Anwendungen in der Chirurgie 117<br />

Becken 5<br />

Becken 6<br />

Becken 7<br />

Becken 8<br />

Initallage Symmetrie-Match Detail<br />

Abbildung 5.17 Auf Symmetrie basierende Registrierung von Becken 5-8: (Links) initiale<br />

Lage; (Mitte) Registrierungsergebnisse; (Rechts) Detailansicht aus einer anderen Perspektive<br />

mit eingekreisten <strong>Problem</strong>zonen.


118 Kapitel 5. Anwendungen <strong>und</strong> Einsatzgebiete<br />

Segmentierung der Bruchflächen <strong>und</strong> Feinausrichtung<br />

Die berechnete grobe Lage soll nun verbessert werden. Eine direkte Anwendung des ICP-<br />

Ansatzes zur Feinregistrierung führt leider in den meisten Fällen nicht zum Erfolg, da die<br />

Bruchflächen sehr schmal sind <strong>und</strong> die grobe Lösung noch zu weit von der optimalen Lage<br />

entfernt ist. Der ICP-Algorithmus zieht statt der Bruchflächen häufig die angrenzenden<br />

intakten Flächen zusammen. Wie auch bei den Femurfragmenten kann das <strong>Problem</strong><br />

allerdings durch eine vorausgehende Segmentierung der Bruchflächen behoben werden.<br />

Für die folgenden Berechnungen zur Segmentierung der Bruchflächen sei angenommen,<br />

dass die beiden Beckenfragmente A <strong>und</strong> B, sowie das gespiegelte Fragment A (wie im vorherigem<br />

Abschnitt erläutert) bereits grob ausgerichtet <strong>und</strong> alle Oberflächenpunkte <strong>und</strong><br />

-normalen entsprechend in ein gemeinsames Koordinatensystem transformiert wurden.<br />

In der grob ausgerichteten Lage kann davon ausgegangen werden, dass die Bruchflächen<br />

nicht allzu weit voneinander entfernt liegen. Im ersten Schritt werden deshalb diejenigen<br />

Oberflächenpunkte bestimmt die eine geringe Distanz zum Gegenstück haben, denn<br />

hierbei handelt es sich um potentielle Bruchflächenpunkte. In den Experimenten hat<br />

sich eine maximale Distanz von 16 mm als ausreichend erwiesen. Im Folgenden können<br />

wir damit die weiteren Berechnung auf die Teilmengen<br />

�<br />

Aclose = �a ∈ A | ∃� �<br />

b ∈ B : ��pa − �pb� < 16 mm ,<br />

� �<br />

Bclose = �b ∈ B | ∃�a ∈ A : ��pb − �pa� < 16 mm (5.11)<br />

beschränken. Bei der Beckenfraktur in Abbildung 5.18 sind die hierdurch ausgewählten<br />

Oberflächenbereiche grau eingefärbt.<br />

Um die Bruchfläche noch weiter einzuschränken, bestimmen wir als erstes Oberflächenbereiche<br />

die nahe der Symmetrieebene liegen <strong>und</strong> ungefähr parallel zu dieser ausgerichtet<br />

Abbildung 5.18 Beckenfraktur in grob ausgerichteter Lage, bei der diejenigen Oberflächenbereiche<br />

grau eingefärbt sind, die eine geringe Distanz (< 16 mm) zum Gegenstück haben.


5.1. Anwendungen in der Chirurgie 119<br />

(a) (b)<br />

Abbildung 5.19 (a) Oberflächenbereiche von Fragment A, die nahe <strong>und</strong> parallel zu der Symmetrieebene<br />

liegen sind blau eingefärbt. (b) Resultat der Bruchflächensegmentierung <strong>für</strong> Fragment<br />

A.<br />

sind:<br />

Asym = {�a ∈ Aclose | (�pa − �pM) · �nM < εsym ∧ |�na · �nM| − 1 < εn}<br />

� �<br />

Bsym = �b ∈ Bclose | (�pb − �pM) · �nM < εsym ∧ |�nb · �nM| − 1 < εn<br />

(5.12)<br />

Wie in Abbildung 5.19 (a) zu sehen ist, werden hierdurch insbesondere eventuelle Bruchflächen<br />

im Bereich der Schambeinfuge detektiert.<br />

Für die Segmentierung der verbleibenden Bruchflächen muss zusätzlich die relative Lage<br />

des gespiegelten Fragments A berücksichtigt werden. Die verbleibenden Bruchflächen<br />

von Fragment A <strong>und</strong> B sind dadurch gekennzeichnet, dass sie keine Entsprechung im<br />

gespiegelten Fragment A haben. Insbesondere sind die Bruchflächen nicht parallel zu<br />

der Oberfläche von A ausgerichtet <strong>und</strong> können deshalb über<br />

�<br />

�<br />

Aorth =<br />

Borth =<br />

�a ∈ Aclose | |�na · �nx| < 0, 6 mit �x := arg min ��pa − �py�<br />

�y∈A<br />

�<br />

�<br />

�b ∈ Bclose | |�nb · �nx| < 0, 6 mit �x := arg min ��pb − �py�<br />

�y∈A<br />

(5.13)<br />

eingegrenzt werden. Die Vereinigung der Mengen aus (5.12) <strong>und</strong> (5.13) ergeben dann<br />

die in Abbildung 5.19 (b) dargestellte Menge der segmentierten Bruchflächenpunkte<br />

Afrac = Asym ∩ Aorth ,<br />

Bfrac = Bsym ∩ Borth. (5.14)


120 Kapitel 5. Anwendungen <strong>und</strong> Einsatzgebiete<br />

Becken 1<br />

Becken 2<br />

Becken 3<br />

Becken 4<br />

segmentierte Bruchfläche Matching-Ergebnis Detail<br />

Abbildung 5.20 Feinausrichtung von Becken 1-4: (Links) segmentierte Bruchflächen blau eingefärbt;<br />

(Mitte) Ergebnisse der Feinausrichtung; (Rechts) Detailansicht aus einer anderen Perspektive.


5.1. Anwendungen in der Chirurgie 121<br />

Becken 5<br />

Becken 6<br />

Becken 7<br />

Becken 8<br />

segmentierte Bruchfläche Matching-Ergebnis Detail<br />

Abbildung 5.21 Feinausrichtung von Becken 5-8: (Links) segmentierte Bruchflächen blau eingefärbt;<br />

(Mitte) Ergebnisse der Feinausrichtung; (Rechts) Detailansicht aus einer anderen Perspektive.


122 Kapitel 5. Anwendungen <strong>und</strong> Einsatzgebiete<br />

Tabelle 5.2 Matching-Ergebnisse der Beckenfrakturen nach jeweils 100 Durchläufen: Dargestellt<br />

ist jeweils Mittelwert, Median, Minimum <strong>und</strong> Maximum der ’root-mean-square’-<br />

Bruchflächendistanz (RMS-Dist.) <strong>und</strong> des Rotationsfehlers (Rot.) nach einer Gesamtlaufzeit<br />

von 25 Sek<strong>und</strong>en (20 Sek<strong>und</strong>en Grobregistrierung + 5 Sek<strong>und</strong>en Feinausrichtung) pro Durchlauf.<br />

mean median min max<br />

Becken 1: RMS-Dist. [mm] 3,87 3,70 1,89 6,21<br />

Rot. [ ◦ ] 2,79 2,81 1,18 4,35<br />

Becken 2: RMS-Dist. [mm] 2,25 2,34 0,94 3,26<br />

Rot. [ ◦ ] 2,04 2,12 0,55 3,24<br />

Becken 3: RMS-Dist. [mm] 4,57 5,03 1,22 8,07<br />

Rot. [ ◦ ] 2,38 2,61 0,51 4,26<br />

Becken 4: RMS-Dist. [mm] 2,37 2,29 1,53 4,28<br />

Rot. [ ◦ ] 1,72 1,58 0,71 2,97<br />

Becken 5: RMS-Dist. [mm] 2,48 2,64 0,92 3,33<br />

Rot. [ ◦ ] 1,57 1,59 0,70 2,18<br />

Becken 6: RMS-Dist. [mm] 1,79 1,69 0,50 3,81<br />

Rot. [ ◦ ] 1,69 1,74 0,73 2,79<br />

Becken 7: RMS-Dist. [mm] 1,69 1,62 0,97 3,49<br />

Rot. [ ◦ ] 1,80 1,78 0.64 3,08<br />

Becken 8: RMS-Dist. [mm] 2,55 2,40 1,79 4,48<br />

Rot. [ ◦ ] 1,40 0,62 0,01 6,28<br />

Nachdem die Bruchflächen segmentiert wurden, können diese problemlos mit einem<br />

Standardverfahren registriert werden. Neben dem ICP-Ansatz eignen sich auch hier<br />

wieder die in Kapitel 4 vorgestellten Verfahren zur Lösung des <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>s. Die<br />

Abbildungen 5.20 <strong>und</strong> 5.21 zeigen die experimentellen Ergebnisse der Feinausrichtung<br />

angewandt auf die acht Beckenfrakturen. Die linke Spalte zeigt jeweils die segmentierten<br />

Bruchflächen, die mittlere Spalte das auf der Bruchfläche basierende Matching-Ergebnis<br />

<strong>und</strong> die rechte Spalte eine Detailansicht der Frakturregionen aus einer anderen Perspektive.<br />

Wie man sieht liegen nun die Bruchflächen nahtlos <strong>und</strong> passgenau aufeinander. Die<br />

erreichten Genauigkeiten nach einer Gesamtberechnungszeit von 25 Sek<strong>und</strong>en sind in<br />

Tabelle 5.2 zusammengefasst. Die mittlere rotatorische Abweichung zwischen Ist- <strong>und</strong><br />

Solllage liegt in allen Fällen unter drei Grad.<br />

<strong>Das</strong> Wissen von Symmetrien macht in vielen Fällen ein korrektes Zusammenfügen überhaupt<br />

erst möglich. Die vorgeschlagene Vorgehensweise macht nicht nur im Fall von<br />

spiegelsymmetrischen Objekten Sinn, sondern kann auch eingesetzt werden, wenn es<br />

ein zweites spiegelsymmetrisches Gegenstück gibt, wie z.B. einen zweiten spiegelsymmetrischen<br />

Knochen. Da das Knochenskelett von Mensch <strong>und</strong> Tier im Allgemeinen


5.2. Anwendungen in der Archäologie 123<br />

vollkommen symmetrisch aufgebaut ist, trifft dies auf sämtliche Knochen im Körper<br />

zu. Die Ausnutzung von Spiegelsymmetrien in medizinischen Anwendungen ist nicht<br />

neu. Allerdings musste bei Verfahren, die Spiegelsymmetrie ausnutzen, bis zum jetzigen<br />

Zeitpunkt jeweils ein intaktes spiegelsymmetrisches Gegenstück vorliegen. Oftmals ist<br />

diese Voraussetzung leider nicht gegeben (so sind z.B. bei Unfällen im Straßenverkehr<br />

oft beide Beine betroffen). Im Gegensatz hierzu kann der vorgeschlagene Ansatz auch<br />

eingesetzt werden, wenn beide Symmetrieteile gebrochen sind.<br />

5.2 Anwendungen in der Archäologie<br />

Neben dem Repositionieren von Knochen in der Chirurgie ist natürlich auch die Archäologie<br />

äußerst interessiert an Verfahren, die das Zusammensetzen von zerbrochenen<br />

Objekten unterstützen. Oftmals hat man es in der Archäologie mit zerbrochenen Töpferwaren<br />

oder Keramiken zu tun. Die manuelle Rekonstruktion der vielen zersplitterten<br />

F<strong>und</strong>stücke aus den unzähligen kleinen Scherben ist eine nahezu unlösbare Aufgabe. In<br />

den Archiven lagern die Scherben kistenweise. Bei den zerbrochenen Artefakten handelt<br />

es sich häufig um wenige Zentimeter oder Millimeter starke, rotationssymmetrische<br />

Behältnisse. Viele Lösungsansätze spezialisieren sich deshalb auf diese (nahezu zweidimensionalen)<br />

Fragmente <strong>und</strong> stützen sich auf Bruchkanten, Texturen <strong>und</strong> Rotationssymmetrieeigenschaften<br />

(siehe z.B. [17], [18], [27], [47], [48], [95]).<br />

Diese Arbeit konzentriert sich jedoch primär auf das Zusammensetzen von dreidimensionalen<br />

(massiven oder zumindest dickwandigen) Fragmenten mit entsprechend großer<br />

Bruchfläche. Dennoch funktionieren die vorgestellten Ansätze selbstverständlich auch<br />

<strong>für</strong> relativ dünnwandige Objekte, falls vorher die schmalen Bruchflächen segmentiert<br />

wurden. Die Segmentierung der Bruchflächen von dünnwandigen Fragmenten ist im Allgemeinen<br />

recht einfach. Hier kann das Wissen ausgenutzt werden, dass die intakten<br />

Oberflächenregionen immer eine nahe gelegene <strong>und</strong> ungefähr parallele Oberfläche mit<br />

entgegengesetzter Orientierung haben. Anders ausgedrückt: Die intakten Bereiche bilden<br />

immer zwei gegenüberliegenden Oberflächen. Somit gehören all diejenigen orientierten<br />

Oberflächenpunkte �a zur Bruchfläche, die keinen gegensätzlich orientierten Oberflächenpunkt<br />

�x in ihrer lokalen Umgebung haben:<br />

Afrac = {�a ∈ A | ∀�x ∈ A : (�na · �nx < −0.9 ∨ ��pa − �px� > dmax) } , (5.15)<br />

wobei dmax die maximale Wanddicke des zerbrochenen Objekts angibt.<br />

Abbildung 5.22 zeigt links eine künstlich in vier Teile zerbrochene Tasse, dessen Bruchfläche<br />

mit dem oben beschriebenen Ansatz segmentiert wurde. Die erreichten Genauigkeiten<br />

<strong>und</strong> Geschwindigkeiten sind in Tabelle 5.3 zusammengefasst. Wie an den Laufzeiten<br />

zu sehen ist, findet der Algorithmus im Mittel bereits nach nur 3 bis 8 Millisek<strong>und</strong>en<br />

gute Lösungen mit einer Genauigkeit von unter drei Grad. Diese enorme Geschwindigkeit<br />

lässt sich einfach darauf zurückführen, dass die Anzahl der Oberflächenpunkte auf<br />

der schmalen Bruchfläche sehr klein ist.


124 Kapitel 5. Anwendungen <strong>und</strong> Einsatzgebiete<br />

Abbildung 5.22 (Links) künstlich zerbrochene Tasse mit segmentierter Bruchfläche (insgesamt<br />

ca. 23.000 Punkten); (Rechts) Matching-Ergebnis.<br />

Tabelle 5.3 Matching-Ergebnisse der zerbrochenen Tasse (Höhe 80 mm) nach 100 Durchläufen:<br />

Dargestellt ist jeweils Mittelwert, Median, Minimum <strong>und</strong> Maximum der ’root-mean-square’-<br />

Distanz (RMS-Dist.) <strong>und</strong> des Rotationsfehlers (Rot.) nach einer Laufzeit von 2 Sek<strong>und</strong>en pro<br />

Durchlauf, sowie die Laufzeit die benötigt wurde um einen Rotationsfehler von unter drei Grad<br />

zu erreichen.<br />

Fragmente mean median min max<br />

A+B: RMS-Dist. [mm] 0,53 0,47 0,47 0,65<br />

Rot. [ ◦ ] 2,31 2,10 1,78 3,02<br />

Zeit [s] 0,003 0,004 0,002 0,005<br />

A+C: RMS-Dist. [mm] 0,48 0,48 0,42 0,64<br />

Rot. [ ◦ ] 0,63 0,68 0,26 0,87<br />

Zeit [s] 0,006 0,007 0,002 0,014<br />

C+D: RMS-Dist. [mm] 0,43 0,43 0,42 0,43<br />

Rot. [ ◦ ] 1,90 1,87 1,85 1,97<br />

Zeit [s] 0,008 0,008 0,001 0,019


5.2. Anwendungen in der Archäologie 125<br />

Abbildung 5.23 Anwendung des Femur-Matching-Ansatzes auf einen zerbrochen Quader:<br />

(Oben links) initiale Lage; (Oben rechts) berechnete Achsen <strong>und</strong> segmentierte Bruchflächen;<br />

(Unten) Matching-Ergebnis.<br />

Ein gutes Beispiel <strong>für</strong> die Nützlichkeit von Verfahren <strong>für</strong> dickwandige dreidimensionale<br />

Fragmente ist die ” Forma Urbis Romae“, eine über 2000 Jahre alte Marmorplatte<br />

mit einem historischen Stadtplan von Rom. Auf dem ca 18x14 Meter großen, detaillierten<br />

Stadtplan sind alle Straßen, alle Gebäude im Gr<strong>und</strong>riss <strong>und</strong> alle Treppen der<br />

Stadt eingraviert. Die Platte wurde jedoch im 15ten Jahrh<strong>und</strong>ert beim Fall des Römischen<br />

Imperiums zerstört <strong>und</strong> ist in über tausend Teile zerbrochen. Die Rekonstruktion<br />

dieses <strong>Puzzle</strong>s ist noch immer eines der großen ungelösten <strong>Problem</strong>e der klassischen Archäologie.<br />

Seit 1998 wird versucht, die Fragmente computergestützt zusammenzusetzen.<br />

Hier<strong>für</strong> wurden alle gef<strong>und</strong>enen Fragmente per Laserscanner digitalisiert (siehe Levoy<br />

[56]); doch bisher konnte nur ein sehr kleiner Teil rekonstruiert werden. Sicherlich kann<br />

<strong>und</strong> sollte auch bei der Marmorplatte zusätzliches Vorwissen genutzt werden. Da es sich<br />

hierbei um einen nahezu gleichmäßig dicken Quader handelt, können die Bruchflächen<br />

<strong>und</strong> Bruchkanten leicht segmentiert werden. Leider waren die hochaufgelösten digitalen<br />

Fragmente bisher nicht öffentlich zugänglich. Abbildung 5.23 zeigt exemplarisch das Ergebnis<br />

des ’Random Sample Matching’-Ansatzes anhand eines künstlich zerbrochenen<br />

<strong>und</strong> verrauschten Steinquaders. Die Bruchfläche konnte in diesem Fall mit dem gleichen<br />

Ansatz, der auch <strong>für</strong> die Femurfragmente verwendet wurde, segmentiert werden.


126 Kapitel 5. Anwendungen <strong>und</strong> Einsatzgebiete<br />

Natürlich liefert auch die Gravur viele Merkmale die beim Zusammensetzen ausgenutzt<br />

werden sollten. Die Integration dieses ” texturiellen“ Vorwissens wurde hier jedoch nicht<br />

vorgenommen <strong>und</strong> bleibt zukünftigen Arbeiten vorbehalten.<br />

5.3 Registrierung von Oberflächendaten<br />

Ein klassisches <strong>Problem</strong> der <strong>3d</strong>-Bildverarbeitung ist die Registrierung oder Fusionierung<br />

von Oberflächendaten, die per Tiefensensor (z.B. Laserscanner oder Codierter-Licht-<br />

Ansatz) akquiriert wurden. Im Allgemeinen können die Sensoren nur die sichtbaren<br />

Oberflächen erfassen. Um ein komplettes 360 ◦ -R<strong>und</strong>ummodell zu erhalten, müssen also<br />

die aus verschiedenen Sichtrichtungen gewonnenen Oberflächen in ein gemeinsames Koordinatensystem<br />

gebracht <strong>und</strong> relativ zueinander so ausgerichtet werden, dass die mehr<br />

oder weniger überlappenden Oberflächenränder aufeinander passen. In den meisten aus<br />

der Literatur bekannten Verfahren (wie z.B. dem ICP-Ansatz) wird davon ausgegangen,<br />

dass bereits eine recht gute Schätzung der relativen Lage vorliegt. Denkbar ist zum<br />

Beispiel, dass der ungefähre Rotationswinkel, mit dem das Objekt weitergedreht wurde,<br />

bekannt ist. Eine Feinregistrierung muss in diesem Fall nur noch kleine Kalibrierungsungenauigkeiten<br />

durch eine iterative Optimierung ausgleichen.<br />

Im Gegensatz hierzu arbeiten die hier vorgestellten Verfahren auch ohne initiale Lageschätzung<br />

<strong>und</strong> erlauben somit eine höhere Flexibilität bei der Akquisitionstechnik. Abbildung<br />

5.24 zeigt vier akquirierte Oberflächen einer Beethoven-Büste (170 mm hoch).<br />

Die Oberflächen wurden per Triangulation mit der manuell geführten Laserschnitttechnik<br />

aus Kapitel 2.1.1 vermessen. Wie man sehen kann, sind die Oberflächen verrauscht<br />

<strong>und</strong> decken jeweils nur einen Teil der Gesamtoberfläche des Objektes ab. Die einzelnen<br />

Oberflächen der Büste bestehen aus jeweils ca. 60.000 Punkten <strong>und</strong> weisen eine<br />

Oberflächenüberlappung von ca. 35 % auf. Die akquirierte Oberflächen eines zweiten<br />

Testobjekts (145 mm hoch) sind in Abbildung 5.25 dargestellt.<br />

Ziel ist es nun, die jeweils vier Datensätze eines Objektes zu registrieren, also in die<br />

richtige räumliche Lage zueinander zu bringen. Hierzu kann z.B. der ’Random Sample<br />

Matching’-Ansatz aus Kapitel 4.3 auf die Daten angewandt werden. Da ein Durchdringungstest<br />

in diesem Fall nicht notwendig ist, setzten wir die Gütestrafe auf Null.<br />

Außerdem müssen (wie bereits bei den gebrochenen Beckenknochen) die Oberflächennormalen<br />

von jeweils einem Fragment invertiert werden, damit aus dem <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong><br />

ein Registrierungsproblem wird. Abbildung 5.26 zeigt das Ergebnis der paarweisen Registrierung<br />

der Beethoven-Büste. Dieses Ergebnis wird bereits nach wenigen Sek<strong>und</strong>en<br />

erreicht. Um die Registrierungsgenauigkeiten zu evaluieren, ist die Kenntnis der exakten<br />

Solllage notwendig. Aus diesem Gr<strong>und</strong> wurden die Objekte zwischen den <strong>3d</strong>-Aufnahmen<br />

mit einem präzisen Drehteller gedreht. Die erreichten Genauigkeiten sind in Tabelle 5.4<br />

zusammengefasst. Bei der dargestellten RMS-Distanz (engl. ’root-mean-square distance’)<br />

handelt es sich um die Wurzel des mittleren quadratischen Fehlers zwischen Ist- <strong>und</strong><br />

Solllage der Oberflächenpunkte im Überlappungsbereich. Die hervorragende Performanz<br />

des Matching-Ansatzes in diesem Anwendungsfall wird in Abbildung 5.27 deutlich. Dar-


5.3. Registrierung von Oberflächendaten 127<br />

gestellt ist die erreichte RMS-Distanz (a) <strong>und</strong> der Rotationsfehler (b) über der Zeit<br />

im Fall der Registrierung zweier Oberflächenfragmente der Beethoven-Büste. Wie man<br />

hier ablesen kann, haben bereits nach 0,5 Sek<strong>und</strong>en 70 % aller Versuchsdurchläufe einen<br />

rotatorischen Fehler von unter drei Grad erreicht. <strong>Das</strong> Laufzeitverhalten der anderen<br />

Oberflächenfragmente ist ähnlich gut. Die Ergebnisse der Oberflächenregistrierung <strong>für</strong><br />

das zweite Testobjekt sind in Abbildung 5.28 dargestellt.<br />

Im Fall von Punktwolken ist man nach der Ausrichtung der Datensätze bereits fertig.<br />

Alle Oberflächenpunkte können nach Transformation in das gemeinsame Koordinatensystem<br />

einfach in einer gemeinsamen Liste vereinigt werden. Im Fall von anderen Repräsentationsformen,<br />

wie Dreiecksnetzen, ist noch eine Nachbearbeitung erforderlich, um<br />

eine ordnungsgemäße Vernetzung der vereinigten Punktmengen herzustellen.


128 Kapitel 5. Anwendungen <strong>und</strong> Einsatzgebiete<br />

Abbildung 5.24 Aus vier unterschiedlichen Sichtrichtungen akquirierte Oberfläche einer<br />

Beethoven-Büste: (Oben) Frontalansicht; (Unten) Ansicht von unten.<br />

Abbildung 5.25 Aus vier unterschiedlichen Sichtrichtungen akquirierte Oberfläche eines weiteren<br />

Testobjektes: (Oben) Frontalansicht; (Unten) Ansicht von unten.


5.3. Registrierung von Oberflächendaten 129<br />

(a) (b)<br />

(c) (d) (e)<br />

Abbildung 5.26 Ergebnis der Oberflächenregistrierung: (a) Frontalansicht <strong>und</strong> (b) Seitenansicht<br />

der registrierten Oberflächen farblich unterschieden; (c) Kamerabild des Testobjektes;<br />

(d) Frontalansicht <strong>und</strong> (e) Seitenansicht der registrierten Oberflächen in einheitlichem Grauton.


130 Kapitel 5. Anwendungen <strong>und</strong> Einsatzgebiete<br />

Tabelle 5.4 Ergebnisse der Beethoven-Büste (Höhe 170 mm) nach 100 Registrierungsdurchläufen:<br />

Dargestellt ist jeweils Mittelwert, Median, Minimum <strong>und</strong> Maximum der ’root-meansquare’-Distanz<br />

(RMS-Dist.) <strong>und</strong> des Rotationsfehlers (Rot.) nach einer Gesamtlaufzeit von 20<br />

Sek<strong>und</strong>en pro Durchlauf.<br />

RMS−Dist. [mm]<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

Fragmente mean median min max<br />

front/left: RMS-Dist. [mm] 0,93 0,91 0,45 1,76<br />

Rot. [ ◦ ] 0,99 0,99 0,21 2,09<br />

left/back: RMS-Dist. [mm] 2,07 1,83 0,44 6,84<br />

Rot. [ ◦ ] 2,67 2,38 0,60 2,38<br />

front/right: RMS-Dist. [mm] 1,24 1,18 0,50 2,55<br />

0<br />

0 0,5s 1s 1,5s 2s 2,5s<br />

Rot. [ ◦ ] 1,21 1,12 0,10 2,63<br />

Rotationsfehler<br />

(a) (b)<br />

10°<br />

9°<br />

8°<br />

7°<br />

6°<br />

5°<br />

4°<br />

3°<br />

2°<br />

1°<br />

0°<br />

0 0,5s 1s 1,5s 2s 2,5s<br />

Abbildung 5.27 Medan±Quantile von 100 Registrierungsdurchläufen zweier Oberflächen der<br />

Beethoven-Büste: (a) ’root-mean-square’-Distanz über der Zeit; (b) Rotationsfehler über der<br />

Zeit.


5.3. Registrierung von Oberflächendaten 131<br />

(a) (b)<br />

(c) (d) (e)<br />

Abbildung 5.28 Ergebnis der Oberflächenregistrierung: (a) Frontalansicht <strong>und</strong> (b) Seitenansicht<br />

der registrierten Oberflächen farblich unterschieden; (c) Kamerabild des Testobjektes;<br />

(d) Frontalansicht <strong>und</strong> (e) Seitenansicht der registrierten Oberflächen in einheitlichem Grauton.


132 Kapitel 5. Anwendungen <strong>und</strong> Einsatzgebiete<br />

5.4 Objekterkennung <strong>und</strong> Lageschätzung<br />

Neben der Fusionierung von Tiefendaten kann die Oberflächenregistrierung auch zur<br />

Erkennung von dreidimensionalen Objekten <strong>und</strong> zur Schätzung ihrer absoluten räumlichen<br />

Lage verwendet werden. Für die Erkennung <strong>und</strong> Lageschätzung von <strong>3d</strong> Objekten<br />

gibt es unter anderem in der <strong>Robotik</strong> vielfältige Anwendungsmöglichkeiten. Insbesondere<br />

der klassische ” Griff in die Kiste“ ist eine im industriellen Umfeld häufig gewünschte<br />

Roboteranwendung, die aber bis dato in vielen Bereichen kaum zufriedenstellend gelöst<br />

wurde. <strong>Das</strong> Ziel hierbei ist es, mit einem Roboter frei bewegliche Bauteile wohldefiniert<br />

aus einer Kiste zu greifen. Da die räumliche Lage der sich überdeckenden Bauteile a priori<br />

unbekannt ist, ist im ersten Schritt eine Erkennung der Bauteile <strong>und</strong> deren Raumlage<br />

erforderlich. Eine mögliche Vorgehensweise ist die visuelle Erfassung der Bauteile per<br />

Tiefensensor. In diesen Tiefenbildern können dann per Oberflächenregistrierung sowohl<br />

die Bauteile erkannt, als auch simultan ihre räumliche Lage geschätzt werden. Hierzu<br />

muss natürlich ein Oberflächenmodell aller einbezogenen Bauteile vorhanden sein. Da<br />

die CAD-Daten der Bauteile im industriellen Umfeld meist ohnehin vorhanden sind,<br />

stellt dies keine Einschränkung dar. Falls die Modelldaten jedoch nicht verfügbar sein<br />

sollten, können sie auch vorab einzeln per Tiefensensor aufgenommen werden.<br />

Durch eine einfache Oberflächenregistrierung können nun die Modelle in das Tiefenbild<br />

der Szene eingepasst werden. Eine solche Vorgehensweise wurde <strong>für</strong> die Oberflächendaten<br />

in Abbildung 5.29 durchgeführt. Die Abbildung zeigt links eine, per Laserscanner<br />

aufgenommene, Testszene. Die Tiefendaten der Szene wurden nur aus einer einzelnen<br />

Sichtrichtung aufgenommen <strong>und</strong> sind deshalb unvollständig. Zusätzlich wurden mit einem<br />

CAD-System zwei Bauteile aus der Szene modelliert <strong>und</strong> können nun per Registrierung<br />

in der Szene erkannt <strong>und</strong> an die richtige Stelle positioniert werden.<br />

Abbildung 5.29 (Links) Per Laserscanner akquirierte Testszene mit verschiedenen Bauteilen;<br />

(Rechts) CAD-Modelle von zwei Bauteilen aus der Testszene.


5.4. Objekterkennung <strong>und</strong> Lageschätzung 133<br />

Abbildung 5.30 Ergebnis der Oberflächenregistrierung zur Objekterkennung <strong>und</strong> Lageschätzung<br />

der Bauteile.<br />

Wie die Registrierungsergebnisse in Abbildung 5.30 zeigen, können hiermit beide Bauteile,<br />

trotz geringer Oberflächenüberlappung, relative starkem Oberflächenrauschen <strong>und</strong><br />

Ausreißern, robust <strong>und</strong> korrekt in der Tiefenszene eingeordnet werden. Somit können<br />

die Objekte mit dem vorgestellten Ansatz sowohl erkannt, als auch ihre räumliche Lage<br />

bestimmt werden. Die erreichte Genauigkeit <strong>und</strong> die Laufzeiten <strong>für</strong> das erste Bauteil<br />

sind exemplarisch in Abbildung 5.31 <strong>und</strong> Tabelle 5.5 wiedergegeben. Zur vollständigen<br />

Lösung des ” Griff in die Kiste“-<strong>Problem</strong>s muss natürlich anschließend noch eine<br />

Greifplanung (Ermittlung eines gut zugänglichen <strong>und</strong> stabilen Ansatzpunktes <strong>für</strong> den<br />

Robotergreifer) <strong>und</strong> eine Bahnplanung erfolgen. Interessanterweise könnten die Ansätze<br />

zur Lösung des <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>s auch <strong>für</strong> die Greifplanung äußerst hilfreich sein, da<br />

auch hier der Greifer einen stabilen <strong>und</strong> kollisionsfreien Oberflächenkontakt mit dem zu<br />

greifenden Bauteil eingehen muss.


134 Kapitel 5. Anwendungen <strong>und</strong> Einsatzgebiete<br />

Tabelle 5.5 Ergebnisse nach 100 Registrierungsdurchläufen des blauen Bauteils (Abmessung<br />

150 × 52 × 40 mm): Mittelwert, Median, Minimum <strong>und</strong> Maximum der ’root-mean-square’-<br />

Distanz (RMS-Dist.) <strong>und</strong> des Rotationsfehlers (Rot-Error) nach einer Gesamtlaufzeit von 10<br />

Sek<strong>und</strong>en pro Durchlauf, sowie die Laufzeit, die benötigt wurde, um eine relative Transformation<br />

mit eine RMS-Distanz von unter 3 mm zu finden.<br />

mean median min max<br />

RMS−Dist. [mm]<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

RMS-Dist. [mm] 0.99 0.94 0.34 1.92<br />

Rot-Error [ ◦ ] 1.44 1.46 0.24 3.07<br />

Zeit [ s ] 0.44 0.40 0.05 1.60<br />

0<br />

0 0,5s 1s 1,5s 2s 2,5s<br />

Rotationsfehler<br />

(a) (b)<br />

10°<br />

9°<br />

8°<br />

7°<br />

6°<br />

5°<br />

4°<br />

3°<br />

2°<br />

1°<br />

0°<br />

0 0,5s 1s 1,5s 2s 2,5s<br />

Abbildung 5.31 Medan±Quantile von 100 Registrierungsdurchläufen des blauen Bauteils (Abmessung<br />

150 × 52 × 40 mm): (a) ’root-mean-square’-Distanz über der Zeit; (b) Rotationsfehler<br />

über der Zeit.


Kapitel 6<br />

Zusammenfassung <strong>und</strong> Ausblick<br />

<strong>Das</strong> Ziel dieser Arbeit war es, konkrete Methoden zum Lösen des <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>s<br />

vorzustellen. Obwohl das <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> dem klassischen Oberflächenregistrierungsproblem<br />

sehr ähnlich ist, sind die bekannten Methoden nur begrenzt <strong>für</strong> das Zusammensetzen<br />

von zerbrochenen Teilen geeignet. Aus diesem Gr<strong>und</strong> wurden im Rahmen dieser<br />

Arbeit eine Reihe von Bausteinen geschaffen, mit denen das <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> in ganz<br />

unterschiedlichen Anwendungsfällen wesentlich effizienter <strong>und</strong> robuster gelöst werden<br />

kann. Zusammengefasst liefert die Arbeit folgende neue Beiträge:<br />

1. Mit der Tiefendatenakquisition per manuell geführtem Laser <strong>und</strong> der Gewinnung<br />

von Oberflächennormalen aus Streifenmusterprojektionen, wurden zwei neue <strong>und</strong><br />

äußerst kostengünstige Ansätze zur Gewinnung von Oberflächendaten vorgestellt.<br />

2. <strong>Das</strong> ’single shot’ Streifenprojektionsverfahren hat insbesondere den Vorteil, dass<br />

einerseits nur ein kleiner <strong>und</strong> kostengünstiger Festmusterprojektor benötigt wird<br />

<strong>und</strong> andererseits die Akquisition von dynamischen Szenen möglich ist.<br />

3. Den Schwerpunkt dieser Arbeit bilden zwei neuartige Ansätze zur Maximierung<br />

der Kontaktfläche zwischen Fragmenten. Diese Ansätze benötigen, im Gegensatz<br />

zu vielen aus der Literatur bekannten Verfahren, weder eine initiale Lageschätzung,<br />

noch spezielle Oberflächenmerkmale. Sie arbeiten auch bei geringer Oberflächenüberlappung<br />

<strong>und</strong> vermeiden wenn nötig Objektdurchdringungen.<br />

4. In der Vielzahl der Experimente haben sich die Matching-Ansätze als äußerst robust<br />

gegenüber Oberflächenrauschen <strong>und</strong> Ausreißern erwiesen. Die außerordentliche<br />

Effizienz der Ansätze ist allen bekannten <strong>und</strong> vergleichbaren Verfahren überlegen.<br />

Selbst <strong>für</strong> große Datensätze wurden Laufzeiten von unter einer Sek<strong>und</strong>e<br />

erreicht.<br />

5. Die Leistungsfähigkeit der Verfahren wurde des weiteren anhand von verschiedenen<br />

relevanten Anwendungsgebieten erfolgreich demonstriert. Insbesondere wurde<br />

gezeigt, wie sich hiermit gebrochene Oberschenkel- <strong>und</strong> Beckenknochen durch Ausnutzung<br />

von Symmetriewissen robust <strong>und</strong> präzise zusammensetzen lassen. Hierdurch<br />

können in Zukunft Repositionierungsfehler weitestgehend vermieden <strong>und</strong><br />

die intraoperative Röntgenstrahlenbelastung <strong>für</strong> Patient <strong>und</strong> Chirurg verringert<br />

135


136 Kapitel 6. Zusammenfassung <strong>und</strong> Ausblick<br />

werden.<br />

6. In diesem Zusammenhang wurde darüber hinaus ein neues Verfahren zur Ausnutzung<br />

von Spiegelsymmetrien vorgestellt, welches nicht nur bei spiegelsymmetrischen<br />

Objekten, sondern auch bei Vorhandensein eines spiegelsymmetrischen<br />

Pendants (wie es bei allen Knochen im Skelett der Fall ist) einsetzbar ist. Im Gegensatz<br />

zu bekannten Ansätzen kann diese Methode auch eingesetzt werden, wenn<br />

beide Symmetrieteile gebrochen sind.<br />

7. Schließlich wurde das große Potenzial der Verfahren in weiteren wichtigen Anwendungsgebieten,<br />

wie das Zusammensetzen von archäologischen Artefakten, die Registrierung<br />

von Oberflächendaten <strong>und</strong> die <strong>3d</strong> Objekterkennung <strong>und</strong> Lageschätzung<br />

demonstriert.<br />

Mit den vorgeschlagen Anwendungsbeispielen sind jedoch selbstverständlich noch längst<br />

nicht alle denkbaren Einsatzgebiete ausgeschöpft. Ein wichtiges <strong>und</strong> dem hier vorgestellten<br />

<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong> konzeptionell sehr ähnliches Anwendungsgebiet ist sicherlich das<br />

Protein-Docking. Die Interaktion zwischen Proteinen spielt bei vielen biochemischen<br />

Vorgängen eine wichtige Rolle. Zwei Proteine können eine feste Verbindung eingehen,<br />

wenn sie eine hohe Affinität aufweisen. Hierzu zählt insbesondere die geometrische Komplementarität<br />

von großen Oberflächenbereichen. Ein wachsendes Forschungsinteresse gilt<br />

deshalb der Vorhersage von Proteininteraktionen unter Ausnutzung der dreidimensionalen<br />

Gestalt (siehe z.B. Smith & Sternberg [80] <strong>und</strong> Via et al. [86]). Diese Vorhersagemethoden<br />

versprechen neue Möglichkeiten bei der Erstellung von Medikamenten <strong>und</strong><br />

bei der Behandlung von Krankheiten. Abbildung 6.1 zeigt einen ersten Versuch die hier<br />

entwickelten Methoden <strong>für</strong> das Protein-Docking einzusetzen. In der Abbildung sind zwei<br />

unterschiedliche Lagehypothesen zwischen den Proteinen ’1s0q’ <strong>und</strong> ’1pit’ zu sehen, von<br />

denen bekannt ist, dass sie eine stabile Verbindung eingehen können. Allerdings werden<br />

mit dem bisherigen Ansatz viele unterschiedliche Lagehypothesen mit einem ähnlichen<br />

Gütemaß gef<strong>und</strong>en. Dies ist unter anderem darauf zurückzuführen, dass die geometrische<br />

Komplementarität nur eine notwendige, aber nicht hinreichende Bedingung <strong>für</strong> die<br />

Bildung von Proteinkomplexen ist. Die Proteine müssen auch chemisch (beispielsweise<br />

bezüglich ihrer elektrostatischen Wechselwirkungen) komplementär sein. Außerdem<br />

sind Proteine im allgemeinen nicht völlig starr, sondern haben bewegliche Elemente.<br />

Hier bedarf es also noch weiterer Untersuchungen, um die bisherigen Methoden an die<br />

spezifischen Eigenschaften von Proteinen anzupassen.<br />

Im Hinblick auf zukünftige Arbeiten, ist vor allem das Matching von vielen Fragmenten<br />

ein offenes, zu untersuchendes <strong>Problem</strong>. So wurden in dieser Arbeit bisher nur jeweils<br />

zwei Fragmente paarweise zusammengefügt. Hiermit können zwar (wie gezeigt) auch<br />

mehrere Fragmente effizient zu einem ganzen Objekt zusammengesetzt werden, aber<br />

die Lösung ist möglicherweise im globalen Sinne nicht optimal. Zum Beispiel kann es<br />

vorkommen, dass sich der Fehler von einem Fragment zum nächsten fortpflanzt. Ein anschauliches<br />

Beispiel ist der in mehrere Teile zerbrochene Torus in Abbildung 6.2 (links).<br />

Nach dem Zusammenfügen von Fragment A <strong>und</strong> Fragment B, sowie Fragment B <strong>und</strong><br />

Fragment C usw., passen das erste <strong>und</strong> das letzte Fragment nicht exakt zusammen.


Abbildung 6.1 Anwendungsbeispiel Protein-Docking: Zwei Lagehypothesen mit großem Oberflächenkontakt<br />

zwischen den Proteinen ’1s0q’ <strong>und</strong> ’1pit’.<br />

Abbildung 6.2 (Links) Beispiel zur Fehlerfortplanzung: Ein paarweises Zusammenfügen der<br />

Torusfragmente A <strong>und</strong> B, B <strong>und</strong> C sowie C <strong>und</strong> D ergibt eine Lücke zwischen A <strong>und</strong> D;<br />

(Rechts) Mögliche Kontaktgraphen zur Bildung von stabilen Lagehypothesen bei drei Fragmenten.<br />

Eine Möglichkeit dieses <strong>Problem</strong> zu lösen, wäre eine nachfolgende globale Optimierung<br />

bzw. Feinregistrierung. Bei drei oder mehr Fragmenten stellt sich auch die Frage, welche<br />

Paarkombinationen gebildet werden sollen, denn es ist von vornherein nicht klar,<br />

welches Fragment mit welchem zusammenpasst. Entweder gibt ein Benutzer diese Zusammengehörigkeiten<br />

bzw. die Matching-Reihenfolge explizit an, oder es müssen alle<br />

Paarkombinationen getestet <strong>und</strong> hieraus die beste Hypothesenkombination identifiziert<br />

werden. Für jede Kombinationsmöglichkeit muss es also ein globales Gütemaß geben,<br />

bei dem auch die globale Durchdringungsfreiheit berücksichtigt wird.<br />

137


138 Kapitel 6. Zusammenfassung <strong>und</strong> Ausblick<br />

Eine viel versprechende Alternative wäre ein globales Matching-Verfahren, das von vornherein<br />

sämtliche Fragmente gleichzeitig betrachtet. Hierzu könnte ein Algorithmus eingesetzt<br />

werden, der spezielle Lagehypothesen generiert <strong>und</strong> validiert, bei denen die relative<br />

Lage aller Fragmente festgelegt ist. Anstatt zwei tangentiale Kontaktpunkte zwischen<br />

jeweils zwei Fragmenten anzunehmen, würde z.B. im Fall von drei Fragmenten ein tangentialer<br />

Kontakt zwischen Fragment A <strong>und</strong> B, sowie jeweils ein tangentialer Kontakt<br />

zwischen Fragment B <strong>und</strong> C <strong>und</strong> zwischen C <strong>und</strong> A ausreichen (also nur drei anstatt<br />

vier Kontaktpunkte). Dies führt letztendlich auf die Generierung von stabilen zyklischen<br />

Pfaden in einem Graphen (siehe Abbildung 6.2 (rechts)), bei dem die Knoten des<br />

Graphen <strong>für</strong> die Fragmente <strong>und</strong> die Kanten des Graphen <strong>für</strong> die Kontaktpunkte stehen.<br />

Im Fall von vielen Fragmenten ist auch noch offen, wie das inhärente <strong>Problem</strong> der exponentiell<br />

wachsenden Komplexität gelöst werden kann. Allerdings kann die herausragende<br />

Effizienz der vorgeschlagenen Matching-Strategien als ein essenzieller Schritt in Richtung<br />

eines effizienten Multi-Fragment-Matching angesehen werden.<br />

Natürlich gibt es noch viel Potenzial <strong>für</strong> weitere Verbesserungen <strong>und</strong> Erweiterungen.<br />

Alles in allem sind jedoch die vorgestellten Lösungsansätze bereits äußerst nützlich <strong>und</strong><br />

bilden eine solide Basis <strong>für</strong> den praktischen Einsatz in vielen Anwendungsgebieten.


Ö��Ö�ÔÐ��Ñ�ÒØ×<br />

Anhang A<br />

Zur Oberflächennormalengewinnung:<br />

Ungenauigkeiten bei perspektivischer<br />

Projektion<br />

In Kapitel 2.2 wurde ein Verfahren zur Akquisition von Oberflächennormalen per Streifenmusterprojektion<br />

vorgestellt. Hierbei wird sowohl beim Ansatz mittels ’LookUp’-<br />

Tabelle, als auch beim mathematischen Ansatz zur Bestimmung der Oberflächennormalen,<br />

von einem parallel projizierenden Projektor ausgegangen. Falls jedoch kein parallel<br />

projizierender, sondern ein üblicher perspektivisch projizierender Streifenlichtprojektor<br />

verwendet wird, entstehen Ungenauigkeiten bei der Normalenberechnung. Die linke Seite<br />

von Abbildung A.1 veranschaulicht den Unterschied der Parallelprojektion gegenüber<br />

der Zentralprojektion. Werden die Streifen senkrecht auf eine Fläche projiziert, sind sowohl<br />

im parallelen Fall, als auch im perspektivischen Fall die projizierten Streifen auf<br />

der Fläche parallel zueinander. Je weiter jedoch die Fläche geneigt wird, desto mehr<br />

divergieren die projizierten Streifen bei der Zentralprojektion in unterschiedliche Rich-<br />

Ô�Ö�ÐÐ�Ð�ÈÖÓ���Ø�ÓÒ<br />

Ô�Ö×Ô��Ø�Ú�×��ÈÖÓ���Ø�ÓÒ<br />

Projektor<br />

Kamera<br />

γ<br />

α<br />

139<br />

neigbare Ebene<br />

Abbildung A.1 (Links) Unterschied zwischen einem parallelen <strong>und</strong> einem perspektivischen<br />

Projektor bei Projektion eines Streifenmusters auf eine geneigte Oberfläche; (Rechts) Modell<br />

zur Analyse des durch perspektivische Projektion verursachten Fehlers.


140 Anhang A. Ungenauigkeiten bei perspektivischer Projektion<br />

tungen, während sie bei der Parallelprojektion weiterhin parallel verlaufen. Da bei der<br />

Berechnung der Oberflächennormale nicht die Streifennummer (des Beleuchtungsmusters)<br />

bekannt ist, muss von einer mittleren Streifenprojektionsrichtung ausgegangen werden,<br />

was zu einer Abweichung der berechneten Normalen gegenüber der tatsächlichen<br />

Oberflächennormalen führt. Die Ungenauigkeiten bei der Oberflächennormalenberechnung<br />

sind von verschiedenen Einflussfaktoren abhängig. Zum einen spielt die Brennweite<br />

des Projektors eine wichtige Rolle: Je größer die Brennweite, desto mehr nähert sich die<br />

Streifenprojektion dem angenommenen parallelen Fall an <strong>und</strong> desto genauer wird die<br />

Berechnung. Abhängig von der Brennweite verändert sich der Streifenwinkel auf der<br />

Oberfläche, je weiter der Streifen am Projektionsrand liegt. Anders ausgedrückt erhöht<br />

sich der Berechnungsfehler, je stärker die Streifenprojektionsrichtung von der zentralen<br />

Projektionsrichtung des Projektors abweicht. Des weiteren verstärkt sich der Winkelunterschied<br />

der Streifen, je weiter sich die Oberfläche von der senkrechten Lage weg<br />

neigt. Die Ungenauigkeiten sind also abhängig von der Oberflächenneigung. Außerdem<br />

sind sie natürlich auch abhängig von dem verwendeten Abstand zwischen Projektor <strong>und</strong><br />

Kamera oder genauer gesagt vom Winkel zwischen Projektoions- <strong>und</strong> Kamerablickrichtung.<br />

Dieser relative Kamerablickwinkel wirkt sich natürlich nicht auf die <strong>3d</strong> Lage der<br />

projizierten Streifen auf der Oberfläche aus; er nimmt jedoch Einfluss auf die Winkel<br />

der Streifen im Kamerabild. Im Folgenden wird ein einfaches Modell zur Bestimmung<br />

des oben beschriebenen Fehlers bei der Oberflächennormalenberechnung vorgestellt <strong>und</strong><br />

ausgewertet.<br />

Die rechte Seite von Abbildung A.1 zeigt die Parameter des Modells. <strong>Das</strong> Streifenmuster<br />

wird horizontal auf eine planare Oberfläche mit dem Neigungswinkel α projiziert. Der<br />

Abstand der Kamera zum Projektor <strong>und</strong> somit auch der Winkel zwischen Projektions<strong>und</strong><br />

Kamerablickrichtung γ lässt sich frei einstellen. Der Abstand von Kamera <strong>und</strong> Projektor<br />

zur Oberfläche ist konstant <strong>und</strong> proportional zur Brennweite. Die Projektionsrichtung<br />

des betrachteten Streifens gegenüber der zentralen Projektionsrichtung ist mit<br />

δ angegeben; der Winkel zwischen dem Minimalen <strong>und</strong> Maximalen δ entspricht somit<br />

dem Öffnungswinkel des Projektors. Alle oben aufgeführten Einflussgrößen sind damit<br />

im Modell abgebildet. Abbildung A.2 zeigt die Abweichung des Winkels zwischen gemessener<br />

<strong>und</strong> realer Oberflächenormale in Abhängigkeit von der Oberflächenneigung α<br />

<strong>und</strong> der Beleuchtungsrichtungsabweichung δ. Der Winkel γ zwischen Projektions- <strong>und</strong><br />

Kamerablickrichtung wurde jeweils konstant gehalten. Die schrittweise Änderung der<br />

Beleuchtungsrichtungsabweichung δ liefert eine Kurvenschar. <strong>Das</strong> linke Diagramm in<br />

Abbildung A.2 zeigt die Kurvenschar bei einem festen Blickwinkel von γ = 30 ◦ , das<br />

rechte Diagramm die Kurvenschar bei einem Blickwinkel von γ = 45 ◦ . Die δ-Kurven<br />

decken insgesamt einen Winkelbereich von -10 ◦ bis +10 ◦ ab, was einem realistischen<br />

Projektoröffnungswinkel von 20 ◦ entspricht. Die Fehlerkurven fallen ab, wenn die Ebene<br />

sich dem Neigungswinkel α = 90 ◦ nähert. <strong>Das</strong> liegt daran, dass die Ebene sich hierdurch<br />

von der Kamerasicht weg neigt, was letztendlich zu einer Seitenansicht der Ebene<br />

führt <strong>und</strong> damit alle Streifen zu einer Linie im Kamerabild konvergieren. Die maximale<br />

Abweichung der Oberflächennormale ist am Rand des Projektionsmusters festzustellen<br />

<strong>und</strong> beträgt 9, 7 ◦ bei einem Blickwinkel von γ = 30 ◦ <strong>und</strong> 5, 2 ◦ bei einem Blickwinkel von<br />

γ = 45 ◦ . Allgemein kann man sagen, je größer der Winkel zwischen Projektions- <strong>und</strong>


Abbildung A.2 Horizontale Abweichung der Oberflächennormale unter einem Blickwinkel von<br />

γ = 30 ◦ (oben) <strong>und</strong> γ = 45 ◦ (unten).<br />

141


142 Anhang A. Ungenauigkeiten bei perspektivischer Projektion<br />

Kamerablickrichtung ist, desto besser wird der Fehler bei kurzen Brennweiten kompensiert.<br />

Allerdings verringern sich bei großen Abständen zwischen Projektor <strong>und</strong> Kamera<br />

die messbaren Oberflächenorientierungen, da immer mehr Oberflächen mit projizierten<br />

Streifen von der Kamerasichtrichtung abgewandt sind, während sichtbare Oberflächen<br />

aus analogen Gründen nicht vom Projektor beleuchtet werden. Es besteht also ein Zielkonflikt<br />

zwischen Qualität <strong>und</strong> Quantität der berechenbaren Oberflächennormalen.


Anhang B<br />

Ergänzungen zu den experimentellen<br />

Ergebnissen<br />

Bruchflächendistanz bzgl. Durchmesser<br />

Bruchflächendistanz bzgl. Durchmesser<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

Venus − Normalenberechnungsradius 1:<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

Venus − Normalenberechnungsradius 3:<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

Bruchflächendistanz bzgl. Durchmesser<br />

Bruchflächendistanz bzgl. Durchmesser<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

143<br />

Venus − Normalenberechnungsradius 2:<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

Venus − Normalenberechnungsradius 5:<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

Abbildung B.1 Ergänzende Messpunkte zu Abbildung 4.10, Seite 69: Performanzgewinn durch<br />

Vergrößerung des Operatorfensters bei der Berechnung von Oberflächennormalen.


144 Anhang B. Ergänzungen zu den experimentellen Ergebnissen<br />

Bruchflächendistanz bzgl. Durchmesser<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

Venus + 10% Rauschen:<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

Bruchflächendistanz bzgl. Durchmesser<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

Bruchflächendistanz bzgl. Durchmesser<br />

70%<br />

60%<br />

50%<br />

40%<br />

30%<br />

20%<br />

10%<br />

Venus + 50% Rauschen:<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s<br />

Venus + 100% Rauschen:<br />

0%<br />

0 0,5s 1s 1,5s 2s 2,5s 3s 3,5s 4s 4,5s 5s<br />

Abbildung B.2 Ergänzende Messpunkte zu Abbildung 4.11, Seite 71: Auswirkung von unterschiedlich<br />

starkem additiven gaußschem Rauschen (Rauschstreuung prozentual zur mittleren<br />

Punktdistanz) auf die Performanz.


Anhang C<br />

Eigene Veröffentlichungen<br />

• Westphal, R.; Gösling, T.; Oszwald, M.; Bredow, J.; Klepzig, D.;<br />

Winkelbach, S.; Hüfner, T.; Krettek, C. and Wahl, F.: 3D Robot Assisted<br />

Fracture Reduction. Accepted at 10th International Symposium on Experimental<br />

Robotics 2006 (ISER ’06), Rio de Janeiro, Brazil, 2006.<br />

• Winkelbach, S.; Molkenstruck, S.; Wahl, F.: Low-Cost Laser Range Scanner<br />

and Fast Surface Registration Approach. In: Franke, K.; Müller, K.-R.; Nickolay,<br />

B.; Schäfer, R. (Eds.): Pattern Recognition (DAGM 2006), Lecture Notes in<br />

Computer Science 4174, Springer 2006, pp. 718–728. ∗<br />

• Westphal, R.; Winkelbach, S.: Sensors, Medical Image and Signal Processing.<br />

Managing Editors for the Yearbook Section on Sensor, Signal and Imaging<br />

Informatics, IMIA Yearbook of Medical Informatics 2006.<br />

• Westphal, R.; Winkelbach, S.; Gösling, T.; Hüfner, T.; Faulstich, J.;<br />

Martin, P.; Krettek, C.; Wahl, F.: A Surgical Telemanipulator for Femur<br />

Shaft Fracture Reduction. Accepted in: Int. J. of of Medical Robotics and Computer<br />

Assisted Surgery, 2006.<br />

∗ Hauptpreis der Deutschen Arbeitsgemeinschaft <strong>für</strong> Mustererkennung (DAGM e.V.).<br />

145


146 Anhang C. Eigene Veröffentlichungen<br />

• Kröger, T.; Finkemeyer, B.; Winkelbach, S.; Eble, L.; Molkenstruck,<br />

S.; Wahl, F.: Demonstration of Multi-Sensor Integration in Industrial Manipulation<br />

(Poster). Accepted at IEEE International Conference on Robotics and Automation,<br />

Orlando, USA, 2006.<br />

• Kröger, T.; Finkemeyer, B.; Winkelbach, S.; Eble, L.; Molkenstruck,<br />

S. and Wahl, F.: Demonstration of Multi-Sensor Integration in Industrial Manipulation<br />

(Video). Accepted at IEEE International Conference on Robotics and<br />

Automation, Orlando, USA, 2006.<br />

• Rilk, M.; Winkelbach, S.; Wahl, F.: Partikelfilter-basiertes Tracking chirurgischer<br />

Instrumente in Endoskopbildern. Workshop Bildverarbeitung <strong>für</strong> die Medizin,<br />

Hamburg, März, 2006.<br />

• Winkelbach, S. and Wahl, F.: Cluster Tree Matching of 3D Fragmented Objects.<br />

Technical Report 09-05-01, <strong>Institut</strong>e for Robotics and Process Control, Technical<br />

University of Braunschweig, September 2005.<br />

• B. Ma; Winkelbach, S.; Lindenmaier, W.; Dittmar, K.E.J.: Six-color<br />

Fluorescence Imaging of Lymphoid Tissue Based on Color Addition Theory. Accepted<br />

in Acta Histochemica, 2005.<br />

• Gösling, T.; Winkelbach, S.; Westphal, R.; Hüfner, T.; Wahl, F.;<br />

Krettek, C.: Oberflächen-Matching als Basis anatomischer Achswiederherstellung<br />

am Beispiel der Femurschaftfraktur. (Poster/Abstract) DGU 2004, 68. Jahrestagung<br />

Deutsche Gesellschaft <strong>für</strong> Unfallchirurgie, Oktober 2004.<br />

• Winkelbach, S.; Rilk, M., Schönfelder, C.; Wahl, F. M.: Fast Random<br />

Sample Matching of <strong>3d</strong> Fragments. In: Rasmussen, C. E.; Bülthoff, H. H.; Giese,<br />

M. A.; Schölkopf, B.(Eds.): Pattern Recognition (DAGM 2004), Lecture Notes in<br />

Computer Science 3175, Springer, Tübingen, Germany, August/September 2004,<br />

pp. 129–136.<br />

• Westphal, R.; Winkelbach, S.; Finkemeyer, B.; Wahl, F.; Gösling, T.;<br />

Hüfner, T.; Faulstich, J.; Krettek, C.: Progress in Robot Assisted Fracture<br />

Reduction. Video-Proceedings - IEEE, International Conference on Robotics and<br />

Automation, New Orleans, USA, April 2004, Video.


• Winkelbach, S.; Westphal, R.; Gösling, T.: Automatic computation of<br />

reposition parameters of fractured long bones based on CT-analysis. (Poster/Abstract)<br />

CARS 2003, Proceedings of the 17th International Congress and Exhibition,<br />

Computer Assisted Radiology and Surgery, International Congress Series 1256, June<br />

2003, pp. 1348.<br />

• Westphal, R.; Faulstich, J.; Gösling, T.; Winkelbach, S.;Hüfner, T.;<br />

Krettek, C.; Wahl, F.: Fracture reduction using a telemanipulator with haptical<br />

feedback. (Poster/Abstract) CARS 2003, Proceedings of the 17th International<br />

Congress and Exhibition, Computer Assisted Radiology and Surgery, International<br />

Congress Series 1256, June 2003, pp. 1369.<br />

• Winkelbach, S.; Westphal, R.; Gösling, T.: Pose Estimation of Cylindrical<br />

Fragments for Semi-automatic Bone Fracture Reduction. In: B. Michaelis, G. Krell<br />

(Eds.): Pattern Recognition (DAGM 2003), Lecture Notes in Computer Science<br />

2781, Springer, Magdeburg, Germany, September 2003, pp. 566–573.<br />

• Winkelbach, S.; Wahl, F. M.: Shape from Single Stripe Pattern Illumination.<br />

In: Luc Van Gool (Eds.): Pattern Recognition (DAGM 2002), Lecture Notes in<br />

Computer Science 2449, Springer 2002, Zürich, pp. 240–247.<br />

• Winkelbach, S.; Wahl, F.: Efficient Shape Recovery of Objects Illuminated<br />

with one Single Bar Pattern. Technical Report 02-02-01, <strong>Institut</strong>e for Robotics and<br />

Process Control, Technical University of Braunschweig, 2002.<br />

• Winkelbach, S.; Wahl, F.: Gradienten basierte Rekonstruktion von 3D-Oberflächen.<br />

Technischer Bericht 04-01-01, <strong>Institut</strong> <strong>für</strong> <strong>Robotik</strong> <strong>und</strong> <strong>Prozessinformatik</strong>,<br />

Technische Universität Braunschweig, 2001.<br />

• Winkelbach, S.; Wahl, F.: Shape from 2D Edge Gradients. In: Radig, Florczyk<br />

(Eds.): Pattern Recognition (DAGM 2001), Lecture Notes in Computer Science<br />

2191, Springer 2001, Munich, pp. 377–384. †<br />

• Winkelbach, S.: Gradienten basierte Rekonstruktion von 3D Oberflächen.<br />

Diplomarbeit, <strong>Institut</strong> <strong>für</strong> <strong>Robotik</strong> <strong>und</strong> <strong>Prozessinformatik</strong>, Technische Universität<br />

Braunschweig, 21. Mai 2001. ‡<br />

† Hauptpreis der Deutschen Arbeitsgemeinschaft <strong>für</strong> Mustererkennung (DAGM e.V.).<br />

‡ Jubiläumspreis (1.Platz) der Siegfried Werth Stiftung zur Förderung der optischen Messtechnik<br />

147


148 Anhang C. Eigene Veröffentlichungen<br />

• Winkelbach, S.: 3D-Lagemessungen mit einem Laserlichtschnittsystem. Studienarbeit,<br />

<strong>Institut</strong> <strong>für</strong> <strong>Robotik</strong> <strong>und</strong> <strong>Prozessinformatik</strong>, Technische Universität Braunschweig,<br />

August 2000.


Literaturverzeichnis<br />

[1] Alexa, M. ; Behr, J. ; Cohen-Or, D. ; Fleishman, S. ; Levin, D. ; Silva,<br />

C. T.: Point Set Surfaces. In: IEEE Visualization, 2001, pp 21–28<br />

[2] Altschuler, M. D. ; Altschuler, B. R. ; Taboada, J.: Measuring Surfaces<br />

Space-Coded by a Laser-Projected Dot Matrix. In: SPIE Imaging Application for<br />

Automated Industrial Inspection & Assembly 182 (1979), pp 187–191<br />

[3] Altschuler, M. D. ; Altschuler, B. R. ; Taboada, J.: Laser Electro-Optic<br />

System for Rapid Three-Dimensional (3D) Topographic Mapping of Surfaces. In:<br />

Optical Engineering 20 (1981), No. 6, pp 953–961<br />

[4] Asada, M. ; Ichikawa, H. ; Tsuji, S.: Determining of Surface Properties by<br />

Projecting a Stripe Pattern. In: IEEE Proc. of ICPR’86, 1986, pp 1162–1164<br />

[5] Ballard, D. H.: Generalizing the Hough transform to detect abitrary shapes.<br />

In: Pattern Recognition 12 (1981), No. 2, pp 111–122<br />

[6] Barequet, G. ; Sharir, M.: Partial surface matching by using directed footprints.<br />

In: Proc. of the 12th annual symposium on Computational geometry, ACM<br />

Press, 1996, pp 409–410<br />

[7] Barequet, G. ; Sharir, M.: Partial Surface and Volume Matching in Three<br />

Dimensions. In: IEEE Trans. Pattern Anal. Machine Intell. 19 (1997), No. 9<br />

[8] Behrens, B. ; Rohr, K. ; Stiehl, H. S.: Using an Extended Hough Transformation<br />

Combined with a Kalmann Filter to Segment Tubular Structures in 3D<br />

Medical Images. In: Workshop Vision, Modeling, and Visualization 2001 (2001)<br />

[9] Besl, P. J. ; McKay, N. D.: A Method for Registration of 3-D Shapes. In: IEEE<br />

Trans. Pattern Anal. Machine Intell. 14 (1992), Februar, No. 2, pp 239–258<br />

[10] Beyerer, J. ; León, F. P.: Die Radontransformation in der digitalen Bildverarbeitung.<br />

In: at - Automatisierungstechnik 50 (2002), pp 472–480<br />

[11] Blais, F.: Review of 20 Years Range Sensor Development. In: Journal of Electronic<br />

Imaging 13 (2004), No. 1<br />

[12] Campbell, R. J. ; Flynn, P. J.: A Survey of Free-Form Object Representation<br />

and Recognition Techniques. In: Computer Vision and Image Understanding 81<br />

(2001), pp 166–210<br />

149


150 Literaturverzeichnis<br />

[13] Chaperon, T. ; Goulette, F.: Extracting cylinders in full 3D data using a random<br />

sampling method and the Gaussian image. In: Workshop Vision, Modeling,<br />

and Visualization 2001 (2001)<br />

[14] Chen, C.-S. ; Hung, Y.-P. ; Cheng, J.-B.: RANSAC-Based DARCES: A New<br />

Approach to Fast Automatic Registration of Partially Overlapping Range Images.<br />

In: IEEE Trans. Pattern Anal. Machine Intell. 21 (1999), No. 11, pp 1229–1234<br />

[15] Chen, R. ; Weng, Z.: A Novel Shape Complementarity Scoring Function for<br />

Protein-Protein Docking. In: Proteins -New York- 51 (2003), No. 3, pp 397–408<br />

[16] Coleman, E. N. ; Jain, R.: Obtaining Shape of Textured and Specular Surfaces<br />

using Four-Source Photometry. In: Computer Graphics and Image Processing 18<br />

(1982), No. 4, pp 309–328<br />

[17] Cooper, D. ; Willis, A. ; Andrews, S. ; Baker, J. ; Cao, Y. ; Han, D. ; Kang,<br />

K. ; Kong, W. ; Leymarie, F. F. ; Orriols, X. ; et al.: Bayesian Pot-Assembly<br />

from Fragments as <strong>Problem</strong>s in Perceptual-Grouping and Geometric-Learning. In:<br />

International Conference on Pattern Recognition 16 (2002), No. 3, pp 297–302<br />

[18] da Gama Leitão, H. C. ; Stolfi, J.: A Multiscale Method for the Reassembly<br />

of Two-Dimensional Fragmented Objects. In: IEEE Trans. Pattern Anal. Machine<br />

Intell. 24 (2002), September, No. 9, pp 1239–1251<br />

[19] Dalley, G. ; Flynn, P.: Pair-wise range image registration: a study in outlier<br />

classification. In: Comput. Vis. Image Underst. 87 (2002), No. 1-3, pp 104–115<br />

[20] Duda, R. O. ; Hart, P. E.: Use of the Hough transformation to detect lines and<br />

curves in pictures. In: Communications od the ACM 15 (1972), No. 1, pp 11–15<br />

[21] Faber, P. ; Fisher, B.: A Buyer’s Guide to Euclidean Elliptical Cylindrical and<br />

Conical Surface Fitting. In: 12th BMVC, 2001, pp 521–530<br />

[22] Fernandez-Recio, J. ; Totrov, M. ; Abagyan, R.: ICM-DISCO Docking by<br />

Global Energy Optimization With Fully Flexible Side-Chains. In: Proteins -New<br />

York- 52 (2003), No. 1, pp 113–117<br />

[23] Fischler, M. A. ; Bolles, R. C.: Random sample consensus: a paradigm for<br />

model fitting with applications to image analysis and automated cartography. In:<br />

Communications of the ACM 24 (1981), Juni, No. 6, pp 381–395<br />

[24] Frankot, R. T. ; Chellappa, R.: A Method for Enforcing Integrability in<br />

Shape from Shading Algorithms. In: IEEE Trans. Pattern Anal. Machine Intell.<br />

10 (1988), pp 439–451<br />

[25] Friedman, J. H. ; Bentley, J. L. ; Finkel, R. A.: An Algorithm for Finding Best<br />

Matches in Logarithmic Expected Time. In: ACM Transactions on Mathematical<br />

Software 3 (1977), September, No. 3, pp 209–226<br />

[26] Fuchs, H. ; Kedem, Z. ; Naylor, B.: On Visible Surface Generation by A Priori<br />

Tree Structures. In: SIGGRAPH ’80 14 (1980), No. 3, pp 124–133


Literaturverzeichnis 151<br />

[27] Goldberg, D. ; Malon, C. ; Bern, M.: A global approach to automatic solution<br />

of jigsaw puzzles. In: Annual Symposium on Computational Geometry, ACM Press,<br />

2002, pp 82–87<br />

[28] Gray., F.: Pulse code communication. März 1953. – U.S. Patent 2,632,058<br />

[29] Greenspan, M. A. ; Yurick, M.: Approximate K-D Tree Search for Efficient<br />

ICP. In: International Conference on 3D Digital Imaging and Modeling (3DIM<br />

2003), 2003, pp 442–228<br />

[30] Grimson, W. E. L.: A Computer Implementation of a Theory of human stereo<br />

vision / MIT Artificial Intelligence Laboratory. 1980 (AIM-565). – Technical<br />

Report<br />

[31] Gösling, T. ; Westphal, R. ; Faulstich, J. ; Sommer, K. ; Wahl, F. ;<br />

Krettek, C. ; Hüfner, T.: Forces and torques during fracture reduction: Intraoperative<br />

measurements in the femur. In: J Orthop Res. 24 (2006), Januar, No. 3,<br />

pp 333–338<br />

[32] Gösling, T. ; Winkelbach, S. ; Westphal, R. ; Hüfner, T. ; Wahl, F.<br />

; Krettek, C.: Oberflächen-Matching als Basis anatomischer Achswiederherstellung<br />

am Beispiel der Femurschaftfraktur. In: DGU 2004, 68. Jahrestagung<br />

Deutsche Gesellschaft <strong>für</strong> Unfallchirurgie (Poster/Abstract), 2004<br />

[33] Guskov, I. ; Vidimce, K. ; Sweldens, W. ; Schroder, P.: Normal Meshes. In:<br />

SIGGRAPH ’200 (2000), pp 95–102<br />

[34] Hall, E. L. ; Tio, J. B. K. ; MCPherson, C. A.: Measuring Curved Surfaces<br />

for Robot Vision. In: Computer 15 (1982), No. 12, pp 42–54<br />

[35] Hall, M. ; Warren, J.: Adaptive Polygonalization of Implicitly Defined Surfaces.<br />

In: IEEE Computer Graphics and Applications Vol. 10, 1990, pp 33–42<br />

[36] Hartigan, J. A. ; Wong, M. A.: A k-means clustering algorithm. In: Applied<br />

Statistics 28 (1978), pp 100–108<br />

[37] Hebert, M. ; Ponce, J.: New Method for Segmenting 3-D Scenes into Primitives.<br />

In: IEEE 6th Int. Conf. on Pattern Recognition 2 (1982), pp 836–838<br />

[38] Hüfner, T.: Computerassistierte Beckenchirurgy Präzisionsanalysen, Innovationen<br />

<strong>und</strong> klinische Anwendungen, Medizinische Hochschule Hannover, Unfallchirurgische<br />

Klinik, Habilitationsschrift, 2001<br />

[39] Hoppe, H.: Progressive Meshes. In: SIGGRAPH ’96 (1996), pp 99–108<br />

[40] Horn, B. K. P.: Robot Vision. MIT Press, 1986<br />

[41] Horn, B. K. P.: Closed-form solution of absolute orientation using unit quaternions.<br />

In: Optical Society of America Journal A 4 (1987), April, pp 629–642<br />

[42] Hough, P. V. C.: Method and means for recognizing complex patterns. Dezember<br />

1962. – U.S. Patent 3,069,654


152 Literaturverzeichnis<br />

[43] Inokuchi, S. ; Sato, K. ; Matsuda, F.: Range-Imaging System for 3-D Object<br />

Recognition. In: IEEE International Conference on Pattern Recognition, 1984, pp<br />

806–808<br />

[44] Johnson, A. ; Hebert, M.: Recognizing Objects by Matching Oriented Points.<br />

In: Proc. IEEE Conf. Computer Vision and Pattern Recognition (CVPR’97), 1997,<br />

pp 684–689<br />

[45] Johnson, A. E. ; Hebert, M.: Control of Polygonal Mesh Resolution for 3-D<br />

Computer Vision. In: Graphical models and image processing: GMIP 60 (1998),<br />

Juli, No. 4, pp 261–285<br />

[46] Kalender, W. A.: Computertomographie - Gr<strong>und</strong>lagen, Gerätetechnologie, Bildqualität,<br />

Anwendungen. München : Publicis MCD Verlag, 2000<br />

[47] Kampel, M. ; Sablatnig, R.: Profile-based Pottery Reconstruction. In: Conference<br />

on Computer Vision and Pattern Recognition Workshop 1 (2003), pp 4<br />

[48] Kampel, M. ; Sablatnig, R.: Virtual reconstruction of broken and unbroken pottery.<br />

In: International Conference on 3-D Digital Imaging and Modeling (3DIM),<br />

2003, pp 318–325<br />

[49] Karaçali, B. ; Snyder, W.: Reconstructing discontinuous surfaces from a given<br />

gradient field using partial integrability. In: Computer Vision and Image Understanding<br />

92 (2003), pp 78–111<br />

[50] Klette, R. ; Schlüns, K.: Height data from gradient fields. In: Proc. Machine<br />

Vision Applications, Architectures, and Systems Integration V, SPIE 2908, 1996,<br />

pp 204–215<br />

[51] Krebs, B. ; Korn, B. ; Wahl, F. M.: Plausibilistic preprocessing of sparse range<br />

images. In: Proc. of the 8th International Conf. on Image Anal. and Processing<br />

(ICIAP ’95), 1995, pp 361–366<br />

[52] Krebs, B. ; Sieverding, P. ; Korn, B.: A fuzzy icp algorithm for <strong>3d</strong> free form<br />

object recognition. In: International Conf. on Pattern Recognition, 1996, pp 539–<br />

543<br />

[53] Krsek, P. ; Pajdla, T. ; Hlaváč, V.: Differential Invariants as the Base of<br />

Triangulated Surface Registration. In: Computer Vision and Image Understanding<br />

87 (2002), pp 27–38<br />

[54] Lange, R. ; Seitz, P.: Solid-State Time-of-Flight. Range Camera. In: IEEE J.<br />

Quantum Electronics 37 (2001), No. 3, pp 390––397<br />

[55] Levin, D.: Mesh-Independent Surface Interpolation. In: Geometric Modeling for<br />

Scientific Visualization, Springer, 2003, pp 21–28<br />

[56] Levoy, M.: Scanning the Fragments of the Forma Urbis Romae, Stand: 19. Februar<br />

2006. www.graphics.stanford.edu/projects/forma-urbis/


Literaturverzeichnis 153<br />

[57] Linnainmaa, S. ; Harwood, D. ; Davis, L. S.: Pose Determination of a Three-<br />

Dimensional Object Using Triangle Pairs. In: IEEE Trans. Pattern Anal. Machine<br />

Intell. 10 (1988), September, No. 5, pp 634–647<br />

[58] Lorensen, W. E. ; Cline, H. E.: Marching cubes: A high resolution 3D surface<br />

construction algorithm. In: SIGGRAPH ’87: Proceedings of the 14th annual<br />

conference on Computer graphics and interactive techniques, 1987, pp 163–169<br />

[59] Marr, D. ; Poggio, T.: A Theory of Human Stereo Vision / MIT Artificial<br />

Intelligence Laboratory. 1977 (AIM-451). – Technical Report<br />

[60] Masuda, T.: A Robust Method for Registration and Segmentation of Multiple<br />

Range Images. In: Computer Vision and Image Understanding 61 (1995), No. 3,<br />

pp 295–307<br />

[61] Merickel, M. ; L<strong>und</strong>gram, J. ; Sorensen, T.: Cascade, an algorithm to reduce<br />

the effect of mixed pixels. In: IEEE Conference of Computer Vision and Pattern<br />

Recognition, 1983, pp 53–58<br />

[62] Molkenstruck, S.: Manuell geführter 2,5d-Oberflächenscanner mit Online-<br />

Laserkalibrierung, <strong>Institut</strong> <strong>für</strong> <strong>Robotik</strong> <strong>und</strong> <strong>Prozessinformatik</strong>, Technische Universität<br />

Braunschweig, Germany, Studienarbeit, Betreuer: Winkelbach, S., 2004<br />

[63] Montani, C. ; Scateni, R. ; Scopigno, R.: A modified look-up table for implicit<br />

disambiguation of Marching Cubes. In: The Visual Computer 10 (1994), No. 6,<br />

pp 353–355<br />

[64] Olson, C. F.: Efficient Pose Clustering Using a Randomized Algorithm. In:<br />

International Journal of Computer Vision 23 (1997), No. 2, pp 131–147<br />

[65] Papaioannou, G. ; Karabassi, E.-A. ; Theoharis, T.: Reconstruction of<br />

Three-Dimensional Objects through Matching of Their Parts. In: IEEE Trans.<br />

Pattern Anal. Machine Intell. 24 (2002), No. 1, pp 114–124<br />

[66] Papaioannou, G. ; Theoharis, T.: Fast Fragment Assemblage Using Bo<strong>und</strong>ary<br />

Line and Surface Matching. In: IEEE/CVPR Workshop on Applicat. of Computer<br />

Vision in Archaeology, 1999<br />

[67] Payne, B. A. ; Toga, A. W.: Surface Mapping Brain Function on 3D Models.<br />

In: IEEE Computer Graphics and Applications Vol. 10, 1990, pp 33–41<br />

[68] Pipitone, F. J. ; Marshall, T. G.: A Wide-Field Scanning Triangulation Rangefinder<br />

for Machine Vision. In: International Journal of Robotics Research 2<br />

(1983), No. 1, pp 39–49<br />

[69] Radon, J. H.: Über die Bestimmung von Funktionen durch ihre Integralwerte<br />

längs gewisser Mannigfaltigkeiten. In: Berichte über die Verhandlungen der Königlich<br />

Sächsischen Gesellschaft der Wissenschaften zu Leipzig Vol. Math. Phys.<br />

Klasse 69, 1917, pp 262–277


154 Literaturverzeichnis<br />

[70] Roth, E.: Untersuchung von Subpixelverfahren zur Steigerung der Antastgenauigkeit<br />

optisch wirksamer Strukturen in Verbindung mit automatisch arbeitenden, fehlertoleranten<br />

Strukturlageerkennungsverfahren, Friedrich-Schiller-Universität Jena,<br />

Diss., 1993<br />

[71] Rusinkiewicz, S. ; Levoy, M.: Efficient Variants of the ICP Algorithm. In:<br />

International Conference on 3D Digital Imaging and Modeling (3DIM 2001), 2001,<br />

pp 145–152<br />

[72] Sappa, A. ; Restrepo-Specht, A. ; Devy, M.: Range Image Registration by<br />

using an Edge-Based Representation. In: International Symposium on Intelligent<br />

Robotic Systems (SIRS’01), 2001, pp 167–176<br />

[73] Sato, K. ; Inokuchi, S.: Three-Dimensional Surface Measurement by Space<br />

Encoding Range Imaging. In: Journal of Robotic Systems 2 (1985), No. 1, pp<br />

27–39<br />

[74] Schön, N. ; Häusler, G.: Automatic Coarse Registration of 3D Surfaces. In:<br />

Vision, Modeling, and Visualization 2005, 2005, pp 71–178<br />

[75] Schroeder, W. J. ; Martin, K. M. ; Lorensen, W. E.: The Visualization<br />

Toolkit, second edition. Upper Saddle River, New Jersey : Prentice-Hall, 1998<br />

[76] Seeger, S. ; Labourex, X.: Feature extraction and registration: An overview.<br />

In: Principles of 3D Image Analysis and Synthesis (2000), pp 153–166<br />

[77] Sharp, G. C. ; Lee, S. W. ; Wehe, D. K.: ICP Registration Using Invariant<br />

Features. In: IEEE Trans. Pattern Anal. Machine Intell. 24 (2002), No. 1, pp<br />

90–102<br />

[78] Silva, L. ; Bellon, O. R. P. ; Boyer, K. L.: Precision Range Image Registration<br />

Using a Robust Surface Interpenetration Measure and Enhanced Genetic<br />

Algorithms. In: IEEE Trans. Pattern Anal. Machine Intell. (2005), pp 762–776<br />

[79] Silva, L. ; Bellon, O. R. P. ; Boyer, K. L.: Machine Perception Artificial<br />

Intelligence. Vol. 60: Robust Range Image Registration Using Genetic Algorithms<br />

and the Surface Interpenetration Measure. World Scientific, 2005<br />

[80] Smith, G. R. ; Sternberg, M. J.: Prediction of protein-protein interactions by<br />

docking methods. In: Current Opinion in Structural Biology 12 (2002), No. 1, pp<br />

28–35<br />

[81] Stockman, G.: Object recognition and localization via pose clustering. In: Comput.<br />

Vision Graph. Image Process. 40 (1987), No. 3, pp 361–387<br />

[82] Sun, Y. ; Paik, J. ; Koschma, A. ; Page, D. L. ; Abidi, M. A.: Point Fingerprint:<br />

A New 3-D Object Representation Scheme. In: IEEE Transactions on System,<br />

Man, and Cybernetics 33 (2003), No. 4, pp 712–717<br />

[83] Synbone AG: Clavadelerstrasse, 7270 Davos, Switzerland. www.synbone.ch


Literaturverzeichnis 155<br />

[84] Tscherne H.; Pohlemann T. (Eds.): Becken <strong>und</strong> Acetabulum. Springer, 1998<br />

(Tscherne Unfallchirurgie)<br />

[85] Vanden Wyngaerd, J. ; Van Gool, L.: Automatic Crude Patch Registration:<br />

Toward Automatic 3D Model Building. In: Computer Vision and Image Understanding<br />

87 (2002), pp 8–26<br />

[86] Via, A. ; Ferre, F. ; Brannetti, B. ; Helmer-Citterich, M.: Protein surface<br />

similarities: a survey of methods to describe and compare protein surfaces. In:<br />

Cellular and Molecular Life Sciences 57 (2000), No. 13/14, pp 1970–1977<br />

[87] Wahl, E. ; Hillenbrand, U. ; Hirzinger, G.: Surflet-Pair-Relation Histograms:<br />

A Statistical 3D-Shape Representation for Rapid Classification. In: Proc.<br />

4th International Conf. on 3-D Digital Imaging and Modeling (3DIM’03), IEEE<br />

Computer Society Press, 2003, pp 474–481<br />

[88] Wahl, F. M.: A Coded Light Approach for 3-Dimensional (3D) Vision. 1984 (RZ<br />

1452). – IBM Research Report<br />

[89] Wahl, F. M.: A Coded Light Approach for Depth Map Acquisition. In: Hartmann,<br />

G. (Eds.): Mustererkennung 1986, Springer, 1986, pp 12–17<br />

[90] Weisstein, E. W.: Birthday Attack. From MathWorld–A Wolfram Web Resource.<br />

http://mathworld.wolfram.com/BirthdayAttack.html<br />

[91] Westphal, R. ; Faulstich, R. ; Gösling, T. ; Winkelbach, S. ; Hüfner, S.<br />

; Krettek, T. ; Wahl, F. M.: Fracture reduction using a telemanipulator with<br />

haptical feedback. In: Proceedings of the 17th International Congress and Exhibition,<br />

Computer Assisted Radiology and Surgery (CARS 2003), Elsevier Science<br />

Ltd, Juni 2003 (International Congress Series 1256), pp 1369<br />

[92] Westphal, R. ; Winkelbach, S. ; Finkemeyer, B. ; Wahl, F. ; Gösling,<br />

T. ; Hüfner, T. ; Faulstich, J. ; Krettek, C.: Progress in Robot Assisted<br />

Fracture Reduction. In: Video-Proceedings - IEEE, International Conference on<br />

Robotics and Automation. New Orleans, USA, 2004<br />

[93] Westphal, R. ; Winkelbach, S. ; Gösling, T. ; Hüfner, T. ; Faulstich,<br />

J. ; Martin, P. ; Krettek, C. ; Wahl, F.: A Surgical Telemanipulator for<br />

Femur Shaft Fracture Reduction. In: Int. J. of of Medical Robotics and Computer<br />

Assisted Surgery (accepted for publication) (2006)<br />

[94] Wiley, W. C. ; McLaren, H.: Time-of-Flight Mass Spectrometer with Improved<br />

Resolution. In: Review of Scientific Instruments 26 (1955), No. 12, pp 1150–1157<br />

[95] Willis, A. ; Cooper, D.: Bayesian Assembly of 3D Axially Symmetric Shapes<br />

from Fragments. In: IEEE Conference on Computer Vision and Pattern Recognition<br />

1 (2004), pp 82–89<br />

[96] Winkelbach, S.: Gradienten basierte Rekonstruktion von 3D Oberflächen, <strong>Institut</strong><br />

<strong>für</strong> <strong>Robotik</strong> <strong>und</strong> <strong>Prozessinformatik</strong>, Technische Universität Braunschweig,<br />

Germany, Diplomarbeit, Betreuer: Wahl, F. M., 2001


156 Literaturverzeichnis<br />

[97] Winkelbach, S. ; Molkenstruck, S. ; Wahl, F.: Low-Cost Laser Range Scanner<br />

and Fast Surface Registration Approach. In: Franke K.; Müller K.-R.;<br />

Nickolay B.; Schäfer R. (Eds.): Pattern Recognition, 28th DAGM Symposium<br />

[98] Winkelbach, S. ; Rilk, M. ; Schönfelder, C. ; Wahl, F. M.: Fast Random<br />

Sample Matching of <strong>3d</strong> Fragments. In: B., Rasmussen C. E.; Bülthoff H. H.; Giese<br />

H. H.; S. (Eds.): Pattern Recognition, 26th DAGM Symposium<br />

[99] Winkelbach, S. ; Wahl, F. M.: Shape from 2D Edge Gradients. In: Radig<br />

B.; Florczyk S. (Eds.): Pattern Recognition, 23th DAGM Symposium, Springer,<br />

September 2001 (Lecture Notes in Computer Science 2191), pp 377–384<br />

[100] Winkelbach, S. ; Westphal, R. ; Gösling, T.: Automatic Computation of<br />

Reposition Parameters of Fractured Long Bones based on CT-analysis. In: Proc. of<br />

the 17th International Congress and Exhibition, Computer Assisted Radiology and<br />

Surgery (CARS 2003), Elsevier Science Ltd, Juni 2003 (International Congress<br />

Series 1256), pp 1348<br />

[101] Winkelbach, S. ; Westphal, R. ; Gösling, T.: Pose Estimation of Cylindrical<br />

Fragments for Semi-automatic Bone Fracture Reduction. In: Michaelis<br />

B.; Krell G. (Eds.): Pattern Recognition, 25th DAGM Symposium, Springer,<br />

September 2003 (Lecture Notes in Computer Science 2781), pp 566–573<br />

[102] Witkin, A. P.: Recovering Surface Shape and Orientation from Texture. In:<br />

Artificial Intelligence 17 (1981), pp 17–45<br />

[103] Woodham, R. J.: Analysing Images of Curved Surfaces. In: Artificial Intelligence<br />

17 (1981), pp 117–140<br />

[104] Wyvill, B. ; McPheeters, C. ; Wywill, G.: Data Structure for Soft Objects.<br />

In: The Visual Computer Vol. 2, 1986, pp 227–234<br />

[105] Yamany, S. M. ; Farag, A. A.: Surface Signatures: An Orientation Independent<br />

Free-Form Surface Represenation Scheme for the Purpose of Objects Registration<br />

and Matching. In: IEEE Trans. Pattern Anal. Machine Intell. 24 (2002), No. 8,<br />

pp 1105–1120<br />

[106] Zagorchev, L. ; Goshtasby, A.: A paintbrush laser range scanner. In: Computer<br />

Vision and Image Understanding 101 (2006), pp 65–85


Index<br />

2d Integration, 22<br />

<strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>, 1, 39, 49<br />

Achsschätzung, 101<br />

Archäologie, 46, 123<br />

Becken<br />

-fraktur, 112<br />

-knochen, 112<br />

Bruchflächensegmentierung, 118<br />

Bruchflächen<br />

-distanz, 64<br />

-segmentierung, 101, 118<br />

Chirurgie, 97<br />

Cluster Tree<br />

Konstruktion, 82<br />

Matching, 78<br />

Clustering, 82<br />

Codierter Lichtansatz, 10<br />

Computertomographie, 31<br />

Durchdringung, 53, 64, 82<br />

Feinregistrierung, 41<br />

Femur<br />

-frakturen, 97<br />

Achsschätzung, 101<br />

Bruchflächensegmentierung, 101<br />

Festmusterprojektor, 18<br />

Fotometrische Mitte, 20<br />

Fusion von Oberflächendaten, 126<br />

Geburtstagsangriff, 60<br />

Geburtstagsparadoxon, 60<br />

geometrisch komplementär, 55<br />

Gradientenkarte, 11<br />

Gradientenoperatoren, 15<br />

Gray-Code, 10<br />

Grobregistrierung, 41<br />

157<br />

Hough-Transformation, 44, 58<br />

Hypothesenakkumulation, 44<br />

ICP, 41<br />

Integration, 22<br />

Isofläche, 33<br />

Koheränz, 76<br />

Kongruenzrelation<br />

auf Cluster-Paaren, 87<br />

auf Punktpaaren, 80<br />

Kontaktkohärenz, 76<br />

Korrespondenzproblem, 6<br />

Lagehypothesen<br />

Bewertung, 63, 88<br />

Definition, 53, 87<br />

Generierung, 59<br />

high-level, 79, 86, 87<br />

Lagekohärenz, 78<br />

Lageschätzung, 132<br />

Laserarray, 18<br />

Laserscanner, 7<br />

LookUp-Tabelle, 16<br />

Marching Cube, 33<br />

Merkmale, 42<br />

Monte-Carlo, 63<br />

Oberflächen<br />

Gradient, 11, 23<br />

Krümmungen, 42<br />

Merkmale, 42, 59, 94<br />

Normale, 11, 23, 51<br />

Repräsentationsformen, 36<br />

Oberschenkelknochen, siehe Femur<br />

Objekterkennung, 132<br />

orientierter Punkt, 51<br />

pose clustering, 44


158 Index<br />

Protein-Docking, 47, 136<br />

Punktwolke, 51, 82<br />

Quantile, 67<br />

Radontransformation, 31<br />

Random Sample Matching, 56<br />

RANSAC<br />

zur Detektion von Geraden, 56<br />

zur Lösung des <strong>3d</strong>-<strong>Puzzle</strong>-<strong>Problem</strong>s, 58<br />

zur Schätzung der Knochenachse, 102<br />

Rauschen, 67<br />

Registrierung, 39, 126<br />

Relations<br />

-intervall, 87<br />

-tabelle, 60<br />

-vektor, 87<br />

spin image, 42<br />

Stereo, 6<br />

Streifenlichtprojektion, 12<br />

subpixel, 20<br />

subvoxel, 35<br />

tangentialer Kontakt, 52<br />

Tiefenbilder, 6<br />

Triangulation, 6<br />

Ueberlappungstypen, 39<br />

Volumendaten, 31<br />

Zentralschnitt-Theorem, 32

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!