DE102022200353A1 - Verfahren zum Erzeugen von Daten zum Trainieren eines auf künstlicher Intelligenz basierenden Objekterkennungsverfahrens - Google Patents

Verfahren zum Erzeugen von Daten zum Trainieren eines auf künstlicher Intelligenz basierenden Objekterkennungsverfahrens Download PDF

Info

Publication number
DE102022200353A1
DE102022200353A1 DE102022200353.5A DE102022200353A DE102022200353A1 DE 102022200353 A1 DE102022200353 A1 DE 102022200353A1 DE 102022200353 A DE102022200353 A DE 102022200353A DE 102022200353 A1 DE102022200353 A1 DE 102022200353A1
Authority
DE
Germany
Prior art keywords
scene
views
camera
training
data
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
DE102022200353.5A
Other languages
English (en)
Inventor
Jan Rexilius
Paul Robert Herzog
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102022200353.5A priority Critical patent/DE102022200353A1/de
Publication of DE102022200353A1 publication Critical patent/DE102022200353A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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
    • 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/09Supervised learning
    • 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/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Bereitstellen von Daten zum Trainieren eines auf künstlicher Intelligenz, insbesondere einem künstlichen neuronalen Netz, basierenden Verfahrens zum Erkennen eines Objekts (130) in einer mittels einer Kamera (100) erfassten Szene (120), umfassend ein Erhalten von Informationen zu dem Objekt (130), das erkannt werden soll, ein Erzeugen mehrerer verschiedener Ansichten des Objektes (130) in der Szene, und ein Bereitstellen von den Ansichten des Objektes in der Szene entsprechenden Daten für das Trainieren des neuronalen Netzes.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Erzeugen von Daten zum Trainieren eines auf künstlicher Intelligenz, insbesondere einem künstlichen neuronalen Netz, basierenden Objekterkennungsverfahrens in einer mittels einer Kamera erfassten Szene, sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung.
  • Hintergrund der Erfindung
  • In Überwachungssystemen können Kameras eingesetzt werden, um Szenen zu überwachen. Dabei können auch verschiedene Objekte, die in der Szene vorkommen bzw. von einer Kamera erfasst werden, erkannt oder detektiert werden; dies kann insbesondere unter Verwendung künstlicher Intelligenz wie z.B. künstlicher neuronaler Netze erfolgen, wie z.B. in der DE 10 2019 214 402 A1 beschrieben. Ein Aspekt bei der Verwendung künstlicher neuronaler Netze ist, dass diese vorab - oder auch immer wieder - trainiert werden müssen, d.h. einem künstlichen neuronalen Netz muss beigebracht werden, welche Objekte es erkennen soll. Hierzu sind entsprechende Vergleichs- bzw. Trainingsdaten nötig.
  • Offenbarung der Erfindung
  • Erfindungsgemäß werden ein Verfahren zum Erzeugen von Daten zum Trainieren eines auf künstlicher Intelligenz basierenden Objekterkennungsverfahrens sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
  • Die vorliegende Erfindung beschäftigt sich mit dem automatischen Erzeugen und Bereitstellen oder auch Erstellen von Daten zum Trainieren eines auf künstlicher Intelligenz, insbesondere einem künstlichen neuronalen Netz, basierenden Objekterkennungsverfahrens, also eines Verfahrens, das zum Erkennen von Objekten vorgesehen ist, und zwar in einer mittels einer Kamera erfassten Szene. In der Regel skaliert die Performance von sog. „Deep-Learning“-Ansätzen, also die Genauigkeit, mit der ein auf künstlicher Intelligenz basierendes Objekterkennungsverfahren Objekte erkennen kann, mit der Anzahl der zur Verfügung stehenden Daten, mit denen das künstliche neuronale Netz bzw. das auf künstlicher Intelligenz basierende Objekterkennungsverfahrens, trainiert wird. Sofern nachfolgend von einem künstlichen neuronalen Netz gesprochen wird, so soll darunter allgemein ein auf künstlicher Intelligenz basierendes Objekterkennungsverfahren verstanden werden.
  • Dies soll anhand des Beispiels der Detektion von Objekten in einem Bild erläutert werden. Für Objektklassen, bei denen schon viele Daten vorhanden sind, kann auch eine gute Detektions-Performance erreicht werden. In der Regel gibt es für „real-world“-Anwendungen allerdings ein sogenanntes „long-tail“-Problem. Dies bedeutet, dass für viele Objektklassen nicht ausreichend Daten (zum Trainieren) zur Verfügung stehen, und andere Objektklassen während der Algorithmus-Entwicklung ggf. noch nicht einmal berücksichtigt worden sind. In diesen beiden letzten Kategorien skaliert die Datensammlung nicht mehr.
  • Kameras für die Videoüberwachung können heutzutage mit einer intelligenten Videoanalyse ausgestattet und auch damit ausgeliefert werden, d.h. damit lassen sich mittels der Kamera erfasste Objekte erkennen oder identifizieren (also z.B. welche Art von Fahrzeug gerade erfasst wird). Eine nachträgliche Erweiterung der Algorithmen um neue Objektklassen, die noch nicht implementiert sind, ist in der Praxis allerdings nicht oder nicht einfach möglich; beispielsweise kann es vorkommen, dass ein Bagger (oder auch ein anderes, spezielles Fahrzeug) über eine (überwachte) Kreuzung fährt, es jedoch für einen Bagger im System keine eigene Objektklasse gibt. Hier kann das System keine richtige Klassifikation des Objektes liefern, es also auch nicht erkennen.
  • Ein wahlloses Sammeln von immer mehr Daten z.B. von Kameras an unterschiedlichen Kreuzungen und manuelles Klassifizieren bzw. sog. „Labeling“, also das Zuordnen der Daten bzw. der darin enthaltenen Objekte zu Objektklassen, ist in der Praxis in aller Regel nicht wirtschaftlich. Trotzdem ist es wünschenswert, eine große Anzahl an Daten für die vielen möglichen Objektklassen, die in einer Szene vorkommen können, zur Verfügung zu haben.
  • Im Rahmen der vorliegenden Erfindung wird hierfür eine intelligente Erweiterung der Trainingsdaten, d.h. der Daten zum Trainieren eines neuronalen Netzes, das zum Erkennen von Objekten in einer mittels einer Kamera erfassten Szene vorgesehen ist, bzw. einer entsprechenden Datenbank (Trainingsdatenbank) für fehlende Objekte vorgeschlagen.
  • Hierbei werden Informationen (oder Daten) zu einem Objekt, das erkannt werden soll, in einer mittels der Kamera erfassten Szene erhalten. Dies kann durch automatisiertes Bestimmen des Objekts in der Szene erfolgen, oder durch Fremdbestimmung, z.B. durch einen Benutzer, der die Informationen dann in das System eingibt. Es wird also zunächst ein Objekt bzw. eine Objektklasse (in die das Objekt fällt) ausgewählt, und zwar insbesondere in einer tatsächlich erfassten Szene, z.B. mit bzw. von einer Straßenkreuzung. Es handelt sich hierbei also um sog. Felddaten. Darunter, dass das Objekt erkannt werden soll, ist zu verstehen, dass dieses Objekt - nach einem Training des künstlichen neuronalen Netzes von diesem bzw. unter dessen Verwendung - (automatisiert) erkannt werden soll. Das Auswählen kann wie erwähnt manuell durch den Benutzer geschehen, insbesondere bei Objektklassen, die bislang nicht implementiert sind. Alternativ können auch (zumindest zum Teil) automatisch Objekte bzw. Objektklassen ausgewählt werden, bei denen der Detektor, also ein aktuell verwendeter Erkennungsalgorithmus, nicht ausreichend zuverlässig ist. Hierauf soll später noch detaillierter eingegangen werden.
  • Bei einer Objektklasse handelt es sich dabei insbesondere um eine Vielzahl von Objekten, die ein oder mehrere bestimmte Merkmale gemeinsam haben. So kann z.B. eine Objektklasse „Bagger“ definiert sein, in die alle Objekte fallen, die z.B. einen Baggerarm und/oder eine Baggerschaufel aufweisen; auf die Farbe kommt es dabei z.B. nicht an, auch nicht, ob es sich um einen Rad- oder Kettenbagger handelt.
  • Nach dem Erhalten der Informationen zu dem bestimmten Objekt werden dann mehrere verschiedene Ansichten des Objektes in der Szene erzeugt. Dies kann vorzugsweise erfolgen, indem ein dem Objekt entsprechendes synthetisches Modell (z.B. aus einer Datenbank mit verschiedenen Modellen) ausgewählt oder bestimmt wird, und die mehreren verschiedenen Ansichten des Objektes dann basierend auf dem synthetischen Modell erzeugt werden. Im Beispiel des Baggers wird also z.B. ein 3D-Modell eines Baggers verwendet, das z.B. geeignet im Raum gedreht und/oder positioniert wird, ggf. auch in der Größe skaliert wird. Dies erlaubt es, verschiedene Ansichten (aus Sicht der Kamera) des Modells zu erzeugen. Diese Ansichten werden dabei insbesondere in der realen Szene, die von der Kamera erfasst worden ist, eingebettet oder eingepasst, d.h. es kann der Bagger z.B. an verschiedenen Positionen einer oder mehreren Straßen, die in der Szene zu sehen sind, abgebildet sein, auch in verschiedenen Orientierungen. Ebenso möglich ist es, die Ansichten in eine virtuelle Szene einzupassen. Diese virtuelle Szene kann dann der realen Szene, in der das Objekt enthalten war, entsprechen, muss aber nicht. Denkbar ist z.B., dass eine vereinfachte, virtuelle Szene erstellt wird, bei der irrelevanter Hintergrund ausgelassen wird.
  • Es kann dabei nicht nur ein synthetisches Modell verwendet werden, vielmehr können auch verschiedene aber ggf. einander ähnliche synthetische Modelle verwendet werden, von denen jeweils entsprechende Ansichten erzeugt werden. Beispielsweise können für eine Objektklasse, in die das Objekt, das erkannt werden soll, fällt, verschiedene Modelle verwendet werden. In obigem Beispiel könnten dies z.B. ein Modell für einen Radbagger und ein Modell für einen Kettenbagger sein.
  • Es werden dann Daten, die den erzeugten Ansichten des Objektes in der Szene entsprechen, für das Trainieren des neuronalen Netzes bereitgestellt, z.B. in einer entsprechenden Datenbank bzw. Trainingsdatenbank. Dabei können diese (neuen) Daten einer bestehenden Datenbank hinzugefügt werden und dann - z.B. bei einem späteren Trainieren - verwendet werden.
  • Das Bereitstellen der den Ansichten des Objektes in der Szene entsprechenden Daten umfasst vorzugsweise auch, dass basierend auf den Ansichten des Objektes, die insbesondere basierend auf dem synthetischen Modell erzeugt worden sind, reale Ansichten von dem Objekt oder mit dem Objekt vergleichbaren Objekten (also z.B. Objekten einer Objektklasse) bestimmt und als Daten für das Trainieren des neuronalen Netzes bereitgestellt werden. Die Ansichten des synthetischen Modells können also verwendet werden, um z.B. in geeigneten Datenbanken nach vergleichbaren Ansichten bzw. Bildern zu suchen, insbesondere auch automatisiert; dies erlaubt es, die Datensammlung besonders einfach noch weiter zu vergrößern. Diese weiteren (realen) Ansichten können dann zusammen mit den Ansichten basierend auf dem synthetischen Modell als die Daten zum Trainieren bereitgestellt werden.
  • Weiterhin ist es bevorzugt, wenn das Erzeugen der mehreren verschiedenen Ansichten des Objektes in der Szene umfasst, dass die mehreren verschiedenen Ansichten des Objektes zu verschiedenen Zeiten (bzw. Zeitpunkten) in einer realen, mittels der Kamera erfassten Szene bestimmt werden. Dies kann z.B. basierend auf einer Bewegung des Objektes, insbesondere unter Verwendung von Objektverfolgung, erfolgen.
  • Neben den synthetischen Daten können also auch direkt reale Daten aus der jeweiligen Szene verwendet werden. Bei der erwähnten Objektverfolgung kann z.B. ein Auto (oder der erwähnte Bagger) durch die Szene verfolgt und durch seine unterschiedlichen Positionen und/oder Orientierungen zur Kamera (z.B. nach einem Abbiegevorgang) können verschiedene Ansichten desselben Objektes in der Szene erhalten werden. Auch diese Daten können direkt in die Trainingsdatenbank integriert werden und/oder als Start für eine verfeinerte Suche nach ähnlichen Objekten bzw. Ansichten hiervon verwendet werden. Es versteht sich, dass die erwähnten Varianten auch kombiniert werden können, um die Anzahl verschiedener Ansichten zu vergrößern.
  • Durch diese Erweiterung der Datenbank kann also in einem nachfolgenden Schritt z.B. ein Objektdetektor verbessert werden, und zwar angepasst auf genau die Objekte, die auch in der aktuell von der Kamera betrachteten Szene existieren. Damit kann bei einem Detektionssystem, das für bestimmte Objektklassen eine schlechte Performance zeigt, durch neue Trainingsdaten die Performance bei diesen Objektklassen besonders einfach verbessert werden.
  • Es ist auch von Vorteil, wenn das Bestimmen, in der mittels der Kamera erfassten Szene, des Objektes, das erkannt werden soll, zumindest zum Teil automatisiert (oder teilautomatisiert) erfolgt, insbesondere unter Berechnung eines sog. „Embeddings“ des Objektes in der Szene basierend auf einem aktuellen verwendeten Klassifikator. Unter dem aktuellen Klassifikator ist dabei insbesondere ein Klassifikator bzw. Detektor (z.B. neuronales Netz) zu verstehen, dessen aktueller Stand verbessert werden soll, um genau diese Objektinstanz zu erkennen. Es kann also die Objekt- bzw. Objektklassenauswahl auch teilautomatisch erfolgen, indem ein Embedding, z.B. sog. „t-Distributed Stochastic Neighbor Embedding“ (t- SNE), des unsicheren Objektes im Bild bzw. in der Szene basierend auf dem aktuellen Klassifikator berechnet wird. Bei t-SNE handelt es sich um ein statistisches Verfahren zur Visualisierung hochdimensionaler Daten, indem jedem Datenpunkt eine Position in einer zwei- oder dreidimensionalen Karte zugewiesen wird. Es basiert auf dem sog. „Stochastic Neighbor Embedding“. Es handelt sich um eine nichtlineare Dimensionsreduktionstechnik, die sich gut zum Einbetten hochdimensionaler Daten zur Visualisierung in einen niedrigdimensionalen zwei- oder dreidimensionalen Raum eignet. Konkret modelliert es z.B. jedes hochdimensionale Objekt durch einen zwei- oder dreidimensionalen Punkt derart, dass mit hoher Wahrscheinlichkeit ähnliche Objekte durch nahegelegene Punkte und unähnliche Objekte durch entfernte Punkte modelliert werden.
  • Dieses Embedding entspricht einer Signatur des Objektes, jedoch im geringdimensionalen Raum (z.B. 2 bis 8 Dimensionen), wobei Objekte gleicher Klassen eine ähnliche Signatur erhalten. Es wird vorzugsweise davon ausgegangen, dass zuvor alle synthetischen Modelle (3D-Objekte) der Datenbank in verschiedenen Ansichten „gerendert“ oder erzeugt wurden, wovon ebenfalls das Embedding basierend auf dem gleichen Klassifikator vorberechnet und für die schnelle Indizierung in einer Suchdatenstruktur abgelegt wurde. Beim Rendern der virtuellen Ansichten können auch unterschiedliche Beleuchtung, Materialien und Hintergründe berücksichtigt werden. Die Idee hierbei ist, dass für das unsichere reale Suchobjekt (also das Objekt, das erkannt werden soll) die synthetischen nächsten Nachbarobjekte im Embedding-Raum mögliche passende Kandidaten darstellen, wovon die Zutreffenden nachträglich nur noch aus einer kleinen Menge manuell ausgewählt werden müssen.
  • Die Erfindung betrifft weiterhin ein Verfahren zum Trainieren eines künstlichen neuronalen Netzes bzw. eines auf künstlicher Intelligenz basierenden Verfahrens, das zum Erkennen von Objekten in einer mittels einer Kamera erfassten Szene vorgesehen ist, unter Verwendung von Daten, die mittels eines erfindungsgemäßen Verfahrens, wie vorstehend erläutert, bereitgestellt worden sind. Ein derart trainiertes künstliches neuronales Netz kann dann insbesondere auch zur Objekterkennung mittels der Kamera verwendet werden. In diesem Sinne kann die Bereitstellung der Daten zum Trainieren eines künstlichen neuronalen Netzes auch als Zusatzfunktion für bestehende Überwachungssysteme mit einer Kamera bzw. eine solche Kamera verwendet werden.
  • Dabei kommen verschiedenen Arten von Trainieren bzw. Lernen in Betracht. Beim überwachten Lernen („supervised learning“) wird dem künstlichen neuronalen Netz z.B. ein Eingangsmuster (hier die verschiedenen Ansichten des Objekts) zugeführt und die Ausgabe bzw. die Ausgangswerte (also eine Information, um welches Objekt bzw. welche Objektklasse es sich handelt), die das künstliche neuronale Netz in seinem aktuellen Zustand produziert, mit dem Wert verglichen, den es eigentlich ausgeben soll. Durch Vergleich von Soll- und Istausgabe kann auf die vorzunehmenden Änderungen der Konfiguration geschlossen werden. Bei neuronalen Netzen mit einlagigen Perzeptrons kann die sog. Delta-Regel (auch Perzeptron-Lernregel) angewendet werden. Mehrlagige Perzeptrons werden in der Regel mit Backpropagation trainiert, was eine Verallgemeinerung der Delta-Regel darstellt.
  • Das unüberwachte Lernen („unsupervised learning“) erfolgt ausschließlich durch Eingabe der zu lernenden Muster. Das künstliche neuronale Netz verändert sich entsprechend den Eingabemustern von selbst. Zudem gibt es das sog. bestärkende Lernen („reinforced learning“); dieses kann dann zum Einsatz kommen, wenn nicht zu jedem Eingabedatensatz der passende Ausgabedatensatz (Vergleichswerte) zum Trainieren zur Verfügung steht und dieser z.B. erst durch mehrere Simulationsschritte bekannt wird.
  • Eine erfindungsgemäße Recheneinheit, z.B. ein Computer oder auch eine Steuereinheit für eine Kamera, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.
  • Auch die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Schließlich ist ein maschinenlesbares Speichermedium vorgesehen mit einem darauf gespeicherten Computerprogramm wie oben beschrieben. Geeignete Speichermedien bzw. Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich. Ein solcher Download kann dabei drahtgebunden bzw. kabelgebunden oder drahtlos (z.B. über ein WLAN-Netz, eine 3G-, 4G-, 5G- oder 6G-Verbindung, etc.) erfolgen.
  • Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
  • Die Erfindung ist anhand eines Ausführungsbeispiels in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.
  • Figurenliste
    • 1 zeigt schematisch eine Kamera, die eine Szene überwacht und bei der ein erfindungsgemäßes Verfahren eingesetzt werden kann.
    • 2 zeigt schematisch einen Ablauf eines erfindungsgemäßen Verfahrens in einer bevorzugten Ausführungsform.
  • Ausführungsform(en) der Erfindung
  • In 1 ist schematisch eine Kamera 100 mit Prozessor 102 und Speicher 104 gezeigt, die als Überwachungskamera z.B. zur Verkehrsüberwachung, eingesetzt wird, und bei der ein erfindungsgemäßes Verfahren eingesetzt werden kann. Hierzu ist eine Szene 120 dargestellt, die mittels der Kamera 100 erfasst wird; es handelt sich hierbei beispielhaft um eine Straßenkreuzung.
  • Mittels eines künstlichen neuronalen Netzes können nun grundsätzlich z.B. verschiedene Objekte, die in der Szene auftauchen und mittels der Kamera erfasst werden, erkannt bzw. identifiziert werden. Hierzu ist das künstliche neuronale Netz typischerweise entsprechend trainiert, sodass verschiedene Objektklassen unterschieden werden können bzw. ein Objekt einer bestimmten Objektklasse zugeordnet werden kann. Wie eingangs schon erwähnt, gibt es typischerweise Objektklassen, die häufig auftreten und auch beim (initialen) Trainieren des künstlichen neuronalen Netzes verwendet worden sind. Dabei kann es sich z.B. um die Objektklassen Menschen und Pkws, ggf. auch Lkws, handeln.
  • Daneben gibt es auch Objektklassen, die weniger häufig bis sehr selten auftreten und daher z.B. auch wenig bis kaum für das Trainieren des künstlichen neuronalen Netzes verwendet worden sind. Zudem kann es Objektklassen geben, die beim Trainieren des künstlichen neuronalen Netzes nicht verwendet worden sind. Folglich gibt es Objekte, die bei Verwendung des künstlichen neuronalen Netzes nicht oder zumindest nicht hinreichend genau erkannt bzw. identifiziert werden können.
  • In dem gezeigten Beispiel ist ein Bagger als Objekt 130 gezeigt, der auf der Straße 122 fährt. Je nach verwendeter Kamera und dem dort verwendeten künstlichen neuronalen Netz kann es also sein, dass der Bagger 130 nicht erkannt werden kann. Im Rahmen der vorliegenden Erfindung ist nun vorgesehen, dass Daten zum (weiteren bzw. besseren) Trainieren des künstlichen neuronalen Netzes erstellt bzw. bereitgestellt werden, z.B. auf einer Datenbank 110, an die die Kamera 100 datenübertragend angebunden ist.
  • In 2 ist schematisch ein Ablauf eines erfindungsgemäßen Verfahrens in einer bevorzugten Ausführungsform dargestellt. Das Verfahren kann z.B. auf oder unter Verwendung der Kamera 100, dort insbesondere des Prozessors 102, durchgeführt werden, ebenso aber auch z.B. auf einem externen Computer oder ähnlichem, insbesondere in einem Rechenzentrum. Insbesondere sollen dabei Daten zum Trainieren eines künstlichen neuronalen Netzes, das zum Erkennen von Objekten in einer mittels einer Kamera erfassten Szene vorgesehen ist, wie dies z.B. in 1 gezeigt und in Bezug darauf beschrieben ist, erstellt bzw. bereitgestellt werden.
  • Zunächst wird, in einem Schritt 200, mittels der Kamera eine Szene mit einem Objekt darin erfasst, z.B. die Szene 120 mit dem Objekt 130 (Bagger) wie in 1 gezeigt; dies kann insbesondere in Form eines Videos oder einem oder mehreren Bildern erfolgen. In einem Schritt 202 wird dann, in dieser Szene, das Objekt, das erkannt werden soll (und bisher nicht erkannt werden kann), also im gezeigten Beispiel der Bagger 130, bestimmt und die Informationen hierüber werden erhalten, z.B. in dem ausführenden Prozessor oder Rechenzentrum. Das Bestimmen kann, wie erwähnt, manuell durch einen Benutzer oder auch zumindest zum Teil automatisiert erfolgen.
  • In einem Schritt 204 wird dann z.B. ein synthetisches Modell 206 bestimmt oder ausgewählt, ggf. auch erst erstellt, das dem Objekt 130 entspricht, also z.B. ein 3D-Modell eines Baggers. Dazu kann aus geeigneter Quelle ein solches 3D-Modell eines Baggers (oder eines anderen Objekts, das zuvor bei der Implementierung nicht berücksichtig worden ist,) erhalten werden. Ein solches synthetisches Modell oder 3D-Modell kann z.B. aus Online-Datenbanken für synthetische 3D-Modelle erhalten oder auch selbst erstellt werden, z.B. anhand mehrerer Kamerabildaufnahmen eines entsprechenden realen Objektes aus unterschiedlichen Blickpunkten (sog. Multi-View-Stereo-Rekonstruktion). Basierend auf dem synthetischen Modell werden dann, in einem Schritt 208, mehrere verschieden Ansichten des Objekts, hier des Baggers 130, erzeugt. Dies kann z.B. eine Ansicht 210 von der Seite (wie in 1 zu sehen), eine Ansicht 212 von vorne, eine Ansicht 214 von hinten etc. umfassen. Diese verschiedenen Ansichten 210, 212, 214 werden dabei insbesondere in die Szene selbst eingepasst, z.B. in die reale Szene 120 gemäß 1. Dies kann im Wege der sog. „Augmentierung“ erfolgen. Dabei werden virtuelle Objekte (hier das 3D-Modell des Baggers) in das Kamerabild an einer geeigneten Stelle und in der richtigen Perspektive eingefügt. Voraussetzung ist in der Regel, dass die Kamera-Position und -Orientierung relativ zur Grundebene und auch die Abbildungsfunktion der Kamera (z.B. Brennweite etc.) bekannt sind.
  • So kann also z.B. eine Ansicht des Baggers 130 von hinten erzeugt werden, die in der Szene 120 an eine Position eingesetzt wird, die entstünde, wenn der Bagger 130 an der Kreuzung rechts (in der 1 also nach oben) abbiegen würde. Ebenso kann z.B. eine Ansicht des Baggers 130 von vorne erzeugt werden, die in der Szene 120 an eine Position eingesetzt wird, die entstünde, wenn der Bagger 130 an der Kreuzung links (in der 1 also nach unten) abbiegen würde. Mit anderen Worten wird in ein reales Bild der Kreuzung ein virtuelles Bild des Baggers eingesetzt.
  • Anstelle (oder zusätzlich) zu den Ansichten, die basierend auf dem synthetischen Modell erzeugt werden, kann auch im Rahmen einer Objektverfolgung ermittelt werden, wann sich das Objekt bzw. der Bagger 130 wo genau befindet und es können reale Bilder bzw. Ansichten, die mittels der Kamera erfasst werden, verwendet werden. So können die beispielhaft genannten Ansichten bzw. Positionen des Baggers 130 (in der Praxis wird der Bagger nur nach oben oder nach unten abbiegen oder aber ggf. auch geradeaus weiterfahren) mit den realen Bildern erzeugt werden.
  • In einem Schritt 216 werden diese mehreren Ansichten dann als Daten 218 bereitgestellt, z.B. in der Datenbank 110 gemäß 1. In einem weiteren Schritt 220 können ggf. auch noch weitere Ansichten oder Bilder des Objektes oder vergleichbarer Objekte bestimmt oder gesucht werden, z.B. über eine Internetsuche.
  • In einem weiteren Schritt 222 kann das künstliche neuronale Netz 224 dann (ggf. erneut) trainiert werden, und zwar unter Verwendung bzw. basierend auf den Daten 220, also den verschiedenen Ansichten des Objektes 130, welches von der Kamera erfasst worden ist, jedoch nicht erkannt werden konnte. Nach dem Trainieren ist die Kamera dann auch in der Lage, das Objekt bzw. ein vergleichbares Objekt zu erkennen.
  • 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
    • DE 102019214402 A1 [0002]

