DE102020105070A1 - Method for recognizing a drivable area in the surroundings of a vehicle with the aid of a binary artificial neural network, computing device and driver assistance system - Google Patents

Method for recognizing a drivable area in the surroundings of a vehicle with the aid of a binary artificial neural network, computing device and driver assistance system Download PDF

Info

Publication number
DE102020105070A1
DE102020105070A1 DE102020105070.4A DE102020105070A DE102020105070A1 DE 102020105070 A1 DE102020105070 A1 DE 102020105070A1 DE 102020105070 A DE102020105070 A DE 102020105070A DE 102020105070 A1 DE102020105070 A1 DE 102020105070A1
Authority
DE
Germany
Prior art keywords
binary
neural network
vehicle
artificial neural
computing device
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
DE102020105070.4A
Other languages
German (de)
Inventor
Alexander Frickenstein
Manoj Rohit Vemparala
Naveen Shankar NAGARAJA
Christian Unger
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bayerische Motoren Werke AG
Original Assignee
Bayerische Motoren Werke AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bayerische Motoren Werke AG filed Critical Bayerische Motoren Werke AG
Priority to DE102020105070.4A priority Critical patent/DE102020105070A1/en
Publication of DE102020105070A1 publication Critical patent/DE102020105070A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • 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
    • 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

Abstract

Die Erfindung betrifft ein Verfahren zum Bestimmen eines befahrbaren Bereichs in einer Umgebung eines Fahrzeugs, umfassend die Schritte: Empfangen von Eingangsdaten, welche die Umgebung des Fahrzeugs beschreiben, Durchführen einer semantischen Segmentierung auf Grundlage der Eingangsdaten, wobei die semantische Segmentierung mittels eines binären künstlichen neuronalen Netzes durchgeführt wird, und Bestimmen des befahrbaren Bereichs in der Umgebung anhand der semantischen Segmentierung, wobei das binäre künstliche neuronale Netz einen Encoder-Teil zum Extrahieren von Merkmalen aus den Eingangsdaten, einen Bottleneck-Teil zum Erkennen von räumlichen Zusammenhängen der extrahierten Merkmale und einen Decoder-Teil zum Klassifizieren von jeweiligen Teilbereichen der Eingangsdaten auf Grundlage der extrahierten Merkmale und der erkannten räumlichen Zusammenhänge umfasst, und in dem Encoder-Teil, dem Bottleneck-Teil und Decoder-Teil binäre Gewichte und/oder Aktivierungen verwendet werden.

Figure DE102020105070A1_0000
The invention relates to a method for determining a drivable area in the surroundings of a vehicle, comprising the steps of: receiving input data describing the surroundings of the vehicle, performing semantic segmentation based on the input data, the semantic segmentation using a binary artificial neural network is carried out, and determining the drivable area in the environment on the basis of the semantic segmentation, the binary artificial neural network having an encoder part for extracting features from the input data, a bottleneck part for recognizing spatial relationships of the extracted features and a decoder Part for classifying respective sub-areas of the input data on the basis of the extracted features and the recognized spatial relationships, and binary weights and / or activations are used in the encoder part, the bottleneck part and the decoder part.
Figure DE102020105070A1_0000

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Erkennen eines befahrbaren Bereichs in einer Umgebung eines Fahrzeugs. Des Weiteren betrifft die vorliegende Erfindung eine Recheneinrichtung sowie ein Fahrerassistenzsystem für ein Fahrzeug. Schließlich betrifft die vorliegende Erfindung ein Computerprogramm sowie ein computerlesbares (Speicher)medium.The present invention relates to a method for recognizing a drivable area in the surroundings of a vehicle. The present invention also relates to a computing device and a driver assistance system for a vehicle. Finally, the present invention relates to a computer program and a computer-readable (storage) medium.

Aus dem Stand der Technik sind unterschiedliche Fahrerassistenzsysteme für Fahrzeuge bekannt, mittels welchen das Fahrzeug automatisiert oder autonom manövriert werden kann. Insbesondere wenn das Fahrzeug mittels des Fahrerassistenzsystems autonom manövriert werden soll, ist es entscheidend, dass ein befahrbarer Bereich bzw. ein Fahrbereich in der Umgebung des Fahrzeugs zuverlässig erkannt wird. Der befahrbare Bereich kann beispielsweise einer Fahrbahn bzw. einer Straße zugeordnet sein. Auf Grundlage des bestimmten befahrbaren Bereichs kann dann eine Manöverplanung durchgeführt werden und danach kann das Fahrzeug mittels des Fahrerassistenzsystems manövriert werden.Different driver assistance systems for vehicles are known from the prior art, by means of which the vehicle can be maneuvered automatically or autonomously. In particular, if the vehicle is to be maneuvered autonomously by means of the driver assistance system, it is crucial that a drivable area or a driving area in the vicinity of the vehicle is reliably detected. The drivable area can be assigned to a lane or a street, for example. On the basis of the determined drivable area, maneuver planning can then be carried out and then the vehicle can be maneuvered by means of the driver assistance system.

Zur Erkennung des fahrbaren Bereichs werden Sensordaten bzw. Eingangsdaten von Umfeldsensoren des Fahrerassistenzsystems genutzt. Beispielsweise können Eingangsbilder von einer Kamera des Fahrerassistenzsystems verwendet werden. Ein übliches Verfahren zum Erkennen des befahrbaren Bereichs in Bildern ist die semantische Segmentierung. Es ist zudem aus dem Stand der Technik bekannt, dass die semantische Segmentierung mithilfe von künstlichen neuronalen Netzen durchgeführt wird. Hierbei ist zu beachten, dass sich das automatisierte oder autonome Fahren auf ein Echtzeitsystem stützt, welches den zugrunde liegenden Algorithmen implizit Ressourcenbeschränkungen, insbesondere Beschränkungen bezüglich des Speichers, der Bandbreite und/oder der Laufzeit, auferlegt.Sensor data or input data from environment sensors of the driver assistance system are used to identify the drivable area. For example, input images from a camera of the driver assistance system can be used. A common method for recognizing the drivable area in images is semantic segmentation. It is also known from the prior art that the semantic segmentation is carried out with the aid of artificial neural networks. It should be noted here that automated or autonomous driving is based on a real-time system that implicitly imposes resource restrictions on the underlying algorithms, in particular restrictions on memory, bandwidth and / or runtime.

Es ist Aufgabe der vorliegenden Erfindung, eine Lösung aufzuzeigen, wie ein befahrbarer Bereich in einer Umgebung eines Fahrzeugs mithilfe eines künstlichen neuronalen Netzes mit geringerem Rechenaufwand und reduzierten Speicherbdarf bestimmt werden kann. It is the object of the present invention to provide a solution as to how a drivable area in the surroundings of a vehicle can be determined with the aid of an artificial neural network with less computational effort and reduced storage requirements.

Diese Aufgabe wird erfindungsgemäß durch ein Verfahren, durch eine Recheneinrichtung, durch ein Fahrerassistenzsystem, durch ein Computerprogramm sowie durch ein computerlesbares (Speicher)medium mit den Merkmalen gemäß den unabhängigen Ansprüchen gelöst. Vorteilhafte Weiterbildungen der vorliegenden Erfindung sind in den abhängigen Ansprüchen angegeben.This object is achieved according to the invention by a method, by a computing device, by a driver assistance system, by a computer program and by a computer-readable (storage) medium with the features according to the independent claims. Advantageous developments of the present invention are specified in the dependent claims.

Ein erfindungsgemäßes Verfahren dient zum Bestimmen eines befahrbaren Bereichs in einer Umgebung eines Fahrzeugs. Das Verfahren umfasst das Empfangen von Eingangsdaten, welche die Umgebung des Fahrzeugs beschreiben. Des Weiteren umfasst das Verfahren das Durchführen einer semantischen Segmentierung auf Grundlage der Eingangsdaten, wobei die semantische Segmentierung mittels eines binären künstlichen neuronalen Netzes durchgeführt wird. Außerdem umfasst das Verfahren das Bestimmen des befahrbaren Bereichs in der Umgebung anhand der semantischen Segmentierung. Ferner ist vorgesehen, dass das binäre künstliche neuronale Netz einen Encoder-Teil zum Extrahieren von Merkmalen aus den Eingangsdaten, einen Bottleneck-Teil zum Erkennen von räumlichen Zusammenhängen der extrahierten Merkmale und einen Decoder-Teil zum Klassifizieren von jeweiligen Teilbereichen der Eingangsdaten auf Grundlage der extrahierten Merkmale aus dem Encoder-Teil und den erkannten räumlichen Zusammenhängen umfasst. Dabei werden in dem Encoder-Teil, dem Bottleneck-Teil und Decoder-Teil binäre trainierbare Gewichte und/oder Aktivierungen verwendet werden.A method according to the invention is used to determine a drivable area in the surroundings of a vehicle. The method comprises receiving input data that describe the surroundings of the vehicle. Furthermore, the method includes performing semantic segmentation on the basis of the input data, the semantic segmentation being performed using a binary artificial neural network. In addition, the method includes determining the drivable area in the environment on the basis of the semantic segmentation. It is also provided that the binary artificial neural network has an encoder part for extracting features from the input data, a bottleneck part for recognizing spatial relationships of the extracted features and a decoder part for classifying respective subregions of the input data on the basis of the extracted Features from the encoder part and the recognized spatial relationships. Binary trainable weights and / or activations are used in the encoder part, the bottleneck part and the decoder part.

