DE102019215255A1 - Device and method for processing data from a neural network - Google Patents

Device and method for processing data from a neural network Download PDF

Info

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
Application number
DE102019215255.4A
Other languages
German (de)
Inventor
Thomas Wenzel
Armin Runge
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102019215255.4A priority Critical patent/DE102019215255A1/en
Priority to PCT/EP2020/072403 priority patent/WO2021063572A1/en
Priority to CN202080069274.XA priority patent/CN114430839A/en
Priority to US17/762,954 priority patent/US20220343641A1/en
Publication of DE102019215255A1 publication Critical patent/DE102019215255A1/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
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • G06F18/2414Smoothing the distance, e.g. radial basis function networks [RBFN]
    • 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/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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/77Processing 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/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • 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.
Further advantageous embodiments emerge from the following description and the drawing. In the drawing shows
  • 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.

1 zeigt schematisch Schritte eines bekannten Verfahrens zur Objektdetektion. Üblicherweise wird dazu ein sogenanntes faltendes neuronales Netz, engl. Convolutional Neural Network, eingesetzt. Die Struktur eines solchen Netzes umfasst üblicherweise mehrere Convolutional Layer. Filter der Convolutional Layer sind beispielsweise trainiert, die Präsenz einer Klasse zu quantifizieren. Solche Filter werden im Folgenden auch als Klassenfilter bezeichnet. In einem Schritt 10 wird unter Verwendung von Klassenfiltern für eine Vielzahl von Positionen in einem Eingangsbild eine Entscheidung über die Präsenz von Klassen, insbesondere einer Hintergrundklasse und/oder einer Zielobjektklasse, getroffen. Die Ergebnisse der Klassenfilter werden im Folgenden auch als Klassifizierungswerte bezeichnet. 1 shows schematically steps of a known method for object detection. Usually a so-called folding neural network is used for this. Convolutional Neural Network. The structure of such a network usually comprises several convolutional layers. Filters of the convolutional layer are trained, for example, to quantify the presence of a class. Such filters are also referred to below as class filters. In one step 10 a decision about the presence of classes, in particular a background class and / or a target object class, is made using class filters for a large number of positions in an input image. The results of the class filters are also referred to below as classification values.

Anschließend wird in einem Schritt 12 an jeder der Positionen über die Ergebnisse der Klassenfilter, auch als, unnormierte, mehrdimensionale Daten, engl. Raw Scores, bezeichnet, die Softmax-Funktion zum Bestimmen einer Wahrscheinlichkeit, mit der sich an einer jeweiligen Position ein Objekt einer bestimmten Klasse befindet, angewendet. Durch Verwenden der Softmax-Funktion werden die Raw Scores auf das Intervall [0, 1] normalisiert, sodass für jeder der Positionen der sogenannte Score-Vektor entsteht. Der Score-Vector hat üblicherweise jeweils einen Eintrag für jede Zielobjektklasse und einen Eintrag für die Hintergrundklasse. Anschließend werden in einem weiteren Schritt 14, durch sogenanntes Score Thresholding, die Score-Vektoren herausgefiltert, bei denen ein Eintrag des Score-Vectors für eine Zielobjektklasse größer ist als eine vordefinierte Schwelle.Then in one step 12th at each of the positions via the results of the class filters, also as, non-normalized, multidimensional data. Raw scores, referred to as the softmax function, used to determine a probability with which an object of a certain class is located at a given position. By using the Softmax function, the raw scores are normalized to the interval [0, 1], so that the so-called score vector is created for each of the positions. The score vector usually has an entry for each target object class and an entry for the background class. Then in a further step 14th by so-called score thresholding, the score vectors are filtered out in which an entry of the score vector for a target object class is greater than a predefined threshold.

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 16 zusammengefasst.Further steps for post-processing include, for example, the calculation of object boxes and the application of further standard methods, for example non-maximal suppression, to generate the final object boxes. These post-processing steps are exemplified in step 16 summarized.

