DE102021112821A1 - Verfahren zur Verkehrszeichenerkennung für ein Assistenzsystem eines Fahrzeugs mit einer bit-seriellen architekturaufweisenden Recheneinrichtung sowie Recheneinrichtung für ein Fahrzeug - Google Patents

Verfahren zur Verkehrszeichenerkennung für ein Assistenzsystem eines Fahrzeugs mit einer bit-seriellen architekturaufweisenden Recheneinrichtung sowie Recheneinrichtung für ein Fahrzeug Download PDF

Info

Publication number
DE102021112821A1
DE102021112821A1 DE102021112821.8A DE102021112821A DE102021112821A1 DE 102021112821 A1 DE102021112821 A1 DE 102021112821A1 DE 102021112821 A DE102021112821 A DE 102021112821A DE 102021112821 A1 DE102021112821 A1 DE 102021112821A1
Authority
DE
Germany
Prior art keywords
computing device
matrices
bit
binary
weight
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
DE102021112821.8A
Other languages
English (en)
Inventor
Alexander Frickenstein
Manoj Rohit Vemparala
Nael Fasfous
Ee Heng Chen
Naveen Shankar NAGARAJA
Joeran ZEISLER
Walter Stechele
Ahmed Mzid
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.)
Bayerische Motoren Werke AG
Original Assignee
Bayerische Motoren Werke AG
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 Bayerische Motoren Werke AG filed Critical Bayerische Motoren Werke AG
Priority to DE102021112821.8A priority Critical patent/DE102021112821A1/de
Publication of DE102021112821A1 publication Critical patent/DE102021112821A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/582Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of traffic signs
    • 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/0464Convolutional networks [CNN, ConvNet]
    • 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/048Activation functions
    • 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/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

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)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Traffic Control Systems (AREA)

Abstract