Mithilfe des Verfahrens soll ein befahrbarer Bereich oder befahrbare Bereiche in der Umgebung des Fahrzeugs erkannt werden. Auf diesem befahrbaren Bereich oder Fahrbereich kann das Fahrzeug ohne Kollision mit weiteren Objekten in der Umgebung des Fahrzeugs manövriert werden. Der befahrbare Bereich in der Umgebung kann eine Fahrbahn, insbesondere eine Straße, sein. Dabei können Objekte bzw. andere Verkehrsteilnehmer auf der Fahrbahn erkannt und ausgeschlossen werden. Das Verfahren kann mit einer Recheneinrichtung eines Fahrerassistenzsystems des Fahrzeugs durchgeführt werden. Diese Recheneinrichtung kann Eingangsdaten empfangen. Diese Eingangsdaten können beispielsweise von einem Umfeldsensor des Fahrzeugs bzw. des Fahrerassistenzsystems bereitgestellt werden. Es kann auch vorgesehen sein, dass die Eingangsdaten anhand der Sensordaten des Umfeldsensors bestimmt werden. Hierzu können die Sensordaten beispielsweise verarbeitet bzw. gefiltert werden. Bei dem Umfeldsensor kann es sich um einen Radarsensor, Lidar-Sensor, Laserscanner oder einen optischen Sensor handeln. Insbesondere handelt es sich bei dem Umfeldsensor um eine Kamera. Wenn es sich bei dem Umfeldsensor um eine Kamera handelt, können als Eingangsdaten zumindest ein Eingangsbild bzw. ein Bild verwendet werden. Dabei beschreiben die Eingangsdaten die Umgebung des Fahrzeugs bzw. einen Teil der Umgebung des Fahrzeugs. Der Teil der Umgebung, welchen die Eingangsdaten beschreiben, ist abhängig von einem Sichtbereich bzw. Erfassungsbereich des Umfeldsensors.With the aid of the method, a drivable area or drivable areas in the vicinity of the vehicle is to be recognized. The vehicle can be maneuvered in this drivable area or driving area without colliding with other objects in the vicinity of the vehicle. The passable area in the vicinity can be a roadway, in particular a street. Objects or other road users on the road can be recognized and excluded. The method can be carried out with a computing device of a driver assistance system of the vehicle. This computing device can receive input data. These input data can be provided, for example, by an environment sensor of the vehicle or the driver assistance system. It can also be provided that the input data are determined on the basis of the sensor data of the environment sensor. For this purpose, the sensor data can be processed or filtered, for example. The environment sensor can be a radar sensor, lidar sensor, laser scanner or an optical sensor. In particular, the environment sensor is a camera. If the environment sensor is a camera, at least one input image or one image can be used as input data. The input data describe the surroundings of the vehicle or part of the surroundings of the vehicle. The part of the environment that the input data describe depends on a field of view or detection area of the environment sensor.

Der befahrbare Bereich in der Umgebung des Fahrzeugs wird anhand der Eingangsdaten mittels semantischer Segmentierung bestimmt. Wenn es sich bei den Eingangsdaten um Bilddaten handelt, können bei der semantischen Segmentierung zusammenhängende Bereiche in dem Bild durch die Zusammenfassung von benachbarten Bildpunkten bzw. Pixeln des Bilds bestimmt werden. Insbesondere können hierbei Bereiche mit ähnlicher Farbe und/oder Textur in dem Bild bestimmt werden. Bei der semantischen Segmentierung werden die einzelnen Bereiche und/oder Bildpunkte entweder dem befahrbaren Bereich oder dem nicht befahrbaren Bereich zugeordnet. Es kann also eine Klassifizierung bezüglich der zwei Klassen „befahrbar“ und „nicht befahrbar“ vorgenommen werden. Diese semantische Segmentierung kann auch auf Grundlage von Eingangsdaten durchgeführt werden, welche auf Messungen eines Lidar-Sensors oder eines Radarsensors basieren.The drivable area in the vicinity of the vehicle is determined on the basis of the input data by means of semantic segmentation. If the input data is image data, in the semantic segmentation, contiguous areas in the image can be determined by combining neighboring image points or pixels of the image. In particular, areas with a similar color and / or texture can be determined in the image. In the semantic segmentation, the individual areas and / or pixels are assigned either to the drivable area or the non-drivable area. A classification with regard to the two classes “passable” and “not passable” can therefore be made. This semantic segmentation can also be carried out on the basis of input data which are based on measurements of a lidar sensor or a radar sensor.

Zur Durchführung der semantischen Segmentierung wird ein künstliches neuronales Netz bzw. ein künstliches neuronales Netzwerk verwendet. Dabei ist das künstliche neuronale Netz als binäres künstliches neuronales Netz ausgebildet. Bei einem derartigen neuronalen Netz können nur binäre Gewichtungen und/oder Aktivierungen verwendet werden. Mit anderen Worten können die Gewichte und/oder Aktivierungen entweder den Wert +1 oder den Wert -1 aufweisen. Insbesondere bei dem Training des binären künstlichen neuronalen Netzes können Gewichte verwendet werden, welche entweder den Wert +1 oder den Wert-1 aufweisen. Des Weiteren können bei dem binären neuronalen Netz nur 1-bit Rechenoperationen durchgeführt werden. Bei der Berechnung kann hierbei beispielsweise dem Wert +1 eine logische Eins und dem Wert -1 eine logische Null zugeordnet werden. Es kann auch vorgesehen sein, dass in dem binären künstlichen neuronalen Netz Rechenschritte durchgeführt werden, bei welchen keine Binarisierung verwendet wird. Dies gilt insbesondere für Normalisierungen.An artificial neural network or an artificial neural network is used to carry out the semantic segmentation. The artificial neural network is designed as a binary artificial neural network. In such a neural network, only binary weightings and / or activations can be used. In other words, the weights and / or activations can have either the value +1 or the value -1. In particular, when training the binary artificial neural network, weights can be used which have either the value +1 or the value -1. Furthermore, only 1-bit arithmetic operations can be carried out in the binary neural network. During the calculation, a logical one can be assigned to the value +1 and a logical zero to the value -1, for example. It can also be provided that computing steps are carried out in the binary artificial neural network in which no binarization is used. This is especially true for normalizations.

Das neuronale Netz umfasst den Encoder-Teil, den Bottleneck-Teil und den Decoder-Teil. Mit dem Encoder-Teil können Merkmale (features) aus den Eingangsdaten extrahiert werden. In dem Bottleneck-Teil, welcher auch als Flaschenhals-Teil bezeichnet werden kann, können räumliche Zusammenhänge der extrahierten Merkmale erkannt werden. Bei dem Bestimmen der räumlichen Zusammenhänge können insbesondere zusammenhängende oder ähnliche extrahierte Merkmale erkannt werden. Insbesondere kann in dem Bottleneck-Teil die räumliche Auflösung bzw. das Sichtfeld vergrößert werden. In dem Decoder-Teil wird dann eine Klassifizierung der einzelnen Teilbereiche der Eingangsdaten durchgeführt. Dabei können die jeweiligen Teilbereiche beispielsweise als „befahrbar“ oder als „nicht befahrbar“ klassifiziert werden. Wenn es sich bei den Eingangsdaten um ein Bild bzw. Eingangsbild handelt, können die Teilbereiche jeweiligen Bildpunkten bzw. Pixeln des Eingangsbilds entsprechen. In diesem Fall kann in dem Decoder-Teil eine pixelgenaue Klassifizierung durchgeführt werden. Für die Klassifizierung werden zum einen die extrahierten Merkmale aus dem Encoder-Teil und zum anderen die erkannten räumlichen Zusammenhänge der extrahierten Merkmale aus dem Bottleneck-Teil verwendet.The neural network comprises the encoder part, the bottleneck part and the decoder part. With the encoder part, features can be extracted from the input data. In the bottleneck part, which can also be referred to as the bottleneck part, spatial relationships of the extracted features can be recognized. When determining the spatial relationships, in particular connected or similar extracted features can be recognized. In particular, the spatial resolution or the field of view can be enlarged in the bottleneck part. The individual sub-areas of the input data are then classified in the decoder section. The respective sub-areas can be classified as "drivable" or "not drivable", for example. If the input data is an image or an input image, the partial areas can correspond to respective image points or pixels of the input image. In this case, a pixel-accurate classification can be carried out in the decoder part. For the classification, on the one hand the extracted features from the encoder part and on the other hand the recognized spatial relationships of the extracted features from the bottleneck part are used.