Die meisten Recheneinrichtungen für neuronale Netze, insbesondere Hardwarebeschleuniger sind nicht dazu geeignet, die Schritte 12 bis 16 auszuführen. Aus diesem Grund müssen dann sämtliche unnormierte Daten, umfassend der Klassifizierungswerte, in eine weitere Speichereinrichtung übertragen werden, um dann von einer weiteren, dazu geeigneten Recheneinrichtung weiterverarbeitet zu werden.Most computing devices for neural networks, particularly hardware accelerators, are not capable of performing the steps 12th to 16 to execute. For this reason, all non-normalized data, including the classification values, then have to be transferred to a further storage device, in order then to be transferred from a further one suitable computing device to be further processed.

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.

2b zeigt eine typische Häufigkeitsverteilung von unnormierten Daten umfassend einen ersten und einen weiteren Klassifizierungswert. Der erste Klassifizierungswert ist beispielsweise das Ergebnis eines Klassenfilters für die Hintergrundklasse. Der weitere Klassifizierungswert ist beispielsweise das Ergebnis eines Klassenfilters für die Zielobjektklasse Fußgänger. 2 B shows a typical frequency distribution of unnormalized data comprising a first and a further classification value. The first classification value is, for example, the result of a class filter for the background class. The further classification value is, for example, the result of a class filter for the pedestrian target object class.

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. 2a zeigt eine typische Häufigkeitsverteilung der Ergebnisse eines Convolutional Layer eines neuronalen Netzes. Solche Ansätze funktionieren für die unnormierten Daten des neuronalen Netzes aufgrund Häufigkeitsverteilung der Zahlenwerte der Klassifizierungswerte, vgl. 2b, nicht.Methods for reducing the memory bandwidth, for example based on lossless or also lossy compression, for example run length coding, are known. Such approaches can be applied to the results of a convolutional layer, for example. 2a shows a typical frequency distribution of the results of a convolutional layer of a neural network. Such approaches work for the non-normalized data of the neural network due to the frequency distribution of the numerical values of the classification values, cf. 2 B , Not.

3 zeigt ein computerimplementiertes 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 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. 3 shows a computer implemented method 100 for processing, in particular non-normalized, multi-dimensional, 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 comprising at least one first classification value, the method being the includes the following steps: Evaluate 102 of the data as a function of a threshold value, a first classification value for a respective position in the input image, which is either below or above the threshold value, being discarded, 104a, and a first classification value for a respective position in the input image, which is either above or below of the threshold is not discarded, 104b.

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 100 wird also ein Auswerten 102 der unnormierten, mehrdimensionalen Daten, der Raw Scores des neuronalen Netzes, anhand eines Schwellenwerts, sog. Score-Thresholding, vorgenommen.In the process 100 so becomes an evaluation 102 the non-standardized, multi-dimensional data, the raw scores of the neural network, based on a threshold value, so-called score thresholding.

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 104a eines ersten Klassifizierungswertes für eine jeweilige Position in dem Eingangsbild das Verwerfen des Ergebnisses des Klassenfilters umfasst.In further embodiments, 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 104a of a first classification value for a respective position in the input image comprises discarding the result of the class filter.

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 2c und 2d ist ersichtlich, dass die unnormierten Daten des Klassenfilters der Hintergrundklasse und die unnormierten Daten des Klassenfilters einer Zielobjektklasse, beispielsweise Fußgänger, nicht unabhängig sind.In the case of a first classification value, which is the result of a class filter of the background class and which is below or above a threshold value, it is assumed that there is a background and therefore no target object instance at this position in the input image. The classification values of the background class therefore already represent a valid decision limit when considered on their own. A combination with further classification values of other class filters, as is done, for example, when using the Softmax function, is not necessary. Out 2c and 2d it can be seen that the non-normalized data of the class filter of the background class and the non-normalized data of the class filter of a target object class, for example pedestrians, are not independent.

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 106 verarbeiten werden, insbesondere durch Weiterleiten der nicht-verworfenen Klassifizierungswerte und/oder durch Anwenden einer Aktivierungsfunktion, insbesondere Softmax-Aktivierungsfunktion, auf die nicht-verworfenen Klassifizierungswerte. Es werden also nur die nicht-verworfenen Klassifizierungswerte weitergeleitet und/oder weiterverarbeitet. Durch Anwenden der Aktivierungsfunktion kann dann anhand der nicht-verworfenen Klassifizierungswerte die Prädiktion des neuronalen Netzes, 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. Durch Anwenden der Aktivierungsfunktion ausschließlich auf nicht-verworfene Klassifizierungswerte und damit nur auf einen Teil der Klassifizierungswerte, werden die benötigen Rechenoperationen zur Berechnung einer Prädiktion reduziert.In a further aspect it is provided that the non-discarded classification values in one step 106 are processed, in particular by forwarding the non-discarded classification values and / or by applying an activation function, in particular Softmax activation function, to the non-discarded classification values. So only the classification values that have not been discarded are passed on and / or processed further. By applying the activation function, the prediction of the neural network can then be calculated on the basis of 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. By applying the activation function exclusively to non-rejected classification values and thus only to a part of the classification values, the arithmetic operations required to calculate a prediction are reduced.

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 104a eines ersten Klassifizierungswertes für eine jeweilige Position in dem Eingangsbild weiter umfasst: Setzen des ersten Klassifizierungswerts auf einen festen Wert, insbesondere null. In diesem Zusammenhang kann vorteilhafterweise weiter vorgesehen sein, dass das Verwerfen des wenigstens einen weiteren Klassifizierungswerts und/oder des wenigstens einen Werts für ein Zusatzattribut weiter umfasst: Setzen des weiteren Klassifizierungswerts und/oder des wenigstens einen Werts für ein Zusatzattribut auf einen festen Wert, insbesondere null.In a further aspect it can be provided that the discarding 104a a first classification value for a respective position in the input image further comprises: setting the first classification value to a fixed value, in particular zero. In this context, it can advantageously be provided that discarding the at least one further classification value and / or the at least one value for an additional attribute further comprises: setting the further classification value and / or the at least one value for an additional attribute to a fixed value, in particular zero.

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 100 kann beispielsweise von einer Vorrichtung 200 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, ausgeführt werden, vgl. 4.The procedure described 100 can for example from a device 200 for processing, in particular non-normalized, multi-dimensional, 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 including at least one first classification value, cf. . 4th .

Die Vorrichtung 200 umfasst eine Recheneinrichtung 210, insbesondere einen Hardwarebeschleuniger, und eine Speichereinrichtung 220 für ein neuronales Netz.The device 200 comprises a computing device 210 , in particular a hardware accelerator, and a storage device 220 for a neural network.

Ein weiterer Aspekt bezieht sich auf ein System 300 zum Detektieren von Objekten in einem Eingangsbild, umfassend eine Vorrichtung 200 und eine Recheneinrichtung 310 zum Anwenden einer Aktivierungsfunktion, insbesondere Softmax-Aktivierungsfunktion, insbesondere zum Berechnen einer Prädiktion des neuronalen Netzes. Die Vorrichtung 200 ist zum Weiterleiten der nicht-verworfenen Klassifizierungswerte an die Recheneinrichtung 310 und/oder an eine der Recheneinrichtung 310 zugeordnete Speichereinrichtung 320 ausgebildet. Datenleitungen 330 verbinden diese Einrichtungen im Beispiel, vgl. 5.Another aspect relates to a system 300 for detecting objects in an input image, comprising a device 200 and a computing device 310 for applying an activation function, in particular Softmax activation function, in particular for calculating a prediction of the neural network. The device 200 is for forwarding the non-discarded classification values to the computing device 310 and / or to one of the computing devices 310 associated storage device 320 educated. Data lines 330 connect these facilities in the example, cf. 5 .

Für den Fall, dass die Recheneinrichtung 210 für das neuronale Netz nicht dazu geeignet ist, den Schritt 106 auszuführen, erweist es sich als vorteilhaft, die nicht-verworfenen Klassifizierungswerte an die Recheneinrichtung 310 und/oder an eine der Recheneinrichtung 310 zugeordnete Speichereinrichtung 320 weiterzuleiten.In the event that the computing device 210 for the neural network is not suitable for the step 106 to execute, it proves to be advantageous to send the non-discarded classification values to the computing device 310 and / or to one of the computing devices 310 associated storage device 320 forward.

Das beschriebene Verfahren 100, die beschriebene Vorrichtung 200 und das beschriebene System 300 sind beispielsweise für die Objektdetektion, insbesondere Personendetektion, beispielsweise im Überwachungsbereich, in der Robotik oder im Automobilsektor einsetzbar.The procedure described 100 , the device described 200 and the system described 300 can be used, for example, for object detection, especially person detection, for example in the surveillance area, in robotics or in the automotive sector.