Ein erfindungsgemäßes Verfahren zur Verkehrszeichenerkennung für ein Assistenzsystem eines Fahrzeugs umfasst ein Empfangen von Bilddaten, welche eine Umgebung des Fahrzeugs beschreiben. Zudem umfasst das Verfahren ein Detektieren und Klassifizieren von Verkehrszeichen auf Grundlage der Bilddaten mittels einer Recheneinrichtung. Dabei wird zum Detektieren und Klassifizieren der Verkehrszeichen ein faltendes künstliches neuronales Netz auf die Bilddaten angewendet. Hierbei wird bei der Anwendung des faltenden künstlichen neuronalen Netzes eine Mehrzahl von Faltungsoperationen durchgeführt. Darüber hinaus umfasst das Verfahren bei der Durchführung der Faltungsoperationen eine Verwendung binarisierter Gewichte und/oder binarisierter Aktivierungen. Zudem weist die bei dem Verfahren verwendete Recheneinrichtung eine bit-serielle Architektur auf und die Faltungsoperationen mit den binarisierten Gewichten und/oder den binarisierten Aktivierungen werden bit-seriell als generalisierte Matrixmultiplikationen durchgeführt.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zur Verkehrszeichenerkennung. Darüber hinaus betrifft die vorliegende Erfindung eine Recheneinrichtung für ein Fahrzeug zur bit-seriellen Durchführung eines derartigen Verfahrens. Außerdem betrifft die vorliegende Erfindung ein Computerprogramm sowie ein computerlesbares (Speicher)Medium.
  • Die Erkennung von Verkehrszeichen ist für zahlreiche Assistenzsysteme eines Fahrzeugs von entscheidender Bedeutung. Derartige Assistenzsysteme reichen von einem relativ einfachen System, welches den Fahrer des Fahrzeugs auf die aktuelle Geschwindigkeitsbegrenzung hinweist, bis hin zu Systemen, die die Quer- und/oder Längsführung des Fahrzeugs übernehmen. Ein konkretes Beispiel für letztere Assistenzsysteme ist das so genannte Active Cruise Control (ACC) mit automatischer Anpassung der aktuellen Fahrgeschwindigkeit an eine eventuell niedrigere erlaubte Höchstgeschwindigkeit. Zum Erfassen der erlaubten Höchstgeschwindigkeit ist es meist nötig, dass das System Verkehrszeichen visuell, also mittels eines Kamera-Systems, erkennt und korrekt interpretiert. Mit anderen Worten ist es erforderlich, dass Verkehrszeichen detektiert, klassifiziert und gegebenenfalls interpretiert werden.
  • Zu diesem Zweck sind Fahrzeuge oftmals mit einer Kamera ausgestattet. Die Kamera erfasst dabei meist eine Umgebung vor dem Fahrzeug und liefert die Umgebung beschreibenden Bilddaten an eine Recheneinrichtung. Die Recheneinrichtung analysiert mittels Bildverarbeitungsalgorithmen die Bilddaten, detektiert Verkehrszeichen und klassifiziert die erfassten Verkehrszeichen. Klassische Verfahren zur Verkehrszeichenerkennung, wie beispielsweise der Adaptive-Boosting-Algorithmus (AdaBoost), arbeiten nach dem Schema, wonach in einer Detektionsphase im Kamerabild Bildregionen identifiziert werden, die potenzielle Verkehrszeichen enthalten können. Diese potenziellen Verkehrszeichen werden in einem zweiten Verfahrensschritt anschließend einem Klassifikator vorgelegt, der entscheidet, ob sich in der Bildregion ein Verkehrszeichen befindet und um welches Verkehrszeichen es sich handelt.
  • Moderne Verfahren zur Verkehrszeichenerkennung, die Verkehrszeichen detektieren und klassifizieren, basieren heutzutage meist auf neuronalen Netzen, insbesondere auf sogenannten faltenden neuronalen Netzen, im Englischen auch Convolutional Neuronal Networks (CNN) genannt. Dabei kann sowohl die Erkennung als auch die Klassifizierung in einer ganzheitlichen Weise erfolgen. Bei derartigen Verfahren spricht man auch von Single-Shot-Multibox-Detektoren.
  • Convolutional Neuronal Networks, weisen meist mehrere Schichten auf. Jede der Schichten entspricht dabei einer Faltungsoperation. Die Eingangsgröße der Faltungsoperation wird oftmals auch Aktivierung genannt. Bei der Aktivierung der ersten Schicht kann es sich demzufolge um die ursprünglichen Bilddaten der Kamera handeln. Das Ergebnis einer jeden Faltungsoperation wird meist Feature-Map genannt. Eine Feature-Map kann im Wesentlichen mit Bilddaten verglichen werden, wobei eine Feature-Map auch mehrere Bilddaten umfassen kann. Zudem kann die Feature-Map die Eingangsgröße bzw. die Aktivierung der nächsten Schicht bzw. der nächsten Faltungsoperation sein.
  • Bei der Faltungsoperation wird jedes Pixel der Aktivierung mit den umliegenden Pixeln gewichtet aufsummiert. Die entsprechenden Gewichte werden auch Gewichte der Faltungsoperation genannt. Im Falle von neun Gewichten können diese beispielsweise als 3x3 Matrix dargestellt werden. Handelt es sich beispielsweise zudem um ein Graustufenbild oder einen einzelnen Farbkanal eines Farbbildes, so liefert die Faltungsoperation in diesem Fall eine Feature-Map, die im Wesentlichen wiederum einem Bild entspricht. Jedes Pixel der Feature-Map berechnet sich anhand desselben Pixels der Aktivierung sowie der umliegenden bzw. angrenzenden Pixel der Aktivierung. Diese Pixel werden gewichtet aufsummiert und bilden das entsprechende Pixel der Feature-Map. Die gesamte Faltungsoperation entspricht bildlich dargestellt einem Schiebefensterverfahren.
  • Die Gewichte der Faltungsoperation bilden zumindest einen Teil der trainierbaren Parameter des neuronalen Netzes. Die Gewichte werden dabei meist als Matrix oder als Tensor, also als drei- oder mehrdimensionale Matrix, dargestellt. Entsprechen die Gewichte einer Faltungsoperation beispielsweise einem Laplace-Operator, so entspricht die Faltungsoperation einer Kantenerkennung. In diesem Fall weist die Faltungsoperation neun Parameter auf. Typischerweise weist ein neuronales Netz jedoch mehrere tausend oder sogar Millionen Parameter auf. In der Regel ist es so, je mehr Parameter das neuronale Netz aufweist, desto leistungsfähiger ist das neuronale Netz und damit die Verkehrszeichenerkennung. Eine höhere Anzahl an Parametern kann jedoch auch zu einer längeren Trainingsphase führen. Darüber hinaus sind ausreichend Hardwareressourcen, also insbesondere eine leistungsfähige Recheneinrichtung nötig, damit die Verkehrszeichenerkennung echtzeitfähig durchführbar ist.
  • Ein echtzeitfähiges System bezeichnet dabei jene Hard- und Softwaresysteme, die einer Echtzeitbedingungen unterliegen. Diese Echtzeitbedingungen können beispielsweise auf Grundlage einer Zeitspanne von einem Ereignis bis zu einer Systemreaktion vorgegeben sein. Echtzeitfähige Systeme müssen innerhalb der vorgegebenen Zeitspanne, welche auch als Systemreaktionszeit bezeichnet wird, die Systemreaktion garantieren. Typischerweise liegen die sogenannten Systemreaktionszeiten im Millisekunden-Bereich. Die Systemreaktionszeit kann beispielsweise weniger als 100 ms, bevorzugt weniger als 50 ms, besonders bevorzugt weniger als 33,33 ms, betragen.
  • Als Hardwareressourcen sind beispielsweise Hardwarekomponenten bzw. deren Auslegung, Größe, Kapazität, Leistungsfähigkeit und/oder dergleichen zu verstehen. Ebenso kann der Ressourcenbedarf einen zum Ausführen des neuronalen Netzes in der jeweiligen Netzkonfiguration notwendigen Aufwand von - etwa durch eine Rechengeschwindigkeit, Parallelverbeitungsfähigkeiten und/oder Latenz der Hardware bestimmter - Zeit, von Energie und/oder dergleichen angeben oder betreffen. Für praktische Anwendungen, insbesondere also im Fall der Verkehrszeichenerkennung, kann sowohl eine möglichst große Genauigkeit als auch ein möglichst geringer Ressourcenbedarf von wesentlicher Bedeutung sein, sodass sowohl eine entsprechende Konfiguration des neuronalen Netzes zur Verkehrszeichenerkennung, als auch eine entsprechende Konfiguration bzw. Auslegung der Hardware nötig sein kann.
  • Um zum einen leistungsfähige neuronale Netze zur Verkehrszeichenerkennung einzusetzen und zum anderen ein echtzeitfähiges System zur Verfügung zu stellen, sind gemäß dem Stand der Technik verschiedene Optimierungsmethoden für neuronale Netze bekannt. Beispielsweise können zur Reduzierung des Speicherbedarfs und/oder zur Steigerung der Rechengeschwindigkeit die Parameter bzw. die Gewichte des neuronalen Netzes quantisiert bzw. fixpunktquantisiert werden. Unter einer Fixpunktquantisierung bzw. einer Quantisierung der Gewichte ist eine Umwandlung der Gewichte von einer Fließkommazahl in eine Festkommazahl zu verstehen. Die Anzahl der verwendeten Bits, also die Bitlänge, zur Darstellung der Festkommazahl kann dabei schichtindividuell oder schichtspezifisch erfolgen. Je nach verwendeter Bitlänge ergeben sich so unterschiedliche Konfigurationen des neuronalen Netzes.
  • Im Gegensatz zu einer Fließkommazahl wird eine Festkommazahl, also auch eine fixpunktquantisierte Fließkommazahl, mit einer bestimmten Anzahl an Nachkommaziffern dargestellt. Hierbei ist die Position des Kommas fest vorgegeben. Die Festkommazahl in Binärdarstellung kann in eine vorgegebene Anzahl an Bits vor dem Komma sowie in eine vorgegebene Anzahl an Bits nach dem Komma zerlegt werden. Folglich kann beispielsweise das erste Bit einer 8-Bit Festkommazahl als Vorzeichen interpretiert werden. Die folgenden drei Bits können anschließend für die Vorkommadarstellung verwendet werden. Die restlichen vier Bits können in diesem Beispiel für die Nachkommadarstellung verwendet werden. In diesem Beispiel ergibt sich für die Fixpunktquantisierung der Zahl 0,328125 die Binärdarstellung 00000101, wobei dies rundungsbedingt der Zahl 0,3125 entspricht. Als Fließkommazahlen kann die Zahl in Form eines Produktes aus Vorzeichen, einer Zweierpotenz und einer Mantisse exakt durch 00010101 dargestellt werden.
  • Alternativ oder zusätzlich können Teile des neuronalen Netzes entfernt werden. Die Entfernung einzelner Teile des neuronalen Netzes, die nicht wesentlich zur Gesamtgenauigkeit des neuronalen Netzes beitragen, wird im Englischen auch pruning genannt. Beispielsweise kann es vorkommen, dass die Gewichte einer Faltungsoperation mit betragsmäßig kleinen Werten, also Werten, die sich nur geringfügig von Null unterscheiden, nicht Wesentlich zur Gesamtgenauigkeit beitragen. Diese Gewichte können daher gleich Null gesetzt werden bzw. können diese aus dem neuronalen Netz entfernt werden, ohne die Gesamtgenauigkeit wesentlich zu beeinflussen.
  • Des Weiteren kann eine Binarisierung von neuronalen Netzen vielversprechende Ergebnisse liefern. In diesem Zusammenhang spricht man auch von binären neuronalen Netzen. Verglichen mit gewöhnlichen neuronalen Netzen und/oder faltenden neuronalen Netzen weisen binäre neuronale Netze einen reduzierten Speicherplatzbedarf und gegebenenfalls auch eine höhere Rechengeschwindigkeit auf. Jedoch kann eine Binarisierung eines neuronalen Netzes auch immer mit einem Informationsverlust und damit einer reduzierten Genauigkeit verbunden sein. Mit anderen Worten ist die Binarisierung eines neuronalen Netzes eine Quantisierung eines neuronalen Netzes mit 1-Bit Werten bzw. eine Quantisierung mit einer auf eins begrenzten Bitlänge.
  • Um den Speicherplatzbedarf eines neuronalen Netzes zu reduzieren und um die Faltungsoperation des neuronalen Netzes zu vereinfachen, werden die Gewichte und/oder die Aktivierungen der Faltungsoperationen binarisiert. Verglichen mit einer 4-Byte Fließkommazahl, bzw. einer 32-Bit Fließkommazahl, lässt sich der Speicherplatzbedarf so um das bis zu 32-fache reduzieren. Oftmals nimmt in diesem Zusammenhang jedoch auch die Genauigkeit des neuronalen Netzes und damit auch die Genauigkeit der Verkehrszeichenerkennung ab.
  • In dem Konferenzbeitrag „Towards Accurate Binary Convolutional Neural Network“ von Xiaofan Lin und weiteren Autoren aus dem Jahr 2016 wird ein Verfahren zur Binarisierung der Gewichte der Faltungsoperationen eines faltenden neuronalen Netzes offenbart. Dabei werden die Fließkommazahlen durch eine Linearkombination von mehreren binären Gewichts-Basen approximiert. Zusätzlich werden mehrere binäre Aktivierungs-Basen zur Verringerung des Informationsverlustes verwendet.
  • Ein anderer Ansatz, um die Rechenkomplexität eines künstlichen neuronalen Netzes zu reduzieren, ist in der DE 10 2018 128 080 A1 in Form eines Verfahrens zur Quantisierung eines künstlichen neuronalen Netzwerkes beschrieben. Bei dem dort beschriebenen Quantisierungsverfahren soll durch Quantisieren eines künstlichen neuronalen Eingabe-Netzwerkes ein künstliches neuronales Ausgabe-Netzwerk erzeugt werden. Dabei werden zweite Parameter durch Quantisieren erster Parameter des Eingabe-Netzwerkes erhalten. Weiter wird eine Probenverteilung von einem künstlichen neuronalen Zwischen-Netzwerk, in welchem die erhaltenen zweiten Parameter auf das Eingabe-Netzwerk angewendet wurden, erhalten. Schließlich wird eine Fraktionallänge für die erhaltene Probenverteilung durch Quantisieren der erhaltenen Probenverteilung erhalten. Ein derart quantisiertes künstliches neuronales Netzwerk kann es ermöglichen, eine verringerte Anzahl von Rechenressourcen zu verwenden.
  • Darüber hinaus wird in dem Konferenzbeitrag „BISMO: A Scalable Bit-Serial Matrix Multiplication Overlay for Reconfigurable Computing“ von Yaman Umuroglu und weiteren Autoren aus dem Jahr 2018 ein vektorisiertes bit-serielles Matrix-Multiplikations-Overlay für rekonfigurierbare Berechnungen vorgestellt. So kann die Binär-Rechenleistung von FPGAs genutzt werden, um eine mit der gewünschten Präzision und Parallelität skalierbare Performanz bei Matrixmultiplikationen zu bieten.
  • Es ist Aufgabe der vorliegenden Erfindung, eine Lösung aufzuzeigen, wie eine Verkehrszeichenerkennung auf Basis leistungsfähiger neuronaler Netze unter Berücksichtigung der technischen Gegebenheiten der Recheneinrichtung, insbesondere unter Berücksichtigung der Architektur des zumindest einen programmierbaren Prozessors, echtzeitfähig und ohne wesentliche Einbußen bei der Genauigkeit der Verkehrszeichenerkennung in einem Fahrzeug betrieben werden kann.
  • Diese Aufgabe wird erfindungsgemäß durch ein Verfahren, durch eine Recheneinrichtung, durch ein Computerprogramm sowie durch ein computerlesbares (Speicher)Medium mit den Merkmalen gemäß den unabhängigen Ansprüchen gelöst. Vorteilhafte Weiterbildungen der vorliegenden Erfindung sind in den abhängigen Ansprüchen angegeben.
  • Ein erfindungsgemäßes Verfahren zur Verkehrszeichenerkennung für ein Assistenzsystem eines Fahrzeugs umfasst ein Empfangen von Bilddaten, welche eine Umgebung des Fahrzeugs beschreiben. Zudem umfasst das Verfahren ein Detektieren und Klassifizieren von Verkehrszeichen auf Grundlage der Bilddaten mittels einer Recheneinrichtung. Dabei wird zum Detektieren und Klassifizieren der Verkehrszeichen ein faltendes künstliches neuronales Netz auf die Bilddaten angewendet. Hierbei wird bei der Anwendung des faltenden künstlichen neuronalen Netzes eine Mehrzahl von Faltungsoperationen durchgeführt. Darüber hinaus umfasst das Verfahren bei der Durchführung der Faltungsoperationen eine Verwendung binarisierter Gewichte und/oder binarisierter Aktivierungen. Zudem weist die bei dem Verfahren verwendete Recheneinrichtung eine bit-serielle Architektur auf und die Faltungsoperationen mit den binarisierten Gewichten und/oder den binarisierten Aktivierungen werden bit-seriell als generalisierte Matrixmultiplikationen durchgeführt.
  • Mit Hilfe des Verfahrens sollen Verkehrszeichen mittels neuronaler Netze, insbesondere faltender neuronaler Netzen, erkannt werden. Im Wesentlichen wird dabei die Erkennung der Verkehrszeichen mittels zumindest teilweise binären faltenden neuronalen Netzen durchgeführt. Insbesondere werden zur Durchführung der Faltungsoperationen binarisierte Gewichte und/oder binarisierte Aktivierungen verwendet. Die binarisierten Gewichte und/oder binarisierte Aktivierungen können zusätzlich fixpunktquantisierte Faktoren aufweisen. Folglich können die Gewichte des neuronalen Netzes durch ein Produkt aus einem binären Vektor, einer binären Matrix oder einem binären Tensor und aus einem zumindest fixpunktquantisierten Faktor realisiert werden.
  • Darüber hinaus weist die Recheneinrichtung zumindest einen Prozessor mit einer bit-seriellen Architektur auf. So können die Faltungsoperationen bit-seriell durchgeführt werden. Die Verwendung binarisierter Gewichte und/oder binarisierter Aktivierungen führt aufgrund der Bitlänge zu einer weiteren Absenkung der Systemreaktionszeit gegenüber der Verwendung fixpunktquantisierter Gewichte und/oder fixpunktquantisierter Aktivierungen. Zudem ist eine verbesserte Abbildung der Gewichte und/oder der Aktivierungen auf die bit-serielle Architektur möglich, wodurch die Parallelisierbarkeit der Rechenoperationen signifikant verbessert wird. So kann die Verkehrszeichenerkennung auf Basis des neuronalen Netzes echtzeitfähig erfolgen. Zudem kann die Recheneinrichtung aufgrund einer bit-serielle durchgeführten Anwendung des faltenden neuronalen Netzes eigene Kapazitäten optimal nutzen und so zeit- und energieeffizient betrieben werden.
  • Eine Kamera, die an dem Fahrzeug angebracht ist und Teil des Assistenzsystems ist, kann die Umgebung des Fahrzeugs erfassen. Beispielsweise kann die Kamera so ausgerichtet sein, dass die Bilddaten eine Umgebung vor dem Fahrzeug beschreiben. Die Bilddaten können von einer Recheneinrichtung empfangen werden. Diese Recheneinrichtung kann beispielsweise als Steuergerät ausgebildet sein. Die Recheneinrichtung ist dazu ausgebildet, ein faltendes neuronales Netz auf die Bilddaten anzuwenden. Im Zuge der Anwendung des faltenden neuronalen Netzes auf die Bilddaten können so die Verkehrszeichen detektiert und klassifiziert werden.
  • Das neuronale Netz kann als faltendes neuronales Netz ausgebildet sein. Zudem kann das faltende neuronale Netz mehrere Faltungsschichten aufweisen. Jede der Faltungsschichten entspricht dabei einer Faltungsoperation. Die Parameter einer jeden Faltungsoperation werden auch Gewichte genannt. Für gewöhnlich können faltende neuronale Netze mehrere Millionen Parameter bzw. Gewichte aufweise. Die Gewichte des neuronalen Netzes werden in der Recheneinrichtung für gewöhnlich als 8-Bit, 16-Bit, 32-Bit oder 64-Bit Fließkommazahl gespeichert.
  • Erfindungsgemäß werden diese Gewichte binarisiert. Eine einzelne Zahl kann beispielsweise mit der so genannten Vorzeichenfunktion binarisiert werden. Eine 32 Bit Fließkommazahl kann so in eine 1-Bit-Darstellung umgewandelt werden. Dadurch kann die Registergröße des Prozessors der Recheneinrichtung um das bis zu 32-fache reduziert werden.
  • Alternativ oder zusätzlich zu den binarisierten Gewichten können ebenso binarisierte Aktivierungen verwendet werden. Die Aktivierungen sind die Eingangsgrößen der Faltungsoperationen. Im Fall der ersten Faltungsoperation kann die Aktivierung demzufolge den Bilddaten entsprechen. Im Fall jeder weiteren Faltungsoperation kann die Aktivierung dem Ergebnis der vorangegangenen Faltungsoperation entsprechen. A priori können diese Aktivierungen in der Recheneinrichtung als Fließkommazahlen oder Festkommazahlen realisiert sein. Mittels einer vorbestimmten Methode können diese Aktivierungen binarisiert werden.
  • Zusammen mit der Recheneinrichtung, die eine bit-serielle Architektur aufweist, kann die Berechnung der Faltungsoperationen mit den binarisierten Gewichten und/oder den binarisierten Aktivierungen beschleunigt werden. Diese Beschleunigung wird durch eine bit-serielle Durchführung der Faltungsoperationen als generalisierte Matrixmultiplikationen erreicht.
  • Eine Faltungsoperation entspricht bildlich dargestellt einem Schiebefensterverfahren, wobei das Fenster den Gewichten der Faltungsoperation, als Matrix dargestellt, entspricht. Um die Feature-Map, also das Ergebnis der Faltungsoperation, zu berechnen, wird das Fenster dabei über alle Einträge der Aktivierung, im Falle von Bilddaten also über alle Pixel, geschoben. Dieses Verfahren kann jedoch auch so formuliert werden, dass die Gewichte in Form einer generalisierten Gewichtsmatrix dargestellt werden. Die generalisierte Gewichtmatrix kann dabei deutlich mehr Einträge aufweisen als die Faltungsoperation Gewichte aufweist. Folglich kann die generalisierte Gewichtsmatrix eine gewisse Symmetrie aufweisen bzw. es können sich zahlreiche Einträge der generalisierten Gewichtsmatrix wiederholen. Mit Hilfe der generalisierten Gewichtsmatrix kann die Faltungsoperation als Matrixmultiplikationen durchgeführt werden. Diese Matrixmultiplikation wird auch generalisierte Matrixmultiplikation genannt. Gegenüber einer allgemeinen Faltung kann aufgrund der gleichmäßigeren Struktur der Daten eine bessere Parallelisierbarkeit sichergestellt werden, sodass diese Operation insgesamt mit deutlich gesteigerter Rechengeschwindigkeit ausgeführt werden kann.
  • Eine Binarisierung in Kombination mit einer bit-seriellen Architektur der Recheneinrichtung erlaubt die Verwendung eines leistungsfähigen neuronalen Netzes und berücksichtigt zugleich aufgrund einer bit-seriell durchgeführten Anwendung des faltenden neuronalen Netzes die technischen Gegebenheiten der Recheneinrichtung. Die Verkehrszeichenerkennung erfolgt in Echtzeit und unter optimaler Nutzung der Kapazitäten der Recheneinrichtung.
  • Es ist vorteilhaft, wenn die bit-seriell durchgeführten generalisierten Matrixmultiplikationen mittels bit-weiser Logikverknüpfungen, insbesondere Exklusiv-NICHT-ODER-Verknüpfungen, und mittels Hamming-Gewichten berechnet werden. Exklusiv-NICHT-ODER-Verknüpfungen werden auch als XNOR-Verknüpfung bezeichnet. Das Ergebnis einer derartigen Verknüpfung ist genau dann wahr bzw. 1, wenn die beiden Eingangsgrößen der Verknüpfung identisch sind. Das Hamming-Gewicht einer binären Zeichenfolge, also einer Folge einzelner Bits, ist definiert als die Anzahl der von null verschiedenen Zeichen bzw. Bits. Oftmals wird dies auch als popcount bezeichnet.
  • Beispielsweise kann durch die Verwendung der Exklusiv-NICHT-ODER-Verknüpfung in Kombination mit der Berechnung eines Hamming-Gewichts die Multiplikation innerhalb der Recheneinrichtung besonders effizient realisiert werden. Das Detektieren und Klassifizieren der Verkehrszeichen durch Anwendung eines faltenden neuronalen Netzes kann so besonders beschleunigt werden. Somit kann also die Echtzeitfähigkeit der Verkehrszeichenerkennung gewährleistet werden. Zudem berücksichtigt die Durchführung der Multiplikation mittels Exklusiv-NICHT-ODER-Verknüpfung in Kombination mit der Berechnung eines Hamming-Gewichts die technischen Gegebenheiten der Recheneinrichtung in besonderem Maße.
  • In einer weiteren Ausgestaltung werden zur bit-seriellen Durchführung der generalisierten Matrixmultiplikationen Gewichte der Faltungsoperationen in Form von generalisierten Gewichtsmatrizen bereitgestellt, wobei die Gewichtsmatrizen jeweils durch eine vorbestimmte Anzahl an binären Gewichts-Basis-Matrizen und zumindest quantisierten Gewichts-Basis-Parametern approximiert werden. Die Recheneinrichtung kann die Faltungsoperationen bit-seriell und unter reduziertem Hardware-Ressourceneinsatz effizienter berechnen, wenn diese als generalisierte Matrixmultiplikation durchgeführt werden. Dazu werden die verwendeten Gewichte der Faltungsoperationen, welche für die erfindungsgemäße Verkehrszeichenerkennung approximiert und/oder binarisiert werden, in Form einer generalisierten Gewichtsmatrix bereitgestellt. Die Faltungsoperation, bei der eine Faltung von der Aktivierung mit den Gewichten berechnet wird, kann so als Matrixmultiplikation der Aktivierung mit der generalisierten Gewichtsmatrix realisiert werden. Diese Matrixmultiplikation kann durch eine Approximation der generalisierten Gewichtsmatrizen mittels einer vorbestimmten Anzahl an binären Gewichts-Basis-Matrizen und zumindest quantisierten Gewichts-Basis-Parametern beschleunigt werden.
  • Als Basis-Matrizen sind mehrere Matrizen zu verstehen, die linear unabhängig voneinander sind. Mit anderen Worten kann keine der Basis-Matrizen durch eine Linearkombination der restlichen Basis-Matrizen dargestellt werden. Eine optimale Wahl der Basis-Matrizen kann mit verschiedenen Algorithmen erreicht werden. Insbesondere können die Basis-Matrizen während des Trainings des faltenden künstlichen neuronalen Netzes bestimmt werden.
  • Zunächst können die generalisierten Gewichtsmatrizen eines faltenden neuronalen Netzes Fließkommazahlen oder Festkommazahlen, also fixpunktquantisierte bzw. quantisierte Zahlen, enthalten. In diesem Fall können die generalisierten Gewichtsmatrizen durch eine gewichtete Summe an Gewichts-Basis-Matrizen, deren Einträge binär sind, approximiert werden. Die jeweiligen Gewichte sind die zumindest quantisierten Gewichts-Basis-Parameter. Dadurch, dass die Matrixmultiplikationen nun im Wesentlichen durch eine Multiplikation mit Matrizen, deren Einträge binär sind, durchgeführt wird und nur eine geringe Anzahl an Multiplikationen mit maximal quantisierten Zahlen erforderlich ist, sinken die Anforderungen an die Hardware.
  • Die Registergröße kann im Wesentlichen durch die Anzahl an Basis-Matrizen vorgegeben werden. Durch die Verwendung von binären Gewichts-Basis-Matrizen und zumindest quantisierten Gewichts-Basis-Parametern kann zudem die Echtzeitfähigkeit des Systems verbessert werden. Nichtsdestotrotz kann eine hohe Genauigkeit der Verkehrszeichenerkennung gewährleistet werden, da durch eine Summendarstellung eine hohe Approximationsgüte erreicht werden kann. Zusammengefasst lässt sich so also die Verkehrszeichenerkennung auf Grundlage faltender neuronaler Netze bestmöglich im Fahrzeug umsetzen.
  • Eine weitere Ausführungsform sieht vor, dass die Aktivierungen der Faltungsoperationen zur Durchführung der generalisierten Matrixmultiplikationen jeweils durch eine vorbestimmte Anzahl an binären Aktivierungs-Basis-Matrizen und zumindest quantisierten Aktivierungs-Basis-Parametern approximiert werden. Zur Steigerung der Echtzeitfähigkeit der gesamten Verkehrszeichenerkennung kann es vorteilhaft sein, dass bei den generalisierten Matrixmultiplikationen, bei denen die Aktivierungen mit den generalisierten Gewichtsmatrizen multipliziert werden, die Aktivierungen durch eine gewichtete Summe von Aktivierungs-Basis-Matrizen mit binären Werten approximiert werden. Die jeweiligen Gewichte der Aktivierungs-Basis-Matrizen entsprechen den zumindest quantisierten Aktivierungs-Basis-Parametern. Durch die Verwendung der Gewichts-Basis-Matrizen mit binären Werten vereinfacht sich die generalisierte Matrixmultiplikation, sodass die Verkehrszeichenerkennung unter Berücksichtigung der technischen Gegebenheiten der Recheneinrichtung bei optimaler Nutzung der Kapazitäten durchgeführt werden kann. Der Anforderung an die Echtzeitfähigkeit der Verkehrszeichenerkennung wird so zusätzlich Rechnung getragen.
  • Besonders vorteilhaft ist es, wenn die generalisierten Matrixmultiplikationen sowohl eine Approximation der generalisierten Gewichtsmatrizen als auch eine Approximation der Aktivierungen umfasst. Die generalisierten Matrixmultiplikationen beschränken sich so auf eine Multiplikation einzelner binärer Matrizen, eine Summenbildung und eine Multiplikation weniger maximal quantisierter Zahlen.
  • Ausgehend von einer 32-Bit Genauigkeit können so beispielsweise zur Senkung der Systemreaktionszeit bis zu fünf Gewichts-Basis-Matrizen und/oder bis zu fünf Aktivierungs-Basis-Matrizen verwendet werden. Ausgehend von einer 16-Bit Genauigkeit sind beispielsweise bis zu vier Gewichts-Basis-Matrizen und/oder bis zu vier Aktivierungs-Basis-Matrizen denkbar, um die Systemreaktionszeit der Verkehrszeichenerkennung zu senken. Zusätzlich kann gelten: Je höher die Anzahl an primären Gewichts-Basis-Matrizen bzw. je höher die Anzahl an binären Aktivierungs-Basis-Matrizen desto höher ist die Genauigkeit der Verkehrszeichenerkennung.
  • Zudem können die binären Matrixmultiplikationen mittels bit-weiser Logikverknüpfungen und durch die Berechnung von Hamming-Gewichten besonders hardware-ressourcenschonend und echtzeitfähig realisiert werden. Darüber hinaus wird eine hohe Genauigkeit der Verkehrszeichenerkennung gewährleistet. Insgesamt ergibt sich so eine Verkehrszeichenerkennung, die in besonderem Maße den Anforderungen heutiger Assistenzsystemen in Fahrzeugen gewachsen ist.
  • Eine einfache Binarisierung eines neuronalen Netzes zur Verkehrszeichenerkennung kann meist dazu führen, dass die Genauigkeit der Verkehrszeichenerkennung deutlich abnimmt. Die vorteilhafte Ausgestaltung durch eine Binarisierung, die auf eine Kombination von Gewichts-Basis-Matrizen und zumindest quantisierten Gewichts-Basis-Parametern und alternativ oder zusätzlich auf eine Kombination von Aktivierungs-Basis-Matrizen und zumindest quantisierten Aktivierungs-Basis-Parametern setzt, weist mehrere positive Effekte auf. So wird der Speicherbedarf des neuronalen Netzes signifikant reduziert. Darüber hinaus ist der Speicherbedarf nur geringfügig größer als der Speicherbedarf eines gewöhnlich binarisierten neuronalen Netzes, das beispielsweise mittels der Vorzeichenfunktion binarisiert wird. Dennoch werden die ursprünglichen Gewichte mittels der vorteilhaften Ausgestaltung derart gut approximiert, sodass die Genauigkeit der Verkehrszeichenerkennung nur unwesentlich beeinflusst wird. Mit anderen Worten weist das Verfahren die Vorteile einer gewöhnlichen Binarisierung auf, ohne jedoch die Nachteile mitsichzubringen.
  • In einer weiteren Ausgestaltung werden als die generalisierten Gewichtsmatrizen fixpunktquantisierte Gewichtsmatrizen jeweils durch eine vorbestimmte Anzahl an binären Gewichts-Basis-Matrizen und zumindest quantisierten Gewichts-Basis-Parametern approximiert. Zudem werden als die Aktivierungen fixpunktquantisierte Aktivierungen der Faltungsoperationen jeweils durch eine vorbestimmte Anzahl an binären Aktivierungs-Basis-Matrizen und zumindest quantisierten Aktivierungs-Basis-Parametern approximiert. Grundsätzlich sind Recheneinrichtungen mit einer bit-seriellen Architektur bereits in der Lage, die Faltungsoperationen als generalisierte Matrixmultiplikationen effizient zu berechnen, sofern die generalisierten Gewichtsmatrizen fixpunktquantisierte Gewichtsmatrizen sind. Werden die fixpunktquantisierten Gewichtsmatrizen, also Gewichtsmatrizen, deren Einträge als Festkommazahlen in der Recheneinrichtung realisiert sind, durch binäre Gewichts-Basis-Matrizen und zumindest quantisierte Gewichts-Basis-Parameter approximiert, so kann die Verkehrszeichenerkennung beschleunigt werden. Dazu kann es von Vorteil sein, wenn auch die Aktivierungen, die zunächst meist Festkommazahlen oder Fließkommazahlen als Einträge aufweisen, jeweils durch binäre Aktivierungs-Basis-Matrizen und zumindest quantisierte Aktivierungs-Basis-Parameter approximiert werden. Gerade eine Kombination approximierter fixpunktquantisierter Gewichtsmatrizen und approximierter fixpunktquantisierter Aktivierungen beschleunigt die Verkehrszeichenerkennung und setzt die Verkehrszeichenerkennung hardware-ressourcenschonend und effizient um. Die Verkehrszeichenerkennung mittels neuronaler Netze kann somit selbst unter Berücksichtigung eingeschränkter technischer Möglichkeiten auf kostengünstiger Hardware realisiert werden.
  • Ferner ist vorteilhaft, wenn die Anzahl an binären Gewichts-Basis-Matrizen und die Anzahl an binären Aktivierungs-Basis-Matrizen für jede der Faltungsoperationen frei konfiguriert wird. Beispielsweise können also die Aktivierungen der ersten Schicht bzw. der ersten Faltungsoperation durch drei binäre Aktivierungs-Basis-Matrizen sowie drei zumindest quantisierte Aktivierungs-Basis-Parameter approximiert werden. Die Aktivierungen der zweiten Faltungsoperation können beispielsweise durch fünf binäre Aktivierungs-Basis-Matrizen sowie fünf zumindest quantisierte Aktivierungs-Basis-Parameter approximiert werden. Analog dazu können die generalisierten Gewichtsmatrizen der ersten Faltungsoperation durch drei binäre Gewichts-Basis-Matrizen sowie drei zumindest quantisierte Gewichts-Basis-Parameter approximiert werden. Die generalisierte Gewichtsmatrix der zweiten Faltungsoperation kann beispielsweise durch fünf binäre Gewichts-Basis-Matrizen sowie fünf zumindest quantisierte Gewichts-Basis-Parameter approximiert werden.
  • Zudem ist vorteilhaft, wenn die Anzahl an binären Gewichts-Basis-Matrizen unabhängig von der Anzahl an binären Aktivierungs-Basis-Matrizen gewählt wird. Folglich kann beispielsweise die generalisierte Gewichtsmatrix durch drei binäre Gewichts-Basis-Matrizen sowie drei zumindest quantisierte Gewichts-Basis-Parameter approximiert werden. Im Gegensatz dazu kann beispielsweise die Aktivierung der ersten Faltungsoperation durch fünf binäre Aktivierungs-Basis-Matrizen sowie fünf zumindest quantisierte Aktivierungs-Basis-Parameter approximiert werden. Weiterhin ist denkbar, dass sich die Anzahl an binären Gewichts-Basis-Matrizen sowie die Anzahl an binären Aktivierungs-Basis-Matrizen aller anderen Faltungsoperationen voneinander unterscheiden. Mit anderen Worten kann sich also die Anzahl an binären Gewichts-Basis-Matrizen von der Anzahl an binären Aktivierungs-Basis-Matrizen unterscheiden. Zudem kann sich aber auch die Anzahl an binären Gewichts-Basis-Matrizen und/oder die Anzahl an binären Aktivierungs-Basis-Matrizen von der Anzahl an binären Gewichts-Basis-Matrizen und/oder der Anzahl an binären Aktivierungs-Basis-Matrizen einer weiteren Faltungsoperation unterscheiden.
  • Eine erfindungsgemäße Recheneinrichtung für ein Fahrzeug ist zum Durchführen eines erfindungsgemäßen Verfahrens und der vorteilhaften Ausgestaltungen davon eingerichtet. Die Recheneinrichtung kann zumindest ein elektronisches Steuergerät umfassen.
  • Eine weitere Ausgestaltung sieht vor, dass die Recheneinrichtung einen Beschleuniger mit einer bit-seriellen Architektur aufweist. Die Recheneinrichtung umfasst Register bzw. Speicherbereiche für die Gewichts-Basis-Matrizen sowie die Aktivierungs-Basis-Matrizen. Darüber hinaus umfasst die Recheneinrichtung einzelne Einheiten, sogenannte Dot-Product-Units (DPUs). In den DPUs kann die generalisierte Matrixmultiplikation von Gewichts-Basis-Matrizen mit den Aktivierungs-Basis-Matrizen, die jeweils in den Registern gespeichert werden können, berechnet werden. Jede der DPUs kann jeweils ein Skalarprodukt von Zeile und Spalte der Aktivierung bzw. der generalisierten Gewichtsmatrix bzw. deren Approximation berechnen.
  • Beispielsweise kann die Recheneinrichtung 16 DPUs umfassen. Je nach Größe der zu multiplizierenden Matrizen erhöht sich die Anzahl der zur vollständigen Berechnung nötigen Schleifen an parallel ausgeführten Skalarprodukten von Zeilen und Spalten. Da diese Berechnung bit-weise erfolgen kann, kann auch von einer bit-seriellen Durchführung der generalisierten Matrixmultiplikation gesprochen werden. Nach der Berechnung kann das Ergebnis anschließend in einen Ausgabepuffer der Recheneinrichtung übertragen werden.
  • Ein weiterer Aspekt der Erfindung betrifft ein Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch eine Recheneinrichtung diese veranlassen, ein erfindungsgemäßes Verfahren und die vorteilhaften Ausgestaltungen davon auszuführen. Des Weiteren betrifft die Erfindung ein computerlesbares (Speicher)Medium, umfassend Befehle, die bei der Ausführung durch eine Recheneinrichtung diese veranlassen, ein erfindungsgemäßes Verfahren und die vorteilhaften Ausgestaltungen davon auszuführen.
  • Ein weiterer Aspekt der Erfindung betrifft ein Assistenzsystem für ein Fahrzeug mit einer erfindungsgemäßen Recheneinrichtung. Zudem kann das Assistenzsystem zumindest eine Kamera aufweisen, mittels welcher Bilddaten aufgenommen werden können, welche die Umgebung des Fahrzeugs beschreiben.
  • Ein erfindungsgemäßes Fahrzeug umfasst ein erfindungsgemäßes Assistenzsystem. Das Fahrzeug ist insbesondere als Personenkraftwagen ausgebildet.
  • Die mit Bezug auf das erfindungsgemäße Verfahren vorgestellten bevorzugten Ausführungsformen und deren Vorteile gelten entsprechend für die erfindungsgemäße Recheneinrichtung, für das erfindungsgemäße Assistenzsystem, für das erfindungsgemäße Fahrzeug, für das erfindungsgemäße Computerprogramm sowie für das erfindungsgemäße computerlesbare (Speicher)Medium.
  • Weiter Merkmale der Erfindung ergeben sich aus den Ansprüchen, den Figuren und der Figurenbeschreibung. Die vorstehend in der Beschreibung genannten Merkmale und Merkmalskombinationen, sowie die nachfolgend in der Figurenbeschreibung genannten und/oder in den Figuren alleine gezeigten Merkmale und Merkmalskombinationen sind nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar, ohne den Rahmen der Erfindung zu verlassen.
  • Die Erfindung wird nun anhand von bevorzugten Ausführungsbeispielen sowie unter Bezugnahme auf die beigefügten Zeichnungen näher erläutert.
    • 1 eine schematische Darstellung eines Fahrzeugs, welches ein Assistenzsystem zur Verkehrszeichenerkennung aufweist,
    • 2 eine schematische Darstellung einzelner Bausteine einer Recheneinrichtung gemäß dem Stand der Technik, bei dem die Recheneinrichtung zur Verkehrszeichenerkennung mittels eines faltenden neuronalen Netzes, welches quantisierte Gewichte aufweist, ausgebildet ist und die Faltungsoperationen in Form generalisierter Matrixmultiplikationen bit-seriell durchführt, und
    • 3 eine schematische Darstellung einzelner Bausteine einer Recheneinrichtung, die zur Verkehrszeichenerkennung mittels eines faltenden neuronalen Netzes, welches Gewichte und Aktivierungen aufweist, die mittels binärer Basis-Matrizen approximiert werden, ausgebildet ist und die Faltungsoperationen in Form generalisierter Matrixmultiplikationen bit-seriell durchführt.
  • In den Figuren werden gleiche oder funktionsgleiche Elemente mit den gleichen Bezugszeichen versehen.
  • 1 zeigt in einer schematischen Darstellung ein Fahrzeug 1, welches als Personenkraftwagen ausgebildet ist, in einer Draufsicht. Das Fahrzeug 1 umfasst ein Assistenzsystem 2, mittels welchem ein Verkehrszeichen 3 detektiert und klassifiziert werden kann. Das Assistenzsystem 2 umfasst eine Kamera 4 und eine Recheneinrichtung 5. Die Kamera 4 erfasst Bilddaten, welche eine Umgebung 6 des Fahrzeugs 1 beschreiben. Die Bilddaten können die Umgebung 6 in Fahrtrichtung vor dem Fahrzeug 1 beschreiben. Die Bilddaten können von der Kamera 4 an die Recheneinrichtung 5 übertragen werden. Die Recheneinrichtung 5 kann als ein elektronisches Steuergerät ausgebildet sein. Die Recheneinrichtung 5 kann die Bilddaten, welche die Umgebung 6 des Fahrzeugs 1 beschreiben, analysieren. Durch die Anwendung eines faltenden künstlichen neuronalen Netzes durch die Ausführung eines Computerprogramms auf der Recheneinrichtung 5 können Verkehrszeichen 3 detektiert werden. Zudem können die Verkehrszeichen 3 von der Recheneinrichtung 5 mittels des faltenden künstlichen neuronalen Netzes auch klassifiziert, also auch interpretiert, werden.
  • 2 zeigt eine schematische Darstellung einer Recheneinrichtung 5 gemäß dem Stand der Technik. Die Recheneinrichtung 5 zur Verkehrszeichenerkennung ist zur bit-seriellen Durchführung einer Faltungsoperation in Form einer generalisierten Matrixmultiplikation eines faltenden künstlichen neuronalen Netzes ausgebildet. Das faltende künstliche neuronale Netz weist fixpunktquantisierte Gewichte 7, also Gewichte 7, die als Festkommazahl gespeichert werden, auf. Zudem können auch die Aktivierungen 8 fixpunktquantisiert sein. Die Gewichte 7 werden in einem Register 9 bzw. einem Speicherbereich der Recheneinrichtung 5 gespeichert. Ebenso werden die Aktivierungen in einem Register 9 der Recheneinrichtung 5 gespeichert. In 2 ist das Register 9 so dargestellt, dass jede einzelne Zelle des Registers 9 einem Bit entspricht. Die Dimensionen A, B bzw. A', B' entsprechen den Dimensionen der Aktivierungen 8 bzw. der generalisierten Gewichtsmatrizen der Gewichte 7. Die Dimension P entspricht der Präzision, also der Anzahl an Bits, mit denen die Aktivierungen und/oder die Gewichte in dem Register 9 der Recheneinrichtung 5 realisiert sind. In diesem Beispiel beträgt die Präzision vier Bit.
  • Die Berechnung der generalisierten Matrixmultiplikation, also der Multiplikation der fixpunktquantisierten generalisierten Gewichtsmatrix mit den fixpunktquantisierten Aktivierungen erfolgt in den einzelnen Einheiten, den sogenannten Dot-Product-Units (DPUs) 10. Dabei wird das Skalarprodukt einer Zeile der generalisierten Gewichtsmatrix mit einer Spalte der Aktivierung innerhalb einer einzelnen Dot-Product-Unit 11 berechnet. Da die Berechnung jeweils bit-weise, also Schicht für Schicht in der Dimension P erfolgen kann, kann die Durchführung der generalisierten Matrixmultiplikation bit-seriell erfolgen. Die Architektur der Recheneinrichtung 5 ist demzufolge bit-seriell. Das Ergebnis der bit-seriellen Berechnung kann anschließend in den Ausgabepuffer 12 der Recheneinrichtung 5 übertragen werden.
  • Eine Durchführung der generalisierten Matrixmultiplikationen mittels einer Kombination aus Exklusiv-NICHT-ODER-Verknüpfungen und mittels Hamming-Gewichten erlaubt aufgrund der Einfachheit der Operationen die Ausführung zusätzlich zu beschleunigen.
  • 3 zeigt eine schematische Darstellung der erfindungsgemäßen Recheneinrichtung 5 zum Durchführen eines erfindungsgemäßen Verfahrens zur Verkehrszeichenerkennung und der vorteilhaften Ausgestaltungen davon. Die Recheneinrichtung 5 zur Verkehrszeichenerkennung ist zur bit-seriellen Durchführung einer Faltungsoperation in Form einer generalisierten Matrixmultiplikation eines faltenden künstlichen neuronalen Netzes ausgebildet.
  • Im Gegensatz zu 2 können die Register 9, also die Speicherbereiche der Recheneinrichtung 5 kleiner dimensioniert werden. Kleiner bedeutet hierbei weniger Byte bzw. Bit umfassend. Aufgrund der Binarisierung wird nur eine Schicht 13 pro Register 9 benötigt, wobei diese jedoch anders ausgebildet sein kann. In dem vorliegenden Beispiel beträgt die Größe der Register 9 für die Speicherung der Aktivierungen 8 bzw. der generalisierten Gewichtsmatrizen, und damit der Gewichte 7, so nur die Hälfte der Größe des Registers 9 aus 2. Im Allgemeinen kann das Einsparungspotential auch weitaus größer sein, sofern die ursprüngliche Fixpunktquantisierung beispielsweise auf einer Bitlänge von acht oder mehr Bit basiert.
  • Statt vier Schichten 13, deren Anzahl der Präzision P entspricht, wird nur eine Schicht benötigt, deren Dimension B" jedoch dem Doppelten der Dimension B entspricht, also die doppelte Anzahl an Bits. Dabei werden die ursprünglichen Aktivierungen 8 durch eine gewichtete Summe binärer Aktivierungs-Basis-Matrix 14 approximiert. Analog dazu werden die generalisierten Gewichtsmatrizen, also die Gewichte 7, durch eine gewichtete Summe von Gewichts-Basis-Matrizen 15 approximiert.
  • Da die binären Aktivierungs-Basis-Matrizen 14 bzw. die binären Gewichts-Basis-Matrizen 15 nebeneinander angeordnet sind - in 3 schraffiert dargestellt - kann die Faltungsoperation in nur einem Zyklus vollständig parallel berechnet werden. Im Gegensatz dazu benötigt die fixpunktquantisierte bit-serielle Durchführung der Faltungsoperationen jeweils mehrere Schleifen. Die Anzahl der Schleifen entspricht dabei der Präzision P. Je mehr Schleifen die Recheneinrichtung 5 zur Durchführung der Faltungsoperation benötigt, desto größer ist die benötigte Zeitspanne für eine Systemreaktion und damit für die Verkehrszeichenerkennung.
  • So kann die Registergröße des zumindest einen Prozessors der Recheneinrichtung 5, die zur Anwendung des faltenden neuronalen Netzes zur Verkehrszeichenerkennung ausgebildet ist, reduziert werden. Folglich werden insbesondere die technischen Gegebenheiten der Recheneinrichtung 5 berücksichtigt. Dennoch werden die ursprünglichen Gewichte 7 und die ursprünglichen Aktivierungen 8 derart gut approximiert, dass die Genauigkeit der Verkehrszeichenerkennung des Assistenzsystems 2 nur unwesentlich beeinflusst wird.
  • Zum einen wird so die Verkehrszeichenerkennung auf Basis eines faltenden künstlichen neuronalen Netzes echtzeitfähig umgesetzt und zum anderen können zusätzliche Hardware-Design-Aspekte berücksichtigt werden. Dabei bleibt die Genauigkeit der Verkehrszeichenerkennung gegenüber einem faltenden künstlichen neuronalen Netz, dessen Gewichte 7 in Form von Fließkommazahlen realisiert sind, auf nahezu gleichbleibend hohem Niveau.
  • 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 102018128080 A1 [0016]