Dabei ist es gemäß der vorliegenden Erfindung vorgesehen, dass das alle drei Teile des neuronalen Netzes, nämlich der Encoder-Teil, der Bottleneck-Teil und der Decoder-Teil binäres Repräsentationen aufweisen. Hierbei ist zu berücksichtigen, dass bei bestimmten Rechenoperation, beispielsweise der Normalisierung, keine Binarisierung durchgeführt wird. Dem Encoder-Teil, dem Bottleneck-Teil und dem Decoder-Teil bzw. jeweiligen Schichten hiervon können jeweils Merkmalskarten zugeführt werden und von den jeweiligen Teilen können Merkmalskarten ausgegeben werden. Insbesondere ist vorgesehen, dass nur binäre Gewichte und/oder Aktivierungen in dem Encoder-Teil, dem Bottleneck-Teil und dem Decoder-Teil verwendet werden. Mit anderen Worten wird ein binarisiertes neuronales Netz, welches 1-bit Rechenoperationen und Parameter verwendet, zur Fahrbereichserkennung genutzt. Hierbei können alle wesentlichen und/rechenintensiven Operationen mit Logikoperationen abgebildet werden. Auf diese Weise kann der Rechenaufwand reduziert werden und gleichzeitig der Speicherbedarf verringert werden. Des Weiteren können die Echtzeit-Anforderungen für das automatisierte oder autonome Fahren erfüllt werden.The present invention provides that all three parts of the neural network, namely the encoder part, the bottleneck part and the decoder part, have binary representations. It must be taken into account here that no binarization is carried out for certain arithmetic operations, for example normalization. Feature cards can be fed to the encoder part, the bottleneck part and the decoder part or the respective layers thereof, and feature cards can be output from the respective parts. In particular, it is provided that only binary weights and / or activations are used in the encoder part, the bottleneck part and the decoder part. In other words, a binarized neural network, which uses 1-bit arithmetic operations and parameters, is used for driving area detection. All essential and computationally intensive operations can be mapped with logic operations. In this way, the computational effort can be reduced and, at the same time, the memory requirement can be reduced. Furthermore, the real-time requirements for automated or autonomous driving can be met.

Bevorzugt ist das binäre künstliche neuronale Netz als faltendes neuronales Netz bzw. als Convolutional Neural Network (CNN) ausgebildet. Dieses faltende neuronale Netz kann mehrere Faltungsschichten bzw. Convolutional-Layer aufweisen. Dabei ist dieses faltende neuronale Netz binarisiert. Hierzu können die Aktivierungen und/oder Gewichte binarisiert werden. Beispielsweise können bei dem Training die reellen Gewichte mittels der Vorzeichenfunktion binarisiert werden. Des Weiteren können die Aktivierungen normalisiert werden. Hierzu kann insbesondere die Batch-Normalisierung verwendet werden. Es kann auch vorgesehen sein, dass zumindest eine Faltungsschicht, beispielsweise die erste Faltungsschicht in dem Encoder-Teil, nicht binarisiert wird. Insgesamt kann durch die Verwendung des binarisierten faltenden neuronalen Netzes der Rechenaufwand deutlich reduziert werden.The binary artificial neural network is preferably designed as a folding neural network or as a convolutional neural network (CNN). This convolutional neural network can have several convolutional layers or convolutional layers. This folding neural network is binarized. For this purpose, the activations and / or weights can be binarized. For example, during the training, the real weights can be binarized using the sign function. Furthermore, the activations can be normalized. Batch normalization in particular can be used for this purpose. It can also be provided that at least one convolution layer, for example the first convolution layer in the encoder part, is not binarized. Overall, the computational effort can be significantly reduced through the use of the binarized, convolutional neural network.

In einer Ausführungsform werden in dem Bottleneck-Teil zum Erkennen der räumlichen Zusammenhänge der extrahierten Merkmale erweiternde Faltungen durchgeführt. Diese erweiternde Faltung ist auch unter der Bezeichnung „dilated convolution“ bekannt. Auch in dem Bottleneck-Teil können die Gewichte und/oder die Aktivierungen binarisiert werden. Bei der erweiternden Faltung soll die räumliche Auslösung erhöht werden. Zu diesem Zweck können Lücken in den Speicherzellen vorgehalten werden. Eine mögliche Implementierung ist es, dass Gewichte mit dem Wert Null in die Gewichtsmatrix eingefügt werden. Es ist auch ein irregulärer Speicherzugriff möglich. Die binäre erweiternde Faltung kann zudem eine Normalisierung, insbesondere die sogenannte Batch-Normalisierung, umfassen. Außerdem kann die binäre erweiternde Faltung nichtlineare Aktivierungen, wie beispielsweise eine rectified linear unit (ReLU), umfassen. Hierbei ist insbesondere vorgesehen, dass die nichtlineare Aktivierung nach der Normalisierung durchgeführt wird, um einen Informationsverlust zu vermeiden. Grundsätzlich kann sich der Informationsgehalt durch die Verwendung der binären Aktivierungen und/oder Gewichte reduzieren. Um diesem Aspekt zu entgegnen, kann die binäre erweiternde Faltung verwendet werden, um die räumliche Auflösung innerhalb des Bottleneck-Teils zu erhöhen.In one embodiment, expanding folds are carried out in the bottleneck part in order to recognize the spatial relationships of the extracted features. This expanding Folding is also known as “dilated convolution”. The weights and / or the activations can also be binarized in the bottleneck part. The spatial release is to be increased in the case of the widening convolution. For this purpose, gaps can be reserved in the memory cells. One possible implementation is that weights with the value zero are inserted into the weight matrix. Irregular memory access is also possible. The binary expanding convolution can also include normalization, in particular what is known as batch normalization. In addition, the binary expanding convolution can include non-linear activations such as a rectified linear unit (ReLU). In particular, it is provided here that the non-linear activation is carried out after the normalization in order to avoid a loss of information. In principle, the information content can be reduced through the use of binary activations and / or weights. To counter this aspect, the binary expanding convolution can be used to increase the spatial resolution within the bottleneck part.

In einer weiteren Ausgestaltung wird in dem Bottleneck-Teil für die Verarbeitung der komprimierten Repräsentationen zumindest ein binarisierter Residual-Block verwendet. Einem solchen Residual-Block kann eine Eingabe zugeführt werden. Diese Eingabe kann einer ersten Faltungsschicht inklusive Normierung und nichtlinearer Aktivierung und anschließend einer zweiten Faltungsschicht übergeben werden. Bevor die Normalisierung und die Aktivierung der zweiten Faltungsschicht durchgeführt werden, wird die ursprüngliche Eingabe hinzuaddiert. Hierzu kann eine entsprechende Überbrückungs-Verbindung vorgesehen sein. Auf diese Weise kann einer Fehlanpassung der Gradienten entgegengewirkt werden. Insbesondere ist vorgesehen, dass in dem Bottleneck-Teil zwei aufeinanderfolgende bzw. benachbarte Residual-Blöcke verwendet werden. Dabei kann ein zweiter Residual-Block einem ersten Resiudal-Block quasi nachgeschaltet sein. Versuche haben gezeigt, dass ein binärer Fahrbereichsdetektor mit binären Residual-Blöcken genaue Repräsentationen lernen kann. Mit einem Residual-Block kann grundsätzlich das rezeptive Feld (receptive field) durch eine Vergrößerung der Schrittweite (stride) erhöht werden. Dies würde aber zu einer Verkleinerung der Merkmalskarte führen. Gemäß einer Ausführungsform der Erfindung ist es vorgesehen, dass das rezeptive Feld durch die erweiternde Faltung erhöht wird, allerdings ohne eine Vergrößerung der Schrittweite. Somit kann einer Verringerung der räumlichen Auflösung in dem Bottleneck-Teil entgegengewirkt werden und durch die Binarisierung kann die Effizienz verbessert werden.In a further embodiment, at least one binarized residual block is used in the bottleneck part for processing the compressed representations. An input can be added to such a residual block. This input can be transferred to a first convolution layer including normalization and non-linear activation and then to a second convolution layer. Before normalization and activation of the second layer of convolution are performed, the original input is added. A corresponding bridging connection can be provided for this purpose. In this way, a mismatching of the gradients can be counteracted. In particular, it is provided that two consecutive or adjacent residual blocks are used in the bottleneck part. A second residual block can virtually follow a first residual block. Tests have shown that a binary driving range detector can learn precise representations with binary residual blocks. With a residual block, the receptive field can basically be increased by increasing the step size (stride). However, this would lead to a reduction in the size of the feature map. According to one embodiment of the invention, it is provided that the receptive field is increased by the expanding convolution, but without increasing the step size. A reduction in the spatial resolution in the bottleneck part can thus be counteracted, and the binarization can improve the efficiency.

