DE102021104110A1 - Verfahren zur Parametrierung einer Bildsynthese aus einem 3D-Modell - Google Patents

Verfahren zur Parametrierung einer Bildsynthese aus einem 3D-Modell Download PDF

Info

Publication number
DE102021104110A1
DE102021104110A1 DE102021104110.4A DE102021104110A DE102021104110A1 DE 102021104110 A1 DE102021104110 A1 DE 102021104110A1 DE 102021104110 A DE102021104110 A DE 102021104110A DE 102021104110 A1 DE102021104110 A1 DE 102021104110A1
Authority
DE
Germany
Prior art keywords
representation
parameter set
photograph
synthetic image
neural network
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
DE102021104110.4A
Other languages
English (en)
Inventor
Andre Skusa
Nikolas Hemion
Sven BURDORF
Daniel Hasenklever
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.)
Dspace GmbH
Original Assignee
Dspace GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dspace GmbH filed Critical Dspace GmbH
Priority to DE102021104110.4A priority Critical patent/DE102021104110A1/de
Priority to PCT/EP2021/084149 priority patent/WO2022174952A1/de
Publication of DE102021104110A1 publication Critical patent/DE102021104110A1/de
Priority to US18/236,037 priority patent/US20230394742A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)

Abstract

Verfahren zur Parametrierung einer Programmlogik zur Bildsynthese zur Anpassung von mittels der Programmlogik synthetisierten Bildern an ein Kameramodell. Eine digitale Fotografie einer dreidimensionalen Szenerie wird durch ein neuronales Netz verarbeitet und eine abstrakte erste Repräsentation der Fotografie aus einer Auswahl von Schichten des neuronalen Netzes extrahiert. Die Programmlogik wird gemäß einem initialen Ausgangsparametersatz parametriert, um aus einem dreidimensionalen Modell der Szenerie ein die Fotografie nachstellendes Bild zu synthetisieren. Das synthetische Bild wird durch dasselbe neuronale Netz verarbeitet, eine abstrakte zweite Repräsentation des synthetischen Bildes aus derselben Auswahl von Schichten extrahiert und auf Basis einer Metrik, die die erste Repräsentation und die zweite Repräsentation berücksichtigt, eine Distanz des synthetischen Bildes zur Fotografie berechnet. Durch schrittweise Variation des Ausgangsparametersatzes, Neusynthese des synthetischen Bildes und Neuberechnung der Distanz wird der Ausgangsparametersatz in einem iterativen Verfahren optimiert, um die Bildsynthese der Programmlogik an die von dem Kameramodell erzeugten Bilder anzupassen.

