Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
COMPUTER-IMPLEMENTED METHOD FOR COMPUTING CONVOLUTIONAL NETWORKS, COMPUTER SYSTEM, COMPUTER PROGRAM, AND AUTOMATICALLY OPERABLE VEHICLE
Document Type and Number:
WIPO Patent Application WO/2021/175834
Kind Code:
A1
Abstract:
The invention relates to a computer-implemented method for computing convolutional networks, to a computer program and to an automatically operable vehicle. The invention is directed to the computation of convolutional networks on microcontrollers.

Inventors:
SCHMIDT JONAS (DE)
HERTKORN MICHAEL (DE)
TROCHOWSKI MARTIN DAMIAN (DE)
Application Number:
PCT/EP2021/055152
Publication Date:
September 10, 2021
Filing Date:
March 02, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ZAHNRADFABRIK FRIEDRICHSHAFEN (DE)
International Classes:
G06N3/063; G06N3/04
Foreign References:
DE102019213697A12021-03-11
Other References:
LU YICHENG ET AL: "A Depthwise Separable Convolution Neural Network for Small-footprint Keyword Spotting Using Approximate MAC Unit and Streaming Convolution Reuse", 2019 IEEE ASIA PACIFIC CONFERENCE ON CIRCUITS AND SYSTEMS (APCCAS), IEEE, 11 November 2019 (2019-11-11), pages 309 - 312, XP033687691, DOI: 10.1109/APCCAS47518.2019.8953096
JON NORDBY: "Environmental Sound Classification on Microcontrollers using Convolutional Neural Networks", MASTER'S THESIS, 1 January 2019 (2019-01-01), XP055764016, Retrieved from the Internet [retrieved on 20210112]
RANE DHARMA ET AL: "Detection of Ambulance Siren in Traffic", 2019 INTERNATIONAL CONFERENCE ON WIRELESS COMMUNICATIONS SIGNAL PROCESSING AND NETWORKING (WISPNET), IEEE, 21 March 2019 (2019-03-21), pages 401 - 405, XP033739807, DOI: 10.1109/WISPNET45539.2019.9032797
NAKAZAWA SHINTARO ET AL: "Announcement Capture System in Real Environments Using Recurrent Neural Network", 2020 IEEE/SICE INTERNATIONAL SYMPOSIUM ON SYSTEM INTEGRATION (SII), IEEE, 12 January 2020 (2020-01-12), pages 1046 - 1051, XP033730980, DOI: 10.1109/SII46433.2020.9025855
Y. LECUN ET AL.: "Gradient-Based Learning Applied to Document Recognition, II.A. Convolutional Networks", PROC. OF THE IEEE, November 1998 (1998-11-01)
Download PDF:
Claims:
Patentansprüche

1. Computerimplementiertes Verfahren zur Berechnung von Faltungsnetzwerken (F) umfassend die Schritte:

• Erhalten eines ersten Bildes als Eingabe für ein Faltungsnetzwerk (F) aus ei nem Intervall (R) einer Messreihe wenigstens eines Umfelderfassungs sensors und Erhalten eines zu dem ersten Bild gleichgroßen zweiten Bildes als Eingabe für das Faltungsnetzwerk (F) aus dem Intervall (R)der um eine Aktualisierungsgröße (U) aktualisierten Messreihe (V1),

• Eingeben des ersten und zweiten Bildes in das Faltungsnetzwerk (F), Falten des ersten und zweiten Bildes mit wenigstens einem ersten Filter (31) in einer ersten Schicht des Faltungsnetzwerks (F), und Erhalten eines ersten und zweiten Faltungsbildes (V2), wobei

• eine erste Dimension des ersten Faltungsbildes um die Aktualisierungsgröße (U) reduziert und das reduzierte erste Faltungsbild in einem ersten Speicher bereich eines Computersystems gespeichert wird (V3), und

• bei dem Falten des zweiten Bildes der erste Filter (31 ) in der ersten Dimen sion des zweiten Bildes eingeschränkt auf die Summe der Aktualisierungs größe (U) und einer um eine Schrittgröße des ersten Filters (31) verminderten entsprechenden Dimension des ersten Filters (31) angewendet wird und Werte des reduzierten ersten Faltungsbildes aus dem ersten Speicherbereich erhalten werden (V4).

2. Verfahren nach Anspruch 1, wobei

• das erste Faltungsbild und das zweite Faltungsbild in einer zweiten Schicht des Faltungsnetzwerkes (F) jeweils diskretisiert werden mit wenigstens einem zweiten Filter (32),

• das diskretisierte erste Faltungsbild in der ersten Dimension reduziert und das reduzierte diskretisierte erste Faltungsbild in einem zweiten Speicherbereich des Computersystems gespeichert wird,

• und bei der Diskretisierung des zweiten Faltungsbildes der zweite Filter (32) in der ersten Dimension des zweiten Faltungsbildes o eingeschränkt auf die um die Aktualisierungsgröße (U) verminderte entsprechende Dimension des ersten Faltungsbildes angewendet wird, falls der Wert der um die Aktualisierungsgröße (U) verminderten ent sprechenden Dimension des ersten Faltungsbildes teilbar durch den Wert der entsprechenden Dimension des zweiten Filters (32) ist, oder o eingeschränkt auf die um die Aktualisierungsgröße (U) verminderte entsprechende Dimension des ersten Faltungsbildes modulo dem Wert der Dimension des zweiten Filters (32) angewendet wird, o und Werte des reduzierten diskretisierten ersten Faltungsbildes aus dem zweiten Speicherbereich erhalten werden.

3. Verfahren nach Anspruch 1 oder 2, wobei das erste und zweite Bild mit mehreren ersten Filtern (31) in der ersten Schicht gefaltet werden.

4. Verfahren nach einem der Ansprüche 1 bis 3, wobei

• der wenigstens erste (31 ) und/oder zweite Filter (32) in mehreren Schichten angewendet werden um Bilder, die in die jeweiligen Schichten eingegeben werden, zu falten und/oder jeweilige Faltungsbilderzu diskretisieren,

• die Messreihe mehrmals aktualisiert wird und

• das Verfahren je Aktualisierungsgröße (U) in jeder Schicht wiederholt wird.

5. Verfahren nach einem der Ansprüche 1 bis 4, wobei das Computersystem ein Mikrokontroller und die Messreihe Audiodaten wenigstens eines Verkehrsgeräusche detektierenden Akustiksensors umfasst und das erste und zweite Bild jeweils eine Mel Frequenz Cepstrum Koeffizienten Darstellung der Audiodaten sind.

6. Verfahren nach Anspruch 5, wobei das Faltungsnetzwerk (F) trainiert ist, Einsatz geräusche von Einsatzfahrzeugen zu klassifizieren und/oderzu lokalisieren, wobei das Intervall (R) der Messreihe, aus dem die Eingaben für das Faltungsnetzwerk (F) erhalten werden, eine Zeitspanne von 1 s umfasst und die Aktualisierungsgröße (U) im Bereich von 10 ms bis 100 ms, vorzugsweise im Bereich von 50 ms bis 100 ms, liegt und besonders vorzugsweise 100 ms beträgt.

7. Computersystem, umfassend wenigstens eine Prozessoreinheit und einen Spei cherbereich, die so angepasst sind, dass das Computersystem ein Faltungsnetzwerk (F) und die Schritte eines der Verfahren nach einem der Ansprüche 1 bis 6 ausführen kann.

8. Computersystem nach Anspruch 7 umfassend einen Mehrkernprozessor, wobei der Speicherbereich wenigstens vier Speichereinheiten umfasst, wobei

• eine erste Speichereinheit (LMUO) Klassifikations- und/oder Lokalisationser gebnisse des Faltungsnetzwerkes (F) speichert,

• eine zweite Speichereinheit (LMU1 ) Parameter (P) des Faltungsnetzwerkes (F) speichert,