Claims (11)

  1. Verfahren zur Verkehrszeichenerkennung für ein Assistenzsystem (2) eines Fahrzeugs (1), umfassend die Schritte: - Empfangen von Bilddaten, welche eine Umgebung (6) des Fahrzeugs (1) beschreiben, und - Detektieren und Klassifizieren von Verkehrszeichen (3) auf Grundlage der Bilddaten mittels einer Recheneinrichtung (5), wobei - zum Detektieren und Klassifizieren der Verkehrszeichen (3) ein faltendes künstliches neuronales Netz auf die Bilddaten angewendet wird, und - wobei bei der Anwendung des faltenden künstlichen neuronalen Netzes eine Mehrzahl von Faltungsoperationen durchgeführt wird, dadurch gekennzeichnet, dass - bei der Durchführung der Faltungsoperationen binarisierte Gewichte und/oder binarisierte Aktivierungen (8) verwendet werden, - die Recheneinrichtung (5) eine bit-serielle Architektur aufweist und die Faltungsoperationen mit den binarisierten Gewichten und/oder den binarisierten Aktivierungen (8) bit-seriell als generalisierte Matrixmultiplikationen durchgeführt werden.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die bit-seriell durchgeführten generalisierten Matrixmultiplikationen mittels bit-weiser Logikverknüpfungen, insbesondere Exklusiv-NICHT-ODER-Verknüpfungen, und mittels Hamming-Gewichten berechnet werden.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass zur bit-seriellen Durchführung der generalisierten Matrixmultiplikationen verwendete Gewichte (7) der Faltungsoperationen in Form von generalisierten Gewichtsmatrizen bereitgestellt werden und die Gewichtsmatrizen jeweils durch eine vorbestimmte Anzahl an binären Gewichts-Basis-Matrizen (15) und zumindest quantisierten Gewichts-Basis-Parametern approximiert werden.
  4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Aktivierungen der Faltungsoperationen zur Durchführung der generalisierten Matrixmultiplikationen jeweils durch eine vorbestimmte Anzahl an binären Aktivierungs-Basis-Matrizen (14) und zumindest quantisierten Aktivierungs-Basis-Parametern approximiert werden.
  5. Verfahren nach Anspruch 3 und 4, dadurch gekennzeichnet, dass als die generalisierten Gewichtsmatrizen fixpunktquantisierte Gewichtsmatrizen jeweils durch eine vorbestimmte Anzahl an binären Gewichts-Basis-Matrizen (15) und zumindest quantisierten Gewichts-Basis-Parametern approximiert werden und dass als die Aktivierungen (8) fixpunktquantisierte Aktivierungen (8) der Faltungsoperationen jeweils durch eine vorbestimmte Anzahl an binären Aktivierungs-Basis-Matrizen (14) und zumindest quantisierten Aktivierungs-Basis-Parametern approximiert werden.
  6. Verfahren nach einem der Ansprüche 3 bis 5, dadurch gekennzeichnet, dass die Anzahl an binären Gewichts-Basis-Matrizen (15) und die Anzahl an binären Aktivierungs-Basis-Matrizen (14) für jede der Faltungsoperationen frei konfiguriert wird.
  7. Verfahren nach einem der Ansprüche 3 bis 6, dadurch gekennzeichnet, dass die Anzahl an binären Gewichts-Basis-Matrizen (15) unabhängig von der Anzahl an binären Aktivierungs-Basis-Matrizen (14) gewählt wird.
  8. Recheneinrichtung (5) für ein Fahrzeug (1), welche zum Durchführen eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist.
  9. Recheneinrichtung (5) nach Anspruch 8, dadurch gekennzeichnet, dass die Recheneinrichtung (5) einen Beschleuniger mit einer bit-seriellen Architektur aufweist.
  10. Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch eine Recheneinrichtung (5) diese veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 7 auszuführen.
  11. Computerlesbares (Speicher)Medium, umfassend Befehle, die bei der Ausführung durch eine Recheneinrichtung (5) diese veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 7 auszuführen.