Weiterhin ist vorteilhaft, wenn in dem Bottleneck-Teil für das Erkennen der räumlichen Zusammenhänge ein binarisierter Block mit einer Mehrzahl von parallelen Faltungsschichten, insbesondere ein Atrous Spatial Pyramid Pooling, verwendet wird. Das Pooling dient grundsätzlich dazu, überflüssige Informationen zu verwerfen. Das Atrous Spatial Pyramid Pooling (ASPP) ist beispielsweise aus der Veröffentlichung „DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs“ von L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy und A. L. Yuille aus dem Jahr 2016 bekannt. Ein solcher ASPP-Block kann beispielsweise mehrere parallele Faltungsschichten mit unterschiedlichen Erweiterungsraten (dilation rate) aufweisen. Dabei beschreibt die Erweiterungsrate den Abstand zwischen zwei benachbarten Gewichten. Bevorzugt kann der ASPP-Block vier parallele Faltungsschichten mit den Erweiterungsraten 1, 6, 12 und 18 aufweisen. Des Weiteren kann in dem ASPP-Block das sogenannte Mean Pooling reduziert werden. Zudem ist vorgesehen, dass der Block mit der Mehrzahl von parallelen Faltungsschichten bzw. der ASPP-Block im Vergleich zu bekannten ASPP-Blöcken binarisiert wird. Hier haben Versuche gezeigt, dass durch die Verwendung eines solchen ASPP-Blocks im Vergleich zu bekannten anderen Blöcken eine höhere Genauigkeit erreicht werden kann.It is also advantageous if a binarized block with a plurality of parallel folding layers, in particular an Atrous Spatial Pyramid Pooling, is used in the bottleneck part for recognizing the spatial relationships. The pooling basically serves to discard superfluous information. The Atrous Spatial Pyramid Pooling (ASPP) is for example from the publication "DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs" by L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy and AL Yuille from 2016. Such an ASPP block can, for example, have several parallel convolution layers with different expansion rates (dilation rate). The expansion rate describes the distance between two neighboring weights. Preferably, the ASPP block can have four parallel convolutional layers with the expansion rates 1 , 6th , 12th and 18th exhibit. Furthermore, what is known as mean pooling can be reduced in the ASPP block. In addition, it is provided that the block with the plurality of parallel convolution layers or the ASPP block is binarized in comparison to known ASPP blocks. Here, tests have shown that the use of such an ASPP block can achieve a higher level of accuracy compared to other known blocks.

Insbesondere ist vorgesehen, dass in dem Bottleneck-Teil - wie zuvor beschrieben - ein erster und ein zweiter Residual-Block verwendet werden. Diese beiden Residual-Blöcke können jeweils eine Erweiterungsrate von 2 aufweisen. Auf diese Weise kann die Erkennung der räumlichen Zusammenhänge der Merkmale verbessert werden. Des Weiteren ist diesen beiden Residual-Blöcke insbesondere ein zuvor beschriebener Block mit parallelen Faltungsschichten bzw. ein ASPP-Block nachgeschaltet. Im Vergleich zu bekannten Verfahren wird durch diese Blöcke keine Reduzierung der räumlichen Auflösung erreicht. Dadurch kann die Auflösung bezüglich der Merkmale in dem Bottleneck-Teil effizient erhöht werden.In particular, it is provided that, as described above, a first and a second residual block are used in the bottleneck part. These two residual blocks can each have an expansion rate of 2. In this way, the recognition of the spatial relationships between the features can be improved. Furthermore, these two residual blocks are followed in particular by a previously described block with parallel convolution layers or an ASPP block. Compared to known methods, these blocks do not reduce the spatial resolution. As a result, the resolution with respect to the features in the bottleneck part can be increased efficiently.

In einer weiteren Ausführungsform werden in dem Decoder-Teil für das Klassifizieren der jeweiligen Teilbereiche der Eingangsdaten binäre Faltungen durchgeführt. In dem neuronalen Netz kann eine Sprungverbindung von der Merkmalskarte bzw. den extrahierten Merkmalen, die von dem Encoder-Teil ausgegeben werden, und dem Decoder-Teil vorgesehen sein. Des Weiteren kann in dem Decoder-Teil ein bilineares Upsampling durchgeführt werden. Dabei kann auf Grundlage der Merkmalskarte, welche von dem ASPP-Block des Bottleneck-Teils ausgegeben wird und einer Merkmalskarte aus der Sprungverbindung eine lineare Kombination berechnet werden. Danach können die Merkmalskarten bzw. die Merkmale in zwei aufeinanderfolgenden binären Verfeinerungsblöcken zusammengeführt werden. Durch dieses bilineare Upsampling kann im Vergleich zu einer üblicherweise verwendeten transponierten Faltung eine Reduzierung der Genauigkeit verhindert werden.In a further embodiment, binary convolutions are carried out in the decoder part for the classification of the respective subregions of the input data. A jump connection from the feature map or the extracted features that are output by the encoder part and the decoder part can be provided in the neural network. Furthermore, bilinear upsampling can be carried out in the decoder part. A linear combination can be calculated on the basis of the feature map which is output by the ASPP block of the bottleneck part and a feature map from the jump connection. Then the feature cards or the Features are merged in two consecutive binary refinement blocks. This bilinear upsampling can prevent a reduction in accuracy compared to a commonly used transposed convolution.

In einer weiteren Ausführungsform wird in dem befahrbaren Bereich zumindest ein weiterer Bereich erkannt und dieser weitere Bereich wird einem Objekt in der Umgebung des Fahrzeugs zugeordnet. Mittels des binären künstlichen neuronalen Netzes kann der befahrbare Bereich erkannt werden. Diejenigen Teilbereiche der Eingangsdaten bzw. die Bildpunkte, welche nicht als befahrbar klassifiziert werden, können als nicht befahrbar klassifiziert werden. Wenn innerhalb des befahrbaren Bereichs ein weiterer Bereich erkannt wird, welchen der befahrbare Bereich umgibt, kann dieser weitere Bereich einem Objekt oder einem weiteren Verkehrsteilnehmer zugeordnet werden. Wenn in dem befahrbaren Bereich also eine Fehlstelle vorhanden ist, kann diese einem Objekt zugeordnet werden. Somit kann das Vorhandensein eines Objekts oder Hindernisses grundsätzlich erkannt werden und bei der Manöverplanung berücksichtigt werden. Grundsätzlich kann das erfindungsgemäße Verfahren auch dazu verwendet werden, andere Bereiche in der Umgebung des Fahrzeugs zu erkennen. Beispielsweise kann das Verfahren dazu genutzt werden, einen Gehweg oder dergleichen zu erkennen.In a further embodiment, at least one further area is recognized in the drivable area and this further area is assigned to an object in the vicinity of the vehicle. The passable area can be recognized by means of the binary artificial neural network. Those sub-areas of the input data or the pixels which are not classified as drivable can be classified as not drivable. If another area is recognized within the drivable area which the drivable area surrounds, this additional area can be assigned to an object or to another road user. If there is a defect in the drivable area, this can be assigned to an object. The presence of an object or obstacle can thus be recognized in principle and taken into account when planning the maneuver. In principle, the method according to the invention can also be used to identify other areas in the vicinity of the vehicle. For example, the method can be used to recognize a sidewalk or the like.

Das binäre künstliche neuronale Netz kann mit entsprechenden Trainingsdaten trainiert sein. Bei den Trainingsdaten kann es sich insbesondere um Trainingsbilder handeln, welche befahrbare Bereiche beschreiben. Hierbei haben Versuche gezeigt, dass durch das erfindungsgemäße Verfahren eine Reduzierung des Speicherbedarfs um mehr als den Faktor 15 erreicht werden kann. Des Weiteren kann durch die binäre Fahrbereichserkennung eine vergleichbare Genauigkeit wie heute bekannte Ansätze erreicht werden, wobei der Rechenbedarf bis zu 14-mal geringer ist.The binary artificial neural network can be trained with appropriate training data. The training data can in particular be training images which describe drivable areas. Experiments have shown that the method according to the invention can reduce the storage requirement by more than a factor of 15. In addition, the binary driving range detection can achieve a level of accuracy comparable to that of currently known approaches, with the computing requirement being up to 14 times less.

