DE102021114044A1 - Method for providing an artificial neural network for three-dimensional object recognition, computing device for a vehicle, computer program and computer-readable (storage) medium - Google Patents

Method for providing an artificial neural network for three-dimensional object recognition, computing device for a vehicle, computer program and computer-readable (storage) medium Download PDF

Info

Publication number
DE102021114044A1
DE102021114044A1 DE102021114044.7A DE102021114044A DE102021114044A1 DE 102021114044 A1 DE102021114044 A1 DE 102021114044A1 DE 102021114044 A DE102021114044 A DE 102021114044A DE 102021114044 A1 DE102021114044 A1 DE 102021114044A1
Authority
DE
Germany
Prior art keywords
neural network
network
filters
object recognition
trained
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
DE102021114044.7A
Other languages
German (de)
Inventor
Manoj Rohit Vemparala
Nael Fasfous
Ahmed Mzid
Anmol Singh
Naveen Shankar NAGARAJA
Walter Stechele
Lukas Frickenstein
Alexander Frickenstein
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 DE102021114044.7A priority Critical patent/DE102021114044A1/en
Publication of DE102021114044A1 publication Critical patent/DE102021114044A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects

Abstract

Ein erfindungsgemäßes Verfahren zum Bereitstellen eines optimierten komprimierten künstlichen neuronalen Netzes zur dreidimensionalen Objekterkennung umfasst ein Bereitstellen von Trainingsdaten, die mit einhüllenden Quadern und Klassen annotiert sind, und eine Umgebung mittels einer Punktewolke beschreiben. Zudem umfasst das Verfahren ein Trainieren des neuronalen Netzes gemäß den vorgegebenen einhüllenden Quadern und Klassen während einer ersten Phase mittels der bereitgestellten Trainingsdaten, wobei das zu trainierende neuronale Netz ein Säulen-Merkmals-Netz, ein Merkmals-Extraktions-Netz und ein Detektions-Netz aufweist. Ferner umfasst das Verfahren eine zweite Phase, in der das trainierte neuronale Netz mittels bestärkenden Lernens ganzheitlich komprimiert wird. Schließlich umfasst das Verfahren einen Verfahrensschritt, bei dem ein vorgegebener Agent zur Komprimierung des trainierten neuronalen Netzes die Anzahl an Filtern des trainierten neuronalen Netzes reduziert und dabei eine vorgegebenen Belohnungsfunktion maximiert, wobei die Belohnungsfunktion eine Minimierung des Genauigkeitsverlusts und eine Minimierung einer Hardware-Latenzzeit umfasst.A method according to the invention for providing an optimized compressed artificial neural network for three-dimensional object recognition includes providing training data which are annotated with enveloping cuboids and classes and describe an environment using a point cloud. The method also includes training the neural network according to the predefined enveloping cuboids and classes during a first phase using the training data provided, the neural network to be trained having a columnar feature network, a feature extraction network and a detection network . The method also includes a second phase in which the trained neural network is comprehensively compressed using reinforcement learning. Finally, the method includes a method step in which a predetermined agent for compressing the trained neural network reduces the number of filters of the trained neural network while maximizing a predetermined reward function, the reward function comprising minimizing the loss of accuracy and minimizing a hardware latency.

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Bereitstellen eines optimierten komprimierten künstlichen neuronalen Netzes zur dreidimensionalen Objekterkennung. Darüber hinaus betrifft die vorliegende Erfindung eine Recheneinrichtung für ein Fahrzeug zur Durchführung einer dreidimensionalen Objekterkennung. Schließlich betrifft die vorliegende Erfindung ein Computerprogramm sowie ein computerlesbares (Speicher)Medium.The present invention relates to a method for providing an optimized compressed artificial neural network for three-dimensional object recognition. In addition, the present invention relates to a computing device for a vehicle for carrying out three-dimensional object recognition. Finally, the present invention relates to a computer program and a computer-readable (storage) medium.

Automatisierte Fahrsysteme und insbesondere moderne Fahrzeuge, die verschiedenste Fahrerassistenzsysteme aufweisen, erfassen deren Umwelt durch verschiedene Arten von Sensoren. Zur Ortung von statischen und dynamischen Objekten kommen insbesondere Objekterkennungssensoren, wie Radar- und Lidar-Sensoren zum Einsatz. Derartige Objekterkennungssensoren detektieren durch Aussenden elektromagnetischer Wellen Reflexionspunkte innerhalb eines Sichtbereichs und bestimmen zumeist die Relativposition der Reflexionspunkte. Die ermittelten Reflexionspunkte werden üblicherweise als dreidimensionale Punktewolke dargestellt.Automated driving systems and in particular modern vehicles that have a wide variety of driver assistance systems record their environment using various types of sensors. Object detection sensors, such as radar and lidar sensors, are used in particular to locate static and dynamic objects. Such object recognition sensors detect reflection points within a field of vision by emitting electromagnetic waves and mostly determine the relative position of the reflection points. The reflection points determined are usually displayed as a three-dimensional point cloud.

Mittels mathematischer Algorithmen kann die dreidimensionale Punktewolke analysiert und ausgewertet werden. Schließlich können so statische und dynamische Objekte in der dreidimensionalen Punktewolke und damit in der Umgebung des Fahrzeugs erkannt und klassifiziert werden. Durch das Klassifizieren der statischen und dynamischen Objekte kann ein automatisiertes Fahrsystem so beispielsweise zwischen Fußgängern, Personenkraftwagen, Lastkraftwagen oder aber auch Hausmauern und Absperrungen unterschieden werden.The three-dimensional point cloud can be analyzed and evaluated using mathematical algorithms. Finally, static and dynamic objects can be recognized and classified in the three-dimensional point cloud and thus in the environment of the vehicle. By classifying the static and dynamic objects, an automated driving system can, for example, distinguish between pedestrians, passenger cars, trucks or house walls and barriers.

Da künstliche neuronale Netze großes Potenzial für Anwendungen und Verbesserungen in vielfältigen technischen Bereichen aufweisen, kommen in modernen Algorithmen zur Auswertung dreidimensionaler Punktewolken ebenso vermehrt künstliche neuronale Netze zum Einsatz. Problematisch kann dabei jedoch sein, dass diejenigen neuronalen Netze, die eine dreidimensionale Objekterkennung mit der größten Genauigkeit bewältigen können, typischerweise auch den größten Bedarf an Berechnungsressourcen, also an eine Kapazität einer zur Ausführung oder Anwendung verwendeten Hardware, stellen. Diese Ressourcen bzw. Kapazitäten sind jedoch nicht in allen Situationen, insbesondere für mobile Anwendungen oder im Fahrzeugbereich, verfügbar.Since artificial neural networks have great potential for applications and improvements in a wide range of technical areas, artificial neural networks are also increasingly used in modern algorithms for evaluating three-dimensional point clouds. However, it can be problematic in this case that those neural networks that can handle three-dimensional object recognition with the greatest accuracy typically also have the greatest need for calculation resources, ie for a capacity of hardware used for execution or application. However, these resources or capacities are not available in all situations, especially for mobile applications or in the vehicle sector.

Um diesem Problem zu begegnen, wurden bereits in der Vergangenheit Komprimierungsverfahren vorgeschlagen, bei denen ein jeweiliges neuronales Netz durch Entfernen von Elementen verkleinert, also gestutzt wird (englisch: pruning). Auf diese Weise kann entsprechend ein zum Ausführen des neuronalen Netzes notwendiger Rechenaufwand, also die für das neuronale Netz benötigten Berechnungsressourcen oder Hardwarekapazitäten, reduziert werden.In order to counter this problem, compression methods have already been proposed in the past, in which a respective neural network is reduced in size by removing elements, ie is pruned. In this way, the computing effort required to run the neural network, that is to say the computing resources or hardware capacities required for the neural network, can be correspondingly reduced.