DE102021112821.8A 2021-05-18 2021-05-18 Verfahren zur Verkehrszeichenerkennung für ein Assistenzsystem eines Fahrzeugs mit einer bit-seriellen architekturaufweisenden Recheneinrichtung sowie Recheneinrichtung für ein Fahrzeug Pending DE102021112821A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021112821.8A DE102021112821A1 (de) 2021-05-18 2021-05-18 Verfahren zur Verkehrszeichenerkennung für ein Assistenzsystem eines Fahrzeugs mit einer bit-seriellen architekturaufweisenden Recheneinrichtung sowie Recheneinrichtung für ein Fahrzeug

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021112821.8A DE102021112821A1 (de) 2021-05-18 2021-05-18 Verfahren zur Verkehrszeichenerkennung für ein Assistenzsystem eines Fahrzeugs mit einer bit-seriellen architekturaufweisenden Recheneinrichtung sowie Recheneinrichtung für ein Fahrzeug

Publications (1)

Publication Number Publication Date
DE102021112821A1 true DE102021112821A1 (de) 2022-11-24

Family

ID=83898899

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021112821.8A Pending DE102021112821A1 (de) 2021-05-18 2021-05-18 Verfahren zur Verkehrszeichenerkennung für ein Assistenzsystem eines Fahrzeugs mit einer bit-seriellen architekturaufweisenden Recheneinrichtung sowie Recheneinrichtung für ein Fahrzeug