Claims (12)

  1. Verfahren zum Erzeugen von Daten (218) zum Trainieren eines auf künstlicher Intelligenz, insbesondere einem künstlichen neuronalen Netz (224), basierenden Verfahrens zum Erkennen eines Objekts (130) in einer mittels einer Kamera (100) erfassten Szene (120), umfassend: Erhalten (202) von Informationen zu dem Objekt (130), das erkannt werden soll, Erzeugen (208) mehrerer verschiedener Ansichten (210, 212, 214) des Objektes (130) in der Szene, und Bereitstellen (216) von den Ansichten des Objektes in der Szene entsprechenden Daten (218) für das Trainieren des neuronalen Netzes (224).
  2. Verfahren nach Anspruch 1, wobei das Erzeugen (208) der mehreren verschiedenen Ansichten des Objektes in der Szene umfasst, dass ein dem Objekt entsprechendes synthetisches Modell (206) ausgewählt wird, und die mehreren verschiedenen Ansichten des Objektes basierend auf dem synthetischen Modell erzeugt werden.
  3. Verfahren nach Anspruch 1 oder 2, wobei das Erzeugen (208) der mehreren verschiedenen Ansichten des Objektes in der Szene umfasst, dass die Ansichten in eine reale, mittels der mittels der Kamera (100) erfassten Szene eingepasst werden.
  4. Verfahren nach Anspruch 1 oder 2, wobei das Erzeugen (208) der mehreren verschiedenen Ansichten des Objektes in der Szene umfasst, dass die Ansichten in eine virtuelle Szene eingepasst werden, die insbesondere einer realen, mittels der Kamera (100) erfassten Szene entspricht.
  5. Verfahren nach einem der vorstehenden Ansprüche, wobei das Bereitstellen (216) der den Ansichten des Objektes in der Szene entsprechenden Daten (218) umfasst, dass basierend auf den Ansichten des Objektes, die insbesondere basierend auf dem synthetischen Modell (206) erzeugt worden sind, reale Ansichten von dem Objekt oder dem Objekt vergleichbaren Objekten bestimmt und als Daten für das Trainieren des neuronalen Netzes (224) bereitgestellt werden.
  6. Verfahren nach einem der vorstehenden Ansprüche, wobei das Erzeugen (208) der mehreren verschiedenen Ansichten des Objektes in der Szene umfasst, dass die mehreren verschiedenen Ansichten des Objektes (130) zu verschiedenen Zeiten in einer realen, mittels der Kamera (100) erfassten Szene (120) bestimmt werden.
  7. Verfahren nach Anspruch 6, wobei die mehreren verschiedenen Ansichten des Objektes (130) zu den verschiedenen Zeiten in der realen Szene (120) basierend auf einer Bewegung des Objektes, insbesondere unter Verwendung von Objektverfolgung, bestimmt werden.
  8. Verfahren nach einem der vorstehenden Ansprüche, wobei das Erhalten (202) von Informationen zu dem Objekt (130), das erkannt werden soll, ein zumindest zum Teil automatisiertes Bestimmen (202), in der mittels der Kamera (100) erfassten Szene, des Objektes, das erkannt werden soll, umfasst, insbesondere unter Berechnung eines Embeddings des Objektes (130) in der Szene (120) basierend auf einem aktuellen verwendeten Klassifikator.
  9. Verfahren zum Trainieren eines auf künstlicher Intelligenz, insbesondere einem künstlichen neuronalen Netz (224), basierenden Verfahrens zum Erkennen von Objekten (130) in einer mittels einer Kamera (100) erfassten Szene (120) unter Verwendung von Daten (218), die mittels eines Verfahrens nach einem der vorstehenden Ansprüche bereitgestellt worden sind.
  10. Recheneinheit (102), die dazu eingerichtet ist, alle Verfahrensschritte eines Verfahrens nach einem der vorstehenden Ansprüche durchzuführen.
  11. Computerprogramm, das eine Recheneinheit (102) dazu veranlasst, alle Verfahrensschritte eines Verfahrens nach einem der Ansprüche 1 bis 9 durchzuführen, wenn es auf der Recheneinheit (102) ausgeführt wird.
  12. Maschinenlesbares, insbesondere nichtflüchtiges maschinenlesbares, Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 11.
