DE102019131971A1 - Ein Bildverarbeitungsmodul - Google Patents

Ein Bildverarbeitungsmodul Download PDF

Info

Publication number
DE102019131971A1
DE102019131971A1 DE102019131971.4A DE102019131971A DE102019131971A1 DE 102019131971 A1 DE102019131971 A1 DE 102019131971A1 DE 102019131971 A DE102019131971 A DE 102019131971A DE 102019131971 A1 DE102019131971 A1 DE 102019131971A1
Authority
DE
Germany
Prior art keywords
image
images
stitched
processing module
image processing
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
DE102019131971.4A
Other languages
English (en)
Inventor
Arindam Das
Saranya Kandan
Senthil Kumar Yogamani
Mohamed Jauhar
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.)
Connaught Electronics Ltd
Original Assignee
Connaught Electronics Ltd
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 Connaught Electronics Ltd filed Critical Connaught Electronics Ltd
Priority to DE102019131971.4A priority Critical patent/DE102019131971A1/de
Publication of DE102019131971A1 publication Critical patent/DE102019131971A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R1/00Optical viewing arrangements; Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles
    • B60R1/20Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles
    • B60R1/22Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles for viewing an area outside the vehicle, e.g. the exterior of the vehicle
    • B60R1/23Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles for viewing an area outside the vehicle, e.g. the exterior of the vehicle with a predetermined field of view
    • B60R1/27Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles for viewing an area outside the vehicle, e.g. the exterior of the vehicle with a predetermined field of view providing all-round vision, e.g. using omnidirectional cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R2300/00Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle
    • B60R2300/30Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the type of image processing
    • B60R2300/303Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the type of image processing using joined images, e.g. multiple camera images

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Processing (AREA)

Abstract

Ein Bildverarbeitungsmodul zum Ausbilden eines zusammengefügten Bildes einer Umgebung aus mehreren Eingabebildern von Abschnitten der Umgebung, wobei das Modul ausgebildet ist zum: Empfangen von mehreren Eingabebildern von Abschnitten einer Umgebung; Generieren eines zusammengefügten Kandidatenbilds aus den mehreren Eingabebildern; wiederholtes: Weitergeben des zusammengefügten Kandidatenbilds durch ein generatives Netzwerk, um ein verfeinertes zusammengefügtes Bild auszubilden, und Weitergeben des verfeinerten zusammengefügten Bildes durch ein Diskriminator-Netzwerk, um eine Qualitätspunktzahl zu bewerten, bis die bewertete Qualitätspunktzahl einem Schwellwert genügt; und Markieren des letzten ausgebildeten verfeinerten zusammengefügten Bildes als ein finales zusammengefügtes Bild.

