Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR PARAMETERIZING AN IMAGE SYNTHESIS FROM A 3-D MODEL
Document Type and Number:
WIPO Patent Application WO/2022/174952
Kind Code:
A1
Abstract:
A method for parameterizing a program logic for image synthesis for adapting images synthesized by means of the program logic to a camera model. A digital photograph of a three-dimensional scene is processed by a neural network and an abstract first representation of the photograph is extracted from a selection of layers of the neural network. The program logic is parameterized in accordance with a leadoff initial parameter set in order to synthesize an image inferior to the photograph from a three-dimensional model of the scene. The synthetic image is processed by the same neural network, an abstract second representation of the synthetic image is extracted from the same selection of layers and a distance between synthetic image and photograph is calculated on the basis of a metric which takes account of the first representation and the second representation. By way of an incremental variation of the initial parameter set, a re-synthesis of the synthetic image and a recalculation of the distance, the initial parameter set is optimized within the scope of an iterative method in order to adapt the image synthesis of the program logic to the images produced by the camera model.

Inventors:
SKUSA ANDRE (DE)
HEMION NIKOLAS (DE)
BURDORF SVEN (DE)
HASENKLEVER DANIEL (DE)
Application Number:
PCT/EP2021/084149
Publication Date:
August 25, 2022
Filing Date:
December 03, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
DSPACE GMBH (DE)
International Classes:
G06T15/20; G06T17/00
Domestic Patent References:
WO2019149888A12019-08-08
Foreign References:
US20210027111A12021-01-28
CN109726760A2019-05-07
US20190294931A12019-09-26
Other References:
RICHARD ZHANG ET AL: "The Unreasonable Effectiveness of Deep Features as a Perceptual Metric", 2018 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, IEEE, 18 June 2018 (2018-06-18), pages 586 - 595, XP033476019, DOI: 10.1109/CVPR.2018.00068
YANIV TAIGMAN ET AL: "Unsupervised Cross-Domain Image Generation", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 7 November 2016 (2016-11-07), XP080730006
Download PDF:
Claims:
Patentansprüche:

1. Verfahren zur Parametrierung einer Programmlogik (22) zur Bildsyn these, 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 ei ner Auswahl von Neuronen des neuronalen Netzes (30);

Bereitstellung eines digitalen dreidimensionalen Modells (20) der Sze nerie;

Parametrierung der Programmlogik (22) entsprechend einem initialen Ausgangsparametersatz;

Synthese eines die Fotografie (26) nachstehenden synthetischen Bildes (28) mittels der parametrierten Programmlogik (22) auf Basis des dreidimen sionalen 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 Neuronen, aus der die erste Repräsentation (32) extrahiert ist;