DE102022200353.5A 2022-01-14 2022-01-14 Verfahren zum Erzeugen von Daten zum Trainieren eines auf künstlicher Intelligenz basierenden Objekterkennungsverfahrens Pending DE102022200353A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102022200353.5A DE102022200353A1 (de) 2022-01-14 2022-01-14 Verfahren zum Erzeugen von Daten zum Trainieren eines auf künstlicher Intelligenz basierenden Objekterkennungsverfahrens

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022200353.5A DE102022200353A1 (de) 2022-01-14 2022-01-14 Verfahren zum Erzeugen von Daten zum Trainieren eines auf künstlicher Intelligenz basierenden Objekterkennungsverfahrens

Publications (1)

Publication Number Publication Date
DE102022200353A1 true DE102022200353A1 (de) 2023-07-20

Family

ID=86990368

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022200353.5A Pending DE102022200353A1 (de) 2022-01-14 2022-01-14 Verfahren zum Erzeugen von Daten zum Trainieren eines auf künstlicher Intelligenz basierenden Objekterkennungsverfahrens

Country Status (1)

Country Link
DE (1) DE102022200353A1 (de)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019214402A1 (de) 2019-09-20 2021-03-25 Robert Bosch Gmbh Verfahren und vorrichtung zum verarbeiten von daten mittels eines neuronalen konvolutionsnetzwerks
DE102021102643A1 (de) 2020-02-10 2021-08-12 Advanced Realtime Tracking Gmbh Verfahren zum Schätzen einer Pose eines Objektes, Computerprogramm und System
US20210279952A1 (en) 2020-03-06 2021-09-09 Nvidia Corporation Neural rendering for inverse graphics generation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019214402A1 (de) 2019-09-20 2021-03-25 Robert Bosch Gmbh Verfahren und vorrichtung zum verarbeiten von daten mittels eines neuronalen konvolutionsnetzwerks
DE102021102643A1 (de) 2020-02-10 2021-08-12 Advanced Realtime Tracking Gmbh Verfahren zum Schätzen einer Pose eines Objektes, Computerprogramm und System
US20210279952A1 (en) 2020-03-06 2021-09-09 Nvidia Corporation Neural rendering for inverse graphics generation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MEIER, T., Ngan, K. N.: Automatic segmentation of moving objects for video object plane generation. In: IEEE Transactions on Circuits and Systems for Video Technology, 1998, 8. Jg., Nr. 5, S. 525-538. doi: 10.1109/76.718500