Description

  • Gebiet
  • Die vorliegende Anmeldung betrifft ein Bildverarbeitungsmodul zum Herstellen eines zusammengefügten Bilds aus mehreren Eingabebildern.
  • Hintergrund
  • Bei der Bildverarbeitung besteht oft eine Notwendigkeit, zwei Bilder mit verschiedenen Blickfeldern zusammenzusetzen, um ein zusammengesetztes Bild zu erzeugen. Dies wird als Bildzusammenfügen bezeichnet.
  • Ein Beispiel für eine Anwendung, die ein derartiges Zusammenfügen erfordert, ist das Bilden einer 360-Grad-Sicht einer örtlichen Umgebung um ein Fahrzeug. Eine derartige Sicht ist vorteilhaft, um Fahrern Informationen zu liefern, um sie beim Manövrieren des Fahrzeugs zu unterstützen. Zum Ausbilden einer derartigen Sicht werden typischerweise Bilder von mehreren auf dem Fahrzeug montierten Kameras mit überlappenden oder zumindest anstoßenden Blickfeldern erfasst. Die erfassten Bilder werden dann zusammengefügt, um eine 360-Grad-Sicht auszubilden. Die ausgebildete 360-Grad-Sicht kann dann dem Fahrer an einem zweckmäßigen Ort innerhalb des Fahrzeugs angezeigt werden. Verschiedene Zusammenfügungsprozesse, unter Verwendung klassischer Bildverarbeitung, sind zuvor bei 360-Grad-Sicht bildenden Systemen verwendet worden. Zusätzlich zu der Bildzusammenfügung wird auch oftmals eine Gitterherstellung verwendet, um die Bilddaten auf eine bevorzugte Oberfläche abzubilden, um das Visualisieren der zusammengefügten Bilder zu erleichtern.
  • Solche zusammengefügten Bilder umfassen leider oftmals Artefakte. Artefakte sind offensichtliche Merkmale in einem Bild, die die Realität der abgebildeten Umgebung nicht akkurat darstellen. Artefakte können aus einer großen Vielzahl von Gründen in einem zusammengefügten Bild auftauchen. Beispielsweise kann, da verschiedene Kameras unterschiedliche Blickpunkte haben können, ein Objekt für verschiedene Kameras unterschiedlich aussehen. Wenn Bilder des Objekts von den beiden Kameras zusammengefügt werden, kann das zusammengefügte Bild folglich ein Artefakt enthalten. Ein derartiges Artefakt liefert eine falsche Darstellung des Objekts.
  • In Abwesenheit von anderen Informationen über das Objekt gibt es jedoch keine Möglichkeit festzustellen, ob das vorgelegte Bild das Objekt wiedergibt oder nicht. Somit gibt es keinen zweckmäßigen Weg, um Zusammenfügeartefakte automatisch zu detektieren oder zu behandeln. Eine Aufgabe der vorliegenden Erfindung besteht in der Bereitstellung eines Zusammenfügeprozesses, der mindestens die oben erwähnten Probleme behandelt.
  • Zu dem verwandten Stand der Technik zählt CN106920215A , das ein Verfahren zum Auswerten der Klarheit eines zusammengefügten Bilds einschließlich der Schritte des Generierens eines Trainingsdatensatzes und eines Testdatensatzes betrifft; Generieren eines neuronalen Faltungsnetzwerkmodells; und Trainieren des Testdatensatzes auf Basis des trainierten neuronalen Faltungsnetzwerks. Das Verfahren berechnet auf Basis eines ausgegebenen Etiketts jedes durch das neuronale Faltungsnetzwerk ausgegebenen Blocks den Mittelwert der ausgegebenen Etiketten aller Blöcke, die ein auszuwertendes zusammengefügtes Bild bilden, dann Berechnen des Mittelwerts der ausgegebenen Etiketten aller zusammengefügten Bilder, die mit dem gleichen Zusammenfügealgorithmus synthetisiert werden, wobei der Mittelwert der ausgegebenen Etiketten aller zusammengefügten Bilder als ein Kriterium zum Auswerten der Effekte des Zusammenfügealgorithmus dient. CN106920224A betrifft ein ähnliches Verfahren, das auf das Detektieren von Panoramabild-Registrierungseffekten angewendet wird.
  • US2019/080440A1 betrifft ein System zum Umwandeln von Bilddaten aus dem SDR(Standard Dynamic Range)-Format in ein HDR(High Dynamic Range)-Format und beinhaltet das Partitionieren von ein SDR-Bild darstellenden eingegebenen Daten in mehrere Abschnitte von Daten, wobei jeder Abschnitt ein jeweiliges von mehreren SDR-Patches des SDR-Bilds darstellt und jedes der mehreren SDR-Patches einen Abschnitt des SDR-Bilds abdeckt und der Satz der mehreren SDR-Patches das SDR-Bild vollständig abdeckt; Verarbeiten jedes der mehreren SDR-Patches durch einen Deep-Learning Autoencoder, der auf mehrere Modellgewichte reagiert, die ein Modell der SDR-zu-HDR-Umwandlung darstellen, um jeweilige mehrere geschätzte HDR-Patches zu erzeugen; und Zusammenfügen der geschätzten HDR-Patches, um eine HDR-Bildversion des SDR-Bilds zu bilden.
  • CN108347643A betrifft ein Verfahren zum Realisieren von Untertitelüberblendungs-Screenshots auf Basis des Deep-Learning, umfassend die Schritte des Wählens eines Videointervalls für einen Untertitelüberblendungs-Screenshot aus einem Video; des Lokalisierens und Ausschneidens von Untertiteln auf jedem Rahmen des Bilds in dem Videointervall; des Segmentierens aller Untertitel und des Extrahierens von Schlüsselrahmen in jedem Untertitel; des Durchführens einer Ähnlichkeitsberechnung an den Schlüsselrahmen und des Durchführens einer vergleichenden Duplikationseliminierung gemäß einem Rechenergebnis, um finale Untertitel zu erhalten; und des Zusammenfügens eines ersten Rahmens des Bilds in dem Videointervall mit den finalen Untertiteln in Sequenz, um einen Untertitelüberblendungs-Screenshot zu erhalten.
  • Keine der bekannten Lösungen behandelt jedoch die oben erläuterten Probleme.
  • Kurzdarstellung
  • Die vorliegende Erfindung wird durch die unabhängigen Ansprüche definiert.
  • Die abhängigen Ansprüche liefern weitere optionale Merkmale.
  • Figurenliste
  • Ausführungsformen der Erfindung werden nun beispielhaft unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben. Es zeigen:
    • 1 ein Bild-Mapping für eine 360-Grad-Sicht;
    • 2a ein Blickfeld (FOV - Field of View) für eine nach vorne blickende Kamera, abgebildet auf einem Teil einer 360-Grad-Sicht;
    • 2b eine FOV für eine nach links blickende Kamera, abgebildet auf einem Teil einer 360-Grad-Sicht, und eine FOV für eine nach rechts blickende Kamera, abgebildet auf einem Teil einer 360-Grad-Sicht;
    • 2c eine FOV für eine nach hinten blickende Kamera, abgebildet auf einem Teil einer 360-Grad-Sicht;
    • 3 ein Beispiel eines Bildzusammenfügens;
    • 4 Beispiele von Bildartefakten in einem zusammengefügten Bild;
    • 5 einen Prozess zum Zusammenfügen von zwei Bildern gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 6 einen Prozess zum Verfeinern eines zusammengefügten Bildes gemäß der Ausführungsform;
    • 7 ein Generative Adversarial Network (GAN - erzeugendes generisches Netzwerk) von dem innerhalb einer Ausführungsform der vorliegenden Erfindung verwendeten Typ;
    • 8 einen ersten Durchlauf eines Trainingsprozesses für das GAN;
    • 9 einen zweiten Durchlauf des Trainingsprozesses für das GAN; und
    • 10 die Verwendung eines Zusammenfügeprozesses, um eine 360-Grad-Sicht aus vier Kameras zu erzeugen.
  • Beschreibung
  • Für viele Aufgaben, die das Fahren von Fahrzeugen beinhalten, ist das Erfassen von Informationen über die örtliche Umgebung wichtig, um die Aufgabe sicher fertigzustellen. Beispielsweise ist es beim Parken eines Fahrzeugs für den Fahrer vorteilhaft, einen Sensor zu haben, um anzuzeigen, wie nahe sich die Rückseite an dem Fahrzeug zu dem nächsten Objekt befindet. Je mehr Informationen der Sensor liefert, desto besser. Deshalb ist beim Parken eine Kamera, die ein Live-Bild der Umgebung unmittelbar hinter einem Fahrzeug anzeigt, nützlicher als ein Entfernungssensor.
  • Der Fahrer des Fahrzeugs muss kein Mensch sein, da das Fahrzeug selbstfahrend sein kann, d.h. ein autonomes Fahrzeug. In diesem Fall ist die Genauigkeit der erfassten Informationen besonders wichtig, um zu vermeiden, dass die erfassten Informationen das Fahrzeugfahrsystem irreführen. Der Fahrer könnte auch eine Kombination aus einem Menschen und einem oder mehreren automatisierten Systemen sein, um das Fahren zu unterstützen.
  • Der Kürze halber beziehen sich unten beschriebene Ausführungsformen auf ein Fahrzeug. Die Erfindung kann jedoch auch mit einem beliebigen Objekt verwendet werden, das mehrere Sensoren besitzt. Insbesondere kann es an einem beliebigen Fahrzeug wie etwa einem Auto, einem Fahrrad, einem Lastwagen, einem Flugzeug oder einem Boot verwendet werden. Analog beziehen sich alle unten beschriebenen Ausführungsformen auf Kameras. Die Erfindung kann jedoch beliebige Sensoren verwenden, die ein Bild oder volumetrische Daten erfassen.
  • Die Empfindlichkeit der in der Erfindung verwendeten Kameras muss nicht auf einen beliebigen bestimmten Bereich von Wellenlängen beschränkt sein, doch wird er am üblichsten mit Kameras verwendet, die für sichtbares Licht empfindlich sind. Der Typ und die Leistung der in den Kameras verwendeten Linse ist ebenfalls nicht beschränkend.
  • Beim Abbilden der örtlichen Umgebung um ein Fahrzeug, um eine 360-Grad-Sicht auszubilden, können Bilddaten in einigen Richtungen verworfen werden. Beispielsweise werden im Allgemeinen keine Bilder von dem Boden unter einem Fahrzeug oder unmittelbar über dem Fahrzeug benötigt.
  • Folglich können die erforderlichen Bilddaten für eine praktische 360-Grad-Sicht auf eine Schalenform abgebildet werden, die sich von der Basis des Fahrzeugs aus erstreckt. Ein Beispiel für eine derartige schalenförmige für einen Wagen 1 ist in 1 gezeigt. Wenn Bilddaten im Wesentlichen in dieser Form erzeugt werden, wird es als eine 360-Grad-Sicht bezeichnet.
  • In der Praxis wird ein Kamerasystem, um eine 360-Grad-Sicht für ein typisches Fahrzeug zu erzeugen, Weitwinkel(FOV)-Kameras umfassen, die unauffällig um das Fahrzeug herum montiert sind. Wegen der Grenzen der FOV jeder Kamera und der Verdeckung durch das Fahrzeug selbst kann eine Kamera nicht all die Bilddaten liefern, die zum Ausbilden der 360-Grad-Sicht notwendig sind. Somit sind in der Praxis Bilddaten von mehreren Kameras notwendig, um die 360-Grad-Sicht auszubilden.
  • Die 2a, b und c liefern Bilder der FOV von vier Kameras, die an einem Wagen montiert sind. Insbesondere zeigt 2a eine nach vorne blickende Kamera, die eine Frontansicht 100a erfasst; 2b zeigt eine nach links blickende Kamera, die eine linke Ansicht 100b erfasst, und eine nach rechts blickende Kamera, die eine rechte Ansicht 100d erfasst; und 2c zeigt eine nach hinten blickende Kamera, die eine Rückansicht 100c erfasst.
  • Die FOV jeder der Kameras ist auf eine 360-Grad-Sicht abgebildet worden. Jede der Kameras besitzt einen breiten FOV, was zu einer FOV mit einer komplexen Form führt. Dies ist besonders klar in der abgebildeten linken und rechten Sicht in 2b. Die ausgegebenen Bilddaten von den vier Kameras können kombiniert werden, um eine Sicht bereitzustellen, die mindestens eine Approximation der gewünschten 360-Grad-Sicht ist. Auch andere Ausbildungen von Kameras können Bilddaten liefern, die ausreichen, um mindestens eine Approximation der 360-Grad-Sicht zu liefern. Insbesondere können Ausbildungen mit mehr als vier Kameras verwendet werden.
  • Eine beliebige Kameraausbildung, die Bilddaten für den größten Teil der 360-Grad-Sicht liefert, ist praktikabel. Falls notwendig, kann eine Interpolation oder Extrapolation verwendet werden, um etwaige Lücken in den erfassten Bilddaten auszufüllen und dadurch die 360-Grad-Sicht zu vervollständigen.
  • Das Abbilden der Bilder von den Kameras auf die 360-Grad-Sicht beinhaltet das Beschneiden der Bilder wie erforderlich. Falls beispielsweise ein Bild Bilddaten umfasst, die auf einen Ort über dem oberen Rand der 360-Grad-Sicht abgebildet werden, kann das abgebildete Bild auf die Bilddaten beschnitten werden, die sich innerhalb der 360-Grad-Sicht befinden.
  • Um die Anzahl der an dem Fahrzeug montierten Komponenten zu minimieren, können eine oder mehrere der Kameras zu anderen Zwecken verwendet werden. Beispielsweise kann die nach vorne blickende Kamera auch als ein Dashcam-Aufzeichnungsgerät verwendet werden.
  • Um die Bilder zu kombinieren oder zusammenzufügen, werden die von jeder Kamera erfassten Bilder in einem gemeinsamen Referenzrahmen kombiniert. Der Referenzrahmen braucht kein regelmäßiger oder kartesischer zu sein, lediglich einheitlich für alle die Bilddaten, die kombiniert werden.
  • Aufgrund der komplexen FOV der Kameras variiert die Auflösung von Bildern über jedes Bild, wobei Bildinformationen im Allgemeinen zu der Mitte jeder Kamera-FOV dichter werden oder eine höhere Auflösung besitzen und zu den Rändern der FOV weniger dicht sind. Somit wird auch die Auflösung in dem resultierenden zusammengefügten Bild variieren. Bekannte Bildverarbeitungstechniken, z.B. das Verwischen oder Neuabtasten, können verwendet werden, um die Bilder zu verbessern, falls notwendig. Analog können die Bilder und die Kamera verstellt bzw. gesteuert werden, um sicherzustellen, dass eine Schwankung zwischen den Kameras oder eine Schwankung zwischen den Bildern die Qualität des finalen zusammengefügten Bildes nicht übermäßig verschlechtert. Beispielsweise können zwei Kameras so harmonisiert werden, dass sie die gleichen Verstärkungs- und Belichtungseinstellungen besitzen. Dies bedeutet, dass ein zusammengefügtes Bild unter Verwendung von Bildern von der harmonisierten Kamera an der Naht der Zusammenfügung keine offensichtliche Helligkeitsänderung aufweisen werden. In anderen Fällen können die Belichtung und Verstärkung zwischen Kameras absichtlich variiert werden. Eine derartige Veränderung kann durchgeführt werden, um die Naht zu verbergen, indem Unterschiede bei der Beleuchtung zwischen den Kameraorten aufgehoben werden. Die Naht zwischen zwei zusammengefügten Bildern kann ebenfalls verborgen oder zumindest weniger offensichtlich gemacht werden, indem bekannte Bildverarbeitungs- und Blending-Techniken verwendet werden.
  • Als ein Beispiel eines Zusammenfügeprozesses kann das Zusammenfügen durch eine festgelegte Transformation eines Bilds in das durch ein anderes Bild definierte Koordinatensystem erzielt werden. Nach der Transformierung wird Pixelwert-Blending an einem beliebigen Punkt verwendet, der Daten von beiden Bildern hat. Derartige Transformations- und Blending-Funktionen sind wohlbekannt. Ein grundlegendes Beispiel eines Zusammenfügeprozesses ist in 3 gezeigt, in dem Bild A und Bild B zusammengefügt sind, um ein größeres Bild auszubilden. Idealerweise sollten sich die FOVs von Kameras, die die Bilder liefern, die zusammengefügt werden sollen, mindestens teilweise überlappen, da diese Überlappung ein Blending-Gebiet bereitstellt, um das Verbergen der Naht zu unterstützen.
  • Ein Überlappungsgebiet gestattet auch die Verwendung von merkmalsbasierten Zusammenfügeprozessen. Im Allgemeinen identifiziert ein merkmalsbasiertes Zusammenfügen Merkmale, die in beiden Bildern sichtbar sind, und verwendet diese identifizierten Merkmale, um auf die Beziehung eines Bilds zu einem anderen zu schließen.
  • Als ein Beispiel eines merkmalsbasierten Zusammenfügeprozesses wird ein Satz von gemeinsamen Merkmalen in zwei Bildern identifiziert. Die Orte der gemeinsamen Merkmale in einem Bild werden dann auf äquivalente Orte der jeweiligen gemeinsamen Merkmale in dem anderen Bild abgebildet. Die Transformationsabbildung von dem gemeinsamen Merkmals-Mapping kann dann interpoliert oder extrapoliert werden, um auf eine volle Transformationsabbildung aller Punkte in einem Bild auf das Koordinatensystem des anderen Bilds zu schließen. Da die volle Transformationsabbildung bekannt ist, können dann alle Bilddaten in ein gemeinsames Koordinatensystem transponiert werden, um ein einzelnes zusammengefügtes Bild auszubilden.
  • Der ideale Satz von Bildern sollte idealerweise für ein merkmalsbasiertes Zusammenfügen genügend Überlappung haben, um die Detektion von genügend Merkmalen zu gestatten, um eine Korrektur einer etwaigen Verzerrung in den zusammengefügten Bildern zu gestatten.
  • Merkmalsbasiertes Zusammenfügen bedeutet, dass die Installation und präzise Positionierung der die Bilder liefernden Kameras weniger kritisch ist, da Schwankungen bei der Position in dem Abbildungsprozess automatisch berücksichtigt werden können. Sogar wenn ein merkmalsbasierter Zusammenfügeprozess verwendet wird, sind die resultierenden zusammengefügten Bilder selten perfekt. Dem ist so, weil das Zusammenfügen eine schwierige mathematische Aufgabe ist, oftmals mit degenerativen Lösungen. Die Schwierigkeit entsteht teilweise aufgrund von Komplikationen wie etwa:
    • Verzerrung, die durch Kamerakomponenten wie etwa einen Sensor oder eine Linse eingeführt werden, eine Bewegung einer Kamera relativ zu einer anderen,
    • die Topologie der abgebildeten Szene führt zu Verdeckungen oder dazu, dass verschiedenen Kameras der gleichen Szene unterschiedliche Informationen vorgelegt werden;
    • Schwierigkeit beim Identifizieren und Lokalisieren gemeinsamer Merkmale;
    • Schwankung zwischen Kameras in der Bilderfassung; und
    • Umgebungsänderungen während der Periode der Bilderfassung.
  • Folglich umfassen die zusammengefügten Ergebnisse oft Artefakte. Da eine 360-Grad-Sicht zusammengefügte Bilder verwendet, kann eine 360-Grad-Sicht ebenfalls Artefakte umfassen. Artefakte können eindeutige Formen besitzen, sie sind aber im Allgemeinen nur aufgrund eines vorherigen Wissens über eine abgebildete Umgebung offensichtlich. Beispielsweise ist ein Linsenreflex ein übliches Artefakt, das entsteht, wenn Licht in einer Linse gestreut wird oder aufblitzt, was bewirkt, dass ein aufgenommenes Bild die Beleuchtung der abgebildeten Umgebung falsch darstellt. Ein Linsenreflexartefakt kann durch die meisten Erwachsenen allein aufgrund eines inhärenten Verständnisses von realistischer Beleuchtung identifiziert werden.
  • Artefakte in Bildern sind oftmals für Menschen offensichtlich, wenn bekannte Strukturen, insbesondere sich wiederholende oder gedehnte Merkmale, abgebildet werden. 4 zeigt einen Abschnitt einer 360-Grad-Sicht mit zwei Artefakten 401, 402, die in weißen Kreisen markiert sind. In dieser Figur ist offensichtlich, dass der Zusammenfügeprozess das sich wiederholende Muster auf der Straßenmarkierung nicht entsprechend behandelt hat. Dieses Artefakt auf der linken Seite ist auf den Prozess der Pixelmittelwertbildung auf Basis von benachbarten Pixeln zurückzuführen. Der Zusammenfügeprozess hat auch zu einem Artefakt auf der rechten Seite geführt, das einer Unterbrechung in der Kontinuität des Randsteins ähnelt. Solche Artefakte können, wenn sie angezeigt werden, für Fahrer sehr störend sein. Außerdem ist es aufgrund der Anwesenheit der Artefakte unwahrscheinlich, dass irgendein automatisiertes System oder Verarbeitungsmodul, das eine 360-Grad-Sicht verwendet, zuverlässige Ergebnisse erzeugt.
  • Die vorliegende Ausführungsform wendet einen Maschinenlernansatz an, um Bilder zusammenzufügen und die zusammengefügten Bilder zu verfeinern, um Artefakte zu entfernen. Indem eine Lerntechnik verwendet wird, wird vorheriges Wissen über eine Umgebung zum Identifizieren und Entfernen von Artefakten verwendet. Ein Beispiel dafür, wie das zusammengefügte Bild ausgebildet wird, ist in dem Prozess in 5 gezeigt. Dieser Prozess basiert auf der Verwendung von zwei Maschinenlernnetzwerken, die als ein Codierer und Decodierer bezeichnet werden.
  • Der Codierer und Decodierer bestehen jeweils aus funktional zusammengeschalteten Schichten, die beispielsweise Faltungs-, Pooling-, Entfaltungs-, Entpooling-, Aktivierungsfunktionen und Normalisierungsschichten enthalten. Weitere Einzelheiten über solche Codierer-/Decodierernetzwerke sind in der deutschen Patentanmeldung Nr. DE102019123756.4 mit dem Titel „A neural network for performing semantic segmentation of an input image“, eingereicht am 5. September 2019 (Valeo-Referenz: 2018PF01930 (alte Referenz: SIE0879): HMC-Referenz: V25-2103-13DE) bereitgestellt, die sowohl herkömmliche als auch verbesserte Zusammenschaltung von Schichten über sowohl Codierer- als auch Decodiererschichten eines einstufigen Codierer-Decodierer-Netzwerks offenbart, aber auch über Stufen eines mehrstufigen Codierer-Decodierer-Netzwerks. Als solches kann es, wie unten erläutert werden wird, wünschenswert sein, die Verarbeitung zu minimieren, die erforderlich ist, um ein anfängliches zusammengefügtes Bild bereitzustellen, doch können Varianten der vorliegenden Ausführungsform mehrere mehrstufige Codierer-Decodierer-Netzwerke anstatt lediglich die dargestellte einzelne Stufe umfassen.
  • Das Verarbeiten eines Bilds mit dem Codierer führt zu einer oder mehreren Merkmalsabbildungen, wobei jede der Merkmalsabbildungen Abmessungen besitzt, die kleiner sind als das verarbeitete Bild. Umgekehrt nimmt der Decodierer eine oder mehrere Merkmalsabbildungen und wandelt sie zurück in ein Bild der gleichen Dimension wie das verarbeitete Bild.
  • Bei einer Ausführungsform ist der Codierer ein zehnschichtiges Restnetz, ResNet-10, und der Decodierer ist ein achtschichtiges vollfaltendes Netzwerk FCN-8. Sowohl ResNet-10 als auch FCN-8 sind bekannte CNN(Convolusional Neural Network - neuronale Faltungsnetzwerk)-Architekturen und können auf bekannte Weisen trainiert werden.
  • Der Zusammenfügungsprozess umfasst mehrere Schritte. Der erste Schritt 500 nimmt zwei Bilder von zwei Kameras. Die beiden Bilder sind auf die 360-Grad-Sicht abgebildet worden und besitzen überlappende FOVs. Beide Bilder besitzen eine Höhe X und eine Breite Y.
  • Beim Zusammenfügen von Bildern ist der interessierendste Bereich das Gebiet nahe dem Bildrand zwischen den beiden Bildern, d.h. die Mitte der Überlappung.
  • Um den Problemraum einzugrenzen und die Rechenlast zu reduzieren, wird ein Bildbeschneidungsschritt 510 durchgeführt. Die Beschneidung wird so eingestellt, dass die Höhe beibehalten wird und die Breite des Bildes auf eine Hälfte ihrer Originalbreite reduziert wird. Nun werden die Abmessungen der verarbeiteten Bilder X x Y/2. Da das Beschneiden dazu führt, dass die Bilder in nachfolgenden Verarbeitungsschritten die gleiche Größe haben, kann dieser Prozess auch mit Kameras verwendet werden, die Bilder unterschiedlicher Größen erzeugen.
  • Die beiden beschnittenen Bilder werden dann mit dem Codierer codiert 520. Die letzte Schicht des Codierers erzeugt N Merkmalsabbildungen, wobei N eine ganze Zahl ist. Die Merkmalsabbildungen sind von der Größe X/t x (Y/2)/t, wobei t ein ganzzahliger Faktor ist, der die Herunterskalierung der Merkmalsräume ist. In 5 bezeichnen die Ausdrücke A und B die beiden Sätze von Merkmalsabbildungen. Die Merkmalsabbildungen werden dann unter Verwendung eines beliebigen standardmäßigen Zusammenfügungsprozesses zusammengefügt, wodurch ein Puffer der Größe (X/t) x (Y/t) für N Merkmalsabbildungen erzeugt wird. Da der Zusammenfügungsprozess an Merkmalsabbildungen verwendet wird, die von viel kleineren Abmessungen sind als die beschnittenen Bilder, ist das Zusammenfügen von Merkmalsabbildungen viel schneller als das einfache Zusammenfügen der beschnittenen Bilder.
  • Der Satz von zusammengefügten Merkmalsabbildungen wird dann an den Decoder weitergegeben, um ein zusammengefügtes beschnittenes Bild zu rekonstruieren 540. Da die Bilder in Schritt 500 von den Kameras beschnitten wurden, wird das zusammengefügte beschnittene Bild mit dem Rest der Bilder von den beiden Kameras kombiniert 550, um ein zusammengefügtes Bild voller Größe zu ergeben.
  • Wie alle Zusammenfügungsprozesse kann jedoch die resultierende zusammengefügte Ausgabe Artefakte umfassen.
  • Zur Behandlung der Artefakte, die das obige oder irgendein anderes Zusammenfügungsverfahren möglicherweise erzeugt, wird der in 6 gezeigte Prozess verwendet. Dieser Prozess nimmt als eine Eingabe ein zusammengefügtes Bild, in diesem Fall das bei Schritt 550 von 5 erzeugte Bild. Das zusammengefügte Eingabebild sollte als ein zusammengefügtes Kandidatenbild angesehen werden, da das zusammengefügte Bild unannehmbare Artefakte enthalten und eine qualitative Verbesserung erfordern kann.
  • Das zusammengefügte Kandidatenbild wird an ein GAN (Generative Adversary Network) weitergegeben. Ein typisches GAN ist in 7 gezeigt. Ein GAN ist eine Form von Maschinenlernnetzwerk, das ein generatives Netzwerk (Generator) und ein diskriminierendes Netzwerk (Diskriminator) umfasst. Der Generator und der Diskriminator sind neuronale Netzwerke, die aus funktional zusammengeschalteten Schichten bestehen, einschließlich beispielsweise Faltungs-, Pooling-, Entfaltungs-, Entpooling-, Aktivierungsfunktionen und Normalisierungsschichten.
  • Die Aufgabe des Generators ist das Generieren einer neuen Dateninstanz, in diesem Fall ein verbessertes zusammengefügtes Bild, während die Aufgabe des Diskriminators in dem Auswerten der Authentizität solcher Dateninstanzen besteht.
  • Das GAN wird unter Verwendung von Trainingsdaten trainiert. Trainingsdaten umfassen zuvor aufgenommene Bilder, die als gut zusammengefügt bezeichnet werden, die zusammengefügte Bilder von annehmbarer Qualität sind, d.h. ohne offensichtliche Artefakte. Die Trainingsdaten umfassen auch Bilder, die als schlecht zusammengefügt bezeichnet werden, wobei es sich um zusammengefügte Bilder von unannehmbarer Qualität handelt, möglicherweise zusammengefügte Bilder mit Artefakten.
  • Zum Trainieren des GAN verwendete Trainingsdaten können zusammengefügte synthetische Bilder und/oder gesammelte Beispiele von zusammengefügten Bildern umfassen. Bei der Quelle von synthetischen Bildern kann es sich um Bilder handeln, die von einem Rechenmodell eines in einer Umgebung fahrenden Fahrzeugs aufgenommen worden sind.
  • Solche Modelle sind von Fahrspielen oder Fahrsimulatoren erhältlich. Die Aufnahme von synthetischen Bildern für das Trainieren von Maschinenlernalgorithmen wird ausführlicher in S.R. Richter et al. „Playing for data: Ground truth from computer games“ ECCV, 2016 1,2,5; oder G.Ros et al. The SYNTHIA dataset: „A large collection of synthetic images for semantic segmentation of urban scenes“ CVPR, 2016 1,2,5 beschrieben. Synthetische Bilder können unter Verwendung des oben beschriebenen, auf einem Codierer und Decodierer basierten Zusammenfügungsverfahren oder irgendeinem anderen bekannten Zusammenfügungsverfahren zusammengefügt werden. Bevorzugt wird das oben beschriebene, auf einem Codierer und Decodierer basierende Zusammenfügungsverfahren verwendet, um sicherzustellen, dass charakteristische Zusammenfügungsartefakte in dem Zusammenfügungsverfahren während des GAN-Trainings gut behandelt werden.
  • Die Bodendaten einer synthetischen Umgebung können aus einem die synthetische Umgebung bildenden Rechenmodell erfasst werden. Die Informationen können dann verwendet werden, um einzuschätzen, ob zusammengefügte Bilder, die aus synthetischen Bildern gebildet werden, gut zusammengefügt sind. Zusammengefügte synthetische Bilder besitzen somit den Vorteil, dass sie schnell und automatisch als gut zusammengefügt oder schlecht zusammengefügt kommentiert werden können. Es ist somit möglich, eine große Anzahl von kommentierten zusammengefügten synthetischen Bildern schnell zu erfassen.
  • Die synthetischen Bilder von dem Rechenmodell können bildmäßig verarbeitet werden, um die Wahrscheinlichkeit zu erhöhen, dass ein zusammengefügtes Bild der synthetischen Bilder von geringer Qualität ist, d.h. ein schlecht zusammengefügtes Bild. Schlecht zusammengefügte Bilder werden beispielsweise wahrscheinlich generiert, wenn die synthetischen Bilder, die miteinander zusammengefügt werden, so abgeändert werden, dass sie Folgendes besitzen:
    • schwarz gemalte Pixelbereiche;
    • möglicherweise durch Verwendung eines Filters eingeführtes Rauschen, um Pixelwerte in den Gebieten der synthetischen Bilder zu verzerren, die zusammengefügt werden; oder
    • auf eine zufällige Weise in den Gebieten der Bilder, die zusammengefügt werden, umgeordnete Pixel.
  • Alternativ oder zusätzlich kann die Qualität der zusammengefügten synthetischen Bilder, die erzeugt werden, auf Basis einer direkten Verarbeitung verschlechtert werden. Die Qualität eines zusammengefügten Bildes kann beispielsweise verschlechtert werden durch:
    • Schwarzmalen von Pixelbereichen;
    • Einführen von Rauschen, möglicherweise durch Verwendung eines Filters, um Pixelwerte in den Gebieten, die zusammengefügt worden sind, zu verzerren; oder
    • Umordnen von Pixeln auf zufällige Weise in den Gebieten, die zusammengefügt worden sind.
  • Trainingsdaten können auch durch schlecht zusammengefügte Bilder ergänzt werden, die aus dem Generator erzeugt werden, bevor er trainiert wird. In diesem Fall wird ein zufällig gewähltes zusammengefügtes Bild aus einer Datenbank von zusammengefügten Bildern durch einen untrainierten Generator weitergegeben. Das zufällig gewählte Bild wird durch den untrainierten Generator auf unvorhersehbare Weise modifiziert, um ein schlecht zusammengefügtes Bild zu erzeugen.
  • Die Trainingsdaten können gesammelte Beispiele von zusammengefügten Bildern umfassen. Solche gesammelten Beispiele sind einfach zuvor erfasste zusammengefügte Bilder. Für solche gesammelten Beispiele werden Kommentare, um die zuvor erfassten Bilddaten als gut zusammengefügt oder schlecht zusammengefügt zu markieren, bevorzugt. Kommentare können durch geführte oder regelbasierte Verfahren, durch manuelles Editieren oder durch irgendeine Kombination dieser Techniken zu den zuvor erfassten Bilddaten hinzugefügt werden.
  • Die bekannte Technik der unüberwachten Domänenadaptation kann ebenfalls verwendet werden. In dieser Technik wird ein GAN mit Trainingsdaten trainiert, die kommentierte synthetische Bilder und unkommentierte gesammelte Beispiele von Bildern umfassen. Die Vorzüge und Details dieses Ansatzes werden erläutert in Tuan-Hung et al. „ADVENT: Adversarial Entropy Minimization for Domain Adaptation in Semantic Segmentation“ ArXiv, 2018 1811.12833.
  • Eine Teilmenge der Trainingsdaten oder von ähnlich produzierten Daten kann verwendet werden, um das oben beschriebene Codierer- und Decodierer-Zusammenfügungsverfahren zu trainieren. Bei einigen Ausführungsformen wird das Zusammenfügungsverfahren durch separate Daten ohne irgendeine Überlappung mit den Trainingsdaten trainiert. Das Trainieren an separaten Daten trägt dazu bei, das Risiko von nachteiligen Effekten aus einer Tendenz bei den Trainingsdaten zu reduzieren.
  • Wenngleich mehrere Verfahren zum Trainieren eines GAN bekannt sind, erfordern diese typischerweise eine Menge an kommentierten Daten. Ein optimierterer Trainingsprozess für das oben beschriebene GAN ist in 8 und 9 gezeigt. Das optimierte GAN-Trainingsverfahren umfasst zwei Durchläufe. Der erste Durchlauf, Durchlauf 1, trainiert den Diskriminator. In diesem Durchlauf ist der Generator gesperrt (d.h., es erfolgt kein Lernen des Generators). Das Durchlauf-1-Training erfolgt während M Epochen, wobei M eine beliebige Zahl zwischen 1 und unendlich ist.
  • Der Trainingsprozess verwendet die Trainingsdaten, um dem Diskriminator beizubringen, Bilder als gut zusammengefügte Bilder oder schlecht zusammengefügte Bilder zu klassifizieren. Der Diskriminator löst im Wesentlichen ein binäres Klassifizierungsproblem unter Verwendung einer Sigmoid-Funktion, um jedem Bild eine Qualitätspunktzahl im Bereich 0 (die schlechtestmögliche Qualität eines zusammengefügten Bildes) bis 1 (perfektes zusammengefügtes Bild bester Qualität) zu geben. Der Diskriminator-Trainingsprozess ist in 8 gezeigt. Nach dem Trainieren kann der Diskriminator die Qualität eines zusammengefügten Bildes einschätzen und eine Qualitätspunktzahl zwischen 0 und 1 zuweisen.
  • Nachdem der Diskriminator trainiert worden ist, wird der Diskriminator dann gesperrt (d.h., es erfolgt kein Lernen des Diskriminators) und das Trainieren des Generators erfolgt in dem zweiten Durchlauf, Durchlauf 2, des Trainingsprozesses. Der zweite Trainingsdurchlauf ist in 9 gezeigt.
  • In dem zweiten Durchlauf werden die Klassifizierung oder Vorhersagen des trainierten Diskriminators als ein Ziel zum Trainieren des Generators verwendet. Beim Training empfängt der Generator eine Eingabe eines zusammengefügten Zufallsbilds aus einer Datenbank von zusammengefügten Bildern. Bei einigen Ausführungsformen erfolgt die Zufallsauswahl gemäß einer Wahrscheinlichkeitsverteilung. Der Generator verarbeitet dann dieses Eingabebild, um ein modifiziertes Bild zu generieren. Der trainierte Diskriminator beurteilt die Qualität des modifizierten Bildes, und das Ergebnis wird zurückgekoppelt, um den Generator zu trainieren. Im Wesentlichen wird der Generator trainiert, um Bilder zu modifizieren, um den Diskriminator dahingehend zu täuschen, die Generator-modifizierten Bilder als gut zusammengefügte Bilder zu klassifizieren. Nachdem der Generator und der Diskriminator trainiert sind, werden sowohl der Generator als auch der Diskriminator gesperrt und das GAN ist trainiert und bereit, verwendet zu werden.
  • Das trainierte GAN wird gemäß dem in 6 gezeigten Prozess verwendet. Zu Anfang wird ein zusammengefügtes Bild voller Größe, wie im Schritt 550 erzeugt, als ein zusammengefügtes Kandidatenbild an den Generator weitergegeben 600. Der Generator verarbeitet 610 das zusammengefügte Kandidatenbild, indem das Bild dahingehend modifiziert wird, ein verfeinerteres oder passenderes zusammengefügtes Bild zu erzeugen. Das verfeinerte zusammengefügte Bild wird dann durch den Diskriminator ausgewertet 620.
  • Der Diskriminator wertet das verfeinerte zusammengefügte Bild aus und weist eine Qualitätspunktzahl zu. Falls die Qualitätspunktzahl einem Schwellwert genügt, ist das verfeinerte zusammengefügte Bild von annehmbarer Qualität und das verfeinerte zusammengefügte Bild wird als finales zusammengefügtes Bild markiert 640.
  • Als ein finales zusammengefügtes Bild markiert zu werden, bedeutet, dass das finale zusammengefügte Bild an eine weitere Komponente zur Verwendung wie notwendig weitergegeben wird. Bei einigen Ausführungsformen wird die weitere Komponente eine Komponente sein, die das zusammengefügte Bild anzeigt. Das zusammengefügte Bild kann auch aufgezeichnet oder weiter verarbeitet werden.
  • Falls der Diskriminator einem verfeinerten zusammengefügten Bild eine Qualitätspunktzahl zuweist, die unter dem Schwellwert liegt, wird die GAN-Verarbeitungsschleife wiederholt. In diesem Fall wird das verfeinerte zusammengefügte Bild verworfen. Dann wird der Generator-Schritt 610 wiederholt, um eine neue Instanz eines verfeinerten zusammengefügten Bildes herzustellen. Das neue verfeinerte zusammengefügte Bild wird dann durch den Diskriminator auf die gleiche Weise wie das erste verfeinerte zusammengefügte Bild ausgewertet 620. Die GAN-Verarbeitung wird fortgesetzt, bis der Generator ein verfeinertes zusammengefügtes Bild ausgibt, das der Diskriminator so auswertet, dass es eine Qualitätspunktzahl über dem Schwellwert hat.
  • Bei anderen Ausführungsformen gibt es eine Grenze bezüglich der Anzahl von Schleifen, die der GAN-Prozess durchführt, bevor die verfeinerte zusammengefügte Ausgabe des Generators oder das zusammengefügte Kandidatenbild als ein finales zusammengefügtes Bild markiert wird.
  • Bei einigen Ausführungsformen können komplexere Auswahlschemata verwendet werden. Beispielsweise kann der ausgewählte Schwellwert mit der Anzahl von Iterationen variieren. Zusätzlich oder alternativ werden mehrere verfeinerte zusammengefügte Bilder über dem Schwellwert ausgebildet und aufgezeichnet, und das verfeinerte zusammengefügte Bild mit dem höchsten oder besten Qualitätspunktwert wird als das finale zusammengefügte Bild markiert.
  • Nachdem der Zusammenfügungsprozess und das GAN trainiert worden sind, kann der oben detaillierte Prozess zum Herstellen von gut zusammengefügten Bildern aus Eingabebildern sehr schnell sein. Die benötigte Zeit ist kurz genug, um eine Echtzeitoperation zu gestatten. Mit anderen Worten ist die Zeit von dem Empfangen von Eingabebildern bis zu dem Herstellen des gut zusammengefügten Bildes kurz genug, dass ein das Ergebnis beobachtender Mensch sich der Verarbeitungszeit nicht bewusst ist. Die tatsächliche Verarbeitungszeit hängt von der Verarbeitungshardware ab, die verwendet wird, ist aber typischerweise schneller als 0,1 Sekunde. Bei einigen Ausführungsformen benötigt die Verarbeitung weniger als 0,05 Sekunden. Bei anderen Ausführungsformen liegt die Verarbeitungszeit sogar noch unter 0,02 Sekunden, so dass sogar auf einem qualitativ hochwertigen Display keine abträglichen visuellen Effekte bemerkt werden können.
  • Die oben detaillierten Prozesse betreffen das Zusammenfügen von Szenen von nur zwei Kameras. Es versteht sich jedoch, dass, wenn weitere Kameras vorliegen, dieser Prozess für jeden Satz von Kameras mit anstoßenden oder überlappenden FOVs wiederholt werden kann. Beispielsweise zeigt 10 vier Kameras mit vier Zusammenfügungsprozessen, um die Bilder aus den vier Kameras zu einer vollständigen 360-Grad-Sicht auszubilden. Bei einigen Anwendungen kann die gleiche Rechenhardware in Sequenz verwendet werden, um die Zusammenfügungsoperationen zu vervollständigen. Dies gestattet eine sehr optimierte Verarbeitung und möglicherweise einen sehr niedrigen Stromverbrauch durch die Rechenhardware.
  • Wenngleich nicht gezeigt, kann der gleiche Zusammenfügungsprozess angewendet werden, um eine beliebige Anzahl von Bildern gleichzeitig zusammenzufügen. Somit kann, wenn fünf Kameras alle überlappende FOVs besitzen, der oben ausgeführte Prozess daran angepasst werden, mit fünf Kameras zu arbeiten.
  • Der beschriebene Zusammenfügungsprozess ist effizienter als die existierenden Ansätze, da er sich eines vorausgegangen Wissens über die Umgebung bedient, das innerhalb des GAN und möglicherweise des Codierer-Decodierer-Netzwerks codiert ist, um zusammengefügte Bilder zu erzeugen, die mit geringerer Wahrscheinlichkeit störende unrealistische Bildartefakte besitzen. Dieser Prozess kann deshalb als ein Ansatz angesehen werden, der sich über den Kontext bewusster ist als ein merkmalsbasiertes Zusammenfügen unter Verwendung von Informationen, die über wahrscheinliche Umgebungen erlernt sind, in denen ein Fahrzeug gefahren werden wird.
  • Die oben beschriebenen Prozesse können auf einem Bildverarbeitungsmodul ausgeführt werden, das eine einzelne Einheit oder alternativ mehrere Untermodule umfasst, die innerhalb eines Fahrzeugs miteinander in Kommunikation stehen. Ein zweckmäßiger Weg, damit die Untermodule kommunizieren, ist über einen Kommunikationsbus, beispielsweise einen CAN- oder Flexray-Bus, da ein derartiger Kommunikationsbus auch zum Liefern der Kamerabilder und der resultierenden zusammengefügten Bilder an andere Module oder Displayeinrichtungen verwendet werden kann.
  • Bei einem Benutzungsbeispiel ist ein Auto mit einem Kommunikationsbus, vier Kameras (nach vorne blickend, nach links blickend, nach hinten blickend und nach rechts blickend) und einem Bildverarbeitungsmodul ausgestattet, das dafür ausgebildet ist, die oben beschriebenen Prozesse abzuarbeiten. Das Bildverarbeitungsmodul umfasst zwei Untermodule, die jeweils Prozessoren umfassen, die optimiert worden sind, um die oben detaillierten Prozesse durchzuführen. Im Betrieb werden Bilder von zwei beliebigen Kameras mit überlappenden FOVs (nach vorne blickend und nach links blickend, nach links blickend und nach hinten blickend, nach hinten blickend und nach rechts blickend, nach rechts blickend und nach vorne blickend) an das erste Untermodul kommuniziert, das die Bilder auf die 360-Grad-Sicht abbildet, wodurch die abgebildeten Bilder soweit erforderlich beschnitten werden. Das erste Untermodul fügt auch jedes Paar von abgebildeten Bildern zu einem zusammengefügtes Kandidatenbild zusammen.
  • Ein geeigneter Bildverarbeitungsprozess zum Durchführen dieser Funktionalität ist in der am 7. Oktober 2019 eingereichten deutschen Patentanmeldung Nr. DE102019126814.1 mit dem Titel „An electronic control unit‟(Valeo-Referenz: 2019PF00721: HMC-Referenz: V25-2103-15DE) beschrieben. In diesem Fall werden Bilder direkt von Kameras an eine dedizierte Elektroniksteuereinheit geliefert, die die Bildabbildung und das anfängliche Zusammenfügen durchführt, um ein erstes zusammengefügtes Kandidatenbild zu generieren. Bei Varianten einer derartigen Umsetzung könnte die Elektroniksteuereinheit Bilder von Kameras über den Kommunikationsbus hinweg erhalten, obwohl dies im Allgemeinen den Busverkehr vergrößern würde.
  • In jedem Fall werden die durch das erste Untermodul erzeugten zusammengefügten Kandidatenbilder dann über den Kommunikationsbus zu einem zweiten Untermodul transferiert, das den oben beschriebenen GAN-Zusammengefügte-Bild-Verfeinerungsprozess verwendet, um das zusammengefügte Kandidatenbild zu verfeinern, um Zusammenfügungsartefakte zu entfernen. Ein derartiges zweites Bildverarbeitungs-Untermodul kann umfassen: einen einzelnen Allzweckprozessor, einen dedizierten Prozessor, der spezifisch dafür ausgelegt ist, die Verarbeitung der neuronalen Netzwerkschichten zu handhaben; oder einen Mehrprozessorkern, der mehrere entweder dedizierte oder Allzweckprozessoren umfasst, die eine gewisse Verarbeitung parallel durchführen können. Es versteht sich, dass der Ausdruck Allzweckprozessor für Prozessoren mit einem großen Befehlssatz gilt sowie für RISC-Prozessoren, wie etwa durch ARM bereitgestellt. Als solches das zweite Untermodul auch andere neuronale Netzwerkaufgaben im Auftrag von anderen Elektroniksteuereinheiten oder - modulen durchführen, die sich über das Fahrzeug verteilt befinden. Ein solches gemeinsames zweites Untermodul kann deshalb eine Einrichtung mit höherer Kapazität als das dedizierte erste Untermodul umfassen, und es versteht sich, wie die Unterteilung der Verarbeitung in der Ausführungsform in eine erste Verarbeitungsphase, die Abbildung und anfängliches Stitchen umfasst, die weniger ressourcenintensiv sein kann, und eine nachfolgende Verfeinerung des zusammengefügten Bildes, was ressourcenintensiver sein kann, sich für diese Verteilung der Verarbeitung eignet.
  • In jedem Fall werden die durch das Bildverarbeitungsmodul oder das zweite Untermodul erzeugten und verfeinerten zusammengefügten Bilder zu einer vollständigen 360-Grad-Sicht kombiniert, die sich um die Oberfläche der Schale wickelt. Um die Bildinformationen anzuzeigen, wird ein Blickpunkt (POV) innerhalb des Koordinatenraums für die Schale gewählt - dies wird typischerweise einen Punkt im Raum umfassen, der sich über dem Fahrzeug 1 befindet. Ein Anzeigefenster zwischen dem POV und der Schalenoberfläche wird dann definiert und zusammengefügte Bildinformationen wie oben beschrieben werden von dem Schalen-Koordinatenraum in Displaybildkoordinaten abgebildet, um die Bildinformationen für das Anzeigebild zu generieren. Das Anzeigebild kann dann vervollständigt werden, wobei ein Avatar des Autos in der Mitte des Anzeigebilds überlagert ist. Das fertiggestellte Anzeigebild kann entweder innerhalb des Bildverarbeitungsmoduls oder innerhalb eines Anzeigemoduls generiert werden, aber in jedem Fall werden dann Informationen über das zusammengefügte Bild (ob in ein Anzeigebild umgewandelt oder nicht) dann entlang des Kommunikationsbusses zu der Anzeige kommuniziert. Die Anzeige befindet sich typischerweise in der Mittelkonsole vor einem Fahrer, und somit unterstützt die fertiggestellte Ansicht einen Fahrer des Autos durch genaues Darstellen der lokalen Umgebung. Im Gegensatz zu anderen Systemen, die 360-Grad-Sichten darstellen, vermeidet die Ansicht, die das dem Fahrer vorgelegte Anzeigebild umfasst, störende Zusammenfügungsartefakte und gibt somit die örtliche Umgebung genauer wieder. Optional werden die verfeinerten zusammengefügten Bilder und/oder die vollständige 300-Grad-Sicht ständig in einem Protokoll aufgezeichnet. Diese protokollierten Daten können dann möglicherweise in Verbindung mit anderen Daten verwendet werden, um Algorithmen für das autonome Fahren zu trainieren oder um die Leistung von Fahrzeugen zu überwachen, die autonom gefahren werden.
  • Man beachte, dass in der beschriebenen Ausführungsform eine Schalenoberfläche gewählt ist, auf die Komponentenbilder von den um die Peripherie eines Fahrzeugs angeordneten Kameras abgebildet werden sollen, bevor diese zusammengefügt werden, und dies kann eine gute Approximation der Oberflächen der Umgebung um ein Fahrzeug herum liefern. Es versteht sich jedoch, dass in Varianten der offenbarten Ausführungsformen andere Oberflächen als eine Schale verwendet werden können. Beispielsweise kann die Oberfläche nichtlinear sein, um die Oberflächen von Objekten wie etwa Gebäuden oder anderen Fahrzeugen, die möglicherweise das eigene Fahrzeug umgeben, genauer zu approximieren. Alternativ kann die Oberfläche beispielsweise unter Verwendung von LIDAR-Sensoren aktiv generiert werden, die um die Oberfläche des eigenen Fahrzeugs herum angeordnet sind. Alternativ wurde die Oberfläche so gewählt, dass sie flach ist, wo sie eine bessere Approximation der Umgebung um das eigene Fahrzeug liefert.
  • Wie erwähnt, muss das anfängliche Zusammenfügen der Komponentenbilder von den Kameras nicht auf einem neuronalen Netzwerk basieren und könnte algorithmisch sein, beispielsweise eine einfache Mittelwertbildung von Bildinformationen von Kameras in ihren überlappenden FOV. Ausführungsformen bedienen sich der begrenzten Verarbeitung, was in einem ersten Frontend-Bildverarbeitungsmodul eingesetzt werden muss, um ein anfängliches zusammengefügtes Bild zu liefern, wobei die Verfeinerung des Bilds danach durch ein Backend-Bildverarbeitungsmodul durchgeführt wird, möglicherweise mit mehr Verarbeitungsleistung als das Frontend-Modul.
  • Da das zusammengefügte Kandidatenbild bereits abgeflacht worden ist, so dass es im Wesentlichen rechteckig ist, bevor es zur Verfeinerung an das Backend-Modul weitergegeben wird, bedeutet dies auch, dass das Backend-Modul eine gemeinsame Eingabebildschnittstelle umfassen kann, die gestattet, dass es auch andere Hintergrundaufgaben durchführt, die für erfasste Bilder möglicherweise erforderlich sind.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • CN 106920215 A [0006]
    • CN 106920224 A [0006]
    • US 2019080440 A1 [0007]
    • CN 108347643 A [0008]
    • DE 102019123756 [0035]
    • DE 102019126814 [0073]
  • Zitierte Nicht-Patentliteratur
    • „An electronic control unit‟(Valeo-Referenz: 2019PF00721: HMC-Referenz: V25-2103-15DE) [0073]