Die Druckschrift US 2018/0336468 A1 offenbart ein System und ein Verfahren zum Prunen eines faltenden neuronalen Netzes, im Englischen auch convolutional neural network (CNN) genannt. Das Verfahren umfasst das Extrahieren von Faltungsschichten aus einem trainierten CNN, wobei jede Faltungsschicht eine Kernelmatrix mit mindestens einem in einem entsprechenden Ausgangskanal der Kernelmatrix ausgebildeten Filter enthält, einem Merkmalskartensatz mit einer Merkmalskarte (Feature map), die jedem Filter entspricht. Für jeden Kernel wird ein absolutes Kernelgewicht bestimmt und über jeden Filter aufsummiert, um eine Stärke jedes Filters zu bestimmen. Die Stärke jedes Filters wird mit einer Schwelle verglichen und ein Filter wird entfernt, wenn die bestimmte Stärke unterhalb der Schwelle liegt. Eine Merkmalskarte (Feature map), die jedem der entfernten Filter entspricht, wird entfernt, um das CNN zu prunen. Das CNN wird erneut trainiert, um ein gepruntes CNN mit weniger Faltungsschichten zu erzeugen.The pamphlet U.S. 2018/0336468 A1 discloses a system and method for pruning a convolutional neural network (CNN). The method comprises extracting convolutional layers from a trained CNN, each convolutional layer containing a kernel matrix with at least one filter formed in a corresponding output channel of the kernel matrix, a feature map set with a feature map corresponding to each filter. An absolute kernel weight is determined for each kernel and summed over each filter to determine a strength of each filter. The strength of each filter is compared to a threshold and a filter is removed if the determined strength is below the threshold. A feature map corresponding to each of the removed filters is removed to prun the CNN. The CNN is retrained to produce a pruned CNN with fewer convolution layers.

Die Druckschrift US 2018/0114114 A1 offenbart ein Verfahren, ein computerlesbares Medium und ein System zum Prunen eines Neuronalen Netzes. Das Verfahren umfasst die Schritte des Empfangens von Gradienten erster Ordnung einer Kostenfunktion relativ zu Schichtparametern für ein trainiertes neuronales Netz und des Berechnens eines Pruningkriteriums für jeden Schichtparameter basierend auf dem Gradienten erster Ordnung, der dem Schichtparameter entspricht, wobei das Pruningkriterium eine Wichtigkeit jedes Neurons angibt, das in dem trainierten neuronalen Netz enthalten ist und dem Schichtparameter zugeordnet ist. Das Verfahren umfasst die zusätzlichen Schritte des Identifizierens mindestens eines Neurons mit der geringsten Wichtigkeit und des Entfernens des mindestens einen Neurons aus dem trainierten Neuronalen Netz, um ein gepruntes neuronales Netzwerk zu erzeugen.The pamphlet U.S. 2018/0114114 A1 discloses a method, computer-readable medium, and system for pruning a neural network. The method comprises the steps of receiving first-order gradients of a cost function relative to layer parameters for a trained neural network and calculating a pruning criterion for each layer parameter based on the first-order gradient corresponding to the layer parameter, the pruning criterion indicating an importance of each neuron, which is contained in the trained neural network and is assigned to the slice parameter. The method includes the additional steps of identifying at least one neuron having the lowest importance and removing the at least one neuron from the trained neural network to create a pruned neural network.

Es ist Aufgabe der vorliegenden Erfindung, eine Lösung aufzuzeigen, wie ein besonders effektives neuronales Netz zur dreidimensionalen Objekterkennung bereitgestellt werden kann, das insbesondere eine hohe Genauigkeit und Robustheit bei besonders geringem Hardwareressourcenbedarf aufweist und folglich selbst bei begrenzter Rechenkapazität anwendungstauglich ist.It is the object of the present invention to show a solution as to how a particularly effective neural network for three-dimensional object recognition can be provided, which in particular has high accuracy and robustness with particularly low hardware resource requirements and is therefore suitable for use even with limited computing capacity.

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 dreidimensionalen Objekterkennung, kann sowohl eine möglichst große Genauigkeit als auch ein möglichst geringer Ressourcenbedarf von wesentlicher Bedeutung sein, sodass insbesondere eine entsprechende Konfiguration des neuronalen Netzes zur dreidimensionalen Objekterkennung nötig sein kann.Hardware resources are, for example, hardware components or their design, size, capacity, performance and/or the same to understand. The resource requirements can also specify or relate to the time, energy and/or the like required to run the neural network in the respective network configuration, for example determined by computing speed, parallel processing capabilities and/or latency of the hardware. For practical applications, in particular in the case of three-dimensional object recognition, both the greatest possible accuracy and the lowest possible resource requirements can be of essential importance, so that in particular a corresponding configuration of the neural network for three-dimensional object recognition can be necessary.

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.According to the invention, this object is achieved by a method, by a computing device, by a computer program and by a computer-readable (storage) medium having the features according to the independent claims. Advantageous developments of the present invention are specified in the dependent claims.

Ein erfindungsgemäßes Verfahren zum Bereitstellen eines optimierten komprimierten künstlichen neuronalen Netzes zur dreidimensionalen Objekterkennung umfasst ein Bereitstellen von Trainingsdaten, die mit einhüllenden Quadern und Klassen annotiert sind, und eine Umgebung mittels einer Punktewolke beschreiben. Zudem umfasst das Verfahren ein Trainieren des neuronalen Netzes gemäß den vorgegebenen einhüllenden Quadern und Klassen während einer ersten Phase mittels der bereitgestellten Trainingsdaten, wobei das zu trainierende neuronale Netz ein Säulen-Merkmals-Netz, ein Merkmals-Extraktions-Netz und ein Detektions-Netz aufweist. Ferner umfasst das Verfahren eine zweite Phase, in der das trainierte neuronale Netz mittels bestärkenden Lernens ganzheitlich komprimiert wird. Schließlich umfasst das Verfahren einen Verfahrensschritt, bei dem ein vorgegebener Agent zur Komprimierung des trainierten neuronalen Netzes die Anzahl an Filtern des trainierten neuronalen Netzes reduziert und dabei eine vorgegebenen Belohnungsfunktion maximiert, wobei die Belohnungsfunktion eine Minimierung des Genauigkeitsverlusts und eine Minimierung einer Hardware-Latenzzeit umfasst.A method according to the invention for providing an optimized, compressed, artificial neural network for three-dimensional object recognition includes providing training data, which are annotated with enveloping cuboids and classes, and describe an environment using a point cloud. The method also includes training the neural network according to the predefined enveloping cuboids and classes during a first phase using the training data provided, the neural network to be trained having a columnar feature network, a feature extraction network and a detection network . The method also includes a second phase in which the trained neural network is comprehensively compressed using reinforcement learning. Finally, the method includes a method step in which a predetermined agent for compressing the trained neural network reduces the number of filters of the trained neural network while maximizing a predetermined reward function, the reward function comprising minimizing the loss of accuracy and minimizing a hardware latency.

Die Trainingsdaten können beispielsweise durch Abtastung der Umgebung mittels eines Laser-Scanners oder Lidar-Sensors entstanden sein. Folglich können die Trainingsdaten mehrere Szenen, beispielsweise unterschiedliche Verkehrssituationen und/oder in der Umgebung erfasste Objekte, beschreiben. Zusätzlich sind die Trainingsdaten annotiert (engl., fachsprachlich: labled dataset). Die Annotation der Trainingsdaten umfasst dabei einhüllende Quader mit einer zugehörigen Klasse. Beschreibt ein Teil der Punkte der Punktewolke beispielsweise ein Objekt, also beispielsweise ein Fahrzeug oder einen Fußgänger, so können diese Punkte durch einen Quader eingehüllt bzw. zusammengefasst werden. Die Punkte der Punktewolke, die sich innerhalb des einhüllenden Quaders befinden, werden also der dem Quader zugehörigen Klasse zugeordnet. Die Klasse kann dabei beispielsweise ein Fahrzeug oder einen Fußgänger in Form eines numerischen Wertes codieren.The training data can be created, for example, by scanning the environment using a laser scanner or lidar sensor. Consequently, the training data can describe a number of scenes, for example different traffic situations and/or objects detected in the environment. In addition, the training data is annotated (technically: labeled dataset). The annotation of the training data includes enveloping cuboids with an associated class. If some of the points in the point cloud describe an object, for example a vehicle or a pedestrian, then these points can be enveloped or combined by a cuboid. The points of the point cloud that are located within the enveloping cuboid are therefore assigned to the class belonging to the cuboid. The class can encode a vehicle or a pedestrian in the form of a numerical value, for example.

Zur Durchführung der ersten Phase, also des Trainings, kann beispielsweise ein vortrainiertes oder mit zufälligen Filtern bzw. Gewichten initialisiertes neuronales Netz als Basis oder Ausgangspunkt bereitgestellt werden. Dieses kann eine vorgegebene Struktur sowie vorgegebene Hyperparameter aufweisen, also etwa eine bestimmte vorgegebene Anzahl, Größe und Verknüpfung von Schichten und Filtern, jeweilige vorgegebene Aktivierungsfunktionen, eine jeweilige vorgegebene Lernrate und/oder dergleichen. Das neuronale Netz umfasst dabei drei Teilnetze. Ein Säulen-Merkmals-Netz, ein Merkmals-Extraktions-Netz und ein Detektions-Netz. Dieses, aus drei Teilen bestehende neuronale Netz, wird auch Punkt-Säulen-Netz (engl. Point Pillars Network) genannt. Zum Trainieren des Punkt-Säulen-Netzes, insbesondere also zum Trainieren aller drei Teilnetze, während der ersten Phase können grundsätzlich bekannte Trainingsmethoden, beispielsweise basierend auf einer Fehler-Rückpropagation oder dergleichen, ganzheitlich angewendet werden. Es ist also insbesondere nicht notwendig, die Teilnetze einzeln zu trainieren.To carry out the first phase, ie the training, a pre-trained neural network or one initialized with random filters or weights can be provided as a basis or starting point. This can have a predefined structure and predefined hyperparameters, ie a specific predefined number, size and linking of layers and filters, respective predefined activation functions, a respective predefined learning rate and/or the like. The neural network comprises three sub-networks. A pillar feature mesh, a feature extraction mesh, and a detection mesh. This neural network, consisting of three parts, is also called the Point Pillars Network. Basically known training methods, for example based on an error backpropagation or the like, can be used holistically for training the point-column network, in particular for training all three sub-networks, during the first phase. In particular, it is therefore not necessary to train the partial networks individually.

Das Säulen-Merkmals-Netz kann die Eingangsdaten, also eine Punktewolke, in Form eines Pseudobildes codieren. Die Punktewolke kann so diskretisiert werden. Ein Wert eines jeden Pixels des Pseudobildes kann die Anzahl der Punkte bzw. der Reflexionspunkte beschreiben. Insgesamt kann das Pseudobild also als ein dünnbesetzter Tensor aufgefasst werden.The column feature network can encode the input data, i.e. a point cloud, in the form of a pseudo image. The point cloud can be discretized in this way. A value of each pixel of the pseudo image can describe the number of points or reflection points. Overall, the pseudo-image can be understood as a sparse tensor.

Das Merkmals-Extraktions-Netz, auch Rückgrat (engl. Backbone) genannt, nimmt das Pseudobild, das durch das Säulen-Merkmals-Netz bereitgestellt wird, und extrahiert darin enthaltene Merkmale. Die Merkmale können dabei als sogenannter Feature-Maps dargestellt werden. Es kann insbesondere von Vorteil sein, wenn das Merkmals-Extraktions-Netz als faltendes neuronales Netz ausgebildet ist.The feature extraction network, also called the backbone, takes the pseudo-image provided by the columnar feature network and extracts features contained therein. The features can be represented as so-called feature maps. It can be particularly advantageous if the feature extraction network is in the form of a convolutional neural network.

Das Detektions-Netz, im Englischen auch Detection Head genannt, dient der dreidimensionalen Objekterkennung. Als Eingangsdaten des Detektions-Netzes dienen die Feature-Maps, die von dem Merkmals-Extraktions-Netz bereitgestellt werden. Die dreidimensionalen Objekte können anschließend in Form einhüllender Quader und einer zusätzlichen Klassifizierung ausgegeben werden.The detection network, also known as the detection head, is used for three-dimensional object recognition. The feature maps, which are provided by the feature extraction network, serve as input data for the detection network. The three-dimensional objects can then be output in the form of enveloping cuboids and an additional classification.

Während der zweiten Phase kann das als Resultat der ersten Phase erhaltene trainierte Punkt-Säulen-Netz mittels bestärkenden Lernens (engl., fachsprachlich: reinforcement learning) ganzheitlich komprimiert werden. Dabei entfernt beispielsweise ein vorgegebener Software-Agent Filter des trainierten Punkt-Säulen-Netzes unter Maximierung einer vorgegebenen Belohnungsfunktion.During the second phase, the trained point-column network obtained as a result of the first phase can be comprehensively compressed using reinforcement learning. For example, a given software agent removes filters from the trained point-column network while maximizing a given reward function.

Eine entsprechende Belohnung kann beispielsweise in Form eines numerischen Wertes vorliegen. Durch die Belohnungsfunktion wird also eine durch den Agenten reduzierte Anzahl von Filtern positiv bewertet, wenn damit gleichzeitig kein signifikanter Genauigkeitsverlust und/oder eine Minimierung einer Hardware-Latenzzeit verbunden ist. Im Gegenzug kann eine größere Anzahl an verbleibenden Filtern und/oder eine erhöhte Hardware-Latenzzeit durch die Belohnungsfunktion bestraft, also mit einer kleineren Belohnung belegt werden.A corresponding reward can be in the form of a numerical value, for example. A number of filters reduced by the agent is therefore evaluated positively by the reward function if this is not associated with a significant loss of accuracy and/or a minimization of a hardware latency time. In return, a larger number of remaining filters and/or increased hardware latency can be penalized by the reward function, i.e. assigned a smaller reward.

Als mögliche Aktionen für den Agenten können ein Entfernen eines oder mehrerer Filter aus einer oder mehreren Schichten des neuronalen Netzes (englisch: filter pruning) vorgegeben bzw. definiert sein. Der Agent kann dabei in einem Schritt oder in einer Iteration des bestärkenden Lernprozesses je nach Ausgestaltung also jeweils genau einen oder mehrere Filter entfernen. Welche und/oder wie viele Filter durch den Agenten entfernt werden, kann durch eine vorgegebene Vorschrift oder einen vorgegebenen Algorithmus bestimmt oder zufällig sein. Insbesondere kann vorgegeben sein, dass automatisch derjenige oder diejenigen Filter entfernt werden, der bzw. die den kleinsten Beitrag zu einem Ergebnis des neuronalen Netzes liefern.Removal of one or more filters from one or more layers of the neural network (filter pruning) can be specified or defined as possible actions for the agent. Depending on the design, the agent can remove exactly one or more filters in one step or in one iteration of the reinforcing learning process. Which and/or how many filters are removed by the agent can be determined by a predefined rule or a predefined algorithm or can be random. In particular, it can be specified that the filter or filters that make the smallest contribution to a result of the neural network are automatically removed.

Je nach Komplexität oder Größe des neuronalen Netzes, insbesondere je nach dessen ursprünglicher Anzahl von Filtern, kann auf diese Weise ein gesamter Möglichkeits- oder Kombinationsraum durchlaufen bzw. getestet werden. Ebenso kann eine Abbruchbedingung für das bestärkende Lernen, also die Komprimierung des neuronalen Netzes, vorgegeben sein. Eine solche Abbruchbedingung kann beispielsweise angeben oder definieren, dass das bestärkende Lernen nach einer vorgegebenen Anzahl von Durchläufen oder Iterationen, beim Erreichen einer bestimmten vorgegebenen absoluten oder relativen Verbesserung, also Komprimierung, nach einer vorgegebenen Zeitspanne, bei einem Abflachen einer jeweiligen Verbesserungskurve, also bei einer Verringerung einer jeweiligen Verbesserungsrate von Iteration zu Iteration - gegebenenfalls gemessen an einem vorgegebenen Schwellenwert - und/oder dergleichen zu beenden ist bzw. beendet wird. Nach Beenden des bestärkenden Lernens kann ein dabei gefundenes Optimum, also eine Form, Version oder Variante des entsprechend komprimierten neuronalen Netzes, für die eine maximale Belohnung bestimmt wurde, als das letztliche oder endgültige komprimierte Punkt-Säulen-Netz zur dreidimensionalen Objekterkennung ausgegeben oder bereitgestellt werden.Depending on the complexity or size of the neural network, in particular depending on its original number of filters, an entire space of possibilities or combinations can be run through or tested in this way. A termination condition for the reinforcement learning, ie the compression of the neural network, can also be specified. Such a termination condition can, for example, specify or define that reinforcement learning ends after a specified number of runs or iterations, when a certain specified absolute or relative improvement is reached, i.e. compression, after a specified period of time, when a respective improvement curve flattens out, i.e. when a Reduction of a respective rate of improvement from iteration to iteration - optionally measured against a predetermined threshold value - and / or the like is to be ended or is being ended. After the reinforcement learning has ended, an optimum found, i.e. a form, version or variant of the correspondingly compressed neural network for which a maximum reward has been determined, can be output or provided as the final compressed point-column network for three-dimensional object recognition .

Durch die vorliegende Erfindung kann ein neuronales Netz mit einer reduzierten Anzahl von Filtern, also einer reduzierten Größe oder Komplexität und entsprechend reduzierten Berechnungs- oder Ressourcenanforderungen gefunden werden, ohne einen signifikanten Qualitätsverlust, also insbesondere eine signifikante Reduzierung der Genauigkeit und/oder Robustheit des neuronalen Netzes bzw. der von diesem gelieferten Ergebnisse, in Kauf zu nehmen.With the present invention, a neural network can be found with a reduced number of filters, i.e. a reduced size or complexity and correspondingly reduced calculation or resource requirements, without a significant loss of quality, i.e. in particular a significant reduction in the accuracy and/or robustness of the neural network or the results delivered by it.

Im Gegensatz zu herkömmlichen Komprimierungsverfahren, die beispielsweise gemäß einer strikten Vorgabe eine bestimmte Anzahl von Filtern nach einem starren Muster entfernen, berücksichtigt das hier vorgeschlagene bestärkende Lernen durch die Belohnung der Minimierung des mit dem Entfernen von Filtern einhergehenden Genauigkeitsverlustes des neuronalen Netzes automatisch oder inhärent individuelle Modelleigenschaften des jeweiligen neuronalen Netzes sowie, nicht zuletzt durch das Belohnen der Minimierung einer Hardware-Latenzzeit, hardwarespezifische Auswirkungen des jeweiligen Entfernens von Filtern. Damit kann gegenüber herkömmlichen Komprimierungsverfahren eine signifikante Verbesserung erreicht werden.In contrast to conventional compression methods, which, for example, remove a certain number of filters according to a rigid pattern according to a strict specification, the reinforcement learning proposed here by rewarding the minimization of the loss of accuracy of the neural network associated with the removal of filters automatically or inherently takes into account individual model properties of the respective neural network as well as, not least by rewarding the minimization of a hardware latency, hardware-specific effects of the respective removal of filters. In this way, a significant improvement can be achieved compared to conventional compression methods.

Das erfindungsgemäße Verfahren nutzt bestärkendes Lernen zur gesamtheitlichen Komprimierung, um so selbst innerhalb eines komplexen Punkt-Säulen-Netzes gegenseitige Abhängigkeiten und Beeinflussungen zwischen verschiedenen Teilnetzen hinsichtlich der Genauigkeit und der Hardware-Latenzzeit zu erfassen. Bisherige Komprimierungsansätze, welche Elemente nach einem vorgegebenen Schema entfernen, können derartige Abhängigkeiten und Beeinflussungen nicht berücksichtigen, sodass mittels des erfindungsgemäßen Verfahrens ein besonders effektives neuronales Netz zur dreidimensionalen Objekterkennung bereitgestellt werden kann, das insbesondere eine hohe Genauigkeit und Robustheit bei besonders geringem Hardwareressourcenbedarf aufweist und folglich selbst bei begrenzter Rechenkapazität anwendungstauglich ist.The method according to the invention uses reinforcing learning for overall compression in order to detect mutual dependencies and influences between different sub-networks with regard to accuracy and hardware latency even within a complex point-column network. Previous compression approaches, which remove elements according to a predetermined scheme, cannot take such dependencies and influences into account, so that a particularly effective neural network for three-dimensional object recognition can be provided using the method according to the invention, which in particular has high accuracy and robustness with particularly low hardware resource requirements and consequently is suitable for use even with limited computing capacity.

In einer vorteilhaften Weiterbildung wird als die Punktewolke der Trainingsdaten eine Lidar-Punktewolke eines Lidar-Sensors bereitgestellt. Das neuronale Netz kann damit zur dreidimensionalen Objekterkennung in der Lidar-Punktewolke trainiert werden. Die Trainingsdaten können hier also Lidar-Punktewolken sein, die Szenen einer Umgebung, insbesondere aus einem öffentlichen Verkehrsraum, darstellen bzw. beschreiben. Die Lidar-Punktewolken können dabei in der realen Welt aufgenommene Lidar-Punktewolken und/oder künstlich erzeugte, also synthetische, beispielsweise mit Hilfe einer Simulationssoftware generierte, Lidar-Punktewolken sein oder umfassen.In an advantageous development, a lidar point cloud of a lidar sensor is provided as the point cloud of the training data. The neural network can thus be trained for three-dimensional object recognition in the lidar point cloud. The training data can be lidar point clouds here, the scenes of an environment, in particular from a public traffic area, represent or describe. The lidar point clouds can be or include lidar point clouds recorded in the real world and/or artificially generated, ie synthetic, lidar point clouds generated for example with the aid of simulation software.

Das neuronale Netz bzw. das Punkt-Säulen-Netz kann folglich besonders effektiv und effizient dreidimensionale Objekte in einer Lidar-Punktewolke erkennen, da das Säulen-Merkmals-Netz Pseudobilder bereitstellt, die wiederum von dem Merkmals-Extraktions-Netz, das als faltendes neuronales Netz ausgebildet ist, verarbeitet werden können. Dies wird insbesondere damit begründet, dass die Verarbeitung von Bilddaten mittels faltender neuronaler Netze einen besonders vorteilhaften Anwendungsfall darstellt. Durch die erfindungsgemäß vorgesehene gesamthafte Komprimierung des Punkt-Säulen-Netzes und den dadurch entsprechend gesenkten Berechnungs- bzw. Ausführungsaufwand für das komprimierte Punkt-Säulen-Netz kann die dreidimensionale Objekterkennung basierend auf einer Lidar-Punktewolke mit hoher Genauigkeit und Robustheit bei besonders geringem Hardwareressourcenbedarf und folglich selbst bei begrenzter Rechenkapazität eingesetzt werden.The neural network or the point-column network can therefore particularly effectively and efficiently recognize three-dimensional objects in a lidar point cloud, since the columnar feature network provides pseudo images, which in turn are generated by the feature extraction network, which acts as a convolutional neural Network is formed, can be processed. This is justified in particular by the fact that the processing of image data using convolutional neural networks represents a particularly advantageous application. Due to the overall compression of the point-column network provided according to the invention and the correspondingly reduced calculation and execution effort for the compressed point-column network, three-dimensional object recognition based on a lidar point cloud can be carried out with high accuracy and robustness with particularly low hardware resource requirements and can therefore be used even with limited computing capacity.

Dementsprechend können in vorteilhafter Weiterbildung der vorliegenden Erfindung die Lidar-Punktewolken Verkehrsszenen aus einem Blickwinkel eines an einem Fahrzeug angebrachten Lidar- Sensors beschreiben. Das neuronale Netz bzw. das Punkt-Säulen-Netz wird bevorzugt gesamthaft darauf trainiert, dreidimensionale Objekte in einer Umgebung des Fahrzeugs zu erkennen. Die erfassten dreidimensionalen Objekte können von einem nachgelagerten Assistenzsystem des Fahrzeugs, beispielsweise einem Spurhalteassistent oder ein Abstandsregeltempomat oder dergleichen, verwendet werden.Accordingly, in an advantageous development of the present invention, the lidar point clouds can describe traffic scenes from the perspective of a lidar sensor attached to a vehicle. The neural network or the point-column network is preferably trained as a whole to recognize three-dimensional objects in the surroundings of the vehicle. The detected three-dimensional objects can be used by a downstream assistance system of the vehicle, for example a lane departure warning system or adaptive cruise control or the like.

In einer weiteren vorteilhaften Ausgestaltung der vorliegenden Erfindung wird in der zweiten Phase das komprimierte neuronale Netz jeweils nach Entfernen eines oder mehrerer Filter nachtrainiert. Dazu kann beispielsweise ein weiterer Satz annotierte Trainingsdaten bereitgestellt bzw. ein oder mehrere Durchläufe oder Iterationen des oder eines Trainingsverfahrens ausgeführt, also durchlaufen werden. Erst danach, also nach dem Nachtraining des entsprechend gestutzten neuronalen Netzes wird die Belohnungsfunktion für diese Version oder Variante des komprimierten neuronalen Netzes ausgewertet. Mit anderen Worten kann das neuronale Netz bzw. das Punkt-Säulen-Netz in der zweiten Phase also auf die jeweilige reduzierte Anzahl bzw. individuelle Kombination von Filtern adaptiert werden, bevor der resultierende Genauigkeitsverlust und die resultierende Hardware-Latenzzeit bewertet werden, also die Belohnung für den Agenten bestimmt werden. Dadurch kann letztlich die Performance des neuronalen Netzes weiter verbessert und ein Maximum der Belohnungsfunktion, also eine optimale Version oder Variante des neuronalen Netzes, besonders zuverlässig gefunden werden.In a further advantageous embodiment of the present invention, the compressed neural network is retrained in the second phase after one or more filters have been removed. For this purpose, for example, a further set of annotated training data can be provided or one or more runs or iterations of the or a training method can be carried out, ie run through. The reward function for this version or variant of the compressed neural network is only then evaluated, ie after the post-training of the correspondingly trimmed neural network. In other words, the neural network or the point-column network can be adapted to the respective reduced number or individual combination of filters in the second phase before the resulting loss of accuracy and the resulting hardware latency are evaluated, i.e. the reward be determined for the agent. As a result, the performance of the neural network can ultimately be further improved and a maximum of the reward function, ie an optimal version or variant of the neural network, can be found particularly reliably.

Zum Auswerten der Belohnungsfunktion können ein Satz von dazu bereitgestellten Eingangsdaten, also Punktewolken, durch das neuronale Netz bzw. das Punkt-Säulen-Netz verarbeitet und resultierende Ergebnisse analysiert werden. Dies kann beispielsweise deren Verarbeiten durch die Belohnungsfunktion, einen Vergleich mit bereitgestellten Referenzergebnissen, einen Vergleich mit durch eine andere Version oder Variante des komprimierten neuronalen Netzes erzielten Vergleichsergebnissen und/oder dergleichen bedeuten oder umfassen.To evaluate the reward function, a set of input data provided for this purpose, ie point clouds, can be processed by the neural network or the point-column network and the resulting results can be analyzed. This can mean or include, for example, their processing by the reward function, a comparison with provided reference results, a comparison with comparison results obtained by another version or variant of the compressed neural network and/or the like.

In weiterer vorteilhafter Ausgestaltung der vorliegenden Erfindung werden in der zweiten Phase zum Entfernen von Filtern diese, also insbesondere deren Gewichte, zunächst auf null gesetzt oder maskiert. Erst nach abschließender Auswahl der für das endgültige komprimierte neuronale Netz beizubehaltenden Filter werden die übrigen, also die für diese Version oder Variante des komprimierten neuronalen Netzes auf null gesetzten oder maskierten Filter vollständig gelöscht. Mit anderen Worten werden also während des bestärkenden Lernens in der zweiten Phase in jedem Durchlauf oder jeder Iteration die eigentlichen Datenstrukturen anderer Filter beibehalten und erst wenn das bestärkende Lernen beendet ist, also beispielsweise ein Optimum gefunden oder eine Abbruchbedingung erfüllt ist, die Datenstrukturen der zu entfernenden Filter vollständig aus dem neuronalen Netz herausgenommen, um die endgültige Komprimierung zu erreichen.In a further advantageous embodiment of the present invention, in the second phase for removing filters, these, ie in particular their weights, are initially set to zero or masked. Only after the final selection of the filters to be retained for the final compressed neural network are the remaining filters, ie the filters set to zero or masked for this version or variant of the compressed neural network, completely deleted. In other words, during the reinforcement learning in the second phase, the actual data structures of other filters are retained in each run or each iteration and only when the reinforcement learning has ended, for example an optimum has been found or a termination condition has been fulfilled, the data structures of the filters to be removed Filters completely stripped from the neural network to achieve final compression.

Eine Maskierung eines Filters kann dabei bedeuten, dass eine vorgegebene Maske auf den jeweiligen Filter angewendet oder anstelle des Filters beim Verarbeiten der Eingangsdaten, also der Punktewolken, verwendet wird und dadurch ein Effekt des jeweiligen maskierten Filters bzw. dessen Einfluss auf ein jeweiliges Verarbeitungsergebnis verhindert wird. Dieses Vorgehen ermöglicht es vorteilhaft, besonders einfach und flexibel verschiedene Kombinationen von beizubehaltenden und zu entfernenden Filtern zu testen. Beispielsweise können in einem früheren Durchlauf auf null gesetzte oder maskierte Filter für einen späteren Durchlauf des bestärkenden Lernens wieder reaktiviert bzw. demaskiert werden, um eine letztlich nicht nur hinsichtlich der Anzahl von Filtern, sondern auch hinsichtlich des minimierten Genauigkeitsverlusts und der minimierten Hardware-Latenzzeit optimierte Kombination beizubehaltender Filter zu finden.Masking a filter can mean that a predetermined mask is applied to the respective filter or used instead of the filter when processing the input data, i.e. the point clouds, and thereby an effect of the respective masked filter or its influence on a respective processing result is prevented . This procedure advantageously makes it possible to test different combinations of filters to be retained and to be removed in a particularly simple and flexible manner. For example, filters set to zero or masked in an earlier run can be reactivated or unmasked for a later run of reinforcement learning in order to ultimately optimize not only the number of filters, but also the minimized loss of accuracy and minimized hardware latency Find a combination of filters to keep.

In weiterer vorteilhafter Ausgestaltung der vorliegenden Erfindung werden zum Komprimieren des trainierten neuronalen Netzes durch den Agenten diejenigen Filter entfernt, die den geringsten Beitrag zur letztlichen Objekterkennung hinsichtlich der einhüllenden Quader und Klassen liefern. Mit anderen Worten ist der Agent also dazu ausgebildet oder eingerichtet, um anhand der verschiedenen durch die Belohnungsfunktion während des bestärkenden Lernens gegebenen Belohnungen diejenigen Filter zu bestimmen, die den größten Beitrag zur korrekten Erkennung dreidimensionaler Objekte innerhalb der jeweiligen Punktewolken liefern, also den größten Einfluss auf die Erkennung dreidimensionaler Objekte innerhalb der Punktewolken haben und daher für das endgültige komprimierte neuronale Netz beizubehalten sind. Auf diese Weise kann eine besonders effektive Komprimierung des neuronalen Netzes erreicht werden, da eine besonders große Anzahl von Filtern bei minimalem Genauigkeitsverlusts entfernt werden kann.In a further advantageous refinement of the present invention, in order to compress the trained neural network, the agent removes those filters which make the smallest contribution to the ultimate object recognition with regard to the enveloping cuboid and classes. In other words, the agent is designed or set up to use the various rewards given by the reward function during the reinforcement learning to determine those filters that make the greatest contribution to the correct recognition of three-dimensional objects within the respective point clouds, i.e. the greatest influence on have the detection of three-dimensional objects within the point clouds and are therefore to be retained for the final compressed neural network. A particularly effective compression of the neural network can be achieved in this way, since a particularly large number of filters can be removed with minimal loss of accuracy.

In einer weiteren vorteilhaften Ausgestaltung ist das Merkmals-Extraktions-Netz als ein faltendes neuronales Netz ausgebildet. Zudem ist das faltende neuronale Netz in Form eines Autoencoders ausgebildet. Der Autoencoder, also das Merkmals-Extraktions-Netz, umfasst dabei zwei Teilnetze. Ein erstes Teilnetz, das Feature-Maps mit zunehmend kleinerer räumlicher Auflösung erzeugt, sowie ein zweites Teilnetz, das eine Abtastratenerhöhung (engl., fachsprachlich: upsampling) und Verkettung mit den Feature-Maps des ersten Teilnetzes durchführt. Dadurch können von dem Merkmals-Extraktions-Netz besonders geschickt und effizient Merkmale extrahiert werden. Insbesondere können die extrahierten Merkmale so für das Detektions-Netz bestmöglich aufbereitet werden. Insgesamt kann so also ein besonders effektives Punkt-Säulen-Netz zur dreidimensionalen Objekterkennung bereitgestellt werden, das zudem eine hohe Genauigkeit aufweist.In a further advantageous embodiment, the feature extraction network is designed as a convolutional neural network. In addition, the convolutional neural network is designed in the form of an autoencoder. The autoencoder, i.e. the feature extraction network, comprises two sub-networks. A first sub-mesh that generates feature maps with progressively smaller spatial resolutions, and a second sub-mesh that upsamples and concatenates with the feature maps of the first sub-mesh. As a result, features can be extracted particularly skilfully and efficiently by the feature extraction network. In particular, the extracted features can be prepared in the best possible way for the detection network. Overall, a particularly effective point-column network for three-dimensional object recognition can thus be provided, which also has a high degree of accuracy.