Eine erfindungsgemäße Recheneinrichtung ist zum Durchführen eines erfindungsgemäßen Verfahrens und der vorteilhaften Ausgestaltungen davon ausgebildet bzw. eingerichtet. Die Recheneinrichtung kann durch ein elektronisches Steuergerät des Fahrzeugs gebildet sein. Grundsätzlich kann die Recheneinrichtung durch einen Rechner, einen Computer, einen Prozessor (CPU) oder dergleichen gebildet sind. Bevorzugt kann die Recheneinrichtung als eingebettetes System (embedded system) ausgebildet sein. Das erfindungsgemäße Verfahren kann sehr effizient auf einer Vielzahl von Hardwarebeschleunigern implementiert werden.A computing device according to the invention is designed or set up to carry out a method according to the invention and the advantageous refinements thereof. The computing device can be formed by an electronic control unit of the vehicle. In principle, the computing device can be formed by a computer, a computer, a processor (CPU) or the like. The computing device can preferably be designed as an embedded system. The method according to the invention can be implemented very efficiently on a large number of hardware accelerators.

Ein erfindungsgemäßes Fahrerassistenzsystem umfasst eine erfindungsgemäße Recheneinrichtung. Darüber hinaus kann das Fahrerassistenzsystem zumindest einen Umfeldsensor aufweisen, mittels welchem Sensordaten oder Eingangsdaten bereitgestellt werden können, welche die Umgebung beschreiben. Das Fahrerassistenzsystem kann bevorzugt dazu ausgebildet sein, dass Fahrzeug in Abhängigkeit von den erkannten befahrbaren Bereich und nicht befahrbaren Bereichen zumindest teilautomatisiert zu manövrieren.A driver assistance system according to the invention comprises a computing device according to the invention. In addition, the driver assistance system can have at least one environment sensor, by means of which sensor data or input data can be provided that describe the environment. The driver assistance system can preferably be designed to maneuver the vehicle at least partially automatically as a function of the identified drivable area and non-drivable areas.

Ein erfindungsgemäßes Fahrzeug umfasst ein erfindungsgemäßes Fahrerassistenzsystem. Das Fahrzeug kann insbesondere als Personenkraftwagen ausgebildet sein.A vehicle according to the invention comprises a driver assistance system according to the invention. The vehicle can in particular be designed as a passenger car.

Ein weiterer Aspekt der Erfindung betrifft ein Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch eine Recheneinrichtung diese veranlassen, ein erfindungsgemäßes Verfahren und die vorteilhaften Ausgestaltungen davon auszuführen. Des Weiteren betrifft die Erfindung ein computerlesbares (Speicher)medium, umfassend Befehle, die bei der Ausführung durch eine Recheneinrichtung diese veranlassen, ein erfindungsgemäßes Verfahren und die vorteilhaften Ausgestaltungen davon auszuführen.A further aspect of the invention relates to a computer program comprising instructions which, when the program is executed by a computing device, cause the computer to execute a method according to the invention and the advantageous refinements thereof. The invention also relates to a computer-readable (storage) medium, comprising instructions which, when executed by a computing device, cause the computing device to execute a method according to the invention and the advantageous embodiments thereof.

Die mit Bezug auf das erfindungsgemäße Verfahren vorgestellten bevorzugten Ausführungsformen und deren Vorteile gelten entsprechend für die erfindungsgemäße Recheneinrichtung, für das erfindungsgemäße Fahrerassistenzsystem, für das erfindungsgemäße Fahrzeug, für das erfindungsgemäße Computerprogramm sowie für das computerlesbare (Speicher)medium.The preferred embodiments presented with reference to the method according to the invention and their advantages apply accordingly to the computing device according to the invention, for the driver assistance system according to the invention, for the vehicle according to the invention, for the computer program according to the invention and for the computer-readable (memory) medium.

Weitere Merkmale der Erfindung ergeben sich aus den Ansprüchen, den Figuren und der Figurenbeschreibung. Die vorstehend in der Beschreibung genannten Merkmale und Merkmalskombinationen, sowie die nachfolgend in der Figurenbeschreibung genannten und/oder in den Figuren alleine gezeigten Merkmale und Merkmalskombinationen sind nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar, ohne den Rahmen der Erfindung zu verlassen.Further features of the invention emerge from the claims, the figures and the description of the figures. The features and combinations of features mentioned above in the description, as well as the features and combinations of features mentioned below in the description of the figures and / or shown alone in the figures, can be used not only in the specified combination, but also in other combinations or on their own, without the frame to leave the invention.

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

  • 1 eine schematische Darstellung eines Fahrzeugs, welches ein Fahrerassistenzsystem zum automatisierten und/oder autonomen Manövrieren des Fahrzeugs aufweist;
  • 2 eine schematische Darstellung eines binären künstlichen neuronalen Netzes, welches einen Encoder-Teil, einen Bottleneck-Teil und einen Decoder-Teil aufweist; und
  • 3 eine schematische Darstellung der einzelnen Komponenten des Bottleneck-Teils des binären künstlichen neuronalen Netzes.
The invention will now be explained in more detail on the basis of preferred exemplary embodiments and with reference to the accompanying drawings. Show:
  • 1 a schematic representation of a vehicle which has a driver assistance system for automated and / or autonomous maneuvering of the vehicle;
  • 2 a schematic representation of a binary artificial neural network which has an encoder part, a bottleneck part and a decoder part; and
  • 3 a schematic representation of the individual components of the bottleneck part of the binary artificial neural network.

In den Figuren werden gleiche oder funktionsgleiche Elemente mit den gleichen Bezugszeichen versehen.Identical or functionally identical elements are provided with the same reference symbols in the figures.

1 zeigt in einer schematischen Darstellung ein Fahrzeug 1, welches als Personenkraftwagen ausgebildet ist, in einer Draufsicht. Das Fahrzeug 1 umfasst ein Fahrerassistenzsystem 2. Mittels des Fahrerassistenzsystems 2 kann das Fahrzeug 1 automatisiert oder autonom manövriert werden. Das Fahrerassistenzsystem 2 umfasst wiederum eine Recheneinrichtung 3, welche durch ein elektronisches Steuergerät, einen Prozessor, ein eingebettetes System oder dergleichen gebildet sein kann. Darüber hinaus umfasst das Fahrerassistenzsystem 2 einen Umfeldsensor 4, mittels welchem Eingangsdaten oder Sensordaten bereitgestellt werden können. Der Umfeldsensor 4 ist zur Datenübertragung mit der Recheneinrichtung 3 verbunden. Die Eingangsdaten, welche auf Grundlage von Messungen mit dem Umfeldsensor 4 bereitgestellt werden, beschreiben einen Umgebung 5 des Fahrzeugs 1. In dem vorliegenden Beispiel ist der Umfeldsensor 4 als Kamera ausgebildet und kann als die Eingangsdaten Bilddaten bereitstellen. In dem gezeigten Beispiel beschreiben die Bilddaten die Umgebung 5 des Fahrzeugs 1 in Vorwärtsfahrtrichtung vor dem Fahrzeug 1. 1 shows a vehicle in a schematic representation 1 , which is designed as a passenger car, in a plan view. The vehicle 1 includes a driver assistance system 2 . Using the driver assistance system 2 can the vehicle 1 automated or autonomous maneuvering. The driver assistance system 2 again comprises a computing device 3 which can be formed by an electronic control unit, a processor, an embedded system or the like. It also includes the driver assistance system 2 an environment sensor 4th , by means of which input data or sensor data can be provided. The environment sensor 4th is for data transmission with the computing device 3 tied together. The input data, which is based on measurements with the environment sensor 4th are provided describe an environment 5 of the vehicle 1 . In the present example is the environment sensor 4th designed as a camera and can provide image data as the input data. In the example shown, the image data describe the surroundings 5 of the vehicle 1 in the forward direction of travel in front of the vehicle 1 .

Mittels der Recheneinrichtung 3 können auf Grundlage der Eingangsdaten bzw. der Bilder ein befahrbarer Bereich 12 und nicht befahrbarer Bereich in der Umgebung 5 ermittelt werden. Dabei wird anhand der Eingangsdaten eine semantische Segmentierung durchgeführt. Bei dieser semantischen Segmentierung werden in den Sensordaten bzw. den Bildern zusammenhängende Bereich erkannt, welche befahrbare Bereiche 12, wie beispielsweise eine Fahrbahn oder dergleichen, beschreiben. Die semantische Segmentierung wird mittels eines künstlichen neuronalen Netzes 6 durchgeführt. Zu diesem Zweck kann auf der Recheneinrichtung 3 ein Computerprogramm ausgeführt werden.By means of the computing device 3 can create a drivable area based on the input data or the images 12th and not passable area in the area 5 be determined. A semantic segmentation is carried out on the basis of the input data. With this semantic segmentation, contiguous areas are recognized in the sensor data or the images, which areas are passable 12th , such as a roadway or the like describe. The semantic segmentation is carried out by means of an artificial neural network 6th carried out. For this purpose, on the computing device 3 a computer program can be executed.

2 zeigt eine schematische Darstellung des künstlichen neuronalen Netzes 6. Das künstliche neuronale Netz 6 ist von einem sogenannten Autoencoder inspiriert und umfasst einen Encoder-Teil E, einen Bottleneck-Teil B und einen Decoder-Teil D. Des Weiteren ist das neuronale Netz 6 als binäres künstliches neuronales Netz ausgebildet. Wie bereits der Name andeutet, weist dieses neuronale Netz 6 in allen drei Teilen bzw. in dem Encoder-Teil E, dem Bottleneck-Teil B und dem Decoder-Teil D binäre Repräsentationen auf. In dem Encoder-Teil E, dem Bottleneck-Teil B und dem Decoder-Teil D werden nur Gewichte und Aktivierungen verwendet, welche entweder den Wert +1 oder den Wert -1 aufweisen. Des Weiteren ist das künstliche neuronale Netz 6 als faltendes neuronales Netz bzw. als Convolutional Neural Network ausgebildet. 2 shows a schematic representation of the artificial neural network 6th . The artificial neural network 6th is inspired by a so-called auto-encoder and comprises an encoder part E, a bottleneck part B and a decoder part D. Furthermore, there is the neural network 6th designed as a binary artificial neural network. As the name suggests, this neural network 6th in all three parts or in the encoder part E, the bottleneck part B and the decoder part D binary representations. In the encoder part E, the bottleneck part B and the decoder part D, only weights and activations are used which have either the value +1 or the value -1. Furthermore, there is the artificial neural network 6th designed as a folding neural network or as a convolutional neural network.

Der binäre Encoder-Teil E dient der Extraktion von Merkmalen aus den Sensordaten bzw. aus Eingangsbildern I. Der Encoder 7 umfasst mehrere binäre Faltungsschichten bzw. Convolutional Layer. Dabei wird eine Aktivierung AI-1 E als Eingabe einer Faltungsschicht betrachtet. Diese Aktivierung kann auch als Merkmalskarte bezeichnet werden. Bei der ersten Faltungsschicht entspricht die Aktivierung den Sensordaten bzw. dem Eingangsbild I. Des Weiteren sind die Gewichte die Parameter der Faltungsschichten, welche trainiert werden können. Die Gewichte sind in der Gewichtsmatrix GE einer Faltungsschicht des Encoder-Teils E dargestellt und weisen entweder den Wert +1 oder -1 auf. Dabei kann im Training die Vorzeichenfunktion bzw. sign-Funktion verwendet werden, um die reellen Aktivierung zu binarisieren. Zudem können die Aktivierungen mittels eines Normalisierungsverfahrens, insbesondere der sogenannten Batch Normalisierung (Batch Normalization), normalisiert werden. Bevorzugt kann die erste Faltungsschicht aufgrund der wenigen trainierbaren Parameter und Berechnungen im Vergleich zu den übrigen Schichten des binären künstlichen neuronalen Netzes nicht binarisiert werden. Mit einer Faltungsschicht des Encoder-Teils E wird die Merkmalskarte AI E ausgeben.The binary encoder part E is used to extract features from the sensor data or from input images I. The encoder 7th comprises several binary convolutional layers. This is an activation A I-1 E considered as the input of a convolutional layer. This activation can also be referred to as a feature card. In the case of the first folding layer, the activation corresponds to the sensor data or the input image I. Furthermore, the weights are the parameters of the folding layers which can be trained. The weights are in the weight matrix G E a convolution layer of the encoder part E and have either the value +1 or -1. The sign function or sign function can be used in training to binarize the real activation. In addition, the activations can be normalized by means of a normalization method, in particular what is known as batch normalization. The first convolution layer can preferably not be binarized due to the few trainable parameters and calculations in comparison to the other layers of the binary artificial neural network. With a convolution layer of the encoder part E, the feature map A I E output.

Die Faltungsschichten in dem Bottleneck-Teil B behalten in der Segmentierungsarchitektur die niedrigsten räumlichen Auflösungen bei, die vom Encoder-Teil E ausgegeben werden, vergleichbar mit einem Autoencoder. Ähnlich wie bei der binären Faltungsschicht werden Gewichte und Aktivierungen im Bottleneck-Teil B binarisiert. Einer Faltungsschicht des Bottleneck-Teils B wird die Merkmalskarte AI-1 B zugeführt und mit einer Faltungssicht des Bottleneck-Teils B wird die Merkmalskarte AI B ausgegeben. Um das rezeptive Feld einer Faltungsschicht zu erhöhen, werden mittels der erweiternden Faltung (dilated convolution) Nullen in die Gewichte der jeweiligen Schicht eingeführt. Dabei wird der Abstand zwischen zwei benachbarten Gewichten auch als Erweiterungsrate (dilation rate) bezeichnet. Zur Veranschaulichung wird auf die Felder 7 in der Gewichtsmatrix GB einer Faltungsschicht des Bottleneck-Teils B verwiesen. Typischerweise umfasst die binäre erweiternde Faltung die Binarisierung der Aktivierungen. Darüber hinaus umfasst die binäre erweiternde Faltung die binäre Faltung. Ferner umfasst die binäre erweiternde Faltung die Normalisierung, insbesondere die sogenannte Batch Normalisierung. Schließlich umfasst die binäre erweiternde Faltung nichtlinearen Aktivierungen wie beispielsweise eine rectified linear unit (ReLU). Hierbei ist es wichtig, die nichtlineare Aktivierung nach der Normalisierung anzuwenden (Einheitsvarianz und Mittelwert Null), um zu verhindern, dass die Merkmalskarte zu viele Informationen verliert.In the segmentation architecture, the convolution layers in the bottleneck part B maintain the lowest spatial resolutions that are output by the encoder part E, comparable to an auto-encoder. Similar to the binary convolutional layer, weights and activations in the bottleneck part B are binarized. The feature map becomes a folding layer of the bottleneck part B A I-1 B supplied and with a folding view of the bottleneck part B is the feature map A I B issued. In order to increase the receptive field of a convolutional layer, zeros are introduced into the weights of the respective layer by means of dilated convolution. The distance between two adjacent weights is also referred to as the dilation rate. For illustration, reference is made to the fields 7th in the weight matrix G B referenced a folding layer of the bottleneck part B. Typically, the binary expanding convolution involves the binarization of the activations. In addition, binary expanding convolution includes binary convolution. Furthermore, the binary expanding convolution includes the normalization, in particular the so-called batch normalization. Finally, binary expanding convolution includes non-linear activations such as a rectified linear unit (ReLU). Here it is important to use the non-linear activation after normalization (unit variance and mean value zero) in order to prevent the feature map from losing too much information.

3 zeigt in der schematischen Darstellung des Bottleneck-Teils B, welcher den zentralen Teil des binären künstlichen neuronalen Netzes 6 bildet. Der Bottleneck-Teils B umfasst zwei hintereinander angeordnete Blöcke RB1 und RB2, welche als sogenannte Residual Blocks ausgebildet sind. Auch diese Residual Blocks können im Vergleich zu üblichen binären Faltungssichten beim Lernen von komplexeren Merkmalen einfacher binarisiert werden. Dabei umfassen die jeweiligen Blöcke RB1 und RB2 mehrere Faltungsschichten 8, welche vorliegend schematisch dargestellt sind, sowie die Normalisierung und die nichtlineare Aktivierung. Des Weiteren umfassen die jeweiligen Blöcke RB1 und RB2 Überbrückungs-Verbindungen 9 auf. Diese Überbrückungs-Verbindungen 9 in den binären Residual Blocks RB1, RB2 sind eine geeignete Möglichkeit, um das Problem der Fehlanpassung der Gradienten zu überwinden. Auch bei dieser binären Variante kombinieren die Blöcke RB1, RB2 Informationen, die von der vorherigen Schicht erhalten wurden, indem die Identitätsverbindungen mit der Ausgabe der aktuellen Schicht fusioniert werden. 3 shows in the schematic representation of the bottleneck part B, which the central part of the binary artificial neural network 6th forms. The bottleneck part B comprises two blocks arranged one behind the other RB1 and RB2 , which are designed as so-called residual blocks. These residual blocks can also be binarized more easily when learning more complex features than usual binary convolutional views. The respective blocks include RB1 and RB2 several folding layers 8th , which are shown schematically here, as well as the normalization and the non-linear activation. Furthermore, the respective blocks include RB1 and RB2 Bridging connections 9 on. These bridging connections 9 in the binary residual blocks RB1 , RB2 are a suitable way to overcome the gradient mismatch problem. In this binary variant, too, the blocks combine RB1 , RB2 Information obtained from the previous layer by fusing the identity links with the output of the current layer.

