DE102016123149A1 - IMAGE-DATA-BASED RECONSTRUCTION OF THREE-DIMENSIONAL SURFACES - Google Patents
IMAGE-DATA-BASED RECONSTRUCTION OF THREE-DIMENSIONAL SURFACES Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 56
- 230000002123 temporal effect Effects 0.000 claims abstract description 9
- 238000003860 storage Methods 0.000 claims abstract description 5
- 238000012937 correction Methods 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 6
- 230000001131 transforming effect Effects 0.000 claims description 5
- 239000000654 additive Substances 0.000 claims description 4
- 230000000996 additive effect Effects 0.000 claims description 4
- 238000004904 shortening Methods 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 2
- 238000007619 statistical method Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004907 flux Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012109 statistical procedure Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- 230000035508 accumulation Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- -1 biology Substances 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 238000001839 endoscopy Methods 0.000 description 1
- 238000000265 homogenisation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 238000004154 testing of material Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02C—GAS-TURBINE PLANTS; AIR INTAKES FOR JET-PROPULSION PLANTS; CONTROLLING FUEL SUPPLY IN AIR-BREATHING JET-PROPULSION PLANTS
- F02C6/00—Plural gas-turbine plants; Combinations of gas-turbine plants with other apparatus; Adaptations of gas-turbine plants for special use
- F02C6/04—Gas-turbine plants providing heated or pressurised working fluid for other apparatus, e.g. without mechanical power output
- F02C6/10—Gas-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/12—Turbochargers, i.e. plants for augmenting mechanical power output of internal-combustion piston engines by increase of charge pressure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/277—Analysis of motion involving stochastic approaches, e.g. using Kalman filters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F01—MACHINES OR ENGINES IN GENERAL; ENGINE PLANTS IN GENERAL; STEAM ENGINES
- F01D—NON-POSITIVE DISPLACEMENT MACHINES OR ENGINES, e.g. STEAM TURBINES
- F01D11/00—Preventing or minimising internal leakage of working-fluid, e.g. between stages
- F01D11/005—Sealing means between non relatively rotating elements
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F01—MACHINES OR ENGINES IN GENERAL; ENGINE PLANTS IN GENERAL; STEAM ENGINES
- F01D—NON-POSITIVE DISPLACEMENT MACHINES OR ENGINES, e.g. STEAM TURBINES
- F01D17/00—Regulating or controlling by varying flow
- F01D17/10—Final actuators
- F01D17/12—Final actuators arranged in stator parts
- F01D17/14—Final actuators arranged in stator parts varying effective cross-sectional area of nozzles or guide conduits
- F01D17/16—Final actuators arranged in stator parts varying effective cross-sectional area of nozzles or guide conduits by means of nozzle vanes
- F01D17/165—Final 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
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F01—MACHINES OR ENGINES IN GENERAL; ENGINE PLANTS IN GENERAL; STEAM ENGINES
- F01D—NON-POSITIVE DISPLACEMENT MACHINES OR ENGINES, e.g. STEAM TURBINES
- F01D25/00—Component parts, details, or accessories, not provided for in, or of interest apart from, other groups
- F01D25/24—Casings; Casing parts, e.g. diaphragms, casing fastenings
- F01D25/246—Fastening of diaphragms or stator-rings
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02B—INTERNAL-COMBUSTION PISTON ENGINES; COMBUSTION ENGINES IN GENERAL
- F02B37/00—Engines characterised by provision of pumps driven at least for part of the time by exhaust
- F02B37/12—Control of the pumps
- F02B37/24—Control 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.A computer-implemented method, storage medium, and associated computer system are provided for computing data representing a three-dimensional surface using images of the surface. A series of images of the surface are received, wherein the images were taken in temporal succession and wherein each temporally adjacent images map an overlapping surface area. Image features are recognized in at least a portion of the received images and tracked from image to image. Then, using the tracked image features for each image of the at least a portion of the received images, a camera position and camera orientation in a three-dimensional global coordinate system is calculated. Finally, using the calculated camera positions and camera orientations, pixels are transformed from images of the at least a portion of the received images into coordinates of the three-dimensional global coordinate system. The reconstruction of a movement of the camera is also possible.
Description
Gebiet der ErfindungField of the invention
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.The invention relates to computer-implemented methods and associated storage media and computer systems for calculating data representing a three-dimensional surface using images of the surface. The invention is particularly advantageous in the field of medical technology.
Hintergrundbackground
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.Imaging processes in medical technology, but also in other areas, generate large quantities of visual material. If, for example, an endoscopic examination is performed, the endoscopist receives on the screen a visual representation of the interior of the examined organ or cavity. The illustrated surface, for example the inner wall of an organic or technical cavity, can then be examined or even manipulated. However, the endoscopist can only use that image information that is currently captured by the endoscope camera and displayed on the screen. Although the images may also be recorded so that the endoscopist may review the images during or after endoscopy; however, it remains difficult to extract more than just visual information from the footage.
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.The endoscopic application described is only one of many examples in which it would be desirable to supply the resulting image material to a computer-aided evaluation. For example, if it were possible to obtain data from such imagery representing a mapped surface, the computer-assisted surface represented in this manner could be displayed or measured on the computer, fully automatically or user-guided. The data could also be used for the production of forms that were perfectly fitting to the surface.
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.In general, image data (eg, in the form of still images or video) captured or otherwise generated by optical recorders (eg, cameras) contain visual characteristics of the imaged surfaces (eg, texture, color) these with appropriate visual output devices for people (spatially) perceptible. However, the depth information attached to the original surface is no longer available for subsequent process steps that require spatial information (eg, the production of physical models, surveying, documentation). This makes the above-mentioned computer-aided evaluation considerably more difficult.
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.In the case of monocular image data (images of a single camera), the depth information for the viewer is often understood only by the movement of the camera during the recording. Even when viewing stereoscopic image data, the original surface only arises mentally in the viewer. Objective statements on the spatiality of a surface, the z. B. with a (stereoscopic) camera has been detected in their movement along a path, are no longer possible.
Überblick über die ErfindungOverview of the invention
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.The invention is therefore based on the object to provide a computer-implemented method and associated storage medium and computer system that allows to reliably and robustly calculate data representing a three-dimensional surface.
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 one embodiment, the invention relates to a computer-implemented method for computing data representing a three-dimensional surface using images of the surface. The method comprises receiving a series of images of the surface, wherein the images were taken in temporal succession and wherein each temporally adjacent images map an overlapping surface area. Further, the method includes recognizing image features in at least a portion of the received images and tracking the recognized image features from image to image. In the method according to the invention, a camera position and camera orientation in a three-dimensional global coordinate system is then calculated using the tracked image features for each image of the at least a portion of the received images. Further, the method includes transforming pixels from images of the at least a portion of the received images into coordinates of the three-dimensional global coordinate system using the calculated camera positions and camera orientations.
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. In one embodiment of the invention, the series of images of the surface are received in real time at the time of image acquisition. In another embodiment, the step of receiving the series of images of the surface comprises reading out archived or otherwise stored image data.
Die Bilder der Serie sind vorzugsweise monokulare Bilder, wobei das Verfahren dann ferner das Berechnen einer Tiefenkarte mittels einer Bundle-Adjustment-Technik umfassen kann.The images of the series are preferably monocular images, the method then further comprising calculating a depth map using a bundle adjustment technique.
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.In an equally preferred embodiment of the invention, the images of the series are stereoscopic images, the method then further comprising calculating a depth map using a block matching technique.
Die empfangenen Bilder können vor der Erkennung von Bildmerkmalen vorverarbeitet werden, wobei die Vorverarbeitung vorzugsweise eine Kalibrierung umfasst.The received images can be preprocessed prior to the recognition of image features, wherein the preprocessing preferably comprises a calibration.
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.Further, if the images of the series are stereoscopic images, calculating the camera position and orientation may further include dynamically shortening or lengthening the virtual distance between the left and right images to compensate for asynchronism of the still images.
In einer Ausgestaltung der Erfindung umfasst das Berechnen der Kameraposition und Kameraausrichtung die Anwendung eines Kalmanfilters.In one embodiment of the invention, calculating the camera position and camera orientation involves the use of a Kalman filter.
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.If the images in the series are stereoscopic images, the Kalman filter can use a state vector that contains an additional variable for the asynchronicity correction, with the aid of which the position of the left or right image is shifted. In this case, the additional variable of the state vector may have an additive noise component.
In einer Ausgestaltung der Erfindung verwendet der Kalmanfilter einen Zustandsvektor mit einer Geschwindigkeits- und Rotationsgeschwindigkeitskomponente, die additive Rauschkomponenten besitzen.In one embodiment of the invention, the Kalman filter uses a state vector having a velocity and rotational velocity component that has additive noise components.
In jeder der beschriebenen Ausgestaltungen kann das Berechnen der Kameraposition und Kameraausrichtung ein Aufintegrieren von Variablen umfassen, die eine Kamerageschwindigkeit und Kamerarotationsgeschwindigkeit angeben.In any of the described embodiments, calculating the camera position and orientation may include integrating variables indicative of a camera speed and camera rotation speed.
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.Further, the method may include performing a Z-drift correction to pixels to be transformed. Herein, performing the Z-drift correction preferably comprises performing ray-casting with beams penetrating the point cloud of previously transformed pixels from newly-to-be-transformed pixels, collecting pixels located on or near the beams, forming an average of pixels collected per ray, forming a transform using the averages formed and the global coordinates of the point cloud, and applying the formed transform to the pixels to be re-transformed.
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.Calculating the camera position and camera orientation may further include the application of a Kalman filter using a multi-variable state vector. In this case, the formed transformation can further be applied to correct one or more of the variables of the state vector.
Im Schritt des Erkennens von Bildmerkmalen werden vorzugsweise solche Bildmerkmale erkannt, die zueinander einen vordefinierten Mindestabstand aufweisen.In the step of recognizing image features, those image features are preferably recognized which have a predefined minimum distance from each other.
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 a preferred embodiment of the invention, the images of the series are assigned relative or absolute recording time information. The step of calculating the camera positions and camera orientations in the three-dimensional global coordinate system may then use this acquisition time information to calculate a camera movement history.
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.In embodiments of the invention, the recognition of image features includes the use of a Harris-Corner detector and the tracking of the recognized image features involves the use of a Lukas-Kanade tracker.
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.Further provided in accordance with the invention is a computer-readable storage medium storing computer-executable instructions which, when executed, are executed by one or more processors of the computer Computer cause this one or more processors to perform a method as described above or will be described below with reference to the figures.
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.Furthermore, the invention relates to a computer system for calculating data representing a three-dimensional surface using images of the surface. The computer system comprises an image data receiving unit for receiving a series of images of the surface, wherein the images were taken in temporal succession and wherein each temporally adjacent images map an overlapping surface area. The computer system further comprises a data processing unit for detecting image features in at least a portion of the received images and tracking the detected image features from image to image, calculating a camera position and camera orientation in a three-dimensional global coordinate system for each image of the at least a portion of the received images using tracking image features and transforming pixels from images of the at least a portion of the received images into coordinates of the three-dimensional global coordinate system using the calculated camera positions and camera orientations.
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.The computer system may be further configured to carry out the method described above or the method shown in the figures and described in the accompanying description.
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).The invention described in the embodiments makes it possible to robustly reconstruct depth information from monocular or stereoscopic input data and thus enable the high-precision measurement of general surfaces on the basis of monocular or stereoscopic frame and / or video data. This allows the complete reconstruction of the object interfaces of arbitrary physical objects or object components (eg in medicine, biology, material technology or material testing) as well as the subsequent measurement or production of the reconstructed objects or object components including forms derived therefrom (eg by means of rapid analysis). prototyping method).
Figurenlistelist of figures
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 und6B 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.
-
1 Fig. 3 is a flow chart which serves the functional description of the invention in a preferred embodiment; -
2 Fig. 10 is a flowchart showing a method of calculating data representing a three-dimensional surface according to an embodiment of the present invention; -
3 is a diagram for illustrating the image shift in synchronously moving stereoscopic frame images; -
4 is a diagram for illustrating the image shift in asynchronously moving stereoscopic frame images; -
5 Fig. 10 is a flowchart showing a method of Z-drift correction according to an embodiment of the present invention; -
6A and6B illustrate the performance of the Z-drift correction according to an embodiment; and -
7 Fig. 10 is a block diagram illustrating a computer system in an embodiment of the invention.
Detaillierte Beschreibung bevorzugter AusgestaltungenDetailed description of preferred embodiments
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.As can be seen from the foregoing and the following, the invention relates to a technique which generates depth information from image-based input data. The recorded by camera (s) or by other imaging methods surface areas are thus three-dimensional, for example in shape and texture, reconstructed. For this purpose, only overlapping images are needed in the broadest sense, ie images that show spatially contiguous surface areas and at least partially depict the same surface areas. These images can be the (time-varying) data of a single camera (mono images), as well as a stereo camera system (stereo images). As a result, there is a particular suitability for the processing of videos, as z. B. incurred in the archiving of Endoskopieaufnahmen.
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.The invention does not require tracking of the recording camera (s). In contrast, it contains the position determination of the camera (s) on the basis of the acquired data, which can also be done retrospectively. This works both directly in the live mode, ie with direct processing of the data recorded by the camera or the cameras, as well as subsequently, ie years later without any loss of quality on archived image and video data.
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.According to the invention, stereo camera systems (eg stereo endoscopes) can be used in embodiments that do not record stereo images synchronously in time, but this is presupposed by previous 3D reconstruction methods. By contrast, the invention can also work with temporally staggered stereo images. By additional stable tracking of relevant image features over time and using statistical methods, the precise reconstruction of depth information and the corresponding object interfaces can be made possible. Furthermore, it becomes possible to generate a semantically coherent object interface as an image of a physical object from time-varying camera data and to derive therefrom characteristic quantitative shape features (eg, sizes, distances, angles).
Im Folgenden werden bevorzugte Ausgestaltungen der Erfindung unter Bezugnahme auf die Figuren näher erläutert. Insbesondere wird zunächst auf
Die mittels einer monokularen oder stereoskopischen Kamera akquirierten Bilder
Für stereoskopische Daten kann durch eine Kalibrierung
Die (korrigierten) Bilder werden in der in
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
Für die monokularen Bilder kann ebenfalls ein Tracking
Die Tiefenkarte der monokularen Bilder kann anschließend vorzugsweise über aufeinanderfolgende Bilder bestimmt werden (Block
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).The approximation of the real camera movement provides an estimate of the position and orientation of the camera, which can be transferred to each frame. This allows the reconstructed depth map to be embedded in a model in the global three-dimensional coordinate system (called model hereafter) (registration 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
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
Aus den vorangegangenen Schritten resultiert nach einem Registrierungsschritt
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.In order to allow a later determination of the camera trajectory, characteristic points (keypoints) are advantageously detected in the stereo images. These keypoints are preferably chosen so that they are as stable as possible to detect successive images.
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.Preferably, this is a robust and quickly calculated feature detector, such. B. Harris Corner detector used. First of all, key points are initialized and filtered according to several criteria in order to obtain a set of characteristic points distributed as evenly as possible over the image. Using the Harris Corner detector, the initial detected keypoint candidates are filtered based on the length of the Harris eigenvector. Furthermore, the minimum distance to other Keypoints and the minimum color variance associated with the keypoint are preferably taken into account. Finally, for the following tracking, preferably a small subset of keypoints (eg 20 pieces) is used.
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.Here c denotes a color value (r: red, g: green, b: blue). H c is the histogram over the color value c in an environment around a pixel. H c; i is the ith entry in the histogram H c . V c (H c ) denotes the color variance. V (H r, g, b ) is the variance of a pixel, determined from the individual variances (V r , V g , V b ) of the color histograms H r , H g and H b .
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.In the initialization of keypoints, care is taken in a preferred embodiment of the invention that the keypoints have a certain minimum distance from each other so that they spread over the image. The even distribution of keypoints is helpful to stabilize later trajectory estimates. If local accumulations of keypoints occur during initialization, preferably the keypoints with the strongest color variance are selected from them.
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.After initial detection of the Keypoints they are tracked across multiple images, which z. B. can be done by means of a Lukas Kanade tracker. Preferably, a Lukas-Kanade tracker as described in Jean-Yves Bouguet, "Pyramidal implementation of the Affine Lucas Canada feature tracker description of the algorithm", Intel Corporation, 5 (1-10): 4, 2001 is used.
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 (
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.Each of the tracked keypoints can be accumulated in a list and preferably gets a unique identification number. This allows identification across multiple images. For newly found keypoints, new unique identification numbers are preferably assigned. The list of all tracked keypoints is then passed to the camera's trajectory reconstruction algorithm.
Wie oben bereits ausgeführt, wird in Schritt
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.Based on the keypoints tracked in the stereo images, the Kalman filter determines the position and orientation of the (possibly virtual) stereo camera in the room. In the model, a projection of the 3D position of the keypoints on the camera image surface is assumed. With the help of this model, errors in matching can be damped.
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.If a stereo camera is actually used, the movement of the stereo camera and the asynchronicity of the single image recordings create a virtual shift between the associated single image recordings. Depending on the direction of movement of the stereo camera, this difference may be greater or smaller than the initial stereo calibration T s .
In
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.To compensate for this effect, in one embodiment of the invention, a continuous recalibration of the extrinsic T s of the stereo set-up is performed. During horizontal stereo camera movements, the Kalman filter model estimates how the left and right camera of the stereo camera setup would have to be virtually displaced to compensate for the image shift caused by asynchrony during movement. In this way, a dynamic shortening or extension of the virtual distance between the left and right image and thus the compensation of the deviation from the initial stereo calibration, which corresponds to the system at rest, possible.
Werden monokulare Bilder verwendet, so kann die Baselinekorrektur
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.
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.Thus, at any time k, the position of the keypoints as well as the position and orientation of the camera can be read. In order for the Kalman filter to calculate the shift as part of the asynchrony correction, it is extended by a variable b k . When using monocular images, b k is preferably not used, but may still be present in the state vector.
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
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
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.Herein, h (x k | k-1 ) is the measurement model of the Kalman filter. This function maps the model values (3D positions of the keypoints) in the Kalman filter to the pixels in the stereo camera. y k, i is the 3D position of the ith keypoint at time step k. p is the position of the camera. R Φ is the rotation of the stereo camera. I Cl and I Cr are the intrinsics of the left and right camera. E red is the rotation between the two stereo cameras and e t is the translation of the stereo cameras to each other. b k denotes the baseline correction performed by the Kalman filter. hom () is an auxiliary function which homogenizes the vector a. The vector a is converted back into a normal vector by homogenization, ie by dividing its last component a z .
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.It has already been mentioned above that for the individual images in the course of the reconstruction, a camera position and camera orientation are calculated in a three-dimensional global coordinate system. This calculation provides a form of spatial tracking of the camera taking the image data. In a preferred embodiment of the invention, in addition to the images used for the surface reconstruction, relative or absolute recording time information is known. In this case, the relative or absolute temporal course of movement of the camera receiving the image data is reconstructed by collecting and temporally sorting all calculated camera positions and camera orientations and associating with the corresponding exposure time information of the respective underlying images. The reconstruction can take place for image data received in real time at the time of image recording or else on the basis of archived or otherwise stored image data and provides a form of spatial tracking (of the tracking curve) of the camera receiving the image data.
Wird nun wieder Bezug genommen auf
Durch die Abschätzung
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.The Z-drift correction according to the invention is based on the knowledge that position estimates of the Kalman filter can have different degrees of errors. Along the projection plane of the camera (right, left, top, bottom), the estimate may be, for example, pixel-precise, whereas in the block direction (front, back) the estimate may be based on the accuracy of the keypoint matches. This can lead to the estimation of the depth position relative to the camera having a greater error. If one records the individual images or frames one after the other, this uncertainty in the depth estimation may nevertheless cause the registration to degenerate and the point clouds to no longer overlap one another.
Bevor die aus einem Einzelbild bzw. Frame resultierende Punktwolke
Wird schliesslich noch auf
Die Datenverarbeitungseinheit
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
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.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte Nicht-PatentliteraturCited non-patent literature
- Zhengyou Zhang, „A flexible new technique for camera calibration“, Pattern Analysis and Machine Intelligence, IEEE Transactions on, 22(11):1330-1334, 2000 [0031]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]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]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]Jean-Yves Bouguet, "Pyramidal implementation of the affine lucas kanad 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]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]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)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016123149.5A DE102016123149A1 (en) | 2016-11-30 | 2016-11-30 | IMAGE-DATA-BASED RECONSTRUCTION OF THREE-DIMENSIONAL SURFACES |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016123149.5A DE102016123149A1 (en) | 2016-11-30 | 2016-11-30 | IMAGE-DATA-BASED RECONSTRUCTION OF THREE-DIMENSIONAL SURFACES |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102016123149A1 true DE102016123149A1 (en) | 2018-05-30 |
Family
ID=62117336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102016123149.5A Withdrawn DE102016123149A1 (en) | 2016-11-30 | 2016-11-30 | IMAGE-DATA-BASED RECONSTRUCTION OF THREE-DIMENSIONAL SURFACES |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102016123149A1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110580703A (en) * | 2019-09-10 | 2019-12-17 | 广东电网有限责任公司 | distribution line detection method, device, equipment and storage medium |
CN112489134A (en) * | 2020-11-26 | 2021-03-12 | 南方科技大学 | Motion estimation-oriented design method of cross-frame ultrahigh-speed camera and motion estimation method |
CN114274139A (en) * | 2020-09-27 | 2022-04-05 | 西门子股份公司 | Automatic spraying method, device, system and storage medium |
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 |
-
2016
- 2016-11-30 DE DE102016123149.5A patent/DE102016123149A1/en not_active Withdrawn
Non-Patent Citations (8)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110580703A (en) * | 2019-09-10 | 2019-12-17 | 广东电网有限责任公司 | distribution line detection method, device, equipment and storage medium |
CN110580703B (en) * | 2019-09-10 | 2024-01-23 | 广东电网有限责任公司 | Distribution line detection method, device, equipment and storage medium |
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 (en) * | 2020-09-27 | 2022-04-05 | 西门子股份公司 | Automatic spraying method, device, system and storage medium |
CN114274139B (en) * | 2020-09-27 | 2024-04-19 | 西门子股份公司 | Automatic spraying method, device, system and storage medium |
CN112489134A (en) * | 2020-11-26 | 2021-03-12 | 南方科技大学 | Motion estimation-oriented design method of cross-frame ultrahigh-speed camera and motion estimation method |
CN112489134B (en) * | 2020-11-26 | 2024-05-14 | 南方科技大学 | Motion estimation-oriented frame-crossing ultra-high-speed camera design method and motion estimation method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102016123149A1 (en) | IMAGE-DATA-BASED RECONSTRUCTION OF THREE-DIMENSIONAL SURFACES | |
DE102015208929B3 (en) | Method for 2D-3D registration, computing device and computer program | |
DE69624550T2 (en) | Device and method for extracting three-dimensional shapes | |
EP2471040B1 (en) | Method and device for joining a plurality of individual digital images into a total image | |
DE112016001560T5 (en) | Method and system for real-time motion artifact handling and noise removal for runtime sensor images | |
DE112018000332T5 (en) | SEAL VISUAL SLAM WITH PROBABILISTIC SURFEL MAP | |
DE112013003214T5 (en) | Method for registering data | |
DE112011100652T5 (en) | THREE-DIMENSIONAL MEASURING DEVICE, PROCESSING METHOD AND NON-VOLATILE COMPUTER-READABLE STORAGE MEDIUM | |
DE112010001224T5 (en) | Motion compensation based CT device and CT method | |
EP2082687A1 (en) | Overlaid presentation of exposures | |
DE102006012945A1 (en) | A method of virtual layer positioning in a 3D volume data set and medical imaging system | |
EP2791896B1 (en) | Method for generating super-resolution images having improved image resolution and measuring device | |
DE112017003426T5 (en) | Method and system for reconstructing a three-dimensional representation | |
DE102010038507A1 (en) | Parallel online-offline reconstruction for three-dimensional space measurement | |
WO2013124056A1 (en) | Device for non-contact temperature measurement and temperature measurement method | |
DE112014002943T5 (en) | Method of registering data using a set of primitives | |
DE102010062975A1 (en) | Method for generating four-dimensional representation of target area i.e. heart, of body, involves animating movement-compensated three-dimensional image data set under consideration of estimation parameter of movement model | |
DE10329250A1 (en) | Method and device for extracting three-dimensional spatial data of an object using an electron microscope | |
WO2003025843A2 (en) | Model-based object classification and target recognition | |
DE102016105405B4 (en) | Method and device arrangement for high-precision, (semi-) automatic in-situ calibration and registration of a projector-camera system to a component | |
DE102015207348B4 (en) | Method, data processing unit, motorized device, computer program product and computer readable medium for calibrating a camera | |
DE69331360T2 (en) | Image processing method and apparatus | |
DE112019002126T5 (en) | POSITION ESTIMATE DEVICE, POSITION ESTIMATE METHOD AND PROGRAM FOR IT | |
DE102007055252A1 (en) | To determine the gaps of a given object within a complex structure, e.g. an automobile production line, images are taken from different positions for the images to be processed with a database | |
DE102015010264A1 (en) | Method for creating a 3D representation and corresponding image acquisition device |
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 |