Ein weiterer Aspekt der Erfindung betrifft eine Recheneinrichtung, welche zur Durchführung einer dreidimensionalen Objekterkennung unter Verwendung von punktwolkenartigen Eingangsdaten mittels eines optimierten komprimierten neuronalen Netzes, das mittels des Verfahrens nach einem der vorhergehenden Ansprüche bereitgestellt wird, eingerichtet ist.A further aspect of the invention relates to a computing device which is set up to carry out three-dimensional object recognition using point cloud-like input data by means of an optimized compressed neural network which is provided by means of the method according to one of the preceding claims.

Ein weiterer Aspekt der Erfindung betrifft ein Fahrzeug umfassend eine erfindungsgemäße Recheneinrichtung. Das Fahrzeug kann insbesondere als Personenkraftwagen ausgebildet sein.A further aspect of the invention relates to a vehicle comprising a computing device according to the invention. The vehicle can in particular be designed as a passenger car.

Zudem betrifft die Erfindung ein Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch eine Recheneinrichtung diese veranlassen, punktwolkenartige Eingangsdaten mittels eines optimierten komprimierten neuronalen Netzes, das mittels des erfindungsgemäßen Verfahrens bereitgestellt wurde, auszuwerten und so dreidimensionale Objekte in den punktewolkenartigen Eingangsdaten zu erkennen.In addition, the invention relates to a computer program, comprising instructions which, when the program is executed by a computing device, cause it to evaluate point-cloud-like input data using an optimized compressed neural network that was provided using the method according to the invention, and thus to recognize three-dimensional objects in the point-cloud-like input data .

Ferner betrifft die Erfindung ein computerlesbares (Speicher)Medium, umfassend Befehle, die bei der Ausführung durch eine Recheneinrichtung diese veranlassen, punktwolkenartige Eingangsdaten mittels eines optimierten komprimierten neuronalen Netzes, das mittels des erfindungsgemäßen Verfahrens bereitgestellt wurde, auszuwerten und so dreidimensionale Objekte in den punktewolkenartigen Eingangsdaten zu erkennen.The invention also relates to a computer-readable (storage) medium, comprising instructions which, when executed by a computing device, cause the latter to evaluate point-cloud-like input data using an optimized compressed neural network that was provided using the method according to the invention, and thus three-dimensional objects in the point-cloud-like input data to recognize.

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 Fahrzeug, für das erfindungsgemäße Computerprogramm sowie für das erfindungsgemäße computerlesbares (Speicher)Medium.The preferred embodiments presented with reference to the method according to the invention and their advantages apply correspondingly to the computing device according to the invention, to the vehicle according to the invention, to the computer program according to the invention and to the computer-readable (storage) medium according to the invention.

Weitere 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.Further features of the invention result from the claims, the figures and the description of the figures. The features and feature combinations mentioned above in the description, as well as the features and feature combinations mentioned below in the description of the figures and/or shown alone in the figures, can be used not only in the combination specified, but also in other combinations or on their own, without the frame to abandon the invention.

Die Erfindung wird nun anhand von bevorzugten Ausführungsbeispielen sowie unter Bezugnahme auf die beigefügten Zeichnungen näher erläutert. Dabei zeigen:

  • 1 eine schematische Darstellung eines Fahrzeugs, welches einen Lidar-Sensor und eine Recheneinrichtung, welche zur Durchführung einer dreidimensionalen Objekterkennung eingerichtet ist, umfasst; und
  • 2 eine schematische Darstellung eines Ablaufdiagramms eines Verfahrens zum Bereitstellen eines künstlichen neuronalen Netzes zur dreidimensionalen Objekterkennung gemäß einer Ausführungsform der Erfindung.
The invention will now be explained in more detail using preferred exemplary embodiments and with reference to the accompanying drawings. show:
  • 1 a schematic representation of a vehicle which includes a lidar sensor and a computing device which is set up to carry out three-dimensional object recognition; and
  • 2 a schematic representation of a flowchart of a method for providing an artificial neural network for three-dimensional object recognition according to an embodiment of the invention.

In den Figuren werden gleiche oder funktionsgleiche Elemente mit den gleichen Bezugszeichen versehen.Elements that are the same or have the same function are provided with the same reference symbols in the figures.

1 zeigt eine schematische Darstellung eines Fahrzeugs 1, welches einen Lidar-Sensor 2 und eine Recheneinrichtung 3, welche zur Durchführung einer dreidimensionalen Objekterkennung eingerichtet sind, umfasst. Mittels des Lidar-Sensors 2 kann eine Umgebung 4 des Fahrzeugs 1 erfasst werden. Hierzu kann auf Grundlage von Messungen des Lidar-Sensors 2 eine Lidar-Punktwolke 5 bestimmt werden, welche die Umgebung 4 des Fahrzeugs 1 beschreibt. 1 shows a schematic representation of a vehicle 1, which has a lidar sensor 2 and a computing device 3, which is used to carry out three-dimensional object recognition are directed includes. The surroundings 4 of the vehicle 1 can be detected by means of the lidar sensor 2 . For this purpose, a lidar point cloud 5 which describes the surroundings 4 of the vehicle 1 can be determined on the basis of measurements by the lidar sensor 2 .

Die Recheneinrichtung 3 ist dazu eingerichtet, die Lidar-Punktewolke 5 zu empfangen und mittels eines optimierten komprimierten künstlichen neuronalen Netzes 6'" auszuwerten. Dabei wird das optimierten komprimierten neuronale Netz 6'" mittels des erfindungsgemäßen Verfahrens bereitgestellt. Das optimierte komprimierte neuronale Netz 6 ist dazu ausgebildet, dreidimensionale Objekte in der Umgebung 4 des Fahrzeugs 1, welche mittels der Lidar-Punktewolke 5 beschrieben werden, zu erkennen. Die von dem optimierten komprimierten neuronalen Netz 6'" erkannten dreidimensionalen Objekte werden auch als prädizierte Objekte 7 bezeichnet. Die prädizierten Objekte 7 werden in Form von dreidimensionalen einhüllenden Quadern und Klassen beschrieben.The computing device 3 is set up to receive the lidar point cloud 5 and to evaluate it using an optimized compressed artificial neural network 6″. The optimized compressed neural network 6″″ is provided using the method according to the invention. The optimized, compressed neural network 6 is designed to recognize three-dimensional objects in the surroundings 4 of the vehicle 1, which are described using the lidar point cloud 5. The three-dimensional objects recognized by the optimized, compressed neural network 6′″ are also referred to as predicted objects 7. The predicted objects 7 are described in the form of three-dimensional enveloping cuboids and classes.

2 zeigt ein schematisches Ablaufdiagramm eines Verfahrens zum Bereitstellen eines optimierten komprimierten künstlichen neuronalen Netzes 6'" zur dreidimensionalen Objekterkennung sowie die prinzipielle Architektur des optimierten komprimierten neuronalen Netzes 6"'. Ein initiales neuronales Netz 6, das später komprimiert, optimiert und in Form des optimierten komprimierten neuronalen Netzes 6'" bereitgestellt wird, besteht dabei aus drei Teilnetzen, einem Säulen-Merkmals-Netz 61, einem Merkmals-Extraktions-Netz 62 und einen Detektions-Netz 63. Dieses, aus drei Teilen bestehende neuronale Netz 6, wird auch Punkt-Säulen-Netz 6 genannt (engl., fachsprachlich: Point Pillars Network). 2 shows a schematic flowchart of a method for providing an optimized compressed artificial neural network 6'" for three-dimensional object recognition and the basic architecture of the optimized compressed neural network 6"'. An initial neural network 6, which is later compressed, optimized and provided in the form of the optimized, compressed neural network 6'", consists of three sub-networks, a column feature network 61, a feature extraction network 62 and a detection Network 63. This neural network 6, consisting of three parts, is also called point pillar network 6.

Das Säulen-Merkmals-Netz 61 erhält die Lidar-Punktewolke 5 als Eingangsdaten. Anschließend kann die Lidar-Punktewolke 5 von dem Säulen-Merkmals-Netz 61 im Schritt 61S1 in Form von Säulen diskretisiert werden. Anschließend kann in Schritt 61S2 eine zusätzliche Codierung der diskretisierten Lidar-Punktewolke 5 erfolgen. Schließlich wird die Lidar-Punktewolke 5 im Schritt 61S3 als Pseudobild aufbereitet, das wiederum von dem Merkmals-Extraktions-Netz 62, verarbeitet werden kann.The column feature network 61 receives the lidar point cloud 5 as input data. Subsequently, the lidar point cloud 5 can be discretized by the columnar feature mesh 61 in the form of columns in step 61S1. An additional coding of the discretized lidar point cloud 5 can then take place in step 61S2. Finally, in step 61S3, the lidar point cloud 5 is rendered as a pseudo-image, which in turn can be processed by the feature extraction mesh 62'.

Die Eingangsdaten des Punkt-Säulen-Netzes 6 können punktewolkenartig sein. Insbesondere können die Eingangsdaten eine Lidar-Punktewolke 5 sein, die eine Umgebung 4 eines Fahrzeugs 1 beschreiben. Dabei kann die Lidar-Punktewolke 5 in einer Darstellung 5' visualisiert werden. Die von dem Punkt-Säulen-Netzes 6 prädizierten Objekte 7 können in einer weiteren Darstellung 7' veranschaulicht werden.The input data of the point-column network 6 can be in the form of point clouds. In particular, the input data can be a lidar point cloud 5 that describes an environment 4 of a vehicle 1 . The lidar point cloud 5 can be visualized in a display 5'. The objects 7 predicted by the point-column network 6 can be illustrated in a further representation 7'.

In einer ersten Phase P1 wird das neuronale Netz 6 auf Basis von Trainingsdaten, die mit einhüllenden Quadern und Klassen annotiert sind, und eine Umgebung 4 mittels einer Lidar-Punktewolke 5 beschreiben, trainiert. Schließlich wird das trainierte neuronale Netz 6' in einer zweiten Phase P2 mittels bestärkenden Lernen ganzheitlich komprimiert. Insbesondere können also die einzelnen Teilnetze, also das Säulen-Merkmals-Netz 61, das Merkmals-Extraktions-Netz 62 und das Detektions-Netz 63, zusammen komprimiert werden. So können gegenseitige Abhängigkeiten und Beeinflussungen der einzelnen Teilnetze von einem vorgegebenen Agenten 8 zur Komprimierung des trainierten neuronalen Netzes 6' berücksichtigt werden.In a first phase P1, the neural network 6 is trained on the basis of training data which are annotated with enveloping cuboids and classes and describe an environment 4 using a lidar point cloud 5 . Finally, the trained neural network 6' is comprehensively compressed in a second phase P2 by means of reinforcement learning. In particular, the individual partial networks, that is to say the column feature network 61, the feature extraction network 62 and the detection network 63, can be compressed together. Mutual dependencies and influences of the individual sub-networks can thus be taken into account by a specified agent 8 for compressing the trained neural network 6'.

Während des bestärkenden Lernens, also in der zweiten Phase, wird im Schritt P2S1 ein komprimiertes neuronales Netz 6" durch den Agenten 8 bereitgestellt. Die Komprimierung wird dabei durch eine Reduktion der Anzahl an Filtern des trainierten neuronalen Netzes 6' erreicht. Das komprimierte neuronale Netz 6" wird in Schritt P2S2 nochmals optimiert (engl., fachsprachlich: fine-tuned). Das so erhaltene optimierte komprimierte neuronale Netz 6'" wird in Schritt P2S3 auf einem Hardware-Beschleuniger 9 eingesetzt und evaluiert.During the reinforcement learning, i.e. in the second phase, a compressed neural network 6″ is provided by the agent 8 in step P2S1. The compression is achieved by reducing the number of filters in the trained neural network 6′. The compressed neural network 6" is optimized again in step P2S2 (technically: fine-tuned). The optimized compressed neural network 6′″ obtained in this way is used and evaluated on a hardware accelerator 9 in step P2S3.

Von besonderem Interesse dabei ist die Genauigkeit des optimierten komprimierten neuronalen Netzes 6'" sowie die Hardware-Latenzzeit. Diese Werte fließen in Schritt P2S4 in eine Belohnungsfunktion des Agenten 8 ein. Insbesondere werden also eine Minimierung des Genauigkeitsverlusts und eine Minimierung der Hardware-Latenzzeit berücksichtigt. Der Agent 8 erhält so eine direkte Rückmeldung über Erfolg und/oder Misserfolg der vorangegangenen Reduktion der Filter des trainierten neuronalen Netzes 6' und lernt so, die Reduktion der Filter und damit die Komprimierung zu optimieren. Anschließend werden die Schritte P2S1, P2S2, P2S3 und P2S4, welche ein Hardware-in-the-Loop-Komprimierungsverfahren darstellen, erneut durchlaufen.Of particular interest here is the accuracy of the optimized compressed neural network 6'" and the hardware latency. In step P2S4, these values are included in a reward function of the agent 8. In particular, minimizing the loss of accuracy and minimizing the hardware latency are therefore taken into account The agent 8 thus receives direct feedback on the success and/or failure of the previous reduction of the filters of the trained neural network 6' and thus learns to optimize the reduction of the filters and thus the compression.Then steps P2S1, P2S2, P2S3 and P2S4, which represent a hardware-in-the-loop compression method.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN DESCRIPTION

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.This list of documents cited by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturPatent Literature Cited

  • US 2018/0336468 A1 [0006]US 2018/0336468 A1 [0006]
  • US 2018/0114114 A1 [0007]US 2018/0114114 A1 [0007]

Claims (10)