Description

  • Insbesondere in der Automobilbranche ist es seit vielen Jahren üblich, Steuersysteme für Fahrzeuge in virtuellen Umgebungen zu testen. Die Verfahren dazu sind, je nach Ausgestaltung des Prüflings, als Hardware in the Loop (HiL), Software in the Loop (SiL), Processor in the Loop (PiL), Model in the Loop (MiL) oder Vehicle in the Loop (ViL) bekannt. Allen gemeinsam ist, dass das unter Test stehende Steuersystem sich in einer Regelschleife mit einem Simulationsrechner befindet. Der Simulationsrechner simuliert eine Einsatzumgebung des Steuersystems, beispielsweise eine Straßenszene, erzeugt auf Basis der Simulation synthetische Eingangsdaten für das Steuersystem und speist diese in das Steuersystem ein. Dem Steuersystem wird also ein Einsatz in einer physischen Umgebung vorgetäuscht, in der es gefahrlos und unter reproduzierbaren Bedingungen testbar ist. Die Regelschleife kann als geschlossene Regelschleife ausgestaltet sein. In diesem Fall werden von dem Steuersystem erzeugte Daten in die Simulation zurückgespeist, um dort eine simulierte Maschine, beispielsweise ein Fahrzeug, anzusteuern.
  • In jüngerer Zeit arbeiten viele Hersteller an autonomen Systemen, die sich ohne menschliche Steuerung in der Umwelt bewegen können. PKWs der Automatisierungsstufe 3, in der der Fahrer auch bei regulärer Fahrt für längere Zeit das Lenkrad loslassen kann, sind bereits für Endkunden erhältlich. Ähnliche Entwicklungen gibt es in der Luftfahrt und der Robotik. Derartige Systeme sind oft mit Kameras ausgestattet, denen eine auf einem neuronalen Netz basierende Objekterkennung nachgeschaltet ist.
  • Simulationssysteme der zuvor geschilderten Art müssen grundsätzlich ausgestaltet sein, dem Prüfling glaubhaft den Einsatz in einer physischen Umgebung vorzutäuschen. Zum Test eines kamerabasierten Steuersystems mit Objektserkennung muss der Simulationsrechner demnach eine fotorealistische graphische Echtzeitsimulation einer virtuellen Umwelt umfassen, auf deren Basis der Simulationsrechner emulierte Rohdaten eines Kamerasensors erzeugt und in das Steuersystem einspeist. Insbesondere die Spieleindustrie hält dafür geeignete Rendering-Software vor. Grafikengines wie die Unreal Engine, die Cry Engine oder die Unity Engine finden vermehrt auch in der Entwicklung kamerabasierter Steuersysteme Einsatz.
  • Da es in einer virtuellen Umgebung möglich ist, ein Steuersystem gezielt mit bestimmten Situationen zu konfrontieren, kann ein Testkilometer in einer virtuellen Testumgebung viele Testkilometer in der realen Umwelt ersetzen. Leider ist die Einsatztauglichkeit virtueller Testumgebungen für kamerabasierte Steuersysteme nach Stand der Technik noch begrenzt, weil die von Grafikengines in Echtzeit gerenderten Bilder noch leicht von tatsächlichen Kamerabildern unterscheidbar sind. Aus der Performanz eines Steuersystems in einer virtuellen Umgebung lässt sich demnach nur begrenzt auf dessen Performanz im Feld schließen. Ein weiteres Anwendungsfeld ist die Nutzung einer Grafikengine zur Erzeugung synthetischer Trainingsdaten, um ein neuronales Netz des Steuersystems beispielsweise zur Erkennung von Fußgängern, Verkehrsschildern, Fahrzeugen und anderem zu trainieren. Es ist derzeit noch nicht möglich, hierfür vollständig auf synthetische Trainingsdaten zurückzugreifen. Zu groß ist die Gefahr, dass das neuronale Netz sich an die synthetischen Daten gewöhnt und, trotz hinreichender Performanz in der virtuellen Umwelt, im Feld in einer kritischen Situation versagt.
  • Auf dem Markt verbreitete Grafikengines umfassen eine Vielzahl verstellbarer Parameter, deren Werte das Erscheinungsbild eines synthetisierten Bildes beeinflussen. Diese Parameter lassen sich nutzen, um das synthetisierte Bild bestmöglich an das von einer realen Kamera erzeugte Bild anzupassen. Allerdings ist der Parameterraum im Normalfall so hochdimensional, dass durch reines händisches Ausprobieren unterschiedlicher Parametersätze in vertretbarer Zeit keine optimale Parametrierung ermittelbar ist.
  • Vor diesem Hintergrund ist es die Aufgabe der Erfindung, die Angleichung synthetisierter Bilder an eine gegebene Kamera durch Parametrierung einer Programmlogik zur Bildsynthese zu erleichtern.
  • Die Erfindung ist ein automatisierbares iteratives Verfahren zur Parametrierung einer Programmlogik zur Bildsynthese, die ausgestaltet ist, eine fotorealistische perspektivische Darstellung eines 3D-Modells zu synthetisieren, deren Erscheinungsbild von einer Vielzahl verstellbarer Parameter abhängig ist.
  • Benötigt wird dazu eine geeignete Metrik, die ein numerisches Maß für die Ähnlichkeit zweier Bilder bereitstellt. Klassische Verfahren zur Prüfung der Ähnlichkeit zweier Bilder, die auf einem pixelweisen Vergleich der Bilder beruhen, z.B. die mittlere quadratische Abweichung der Farbwerte, sind dazu nur wenig geeignet. Beispielsweise wäre es anhand eines solchen Verfahrens nicht verlässlich möglich, die korrekte Position einer Lichtquelle zu prüfen, weil ein unterschiedlicher Verlauf von Schatten sich möglicherweise kaum auf den Mittelwert der Pixelfarben auswirkt. Weiterhin ist es nicht mit vertretbarem Aufwand möglich, eine Fotografie detailgenau mittels einer Grafikengine nachzustellen. Beispielsweise ist ein in der Fotografie abgebildeter LKW in dem synthetischen Bild üblicherweise durch ein generisches Modell eines LKWs ersetzt, dessen geometrische Form unterschiedlich ist, auf dem nicht dasselbe Firmenlogo aufgedruckt ist usw. Ein pixelweiser Vergleich der Bilder würde große Unterschiede zwischen beiden erkennen, die für die zu lösende Aufgabe aber belanglos sind. Erforderlich ist eine Metrik, die Bildähnlichkeit in einem globalen Maßstab misst, die also ein gutes Maß für das ist, was Menschen typischerweise subjektiv als ähnlich empfinden.
  • Aus dem Aufsatz „The Unreasonable Effectiveness of Deep Features as a Perceptual Metric“ (Richard Zhang et al., Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, arXiv: 1801.03924, 2018) ist bereits bekannt, dass Zwischenrepräsentationen von Bildern aus verdeckten Schichten vortrainierter neuronaler Netze ein gutes Maß für Bildähnlichkeit gemäß menschlicher Wahrnehmung sind. Die Autoren vergleichen dazu Fotografien mit gezielten Verfälschungen derselben. Für die Erfindung ist vorgesehen, auf ähnliche Weise eine Fotografie mit gerenderten Nachbildungen der Fotografie zu vergleichen.
  • Vorgesehen ist eine Bereitstellung einer digitalen Fotografie einer dreidimensionalen Szenerie, eine Verarbeitung der Fotografie durch ein neuronales Netz und eine Extraktion einer ersten Repräsentation der Fotografie aus einer Auswahl von Schichten des neuronalen Netzes. Die Auswahl von Schichten umfasst vorteilhaft mindestens eine zwischen der Eingabeschicht und der Ausgabeschicht angeordnete verdeckte Schicht des neuronalen Netzes, besonders vorteilhaft eine Mehrzahl verdeckter Schichten.
  • Unter einer digitalen Fotografie ist eine mittels einer Digitalkamera erstellte, in digitaler Form gespeicherte Bildaufnahme einer Szenerie in einer physischen Umwelt zu verstehen. Es ist für das Verfahren unerheblich, ob die Fotografie als Einzelbildaufnahme angefertigt oder aus einer Filmaufnahme extrahiert ist.
  • Weiterhin vorgesehen ist eine Bereitstellung eines digitalen dreidimensionalen Modells der Szenerie. Darunter ist insbesondere eine durch die Programmlogik zur Bildsynthese lesbare und verarbeitbare semantische Beschreibung einer Nachbildung der Szenerie zu verstehen, auf deren Basis mittels der Programmlogik ein die Szenerie nachstellendes Bild synthetisierbar ist. Die semantische Beschreibung umfasst bevorzugt eine Liste von Grafikobjekten und eine Zuordnung von Parametern zu jedem Grafikobjekt, insbesondere eine Position und eine räumliche Orientierung, und die Programmlogik ist ausgestaltet, für jedes Objekt eine passende Textur zu generieren.
  • Zur Vorbereitung des ersten Iterationsschritts wird ein initialer Ausgangsparametersatz erstellt, umfassend eine Auswahl einzustellender Parameter der Programmlogik mit mehr oder weniger willkürlichen Werten, und die Programmlogik wird entsprechend dem Ausgangsparametersatz parametriert, d.h. die in dem initialen Ausgangsparametersatz aufgelisteten Parameter werden auf die Werte eingestellt, die ihnen in dem initialen Ausgangsparametersatz zugeordnet sind. Die Parametrierung geschieht bevorzugt entweder mittels einer Programmierschnittstelle der Programmlogik, oder die Programmroutinen zur Ausführung des Verfahrens sind in die Programmlogik integriert. Mittels der parametrierten Programmlogik wird, auf Basis des dreidimensionalen Modells, ein die Fotografie nachstellendes synthetisches Bild synthetisiert. Dazu muss eine virtuelle Kamera der Programmlogik so eingestellt werden, dass das synthetisierte Bild die nachgestellte Szenerie aus derselben Perspektive zeigt wie die Fotografie die physische Szenerie. Das synthetisierte Bild ist damit eine Art synthetischer Zwilling der Fotografie, dessen dargestelltes Bild im Wesentlichen, wenn auch im Allgemeinen nicht im Detail, mit der Fotografie übereinstimmt.
  • Das synthetische Bild wird durch dasselbe neuronale Netz verarbeitet, mittels dessen schon die Fotografie verarbeitet wurde (d.h. entweder mit derselben Instanz des neuronalen Netzes oder durch eine identische Kopie desselben), und es wird eine zweite Repräsentation des synthetischen Bildes aus derselben Auswahl von Schichten extrahiert, aus der die Repräsentation der Fotografie extrahiert ist.
  • Nachfolgend wird eine Distanz des synthetischen Bildes zur Fotografie berechnet, wobei die Berechnung anhand einer Metrik erfolgt, die die erste Repräsentation und die zweite Repräsentation berücksichtigt.
  • Die erste und die zweite Repräsentation können zum Beispiel Mengen von aus Neuronen ausgelesenen Aktivierungsfunktionswerten sein. Dieser Distanzberechnung liegen die Annahmen zugrunde, dass beide extrahierten Repräsentationen einander umso ähnlicher sind, je ähnlicher die Fotografie und das synthetische Bild einander sind, und dass weiterhin, da bildverarbeitende neuronale Netze nativ ausgestaltet sind, globale Zusammenhänge in Bildern zu erkennen, sich geringfügige Unterschiede zwischen Fotografie und synthetischem Bild, wie eine etwas unterschiedliche Geometrie eines Objekts und seines virtuellen Gegenstücks, relativ geringfügig auswirken.
  • Durch einen iterativen Algorithmus wird der initiale Ausgangsparametersatz dahingehend verbessert, dass die auf seiner Grundlage synthetisierten Bilder der Fotografie ähnlicher werden. Der iterative Algorithmus umfasst die folgenden Verfahrensschritte:
    1. a) Erzeugung einer Anzahl von Parametersätzen durch Variation des Ausgangsparametersatzes.
    2. b) Wiederholung der zuvor für den initialen Ausgangsparametersatz durchgeführten Verfahrensschritte für jeden Parametersatz aus der Anzahl von Parametersätzen, um für jeden Parametersatz eine Distanz zur Fotografie zu berechnen. Sprich, für jeden Parametersatz aus der Vielzahl von Parametersätzen: Parametrierung der Programmlogik entsprechend dem jeweiligen Parametersatz; erneute Synthese des synthetischen Bildes mittels der entsprechend dem Parametersatz parametrierten Programmlogik; Verarbeitung des neuen synthetischen Bildes durch das neuronale Netz; Erneute Extraktion der zweiten Repräsentation des neuen synthetischen Bildes aus derselben Auswahl von Schichten, aus der die erste Repräsentation extrahiert ist; und Berechnung der Distanz des neuen synthetischen Bildes zur Fotografie auf Basis der neu extrahierten zweiten Repräsentation.
    3. c) Auswahl eines Parametersatzes, mittels dessen im Verfahrensschritt b) ein synthetisches Bild mit geringerer Distanz synthetisiert wurde als mittels des Ausgangsparametersatzes, als neuen Ausgangsparametersatz.
  • Die Verfahrensschritte a) bis c) werden wiederholt, bis die Distanz des mittels des Ausgangsparametersatzes synthetisierten synthetischen Bildes zur Fotografie ein Abbruchkriterium des iterativen Algorithmus erfüllt. Sobald das der Fall ist, wird die Programmlogik final entsprechend dem aktuellen Ausgangsparametersatz parametriert. Das Abbruchkriterium ist vorteilhaft derart, dass bei Erfüllung des Abbruchkriterium keine wesentliche Verringerung der Distanz bei Durchführung einer weiteren Iteration zu erwarten ist.
  • Das Fachgebiet der computergestützten Optimierung umfasst zahlreiche iterative Optimierungsverfahren. Für das erfindungsgemäße Verfahren sind Optimierungsverfahren vorteilhaft, die auf nicht differenzierbare Metriken anwendbar sind. Bevorzugt ist der iterative Algorithmus als evolutionärer Algorithmus ausgestaltet, wobei die Anzahl von Parametersätzen im Verfahrensschritt a) eine Vielzahl von Parametersätzen umfasst. Evolutionäre Algorithmen sind als für hochdimensionale Optimierungsprobleme besonders geeignet bekannt. Besonders bevorzugt ist der evolutionäre Algorithmus als genetischer Algorithmus ausgestaltet, wobei jeder Parametersatz ein Genom ist und wobei eine für einen Parametersatz ermittelte geringe Distanz zur Fotografie eine hohe Fitness eines Parametersatzes impliziert. Aus der Literatur sind zahlreiche Ausführungsformen evolutionärer Algorithmen bekannt, die auf das erfindungsgemäße Verfahren anwendbar sind und möglicherweise Verfahrensschritte umfassen, die in der vorliegenden Beschreibung und den Patentansprüchen nicht ausdrücklich genannt sind.
  • Das Verfahren ist eine effiziente Methode, um die Bildsynthese einer Grafikengine an ein gegebenes Kameramodell anzupassen. Die Erfindung verbessert dadurch die Anwendbarkeit von Grafikengines zum Test und zum Training kamerabasierter Steuersysteme. Das Verfahren ist vollständig automatisierbar und bewirkt dadurch außerdem eine Einsparung von Arbeitszeit zur Parametrierung einer Grafikengine.
  • Die digitale Fotografie ist bevorzugt mit einem Kameramodell aufgenommen, das zur Einspeisung von Bilddaten, insbesondere Kamerarohdaten, in ein Steuersystem zur Ansteuerung eines Roboters, eines teilautonomen Fahrzeugs oder eines autonomen Fahrzeugs vorgesehen ist. Das Verfahren parametriert die Programmlogik dann für eine Synthese von Bildern, die den mittels des besagten Kameramodells erzeugten Bildern ähneln. Mittels der Programmlogik lassen sich dann nach Abschluss der Parametrierung synthetische Bilddaten erzeugen und in das Steuersystem einspeisen, um das Steuersystem zu testen, zu validieren oder zu trainieren. Unter synthetischen Bilddaten sind insbesondere synthetische Kamerarohdaten zu verstehen, die beispielsweise auf Basis der von der Programmlogik synthetisierten Bilder mittels einer Emulation eines Kamerachips erzeugt werden.
  • Das neuronale Netz ist vorteilhaft ein vortrainiertes neuronales Netz. Das neuronale Netz muss keineswegs explizit zur Beurteilung von Ähnlichkeit zwischen Bildern trainiert sein. Grundsätzlich ist es ausreichend, wenn das neuronale Netz in irgendeiner Weise zur Eingabe eines Bildes an der Eingabeschicht und zur Verarbeitung des Bildes in den verdeckten Schichten ausgestaltet ist. Das neuronale Netz kann beispielsweise ausgestaltet sein, ein Puzzle zu lösen, Objekten in einem zweidimensionalen Bild eine Tiefe zuzuordnen oder eine semantische Segmentierung durchzuführen. In einer bevorzugten Ausgestaltung der Erfindung ist das neuronale Netz als Klassifikator zur Erkennung zumindest eines Objekttyps ausgestaltet.
  • Einzelne Neuronen in neuronalen Netzen verarbeiten ihre Daten durch Aktivierungsfunktionen, die gewichtete Ausgabewerte von Neuronen aus einer vorhergehenden Schicht als Argumente erhalten. Dementsprechend sind die erste und die zweite Repräsentation bevorzugt als eine Menge von Aktivierungsfunktionswerten oder Aktivierungsfunktionsargumenten von Neuronen aus der Auswahl verdeckter Schichten ausgestaltet. In einer beispielhaften Ausführung wird dazu eine extrahierte Repräsentation in eine Vektordarstellung aus Aktivierungsfunktionswerten bzw. Aktivierungsfunktionsargumenten überführt, und die Ermittlung der Distanz umfasst eine Ermittlung einer Vektorähnlichkeit, insbesondere einer Kosinusähnlichkeit, oder eines Abstands beider Vektoren zueinander. In einer anderen beispielhaften Ausführung werden zur Ermittlung der Distanz ein erstes Histogramm gebildet, das eine Häufigkeit von Vektoren oder Skalaren in der Repräsentation des synthetischen Bildes abbildet, und ein zweites Histogramm gebildet, das eine Häufigkeit von Vektoren oder Skalaren in der Repräsentation der Fotografie abbildet, und die Berechnung einer Distanz geschieht durch Berechnung einer Ähnlichkeit des ersten Histogramms und des zweiten Histogramms.
  • Ein Training des neuronalen Netzes unter Einsatz von Methoden des kontrastiven Lernens (contrastive learning) scheint gemäß Untersuchungen der Anmelderin für die Performanz des Verfahrens vorteilhaft zu sein. Unter kontrastivem Lernen ist insbesondere zu verstehen, den Satz von Trainingsbildern mit gezielten Verfälschungen von Trainingsbildern zu erweitern. Verfälschungen können beispielhaft durch eine oder mehrere der folgenden Arten von Bildmanipulationen eines Trainingsbildes durchgeführt werden: Rotation, Ausschneiden eines Bildausschnitts, Zuschnitt, Farbverfälschung, Verzerrung, Verrauschung.
  • In einer anderen bevorzugten Ausgestaltung des Verfahrens ist das neuronale Netz als Autoencoder ausgestaltet. Ein Autoencoder, wie er im Zusammenhang mit dem erfindungsgemäßen Verfahren zu verstehen ist, umfasst einen Encoder-Anteil und einen Decoder-Anteil. Der Encoder-Anteil ist trainiert, eine abstrakte kodierte Repräsentation eines Bildes in einer Anzahl verdeckter Schichten des Autoencoders, angeordnet zwischen dem Encoder-Anteil und dem Decoder-Anteil, zu hinterlegen, und der Decoder-Anteil ist trainiert, aus der kodierten Repräsentation das Bild zu rekonstruieren. Die kodierte Repräsentation des Bildes ist im Rahmen des erfindungsgemäßen Verfahrens als Repräsentation eines Bildes, also der Fotografie oder eines synthetischen Bildes, nutzbar.
  • Im Stand der Technik wird im Normalfall keine perfekte Rekonstruktion des Bildes durch den Decoder-Anteil angestrebt. Das Trainingsziel ist üblicherweise zum Beispiel ein entrauschtes Bild, ein komprimiertes Bild oder ein dimensionsreduziertes Bild. Für die Performanz des erfindungsgemäßen Verfahrens scheint es vorteilhaft zu sein, den Autoencoder mit dem Trainingsziel einer perfekten Rekonstruktion des Bildes durch den Decoder-Anteil zu trainieren.
  • Die Zeichnungen und deren nachfolgende Beschreibungen stellen zum besseren Verständnis der Erfindung eine bevorzugte, aber beispielhafte Ausführungsform des Verfahrens vor. Es zeigen
    • 1 ein kamerabasiertes Steuersystem;
    • 2 einen Prüfstand, in den das Steuersystem als Prüfling eingebunden ist, um das Steuersystem in einer virtuellen Umwelt zu testen;
    • 3 eine digitale Fotografie einer dreidimensionalen Szenerie;
    • 4 ein die Fotografie nachstellendes synthetisches Bild;
    • 5 die Erstellung einer ersten Repräsentation der Fotografie;
    • 6 die Erstellung einer zweiten Repräsentation des synthetischen Bildes; und
    • 7 ein Ablaufdiagramm eines erfindungsgemäßen Verfahrens.
  • Die Abbildung der 1 zeigt ein noch in der Entwicklung befindliches kamerabasiertes Steuersystem 2 mit einem für das Steuersystem 2 vorgesehenen Kameramodell 4. Das Kameramodell 4 umfasst eine Optik 8 zur Projektion eines Bildes der Umwelt auf einen Kamerachip 10. Der Kamerachip 10 ist ausgestaltet, das projizierte Bild in Kamerarohdaten zu übersetzen und die Kamerarohdaten als Bilddatenstrom über eine Bilddatenverbindung 14 in einen Bilddateneingang 12 des Steuersystems 2 einzuspeisen. Das Steuersystem 2 umfasst eine Prozessoreinheit 6, eingerichtet zur Einlesung des Bilddatenstroms vom Bilddateneingang 12 und zur Verarbeitung des Bilddatenstroms. Auf der Prozessoreinheit 6 ist eine Objekterkennung programmiert, die eingerichtet ist, in den Kamerarohdaten Objekte zu erkennen, eine Objektliste der erkannten Objekte zu erstellen und die Objektliste in Echtzeit zu aktualisieren, sodass die Objektliste zu jedem Zeitpunkt eine aktuelle semantische Beschreibung der Umwelt darstellt. Auf der Prozessoreinheit ist weiterhin eine Steuerroutine programmiert, die eingerichtet ist, die Objektliste einzulesen, auf Basis der Objektliste Steuerbefehle für Aktoren zu erstellen und die Aktoren über einen Aktordatenausgang 16 mittels der Steuerbefehle anzusteuern.
  • Die Abbildung der 2 zeigt einen Prüfstandsaufbau 18, in den das Steuersystem 2 als Prüfling eingebunden ist. Die Kamera 4 ist in dem Aufbau freigeschnitten. Die Bilddatenverbindung 14 verbindet den Bilddateneingang mit dem Prüfstandsaufbau 18. Der Prüfstandsaufbau 18 umfasst eine Prozessoreinheit und ist eingerichtet, dem Steuersystem 2 eine virtuelle Umwelt bereitzustellen, die eine reale Umwelt des Steuersystems 2 simuliert.
  • Auf dem Prüfstandsaufbau 18 ist ein dynamisches Umgebungsmodell 20 programmiert. Das Umgebungsmodell 20 umfasst eine Vielzahl dynamischer und statischer Objekte, die in ihrer Gesamtheit eine semantische Beschreibung der virtuellen Umwelt darstellen. Jedem dynamischen Objekt sind eine Position und eine räumliche Orientierung in der virtuellen Umwelt zugeordnet, und das Umgebungsmodell 20 ist eingerichtet, um Position und räumliche Orientierung jedes dynamischen Objekts in jedem Zeitschritt der Simulation zu ändern, um eine Bewegung der dynamischen Objekte zu simulieren. Das Umgebungsmodell ist auch eingerichtet, Wechselwirkungen der in ihm hinterlegten Objekte untereinander zu simulieren.
  • Das Umgebungsmodell 20 umfasst insbesondere eine virtuelle Instanz einer technischen Vorrichtung, zu deren Ansteuerung das Steuersystem 2 vorgesehen ist, mit einer virtuellen Instanz des Kameramodells 4 und virtuellen Instanzen der Aktoren, zu deren Ansteuerung das Steuersystem 2 vorgesehen ist. Die virtuelle Umwelt bildet außerdem eine typische Einsatzumgebung des Steuersystems 2 ab. Beispielhaft kann das Steuersystem 2 zur Steuerung eines hochautomatisierten Automobils vorgesehen sein, und der Prüfstandsaufbau 18 ist zur Prüfung der Einsatzreife des Steuersystems im Stadtverkehr vorgesehen. Das Umgebungsmodell 20 umfasst in diesem Fall ein virtuelles Testfahrzeug. Zwischen dem Aktordatenausgang 16 und dem Prüfstandsaufbau 18 ist eine Datenverbindung eingerichtet, und das Umgebungsmodell 20 ist eingerichtet, an dem Aktordatenausgang 16 ausgegebene Steuerbefehle einzulesen und auf virtuelle Instanzen der entsprechenden Aktoren in dem virtuellen Testfahrzeug anzuwenden. Das Steuersystem 2 ist also eingerichtet, die Radstellung, die Längsbeschleunigung und die Bremskraft des virtuellen Testfahrzeugs auf die gleiche Weise zu steuern, wie es das auch in einem echten Fahrzeug in einer physischen Umwelt täte. Das virtuelle Testfahrzeug umfasst außerdem eine virtuelle Kamera, der eine statische Position und eine statische räumliche Ausrichtung im Bezugssystem des Testfahrzeugs zugeordnet ist. Dem Einsatzzweck des Steuersystems 2 entsprechend bildet die virtuelle Umwelt eine städtische Umgebung nach. Unter den Objekten im Umgebungsmodell finden sich also beispielhaft Automobile, Radfahrer, Fußgänger, Ampeln, Beschilderung, Gebäude und Bepflanzung. Das Umgebungsmodell umfasst auch Agenten zur Ansteuerung dynamischer Objekte, um ein realitätsnahes Bewegungsverhalten der Objekte zu simulieren.
  • Auf dem Prüfstandsaufbau 18 ist weiterhin eine als Grafikengine 22 ausgestaltete Programmlogik zur Bildsynthese programmiert. Die Grafikengine ist eingerichtet, um die in dem Umgebungsmodell 20 hinterlegten Objekte und den Objekten zugeordnete Parameter auszulesen, insbesondere Position und räumliche Orientierung, für jedes Objekt eine dem Objekt zugeordnete Textur zu generieren und auf Basis der Texturen ein fotorealistisches zweidimensionales perspektivisches Bild der virtuellen Umwelt aus Sicht einer virtuellen Kamera zu synthetisieren. Die Grafikengine ist ausgestaltet, innerhalb vorgegebener Zeitabstände in Echtzeit neue Bilder zu synthetisieren, jeweils unter Berücksichtigung aktueller Parameter der Objekte und einer aktuellen Position und Blickrichtung der virtuellen Kamera, um eine Bewegung der virtuellen Kamera in der virtuellen Umwelt zu simulieren.
  • Außerdem ist auf dem Prüfstandsaufbau 18 eine Kameraemulation 24 zur Emulation des Kameramodells 4 programmiert, umfassend eine Emulation der Optik 8 und des Kamerachips 10. Die Grafikengine ist eingerichtet, die Bilder aus Sicht der virtuellen Instanz des Kameramodells 4 zu synthetisieren. Die Kameraemulation 24 ist eingerichtet, die von der Grafikengine 22 synthetisierten Bilder einzulesen, mittels der Emulation der Optik 8 zu verarbeiten, mittels der Emulation des Kamerachips einen Bilddatenstrom aus Kamerarohdaten zu erzeugen, der Kamerarohdaten des Kameramodells 4 in der virtuellen Umwelt nachbildet, und den Datenstrom aus Kamerarohdaten mittels der Bilddatenverbindung 14 in den Bilddateneingang 12 einzuspeisen. Die Kameraemulation 24 kann logisch von der Grafikengine 22 getrennt oder in diese integriert sein. Die Kameraemulation 24 kann auch auf einer dedizierten und separaten Hardware programmiert sein.
  • Das Steuersystem 2 befindet sich also mit dem Prüfstandsaufbau 18 in einer geschlossenen Regelschleife und wechselwirkt mit der virtuellen Umwelt des Umgebungsmodells 20 wie mit der physischen Umwelt. Da es in der virtuellen Umwelt einfach und gefahrlos möglich ist, das Steuersystem 2 mit kritischen Situationen zu konfrontieren, die in der Realität nur selten auftreten, ist es wünschenswert, einen möglichst großen Anteil der Entwicklung des Steuersystems 2 in die virtuelle Umwelt zu verlagern. Dieser Anteil kann umso größer sein, je realitätsnäher die Simulation der virtuellen Umwelt ausgestaltet ist, wobei die Ähnlichkeit der von der Grafikengine 22 synthetisierten Bilder mit den von dem Kameramodell 4 erzeugten Bildern von besonderer Wichtigkeit ist. Die Grafikengine umfasst eine Vielzahl verstellbarer Parameter, die das Aussehen der synthetisierten Bilder beeinflussen. Das Ziel besteht also darin, einen Parametersatz zu ermitteln, der eine optimale Ähnlichkeit bewirkt.
  • Dazu wird zunächst mittels des Kameramodells 4 eine Fotografie 26 einer dreidimensionalen physischen Szenerie angefertigt, die vorteilhaft eine typische Einsatzumgebung des Steuersystems 2 darstellt. Die Abbildung der 3 skizziert beispielhaft eine mittels des Kameramodells 4 angefertigte Fotografie 26 einer zufälligen Straßenszene. Die in der Fotografie 26 abgebildete Szenerie wird anschließend als digitales dreidimensionales Modell nachgebaut, d.h. es wird eine semantische Beschreibung in Form eines von der Grafikengine 22 lesbaren und verarbeitbaren Umgebungsmodells 20 angefertigt, das die in der Fotografie 26 abgebildete Szenerie nachstellt. (Die Grafikengine 22 und das Umgebungsmodell 20 müssen zur Durchführung der nachfolgend geschilderten Verfahrensschritte nicht auf dem Prüfstandsaufbau 18 programmiert sein, sondern können beispielsweise auf einem handelsüblichen PC laufen.) Beispielsweise wird in dem Umgebungsmodell zur Repräsentation des in der Fotografie 26 abgebildeten Fußgängers ein Fußgängerobjekt hinterlegt, das die Grafikengine 22 veranlasst, eine einen Fußgänger darstellende Textur zu generieren. Das Fußgängerobjekt wird weiterhin parametriert, um es im Rahmen der Möglichkeiten des Umgebungsmodells 20 und der Grafikengine 22 bestmöglich an den in der Fotografie 26 abgebildeten Fußgänger anzupassen. Die Parametrierung umfasst insbesondere die Position und räumliche Ausrichtung des Fußgängers in einem dreidimensionalen globalen Koordinatensystem des Umgebungsmodells 20. Weitere mögliche Beispiele sind Körperbau, Körperhaltung, Kleidung, Haarfarbe und Frisur. Auf gleiche Weise wird mit anderen in der Fotografie 26 abgebildeten Objekten verfahren. Vorteilhaft ist beim Nachbau der Szenerie anzustreben, dass möglichst viele in der Fotografie 26 abgebildete Elemente eine möglichst ähnliche Repräsentation in dem Umgebungsmodell 20 erhalten.
  • Zur Parametrierung der Grafikengine 22 wird zunächst ein initialer Ausgangsparametersatz ermittelt, der eine Auswahl zu optimierender verstellbarer Parameter der Grafikengine 22 umfasst, von denen sich jeder auf das Erscheinungsbild der von der Grafikengine 22 synthetisierten Bilder auswirkt, und der jedem Parameter einen mehr oder weniger willkürlichen Wert zuordnet. Die im initialen Ausgangsparametersatz hinterlegten Werte können beispielsweise einer Standardparametrierung der Grafikengine 22 entsprechen, einer für die weitere Durchführung des Verfahrens als vorteilhaft erkannten Ausgangsparametrierung oder einer zufälligen Werteauswahl.
  • Beispiele für mögliche im initialen Ausgangsparametersatz enthaltene Parameter sind Kontrast, Farbsättigung, Anordnungen von Lichtquellen, Helligkeit von Lichtquellen, Farbanteile von Lichtquellen, Sichtweiten, Bildrauschen sowie optische Verzerrungen und Linsenfehler der Optik 8. Der initiale Ausgangsparametersatz kann grundsätzlich auch verstellbare Parameter der Kameraemulation 24 umfassen. Unabhängig davon, ob die Kameraemulation 24 logisch von der Grafikengine 22 getrennt oder in diese integriert ist, ist die Kameraemulation im Rahmen des erfindungsgemäßen Verfahrens als Teil der Programmlogik zur Bildsynthese zu verstehen, da sie an der Synthese des in das Steuersystem 2 eingespeisten synthetischen Kamerabildes beteiligt ist.
  • Die Grafikengine 22 wird mittels des initialen Ausgangsparametersatzes über eine logische Programmierschnittstelle zur Parametrierung der Grafikengine 22 parametriert, und Position und Blickrichtung der virtuellen Kamera der Grafikengine 22 werden dem Kameramodell 4 bei Aufnahme der Fotografie 26 angepasst. Nachfolgend wird auf Basis des Umgebungsmodells 20 ein fotorealistisches, die Fotografie 26 nachstellendes Bild synthetisiert. Die Abbildung der 4 skizziert beispielhaft ein entsprechendes synthetisches Bild 28. In der Abbildung ist ersichtlich, dass das synthetische Bild 28 der Fotografie 26 zwar insgesamt subjektiv ähnelt, aber im Detail von der Fotografie abweicht. Der Grund ist, dass die in der Fotografie 26 abgebildeten Elemente in dem synthetischen Bild 28 durch generische Texturen aus einer Objektdatenbank des Umgebungsmodells 20 ersetzt sind. So sind beispielsweise der Lastwagen, der Fußgänger und die Tür in dem synthetischen Bild 28 von anderem Aussehen als ihre Gegenstücke in der Fotografie 26. Die Topfpflanze in der Fotografie 26 ist durch eine kleinskalierte Textur eines Baumes dargestellt. Andere Elemente, wie die Regenrinne, der Rollkoffer, die Schaufensterpuppe und die Schaufensterbeklebung, fehlen in dem synthetischen Bild 28, weil die Objektdatenbank keine passenden Objekte bzw. Texturen vorhält.
  • Derartige Diskrepanzen zwischen Fotografie 26 und synthetischem Bild 28 lassen sich durch erhöhten Aufwand reduzieren. Eine Möglichkeit dazu ist, die auf der Fotografie 26 dargestellte dreidimensionale Szenerie zu inszenieren, statt eine Straßenszene zu verwenden. Auf diese Weise hat man eine bessere Kontrolle über die in der Fotografie 26 enthaltenen Elemente. Weiterhin kann man die Möglichkeiten zur Parametrierung der Objekte in dem Umgebungsmodell 20 erweitern oder bei der Generierung von Texturen auf in der Szenerie abfotografierte Texturen zurückgreifen. Die Diskrepanzen zu eliminieren ist aber praktisch kaum möglich. Deswegen sind klassische Verfahren zur Berechnung einer Bildähnlichkeit, die auf einem pixelweisen Vergleich oder einem Vergleich quantisierbarer Bildcharakteristika beruhen, als Metrik zur Messung der Ähnlichkeit des synthetischen Bildes 26 zur Fotografie 28 für sich genommen kaum geeignet. Das Fehlen einzelner Elemente und die abweichenden Formen der in dem synthetischen Bild 28 dargestellten Elemente führen zu starken Farbabweichungen in einzelnen Bildbereichen, sodass eine derartige Metrik die Fotografie 26 und das synthetische Bild 28 unter Umständen, unabhängig von der Parametrierung, niemals als ähnlich bewerten würde. Umgekehrt wäre eine derartige Metrik auch ungeeignet, tatsächlich vorhandene starke Abweichungen bestimmter Art zu erkennen. Ein Beispiel dafür ist die Position von Lichtquellen im Umgebungsmodell 20. Beispielsweise verlaufen die Schatten im synthetischen Bild 28 anders als in der Fotografie 26. Die Lichtquellen im synthetischen Bild 28 sind also anders angeordnet als in der fotografierten Szenerie. Eine pixelweise vergleichende Metrik würde diese Abweichung nicht korrekt berücksichtigen, weil anders verlaufende Schatten sich nicht auf die Farbwerte auswirken und, je nach Verlauf der Schatten, unter Umständen auch nicht auf die mittlere Helligkeit des Bildes.
  • Zur Beurteilung der Ähnlichkeit beider Bilder wird deshalb zunächst die Fotografie 26 durch ein neuronales Netz 30 verarbeitet, wie in der Abbildung der 5 dargestellt. Das neuronale Netz 30 ist zur Verarbeitung eines Bildes ausgestaltet und vortrainiert. Beispielhaft ist das neuronale Netz 30 als Klassifikator ausgestaltet und trainiert, einen Objekttyp in einem Bild zu erkennen, wobei es nach aktuellem Kenntnisstand der Anmelderin allenfalls von geringer Bedeutung ist, zur Erkennung welchen Objekttyps das neuronale Netz 30 trainiert ist. Es kann allerdings von Vorteil sein, wenn das neuronale Netz 30 durch sein Training an Bilder von Umgebungen gewöhnt ist, wie sie auf der Fotografie 26 dargestellt sind.
  • Jedes Neuron des neuronalen Netzes 30 verarbeitet die ihm zugeführten Informationen anhand einer Aktivierungsfunktion und gibt das Ergebnis der Verarbeitung als Aktivierungsfunktionswert A1, ..., A21 an Neuronen der jeweils nachfolgenden Schicht weiter. Nachdem das neuronale Netz 30 die Fotografie 26 verarbeitet hat, wird eine abstrakte erste Repräsentation 32 der Fotografie 26 aus zwei verdeckten Schichten des neuronalen Netzes 30 extrahiert, indem die Aktivierungswerte A6, ..., A14 aus der zweiten und dritten Schicht des neuronalen Netzes 30 ausgelesen und in einem Vektor R1 gespeichert werden.
  • Auf analoge Weise wird, dargestellt in der Abbildung der 6, eine abstrakte zweite Repräsentation 34 des synthetischen Bildes 28 erstellt. Das synthetische Bild 28 wird durch dasselbe neuronale Netz 30 verarbeitet, aus dem bereits die erste Repräsentation 32 extrahiert wurde. In den Neuronen sind nach Verarbeitung des synthetischen Bildes 28 neue Aktivierungsfunktionswerte B1, ..., B21 gespeichert. Zur Extraktion der zweiten Repräsentation 34 werden die Aktivierungsfunktionswerte B6, ..., B14 aus denselben Neuronen ausgelesen, aus denen die erste Repräsentation 32 ausgelesen ist, und in einem Vektor R2 gespeichert.
  • Anhand einer geeigneten Metrik, die die erste Repräsentation 32 und die zweite Repräsentation 34 berücksichtigt, wird eine Distanz des synthetischen Bildes 28 zur Fotografie 26 errechnet, wobei eine geringe Distanz eine hohe Ähnlichkeit beider Bilder impliziert. Eine Distanz D kann beispielhaft durch die Formel D = 1 | cos ( R 1 , R 2 ) |
    Figure DE102021104110A1_0001
    definiert sein. Natürlich gibt es aber auch andere zur Durchführung des Verfahrens geeignete Methoden, eine Ähnlichkeit der ausgelesenen Aktivierungsfunktionswerde in der ersten Repräsentation 32 und der zweiten Repräsentation 34 numerisch auszudrücken. In einer anderen Ausführungsform werden Häufigkeiten gerundeter Aktivierungsfunktionswerte aus erster Repräsentation 32 und zweiter Repräsentation 34 jeweils in einem Histogramm aufgetragen und die Ähnlichkeit beider Histogramme numerisch ermittelt, beispielsweise durch eine mittlere quadratische Abweichung oder eine Korrelation. Statt der Aktivierungsfunktionswerte sind alternativ auch in den Neuronen gespeicherte Aktivierungsfunktionsargumente verwendbar. Dabei handelt es sich um gewichtete Aktivierungsfunktionswerte aus der jeweils vorhergehenden Schicht des neuronalen Netzes 30. Es ist auch nicht zwingend, dass die Distanz D ausschließlich die erste Repräsentation 32 und die zweite Repräsentation 34 als Argumente enthält. Die Distanz D kann zusätzlich zu der ersten Repräsentation 32 und der zweiten Repräsentation 34 auch Ergebnisse aus zumindest einem anderen Vergleich der Fotografie 26 und des synthetischen Bildes 28 berücksichtigen, zum Beispiel einer mittleren quadratischen Abweichung von Helligkeitswerten oder Farbwerten.
  • Nur zur verständlichen Darstellung der Erfindungsidee ist das neuronale Netz 30 in den Abbildungen als sehr einfaches Netz abgebildet. Das neuronale Netz 30 kann weitaus mehr Schichten mit weitaus mehr Neuronen pro Schicht umfassen als in den Abbildungen dargestellt. Dementsprechend können die erste Repräsentation 32 und die zweite Repräsentation 34 weitaus mehr Elemente umfassen, die aus einer Vielzahl von Schichten des neuronalen Netzes 30 extrahiert sind. Vorteilhaft ist mindestens eine davon eine verdeckte Schicht. Die Eingabeschicht umfasst noch die ungefilterte Information des gesamten Bildes, während der Ausgabeschicht im Normalfall kaum noch im Rahmen des Verfahrens sinnvolle Informationen entnehmbar sind.
  • Mittels eines automatisierten iterativen Algorithmus wird die Distanz D minimiert. Die Abbildung der 7 zeigt die allgemeingültigen Schritte des iterativen Algorithmus in Form eines Ablaufdiagramms. Bevorzugt ist der iterative Algorithmus als genetischer Algorithmus ausgestaltet, in dem der zu optimierende initiale Ausgangsparametersatz ein Genom ist, in jeder Iteration eine Vielzahl neuer Parametersätze generiert wird und die Distanz D die Fitness eines Parametersatzes definiert.
  • Die Schritte S1 bis S8 entsprechen den vorhergehend geschilderten Verfahrensschritten bis zur Ermittlung der Distanz D. Der Schritt S9 ist eine Prüfung, ob die Distanz gegenüber der vorherigen Iteration verringert ist. In der ersten Iteration, wenn erst einmal eine Distanz errechnet wurde, ist die Antwort immer nein. Im dann nachfolgenden Schritt S12 wird geprüft, ob aus der aktuellen Generation noch Parametersätze ungeprüft sind, also ob mindestens ein Parametersatz die Schritte S5 bis S8 noch nicht durchlaufen hat. Auch im Schritt S12 lautet die Antwort in der ersten Iteration immer nein, sodass im Schritt S14 eine zweite Generation von Parametersätzen durch Variation des initialen Ausgangsparametersatzes erzeugt wird.
  • Je nach Ausgestaltung des iterativen Verfahrens kann die zweite und jede nachfolgende Generation auch nur einen Parametersatz umfassen. In einem genetischen Verfahren umfasst die zweite Generation eine Vielzahl von Parametersätzen, von denen jeder durch Variation des initialen Ausgangsparametersatzes gebildet wird. Im Schritt S13 wird ein Parametersatz aus der zweiten Generation ausgewählt und im Schritt S5 die Grafikengine 22 mit dem im Schritt S13 ausgewählten Parametersatz parametriert.
  • Der neu ausgewählte Parametersatz durchläuft erneut die Schritte S6 bis S9. Es wird auf Basis des neuen Parametersatzes ein neues synthetisches Bild 28 synthetisiert, wie in der Beschreibung der 6 geschildert die zweite Repräsentation 34, also der Vektor R2, neu berechnet und die Distanz D des neuen synthetischen Bildes 28 zur Fotografie 26 berechnet. Wenn die Distanz geringer als die für einen Vorgänger-Ausgangsparametersatz aus der vorhergehenden Generation berechnete Distanz ist, wird der Parametersatz zur Parametrierung der Grafikengine 22 in Betracht gezogen. Im Schritt S10 wird dann überprüft, ob ein Abbruchkriterium erfüllt ist. Ein Abbruchkriterium sollte vorteilhaft implizieren, dass keine signifikante Verringerung der Distanz D durch eine weitere Iteration zu erwarten ist. Abbruchkriterium kann insbesondere eine Unterschreitung eines Toleranzwertes der Distanz sein, oder eine Unterschreitung eines Toleranzwertes einer Differenz der besten Distanz aus der Vorgängergeneration zur aktuell berechneten Distanz. Bei erfülltem Abbruchkriterium wird die Grafikengine 22 im Schritt S11 final mit dem Parametersatz parametriert, für den im Schritt S8 der geringste Abstand berechnet wurde.
  • Wenn das Abbruchkriterium nicht erfüllt ist, wird erneut Schritt S12 durchgeführt. Wenn in der aktuellen Generation noch ungeprüfte Parametersätze vorliegen, werden diese nacheinander geprüft. Andernfalls wird in Schritt S14 eine weitere Generation von Parametersätzen erzeugt. In einem genetischen Algorithmus umfasst Schritt S14 eine Auswahl der fittesten Parametersätze aus der aktuellen Generation zur Fortpflanzung, d.h. es werden ein oder mehrere Parametersätze ausgewählt, deren jeweils im Schritt S8 berechnete Distanz am geringsten ist und aus denen durch Variation und/oder Rekombination eine Vielzahl neuer Parametersätze erzeugt wird.