Claims (15)

  1. Bildverarbeitungsmodul zum Ausbilden eines zusammengefügten Bildes einer Umgebung aus mehreren Eingabebildern von Abschnitten der Umgebung, wobei das Modul ausgebildet ist zum: i. Empfangen (500) von mehreren Eingabebildern von Abschnitten einer Umgebung; ii. Generieren (600) eines zusammengefügten Kandidatenbilds aus den mehreren Eingabebildern iii. wiederholtes: a. Weitergeben (610) des zusammengefügten Kandidatenbilds durch ein generatives Netzwerk, um ein verfeinertes zusammengefügtes Bild auszubilden, und b. Weitergeben (620) des verfeinerten zusammengefügten Bildes durch ein Diskriminator-Netzwerk, um eine Qualitätspunktzahl zu bewerten, bis die bewertete Qualitätspunktzahl einem Schwellwert genügt; und iv. Markieren (640) des letzten ausgebildeten verfeinerten zusammengefügten Bildes als ein finales zusammengefügtes Bild.
  2. Bildverarbeitungsmodul nach Anspruch 1, wobei das Modul umfasst: ein erstes Untermodul, das ausgebildet ist zum Durchführen der Schritte i und ii, und ein zweites Untermodul, das ausgebildet ist zum Durchführen der Schritte iii und iv, wobei das erste Untermodul und das zweite Untermodul ausgebildet sind, um miteinander zu kommunizieren.
  3. Bildverarbeitungsmodul nach Anspruch 1 oder 2, wobei das Bildverarbeitungsmodul in einem Fahrzeug (1) montiert ist und ausgebildet ist zum Ausbilden einer 360-Grad-Sicht (100) der örtlichen Umgebung des Fahrzeugs, wobei das finale zusammengefügte Bild mindestens einen Abschnitt der 360-Grad-Sicht umfasst.
  4. Bildverarbeitungsmodul nach Anspruch 3, wobei das Modul ausgelegt ist zum Ausgeben der 360-Grad-Sicht an ein Display in dem Fahrzeug, um einen Fahrer mit Informationen über die örtliche Umgebung zu versorgen.
  5. Bildverarbeitungsmodul nach Anspruch 3 oder 4, wobei das Ausbilden der 360-Grad-Sicht das Wiederholen des Prozesses der Schritte i bis iv unter Verwendung von mehreren aufeinanderfolgenden Eingabebildern umfasst, um eine Sequenz von finalen zusammengefügten Bildern zu erzeugen.
  6. Bildverarbeitungsmodul nach einem vorhergehenden Anspruch, wobei das Diskriminator-Netzwerk und das generative Netzwerk trainiert werden durch: in einem ersten Durchlauf, Verhindern einer Zurückausbreitung des generativen Netzwerks und Trainieren des Diskriminator-Netzwerks, um zusammengefügten Bildern eine Qualitätspunktzahl zuzuweisen; und in einem zweiten Durchlauf, Verhindern einer Rückausbreitung des Diskriminatornetzwerks und Trainieren des generativen Netzwerks, so dass den Daten, die es ausgibt, eine Qualitätspunktzahl über einem Schwellwert durch das Diskriminator-Netzwerk zugewiesen wird.
  7. Bildverarbeitungsmodul nach Anspruch 6, wobei der erste Durchlauf des Trainingsprozesses zusammengefügte Bilder verwendet, die unter Verwendung eines Rechenmodells eines in einer Umgebung fahrenden Fahrzeugs erzeugt und gekennzeichnet worden sind.
  8. Bildverarbeitungsmodul nach einem vorhergehenden Anspruch, wobei die mehreren Eingabebilder von zwei Kameras mit überlappenden Blickfeldern erfasst werden.
  9. Bildverarbeitungsmodul nach einem vorhergehenden Anspruch, wobei jedes Bild der mehreren Eingabebilder ein Bild von einer Kamera ist, das auf eine schalenförmige Oberfläche abgebildet worden ist.
  10. Bildverarbeitungsmodul nach einem vorhergehenden Anspruch, wobei das Modul ausgebildet ist zum Generieren eines zusammengefügten Kandidatenbilds durch: a. Codieren jedes Bilds der mehreren Eingabebilder mit einem Codierer, um mindestens eine Merkmalsabbildung auszubilden (520); b. Zusammenfügen (530) der ausgebildeten Merkmalsabbildung, um zusammengefügte Merkmalsabbildungen auszubilden; und c. Codieren (540) der zusammengefügten Merkmalsabbildungen mit einem Decodierer, um ein zusammengefügtes Kandidatenbild auszubilden.
  11. Bildverarbeitungsmodul nach Anspruch 10, wobei der Codierer ein Restnetzwerk mit weniger als 30 Schichten ist und der Decodierer ein vollständig verbundenes neuronales Netzwerk mit weniger als 25 Schichten ist.
  12. Bildverarbeitungsmodul nach Anspruch 10 oder 11, wobei jedes der mehreren Eingabebilder eine Beschneidung (510) von einem ursprünglichen Eingabebild ist, wobei die Beschneidung derart eingestellt ist, dass jedes Eingabebild ein Blickfeld mit mindestens einer Teilüberlappung zu einem anderen Eingabebild hat.
  13. Bildverarbeitungsmodul nach einem der Ansprüche 10 bis 12, wobei das Modul weiterhin ausgebildet ist zum Kombinieren (550) des zusammengefügten Kandidatenbilds mit mindestens Teilen der ursprünglichen Eingabebilder, um zusammengefügte Kandidatenbilder der gleichen Abmessungen wie die Eingabebilder zu erzeugen.
  14. Fahrzeug, umfassend: mehrere Kameras, die um die Peripherie des Fahrzeugs angeordnet sind; ein Display; und das Bildverarbeitungsmodul nach einem vorhergehenden Anspruch, wobei: das Bildverarbeitungsmodul ausgebildet ist zum Empfangen einer Menge von Paaren von Bildern von allen Paaren von Kameras mit überlappenden Blickfeldern und Zusammenfügen jedes Paars von Bildern der Menge von Paaren von Bildern, um eine 360-Grad-Sicht auszubilden; und das Display ausgebildet ist zum Anzeigen eines Displaybilds, abgeleitet von der ausgebildeten 360-Grad-Sicht.
  15. Fahrzeug nach Anspruch 14, wobei das Fahrzeug weiterhin einen Kommunikationsbus umfasst, der ausgebildet ist zum Kommunizieren eines oder mehrerer von: Bilddaten von den mehreren Kameras zu dem Bildverarbeitungsmodul; zusammengefügten Kandidatenbildern zu einem Untermodul des Bildverarbeitungsmoduls; und der 360-Grad-Sicht von dem Bildverarbeitungsmodul zu dem Display.