• eine dritte Speichereinheit (DLMU) wenigstens eine Nachschlagtabelle für Transformationen, mit denen eine Messreihe vorprozessiert wird, speichert,

• und eine vierte Speichereinheit (DSPR) Faltungsbilder und diskretisierte Fal tungsbilder speichert, und wobei der Mehrkernprozessor die Speichereinheiten liest und/oder beschreibt während der Ausführung des Faltungsnetzwerkes (F).

9. Computersystem nach Anspruch 7 oder 8, wobei die vierte Speichereinheit (DSPR) einen ersten (23) und zweiten Zwischenspeicher (24) umfasst, wobei der erste Zwischenspeicher (23) Eingaben für Schichten des Faltungsnetzwerkes (F) und der zweite Zwischenspeicher (24) Ausgaben der Schichten speichert.

10. Computerprogramm, umfassend Befehle, die bei der Ausführung des Computer programms durch ein Computersystem nach einem der Ansprüche 7 bis 9 dieses veranlassen, die Schritte eines Verfahrens der Ansprüche 1 bis 6 und dabei ein Fal tungsnetzwerk (F) auszuführen.

11. Automatisiert betreibbares Fahrzeug umfassend

• wenigstens vier Akustiksensoren, die Akustiksensoren angeordnet in einem vorderen und hinteren jeweiligen rechten und linken Bereich des Fahrzeuges und • ein Computersystem nach Anspruch 8 oder 9 ausgeführt als Mikrokontroller, der Signale von den Akustiksensoren erhält,

• wobei ein Mehrkernprozessor des Computersystems wenigstens vier Kerne umfasst und jeder Kern ein Faltungsnetzwerk (F) und die Schritte eines der Verfahren nach einem der Ansprüche 1 bis 6 jeweils basierend auf Signalen eines der Akustiksensoren ausführt und die Ergebnisse fusioniert werden.

Description:
Computerimplementiertes Verfahren zur Berechnung von Faltunqsnetzwerken, Computersvstem, Computerproqramm und automatisiert betreibbares Fahrzeug

Die Erfindung bezieht sich auf ein computerimplementiertes Verfahren zur Berech nung von Faltungsnetzwerken, auf ein Computersystem, auf ein Computerprogramm und auf ein automatisiert betreibbares Fahrzeug.

Aus dem Stand der Technik sind Faltungsnetzwerke, im Englischen convolutional neu ral networks, bekannt, siehe beispielsweise „Gradient-Based Learning Applied to Document Recognition, ILA. Convolutional Networks“, Y. LeCun et al., Proc. of the IEEE, November 1998.

Aus dem Stand der Technik sind auch Computersysteme bekannt, beispielsweise Sys- tems-on-a-Chip oder Mikrokontroller.

Ein Mikrocontroller hat eine relativ begrenzte Rechen- und Speicherkapazität. Dies macht die Anwendung von künstlichen neuronalen Netzen schwierig, weil zu der Be rechnung des Outputs des künstlichen neuronalen Netzwerks viele Rechenoperatio nen benötigt werden. Dies ist abhängig von der Architektur des künstlichen neuronalen Netzwerks. Im Allgemeinen wirkt sich die Größe des Netzes positiv auf die Fähigkeit zur Klassifikation und/oder Lokalisation aus.

Aufgabe der Erfindung war es, wie ein möglichst großes künstliches neuronales Netzwerk, das viele Rechenoperationen benötigt, auf einem Mikrokontroller lauffähig ausgeführt werden kann.

Die Erfindung löst diese Aufgabe durch das Einsparen von Rechenschritten. Damit können wesentlich größere künstliche neuronale Netze auf Computersystemen mit begrenzten Rechen- und Speicherkapazität ausgeführt werden und gleichzeitig bes sere Klassifikations- und/oder Lokalisationsergebnisse erhalten werden. Erfindungs gemäß werden bei der Ausführung eines künstlichen neuronalen Netzwerks Zwi schenergebnisse an den richtigen Stellen in hidden-layers des künstlichen neurona len Netzwerks gemerkt, das heißt zwischengespeichert, um diese Ergebnisse der Vergangenheit wiederzuverwenden und so mit weniger Rechenschritten ein Erken nungsergebnis zu ermitteln.

Gemäß einem Aspekt stellt die Erfindung ein computerimplementiertes Verfahren zur Berechnung von Faltungsnetzwerken bereit. Das Verfahren umfassend die Schritte:

• Erhalten eines ersten Bildes als Eingabe für ein Faltungsnetzwerk aus einem Intervall einer Messreihe wenigstens eines Umfelderfassungssensors und Er halten eines zu dem ersten Bild gleichgroßen zweiten Bildes als Ein-gabe für das Faltungsnetzwerk aus dem Intervall der um eine Aktualisierungsgröße ak tualisierten Messreihe,

• Eingeben des ersten und zweiten Bildes in das Faltungsnetzwerk, Falten des ersten und zweiten Bildes mit wenigstens einem ersten Filter in einer ersten Schicht des Faltungsnetzwerks, und Erhalten eines ersten und zweiten Fal tungsbildes, wobei

• eine erste Dimension des ersten Faltungsbildes um die Aktualisierungsgröße reduziert und das reduzierte erste Faltungsbild in einem ersten Speicher-be- reich eines Computersystems gespeichert wird, und

• bei dem Falten des zweiten Bildes der erste Filter in der ersten Dimension des zweiten Bildes eingeschränkt auf die Summe der Aktualisierungsgröße und ei ner um eine Schriftgröße des ersten Filters verminderten entsprechenden Di mension des ersten Filters angewendet wird und Werte des reduzierten ersten Faltungsbildes aus dem ersten Speicherbereich erhalten werden.

Gemäß einem weiteren Aspekt stellt die Erfindung ein Computersystem bereit. Das Computersystem umfasst wenigstens eine Prozessoreinheit und einen Speicherbe reich. Die Prozessoreinheit und der Speicherbereich sind so angepasst, dass das Computersystem ein Faltungsnetzwerk und die Schritte des erfindungsgemäßen Ver fahrens ausführen kann.

Gemäß einem weiteren Aspekt stellt die Erfindung ein Computerprogramm bereit. Das Computerprogramm umfasst Befehle, die bei der Ausführung des Computerpro gramms durch ein erfindungsgemäßes Computersystem dieses veranlassen, die Schritte des erfindungsgemäßen Verfahrens und dabei ein Faltungsnetzwerk auszu führen.

Gemäß einem weiteren Aspekt stellt die Erfindung ein automatisiert betreibbares Fahrzeug bereit. Das Fahrzeug umfasst

• wenigstens vier Akustiksensoren, die Akustiksensoren angeordnet in einem vorderen und hinteren jeweiligen rechten und linken Bereich des Fahrzeuges und

• ein erfindungsgemäßes Computersystem ausgeführt als Mikrokontroller, der Signale von den Akustiksensoren erhält,

• wobei ein Mehrkernprozessor des Computersystems wenigstens vier Kerne umfasst und jeder Kern ein Faltungsnetzwerk und die Schritte des erfindungs gemäßen Verfahrens jeweils basierend auf Signalen eines der Akustiksenso ren ausführt und die Ergebnisse fusioniert werden.

Weitere Ausgestaltungen der Erfindung ergeben sich aus den Unteransprüchen, den Zeichnungen und der Beschreibung bevorzugter Ausführungsbeispiele.

Computerimplementiert bedeutet, dass die Schritte des Verfahrens von einer Daten verarbeitungsvorrichtung, beispielsweise einem Computersystem, oder Teilen davon ausgeführt werden. Nach einem Aspekt der Erfindung wird das Verfahren auf einem Mikrokontroller durchgeführt.

Die Befehle des Computerprogramms umfassen Softwarecodeabschnitte, Maschi nencode oder Binärcode.

Gemäß einem weiteren Aspekt stellt die Erfindung einen computerlesbareren Daten träger bereit, auf dem das erfindungsgemäße Computerprogramm gespeichert ist. Der Datenträger ist beispielsweise ein SSD, volatiler, RAM, nicht volatiler, ROM, oder Flash Datenträger.