Claims (13)

  1. Verfahren zur Parametrierung einer Programmlogik (22) zur Bildsynthese, die ausgestaltet ist, eine fotorealistische perspektivische Darstellung eines 3D-Modells zu synthetisieren, deren Erscheinungsbild von einer Vielzahl verstellbarer Parameter abhängig ist, umfassend die Verfahrensschritte: Bereitstellung einer digitalen Fotografie (26) einer dreidimensionalen Szenerie; Verarbeitung der Fotografie (26) durch ein neuronales Netz (30); Extraktion einer ersten Repräsentation (32) der Fotografie (26) aus einer Auswahl von Schichten des neuronalen Netzes (30); Bereitstellung eines digitalen dreidimensionalen Modells (20) der Szenerie; Parametrierung der Programmlogik (22) entsprechend einem initialen Ausgangsparametersatz; Synthese eines die Fotografie (26) nachstellenden synthetischen Bildes (28) mittels der parametrierten Programmlogik (22) auf Basis des dreidimensionalen Modells (20); Verarbeitung des synthetischen Bildes (28) durch das neuronale Netz (30); Extraktion einer zweiten Repräsentation (34) des synthetischen Bildes (28) aus derselben Auswahl von Schichten, aus der die erste Repräsentation (32) extrahiert ist; Berechnung einer Distanz des synthetischen Bildes (28) zu der Fotografie (26) anhand einer die erste Repräsentation (32) und die zweite Repräsentation (34) berücksichtigenden Metrik; Erzeugung eines verbesserten Ausgangsparametersatzes durch einen iterativen Algorithmus mit den nachfolgenden Verfahrensschritten a) bis c): a) Erzeugung einer Anzahl von Parametersätzen durch Variation des Ausgangsparametersatzes; b) für jeden Parametersatz aus der Anzahl von Parametersätzen: - Parametrierung der Programmlogik (22) entsprechend dem Parametersatz; - Erneute Synthese des synthetischen Bildes (28) mittels der entsprechend dem Parametersatz parametrierten Programmlogik (22); - Verarbeitung des neuen synthetischen Bildes (28) durch das neuronale Netz (30); - Erneute Extraktion der zweiten Repräsentation (34) des neuen synthetischen Bildes (28) aus derselben Auswahl verdeckter Schichten, aus der die erste Repräsentation (32) extrahiert ist; - Berechnung der Distanz des neuen synthetischen Bildes (28) zur Fotografie (26); c) Auswahl eines Parametersatzes, mittels dessen im Verfahrensschritt b) ein synthetisches Bild (28) mit geringerer Distanz synthetisiert wurde als mittels des Ausgangsparametersatzes, als neuen Ausgangsparametersatz; Wiederholung der Verfahrensschritte a) bis c), bis die Distanz des mittels des Ausgangsparametersatzes synthetisierten synthetischen Bildes (28) zur Fotografie (26) ein Abbruchkriterium des iterativen Algorithmus erfüllt; Parametrierung der Programmlogik (22) entsprechend dem Ausgangsparametersatz.
  2. Verfahren gemäß Anspruch 1, in dem die Auswahl von Schichten mindestens eine verdeckte Schicht des neuronalen Netzes (30) umfasst.
  3. Verfahren gemäß Anspruch 1, in dem der iterative Algorithmus als evolutionärer Algorithmus ausgestaltet ist und die Anzahl von Parametersätzen im Verfahrensschritt a) eine Vielzahl von Parametersätzen umfasst.
  4. Verfahren gemäß Anspruch 1 mit dem Verfahrensschritt: Aufnahme der digitalen Fotografie (26) mit einem Kameramodell (4), das zur Einspeisung von Bilddaten, insbesondere Kamerarohdaten, in ein Steuersystem (2) zur Ansteuerung eines Roboters, eines teilautonomen Fahrzeugs oder eines autonomen Fahrzeugs vorgesehen ist.
  5. Verfahren gemäß Anspruch 4 mit dem Verfahrensschritt: Erzeugung, nach Abschluss der Parametrierung der Programmlogik (22), synthetischer Bilddaten, insbesondere Kamerarohdaten, mittels der Programmlogik (22) und Einspeisung der synthetischen Bilddaten in das Steuersystem (2) zum Test oder zur Validierung des Steuersystems (2) oder Training eines neuronalen Netzes des Steuersystems (2) mittels der synthetischen Bilddaten.
  6. Verfahren gemäß einem der vorhergehenden Ansprüche, in dem die erste Repräsentation (32) und die zweite Repräsentation (34) als eine Menge von Aktivierungsfunktionswerten oder Aktivierungsfunktionsargumenten von Neuronen aus der Auswahl verdeckter Schichten ausgestaltet ist.
  7. Verfahren gemäß Anspruch 1, in dem das neuronale Netz (30) als Klassifikator zur Erkennung zumindest eines Objekttyps ausgestaltet ist.
  8. Verfahren gemäß einem der vorhergehenden Ansprüche mit dem Verfahrensschritt: Training des neuronalen Netzes (30) durch kontrastives Lernen.
  9. Verfahren nach einem der vorhergehenden Ansprüche, in dem das neuronale Netz (30) als Autoencoder ausgestaltet ist und die erste Repräsentation (32) eine kodierte Repräsentation der Fotografie (26) ist, die aus zumindest einer zwischen einem Encoder-Anteil und einem Decoder-Anteil angeordneten Schicht des Autoencoders extrahiert ist.
  10. Verfahren gemäß Anspruch 9 mit dem Verfahrensschritt: Training des Autoencoders (30) mit dem Trainingsziel einer perfekten Rekonstruktion eines durch den Encoder-Anteil kodierten Bildes durch den Decoder-Anteil.
  11. Verfahren gemäß einem der vorhergehenden Ansprüche mit dem Verfahrensschritt: Berechnung einer Distanz durch Berechnung einer Ähnlichkeit eines ersten Histogramms einer Häufigkeit von Vektoren oder Skalaren in der zweiten Repräsentation (34) zu einem zweiten Histogramm einer Häufigkeit von Vektoren oder Skalaren in der ersten Repräsentation (32).
  12. Verfahren gemäß einem der vorhergehenden Ansprüche mit dem Verfahrensschritt: Berechnung der Distanz durch Berechnung zumindest einer Vektorähnlichkeit oder eines Abstands der zweiten Repräsentation (34) zur ersten Repräsentation (32).
  13. Prüfstandsaufbau (18) zum Test eines Steuersystems (2), das für die Einspeisung von Bilddaten in das Steuersystem (2) mittels eines Kameramodells (4) eingerichtet ist; auf dem eine Programmlogik (22) zur Bildsynthese programmiert ist, die ausgestaltet ist, eine fotorealistische perspektivische Darstellung eines 3D-Modells zu synthetisieren, deren Erscheinungsbild von einer Vielzahl verstellbarer Parameter abhängig ist; auf dem eine Kameraemulation (24) zur Emulation des Kameramodells (4) programmiert ist, die eingerichtet ist, von der Programmlogik (22) synthetisierte Bilder einzulesen, einen Bilddatenstrom zu erzeugen und in einen Bilddateneingang (12) des Steuersystems (2) einzuspeisen; mit einem Computerprogrammprodukt zur Erstellung eines Parametersatzes zur Parametrierung der Programmlogik (22), das eingerichtet ist, eine mit dem Kameramodell (4) aufgenommene digitale Fotografie (26) einer dreidimensionalen Szenerie durch ein neuronales Netz (30) zu verarbeiten; eine erste Repräsentation (32) der Fotografie (26) aus einer Auswahl von Schichten des neuronalen Netzes (30) zu extrahieren; ein die Fotografie (26) nachstellendes synthetisches Bild (28), das mittels der entsprechend einem initialen Ausgangsparametersatz parametrierten Programmlogik (22) auf Basis eines dreidimensionalen Modells (20) synthetisiert wurde, durch das neuronale Netz (30) zu verarbeiten; eine zweite Repräsentation (34) des synthetischen Bildes (28) aus derselben Auswahl von Schichten zu extrahieren, aus der die erste Repräsentation (32) extrahiert ist; anhand einer die erste Repräsentation (32) und die zweite Repräsentation (34) berücksichtigenden Metrik eine Distanz des synthetischen Bildes (28) zur Fotografie (26) zu berechnen; durch einen iterativen Algorithmus mit den nachfolgenden Schritten a) bis c) einen verbesserten Ausgangsparametersatz zu erzeugen: a) Erzeugung einer Anzahl von Parametersätzen durch Variation des Ausgangsparametersatzes; b) für jeden Parametersatz aus der Anzahl von Parametersätzen: - Parametrierung der Programmlogik (22) entsprechend dem Parametersatz; - Erneute Synthese des synthetischen Bildes (28) mittels der entsprechend dem Parametersatz parametrierten Programmlogik (22); - Verarbeitung des neuen synthetischen Bildes (28) durch das neuronale Netz (30); - Erneute Extraktion der zweiten Repräsentation (34) des neuen synthetischen Bildes (28) aus derselben Auswahl verdeckter Schichten, aus der die erste Repräsentation (32) extrahiert ist; - Berechnung der Distanz des neuen synthetischen Bildes (28) zur Fotografie (26); c) Auswahl eines Parametersatzes, mittels dessen im Schritt b) ein synthetisches Bild (28) mit geringerer Distanz synthetisiert wurde als mittels des Ausgangsparametersatzes, als neuen Ausgangsparametersatz; und die Verfahrensschritte a) bis c) zu wiederholen, bis die Distanz des mittels des Ausgangsparametersatzes synthetisierten Bildes (28) zur Fotografie (26) ein Abbruchkriterium des iterativen Algorithmus erfüllt.