Berechnung einer Distanz des synthetischen Bildes (28) zu der Foto grafie (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 Parame tersatz; - Erneute Synthese des synthetischen Bildes (28) mittels der entspre chend dem Parametersatz parametrierten Programmlogik (22);

- Verarbeitung des neuen synthetischen Bildes (28) durch das neuro nale Netz (30);

- Erneute Extraktion der zweiten Repräsentation (34) des neuen syn thetischen Bildes (28) aus derselben Auswahl von Neuronen, aus der die erste Repräsentation (32) extrahiert ist;

- Berechnung der Distanz des neuen synthetischen Bildes (28) zur Fo tografie (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 mit tels des Ausgangsparametersatzes synthetisierten synthetischen Bildes (28) zur Fotografie (26) ein Abbruchkriterium des iterativen Algorithmus erfüllt;

Parametrierung der Programmlogik (22) entsprechend dem Aus gangsparametersatz.

2. Verfahren gemäß Anspruch 1, in dem die Auswahl von Neuronen zu mindest anteilig Neuronen aus einer verdeckten Schicht des neuronalen Net zes (30) umfasst.

3. Verfahren gemäß Anspruch 1, in dem der iterative Algorithmus als evo lutionä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 Einspei sung 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 von Neuronen ausgestaltet ist.

7. Verfahren gemäß Anspruch 1, in dem das neuronale Netz (30) als Klas sifikator zur Erkennung zumindest eines Objekttyps ausgestaltet ist.

8. Verfahren gemäß einem der vorhergehenden Ansprüche mit dem Ver fahrensschritt: Training des neuronalen Netzes (30) durch kontrastives Ler nen.

9. Verfahren nach einem der vorhergehenden Ansprüche, in dem das neu ronale Netz (30) als Autoencoder ausgestaltet ist und die erste Repräsentation (32) eine kodierte Repräsentation der Fo tografie (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 ei nes durch den Encoder-Anteil kodierten Bildes durch den Decoder-Anteil.

11. Verfahren gemäß einem der vorhergehenden Ansprüche mit dem Ver fahrensschritt: Berechnung der 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 Ver fahrensschritt: Berechnung der Distanz durch Berechnung zumindest einer Vektorähnlichkeit oder eines Abstands der zweiten Repräsentation (34) zur ersten Repräsentation (32).

13. Verfahren gemäß einem der vorhergehenden Ansprüche, in dem die Auswahl von Neuronen als Auswahl von Schichten des neuronalen Netzes ausgestaltet ist und von jeder Schicht aus der Auswahl von Schichten sämt liche der jeweiligen Schicht angehörige Neuronen umfasst.

14. Prüfstandsaufbau (18) zum Test eines Steuersystems (2), das für die Einspeisung von Bilddaten in das Steuersystem (2) mittels eines Kameramo dells (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 ver stellbarer Parameter abhängig ist; auf dem eine Kameraemulation (24) zur Emulation des Kameramodells (4) programmiert ist, die eingerichtet ist, von der Programmlogik (22) syn thetisierte Bilder einzulesen, einen Bilddatenstrom zu erzeugen und in einen Bilddateneingang (12) des Steuersystems (2) einzuspeisen; mit einem Computerprogrammprodukt zur Erstellung eines Parameter satzes zur Parametrierung der Programmlogik (22), das eingerichtet ist, eine mit dem Kameramodell (4) aufgenommene digitale Fotografie (26) einer dreidimensionalen Szenerie durch ein neurona les Netz (30) zu verarbeiten; eine erste Repräsentation (32) der Fotografie (26) aus einer Auswahl von Neuronen des neuronalen Netzes (30) zu extrahieren; ein die Fotografie (26) nachstehendes synthetisches Bild (28), das mit tels der entsprechend einem initialen Ausgangsparametersatz parametrierten Programmlogik (22) auf Basis eines dreidimensionalen Modells (20) synthe tisiert wurde, durch das neuronale Netz (30) zu verarbeiten; eine zweite Repräsentation (34) des synthetischen Bildes (28) aus der selben Auswahl von Neuronen zu extrahieren, aus der die erste Repräsenta tion (32) extrahiert ist; anhand einer die erste Repräsentation (32) und die zweite Repräsen tation (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 Parame- tersatz;

- Erneute Synthese des synthetischen Bildes (28) mittels der entspre chend dem Parametersatz parametrierten Programmlogik (22);

- Verarbeitung des neuen synthetischen Bildes (28) durch das neuro nale Netz (30);

- Erneute Extraktion der zweiten Repräsentation (34) des neuen syn thetischen Bildes (28) aus derselben Auswahl von Neuronen, aus der die erste Repräsentation (32) extrahiert ist;

- Berechnung der Distanz des neuen synthetischen Bildes (28) zur Fo tografie (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 Foto grafie (26) ein Abbruchkriterium des iterativen Algorithmus erfüllt.

Description:
Verfahren zur Parametrierung einer Bildsynthese aus einem 3D-Modell

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), Mo del in the Loop (MiL) oder Vehicle in the Loop (ViL) bekannt. Allen gemein sam ist, dass das unter Test stehende Steuersystem sich in einer Regel schleife mit einem Simulationsrechner befindet. Der Simulationsrechner si muliert eine Einsatzumgebung des Steuersystems, beispielsweise eine Straßenszene, erzeugt auf Basis der Simulation synthetische Eingangsda ten für das Steuersystem und speist diese in das Steuersystem ein. Dem Steuersystem wird also ein Einsatz in einer physischen Umgebung vorge täuscht, in der es gefahrlos und unter reproduzierbaren Bedingungen test bar 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, beispiels weise 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 er hältlich. Ähnliche Entwicklungen gibt es in der Luftfahrt und der Robotik. Derartige Systeme sind oft mit Kameras ausgestattet, denen eine auf ei nem neuronalen Netz basierende Objekterkennung nachgeschaltet ist.

Simulationssysteme der zuvor geschilderten Art müssen grundsätzlich aus gestaltet sein, dem Prüfling glaubhaft den Einsatz in einer physischen Um gebung vorzutäuschen. Zum Test eines kamerabasierten Steuersystems mit Objektserkennung muss der Simulationsrechner demnach eine fotore alistische graphische Echtzeitsimulation einer virtuellen Umwelt umfassen, auf deren Basis der Simulationsrechner emulierte Rohdaten eines Kamera sensors erzeugt und in das Steuersystem einspeist. Insbesondere die Spie leindustrie 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 ei ner virtuellen Testumgebung viele Testkilometer in der realen Umwelt er setzen. Leider ist die Einsatztauglichkeit virtueller Testumgebungen für ka merabasierte Steuersysteme nach Stand der Technik noch begrenzt, weil die von Grafikengines in Echtzeit gerenderten Bilder noch leicht von tat sächlichen Kamerabildern unterscheidbar sind. Aus der Performanz eines Steuersystems in einer virtuellen Umgebung lässt sich demnach nur be grenzt auf dessen Performanz im Feld schließen. Ein weiteres Anwen dungsfeld 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 ande rem 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 kriti schen Situation versagt.

Auf dem Markt verbreitete Grafikengines umfassen eine Vielzahl verstell barer Parameter, deren Werte das Erscheinungsbild eines synthetisierten Bildes beeinflussen. Diese Parameter lassen sich nutzen, um das syntheti sierte Bild bestmöglich an das von einer realen Kamera erzeugte Bild an zupassen. Allerdings ist der Parameterraum im Normalfall so hochdimensi onal, dass durch reines händisches Ausprobieren unterschiedlicher Para metersä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 ei ner Programmlogik zur Bildsynthese zu erleichtern.

Die Erfindung ist ein automatisierbares iteratives Verfahren zur Paramet rierung einer Programmlogik zur Bildsynthese, die ausgestaltet ist, eine fo torealistische perspektivische Darstellung eines 3D-Modells zu synthetisie ren, deren Erscheinungsbild von einer Vielzahl verstellbarer Parameter ab hä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öglicher weise kaum auf den Mittelwert der Pixelfarben auswirkt. Weiterhin ist es nicht mit vertretbarem Aufwand möglich, eine Fotografie detailgenau mit tels einer Grafikengine nachzustellen. Beispielsweise ist ein in der Fotogra fie abgebildeter LKW in dem synthetischen Bild üblicherweise durch ein ge nerisches Modell eines LKWs ersetzt, dessen geometrische Form unter schiedlich 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 Metrie" (Richard Zhang et al., Proceedings of the IEEE Con ference 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 ver gleichen dazu Fotografien mit gezielten Verfälschungen derselben. Für die Erfindung ist vorgesehen, auf ähnliche Weise eine Fotografie mit gerender- ten Nachbildungen der Fotografie zu vergleichen.

Vorgesehen ist eine Bereitstellung einer digitalen Fotografie einer dreidi mensionalen Szenerie, eine Verarbeitung der Fotografie durch ein neuro nales Netz und eine Extraktion einer ersten Repräsentation der Fotografie aus einer Auswahl von Neuronen des neuronalen Netzes. Die Auswahl von Neuronen umfasst vorteilhaft zumindest anteilig Neuronen aus einer zwi schen der Eingabeschicht und der Ausgabeschicht angeordneten verdeck ten Schicht des neuronalen Netzes, besonders vorteilhaft aus einer Mehr zahl verdeckter Schichten.

Die Auswahl von Neuronen ist vorteilhaft als eine Auswahl von Schichten des neuronalen Netzes ausgestaltet und umfasst von jeder Schicht aus der Auswahl von Schichten sämtliche Neuronen, die der jeweiligen Schicht an gehörig sind. Mit anderen Worten besteht die Auswahl von Neuronen in dieser Ausgestaltung ausschließlich aus vollständigen Schichten des neuro nalen Netzes, von denen vorteilhaft mindestens eine Schicht eine ver deckte Schicht ist. Die erste Repräsentation besteht dadurch aus mindes tens einer vollständigen, in einer verdeckten Schicht des neuronalen Net zes gespeicherten Zwischenrepräsentation der digitalen Fotografie.

Unter einer digitalen Fotografie ist eine mittels einer Digitalkamera er stellte, 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 Filmauf nahme extrahiert ist.

Weiterhin vorgesehen ist eine Bereitstellung eines digitalen dreidimensio nalen Modells der Szenerie. Darunter ist insbesondere eine durch die Pro grammlogik zur Bildsynthese lesbare und verarbeitbare semantische Be schreibung einer Nachbildung der Szenerie zu verstehen, auf deren Basis mittels der Programmlogik ein die Szenerie nachstehendes Bild syntheti sierbar ist. Die semantische Beschreibung umfasst bevorzugt eine Liste von Grafikobjekten und eine Zuordnung von Parametern zu jedem Grafiko bjekt, 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 Aus gangsparametersatz erstellt, umfassend eine Auswahl einzustellender Pa rameter der Programmlogik mit mehr oder weniger willkürlichen Werten, und die Programmlogik wird entsprechend dem Ausgangsparametersatz parametriert, d.h. die in dem initialen Ausgangsparametersatz aufgeliste ten Parameter werden auf die Werte eingestellt, die ihnen in dem initialen Ausgangsparametersatz zugeordnet sind. Die Parametrierung geschieht bevorzugt entweder mittels einer Programmierschnittstelle der Programm logik, 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 nachstel lendes 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 syntheti scher Zwilling der Fotografie, dessen dargestelltes Bild im Wesentlichen, wenn auch im Allgemeinen nicht im Detail, mit der Fotografie überein stimmt.

Das synthetische Bild wird durch dasselbe neuronale Netz verarbeitet, mit tels dessen schon die Fotografie verarbeitet wurde (d.h. entweder mit der selben Instanz des neuronalen Netzes oder durch eine identische Kopie desselben), und es wird eine zweite Repräsentation des synthetischen Bil des aus derselben Auswahl von Neuronen extrahiert, aus der die Reprä sentation der Fotografie extrahiert ist.

Nachfolgend wird eine Distanz des synthetischen Bildes zur Fotografie be rechnet, 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 Dis tanzberechnung 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 bildverar beitende 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 Ausgangsparameter satz dahingehend verbessert, dass die auf seiner Grundlage synthetisier ten Bilder der Fotografie ähnlicher werden. Der iterative Algorithmus um fasst die folgenden Verfahrensschritte: a) Erzeugung einer Anzahl von Parametersätzen durch Variation des Aus gangsparametersatzes. b) Wiederholung der zuvor für den initialen Ausgangsparametersatz durch gefü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 Para metersätzen: Parametrierung der Programmlogik entsprechend dem jewei ligen Parametersatz; erneute Synthese des synthetischen Bildes mittels der entsprechend dem Parametersatz parametrierten Programmlogik; Ver arbeitung des neuen synthetischen Bildes durch das neuronale Netz; Er neute Extraktion der zweiten Repräsentation des neuen synthetischen Bil des aus derselben Auswahl von Neuronen, aus der die erste Repräsenta tion extrahiert ist; und Berechnung der Distanz des neuen synthetischen Bildes zur Fotografie auf Basis der neu extrahierten zweiten Repräsenta tion. c) Auswahl eines Parametersatzes, mittels dessen im Verfahrensschritt b) ein synthetisches Bild mit geringerer Distanz synthetisiert wurde als mit tels des Ausgangsparametersatzes, als neuen Ausgangsparametersatz. Die Verfahrensschritte a) bis c) werden wiederholt, bis die Distanz des mit tels 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 Verrin gerung 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 Ver fahrensschritt a) eine Vielzahl von Parametersätzen umfasst. Evolutionäre Algorithmen sind als für hochdimensionale Optimierungsprobleme beson ders geeignet bekannt. Besonders bevorzugt ist der evolutionäre Algorith mus 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 Algo rithmen 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 Gra fikengine an ein gegebenes Kameramodell anzupassen. Die Erfindung ver bessert dadurch die Anwendbarkeit von Grafikengines zum Test und zum Training kamerabasierter Steuersysteme. Das Verfahren ist vollständig au tomatisierbar und bewirkt dadurch außerdem eine Einsparung von Arbeits zeit zur Parametrierung einer Grafikengine.