DE102019131971.4A 2019-11-26 2019-11-26 Ein Bildverarbeitungsmodul Pending DE102019131971A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102019131971.4A DE102019131971A1 (de) 2019-11-26 2019-11-26 Ein Bildverarbeitungsmodul

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019131971.4A DE102019131971A1 (de) 2019-11-26 2019-11-26 Ein Bildverarbeitungsmodul

Publications (1)

Publication Number Publication Date
DE102019131971A1 true DE102019131971A1 (de) 2021-05-27

Family

ID=75784258

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019131971.4A Pending DE102019131971A1 (de) 2019-11-26 2019-11-26 Ein Bildverarbeitungsmodul

Country Status (1)

Country Link
DE (1) DE102019131971A1 (de)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020109997A1 (de) 2020-04-09 2021-10-14 Connaught Electronics Ltd. System und Verfahren, um zuverlässige gestitchte Bilder zu machen
CN114241407A (zh) * 2021-12-10 2022-03-25 电子科技大学 一种基于深度学习的近距离屏幕监控方法
US20230196759A1 (en) * 2021-12-20 2023-06-22 Here Global B.V. Method, apparatus, and computer program product for identifying and correcting lane geometry in map data
CN116362973A (zh) * 2023-05-24 2023-06-30 武汉智筑完美家居科技有限公司 图案拼接方法、设备及存储介质
CN116887037A (zh) * 2023-07-20 2023-10-13 西南医科大学 一种自由控制摄像机视图方法及系统
US12013255B2 (en) 2021-12-20 2024-06-18 Here Global B.V. Method, apparatus, and computer program product for correcting lane geometry in map data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018006247A1 (de) * 2017-10-16 2019-04-18 Adobe Inc. Digitalbildvervollständigung unter Verwendung des Deep Learning
US20190251401A1 (en) * 2018-02-15 2019-08-15 Adobe Inc. Image composites using a generative adversarial neural network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018006247A1 (de) * 2017-10-16 2019-04-18 Adobe Inc. Digitalbildvervollständigung unter Verwendung des Deep Learning
US20190251401A1 (en) * 2018-02-15 2019-08-15 Adobe Inc. Image composites using a generative adversarial neural network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHEN, Canwei; JI, Xiangyang; MIAO, Changlong. Real-Time Image Stitching with Convolutional Neural Networks. In: 2019 IEEE International Conference on Real-time Computing and Robotics (RCAR). IEEE, August 2019, Seiten 192-197. *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020109997A1 (de) 2020-04-09 2021-10-14 Connaught Electronics Ltd. System und Verfahren, um zuverlässige gestitchte Bilder zu machen
CN114241407A (zh) * 2021-12-10 2022-03-25 电子科技大学 一种基于深度学习的近距离屏幕监控方法
CN114241407B (zh) * 2021-12-10 2023-05-23 电子科技大学 一种基于深度学习的近距离屏幕监控方法
US20230196759A1 (en) * 2021-12-20 2023-06-22 Here Global B.V. Method, apparatus, and computer program product for identifying and correcting lane geometry in map data
US12013255B2 (en) 2021-12-20 2024-06-18 Here Global B.V. Method, apparatus, and computer program product for correcting lane geometry in map data
CN116362973A (zh) * 2023-05-24 2023-06-30 武汉智筑完美家居科技有限公司 图案拼接方法、设备及存储介质
CN116362973B (zh) * 2023-05-24 2023-09-19 武汉智筑完美家居科技有限公司 图案拼接方法、设备及存储介质
CN116887037A (zh) * 2023-07-20 2023-10-13 西南医科大学 一种自由控制摄像机视图方法及系统