DE102021104110.4A 2021-02-22 2021-02-22 Verfahren zur Parametrierung einer Bildsynthese aus einem 3D-Modell Pending DE102021104110A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102021104110.4A DE102021104110A1 (de) 2021-02-22 2021-02-22 Verfahren zur Parametrierung einer Bildsynthese aus einem 3D-Modell
PCT/EP2021/084149 WO2022174952A1 (de) 2021-02-22 2021-12-03 Verfahren zur parametrierung einer bildsynthese aus einem 3d-modell
US18/236,037 US20230394742A1 (en) 2021-02-22 2023-08-21 Method for parameterizing an image synthesis from a 3-d model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021104110.4A DE102021104110A1 (de) 2021-02-22 2021-02-22 Verfahren zur Parametrierung einer Bildsynthese aus einem 3D-Modell

Publications (1)

Publication Number Publication Date
DE102021104110A1 true DE102021104110A1 (de) 2022-08-25

Family

ID=79021087

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021104110.4A Pending DE102021104110A1 (de) 2021-02-22 2021-02-22 Verfahren zur Parametrierung einer Bildsynthese aus einem 3D-Modell

Country Status (3)

Country Link
US (1) US20230394742A1 (de)
DE (1) DE102021104110A1 (de)
WO (1) WO2022174952A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021133968A1 (de) 2021-12-21 2023-06-22 Dspace Gmbh Verfahren und Anordnung zum Parametrieren einer Emulationslogik

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018201651A1 (de) * 2018-02-02 2019-08-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zur Erzeugung sensorrealistischer Bilder
WO2019186407A1 (en) * 2018-03-26 2019-10-03 Artomatix Limited Systems and methods for generative ensemble networks
US11138350B2 (en) * 2018-08-09 2021-10-05 Zoox, Inc. Procedural world generation using tertiary data
CN109726760B (zh) * 2018-12-29 2021-04-16 驭势科技(北京)有限公司 训练图片合成模型的方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021133968A1 (de) 2021-12-21 2023-06-22 Dspace Gmbh Verfahren und Anordnung zum Parametrieren einer Emulationslogik
DE102021133968B4 (de) 2021-12-21 2023-06-29 Dspace Gmbh Verfahren und Anordnung zum Parametrieren einer Emulationslogik

Also Published As

Publication number Publication date
US20230394742A1 (en) 2023-12-07
WO2022174952A1 (de) 2022-08-25

Similar Documents

Publication Publication Date Title
DE102009041431B4 (de) Fahrsimulationsvorrichtung, Weitwinkelkamera-Videosimulationsvorrichtung und Bilddeformierungs-/-zusammensetzungsvorrichtung
DE102019202090A1 (de) Verfahren zum Erzeugen eines Trainingsdatensatzes zum Trainieren eines Künstlichen-Intelligenz-Moduls für eine Steuervorrichtung eines Roboters
WO1992008204A2 (de) Verfahren zur erkennung und schätzung der räumlichen lage von objekten aus einer zweidimensionalen abbildung
DE102020214231A1 (de) Verfahren zum steuern einer robotervorrichtung und robotersteuereinrichtung
DE202017007534U1 (de) Multiskalige 3D-Textursynthese
DE102017221765A1 (de) Trainieren und Betreiben eines Maschinen-Lern-Systems
DE102021104110A1 (de) Verfahren zur Parametrierung einer Bildsynthese aus einem 3D-Modell
DE102019208733A1 (de) Verfahren und Generator zum Erzeugen von gestörten Eingangsdaten für ein neuronales Netz
EP3785169A1 (de) Verfahren und vorrichtung zur umsetzung eines eingangsbildes einer ersten domäne in ein ausgangsbild einer zweiten domäne
DE102004040372B4 (de) Verfahren und Vorrichtung zur Darstellung einer dreidimensionalen Topographie
EP3882856A1 (de) Verfahren und vorrichtung zum bestimmen einer pose
DE102008057979B4 (de) Lerneinheit für ein Objekterkennungssystem und Objekterkennungssytem
JP2023521456A (ja) 実際の場所の仮想環境復元を作成するための方法
EP3953862A1 (de) Verfahren zum bereitstellen einer objektverfolgungsfunktion
DE19624489B4 (de) Verfahren zur Herstellung von Baumaterial
DE102020116774A1 (de) Automatische visuelle Wahrnehmung mittels eines künstlichen neuronalen Netzes
AT525369B1 (de) Testumfeld für urbane Mensch-Maschine Interaktion
DE102019208864A1 (de) Erkennungssystem, Arbeitsverfahren und Trainingsverfahren
DE102004007049A1 (de) Verfahren zur Klassifizierung eines Objekts mit einer Stereokamera
WO2017092734A2 (de) Verfahren zur darstellung einer simulationsumgebung
EP4121897B1 (de) Verfahren und systeme zum bereitstellen von synthetischen gelabelten trainingsdatensätzen und ihre anwendungen
WO2012150150A1 (de) Verfahren zur rechnergestützten lageschätzung eines objekts
DE102022123848A1 (de) Bestimmung von Oberflächendaten eines Gegenstands
DE102022204009A1 (de) Verfahren und Einrichtung zur Bestimmung der 6D-Geste eines Objekts
DE102022212760A1 (de) Filmbasierte Szenariengenerierung für Fahrfunktionstests

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: DSPACE GMBH, DE

Free format text: FORMER OWNER: DSPACE DIGITAL SIGNAL PROCESSING AND CONTROL ENGINEERING GMBH, 33102 PADERBORN, DE