Das Computersystem ist nach einem Aspekt der Erfindung ein Ein-Chip-System, auch System-on-a-Chip genannt. Bei einem Ein-Chip-System, beispielsweise einem Ein-Chip-Computersystem, sind alle oder zumindest ein großer Teil der Funktionen eines programmierbaren elektronischen Systems, beispielsweise eines Computers, auf einem Chip, das heißt einem Die, integriert.

Das Faltungsnetzwerk umfasst nach einem Aspekt der Erfindung folgenden Aufbau:

In eine Eingangsschicht wird ein Bild eingegeben. Das Bild ist beispielsweise in einer Speichereinheit des Mikrokontrollers gespeichert. Diese Speichereinheit wird auch Image Buffer genannt. Der Image Buffer speichert und stellt bereit die Eingaben für die erste Schicht des Faltungsnetzwerks. Nach einem Aspekt der Erfindung umfasst der Mikrokontroller zwei Image Buffer, einen aktiven, aus dem aktuell ausgelesen wird, und einen passiven zur Zwischenspeicherung.

Das Bild wird mit Filterkernel gefaltet und in seinen Dimensionen verkleinert. Bei spielsweise werden mehrere verschiedene Filterkernel angewendet, um verschie dene Merkmale zu filtern oder verschiedene Bereiche des Eingangsbildes unter schiedlich zu gewichten. Beispielsweise werden 10, 20, 30, 40, 50, 60, 70, 80, 90 o- der 100 Filterkernel angewendet. Nach einem Aspekt der Erfindung werden 64 Filter kernel angewendet. Die Filterkernel umfassen beispielsweise Sobel- oder Scharr- Operatoren, um in dem Eingangsbild sogenannte low-level-features zu klassifizieren, beispielsweise Kanten. Aus dem Eingangsbild werden damit beispielsweise 64 Fal tungsbilder erhalten. Die Parameter der Filterkernel sind beispielsweise in einer zwei ten Speichereinheit des Mikrokontrollers gespeichert und werden aus dieser ausgele sen.

Anschließend werden Neuronenverbindungen des Faltungsnetzwerks zu jedem Bild punkt, das heißt Pixel, der erhaltenen Faltungsbilder mit Aktivierungsfunktionen akti viert. Die Aktivierungsfunktion ist beispielsweise eine sogenannte, dem Fachmann bekannte, rectifier Funktion. Die Ausgabe einer rectifier Funktion ist das Maximum aus Eingabe und Null. Beispielsweise sind die Aktivierungsfunktionen für jeden Pixel rectifier Funktionen, das heißt das Faltungsnetzwerk umfasst sogenannte rectifier li near units. Nach einem weiteren Aspekt der Erfindung sind werden auf unterschiedli che Pixel einzeln oder gruppenweise verschiedene Aktivierungsfunktionen angewendet. Die Aktivierungsergebnisse werden gespeichert und sind Eingabe für weitere Berechnungen in den folgenden Schichten des Faltungsnetzwerks.

In einer daran anschließenden ersten Schicht werden die Aktivierungsergebnisse, das sind erneut Bilder, ausgelesen und die Dimensionen der Ausgaben der Ein gangsschicht jeweils mit maxpooling verkleinert. Die Ergebnisse nach dem maxpoo- ling werden beispielsweise in einem Speicherbereich einer vierten Speichereinheit des Mikrokontrollers zwischengespeichert. In einer Ausgabe der ersten Schicht wer den für die anschließende aktuelle Berechnung in der folgenden zweiten Schicht in dem jeweiligen zeitlichen vorherigen gefalteten Bild der zweiten Schicht die Ergeb nisse in dem aktuellsten Bereich, welcher der um die Schrittgröße des Filterkernels verminderten entsprechenden Dimension des Filterkernels entspricht, zwischenge speichert. Diese Ergebnisse werden dann bei der anschließenden aktuellen Faltung in der zweiten Schicht ausgelesen und nicht mehr neu berechnet. Dadurch wird Re chenzeit vorteilhafterweise eingespart.

In einer daran anschließenden zweiten Schicht werden die Ausgaben der ersten Schicht aus dem Zwischenspeicher ausgelesen und mit dem Filterkernel gefaltet. Da bei werden die Dimensionen nochmals verkleinert. Anschließend werden Neuronen verbindungen zu jedem Bildpunkt, das heißt Pixel, der nun erhaltenen Faltungsbilder durch rectifier linear units aktiviert und die Aktivierungsergebnisse zwischengespei chert.

Maxpooling und Zwischenspeichern, erneutes Falten und Zwischenspeichern werden in daran anschließenden dritten bis sechsten Schichten alternierend ausgeführt, wo bei sich die Dimensionen der in den Schichten erhaltenen Bilder von Schicht zu Schicht verkleinern, bis schließlich die sechste Schicht Bilder der Dimension 1x1 , das heißt 1x1 Pixel in x- und y- Richtung, ausgibt.

In der siebten Schicht erfolgt eine Zwischenspeicherung, um in einer vollständig ver bundenen Schicht Assoziationen zwischen allen Pixeln aller Bilder zu erfassen. Dies wird auch dense genannt. In einer daran anschließenden achten Schicht werden die Ausgaben der siebten Schicht linearisiert mittels sogenanntem flatten. Geflattet wird beispielsweise mit der dem Fachmann bekannten Softmax-Funktion. Dabei ist jeder Knoten des Faltungs netzwerks dieser Schicht mit jedem Pixel der eingegebenen Bilder verbunden und mit Softmax-Funktion aktiviert. Die achte Schicht ist ein sogenannter dense layer. Die Ausgabe der achten Schicht sind beispielsweise 64 Zahlenwerte.

Nach einem Aspekt der Erfindung umfasst die Schicht unmittelbar vor der Ausgabe schicht des Faltungsnetzwerks mehrere dense layer, beispielsweise acht.

Eine daran anschließende neunte Schicht ist wieder ein dense layer.

Daran schließt sich eine Ausgabeschicht an, die beispielsweise eine Vorhersage über ein klassifiziertes und/oder lokalisiertes Sirenensignal liefert.

Die erste bis achte Schicht sind zwischen Ein- und Ausgang versteckte Schichten und werden hidden layers genannt.

Nach einem weiteren Aspekt der Erfindung umfasst das Faltungsnetzwerk rekurrente Schichten, beispielsweise long-short-term-memories, um sich Zwischenergebnisse zu merken.

Die Messreihe umfasst zu einem ersten Zeitpunkt erste Daten und wird in jeder Aktu alisierung mit weiteren Daten erweitert. Pro Aktualisierung erfolgt eine Ausgabe des Faltungsnetzwerks. Das Intervall, aus dem die Daten erhalten werden, um das erste und zweite Bild aufzubereiten, hat eine feste Breite. Das heißt, das zweite, aktuali sierte Intervall umfasst noch teilweise die ersten Daten, abhängig von der Aktualisie rungsgröße. Beispielsweise umfasst die Messreihe Audiodaten. Das Faltungsnetz werk ist trainiert, in den Audiodaten Sirenen von Einsatzfahrzeugen zu klassifizieren und/oder lokalisieren. In Deutschland sind die Sirenengeräusche von Einsatzfahrzeu gen in der Norm DIN 14610 spezifiziert. Das Sirenengeräusch umfasst zwei Stamm frequenzen im Bereich zwischen 360 Hz und 630 Hz im Verhältnis 1:1 .333, die in ei ner normierten Reihenfolge alternieren. Zwischen aufeinanderfolgenden Sirenenzyklen liegt eine Zeitspanne von 3+/- 0.5 s. Jeder Ton hat eine Dauer von 0.75 s. Das Sirenensignal ist ein zeitdiskretes Signal. Das Intervall hat die Breite von 1 s. Dies ist ausreichend, um die Sirenentöne zu erfassen. Die Aktualisierungsgröße beträgt 100 ms. Dies bedeutet, dass je Aktualisierung die ersten 90% eines Bildes zum Folgenden gleich sind. Es kommen nur 10% neue Daten hinzu. Das heißt, in diesem Beispiel stimmt das zweite Bild zu 90% mit dem ersten Bild überein. Diese Überschneidung ermöglicht die Wiederverwendung von Zwischenergebnissen.

