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 ...
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