DE102016123149A1 - Bilddatenbasierte rekonstruktion dreidimensionaler oberflächen - Google Patents

Bilddatenbasierte rekonstruktion dreidimensionaler oberflächen Download PDF

Info

Publication number
DE102016123149A1
DE102016123149A1 DE102016123149.5A DE102016123149A DE102016123149A1 DE 102016123149 A1 DE102016123149 A1 DE 102016123149A1 DE 102016123149 A DE102016123149 A DE 102016123149A DE 102016123149 A1 DE102016123149 A1 DE 102016123149A1
Authority
DE
Germany
Prior art keywords
images
camera
image
image features
calculating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102016123149.5A
Other languages
English (en)
Inventor
Lars Dornheim
Sebastian Heerwald
Marc Andreas Mörig
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dornheim Medical Images GmbH
Original Assignee
Dornheim Medical Images GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dornheim Medical Images GmbH filed Critical Dornheim Medical Images GmbH
Priority to DE102016123149.5A priority Critical patent/DE102016123149A1/de
Publication of DE102016123149A1 publication Critical patent/DE102016123149A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02CGAS-TURBINE PLANTS; AIR INTAKES FOR JET-PROPULSION PLANTS; CONTROLLING FUEL SUPPLY IN AIR-BREATHING JET-PROPULSION PLANTS
    • F02C6/00Plural gas-turbine plants; Combinations of gas-turbine plants with other apparatus; Adaptations of gas-turbine plants for special use
    • F02C6/04Gas-turbine plants providing heated or pressurised working fluid for other apparatus, e.g. without mechanical power output
    • F02C6/10Gas-turbine plants providing heated or pressurised working fluid for other apparatus, e.g. without mechanical power output supplying working fluid to a user, e.g. a chemical process, which returns working fluid to a turbine of the plant
    • F02C6/12Turbochargers, i.e. plants for augmenting mechanical power output of internal-combustion piston engines by increase of charge pressure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F01MACHINES OR ENGINES IN GENERAL; ENGINE PLANTS IN GENERAL; STEAM ENGINES
    • F01DNON-POSITIVE DISPLACEMENT MACHINES OR ENGINES, e.g. STEAM TURBINES
    • F01D11/00Preventing or minimising internal leakage of working-fluid, e.g. between stages
    • F01D11/005Sealing means between non relatively rotating elements
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F01MACHINES OR ENGINES IN GENERAL; ENGINE PLANTS IN GENERAL; STEAM ENGINES
    • F01DNON-POSITIVE DISPLACEMENT MACHINES OR ENGINES, e.g. STEAM TURBINES
    • F01D17/00Regulating or controlling by varying flow
    • F01D17/10Final actuators
    • F01D17/12Final actuators arranged in stator parts
    • F01D17/14Final actuators arranged in stator parts varying effective cross-sectional area of nozzles or guide conduits
    • F01D17/16Final actuators arranged in stator parts varying effective cross-sectional area of nozzles or guide conduits by means of nozzle vanes
    • F01D17/165Final actuators arranged in stator parts varying effective cross-sectional area of nozzles or guide conduits by means of nozzle vanes for radial flow, i.e. the vanes turning around axes which are essentially parallel to the rotor centre line
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F01MACHINES OR ENGINES IN GENERAL; ENGINE PLANTS IN GENERAL; STEAM ENGINES
    • F01DNON-POSITIVE DISPLACEMENT MACHINES OR ENGINES, e.g. STEAM TURBINES
    • F01D25/00Component parts, details, or accessories, not provided for in, or of interest apart from, other groups
    • F01D25/24Casings; Casing parts, e.g. diaphragms, casing fastenings
    • F01D25/246Fastening of diaphragms or stator-rings
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02BINTERNAL-COMBUSTION PISTON ENGINES; COMBUSTION ENGINES IN GENERAL
    • F02B37/00Engines characterised by provision of pumps driven at least for part of the time by exhaust
    • F02B37/12Control of the pumps
    • F02B37/24Control of the pumps by using pumps or turbines with adjustable guide vanes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Chemical & Material Sciences (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • General Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

Es werden ein computer-implementiertes Verfahren, Speichermedium und ein zugehöriges Computersystem bereitgestellt zur Berechnung von Daten, die eine dreidimensionale Oberfläche repräsentieren, unter Verwendung von Bildern der Oberfläche. Eine Serie von Bildern der Oberfläche wird empfangen, wobei die Bilder zeitlich aufeinanderfolgend aufgenommen wurden und wobei jeweils zeitlich benachbarte Bilder einen überlappenden Oberflächenbereich abbilden. Bildmerkmale werden in wenigstens einem Teil der empfangenen Bilder erkannt und von Bild zu Bild verfolgt. Dann wird 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. Schliesslich werden unter Verwendung der berechneten Kamerapositionen und Kameraausrichtungen Bildpunkte aus Bildern des wenigstens einen Teils der empfangenen Bilder in Koordinaten des dreidimensionalen globalen Koordinatensystems transformiert. Die Rekonstruktion eines Bewegungsverlaufes der Kamera ist ebenfalls möglich.

Description

  • 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. V c ( H c ) = ( 1 N i = 0 255 H c ; i 2 ) ( 1 N i = 0 255 H c ; i ) 2
    Figure DE102016123149A1_0001
    V ( H r , g , b ) = m a x ( V r ( H r ) ,   V g ( H g ) , V b ( H b ) )
    Figure DE102016123149A1_0002
  • 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 (Ix, Iy, It) berechnet. Die Richtung des optischen Flusses wird durch Vx und Vy 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. [ I x 1 I y 1 I x 2 I y 2 I x n I y n ] [ V x V y ] = [ I t 1 I t 2 I t n ]
    Figure DE102016123149A1_0003
  • 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 xk 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. pk ist die Position der Kamera beim Schritt k. vk 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 yk,i der derzeit sichtbaren Keypoints gespeichert. x k = ( p k ϕ k v k ω k b k y k ,1 y k , n )
    Figure DE102016123149A1_0004
  • 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 (vk und für die Rotation ωk aufintegriert. Die Variation der Geschwindigkeiten wird in einer Ausgestaltung der Erfindung durch normalverteiltes Rauschen wv und wω angeglichen. Dadurch ergibt sich direkt die Position pk 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 wb hinzugefügt, so dass sie über die Zeit variieren kann. Im Fall monokularer Bilder findet bk keine Verwendung, wodurch bk+ wb dann vollständig entfallen kann. x k | k 1 = f ( x k 1 ) = ( p k + v k ϕ k + ω k v k + w k ω k + w ω b k + w b y k ,1 y k , n )
    Figure DE102016123149A1_0005
  • Das Messmodell gemäß einer Ausgestaltung der Erfindung beinhaltet vorzugsweise die Projektion der Keypoints yk,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 (et und Erot) in das Kamerakoordinatensystem zurücktransformiert. Anschließend erfolgt die Projektion in die linke und rechte Kamera durch die Intrinsiken (ICl und ICr). 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 bk 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 bk dabei keine Verwendung und wird beispielsweise auf den Wert 0 gesetzt. h ( x k | k 1 ) = h ( ( p k ϕ k v k ω k b k y k ,1 y k , n ) ) = ( h o m ( I C l R ϕ 1 ( y k ,1 p ) ) h o m ( I C l R ϕ 1 ( y k , n p ) ) h o m ( I C r R ϕ 1 ( E r o t 1 ( y k ,1 e t b k ) p ) ) h o m ( I C r R ϕ 1 ( E r o t 1 ( y k , n e t b k ) p ) ) )
    Figure DE102016123149A1_0006
    h o m ( a ) = ( a x a z a y a z )
    Figure DE102016123149A1_0007
  • 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]

Claims (20)

  1. Computer-implementiertes Verfahren zur Berechnung von Daten, die eine dreidimensionale Oberfläche repräsentieren, unter Verwendung von Bildern der Oberfläche, wobei das Verfahren umfasst: Empfangen (200) einer Serie von Bildern (100, 105) der Oberfläche, wobei die Bilder zeitlich aufeinanderfolgend aufgenommen wurden und wobei jeweils zeitlich benachbarte Bilder einen überlappenden Oberflächenbereich abbilden; Erkennen (125, 210) von Bildmerkmalen in wenigstens einem Teil der empfangenen Bilder und Verfolgen (125, 210) der erkannten Bildmerkmale von Bild zu Bild; Berechnen (130, 220) 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 (130, 140, 230) von Bildpunkten aus Bildern des wenigstens einen Teils der empfangenen Bilder in Koordinaten des dreidimensionalen globalen Koordinatensystems unter Verwendung der berechneten Kamerapositionen und Kameraausrichtungen.
  2. Verfahren nach Anspruch 1, wobei die Serie von Bildern der Oberfläche zum Zeitpunkt der Bildaufnahme in Echtzeit empfangen werden.
  3. Verfahren nach Anspruch 1, wobei der Schritt des Empfangens der Serie von Bildern der Oberfläche das Auslesen archivierter oder anderweitig gespeicherter Bilddaten umfasst.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei die Bilder der Serie monokulare Bilder sind und das Verfahren ferner das Berechnen (140) einer Tiefenkarte mittels einer Bundle-Adjustment-Technik umfasst.
  5. Verfahren nach einem der Ansprüche 1 bis 3, wobei die Bilder der Serie stereoskopische Bilder sind und das Verfahren ferner das Berechnen (140) einer Tiefenkarte mittels einer Blockmatching-Technik umfasst.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei die empfangenen Bilder vor der Erkennung von Bildmerkmalen vorverarbeitet werden, und wobei die Vorverarbeitung eine Kalibrierung (110) umfasst.
  7. Verfahren nach einem der Ansprüche 1 bis 6, wobei die Bilder der Serie stereoskopische Bilder sind und das Berechnen der Kameraposition und Kameraausrichtung ferner eine dynamische Verkürzung oder Verlängerung (135) der virtuellen Distanz zwischen dem linken und dem rechten Bild umfasst, um eine Asynchronität der Einzelbildaufnahmen zu kompensieren.
  8. Verfahren nach einem der Ansprüche 1 bis 7, wobei das Berechnen der Kameraposition und Kameraausrichtung die Anwendung eines Kalmanfilters umfasst.
  9. Verfahren nach Anspruch 7 und 8, wobei die Bilder der Serie stereoskopische Bilder sind und der Kalmanfilter einen Zustandsvektor verwendet, der zur Asynchronitätskorrektur eine zusätzliche Variable enthält, mit deren Hilfe die Position des linken oder rechten Bildes verschoben wird.
  10. Verfahren nach Anspruch 9, wobei die zusätzliche Variable des Zustandsvektors eine additive Rauschkomponente besitzt.
  11. Verfahren nach einem der Ansprüche 8 bis 10, wobei der Kalmanfilter einen Zustandsvektor mit einer Geschwindigkeits- und Rotationsgeschwindigkeitskomponente verwendet, die additive Rauschkomponenten besitzen.
  12. Verfahren nach einem der Ansprüche 1 bis 11, wobei das Berechnen der Kameraposition und Kameraausrichtung ein Aufintegrieren von Variablen umfasst, die eine Kamerageschwindigkeit und Kamerarotationsgeschwindigkeit angeben.
  13. Verfahren nach einem der Ansprüche 1 bis 12, wobei das Verfahren ferner das Durchführen einer Z-Drift-Korrektur (155) zu transformierender Bildpunkte umfasst.
  14. Verfahren nach Anspruch 13, wobei das Durchführen der Z-Drift-Korrektur umfasst: Durchführen (500) eines Raycastings mit Strahlen, die von neu zu transformierenden Bildpunkten ausgehend die Punktwolke zuvor transformierter Bildpunkte durchdringen; Aufsammeln (510) von auf den Strahlen oder in deren Nähe gelegenen Bildpunkten; Bilden (520) eines Durchschnitts der je Strahl gesammelten Bildpunkte; Bilden (530) einer Transformation unter Verwendung der gebildeten Durchschnitte und der globalen Koordinaten der Punktwolke; und Anwenden (540) der gebildeten Transformation auf die neu zu transformierenden Bildpunkte.
  15. Verfahren nach Anspruch 14, wobei das Berechnen der Kameraposition und Kameraausrichtung die Anwendung eines Kalmanfilters umfasst, der einen Zustandsvektor mit mehreren Variablen verwendet, und wobei die gebildete Transformation ferner angewendet wird, um einen oder mehrere der Variablen des Zustandsvektors zu korrigieren (550).
  16. Verfahren nach einem der Ansprüche 1 bis 15, wobei im Schritt des Erkennens von Bildmerkmalen solche Bildmerkmale erkannt werden, die zueinander einen vordefinierten Mindestabstand aufweisen.
  17. Verfahren nach einem der Ansprüche 1 bis 16, wobei den Bildern der Serie relative oder absolute Aufnahmezeitinformationen zugeordnet sind und der Schritt des Berechnens der Kamerapositionen und Kameraausrichtungen in dem dreidimensionalen globalen Koordinatensystem diese Aufnahmezeitinformationen verwendet, um einen Kamerabewegungsverlauf zu berechnen.
  18. Verfahren nach einem der Ansprüche 1 bis 17, wobei das Erkennen von Bildmerkmalen die Anwendung eines Harris-Corner-Detektors umfasst und/oder wobei das Verfolgen der erkannten Bildmerkmale die Anwendung eines Lukas-Kanade-Trackers umfasst.
  19. Computer-lesbares Speichermedium, 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 zur Berechnung von Daten, die eine dreidimensionale Oberfläche repräsentieren, unter Verwendung von Bildern der Oberfläche auszuführen, welches umfasst: 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; 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.
  20. Computersystem zur Berechnung von Daten, die eine dreidimensionale Oberfläche repräsentieren, unter Verwendung von Bildern der Oberfläche, wobei das Computersystem umfasst: eine Bilddatenempfangseinheit (700) 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; und eine Datenverarbeitungseinheit (705) 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.
DE102016123149.5A 2016-11-30 2016-11-30 Bilddatenbasierte rekonstruktion dreidimensionaler oberflächen Withdrawn DE102016123149A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102016123149.5A DE102016123149A1 (de) 2016-11-30 2016-11-30 Bilddatenbasierte rekonstruktion dreidimensionaler oberflächen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016123149.5A DE102016123149A1 (de) 2016-11-30 2016-11-30 Bilddatenbasierte rekonstruktion dreidimensionaler oberflächen

Publications (1)

Publication Number Publication Date
DE102016123149A1 true DE102016123149A1 (de) 2018-05-30

Family

ID=62117336

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016123149.5A Withdrawn DE102016123149A1 (de) 2016-11-30 2016-11-30 Bilddatenbasierte rekonstruktion dreidimensionaler oberflächen

Country Status (1)

Country Link
DE (1) DE102016123149A1 (de)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110580703A (zh) * 2019-09-10 2019-12-17 广东电网有限责任公司 一种配电线路的检测方法、装置、设备及存储介质
CN112489134A (zh) * 2020-11-26 2021-03-12 南方科技大学 面向运动估计的跨帧超高速相机设计方法及运动估计方法
CN114274139A (zh) * 2020-09-27 2022-04-05 西门子股份公司 自动喷涂方法、装置、***和存储介质
US20220245843A1 (en) * 2020-09-15 2022-08-04 Toyota Research Institute, Inc. Systems and methods for generic visual odometry using learned features via neural camera models
US11494927B2 (en) 2020-09-15 2022-11-08 Toyota Research Institute, Inc. Systems and methods for self-supervised depth estimation
US11615544B2 (en) 2020-09-15 2023-03-28 Toyota Research Institute, Inc. Systems and methods for end-to-end map building from a video sequence using neural camera models

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
DEGUCHI, K.; et al.: 3-D Shape Reconstruction from Endoscope Image Sequences by The Factorization Method. IEICE TRANSACTIONS on Information and Systems, Vol. E79-D, No. 9, Seiten 1329-1336. *
Jean-Yves Bouguet, „Pyramidal implementation of the affine lucas kanade feature tracker description of the algorithm", Intel Corporation, 5(1-10):4, 2001
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
Oscar G Grasa et al., „Visual slam for handheld monocular endoscope", IEEE Transactions on Medical Imaging, 1 (33):135-146, 2014
Peter Hansen et al., „Online continuous stereo extrinsic parameter estimation", Computer Vision and Pattern Recognition (CVPR), 2012 IEEE Conference, pages 1059-1066, IEEE, 2012
Richard I Hartley, „Theory and practice of projective rectification", International Journal of Computer Vision, 35(2):115-127, 1999
SZELISKI, R.: Computer Vision – Algorithms and Applications. Springer- Verlag, 2011, Seiten xiii-xx, 185, 186, 207, 208, 303 – 334, 467 - 503. *
Zhengyou Zhang, „A flexible new technique for camera calibration", Pattern Analysis and Machine Intelligence, IEEE Transactions on, 22(11):1330-1334, 2000

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110580703A (zh) * 2019-09-10 2019-12-17 广东电网有限责任公司 一种配电线路的检测方法、装置、设备及存储介质
CN110580703B (zh) * 2019-09-10 2024-01-23 广东电网有限责任公司 一种配电线路的检测方法、装置、设备及存储介质
US20220245843A1 (en) * 2020-09-15 2022-08-04 Toyota Research Institute, Inc. Systems and methods for generic visual odometry using learned features via neural camera models
US11494927B2 (en) 2020-09-15 2022-11-08 Toyota Research Institute, Inc. Systems and methods for self-supervised depth estimation
US11508080B2 (en) * 2020-09-15 2022-11-22 Toyota Research Institute, Inc. Systems and methods for generic visual odometry using learned features via neural camera models
US11615544B2 (en) 2020-09-15 2023-03-28 Toyota Research Institute, Inc. Systems and methods for end-to-end map building from a video sequence using neural camera models
CN114274139A (zh) * 2020-09-27 2022-04-05 西门子股份公司 自动喷涂方法、装置、***和存储介质
CN114274139B (zh) * 2020-09-27 2024-04-19 西门子股份公司 自动喷涂方法、装置、***和存储介质
CN112489134A (zh) * 2020-11-26 2021-03-12 南方科技大学 面向运动估计的跨帧超高速相机设计方法及运动估计方法
CN112489134B (zh) * 2020-11-26 2024-05-14 南方科技大学 面向运动估计的跨帧超高速相机设计方法及运动估计方法

Similar Documents

Publication Publication Date Title
DE102016123149A1 (de) Bilddatenbasierte rekonstruktion dreidimensionaler oberflächen
DE102015208929B3 (de) Verfahren zur 2D-3D-Registrierung, Recheneinrichtung und Computerprogramm
EP2471040B1 (de) Verfahren und vorrichtung zum zusammenfügen von mehreren digitalen einzelbildern zu einem gesamtbild
DE69722378T2 (de) Verfahren und vorrichtung zur bearbeitung eines dreidimensionalen bildes mit hilfe der parallaxgeometrie von punktpaaren
DE112016001560T5 (de) Verfahren und System zur Echtzeit-Bewegungsartefaktbehandlung und -Rauschbeseitigung für Laufzeitsensor-Bilder
DE112018000332T5 (de) Dichtes visuelles slam mit probabilistic-surfel-map
DE112013003214T5 (de) Verfahren zum Registrieren von Daten
DE112011100652T5 (de) Dreidimensionale messvorrichtung, verarbei- tungsverfahren und nichtflüchtiges computer- lesbares speichermedium
DE112010001224T5 (de) Auf Bewegungskompensation basierende CT-Vorrichtung und CT-Verfahren
DE10355283A1 (de) Hand/Auge-Kalibrierverfahren und zugehöriges Punktextraktionsverfahren
DE102013009288A1 (de) 3D-Aufnahmevorrichtung, Verfahren zur Erstellung eines 3D-Bildes und Verfahren zur Einrichtung einer 3D-Aufnahmevorrichtung
DE102006012945A1 (de) Verfahren zur virtuellen Schichtpositionierung in einem 3D-Volumendatensatz und medizinisches Abbildungssystem
DE102010038507A1 (de) Parallele Online-Offline Rekonstruktion für drei-dimensionale Raumvermessung
DE102011053708A1 (de) Nuklearbildsystem und verfahren zum aktualisieren eines ursprünglichen nuklearbilds
WO2013124056A1 (de) Vorrichtung zur berührungslosen temperaturmessung und temperaturmessverfahren
EP2791896B1 (de) Verfahren zur erzeugung von superaufgelösten bildern mit verbesserter bildauflösung und messvorrichtung
DE112017003426T5 (de) Verfahren und System zum Rekonstruieren einer dreidimensionalen Darstellung
DE112014002943T5 (de) Verfahren zur Registrierung von Daten unter Verwendung eines Satzes von Grundelementen
DE10329250A1 (de) Verfahren und Vorrichtung zum Extrahieren dreidimensionaler räumlicher Daten eines Objektes unter Verwendung eines Elektronenmikroskops
WO2003025843A2 (de) Modellbasierte objektklassifikation und zielerkennung
DE102014110570A1 (de) Bilderzeugungsapparat und -verfahren mit Kombination von funktionaler Bildgebung und Ultraschallbildgebung
DE112019002126T5 (de) Positionsschätzungsvorrichtung, positionsschätzungsverfahren und programm dafür
DE102015010264A1 (de) Verfahren zur Erstellung einer 3D-Repräsentation und korrespondierende Bildaufnahmevorrichtung
DE102015112411A1 (de) System zur stereoskopischen Darstellung von Aufnahmen eines Endoskops
DE102015207348B4 (de) Verfahren, Datenverarbeitungseinheit, motorisiertes Gerät, Computerprogrammprodukt und computerlesbares Medium zum Kalibrieren einer Kamera

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee