DE102019215255A1 - Device and method for processing data from a neural network - Google Patents
Device and method for processing data from a neural network Download PDFInfo
- Publication number
- DE102019215255A1 DE102019215255A1 DE102019215255.4A DE102019215255A DE102019215255A1 DE 102019215255 A1 DE102019215255 A1 DE 102019215255A1 DE 102019215255 A DE102019215255 A DE 102019215255A DE 102019215255 A1 DE102019215255 A1 DE 102019215255A1
- Authority
- DE
- Germany
- Prior art keywords
- value
- input image
- classification
- neural network
- discarded
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
- G06F18/2414—Smoothing the distance, e.g. radial basis function networks [RBFN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/776—Validation; Performance evaluation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
Vorrichtung (200) und Verfahren (100) zum Verarbeiten von, insbesondere unnormierten, mehrdimensionalen, Daten eines neuronalen Netzes, insbesondere tiefen neuronalen Netzes, insbesondere zum Detektieren von Objekten in einem Eingangsbild, wobei die Daten für eine Vielzahl von Positionen in dem Eingangsbild jeweils wenigstens einen ersten Klassifizierungswert umfassen, wobei ein Klassifizierungswert eine Präsenz einer Klasse quantifiziert, wobei das Verfahren die folgenden Schritte umfasst: Auswerten (102) der Daten in Abhängigkeit eines Schwellenwerts, wobei ein erster Klassifizierungswert für eine jeweilige Position in dem Eingangsbild, der entweder unterhalb oder oberhalb des Schwellenwerts liegt, verworfen wird (104a) und ein erster Klassifizierungswert für eine jeweilige Position in dem Eingangsbild, der entweder oberhalb oder unterhalb des Schwellenwert liegt, nicht verworfen wird (104b).Device (200) and method (100) for processing, in particular non-normalized, multidimensional, data of a neural network, in particular deep neural network, in particular for detecting objects in an input image, the data for a plurality of positions in the input image in each case at least comprise a first classification value, wherein a classification value quantifies a presence of a class, the method comprising the following steps: evaluating (102) the data as a function of a threshold value, wherein a first classification value for a respective position in the input image, which is either below or above of the threshold value is discarded (104a) and a first classification value for a respective position in the input image, which is either above or below the threshold value, is not discarded (104b).
Description
Stand der TechnikState of the art
Die Offenbarung betrifft ein computerimplementiertes Verfahren zum Verarbeiten von, insbesondere unnormierten, mehrdimensionalen, Daten eines neuronalen Netzes, insbesondere tiefen neuronalen Netzes.The disclosure relates to a computer-implemented method for processing, in particular non-normalized, multidimensional, data of a neural network, in particular deep neural network.
Die Offenbarung betrifft ferner eine Vorrichtung zum Verarbeiten von, insbesondere unnormierten, mehrdimensionalen, Daten eines neuronalen Netzes, insbesondere tiefen neuronalen Netzes.The disclosure also relates to a device for processing, in particular non-normalized, multidimensional, data of a neural network, in particular deep neural network.
Im Bereich der Bildverarbeitung, insbesondere Objektdetektion, werden häufig neuronale Netze, insbesondere faltende neuronale Netze, engl. Convolutional Neural Network, eingesetzt. Grundsätzlich besteht die Struktur einen solchen Netzes aus mehreren faltenden Schichten, engl. Convolutional Layer.In the field of image processing, in particular object detection, neural networks, in particular folding neural networks, are often used. Convolutional Neural Network. Basically, the structure of such a network consists of several folding layers. Convolutional Layer.
Zur Objektdetektion wird mit einem solchen Netz für eine Vielzahl von Positionen in einem Eingangsbild eine Entscheidung über die Präsenz von Klassen, insbesondere Zielobjektklassen, getroffen. Auf diese Weise werden eine Vielzahl, beispielsweis bis zu 107 Entscheidungen pro Eingangsbild getroffen. Anhand dieser Entscheidungen kann dann weiter ein finaler Netzoutput des neuronalen Netzes, auch als Prädiktion bezeichnet, berechnet werden.For object detection, such a network is used to make a decision about the presence of classes, in particular target object classes, for a large number of positions in an input image. In this way, a large number, for example up to 10 7, decisions per input image are made. On the basis of these decisions, a final network output of the neural network, also referred to as prediction, can then be calculated.
Bei einem sogenannten Boundingbox-Verfahren wird die Prädiktion für ein Objekt üblicherweise derart prozessiert, dass für ein detektiertes Objekt eine sogenannte Boundingbox, also eine das Objekt umgebende Box, berechnet wird. Die Koordinaten der Boundingbox entsprechen der Position des Objekts im Eingangsbild. Für die Boundingbox wird mindestens ein Wahrscheinlichkeitswert einer Objektklasse ausgegeben.In a so-called bounding box method, the prediction for an object is usually processed in such a way that a so-called bounding box, that is to say a box surrounding the object, is calculated for a detected object. The coordinates of the bounding box correspond to the position of the object in the input image. At least one probability value of an object class is output for the bounding box.
Bei der sogenannten semantischen Segmentierung werden pixelweise oder superpixelweise Klassen zu Pixeln des Eingangsbildes zugeordnet. Unter superpixelweise werden in diesem Zusammenhang mehrere zusammengefasste Pixel verstanden. Ein Pixel hat dabei eine bestimmte Position im Eingangsbild.In the so-called semantic segmentation, pixel-by-pixel or super-pixel-by-pixel classes are assigned to pixels of the input image. In this context, superpixel by pixel is understood to mean a plurality of combined pixels. A pixel has a certain position in the input image.
Selbst kleinere solcher Netze können bereits mehrere Millionen Parameter umfassen und mehrere Milliarden Rechenoperationen für eine einzige Ausführung benötigen. Insbesondere wenn neuronale Netze in eingebetteten Systemen eingesetzt werden sollen, sind häufig sowohl die benötigte Speicherbandbreite als auch die Anzahl an benötigten Rechenoperationen limitierende Faktoren.Even smaller networks of this type can already contain several million parameters and require several billion arithmetic operations for a single execution. In particular, when neural networks are to be used in embedded systems, both the required memory bandwidth and the number of computing operations required are often limiting factors.
Zur Reduzierung der benötigten Speicherbandbreite sind herkömmliche Kompressionsverfahren aufgrund der charakteristischen Häufigkeitsverteilung des finalen Netzoutputs eines neuronalen Netzes häufig nicht geeignet.Conventional compression methods are often not suitable for reducing the required memory bandwidth due to the characteristic frequency distribution of the final network output of a neural network.
Wünschenswert ist es, ein Verfahren bereitzustellen, mit dem sowohl die Anzahl an benötigten Rechenoperationen, als auch eine benötigte Speicherbandbreite reduziert werden kann.It is desirable to provide a method with which both the number of required arithmetic operations and a required memory bandwidth can be reduced.
Offenbarung der ErfindungDisclosure of the invention
Bevorzugte Ausführungsformen beziehen sich auf ein computerimplementiertes Verfahren zum Verarbeiten von, insbesondere unnormierten, mehrdimensionalen, Daten eines neuronalen Netzes, insbesondere tiefen neuronalen Netzes, insbesondere zum Detektieren von Objekten in einem Eingangsbild, wobei die Daten für eine Vielzahl von Positionen in dem Eingangsbild jeweils wenigstens einen ersten Klassifizierungswert umfassen, wobei ein Klassifizierungswert eine Präsenz einer Klasse quantifiziert, wobei das Verfahren die folgenden Schritte umfasst: Auswerten der Daten in Abhängigkeit eines Schwellenwerts, wobei ein erster Klassifizierungswert für eine jeweilige Position in dem Eingangsbild, der entweder unterhalb oder oberhalb des Schwellenwerts liegt, verworfen wird und ein erster Klassifizierungswert für eine jeweilige Position in dem Eingangsbild, der entweder oberhalb oder unterhalb des Schwellenwert liegt, nicht verworfen wird.Preferred embodiments relate to a computer-implemented method for processing, in particular non-normalized, multidimensional, data of a neural network, in particular deep neural network, in particular for detecting objects in an input image, the data for a plurality of positions in the input image in each case at least one first classification value, wherein a classification value quantifies a presence of a class, wherein the method comprises the following steps: evaluating the data as a function of a threshold value, wherein a first classification value for a respective position in the input image, which is either below or above the threshold value, is discarded and a first classification value for a respective position in the input image, which is either above or below the threshold value, is not discarded.
Ein erster Klassifizierungswert ist beispielsweise das unnormierte Ergebnis eines Filters, insbesondere eines Convolutional Layers, des neuronalen Netzes. Ein Filter, der trainiert ist, die Präsenz einer Klasse zu quantifizieren, wird im Folgenden auch als Klassenfilter bezeichnet. Es wird also vorgeschlagen, die unnormierten Ergebnisse der Klassenfilter auszuwerten, und in Abhängigkeit eines Schwellenwerts die Ergebnisse der Klassenfilter zu verwerfen.A first classification value is, for example, the non-normalized result of a filter, in particular a convolutional layer, of the neural network. A filter that is trained to quantify the presence of a class is also referred to below as a class filter. It is therefore proposed to evaluate the non-normalized results of the class filters and to discard the results of the class filters as a function of a threshold value.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass der Schwellenwert null ist, und dass ein erster Klassifizierungswert für eine jeweilige Position in dem Eingangsbild, der unterhalb des Schwellenwerts liegt, verworfen wird und ein erster Klassifizierungswert für eine jeweilige Position in dem Eingangsbild, der oberhalb des Schwellenwerts liegt, nicht verworfen wird. Es wird also vorgeschlagen, negative Klassifizierungswerte zur verwerfen und positive Klassifizierungswerte nicht zu verwerfen.In further preferred embodiments it is provided that the threshold value is zero, and that a first classification value for a respective position in the input image, which is below the threshold value, is discarded and a first classification value for a respective position in the input image, which is above the threshold value is not discarded. It is therefore proposed to discard negative classification values and not to discard positive classification values.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Verwerfen eines ersten Klassifizierungswertes für eine jeweilige Position in dem Eingangsbild weiter umfasst: Setzen des ersten Klassifizierungswerts auf einen festen Wert, insbesondere null. Bei dem festen Wert handelt es sich vorzugsweise um einen beliebig festlegbaren Wert. Vorzugsweise ist der feste Wert Null. Anschließend kann ein Kompressionsverfahren, wie zum Beispiel Lauflängenkodierung, auf die Klassifizierungswerte angewendet werden. Da die unnormierten, mehrdimensionalen, Daten des neuronalen Netzes nach Setzen der ersten Klassifizierungswerte auf den festen Wert, insbesondere null, überwiegend diesen festen Wert umfassen, sind hohe Kompressionsraten, insbesondere von 103 - 104, erreichbar.In further preferred embodiments it is provided that discarding a first classification value for a respective position in the input image further comprises: setting the first classification value to a fixed value, especially zero. The fixed value is preferably a freely definable value. The fixed value is preferably zero. Then a compression method such as run length coding can be applied to the classification values. Since the non-normalized, multi-dimensional, data of the neural network after setting the first classification values to the fixed value, in particular zero, predominantly comprise this fixed value, high compression rates, in particular of 10 3 -10 4 , can be achieved.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass der erste Klassifizierungswert das unnormierte Ergebnis eines Klassenfilters des neuronalen Netzes, insbesondere für eine Hintergrundklasse, für eine jeweilige Position in dem Eingangsbild ist, wobei das Verwerfen eines ersten Klassifizierungswertes für eine jeweilige Position in dem Eingangsbild das Verwerfen des Ergebnisses des Klassenfilters umfasst.In further preferred embodiments it is provided that the first classification value is the non-normalized result of a class filter of the neural network, in particular for a background class, for a respective position in the input image, the discarding of a first classification value for a respective position in the input image being the discarding of the Includes the result of the class filter.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Daten für die jeweilige Position in dem Eingangsbild wenigstens einen weiteren Klassifizierungswert und/oder wenigstens einen Wert für ein Zusatzattribut umfassen, wobei der weitere Klassifizierungswert das unnormierte Ergebnis eines Klassenfilters für eine Objektklasse, insbesondere Zielobjektklasse, umfasst, wobei das Verfahren weiter umfasst: Verwerfen des wenigstens einen weiteren Klassifizierungswerts und/oder des wenigstens einen Werts für ein Zusatzattribut für eine jeweilige Position in Abhängigkeit davon, ob der erste Klassifizierungswert für die jeweilige Position verworfen wird. Ein Wert für ein Zusatzattribut umfasst beispielsweise einen Wert für eine relative Position.In further preferred embodiments it is provided that the data for the respective position in the input image include at least one further classification value and / or at least one value for an additional attribute, the further classification value including the non-normalized result of a class filter for an object class, in particular a target object class, wherein the method further comprises: discarding the at least one further classification value and / or the at least one value for an additional attribute for a respective position depending on whether the first classification value for the respective position is discarded. A value for an additional attribute includes, for example, a value for a relative position.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Verwerfen des wenigstens einen weiteren Klassifizierungswert weiter umfasst: Setzen des weiteren Klassifizierungswerts und/oder des Werts für ein Zusatzattribut auf einen festen Wert, insbesondere null. Anschließend kann ein Kompressionsverfahren, wie zum Beispiel Lauflängenkodierung, auf die Klassifizierungswerte angewendet werden. Da die unnormierten, mehrdimensionalen, Daten des neuronalen Netzes nach Setzen der ersten und weiteren Klassifizierungswerte und/oder der Werte für ein Zusatzattribut auf einen festen Wert, insbesondere null, überwiegend diesen festen Wert umfassen, sind hohe Kompressionsraten, insbesondere von 103 - 104, erreichbar.In further preferred embodiments it is provided that discarding the at least one further classification value further comprises: setting the further classification value and / or the value for an additional attribute to a fixed value, in particular zero. Then a compression method such as run length coding can be applied to the classification values. Since the non-normalized, multidimensional, data of the neural network after setting the first and further classification values and / or the values for an additional attribute to a fixed value, in particular zero, predominantly comprise this fixed value, high compression rates, in particular from 10 3 to 10 4 , reachable.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Verfahren weiter umfasst: Verarbeiten der nicht-verworfenen Klassifizierungswerte, insbesondere Weiterleiten der nicht-verworfenen Klassifizierungswerte und/oder Anwenden einer Aktivierungsfunktion, insbesondere Softmax-Aktivierungsfunktion, auf die nicht-verworfenen Klassifizierungswerte. Durch Anwenden einer Aktivierungsfunktion kann dann anhand der nicht-verworfenen Klassifizierungswerte ein finaler Netzoutput des neuronalen Netzes, auch als Prädiktion bezeichnet, berechnet werden, insbesondere um vorherzusagen, ob und/oder mit welcher Wahrscheinlichkeit sich ein Objekt in einer bestimmten Klasse an einer bestimmten Position im Eingangsbild befindet.In further preferred embodiments it is provided that the method further comprises: processing the non-discarded classification values, in particular forwarding the non-discarded classification values and / or applying an activation function, in particular Softmax activation function, to the non-discarded classification values. By applying an activation function, a final network output of the neural network, also referred to as prediction, can then be calculated using the non-rejected classification values, in particular to predict whether and / or with what probability an object in a certain class is at a certain position in the Input image is located.
Weitere bevorzugte Ausführungsformen beziehen sich auf eine Vorrichtung zum Verarbeiten von, insbesondere unnormierten, mehrdimensionalen, Daten eines neuronalen Netzes, insbesondere tiefen neuronalen Netzes, insbesondere zum Detektieren von Objekten in einem Eingangsbild, wobei die Daten für eine Vielzahl von Positionen in dem Eingangsbild jeweils wenigstens einen ersten Klassifizierungswert umfassen, wobei die Vorrichtung zum Ausführen des Verfahrens gemäß den Ausführungsformen ausgebildet ist.Further preferred embodiments relate to a device for processing, in particular non-normalized, multidimensional, data of a neural network, in particular deep neural network, in particular for detecting objects in an input image, the data for a plurality of positions in the input image each at least one first classification value, wherein the device is designed to carry out the method according to the embodiments.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Vorrichtung eine Recheneinrichtung, insbesondere einen Prozessor, und einen Speicher für wenigstens ein künstliches neuronales Netz umfasst, die dazu ausgebildet sind, das Verfahren gemäß den Ansprüchen auszuführen.In further preferred embodiments it is provided that the device comprises a computing device, in particular a processor, and a memory for at least one artificial neural network, which are designed to carry out the method according to the claims.
Weitere bevorzugte Ausführungsformen beziehen sich auf ein System zum Detektieren von Objekten in einem Eingangsbild, umfassend eine Vorrichtung zum Verarbeiten von, insbesondere unnormierten, mehrdimensionalen, Daten eines neuronalen Netzes gemäß den Ausführungsformen, wobei das System weiter eine Recheneinrichtung zum Anwenden einer Aktivierungsfunktion, insbesondere Softmax-Aktivierungsfunktion, insbesondere zum Berechnen einer Prädiktion des neuronalen Netzes umfasst, und die Vorrichtung zum Weiterleiten der nicht-verworfenen Klassifizierungswerte an die Recheneinrichtung und/oder an eine der Recheneinrichtung zugeordnete Speichereinrichtung ausgebildet ist.Further preferred embodiments relate to a system for detecting objects in an input image, comprising a device for processing, in particular non-normalized, multidimensional, data of a neural network according to the embodiments, the system further comprising a computing device for applying an activation function, in particular Softmax- Activation function, in particular for calculating a prediction of the neural network, and the device is designed to forward the non-discarded classification values to the computing device and / or to a memory device assigned to the computing device.
Weitere bevorzugte Ausführungsformen beziehen sich auf ein Computerprogramm, wobei das Computerprogramm computerlesbare Instruktionen umfasst, bei deren Ausführung durch einen Computer das Verfahren gemäß den Ausführungsformen abläuft.Further preferred embodiments relate to a computer program, the computer program comprising computer-readable instructions which, when executed by a computer, run the method according to the embodiments.
Weitere bevorzugte Ausführungsformen beziehen sich auf ein Computerprogrammprodukt, wobei das Computerprogrammprodukt einen Speicher umfasst, auf dem ein Computerprogramm gemäß den Ausführungsformen gespeichert ist.Further preferred embodiments relate to a computer program product, the computer program product comprising a memory on which a computer program according to the embodiments is stored.
Weitere bevorzugte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens gemäß den Ausführungsformen, und/oder eines neuronalen Netzes gemäß den Ausführungsformen und/oder einer Vorrichtung gemäß den Ausführungsformen und/oder eines Systems gemäß den Ausführungsformen, und/oder eines Computerprogramms gemäß den Ausführungsformen und/oder eines Computerprogrammprodukts gemäß den Ausführungsformen zum zumindest teilweise autonomen Bewegen eines Fahrzeugs, wobei ein Eingangsbild von einer Sensorik, insbesondere Kamera, Radarsensor oder Lidarsensor, des Fahrzeugs erfasst wird, wobei für das Eingangsbild zum Detektieren von Objekten ein Verfahren gemäß den Ausführungsformen vorgenommen wird, wobei abhängig vom Ergebnis der Objektdetektion wenigstens eine Ansteuerung für das Fahrzeug, insbesondere für automatisiertes Bremsen, Lenken oder Beschleunigen des Fahrzeugs bestimmt wird.Further preferred embodiments relate to a use of the Method according to the embodiments, and / or a neural network according to the embodiments and / or a device according to the embodiments and / or a system according to the embodiments, and / or a computer program according to the embodiments and / or a computer program product according to the embodiments at least partially autonomous movement of a vehicle, with an input image being captured by a sensor system, in particular a camera, radar sensor or lidar sensor, of the vehicle, with a method according to the embodiments being carried out for the input image for detecting objects, with at least one control for the vehicle is intended, in particular for automated braking, steering or acceleration of the vehicle.
Weitere bevorzugte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens gemäß den Ausführungsformen, und/oder eines neuronalen Netzes gemäß den Ausführungsformen und/oder einer Vorrichtung gemäß den Ausführungsformen und/oder eines Systems gemäß den Ausführungsformen, und/oder eines Computerprogramms gemäß den Ausführungsformen und/oder eines Computerprogrammprodukts gemäß den Ausführungsformen zum Bewegen eines Robotersystems oder Teilen davon, wobei ein Eingangsbild von einer Sensorik, insbesondere Kamera, des Robotersystems erfasst wird, wobei für das Eingangsbild zum Detektieren von Objekten ein Verfahren gemäß den Ausführungsformen vorgenommen wird, wobei abhängig vom Ergebnis der Objektdetektion wenigstens eine Ansteuerung des Robotersystems, insbesondere zur Interaktion mit Objekten in der Umgebung des Robotersystems, bestimmt wird.Further preferred embodiments relate to a use of the method according to the embodiments, and / or a neural network according to the embodiments and / or a device according to the embodiments and / or a system according to the embodiments, and / or a computer program according to the embodiments and / or or a computer program product according to the embodiments for moving a robot system or parts thereof, with an input image being captured by a sensor system, in particular a camera, of the robot system, with a method according to the embodiments being carried out for the input image for detecting objects, depending on the result of the Object detection at least one control of the robot system, in particular for interaction with objects in the vicinity of the robot system, is determined.
Weitere vorteilhafte Ausführungsformen ergeben sich aus der folgenden Beschreibung und der Zeichnung. In der Zeichnung zeigt
-
1 Schritte eines herkömmlichen Verfahrens zur Objektdetektion; -
2a eine typische Häufigkeitsverteilung der Ergebnisse eines Convolutional Layer eines neuronalen Netzes zur Objektdetektion; -
2b eine typische Häufigkeitsverteilung von unnormierten Daten umfassend einen ersten und einen weiteren Klassifizierungswert; -
2c eine typische Häufigkeitsverteilung von unnormierten Daten umfassend den ersten Klassifizierungswert; -
2d eine typische Häufigkeitsverteilung von unnormierten Daten umfassend den weiteren Klassifizierungswert; -
3 Schritte eines Verfahrens zum Verarbeiten von Daten; -
4 eine schematische Darstellung einer Vorrichtung zum Verarbeiten von Daten, und -
5 eine schematische Darstellung eines Systems zum Verarbeiten von Daten.
-
1 Steps of a conventional method for object detection; -
2a a typical frequency distribution of the results of a convolutional layer of a neural network for object detection; -
2 B a typical frequency distribution of unnormalized data comprising a first and a further classification value; -
2c a typical frequency distribution of unnormalized data including the first classification value; -
2d a typical frequency distribution of unnormalized data including the further classification value; -
3 Steps of a method for processing data; -
4th a schematic representation of a device for processing data, and -
5 a schematic representation of a system for processing data.
Anschließend wird in einem Schritt
Weitere Schritte zur Nachbearbeitung umfassen beispielsweise das Berechnen von Objektboxen und Anwenden von weiteren Standardverfahren, beispielsweise Non-Maximal-Suppression, zum Erzeugen vom finalen Objektboxen. Diese Nachbearbeitungsschritte sind beispielshaft in Schritt
Die meisten Recheneinrichtungen für neuronale Netze, insbesondere Hardwarebeschleuniger sind nicht dazu geeignet, die Schritte
Das Übertragen sämtlicher Daten sowie das Anwenden der genannten Nachbearbeitungsschritte erfordert sowohl ein hohe Speicherbandbreite als auch eine große Anzahl an benötigten Rechenoperationen.The transfer of all data and the use of the post-processing steps mentioned require both a high memory bandwidth and a large number of required arithmetic operations.
Verfahren zur Reduzierung der Speicherbandbreite, beispielsweise basierend auf verlustfreier oder auch verlustbehafteter Kompression, beispielsweise Lauflängencodierung, sind bekannt. Solche Ansätze lassen sich beispielsweise auf die Ergebnisse eines Convolutional Layer anwenden.
Das neuronale Netz arbeitet beispielsweise nach dem sogenannten Boundingbox-Verfahren, wobei im Falle der Detektion eines Objektes eine sogenannte Boundingbox, also eine das Objekt umgebende Box, berechnet wird. Die Koordinaten der Boundingbox entsprechen der Position des Objekts im Eingangsbild. Für die Boundingbox wird mindestens ein Wahrscheinlichkeitswert einer Objektklasse ausgegeben.The neural network works, for example, according to the so-called bounding box method, with a so-called bounding box, that is to say a box surrounding the object, being calculated in the event that an object is detected. The coordinates of the bounding box correspond to the position of the object in the input image. At least one probability value of an object class is output for the bounding box.
Das neuronale Netz kann auch nach dem Verfahren der sogenannten semantischen Segmentierung arbeiten, wonach Klassen pixelweise oder superpixelweise zu Pixeln des Eingangsbildes zugeordnet werden. Unter superpixelweise werden in diesem Zusammenhang mehrere zusammengefasste Pixel verstanden. Ein Pixel hat dabei eine bestimmte Position im Eingangsbild.The neural network can also work according to the so-called semantic segmentation method, according to which classes are assigned pixel-by-pixel or super-pixel-by-pixel to pixels of the input image. In this context, superpixel by pixel is understood to mean a plurality of combined pixels. A pixel has a certain position in the input image.
Bei dem Verfahren
Bei weiteren Ausführungsformen ist der erste Klassifizierungswert das unnormierte Ergebnis eines Klassenfilters des neuronalen Netzes, insbesondere für eine Hintergrundklasse, für eine jeweilige Position in dem Eingangsbild, wobei das Verwerfen
Bei einem ersten Klassifizierungswert, der das Ergebnis eines Klassenfilters der Hintergrundklasse ist und der unterhalb beziehungsweise oberhalb eines Schwellenwerts liegt, wird also davon ausgegangen, dass an dieser Position im Eingangsbild, ein Hintergrund und daher keine Zielobjektinstanz vorliegt. Die Klassifizierungswerte der Hintergrundklasse stellen also für sich alleine betrachtet bereits eine valide Entscheidungsgrenze dar. Eine Kombination mit weiteren Klassifizierungswerten anderer Klassenfilter, wie dies beispielsweise bei einem Anwenden der Softmax-Funktion vorgenommen wird, ist nicht erforderlich. Aus
Der Schwellenwert kann insbesondere null sein. In diesem Fall kann es sich als vorteilhaft erweisen, dass ein erster Klassifizierungswert für eine jeweilige Position in dem Eingangsbild, der unterhalb des Schwellenwerts liegt, verworfen wird, 104a, und ein erster Klassifizierungswert für eine jeweilige Position in dem Eingangsbild, der oberhalb des Schwellenwerts liegt, nicht verworfen wird, 104b.In particular, the threshold value can be zero. In this case, it can prove to be advantageous that a first classification value for a respective position in the input image which is below the threshold value is discarded, 104a, and a first classification value for a respective position in the input image which is above the threshold value , is not discarded, 104b.
In diesem Aspekt ist vorgesehen, dass die ersten Klassifizierungswerte, also die Ergebnisse des Klassenfilters der Hintergrundklasse, derartig kalibriert werden, dass der Wert null die Entscheidungsgrenze definiert, ab der davon ausgegangen werden kann, dass an einer Position mit einem Klassifizierungswert der unterhalb des Schwellenwerts liegt, also negativ ist, im Eingangsbild an dieser Position ein Hintergrund und daher keine Zielobjektinstanz vorliegt. Das Kalibieren der Klassifizierungswerte erfolgt beispielsweise mit Hilfe des Bias im Convolutional Filter der Hintergrundklasse.In this aspect it is provided that the first classification values, i.e. the results of the class filter of the background class, are calibrated in such a way that the value zero defines the decision limit from which it can be assumed that at a position with a classification value that is below the threshold value , i.e. negative, a background at this position in the input image and therefore not a target object instance is present. The classification values are calibrated, for example, with the help of the bias in the convolutional filter of the background class.
Weiter kann vorgesehen sein, dass die Daten für die jeweilige Position in dem Eingangsbild wenigstens einen weiteren Klassifizierungswert und/oder wenigstens einen Wert für ein Zusatzattribut umfassen, wobei der weitere Klassifizierungswert das unnormierte Ergebnis eines Klassenfilters für eine Objektklasse, insbesondere Zielobjektklasse, umfasst, wobei das Verfahren weiter umfasst: Verwerfen des wenigstens einen weiteren Klassifizierungswerts und/oder des wenigstens einen Werts für ein Zusatzattribut für eine jeweilige Position in Abhängigkeit davon, ob der erste Klassifizierungswert für die jeweilige Position verworfen wird. Konkret ist also vorgesehen, alle Ergebnisse der Filter für eine Position in Abhängigkeit des ersten Klassifizierungswerts, insbesondere Ergebnis des Klassenfilters der Hintergrundklasse, zu verwerfen.It can further be provided that the data for the respective position in the input image include at least one further classification value and / or at least one value for an additional attribute, the further classification value including the non-standardized result of a class filter for an object class, in particular a target object class The method further comprises: discarding the at least one further classification value and / or the at least one value for an additional attribute for a respective position as a function of whether the first classification value for the respective position is discarded. Specifically, it is therefore provided that all results of the filters for a position are discarded as a function of the first classification value, in particular the result of the class filter of the background class.
In einem weiteren Aspekt ist vorgesehen, dass die nicht-verworfenen Klassifizierungswerte in einem Schritt
In einem weiteren Aspekt kann vorgesehen sein, dass beim Weiterleiten der nicht-verworfenen Klassifizierungswerte die ursprüngliche Position der nicht-verworfenen Klassifizierungswerte mit weitergeleitet wird. Dies ist insbesondere vorteilhaft, um die Position der Klassifizierungswerte im Eingangsbild zu bestimmen. Das bedeutet, anstatt Klassifizierungswerte für alle Positionen zu übertragen, werden Klassifizierungswerte und Position für eine deutlich geringere Anzahl an Positionen übertragen.In a further aspect, it can be provided that when the non-discarded classification values are forwarded, the original position of the non-discarded classification values is also forwarded. This is particularly advantageous in order to determine the position of the classification values in the input image. This means that instead of transmitting classification values for all positions, classification values and position are transmitted for a significantly smaller number of positions.
In einem weiteren Aspekt kann vorgesehen sein, dass das Verwerfen
Konkret ist also vorgesehen, alle Klassifizierungswerte und gegebenenfalls weitere Werte für Zusatzattribute für eine Position in Abhängigkeit des ersten Klassifizierungswerts, insbesondere Ergebnis des Klassenfilters der Hintergrundklasse, auf einen festen Wert, insbesondere null, zu setzen. Anschließend kann ein Kompressionsverfahren, wie zum Beispiel Lauflängenkodierung, auf die Klassifizierungswerte angewendet werden. Da die unnormierten, mehrdimensionalen, Daten des neuronalen Netzes nach Setzen der Klassifizierungswerte und/oder der weiteren Werte für Zusatzattribute auf einen festen Wert, insbesondere null, überwiegend diesen festen Wert umfassen, sind hohe Kompressionsraten, insbesondere von 103 - 104, erreichbar.Specifically, it is provided that all classification values and possibly further values for additional attributes for a position are set to a fixed value, in particular zero, as a function of the first classification value, in particular the result of the class filter of the background class. Then a compression method such as run length coding can be applied to the classification values. Since the non-normalized, multi-dimensional, data of the neural network after setting the classification values and / or the further values for additional attributes to a fixed value, in particular zero, predominantly comprise this fixed value, high compression rates, in particular of 10 3 -10 4 , can be achieved.
Das beschriebene Verfahren
Die Vorrichtung
Ein weiterer Aspekt bezieht sich auf ein System
Für den Fall, dass die Recheneinrichtung
Das beschriebene Verfahren
Weitere bevorzugte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens
Weitere bevorzugte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens
Claims (13)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019215255.4A DE102019215255A1 (en) | 2019-10-02 | 2019-10-02 | Device and method for processing data from a neural network |
PCT/EP2020/072403 WO2021063572A1 (en) | 2019-10-02 | 2020-08-10 | Device and method for processing data from a neural network |
CN202080069274.XA CN114430839A (en) | 2019-10-02 | 2020-08-10 | Apparatus and method for processing data of neural network |
US17/762,954 US20220343641A1 (en) | 2019-10-02 | 2020-08-10 | Device and method for processing data of a neural network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019215255.4A DE102019215255A1 (en) | 2019-10-02 | 2019-10-02 | Device and method for processing data from a neural network |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102019215255A1 true DE102019215255A1 (en) | 2021-04-08 |
Family
ID=72050856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102019215255.4A Pending DE102019215255A1 (en) | 2019-10-02 | 2019-10-02 | Device and method for processing data from a neural network |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220343641A1 (en) |
CN (1) | CN114430839A (en) |
DE (1) | DE102019215255A1 (en) |
WO (1) | WO2021063572A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220237414A1 (en) * | 2021-01-26 | 2022-07-28 | Nvidia Corporation | Confidence generation using a neural network |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190130188A1 (en) * | 2017-10-26 | 2019-05-02 | Qualcomm Incorporated | Object classification in a video analytics system |
WO2019162241A1 (en) * | 2018-02-21 | 2019-08-29 | Robert Bosch Gmbh | Real-time object detection using depth sensors |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170124409A1 (en) * | 2015-11-04 | 2017-05-04 | Nec Laboratories America, Inc. | Cascaded neural network with scale dependent pooling for object detection |
US10628686B2 (en) * | 2018-03-12 | 2020-04-21 | Waymo Llc | Neural networks for object detection and characterization |
US20190286921A1 (en) * | 2018-03-14 | 2019-09-19 | Uber Technologies, Inc. | Structured Prediction Crosswalk Generation |
-
2019
- 2019-10-02 DE DE102019215255.4A patent/DE102019215255A1/en active Pending
-
2020
- 2020-08-10 US US17/762,954 patent/US20220343641A1/en active Pending
- 2020-08-10 CN CN202080069274.XA patent/CN114430839A/en active Pending
- 2020-08-10 WO PCT/EP2020/072403 patent/WO2021063572A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190130188A1 (en) * | 2017-10-26 | 2019-05-02 | Qualcomm Incorporated | Object classification in a video analytics system |
WO2019162241A1 (en) * | 2018-02-21 | 2019-08-29 | Robert Bosch Gmbh | Real-time object detection using depth sensors |
Also Published As
Publication number | Publication date |
---|---|
US20220343641A1 (en) | 2022-10-27 |
WO2021063572A1 (en) | 2021-04-08 |
CN114430839A (en) | 2022-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3785177B1 (en) | Method and device for determining a network-configuration of a neural network | |
DE112017001311T5 (en) | System and method for training an object classifier by machine learning | |
DE102018206208A1 (en) | Method, device, product and computer program for operating a technical system | |
DE102018128531A1 (en) | System and method for analyzing a three-dimensional environment represented by a point cloud through deep learning | |
DE102019127282A1 (en) | System and method for analyzing a three-dimensional environment through deep learning | |
DE102017218889A1 (en) | Unarmed parameterized AI module and method of operation | |
DE102019209644A1 (en) | Method for training a neural network | |
DE112020003343T5 (en) | SYSTEM AND PROCESS USING A ROBUST DEEP GENERATIVE MODEL | |
WO2021063572A1 (en) | Device and method for processing data from a neural network | |
DE102020211262A1 (en) | Method and device for compressing a neural network | |
DE102020201939A1 (en) | Method and device for evaluating an image classifier | |
DE102019209463A1 (en) | Method for determining the trust value of an object of a class | |
DE102021200643B3 (en) | Method for environment recognition for semi-autonomous or autonomous driving functions of a motor vehicle using a neural network | |
DE102018207220A1 (en) | A method, apparatus and computer program for detecting a calculation error or a malfunction | |
DE102021210417A1 (en) | Systems and methods with robust classifiers to defend against patch attacks | |
DE102021133977A1 (en) | Method and system for classifying virtual test scenarios and training methods | |
EP4118620A1 (en) | Method and device for processing images | |
EP4097647A1 (en) | Quality assurance method for an example-based system | |
DE102020211596A1 (en) | Method for generating a trained neural convolution network with an invariant integration layer for classifying objects | |
WO2020233992A1 (en) | Method for making a neural network more robust in a function-specific manner | |
DE102020209078A1 (en) | Automated process monitoring | |
DE102016200854B4 (en) | Method and arithmetic unit for dimensioning a classifier | |
DE102019207911A1 (en) | Method, device and computer program for predicting a learning curve | |
WO2022129203A1 (en) | Method for training a ml system, ml system, computer program, machine-readable storage medium and device | |
WO2024099797A1 (en) | Method for training a neural network for determining features of objects for object tracking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06K0009000000 Ipc: G06V0010000000 |