Umfelderfassungssensors sind Sensoren, mit denen ein autonomes System, bei spielsweise ein Roboter, ein Roboterfahrzeug, oder auch teilautomatisierte Fahr zeuge, sein Umfeld erfasst, um das Umfeld wahrzunehmen und sich darin zu bewe gen. Beispielsweise ist ein Akustiksensor ein Umfelderfassungssensor, der Schall wellen aus dem Umfeld erfasst. Analog ist ein Ultraschallsensor ein Umfelderfas sungssensor. Umfelderfassungssensoren umfassen beispielsweise auch Strahlen sensoren, die ein Umfeld mit Strahlen abtasten oder scannen. Beispielsweise ist ein Radar, ein Lidar oder eine time-of-flight Kamera ein Strahlensensor.

Die ersten und zweiten Bilder sind beispielsweise zweidimensionale Pixelarrays. Eine erste Dimension ist beispielsweise in eine x-Richtung eines kartesischen Koordina tensystems aufgespannt. Eine zweite Dimension ist beispielsweise in eine y-Richtung eines kartesischen Koordinatensystems aufgespannt.

Beim Falten bewegen sich Filterkernel über die Bilder von links nach rechts bezogen auf die x-Richtung und von oben nach unten bezogen auf die y-Richtung. Bei jeder Bewegung ändern sich Pixelspalten/-zeilen. Die Schriftgröße des Filterkernels, auch stride size genannt, gibt an, wie weit sich der Filterkernel von Anwendung zu Anwen dung weiterbewegt. Nach einem Aspekt der Erfindung beträgt die Schriftgröße 1. Das heißt, bei jeder Anwendung des Filterkernels ändert sich eine Pixelspalte/-zeile im Eingangsbild. Wenn das erste und das zweite Bild, auch Eingangsbild jeweils ge nannt, jeweils die Dimension AxB haben, der Filterkernel die Dimension UxV, dann hat das resultierende Faltungsbild bei einer Schriftgröße von 1 die Dimension [A-(U- 1 )]x[B-(V-1 )]. Das heißt, das Faltungsbild ist in der Dimension reduziert. A, U, und A-(U-1) geben die Ausdehnung, das heißt Anzahl Pixel, in y-Richtung an, was den Zeilen eines Pixelarrays entspricht. B, V, und B-(V-1 ) geben die Ausdehnung, das heißt Anzahl Pixel, in x-Richtung an, was den Spalten eines Pixelarrays ent spricht.

Die ersten und zweiten Bilder werden beispielsweise folgendermaßen jeweils erhal ten: Die mit Akustiksensoren detektierten Sirenensignale werden mittels eines Algo rithmus in ihre Frequenzanteile zerlegt, beispielsweise mittels schneller Fourier- Transformation, abgekürzt FFT. Aus dem so erhaltenen Frequenzspektrum werden Mel-Frequenz-Cepstrum-Koeffizienten berechnet. Die ersten und zweiten Bilder sind eine Darstellung des Frequenzspektrums in Mel-Frequenz-Cepstrum-Koeffizienten. Die x-Richtung gibt dann die Zeit an. Die y-Richtung gibt die Merkmale an.

Das zweite Bild ist gleichgroß zu dem ersten Bild. Hat das erste Bild in x-Richtung beispielsweise eine Anzahl von B-Pixeln, dann hat nach Aktualisierung das zweite Bild in x-Richtung ebenfalls eine Anzahl von B-Pixeln. Entspricht die Aktualisierungs größe in x-Richtung beispielsweise einer Anzahl von US-Pixeln, dann sind in x-Rich- tung (B-US)-Pixel des zweiten Bildes identisch zu den entsprechenden Pixeln des ersten Bildes. Lediglich US-Pixel kommen zu den bekannten (B-US)-Pixeln in positi ver x-Richtung neu hinzu.

Eine erste Dimension des Faltungsbildes um die Aktualisierungsgröße zu reduzieren, bedeutet, dass das reduzierte Faltungsbild in x-Richtung eine Anzahl von [B-(V-1)- US]-Pixel umfasst, wobei B-(V-1) der Anzahl der Pixel des Faltungsbildes in x-Rich- tung und US der Aktualisierungsgröße in x-Richtung entsprechen.