Die digitale Fotografie ist bevorzugt mit einem Kameramodell aufgenom men, 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 syn thetischen Bilddaten sind insbesondere synthetische Kamerarohdaten zu verstehen, die beispielsweise auf Basis der von der Programmlogik synthe tisierten 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 Einga beschicht 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 Klassi fikator zur Erkennung zumindest eines Objekttyps ausgestaltet.

Einzelne Neuronen in neuronalen Netzen verarbeiten ihre Daten durch Ak tivierungsfunktionen, die gewichtete Ausgabewerte von Neuronen aus ei ner 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 von Neuronen ausgestaltet. In einer beispiel haften Ausführung wird dazu eine extrahierte Repräsentation in eine Vek tordarstellung aus Aktivierungsfunktionswerten bzw. Aktivierungsfunkti onsargumenten überführt, und die Ermittlung der Distanz umfasst eine Er mittlung einer Vektorähnlichkeit, insbesondere einer Kosinusähnlichkeit, o- der eines Abstands beider Vektoren zueinander. In einer anderen beispiel haften Ausführung werden zur Ermittlung der Distanz ein erstes Histo gramm gebildet, das eine Häufigkeit von Vektoren oder Skalaren in der Repräsentation des synthetischen Bildes abbildet, und ein zweites Histo gramm 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 kon trastiven Lernens ( contrastive learning) scheint gemäß Untersuchungen der Anmelderin für die Performanz des Verfahrens vorteilhaft zu sein. Un ter kontrastivem Lernen ist insbesondere zu verstehen, den Satz von Trai ningsbildern mit gezielten Verfälschungen von Trainingsbildern zu erwei tern. Verfälschungen können beispielhaft durch eine oder mehrere der fol genden Arten von Bildmanipulationen eines Trainingsbildes durchgeführt werden: Rotation, Ausschneiden eines Bildausschnitts, Zuschnitt, Farbver fälschung, Verzerrung, Verrauschung.

