DE102022120240A1 - Method for generating training data through image transformation, method for training a machine learning model and assistance system - Google Patents
Method for generating training data through image transformation, method for training a machine learning model and assistance system Download PDFInfo
- Publication number
- DE102022120240A1 DE102022120240A1 DE102022120240.2A DE102022120240A DE102022120240A1 DE 102022120240 A1 DE102022120240 A1 DE 102022120240A1 DE 102022120240 A DE102022120240 A DE 102022120240A DE 102022120240 A1 DE102022120240 A1 DE 102022120240A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- camera image
- machine learning
- generated
- mono camera
- 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.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 86
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000010801 machine learning Methods 0.000 title claims abstract description 57
- 230000009466 transformation Effects 0.000 title claims abstract description 49
- 230000001419 dependent effect Effects 0.000 claims abstract description 4
- 238000005259 measurement Methods 0.000 claims description 29
- 238000006073 displacement reaction Methods 0.000 claims description 22
- 210000000744 eyelid Anatomy 0.000 claims description 21
- 238000000844 transformation Methods 0.000 claims description 11
- 230000005489 elastic deformation Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 230000000875 corresponding effect Effects 0.000 description 30
- 230000006870 function Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012546 transfer Methods 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
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
Die Erfindung betrifft ein Verfahren (10) zum Erzeugen von Trainingsdaten (18, 20) für ein Maschinenlernmodell zum Schätzen von Tiefenkarten aus Monokamerabildern (12). Darin werden ein Monokamerabild (12) und als Grundwahrheitsdaten dazu korrespondierende Tiefendaten (14) bereitgestellt. Aus dem Monokamerabild (12) wird durch eine nicht-lineare ortsabhängige Transformation ein transformiertes Kamerabild (18) mit räumlich verschobenen Pixelwerten erzeugt und aus den korrespondierenden Tiefendaten (14) werden mittels derselben Transformation transformierte Tiefendaten (20) erzeugt. Als Trainingsdaten (18, 20) werden dann jeweils ein transformiertes Kamerabild (18) und die als Grundwahrheitsdaten dafür dienenden korrespondierenden transformierten Tiefendaten (20) bereitgestellt. Die Erfindung betrifft weiter ein Verfahren (10) zum Trainieren eines Maschinenlernmodells zum Schätzen von Tiefenkarten für Monokamerabilder (12) mittels entsprechend erzeugter Trainingsdaten (18, 20) sowie ein Fahrzeugassistenzsystem mit einem derartigen trainierten Maschinenlernmodell.The invention relates to a method (10) for generating training data (18, 20) for a machine learning model for estimating depth maps from mono camera images (12). A mono camera image (12) and corresponding depth data (14) are provided therein as ground truth data. A transformed camera image (18) with spatially shifted pixel values is generated from the mono camera image (12) using a non-linear, location-dependent transformation, and transformed depth data (20) is generated from the corresponding depth data (14) using the same transformation. A transformed camera image (18) and the corresponding transformed depth data (20) serving as ground truth data are then provided as training data (18, 20). The invention further relates to a method (10) for training a machine learning model for estimating depth maps for mono camera images (12) using appropriately generated training data (18, 20) and a vehicle assistance system with such a trained machine learning model.
Description
Die vorliegende Erfindung betrifft ein Verfahren zum Erzeugen von Trainingsdaten zum Trainieren eines Maschinenlernmodells zum Schätzen von Tiefenkarten aus Kamerabildern. Weiter betrifft die Erfindung ein Verfahren zum entsprechenden Trainieren eines solchen Maschinenlernmodells sowie ein Assistenzsystem mit einem derartigen Maschinenlernmodell.The present invention relates to a method for generating training data for training a machine learning model to estimate depth maps from camera images. The invention further relates to a method for appropriately training such a machine learning model and an assistance system with such a machine learning model.
Es gibt heutzutage Bestrebungen, die Methoden und Möglichkeiten des maschinellen Lernens in vielerlei verschiedenen Bereichen und Anwendungsfällen einzusetzen, da damit prinzipiell Vorteile beispielsweise gegenüber klassischen manuell programmierten Algorithmen oder Lösungen erzielt werden können. Zum Erzeugen entsprechender Maschinenlernmodelle werden jedoch große Mengen an geeigneten Trainingsdaten benötigt. Die Beschaffung solcher Trainingsdaten kann enorm arbeits-, zeit- und kostenintensiv sein und daher eine signifikante Hürde für den praktischen Einsatz entsprechender Maschinenlernmodelle darstellen.Nowadays, there are efforts to use the methods and possibilities of machine learning in many different areas and applications, as this can in principle achieve advantages over, for example, classic manually programmed algorithms or solutions. However, large amounts of suitable training data are required to generate corresponding machine learning models. Obtaining such training data can be extremely labor-, time- and cost-intensive and therefore represents a significant hurdle for the practical use of corresponding machine learning models.
Als einen Ansatz, um dieser Problematik zu begegnen, beschreibt die
Ein Beispiel für ein Verfahren zum Trainieren neuronaler Netze ist in der
Aufgabe der vorliegenden Erfindung ist es, eine besonders aufwandsarme und robuste Erzeugung von Tiefenkarten aus Monokamerabildern zu ermöglichen.The object of the present invention is to enable particularly low-effort and robust generation of depth maps from mono camera images.
Diese Aufgabe wird durch die Gegenstände der unabhängigen Patentansprüche gelöst. Weitere mögliche Ausgestaltungen der Erfindung sind in den Unteransprüchen, der Beschreibung und den Figuren offenbart. Merkmale, Vorteile und mögliche Ausgestaltungen, die im Rahmen der Beschreibung für einen der Gegenstände der unabhängigen Ansprüche dargelegt sind, sind zumindest analog als Merkmale, Vorteile und mögliche Ausgestaltungen des jeweiligen Gegenstands der anderen unabhängigen Ansprüche sowie jeder möglichen Kombination der Gegenstände der unabhängigen Ansprüche, gegebenenfalls in Verbindung mit einem oder mehr der Unteransprüche, anzusehen.This task is solved by the subject matter of the independent patent claims. Further possible embodiments of the invention are disclosed in the subclaims, the description and the figures. Features, advantages and possible configurations set out in the description for one of the subject matter of the independent claims are at least analogous to the features, advantages and possible embodiments of the respective subject matter of the other independent claims and any possible combination of the subject matter of the independent claims, if applicable in conjunction with one or more of the subclaims.
Ein erfindungsgemäßes Verfahren dient zum Erzeugen von Trainingsdaten zum Trainieren eines Maschinenlernmodells zum Schätzen von Entfernungs- oder Tiefenkarten aus Monokamerabildern. Ein solches Monokamerabild kann hier ein einzelnes Bild sein, das keine direkten Tiefeninformationen, also keine Entfernungsangaben der dargestellten Objekts von der verwendeten Bildaufnahmevorrichtung, also etwa einer Kamera enthält. Dies kann insbesondere im Gegensatz zu einem Stereobild gesehen werden, aus dem die Entfernung von dargestellten Objekten, also entsprechende Entfernungs- oder Tiefeninformationen entnommen bzw. direkt objektiv und eindeutig ermittelt werden können. Das erfindungsgemäße Verfahren kann insbesondere für die Fahrzeugtechnik angewendet werden, sodass das Monokamerabild insbesondere mittels einer zur Umgebungserfassung vorgesehenen Kamera eines Kraftfahrzeugs aufgenommen werden kann. Ebenso kann das erfindungsgemäße Verfahren aber grundsätzlich für andere technische Gebiete oder Anwendungen eingesetzt werden.A method according to the invention is used to generate training data for training a machine learning model to estimate distance or depth maps from mono camera images. Such a mono camera image can be a single image that does not contain any direct depth information, i.e. no distance information of the object shown from the image recording device used, i.e. a camera. This can be seen in particular in contrast to a stereo image, from which the distance of displayed objects, i.e. corresponding distance or depth information, can be taken or directly determined objectively and clearly. The method according to the invention can be used in particular for vehicle technology, so that the monocamera image can be recorded in particular by means of a camera of a motor vehicle provided for detecting the surroundings. Likewise, the method according to the invention can in principle be used for other technical areas or applications.
Eine Tiefenkarte (englisch: depth map) im vorliegenden Sinne kann ein Datensatz sein, der insbesondere von der gleichen Dimensionen wie das jeweilige Monokamerabild sein kann und für jeden Punkt oder Pixel eine Entfernung des dort dargestellten Objekts von der Kamera, mittels welcher das jeweilige Monokamerabild aufgenommen wurde, angibt.A depth map in the present sense can be a data set which, in particular, can be of the same dimensions as the respective mono camera image and, for each point or pixel, a distance of the object displayed there from the camera by which the respective mono camera image was recorded was, indicates.
Das Maschinenlernmodell kann insbesondere ein künstliches neuronales Netz, grundsätzlich aber eine beliebige Einrichtung oder Struktur des maschinellen Lernens sein oder umfassen.The machine learning model can in particular be an artificial neural network, in principle but be or include any machine learning device or structure.
In einem Verfahrensschritt des erfindungsgemäßen Verfahrens werden wenigstens ein Monokamerabild einer Szene, also beispielsweise ein einzelnes Monokamerabild oder eine Folge oder Series aus mehreren Monokamerabildern, und als Grundwahrheitsdaten (englisch: ground truth) für dieselbe Szene korrespondierende Entfernungs- bzw. Tiefendaten bereitgestellt. Diese Tiefendaten geben dabei zu einzelnen Bereichen, Punkten oder Pixeln Entfernungen zwischen einem jeweils dortigen, also insbesondere auch an der entsprechenden Stelle in dem Monokamerabild dargestellten Objekt der Szene und einer Aufnahmeeinrichtung an. Mittels dieser Aufnahmeeinrichtung können die Tiefendaten aufgenommen worden sein. Ebenso kann die Aufnahmeeinrichtung zum Aufnehmen des Monokamerabildes verwendet worden sein oder die entsprechende Kamera umfassen. Dabei können die Kamera und die Aufnahmeeinrichtung für die Tiefendaten insbesondere fest bzw. relativ zueinander lagefest verbunden oder angeordnet sein. Das Monokamerabild und die zugehörigen Tiefendaten können zumindest im Wesentlichen gleichzeitig aufgenommen worden sein.In a method step of the method according to the invention, at least one mono camera image of a scene, for example a single mono camera image or a sequence or series of several mono camera images, and distance or depth data corresponding to the same scene are provided as ground truth data. These depth data indicate distances to individual areas, points or pixels between an object in the scene that is located there, i.e. in particular also shown at the corresponding location in the mono camera image, and a recording device. The depth data can have been recorded using this recording device. Likewise, the recording device may have been used to record the mono camera image or may include the corresponding camera. The camera and the recording device for the depth data can be connected or arranged in particular in a fixed manner or in a fixed position relative to one another. The mono camera image and the associated depth data may have been recorded at least substantially simultaneously.
Um eventuelle Unterschiede oder Abweichungen zwischen den Koordinatensystemen des Monokamerabildes und der Tiefendaten auszugleichen oder zu beheben, können das Monokamerabild und die Tiefendaten beispielsweise in ein gemeinsames Koordinatensystem gebracht oder projiziert werden. Beispielsweise können die Tiefendaten in das Koordinatensystem des Monokamerabild projiziert oder transformiert werden bzw. sein oder umgekehrt. Dadurch kann sichergestellt werden, dass die Pixel, für welche die Tiefendaten Entfernungen angeben, jeweils eindeutig den entsprechenden, also dasselbe Objekts abbildenden oder betreffenden Pixeln des Monokamerabildes zugeordnet oder überlagert werden können bzw. sind.In order to compensate for or eliminate any differences or deviations between the coordinate systems of the mono camera image and the depth data, the mono camera image and the depth data can, for example, be brought or projected into a common coordinate system. For example, the depth data can be projected or transformed into the coordinate system of the mono camera image or vice versa. This can ensure that the pixels for which the depth data indicate distances can or are uniquely assigned or superimposed on the corresponding pixels of the mono camera image, i.e. those depicting or relating to the same object.
In einem weiteren Verfahrensschritt des erfindungsgemäßen Verfahrens wird aus dem Monokamerabild zumindest durch eine nicht-lineare ortsabhängige Transformation wenigstens ein transformiertes Monokamerabild mit im Vergleich zu dem zugrundeliegenden ursprünglichen Monokamerabild räumlich verschobenen Bild- oder Pixelwerten erzeugt. Dieses transformierte Monokamerabild wird hier zur leichteren Unterscheidung von dem ursprünglichen Monokamerabild auch als transformiertes Kamerabild bezeichnet. Die Transformation kann Pixel oder entsprechende Bild- oder Pixelwerte, also etwa Farbwerte, Intensitäten, Helligkeiten und/oder dergleichen mehr, in wenigstens einer Richtung oder Dimension des Kamerabildes verschieben. Bei einem 2D-Monokamerabild mit x- und y-Pixelkoordinaten also etwa in x- und/oder ein y-Richtung.In a further method step of the method according to the invention, at least one transformed monocamera image with spatially shifted image or pixel values compared to the underlying original monocamera image is generated from the monocamera image at least by means of a non-linear, location-dependent transformation. This transformed mono camera image is also referred to here as a transformed camera image to make it easier to distinguish it from the original mono camera image. The transformation can shift pixels or corresponding image or pixel values, such as color values, intensities, brightnesses and/or the like, in at least one direction or dimension of the camera image. For a 2D mono camera image with x and y pixel coordinates, approximately in the x and/or y direction.
Würde das Anwenden der Transformation auf das Monokamerabild für einen Pixel bzw. Pixelwerte des Monokamerabildes zu einer neuen Position außerhalb des Monokamerabildes, also außerhalb von dessen ursprünglichen Grenzen oder Koordinaten führen, so kann die Verschiebung für diesen Pixel bzw. diese Pixelwerte beispielsweise automatisch reduziert werden, um dies zu vermeiden. Ebenso kann die Transformation oder eine daraus abgeleitete Verschiebung von vornherein mit der Randbedingung erzeugt werden, dass sie nicht zu Verschiebungen bis außerhalb der Grenzen des ursprünglichen Monokamerabildes führen darf. So kann es beispielsweise vorgesehen sein, dass die Pixel oder Pixelwerte am Rand des Monokamerabildes lediglich entlang des Randes, aber nicht über diesen hinaus verschoben werden bzw. verschoben werden dürfen. Ebenso können beispielsweise Pixel bzw. Pixelwerte, die über den Rand hinaus verschoben würden, - analog zu einer zyklischen Permutation - an der gespiegelten Seite oder Stelle des Monokamerabildes bzw. des transformierten Kamerabildes positioniert werden. Ebenso können beispielsweise durch das Verschieben von Pixeln bzw. Pixelwerten über den Rand hinaus entstehende Frei- oder Fehlstellen automatisch in vorgegebener Weise aufgefüllt werden, beispielsweise abhängig von jeweils umgebenden Pixeln oder Pixelwerten. Letztlich kann also sichergestellt werden, dass das transformierte Kamerabild insgesamt dieselbe Form und dieselben Dimensionen aufweist wie das zugrundeliegende Monokamerabild.If applying the transformation to the mono camera image for a pixel or pixel values of the mono camera image would lead to a new position outside the mono camera image, i.e. outside of its original boundaries or coordinates, the shift for this pixel or these pixel values can, for example, be automatically reduced, to avoid this. Likewise, the transformation or a shift derived from it can be generated from the outset with the boundary condition that it must not lead to shifts outside the limits of the original mono camera image. For example, it can be provided that the pixels or pixel values at the edge of the mono camera image are or may only be moved along the edge, but not beyond it. Likewise, for example, pixels or pixel values that would be shifted beyond the edge can be positioned - analogous to a cyclic permutation - on the mirrored side or location of the mono camera image or the transformed camera image. Likewise, for example, by moving pixels or pixel values beyond the edge, free or missing areas can be automatically filled in a predetermined manner, for example depending on the surrounding pixels or pixel values. Ultimately, it can be ensured that the transformed camera image has the same overall shape and dimensions as the underlying mono camera image.
In einem weiteren Verfahrensschritt des erfindungsgemäßen Verfahrens werden aus den korrespondierenden Tiefendaten mittels derselben Transformation, die auch zum Erzeugen des transformierten Kamerabildes verwendet wird, entsprechend transformierte Tiefendaten erzeugt. Dabei können dieselben, in Zusammenhang mit dem Erzeugen des transformierten Kamerabildes beschriebenen Bedingungen oder Mechanismen angewendet werden, um sicherzustellen, dass die transformierten Tiefendaten dieselbe Form und Dimension wie die ursprünglichen bereitgestellten Tiefendaten aufweisen.In a further method step of the method according to the invention, correspondingly transformed depth data is generated from the corresponding depth data using the same transformation that is also used to generate the transformed camera image. The same conditions or mechanisms described in connection with generating the transformed camera image can be applied to ensure that the transformed depth data has the same shape and dimension as the originally provided depth data.
Die transformierten Tiefendaten und das transformierte Kamerabild können also zumindest im Wesentlichen dieselben Daten wie die ursprünglich bereitgestellten Tiefendaten und das ursprünglich bereitgestellten Monokamerabild enthalten, wobei diese Daten bzw. deren Werte jedoch räumlich, also hinsichtlich ihrer Position oder Anordnung in dem entsprechenden Koordinatensystem verändert sein können. Ist beispielsweise in dem ursprünglichen Monokamerabild ein rechteckiges Objekt dargestellt, so kann in dem transformierten Kamerabild dasselbe Objekt dargestellt sein, dort jedoch eine andere Form oder Kontur aufweisen. Beispielsweise kann das Objekt dann in dem transformierten Kamerabild also nicht mehr rechteckig sein und/oder anstelle von geraden Kanten oder Außenkonturen gebogene oder gewellte Linien aufweisen oder dergleichen. Enthalten die die ursprünglichen Tiefendaten beispielsweise eine Entfernungsangabe für einen auf der Außenkontur dieses Objekts liegenden Punkt oder Pixel, so können die transformierten Tiefendaten eine Entfernungsangabe enthalten, die hinsichtlich ihrer Pixel- oder Datenkoordinaten in gleicher Weise relativ zu den ursprünglichen Tiefendaten verschoben, also transformiert ist, wie der entsprechende Pixel in dem transformierten Kamerabild relativ zu dem ursprünglichen Monokamerabild. Die entsprechende Entfernungsangabe in den transformierten Tiefendaten gibt also weiterhin die Entfernung zu dem entsprechenden Punkt auf der Außenkontur desselben Objekts an, der sich in dem transformierten Kamerabild jedoch innerhalb dessen an einer anderen Stelle befindet als in dem ursprünglichen Monokamerabild.The transformed depth data and the transformed camera image can therefore contain at least essentially the same data as the originally provided depth data and the originally provided mono camera image, although these data or their values can be changed spatially, i.e. with regard to their position or arrangement in the corresponding coordinate system. For example, in the original mono camera image, it is a rectangular object shown, the same object can be shown in the transformed camera image, but have a different shape or contour. For example, the object in the transformed camera image can then no longer be rectangular and/or have curved or wavy lines or the like instead of straight edges or outer contours. If, for example, the original depth data contains a distance information for a point or pixel lying on the outer contour of this object, the transformed depth data can contain a distance information that is shifted in the same way relative to the original depth data with regard to its pixel or data coordinates, i.e. transformed, like the corresponding pixel in the transformed camera image relative to the original mono camera image. The corresponding distance information in the transformed depth data therefore continues to indicate the distance to the corresponding point on the outer contour of the same object, which, however, is located at a different location within the transformed camera image than in the original mono camera image.
In einem weiteren Verfahrensschritt des erfindungsgemäßen Verfahrens werden als Trainingsdaten bzw. zumindest als Teil der Trainingsdaten jeweils ein derart transformiertes Kamerabild und die als Grundwahrheitsdaten für dieses transformierte Kamerabild dienenden korrespondierenden transformierten Tiefendaten bereitgestellt. Dazu können die Trainingsdaten beispielsweise in einem vorgegebenen Datenspeicher abgelegt, über eine vorgegebene Schnittstelle ausgegeben oder direkt dem jeweils zu trainierenden Maschinenlernmodell als Eingangsdaten zugeführt werden oder dergleichen.In a further method step of the method according to the invention, a camera image transformed in this way and the corresponding transformed depth data serving as ground truth data for this transformed camera image are provided as training data or at least as part of the training data. For this purpose, the training data can, for example, be stored in a predetermined data memory, output via a predetermined interface or fed directly to the machine learning model to be trained as input data, or the like.
Das erfindungsgemäße Verfahren erlaubt also ein computergestütztes Erzeugen von variierten, also effektiv neuen Trainingsdaten aus bereitgestellten Trainingsdaten. So können also beispielsweise aus als Trainingsdaten real aufgenommenen Monokamerabildern und zugehörigen Tiefendaten neue Trainingsdaten erzeugt werden.The method according to the invention therefore allows computer-aided generation of varied, i.e. effectively new, training data from provided training data. For example, new training data can be generated from mono camera images recorded as training data and associated depth data.
Ebenso kann das erfindungsgemäße Verfahren iterativ angewendet werden, um aus bereits in einem früheren Durchlauf des erfindungsgemäßen Verfahrens erzeugten neuen Trainingsdaten, die dann als Ausgangspunkt verwendet werden können, nochmals transformierte bzw. variierte neue Trainingsdaten der nächsten Generation, also des nächsten Iterationsschrittes zu erzeugen.Likewise, the method according to the invention can be used iteratively in order to generate transformed or varied new training data of the next generation, i.e. the next iteration step, from new training data already generated in an earlier run of the method according to the invention, which can then be used as a starting point.
Durch das erfindungsgemäße Verfahren kann Aufwand für das manuelle Aufnehmen entsprechender Trainingsdaten in realen Umgebungen eingespart bzw. mit einem bestimmten solchen Aufwand ein größerer Satz von Trainingsdaten bereitgestellt werden. Damit kann ein schnelleres und kostengünstigeres Erzeugen von entsprechend trainierten Maschinenlernmodellen ermöglicht werden, die zudem im Vergleich zur ausschließlichen Verwendung real aufgenommener Trainingsdaten robuster trainiert sein können. Letzteres kann nicht nur der Fall sein, da mehr Trainingsdaten zum Trainieren des jeweiligen Maschinenlernmodells verwendet werden können, sondern auch weil die mittels des erfindungsgemäßen Verfahrens erzeugten Trainingsdaten Eigenschaften aufweisen können, die in realen Umgebungen oder Situationen nur mit enormen Zeitaufwand oder rein zufällig aufgenommen werden können. Die mittels des erfindungsgemäßen Verfahrens erzeugten Trainingsdaten können also entsprechende Randfälle repräsentieren, die für ein robustes Training besonders wichtig sein können.The method according to the invention can save effort for manually recording corresponding training data in real environments or a larger set of training data can be provided with a certain amount of such effort. This makes it possible to generate appropriately trained machine learning models more quickly and cost-effectively, which can also be trained more robustly compared to the exclusive use of real training data. The latter can be the case not only because more training data can be used to train the respective machine learning model, but also because the training data generated using the method according to the invention can have properties that can only be recorded in real environments or situations with an enormous amount of time or purely by chance . The training data generated using the method according to the invention can therefore represent corresponding edge cases that can be particularly important for robust training.
Dabei ist es besonders vorteilhaft, dass die hier vorgeschlagene nicht-lineare Transformation sehr viel komplexere Variationen der ursprünglichen, als Ausgangspunkt bereitgestellten Monokamerabilder und Tiefendaten ermöglicht als beispielsweise herkömmliche globale lineare Transformationen, wie etwa eine einfache Rotation oder Skalierung, die sich homogen und an jeder Stelle gleich auswirkt. Im Vergleich zu solchen globalen linearen Transformationen können die mittels der erfindungsgemäß vorgesehenen nicht-linearen Transformation erzeugten Veränderungen durch ein Maschinenlernmodell weniger leicht als Muster gelernt werden. Dadurch kann das Maschinenlernmodell gezwungen werden, in stärkerem oder robusterem Maße die tatsächlichen grundlegenden Zusammenhänge zwischen Kamerabildern bzw. den Eigenschaften oder dem Aussehen der dargestellten Objekte und deren Entfernungen von der Kamera zu lernen.It is particularly advantageous that the non-linear transformation proposed here enables much more complex variations of the original mono camera images and depth data provided as a starting point than, for example, conventional global linear transformations, such as a simple rotation or scaling, which are homogeneous and at every point has the same effect. In comparison to such global linear transformations, the changes generated by the non-linear transformation provided according to the invention are less easy to learn as patterns by a machine learning model. This can force the machine learning model to learn to a greater or more robust extent the actual fundamental relationships between camera images or the properties or appearance of the displayed objects and their distances from the camera.
In einer möglichen Ausgestaltung der vorliegenden Erfindung werden als Tiefendaten Lidarmessdaten, also Mess- oder Sensordaten eines Lidarsensors, insbesondere eines Lidarsensors für ein Kraftfahrzeug, verwendet. Diese Lidarmessdaten geben dabei nur für einen Teil der Punkte oder Pixel Entfernungen an. Die Lidarmessdaten enthalten also nicht für jeden Punkt oder Pixel Entfernungsangaben und können in diesem Sinne spärliche Daten sein. Die Lidarmessdaten und das jeweilige zugehörige Monokamerabild können in ein gemeinsames Koordinatensystem projiziert oder transformiert werden. Der Einfachheit halber kann dazu beispielsweise das Kamerakoordinatensystem, das Lidarkoordinatensystem oder ein Fahrzeugkoordinatensystem verwendet werden. Da die hier als Grundwahrheitsdaten für die Tiefenkartenschätzung dienenden Lidarmessdaten, spärlich, also nicht dicht bzw. nicht vollständig sind und zumindest herkömmliche Lidarsensoren ein bestimmtes festes Abtast- oder Messpunktemuster aufweisen, könnte die Verwendung von Lidarmessdaten als Grundwahrheitsdaten zu Artefakten in geschätzten Tiefenkarten eines damit trainierten Maschinenlernmodells führen. Solche Artefakte können beispielsweise horizontale Streifenmuster sein, die nicht mit realen Gegebenheiten korrelieren. Solche Artefakte können dadurch zustande kommen, dass die Pixel- oder Messpunktposition der, gegebenenfalls in ein anderes Koordinatensystem projizierten, Lidarmesspunkte, also Lidardetektionen und die Entfernung zu dem dort abgebildeten bzw. erfassten Objekt miteinander korreliert sein können.In a possible embodiment of the present invention, lidar measurement data, i.e. measurement or sensor data from a lidar sensor, in particular a lidar sensor for a motor vehicle, are used as depth data. These eyelid measurement data only indicate distances for some of the points or pixels. The eyelid measurement data therefore does not contain distance information for every point or pixel and in this sense can be sparse data. The eyelid measurement data and the respective associated mono camera image can be projected or transformed into a common coordinate system. For the sake of simplicity, for example, the camera coordinate system, the lidar coordinate system or a vehicle coordinate system can be used. Since the lidar measurement data used here as ground truth data for the depth map estimation is sparse, i.e. not dense or not complete, and at least conventional lidar sensors have a specific fixed sampling or measuring point pattern, the use could of eyelid measurement data as ground truth data lead to artifacts in estimated depth maps of a machine learning model trained with it. Such artifacts can be, for example, horizontal stripe patterns that do not correlate with real conditions. Such artifacts can arise because the pixel or measurement point position of the eyelid measurement points, which may be projected into a different coordinate system, i.e. eyelid detections, and the distance to the object imaged or detected there can be correlated with one another.
Dies kann zumindest unter der Bedingung der Fall sein, dass die Kamera zum Aufnehmen des Monokamerabildes und der Lidarsensor zum Aufnehmen der Lidarmessdaten fest bzw. relativ zueinander lagefest angeordnet oder miteinander verbunden sind. Damit werden dann typischerweise von dem Lidarsensor immer nur dieselben Punkte oder Bereiche relativ zu dem Lidarsensor, also beispielsweise relativ zu einem damit ausgestatteten Kraftfahrzeug erfasst bzw. abgetastet, während in den übrigen Bereichen oder Punkten ein Lidarmesssignal fehlt. Basierend auf solchen Daten kann das Maschinenlernmodell dann gegebenenfalls nicht die tatsächliche Entfernung in Abhängigkeit von dem Monokamerabild lernen, sondern beispielsweise lernen, dass unter der Bedingung, dass an einem bestimmten Punkt Lidarmessdaten vorhanden oder verfügbar sind, sich dort beispielsweise eine Straße befindet.This can be the case at least under the condition that the camera for recording the monocamera image and the lidar sensor for recording the lidar measurement data are arranged in a fixed position or in a fixed position relative to one another or are connected to one another. This means that the lidar sensor typically only detects or scans the same points or areas relative to the lidar sensor, for example relative to a motor vehicle equipped with it, while a lidar measurement signal is missing in the remaining areas or points. Based on such data, the machine learning model may then not be able to learn the actual distance depending on the mono camera image, but rather, for example, learn that under the condition that eyelid measurement data is present or available at a certain point, there is, for example, a road there.
Dieser Problematik kann durch das erfindungsgemäße Verfahren entgegengewirkt werden, da durch die Transformation die ebenfalls zum Trainieren des Maschinenlernmodells verfügbaren neuen variierten Trainingsdaten auch Lidarmessdaten an von dem jeweiligen Lidarsensor nicht direkt abgetasteten oder erfassten Bereichen, Punkten oder Pixeln enthalten können. Somit können durch die vorliegende Erfindung also die Verwendung von Lidarmessdaten als Grundwahrheitsdaten zum Trainieren eines Maschinenlernmodells zum Schätzen von Tiefenkarten anhand von Monokamerabildern und letztlich eine artefaktefreie oder artefaktreduzierte Schätzung von Tiefenkarten mittels eines entsprechend trainierten Maschinenlernmodells ermöglicht werden.This problem can be counteracted by the method according to the invention, since the transformation means that the new, varied training data that is also available for training the machine learning model can also contain lidarm measurement data on areas, points or pixels that are not directly scanned or detected by the respective lidar sensor. Thus, the present invention makes it possible to use eyelid measurement data as ground truth data for training a machine learning model to estimate depth maps based on monocamera images and ultimately an artifact-free or artifact-reduced estimation of depth maps using a correspondingly trained machine learning model.
In einer weiteren möglichen Ausgestaltung der vorliegenden Erfindung wird als die Transformation eine elastische Deformation verwendet. Da solche elastischen Deformationen das jeweilige damit transformierte Monokamerabild signifikant und insbesondere auch in den relativen Lagebeziehungen zwischen dargestellten Objekten verändern können, ist es eine nicht-triviale Erkenntnis, dass solche elastischen Deformationen dennoch als Transformation zum Erzeugen von Trainingsdaten für die Tiefenkartenschätzung verwendet und so erzeugte Trainingsdaten erfolgreich zum Trainieren eines entsprechenden Maschinenlernmodells eingesetzt werden können. Gemäß einer der vorliegenden Erfindung zugrundeliegenden Erkenntnis ist jedoch genau dies der Fall.In a further possible embodiment of the present invention, an elastic deformation is used as the transformation. Since such elastic deformations can significantly change the respective monocamera image transformed with it and in particular also in the relative positional relationships between displayed objects, it is a non-trivial finding that such elastic deformations can still be used as a transformation to generate training data for depth map estimation and training data generated in this way can be successfully used to train a corresponding machine learning model. However, according to a finding underlying the present invention, this is exactly the case.
In einer weiteren möglichen Ausgestaltung der vorliegenden Erfindung wird für die Transformation ein Rauschbild mit einer wenigstens der Anzahl der Pixel des jeweiligen Monokamerabildes entsprechenden Anzahl von Pixeln generiert. Dieses Rauschbild kann insbesondere dieselbe Dimension wie das jeweilige Monokamerabild aufweisen. Die Bild- oder Pixelwerte des Rauschbild entsprechen dabei einem, insbesondere zufälligen oder pseudozufälligen, Rauschen. Mit anderen Worten können die Bild- oder Pixelwerte des Rauschbildes also beispielsweise zufällig bestimmt oder mittels eines Rauschgenerators festgelegt werden. Weiter werden für die Transformation aus dem Rauschbild hier, insbesondere mittels eines vorgegebenen Filters, Verschiebungsdaten erzeugt, die für jeden Pixel eine räumliche Verschiebung angeben oder definieren. Die Verschiebungsdaten können beispielsweise ein Vektorfeld oder zwei Matrizen, von denen eine für jeden Pixel die Verschiebung in x-Richtung und die andere für jeden Pixel die Verschiebung in y-Richtung angibt, sein oder umfassen. Die Verschiebungsdaten können also insbesondere die jeweilige räumliche Verschiebung in allen Richtungen oder Dimensionen, im Falle eines 2D-Monokamerabildes und Rauschbildes mit x- und y-Pixelkoordinaten also in x- und y-Richtung, angeben oder definieren. Dabei kann die Verschiebung für wenigstens eine Richtung oder Dimension zumindest für einen Teil der Pixel auch null sein. Die Verschiebungsdaten können letztlich die Transformation definieren.In a further possible embodiment of the present invention, a noise image with a number of pixels corresponding at least to the number of pixels of the respective mono camera image is generated for the transformation. This noise image can in particular have the same dimension as the respective mono camera image. The image or pixel values of the noise image correspond to noise, in particular random or pseudo-random noise. In other words, the image or pixel values of the noise image can, for example, be determined randomly or set using a noise generator. Furthermore, for the transformation from the noise image, displacement data is generated here, in particular by means of a predetermined filter, which indicates or defines a spatial displacement for each pixel. The displacement data can be or comprise, for example, a vector field or two matrices, one of which indicates the displacement in the x direction for each pixel and the other indicates the displacement in the y direction for each pixel. The displacement data can therefore in particular indicate or define the respective spatial displacement in all directions or dimensions, in the case of a 2D mono camera image and noise image with x and y pixel coordinates, i.e. in the x and y directions. The displacement for at least one direction or dimension can also be zero for at least some of the pixels. The displacement data can ultimately define the transformation.
Für die Transformation werden die Pixelwerte des Monokamerabildes dann gemäß den jeweils für den jeweiligen Pixel in den Verschiebungsdaten angegebenen Verschiebungen verschoben. Dies kann beispielsweise in einem Lookup-Prozess erfolgen, in dem für jeden Pixel des zu transformieren Monokamerabildes die in den Verschiebungsdaten für diesen Pixel angegebene Verschiebung nachgeguckt und angewendet wird.For the transformation, the pixel values of the mono camera image are then shifted according to the shifts specified for the respective pixel in the shift data. This can be done, for example, in a lookup process in which the displacement specified in the displacement data for this pixel is looked up and applied for each pixel of the mono camera image to be transformed.
Durch die hier vorgeschlagene Ausgestaltung der vorliegenden Erfindung können auf besonders einfache und effiziente Weise unterschiedliche Variationen, also unterschiedliche transformierte Kamerabilder und entsprechend transformierte Tiefendaten aus einem einzigen bereitgestellten Monokamerabild mit zugehörigen Tiefendaten erzeugt werden. Dabei kann aufgrund der inhärent zufälligen Eigenschaften des Rauschbildes vermieden werden, dass die so erzeugten Trainingsdaten ein bestimmtes festes Muster enthalten, das zu einem Fehltraining des jeweiligen Maschinenlernmodells und damit letztlich zu unerwünschten Artefakten in den damit geschätzten Tiefenkarten führen könnte.Through the embodiment of the present invention proposed here, different variations, i.e. different transformed camera images and correspondingly transformed depth data, can be generated in a particularly simple and efficient manner from a single provided monocamera image with associated depth data. Due to the inherently random properties of the noise image, it can be avoided that the training data generated in this way contains a specific fixed pattern that would lead to a false training ning of the respective machine learning model and thus ultimately lead to undesirable artifacts in the depth maps estimated with it.
Zum Erzeugen einer möglichst großen Vielfalt von Trainingsdaten aus den jeweiligen Ausgangsdaten, also dem ursprünglich bereitgestellten Monokamerabild und den zugehörigen Tiefendaten, können beispielsweise entsprechend mehrere oder viele unterschiedliche Rauschbilder erzeugt werden. Ebenso kann für jedes als Ausgangspunkt bereitgestellte Monokamerabild wenigstens ein neues Rauschbild erzeugt werden. Insgesamt kann somit auf besonders einfache und effiziente Weise ein Satz von Trainingsdaten erzeugt werden, der ein besonders effektives und robustes Trainieren eines Maschinenlernmodells ermöglicht.In order to generate the greatest possible variety of training data from the respective output data, i.e. the originally provided mono camera image and the associated depth data, several or many different noise images can be generated, for example. Likewise, at least one new noise image can be generated for each mono camera image provided as a starting point. Overall, a set of training data can be generated in a particularly simple and efficient manner, which enables particularly effective and robust training of a machine learning model.
In einer möglichen Weiterbildung der vorliegenden Erfindung wird auf das Rauschbild zum Erzeugen der Verschiebungsdaten ein vorgegebener Gauß-Filter angewendet. Dadurch kann sichergestellt werden, dass jeweils für einen bestimmten Pixel die Verschiebungen in dessen Nachbarschaft oder Umgebung relativ ähnlich zu der für den jeweiligen Pixel vorgesehenen Verschiebung sind. Dadurch kann eine zu starke oder zu chaotische Veränderung bzw. Transformation des jeweiligen Monokamerabildes vermieden werden, die letztlich neue Artefakte in den geschätzten Tiefenkarten verursachen könnte. Durch entsprechende Parametrierung des Gauß-Filters kann dabei bedarfsgerecht festgelegt werden, wie die Nachbarschaft oder Umgebung, also die Region ist, in der relativ ähnlich große oder in die gleiche oder eine relativ ähnliche Richtung zeigende Verschiebungen auftreten bzw. vorgenommen werden. Dies ermöglicht eine entsprechend flexible Anpassung an unterschiedliche Anforderungen sowie eine Optimierung zum Minimieren von Artefakten in den geschätzten Tiefenkarten und zum Maximieren der Genauigkeit und Robustheit des jeweiligen Maschinenlernmodells.In a possible development of the present invention, a predetermined Gaussian filter is applied to the noise image to generate the displacement data. This makes it possible to ensure that, for a particular pixel, the displacements in its neighborhood or surroundings are relatively similar to the displacement intended for the respective pixel. This makes it possible to avoid excessive or chaotic changes or transformations of the respective mono camera image, which could ultimately cause new artifacts in the estimated depth maps. By appropriately parameterizing the Gaussian filter, the neighborhood or environment, i.e. the region, in which shifts of relatively similar size or in the same or a relatively similar direction occur or are made can be determined as required. This allows for flexible adaptation to different requirements as well as optimization to minimize artifacts in the estimated depth maps and maximize the accuracy and robustness of the respective machine learning model.
In einer weiteren möglichen Ausgestaltung der vorliegenden Erfindung wird die Verschiebung der Pixelwerte bzw. eine entsprechende, diese bestimmende Parametrierung der Transformation, auf einen vorgegebenen Maximalwert beschränkt. Mit anderen Worten kann also der Umfang oder das Ausmaß der Verschiebungen in vorgegebener Weise begrenzt werden. Dies kann dem Entstehen von Problemen oder Artefakten in den geschätzten Tiefenkarten entgegenwirken, also ein entsprechend zuverlässiges und robustes Trainieren des Maschinenlernmodells ermöglichen. Der vorgegebene Maximalwert kann beispielsweise abhängig sein von den jeweils als Ausgangspunkt verwendeten Daten, deren Dimension oder Bildgröße, darin dargestellten Details, der Dichte der Tiefendaten und/oder dergleichen mehr. Der vorgegebene Maximalwert kann beispielsweise im Rahmen einer Hyperparametersuche bestimmt oder auf sonstige Weise experimentell für den jeweiligen Anwendungsfall ermittelt werden.In a further possible embodiment of the present invention, the shift of the pixel values or a corresponding parameterization of the transformation that determines this is limited to a predetermined maximum value. In other words, the scope or extent of the shifts can be limited in a predetermined manner. This can counteract the emergence of problems or artifacts in the estimated depth maps, i.e. enable the machine learning model to be trained in a correspondingly reliable and robust manner. The predetermined maximum value can, for example, depend on the data used as a starting point, its dimension or image size, details shown therein, the density of the depth data and/or the like. The specified maximum value can be determined, for example, as part of a hyperparameter search or determined experimentally in some other way for the respective application.
In einer weiteren möglichen Ausgestaltung der vorliegenden Erfindung wird aus einem bestimmten Monokamerabild mittels mehrerer verschiedener bzw. variierter Transformationen eine Vielzahl entsprechend unterschiedlicher transformierter Kamerabilder und damit eine Vielzahl entsprechend unterschiedlicher Trainingsdaten erzeugt. Mit anderen Worten können hier also auf ein und dasselbe Monokamerabild und die zugehörigen Tiefendaten mehrere unterschiedliche nicht-lineare ortsabhängige Transformationen angewendet werden. Dadurch kann insgesamt ein größerer und vielfältigerer Satz von Trainingsdaten erzeugt werden, was wiederum ein effizienteres, effektiveres und robusteres Training des jeweiligen Maschinenlernmodells ermöglichen kann. Die verschiedenen Transformationen können beispielsweise durch zufällige Variationen erzeugt werden, wodurch beispielsweise ein gegebenenfalls unbeabsichtigtes Einbringen von Mustern in die Trainingsdaten vermieden werden kann. Werden mehrere Monokamerabilder mit zugehörigen Tiefendaten bereitgestellt, so können darauf jeweils dieselben Transformationen und/oder unterschiedliche Transformationen angewendet werden.In a further possible embodiment of the present invention, a large number of correspondingly different transformed camera images and thus a large number of correspondingly different training data are generated from a specific mono camera image by means of several different or varied transformations. In other words, several different non-linear location-dependent transformations can be applied to one and the same mono camera image and the associated depth data. This means that a larger and more diverse set of training data can be generated overall, which in turn can enable more efficient, effective and robust training of the respective machine learning model. The various transformations can be generated, for example, by random variations, which can avoid, for example, any unintentional introduction of patterns into the training data. If several mono camera images with associated depth data are provided, the same transformations and/or different transformations can be applied to them.
In einer weiteren möglichen Ausgestaltung der vorliegenden Erfindung werden aus dem Monokamerabild und den korrespondierenden Tiefendaten durch Anwenden wenigstens einer vorgegebenen globalen linearen Transformation die und/oder weitere Trainingsdaten erzeugt. Eine solche globale lineare Transformation kann beispielsweise eine konstante, also homogene bzw. für alle Punkte oder Pixel gleiche Rotation oder Skalierung sein oder umfassen. Die globale lineare Transformation und die nicht-lineare Transformation können jeweils allein, also ausschließlich oder gemeinsam, also in Kombination miteinander auf das jeweilige Monokamerabild und die zugehörigen Tiefendaten angewendet werden, um die Trainingsdaten zu erzeugen. Mit anderen Worten können also erste Trainingsdaten erzeugt werden durch ausschließliches Anwenden der globalen linearen Transformation und separat zweite Trainingsdaten durch ausschließliches Anwenden der nicht-linearen Transformation und/oder dritte Trainingsdaten durch kombiniertes Anwenden sowohl der globalen linearen Transformation als auch der nicht-linearen Transformation jeweils auf ein und dasselbe Monokamerabild. Dadurch können ausgehend von einem einzigen Monokamerabild mehr unterschiedliche und vielfältigere Trainingsdaten erzeugt werden. Dies kann ein effizienteres, effektiveres und robusteres Trainieren des jeweiligen Maschinenlernmodells mit besonders wenigen als Ausgangspunkt bereitgestellten Daten ermöglichen.In a further possible embodiment of the present invention, the training data and/or further training data are generated from the mono camera image and the corresponding depth data by applying at least one predetermined global linear transformation. Such a global linear transformation can, for example, be or include a constant, i.e. homogeneous or the same rotation or scaling for all points or pixels. The global linear transformation and the non-linear transformation can each be applied alone, i.e. exclusively, or together, i.e. in combination with one another, to the respective monocamera image and the associated depth data in order to generate the training data. In other words, first training data can be generated by exclusively applying the global linear transformation and separately second training data by exclusively applying the non-linear transformation and / or third training data by combinedly applying both the global linear transformation and the non-linear transformation respectively one and the same mono camera image. This means that more different and diverse training data can be generated from a single mono camera image. This can enable more efficient, effective and robust training of the respective machine learning model with particularly little data provided as a starting point.
Die vorliegende Erfindung betrifft auch ein Verfahren zum Trainieren eines Maschinenlernmodells, insbesondere eines künstlichen neuronalen Netzes, zum Schätzen von Entfernungs- oder Tiefenkarten für Monokamerabilder bzw. aus Monokamerabildern. Dieses Verfahren kann zur besseren Unterscheidung auch als zweites erfindungsgemäßes Verfahren bezeichnet werden, während das anderer Stelle beschriebene erfindungsgemäße Verfahren zum Erzeugen von Trainingsdaten für ein entsprechendes Maschinenlernmodell als erstes erfindungsgemäßes Verfahren bezeichnet werden kann.The present invention also relates to a method for training a machine learning model, in particular an artificial neural network, for estimating distance or depth maps for mono camera images or from mono camera images. For better distinction, this method can also be referred to as the second method according to the invention, while the method according to the invention described elsewhere for generating training data for a corresponding machine learning model can be referred to as the first method according to the invention.
In einem Verfahrensschritt des zweiten erfindungsgemäßen Verfahrens werden wenigstens ein Monokamerabild und als Grundwahrheitsdaten für dieses korrespondierende Tiefendaten, insbesondere in Form gleichzeitig mit dem jeweiligen Monokamerabild für dieselbe Szene aufgenommenen Lidarmessdaten, bereitgestellt. Daraus werden mittels des ersten erfindungsgemäßen Verfahrens Trainingsdaten erzeugt. Mittels der so erzeugten Trainingsdaten wird in einem weiteren Verfahrensschritt des zweiten erfindungsgemäßen Verfahrens das Maschinenlernmodell, insbesondere mittels überwachten Lernens, trainiert. Dazu können dem Maschinenlernmodell beispielsweise die transformierten Kamerabilder und die zugehörigen transformierten Tiefendaten als Input zugeführt werden, insbesondere an verschiedenen Eingangsstellen oder Eingangsschichten in der Struktur des Maschinenlernmodells. Das zweite erfindungsgemäße Verfahren kann zum auch im Zusammenhang mit dem ersten erfindungsgemäßen Verfahren beschriebenen Trainieren des Maschinenlernmodells angewendet werden bzw. die im Zusammenhang mit dem ersten erfindungsgemäßen Verfahren genannten Verfahrensschritte, Maßnahmen oder Abläufe für das Trainieren des Maschinenlernmodells als, gegebenenfalls optionale, weitere Verfahrensschritte umfassen.In a method step of the second method according to the invention, at least one mono camera image and depth data corresponding to it as ground truth data, in particular in the form of eyelid measurement data recorded simultaneously with the respective mono camera image for the same scene, are provided. Training data is generated from this using the first method according to the invention. Using the training data generated in this way, the machine learning model is trained in a further method step of the second method according to the invention, in particular by means of supervised learning. For this purpose, for example, the transformed camera images and the associated transformed depth data can be supplied to the machine learning model as input, in particular at different input points or input layers in the structure of the machine learning model. The second method according to the invention can be used to train the machine learning model, which is also described in connection with the first method according to the invention, or can include the method steps, measures or processes mentioned in connection with the first method according to the invention for training the machine learning model as, if necessary, optional, further method steps.
Die vorliegende Erfindung betrifft auch ein Assistenzsystem für ein Kraftfahrzeug. Das erfindungsgemäße Assistenzsystem weist eine Schnittstelle zum Erfassen von Monokamerabildern und eine Datenverarbeitungseinrichtung mit auf. Diese Datenverarbeitungseinrichtung umfasst oder implementiert ein Maschinenlernmodell, das gemäß dem zweiten erfindungsgemäßen Verfahren trainiert ist. Das erfindungsgemäße Assistenzsystem ist eingerichtet zum Erzeugen von Tiefenkarten für erfasste Monokamerabilder. Das Maschinenlernmodell des erfindungsgemäßen Assistenzsystems kann insbesondere das im Zusammenhang mit den erfindungsgemäßen Verfahren genannte Maschinenlernmodell sein oder diesem entsprechen. Das Erzeugen der Tiefenkarten kann der Hauptzweck bzw. die Hauptfunktion oder lediglich ein Teilzweck bzw. eine Teilfunktion des erfindungsgemäßen Assistenzsystems sein. Das erfindungsgemäße Assistenzsystem kann die erzeugten Tiefenkarten also beispielsweise über die oder eine Schnittstelle an eine weitere Einrichtung ausgeben oder bereitstellen oder die erzeugten Tiefenkarten selbst, also intern weiterverwenden oder weiterverarbeiten.The present invention also relates to an assistance system for a motor vehicle. The assistance system according to the invention has an interface for acquiring monocamera images and a data processing device. This data processing device includes or implements a machine learning model that is trained according to the second method according to the invention. The assistance system according to the invention is set up to generate depth maps for captured mono camera images. The machine learning model of the assistance system according to the invention can in particular be or correspond to the machine learning model mentioned in connection with the methods according to the invention. Generating the depth maps can be the main purpose or the main function or just a partial purpose or a partial function of the assistance system according to the invention. The assistance system according to the invention can therefore output or provide the generated depth maps to another device, for example via the or an interface, or can further use or further process the generated depth maps themselves, i.e. internally.
Das erfindungsgemäße Assistenzsystem kann insbesondere für einen assistierten oder zumindest teilautomatisierten Betrieb eines Kraftfahrzeugs verwendet werden.The assistance system according to the invention can be used in particular for assisted or at least partially automated operation of a motor vehicle.
Das erfindungsgemäße Assistenzsystem, insbesondere dessen Datenverarbeitungseinrichtung kann beispielsweise einen computerlesbaren Datenspeicher und eine damit gekoppelte Prozessoreinrichtung umfassen. In diesem Datenspeicher kann das Maschinenlernmodell ebenso wie ein vorgegebenes Betriebs- oder Computerprogramm, welches die Funktionen zum Verarbeiten der erfassten Monokamerabilder zu Tiefenkarten mittels des Maschinenlernmodells codiert oder implementiert, gespeichert sein. Dieses Betriebs- oder Computerprogramm kann dann mittels der Prozesseinrichtung, also etwa mittels eines Mikrochips, Mikroprozessors oder Mikrocontrollers oder dergleichen, ausgeführt werden, um die Tiefenkarten zu erzeugen.The assistance system according to the invention, in particular its data processing device, can, for example, comprise a computer-readable data memory and a processor device coupled thereto. The machine learning model as well as a predetermined operating or computer program, which encodes or implements the functions for processing the captured mono camera images into depth maps using the machine learning model, can be stored in this data memory. This operating or computer program can then be executed using the process device, for example using a microchip, microprocessor or microcontroller or the like, in order to generate the depth maps.
Weitere Merkmale der Erfindung können sich aus den Ansprüchen, den Figuren und der Figurenbeschreibung ergeben. Die vorstehend in der Beschreibung genannten Merkmale und Merkmalskombinationen sowie die nachfolgend in der Figurenbeschreibung und/oder in den Figuren allein gezeigten Merkmale und Merkmalskombinationen sind nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar, ohne den Rahmen der Erfindung zu verlassen.Further features of the invention can emerge from the claims, the figures and the description of the figures. The features and combinations of features mentioned above in the description as well as the features and combinations of features shown below in the description of the figures and/or in the figures alone can be used not only in the combination specified in each case, but also in other combinations or on their own, without the scope of the invention to leave.
Die Zeichnung zeigt in:
-
1 einen beispielhaften schematischen Ablaufplan für ein Verfahren zum Erzeugen von unterschiedlichen Trainingsdaten und zum Trainieren eines Maschinenlernmodells damit; -
2 eine schematische Darstellung von als Ausgangspunkt dienenden Trainingsdaten aus einem Bild und zugehörigen Lidardaten; und -
3 eine schematische Darstellung von aus den als Ausgangspunkt dienenden Trainingsdaten erzeugten variierten Trainingsdaten.
-
1 an exemplary schematic flowchart for a method for generating different training data and for training a machine learning model therewith; -
2 a schematic representation of starting training data from an image and associated lidar data; and -
3 a schematic representation of varied training data generated from the training data serving as a starting point.
In den Figuren sind gleiche und funktionsgleiche Elemente mit den gleichen Bezugszeichen versehen. Von diesen ist der Übersichtlichkeit halber gegebenenfalls nur eine repräsentative Auswahl explizit gekennzeichnet.In the figures, identical and functionally identical elements are provided with the same reference numerals. For the sake of clarity, only a representative selection may be explicitly marked.
Für verschiedene Anwendungen kann eine Kenntnis über die Entfernung von in Kamerabildern dargestellten Objekten von der aufnehmenden Kamera nützlich sein. Stehen dafür nur Monokamerabilder zur Verfügung, die keine direkten Angaben zu den Entfernungen enthalten, so können die Entfernungen in Form von sogenannten Tiefenkarten aus den Monokamerabildern mithilfe eines Maschinenlernmodells geschätzt werden. Einem solchen Maschinenlernmodell kann also als Input ein Monokamerabild bereitgestellt oder zugeführt werden, aus dem das Maschinenlernmodell dann als Output eine Tiefenkarte für dieses Monokamerabild generiert. In dieser Tiefenkarte korrespondiert jeder Pixelwert zu der Entfernung zwischen der zum Aufnehmen des Monokamerabildes verwendeten Kamera und dem in dem jeweiligen Pixel dargestellten Objekt. Ein solches Maschinenlernmodell muss jedoch zunächst trainiert werden. Dies wiederum erfordert das Bereitstellen geeigneter Trainingsdaten.For various applications, knowledge of the distance in camera images can be required Objects displayed by the recording camera can be useful. If only mono camera images are available that do not contain any direct information about the distances, the distances can be estimated in the form of so-called depth maps from the mono camera images using a machine learning model. A mono camera image can be provided or fed to such a machine learning model as input, from which the machine learning model then generates a depth map for this mono camera image as an output. In this depth map, each pixel value corresponds to the distance between the camera used to capture the mono camera image and the object represented in that pixel. However, such a machine learning model must first be trained. This in turn requires the provision of suitable training data.
Dazu zeigt
In einem Verfahrensschritt S2 werden aus dem wenigstens einen Monokamerabild und den jeweils zugehörigen Lidarmessdaten Basis- oder Ausgangsdaten erzeugt. Dies kann beispielsweise eine Datenaufbereitung, ein Vereinheitlichen der Koordinatensysteme des wenigstens einen Monokamerabildes und der zugehörigen Lidarmessdaten und/oder dergleichen mehr umfassen.In a method step S2, basic or initial data are generated from the at least one mono camera image and the associated eyelid measurement data. This can include, for example, data preparation, unifying the coordinate systems of the at least one mono camera image and the associated eyelid measurement data and/or the like.
Zur weiteren Veranschaulichung zeigt
Würde nun das Maschinenlernmodell lediglich mit den so erzeugten Ausgangsdaten trainiert werden, so müssten zum einen entsprechend viele Monokamerabilder und zugehörige Lidarmessdaten aufgenommen werden und es könnten zum anderen, insbesondere aufgrund der - beispielhaft in den Lidardaten 14 erkennbaren - Regelmäßigkeit und Spärlichkeit der Lidarmessdaten unerwünschte Verhaltensweisen des Maschinenlernmodells entstehen, die letztendlich zu Artefakten in den durch das entsprechend trainierte Maschinenlernmodell erzeugten Tiefenkarten führen können.If the machine learning model were to be trained only with the output data generated in this way, on the one hand a corresponding number of monocamera images and associated eyelid measurement data would have to be recorded and, on the other hand, undesirable behavior of the eyepiece could occur, particularly due to the regularity and sparsity of the eyelid measurement data, which can be seen, for example, in the
Um dies zu vermeiden, werden hier basierend auf den Ausgangsdaten weitere Trainingsdaten für das Maschinenlernmodell erzeugt. Dazu kann in einem Verfahrensschritt S3 für das wenigstens eine bereitgestellte Monokamerabild wenigstens ein zufälliges Rauschbild generiert werden. In einem Verfahrensschritt S4 können daraus Verschiebungsdaten erzeugt werden. Dies kann beispielsweise das Anwenden eines Gauß-Filters und/oder dergleichen mehr umfassen. Die Verschiebungsdaten definieren für jeden Punkt oder Pixel eine aus dem jeweiligen Rauschbild abgeleitete und daher zumindest in gewissem Maße zufällige Verschiebung bzw. eine entsprechende nicht-lineare Transformation. Ebenso können - gegebenenfalls optional - in einem Verfahrensschritt S5 eine oder mehr globale lineare Transformationen bereitgestellt, also vorgegeben werden.To avoid this, further training data for the machine learning model is generated based on the initial data. For this purpose, at least one random noise image can be generated for the at least one mono camera image provided in a method step S3. In a method step S4, displacement data can be generated from this. This may include, for example, applying a Gaussian filter and/or the like. The displacement data defines for each point or pixel a displacement or a corresponding non-linear transformation that is derived from the respective noise image and is therefore at least to a certain extent random. Likewise - if necessary optionally - one or more global linear transformations can be provided, i.e. specified, in a method step S5.
Durch Anwenden zumindest der nicht-linearen Transformation in einem Verfahrensschritt S6a auf die in den Ausgangsdaten enthaltenen Monokamerabilder und in einem Verfahrensschritt S6b auf die in den Ausgangsdaten enthaltenen zugehörigen Tiefendaten, hier also der entsprechenden Lidarmessdaten, werden entsprechend transformierte Kamerabilder und in gleicher Weise transformierte Tiefen- bzw. Lidarmessdaten erzeugt.By applying at least the non-linear transformation in a method step S6a to the monocamera images contained in the output data and in a method step S6b to the associated depth data contained in the output data, here the corresponding eyelid measurement data, correspondingly transformed camera images and depth images transformed in the same way are obtained. or eyelid measurement data is generated.
Zur Veranschaulichung zeigt
Das Erzeugen solcher veränderter Daten aus den zugrunde liegenden Ausgangsdaten durch Anwenden einer oder mehr solcher Transformationen kann auch als Augmentieren bezeichnet werden.Creating such altered data from the underlying source data by applying one or more such transformations nen can also be referred to as augmentation.
Die transformierten Kamerabilder und die zugehörigen transformierten Tiefen- bzw. Lidarmessdaten werden in einem Verfahrensschritt S7 als neue bzw. weitere Trainingsdaten bereitgestellt. Die hier bereitgestellten Trainingsdaten können ebenso auch die jeweils zugrunde liegenden Ausgangsdaten umfassen.The transformed camera images and the associated transformed depth or eyelid measurement data are provided as new or further training data in a method step S7. The training data provided here can also include the underlying initial data.
Mit den so bereitgestellten Trainingsdaten wird in einem Verfahrensschritt S8 ein vorgegebenes Maschinenlernmodell dazu trainiert, aus als Input bereitgestellten Monokamerabildern zugehörige Tiefenkarten als Output zu schätzen, also zu erzeugen. With the training data provided in this way, in a method step S8, a predetermined machine learning model is trained to estimate, i.e. generate, associated depth maps as output from mono camera images provided as input.
Ein derart trainiertes Maschinenlernmodell kann dann beispielsweise in einem Assistenzsystem für ein Kraftfahrzeug oder dergleichen verwendet werden.A machine learning model trained in this way can then be used, for example, in an assistance system for a motor vehicle or the like.
Insgesamt zeigen die beschriebenen Beispiele wie eine artefaktfreie überwachte monokulare Tiefenschätzung unterstützt durch elastische Deformationen ermöglicht werden kann.Overall, the examples described show how artifact-free monitored monocular depth estimation supported by elastic deformations can be made possible.
BezugszeichenlisteReference symbol list
- 1010
- AblaufplanSchedule
- 1212
- AusgangsbildOutput image
- 1414
- LidardatenLidar data
- 1616
- LidarmesspunkteEyelid measurement points
- 1818
- transformiertes Bildtransformed image
- 2020
- transformierte Lidardatentransformed lidar data
- 2222
- verschobene LidarmesspunkteShifted eyelid measurement points
- S1-S7S1-S7
- VerfahrensschritteProcedural steps
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED 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 documents listed by the applicant was 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 PatentliteraturCited patent literature
- DE 102019103192 A1 [0003]DE 102019103192 A1 [0003]
- DE 112020001897 C5 [0004]DE 112020001897 C5 [0004]
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022120240.2A DE102022120240A1 (en) | 2022-08-11 | 2022-08-11 | Method for generating training data through image transformation, method for training a machine learning model and assistance system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022120240.2A DE102022120240A1 (en) | 2022-08-11 | 2022-08-11 | Method for generating training data through image transformation, method for training a machine learning model and assistance system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102022120240A1 true DE102022120240A1 (en) | 2024-02-22 |
Family
ID=89808871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102022120240.2A Pending DE102022120240A1 (en) | 2022-08-11 | 2022-08-11 | Method for generating training data through image transformation, method for training a machine learning model and assistance system |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102022120240A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102019103192A1 (en) | 2019-02-08 | 2020-08-13 | HELLA GmbH & Co. KGaA | Method for generating training data for a digital, adaptive camera system |
DE112020001897T5 (en) | 2019-04-12 | 2021-12-30 | Nvidia Corporation | Training of neural networks using basic truth data supplemented with map information for autonomous machine applications |
-
2022
- 2022-08-11 DE DE102022120240.2A patent/DE102022120240A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102019103192A1 (en) | 2019-02-08 | 2020-08-13 | HELLA GmbH & Co. KGaA | Method for generating training data for a digital, adaptive camera system |
DE112020001897T5 (en) | 2019-04-12 | 2021-12-30 | Nvidia Corporation | Training of neural networks using basic truth data supplemented with map information for autonomous machine applications |
Non-Patent Citations (2)
Title |
---|
CUBUK, Ekin D., et al. AutoAugment: Learning augmentation strategies from data. arXiv preprint arXiv:1805.09501v3, 2019 |
KAUSHIK, Vinay; JINDGAR, Kartik; LALL, Brejesh. ADAADepth: Adapting Data Augmentation and Attention for Self-Supervised Monocular Depth Estimation. arXiv preprint arXiv:2103.00853v1, 2021 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102014209137B4 (en) | Method and device for calibrating a camera system of a motor vehicle | |
DE102009057996A1 (en) | Method for determining position and/or alignment of camera relative to position of vehicle and semi-trailer, involves determining rotation parameter and/or translation parameter of camera-coordinate system to vehicle-coordinate system | |
EP2753897A1 (en) | Method and device for detecting deviations of an object surface | |
EP3089106A1 (en) | Method for reflection adjustment of images and related apparatus | |
DE102013002889A1 (en) | Method for modeling road edge of road for vehicle, involves determining road curvature using two curvature corrected inspection of search area in image, where inspection is corrected according to two different road curvature hypotheses | |
EP3924932A1 (en) | Modular inpainting method | |
EP2504659B1 (en) | Device and method for measuring and compensating movement influences in phase-shift profilometers and the application thereof in mobile, manually controlled profilometry | |
EP1352363B1 (en) | Method and device for compensating for the maladjustment of an image producing device | |
DE102009007412B4 (en) | Method for tracking at least one object | |
DE102016009756A1 (en) | Method for calibrating a sensor system of a motor vehicle and sensor system | |
DE102022120240A1 (en) | Method for generating training data through image transformation, method for training a machine learning model and assistance system | |
DE102010021221A1 (en) | Camera direction determining method for use in vehicle, involves reconstructing vehicle coordination system from points, and determining camera direction from rotation of camera-coordination system relative to vehicle coordination system | |
DE102021101593B3 (en) | Method for operating environment sensors in a motor vehicle and motor vehicle | |
DE102018207923A1 (en) | Improved training of a classifier | |
EP1756748B1 (en) | Method for the classification of an object by means of a stereo camera | |
DE102017217063A1 (en) | A recognition system, method of operation and training method for generating a 3D model with reference data | |
DE102014219418B4 (en) | Process for the stereo rectification of stereo camera images and driver assistance system | |
EP3174010A2 (en) | Method for creating a 3d representation and corresponding image recording apparatus | |
DE102017205782A1 (en) | Control device and method | |
EP3465608B1 (en) | Method and device for determining a transfer between two display images, and vehicle | |
DE102019008081A1 (en) | Method for a camera-based three-dimensional reconstruction | |
DE102020001195A1 (en) | Method for object detection and localization | |
DE102019127322A1 (en) | Method for detecting objects in a vehicle environment, device for data processing, computer program product and computer-readable data carrier | |
DE102018008791A1 (en) | Method for a three-dimensional reconstruction of a scene | |
DE102018222526A1 (en) | Method and control device for detecting an object |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified |