DE112019007762T5 - Method for training a generative adversarial network, modified image generation module and system for detecting features in an image - Google Patents

Method for training a generative adversarial network, modified image generation module and system for detecting features in an image Download PDF

Info

Publication number
DE112019007762T5
DE112019007762T5 DE112019007762.7T DE112019007762T DE112019007762T5 DE 112019007762 T5 DE112019007762 T5 DE 112019007762T5 DE 112019007762 T DE112019007762 T DE 112019007762T DE 112019007762 T5 DE112019007762 T5 DE 112019007762T5
Authority
DE
Germany
Prior art keywords
image
generator
training
ssd
discriminator
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
Application number
DE112019007762.7T
Other languages
German (de)
Inventor
Luca Minciullo
Sven Meier
Norimasa Kobori
Fabian Manhardt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Europe NV SA
Original Assignee
Toyota Motor Europe NV SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Europe NV SA filed Critical Toyota Motor Europe NV SA
Publication of DE112019007762T5 publication Critical patent/DE112019007762T5/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/60Extraction of image or video features relating to illumination properties, e.g. using a reflectance or lighting model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Abstract

Ein computerimplementiertes Verfahren zum Trainieren eines generativen kontradiktorischen Netzes GAN, das einen Generator (G) und einen Diskriminator (GD, LD) umfasst. Der Generator ist ein Bild-Codierer-Decodierer, der ein Eingabebild (111, 112) einer Szene eingibt und ein modifiziertes Bild (MI) der Szene ausgibt, das zum Verarbeiten durch einen bildbasierten Detektor (SSD) geeignet ist. Das GAN-Netz wird trainiert, indem abwechselnd der Diskriminator (GD, LD) und der Generator (G) trainiert werden. Der Generator (G) wird so trainiert, dass er für jedes Eingabebild unter Eingabebildern (II2), die unter beliebigen Lichtverhältnissen aufgenommen wurden, ein modifiziertes Bild (MI) erzeugt, das dieselbe Szene wie das jeweilige Eingabebild darstellt, jedoch unter zuvor festgelegten ersten Lichtverhältnissen. Dieses Training erfolgt unter Verwendung einer Generatorverlustfunktion (G_loss), die einen Detektorverlustterm (SSD_loss) umfasst, der auf der Grundlage einer Ausgabe (PBB) des bildbasierten Detektors (SSD) berechnet wird. Ein modifiziertes Bildgenerierungsmodul und ein System zum Detektieren von Merkmalen in einem Bild.A computer-implemented method for training a generative adversarial network GAN comprising a generator (G) and a discriminator (GD, LD). The generator is an image codec that inputs an input image (111, 112) of a scene and outputs a modified image (MI) of the scene suitable for processing by an image-based detector (SSD). The GAN network is trained by alternately training the discriminator (GD, LD) and the generator (G). The generator (G) is trained to generate, for each input image among input images (II2) captured under any lighting conditions, a modified image (MI) that represents the same scene as the respective input image, but under predetermined first lighting conditions . This training is done using a generator loss function (G_loss) that includes a detector loss term (SSD_loss) that is calculated based on an output (PBB) of the image-based detector (SSD). A modified image generation module and system for detecting features in an image.

Description

GEBIET DER ERFINDUNGFIELD OF THE INVENTION

Die vorliegende Erfindung betrifft die Detektion von Merkmalen in Bildern, genauer gesagt in Bildern von Außenszenen, in denen die Identifizierung von Merkmalen aufgrund der Vielzahl unterschiedlicher Lichtverhältnisse, denen die Szene ausgesetzt ist, schwierig werden kann.The present invention relates to the detection of features in images, and more particularly in images of outdoor scenes where identifying features can become difficult due to the variety of different lighting conditions to which the scene is exposed.

HINTERGRUND DER ERFINDUNGBACKGROUND OF THE INVENTION

Kameras sind zu einem weit verbreiteten Sensor für die Erfassung von Informationen geworden. Die hochauflösenden Bilder, die sie liefern, können verarbeitet werden, um Informationen zu extrahieren, die in vielen anschließenden Anwendungen genutzt werden können. In diesem Prozess werden die von den Kameras ausgegebenen Bilder nicht direkt verwendet; sie werden durch einen Prozessor verarbeitet, der ein Programm ausführt, welches das Bild bzw. die Bilder verarbeitet, um daraus nützliche Informationen zu gewinnen. Der Prozessor und sein Bildverarbeitungsprogramm bilden einen bildbasierten Detektor, der geeignet ist, nützliche Informationen auf der Grundlage eines oder mehrerer Bilder (oder „Eingabebilder“), die in den Prozessor eingespeist werden, auszugeben. Die Bilder, die durch einen solchen bildbasierten Detektor verarbeitet werden können, können durch eine Kamera (CCD-, CMOS-Kameras, die im sichtbaren, infraroten usw. Bereich arbeiten) oder - allgemeiner ausgedrückt - jeden Sensor, der ein Bild seiner Umgebung ausgeben kann, aufgenommen werden. Die Bilder können auch durch einen Computer berechnet werden.Cameras have become a widely used sensor for gathering information. The high-resolution images they provide can be processed to extract information that can be used in many subsequent applications. In this process, the images output from the cameras are not used directly; they are processed by a processor running a program that processes the image or images to extract useful information from them. The processor and its image processing program form an image-based detector capable of outputting useful information based on one or more images (or "input images") fed to the processor. The images that can be processed by such an image-based detector can be provided by a camera (CCD, CMOS cameras operating in the visible, infrared, etc.) or - more generally - any sensor that can output an image of its surroundings , to be included. The images can also be calculated by a computer.

Bildgestützte Detektoren des oben definierten Typs können je nach Art der in den Bildern zu detektierenden Informationen verschiedensten Typs sein. Der bildgestützte Detektor kann zum Beispiel ein Objektdetektor sein, der Informationen über das Vorhandensein eines oder mehrerer Objekte in den Bildern oder bestimmter Arten von Objekten in den Bildern ausgibt; in einigen Implementierungen umfassen die ausgegebenen Informationen die Begrenzungsrahmen der in den Bildern detektierten Objekte.Image-based detectors of the type defined above can be of various types depending on the type of information to be detected in the images. For example, the image-based detector can be an object detector that outputs information about the presence of one or more objects in the images or certain types of objects in the images; in some implementations, the information output includes the bounding boxes of the objects detected in the images.

Als eine beispielhafte Ausführungsform bildbasierter Objektdetektoren können tiefe neuronale Netze verwendet werden. Zum Beispiel ist ein „Single Shot Detector - Generative Adversarial Network“ (SSD-GAN) in der Publikation von Literaturquelle [2] vorgeschlagen worden.Deep neural networks can be used as an exemplary embodiment of image-based object detectors. For example, a "Single Shot Detector - Generative Adversarial Network" (SSD-GAN) has been proposed in the publication by Literaturquelle [2].

Zwar ist der oben beschriebene Prozess (Bildaufnahme mit einer Kamera und anschließende Verarbeitung durch einen bildbasierten Detektor) bereits in einer Reihe von Anwendungsfällen erfolgreich implementiert worden, doch es hat sich gezeigt, dass eine der größten Herausforderungen beim Umgang mit Bildern aus der realen Welt die große Variabilität des Aussehens von physischen Objekten, Personen und Umgebungen ist, was in einigen Fällen zu einer Qualität führt, die nicht den Erwartungen entspricht.While the process outlined above (image capture with a camera and subsequent processing by an image-based detector) has been successfully implemented in a number of use cases, one of the biggest challenges in dealing with real-world images has proven to be the big one Variability in the appearance of physical objects, people and environments, resulting in some instances of less than expected quality.

Unter diesen Variationen ist ein wichtiger Faktor, der sich auf die Qualität auswirkt, die Lichtverhältnisse. Dieser Faktor wird insbesondere in der unten genannten Publikation [1] besprochen.Among these variations, an important factor affecting quality is lighting conditions. This factor is discussed in particular in the publication [1] mentioned below.

Eine erste Lösung zur Überwindung dieses Problems war die Durchführung einer Vorverarbeitung der Bilder, um die Beleuchtung in den Bildern zu normalisieren, bevor sie in den bildbasierten Detektor eingespeist werden. Zu dieser Vorverarbeitung gehörte herkömmlicherweise die Veränderung des Lichthistogramms der Bilder. Diese Funktion, oder die herkömmlichen Kontrastnormalisierungstechniken, erwiesen sich jedoch als unzureichend, um die unterschiedlichen Lichtverhältnisse in realen Bildern korrekt zu kompensieren, was zu einer schlechten Qualität führte.A first solution to overcome this problem was to perform pre-processing on the images to normalize the illumination in the images before feeding them to the image-based detector. Traditionally, this pre-processing involved altering the light histogram of the images. However, this feature, or the traditional contrast normalization techniques, proved insufficient to correctly compensate for the different lighting conditions in real images, resulting in poor quality.

Dementsprechend besteht Bedarf an Verfahren und Systemen, die in der Lage sind, Bilder so zu verarbeiten, dass die modifizierten Bilder durch ein bildbasiertes Detektornetz mit hoher Qualität verarbeitet werden können.Accordingly, there is a need for methods and systems capable of processing images such that the modified images can be processed by a high quality image-based detector network.

Die derzeitigen Trends zum Erreichen von Unempfindlichkeit gegenüber Änderungen der Lichtverhältnisse durch tiefe neuronale Netze werden durch die nachstehenden Publikationen veranschaulicht (insbesondere Publikation [1]).Current trends for achieving insensitivity to changes in lighting conditions through deep neural networks are illustrated by the publications below (particularly publication [1]).

Literaturquellen:Literature sources:

  • [1] Rad Mahdi, Peter M. Roth und Vincent Lepetit: „ALCN: Adaptive Local Contrast Normalization for Robust Object Detection and 3D Pose Estimation“ (British Machine Vision Conference, 2017).[1] Rad Mahdi, Peter M. Roth and Vincent Lepetit: "ALCN: Adaptive Local Contrast Normalization for Robust Object Detection and 3D Pose Estimation" (British Machine Vision Conference, 2017).
  • [2] Phillip Isola et al.: „Image-to-Image Translation with Conditional Adversarial Networks.“ 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR, IEEE, 2017).[2] Phillip Isola et al.: "Image-to-Image Translation with Conditional Adversarial Networks." 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR, IEEE, 2017).
  • [3] Liu, Wei, et al.: „SSD: Single shot multibox detector“ 14th European Conference on Computer Vision, ECCV 2016. Springer Verlag, 2016.[3] Liu, Wei, et al.: "SSD: Single shot multibox detector" 14th European Conference on Computer Vision, ECCV 2016. Springer Verlag, 2016.
  • [4] Justin Johnson, Alexandre Alahi und Li Fei-Fei: „Perceptual losses for real-time style transfer and super-resolution.“ European conference on computer vision. Springer, Cham, 2016.[4] Justin Johnson, Alexandre Alahi and Li Fei-Fei: "Perceptual losses for real-time style transfer and super-resolution." European conference on computer vision. Springer, Cham, 2016.
  • [5] Karen Simonyan und Andrew Zisserman: „Very deep convolutional networks for large-scale image recognition.“ arXiv preprint arXiv:1409.1556 (2014).[5] Karen Simonyan and Andrew Zisserman: "Very deep convolutional networks for large-scale image recognition." arXiv preprint arXiv:1409.1556 (2014).
  • [6] Olaf Ronneberger, Philipp Fischer und Thomas Brox: „U-net: Convolutional networks for biomedical image segmentation.“ International Conference on Medical image computing and computer-assisted intervention. Springer, Cham, 2015.[6] Olaf Ronneberger, Philipp Fischer and Thomas Brox: "U-net: Convolutional networks for biomedical image segmentation." International Conference on Medical image computing and computer-assisted intervention. Springer, Cham, 2015.

KURZDARSTELLUNG DER ERFINDUNGSUMMARY OF THE INVENTION

Trotz der inzwischen erreichten Leistungsfähigkeit der heutigen Verfahren zum Verarbeiten und Interpretieren von Bildern ist es nach wie vor wünschenswert, über Verfahren und Systeme zu verfügen, die es ermöglichen, trotz der unterschiedlichen Lichtverhältnisse, denen eine Szene ausgesetzt sein kann, ein hohes Qualitätsniveau bildbasierter Prozesse aufrecht zu erhalten.Despite the performance that has been achieved in today's methods for processing and interpreting images, it is still desirable to have methods and systems that make it possible to maintain a high quality level of image-based processes despite the different lighting conditions that a scene may be exposed to to obtain.

Daher wird gemäß einem ersten Aspekt der vorliegenden Erfindung ein Modifizierte-Bilder-Generierungsmodul vorgeschlagen. Dieses Modul ist dafür eingerichtet, ein modifiziertes Bild einer Szene auf der Grundlage eines Anfangsbildes der Szene zu generieren. Dieses Modul umfasst einen Generator, der der Generator eines generativen kontradiktorischen Netzes (Generative Adversarial Network, GAN) ist, wobei das generative kontradiktorische Netz unter Verwendung eines Trainingsverfahrens trainiert wird, das im Folgenden beschrieben wird.Therefore, according to a first aspect of the present invention, a modified image generation module is proposed. This module is designed to generate a modified image of a scene based on an initial image of the scene. This module includes a generator that is the generator of a Generative Adversarial Network (GAN), where the Generative Adversarial Network is trained using a training method that is described below.

Genauer gesagt, ist dieses Modifizierte-Bilder-Generierungsmodul dafür eingerichtet, ein unter beliebigen Lichtverhältnissen aufgenommenes oder berechnetes Anfangsbild einzugeben und ein modifiziertes Bild auszugeben, das dieselbe Szene darstellt, aber so, wie sie unter „optimalen Lichtverhältnissen“ erscheint. Diese „optimalen Lichtverhältnisse“ sind Lichtverhältnisse, die als optimale Lichtverhältnisse für die Ausführung des bildbasierten Prozesses des bildbasierten Detektors angesehen werden.More specifically, this modified image generation module is configured to input an initial image captured or computed under arbitrary lighting conditions and output a modified image representing the same scene but as it appears under "optimal lighting conditions". These “optimal lighting conditions” are lighting conditions that are considered to be optimal lighting conditions for the image-based detector to perform its image-based process.

Dementsprechend ist der Modifizierte-Bilder-Generator in der Lage, eine Vorverarbeitung eines Bildes durchzuführen, um ein modifiziertes Bild auszugeben, das einem Bild derselben Szene sehr nahe kommt, jedoch unter optimalen Lichtverhältnissen. Wenn modifizierte Bilder, die dank dieser Vorverarbeitung erhalten wurden (anstelle der rohen Anfangsbilder), in den bildbasierten Detektor eingegeben werden, ist es daher vorteilhafterweise möglich, ein hohes Qualitätsniveau des bildbasierten Detektors - trotz der unterschiedlichen Lichtverhältnisse der Anfangsbilder - zu erhalten.Accordingly, the modified images generator is able to pre-process an image to output a modified image that closely resembles an image of the same scene but under optimal lighting conditions. Therefore, if modified images obtained thanks to this pre-processing (instead of the raw initial images) are input to the image-based detector, it is advantageously possible to obtain a high quality level of the image-based detector - despite the different lighting conditions of the initial images.

Das Modifizierte-Bilder-Generierungsmodul kann mit einem bildbasierten Detektionsmodul gekoppelt werden, um Merkmale in einem Bild zu detektieren. Das System zum Detektieren von Merkmalen in einem auf diese Weise erhaltenen Bild umfasst das oben definierte Modifizierte-Bilder-Generierungsmodul und ein bildbasiertes Detektionsmodul, das einen bildbasierten Detektor umfasst, der dafür eingerichtet ist, das durch das Modifizierte-Bilder-Generierungsmodul ausgegebene modifizierte Bild der Szene zu verarbeiten.The modified image generation module can be coupled with an image-based detection module to detect features in an image. The system for detecting features in an image obtained in this way comprises the modified-image generation module defined above and an image-based detection module comprising an image-based detector arranged to detect the modified image output by the modified-image generation module to process the scene.

Gemäß der vorliegenden Erfindung ist der Generator mit einem Diskriminator gekoppelt, um ein generatives kontradiktorisches Netz zu bilden. Der Generator ist ein Bild-Codierer-Decodierer, der dafür eingerichtet ist, ein Eingabebild einer Szene einzugeben und ein modifiziertes Bild der Szene auszugeben, das zum Verarbeiten durch einen bildbasierten Detektor geeignet ist.According to the present invention, the generator is coupled to a discriminator to form a generative adversarial network. The generator is an image codec configured to input an input image of a scene and output a modified image of the scene suitable for processing by an image-based detector.

Das Trainingsverfahren für das generative kontradiktorische Netz umfasst:The training procedure for the generative adversarial network includes:

B30) Trainieren des generativen kontradiktorischen Netzes durch abwechselndes Trainieren des Diskriminators und des Generators;

  • wobei der Generator so trainiert wird, dass er für jedes Eingabebild aus einem Beleuchtungstrainingssatz von Eingabebildern einer oder mehrerer Szenen, die unter beliebigen Lichtverhältnissen aufgenommen oder berechnet wurden, ein modifiziertes Bild erzeugt, das dieselbe Szene wie das jeweilige Eingabebild darstellt, jedoch unter zuvor festgelegten ersten Lichtverhältnissen;
  • wobei der Generator unter Verwendung einer Generatorverlustfunktion trainiert wird, die einen Detektorverlustterm umfasst;
  • wobei der Detektorverlustterm auf der Grundlage einer Eingabe des bildbasierten Detektors berechnet wird.
B30) training the generative adversarial network by alternately training the discriminator and the generator;
  • wherein the generator is trained to produce, for each input image, from a lighting training set of input images of one or more scenes captured or computed under any lighting condition, a modified image that represents the same scene as the respective input image, but under predetermined firsts lighting conditions;
  • wherein the generator is trained using a generator loss function comprising a detector loss term;
  • wherein the detector loss term is calculated based on an input from the image-based detector.

In dem obigen Verfahren umfasst das „alternative Trainieren des Diskriminators und des Generators“ natürlich auch die Wiederholung der Schritte des ein- oder mehrmaligen Trainierens des Diskriminators und des ein- oder mehrmaligen Trainierens des Generators.In the above method, of course, "alternatively training the discriminator and the generator" also includes repeating the steps of training the discriminator one or more times and training the generator one or more times.

In dem vorgeschlagenen Verfahren wird der Detektorverlustterm bevorzugt so berechnet, dass er darstellt, wie gut der bildbasierte Detektor seine Funktion auf der Grundlage eines modifizierten Bildes erfüllt.In the proposed method, the detector loss term is preferably calculated to represent how well the image-based detector performs its function based on a modified image.

In einer Ausführungsform wird zum Beispiel für jedes Eingabebild der Detektorverlustterm berechnet, indem eine Ausgabe des bildbasierten Detektors auf der Grundlage eines Grundwahrheitsbildes, das dem Eingabebild entspricht und unter den ersten Lichtverhältnissen aufgenommen oder erhalten wurde, mit einer Ausgabe des bildbasierten Detektors auf der Grundlage des modifizierten Bildes, das auf der Basis jedes Eingabebildes erhalten wurde, verglichen wird.For example, in one embodiment, for each input image, the detector loss term is computed by combining an image-based detector output based on a ground truth image corresponding to the input image and captured or obtained under the first lighting conditions with an image-based detector output based on the modified image obtained on the basis of each input image is compared.

Während seines Trainings wird der Diskriminator für jedes Eingabebild, das er empfängt (das zum Beispiel ein durch den Generator ausgegebenes modifiziertes Bild sein kann), trainiert, um zu bestimmen, ob das Eingabebild ein echtes Bild oder ein gefälschtes Bild ist, wobei ein echtes Bild ein Bild ist, das ursprünglich unter den optimalen Bedingungen (das heißt unter den ersten Lichtverhältnissen) aufgenommen oder berechnet wurde, und umgekehrt ein gefälschtes Bild ein durch den Generator ausgegebenes modifiziertes Bild ist.During its training, for each input image it receives (which may be, for example, a modified image output by the generator), the discriminator is trained to determine whether the input image is a real image or a fake image, where a real image is an image originally taken or calculated under the optimal conditions (i.e. under the first lighting conditions), and conversely a fake image is a modified image output by the generator.

Andererseits lernt der Generator während seines Trainings, modifizierte Bilder zu generieren, die - wenigstens für den Diskriminator - nicht von den echten Bildern zu unterscheiden sind. Folglich generiert der Generator, wenn das Training abgeschlossen ist, Bilder, welche die Szene unter den optimalen (oder ersten) Lichtverhältnissen darzustellen scheinen. Da die optimalen Bedingungen Lichtverhältnisse sind, unter denen die durch den bildbasierten Detektor ausgeführte Verarbeitung am besten funktioniert, ermöglicht die durch den Generator durchgeführte Vorverarbeitung somit dem bildbasierten Detektor die Verarbeitung der modifizierten Bilder mit einem hohen Qualitätsniveau. On the other hand, during its training, the generator learns to generate modified images which - at least for the discriminator - are indistinguishable from the real images. Thus, when training is complete, the generator generates images that appear to represent the scene under the optimal (or initial) lighting conditions. Since the optimal conditions are lighting conditions under which the processing performed by the image-based detector works best, the pre-processing performed by the generator thus enables the image-based detector to process the modified images with a high level of quality.

Vorteilhafterweise umfasst in diesem Verfahren die Generatorverlustfunktion den Detektorverlustterm, der insbesondere auf der Grundlage einer Ausgabe des bildbasierten Detektors berechnet wird, wenn das durch den Modifizierte-Bilder-Generator ausgegebene modifizierte Bild verarbeitet wird. Durch die Einbindung dieses Detektorverlustterms in die Generatorverlustfunktion war es möglich, die Leistung des Generators zu erhöhen, so dass der bildbasierte Detektor eine besonders gute Qualität bei der Verarbeitung modifizierter Bilder erbringt, die durch den unter Verwendung dieser Generatorverlustfunktion trainierten Generator erhalten wurden.Advantageously in this method the generator loss function comprises the detector loss term, which is calculated in particular on the basis of an output of the image-based detector when the modified image output by the modified-images generator is processed. By including this detector loss term in the generator loss function, it was possible to increase the performance of the generator so that the image-based detector performs particularly well in processing modified images obtained by the generator trained using this generator loss function.

Die Generatorverlustfunktion umfasst in der Regel auch andere Terme. Zum Beispiel kann die Generatorverlustfunktion auch eine LI-Norm als einen Rekonstruktionsfehler umfassen.The generator loss function typically includes other terms as well. For example, the generator loss function may also include an LI norm as a reconstruction error.

Sowohl der Generator als auch der Diskriminator werden im Wesentlichen durch neuronale Netze gebildet.Both the generator and the discriminator are essentially formed by neural networks.

Der Generator kann bevorzugt ein Codierer-Decodierer sein. Er kann insbesondere eine U-Netz-Architektur aufweisen (eine U-Netz-Architektur wird zum Beispiel durch Publikation [6] beschrieben).The generator can preferably be a coder-decoder. In particular, it may have a U-network architecture (a U-network architecture is described for example by publication [6]).

Ein Bild-Codierer-Decodierer ist ein neuronales Netz, das im Wesentlichen einen Codierer und einen Decodierer umfasst und dafür eingerichtet ist, eine komprimierte Darstellung eines Bildes zu erlernen. Ein Codierer-Decodierer umfasst zwei Teile:

  • - einen Codierer, der eine Darstellung des Bildes erlernt, wobei er weniger Neuronen verwendet als das Eingabebild
  • - einen Decodierer, der lernt, die originale Eingabe aus der komprimierten Darstellung zu rekonstruieren.
An image codec is a neural network, essentially comprising an encoder and a decoder, configured to learn a compressed representation of an image. A coder-decoder consists of two parts:
  • - an encoder that learns a representation of the image using fewer neurons than the input image
  • - a decoder that learns to reconstruct the original input from the compressed representation.

Ein U-Netz ist ein Bild-Codierer-Decodierer, der durch Hinzufügen von Skip-Connections modifiziert wird, die Codierer-Schichten direkt mit Decodierer-Schichten verbinden: Normalerweise ist eine Schicht an einer Position i mit einer Schicht an der Position n-i verbunden, wobei n die Gesamtzahl der Schichten ist.A U-net is an image encoder-decoder modified by adding skip-connections connecting encoder layers directly to decoder layers: usually a layer at position i is connected to a layer at position ni, where n is the total number of layers.

Der Diskriminator umfasst ein oder mehrere neuronale Netze, die zum Berechnen der Verlustfunktion des Generators verwendet werden.The discriminator includes one or more neural networks that are used to calculate the loss function of the generator.

In einer Ausführungsform umfasst der Diskriminator zwei subneuronale Netze, das heißt einen globalen Diskriminator und einen lokalen Diskriminator. Der globale Diskriminator ist ein neuronales Netz, das auf der Grundlage des gesamten eingegebenen Bildes eine Schätzung ausgibt, ob das eingegebene Bild eine Fälschung oder ein wahres Bild ist.In one embodiment, the discriminator comprises two sub-neural networks, ie a global discriminator and a local discriminator. The global discriminator is a neural network that gives an estimate of whether the input image is a fake or a true image based on the entire input image.

Im Gegensatz dazu umfasst der lokale Diskriminator eine Vorverarbeitungseinheit mit einer Faltungsschicht und eine Hauptverarbeitungseinheit. Die Vorverarbeitungseinheit ist dafür eingerichtet, Patches auszugeben, wobei jeder Patch eine Darstellung eines Teilpatches des eingegebenen Bildes ist. Die Hauptverarbeitungseinheit umfasst ein neuronales Netz und ist dafür eingerichtet, auf der Grundlage der Patches eine Schätzung auszugeben, ob das eingegebene Bild eine Fälschung oder ein wahres Bild ist.In contrast, the local discriminator comprises a pre-processing unit with a convolution layer and a main processing unit. The pre-processing unit is arranged to output patches, each patch being a representation of a sub-patch of the input image. The main processing unit comprises a neural network and is arranged to output an estimate based on the patches as to whether the input image is a fake or a true image.

Die Patches können bevorzugt auf nicht-überlappenden Regionen des eingegebenen Bildes basieren.The patches can preferably be based on non-overlapping regions of the input image.

Der globale Diskriminator kann zum Beispiel ein neuronales Netz sein, das unter Verwendung einer strukturierten Verlustfunktion trainiert wird, welche die Ausgabe des globalen Diskriminators nur bei einem großen Maßstab bestraft; und der lokale Diskriminator wird unter Verwendung einer strukturierten Verlustfunktion trainiert, die die Ausgabe des lokalen Diskriminators nur bei einem kleinen Maßstab, der kleiner als der große Maßstab ist, bestraft.For example, the global discriminator can be a neural network trained using a structured loss function that penalizes the output of the global discriminator only at a large scale; and the local discriminator is trained using a structured loss function that penalizes the local discriminator output only at a small scale smaller than the large scale.

Da der lokale Diskriminator nur auf lokalen Informationen basiert, stellt ein durch die Vorverarbeitungseinheit ausgegebener Patch in der Regel eine lokale Textur des eingegebenen Bildes dar.Since the local discriminator is only based on local information, a patch output by the pre-processing unit usually represents a local texture of the input image.

Indem sowohl der globale als auch der lokale Diskriminator anstelle nur eines einzigen verwendet wird, ist es möglich, ein verbessertes Ergebnis zu erhalten, das den Maßstab des Gesamtbildes und den lokalen Maßstab berücksichtigt. Der globale Diskriminator ist dafür eingerichtet, eine Schätzung auszugeben, die auf der globalen Ähnlichkeit des Gesamtbildes mit einem „wahren“ Bild beruht, das heißt einem Bild, das unter normalen Lichtverhältnissen erhalten wurde wurde. Jedoch kann die Verwendung nur eines solchen Diskriminators dazu führen, dass der Generator darauf trainiert wird, unscharfe Bilder zu generieren, was nicht zufriedenstellend ist. Um diesen Aspekt zu kompensieren, wird der lokale Diskriminator verwendet, der den Generator zwingt, selten vorkommende Details (wie sie in den verschiedenen Regionen erscheinen) des Eingabebildes zu berücksichtigen. Der lokale Diskriminator wird daher verwendet, um zu beurteilen, ob ein Bild „echt“ oder „gefälscht“ ist (das heißt, ob ein Bild unter normalen Lichtverhältnissen aufgenommen wurde oder nicht), indem die Textur des Bildes lokal betrachtet wird, anstatt Großmaßstabs-Indizes zu berücksichtigen.By using both the global and local discriminator instead of just one, it is possible to obtain an improved result that takes into account the scale of the overall image and the local scale. The global discriminator is set up to give an estimate based on the global similarity of the overall image to a "true" image, i.e. an image obtained under normal lighting conditions. However, using only one such discriminator can result in training the generator to generate blurred images, which is unsatisfactory. To compensate for this aspect, the local discriminator is used, which forces the generator to consider seldom occurring details (as they appear in the different regions) of the input image. The local discriminator is therefore used to judge whether an image is "real" or "fake" (that is, whether an image was taken under normal lighting conditions or not) by looking at the texture of the image locally, rather than looking at large-scale indices to consider.

Zum Beispiel kann die globale Zielfunktion des GAN-Netzes einen L2-Verlustterm umfassen, der für den globalen Diskriminator berechnet wird. Umgekehrt kann die globale Zielfunktion des GAN-Netzes einen für den lokalen Diskriminator berechneten L1-Verlustterm umfassen, der das GAN-Netz zwingt, den lokalen Maßstab zu berücksichtigen. (Das wird durch die oben genannte Publikation [2] beschrieben; siehe insbesondere Abschnitt 3.1).For example, the global objective function of the GAN network may include an L2 loss term computed for the global discriminator. Conversely, the global objective function of the GAN network can include an L1 loss term computed for the local discriminator, which forces the GAN network to consider the local scale. (This is described by the above-mentioned publication [2]; see in particular Section 3.1).

Ein Beispiel für eine mögliche Architektur für den Generator, den globalen Diskriminator und den lokalen Diskriminator wird durch die oben genannte Publikation [2] vorgeschlagen: siehe insbesondere die in Abschnitt 3.2 vorgeschlagenen Architekturen: Abschnitt 3.2.1 für den Generator G; Abschnitt 3.2.3 für den lokalen Diskriminator LD, mit dem Beispiel von PatchGAN.An example of a possible architecture for the generator, the global discriminator and the local discriminator is proposed by the above-mentioned publication [2]: see in particular the architectures proposed in Section 3.2: Section 3.2.1 for the generator G; Section 3.2.3 for the local discriminator LD, with the example of PatchGAN.

In einer Ausführungsform ist der bildbasierte Detektor ein Objektdetektor, insbesondere ein neuronales Netz, das dafür eingerichtet ist, Objekte in einem Bild zu detektieren. Der Objektdetektor kann insbesondere die Begrenzungsrahmen von in dem Bild gezeigten Objekte detektieren. Nun kann die Funktion des bildbasierten Detektors im weiteren Sinne jede Computer-Vision-Aufgabe sein: Aktivitätenerkennung, semantische Segmentierung, SLAM usw.In one embodiment, the image-based detector is an object detector, in particular a neural network, which is set up to detect objects in an image. In particular, the object detector can detect the bounding boxes of objects shown in the image. Now, in a broader sense, the function of the image-based detector can be any computer vision task: activity detection, semantic segmentation, SLAM, etc.

In einer Ausführungsform berücksichtigt die Generatorverlustfunktion außerdem einen Wahrnehmungsverlust, wobei der Wahrnehmungsverlust eine bildbasierte Funktion ist, die zunimmt, wenn ein Schärfeverlust in dem Bild zunimmt.In one embodiment, the generator loss function also accounts for perceptual loss, where perceptual loss is an image-based function that increases as sharpness loss in the image increases.

Eine solche Funktion wird insbesondere durch die Publikation [4] beschrieben.Such a function is described in particular by publication [4].

In einer Ausführungsform basiert die bildbasierte Funktion auf Informationen, die jeweils durch zwei verschiedene Schichten eines neuronalen Faltungsnetzes ausgegeben werden. Dieses neuronale Faltungsnetz kann zum Beispiel ein neuronales VGG16-Netz oder ein ähnliches neuronales Netz sein.In one embodiment, the image-based function is based on information that is output by two different layers of a convolutional neural network, respectively. This convolution neural network can be, for example, a VGG16 neural network or a similar neural network.

In diesem Fall kann der Wahrnehmungsverlust durch die Summe zweier Termen wie folgt ausgedrückt werden: Das Eingabebild und das Ausgabebild werden in das VGG16 oder ein ähnliches neuronales Netz eingegeben. Die Ausgaben einer Faltungsschicht mit niedrigem Rang und einer Faltungsschicht mit hohem Rang werden dann erfasst; sie werden „Merkmale auf niedriger Ebene“ bzw. „Merkmale auf hoher Ebene“ genannt.In this case, the loss of perception can be expressed by the sum of two terms as follows: The input image and the output image are input to the VGG16 or a similar neural network. The outputs of a low-order convolutional layer and a high-order convolutional layer are then collected; they are called "low-level traits" and "high-level traits," respectively.

Der Wahrnehmungsverlust kann dann wie folgt ausgedrückt werden: L p e r c = 100 ( | h i g h _ l e v e l ( i n p u t ) h i g h _ l e v e l ( o u t p u t ) | + | l o w _ l e v e l ( i n p u t ) l o w _ l e v e l ( o u t p u t ) | )

Figure DE112019007762T5_0001
The loss of perception can then be expressed as follows: L p e right c = 100 ( | H i G H _ l e v e l ( i n p and t ) H i G H _ l e v e l ( O and t p and t ) | + | l O w _ l e v e l ( i n p and t ) l O w _ l e v e l ( O and t p and t ) | )
Figure DE112019007762T5_0001

In einer Ausführungsform umfasst das Verfahren außerdem folgenden Schritt:

  • B20) Erstellen des GAN-Trainingssatzes, wobei der GAN-Trainingssatz umfasst:
  • als Eingabe, Bilder von mindestens einer Szene, wobei die mindestens eine Szene unter mehreren Lichtverhältnissen abgebildet wird;
  • als Grundwahrheit, Bilder der mindestens einen Szene unter den ersten Lichtverhältnissen.
In one embodiment, the method also includes the step of:
  • B20) creating the GAN training set, the GAN training set comprising:
  • as input, images of at least one scene, the at least one scene being imaged under multiple lighting conditions;
  • as a basic truth, images of at least one scene under the first lighting conditions.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein computerimplementiertes Verfahren zum Trainieren eines bildbasierten neuronalen Netzes vorgeschlagen.According to a further aspect of the present invention, a computer-implemented method for training an image-based neural network is proposed.

In diesem Verfahren umfasst das bildbasierte neuronale Netz einen Generator, der mit einem bildbasierten Detektor gekoppelt ist; der bildbasierte Detektor ist ein neuronales Netz, das dafür eingerichtet ist, ein modifiziertes Bild der Szene zu verarbeiten, das durch den Generator ausgegeben wird; der Generator ist ein Bild-Codierer-Decodierer, der dafür eingerichtet ist, ein Eingabebild einer Szene einzugeben und ein modifiziertes Bild der Szene auszugeben, das zum Verarbeiten durch den bildbasierten Detektor geeignet ist; der Generator ist Teil eines generativen kontradiktorischen Netzes, das den Generator und einen Diskriminator umfasst.In this method, the image-based neural network comprises a generator coupled to an image-based detector; the image-based detector is a neural network arranged to process a modified image of the scene output by the generator; the generator is an image codec arranged to input an input image of a scene and output a modified image of the scene suitable for processing by the image-based detector; the generator is part of a generative adversarial network that includes the generator and a discriminator.

Das Verfahren umfasst den folgenden Schritt:

  • B) Trainieren des generativen kontradiktorischen neuronalen Netzes unter Verwendung des oben definierten Trainingsverfahrens; wobei das Verfahren so implementiert wird, dass während des Trainingsschrittes B30) der Verlust unter Verwendung der Verlustfunktion des bildbasierten Detektors (SSD) berechnet wird.
The procedure includes the following step:
  • B) training the generative adversarial neural network using the training method defined above; wherein the method is implemented such that during the training step B30) the loss is calculated using the loss function of the image-based detector (SSD).

Das Verfahren kann des Weiteren die folgenden optionalen Schritte zum Trainieren des bildbasierten Detektors umfassen:

  • A10) Erstellen eines ersten Trainingssatzes, der umfasst:
    • als eine Eingabe, erste Bilder von mindestens einer Szene unter den ersten Lichtverhältnissen;
    • als Grundwahrheit, gewünschte Ausgaben des bildbasierten Detektors für die ersten Bilder.
  • A20) Trainieren des bildbasierten Detektors anhand des ersten Trainingssatzes.
The method may further include the following optional steps for training the image-based detector:
  • A10) Create an initial training set that includes:
    • as an input, first images of at least one scene under the first lighting conditions;
    • as a ground truth, desired outputs of the image-based detector for the first images.
  • A20) Training the image-based detector using the first training set.

Darüber hinaus kann das Verfahren die folgenden optionalen Schritte zum Optimieren des bildbasierten Detektors umfassen:

  • C10) Erstellen eines dritten Trainingssatzes, der umfasst:
    • als eine Eingabe, Bilder, die durch den Generator bei der Verarbeitung des ersten Trainingssatzes ausgegeben werden; und
    • als Grundwahrheit, die gewünschten Ausgaben des bildbasierten Detektors für die ersten Bilder.
  • C20) Trainieren des bildbasierten Detektors anhand des dritten Trainingssatzes.
In addition, the method may include the following optional steps to optimize the image-based detector:
  • C10) Create a third training set that includes:
    • as an input, images output by the generator in processing the first training set; and
    • as a ground truth, the desired outputs of the image-based detector for the first images.
  • C20) Training the image-based detector using the third training set.

Wenn der bildbasierte Detektor ein Objektdetektor ist, so können die gewünschten Ausgaben des bildbasierten Detektors zum Beispiel die tatsächlichen Begrenzungsrahmen der verschiedenen in dem Bild dargestellten Objekte sein.For example, if the image-based detector is an object detector, the desired outputs of the image-based detector may be the actual bounding boxes of the various objects represented in the image.

In einer Ausführungsform umfasst das Trainingsverfahren des Weiteren das mindestens einmalige Wiederholen des Schrittes B) des Trainierens des generativen kontradiktorischen neuronalen Netzes und der Schritte C10) des Erstellens des dritten Trainingssatzes und C20) des Trainierens des bildbasierten Detektors.In one embodiment, the training method further comprises repeating step B) training the generative adversarial neural network and steps C10) creating the third training set and C20) training the image-based detector at least once.

In einer bestimmten Implementierung wird das vorgeschlagene Trainingsverfahren durch Computerprogramminstruktionen bestimmt.In a particular implementation, the proposed training method is determined by computer program instructions.

Dementsprechend besteht ein weiterer Zweck der vorliegenden Erfindung darin, ein Computerprogramm vorzuschlagen, das Instruktionen umfasst, die, wenn das Programm durch einen Computer ausgeführt wird, den Computer veranlassen, die Schritte eines Verfahrens auszuführen. Das Computerprogramm wird bevorzugt auf einem nichttransitorischen, computerlesbaren Speichermedium gespeichert. Das Computerprogramm kann jede beliebige Programmiersprache verwenden und kann in Form von Quellcode, Objektcode oder eines Codes zwischen Quellcode und Objektcode, zum Beispiel in teilweise kompilierter Form, oder in jeder anderen zweckmäßigen Form vorliegen. Der Computer kann ein beliebiges Datenverarbeitungsmittel sein, zum Beispiel ein Personalcomputer, eine elektronische Steuereinheit, die für den Einbau in ein Fahrzeug eingerichtet ist, usw.Accordingly, another purpose of the present invention is to propose a computer program comprising instructions which, when the program is executed by a computer, cause the computer to carry out the steps of a method. The computer program is preferably stored on a non-transitory, computer-readable storage medium. The computer program can use any programming language and can be in the form of source code, object code or a code between source code and object code, for example in partially compiled form, or in any other convenient form. The computer can be any data processing means, for example a personal computer, an electronic control unit adapted to be installed in a vehicle, etc.

Die vorliegende Erfindung umfasst auch ein nicht-transitorisches computerlesbares Medium, auf dem das Computerprogramm gespeichert ist. Das computerlesbare Medium kann eine Entität oder eine Vorrichtung sein, die das Programm speichern kann. Zum Beispiel kann das computerlesbare Medium ein Speichermittel wie zum Beispiel einen Nurlesespeicher (Read Only Memory, ROM), zum Beispiel einen Compact Disk (CD)-ROM oder einen ROM mit mikroelektronischem Schaltkreis, oder auch ein magnetisches Aufzeichnungsmittel, zum Beispiel eine Diskette oder eine Festplatte, umfassen. Alternativ kann das computerlesbare Medium ein integrierter Schaltkreis sein, in den das Programm integriert ist, wobei der Schaltkreis dafür ausgelegt ist, das hier besprochene Steuerungsverfahren auszuführen oder an dessen Ausführung mitzuwirken.The present invention also includes a non-transitory computer-readable medium on which the computer program is stored. The computer-readable medium can be any entity or device capable of storing the program. For example, the computer-readable medium can be a storage medium, such as a read-only memory (ROM), such as a compact disk (CD)-ROM or a microelectronic circuitry ROM, or it can be a magnetic recording medium, such as a floppy disk or a hard drive, include. Alternatively, the computer-readable medium may be an integrated circuit incorporating the program, which circuit is configured to perform or participate in the performance of the control method discussed herein.

Eine weitere Aufgabe der vorliegenden Erfindung ist es, eine Datenverarbeitungsvorrichtung vorzuschlagen, die dafür eingerichtet ist, die Schritte des oben definierten Trainingsverfahrens auszuführen.Another object of the present invention is to propose a data processing device adapted to carry out the steps of the training method defined above.

Figurenlistecharacter list

  • 1 zeigt eine schematische Darstellung einer Ausführungsform eines bildbasierten Detektors; 1 12 shows a schematic representation of an embodiment of an image-based detector;
  • 2 zeigt eine schematische Darstellung eines Eingabebildes, das durch den bildbasierten Detektor von 1 verarbeitet werden soll; 2 FIG. 12 shows a schematic representation of an input image detected by the image-based detector of FIG 1 to be processed;
  • 3 zeigt eine schematische Darstellung eines generativen kontradiktorischen Netzes gemäß einer Ausführungsform der vorliegenden Erfindung während des Trainings seines Diskriminators; 3 Figure 12 shows a schematic representation of a generative adversarial network according to an embodiment of the present invention during training of its discriminator;
  • 4 zeigt eine schematische Darstellung des generativen kontradiktorischen Netzes aus 3 während des Trainings seines Generators; 4 shows a schematic representation of the generative adversarial mesh 3 while training his generator;
  • 5 zeigt ein Blockdiagramm eines Trainingsverfahrens gemäß einer Ausführungsform der vorliegenden Erfindung; und 5 Figure 12 shows a block diagram of a training method according to an embodiment of the present invention; and
  • 6 zeigt eine schematische Darstellung eines Fahrzeugs, das eine Datenverarbeitungsvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung umfasst. 6 FIG. 12 shows a schematic representation of a vehicle comprising a data processing device according to an embodiment of the present invention.

BESCHREIBUNG DER AUSFÜHRUNGSFORMENDESCRIPTION OF THE EMBODIMENTS

Wir wenden uns nun im Einzelnen beispielhaften Ausführungsformen der Erfindung zu, wovon Beispiele in den beiliegenden Zeichnungen veranschaulicht sind. Wo immer möglich, werden in allen Zeichnungen die gleichen Bezugszeichen verwendet, um auf dieselben oder gleiche Teile zu verweisen.We turn now in detail to exemplary embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.

ARCHITEKTUR EINES NEURONALEN NETZESARCHITECTURE OF A NEURAL NETWORK

Die Architekturen neuronaler Netze gemäß der vorliegenden Erfindung basieren im Wesentlichen auf einem generativen kontradiktorischen Netz (Generative Adversarial Network) GAN, das durch Hilfs-Verlustfunktionsberechnungsmodule, einschließlich eines bildbasiertes Detektors SSD, ergänzt wird.The neural network architectures according to the present invention are essentially based on a Generative Adversarial Network (GAN) complemented by auxiliary loss function calculation modules including an image-based detector SSD.

In der vorliegenden beispielhaften Ausführungsform ist der bildbasierte Detektor ein Algorithmus, der in der Lage ist, die Begrenzungsrahmen der in einem Bild gezeigten Objekte zu bestimmen. Wie bereits erläutert, können die Verfahren und Systeme der vorliegenden Erfindung unter Verwendung eines bildbasierten Detektors implementiert werden, der auch für eine andere Funktion als die Objektdetektion eingerichtet ist.In the present exemplary embodiment, the image-based detector is an algorithm capable of determining the bounding boxes of objects shown in an image. As previously discussed, the methods and systems of the present invention may be implemented using an image-based detector that is also configured for a function other than object detection.

In der vorliegenden Ausführungsform ist der bildbasierte Detektor ein Single-Shot-Detektor (SSD), der dafür eingerichtet ist, Objekte in einem Bild zu detektieren (im Weiteren das „SSD-Netz“). Das kann zum Beispiel der durch die Publikation [3] vorgeschlagenen Single-Shot-Multibox-Detektor sein (siehe insbesondere Abschnitt 2.1 und 2).In the present embodiment, the image-based detector is a single-shot detector (SSD) configured to detect objects in an image (hereinafter the “SSD mesh”). This can be, for example, the single-shot multibox detector proposed by publication [3] (see in particular Section 2.1 and 2 ).

Das SSD-Netz ist dafür eingerichtet, Eingabebilder (II) zu erhalten und die vorhergesagten Begrenzungsrahmen (Predicted Bounding Boxes, PBB) der in dem Eingabebild detektierten Objekte auszugeben. 1 zeigt zum Beispiel ein Bild IIA, welches das erste Bild eines Satzes von Eingabebildern II ist, das in das SSD-Netz eingegeben wird. Dieses Bild IIA stellt zwei Äpfel dar (2). Das SSD-Netz verarbeitet das Bild IIA und gibt die vorhergesagten Werte PBB1 und PBB2 der Begrenzungsrahmen ((ulmin,vlmin); (ulmax,vlmax)), (u2min,v2min); (u2max,v2max)) der Darstellungen der beiden Äpfel in Bild IIA aus. Durch die Verarbeitung aller Eingabebilder des Satzes von Eingabebildem II gibt das SSD-Netz einen Satz Begrenzungsrahmen PBB aus.The SSD network is arranged to receive input images (II) and to output the predicted bounding boxes (PBB) of the objects detected in the input image. 1 Figure 12 shows, for example, an image IIA, which is the first image of a set of input images II that is input to the SSD mesh. This image IIA represents two apples ( 2 ). The SSD mesh processes the image IIA and returns the predicted values PBB1 and PBB2 of the bounding boxes ((ulmin,vlmin); (ulmax,vlmax)), (u2min,v2min); (u2max,v2max)) of the representations of the two apples in Figure IIA. By processing all input images of the set of input images II, the SSD network outputs a set of bounding boxes PBB.

Das generative kontradiktorische Netz GAN umfasst ein erstes neuronales Netz G, das den Generator darstellt, und zwei neuronale Netze, und zwar einen globalen Diskriminator GD und einen lokalen Diskriminator LD, die den Diskriminator bilden (3, 4).The adversarial generative network GAN comprises a first neural network G representing the generator and two neural networks, namely a global discriminator GD and a local discriminator LD, forming the discriminator ( 3 , 4 ).

Der Generator G ist ein Codierer-Decodierer, der dafür eingerichtet ist, ein Eingabebild II einer Szene einzugeben und ein modifiziertes Bild MI der Szene auszugeben. Gewöhnlich hat das modifizierte Bild MI die gleiche Größe (Höhe und Breite) wie das Eingabebild II.The generator G is a coder-decoder arranged to input an input image II of a scene and to output a modified image MI of the scene. Usually the modified image MI has the same size (height and width) as the input image II.

Das Eingabebild II kann natürlich unter beliebigen Lichtverhältnissen aufgenommen oder berechnet worden sein.The input image II can of course have been recorded or calculated under any lighting conditions.

Gemäß der vorliegenden Erfindung wird der Generator G so trainiert, dass das modifizierte Bild MI einem Bild der Szene, wie es unter den ersten Lichtverhältnissen erscheinen würde, so nahe wie möglich kommt. Das heißt, der Generator G ist dafür eingerichtet, die Lichtverhältnisse der Szene so zu korrigieren, dass er ein modifiziertes Bild ausgibt, in dem die Lichtverhältnisse so modifiziert sind, dass sie optimalen Lichtverhältnissen entsprechen.According to the present invention, the generator G is trained so that the modified image MI is as close as possible to an image of the scene as it would appear under the first lighting conditions. That is, the generator G is arranged to correct the lighting conditions of the scene so that it outputs a modified image in which the lighting conditions are modified to correspond to optimal lighting conditions.

Der Generator G kann zum Beispiel eine Codierer-Decodierer-Architektur aufweisen. In der vorliegenden Ausführungsform weist er eine U-Netz-Architektur auf, das heißt eine Codierer-Decodierer-Architektur, die durch Skip-Connections zwischen der Codierer- und der Decodierer-Schicht ergänzt wird. Eine solche Architektur wird durch die Publikation [2], Abschnitt 3.2.1, und durch die Publikation [6], insbesondere in der Architektur von 1, präsentiert.For example, the generator G may have a coder-decoder architecture. In the present embodiment, it has a U-network architecture, ie a coder-decoder architecture supplemented by skip connections between the coder and decoder layers. Such an architecture is disclosed by publication [2], section 3.2.1, and by publication [6], particularly in the architecture of 1 , presents.

In dieser Ausführungsform umfasst der Diskriminator D zusätzlich zu dem globalen Diskriminator GD einen zusätzlichen Diskriminator, welcher der „lokale Diskriminator“ genannt und mit LD bezeichnet wird.In this embodiment, the discriminator D comprises, in addition to the global discriminator GD, an additional discriminator called the "local discriminator" and denoted by LD.

Diese beiden Netze sind dafür eingerichtet, ein erstes Bild, das ein „rohes“ Bild der Szene ist, das unter beliebigen Lichtverhältnissen aufgenommen wurde, und ein zweites Bild, das ein Bild derselben Szene ist, nun aber unter optimalen Lichtverhältnissen, eingeben.These two networks are set up to input a first image, which is a "raw" image of the scene, taken under any lighting conditions, and a second image, which is an image of the same scene but now under optimal lighting conditions.

Dieses zweite Bild kann von zweierlei Art sein: Es kann entweder ein Grundwahrheitsbild sein, das heißt ein Bild der Szene unter optimalen Lichtverhältnissen, oder ein modifiziertes Bild MI, das durch den Generator G ausgegeben wird (dieses Bild soll die optimalen Lichtverhältnissen darstellen).This second image can be of two types: it can be either a ground truth image, i.e. an image of the scene under optimal lighting conditions, or a modified image MI output by the generator G (this image is intended to represent the optimal lighting conditions).

Auf der Grundlage des ersten und des zweiten Bildes gibt jedes dieser Netze eine Schätzung, EGD bzw. ELD, aus (eine reelle Zahl in einem Bereich von [0-1]), die ausdrückt, inwieweit das zweite Bild wahrscheinlich das Grundwahrheitsbild statt eines modifizierten Bildes ist. Wenn das Netz den Wert 1 ausgibt, so bedeutet das für jedes dieser Netze, dass das zweite Bild mit absoluter Gewissheit das Grundwahrheitsbild ist. Gibt das Netz hingegen den Wert 0 aus, so bedeutet das, dass das Bild für das neuronale Netz mit absoluter Gewissheit ein modifiziertes Bild ist.Based on the first and second images, each of these networks returns an estimate, E GD and E LD , respectively (a real number in a range [0-1]) that expresses how likely the second image is to the ground truth image of a modified image. If the net returns the value 1, this means for each of these nets that the second picture is the ground truth picture with absolute certainty. On the other hand, if the network returns the value 0, this means that the image for the neural network is a modified image with absolute certainty.

In einer anderen Ausführungsform können die Diskriminatornetze GD und LD so eingerichtet sein, dass sie anstelle von Werten in einem Bereich (in der vorliegenden Ausführungsform im Bereich [0-1]) binäre Werte ausgeben.In another embodiment, the discriminator networks GD and LD may be arranged to output binary values instead of values in a range (in the range [0-1] in the present embodiment).

Jedes der Netze G, GD und LD wird aus Modulen der Form Faltung-BatchNorm-ReLu gebildet.Each of the networks G, GD and LD is formed from modules of the form Convolution-BatchNorm-ReLu.

Der lokale Diskriminator LD umfasst zwei Einheiten, eine Vorverarbeitungseinheit LD1, die eine Faltungsschicht LD11 umfasst, und eine Hauptverarbeitungseinheit LD2.The local discriminator LD comprises two units, a pre-processing unit LD1 comprising a convolution layer LD11 and a main processing unit LD2.

Die Vorverarbeitungseinheit LD1 ist dafür eingerichtet, Patches auszugeben. Jeder dieser Patches ist eine Darstellung eines Teilpatches des eingegebenen Bildes. In dieser Ausführungsform ist jedes Eingabebild in acht Teilpatches p11-p41 und pl2-p42 unterteilt, die zusammen als die Teilpatches p bezeichnet werden. Dementsprechend gibt die Vorverarbeitungseinheit LD1 für jeden Teilpatch p des Eingabebildes II einen Patch aus. Dieser Patch basiert nur auf dem betrachteten Teilpatch p und stellt dessen Textur dar.The pre-processing unit LD1 is set up to issue patches. Each of these patches is a representation of a sub-patch of the input image. In this embodiment, each input image is divided into eight sub-patches p11-p41 and p12-p42, collectively referred to as the sub-patches p. Accordingly, the pre-processing unit LD1 outputs a patch for each partial patch p of the input image II. This patch is based only on the considered partial patch p and represents its texture.

In einem zweiten Schritt gibt die Hauptverarbeitungseinheit LD2 auf der Grundlage der acht durch die Vorverarbeitungseinheit LD1 ausgegebenen Patches ihre Schätzung ELD aus.In a second step, the main processing unit LD2 outputs its estimate E LD based on the eight patches output by the pre-processing unit LD1.

KONFIGURATIONS- UND TRAININGSABLAUFCONFIGURATION AND TRAINING PROCESS

Es wird nun eine beispielhafte Implementierung eines Verfahrens zum Konfigurieren und Trainieren des GAN-Netzes und des SSD-Netzes gemäß der vorliegenden Erfindung vorgestellt.An exemplary implementation of a method for configuring and training the GAN network and the SSD network according to the present invention is now presented.

Die vorliegende Erfindung kann insbesondere zum Verbessern der Leistung eines bildbasierten Detektors des Standes der Technik implementiert werden.In particular, the present invention can be implemented to improve the performance of a prior art image-based detector.

Im vorliegenden Fall ist der bildbasierte Detektor ein Detektor (und zwar das SSD-Netz), der trainiert werden kann. In einem solchen Fall besteht ein erster Schritt aus einem anfänglichen Trainieren des bildbasierten Detektors. Dementsprechend besteht in der vorliegenden Ausführungsform der erste Schritt aus dem Trainieren des SSD-Netzes.In the present case, the image-based detector is a detector (namely the SSD network) that can be trained. In such a case, a first step consists of an initial training of the image-based detector. Accordingly, in the present embodiment, the first step is to train the SSD network.

A. Konfigurieren und anfängliches Trainieren des bildbasierten Detektors SSDA. Configuring and initial training of the image-based detector SSD

Das SSD-Netz wird durch Ausführen der folgenden Schritte A10, A20 trainiert:The SSD network is trained by performing the following steps A10, A20:

A10 - Erstellen eines ersten Trainingssatzes SSD-TS1A10 - Creating a first training set SSD-TS1

Für das anfängliche Trainieren des SSD-Netzes wird ein erster Trainingssatz SSD-TS1 generiert. Dieser erste Trainingssatz SSD-TS1 dient dazu, das SSD-Netz zu trainieren, um die Position der Begrenzungsrahmen von in Bildern vorhandenen Objekten zu bestimmen.For the initial training of the SSD network, a first training set SSD-TS1 is generated. This first training set SSD-TS1 serves to train the SSD network to determine the position of the bounding boxes of objects present in images.