Weitere bevorzugte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens 100 gemäß den Ausführungsformen und/oder einer Vorrichtung 200 gemäß den Ausführungsformen und/oder eines Systems 300 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 100 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 100 according to the embodiments and / or a device 200 according to the embodiments and / or a system 300 according to the embodiments, and / or a computer program according to the embodiments and / or a computer program product according to the embodiments for at least partially autonomous movement of a vehicle, wherein an input image is captured by a sensor system, in particular a camera, radar sensor or lidar sensor, of the vehicle, with Input image for detecting objects a method 100 is carried out according to the embodiments, at least one control for the vehicle, in particular for automated braking, steering or acceleration of the vehicle being determined as a function of the result of the object detection.

Weitere bevorzugte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens 100 gemäß den Ausführungsformen und/oder einer Vorrichtung 200 gemäß den Ausführungsformen und/oder eines Systems 300 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 100 gemäß den Ausführungsformen vorgenommen wird, wobei abhängig vom Ergebnis der Objektdetektion wenigstens eine Ansteuerung des Robotersystems bestimmt wird.Further preferred embodiments relate to a use of the method 100 according to the embodiments and / or a device 200 according to the embodiments and / or a system 300 according to the embodiments, and / or a computer program according to the embodiments and / or a computer program product according to the embodiments for moving a robot system or parts thereof, wherein an input image is captured by a sensor system, in particular a camera, of the robot system, with the input image for detecting Objects a procedure 100 is carried out according to the embodiments, at least one control of the robot system being determined as a function of the result of the object detection.

Claims (13)