In einer anderen bevorzugten Ausgestaltung des Verfahrens ist das neuro nale Netz als Autoencoder ausgestaltet. Ein Autoencoder, wie er im Zu sammenhang mit dem erfindungsgemäßen Verfahren zu verstehen ist, umfasst einen Encoder-Anteil und einen Decoder-Anteil. Der Encoder-An teil ist trainiert, eine abstrakte kodierte Repräsentation eines Bildes in ei ner Anzahl verdeckter Schichten des Autoencoders, angeordnet zwischen dem Encoder-Anteil und dem Decoder-Anteil, zu hinterlegen, und der De coder-Anteil ist trainiert, aus der kodierten Repräsentation das Bild zu re konstruieren. 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 übli cherweise 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 bes seren Verständnis der Erfindung eine bevorzugte, aber beispielhafte Aus führungsform des Verfahrens vor. Es zeigen

Figur 1 ein kamerabasiertes Steuersystem; Figur 2 einen Prüfstand, in den das Steuersystem als Prüfling einge bunden ist, um das Steuersystem in einer virtuellen Umwelt zu testen;

Figur 3 eine digitale Fotografie einer dreidimensionalen Szenerie; Figur 4 ein die Fotografie nachstehendes synthetisches Bild; Figur 5 die Erstellung einer ersten Repräsentation der Fotografie; Figur 6 die Erstellung einer zweiten Repräsentation des synthetischen Bildes; und