Similar Documents

Publication Publication Date Title
EP2368216B1 (de) Verfahren und einrichtung zur analyse von umgebungsobjekten und/oder umgebungsszenen, wie zur objekt- und szenenklassensegmentierung
DE102018206208A1 (de) Verfahren, Vorrichtung, Erzeugnis und Computerprogramm zum Betreiben eines technischen Systems
EP3765927B1 (de) Verfahren zum erzeugen eines trainingsdatensatzes zum trainieren eines künstlichen-intelligenz-moduls für eine steuervorrichtung eines fahrzeugs
DE102017203276B4 (de) Verfahren und Vorrichtung zur Ermittlung einer Trajektorie in Off-road-Szenarien
DE102019209560A1 (de) Vorrichtung und Verfahren zum Trainieren eines neuronalen Netzwerks
DE102015208139A1 (de) Fahrzeuginsassenerfassung mittels des Abstands zwischen Beifahrer- und Fahrermerkmalen
EP3789926A1 (de) Verfahren zum erkennen einer adversarialen störung in eingangsdaten eines neuronalen netzes
WO2020048669A1 (de) Verfahren zum bestimmen einer spurwechselangabe eines fahrzeugs, ein computerlesbares speichermedium und ein fahrzeug
WO2020069964A1 (de) Verfahren, künstliches neuronales netz, vorrichtung, computerprogramm und maschinenlesbares speichermedium zur semantischen segmentierung von bilddaten
EP3782081B1 (de) Verfahren zur erzeugung eines testdatensatzes, verfahren zum testen, verfahren zum betreiben eines systems, vorrichtung, steuerungssystem, computerprogrammprodukt, computerlesbares medium, erzeugung und verwendung
DE102020200503A1 (de) Verfahren zum Generieren von gelabelten Daten, insbesondere für das Training eines neuronalen Netzes, mittels Verbesserung initialer Label
EP3899798A1 (de) Verfahren und vorrichtung zum betreiben eines maschinenlernmodells
EP4078238A1 (de) Verfahren und vorrichtung zum robustifizieren von sensordaten gegen adversariale störungen
DE102017128082A1 (de) Meta-Architektur-Design für ein CNN-Netzwerk
EP3748454A1 (de) Verfahren und vorrichtung zum automatischen ausführen einer steuerfunktion eines fahrzeugs
DE102019204187A1 (de) Klassifizierung und temporale Erkennung taktischer Fahrmanöver von Verkehrsteilnehmern
DE102022200353A1 (de) Verfahren zum Erzeugen von Daten zum Trainieren eines auf künstlicher Intelligenz basierenden Objekterkennungsverfahrens
WO2022106414A2 (de) Verfahren und system zur annotation von sensordaten
DE102020208080A1 (de) Erkennung von Objekten in Bildern unter Äquivarianz oder Invarianz gegenüber der Objektgröße
DE102020126690A1 (de) Verfahren zum Bestimmen eines Bewegungsmodells eines Objekts in einer Umgebung eines Kraftfahrzeugs, Computerprogrammprodukt, computerlesbares Speichermedium sowie Assistenzsystem
DE102020128952A1 (de) Verfahren und Assistenzeinrichtung zur zweistufigen bildbasierten Szenenerkennung und Kraftfahrzeug
DE102020200875A1 (de) Verfahren zum Bereitstellen von Sensordaten durch eine Sensorik eines Fahrzeugs
DE102020129451A1 (de) Verfahren zur Prädiktion von Fahreingriffen, Verfahren zum Training eines Algorithmus und Kraftfahrzeug
EP4049186A1 (de) Verfahren zum robustifizieren eines neuronalen netzes gegen adversariale störungen
DE102020203828A1 (de) Verfahren zum Erkennen einer Umgebung eines Fahrzeugs

Legal Events

Date Code Title Description
R163 Identified publications notified