Darüber hinaus umfasst der Bottleneck-Teil B einen Block ASPP, welcher als sogenannter atrous spatial pyramid pooling (ASPP)-Block ausgebildet ist. Dieser Block ist ebenfalls binär ausgebildet und umfasst mehrere parallele Faltungsschichten 10 mit unterschiedlichen Erweiterungsraten. Beispielsweise können die Erweiterungsraten (dilation rates) die Werte d = {1, 6, 12, 18} aufweisen. Die Erweiterungsrate in den Blöcken RB1, RB2 kann jeweils d = 2 betragen.In addition, the bottleneck part B comprises an ASPP block, which is designed as a so-called atrous spatial pyramid pooling (ASPP) block. This block is also embodied in binary form and comprises several parallel folding layers 10 with different expansion rates. For example, the dilation rates can have the values d = {1, 6, 12, 18}. The rate of expansion in the blocks RB1 , RB2 can be d = 2 in each case.

Bei bekannten Residual-Blöcken wird das rezeptive Feld (receptive field) durch eine Vergrößerung der Schrittweite (stride) erhöht. Dies führt aber zu einer Verkleinerung der Merkmalskarte. Durch die erweiternde Faltung in den Residual-Blöcken RB1, RB2 kann das rezeptive Feld ohne Erhöhung der Schrittweite vergrößert werden. Auf diese Weise wird die räumliche Auflösung in dem Bottleneck-Teil B erhöht werden. Beispielsweise wird vorliegend eine um den Faktor 16 verringerte Auflösung im Vergleich zu einer um den Faktor 32 verringerten Auflösung verwendet. Durch die binären Rechenoperationen kann der Rechenaufwand hierbei kompensiert werden.In known residual blocks, the receptive field is increased by increasing the step size (stride). However, this leads to a reduction in the size of the feature map. Due to the expanding convolution in the residual blocks RB1 , RB2 the receptive field can be increased without increasing the step size. In this way, the spatial resolution in the bottleneck part B will be increased. For example, in the present case one is by the factor 16 decreased resolution compared to one by the factor 32 reduced resolution is used. The computational effort can be compensated for by the binary arithmetic operations.

Unter erneuter Bezugnahme auf 2 weist das binäre künstliche neuronale Netz 6 den Decoder-Teil D auf. Einer Faltungsschicht des Decoder-Teils D wird die Merkmalskarte AI-1 D zugeführt und von einer Faltungsschicht des Decoder-Teils D wird die Merkmalskarte AI D ausgegeben. Dies erfolgt auf Grundlage der Gewichtsmatrix GD. In dem Decoder-Teil D werden binäre Faltungen verwendet Des Weiteren werden pixelweise Vorhersagen bzw. Klassifizierungen für die Aufgabe der Erkennung des befahrbaren Bereichs 12 generiert. Der binäre Decoder-Teil D umfasst zudem ein bilineares Upsampling und eine binäre Bewertungsschicht (score layer). Somit kann die Ausgabe des Bottleneck-Teils B auf die Größe des ursprünglichen Eingangsbilds I vergrößert werden. Im Detail werden nach der zuvor beschriebenen binären erweiternden Faltung eine lineare Kombination (1x1 Faltung) der Merkmalskarte des Blocks ASPP und einer Sprungverbindung 11 des Encoder-Teils E berechnet. Als nächstes werden Merkmalskarten aus dem Encoder-Teil E und dem Decoder-Teil D in zwei aufeinanderfolgenden binären Verfeinerungsblöcken zusammengeführt. Die binären Verfeinerungsblöcke umfassen 3x3-Kernel, welche zu der zuvor beschriebenen binären Faltungsschicht ähnlich sind. Anstelle von transponierten Faltungen vergrößert das bilineare Upsampling die Merkmalskarten auf die Größe des Eingangsbilds I. Dies ist wichtig, da die binäre transponierte Faltung zusätzliche Operationen einführen würde und zu einer Reduzierung der Genauigkeit führen würde.Referring again to FIG 2 exhibits the binary artificial neural network 6th the decoder part D. The feature map A I-1 D is fed to a convolution layer of the decoder part D and the feature map is supplied from a convolution layer of the decoder part D A I D issued. This is done on the basis of the weight matrix G D. In the decoder part D, binary convolutions are used. Furthermore, pixel-by-pixel predictions or classifications are used for the task of recognizing the drivable area 12th generated. The binary decoder part D also includes bilinear upsampling and a binary evaluation layer (score layer). Thus, the output of the bottleneck part B can be enlarged to the size of the original input image I. In detail, after the binary expanding convolution described above, a linear combination (1x1 convolution) of the feature map of the ASPP block and a jump connection are created 11 of the encoder part E is calculated. Next, feature maps from the encoder part E and the decoder part D are combined in two successive binary refinement blocks. The binary refinement blocks comprise 3x3 kernels which are similar to the binary convolutional layer previously described. Instead of transposed convolutions, the bilinear upsampling enlarges the feature maps to the size of the input image I. This is important since the binary transposed convolution would introduce additional operations and would lead to a reduction in accuracy.

Als Ausgabe des binären künstlichen neuronalen Netzes 6 wird das Ergebnis der semantischen Segmentierung bereitgestellt. Das Ergebnis kennzeichnet den befahrbaren Bereich 12 in der Umgebung 5 des Fahrzeugs 1. Auf Grundlage der erkannten befahrbaren Bereiche 12 in der Umgebung 5 kann dann das Fahrzeug 1 mittels des Fahrerassistenzsystems 2 automatisiert oder autonom manövriert werden. Hierzu können mittels der Recheneinrichtung 3 oder einer anderen Einheit anhand der befahrbaren Bereiche entsprechende Steuersignale für eine Längsführung und/oder Querführung des Fahrzeugs 1 ausgegeben werden.As the output of the binary artificial neural network 6th the result of the semantic segmentation is provided. The result identifies the drivable area 12th in the neighborhood 5 of the vehicle 1 . Based on the identified passable areas 12th in the neighborhood 5 can then the vehicle 1 by means of the driver assistance system 2 automated or autonomous maneuvering. For this purpose, by means of the computing device 3 or another unit based on the passable areas corresponding control signals for a longitudinal guidance and / or lateral guidance of the vehicle 1 are issued.

Claims (11)