Figur 7 ein Ablaufdiagramm eines erfindungsgemäßen Verfahrens.

Die Abbildung der Figur 1 zeigt ein noch in der Entwicklung befindliches kamerabasiertes Steuersystem 2 mit einem für das Steuersystem 2 vorge sehenen Kameramodell 4. Das Kameramodell 4 umfasst eine Optik 8 zur Projektion eines Bildes der Umwelt auf einen Kamerachip 10. Der Kamer achip 10 ist ausgestaltet, das projizierte Bild in Kamerarohdaten zu über setzen und die Kamerarohdaten als Bilddatenstrom über eine Bilddaten- Verbindung 14 in einen Bilddateneingang 12 des Steuersystems 2 einzu speisen. Das Steuersystem 2 umfasst eine Prozessoreinheit 6, eingerichtet zur Einlesung des Bilddatenstroms vom Bilddateneingang 12 und zur Ver arbeitung des Bilddatenstroms. Auf der Prozessoreinheit 6 ist eine Ob jekterkennung 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 dar stellt. Auf der Prozessoreinheit ist weiterhin eine Steuerroutine program- miert, die eingerichtet ist, die Objektliste einzulesen, auf Basis der Objekt liste Steuerbefehle für Aktoren zu erstellen und die Aktoren über einen Ak tordatenausgang 16 mittels der Steuerbefehle anzusteuern.