Similar Documents

Publication Publication Date Title
DE102019131971A1 (de) Ein Bildverarbeitungsmodul
EP2368216B1 (de) Verfahren und einrichtung zur analyse von umgebungsobjekten und/oder umgebungsszenen, wie zur objekt- und szenenklassensegmentierung
DE112016005059T5 (de) Unterkategorienbewusste faltende neuronale Netzwerke zur Objekterfassung
DE102018201054A1 (de) System und Verfahren zur Bilddarstellung durch ein Fahrerassistenzmodul eines Fahrzeugs
DE102011106072A1 (de) Schattenentfernung in einem durch eine fahrzeugbasierte kamera erfassten bild unter verwendung einer optimierten ausgerichteten linearen achse
WO2019001649A1 (de) Wissenstransfer zwischen verschiedenen deep-learning architekturen
DE102018100909A1 (de) Verfahren zum Rekonstruieren von Bildern einer Szene, die durch ein multifokales Kamerasystem aufgenommen werden
DE102020133963A1 (de) Systeme und Verfahren zur Abbildrauschunterdrückung unter Verwendung von tiefen gefalteten Netzwerken
EP3924932A1 (de) Modulares inpainting verfahren
DE102019220171A1 (de) Umwandlung von Eingangs-Bilddaten einer Mehrzahl von Fahrzeugkameras eines Rundumsichtsystems in optimierte Ausgangs-Bilddaten
DE102017208994A1 (de) Verfahren zur Ermittlung von Ergebnisbilddaten
DE102020109997A1 (de) System und Verfahren, um zuverlässige gestitchte Bilder zu machen
DE102017112333A1 (de) Verbesserung eines pyramidalen Optical-Flow-Trackers
WO2014146864A1 (de) Verfahren und vorrichtung zum erstellen einer aufnahme eines gepulst aufleuchtenden objekts
CN114119428B (zh) 一种图像去模糊方法和装置
DE102018201909A1 (de) Verfahren und Vorrichtung zur Objekterkennung
EP1425709A2 (de) Modellbasierte objektklassifikation und zielerkennung
DE102020110243A1 (de) Computerimplementiertes Verfahren zur Datenaugmentation
DE102017104957A1 (de) Verfahren zum Bestimmen einer Bewegung von zueinander korrespondierenden Bildpunkten in einer Bildsequenz aus einem Umgebungsbereich eines Kraftfahrzeugs, Auswerteeinrichtung, Fahrerassistenzsystem sowie Kraftfahrzeug
WO2021180547A1 (de) Verfahren und vorrichtung zum verarbeiten von bildern
DE102019129029A1 (de) System und verfahren zur objektdetektion
DE112020005938T5 (de) Abbildungsvorrichtungs-herstellungseinrichtung, verfahren zum herstellen einer abbildungsvorrichtung und abbildungsvorrichtung
DE102020203047A1 (de) Effiziente gleichzeitige Inferenzberechnung für mehrere neuronale Netzwerke
WO2020229352A1 (de) Verfahren zum bereitstellen einer objektverfolgungsfunktion
DE112016001238B4 (de) Fahrzeugumgebungsbildanzeigesteuerungsvorrichtung und fahrzeugumgebungsbildanzeigesteuerungsprogramm

Legal Events

Date Code Title Description
R163 Identified publications notified