-
Gebiet der Erfindung
-
Die Erfindung betrifft computer-implementierte Verfahren und zugehörige Speichermedien und Computersysteme zur Berechnung von Daten, die eine dreidimensionale Oberfläche repräsentieren, unter Verwendung von Bildern der Oberfläche. Die Erfindung ist besonders vorteilhaft im Bereich der Medizintechnik.
-
Hintergrund
-
In bildgebenden Verfahren der Medizintechnik, aber auch in anderen Bereichen, entstehen große Mengen an Bildmaterial. Wird beispielsweise eine endoskopische Untersuchung vorgenommen, erhält der Endoskopierende auf dem Bildschirm eine visuelle Darstellung des Innenraums des untersuchten Organs oder Hohlraums. Die dargestellte Oberfläche, beispielsweise die Innenwand eines organischen oder technischen Hohlraums, kann dann untersucht oder sogar manipuliert werden. Der Endoskopierende kann dabei aber nur diejenige Bildinformation nutzen, die aktuell von der Endoskopkamera erfasst und auf dem Bildschirm angezeigt wird. Zwar können die Bilder auch aufgezeichnet werden, so dass der Endoskopierende die Bilder während oder nach der Endoskopie erneut betrachten kann; es bleibt aber auch dann schwierig, dem Bildmaterial mehr als nur visuelle Informationen zu entnehmen.
-
Die beschriebene endoskopische Anwendung ist nur eines von vielen Beispielen, in denen es wünschenswert wäre, anfallendes Bildmaterial einer computergestützten Auswertung zuzuführen. Wenn es beispielsweise möglich wäre, aus solchem Bildmaterial Daten zu gewinnen, die eine abgebildete Oberfläche repräsentieren, so könnte die auf diese Weise datentechnisch repräsentierte Oberfläche am Computer angezeigt oder vermessen werden, vollautomatisch oder benutzergeführt. Die Daten liessen sich auch zur Fertigung von zu der Oberfläche paßgenauen Formen verwenden.
-
Im Allgemeinen enthalten Bilddaten (z. B. in Form von Einzelbildern oder Videos), die mit optischen Aufnahmegeräten (z. B. Kameras) erfasst oder anderweitig generiert werden, visuelle Eigenschaften der abgebildeten Oberflächen (z. B. Textur, Farbe), wodurch diese mit entsprechend geeigneten visuellen Ausgabegeräten für Menschen (räumlich) wahrnehmbar bleiben. Die der ursprünglichen Oberfläche anhaftenden Tiefeninformationen stehen jedoch für nachfolgende Prozessschritte, die räumliche Informationen erfordern (z. B. die Herstellung physikalischer Modelle, Vermessung, Dokumentation), nicht mehr zur Verfügung. Dies erschwert die obengenannte computergestützte Auswertung erheblich.
-
Im Fall von monokularen Bilddaten (Bilder einer Einzelkamera) wird für den Betrachter die Tiefeninformation häufig nur durch die Bewegung der Kamera während der Aufnahme verständlich. Auch bei Betrachtung stereoskopischer Bilddaten entsteht die ursprüngliche Oberfläche nur mental beim Betrachter. Objektive Aussagen zur Räumlichkeit einer Oberfläche, die z. B. mit einer (stereoskopischen) Kamera bei deren Bewegung entlang eines Pfades erfasst worden ist, sind damit nicht mehr möglich.
-
Überblick über die Erfindung
-
Der Erfindung liegt daher die Aufgabe zugrunde, ein computer-implementiertes Verfahren und zugehöriges Speichermedium und Computersystem bereitzustellen, das es gestattet, Daten, die eine dreidimensionale Oberfläche repräsentieren, zuverlässig und robust zu berechnen.
-
In einer Ausgestaltung betrifft die Erfindung ein computer-implementiertes Verfahren zur Berechnung von Daten, die eine dreidimensionale Oberfläche repräsentieren, unter Verwendung von Bildern der Oberfläche. Das Verfahren umfasst das Empfangen einer Serie von Bildern der Oberfläche, wobei die Bilder zeitlich aufeinanderfolgend aufgenommen wurden und wobei jeweils zeitlich benachbarte Bilder einen überlappenden Oberflächenbereich abbilden. Ferner umfasst das Verfahren das Erkennen von Bildmerkmalen in wenigstens einem Teil der empfangenen Bilder und das Verfolgen der erkannten Bildmerkmale von Bild zu Bild. In dem erfindungsgemäßen Verfahren wird dann unter Verwendung der verfolgten Bildmerkmale für jedes Bild des wenigstens einen Teils der empfangenen Bilder eine Kameraposition und Kameraausrichtung in einem dreidimensionalen globalen Koordinatensystem berechnet. Ferner umfasst das Verfahren das Transformieren von Bildpunkten aus Bildern des wenigstens einen Teils der empfangenen Bilder in Koordinaten des dreidimensionalen globalen Koordinatensystems unter Verwendung der berechneten Kamerapositionen und Kameraausrichtungen.
-
In einer Ausgestaltung der Erfindung wird die Serie von Bildern der Oberfläche zum Zeitpunkt der Bildaufnahme in Echtzeit empfangen. In einer anderen Ausgestaltung umfasst der Schritt des Empfangens der Serie von Bildern der Oberfläche das Auslesen archivierter oder anderweitig gespeicherter Bilddaten.
-
Die Bilder der Serie sind vorzugsweise monokulare Bilder, wobei das Verfahren dann ferner das Berechnen einer Tiefenkarte mittels einer Bundle-Adjustment-Technik umfassen kann.
-
In einer ebenso bevorzugten Ausgestaltung der Erfindung sind die Bilder der Serie stereoskopische Bilder, wobei das Verfahren dann ferner das Berechnen einer Tiefenkarte mittels einer Blockmatching-Technik umfassen kann.
-
Die empfangenen Bilder können vor der Erkennung von Bildmerkmalen vorverarbeitet werden, wobei die Vorverarbeitung vorzugsweise eine Kalibrierung umfasst.
-
Sind die Bilder der Serie stereoskopische Bilder, so kann das Berechnen der Kameraposition und Kameraausrichtung ferner eine dynamische Verkürzung oder Verlängerung der virtuellen Distanz zwischen dem linken und dem rechten Bild umfassen, um eine Asynchronität der Einzelbildaufnahmen zu kompensieren.
-
In einer Ausgestaltung der Erfindung umfasst das Berechnen der Kameraposition und Kameraausrichtung die Anwendung eines Kalmanfilters.
-
Sind die Bilder der Serie stereoskopische Bilder, so kann der Kalmanfilter einen Zustandsvektor verwenden, der zur Asynchronitätskorrektur eine zusätzliche Variable enthält, mit deren Hilfe die Position des linken oder rechten Bildes verschoben wird. Hierbei kann die zusätzliche Variable des Zustandsvektors eine additive Rauschkomponente besitzen.
-
In einer Ausgestaltung der Erfindung verwendet der Kalmanfilter einen Zustandsvektor mit einer Geschwindigkeits- und Rotationsgeschwindigkeitskomponente, die additive Rauschkomponenten besitzen.
-
In jeder der beschriebenen Ausgestaltungen kann das Berechnen der Kameraposition und Kameraausrichtung ein Aufintegrieren von Variablen umfassen, die eine Kamerageschwindigkeit und Kamerarotationsgeschwindigkeit angeben.
-
Ferner kann das Verfahren das Durchführen einer Z-Drift-Korrektur zu transformierender Bildpunkte umfassen. Hierbei umfasst das Durchführen der Z-Drift-Korrektur vorzugsweise das Durchführen eines Raycastings mit Strahlen, die von neu zu transformierenden Bildpunkten ausgehend die Punktwolke zuvor transformierter Bildpunkte durchdringen, das Aufsammeln von auf den Strahlen oder in deren Nähe gelegenen Bildpunkten, das Bilden eines Durchschnitts der je Strahl gesammelten Bildpunkte, das Bilden einer Transformation unter Verwendung der gebildeten Durchschnitte und der globalen Koordinaten der Punktwolke und das Anwenden der gebildeten Transformation auf die neu zu transformierenden Bildpunkte.
-
Das Berechnen der Kameraposition und Kameraausrichtung kann ferner die Anwendung eines Kalmanfilters umfassen, der einen Zustandsvektor mit mehreren Variablen verwendet. Hierbei kann die gebildete Transformation ferner angewendet werden, um einen oder mehrere der Variablen des Zustandsvektors zu korrigieren.
-
Im Schritt des Erkennens von Bildmerkmalen werden vorzugsweise solche Bildmerkmale erkannt, die zueinander einen vordefinierten Mindestabstand aufweisen.
-
Den Bildern der Serie sind in einer bevorzugten Ausgestaltung der Erfindung relative oder absolute Aufnahmezeitinformationen zugeordnet. Der Schritt des Berechnens der Kamerapositionen und Kameraausrichtungen in dem dreidimensionalen globalen Koordinatensystem kann dann diese Aufnahmezeitinformationen verwenden, um einen Kamerabewegungsverlauf zu berechnen.
-
In Ausgestaltungen der Erfindung umfasst das Erkennen von Bildmerkmalen die Anwendung eines Harris-Corner-Detektors und das Verfolgen der erkannten Bildmerkmale die Anwendung eines Lukas-Kanade-Trackers.
-
Ferner wird erfindungsgemäß ein computer-lesbares Speichermedium bereitgestellt, das computerausführbare Instruktionen speichert, die bei ihrer Ausführung durch einen oder mehrere Prozessoren des Computers diesen einen oder diese mehreren Prozessoren dazu veranlassen, ein Verfahren durchzuführen, wie es oben beschrieben wurde oder weiter unten unter Bezugnahme auf die Figuren beschrieben werden wird.
-
Des Weiteren betrifft die Erfindung ein Computersystem zur Berechnung von Daten, die eine dreidimensionale Oberfläche repräsentieren, unter Verwendung von Bildern der Oberfläche. Das Computersystem umfasst eine Bilddatenempfangseinheit zum Empfangen einer Serie von Bildern der Oberfläche, wobei die Bilder zeitlich aufeinanderfolgend aufgenommen wurden und wobei jeweils zeitlich benachbarte Bilder einen überlappenden Oberflächenbereich abbilden. Das Computersystem umfasst ferner eine Datenverarbeitungseinheit zum Erkennen von Bildmerkmalen in wenigstens einem Teil der empfangenen Bilder und Verfolgen der erkannten Bildmerkmale von Bild zu Bild, Berechnen einer Kameraposition und Kameraausrichtung in einem dreidimensionalen globalen Koordinatensystem für jedes Bild des wenigstens einen Teils der empfangenen Bilder unter Verwendung der verfolgten Bildmerkmale und Transformieren von Bildpunkten aus Bildern des wenigstens einen Teils der empfangenen Bilder in Koordinaten des dreidimensionalen globalen Koordinatensystems unter Verwendung der berechneten Kamerapositionen und Kameraausrichtungen.
-
Das Computersystem kann ferner ausgestaltet sein, um das oben beschriebene Verfahren bzw. das in den Figuren gezeigte und in der zugehörigen Beschreibung dargelegte Verfahren auszuführen.
-
Die in den Ausgestaltungen beschriebene Erfindung gestattet es, Tiefeninformationen aus monokularen oder stereoskopischen Eingabedaten auf robuste Weise zu rekonstruieren und so die hochpräzise Vermessung allgemeiner Oberflächen auf Basis monokularer oder stereoskopischer Einzelbild- und/oder Videodaten ermöglichen. Dies ermöglicht die komplette Rekonstruktion der Objektgrenzflächen beliebiger physischer Objekte oder Objektbestandteile (z. B. in der Medizin, Biologie, Werkstofftechnik oder Materialprüfung) sowie die anschließende Vermessung oder Fertigung der rekonstruierten Objekte oder Objektbestandteile inklusive davon abgeleiteter Formen (z. B. mittels Rapid-Prototyping-Verfahren).
-
Figurenliste
-
Bevorzugte Ausgestaltungen der Erfindung werden nachfolgend unter Bezugnahme auf die Figuren näher beschrieben, in denen:
- 1 ein Flußdiagramm ist, das der Funktionsbeschreibung der Erfindung in einer bevorzugten Ausgestaltung dient;
- 2 ein Flußdiagramm ist, das ein erfindungsgemäßes Verfahren zur Berechnung von Daten, die eine dreidimensionale Oberfläche repräsentieren, gemäß einer Ausgestaltung zeigt;
- 3 ein Diagramm zur Verdeutlichung der Bildverschiebung bei sich synchron bewegenden stereoskopischen Einzelbildaufnahmen ist;
- 4 ein Diagramm zur Verdeutlichung der Bildverschiebung bei sich asynchron bewegenden stereoskopischen Einzelbildaufnahmen ist;
- 5 ein Flußdiagramm ist, das ein erfindungsgemäßes Verfahren zur Z-Drift-Korrektur gemäß einer Ausgestaltung zeigt;
- 6A und 6B die Durchführung der Z-Drift-Korrektur gemäß einer Ausgestaltung verdeutlichen; und
- 7 ein Blockdiagramm ist, das ein Computersystem in einer Ausgestaltung der Erfindung darstellt.
-
Detaillierte Beschreibung bevorzugter Ausgestaltungen
-
Wie aus dem Vorstehenden sowie dem Nachfolgenden ersichtlich ist, betrifft die Erfindung eine Technik, welche Tiefeninformationen aus bildbasierten Eingabedaten generiert. Die mittels Kamera(s) oder durch andere bildgebende Verfahren aufgezeichneten Oberflächenbereiche werden somit dreidimensional, beispielsweise in Form und Textur, rekonstruiert. Hierfür werden im weitesten Sinne lediglich überlappende Bilder benötigt, also Bilder, die räumlich zusammenhängende Oberflächenbereiche zeigen und die mindestens in Teilen dieselben Oberflächenbereiche abbilden. Diese Bilder können die (zeitveränderlichen) Daten einer einzelnen Kamera (Monobilder), als auch eines Stereokamerasystems (Stereobilder) sein. Dadurch besteht eine besondere Eignung für die Verarbeitung von Videos, wie sie z. B. bei der Archivierung von Endoskopieaufnahmen anfallen.
-
Die Erfindung kommt ohne Tracking der aufzeichnende(n) Kamera(s) aus. Sie beinhaltet im Gegensatz die Positionsbestimmung der Kamera(s) auf Basis der erfassten Daten, was auch im Nachhinein erfolgen kann. Dies funktioniert sowohl direkt im Live-Modus, d. h. unter direkter Verarbeitung der von der Kamera bzw. den Kameras aufgezeichneten Daten, als auch nachträglich, d. h. auch noch Jahre später ohne Qualitätsverlust auf archivierten Bild- und Videodaten.
-
Erfindungsgemäß können in Ausgestaltungen auch Stereokamerasysteme (z. B. Stereo-Endoskope) eingesetzt werden, die Stereobilder nicht zeitlich synchron aufzeichnen, was jedoch durch bisherige 3D-Rekonstruktionsverfahren vorausgesetzt wird. Die Erfindung kann dagegen auch mit zeitlich versetzt aufgenommenen Stereobildern arbeiten. Durch zusätzliches stabiles Tracking von relevanten Bildmerkmalen über die Zeit und unter Verwendung statistischer Verfahren kann die präzise Rekonstruktion von Tiefeninformationen und den damit korrespondierenden Objektgrenzflächen ermöglicht werden. Ferner wird es möglich, eine semantisch zusammenhängende Objektgrenzfläche als Abbild eines physikalischen Objektes aus zeitveränderlichen Kameradaten zu generieren und daraus charakteristische quantitative Formmerkmale (z. B. Größen, Abstände, Winkel) abzuleiten.
-
Im Folgenden werden bevorzugte Ausgestaltungen der Erfindung unter Bezugnahme auf die Figuren näher erläutert. Insbesondere wird zunächst auf 1 verwiesen.
-
Die mittels einer monokularen oder stereoskopischen Kamera akquirierten Bilder 100, 105 werden zunächst vorzugsweise initial vorverarbeitet. Dabei kann für monokulare Bilder 100 eine Entzerrung 115 basierend auf einer initial durchzuführenden Kalibrierung erfolgen. Beispielsweise kann hierfür die in Zhengyou Zhang, „A flexible new technique for camera calibration", Pattern Analysis and Machine Intelligence, IEEE Transactions on, 22(11):1330-1334, 2000 beschriebene Technik eingesetzt werden. Durch die Kalibrierung steht neben den Entzerrungsparametern vorzugsweise auch die Intrinsik zur Verfügung, die in späteren Verarbeitungsschritten verwendet werden kann.
-
Für stereoskopische Daten kann durch eine Kalibrierung 110 (wie etwa die vorgenannte) des Kamerasetups die Extrinsik und ebenfalls die Intrinsik des Stereokamerasystems erkannt werden. Für den Fall, dass die Kameras nicht parallel zueinander ausgerichtet sind, werden die Stereobilder vorzugsweise so korrigiert, dass sie Bildern aus einem parallelen Stereokamera-Setup entsprechen. Dazu kann eine Rektifizierung gemäß Richard I Hartley, „Theory and practice of projective rectification", International Journal of Computer Vision, 35(2):115-127, 1999 angewandt werden, die das Bild so verzerrt, dass die Kameras rein virtuell parallel ausrichtet sind. Dadurch fallen die Epipolarlinien zwischen den beiden Stereobildern vorzugsweise auf dieselbe Zeilenhöhe. Insbesondere Matching-Algorithmen zur Stereorekonstruktion können von diesem Schritt profitieren.
-
Die (korrigierten) Bilder werden in der in 1 gezeigten Ausgestaltung der Erfindung nun in zweierlei Form verwendet. Zum Einen wird eine Tiefenkarte berechnet (Block 140). Im Fall stereoskopischer Bilder erfolgt dies vorzugsweise über ein semiglobales Blockmatching, z. B. dem nach Heiko Hirschmüller, „Stereo processing by semiglobal matching and mutual information“, Pattern Analysis and Machine Intelligence, IEEE Transactions on, 30(2):328-341, 2008. Potenzielle Ausreißer in dieser Tiefenkarte, welche durch Fehl-Matches verursacht werden können, können aus der Tiefenkarte entfernt werden (Block 145). Weiterhin kann auf Basis der (korrigierten) Stereobilder ein Tracking 125 durchgeführt werden, welches auffällige Punkte (im Folgenden Keypoints oder Bildmerkmale genannt) räumlich (zwischen den Stereobildern) sowie zeitlich stabil verfolgt. Hierfür können vorzugsweise Techniken verwendet werden, die in Jianbo Shi et al., „Good features to track", Computer Vision and Pattern Recognition, 1994, Proceedings CVPR'94, 1994 IEEE Computer Society Conference on, pages 593-600, IEEE, 1994 und Jean-Yves Bouguet, „Pyramidal implementation of the affine lucas kanade feature tracker description of the algorithm", Intel Corporation, 5(1-10):4, 2001 beschrieben sind.
-
Diese Keypoints werden anschließend vorzugsweise zur Stereobild-basierten Rekonstruktion der Kameratrajektorie genutzt. Mit Hilfe eines statistischen Verfahrens 130 (vorzugsweise eines erweiterten Kalmanfilters, auch „Extended Kalmanfilter“) können die Keypoints aus den 2D-Aufnahmen der Stereokameras verarbeitet werden. Dabei wird vorzugsweise mittels statistischer Verfahren und Modellwissen eine Abschätzung der realen Kamerabewegung generiert. Diese Information kann dazu verwendet werden, verrauschte Daten (z. B. bedingt durch natürliche Aufnahmefehler und Matching-Ungenauigkeiten) zu reduzieren. Im Gegensatz zu der in Oscar G Grasa et al., „Visual slam for handheld monocular endoscope", IEEE Transactions on Medical Imaging, 1 (33):135-146, 2014 beschriebenen Technik wird in erfindungsgemäßen Ausgestaltungen auch die Verarbeitung von Stereobilddaten ermöglicht.
-
Für die monokularen Bilder kann ebenfalls ein Tracking 125 der Keypoints durchgeführt werden. Da hier allerdings am Anfang nicht einfach eine Tiefenkarte bereitsteht, wird zunächst eine initiale Schätzung 120 der 3D-Position der Punkte durchgeführt. Dies kann innerhalb der ersten Frames des Videos durch ein Bundle-Adjustment-Verfahren durchgeführt werden. Hier wird die Kameraposition und die Punktposition initial anhand der 2D-Bilder und eines bekannten Längenmaßes in der Szene bestimmt. Nach der initialen Berechnung während der ersten Frames kann analog zur Stereo-Variante ein statistisches Verfahren 130 (z.B. Extended Kalmanfilter) verwendet werden. Mittels der initalen Schätzung 120 der 3D-Positionen der Keypoints kann dieses Modell auch auf 2D-Bildern weiterarbeiten.
-
Die Tiefenkarte der monokularen Bilder kann anschließend vorzugsweise über aufeinanderfolgende Bilder bestimmt werden (Block 140). Bewegt sich die Kamera zwischen den Einzelbildern bzw. Frames, so kann eine virtuelle Stereokamera erzeugt werden. Da die derzeitige Position und die vorherige Position bekannt ist, kann hier wieder ein Tiefenbild berechnet werden. Vorzugsweise wird dabei jedoch nicht das direkt vorherige Bild zur Tiefenrekonstruktion verwendet, sondern ein Bild selektiert, in welchem die Kamera einen räumlichen Mindestabstand gegenüber dem jeweils zweiten Vergleichsbild aufweist. Anschließend kann aus diesen Bildern mit Hilfe der bekannten Positionen und einer Rektifizierung der virtuellen Stereokamera wieder eine Tiefenkarte bestimmt werden. Aufgrund der damit vorliegenden virtuellen Approximation stereoskopischer Bilddaten wird im weiteren Verlauf nicht explizit zwischen monokularen und stereoskopischen Bildern differenziert, sondern, solange nicht explizit anders beschrieben, stereoskopische Daten synonym für beide Ausprägungen verwendet.
-
Die Approximation der realen Kamerabewegung liefert eine Abschätzung für die Position und die Ausrichtung der Kamera, was auf jedes Einzelbild übertragen werden kann. Dadurch kann die rekonstruierte Tiefenkarte in ein Modell im globalen dreidimensionalen Koordinatensystem (im Folgenden Modell genannt) eingebettet werden (Registrierung 150).
-
In einer erfindungsgemäßen Ausgestaltung wird zudem vorzugsweise eine Z-Drift-Korrektur durchgeführt, die, über den zeitlichen Verlauf der Stereobilddaten betrachtet, bei der Rekonstruktion der Kamerabewegung eine leichte Verschiebung in der Tiefe (Z-Drift) kompensiert. Dabei wird die Tiefenrekonstruktion 140 nochmals an das bisher rekonstruierte Modell angepasst. Es wird vorzugsweise eine Transformation ermittelt, welche als Korrektur bei der Registrierung 150 der erzeugten Punktwolken einbezogen werden kann. Weiterhin kann das verwendete Modell des statistischen Verfahrens auf die nun korrigierte Kameraposition angepasst werden. Die wird weiter unten unter Bezugnahme auf 5, 6A und 6B näher erläutert werden.
-
In einer weiteren bevorzugten Ausgestaltung kann es die Erfindung zudem ermöglichen, Bilder von Stereokameras zu verarbeiten, die keine exakt synchronisierten Stereobilder liefern. Der durch asynchrone Stereoeinzelbilder entstehende Effekt ist vergleichbar zu einer virtuellen Verschiebung der Einzelkameras zueinander. Um zu vermeiden, dass dies im Kontext der Tiefenrekonstruktion 140 zu zusätzlichen Fehlern führt, wird in das Modell des statistischen Verfahrens 130 eine Korrektur 135 einbezogen, die eine Schätzung dieser virtuellen Kameraverschiebung beinhaltet. Vorzugsweise wird hierbei eine Abschätzung des Modellstatus anhand der Messdaten vorgenommen, wobei es sich als vorteilhaft erwiesen hat, die in Peter Hansen et al., „Online continuous stereo extrinsic parameter estimation", Computer Vision and Pattern Recognition (CVPR), 2012 IEEE Conference, pages 1059-1066, IEEE, 2012 vorgestellte Modifikation einzusetzen. Die Korrektur 135 basiert auf dem statistischen Verfahren 130 und kann direkt in die Tiefenrekonstruktion 140 in Form eines korrigierten Kameraabstandes einbezogen werden.
-
Aus den vorangegangenen Schritten resultiert nach einem Registrierungsschritt 150 eine Punktwolke, welche z. B. für die weitere Rekonstruktion 160 einer Oberflächengeometrie mit anschließenden Vermessungstätigkeiten genutzt werden kann. Weiterhin wird es so möglich, die Oberfläche mittels Texturemapping 165 unter Verwendung der aus den Stereobildern vorliegenden Farbwerte plausibel zu texturieren.
-
2 zeigt ein erfindungsgemäßes Verfahren zur Berechnung von Daten, die eine dreidimensionale Oberfläche repräsentieren, gemäß einer Ausgestaltung. Zunächst wird in Schritt 200 eine Serie von Bildern 100, 105 der Oberfläche empfangen, wobei die Bilder zeitlich aufeinanderfolgend aufgenommen wurden und wobei jeweils zeitlich benachbarte Bilder einen überlappenden Oberflächenbereich abbilden. Wie bereits beschrieben, können die Bilder Einzelbilder oder Videobilder sowie monokular oder stereoskopisch sein. In Schritt 210 werden Bildmerkmale (Keypoints) in wenigstens einem Teil der empfangenen Bilder erkannt und von Bild zu Bild verfolgt, d.h es wird das Keypoint-Tracking 125 durchgeführt. Zudem wird dann in Schritt 220, vorzugsweise unter Anwendung statistischer Verfahren 130 und unter Verwendung der verfolgten Bildmerkmale, für jedes Bild des wenigstens einen Teils der empfangenen Bilder eine Kameraposition und Kameraausrichtung in einem dreidimensionalen globalen Koordinatensystem berechnet. In Schritt 230 werden dann in der Tiefenrekonstruktion 140 unter Verwendung der berechneten Kamerapositionen und Kameraausrichtungen Bildpunkte aus Bildern des wenigstens einen Teils der empfangenen Bilder in Koordinaten des dreidimensionalen globalen Koordinatensystems transformiert. Schliesslich erfolgt in Schritt 240 die Registrierung 150 der Bildpunkte. Es ist anzumerken, dass das Verfahren nach 2 um weitere Schritte ergänzt werden kann, die den weiteren Blöcken aus 1 entsprechen. Im Folgenden wird das in Schritt 210 durchgeführte Tracking 125 in einer bevorzugten Ausgestaltung der Erfindung näher beschrieben.
-
Um eine spätere Bestimmung der Kameratrajektorie zuzulassen, werden vorteilhafterweise charakteristische Punkte (Keypoints) in den Stereobildern detektiert. Diese Keypoints werden vorzugsweise so gewählt, dass sie möglichst stabil über aufeinanderfolgende Bilder detektierbar sind.
-
Vorzugsweise wird dafür ein robuster und schnell zu berechnender Merkmalsdetektor, wie z. B. der Harris-Corner-Detektor verwendet. Zunächst werden Keypoints initialisiert und nach mehreren Kriterien gefiltert, um so eine möglichst gleichmäßig über das Bild verteilte Menge charakteristischer Punkte zu erhalten. Bei Verwendung des Harris-Corner-Detektors werden die initial detektierten Keypoint-Kandidaten anhand der Länge des Harris-Eigenvektors gefiltert. Weiterhin werden vorzugsweise der Mindestabstand zu anderen Keypoints sowie die dem Keypoint zugeordnete Minimal-Farbvarianz berücksichtigt. Für das folgende Tracking wird schließlich vorzugsweise eine kleine Submenge von Keypoints (z. B. 20 Stück) weiterverwendet.
-
Die Keypoints werden bevorzugterweise so ausgewählt, dass sie an besonders markanten Bildpunkten lokalisiert sind. Ebenso vorzugsweise weist die direkte Keypoint-Umgebung einen hohen Informationsgehalt auf. Diese Umgebung kann auch im weiteren Verlauf analysiert und über mehrere Aufnahmen hinweg verfolgt werden. Der Informationsgehalt um einen Keypoint wird beispielsweise über die Farbvarianz berechnet. Sie gibt an, wie stark die Streuung der Farbwerte in einem Gebiet ist. Bei der Schätzung der interessanten Bereiche mittels der Farbvarianz wird vorzugsweise ein Histogramm pro Farbkanal über ein Gebiet um einen Keypoint berechnet. Für jedes Histogramm kann anschließend die Varianz bestimmt werden. Das Ergebnis für die Schätzung der Relevanz eines Bereiches ist dann vorzugsweise das Maximum der Varianzen der Farbkanäle (siehe Formel (1)). Regionen mit der größten Farbvarianz in ihrem lokalen Histogramm können beispielsweise für die Initialisierung der Keypoints und des Tracking-Algorithmus eingesetzt werden.
-
Hierin bezeichnet c einen Farbwert (r: rot, g: grün, b: blau). Hc ist das Histogramm über den Farbwert c in einer Umgebung um einen Pixel. Hc;i ist der i-te Eintrag in dem Histogramm Hc. Vc(Hc) bezeichnet die Farbvarianz. V(Hr,g,b) ist die Varianz eines Pixels, ermittelt aus den einzelnen Varianzen (Vr, Vg, Vb) der Farbhistogramme Hr, Hg und Hb.
-
Bei der Initialisierung von Keypoints wird in einer bevorzugten Ausgestaltung der Erfindung darauf geachtet, dass die Keypoints einen gewissen Mindestabstand zueinander aufweisen, so dass sie sich über das Bild hinweg verteilen. Die gleichmäßige Verteilung der Keypoints ist hilfreich, um eine sich später anschließende Trajektorienschätzungen zu stabilisieren. Treten bei der Initialisierung lokale Häufungen von Keypoints auf, so werden davon vorzugsweise die Keypoints mit der stärksten Farbvarianz ausgewählt.
-
Nach initialer Detektion der Keypoints werden diese über mehrere Bilder hinweg verfolgt, was z. B. mittels eines Lukas-Kanade-Trackers erfolgen kann. Vorzugsweise wird ein Lukas-Kanade-Tracker eingesetzt, wie er in Jean-Yves Bouguet, „Pyramidal implementation of the affine lucas kanade feature tracker description of the algorithm“, Intel Corporation, 5(1-10):4, 2001 beschrieben ist.
-
Der Lukas-Kanade-Tracker der erfindungsgemäßen Ausgestaltung berechnet den optischen Fluss für eine Region um den Keypoint. Mit Hilfe einer pyramidalen Skala wird der optische Fluss vorzugsweise erst auf gröber aufgelösten Bereichen berechnet und dann für die zu trackenden Punkte präzisiert. Innerhalb des Trackers werden die partiellen Ableitungen der Helligkeiten der Pixel [1..n] der Region in x-, y- und Zeitrichtung (I
x, I
y, I
t) berechnet. Die Richtung des optischen Flusses wird durch V
x und V
y bezeichnet. Dies wird für eine Region von Pixeln durchgeführt, wobei angenommen wird, dass der optische Fluss in dieser Region konstant ist. Der Fluss kann durch ein überbestimmtes Gleichungssystem (
3) berechnet werden, welches als Least-Squares-Problem gelöst werden kann. Das hat zur Folge, dass die Bewegung des optischen Flusses durch die Umgebung geglättet und das Rauschen minimiert wird. Dadurch eignet es sich besonders für das Tracking der Keypoints.
-
Jeder der verfolgten Keypoints kann in einer Liste akkumuliert werden und bekommt vorzugsweise eine eindeutige Identifikationsnummer. Dadurch ist die Identifikation über mehrere Bilder hinweg möglich. Für neu gefundene Keypoints werden vorzugsweise neue einzigartige Identifikationsnummern vergeben. Die Liste mit allen verfolgten Keypoints wird anschließend an den Rekonstruktionsalgorithmus für die Trajektorie der Kamera übergeben.
-
Wie oben bereits ausgeführt, wird in Schritt 220, vorzugsweise unter Anwendung statistischer Verfahren 130 und unter Verwendung der in Schritt 210 erkannten und verfolgten Bildmerkmale, für jedes Bild des wenigstens einen Teils der empfangenen Bilder eine Kameraposition und Kameraausrichtung in einem dreidimensionalen globalen Koordinatensystem berechnet. Hierzu wird vorzugsweise ein erweiterter Kalmanfilter eingesetzt. Es kann zusätzlich auch eine dynamische Asynchronitätskorrektur 135 erfolgen. Beides wird nachfolgend näher beschrieben.
-
Anhand der in den Stereobildern verfolgten Keypoints bestimmt der Kalmanfilter die Position und Ausrichtung der (ggf. virtuellen) Stereokamera im Raum. Dabei wird im Modell eine Projektion der 3D-Position der Keypoints auf die Kamerabildoberfläche angenommen. Mit Hilfe dieses Modells können Fehler beim Matching gedämpft werden.
-
Wird tatsächlich eine Stereokamera eingesetzt, so entsteht durch Bewegung der Stereokamera und Asynchronität der Einzelbildaufnahmen eine virtuelle Verschiebung zwischen den zusammengehörigen Einzelbildaufnahmen. Je nach Bewegungsrichtung der Stereokamera kann diese Differenz größer oder kleiner als die initiale Stereokalibrierung Ts sein.
-
In 3 ist zu sehen, dass bei synchronen Kameras keine Änderung der Extrinsik geschieht. Die Pfeile zeigen die Bewegungsrichtung an. In 4 sind asynchrone Kameras zu sehen, die linke Kamera nimmt vor der rechten ein Bild auf. Bewegt sich das Setup nach links (linker Teil der Figuren), dann schiebt sich das Kamerasetup zusammen. Bewegt es sich nach rechts (rechter Teil der Figuren), dann entfernen sich die Kameras voneinander.
-
Zur Kompensation dieses Effektes wird in einer Ausgestaltung der Erfindung eine ständige Rekalibrierung der Extrinsik Ts des Stereosetups durchgeführt. Während horizontaler Stereokamera-Bewegungen wird durch das Kalmanfiltermodell geschätzt, wie die linke und rechte Kamera des Stereokamera-Setups virtuell verschoben werden müssten, um die durch die Asynchronität während der Bewegung hervorgerufene Bildverschiebung zu kompensieren. Auf diese Weise ist eine dynamische Verkürzung oder Verlängerung der virtuellen Distanz zwischen dem linken und rechten Bild und damit auch die Kompensation der Abweichung von der initialen Stereokalibrierung, welche dem System im Ruhezustand entspricht, möglich.
-
Werden monokulare Bilder verwendet, so kann die Baselinekorrektur 135 ausgelassen werden, da die Position des virtuellen Stereosetups bereits direkt durch den Kalmanfilter bestimmt wird. Der Kalmanfilter berechnet jedoch weiterhin die 3D-Positionen der Punkte sowie die Ausrichtung und Position der Kamera anhand des jeweiligen 2D-Bildes anstatt der zwei Stereobilder.
-
Der Kalmanfilter der Ausgestaltung kann einen Zustandsvektor x
k verwenden, wie er in Gleichung (4) gezeigt ist. Der Zustandsvektor besteht zum Einen aus Daten wie der Kameraposition und -bewegung, als auch aus Daten über die Keypoints in der Umgebung. p
k ist die Position der Kamera beim Schritt k. v
k dementsprechend die Geschwindigkeit. Zudem wird noch die Orientierung Φ
k und deren Veränderung ω
k über Winkel und Winkelgeschwindigkeiten gespeichert. Im restlichen Zustandsvektor werden alle Positionen y
k,i der derzeit sichtbaren Keypoints gespeichert.
-
Zu jedem Zeitpunkt k kann somit die Position der Keypoints, als auch die Position und Ausrichtung der Kamera abgelesen werden. Damit der Kalmanfilter die Verschiebung im Rahmen der Asynchronitätskorrektur berechnen kann, wird er noch um eine Variable bk erweitert. Bei Verwendung monokularer Bilder wird bk vorzugsweise nicht verwendet, kann aber dennoch im Zustandsvektor vorhanden sein.
-
Wenn die Bewegung der Kamera angenommen wird, werden vorzugsweise die Geschwindigkeiten (v
k und für die Rotation ω
k aufintegriert. Die Variation der Geschwindigkeiten wird in einer Ausgestaltung der Erfindung durch normalverteiltes Rauschen w
v und w
ω angeglichen. Dadurch ergibt sich direkt die Position p
k und die Ausrichtung Φ
k der Kamera. Unter der Annahme, dass die Keypoints statisch sind, werden die existierenden Keypoint-Positionen vorzugsweise direkt übernommen. Die Keypoints werden hier nun mit ihren globalen Koordinaten weiterverwendet. Der Nullpunkt liegt vorzugsweise dort, wo die Kamera gestartet ist. Auch die Baselinekorrektur
135 bekommt vorzugsweise noch ein Rauschverhalten über w
b hinzugefügt, so dass sie über die Zeit variieren kann. Im Fall monokularer Bilder findet b
k keine Verwendung, wodurch b
k+ w
b dann vollständig entfallen kann.
-
Das Messmodell gemäß einer Ausgestaltung der Erfindung beinhaltet vorzugsweise die Projektion der Keypoints y
k,i, so dass die durch den Zustandsvektor repräsentierten 3D-Punkte mit den 2D-Messdaten verglichen werden können. Zudem befinden sich die Keypoints nun im globalen Koordinatensystem, weswegen die Keypoints zuerst in das Kamerakoordinatensystem zurücktransformiert werden und danach erst in die Stereokameraebenen zurückprojiziert werden. Dazu werden die Keypoints durch die derzeitige Position der Kamera p und die derzeitige Rotation R
Φ und im Falle der rechten Kamera durch die Extrinsik (e
t und E
rot) in das Kamerakoordinatensystem zurücktransformiert. Anschließend erfolgt die Projektion in die linke und rechte Kamera durch die Intrinsiken (I
Cl und I
Cr). Da nicht normierte homogene Koordinaten aus der Projektion herauskommen, werden diese vorzugsweise wieder normiert durch die Funktion hom(a). Die rechte Kamera wird hier durch die Baselinekorrektur b
k verschoben, so dass sie der Bewegung und der Asynchronität des Kamerasetups entgegenwirkt. Anstelle der rechten Kamera kann alternativ auch die linke Kamera verwendet werden, oder beide Kameras in anteiliger Weise. Da eine Baselinekorrektur im Fall monokularer Bilder nicht erforderlich ist, findet b
k dabei keine Verwendung und wird beispielsweise auf den Wert
0 gesetzt.
-
Hierin ist h(xk|k-1) das Messmodell des Kalmanfilters. Diese Funktion bildet die Modellwerte (3D-Positionen der Keypoints) im Kalmanfilter auf die Bildpunkte in der Stereokamera ab. yk,i ist dabei die 3D-Position des i-ten Keypoints zum Zeitschritt k. p ist die Position der Kamera. RΦ ist die Rotation der Stereokamera. ICl und ICr sind die Intrinsiken der linken und rechten Kamera. Erot ist die Rotation zwischen den beiden Stereokameras und et ist die Translation der Stereokameras zueinander. bk bezeichnet die Baselinekorrektur, die durch den Kalmanfilter durchgeführt wird. hom() ist eine Hilfsfunktion, die den Vektor a homogenisiert. Der Vektor a wird durch Homogenisierung, also durch Teilen seiner letzten Komponente az, wieder in einen normalen Vektor überführt.
-
Es war oben bereits erwähnt worden, dass für die einzelnen Bilder im Zuge der Rekonstruktion eine Kameraposition und Kameraausrichtung in einem dreidimensionalen globalen Koordinatensystem berechnet werden. Diese Berechnung stellt eine Form der räumlichen Verfolgung (des Trackings) der die Bilddaten aufnehmenden Kamera da. In einer bevorzugten Ausgestaltung der Erfindung sind zusätzlich zu den für die Oberflächenrekonstruktion genutzten Bildern relative oder absolute Aufnahmezeitinformationen bekannt. In diesem Fall wird der relative bzw. absolute zeitliche Bewegungsverlauf der die Bilddaten aufnehmenden Kamera durch Sammlung und zeitliche Sortierung aller berechneten Kamerapositionen und Kameraausrichtungen und Assoziation mit den korrespondierenden Aufnahmezeitinformationen der jeweils zugrundeliegenden Bilder rekonstruiert. Die Rekonstruktion kann dabei für zum Zeitpunkt der Bildaufnahme in Echtzeit empfangene Bilddaten oder auch auf Basis archivierter oder anderweitig gespeicherter Bilddaten erfolgen und stellt eine Form des räumlichen Verfolgungsverlaufes (des Tracking-Verlaufes) der die Bilddaten aufnehmenden Kamera da.
-
Wird nun wieder Bezug genommen auf 1 und die zugehörige Beschreibung weiter oben, so wird im Folgenden die bereits erwähnte Z-Drift-Korrektur 155 näher erläutert. Hierzu wird insbesondere auf 5 verwiesen, die ein entsprechendes Verfahren gemäß einer Ausgestaltung der Erfindung zeigt, sowie auf die 6A und 6B, die die Z-Drift-Korrektur anhand eines vereinfachten Beispiels verdeutlichen.
-
Durch die Abschätzung 220 der Kameratrajektorie mittels des Kalmanfilters 130 erhält man für jedes Bild (z.B. für jeden Frame eines Videos) die Kameraposition und -orientierung. Dementsprechend kann die rekonstruierte Punktwolke direkt an ihre globalen Koordinaten transformiert werden, so dass ein Gesamtmodell aus den Einzelrekonstruktionen entsteht.
-
Die erfindungsgemäße Z-Drift-Korrektur geht von der Erkenntnis aus, dass Positionsabschätzungen des Kalmanfilters unterschiedlich starke Fehler aufweisen können. Entlang der Projektionsebene der Kamera (rechts, links, oben, unten) kann die Abschätzung beispielsweise pixelgenau sein, wohingegen in Blockrichtung (vorne, hinten) die Schätzung auf der Genauigkeit der Keypointmatches beruhen kann. Das kann dazu führen, dass die Abschätzung der Tiefenposition relativ zur Kamera mit größerem Fehler behaftet ist. Registriert man die Einzelbilder bzw. Frames Schritt für Schritt aufeinander, so kann es durch diese Unsicherheit in der Tiefenabschätzung trotzdem dazu kommen, dass die Registrierung entartet und die Punktwolken nicht mehr übereinander liegen.
-
Bevor die aus einem Einzelbild bzw. Frame resultierende Punktwolke 610 in das bis zum jeweiligen Zeitpunkt rekonstruierte Weltmodell eingebettet wird, wird vorzugsweise eine globale Nachkorrektur durchgeführt. Dazu wird die zusätzliche, zu registrierende Punktwolke 610 in die vom Kalmanfilter berechnete Position und Ausrichtung transformiert. Anschließend wird für jeden Punkt aus der zu registrierenden Punktwolke 610 aus der Kamera heraus ein Raycasting durchgeführt (Schritt 500). Die Strahlen gehen dabei durch die Punktwolke 600 des bisher registrierten Modells (6A). Nun werden alle Punkte, die auf oder um den Strahl herum liegen, aufgesammelt (Schritt 510). Aus dem Durchschnitt dieser gesammelten Punkte (Schritt 520) und dem 3D-Punkt der zu registrierenden Punktwolke 610 entsteht ein Punktepaar, welches aufeinander zu registrieren ist. Danach wird in Schritt 530 eine rigide Transformation gesucht, die die Punktwolken aufeinander abbildet. Die Transformation wird anschließend in Schritt 540 auf die zu registrierende Punktwolke 610 angewendet und letztere dann in das Weltmodell eingebettet. Außerdem kann die Transformation in Schritt 550 als Korrektur auf das Modell des Kalmanfilters angewendet werden. Diese Korrektur betrifft vorzugsweise die Position der Kamera und der Keypoints sowie die Ausrichtung der Kamera. All diese Werte werden vorzugsweise im Zustandsvektor des Kalmanfilters aktualisiert.
-
6A zeigt die bereits registrierte Punktwolke 600 und die zu registrierende Punktwolke 610 vor bzw. während der Durchführung der Z-Drift-Korrektur. 6B zeigt hingegen die Punktwolken nach Berichtigung durch die Z-Drift-Korrektur.
-
Wird schliesslich noch auf 7 Bezug genommen, so wird dort ein beispielhaftes Computersystem gezeigt, das in Verbindung mit jedem der oben beschriebenen oder beanspruchten Ausgestaltungen der Erfindung verwendet werden kann. Es ist eine Bilddatenempfangseinheit 700 vorgesehen, die die monokularen und/oder stereoskopischen Bilder empfängt. Die empfangenen Bilder werden dann an eine Datenverarbeitungseinheit 705 weitergeleitet, die die oben beschriebenen Berechnungen durchführt. Die empfangenen Bilddaten können zudem in einem Speicher 760 gespeichert werden. Der Speicher kann Teil des Computersystems sein, es kann aber auch ein externer Speicher Anwendung finden. Der (interne und/oder externe) Speicher kann zudem neben den gespeicherten Bilddaten 765 auch registrierte Punktwolken 770 speichern.
-
Die Datenverarbeitungseinheit 705 enthält eine Reihe von Untereinheiten 710-755, die einzelne der oben beschriebenen Aufgaben erfüllen, beispielsweise eine Entzerrung 115, eine 3D-Schätzung 120, ein Keypoint-Tracking 125, einen Kalmanfilter 130, eine Baseline-Korrektur 135, eine Tiefenrekonstruktion 140, eine Outlier-Entfernung 145, eine Z-Drift-Korrektur 155, ein Meshing 160 und ein Texturing 165. Es müssen nicht in allen Ausgestaltungen alle dieser Untereinheiten vorhanden sein, wohingegen aber auch weitere Untereinheiten vorhanden sein können. Zudem können in anderen Ausgestaltungen die Untereinheiten auch in verschiedenen Kombinationen miteinander kombiniert vorliegen. Beispielsweise kann es Untereinheiten geben, die mehrere der durchzuführenden Funktionen durchführen. Jede der Untereinheiten kann als Softwaremodul ausgestaltet sein, die Untereinheiten können aber zumindest teilweise auch durch dedizierte Hardware realisiert sein.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- Zhengyou Zhang, „A flexible new technique for camera calibration“, Pattern Analysis and Machine Intelligence, IEEE Transactions on, 22(11):1330-1334, 2000 [0031]
- Richard I Hartley, „Theory and practice of projective rectification“, International Journal of Computer Vision, 35(2):115-127, 1999 [0032]
- Jianbo Shi et al., „Good features to track“, Computer Vision and Pattern Recognition, 1994, Proceedings CVPR'94, 1994 IEEE Computer Society Conference on, pages 593-600, IEEE, 1994 [0033]
- Jean-Yves Bouguet, „Pyramidal implementation of the affine lucas kanade feature tracker description of the algorithm“, Intel Corporation, 5(1-10):4, 2001 [0033]
- Oscar G Grasa et al., „Visual slam for handheld monocular endoscope“, IEEE Transactions on Medical Imaging, 1 (33):135-146, 2014 [0034]
- Peter Hansen et al., „Online continuous stereo extrinsic parameter estimation“, Computer Vision and Pattern Recognition (CVPR), 2012 IEEE Conference, pages 1059-1066, IEEE, 2012 [0039]