Integration automatischer Abstandsberechnungen ... - Semantic Scholar

Bibliothek V-COLLIDE realisiert [1]. Es beruht darauf, dass für alle Objekte achsen- orientierte und objektorientierte Bounding Boxen berechnet werden (AABB ...
1MB Größe 4 Downloads 356 Ansichten
Integration automatischer Abstandsberechnungen in die Interventionsplanung Bernhard Preim1, Christian Tietjen2, Milo Hindennach1, Heinz-Otto Peitgen1 1

MeVis – Centrum für Medizinische Diagnosesystem und Visualisierung, Universitätsallee 29, 28359 Bremen, Email: {preim, milo, peitgen}@mevis.de 2 Otto-von-Guericke-Universität Magdeburg, Institut für Simulation und Graphik, Universitätsplatz 2, 39106 Magdeburg, Email: [email protected]

Zusammenfassung. Wir stellen ein Verfahren aus der Robotik vor, mit dem minimale Abstände zwischen polygonalen 3D-Objekten sehr effizient bestimmt werden können. Dabei beschreiben wir eine effiziente Implementierung des Verfahrens und eine empirisch bestimmte Parametrisierung, die sich als besonders günstig erwiesen hat. Für das bei der Interventionsplanung besonders wichtige Problem der Bestimmung eines minimalen Abstandes zwischen Gefäßen und Tumoren wird eine spezielle Lösung beschrieben, die eine Filterung der Gefäßvoxel basierend auf einem Kriterium für den Gefäßdurchmesser beschreibt.

1 Einleitung Für die Planung lokaler Interventionen sind Lageverhältnisse zwischen krankhaften Veränderungen und angrenzenden Strukturen wichtig, um über das Vorgehen zu entscheiden. Neben einer anschaulichen 3D-Visualisierung ist eine quantitative Analyse, insbesondere hinsichtlich von Abständen wesentlich. Eine exakte interaktive Vermessung von Abständen ist aufwändig. Basierend auf einer Segmentierung relevanter Objekte können minimale Abstände automatisch bestimmt werden. Aufgrund der großen Datenmenge bei medizinischen Visualisierungen muss das Verfahren zur Abstandsbestimmung effizient sein. Zudem muss es in der Lage sein, Objekte mit beliebiger Form zu analysieren. Im Vergleich zu dem ursprünglich bei MeVis entwickelten Verfahren [3] der Abstandsberechnung ist das hier vorgestellte Verfahren • durch die effiziente Nutzung einer Hierarchie von Hüllkörpern um mindestens eine Größenordnung schneller und • uneingeschränkt anwendbar (auch auf konkave Objekte bzw. Objekte deren konvexe Hüllen sich überlappen).

2 Verwandte Arbeiten Als Orientierung für die Entwicklung unserer Methode wurden Verfahren der Abstandsberechnung aus den Gebieten Algorithmische Geometrie und Robotik untersucht. In der Robotik richtet sich das praktische Interesse auf die Detektion von Kollisionen zwischen 3D-Objekten in dynamischen Systemen. Ein verbreitetes Verfahren ist in der Bibliothek V-COLLIDE realisiert [1]. Es beruht darauf, dass für alle Objekte achsenorientierte und objektorientierte Bounding Boxen berechnet werden (AABB bzw. OBB), wobei aus den geometrischen Informationen hierarchische Datenstrukturen aufgebaut werden (OBB-Bäume). Sie dienen dazu, möglichst schnell zu entscheiden, wel-

che Objekte mit Sicherheit nicht kollidieren, um aufwändigere Berechnungen auf wenige Kandidatenpaare zu konzentrieren. Die hier beschriebene Aufgabenstellung ist dazu stark verwandt, aber in zwei wichtigen Details unterschiedlich: (1) Es handelt sich nicht um dynamische Objekte, die ihre Position verändern. (2) Nur zwei vom Benutzer selektierte Objekte werden betrachtet. Aus diesen Gründen ist der erhebliche Vorverarbeitungsaufwand für die Berechnung objektorientierter Bounding-Boxen hier nicht gerechtfertigt, weil die berechnete Information nur ein einziges Mal verwendet wird. Die Mehrheit der existierenden Verfahren zur Abstandsbestimmung ist auf konvexe Objekte beschränkt. Abstandsberechnungen zwischen nicht-konvexen polygonalen Oberflächen wurden in [2] und [5] vorgestellt. Das Verfahren von KAWACHI [2] ist bei beweglichen Objekten, bei denen die Abstandsberechnung häufig wiederholt wird, besonders geeignet. Für die einmalige Abstandsberechnung zwischen statischen Objekten ist das Verfahren von QUINLAN [5] günstiger, da der Aufwand zum Aufbau einer hierarchischen Datenstruktur geringer ist. Abb. 1 zeigt eine Prinzipskizze in 2D.

Abbildung 1: Ein einfaches geometrisches Objekt und seine Repräsentation durch umschließende Kreise bzw. eine Hierarchie umschließender Kreise, aus [5]

3 Abstandsberechnung auf Basis umschließender Kugeln Das im folgende vorgeschlagene Verfahren orientiert sich an [5]. Die beiden betrachteten Objekte werden durch die Eckpunktmengen V1 = {v1i, i =1,...,m} und V2 = {v2j, j=1,..,n} (vertices) beschrieben. Für eine effiziente Abstandsberechnung werden diese Punktmengen in einer hierarchischen Datenstruktur repräsentiert. Dabei werden Teilobjekte bzw. ihre zugehörigen Punkte v1i und v2j zu Knoten n1r und n2s zusammengefasst und für jeden Knoten eine umschließende Kugel S1hr bzw. S 2gs auf der jeweiligen Hierarchiebene g bzw. h bestimmt. Das Verfahren besteht aus folgenden Schritten: 1. Aufbau einer hierarchischen Datenstruktur zur Repräsentation der Punktmengen Initial wird für V1 und V2 die Bounding Box (AABB) bestimmt. Die v1i werden solange in einen Behälter einsortiert, bis ihre Anzahl größer ist als der Parameter maxEntries. Wenn dieser Wert erreicht ist, wird AABB(V1) in gleich große Quader unterteilt. Entsprechend dem Parameter partition wird AABB(V1) in 23,...,53 Quader unterteilt und jeder Punkt seiner Box zugeordnet. Das Einsortieren der v1i und die Unterteilung werden rekursiv fortgesetzt, bis alle v1i einsortiert sind und jeder Behälter höchstens maxEntries Punkte enthält. Die v2j werden analog in Behälter einsortiert, die durch Unterteilung von AABB(V2) entstehen. Die Behälter entsprechen den Knoten der hierarchischen Struktur.

2. Bestimmung umschließender Kugeln Für alle Knoten n1r und n2s wird die kleinste umschließende Kugel bestimmt, deren Mittelpunkt dem Mittelpunkt der AABB des jeweiligen Knotens entspricht. Es entsteht eine Hierarchie von Kugeln, wobei S1root die Kugel von V1 darstellt. 3. Bestimmung einer Schätzung des minimalen Abstandes dguess S1root und S 2root werden betrachtet. Für die Kugel mit dem größeren Durchmesser werden die Unterkugeln betrachtet. Für jede dieser Unterkugeln wird der Abstand der Oberfläche zu der anderen Kugel bestimmt und das Minimum gebildet. Wir nehmen an, es tritt für die Kugel S1root und S 2gs auf. Wiederum wird für die größere der beiden Kugeln die Menge der Unterkugeln durchlaufen und der Abstand berechnet. Dies wird bis zu den Kugeln fortgesetzt, die den Blättern der Hierarchie entsprechen. Für das gefundene Kugelpaar ( S1hr ; S 2gs ) werden die Abstände zwischen allen Punkten berechnet. Das Minimum dieser Abstände dguess ist eine erste Schätzung des minimalen Abstandes. 4. Bestimmung des minimalen Abstandes dmin durch Analyse aller Punkte in Kugelpaaren ( S1hr ; S 2gs ) mit Abstand < dguess Ausgehend von dguess werden alle Kugelpaare betrachtet, bei denen der Abstand der Kugeloberflächen < dguess ist. Alle anderen Kugelpaare können ausgeschlossen werden. In den verbleibenden Kugelpaaren werden alle möglichen Abstände zwischen den Punkten berechnet und mit dguess verglichen. Danach steht das Minimum fest. Die Berechnung des euklidischen Abstandes beinhaltet die Bestimmung der Quadratwurzel. Dieser zeitaufwändige Schritt kann eingespart werden, solange nur bestimmt werden muss, zwischen welchen Eckpunkten das Minimum auftritt. Parameterbestimmung. Durch umfangreiche Laufzeittests mit Objekten, die aus hochaufgelösten CT-Daten segmentiert wurden, wurden die für die Effizienz wesentlichen Parameter partition und maxEntries empirisch bestimmt. Sie passen sich an die Größe der jeweiligen Punktmenge (size) an, wobei partition Werte von 23, 33, 43 oder 53 annimmt. Die Kubikzahlen als Werte für partition sind dadurch motiviert, dass in allen Richtungen (x-, y- und z) die Bounding Box in gleich große Teile eingeteilt werden soll. MaxEntries muss so gewählt werden, dass einerseits die Zahl der Einträge pro Kugel nicht zu groß wird; andererseits so, dass die Zahl der Kugeln und damit der Verwaltungsaufwand nicht zu groß wird. Werte zwischen 200 und 1000 haben sich als günstig erwiesen. In diesem Intervall wird maxEntries an den Wert von size angepasst. Zu beachten ist, dass die durchschnittliche Belegung weit unter dem Maximum liegt (z.B. 200 bei maxEntries = 1000). Validierung. Die naive, extrem zeitaufwändige Methode zur Berechnung des minimalen Abstandes besteht darin, alle möglichen Abstände zwischen den Eckpunkten beider Objekte zu betrachten und das Minimum zu bilden. Die Korrektheit der hier vorgestellten minimalen Abstandsberechnung wurde sichergestellt, indem die Übereinstimmung der Ergebnisse der naiven Methode mit denen der vorgestellten festgestellt wurde.

4 Einschränkung der Vermessung auf Teile des Gefäßbaumes Bei der Abstandsberechnung zwischen Tumoren und Gefäßen besteht der Wunsch chirurgischer Anwender darin, nur Gefäße mit einem bestimmten Mindestdurchmesser zu betrachten. Daher wurde ein Modul VESSELFILTER entwickelt, das zwei Eingänge besitzt: einen segmentierten Gefäßbaum und das abgeleitete Skelett zusammen mit den Durchmesserinformationen für jedes Skelettvoxel. Der VESSELFILTER bestimmt daraus alle Gefäßabschnitte, deren Durchmesser oberhalb des Schwellwertes dthresh liegen und die dazugehörigen Teile des segmentierten Gefäßbaumes (Abb. 2). Die Filterung wird so durchgeführt, dass ein zusammenhängender Gefäßbaum nicht in mehrere Teile zerfällt. Aufgrund von Diskontinuitäten im Gefäßdurchmesser von der Wurzel des Gefäßbaumes zur Peripherie wäre dies möglich. Der Gefäßbaum wird daher unter Berücksichtigung der Hierarchie durchsucht. Dies geschieht ausgehend von den Blättern. Sowie auf dem Weg zur Wurzel erstmals ein Gefäßabschnitt mit d > dthresh auftaucht, werden alle weiteren Gefäßabschnitte nicht gefiltert. Im Unterschied zu einer top-downVorgehensweise wird dadurch der verbleibende Gefäßbaum eher überschätzt.

Abbildung 2: Minimaler Abstand zwischen einem Tumor und einem Gefäßsystem in der Leber, wobei nur Gefäße ab einem Durchmesser von 2 mm berücksichtigt werden.

5 Ergebnisse und Diskussion Das beschriebene Verfahren wurde detailliert erprobt. Dabei wurden z.B. Abstände zwischen Gefäßbäumen und Tumoren bestimmt. Der minimale Abstand konnte bei allen Messungen in maximal 600 Millisekunden bestimmt werden. Im Unterschied zu [5] werden Punktmengen und keine Polyeder benutzt. Dadurch kann der minimale Abstand zwischen Objekten bestimmt werden, von denen eines im anderen enthalten ist. So kann z.B. der Abstand zwischen Tumoren und Leberoberfläche bestimmt werden, um die Anwendbarkeit einer minimal-invasiven Therapie zu beurteilen. Tabelle 1 fasst einige Messergebnisse zusammen. In Spalten 2 und 3 ist die Zahl der Eckpunkte der beiden selektierten Objekte dargestellt. In den folgenden beiden Spalten ist die durchschnittliche Zahl der Einträge pro Kugel und die Maximalzahl

dargestellt. Bei den Messungen 1-3 ist aus der Objektanzahl ein Maximum von 200 Einträgen bestimmt worden (aufgetreten sind daher Werte bis zu 199). Bei den Messungen 4-6 waren Gefäßsysteme beteiligt (mehr als 20 000 Eckpunkte). Die 4. und 5. Messung beziehen sich auf den Abstand zwischen Tumoren und Gefäßen; die 6. Messung bezieht sich auf den Abstand von zwei Gefäßsystemen zueinander – eine besonders aufwändige Messung, die die Leistungsfähigkeit des Algorithmus bei großen Datenmengen zeigt. Für die Gefäßsysteme wurde ein zulässiger Maximalwert von 1000 Einträgen pro Kugel bestimmt. In den Spalten 6 und 7 wird die Zahl der verwendeten Kugeln angegeben. Die Tiefe des Baumes lag in allen Beispielen zwischen 3 und 5; es ist also nicht zu entarteten sehr tiefen Bäumen gekommen. Die letzte Spalte enthält den Gesamtaufwand, einschließlich der Vorverarbeitung auf einem Intel Pentium IV-Prozessor (1 GByte Speicher, 1.7 GHertz). Tabelle 1: Parameter und Ergebnisse der Abstandsbestimmung Nr. 1 2 3 4 5 6

Obj1, Punkte 5244 10540 18785 25078 49911 88887

Obj2, Punkte 2147 5703 7759 5703 5703 22298

Obj1, Entries (Avg., Max.) 79.4; 191 48.8; 190 48.7; 199 272.6 ; 903 253.2 ; 967 189.9 ; 970

Obj2, Entries (Avg., Max) 46.7; 119 59.4; 195 44.3; 199 59.4; 195 59.4; 195 126.2; 997

Obj1, Kugeln 66 216 386 92 197 468

Obj2, Kugeln 46 96 175 96 96 177

Zeit in Sek. 0.06 0.04 0.11 0.10 0.14 0.59

Das Verfahren ist in den bei MeVis entwickelten INTERVENTIONPLANNER integriert [4]. Dieser auf chirurgische Anwender zugeschnittene Softwareassistent enthält neben Möglichkeiten zur Resektions- und Zugangsplanung ein Vermessungsmodul mit interaktiven und automatischen Vermessungsmöglichkeiten und wird an 4 Kliniken zur Planung von Leberoperationen eingesetzt. Die automatische Abstandsmessung wird genutzt, um Abstände zwischen Tumoren und Blutgefäßen abzuschätzen. Für den klinischen Einsatz ist wichtig, dass die Verbindungslinie zwischen den Objekten an denen der minimale Abstand berechnet wurde, erkennbar ist. Dazu wird die Kamera des 3D-Viewers auf den Mittelpunkt der Linie gerichtet und die Kamera auf diesen Mittelpunkt zubewegt (Abbildung 2).

Literatur [1] Hudson TC, Lin MC, Cohen J, Gottschalk S, Manocha D (1997). „V-COLLIDE: Accelerated Collision Detection with VRML”, Symposium on the Virtual Reality Modeling Language [2] Kawachi K und Suzuki H (2000). „Distance Computation between Non-convex Polyhedra based on Voronoi Diagrams”, Geometric Modeling and Processing, S. 123-130 [3] Preim B, Sonnet H, Spindler W, Peitgen HO (2001). „Interaktive und automatische Vermessung von 3D-Visualisierungen für die Planung chirurgischer Eingriffe“, Bildverarbeitung für die Medizin, Springer, S. 19-23 [4] Preim B, Hindennach M, Spindler W, Schenk A, Littmann A und Peitgen HO (2003). „Visualisierungs- und Interaktionstechniken für die Planung lokaler Therapien“, Simulation und Visualisierung (Magdeburg, März 2003), erscheint im SCS-Verlag

[5] Quinlan S (1994). „Efficient Distance Computation between Non-Convex Objects“, IEEE International Conference on Robotics and Automation