Der erste Trainingssatz SSD-TS1 umfasst erste Eingabebilder II1 verschiedener Szenen. Alle diese Eingabebilder werden unter optimalen Lichtverhältnissen aufgenommen oder berechnet. Gemäß der vorstehenden Definition sind diese optimalen Lichtverhältnisse im vorliegenden Fall die Lichtverhältnisse, die zum Ausführen einer Begrenzungsrahmendetektion in Bildern als am besten geeignet angesehen werden.The first training set SSD-TS1 includes first input images II1 of different scenes. All of these input images are captured or computed under optimal lighting conditions. As defined above, these optimal lighting conditions are, in the present case, the lighting conditions that are considered best for performing bounding box detection in images.

In dem ersten Trainingssatz SSD-TS1 ist die Grundwahrheit die korrekten oder gewünschten Begrenzungsrahmen für die durch die Bilder III gezeigten Objekte.In the first training set SSD-TS1, the ground truth is the correct or desired bounding boxes for the objects shown by Images III.

A20 - Trainieren des SSD-NetzesA20 - Training the SSD network

Dann wird das SSD-Netz unter Verwendung des ersten Trainingssatzes SSD-TS1 trainiert.Then the SSD network is trained using the first training set SSD-TS1.

B. Konfigurieren und Trainieren des Generators G und des Diskriminators GD, LDB. Configure and train the generator G and the discriminator GD, LD

B10 - Konfigurieren des Generators G und des Diskriminators DB10 - Configure the generator G and the discriminator D

Dann werden der Generator G, der globale Diskriminator GD und der lokale Diskriminator LD eingerichtet; insbesondere wird jedem ihrer Gewichte ein Anfangswert zugewiesen.Then the generator G, the global discriminator GD and the local discriminator LD are set up; in particular, each of their weights is assigned an initial value.

B20 - Vorbereiten des Trainingssatzes GAN-TS für das Training des GANB20 - Prepare the training set GAN-TS for training the GAN

Um diese Netze zu trainieren, wird dann ein GAN-Trainingssatz GAN-TS erstellt. Dieser Trainingssatz umfasst alle Daten, die für das Training des Generators und des Diskriminators verwendet werden. Dieser Trainingssatz umfasst einen Satz Eingabebilder II2 und einen Satz „Grundwahrheitsbilder“ TGI.In order to train these networks, a GAN training set GAN-TS is then created. This training set includes all the data used to train the generator and discriminator. This training set includes a set of input images II2 and a set of "ground truth images" TGI.

Im Gegensatz zu den Eingabebildern des ersten Trainingssatzes SSD-TS1 sind die Bilder des zweiten Satzes von Eingabebildern 112 Bilder, die unter einer Vielzahl verschiedener (beliebiger) Lichtverhältnisse aufgenommen oder berechnet wurden.In contrast to the input images of the first training set SSD-TS1, the images of the second set of input images 112 are images taken or computed under a variety of different (arbitrary) lighting conditions.

Als Grundwahrheit umfasst der Trainingssatz GAN-TS für jedes Eingabebild II2 einer Szene ein entsprechendes Grundwahrheitsbild TGI, das das Bild derselben Szene, aber unter den optimalen Lichtbedingungen ist.As ground truth, for each input image II2 of a scene, the training set GAN-TS comprises a corresponding ground truth image TGI, which is the image of the same scene but under the optimal lighting conditions.

B30 - Iteratives Trainieren des Diskriminators D und des Generators GB30 - Iterative training of the discriminator D and the generator G

Dann werden der Generator G, der globale Diskriminator GD und der lokale Diskriminator LD durch Ausführen eines iterativen Prozesses einer oder mehrerer Stufen trainiert. Jede Stufe dieses Prozesses umfasst die folgenden Schritte für das Training des Diskriminators bzw. des Generators:Then the generator G, the global discriminator GD and the local discriminator LD are trained by performing an iterative process of one or more stages. Each stage of this process includes the following steps for training the discriminator or generator:

Diskriminator- TrainingDiscriminator Training

Zuerst werden die Diskriminatoren GD und LD trainiert, indem die folgenden Aktionen durchgeführt werden (3, 5).First, the discriminators GD and LD are trained by performing the following actions ( 3 , 5 ).

a) Verarbeiten der Eingabebilder 112 des GAN-Trainingssatzes GAN-TS durch den Generator G und den Diskriminator GD, LDa) Processing of the input images 112 of the GAN training set GAN-TS by the generator G and the discriminator GD, LD

Jedes Eingabebild II2 des GAN-Trainingssatzes GAN-TS (als ein „erstes Bild“) durchläuft den Generator G, der ebenso viele modifizierte Bilder MI (als ein „zweites Bild“) erbringt.Each input image II2 of the GAN training set GAN-TS (as a "first image") goes through the generator G, which yields as many modified images MI (as a "second image").

Dann erbringen der globale und der lokale Diskriminator GD, LD für jedes Eingabebild 112 jeweils ihre Schätzung (Schätzungen EGD, ELD), ob das entsprechende zweite Bild ein Originalbild mit optimaler Beleuchtung oder ein modifiziertes Bild ist. Zu diesem Zweck wird für jedes Eingabebild II2 des GAN-Trainingssatzes GAN-TS ein Paar Bilder, die sowohl das Eingabebild 112 als auch das entsprechende, durch den Generator G ausgegebene modifizierte Bild MI (als das erste und das zweite Bild) umfassen, an den globalen Diskriminator GD und den lokalen Diskriminator LD übertragen. Darüber hinaus werden Paare von Bildern, die ein Eingabebild II2 und das entsprechende Grundwahrheitsbild TGI (als erstes und zweites Bild) umfassen, auch an den globalen und den lokalen Diskriminator GD und LD weitergeleitet.Then, for each input image 112, the global and local discriminators GD, LD each provide their estimates (estimates E GD , E LD ) of whether the corresponding second image is an original image with optimal lighting or a modified image. For this purpose, for each input image II2 of the GAN training set GAN-TS, a pair of images comprising both the input image 112 and the corresponding modified image MI output by the generator G (as the first and second images) are sent to the transmit global discriminator GD and local discriminator LD. In addition, pairs of images comprising an input image II2 and the corresponding ground truth image TGI (as the first and second images) are also forwarded to the global and local discriminators GD and LD.

Für jedes Paar Bilder geben sowohl der globale Diskriminator GD als auch der lokale Diskriminator LD jeweils ihre Schätzung EGD oder ELD aus, dass das zweite Bild, das sie empfangen haben, ein „wahres“ Bild ist, das heißt ein unter den optimalen Lichtverhältnissen erhaltenes Grundwahrheitsbild, und kein „gefälschtes“ Bild, das heißt ein Bild, das durch den Generator G so erzeugt wurde, dass es einem Originalbild ähnelt, das unter den optimalen Lichtverhältnissen abgebildet wurde.For each pair of images, both the global discriminator GD and the local discriminator LD output their estimate EGD or ELD, respectively, that the second image they received is a "true" image, i.e. a ground truth image obtained under the optimal lighting conditions , and not a "false" image, that is, an image produced by the generator G to resemble an original image imaged under the optimum lighting conditions.

b) Berechnen der Verluste der Diskriminatoren GD und LDb) Calculate the losses of the discriminators GD and LD

Dann werden die Werte des Verlustes des globalen Diskriminators und des Verlustes des lokalen Diskriminators für den globalen Diskriminator GD bzw. für den lokalen Diskriminator LD berechnet. Diese Werte basieren auf den Ausgaben EGD und ELD des globalen und des lokalen Diskriminators, die mit den von dem globalen und dem lokalen Diskriminator erwarteten wahren Werten TV verglichen werden. (Diese wahren Werte TV sind Annotationen, die zuvor in dem Trainingsdatensatz GAN-TS vorbereitet wurden).Then the values of the global discriminator loss and the local discriminator loss are calculated for the global discriminator GD and for the local discriminator LD, respectively. These values are based on the global and local discriminator outputs EGD and ELD, which are compared to the true values TV expected from the global and local discriminators. (These true values TV are annotations previously prepared in the training data set GAN-TS).

In dieser Ausführungsform sind die beiden Verlustfunktionen des globalen Diskriminators und des lokalen Diskriminators sigmoide Kreuzentropie-Verlustfunktionen. Der Diskriminatorverlust wird als eine gewichtete Summe des Verlustes des globalen Diskriminators und des Verlustes des lokalen Diskriminators berechnet.In this embodiment, the two loss functions of the global discriminator and the local discriminator are sigmoidal cross-entropy loss functions. The discriminator loss is calculated as a weighted sum of the global discriminator loss and the local discriminator loss.

c) Backpropagieren durch den Diskriminatorc) Back propagation by the discriminator

Auf der Grundlage des in Schritt b) berechneten Diskriminatorverlustes werden dann die Gewichte des globalen Diskriminators GD und des lokalen Diskriminators LD durch Backpropagation aktualisiert.Based on the discriminator loss calculated in step b), the weights of the global discriminator GD and the local discriminator LD are then updated by backpropagation.

Generator-Traininggenerator training

Dann wird der Generator G durch Ausführen der folgenden Aktionen trainiert ( 4, 5).Then the generator G is trained by performing the following actions ( 4 , 5 ).

a) Erneutes Verarbeiten der Daten durch die Architektura) Reprocessing of the data by the architecture

Die modifizierten Bilder MI werden dann unter Verwendung des Generators G auf der Grundlage der Eingabebilder 112 des GAN-Trainingssatzes GAN-TS berechnet.The modified images MI are then computed using the generator G based on the input images 112 of the GAN training set GAN-TS.

Darüber hinaus werden die modifizierten Bilder MI durch den bildbasierten Detektor SSD geleitet, der berechnete oder vorhergesagte Werte PBB der Begrenzungsrahmen der in dem modifizierten Bild MI identifizierten Objekte erbringt. Dann werden die Paare von Bildern, die ein Eingabebild II2 und ein entsprechendes modifiziertes Bild MI umfassen, durch den aktualisierten globalen Diskriminator GD und den lokalen Diskriminator LD geleitet, die aktualisierte Werte für ihre Schätzungen EGD und ELD erbringen.Furthermore, the modified images MI are passed through the image-based detector SSD, which yields calculated or predicted values PBB of the bounding boxes of the objects identified in the modified image MI. Then the pairs of images, comprising an input image II2 and a corresponding modified image MI, are passed through the updated global discriminator GD and the local discriminator LD, which yield updated values for their estimates E GD and E LD .

b) Berechnen des Generatorverlustes G Lossb) Calculating the generator loss G Loss

Der Generatorverlust G loss wird dann wie folgt berechnet: G_Loss = L1 + Fool_global_discriminator + 0,5 Fool_local_discriminator + Perceptual_Loss + SSD_loss

Figure DE112019007762T5_0002
wobei
L1 eine L1-Normfunktion ist. Der Ll-Verlustterm wird durch den Vergleich des Grundwahrheitsbildes GTI und des durch den Generator G ausgegebenen modifizierten Bildes MI berechnet;
Fool_global_discriminator und Fool_local_discriminator sind zwei Terme, die für den globalen Diskriminator GD bzw. den lokalen Diskriminator LD berechnet werden und die die Fähigkeit des Generators G darstellen, diese Diskriminatoren zu täuschen („fool“);
Perceptual_Loss ist ein Term, um eine Nähe zwischen einem modifizierten Bild MI und einem Grundwahrheitsbild GTI zu berücksichtigen. Die Nähe zwischen diesen beiden Bildern wird bevorzugt in einem Merkmalsraum bewertet. Das heißt, anstatt die Nähe zwischen diesen beiden Bildern direkt zu bewerten, wird auf jedes dieser Bilder eine Transformation unter Verwendung eines neuronalen Netzes angewendet. Die Nähe wird dann zwischen den Ausgaben dieser jeweiligen Transformationen und nicht zwischen den beiden Bildern selbst bewertet. Bevorzugt ist das neuronale Netz, das zum Anwendung der Transformation verwendet wird, ein neuronales Netz, das für die Ausführung von Bilderkennungsaufgaben geeignet ist. Zum Beispiel kann ein neuronales Netz, wie zum Beispiel ein VGG16, für diesen Zweck verwendet werden.The generator loss G loss is then calculated as follows: G_Loss = L1 + Fool_global_discriminator + 0.5 Fool_local_discriminator + Perceptual_Loss + SSD_loss
Figure DE112019007762T5_0002
whereby
L1 is an L1 norm function. The Ll loss term is calculated by comparing the ground truth image GTI and the modified image MI output by the generator G;
Fool_global_discriminator and Fool_local_discriminator are two terms calculated for the global discriminator GD and the local discriminator LD, respectively, which represent the ability of the generator G to "fool" these discriminators;
Perceptual_Loss is a term to consider a proximity between a modified image MI and a ground truth image GTI. The proximity between these two images is preferably evaluated in a feature space. That is, instead of directly assessing the proximity between these two images, a transformation is applied to each of these images using a neural network. Proximity is then assessed between the outputs of these respective transforms, rather than between the two images themselves. Preferably, the neural network used to apply the transformation is a neural network suitable for performing image recognition tasks. For example, a neural network such as a VGG16 can be used for this purpose.

Und schließlich ist SSD_loss ein Term, der die Fähigkeit des Generators G berücksichtigt, Bilder auszugeben, für die das SSD-Netz die Begrenzungsrahmen der in dem Bild gezeigten Objekte effizient (das heißt mit geringem Verlust) bestimmen kann.Finally, SSD_loss is a term that accounts for the generator G's ability to output images for which the SSD mesh can efficiently (that is, with little loss) determine the bounding boxes of the objects shown in the image.

Die Terme der obigen Summe G_loss werden wie folgt berechnet.The terms of the sum G_loss above are calculated as follows.

L1.L1

Der L1-Term wird unter Verwendung der L1-Norm auf der Grundlage der verglichenen Eingaben des Generators, das heißt auf der Grundlage der Grundwahrheitsbilder GTI und des entsprechenden modifizierten Bildes MI, das durch den Generator ausgegeben wird, berechnet.The L1 term is computed using the L1 norm based on the compared inputs of the generator, i.e. based on the ground truth images GTI and the corresponding modified image MI output by the generator.

Fool-Diskriminator-TermeFool Discriminator Terms

Die beiden Fool-Diskriminator-Terme sind Fool_global_discriminator und Foollocal discriminator, die für den globalen Diskriminator GD bzw. den lokalen Diskriminator LD berechnet werden.The two fool discriminator terms are Fool_global_discriminator and Foollocal_discriminator, which are computed for the global discriminator GD and the local discriminator LD, respectively.

Jeder dieser Terme wird folgendermaßen berechnet:

  • ■ Wie oben erwähnt, geben der lokale Diskriminator LD und der globale Diskriminator GD auf der Grundlage des modifizierten Bildes MI ihre Schätzungen EGD und ELD, dass diese Bilder Grundwahrheitsbilder sind, aus.
  • ■ Diesen Schätzungen (und damit diesen Bildern) wird ein „Wahr“-Label (oder „Grundwahrheits“-Label) zugewiesen, so als ob dieses modifizierte Bild MI ein Grundwahrheitsbild wäre.
  • ■ Es wird ein sigmoidaler Kreuzentropieverlust zwischen der durch den betrachteten Diskriminator ausgegebenen Schätzung (EGD bzw. ELD) und den „Echtbild-Labels“, welche die echten Werte sind, die auf der Grundlage der tatsächlichen Grundwahrheitsbilder zugewiesen werden, berechnet. Der auf diese Weise bestimmte Wert ist der Fool-Diskriminator-Term (bzw. die Fool_global discriminator- und Fool_local_discriminator-Terme).
Each of these terms is calculated as follows:
  • ■ As mentioned above, based on the modified image MI, the local discriminator LD and the global discriminator GD output their estimates E GD and E LD that these images are ground truth images.
  • ■ These estimates (and thus these images) are assigned a “true” (or “ground truth” label) as if this modified image MI were a ground truth image.
  • ■ A sigmoidal cross-entropy loss is calculated between the estimate (E GD or E LD ) given by the considered discriminator and the “real image labels”, which are the real values assigned on the basis of the actual ground truth images. The value so determined is the Fool discriminator term (or Fool_global discriminator and Fool_local_discriminator terms).

Dementsprechend beschränken die Fool_global_discriminator- und Fool_local_discriminator-Terme den Generator G darauf, modifizierte Bilder MI zu generieren, die durch die Diskriminatoren GD und LD gemeinhin als Grundwahrheitsbilder (mit hohen Werten von EGD und ELD) identifiziert werden. Durch Vergleichen der durch die Diskriminatoren ausgegebenen Schätzungen (EGD bzw. ELD) mit Echtbild-Labels berücksichtigt die Verlustfunktion G_loss, inwieweit die Diskriminatoren schätzen, dass die Ausgaben des Generators G Grundwahrheitsbilder sind. Falls die Diskriminatoren GD und LD Schätzungen ausgeben, die darauf hindeuten, dass die modifizierten Bilder MI gefälschte Bilder sind, dann ist der Verlust hoch (was auf eine schlechte Leistung des Generators G hinweist); anderenfalls ist der Verlust niedrig.Accordingly, the Fool_global_discriminator and Fool_local_discriminator terms restrict the generator G to generating modified images MI, which are commonly identified as ground truth images (with high values of EGD and ELD) by the discriminators GD and LD. By comparing the estimates (EGD and ELD, respectively) output by the discriminators to real image labels, the loss function G_loss accounts for the extent to which the discriminators estimate that the outputs of generator G are ground truth images. If the discriminators GD and LD give estimates indicating that the modified images MI are fake images, then the loss is high (indicating poor performance of the generator G); otherwise the loss is low.

Wahrnehmungsverlustloss of perception

Der Wahrnehmungsverlust ist ein Term, der die Leistung des Generators bei der Rekonstruktion von Bildern misst, die der Eingabe ähnlich sehen. Zuerst werden das Eingabebild 112 und das modifizierte Bild MI in ein neuronales Netz eingegeben. In der vorliegenden Ausführungsform weist dieses neuronale Netz eine VGG16-Architektur auf (dieses neuronale Netz wird der Einfachheit halber VGG16 genannt). VGG16 kann zum Beispiel ein vortrainiertes Netz sein, das insbesondere anhand des Imagenet-Datensatzes trainiert wurde, wie in der Literaturquelle [4] vorgeschlagen. Ein Beispiel für eine VGG16-Architektur ist zum Beispiel aus Publikation [5] bekannt.Perceptual loss is a term that measures the generator's performance in reconstructing images that look similar to the input. First, the input image 112 and the modified image MI are input to a neural network. In the present embodiment, this neural network has a VGG16 architecture (this neural network is called VGG16 for convenience). For example, VGG16 can be a pre-trained network, specifically trained on the Imagenet dataset as suggested in reference [4]. An example of a VGG16 architecture is known from publication [5], for example.

Wenn das Eingabebild durch das neuronale Netz VGG16 verarbeitet wird, so werden die Ausgabe der zweiten Faltungsschicht als eine Faltungsschicht von niedrigem Rang (im Folgenden „Merkmale auf niedriger Ebene“ (low level features) genannt) und die Ausgabe der 13. Faltungsschicht als eine Faltungsschicht von hohem Rang (im Folgenden „Merkmale auf hoher Ebene“ (high level features) genannt) erfasst. Auf der Grundlage dieser Ausgaben wird der Wahrnehmungsverlust berechnet als Perceptual_Loss = 100 * ( | high_level ( II ) high_level ( MI ) | + | low_level ( II ) low_level ( MI ) | )

Figure DE112019007762T5_0003
wobei high_level (Bild) die Merkmale auf hoher Ebene darstellt, die erhalten werden, wenn ein Bild in das VGG16-Netz eingegeben wird, und low level (Bild) die Merkmale auf niedriger Ebene darstellt, die erhalten werden, wenn das Bild in das VGG16-Netz eingegeben wird.When the input image is processed by the neural network VGG16, the output of the second convolution layer becomes a low-level convolution layer (hereinafter referred to as "low level features") and the output of the 13th convolution layer becomes a convolution layer high level features (hereafter referred to as “high level features”). Based on these outputs, the loss of perception is calculated as Perceptual_Loss = 100 * ( | high_level ( II ) high_level ( MI ) | + | low_level ( II ) low_level ( MI ) | )
Figure DE112019007762T5_0003
where high_level (image) represents the high-level features obtained when an image is input to the VGG16 network and low level (image) represents the low-level features obtained when the image is input to the VGG16 network is entered.

SSD-VerlustSSD loss

Der SSD-Verlust nimmt die Werte auf, die durch die Verlustfunktion des bildbasierten Detektors ausgegeben werden. In der vorliegenden Ausführungsform ist der bildbasierte Detektor der in Publikation [3] vorgeschlagene Single-Shot-Detektor SSD. Dementsprechend ist der SSD-Verlust die Verlustfunktion, die zum Trainieren dieses Netzes verwendet wird. Der Verlustterm ist daher eine gewichtete Summe aus einem Lokalisierungsverlust und einem Vertrauensverlust. Der Lokalisierungsverlust ist ein glatter L1-Verlustterm zwischen einer vorhergesagten Position und einer korrekten Position (Grundwahrheitsposition) eines Begrenzungsrahmens. Eine detaillierte Darstellung der SSD-Verlustfunktion findet sich in Publikation [3] (siehe Funktion L, die im Abschnitt „Trainingsziel“ vorgestellt wird).The SSD loss incorporates the values reported by the loss function of the image-based detector. In the present embodiment, the image-based detector is the SSD single-shot detector proposed in publication [3]. Accordingly, the SSD loss is the loss function used to train this network. The loss term is therefore a weighted sum of a loss of localization and a loss of confidence. The localization loss is a smooth L1 loss term between a predicted position and a correct (ground truth) position of a bounding box. A detailed presentation of the SSD loss function can be found in publication [3] (see function L presented in the training objective section).

Während des Generatortrainings wird der Term SSD_loss auf der Grundlage der verglichenen Werte von Folgendem berechnet:

  • - der vorhergesagten Positionen PBB der Begrenzungsrahmen gemäß Ausgabe durch das SSD-Netz auf der Grundlage der modifizierten Bilder MI; und
  • - der tatsächlichen Positionen GTBB der Begrenzungsrahmen der Grundwahrheitsbilder GTI, die Annotationen sind, die zuvor in dem Trainingsdatensatz GAN-TS erstellt wurden.
During generator training, the SSD_loss term is calculated based on the compared values of:
  • - the predicted positions PBB of the bounding boxes as output by the SSD network based on the modified images MI; and
  • - the actual positions GTBB of the bounding boxes of the ground truth images GTI, which are annotations previously created in the training data set GAN-TS.

In dem Generatorverlust werden die verschiedenen Terme (L1, Fool_local_discriminator, Fool_local_discriminator, Perceptual Loss, SSD loss) gewichtet, um ihre jeweiligen Auswirkungen zu berücksichtigen. Die Gewichte können in Abhängigkeit von der zu bevorrechtenden Auswirkung modifiziert werden. In den vorliegenden Ausführungsformen haben sich die Gewichte 1, 1, 0,5, 1 und 1 als optimal erwiesen, wobei der Fool_local_discriminator halb so viel gewichtet wird wie der Fool_global_discriminator.In the generator loss, the various terms (L1, Fool_local_discriminator, Fool_local_discriminator, Perceptual Loss, SSD loss) are weighted to account for their respective impacts. The weights can be modified depending on the impact to prioritize. In the present embodiments, the weights 1, 1, 0.5, 1, and 1 have been found to be optimal, with the Fool_local_discriminator being weighted half as much as the Fool_global_discriminator.

c) Backpropagieren durch Generator Gc) back propagation by generator G

Auf der Grundlage der G_loss-Funktion des Generators werden dann die Gewichte des Generators G durch Backpropagation aktualisiert.Then, based on the G_loss function of the generator, the weights of the generator G are updated by backpropagation.

Der Generator und der Diskriminator werden wiederholt abwechselnd trainiert, indem die oben beschriebenen Operationen durchgeführt werden. Das Training wird gestoppt, wenn davon ausgegangen wird, dass der Trainingsalgorithmus konvergiert hat, oder wenn stabile Werte für die Gewichte dieser Netze bestimmt wurden.The generator and the discriminator are repeatedly alternately trained by performing the operations described above. Training stops when the training algorithm is considered to have converged or when stable values for the weights of these networks have been determined.

C. Abschließendes Trainieren des bildbasierten Detektors SSDC. Final training of the image-based detector SSD

Wenn das Training des Generators G, des globalen Diskriminators GD und des lokalen Diskriminators LD gestoppt wurde, so wird das SSD-Netz auf der Grundlage der modifizierten Bilder, die durch den aktualisierten Generator G ausgegeben werden, erneut trainiert.When the training of the generator G, the global discriminator GD and the local discriminator LD has been stopped, the SSD network is retrained on the basis of the modified images output by the updated generator G.

Der bildbasierte Detektor SSD wird somit durch Ausführen der folgenden Schritte C10, C20 trainiert:The image-based detector SSD is thus trained by performing the following steps C10, C20:

C10 - Erstellen eines zweiten Trainingssatzes SSD-TS2C10 - Creating a second training set SSD-TS2

Für das Training des SSD-Netzes wird ein zweiter Trainingssatz SSD-TS2 generiert. Der Zweck dieses zweiten Trainingssatzes SSD-TS2 ist es, das SSD-Netz zu trainieren, um die Position der Begrenzungsrahmen der in einem Bild vorhandenen Objekte zu bestimmen. Während jedoch der erste Trainingssatz SSD-TS1 Bilder von Szenen unter normalen Lichtverhältnissen umfasste, sind im Gegensatz dazu die in dem zweiten Trainingssatz enthaltenen Eingabebilder modifizierte Bilder, die durch den Generator G ausgegeben werden. Es wurde beobachtet, dass das Training des bildbasierten Detektors (in der vorliegenden Ausführungsform das SSD-Netz) anhand der modifizierten Bilder, wie sie durch den Generator G ausgegeben werden, anstatt anhand originaler Eingabebilder die Qualität des SSD-Netzes erhöht.A second training set SSD-TS2 is generated for training the SSD network. The purpose of this second training set SSD-TS2 is to train the SSD network to determine the position of the bounding boxes of the objects present in an image. However, while the first training set SSD-TS1 comprised images of scenes under normal lighting conditions, in contrast, the input images included in the second training set are modified images output by the generator G . It has been observed that training the image-based detector (the SSD mesh in the present embodiment) on the modified images as output by the generator G instead of on the original input images increases the quality of the SSD mesh.

Dementsprechend umfasst der zweite Trainingssatz SSD-TS2 als Eingabe für den Generator G modifizierte Bilder, die durch den Generator G auf der Grundlage der anfänglichen Eingabebilder III des ersten Trainingssatzes SSD-TS1 ausgegeben werden. Das heißt, anstatt das SSD-Netz auf der Grundlage von Originalbildern zu trainieren, die unter den ersten Lichtverhältnissen (das heißt, unter normalen Lichtverhältnissen) abgebildet wurden, wird das SSD-Netz anhand gefälschter Bilder trainiert, die durch den Generator G so erzeugt wurden, dass sie diesen Originalbildern ähneln.Accordingly, the second training set SSD-TS2 includes as input to the generator G modified images, which are output by the generator G based on the initial input images III of the first training set SSD-TS1. That is, instead of training the SSD mesh on the basis of original images imaged under the first lighting conditions (that is, under normal lighting conditions), the SSD mesh is trained on fake images thus generated by the generator G that they resemble these original images.

Wie in dem ersten Trainingssatz SSD-TS1 ist die Grundwahrheit die korrekten oder gewünschten Begrenzungsrahmen für die durch die Eingabebilder gezeigten Objekte. As in the first training set SSD-TS1, the ground truth is the correct or desired bounding boxes for the objects represented by the input images.

C20 - Neutrainieren des SSD-NetzesC20 - Retrain SSD mesh

Dann wird das SSD-Netz neu trainiert - nun aber unter Verwendung des zweiten Trainingssatzes SSD-TS2.The SSD network is then retrained - but now using the second training set SSD-TS2.

Beispielhaftes computergestütztes SystemExemplary computerized system

6 zeigt einen Pkw 1000 (ein Beispiel eines Fahrzeugs), das mit einem automatisierten Fahrsystem 500 ausgestattet ist. Das automatisierte Fahrsystem 500 umfasst ein bildbasiertes Detektionssystem 100 als ein beispielhaftes computergestütztes System oder eine beispielhafte Datenverarbeitungsvorrichtung, auf dem bzw. auf der die vorliegende Erfindung ganz oder teilweise implementiert werden kann. 6 10 shows a passenger car 1000 (an example of a vehicle) equipped with an automated driving system 500 . The automated driving system 500 includes an image-based detection system 100 as an exemplary computerized system or computing device on which the present invention may be implemented in whole or in part.

Das bildgestützte Detektionssystem 100 (oder kurz das System 100) umfasst mehrere Sensoreinheiten, einschließlich insbesondere eine nach vorn gerichtete Kamera 110. Die Kamera 110 ist ein wenig oberhalb der Windschutzscheibe des Pkw an einer nicht gezeigten Montagehalterung angebracht.The image-based detection system 100 (or system 100 for short) comprises a plurality of sensor units, including in particular a forward-facing camera 110. The camera 110 is mounted slightly above the windshield of the car on a mounting bracket, not shown.

Das bildbasierte Detektionssystem 100 umfasst ein Computersystem 150, das einen Massenspeicher 151, einen oder mehrere Prozessoren 152, einen Datenspeicher 153, ein Betriebssystem 154 und eine Kommunikationsinfrastruktur 155 umfasst.The image-based detection system 100 includes a computer system 150, which includes a mass storage device 151, one or more processors 152, a data memory 153, an operating system 154 and a communication infrastructure 155.

Die Kommunikationsinfrastruktur 155 ist ein Datenbus, mit dem alle oben erwähnten Sensoreinheiten verbunden sind und über die daher die durch diese Sensoreinheiten ausgegebenen Signale an die anderen Komponenten des Systems 100 übertragen werden.The communication infrastructure 155 is a data bus to which all of the sensor units mentioned above are connected and over which the signals output by these sensor units are therefore transmitted to the other components of the system 100 .

Der Massenspeicher 151, der eine oder die mehreren Prozessoren 152, der Datenspeicher 153 und das Betriebssystem 154 sind kommunikativ über die Kommunikationsinfrastruktur 155 gekoppelt. Optional kann das Computersystem 150 mit einem Benutzer oder der Umgebung über eine oder mehrere Eingabe-/Ausgabe-Vorrichtungen 156 sowie über ein oder mehrere Netzwerke 157 interagieren. Das Betriebssystem 154 kann mit anderen Komponenten interagieren, um eine oder mehrere Anwendungen 158 zu steuern. Alle Komponenten des bildbasierten Detektionssystems 2100 werden gemeinsam oder möglicherweise gemeinsam mit anderen Einheiten des automatisierten Fahrsystems 500 oder des Pkw 1000 genutzt.The mass storage 151, the one or more processors 152, the data storage 153 and the operating system 154 are communicatively coupled via the communication infrastructure 155. Optionally, the computer system 150 can interact with a user or the environment via one or more input/output devices 156 and one or more networks 157 . The operating system 154 can interact with other components to control one or more applications 158 . All components of the image-based detection system 2100 are shared or possibly shared with other units of the automated driving system 500 or the passenger car 1000 .

Ein Computerprogramm zum Durchführen einer Objektdetektion gemäß der vorliegenden Erfindung ist in dem Datenspeicher 153 gespeichert. Dieses Programm und der Datenspeicher 153 sind Beispiele für ein Computerprogramm bzw. ein computerlesbares Aufzeichnungsmedium gemäß der vorliegenden Erfindung.A computer program for performing object detection according to the present invention is stored in data memory 153 . This program and the data memory 153 are examples of a computer program and a computer-readable recording medium, respectively, according to the present invention.

Der Datenspeicher 153 des Computersystems 150 stellt praktisch ein Aufzeichnungsmedium gemäß der Erfindung dar, das durch den einen oder die mehreren Prozessoren 152 gelesen werden kann und auf dem das Programm aufgezeichnet ist.The data storage 153 of the computer system 150 effectively represents a recording medium according to the invention, readable by the one or more processors 152 and on which the program is recorded.

Die hier beschriebenen Systeme und Verfahren können in Software oder Hardware oder einer Kombination davon implementiert werden. Die hier beschriebenen Systeme und Verfahren können unter Verwendung einer oder mehrerer Computervorrichtungen implementiert werden, die gegebenenfalls physisch oder logisch voneinander getrennt sein können.The systems and methods described herein may be implemented in software or hardware, or a combination thereof. The systems and methods described herein may be implemented using one or more computing devices, which may be physically or logically separate from one another, as appropriate.

Die hier beschriebenen Systeme und Verfahren können unter Verwendung einer Kombination aus Hardware, Firmware und/oder Software implementiert werden. Die hier beschriebenen vorliegenden Systeme und Verfahren (oder jegliche Teile oder Funktionen davon) können unter Verwendung von Hardware, Software, Firmware oder einer Kombination davon implementiert werden und können in einem oder mehreren Computersystemen oder sonstigen Verarbeitungssystemen implementiert werden.The systems and methods described herein can be implemented using a combination of hardware, firmware, and/or software. The present systems and methods described herein (or any portion or function thereof) may be implemented using hardware, software, firmware, or a combination thereof, and may be implemented in one or more computer systems or other processing systems.

In einer oder mehreren Ausführungsformen sind die vorliegenden Ausführungsformen in maschinenausführbaren Instruktionen verkörpert. Die Instruktionen können verwendet werden, um eine Verarbeitungsvorrichtung, zum Beispiel einen Allzweck- oder Spezialprozessor, der mit den Instruktionen programmiert ist, zu veranlassen, die Schritte der vorliegenden Erfindung durchzuführen. Alternativ können die Schritte der vorliegenden Erfindung durch spezielle Hardwarekomponenten durchgeführt werden, die festverdrahtete Logik zum Ausführen der Schritte umfassen, oder durch eine beliebige Kombination von programmierten Computerkomponenten und speziell angepassten HardwareKomponenten. Zum Beispiel kann die vorliegende Erfindung als ein Computerprogrammprodukt bereitgestellt werden, wie oben dargelegt. In dieser Umgebung können die Ausführungsformen ein maschinenlesbares Medium umfassen, auf dem Instruktionen gespeichert sind. Die Instruktionen können verwendet werden, um einen oder mehrere beliebige Prozessoren (oder andere elektronische Vorrichtungen) so zu programmieren, dass sie einen Prozess oder ein Verfahren gemäß den vorliegenden beispielhaften Ausführungsformen durchführen. Darüber hinaus kann die vorliegende Erfindung auch heruntergeladen und auf einem Computerprogrammprodukt gespeichert werden. Hierbei kann das Programm von einem räumlich abgesetzten Computer (zum Beispiel einem Server) zu einem anfordernden Computer (zum Beispiel einem Client) mittels Datensignalen, die in einer Trägerwelle oder einem anderen Ausbreitungsmedium verkörpert sind, über eine Kommunikationsverbindung (zum Beispiel ein Modem oder eine Netzwerkverbindung) übertragen werden und schließlich können solche Signale auf den Computersystemen zum späteren Ausführen gespeichert werden.In one or more embodiments, the present embodiments are embodied in machine-executable instructions. The instructions may be used to cause a processing device, such as a general purpose or special purpose processor, programmed with the instructions to perform the steps of the present invention. Alternatively, the steps of the present invention may be performed by dedicated hardware components that are hardwired logic to perform the steps, or any combination of programmed computer components and specially adapted hardware components. For example, the present invention may be provided as a computer program product as set out above. In this environment, embodiments may include a machine-readable medium on which instructions are stored. The instructions may be used to program any processor(s) (or other electronic device) to perform a process or method consistent with the present example embodiments. In addition, the present invention can also be downloaded and stored on a computer program product. Here, the program may be transmitted from a remote computer (e.g., a server) to a requesting computer (e.g., a client) using data signals embodied in a carrier wave or other propagation medium over a communications link (e.g., a modem or network connection ) and finally such signals can be stored on the computer systems for later execution.

Die Verfahren können in einem Computerprogrammprodukt implementiert werden, auf das von einem computerverwendbaren oder computerlesbaren Speichermedium zugegriffen werden kann, das Programmcode zur Verwendung durch einen, oder in Verbindung mit einem, Computer oder einem beliebigen Instruktionsausführungssystem bereitstellt. Ein computerverwendbares oder computerlesbares Speichermedium kann jede beliebige Vorrichtung sein, die das Programm zur Verwendung durch den, oder in Verbindung mit dem, Computer oder dem Instruktionsausführungssystem, der Instruktionsausführungsvorrichtung oder dem Instruktionsausführungsgerät umfassen oder speichern kann.The methods may be implemented in a computer program product, accessible from a computer-usable or computer-readable storage medium, that provides program code for use by, or in connection with, a computer or any instruction execution system. A computer-usable or computer-readable storage medium may be any device that can include or store the program for use by, or in connection with, the computer or instruction execution system, apparatus, or device.

Ein Datenverarbeitungssystem, das zum Speichern und/oder Ausführen des entsprechenden Programmcodes geeignet ist, kann mindestens einen Prozessor umfassen, der direkt oder indirekt mit computerisierten Datenspeichervorrichtungen, wie zum Beispiel Datenspeicherelementen, verbunden ist.A data processing system suitable for storing and/or executing the corresponding program code may include at least one processor connected directly or indirectly to computerized data storage devices, such as data storage elements.

Die hier beschriebenen Systeme und Verfahren können in einem Computersystem implementiert werden, das eine Back-End-Komponente, wie zum Beispiel einen Datenserver, umfasst, oder das eine Middleware-Komponente, wie zum Beispiel einen Anwendungsserver oder einen Internet-Server, umfasst, oder das eine Front-End-Komponente, wie zum Beispiel einen Client-Computer, der eine grafische Benutzeroberfläche oder einen Internet-Browser aufweist, umfasst, oder einer beliebigen Kombination davon. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium digitaler Datenkommunikation, zum Beispiel ein Kommunikationsnetzwerk, verbunden sein.The systems and methods described herein may be implemented in a computer system that includes a back-end component, such as a data server, or that includes a middleware component, such as an application server or a web server, or that includes a front-end component such as a client computer having a graphical user interface or an Internet browser, or any combination thereof. The components of the system may be connected by any form or medium of digital data communication, for example a communication network.

Die Begriffe „Computerprogrammmedium“ und „computerlesbares Medium“ können in dem Sinne verwendet werden, dass sie sich allgemein auf Medien wie zum Beispiel ein Wechseldatenträgerlaufwerk oder eine in einem Festplattenlaufwerk installierte Festplatte beziehen. Diese Computerprogrammprodukte können Software für ein Computersystem bereitstellen. Die hier beschriebenen Systeme und Verfahren können solche Computerprogrammprodukte betreffen.The terms "computer program medium" and "computer-readable medium" may be used to refer generally to media such as a removable disk drive or a hard disk installed in a hard disk drive. These computer program products can provide software for a computer system. The systems and methods described herein may relate to such computer program products.

Alle hier erwähnten neuronalen Netze sind künstliche neuronale Netze, die aus einem oder mehreren Prozessoren (zum Beispiel Mikroprozessoren, integrierten Schaltkreisen, feldprogrammierbaren Gate-Arrays oder dergleichen) bestehen. Diese neuronalen Netze sind in zwei oder mehr Schichten unterteilt, die eine Eingabeschicht, die zum Beispiel Bilder empfangen kann, eine Ausgabeschicht, die zum Beispiel ein Bild oder eine Verlustfunktion (zum Beispiel Fehler, wie unten beschrieben) ausgeben kann, und eine oder mehrere Zwischenschichten umfassen. Die Schichten der neuronalen Netze G, GD und LD stellen unterschiedliche Gruppen oder Sätze künstlicher Neuronen dar, die verschiedene Funktionen repräsentieren können, die durch die Prozessoren an den Bildern ausgeführt werden, um modifizierte Bilder zu berechnen und/oder Fehler bei der Berechnung der modifizierten Bilder zu bestimmen.All of the neural networks mentioned herein are artificial neural networks composed of one or more processors (e.g., microprocessors, integrated circuits, field-programmable gate arrays, or the like). These neural networks are divided into two or more layers, which are an input layer that can receive images, for example, an output layer that can output, for example, an image or a loss function (for example errors, as described below), and one or more intermediate layers include. The layers of the neural networks G, GD and LD represent different groups or sets of artificial neurons that can represent different functions performed on the images by the processors to calculate modified images and/or errors in the calculation of the modified images to determine.

In der gesamten Beschreibung, einschließlich der Ansprüche, ist der Begriff „umfasst ein“ als Synonym für „umfasst mindestens ein“ zu verstehen, sofern nichts anderes angegeben ist.Throughout the specification, including the claims, the term "comprises a" is synonymous with "comprises at least one" unless otherwise specified.

Darüber hinaus ist jeder Bereich, der in der Beschreibung sowie in den Ansprüchen angegeben ist, so zu verstehen, dass die Werte an beiden Enden dazu gehören, sofern nichts anderes angegeben ist. Konkrete Werte für beschriebene Elemente sind so zu verstehen, dass sie innerhalb akzeptierter Herstellungs- oder Industrietoleranzen liegen, die dem Fachmann bekannt sind, und jede Verwendung der Begriffe „im Wesentlichen“ und/oder „ungefähr“ und/oder „allgemein“ ist so zu verstehen, dass sie innerhalb dieser akzeptierten Toleranzen liegen.Furthermore, each range given in the specification as well as in the claims should be understood to include the values at both ends unless otherwise specified. Specific values for items described are to be understood to be within accepted manufacturing or industry tolerances known to those skilled in the art and any use of the terms "substantially" and/or "approximately" and/or "generally" is intended to be so understand that they are within these accepted tolerances.

Obgleich die vorliegende Erfindung hier mit Bezug auf konkrete Ausführungsformen beschrieben wurde, versteht es sich, dass diese Ausführungsformen lediglich die Prinzipien und Anwendungen der vorliegenden Erfindung veranschaulichen.Although the present invention has been described herein with reference to specific embodiments, it should be understood that these embodiments are merely illustrative of the principles and applications of the present invention.

Es ist beabsichtigt, dass die Spezifikation und die Beispiele nur als beispielhaft angesehen werden, wobei der eigentliche Schutzumfang der Erfindung durch die Ansprüche beschrieben wird.It is intended that the specification and examples be considered as exemplary only, with the true scope of the invention being indicated by the claims.

Claims (14)