Ein Vorteil der Erfindung ist es, dass bei dem Falten des zweiten Bildes der Filter kernel in x-Richtung nur über den Bereich [US+(V-1 )j angewendet werden braucht. Die Werte für den restlichen Bereich [B-(V-1)-US] sind aus dem reduzierten Faltungs bild bekannt und werden bei der Faltung des zweiten Bildes aus dem Speicherbe reich ausgelesen, ohne nochmal neu berechnet werden zu müssen. Damit wird Re chenleistung eingespart. Nach einem weiteren Aspekt der Erfindung werden das erste Faltungsbild und das zweite Faltungsbild in einer zweiten Schicht des Faltungsnetzwerkes jeweils diskreti- siert mit wenigstens einem zweiten Filter. Das diskretisierte erste Faltungsbild wird in der ersten Dimension reduziert und das reduzierte diskretisierte erste Faltungsbild in einem zweiten Speicherbereich des Computersystems gespeichert. Bei der Diskreti- sierung des zweiten Faltungsbildes wird der zweite Filter in der ersten Dimension des zweiten Faltungsbildes eingeschränkt auf die um die Aktualisierungsgröße vermin derte entsprechende Dimension des ersten Faltungsbildes angewendet wird, falls der Wert der um die Aktualisierungsgröße verminderten entsprechenden Dimension des ersten Faltungsbildes teilbar durch den Wert der entsprechenden Dimension des zweiten Filters ist. Andernfalls wird der zweite Filter in der ersten Dimension des zweiten Faltungsbildes eingeschränkt auf die um die Aktualisierungsgröße vermin derte entsprechende Dimension des ersten Faltungsbildes modulo dem Wert der Di mension des zweiten Filters angewendet wird. Werte des reduzierten diskretisierten ersten Faltungsbildes werden aus dem zweiten Speicherbereich erhalten.

Durch die Diskretisierung werden die Dimensionen der Faltungsbilder reduziert. Dies entspricht dem Reduzieren der Dimensionen der Eingangsbilder mittels Faltung.

Nach einem Aspekt der Erfindung wird mit maxpooling diskretisiert. Die Größe des maxpooling-Kernels ist nach einem Aspekt der Erfindung in den einzelnen Schichten des Faltungsnetzwerks unterschiedlich. Bei dem maxpooling Filter wird um die Größe des maxpooling-Kernels verschoben und dabei jeweils das Maximum in dem ent sprechenden Bereich des jeweiligen Eingangsbildes, hier die Faltungsbilder, ausge geben. Nach einem weiteren Aspekt der Erfindung wird bei dem maxpooling ein Zero-Padding verwendet. Dies bedeutet, dass in Zeilen und Spalten des maxpooling- Kernels jeweils Nullen eingetragen werden, bis die Dimension des maxpooling- Kernels der Dimension des Eingangsbildes entspricht. Damit wird vorteilhafterweise erreicht, dass jeder Pixel des Eingangsbildes, hier des Faltungsbildes, einmal im Zentrum des maxpooling-Kernels liegt, um die Pixel des Eingangsbildes möglichst homogen zu werten. Nach einem weiteren Aspekt der Erfindung werden das erste und zweite Bild mit mehreren ersten Filtern in der ersten Schicht gefaltet. Beispielsweise werden 64 erste Filter angewendet. Das heißt, aus dem ersten und zweiten Bild werden jeweils 64 Faltungsbilder erhalten. Mit mehreren ersten Filtern werden vorteilhafterweise mehrere low-level-features erfasst, was zu einem verbesserten Verständnis der ers ten und zweiten Bildern führt.

Nach einem weiteren Aspekt der Erfindung werden der wenigstens erste und/oder zweite Filter in mehreren Schichten angewendet werden um Bilder, die in die jeweili gen Schichten eingegeben werden, zu falten und/oder jeweilige Faltungsbilder zu diskretisieren. Die Messreihe wird mehrmals aktualisiert und das erfindungsgemäße Verfahren je Aktualisierungsgröße in jeder Schicht wiederholt.

Damit wird das erfindungsgemäße Verfahren auf größeren Faltungsnetzwerken aus geführt, beispielsweise in dem eingangs beispielhaft beschriebenen Faltungsnetz werk umfassend acht hidden layers. Das Verfahren wird also auf die nachkommen den Faltungs- und Maxpooling-Schichten des Faltungsnetzwerks angewendet. Nach einem Aspekt der Erfindung unterscheiden sich die Größen der ersten und/oder zweiten Filter in den jeweiligen Schichten des Faltungsnetzwerks. Erfindungsgemäß werden Ergebnisse der einzelnen Schichten zwischengespeichert.

Nach einem weiteren Aspekt der Erfindung umfasst das Computersystem einen Mikrokontroller. Die Messreihe umfasst Audiodaten wenigstens eines Verkehrsgeräu sche detektierenden Akustiksensors. Das erste und zweite Bild sind jeweils eine Mel Frequenz Cepstrum Koeffizienten Darstellung der Audiodaten.

Ein Mikrokontroller ist ein Ein-Chip-Computersystem, das einen Prozessor, einen Speicherbereich umfassend Festwertspeicher und Schreib-Lesespeicher, eine Ein- gabe-Ausgabe-Fähigkeit und Peripheriefunktionen umfasst. Die einzelnen Elemente sind über ein Bussystem miteinander Signal übertragend verbunden. Die Peripherie umfasst Ein- und Ausgabegeräte, externe Speicher und die entsprechenden Schnitt stellen. Peripheriefunktionen sind beispielsweise Controller Area Network, abgekürzt CAN, Local Interconnect Network, abgekürzt LIN, Universal Serial Bus, abgekürzt USB, serielle oder Ethernet-Schnittstellen.

Nach einem Aspekt der Erfindung ist das Computersystem ein für den Einsatz im au- tomotive Bereich entwickelter Mikrokontroller eines Steuergeräts, auch electronic control unit genannt. Das Steuergerät bereitet Eingangssignale auf, verarbeitet diese mittels des Mikrokontrollers und stellt Logik- und/oder Leistungspegel als Regel und/oder Steuersignale bereit, insbesondere zum automatisierten Betrieb eines Fahr zeuges. Damit kann der Gegenstand der Erfindung vorteilhafterweise bei Fahrzeu gen eingesetzt werden.

Nach einem weiteren Aspekt der Erfindung ist das Faltungsnetzwerk trainiert, Ein satzgeräusche von Einsatzfahrzeugen zu klassifizieren und/oder zu lokalisieren, wo bei das Intervall der Messreihe, aus dem die Eingaben für das Faltungsnetzwerk er halten werden, eine Zeitspanne von 1 s umfasst und die Aktualisierungsgröße im Be reich von 10 ms bis 100 ms, vorzugsweise im Bereich von 50 ms bis 100 ms, liegt und besonders vorzugsweise 100 ms beträgt.

Damit können vorteilhafterweise größere rechenintensive künstliche neuronale Netz werke zur Sirenenerkennung und Richtungsbestimmung auf Mikrokontrollern in Echt zeit ausgeführt werden. Da die Ausgabe des Faltungsnetzwerks pro Aktualisierungs größe erfolgt, ist ein weiterer Vorteil der Erfindung, dass bei einer Sirenenerkennung beliebig oft ausgegeben werden kann, ob aktuell eine Sirene zu hören ist. Wenn sich die Aktualisierungsgröße und damit das Ausgabeintervall beispielsweise auf 50 ms verringert, sind nur noch 5 % der Daten neu. Dementsprechend müssen weniger Operationen berechnet werden.

Trainieren ist ein Teilbereich des maschinellen Lernens, das heißt einer Technologie, die Computern und anderen Datenverarbeitungsvorrichtungen die Ausführung von Aufgaben durch Lernen aus Daten lehrt, anstatt für die Aufgaben programmiert zu werden. Nach einem Aspekt der Erfindung umfasst das Computersystem einen Mehrkernpro zessor. Der Speicherbereich umfasst wenigstens vier Speichereinheiten, wobei

• eine erste Speichereinheit Klassifikations- und/oder Lokalisationsergebnisse des Faltungsnetzwerkes speichert,

• eine zweite Speichereinheit Parameter des Faltungsnetzwerkes speichert,

• eine dritte Speichereinheit wenigstens eine Nachschlagtabelle für Transforma tionen, mit denen eine Messreihe vorprozessiert wird, speichert,

• und eine vierte Speichereinheit Faltungsbilder und diskretisierte Faltungsbilder speichert,

Der Mehrkernprozessor liest und/oder beschreibt die Speichereinheiten während der Ausführung des Faltungsnetzwerkes.

Bei einem Mehrkernprozessor sind mehrere Kerne auf einem einzigen Chip angeord net. Mehrkernprozessoren erreichen eine höhere Rechenleistung und sind kosten günstiger in einem Chip zu implementieren im Vergleich zu Mehrprozessorsystemen, bei denen jeder einzelne Kern in einem Prozessorsockel angeordnet ist und die ein zelnen Prozessorsockel auf einer Hauptplatine angeordnet sind. Die einzelnen Pro zessoren sind beispielsweise Zentralprozessoren, sogenannte central Processing units, abgekürzt CPU. Die Zentralprozessoren haben beispielsweise eine 64-bit Ar chitektur.

Die erste Speichereinheit speichert beispielsweise die Vorhersagen des Faltungs netzwerkes aus dessen Ausgabeschicht. Die erste Speichereinheit ist beispielsweise eine local memory unit, abgekürzt LMU. Die local memory unit umfasst Hardware schnittstellen zu einem CPU-Kern, beispielsweise über sogenannte shared resource interconnection, abgekürzt SRI, Anschlüsse.

Nach einem Aspekt der Erfindung umfasst der Mehrkernprozessor vier Prozessor kerne, von denen jeder einzelne das Faltungsnetzwerk berechnet und dabei das er findungsgemäße Verfahren ausführt. Die einzelnen Vorhersagen der Prozessor kerne, erhalten nach jeweiliger Ausführung des Faltungsnetzwerks, werden in der ersten Speichereinheit gespeichert und beispielsweise auf einem ersten der vier Pro zessorkerne und hierzu redundant auf einem zweiten der vier Prozessorkerne plausibilisiert. Damit wird die Betriebssicherheit im Sinne der Norm ISO 26262 erhöht und die finale Vorhersage, insbesondere über Erkennung eines Sirenensignals, vali dierbar.

Parameter des Faltungsnetzwerks umfassen beispielsweise Gewichte für Verbindun gen von Knoten des Faltungsnetzwerks.

Die zweite Speichereinheit ist beispielsweise auch eine local memory unit.

Die erste und die zweite Speichereinheit haben beispielsweise eine Größe von je weils 512 kB.

Die dritte Speichereinheit ist beispielsweise eine auf die einzelnen Prozessorkerne verteilte local memory unit, auch distributed local memory unit genannt, abgekürzt DLMU. Die dritte Speichereinheit hat beispielsweise eine Größe von 64 kB. Damit wird die Performanz von Lese- und Schreibvorgängen auf dem Speicherbereich er höht.

Die vierte Speichereinheit ist beispielsweise ein sogenannter Data-Scratchpad-Ram- Arbeitsspeicher, abgekürzt DSPR. Die vierte Speichereinheit hat beispielsweise eine Größe von 96 kB. Damit Nach einem Aspekt der Erfindung umfasst jeder Prozessor kern des Mehrkernprozessors eine eigene DSPR-Speichereinheit. Ein Scratchpad- Speicher ist ein Prozessorkern interner Hochgeschwindigkeitsspeicher. Dadurch wird das Zwischenspeichern der Faltungsbilder und der diskretisierten Faltungsbilder vor teilhafterweise beschleunigt.

Nach einem weiteren Aspekt der Erfindung umfasst die vierte Speichereinheit einen ersten und zweiten Zwischenspeicher. Der erste Zwischenspeicher speichert Einga ben für Schichten des Faltungsnetzwerkes. Der zweite Zwischenspeicher speichert Ausgaben der Schichten. Beispielsweise hat der erste Zwischenspeicher eine Größe von 26.25 kB und speichert die Eingaben für die erste, vierte, sechste und achte Schicht des Faltungsnetzwerks. Der zweite Zwischenspeicher hat beispielsweise eine Größe von 16.25 kB und speichert die Ausgaben der zweiten, vierten, sechsten und achten Schicht. Dadurch wird der Speicherprozess, das Lesen und Schreiben des Speicherbereich in den einzelne Schichten des Faltungsnetzwerks, verbessert.

Der Mikrokontroller ist beispielsweise ein Mikrokontroller der Familie Infineon Auto motive Realtime Integrated NeXT Generation Architecture, abgekürzt AURIX.

Automatisiert betreibbare Fahrzeug, beispielsweise mit Verbrennungsmotor, elektri schem Antrieb, Hybridelektrofahrzeuge oder Brennstoffzellenfahrzeuge, vorzugs weise Straßenfahrzeuge mit einer dieser Antriebstechnologien, umfassen eine tech nische Ausrüstung, um das Fahrzeug zur Bewältigung von Fahreraufgaben zu steu ern. Nach einem Aspekt wird die Erfindung für Fahrfunktionen der Stufen SAE J3016 Level 2 bis Level 5 eingesetzt.

Der Mehrkernprozessor umfasst beispielsweise vier Prozessorkerne, für jeden Akus tiksensor einen. Die Ergebnisse werden beispielsweise folgendermaßen fusioniert: Mittels Beamfinder- und Beamtracker-Algorithmen detektiert jeder Prozessorkern durch jeweiliges Ausführung des Faltungsnetzwerks und des erfindungsgemäßen Verfahrens die Stammfrequenzen des Sirenensignals ausgehend von dem Cepst- rum. Eine Detektion liegt vor, wenn zwischen aufeinanderfolgenden detektierten Fre quenzen ein Sprung in der Frequenz detektiert wird. Beispielsweise wertet ein erster Prozessorkern die Audiodaten eines an dem Fahrzeug vorne links angeordneten Akustiksensors aus und ein zweiter Prozessorkern entsprechend die Audiodaten ei nes an dem Fahrzeug vorne rechts angeordneten Akustiksensors. Entsprechend wertet ein dritter Prozessorkern die Audiodaten eines an dem Fahrzeug hinten links angeordneten Akustiksensors aus und ein vierter Prozessorkern entsprechend die Audiodaten eines an dem Fahrzeug hinten rechts angeordneten Akustiksensors. Die Detektionen des ersten, zweiten, dritten und vierten Prozessorkerns werden in einem ersten Fusionsergebnis fusioniert auf dem ersten Prozessorkern. Entsprechend wer den die Detektionen des ersten, zweiten, dritten und vierten Prozessorkerns in einem zweiten Fusionsergebnis fusioniert auf dem zweiten Prozessorkern. Durch das erste und zweite Fusionsergebnis wird eine Redundanz erreicht, was vorteilhaft hinsichtlich Betriebssicherheit gemäß der Norm ISO 26262 ist. Die ersten und zweiten Fusions ergebnisse werden auf dem ersten Prozessorkern plausibilisiert. Ferner wird anhand der Audiodaten der im vorderen Bereich des Fahrzeuges angeordneten Akus tiksensoren ein Frontrichtungswinkel bestimmt auf dem ersten Prozessorkern. Ent sprechend wird anhand der Audiodaten der im hinteren Bereich des Fahrzeuges an geordneten Akustiksensoren ein Rückrichtungswinkel bestimmt auf dem dritten Pro zessorkern. Die Ergebnisse der Front- und Rückrichtungswinkel Bestimmung werden auf dem ersten Prozessorkern fusioniert und es wird eine Richtungsbestimmung er halten, aus der das Sirenensignal eintrifft. Mittels des Cepstrums wird anhand des Si renensignals bestimmt, ob ein Einsatzfahrzeug sich nähert oder entfernt relativ zu dem Egofahrzeug, beispielsweise gemäß der Offenbarung der Anmeldung DE 10 2019 213 697.4, deren Inhalt hinsichtlich Erkennen von Annähern oder Entfernen ei ner Audiosignalquelle mittels Cepstrums hier durch expliziten Verweis miteinge schlossen ist.

Die Erfindung wird in den folgenden Ausführungsbeispielen verdeutlicht. Es zeigen:

Fig. 1 eine schematische Darstellung der Operationen Falten und Maxpooling,

Fig. 2 eine schematische Darstellung des erfindungsgemäßen Zwischenspeicherns für die Faltung,

Fig. 3 eine schematische Darstellung des erfindungsgemäßen Zwischenspeicherns für das Maxpooling,

Fig. 4 eine schematische Darstellung eines erfindungsgemäßen Verfahrens,

Fig. 5 ein Ausführungsbeispiel eines Eingangsbildes für ein Faltungsnetzwerk,

Fig. 6 ein Ausführungsbeispiel eines Ausgangsbildes einer ersten Schicht des Fal tungsnetzwerks,

Fig. 7 ein Ausführungsbeispiel eines Speicherbereichs eines erfindungsgemäßen Computersystems und Fig. 8 bis 18 Ausführungsbeispiel eines erfindungsgemäßen Verfahrens in jeweiligen Schichten eines Ausführungsbeispiel eines Faltungsnetzwerks.

In den Figuren bezeichnen gleiche Bezugszeichen gleiche oder funktionsähnliche Bezugsteile. Übersichtshalber werden in den einzelnen Figuren nur die jeweils rele vanten Bezugsteile hervorgehoben.

Fig. 1 zeigt beispielsweise ein Eingangsbild für ein Faltungsnetzwerk F. Das Ein gangsbild umfasst X Y Pixel. Auf dieses Eingangsbild wird ein erster Filter 31 , auch konvolutionaler, abgekürzt conv., Filterkernel der Dimension oder Größe V x U Pixel angewendet. Bei einer Schrittgröße von 1 des ersten Filters 31 hat das Faltungsbild die Größe (X- (V-1 )) x (Y-(U-1 )) Pixel. Dieses Faltungsbild wird nun diskretisiert mit einem zweiten Filter 32, beispielsweise maxpooling Kernel der Größe T x S. Das re sultierende Bild hat die Größe [(X- (V-1 ))/T] x [(Y-(U-1 ))/S] Pixel. Nach einem Aspekt der Erfindung wird in jeder Schicht des Faltu ngsnetzwerks F eine beliebige Anzahl an Kernel Filter verwendet.

In Fig. 2 ist U die Aktualisierungsrate in x-Richtung. Nach der Aktualisierungsrate U kommen neue Daten in die Messreihe hinzu. Dargestellt ist das neue Eingangsbild für das Faltungsnetzwerk. Wenn nun der erste Filter 31 der Größe V x U über das neue Eingangsbild läuft, muss dieser nur über [U+(V-1 )] x Y laufen, da die Ergeb nisse des übrigen Bereichs schon im vorherigen Schritt berechnet worden sind. Der schraffierte Bereich der rechten Skizze ist das Ergebnis des ersten Filters 31 über den schraffierten Bereich der linken Skizze. Alle Werte, die im nicht schraffierten Be reich der rechten Skizze enthalten sind, wurden schon einmal berechnet und können daher aus einem Zwischenspeicher abgerufen werden, beispielsweise aus einem Speicherbereich einer vierten Speichereinheit DSPR eines Mikrokontrollers.

Analog zeigt Fig. 3, welche Werte eines folgenden zweiten Filters, dem maxpooling Kernel, neu berechnet werden müssen und auf welche Werte über den Zwischen speicher zugegriffen werden kann. Dabei ist ein Ergebnis M1 = [X-(V-1)]/T und ein Ergebnis M2 = [(X-(V-1 )-U)mod T + U]/T. Der linke Bereich der rechten Skizze, das entspricht der Differenz M1 - M2, ist schon einmal im Vorfeld berechnet worden und kann daher aus einem Zwischenspeicher abgerufen werden.

Das Prinzip der Fig. 2 und 4 wird erfindungsgemäß auf nachkommende Schichten des Faltungsnetzwerks wiederholt angewendet, siehe Fig. 8 bis 18.

Ein Beispiel des erfindungsgemäßen Verfahrens zeigt Fig. 4. In einem ersten Verfah rensschritt V1 werden ein ersten Bildes als Eingabe für das Faltungsnetzwerk F aus einem Intervall R einer Messreihe wenigstens eines Umfelderfassungssensors und Ereines zu dem ersten Bild gleichgroßen zweiten Bildes als Eingabe für das Fal tungsnetzwerk F aus dem Intervall R der um eine Aktualisierungsgröße U aktualisier ten Messreihe erhalten. In einem zweiten Verfahrensschritt V2 werden das erste und zweite Bildes in das Faltungsnetzwerk F eingegeben, mit wenigstens dem ersten Fil ter 31 gefaltet und ein erstes und zweites Faltungsbild erhalten. Eine erste Dimen sion des ersten Faltungsbildes wird um die Aktualisierungsgröße U reduziert und das reduzierte erste Faltungsbild wird in einem dritten Verfahrensschritt V3 in einem ers ten Speicherbereich eines Computersystems gespeichert. Bei dem Falten des zwei ten Bildes wird in einem vierten Verfahrensschritt V4 der erste Filter 31 in der ersten Dimension des zweiten Bildes eingeschränkt auf die Summe der Aktualisierungs größe U und einer um eine Schrittgröße des ersten Filters 31 verminderten entspre chenden Dimension des ersten Filters 31 angewendet und Werte des reduzierten ersten Faltungsbildes aus dem ersten Speicherbereich erhalten.

Fig. 5 zeigt eine Mel Frequenz Cepstrum Koeffizienten Darstellung von Audiodaten wenigstens eines Verkehrsgeräusche detektierenden Akustiksensors. Diese Darstel lung ist das erste und zweite Bild, die in das Faltungsnetzwerk eingegeben werden. Die x-Achse ist die Zeit t Achse. Auf der y-Achse werden die Merkmale f des Fre quenzspektrums aufgetragen. Die Bildgröße ist beispielsweise 32 x 100 Pixel. 10 Pi xel entsprechen 100 ms. Die Aktualisierungsgröße U beträgt 100 ms. Das Intervall R beträgt 1 s. Das heißt, alle 100 ms kommen neue Daten hinzu und das Intervall ver schiebt sich um 100 ms in positiver Zeitrichtung nach links. Fig. 6 zeigt das Ergebnisbild der ersten Schicht des Faltungsnetzwerks F. Der Be reich W des Bildes, das heißt Wiederverwendung, wird aus einer vorherigen Aus gabe wiederverwendet. Lediglich ein Bereich C, das heißt Berechnung, muss neu be rechnet werden.

Fig. 7 zeigt die erfindungsgemäße Speicherallokation in einem Mikrokontroller zur Berechnung eines Faltungsnetzwerks. Die Speichereinheit des Mikrokontrollers um fasst eine erste Speichereinheit LMUO, die unter anderem Klassifikations- und/oder Lokalisationsergebnisse des Faltungsnetzwerkes F speichert. Eine zweite Speicher einheit LMU1 speichert Parameter P des Faltungsnetzwerkes F. Die erste und zweite Speichereinheit sind beispielsweise ausgeführt als local memory units und besitzen eine Größe von 512 kB. Für das Speichern der Ergebnisse und der Parameter wer den ca. 485 kB benötigt. Eine dritte Speichereinheit DLMU speichert wenigstens eine Nachschlagtabelle für Transformationen, mit denen eine Messreihe vorprozessiert wird, beispielsweise Fouriertransformationen und Koeffizienten. Die dritte Speicher einheit ist ausgeführt als distributed local memory unit. Das Verfahren benötigt ca. 60 kB der von der dritten Speichereinheit beispielsweise bereitgestellten 64 kB. Eine vierte Speichereinheit DSPR speichert die Faltungsbilder und diskretisierten Fal tungsbilder. Die vierte Speichereinheit ist beispielsweise ausgeführt als Data- Scratchpad-Ram-Arbeitsspeicher. Das Verfahren benötigt ca. 78 kB der von der drit ten Speichereinheit beispielsweise bereitgestellten 96 kB. Die vierte Speichereinheit DSPR umfasst eine Speichereinheit 21 mit einer Größe von 3 kB zur Speicherung der Eingangsbilder des Faltungsnetzwerks F. Ferner umfasst die vierte Speicherein heit DSPR einen erste Zwischenspeicher 23 der Größe 26.25 kB und einen zweiten Zwischenspeicher 24 der Größe 16.25 kB. Der erste Zwischenspeicher 23 speichert Eingaben für Schichten des Faltungsnetzwerkes F und der zweite Zwischenspeicher 24 speichert Ausgaben der Schichten. Dies umfasst Ergebnisse aus vorherigen Schichten wie zu Fig. 2 und 3 beschrieben.

Die Speichereinheit umfasst eine weitere Speichereinheit 22. Die Speichereinheit 22 ist beispielsweise ein expanded memory, abgekürzt EMEM. Ein beispielhafter Schichtaufbau des Faltungsnetzwerks ist in den Fig. 8 bis 18 ge zeigt.

Fig. 8 ist nullte Schicht LO des Faltungsnetzwerks. Die nullte Schicht LO ist die Einga beschicht des Faltungsnetzwerks F. Aus dem ersten Bild 10 wird der aktualisierte Be reich betrachtet, dass heißt der aktuellste Ausschnitt der Größe (32 x 10) + (32 x 2) = 32 x 12 Pixel, wobei die Aktualisierungsrate U 100 ms beträgt und der erste Filter kernel die Größe 3 x 3 Pixel hat. Das Bild der Größe 32 x 12 Pixel wird aus der Spei chereinheit 21 ausgelesen, in das Faltungsnetzwerk F eingegeben und mit dem ers ten Filter 3 x 3 gefaltet. Es werden beispielsweise 64 erste Filter der Größe 3 x 3 auf das 32 x 12 Pixel Bild angewendet. Das heißt es entstehen 64 Bilder der Größe 30 x 10. Jedes Pixel dieser Bilder wird mit der Aktivierungsfunktion A aktiviert und die so erhaltenen Bilder in der Speichereinheit 22 gespeichert. Ausgabe der nullten Schicht LO sind 64 Bilder der Größe 30 x 10 Pixel.

Fig. 9 zeigt die erste Schicht L1 . Eingabe sind die 64 Bilder der Größe 30 x 10 Pixel aus der Speichereinheit 22. Diese werden mit dem zweiten Filter 32, einem maxpoo- ling Kernel der Größe 2 x 2 Pixel, diskretisiert. Es werden 64 Bilder der Größe 15 x 5 Pixel erhalten. In einer Ausgabe der ersten Schicht L1 werden für die anschließende aktuelle Berechnung in der folgenden zweiten Schicht L2 in dem jeweiligen zeitlichen vorherigen gefalteten Bild der zweiten Schicht L2 die Ergebnisse in dem aktuellsten Bereich, welcher der um die Schrittgröße des Filterkernels verminderten entspre chenden Dimension des Filterkernels entspricht, zwischengespeichert. Das sind 64 Bilder der Größe 15 x 2 Pixel. Es werden dann 64 Bilder der Größe 15 x 7 Pixel er halten und in dem ersten Zwischenspeicher 23 gespeichert. Ausgabe der ersten Schicht L1 sind 64 Bilder der Größe 15 x 7 Pixel.

Fig. 10 zeigt die zweite Schicht L2. Eingabe sind die 64 Bilder der Größe 15 x 7 Pixel aus dem ersten Zwischenspeicher 23. Diese werden mit dem ersten Filter 31 , dem 3 x 3 Kernelfilter, gefaltet. Es werden 64 Bilder der Größe 13 x 5 Pixel erhalten. Jedes Pixel dieser Bilder wird mit der Aktivierungsfunktion A aktiviert und die so erhaltenen Bilder in dem zweiten Zwischenspeicher 24 gespeichert. Ausgabe der zweiten Schicht L2 sind 64 Bilder der Größe 13 x 5 Pixel. Fig. 11 zeigt die dritte Schicht L3. Eingabe sind die 64 Bilder der Größe 13 x 5 Pixel aus dem zweiten Zwischenspeicher 24. Diese werden mit dem zweiten Filter 32, ei nem maxpooling Kernel der Größe 2 x 3 Pixel, diskretisiert. Es werden 64 Bilder der Größe 7 x 2 Pixel erhalten. In einer Ausgabe der dritten Schicht L3 werden für die an schließende aktuelle Berechnung in der folgenden vierten Schicht L4 in dem jeweili gen zeitlichen vorherigen gefalteten Bild der vierten Schicht L4 die Ergebnisse in dem aktuellsten Bereich, welcher der um die Schrittgröße des Filterkernels vermin derten entsprechenden Dimension des Filterkernels entspricht, zwischengespeichert. Das sind 64 Bilder der Größe 7 x 2 Pixel. Es werden dann 64 Bilder der Größe 7 x 4 Pixel erhalten und in dem ersten Zwischenspeicher 23 gespeichert. Ausgabe der drit ten Schicht L3 sind 64 Bilder der Größe 7 x 4 Pixel.

Fig. 12 zeigt die vierte Schicht L4. Eingabe sind die 64 Bilder der Größe 7 x 4 Pixel aus dem ersten Zwischenspeicher 23. Diese werden mit dem ersten Filter 31 , dem 3 x 3 Kernelfilter, gefaltet. Es werden 64 Bilder der Größe 5 x 2 Pixel erhalten. Jedes Pixel dieser Bilder wird mit der Aktivierungsfunktion A aktiviert und die so erhaltenen Bilder in dem zweiten Zwischenspeicher 24 gespeichert. Ausgabe der vierten Schicht L4 sind 64 Bilder der Größe 5 x 2 Pixel.

Fig. 13 zeigt die fünfte Schicht L5. Eingabe sind die 64 Bilder der Größe 5 x 2 Pixel aus dem zweiten Zwischenspeicher 24. Diese werden mit dem zweiten Filter 32, ei nem maxpooling Kernel der Größe 2 x 3 Pixel, diskretisiert. Es werden 64 Bilder der Größe 3 x 1 Pixel erhalten. In einer Ausgabe der fünften Schicht L5 werden für die anschließende aktuelle Berechnung in der folgenden sechsten Schicht L6 in dem je weiligen zeitlichen vorherigen gefalteten Bild der sechsten Schicht L6 die Ergebnisse in dem aktuellsten Bereich, welcher der um die Schrittgröße des Filterkernels vermin derten entsprechenden Dimension des Filterkernels entspricht, zwischengespeichert. Das sind 64 Bilder der Größe 3 x 2 Pixel. Es werden dann 64 Bilder der Größe 3 x 3 Pixel erhalten und in dem ersten Zwischenspeicher 23 gespeichert. Ausgabe der fünften Schicht L5 sind 64 Bilder der Größe 3 x 3 Pixel. Fig. 14 zeigt die sechste Schicht L6. Eingabe sind die 64 Bilder der Größe 3 x 3 Pixel aus dem ersten Zwischenspeicher 23. Diese werden mit dem ersten Filter 31 , dem 3 x 3 Kernelfilter, gefaltet. Es werden 64 Bilder der Größe 1 x 1 Pixel erhalten. Jedes Pixel dieser Bilder wird mit der Aktivierungsfunktion A aktiviert und die so erhaltenen Bilder in dem zweiten Zwischenspeicher 24 gespeichert. Ausgabe der sechsten Schicht L6 sind 64 Bilder der Größe 1 x 1 Pixel.

Fig. 15 zeigt die siebte Schicht L7. Eingabe sind die 64 Bilder der Größe 1 x 1 Pixel aus dem zweiten Zwischenspeicher 24. Diese werden mit dem zweiten Filter 32, ei nem maxpooling Kernel der Größe 2 x 2 Pixel, diskretisiert. Es werden 64 Bilder der Größe 1 x 1 Pixel erhalten. In einer Ausgabe der siebten Schicht L7 werden für die anschließende aktuelle Berechnung in der folgenden achten Schicht L8 in dem jewei ligen zeitlichen vorherigen gefalteten Bild der achten Schicht L8 die Ergebnisse in dem aktuellsten Bereich, welcher der um die Schrittgröße des Filterkernels vermin derten entsprechenden Dimension des Filterkernels entspricht, zwischengespeichert. Das sind 64 Bilder der Größe 1 x 1 Pixel. Es werden dann 64 Bilder der Größe 1 x 2 Pixel erhalten und in dem ersten Zwischenspeicher 23 gespeichert. Ausgabe der siebten Schicht L7 sind 64 Bilder der Größe 1 x 2 Pixel.

Fig. 16 zeigt die achte Schicht L8. Eingabe sind die 64 Bilder der Größe 1 x 2 Pixel aus dem ersten Zwischenspeicher 23. Diese werden geflattet. Es werden 64 Zeilen oder Spaltenvektoren mit jeweils 128 Einträgen erhalten. Die Vektoren werden mit entsprechender Matrixmultiplikation M in Zahlenwerte transformiert. Es werden 64 Zahlenwerte erhalten und in dem zweiten Zwischenspeicher 24 gespeichert. Aus gabe der achten Schicht L8 sind 64 Zahlenwerte. Die achte Schicht ist ein dense layer.

Fig. 17 zeigt die neunte Schicht L9, die analog zu der achten Schicht L8 ein dense layer ist. Eingabe oder Input der neunten Schicht L9 sind 64 Zahlenwerte. Ausgabe oder Output O der neunten Schicht L9 sind ebenfalls 64 Zahlenwerte. Fig. 18 zeigt zehnte Schicht L10. Die zehnte Schicht L10 ist die Ausgabeschicht des Faltungsnetzwerks F. Der Output O ist eine Vorhersage überein erkanntes Sirenen signal. Die Vorhersage wird in der ersten Speichereinheit LMUO gespeichert.

Bezuqszeichen

10 erstes/zweites Bild

21 Speichereinheit

22 Speichereinheit

23 erster Zwischenspeicher

24 zweiter Zwischenspeicher

31 erster Filter

32 zweiter Filter

F Faltungsnetzwerk

P Parameter

A Aktivierungsfunktion

M Matrix Multiplikation

I Input

O Output

LMUO erste Speichereinheit LMU1 zweite Speichereinheit DLMU dritte Speichereinheit DSPRvierte Speichereinheit t Zeit f Merkmale

U Aktualisierungsgröße

C Berechnung

W Wiederverwendung

R Intervall

M1 Ergebnis

M2 Ergebnis

V1-V4 Verfahrensschritte