Die Abbildung der Figur 2 zeigt einen Prüfstandsaufbau 18, in den das Steuersystem 2 als Prüfling eingebunden ist. Die Kamera 4 ist in dem Auf bau freigeschnitten. Die Bilddatenverbindung 14 verbindet den Bilddaten eingang mit dem Prüfstandsaufbau 18. Der Prüfstandsaufbau 18 umfasst eine Prozessoreinheit und ist eingerichtet, dem Steuersystem 2 eine virtu elle Umwelt bereitzustellen, die eine reale Umwelt des Steuersystems 2 si muliert.

Auf dem Prüfstandsaufbau 18 ist ein dynamisches Umgebungsmodell 20 programmiert. Das Umgebungsmodell 20 umfasst eine Vielzahl dynami scher und statischer Objekte, die in ihrer Gesamtheit eine semantische Be schreibung 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 Zeit schritt der Simulation zu ändern, um eine Bewegung der dynamischen Ob jekte zu simulieren. Das Umgebungsmodell ist auch eingerichtet, Wechsel wirkungen der in ihm hinterlegten Objekte untereinander zu simulieren.

Das Umgebungsmodell 20 umfasst insbesondere eine virtuelle Instanz ei ner technischen Vorrichtung, zu deren Ansteuerung das Steuersystem 2 vorgesehen ist, mit einer virtuellen Instanz des Kameramodells 4 und vir tuellen Instanzen der Aktoren, zu deren Ansteuerung das Steuersystem 2 vorgesehen ist. Die virtuelle Umwelt bildet außerdem eine typische Ein satzumgebung des Steuersystems 2 ab. Beispielhaft kann das Steuersys tem 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 Aktorda tenausgang 16 und dem Prüfstandsaufbau 18 ist eine Datenverbindung eingerichtet, und das Umgebungsmodell 20 ist eingerichtet, an dem Aktor datenausgang 16 ausgegebene Steuerbefehle einzulesen und auf virtuelle Instanzen der entsprechenden Aktoren in dem virtuellen Testfahrzeug an zuwenden. 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ßer dem 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 Umge bungsmodell finden sich also beispielhaft Automobile, Radfahrer, Fußgän ger, Ampeln, Beschilderung, Gebäude und Bepflanzung. Das Umgebungs modell 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 ausge staltete Programmlogik zur Bildsynthese programmiert. Die Grafikengine ist eingerichtet, um die in dem Umgebungsmodell 20 hinterlegten Objekte und den Objekten zugeordnete Parameter auszulesen, insbesondere Posi tion und räumliche Orientierung, für jedes Objekt eine dem Objekt zuge ordnete Textur zu generieren und auf Basis der Texturen ein fotorealisti sches zweidimensionales perspektivisches Bild der virtuellen Umwelt aus Sicht einer virtuellen Kamera zu synthetisieren. Die Grafikengine ist aus gestaltet, innerhalb vorgegebener Zeitabstände in Echtzeit neue Bilder zu synthetisieren, jeweils unter Berücksichtigung aktueller Parameter der Ob jekte und einer aktuellen Position und Blickrichtung der virtuellen Kamera, um eine Bewegung der virtuellen Kamera in der virtuellen Umwelt zu si mulieren.

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 synthetisie ren. Die Kameraemulation 24 ist eingerichtet, die von der Grafikengine 22 synthetisierten Bilder einzulesen, mittels der Emulation der Optik 8 zu ver arbeiten, 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 Kameraroh daten mittels der Bilddatenverbindung 14 in den Bilddateneingang 12 ein zuspeisen. 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 ei ner geschlossenen Regelschleife und wechselwirkt mit der virtuellen Um welt 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 Ent wicklung des Steuersystems 2 in die virtuelle Umwelt zu verlagern. Dieser Anteil kann umso größer sein, je realitätsnäher die Simulation der virtuel len Umwelt ausgestaltet ist, wobei die Ähnlichkeit der von der Grafikengine 22 synthetisierten Bilder mit den von dem Kameramodell 4 erzeugten Bil dern von besonderer Wichtigkeit ist. Die Grafikengine umfasst eine Vielzahl verstellbarer Parameter, die das Aussehen der synthetisierten Bilder beein flussen. 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 ty pische Einsatzumgebung des Steuersystems 2 darstellt. Die Abbildung der Figur 3 skizziert beispielhaft eine mittels des Kameramodells 4 angefertigte Fotografie 26 einer zufälligen Straßenszene. Die in der Fotografie 26 abge bildete 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 nach stellt. (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 beispiels weise auf einem handelsüblichen PC laufen.) Beispielsweise wird in dem Umgebungsmodell zur Repräsentation des in der Fotografie 26 abgebilde ten 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ög lichkeiten des Umgebungsmodells 20 und der Grafikengine 22 bestmöglich an den in der Fotografie 26 abgebildeten Fußgänger anzupassen. Die Para metrierung 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 Fo tografie 26 abgebildete Elemente eine möglichst ähnliche Repräsentation in dem Umgebungsmodell 20 erhalten.