Verfahren zum Bestimmen eines befahrbaren Bereichs (12) in einer Umgebung (5) eines Fahrzeugs (1), umfassend die Schritte: - Empfangen von Eingangsdaten, welche die Umgebung (5) des Fahrzeugs (1) beschreiben, - Durchführen einer semantischen Segmentierung auf Grundlage der Eingangsdaten, wobei die semantische Segmentierung mittels eines binären künstlichen neuronalen Netzes (6) durchgeführt wird, und - Bestimmen des befahrbaren Bereichs (12) in der Umgebung (5) anhand der semantischen Segmentierung, dadurch gekennzeichnet, dass - das binäre künstliche neuronale Netz (6) einen Encoder-Teil (E) zum Extrahieren von Merkmalen aus den Eingangsdaten, einen Bottleneck-Teil (B) zum Erkennen von räumlichen Zusammenhängen der extrahierten Merkmale und einen Decoder-Teil (D) zum Klassifizieren von jeweiligen Teilbereichen der Eingangsdaten auf Grundlage der extrahierten Merkmale aus dem Encoder-Teil (E) und den erkannten räumlichen Zusammenhängen umfasst, und - in dem Encoder-Teil (E), dem Bottleneck-Teil (B) und Decoder-Teil (D) binäre Gewichte und/oder Aktivierungen verwendet werden.A method for determining a drivable area (12) in the surroundings (5) of a vehicle (1), comprising the steps of: - receiving input data describing the surroundings (5) of the vehicle (1), - performing a semantic segmentation on the basis of the input data, the semantic segmentation being carried out by means of a binary artificial neural network (6), and - determining the drivable area (12) in the environment (5) on the basis of the semantic segmentation, characterized in that - the binary artificial neural network ( 6) an encoder part (E) for extracting features from the input data, a bottleneck part (B) for Recognition of spatial relationships of the extracted features and a decoder part (D) for classifying respective sub-areas of the input data on the basis of the extracted features from the encoder part (E) and the recognized spatial relationships, and - in the encoder part ( E), the bottleneck part (B) and decoder part (D) binary weights and / or activations are used. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das binäre künstliche neuronale Netz (6) als faltendes künstliches neuronales Netz ausgebildet ist.Procedure according to Claim 1 , characterized in that the binary artificial neural network (6) is designed as a folding artificial neural network. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass in dem Bottleneck-Teil (B) bei der Erkennung der räumlichen Zusammenhänge erweiternde Faltungen durchgeführt werden.Procedure according to Claim 1 or 2 , characterized in that expanding folds are carried out in the bottleneck part (B) when recognizing the spatial relationships. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in dem Bottleneck-Teil (B) für die Erkennung der räumlichen Zusammenhänge zumindest ein binarisierter Residual-Block (RB1, RB2) verwendet wird.Method according to one of the preceding claims, characterized in that at least one binarized residual block (RB1, RB2) is used in the bottleneck part (B) for recognizing the spatial relationships. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in dem Bottleneck-Teil (B) für die Erkennung der räumlichen Zusammenhänge ein binarisierter Block (ASPP) mit einer Mehrzahl von parallelen Faltungsschichten verwendet wird.Method according to one of the preceding claims, characterized in that a binarized block (ASPP) with a plurality of parallel folding layers is used in the bottleneck part (B) for the recognition of the spatial relationships. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in dem Decoder-Teil (D) für die Klassifizierung binäre Faltungen durchgeführt werden.Method according to one of the preceding claims, characterized in that binary convolutions are carried out in the decoder part (D) for the classification. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass innerhalb des befahrbaren Bereichs (12) zumindest ein weiterer Bereich erkannt wird und dieser weitere Bereich einem Objekt in der Umgebung (5) zugeordnet wird.Method according to one of the preceding claims, characterized in that at least one further area is recognized within the drivable area (12) and this further area is assigned to an object in the surroundings (5). Recheneinrichtung (3) für ein Fahrerassistenzsystem (2) eines Fahrzeugs (1), wobei die Recheneinrichtung (3) zum Durchführen eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist.Computing device (3) for a driver assistance system (2) of a vehicle (1), the computing device (3) being set up to carry out a method according to one of the preceding claims. Fahrerassistenzsystem (2) für ein Fahrzeug (1) umfassend eine Recheneinrichtung (3) nach Anspruch 8 und zumindest einen Umfeldsensor (4).Driver assistance system (2) for a vehicle (1) comprising a computing device (3) according to Claim 8 and at least one environment sensor (4). Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch eine Recheneinrichtung (3) diese veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 7 auszuführen.Computer program, comprising instructions which, when the program is executed by a computing device (3), cause the latter, a method according to one of the Claims 1 until 7th to execute. Computerlesbares (Speicher)medium, umfassend Befehle, die bei der Ausführung durch eine Recheneinrichtung (3) diese veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 7 auszuführen.Computer-readable (storage) medium, comprising instructions which, when executed by a computing device (3), cause them, a method according to one of the Claims 1 until 7th to execute.
DE102020105070.4A 2020-02-26 2020-02-26 Method for recognizing a drivable area in the surroundings of a vehicle with the aid of a binary artificial neural network, computing device and driver assistance system Pending DE102020105070A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102020105070.4A DE102020105070A1 (en) 2020-02-26 2020-02-26 Method for recognizing a drivable area in the surroundings of a vehicle with the aid of a binary artificial neural network, computing device and driver assistance system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020105070.4A DE102020105070A1 (en) 2020-02-26 2020-02-26 Method for recognizing a drivable area in the surroundings of a vehicle with the aid of a binary artificial neural network, computing device and driver assistance system

Publications (1)

Publication Number Publication Date
DE102020105070A1 true DE102020105070A1 (en) 2021-08-26

Family

ID=77176028

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020105070.4A Pending DE102020105070A1 (en) 2020-02-26 2020-02-26 Method for recognizing a drivable area in the surroundings of a vehicle with the aid of a binary artificial neural network, computing device and driver assistance system

Country Status (1)

Country Link
DE (1) DE102020105070A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113665591A (en) * 2021-09-28 2021-11-19 上海焱眼鑫睛智能科技有限公司 Unmanned control method, device, equipment and medium

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHEN, L. - C. [et al.]: DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs. Version 1, 02-06-2016, S. 1-14. (Von der Anmelderin genannter Stand der Technik)URL: https://arxiv.org/pdf/1606.00915v1[abgerufen am 03.02.2021]
HE, H. [et al.]: Road Extraction by Using Atrous Spatial Pyramid Pooling Integrated Encoder-Decoder Network and Structural Similarity Loss. In: Remote Sensing, 2019, 11. Jg., Nr. 9, S. 1015(1) - 1015(16).URL: https://www.mdpi.com/2072-4292/11/9/1015/pdf[abgerufen am 03.02.2021]
ZHUANG, B. [et al.]: Structured Binary Neural Networks for Accurate Image Classification and Semantic Segmentation. In: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2019, S. 413-422.URL: http://openaccess.thecvf.com/content_CVPR_2019/papers/Zhuang_Structured_Binary_Neural_Networks_for_Accurate_Image_Classification_and_Semantic_CVPR_2019_paper.pdf[abgerufen am 02.02.2021]

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113665591A (en) * 2021-09-28 2021-11-19 上海焱眼鑫睛智能科技有限公司 Unmanned control method, device, equipment and medium
CN113665591B (en) * 2021-09-28 2023-07-11 上海焱眼鑫睛智能科技有限公司 Unmanned control method, unmanned control device, unmanned control equipment and unmanned control medium

Similar Documents

Publication Publication Date Title
EP2368216B1 (en) Method and device for analyzing surrounding objects and/or surrounding scenes, such as for object and scene class segmenting
DE102017220307B4 (en) Device and method for recognizing traffic signs
DE102017127592A1 (en) A method of classifying image scenes in a driving support system
DE102011055458A1 (en) Adaptation technology for the detection of a free lane by means of reliable local model calibration
DE102017213247A1 (en) Knowledge transfer between different deep-learning architectures
WO2018158020A1 (en) Method and device for determining a trajectory in off-road scenarios
EP3631677A1 (en) Method for detecting objects in an image of a camera
DE102018217090A1 (en) Process, artificial neural network, device, computer program and machine-readable storage medium for the semantic segmentation of image data
DE102011055459A1 (en) Adaptation technology for the detection of a free lane with additional classifiers
DE102018100909A1 (en) Method of reconstructing images of a scene taken by a multifocal camera system
DE102018217091A1 (en) Process, artificial neural network, device, computer program and machine-readable storage medium for the semantic segmentation of image data
WO2019206792A1 (en) Method and device for converting an input image of a first domain into an output image of a second domain
DE102018217092A1 (en) Process, artificial neural network, device, computer program and machine-readable storage medium for the semantic segmentation of image data
DE102019214558A1 (en) PROJECTION INFORMATION RECOGNITION DEVICE BASED ON AN ARTIFICIAL NEURAL NETWORK AND PROCESSES OF THE SAME
DE102016120066A1 (en) A computer implemented method for controlling an object recognition system
DE102014109063A1 (en) Method for detecting an object having a predetermined geometric shape in a surrounding area of a motor vehicle, camera system and motor vehicle
DE102020105070A1 (en) Method for recognizing a drivable area in the surroundings of a vehicle with the aid of a binary artificial neural network, computing device and driver assistance system
DE102008036219A1 (en) Method for identification of object i.e. traffic sign, in surrounding area of e.g. passenger car, involves determining similarity measure between multiple characteristics of image region and multiple characteristics of characteristic set
DE102017128082A1 (en) Meta-architecture design for a CNN network
DE102021200643B3 (en) Method for environment recognition for semi-autonomous or autonomous driving functions of a motor vehicle using a neural network
DE102019204187A1 (en) Classification and temporal recognition of tactical driving maneuvers by road users
DE102022204722A1 (en) Method for training a convolutional neural network
DE102020109364A1 (en) Method and device for determining and classifying at least one object in a detection area of a sensor
DE102020208765A1 (en) Image classifier with variable receptive fields in convolutional layers
DE102018126826A1 (en) Method for determining a confidence value for a detection quality of a road marking boundary, driver assistance system and motor vehicle

Legal Events

Date Code Title Description
R163 Identified publications notified
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009620000

Ipc: G06V0030190000