Verfahren zum Bereitstellen eines optimierten komprimierten künstlichen neuronalen Netzes (6"') zur dreidimensionalen Objekterkennung, umfassend die Schritte: - Bereitstellen von Trainingsdaten, die mit einhüllenden Quadern und Klassen annotiert sind, und eine Umgebung (4) mittels einer Punktewolke beschreiben, - Trainieren des neuronalen Netzes (6) gemäß den vorgegebenen einhüllenden Quadern und Klassen während einer ersten Phase (P1) mittels der bereitgestellten Trainingsdaten, wobei - das zu trainierende neuronale Netz (6) ein Säulen-Merkmals-Netz (61), ein Merkmals-Extraktions-Netz (62) und ein Detektions-Netz (63) umfasst, dadurch gekennzeichnet, dass - in einer zweiten Phase (P2) das trainierte neuronale Netz (6') mittels bestärkenden Lernens ganzheitlich komprimiert wird, - ein vorgegebener Agent (8) zur Komprimierung des trainierten neuronalen Netzes (6') die Anzahl an Filtern des trainierten neuronalen Netzes (6') reduziert und dabei eine vorgegebenen Belohnungsfunktion maximiert, wobei - die Belohnungsfunktion eine Minimierung des Genauigkeitsverlusts und eine Minimierung einer Hardware-Latenzzeit umfasst.Method for providing an optimized, compressed artificial neural network (6"') for three-dimensional object recognition, comprising the steps: - providing training data, which are annotated with enveloping cuboids and classes, and describing an environment (4) using a point cloud, - training the neural network (6) according to the predetermined enveloping cuboids and classes during a first phase (P1) using the training data provided, wherein - the neural network (6) to be trained is a column feature network (61), a feature extraction network (62) and a detection network (63), characterized in that - in a second phase (P2), the trained neural network (6') is compressed holistically by means of reinforcement learning, - a predetermined agent (8) for compressing the trained neural network (6 ') reduces the number of filters of the trained neural network (6') while maximizing a predetermined reward function ed, where - the reward function comprises minimizing loss of accuracy and minimizing hardware latency. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass als die Punktewolke der Trainingsdaten eine Lidar-Punktewolke (5) eines Lidar-Sensors (2) bereitgestellt wird und das neuronale Netz (6) damit zur dreidimensionalen Objekterkennung in der Lidar-Punktewolke (5) trainiert wird.procedure after claim 1 , characterized in that a lidar point cloud (5) of a lidar sensor (2) is provided as the point cloud of the training data and the neural network (6) is thus trained for three-dimensional object recognition in the lidar point cloud (5). Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die Lidar-Punktewolke (5) Verkehrsszenen aus einem Blickwinkel eines an einem Fahrzeug (1) angebrachten Lidar- Sensors (2) beschreiben und das neuronale Netz (6) darauf trainiert wird, dreidimensionale Objekte in einer Umgebung (4) des Fahrzeugs (1) zu erkennen.procedure after claim 2 , characterized in that the lidar point cloud (5) describes traffic scenes from a perspective of a vehicle (1) attached lidar sensor (2) and the neural network (6) is trained to three-dimensional objects in an environment (4) of the vehicle (1) to recognize. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in der zweiten Phase (P2) das komprimierte neuronale Netz (6") jeweils nach Entfernen eines oder mehrerer Filter nachtrainiert wird und erst danach die Belohnungsfunktion ausgewertet wird.Method according to one of the preceding claims, characterized in that in the second phase (P2) the compressed neural network (6") is retrained after removing one or more filters and only then is the reward function evaluated. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in der zweiten Phase (P2) zum Entfernen von Filtern diese zunächst auf null gesetzt oder maskiert werden und erst nach abschließender Auswahl der für das endgültige komprimierte neuronale Netz (6") beizubehaltenden Filter die übrigen, auf null gesetzten Filter gelöscht werden.Method according to one of the preceding claims, characterized in that in the second phase (P2) for removing filters, these are first set to zero or masked and only after the final selection of the filters to be retained for the final compressed neural network (6") the others , filters set to zero are cleared. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zum Komprimieren des trainierten neuronalen Netzes (6') durch den Agenten (8) diejenigen Filter entfernt werden, die den geringsten Beitrag zur letztlichen Objekterkennung leisten.Method according to one of the preceding claims, characterized in that for the compression of the trained neural network (6') by the agent (8) those filters are removed which make the smallest contribution to the ultimate object recognition. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Merkmals-Extraktions-Netz (62) ein faltendes neuronales Netz ist und zusätzlich in Form eines Autoencoders (62E) ausgebildet ist.Method according to one of the preceding claims, characterized in that the feature extraction network (62) is a convolutional neural network and is additionally designed in the form of an autoencoder (62E). Recheneinrichtung (3) für ein Fahrzeug (1), welche zur Durchführung einer dreidimensionalen Objekterkennung unter Verwendung von punktwolkenartigen Eingangsdaten mittels eines optimierten komprimierten neuronalen Netzes (6"'), das mittels des Verfahrens nach einem der vorhergehenden Ansprüche bereitgestellt wird, eingerichtet ist.Computing device (3) for a vehicle (1), which is set up to carry out a three-dimensional object recognition using point cloud-like input data by means of an optimized compressed neural network (6"'), which is provided by means of the method according to one of the preceding claims. Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch eine Recheneinrichtung (3) diese veranlassen, eine dreidimensionale Objekterkennung unter Verwendung von punktwolkenartigen Eingangsdaten mittels eines optimierten komprimierten neuronalen Netzes (6"'), das mittels des Verfahrens nach einem der Ansprüche 1 bis 7 bereitgestellt wird, auszuführen.Computer program, comprising instructions which, when the program is executed by a computing device (3), cause the latter to carry out three-dimensional object recognition using point-cloud-like input data by means of an optimized, compressed neural network (6"'), which is carried out using the method according to one of Claims 1 until 7 is provided to execute. Computerlesbares (Speicher)Medium, umfassend Befehle, die bei der Ausführung durch eine Recheneinrichtung (3) diese veranlassen, eine dreidimensionale Objekterkennung unter Verwendung von punktwolkenartigen Eingangsdaten mittels eines optimierten komprimierten neuronalen Netzes (6"'), das mittels des Verfahrens nach einem der Ansprüche 1 bis 7 bereitgestellt wird, auszuführen.Computer-readable (storage) medium, comprising instructions which, when executed by a computing device (3), cause the latter to carry out three-dimensional object recognition using point-cloud-like input data by means of an optimized compressed neural network (6"'), which is generated by means of the method according to one of Claims 1 until 7 is provided to execute.
DE102021114044.7A 2021-05-31 2021-05-31 Method for providing an artificial neural network for three-dimensional object recognition, computing device for a vehicle, computer program and computer-readable (storage) medium Pending DE102021114044A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021114044.7A DE102021114044A1 (en) 2021-05-31 2021-05-31 Method for providing an artificial neural network for three-dimensional object recognition, computing device for a vehicle, computer program and computer-readable (storage) medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021114044.7A DE102021114044A1 (en) 2021-05-31 2021-05-31 Method for providing an artificial neural network for three-dimensional object recognition, computing device for a vehicle, computer program and computer-readable (storage) medium

Publications (1)

Publication Number Publication Date
DE102021114044A1 true DE102021114044A1 (en) 2022-12-01

Family

ID=83997210

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021114044.7A Pending DE102021114044A1 (en) 2021-05-31 2021-05-31 Method for providing an artificial neural network for three-dimensional object recognition, computing device for a vehicle, computer program and computer-readable (storage) medium

Country Status (1)

Country Link
DE (1) DE102021114044A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180114114A1 (en) 2016-10-21 2018-04-26 Nvidia Corporation Systems and methods for pruning neural networks for resource efficient inference
US20180336468A1 (en) 2017-05-16 2018-11-22 Nec Laboratories America, Inc. Pruning filters for efficient convolutional neural networks for image recognition in surveillance applications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180114114A1 (en) 2016-10-21 2018-04-26 Nvidia Corporation Systems and methods for pruning neural networks for resource efficient inference
US20180336468A1 (en) 2017-05-16 2018-11-22 Nec Laboratories America, Inc. Pruning filters for efficient convolutional neural networks for image recognition in surveillance applications

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JOMAA, Hadi S.; GRABOCKA, Josif; SCHMIDT-THIEME, Lars: Hyp-rl: Hyperparameter optimization by reinforcement learning. arXiv preprint arXiv:1906.11527, 2019
LANG, Alex H. [et al.: PointPillars: Fast Encoders for Object Detection From Point Clouds. In: 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2019. S. 12689-12697. IEEE Xplore [online]. DOI: 10.1109/CVPR.2019.01298, In: IEEE
STAMOULIS, Dimitrios [et al.]: Hyperpower: Power-and memory-constrained hyper-parameter optimization for neural networks. In: 2018 Design, Automation & Test in Europe Conference & Exhibition (DATE). IEEE, 2018. S. 19-24. IEEE Xplore [online]. DOI: 10.23919/DATE.2018.8341973, In: IEEE

Similar Documents

Publication Publication Date Title
DE102018128289B4 (en) METHOD AND DEVICE FOR AUTONOMOUS SYSTEM PERFORMANCE AND CLASSIFICATION
DE102019114577A1 (en) SYSTEMS, DEVICES AND METHODS FOR EMBEDDED CODING OF CONTEXT-RELATED INFORMATION USING A NEURONAL NETWORK WITH VECTOR SPACE MODELING
WO2019001649A1 (en) Knowledge transfer between different deep learning architectures
DE102019124018A1 (en) Method for optimizing tests of control systems for automated vehicle dynamics systems
DE102018220941A1 (en) Evaluation of measured variables with AI modules taking into account measurement uncertainties
WO2021058223A1 (en) Method for applying automated driving functions efficiently and in a simulated manner
EP4193135A1 (en) Computer-implemented method for providing a test process for traffic scenarios to be tested
DE102020128978A1 (en) TRAINING DEEP NEURAL NETWORKS WITH SYNTHETIC IMAGES
DE102020120141A1 (en) Procedure for optimizing tests of control systems for automated vehicle dynamics systems using probabilistically predicted system responses
DE102020214596A1 (en) Method for generating training data for a recognition model for recognizing objects in sensor data of an environment sensor system of a vehicle, method for generating such a recognition model and method for controlling an actuator system of a vehicle
DE102017128082A1 (en) Meta-architecture design for a CNN network
DE102021114044A1 (en) Method for providing an artificial neural network for three-dimensional object recognition, computing device for a vehicle, computer program and computer-readable (storage) medium
EP4115337A1 (en) Method and apparatus for compressing a neural network
DE102020127253A1 (en) QUANTIFYING PHOTOREALISM IN SIMULATED DATA WITH GAN
DE102020005467A1 (en) Process for making anonymized, ADAS-relevant vehicle data available
DE102019216184A1 (en) Method for the robustification of a neural network against adversarial disturbances
DE102019114049A1 (en) Method for validating a driver assistance system using further generated test input data sets
DE102018222484A1 (en) Method and device for determining an availability state of a parking space
DE102020120934A1 (en) Method for providing a compressed neural network for multi-label, multi-class categorization, vehicle assistance device for environment categorization and motor vehicle
DE102022107338B3 (en) Method for testing automated vehicle functions
DE102021115879A1 (en) Method for providing a compressed neural network
DE102021133977A1 (en) Method and system for classifying virtual test scenarios and training methods
DE102022111180A1 (en) COMPUTER-IMPLEMENTED METHOD AND DEVICE FOR DESIGNING A DATA COLLECTION CAMPAIGN FOR A MOTOR VEHICLE
EP4202779A1 (en) Method and system for classification of scenarios of a virtual test and training method
DE102020132042A1 (en) Method, system, test system and computer program product for the predictive determination of test results for a technical test object

Legal Events

Date Code Title Description
R163 Identified publications notified