Country Status (1)

Country Link
DE (1) DE102021112821A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018128080A1 (de) 2017-11-13 2019-05-16 Samsung Electronics Co., Ltd. Verfahren und Vorrichtung zur Quantisierung eines künstlichen neuronalen Netzwerkes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018128080A1 (de) 2017-11-13 2019-05-16 Samsung Electronics Co., Ltd. Verfahren und Vorrichtung zur Quantisierung eines künstlichen neuronalen Netzwerkes

Similar Documents

Publication Publication Date Title
DE112019000336T5 (de) Massiv parallele neuronale inferenz-datenverarbeitungselemente
DE102017218889A1 (de) Unscharf parametriertes KI-Modul sowie Verfahren zum Betreiben
EP3701433B1 (de) Verfahren, vorrichtung und computerprogramm zur erstellung eines tiefen neuronalen netzes
DE102021200012A1 (de) Optimierte quantisierung für neuronale netze mit verringerter auflösung
DE102016222814A1 (de) Verfahren zum berechnen einer ausgabe eines neuronalen netzes
DE69110538T2 (de) Neuronales Klassifikationssystem and -verfahren.
DE112021005568T5 (de) Datenverarbeitungsvorrichtung und Datenverarbeitungsverfahren
DE102021112821A1 (de) Verfahren zur Verkehrszeichenerkennung für ein Assistenzsystem eines Fahrzeugs mit einer bit-seriellen architekturaufweisenden Recheneinrichtung sowie Recheneinrichtung für ein Fahrzeug
DE102021200643B3 (de) Verfahren zur Umfelderkennung für teilautonome oder autonome Fahrfunktionen eines Kraftfahrzeugs mittels eines neuronalen Netzes
DE102019113874A1 (de) Hochpräzises niedrigbit-convolutional-neural-network
EP3811199B1 (de) Recheneinheit, verfahren und computerprogramm zum multiplizieren zumindest zweier multiplikanden
EP4002217A1 (de) Verfahren zur reduktion von trainingsdaten
DE102020210700A1 (de) Flexiblerer iterativer Betrieb künstlicher neuronaler Netzwerke
DE102021201833A1 (de) Vorrichtung zur Verarbeitung von mindestens einem Eingangsdatensatz unter Verwendung eines neuronalen Netzes sowie Verfahren
EP4097647A1 (de) Verfahren zur qualitätssicherung eines beispielbasierten systems
DE102020208765A1 (de) Bildklassifikator mit variablen rezeptiven Feldern in Faltungsschichten
DE102021115879A1 (de) Verfahren zum Bereitstellen eines komprimierten neuronalen Netzes
DE102021109754A1 (de) Verfahren und Vorrichtung zum Ermitteln von Netzkonfigurationen eines neuronalen Netzes unter Erfüllung einer Mehrzahl von Nebenbedingungen
DE102021124252A1 (de) Neuronale Netzwerksysteme für abstraktes Denken
DE202021102084U1 (de) Vorrichtung zum Ermitteln von Netzkonfigurationen eines neuronalen Netzes unter Erfüllung einer Mehrzahl von Nebenbedingungen
EP4205047A1 (de) Verfahren zur qualitätssicherung eines beispielbasierten systems
DE102021207274A1 (de) Verfahren zum Trainieren eines neuronalen Netz-Ensembles
DE102021123695A1 (de) Deep-learning-maschine und arbeitsverfahren davon
EP4075338A1 (de) Schneller und energiesparender iterativer betrieb künstlicher neuronaler netzwerke
DE202021103699U1 (de) Vorrichtung zum Trainieren eines neuronalen Netz-Ensembles

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009660000

Ipc: G06V0030194000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06V0030194000

Ipc: G06V0020580000