Zur Parametrierung der Grafikengine 22 wird zunächst ein initialer Aus gangsparametersatz ermittelt, der eine Auswahl zu optimierender verstell barer 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 vorteil haft erkannten Ausgangsparametrierung oder einer zufälligen Werteaus wahl.

Beispiele für mögliche im initialen Ausgangsparametersatz enthaltene Pa rameter sind Kontrast, Farbsättigung, Anordnungen von Lichtquellen, Hel ligkeit von Lichtquellen, Farbanteile von Lichtquellen, Sichtweiten, Bildrau schen sowie optische Verzerrungen und Linsenfehler der Optik 8. Der initi ale Ausgangsparametersatz kann grundsätzlich auch verstellbare Parame ter der Kameraemulation 24 umfassen. Unabhängig davon, ob die Karne- raemulation 24 logisch von der Grafikengine 22 getrennt oder in diese in tegriert 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 syntheti schen Kamerabildes beteiligt ist.

Die Grafikengine 22 wird mittels des initialen Ausgangsparametersatzes über eine logische Programmierschnittstelle zur Parametrierung der Gra fikengine 22 parametriert, und Position und Blickrichtung der virtuellen Ka mera der Grafikengine 22 werden dem Kameramodell 4 bei Aufnahme der Fotografie 26 angepasst. Nachfolgend wird auf Basis des Umgebungsmo dells 20 ein fotorealistisches, die Fotografie 26 nachstellendes Bild synthe tisiert. Die Abbildung der Figur 4 skizziert beispielhaft ein entsprechendes synthetisches Bild 28. In der Abbildung ist ersichtlich, dass das syntheti sche Bild 28 der Fotografie 26 zwar insgesamt subjektiv ähnelt, aber im Detail von der Fotografie abweicht. Der Grund ist, dass die in der Fotogra fie 26 abgebildeten Elemente in dem synthetischen Bild 28 durch generi sche Texturen aus einer Objektdatenbank des Umgebungsmodells 20 er setzt sind. So sind beispielsweise der Lastwagen, der Fußgänger und die Tür in dem synthetischen Bild 28 von anderem Aussehen als ihre Gegen stü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 Schaufens- terbeklebung, fehlen in dem synthetischen Bild 28, weil die Objektdaten bank 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 insze nieren, 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 Textu ren auf in der Szenerie abfotografierte Texturen zurückgreifen. Die Diskre panzen zu eliminieren ist aber praktisch kaum möglich. Deswegen sind klassische Verfahren zur Berechnung einer Bildähnl ichkeit, die auf einem pixelweisen Vergleich oder einem Vergleich quantisierbarer Bildcharakte ristika 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 syntheti schen 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 Para metrierung, niemals als ähnlich bewerten würde. Umgekehrt wäre eine derartige Metrik auch ungeeignet, tatsächlich vorhandene starke Abwei chungen 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 Bil des.

Zur Beurteilung der Ähnlichkeit beider Bilder wird deshalb zunächst die Fo tografie 26 durch ein neuronales Netz 30 verarbeitet, wie in der Abbildung der Figur 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 al lenfalls 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 ge wö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 Ai, ..., 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 AÖ, ..., Ai4aus sämtlichen Neuro nen der zweiten und dritten Schicht des neuronalen Netzes 30 ausgelesen und in einem Vektor Ri gespeichert werden.