Computerimplementiertes 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).Computer-implemented method (100) for processing, in particular unnormalized, multidimensional, data of a neural network, in particular deep neural network, in particular for detecting objects in an input image, the data each comprising at least one first classification value for a plurality of positions in the input image , 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, a first classification value for a respective position in the input image, which is either below or above 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). Verfahren (100) nach Anspruch 1, wobei der Schwellenwert null und 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).Method (100) according to Claim 1 , wherein the threshold value zero and a first classification value for a respective position in the input image which lies 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). Verfahren (100) nach wenigstens einem der vorhergehenden Ansprüche wobei das Verwerfen (104a) eines ersten Klassifizierungswertes für eine jeweilige Position in dem Eingangsbild weiter umfasst: Setzen des ersten Klassifizierungswerts auf einen festen Wert, insbesondere null.The method (100) according to at least one of the preceding claims, wherein discarding (104a) a first classification value for a respective position in the input image further comprises: setting the first classification value to a fixed value, in particular zero. Verfahren (100) nach wenigstens einem der vorhergehenden Ansprüche, wobei 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 (104a) eines ersten Klassifizierungswertes für eine jeweilige Position in dem Eingangsbild das Verwerfen des Ergebnisses des Klassenfilters umfasst.The method (100) according to at least one of the preceding claims, wherein 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 (104a) of a first classification value for a respective Position in the input image includes discarding the result of the class filter. Verfahren (100) nach wenigstens einem der vorhergehenden Ansprüche, wobei 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.The method (100) according to at least one of the preceding claims, wherein 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 being the non-normalized result of a class filter for an object class, in particular Target object class, the method further comprising: 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. Verfahren (100) nach Anspruch 5, wobei das Verwerfen des wenigstens einen weiteren Klassifizierungswert und/oder das Verwerfen des wenigstens einen Werts für ein Zusatzattribut weiter umfasst: Setzen des weiteren Klassifizierungswerts und/oder des Werts für ein Zusatzattribut auf einen festen Wert, insbesondere null.Method (100) according to Claim 5 wherein discarding the at least one further classification value and / or discarding the at least one value for an additional attribute further comprises: setting the further classification value and / or the value for an additional attribute to a fixed value, in particular zero. Verfahren (100) nach wenigstens einem der vorhergehenden Ansprüche, wobei das Verfahren weiter umfasst: Verarbeiten (106) der nicht-verworfenen Klassifizierungswerte, insbesondere Weiterleiten der nicht-verworfenen Klassifizierungswerte und/oder Anwenden einer Aktivierungsfunktion, insbesondere Softmax-Aktivierungsfunktion, auf die nicht-verworfenen Klassifizierungswerte.The method (100) according to at least one of the preceding claims, wherein the method further comprises: processing (106) 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. Vorrichtung (200) 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 (100) nach wenigstens einem der Ansprüche 1 bis 7 ausgebildet ist.Device (200) for processing, in particular unnormalized, multi-dimensional, 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 including at least one first classification value, wherein the apparatus for performing the method (100) according to at least one of Claims 1 to 7th is trained. System (300) zum Detektieren von Objekten in einem Eingangsbild, umfassend eine Vorrichtung (200) zum Verarbeiten von, insbesondere unnormierten, mehrdimensionalen, Daten eines neuronalen Netzes gemäß Anspruch 8, wobei das System (300) weiter eine Recheneinrichtung (310) zum Anwenden einer Aktivierungsfunktion, insbesondere Softmax-Aktivierungsfunktion, insbesondere zum Berechnen einer Prädiktion des neuronalen Netzes umfasst, und die Vorrichtung (200) zum Weiterleiten der nicht-verworfenen Klassifizierungswerte an die Recheneinrichtung (310) und/oder an eine der Recheneinrichtung (310) zugeordnete Speichereinrichtung (320) ausgebildet ist.System (300) for detecting objects in an input image, comprising a device (200) for processing, in particular non-normalized, multi-dimensional, data of a neural network according to Claim 8 , wherein the system (300) further comprises a computing device (310) for applying an activation function, in particular Softmax activation function, in particular for calculating a prediction of the neural network, and the device (200) for forwarding the non-discarded classification values to the computing device ( 310) and / or on a memory device (320) assigned to the computing device (310). Computerprogramm, wobei das Computerprogramm computerlesbare Instruktionen umfasst, bei deren Ausführung durch einen Computer das Verfahren (100) nach einem der Ansprüche 1 bis 7 abläuft.Computer program, the computer program comprising computer-readable instructions, when executed by a computer, the method (100) according to one of the Claims 1 to 7th expires. Computerprogrammprodukt, wobei das Computerprogrammprodukt einen Speicher umfasst, auf dem ein Computerprogramm nach Anspruch 10 gespeichert ist.Computer program product, the computer program product comprising a memory on which a computer program is based Claim 10 is stored. Verwendung eines Verfahrens (100) nach einem der Ansprüche 1 bis 7 und/oder einer Vorrichtung nach Anspruch 8 und/oder eines Systems nach Anspruch 9, und/oder eines Computerprogramms nach Anspruch 10 und/oder eines Computerprogrammprodukts nach Anspruch 11 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 (100) nach einem der Ansprüche 1 bis 7 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.Use of a method (100) according to one of the Claims 1 to 7th and / or a device Claim 8 and / or a system Claim 9 , and / or a computer program Claim 10 and / or a computer program product Claim 11 for 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 (100) according to one of the Claims 1 to 7th is carried out, with at least one control for the vehicle, in particular for automated braking, steering or acceleration of the vehicle being determined as a function of the result of the object detection. Verwendung eines Verfahrens (100) nach einem der Ansprüche 1 bis 7 und/oder einer Vorrichtung nach Anspruch 8 und/oder eines Systems nach Anspruch 9, und/oder eines Computerprogramms nach Anspruch 10 und/oder eines Computerprogrammprodukts nach Anspruch 11 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 (100) nach einem der Ansprüche 1 bis 7 vorgenommen wird, wobei abhängig vom Ergebnis der Objektdetektion wenigstens eine Ansteuerung des Robotersystems bestimmt wird.Use of a method (100) according to one of the Claims 1 to 7th and / or a device Claim 8 and / or a system Claim 9 , and / or a computer program Claim 10 and / or a computer program product Claim 11 for moving a robot system or parts thereof, an input image being captured by a sensor system, in particular a camera, of the robot system, a method (100) according to one of the Claims 1 to 7th is carried out, with at least one control of the robot system being determined as a function of the result of the object detection.
DE102019215255.4A 2019-10-02 2019-10-02 Device and method for processing data from a neural network Pending DE102019215255A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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