Computerimplementiertes Verfahren zum Trainieren eines generativen kontradiktorischen Netzes (Generative Adversarial Network, GAN), das einen Generator (G) und einen Diskriminator (GD, LD) umfasst; wobei der Generator ein Bild-Codierer-Decodierer ist, der dafür eingerichtet ist, ein Eingabebild (111, 112) einer Szene einzugeben und ein modifiziertes Bild (MI) der Szene auszugeben, das zum Verarbeiten durch einen bildbasierten Detektor (SSD) geeignet ist; wobei das Verfahren umfasst: B30) Trainieren des generativen kontradiktorischen Netzes (GAN) durch abwechselndes Training des Diskriminators (GD, LD) und des Generators (G); wobei der Generator (G) so trainiert wird, dass er für jedes Eingabebild aus einem Beleuchtungstrainingssatz von Eingabebildern (II2) einer oder mehrerer Szenen, die unter beliebigen Lichtverhältnissen aufgenommen oder berechnet wurden, ein modifiziertes Bild (MI) erzeugt, das dieselbe Szene wie das jeweilige Eingabebild darstellt, jedoch unter zuvor festgelegten ersten Lichtverhältnissen; wobei der Generator (G) unter Verwendung einer Generatorverlustfunktion (G_loss) trainiert wird, die einen Detektorverlustterm (SSD loss) umfasst, der auf der Grundlage einer Ausgabe (PBB) des bildbasierten Detektors (SSD) berechnet wird.A computer-implemented method for training a Generative Adversarial Network (GAN) comprising a generator (G) and a discriminator (GD, LD); wherein the generator is an image codec arranged to input an input image (111, 112) of a scene and to output a modified image (MI) of the scene suitable for processing by an image-based detector (SSD); the procedure includes: B30) training of the generative adversarial network (GAN) by alternating training of the discriminator (GD, LD) and the generator (G); wherein the generator (G) is trained to generate, for each input image from a lighting training set of input images (II2) of one or more scenes captured or computed under any lighting conditions, a modified image (MI) that has the same scene as the represents respective input image but under predetermined first lighting conditions; wherein the generator (G) is trained using a generator loss function (G_loss) comprising a detector loss term (SSD loss) calculated on the basis of an output (PBB) of the image-based detector (SSD). Trainingsverfahren nach Anspruch 1, wobei der Diskriminator (D) zwei subneuronale Netze umfasst, und zwar einen globalen Diskriminator (GD) und einen lokalen Diskriminator (LD); der globale Diskriminator ein neuronales Netz ist, das dafür eingerichtet ist, auf der Grundlage des gesamten eingegebenen Bildes eine Schätzung auszugeben, ob das eingegebene Bild eine Fälschung oder ein wahres Bild ist; der lokale Diskriminator (LD) eine Vorverarbeitungseinheit (LD1) mit einer Faltungsschicht und eine Hauptverarbeitungseinheit (LD2) umfasst; die Vorverarbeitungseinheit dafür eingerichtet ist, Patches auszugeben, wobei jeder Patch eine Darstellung eines Teilpatches des eingegebenen Bildes ist; und die Hauptverarbeitungseinheit ein neuronales Netz umfasst und dafür eingerichtet ist, auf der Grundlage der Patches eine Schätzung auszugeben, ob das eingegebene Bild eine Fälschung oder ein wahres Bild ist.training procedure claim 1 , the discriminator (D) comprising two sub-neural networks, namely a global discriminator (GD) and a local discriminator (LD); the global discriminator is a neural network arranged to output an estimate based on the entire input image as to whether the input image is a fake or a true image; the local discriminator (LD) comprises a pre-processing unit (LD1) with a convolution layer and a main processing unit (LD2); the pre-processing unit is arranged to output patches, each patch being a representation of a sub-patch of the input image; and the main processing unit comprises a neural network and is arranged to output an estimate based on the patches as to whether the input image is a fake or a true image. Verfahren nach Anspruch 1 oder 2, wobei der bildbasierte Detektor (SSD) ein Objektdetektor ist, insbesondere ein neuronales Netz, das dafür eingerichtet ist, Objekte in einem Bild zu detektieren.procedure after claim 1 or 2 , wherein the image-based detector (SSD) is an object detector, in particular a neural network arranged to detect objects in an image. Verfahren nach einem der Ansprüche 1 bis 3, wobei der Generator (G) ein Bild-Codierer-Decodierer, insbesondere ein U-Netz, ist.Procedure according to one of Claims 1 until 3 , wherein the generator (G) is an image coder-decoder, in particular a U-network. Verfahren nach einem der Ansprüche 1 bis 4, wobei die Generatorverlustfunktion (G_loss) des Weiteren einen Wahrnehmungsverlust berücksichtigt, wobei der Wahrnehmungsverlust eine bildbasierte Funktion ist, die zunimmt, wenn ein Schärfeverlust in dem Bild zunimmt.Procedure according to one of Claims 1 until 4 , wherein the generator loss function (G_loss) further accounts for a perceptual loss, the perceptual loss being an image-based function that increases as a sharpness loss in the image increases. Verfahren nach Anspruch 5, wobei die bildbasierte Funktion auf Informationen basiert, die jeweils durch zwei verschiedene Schichten eines neuronalen Faltungsnetzes ausgegeben werden.procedure after claim 5 , where the image-based function is based on information each output by two different layers of a convolutional neural network. Verfahren nach einem der Ansprüche 1 bis 6, des Weiteren umfassend: B20) Erstellen eines Generator-Trainingssatzes (GAN-TS), wobei der Generator-Trainingssatz umfasst: als Eingabe, Bilder (II2) von mindestens einer Szene, wobei die mindestens eine Szene unter mehreren Lichtverhältnissen abgebildet wird; als Grundwahrheit, Bilder (GTI) der mindestens einen Szene unter den ersten Lichtverhältnissen.Procedure according to one of Claims 1 until 6 , further comprising: B20) creating a generator training set (GAN-TS), the generator training set comprising: as input, images (II2) of at least one scene, the at least one scene being imaged under multiple lighting conditions; as a basic truth, images (GTI) of at least one scene under the first lighting conditions. Computerimplementiertes Verfahren zum Trainieren eines bildbasierten neuronalen Netzes (G-SSD), das einen Generator (G) umfasst, der mit einem bildbasierten Detektor (SSD) gekoppelt ist, wobei der bildbasierte Detektor (SSD) ein neuronales Netz ist, das dafür eingerichtet ist, ein modifiziertes Bild der Szene zu verarbeiten, das durch den Generator (G) ausgegeben wird; der Generator ein Bild-Codierer-Decodierer ist, der dafür eingerichtet ist, ein Eingabebild (111, 112) einer Szene einzugeben und ein modifiziertes Bild (MI) der Szene auszugeben, das zum Verarbeiten durch den bildbasierten Detektor (SSD) geeignet ist; der Generator (G) Teil eines generativen kontradiktorischen Netzes (GAN) ist, das den Generator (G) und einen Diskriminator (GD, LD) umfasst; wobei das Verfahren umfasst: B) Trainieren des generativen kontradiktorischen neuronalen Netzes unter Verwendung des Trainingsverfahrens nach einem der Ansprüche 1 bis 7; wobei das Verfahren so implementiert wird, dass während des Trainings des Generators (G) des generativen kontradiktorischen neuronalen Netzes der Verlust unter Verwendung der Verlustfunktion des bildbasierten Detektors (SSD) berechnet wird.Computer-implemented method for training an image-based neural network (G-SSD), comprising a generator (G) coupled to an image-based detector (SSD), wherein the image-based detector (SSD) is a neural network arranged to process a modified image of the scene output by the generator (G); the generator is an image codec arranged to input an input image (111, 112) of a scene and to output a modified image (MI) of the scene suitable for processing by the image-based detector (SSD); the generator (G) is part of a generative adversarial network (GAN) comprising the generator (G) and a discriminator (GD, LD); the method comprising: B) training the generative adversarial neural network using the training method of any one of Claims 1 until 7 ; wherein the method is implemented such that during the training of the generative adversarial neural network generator (G) the loss is calculated using the loss function of the image-based detector (SSD). Computerimplementiertes Verfahren zum Trainieren eines bildbasierten neuronalen Netzes nach Anspruch 8, des Weiteren umfassend das mindestens zweimalige Wiederholen des Schrittes B) des Trainierens des generativen kontradiktorischen neuronalen Netzes (GAN) und eines Schrittes (C20) des Trainierens des bildbasierten Detektors (SSD).Computer-implemented method for training an image-based neural network claim 8 , further comprising repeating step B) of training the generative adversarial neural network (GAN) and a step (C20) of training the image-based detector (SSD) at least twice. Computerprogramm, umfassend Instruktionen, die, wenn das Programm durch einen Computer ausgeführt wird, den Computer veranlassen, Schritte des Verfahrens nach einem der Ansprüche 1 bis 9 auszuführen.A computer program comprising instructions which, when the program is executed by a computer, cause the computer to perform steps of the method according to any one of Claims 1 until 9 to execute. Nicht-transitorisches computerlesbares Medium, auf dem ein Computerprogramm nach Anspruch 10 gespeichert ist.Non-transitory computer-readable medium on which a computer program claim 10 is saved. Datenverarbeitungsvorrichtung, die dafür eingerichtet ist, die Schritte des Verfahrens nach einem der Ansprüche 1 bis 9 auszuführen.Data processing device set up to carry out the steps of the method according to one of Claims 1 until 9 to execute. Modifizierte-Bilder-Generierungsmodul (150), das dafür eingerichtet ist, ein modifiziertes Bild einer Szene auf der Grundlage eines Anfangsbildes der Szene zu generieren, wobei das Modifizierte-Bilder-Generierungsmodul einen Generator (G) umfasst, der der Generator eines generativen kontradiktorischen Netzes (GAN) ist, das unter Verwendung des Verfahrens nach einem der Ansprüche 1 bis 7 trainiert wird.A modified image generation module (150) arranged to generate a modified image of a scene based on an initial image of the scene, the modified image generation module comprising a generator (G) that is a generative adversarial network generator (GAN) is obtained using the method of any one of Claims 1 until 7 is trained. System (150) zum Detektieren von Merkmalen in einem Bild, umfassend: ein Modifizierte-Bilder-Generierungsmodul nach Anspruch 13 und ein bildbasiertes Detektionsmodul, das einen bildbasierten Detektor (SSD) umfasst, der dafür eingerichtet ist, das modifizierte Bild der Szene zu verarbeiten, das durch das Modifizierte-Bilder-Generierungsmodul ausgegeben wird.A system (150) for detecting features in an image, comprising: a modified image generation module according to Claim 13 and an image-based detection module comprising an image-based detector (SSD) configured to process the modified image of the scene output by the modified-image generation module.
DE112019007762.7T 2019-09-30 2019-09-30 Method for training a generative adversarial network, modified image generation module and system for detecting features in an image Pending DE112019007762T5 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2019/076434 WO2021063476A1 (en) 2019-09-30 2019-09-30 Method for training a generative adversarial network, modified image generation module and system for detecting features in an image

Publications (1)

Publication Number Publication Date
DE112019007762T5 true DE112019007762T5 (en) 2022-06-15

Family

ID=68136379

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019007762.7T Pending DE112019007762T5 (en) 2019-09-30 2019-09-30 Method for training a generative adversarial network, modified image generation module and system for detecting features in an image

Country Status (2)

Country Link
DE (1) DE112019007762T5 (en)
WO (1) WO2021063476A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113706646A (en) * 2021-06-30 2021-11-26 酷栈(宁波)创意科技有限公司 Data processing method for generating landscape painting
CN113487512A (en) * 2021-07-20 2021-10-08 陕西师范大学 Digital image restoration method and device based on edge information guidance
US20230140142A1 (en) * 2021-11-01 2023-05-04 Seyed Saeed CHANGIZ REZAEI Generative adversarial neural architecture search
WO2023102709A1 (en) * 2021-12-07 2023-06-15 深圳先进技术研究院 Dynamic parameter image synthesis method and system based on static pet image
CN117036658A (en) * 2022-04-29 2023-11-10 华为技术有限公司 Image processing method and related equipment
CN115830723A (en) * 2023-02-23 2023-03-21 苏州浪潮智能科技有限公司 Correlation method and correlation device for training set images

Also Published As

Publication number Publication date
WO2021063476A1 (en) 2021-04-08

Similar Documents

Publication Publication Date Title
DE112019007762T5 (en) Method for training a generative adversarial network, modified image generation module and system for detecting features in an image
DE112016005059B4 (en) Subcategory-aware convolutional neural networks for object detection
DE102018111407A1 (en) METHOD FOR MACHINE LEARNING FOR AUTOMATICALLY MODELING OF EXCESSIVE EXPENDITURE
DE102019100575A1 (en) METHOD AND SYSTEM FOR PRODUCING A AREA PICTURE USING LOW DEPTH DATA
DE102006010607A1 (en) Object localization method, involves calculating probability values for limitation boxes in input image based on probability that object is arranged in these locations, and selecting box with highest probability as location of object
DE102018128531A1 (en) System and method for analyzing a three-dimensional environment represented by a point cloud through deep learning
WO2020049154A1 (en) Method and device for classifying objects
EP3557487B1 (en) Generation of validation data with generative contradictory networks
DE102019127282A1 (en) System and method for analyzing a three-dimensional environment through deep learning
DE112019002848T5 (en) SYSTEM AND METHOD FOR FINDING AND CLASSIFYING PATTERNS IN AN IMAGE WITH AN IMAGE PROCESSING SYSTEM
DE102019131971A1 (en) An image processing module
DE112020005584T5 (en) Occlusion-aware interior scene analysis
DE102020133963A1 (en) Systems and Methods for Image Noise Reduction Using Deep Convoluted Networks
DE102021203021A1 (en) SEMANTICALLY CONSISTENT EXTENDED TRAINING DATA FOR LIGHT DETECTION
DE102018220892A1 (en) Device and method for generating label objects for the surroundings of a vehicle
DE102021201124A1 (en) TRAINING IMAGE CLASSIFIER NETWORKS
DE102020200499A1 (en) Method for generating labeled data, in particular for training a neural network, using unlabeled, partitioned samples
WO2020260016A1 (en) Method and apparatus for training a machine learning system
EP1998272A2 (en) Device for determining an object and/or probability of a search object existing in a readout window of a picture, method and computer program
DE102019217951A1 (en) Method and apparatus for determining a domain distance between at least two data domains
DE102018121317A1 (en) Method and device for estimating direction information conveyed by a free space gesture for determining user input at a human-machine interface
DE102019127306A1 (en) System and method for detecting objects in a three-dimensional environment of a carrier vehicle
DE102023127605A1 (en) Synthetic dataset generator
WO2022179945A1 (en) Method for fusing measurement data captured using different measurement modalities
DE202020107031U1 (en) Combined prediction of feature and feature movement