Auf analoge Weise wird, dargestellt in der Abbildung der Figur 6, eine abs trakte 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 Neu ronen sind nach Verarbeitung des synthetischen Bildes 28 neue Aktivie rungsfunktionswerte Bi, ..., B21 gespeichert. Zur Extraktion der zweiten Re präsentation 34 werden die Aktivierungsfunktionswerte BÖ, ..., Bi4aus den selben Neuronen ausgelesen, aus denen die erste Repräsentation 32 aus gelesen 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 syntheti schen Bildes 28 zur Fotografie 26 errechnet, wobei eine geringe Distanz eine hohe Ähnlichkeit beider Bilder impliziert. Eine Distanz D kann beispiel haft durch die Formel

D = 1 - I co S(R 1 , R 2 ) \ definiert sein. Natürlich gibt es aber auch andere zur Durchführung des Verfahrens geeignete Methoden, eine Ähnlichkeit der ausgelesenen Akti vierungsfunktionswerte in der ersten Repräsentation 32 und der zweiten Repräsentation 34 numerisch auszudrücken. In einer anderen Ausfüh rungsform 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 nume risch ermittelt, beispielsweise durch eine mittlere quadratische Abweichung oder eine Korrelation. Statt der Aktivierungsfunktionswerte sind alternativ auch in den Neuronen gespeicherte Aktivierungsfunktionsargumente ver wendbar. 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äsen tation 32 und die zweite Repräsentation 34 als Argumente enthält. Die Dis tanz D kann zusätzlich zu der ersten Repräsentation 32 und der zweiten Repräsentation 34 auch Ergebnisse aus zumindest einem anderen Ver gleich der Fotografie 26 und des synthetischen Bildes 28 berücksichtigen, zum Beispiel einer mittleren quadratischen Abweichung von Helligkeitswer ten oder Farbwerten.

Nur zur verständlichen Darstellung der Erfindungsidee ist das neuronale Netz 30 in den Abbildungen als sehr einfaches Netz abgebildet. Das neuro nale 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 da von eine verdeckte Schicht. Die Eingabeschicht umfasst noch die ungefil terte 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 mi nimiert. Die Abbildung der Figur 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 Dis tanz D die Fitness eines Parametersatzes definiert.

Die Schritte S1 bis S8 entsprechen den vorhergehend geschilderten Ver fahrensschritten 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 durch laufen hat. Auch im Schritt S12 lautet die Antwort in der ersten Iteration immer nein, sodass im Schritt S14 eine zweite Generation von Parame tersä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 ei nem genetischen Verfahren umfasst die zweite Generation eine Vielzahl von Parametersätzen, von denen jeder durch Variation des initialen Aus gangsparametersatzes gebildet wird. Im Schritt S13 wird ein Parameter satz aus der zweiten Generation ausgewählt und im Schritt S5 die Gra fikengine 22 mit dem im Schritt S13 ausgewählten Parametersatz parame- triert.

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 Figur 6 geschildert die zweite Repräsentation 34, also der Vektor R2, neu berechnet und die Dis tanz D des neuen synthetischen Bildes 28 zur Fotografie 26 berechnet. Wenn die Distanz geringer als die für einen Vorgänger-Ausgangsparame tersatz aus der vorhergehenden Generation berechnete Distanz ist, wird der Parametersatz zur Parametrierung der Grafikengine 22 in Betracht ge zogen. Im Schritt S10 wird dann überprüft, ob ein Abbruchkriterium erfüllt ist. Ein Abbruchkriterium sollte vorteilhaft implizieren, dass keine signifi kante Verringerung der Distanz D durch eine weitere Iteration zu erwarten ist. Abbruchkriterium kann insbesondere eine Unterschreitung eines Tole ranzwertes der Distanz sein, oder eine Unterschreitung eines Toleranzwer tes einer Differenz der besten Distanz aus der Vorgängergeneration zur aktuell berechneten Distanz. Bei erfülltem Abbruchkriterium wird die Gra fikengine 22 im Schritt Sil 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 durch gefü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 ei- nem genetischen Algorithmus umfasst Schritt S14 eine Auswahl der fittes ten 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 Vari ation und/oder Rekombination eine Vielzahl neuer Parametersätze erzeugt wird.