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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
- G06F18/2414—Smoothing the distance, e.g. radial basis function networks [RBFN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
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.
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.
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
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.
-
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.
Mittels der Recheneinrichtung
Der binäre Encoder-Teil E dient der Extraktion von Merkmalen aus den Sensordaten bzw. aus Eingangsbildern I. Der Encoder
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
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
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
Unter erneuter Bezugnahme auf
Als Ausgabe des binären künstlichen neuronalen Netzes
Claims (11)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113665591A (en) * | 2021-09-28 | 2021-11-19 | 上海焱眼鑫睛智能科技有限公司 | Unmanned control method, device, equipment and medium |
-
2020
- 2020-02-26 DE DE102020105070.4A patent/DE102020105070A1/en active Pending
Non-Patent Citations (3)
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)
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 |