Verfahren und Vorrichtung zur Klassifizierung von Objekten
Technisches Gebiet
Die Erfindung betrifft ein Verfahren sowie eine Vorrichtung zur Klassifizierung von Objekten.
Stand der Technik
Für die Anwendung in der fahrerlosen Navigation von Fahrzeugen ist es essenziell zu wissen, welche Arten von Verkehrsteilnehmern das Fahrzeug umgeben sowie welche Arten von Infrastrukturen sich in der Umgebung befinden. In anderen Worten ist es essentiell Objekte zu klassifizieren. Aus dem Stand der Technik ist es bekannt, Mess- daten verschiedener Sensormodalitäten zur Objektklassifizierung oder Objekterken- nung zu verwenden. Dies ist insbesondere daher vorteilhaft, da die Messdaten der verschiedenen Sensormodalitäten teilweise komplementäre Informationen über die Umgebung liefern können. Typischerweise werden dabei die Daten der einzelnen Sen- soren separat verarbeitet und anschießend auch separat zu klassifiziert. Erst im An- schluss können die Daten wieder zusammengeführt und weiter verarbeitet werden.
Ferner sind nach dem Stand der Technik die aus den Messdaten extrahierten Daten modalitätsabhängig, sodass es notwendig ist, dass ein separates Klassifizierungsmodul für jede Sensormodalität vorhanden und somit auch trainiert werden muss. Dies ist gerade dann, wenn es sich nicht um Bilddaten handelt, mit extremem Aufwand ver- bunden, da das Annotieren von Lidar- oder Radar-Datensätzen zum Anlernen von Klassifizierungsmodulen sehr zeitaufwendig und fehlerbehaftet ist. Der Grund dafür ist, dass die gemessenen Daten für die Menschen schwer verständlich sind und Perso- nen, die entsprechende Datensätze annotieren, zeitaufwändig geschult werden müs- sen, bevor sie mit der Aufgabe beginnen können. Ferner kommt hinzu, dass im Hin- blick auf Lidar und Radar die vorhandenen annotierten Datensätze im Vergleich zu Bilddatensätzen viel kleiner sind.
Darstellung der Erfindung: Aufgabe, Lösung, Vorteile
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren sowie eine Vorrichtung zur Klassifizierung von Objekten derart zu verbessern, dass im Vergleich zum Stand der Technik eine Klassifizierungseinheit zum Klassifizieren der Merkmale nicht separat für die Messdaten verschiedener Sensormodalitäten trainiert werden muss, sondern einmalig anhand von Messdaten einer einzigen Sensormodalität angelernt werden kann.
Gelöst wird die oben genannte Aufgabe durch das erfindungsgemäße Verfahren zur Klassifizierung von Objekten. Das Verfahren umfasst das Bereitstellen von Messdaten von einem Sensor für eine Merkmalsextraktionseinheit. Ferner umfasst das Verfahren das Extrahieren von modalitätsunabhängigen Merkmalen, insbesondere mittels der Merkmalsextraktionseinheit, aus den Messdaten. Die modalitätsunabhängigen Merkmale sind unabhängig von einer Sensormodalität des Sensors, sodass aus den modalitätsunabhängigen Merkmalen kein Rückschluss auf die Sensormodalität mög- lich ist. Ferner kann das Verfahren auch das Extrahieren modalitätsabhängiger Merk- male umfassen.
Bei dem Begriff „Sensormodalität" handelt es sich insbesondere um den deutschen Begriff des englischen Begriffs„sensor modality". In anderen Worten handelt es sich bei der Sensormodalität um eine Sensorkategorie oder einen Sensortyp. Sensoren unterscheiden sich somit insbesondere durch die Sensormodalität, das heißt den Sen- sortyp oder der Sensorkategorie. Insbesondere bestimmt die Sensormodalität das Messverfahren, mit dem die Messdaten erzeugt werden. Bei der Sensormodalität handelt es sich vorzugsweise um Lidar, Radar, Bild oder Ultraschall. Das heißt vor- zugsweise, dass es sich bei dem entsprechenden Sensor der Modalität um einen Lidar- Sensor, einen Radar-Sensor, einen Bildsensor, insbesondere eine Kamera, oder einen Ultraschallsensor handelt.
Unter dem Begriff„Merkmale" sind insbesondere charakteristische Eigenschaften aus den Messdaten gemeint. Es handelt sich insbesondere um sogenannte„Features", die typischerweise abhängig von der Sensormodalität des Sensors, der die Messdaten aufgenommen hat, sind. Modalitätsunabhängige Merkmale sind allerdings unabhän- gig von der Sensormodalität des Sensors, der die Messdaten aufgenommen hat. In
anderen Worten sind modalitätsunabhängige Merkmale in den Messdaten von min- destens zwei Sensormodalitäten von demselben Objekt zu erkennen. Daher kann man diese auch als gemeinsame Merkmale bezeichnen. Es handelt sich um generelle, in anderen Worten sensorunabhängige, Merkmale. Ein Rückschluss auf die Sensormoda- lität des Sensors ist anhand von modalitätsunabhängigen Merkmalen nicht möglich. Insbesondere sind die modalitätsunabhängigen Merkmale unabhängig von der Art des Messverfahrens, aus dem die Messdaten resultieren.
In anderen Worten ist das Verfahren dazu in der Lage, modalitätsunabhängige Merk- male aus den Messdaten zu extrahieren, die unabhängig von der Sensormodalität des Sensors sind. Dadurch muss eine Klassifizierungseinheit zur Klassifizierung der Merk- male nicht mehr für jede Sensormodalität separat vorgesehen und trainiert werden. Es genügt, eine einzige Klassifizierungseinheit für sämtliche Messdaten unterschiedli- cher Sensormodalitäten zur Verfügung zu stellen.
Vorzugsweise gibt es mindestens eine erste und eine zweite Sensormodalität, wobei das Verfahren dazu ausgebildet ist, aus Messdaten eines Sensors der ersten Sensor- modalität derart modalitätsunabhängige Merkmale zu extrahieren, dass Messdaten eines Sensors der zweiten Messmodalität rekonstruierbar sind. Ferner ist das Verfah- ren bevorzugterweise dazu ausgebildet aus Messdaten der zweiten Sensormodalität modalitätsunabhängige Merkmale zu extrahieren und zwar derart, dass Messdaten der ersten Modalität rekonstruierbar sind. Insbesondere gibt es mehr als zwei Sen- sormodalitäten, vor allem drei oder vier, wobei das Verfahren derart modalitätsunab- hängige Merkmale extrahiert, dass aus diesen Merkmalen Messdaten jeder Sensor- modalität rekonstruierbar sind.
Rekonstruierbar bedeutet, dass bei Vorsehung eines Decoders für jede Sensormodali- tät, also eines Decoders für die erste Sensormodalität und eines Decoders für die zweite Messmodalität diese in der Lage wären, aus den modalitätsunabhängigen Merkmalen Messdaten der entsprechenden Modalität zu erzeugen. Beispielsweise handelt es sich bei der ersten Sensormodalität um Lidar, während es sich bei der zwei- ten Modalität um Bild handelt. Die Merkmalsextraktionseinheit kann aus den Lidar- Messdaten modalitätsunabhängige Merkmale extrahieren. Dabei kann aus diesen modalitätsunabhängigen Merkmalen ein Bild, das heißt Messdaten der zweiten Sen-
sormodalität, rekonstruiert werden, obwohl die modalitätsunabhängigen Merkmale nur aus Lidar-Messdaten stammen.
Die Sensormodalität bestimmt vorzugsweise die Art der Messdaten, wobei es sich bei der Art der Messdaten um Radar-Messdaten, Lidar-Messdaten, Bilddaten oder Ultra schal I-Messdaten handelt.
Insbesondere kann es sich bei den Messdaten um Punktwolken und/oder Bilddaten handeln. Insbesondere handelt es sich bei den Punktwolken um unsortierte Punkt- wolken. Vorzugsweise ist das Verfahren dazu ausgebildet, derart modalitätsunabhän- gige Merkmale aus Punktwolken und/oder Bilddaten zu extrahieren, dass Messdaten der jeweils anderen Messmodalität rekonstruierbar sind. Insbesondere ist die Merk- malsextraktionseinheit dazu ausgebildet aus einer Punktwolke und/oder Bilddaten modalitätsunabhängige Merkmale zu extrahieren, sodass aus modalitätsunabhängi- gen Merkmalen Messdaten der jeweiligen anderen Sensormodalität, das heißt ein Bild und/oder eine Punktwolke, rekonstruiert werden können.
Insbesondere weist der Sensor eine erste Sensormodalität auf, wobei damit bevorzug- terweise gemeint ist, dass der Sensor einer bestimmten Sensormodalität entspricht. Ein Sensor kann bevorzugterweise nur eine einzige Sensormodalität aufweisen.
Das Verfahren umfasst insbesondere das Erzeugen der Messdaten, insbesondere von Messdaten zum Klassifizieren, die anschließend an die Merkmalsextraktionseinheit weitergegeben werden. Insbesondere handelt sich bei den Messdaten um Lidar- Messdaten, sodass es sich bei dem Sensor der ersten Sensormodalität um einen Lidar- Sensor handelt. Zum Erzeugen der Messdaten umfasst das Verfahren insbesondere das Aussenden einer Vielzahl von Messpulsen, insbesondere zum Erzeugen von Lidar- Messdaten. Die Messdaten verschiedener Sensormodalitäten stammen vor allem von derselben Szene.
Bei einem Messpuls handelt es sich insbesondere um ein optisches, insbesondere elektromagnetisches, Signal. Der Messpuls hat vorzugsweise eine Wellenlänge, die nicht aus dem für das menschliche Auge sichtbaren Bereich stammt. Vorzugsweise wird aus Sicherheitsgründen unsichtbares Infrarot verwendet. Bevorzugterweise weist ein Messpuls eine Pulsbreite auf, sodass man den Messpuls als eine zeitlich begrenzte
Portion elektromagnetischer Strahlung verstehen kann. Da es sich beim Messpuls um ein elektromagnetisches Signal handelt und somit die Geschwindigkeit des Messpul- ses bekannt ist, kann aus der Laufzeit eines Messpulses mithilfe der Lichtgeschwindig- keit darauf geschlossen werden, welche Strecke der Messpuls in der Laufzeit hinter sich gebracht hat.
Insbesondere umfasst das Verfahren das Durchführen einer Vielzahl von Scans. Dies bedeutet, dass Messpulse oder eine Messpulsfolge unter unterschiedlichen Richtun- gen sequentiell ausgesandt werden. Insbesondere handelt es sich bei dem Verfahren um ein scannendes Lidar-Verfahren. Nach Aussenden der Messpulse in einen auszu- messenden Bereich ist ein jeweiliger Scan abgeschlossen und ein neuer Scan kann be- ginnen. Insbesondere werden nach jedem abgeschlossenen Scan mittels der Merk- malsextraktionseinheit modalitätsunabhängige Merkmale aus den Messdaten extra- hiert, um Objekte zu klassifizieren.
Insbesondere umfasst das Verfahren das Erzeugen von Messdaten eines Sensors einer zweiten Sensormodalität, wobei das Verfahren das Bereitstellen der Messdaten für die Merkmalsextraktionseinheit umfasst. Die zweite Sensormodalität und die erste Sensormodalität unterscheiden sich vorzugweise. In anderen Worten umfasst das Ver- fahren vorzugsweise das Erzeugen von Messdaten eines Sensors einer zweiten Sen- sormodalität sowie von Messdaten eines Sensors einer ersten Sensormodalität, wobei das Verfahren das Bereitstellen der Messdaten beider Sensormodalitäten für die Merkmalsextraktionseinheit umfasst. Ferner kann das Verfahren das Erzeugen von Messdaten eines Sensors einer dritten Sensormodalität umfassen, die ebenfalls für die Merkmalsextraktionseinheit bereitgestellt werden. Die dritte Sensormodalität, die zweite Sensormodalität und die erste Sensormodalität unterscheiden sich vorzugs- weise. Ferner kann das Verfahren das Erzeugen von Messdaten eines Sensors einer vierten Sensormodalität umfassen, die ebenfalls für die Merkmalsextraktionseinheit bereitgestellt werden. Bei der ersten Sensormodalität und/oder der zweiten Sensor- modalität und/oder der dritten Sensormodalität und/oder der vierten Sensormodali- tät kann es sich um Lidar, Radar, Bild oder Ultraschall handeln. Insbesondere unter- scheiden sich die Sensormodalitäten.
Das Verfahren umfasst somit insbesondere das Erzeugen von Messdaten unterschied- licher Sensormodalitäten und eine modalitätsunabhängige Merkmalsextraktion, so-
dass ein Vorteil daraus gezogen wird, auf andere Sensordaten zum Anlernen der Klas- sifizierungseinheit zurückgreifen zu können.
Vorzugsweise umfasst die Merkmalsextraktionseinheit mindestens einen Feature- Extractor pro Sensormodalität, wobei der Feature-Extractor Merkmale aus den Mess- daten extrahiert. Insbesondere umfasst die Merkmalsextraktionseinheit jeweils einen Feature-Extractor pro Sensormodalität der Sensoren, die Messdaten erzeugen. Insbe- sondere umfasst die Merkmalsextraktionseinheit einen Feature-Extractor für die erste Sensormodalität, das heißt vorzugsweise für Lidar-Messdaten, wobei der Feature- Extractor dazu ausgebildet ist, aus den Lidar-Messdaten Lidar-Merkmale zu extrahie- ren. Dabei sind unter den von den Feature-Extractoren extrahierten Merkmale so- wohl welche, die nur in den Messdaten einer Sensormodalität zu sehen sind, sprich modalitätsabhängige Merkmale, als auch welche, die in mehreren Sensormodalitäten zu sehen sind, sprich modalitätsunabhängige Merkmale. Die Feature-Extractor können diese Merkmale allerdings nicht voneinander unterscheiden. In anderen Worten weiß der Feature-Extractor nicht, welche Merkmale modalitätsabhängig und welche moda- litätsunabhängig sind.
Ferner bevorzugt umfasst die vorzugsweise Merkmalsextraktionseinheit einen jeweili gen entsprechenden Feature-Extractor für die zweite Sensormodalität und/oder die dritte Sensormodalität und/oder die vierte Sensormodalität, der dazu ausgebildet ist, aus entsprechenden Messdaten Merkmale zu extrahieren, bspw. aus Radar- Messdaten entsprechende Radar-Merkmale oder aus Bilddaten entsprechende Bild- Merkmale.
Bei dem Feature-Extractor handelt es sich insbesondere um einen„Encoder", vor- zugsweise je nach Sensormodalität um einen Lidar-Encoder, Radar-Encoder, Image- Encoder oder Ultraschall-Encoder. Vorzugsweise kann es sich bei dem Encoder um einen Point-Cloud-Encoder handeln, insbesondere wenn es sich bei den Messdaten um Lidar-Messdaten handelt.
Die Feature-Extractor umfassen insbesondere jeweils ein neuronales Netzwerk. Insbe- sondere handelt es sich bei den Feature-Extractor um neuronale Netzwerke. Vorteil- hafterweise wird pro Sensormodalität ein neuronales Netzwerk verwendet, das opti- mal die darin zu erkennenden Merkmale extrahiert.
Ferner bevorzugt umfasst der Feature-Extractor für die zweite Sensormodalität, d.h. vorzugsweise für Bilddaten, ein Convolutional Neural Network (CNN), das mindestens ein Convolutional Layer umfasst. Jedes Layer enthält eine Vielzahl von künstlichen Neuronen.
Jedes Layer des CNN kann als Convolutional Layer ausgebildet sein. Ein Convolutional Layer führt insbesondere eine Faltung durch. Insbesondere umfasst das CNN mindes- tens 5, vorzugsweise mindestens 10, insbesondere mindestens 15, Layer.
Aktiviert sind alle Layer (bis auf den letzten Layer) jeweils vor allem durch eine nicht- lineare Funktion, insbesondere eine sogenannte ReLU-Funktion. Dabei handelt es sich bei einer ReLU-Funktion um eine„Rectified Linear Unit". In anderen Worten handelt es sich um eine Funktion, die im positiven x-Werte Bereich linear ausgebildet ist, je- doch im negativen x-Werte Bereich Null ist, wobei x für einen Eingangswert eines Neurons steht. Das letzte Layer hat vorzugsweise keine Aktivierungsfunktion um als letzten Schritt sämtliche Zahlenwerte zuzulassen.
Das CNN ist in der Lage Input in Form eines Bildes, insbesondere einer Matrix, zu ver- arbeiten. Das CNN extrahiert in den ersten Layern einfache Merkmale, wie bspw. ge- rade Striche, und je tiefer das Netzwerk wird, desto komplexer werden die Merkmale, die extrahiert werden (z.B. L Features, Kreis Features, Stern Features, hochdimensio- nale Features). Output des Netzwerks sind somit Merkmale, insbesondere in Form von Vektoren. Der Output wird auch als Image Code bezeichnet. Dieser Image Code wird im Folgenden auch als , echter Image Code' bezeichnet, um ihn von einem wieder erzeugten Image Code einer Merkmalsrücktransformationseinheit zu unterscheiden.
Insbesondere umfasst der Feature-Extractor für die erste Sensormodalität, d.h. vor- zugsweise für Lidar-Messdaten, ein„multi layer perceptron" (MLP-) Netzwerk, das mindestens ein„multi layer perceptron" als Layer (MLP Layer) umfasst. Jedes Layer enthält eine Vielzahl von künstlichen Neuronen. Insbesondere umfasst das MLP- Netzwerk eine Vielzahl von MLP Layern. Die MLP Layer sind vorzugsweise alle jeweils durch eine nicht-lineare Funktion, insbesondere eine sogenannte ReLU-Funktion, akti viert. Das MLP hat vorzugsweise mindestens 3, insbesondere mindestens 5, Layer, die mehrere Unterschichten umfassen können.
Ferner kann das MLP Netzwerk mindestens ein fully connected Layer umfassen, das auch durch eine nicht-lineare Funktion, insbesondere eine sogenannte ReLU-Funktion, aktiviert sein kann.
Das MLP Netzwerk ist in der Lage Input in Form von Punktwolken zu verarbeiten. Out- put des Netzwerks sind somit Merkmale, insbesondere in Form von Vektoren. Der Output wird auch als Punktwolken Code bezeichnet. Dieser Punktwolken Code wird im Folgenden auch als , echter Punktwolken Code' bezeichnet, um ihn von einem wie- der erzeugten Punktwolken Code einer Merkmalsrücktransformationseinheit zu un- terscheiden.
Ferner bevorzugt umfasst die Merkmalsextraktionseinheit eine Merkmalstransforma- tionseinheit, die aus den Merkmalen mindestens zweier Feature-Extractor modali- tätsunabhängige Merkmale extrahiert. Unter dem Begriff „transformieren" ist insbe- sondere ein Auffinden modalitätsunabhängiger Merkmale zu verstehen, wobei diese in einen gemeinsamen Feature Raum abgelegt werden. Anders gesagt werden die Merkmale aufgefunden und in einen gemeinsamen Raum abgebildet. In anderen Worten ist unter der Merkmalstransformationseinheit somit eine Einheit zum Auffin- den modalitätsunabhängiger Merkmale zu verstehen. Insbesondere werden sämtliche Merkmale, die die Feature-Extractor extrahieren, für die Merkmalstransformations- einheit bereitgestellt, wobei die Merkmalstransformationseinheit aus diesen modali- tätsunabhängige Merkmale extrahiert.
Der Vorteil liegt darin, dass anhand der modalitätsunabhängigen Merkmale kein Rück- schluss mehr auf die Sensormodalität des Sensors, von dem die Merkmale stammen, gezogen werden kann. Insbesondere gibt die Merkmalsextraktionseinheit als Ergebnis der Extraktion und Transformation einen Feature-Vektor aus, der modalitätsunabhän- gig ist. Vor allem stellt die Merkmalsextraktionseinheit Feature-Vektoren für die Klas- sifizierungseinheit zur Klassifizierung zur Verfügung.
Die Merkmalstransformationseinheit umfasst vor allem pro Sensormodalität ein neu- ronales Netzwerk. Die Netzwerke dienen dem Auffinden der modalitätsunabhängigen Merkmale und optionalerweise von modalitätsabhängigen Merkmalen und dem Able- gen in einem gemeinsamen Feature Raum. Die Merkmalstranformationseinheit ist
dazu ausgebildet als Input Merkmale, insbesondere Feature Vektoren, die aus den Feature-Extractor stammen, zu verarbeiten.
Insbesondere umfasst jedes neuronales Netzwerk der Merkmalstransformationsein- heit mindestens ein fully connected layer. Vorzugsweise umfasst das Netzwerk min- destens 2, vorzugsweise mindestens 3, fully connected Layer. Die fully connected Lay- er sind vorzugsweise jeweils durch eine nicht-lineare Funktion, insbesondere eine so- genannte ReLU-Funktion, aktiviert. Ferner kann das Netzwerk mindestens ein dropout Layer umfassen. Insbesondere ist das Netzwerk derart aufgebaut, dass zwischen zwei fully connected Layern ein dropout Layer angeordnet ist. Das Netzwerk umfasst vor allem 5 Layer. Dabei kann die letzte Layer keine Aktivierung aufweisen. Insbesondere sind alle neuronalen Netzwerke der verschiedenen Sensormodalitäten der Merkmals- transformationseinheit gleich aufgebaut.
Output der Netzwerke der Merkmalstransformationseinheit sind modalitätsunabhän- gige Merkmale, insbesondere in Form von Vektoren. Ferner könnte die Merkmals- transformationseinheit zusätzlich auch modalitätsabhängige Merkmale ausgeben. In anderen Worten sucht die Merkmalstranformationseinheit Merkmale, die in allen Messdaten der verschiedenen Sensormodalitäten zu erkennen sind, d.h. die alle Sen- sormodalitäten gemeinsam haben. Diese modalitätsunabhängigen Merkmale werden ausgegeben. Es können aber auch zusätzlich die Merkmale ausgegeben werden, die nur in einer Sensormodalität auftauchen, d.h. die modalitätsabhängigen Merkmale.
Das neuronale Netzwerk der ersten Sensormodalität gibt insbesondere modalitätsun- abhängige d.h. gemeinsame Merkmale und optionalerweise Lidar-spezifische Merk- male aus. Das neuronale Netzwerk der zweiten Sensormodalität gibt insbesondere modalitätsunabhängige d.h. gemeinsame Merkmale und optionalerweise Bild- spezifische Merkmale aus. Gemeinsame Merkmale sind Merkmale, die in den Lidar- Messdaten und Bilddaten derselben Szene enthalten sind.
Der Output wird auch als Feature Code bezeichnet. Gibt das Netzwerk auch modali- tätsabhängige Merkmale aus, kann dem Netzwerk insbesondere vorgegeben werden, an welcher Stelle, in anderen Worten an welchen Indizes ihres Outputs die modali- tätsabhängigen und modalitätsunabhängigen Merkmale angeordnet sein sollen. Dadurch kann das Output gesplittet werden.
Ein konkretes Beispiel wäre eine gestreifte Wand, von der Lidar-Messdaten und Bild- daten vorliegen. Die Streifen sind in den Lidar-Messdaten nicht zu erkennen, hingegen in den Bilddaten schon. Anders herum verhält es sich für die Tiefeninformation der Wand. Diese lässt sich aus den Lidar-Messdaten ableiten, aus den Bilddaten nicht. Die Streifen wäre somit ein Bild-spezifisches Merkmal, während die Tiefeninformationen ein Lidar-spezifisches Merkmal sind. Die Kontur der Wand, die sowohl in den Bildda ten als auch in den Lidar-Messdaten zu erkennen ist, wäre ein gemeinsames Merkmal. Bei den extrahierten Merkmalen des mindestens einen Feature-Extractors handelt es sich vorzugsweise um einen Vektor, einen sogenannten Feature-Vektor. Insbesondere extrahieren die jeweiligen Feature-Extractor die Merkmale, vor allem in Form von Vektoren, jedoch in jeweils separaten Räumen, je nach Sensormodalität. In anderen Worten leben die Merkmale aus den verschiedenen Sensormodalitäten in separaten Räumen.
Die Merkmalstransformationseinheit kann dazu ausgebildet sein, Merkmale der sepa- raten Räume in einen gemeinsamen Raum, den sogenannten Feature Raum, zu trans- formieren. Bei dem Feature Raum handelt es sich insbesondere um einen Vektor- raum, vorzugsweise einen metrischen Raum.
Insbesondere werden alle Merkmale aus den verschiedenen Sensormodalitäten, in anderen Worten der Output aller Feature-Extractor, der Merkmalstransformations- einheit zugeführt. Diese transformiert die Merkmale so, dass ein erster Anteil der Merkmale in einem gemeinsamen Feature Raum leben. Dieser Raum bildet die Merkmale ab, die beide Modalitäten gemeinsam haben. Diese Merkmale, die beide Modalitäten gemeinsam haben, sind die modalitätsunabhängigen Merkmale, in ande- ren Worten gemeinsame Merkmale.
Ferner können andere Anteile der Merkmale in unterschiedlichen, in anderen Worten modalitätsabhängigen bzw. modalitätsspezifischen, Feature Räumen leben. Ein zwei- ter Anteil lebt bspw. in einem Feature Raum, der der ersten Sensormodalität zuge- ordnet ist, und ein dritter Anteil in einem der zweiten Sensormodalität zugeordneten Feature Raum. Gleiches kann für eine dritte und vierte Sensormodalität gelten. Diese speziellen Räume beinhalten jeweils Merkmale ab, die nur in einer spezifischen Moda- lität gesehen werden.
Vorzugsweise kann das Verfahren das vorherige Anlernen der Merkmalsmalsextrakti- onseinheit, insbesondere der Merkmalstransformationseinheit und/oder der jeweili gen Feature-Extractor, umfassen. Der Begriff„vorherig" soll ferner bevorzugt bedeu- ten, dass das Anlernen vor dem Erzeugen von Messdaten zum Klassifizieren, durchge- führt wird. Vor allem wird hierfür der Merkmalsextraktionseinheit mindestens ein Da- tensatz zum Lernen bereitgestellt. Das unüberwachte Lernen wird insbesondere an- hand mindestens eines nicht annotierten Datensatzes durchgeführt. Insbesondere ist die Merkmalstransformationseinheit, vorzugsweise die Merkmalstransformationsein- heit und/oder die jeweiligen Feature-Extractor, mit Hilfe von unüberwachtem Lernen angelernt, um modalitätsunabhängige Merkmale zu lernen.
Insbesondere kann die Merkmalsmalsextraktionseinheit, insbesondere die Merkmals- transformationseinheit und/oder die jeweiligen Feature-Extractor angelernt werden. Ferner kann die Merkmalstransformationseinheit mit Hilfe von tiefgehendem Lernen, sogenanntem Deep-Learning, angelernt werden.
Insbesondere werden die Merkmalstransformationseinheit und/oder die jeweiligen Feature-Extractor mittels unüberwachten Lernens angelernt. Dabei umfasst das jewei- lige neuronale Netzwerk, das gelernt wird, Gewichte, die durch das Lernen festgelegt werden.
Vorzugweise werden zuerst die Feature-Extractor gelernt. Vorzugsweise werden die Feature-Extractor, die als Encoder bezeichnet werden, zusammen mit den jeweils ent- sprechenden Decodern gelernt. Dies ist vorteilhaft, da diese die äußere Schicht der verschiedenen Einheiten darstellen. Dabei wird der Encoder und Decoder jeder Sen- sormodalität separat von den anderen Sensormodalitäten gelernt, sodass diese auf unterschiedlichen Datensätzen gelernt werden können. Insbesondere ist man somit nicht auf aufwendig erzeugte Datensätze angewiesen, die Messdaten mehrerer Sen- sormodalitäten umfassen.
Das Anlernen der Feature-Extractor umfasst das Bereitstellen eines Inputs. Der Input ist insbesondere sensormodalitätsspezifisch. In anderen Worten ist der Input für den Feature-Extractor für die erste Sensormodalität Lidar-Messdaten, in anderen Worten Punktwolken, während der Input für die zweite Sensormodalität Bilddaten sind.
Der Input wird vorzugsweise in den Feature-Extractor gesteckt, der als Output Merk- male ausgibt. Der Feature-Extractor für die erste Sensormodalität gibt einen Punkt- wolken Code aus, während der Feature-Extractor für die zweite Sensormodalität ei- nen Image Code ausgibt. Dieser , echte' Code wird direkt in den jeweiligen Decoder gesteckt, der daraus wieder sensormodalitätsabhängigen Output generiert. In ande- ren Worten generiert der Decoder für die erste Sensormodalität wieder eine Punkt- wolke, während der Decoder für die zweite Sensormodalität wieder ein Bild, insbe- sondere ein Grauwert-Bild, erzeugt.
Dieser sensormodalitätsspezifische Output der Decoder wird mit dem jeweiligen sen- sormodalitätsspezifischen Input, der in den jeweiligen Encoder gesteckt wurde, vergli chen. Als Bedingung wird gesetzt, dass der Output des Decoders gleich sein soll mit dem Input, der dem Encoder gegeben wurde. Anhand dieser Bedingung werden die Gewichte der entsprechenden neuronalen Netzwerke festgelegt, damit die Ähnlich- keit möglichst hoch ist.
Vorzugsweise gibt der Decoder für die zweite Sensormodalität Grauwerte des„wieder erzeugten" Bildes aus, die mit den Grauwerten des ursprünglichen Input-Bildes vergli- chen werden. Wenn es sich um ein farbiges Bild als Input handelt, kann durch einfa- che Aufsummierung der R,G,B Werte eines jeden Pixels und anschließender Division durch 3 ein Grauwert Bild des Inputs erzeugt. Zum Vergleich wird vor allem eine Loss- funktion eingesetzt, die den„mean squared error" der Grauwerte des generierten Grauwert-Bildes des Decoders und der Grauwerte des echten Grauwertbildes des In- puts vergleicht. Der Löss soll Null ergeben.
Vorzugsweise gibt der Decoder für die erste Sensormodalität eine„wieder erzeugte" Punktwolke aus, die mit der Punktwolke, die dem Feature-Extractor bereitgestellt wurde, verglichen wird. Zum Vergleich wird vorzugsweise die Chamfer Distanz zwi- schen den Punktwolken ermittelt. Dabei wird bevorzugterweise für jeden Punkt der einen Punktwolke die Distanz zum nahesten Punkt der anderen Punktwolke bestimmt. Die Distanzen werden summiert. Das Gleiche wird analog für jeden Punkt der anderen Punktwolke durchgeführt. Die Summe aller Distanzen ist die Chamfer Distanz. Je ähn- licher sich Punktwolken sind, desto kleiner ist diese. Es wird vor allem eine Lossfunkti- on eingesetzt, die die Chamfer Distanz zwischen der generierten Punktwolke des De- coders und der ursprünglichen Punktwolke vergleicht. Der Löss soll Null ergeben.
Als zweiter Schritt kann die Merkmalstranformationseinheit gelernt werden. Vor- zugsweise wird die Merkmalstranformationseinheit zusammen mit einer Merkmals- rücktransformationseinheit gelernt. Die Merkmalsrücktransformationseinheit weist vorzugsweise ebenfalls ein neuronales Netzwerk pro Sensormodalität auf. Dabei wer- den zum Anlernen auch die entsprechenden Encoder und Decoder der verschiedenen Sensormodalitäten verwendet, wobei deren Gewichte allerdings festgelegt sind, da deren Anlernen zu dem Zeitpunkt bereits abgeschlossen ist.
Das neuronale Netzwerk der Merkmalsrücktransformationseinheit weist mindestens ein fully connected layer auf. Das neuronale Netzwerk hat insbesondere zwei Un- tereineiten, eine Einheit, in der die modalitätsabhängigen Merkmale verarbeitet wer- den, und eine Einheit, in der die modalitätsunabhängigen Merkmale verarbeitet wer- den können.
Vorzugsweise umfasst das Netzwerk mindestens 2, vorzugsweise mindestens 3 fully connected Layer. Die fully connected Layer sind vorzugsweise jeweils durch eine nicht-lineare Funktion, insbesondere eine sogenannte ReLU-Funktion, aktiviert. Ferner kann das Netzwerk mindestens ein dropout Layer umfassen. Insbesondere ist das Netzwerk derart aufgebaut, dass zwischen zwei fully connected Layern ein dropout Layer angeordnet ist. Der letzte Layer weist keine Aktivierung.
Zum Anlernen der Merkmalstranformationseinheit wird den Feature-Extractor jeweils sensormodalitätsabhängiger, d.h. modalitätsspezifischer Input derselben Szene be- reitgestellt. In anderen Worten sind der Input für den Feature-Extractor für die erste Sensormodalität Lidar-Messdaten, in anderen Worten Punktwolken, während der In- put für die zweite Sensormodalität Bilddaten sind.
Der Input wird vorzugsweise in den Feature-Extractor gesteckt, der als Output Merk- male ausgibt. Der Feature-Extractor für die erste Sensormodalität gibt einen Punkt- wolken Code aus, während der Feature-Extractor für die zweite Sensormodalität ei- nen Image Code ausgibt. Dieser Code wird nun in das entsprechende neuronale Netzwerk der Merkmalstranformationseinheit gesteckt, das daraus modalitätsunab- hängige Merkmale und optionalerweise modalitätsabhängige Merkmale extrahiert.
Der Output der neuronalen Netzwerke wird in das entsprechende neuronale Netz- werk der Merkmalsrücktransformationseinheit gesteckt, die aus den Merkmalen wie- der sensormodalitätsabhängigen Code generieren. In anderen Worten generiert das neuronale Netzwerk der Merkmalsrücktransformationseinheit für die erste Sensor- modalität wieder einen Punktwolken Code, während das neuronale Netzwerk der Merkmalsrücktransformationseinheit für die zweite Sensormodalität wieder einen Image Code erzeugt.
Als Hauptbedingung wird gesetzt, dass die gemeinsamen Merkmale der verschiede- nen Netzwerke bzw. der verschiedenen Modalitäten gleich sind. Dazu werden die ge- meinsamen Merkmale, die das neuronalen Netzwerk der Merkmalstranformations- einheit für die erste Sensormodalität erzeugt hat, und die gemeinsamen Merkmale, die das neuronale Netzwerk für die zweite Sensormodalität erzeugt hat, verglichen. Insbesondere soll die Kosinusähnlichkeit (Cosine Similarity) desselben Merkmals, das in beiden Modalitäten zu erkennen ist, Null sein. Dies dient dazu die gemeinsamen Merkmale zu finden.
Ferner wird der Code der jeweiligen neuronalen Netzwerke der Merkmalsrücktrans- formationseinheit mit dem , echten' Code des entsprechenden Feature-Extractors, d.h. dem Output des Feature-Extractors, verglichen. Es wird als Nebenbedingung in einem ersten Schritt gesetzt, dass die Hin- und Rücktransformation denselben Code, d.h. die- selben Merkmale, erhalten soll. In anderen Worten wird als Nebenbedingung festge- legt, dass der mean squared error Null ergeben soll. Dies dient insbesondere dazu die initialen Gewichte der neuronalen Netzwerke der Merkmalstransformationseinheit zu lernen.
Vorzugsweise wird eine Lossfunktion eingesetzt, die auf den ersten, vorzugsweise mindestens 100, höchstens 300, am meisten bevorzugt 200, Epochen folgende Bedin- gungen hat:
• Kosinusähnlichkeit der gemeinsamen Merkmale von beiden Modalitäten
• Mean squared error zwischen 'echtem Image Code' des Feature-Extractor und dem wieder zurücktransformierten Image Code der Merkmalsrücktransforma- tionseinheit
• Mean squared error zwischen 'echtem Punktwolken Code' des Feature- Extractor und wieder zurücktransformierten Punktwolken Code der Merkmals- rücktransformationseinheit
Es wird der gemeinsame Löss der oben genannten Bedingungen ermittelt, der Null ergeben soll, und durch Anpassung der Gewichte optimiert.
In einem zweiten Schritt wird der Output der neuronalen Netzwerke der Merkmals- rücktransformationseinheit in den jeweiligen Decoder gesteckt und dann der Output der Decoder mit dem Input, der in die Feature-Extractor gesteckt wurde, verglichen. Die Flauptbedingung bezieht sich dann nicht mehr auf die Identität der Merkmale bzw. der Codes, sondern auf die Identität des ursprünglichen modalitätsabhängigen Inputs der Feature-Extractor und des Outputs der Decoder.
Vorzugsweise gibt der Decoder für die zweite Sensormodalität Grauwerte des„wieder erzeugten" Bildes aus, die mit den Grauwerten des ursprünglichen Input-Bildes vergli- chen werden. Zum Vergleich wird der„mean squared error" der Grauwerte des gene- rierten Grauwert-Bildes des Decoders und der Grauwerte des echten Grauwertbildes des Inputs verglichen.
Vorzugsweise gibt der Decoder für die erste Sensormodalität eine„wieder erzeugte" Punktwolke aus, die mit der Punktwolke verglichen wird. Zum Vergleich werden vor- zugsweise die Chamfer Distanz ermittelt.
Auf den letzten, vorzugsweise mindestens 100, höchstens 300, am meisten bevorzugt 200, Epochen werden folgende Bedingungen aufgestellt:
• Kosinusähnlichkeit der gemeinsamen Merkmale von beiden Modalitäten
• Mean squared error zwischen 'echten Bilddaten' und generierten Bilddaten
• Chamfer Distanz zwischen 'echter Punktwolke' und generierter Punktwolke
Es wird der gemeinsame Löss der oben genannten Bedingungen ermittelt und durch Anpassung der Gewichte optimiert.
Insbesondere umfasst das Verfahren das Klassifizieren der modalitätsunabhängigen Merkmale, insbesondere der von der Merkmalsextraktionseinheit erhaltenen Feature- Vektoren, mittels einer Klassifizierungseinheit. Insbesondere verwendet das Verfah- ren eine einzige Klassifizierungseinheit für die Klassifizierung aller Merkmale der Sen- soren sämtlicher Sensormodalitäten, von denen Messdaten erzeugt und bereitgestellt werden. Das Verfahren umfasst insbesondere nicht die Verwendung einer separaten Klassifizierungseinheit pro Sensormodalität.
Ferner kann das Verfahren das vorherige Anlernen der Klassifizierungseinheit mit Hilfe von überwachtem Lernen umfassen. Vor allem wird hierfür der Klassifizierungseinheit mindestens ein Datensatz zum Lernen bereitgestellt. Insbesondere wird die Klassifizie- rungseinheit anhand annotierter Bilddaten angelernt. Der Begriff „vorherig" soll fer- ner bevorzugt bedeuten, dass das Anlernen vor dem Erzeugen von Messdaten zum Klassifizieren durchgeführt wird. Die Klassifizierungseinheit wird insbesondere mit Hilfe von überwachtem Lernen angelernt, um modalitätsunabhängige Merkmale zu klassifizieren.
Das Anlernen der Klassifizierungseinheit anhand annotierter Bilddatensätze ist insbe- sondere deshalb besonders vorteilhaft, da annotierte Bilddatensätze zurzeit die größ- te Masse an annotierten Daten ausmachen. Dadurch, dass die Merkmalsextraktions- einheit dazu ausgebildet ist, modalitätsunabhängige Merkmale zu extrahieren, die unabhängig von einer Sensormodalität sind, kann eine einzige Klassifizierungseinheit verwendet werden, die anhand von Datensätzen einer einzigen Sensormodalität trai niert wird. Obwohl die Klassifizierungseinheit vorzugsweise an annotierten Bilddaten- sätzen angelernt wurde, ist sie aufgrund der Modalitätsunabhängigkeit der extrahier- ten Merkmale gleichermaßen in der Lage, Merkmale aus Lidar-Messdaten zu klassifi- zieren, obwohl sie niemals an Lidar-Messdaten angelernt wurde. Darin besteht ein wesentlicher Vorteil des vorliegenden Verfahrens gegenüber dem Stand der Technik.
Das Verfahren umfasst vor allem das Weitergeben mindestens eines Feature-Vektors von der Merkmalsextraktionseinheit zur Klassifizierungseinheit. Dieser Feature-Vektor kann nur die modalitätsunabhängigen Merkmale oder auch zusätzlich modalitätsab- hängige Merkmale enthalten. Das Klassifizieren umfasst den Vergleich des erhaltenen Feature-Vektors mit jeweils einem zuvor ermittelten Durchschnitts-Feature-Vektor
pro Klasse, wobei bei Unterschreiten einer zuvor festgelegten Abweichungsgrenze ein entsprechendes Klassenlabel ausgegeben wird.
Das Anlernen der Klassifizierungseinheit kann vor allem das Bestimmen von Klassen umfassen. Insbesondere ermittelt die Klassifizierungseinheit anhand des mindestens einen Datensatz, der ihr zum Anlernen zur Verfügung gestellt wurde, die Klassen, für die es, nachdem das Anlernen abgeschlossen ist, sogenannte Klassenlabels vergeben soll. Ein Klasse kann beispielsweise Autos betreffen, während eine weitere Klasse Fußgänger betrifft.
Der mindestens eine Datensatz zum Anlernen umfasst bevorzugterweise eine Vielzahl von Feature-Vektoren, wobei jeder Klasse eine Mehrzahl von Feature-Vektoren zuge- ordnet werden kann. Das Anlernen kann ferner das Ermitteln eines Durschnitts- Feature-Vektors pro Klasse umfassen. Der Durchschnitts-Feature-Vektor einer Klasse wird vor allem durch Mitteln der Feature-Vektoren dieser Klasse ermittelt. Das Ver- fahren umfasst das Abspeichern der Durchschnitt-Feature-Vektoren.
Insbesondere kann das Verfahren das Weitergeben mindestens eines Feature-Vektors von der Merkmalsextraktionseinheit zur Klassifizierungseinheit umfassen, der mittels der Klassifizierungseinheit klassifiziert werden soll. Insbesondere findet zunächst eine Verarbeitung des Feature-Vektors mittels der Klassifizierungseinheit statt. Als Ergeb- nis wird ein verarbeiteter Feature-Vektor, vor allem ein Bottle-Neck-Vektor, erhalten. Die Verarbeitung dient vor allem dafür, dass klarere Trennlinien zwischen unter- schiedlichen Klassen erkennbar sind.
Insbesondere umfasst die Klassifizierungseinheit ein neuronales Netzwerk, wobei die ses vorzugsweise mindestens 3, vorzugsweise mindestens 4, insbesondere 5, Layer umfasst. Insbesondere umfasst das neuronale Netzwerk mindestens ein fully connec- ted layer. Vorzugsweise umfasst das Netzwerk mindestens 2, vorzugsweise mindes- tens 3, fully connected Layer. Die fully connected Layer sind vorzugsweise jeweils durch eine nicht-lineare Funktion, insbesondere eine sogenannte ReLU-Funktion, akti viert. Das Netzwerk umfasst vor allem 5 Layer. Dabei weist der letzte Layer keine Akti- vierung auf. Der letzte Layer wird Bottle-Neck-Vektor genannt.
Das neuronale Netzwerk der Klassifizierungseinheit dient zur Verarbeitung der Fea- ture-Vektoren. Als Ergebnis wird vorzugsweise ein Bottle-Neck-Vektor erhalten.
Ferner kann die Klassifizierungseinheit ein Entscheidungsmodul umfassen, wobei die ses einen Vergleich des erhaltenen Feature-Vektors mit den Durchschnitts-Feature- Vektoren durchführt. Bei den Durchschnitts-Feature-Vektoren handelt es sich insbe- sondere auch um Durchschnitts-Bottle-Neck-Vektoren. Insbesondere werden die überarbeiteten Feature-Vektoren mit den Durchschnitts-Feature-Vektoren verglichen. Dabei stellen die Durchschnitts-Feature-Vektoren das sichere angelernte Wissen der Klassifizierungseinheit dar.
Zum Vergleich wird vor allem jeweils die Kosinusähnlichkeit zwischen dem erhaltenen Feature-Vektor, bevorzugterweise des verarbeiteten Feature-Vektors, und den Durch- schnitts-Feature-Vektoren ermittelt. Insbesondere werden zuvor Abweichungsgren- zen, sogenannte Thresholds, festgelegt. Dies dient dazu festzulegen, bei welcher Ähn- lichkeit eine bestimmte Klasse erkannt werden soll bzw. ab welcher Abweichung kein Klassenlabel für diese Klasse mehr vergeben werden soll. Bei Unterschreiten der Ab- weichungsgrenze zu einem Durchschnitts-Feature-Vektor wird ein entsprechendes Klassenlabel ausgegeben. In anderen Worten erkennt das Klassifizierungsmodul bei genügender Ähnlichkeit zum Durchschnitts-Feature-Vektor einer Klasse ein Objekt dieser Klasse und gibt das entsprechende Klassenlabel aus.
Bei Überschreiten aller zuvor festgelegten Abweichungsgrenzen von den Durch- schnitts-Feature-Vektoren kann das Entscheidungsmodul als Ergebnis ausgeben, dass kein Objekt der Klassen erkannt wurde. Insbesondere wird kein Klassenlabel ausgege- ben. Den Vergleich sowie die Ausgabe wird vor allem durch ein Entscheidungsmodul der Klassifizierungseinheit durchgeführt. Das Entscheidungsmodul entscheidet somit, inwiefern ein Klassenlabel bei Abweichung von dem sicheren Wissen der Klassifizie- rungseinheit ausgegeben werden soll.
Ferner umfasst die Erfindung ein Verfahren zur optischen Distanzmessung umfassend ein oben beschriebenes Verfahren zur Klassifizierung von Objekten.
Eine optische Distanzmessung zeichnet sich insbesondere dadurch aus, dass unter Ausnutzung von optischen Signalen, hier optischen Messpulsen, Distanzen bestimmt
werden. Unter dem Begriff„Distanz" ist eine Entfernung zu verstehen. Unter der vom Messpuls zurückgelegten Distanz ist die Strecke zwischen einer Vorrichtung zur Durch- führung des Verfahrens, die den Messpuls ausgesandt hat, und dem Objekt, das die sen reflektiert hat, plus der Strecke zwischen dem Objekt und der Vorrichtung, die den entsprechenden reflektierten Messpuls empfangen hat, zu verstehen. Die reflek- tierten Messpulse stellen jeweils Rückstreusignale der ausgesandten Messpulse dar. In anderen Worten handelt es sich bei den an einem Objekt reflektierten Messpulsen um zuvor mit Hilfe der Sendeeinheit ausgesandte Messpulse. Die optische Distanz- messung beruht vorzugsweise auf dem Time-of-Flight-Prinzip.
Insbesondere dient das Verfahren zur Klassifizierung von Objekten und/oder das Ver- fahren zur Distanzmessung zur Navigation eines fahrerlosen Fahrzeuges.
In einem weiteren Aspekt umfasst die Erfindung eine Vorrichtung zur Klassifizierung von Objekten, die zur Durchführung eines oben beschriebenen Verfahrens zur Klassifi zierung von Objekten ausgebildet ist.
Die Vorrichtung umfasst insbesondere eine Sendeeinheit und eine Empfangseinheit. Insbesondere umfasst die Empfangseinheit jeweils mindestens einen Sensor pro Sen- sormodalität, wobei die Sendeeinheit jeweils die entsprechenden Sendemodule zur Erzeugung der Messdaten zum Aussenden der Signale zur Erzeugung der Messdaten der jeweiligen Sensormodalität aufweisen kann.
Insbesondere umfasst die Vorrichtung einen Sensor einer ersten Sensormodalität, vorzugsweise einen Sensor einer zweiten Sensormodalität und/oder einen Sensor ei- ner dritten Sensormodalität und/oder einen Sensor einer vierten Sensormodalität. Insbesondere ist somit die Vorrichtung dazu ausgebildet, Messdaten von mindestens zwei Sensormodalitäten, vorzugsweise drei oder vier Sensormodalitäten, zu erzeugen.
Insbesondere handelt es sich bei der Vorrichtung um einen scannenden Lidar-Sensor, wobei dieser vorzugsweise weitere Sensoren anderer Sensormodalitäten umfassen kann. Vor allem kann die Vorrichtung ferner dazu ausgebebildet sein ein oben be- schriebenes Verfahren zur Distanzmessung durchzuführen.
Ferner umfasst die Vorrichtung eine Merkmalsextraktionseinheit, die wiederum pro Sensormodalität der verwendeten Sensoren einen Feature-Extractor aufweist. Ferner umfasst die Merkmalsextraktionseinheit eine Merkmalstransformationseinheit zum Extrahieren von modalitätsunabhängigen Merkmalen und optionalerweise modali- tätsabhängigen Merkmalen aus den extrahierten Merkmalen der Feature-Extractor. Die Merkmalstransformationseinheit ist insbesondere mit Hilfe von unüberwachtem Lernen angelernt, wobei die Klassifizierungseinheit weiter bevorzugt, insbesondere mit Hilfe von überwachtem Lernen angelernt ist.
Insbesondere dient die Vorrichtung zur Navigation eines fahrerlosen Fahrzeuges.
Ferner umfasst die Erfindung ein Computerprogrammprodukt, das ein computerles- bares Speichermedium umfasst, auf dem ein Programm gespeichert ist, dass es einem Computer ermöglicht, nachdem es in den Speicher des Computers geladen worden ist, ein oben beschriebenes Verfahren zur Klassifizierung von Objekten und/oder zur Distanzmessung, gegebenenfalls in Zusammenspiel mit einer oben beschriebenen Vorrichtung, durchzuführen.
Zudem betrifft die Erfindung ein computerlesbares Speichermedium, auf dem ein Programm gespeichert ist, das es einem Computer ermöglicht, nachdem es in den Speicher des Computers geladen worden ist, ein oben beschriebenes Verfahren zur Klassifizierung von Objekten und/oder zur Distanzmessung, gegebenenfalls in Zu- sammenspiel mit einer oben beschriebenen Vorrichtung, durchzuführen.
Kurze Beschreibung der Zeichnungen
Es zeigen schematisch:
Figur 1 ein Verfahrensschema eines erfindungsgemäßen Verfahren;
Figur 2 eine erfindungsgemäße Vorrichtung;
Figur 3 eine schematische Darstellung einer Merkmalsextraktionseinheit; und Figur 4 Feature-Extractor und Decoder für die erste und die zweite Sensormoda- lität zum Anlernen der Feature-Extractor; und
Figur 5 eine Anordnung zum Anlernen der Merkmalstransformationseinheit um- fassend eine Merkmalsextraktionseinheit, eine Merkmalsrücktransfor- mationseinheit und Decoder zum Anlernen der Merkmalstransformati- onseinheit.
Bevorzugte Ausführungsformen der Erfindung
In Figur 1 ist ein Verfahrensschema eines erfindungsgemäßen Verfahrens (100) darge- stellt.
Das erfindungsgemäße Verfahren (100) kann vorzugsweise das vorherige Anlernen (112) der Feature-Extractor und das vorherige Anlernen (101) einer Merkmalstrans- formationseinheit (17) einer Merkmalsextraktionseinheit (13) umfassen. Ferner be- vorzugt kann das erfindungsgemäße Verfahren (100) das vorherige Anlernen (102) einer Klassifizierungseinheit (18) umfassen.
Das Anlernen (102) der Klassifizierungseinheit (18) kann vor allem das Bestimmen (102a) von Klassen umfassen, insbesondere anhand des mindestens einen Datensatz, der der Klassifizierungseinheit (18) zum Anlernen zur Verfügung gestellt wurde. Es werden die Klassen bestimmt, für die die Klassifizierungseinheit (18), nachdem das Anlernen abgeschlossen ist, sogenannte Klassenlabels vergeben soll. Ferner kann das Anlernen (102) kann das Ermitteln (102b) und Abspeichern eines Durschnitts-Feature- Vektors pro Klasse umfassen.
Das Verfahren umfasst insbesondere das Bereitstellen (106) von Messdaten für die Merkmalsextraktionseinheit. Insbesondere kann das Verfahren zuvor das Erzeugen (103) von Messdaten eines Sensors einer ersten Sensormodalität, ferner bevorzugt ebenfalls das Erzeugen (104) von Messdaten eines Sensors einer zweiten Sensormo- dalität und/oder das Erzeugen (105) von Messdaten eines Sensors einer dritten Sen- sormodalität umfassen. Schritte 103 bis 105 können vorzugsweise gleichzeitig durch- geführt werden. Insbesondere umfasst das Verfahren das Durchführen von Scans, wobei nach dem Abschluss eines Scans Messdaten aller Sensormodalitäten vorliegen und für die Merkmalsextraktionseinheit (13) bereitgestellt werden können.
Ferner umfasst das Verfahren das Extrahieren (107) von modalitätsunabhängigen Merkmalen. Dazu werden vorzugsweise Merkmale mittels eines jeweiligen Feature- Extractors extrahiert (108). Aus den Merkmalen mindestens zweier Feature-Extractor werden modalitätsunabhängige Merkmale mittels der Merkmalstransformationsein- heit (17) in extrahiert (109). Ferner kann das Verfahren das Klassifizieren (110) der modalitätsunabhängigen Merkmale mittels der Klassifizierungseinheit (18) umfassen, sodass eine Objektklassifizierung (111) durchgeführt werden kann.
Das Klassifizieren (110) kann umfassen, dass mindestens ein Feature-Vektor von der Merkmalsextraktionseinheit (13) zur Klassifizierungseinheit (18) weitergegeben wird (110a), wobei die Klassifizierungseinheit (18) den Feature-Vektor vorzugsweise verar- beitet (110b). Als Ergebnis wird vorzugsweise ein Bottle-Neck-Vektor erhalten. Der Feature-Vektor, der erhaltene oder bevorzugterweise der überarbeitete, wird jeweils mit den zuvor ermittelten Durchschnitts-Feature-Vektoren verglichen (110c). Ferner können zum Vergleich Abweichungsgrenzen zu den Durchschnitts-Feature-Vektoren festgelegt werden (llOd). Vorzugweise werden die jeweilige Kosinusähnlichkeit zwi- schen dem Feature-Vektor und den Durchschnitts-Feature-Vektoren ermittelt (llOe). Bei Unterschreiten einer der zuvor festgelegten Abweichungsgrenzen erfolgt insbe- sondere die Ausgabe (HOf) des entsprechenden Klassenlabels, während bei Über- schreiten aller zuvor festgelegten Abweichungsgrenzen die Ausgabe (110g) erfolgt, dass kein Objekt der Klassen erkannt wurde. Dies geschieht vor allem mittels eines Entscheidungsmoduls (18a) der Klassifizierungseinheit (18).
Figur 2 zeigt eine schematische Ansicht einer erfindungsgemäßen Vorrichtung (10). Die Vorrichtung (10) umfasst eine Sendeeinheit (11) und eine Empfangseinheit (12). Insbesondere umfasst die Empfangseinheit (12) jeweils mindestens einen Sensor pro Sensormodalität, wobei die Sendeeinheit (11) jeweils die entsprechenden Sendemo- dule zur Erzeugung der Messdaten zum Aussenden der Signale zur Erzeugung der Messdaten der jeweiligen Sensormodalität aufweisen kann. Beispielsweise kann die Sendeeinheit (11) jeweils eine Quelle zum Aussenden von Lidar- und Radar- Messdaten aufweisen.
Die in der Empfangseinheit (12) empfangenen Messdaten werden der Merkmalsext- raktionseinheit (13) bereitgestellt. Die Merkmalsextraktionseinheit (13) umfasst einen Feature-Extractor (14) für Messdaten des Sensors der ersten Sensormodalität, einen
Feature-Extractors (15) für Messdaten des Sensors der zweiten Sensormodalität und einen Feature-Extractors (16) für Messdaten des Sensors der dritten Sensormodalität. Die jeweiligen Feature-Extractor (14, 15, 16) extrahieren Merkmale, die der Merk- malstransformationseinheit (17) bereitgestellt werden, die daraus modalitätsunab- hängige Merkmale generiert. Ferner weist die Vorrichtung eine Klassifizierungseinheit (18) auf, die die modalitätsunabhängigen Merkmale der Merkmalstransformations- einheit (17) klassifiziert. Die Klassifizierungseinheit (18) umfasst ein Entscheidungs- modul (18a).
In Figur 3 ist eine schematische Darstellung einer Merkmalsextraktionseinheit (13) gezeigt. Die Merkmalsextraktionseinheit (13) umfasst einen Feature-Extractor (14) für Messdaten des Sensors der ersten Sensormodalität und einen Feature-Extractor (15) für Messdaten des Sensors der zweiten Sensormodalität.
Die Feature-Extractor erhalten modalitätsabhängigen Input (19). Der Feature- Extractor (14) für die Messdaten der ersten Sensormodalität ist dazu ausgebildet aus Messdaten der ersten Sensormodalität, nämlich aus einer Lidar Punktwolke (21), ei- nen Punktwolken Code (23) zu erzeugen. Der Feature-Extractor (15) für die Messda- ten der zweiten Sensormodalität ist dazu ausgebildet aus Messdaten der zweiten Sen- sormodalität, nämlich aus Bilddaten (20) einen Image Code (22) zu erzeugen.
Die Merkmalsextraktionseinheit (13) umfasst ferner eine Merkmalstransformations- einheit (17). Die Merkmalstransformationseinheit (17) umfasst ein neuronales Netz- werk (17a) für die Messdaten der ersten Sensormodalität und ein neuronales Netz- werk (17b) für die Messdaten der zweiten Sensormodalität. Als Input erhalten diese den jeweiligen Code der Feature-Extractor.
Die Merkmalstransformationseinheit (17) ist dazu ausgebildet modalitätsunabhängige Merkmale (24) zu erkennen. Diese leben in einem gemeinsamen Feature Raum (26). Ferner kann die Merkmalstransformationseinheit (17) modalitätsabhängige Merkmale (25) ausgeben, die in eigenen Feature Räumen leben, und zwar in einem Feature Raum (27) für modalitätsabhänge Merkmale der ersten Sensormodalität und einen Feature Raum (28) für modalitätsabhänge Merkmale der zweiten Sensormodalität.
In Figur 4 ist ein Feature-Extractor (14) und Decoder (30) für die erste Sensormodalität und ein Feature-Extractor (15) und ein Decoder (31) für die zweite Sensormodalität zum Anlernen der Feature-Extractor gezeigt. Der Decoder (30) für die erste Sensor- modalität gibt einen Ouput (30a), nämlich eine Punktwolke, aus, die zum Anlernen des Feature-Extractors (14) mit dem modalitätsabhängigen Input (19) des Feature- Extractors (14) verglichen wird. Der Decoder (31) für die zweite Sensormodalität gibt einen Ouput (31a), nämlich Bilddaten, aus, die zum Anlernen des Feature-Extractors (15) mit dem modalitätsabhängigen Input (19) des Feature-Extractors (15) verglichen wird.
Figur 5 stellt eine Anordnung zum Anlernen der Merkmalstransformationseinheit (17) dar, umfassend eine Merkmalsextraktionseinheit (13) gemäß Figur 3 dar, eine Merk- malsrücktransformationseinheit (29) und Decoder, nämlich eine Decoder (30) für die erste Sensormodalität und einen Decoder (31) für die zweite Sensormodalität. Die Merkmalsrücktransformationseinheit (29) umfasst ein neuronales Netzwerk (29a) für die erste Sensormodalität und ein neuronales Netzwerk (29b) für die zweite Sensor- modalität. Als Input erhalten diese die modalitätsunabhängigen Merkmale (24) und optional die modalitätsabhängigen Merkmale (25) der Merkmalstransformationsein- heit (17).
Die Merkmalsrücktransformationseinheit (29) ist dazu ausgebildet aus dem Input er- neut Code zu erzeugen und zwar einen Image Code (32) und einen Punktwolken Code (33). Aus den entsprechenden Codes können die jeweiligen Decoder wieder modali- tätsabhängige Daten erzeugen. Der Decoder (31) für die zweite Sensormodalität er- zeugt einen Output (31a), der wieder generierten Bilddaten entspricht. Der Decoder (30) für die erste Sensormodalität erzeugt einen Output (30a), der einer wieder gene- rierten Lidar Punktwolke entspricht.
Zum Anlernen der Merkmalstransformationseinheit (17) werden sowohl die Ähnlich- keit der modalitätsunabhängigen Merkmale (24) als auch eine Ähnlichkeit der wieder generierten Codes als auch der erneut generierten modalitätsabhängigen Daten be- rücksichtigt.
Beispiele der neuronalen Netzwerke
Der Feature-Extractor für die zweite Sensormodalität kann wie folgt aufgebaut sein:
• Input <- Bild (batchsize x 192 x 256 x 3)
• Layer 1: Convolution Layer (Faltungslayer)
o Kernelsize: 3x3
o Stride: lxl
o Anzahl Output Featuremaps: 16
o Aktivierungsfunktion: Rectified Linear Unit (ReLU)
o Batchnormalisierung
o Padding: Zero-padding
• Layer 2: Convolution Layer (Faltungslayer)
o Kernelsize: 3x3
o Stride: lxl
o Anzahl Output Featuremaps: 16
o Aktivierungsfunktion: ReLU
o Batchnormalisierung
o Padding: Zero-padding
• Layer 3: Convolution Layer (Faltungslayer)
o Kernelsize: 3x3
o Stride: 2x2
o Anzahl Output Featuremaps: 32
o Aktivierungsfunktion: ReLU
o Batchnormalisierung
o Padding: Zero-padding
• Layer 4: Convolution Layer (Faltungslayer)
o Kernelsize: 3x3
o Stride: lxl
o Anzahl Output Featuremaps: 32
o Aktivierungsfunktion: ReLU
o Batchnormalisierung
o Padding: Zero-padding
• Layer 5: Convolution Layer (Faltungslayer)
o Kernelsize: 3x3
o Stride: lxl
o Anzahl Output Featuremaps: 32 o Aktivierungsfunktion: ReLU o Batchnormalisierung
o Padding: Zero-padding
• Layer 6: Convolution Layer (Faltungslayer) o Kernelsize: 3x3
o Stride: 2x2
o Anzahl Output Featuremaps: 64 o Aktivierungsfunktion: ReLU o Batchnormalisierung
o Padding: Zero-padding
• Layer 7: Convolution Layer (Faltungslayer) o Kernelsize: 3x3
o Stride: lxl
o Anzahl Output Featuremaps: 64 o Aktivierungsfunktion: ReLU o Batchnormalisierung
o Padding: Zero-padding
• Layer 8: Convolution Layer (Faltungslayer) o Kernelsize: 3x3
o Stride: lxl
o Anzahl Output Featuremaps: 64 o Aktivierungsfunktion: ReLU o Batchnormalisierung
o Padding: Zero-padding
• Layer 9: Convolution Layer (Faltungslayer) o Kernelsize: 3x3
o Stride: 2x2
o Anzahl Output Featuremaps: 128 o Aktivierungsfunktion: ReLU o Batchnormalisierung
o Padding: Zero-padding
• Layer 10: Convolution Layer (Faltungslayer) o Kernelsize: 3x3
o Stride: lxl
o Anzahl Output Featuremaps: 128 o Aktivierungsfunktion: ReLU o Batchnormalisierung
o Padding: Zero-padding
• Layer 11: Convolution Layer (Faltungslayer) o Kernelsize: 3x3
o Stride: lxl
o Anzahl Output Featuremaps: 128 o Aktivierungsfunktion: ReLU o Batchnormalisierung
o Padding: Zero-padding
• Layer 12: Convolution Layer (Faltungslayer) o Kernelsize: 5x5
o Stride: 2x2
o Anzahl Output Featuremaps: 256 o Aktivierungsfunktion: ReLU o Batchnormalisierung
o Padding: Zero-padding
• Layer 13: Convolution Layer (Faltungslayer) o Kernelsize: 3x3
o Stride: lxl
o Anzahl Output Featuremaps: 256 o Aktivierungsfunktion: ReLU o Batchnormalisierung
o Padding: Zero-padding
• Layer 14: Convolution Layer (Faltungslayer) o Kernelsize: 3x3
o Stride: lxl
o Anzahl Output Featuremaps: 256 o Aktivierungsfunktion: ReLU o Batchnormalisierung
o Padding: Zero-padding
• Layer 15: Convolution Layer (Faltungslayer) o Kernelsize: 5x5
o Stride: 2x2
o Anzahl Output Featuremaps: 512 o Aktivierungsfunktion: ReLU
o Batchnormalisierung
o Padding: Zero-padding
• Layer 16: Convolution Layer (Faltungslayer) o Kernelsize: 3x3
o Stride: lxl
o Anzahl Output Featuremaps: 512 o Aktivierungsfunktion: ReLU
o Batchnormalisierung
o Padding: Zero-padding
• Layer 17: Convolution Layer (Faltungslayer) o Kernelsize: 3x3
o Stride: lxl
o Anzahl Output Featuremaps: 256 o Aktivierungsfunktion: ReLU
o Batchnormalisierung
o Padding: Zero-padding
• Layer 18: Convolution Layer (Faltungslayer) o Kernelsize: 3x3
o Stride: lxl
o Anzahl Output Featuremaps: 256 o Aktivierungsfunktion: ReLU
o Batchnormalisierung
o Padding: Zero-padding
• Layer 19: Convolution Layer (Faltungslayer) o Kernelsize: 5x5
o Stride: 2x2
o Anzahl Output Featuremaps: 128 o Aktivierungsfunktion: Keine
o Batchnormalisierung
o Padding: Zero-padding
• Output: Batchsize x code (= Batchsize x 1536)
Ein entsprechender Decoder für das Anlernen des Feature-Extractors kann wie folgt aufgebaut sein:
• Input <- Batchsize x code
• Layer 1: Reshapen zu Batchsize x 3 x 4 x 128
• Layer 2: .Transponierte Convolution' = gelerntes upsampling
o Kernel Size: 5x5
o Padding: zero padding
o Stride: 2x2
o Feature Maps: 256
o Aktivierungsfunktion: ReLU
• Layer 3: Convolution
o Kernel Size: 3x3
o Padding: zero padding
o Stride: lxl
o Feature Maps: 256
o Aktivierungsfunktion: ReLU
• Layer 4: Convolution
o Kernel Size: 3x3
o Padding: zero padding
o Stride: lxl
o Feature Maps: 512
o Aktivierungsfunktion: ReLU
• Layer 5: .Transponierte Convolution'
o Kernel Size: 5x5
o Padding: zero padding
o Stride: 2x2
o Feature Maps: 512
o Aktivierungsfunktion: ReLU
• Layer 6: Convolution
o Kernel Size: 3x3
o Padding: zero padding
o Stride: lxl
o Feature Maps: 256
o Aktivierungsfunktion: ReLU
• Layer 7: Convolution o Kernel Size: 3x3
o Padding: zero padding o Stride: lxl
o Feature Maps: 256
o Aktivierungsfunktion: ReLU
• Layer 8: .Transponierte Convolution' o Kernel Size: 5x5
o Padding: zero padding o Stride: 2x2
o Feature Maps: 256
o Aktivierungsfunktion: ReLU
• Layer 9: Convolution
o Kernel Size: 3x3
o Padding: zero padding o Stride: lxl
o Feature Maps: 128
o Aktivierungsfunktion: ReLU
• Layer 10: .Transponierte Convolution' o Kernel Size: 5x5
o Padding: zero padding o Stride: 2x2
o Feature Maps: 128
o Aktivierungsfunktion: ReLU
• Layer 11: Convolution
o Kernel Size: 3x3
o Padding: zero padding o Stride: lxl
o Feature Maps: 64
o Aktivierungsfunktion: ReLU
• Layer 12: .Transponierte Convolution' o Kernel Size: 5x5
o Padding: zero padding o Stride: 2x2
o Feature Maps: 64
o Aktivierungsfunktion: ReLU
• Layer 13: Convolution
o Kernel Size: 3x3
o Padding: zero padding
o Stride: lxl
o Feature Maps: 32
o Aktivierungsfunktion: ReLU
• Layer 14: .Transponierte Convolution'
o Kernel Size: 3x3
o Padding: zero padding
o Stride: 2x2
o Feature Maps: 32
o Aktivierungsfunktion: ReLU
• Layer 15: Convolution
o Kernel Size: 3x3
o Padding: zero padding
o Stride: lxl
o Feature Maps: 1
o Aktivierungsfunktion: Keine
• Output: Batchsize x 192 x 256 x 1 (= Grauwertbild des Input Bildes)
Dabei ist unter dem Begriff „Transponierte Convolution" keine Transposition einer Matrix im mathematischen Sinne zu verstehen, sondern es wird ein upsampling ge- lernt. In anderen Worten wird ein .Zoomen' auf Originalbildgröße gelernt.
Das Anlernen des Feature-Extractors und des Decoders kann durch folgende Parame- ter bestimmt sein:
• Optimizer: AdamOptimizer
• LearningRate: 0.0001
o Exponentielles decay: Staircase
■ Die Learningrate nimmt wie eine Stufenfunktion ab. Nach 200000 Schritten nimmt sie um die Hälfte ab. bis sie ein Minimum von 0.00001 erreicht hat. wonach sie konstant bleibt
• Batchsize: 32
• Initialisierung von allen Variablen: Xavier Initialisierung
• Lossfunktion: mean squared error
• Gesamt Epochen zu lernen: 550
Der Feature-Extractor für die erste Sensormodalität kann wie folgt aufgebaut sein:
• Input <- Batchsize x 2048 x 3
• Layer 0:
o Layer 0.1: Multi Layer Perceptrons (MLP)
■ Anzahl Funktionen: 64
■ Kernel 1x3
■ Batchnormalisierung
■ Aktivierungsfunktion: ReLU
o Layer 0.2: MLPs
■ Anzahl Funktionen: 128
■ Kernel lxl
■ Batchnormalisierung
■ Aktivierungsfunktion: ReLU
o Layer 0.3: MLPs
■ Anzahl Funktionen: 1024
■ Kernel lxl
■ Batchnormalisierung
■ Aktivierungsfunktion: ReLU
o Layer 0.4: Fully Connected
■ Output: 512
■ Batchnormalisierung
■ Aktivierungsfunktion: ReLU
o Layer 0.5: Fully Connected
■ Output: 256
■ Batchnormalisierung
■ Aktivierungsfunktion: ReLU
o Layer 0.5: Fully Connected
■ Output: 9
■ Keine Aktivierungsfunktion
■ Initialisierung der Variablen mit 0
o Layer 0.6: Addition mit Einheitsmatrix [1 00 0 1 0 0 0 1] o Output: Batchsize x 3 x 3
• Layer 1: Input * Output Layer 0
• Layer 2: MLPs
o Anzahl Funktionen: 64
o Kernel 1x3
o Batchnormalisierung
o Aktivierungsfunktion: ReLU
• Layer 3: MLPs
o Anzahl Funktionen: 64
o Kernel lxl
o Batchnormalisierung
o Aktivierungsfunktion: ReLU
• Layer 4: Lernen von Matrix für Multiplikation
o Layer 4.1: MLP
■ Anzahl Funktionen: 64
■ Kernel lxl
■ Batchnormalisierung
■ Aktivierungsfunktion: ReLU
o Layer 4.2: MLPs
■ Anzahl Funktionen: 128
■ Kernel lxl
■ Batchnormalisierung
■ Aktivierungsfunktion: ReLU
o Layer 4.3: MLPs
■ Anzahl Funktionen: 1024
■ Kernel lxl
■ Batchnormalisierung
■ Aktivierungsfunktion: ReLU
o Layer 4.4: Fully Connected
■ Output: 512
■ Batchnormalisierung
■ Aktivierungsfunktion: ReLU
o Layer 4.5: Fully Connected
■ Output: 256
■ Batchnormalisierung
■ Aktivierungsfunktion: ReLU
o Layer 4.5: Fully Connected
■ Output: 4096
■ Keine Aktivierungsfunktion
■ Initialisierung der Variablen mit 0
o Layer 4.6: Addition mit Einheitsmatrix (Größe 64) o Output: Batchsize x 64 x 64
• Layer 5: Layer 3 * Output Layer 4
• Layer 6: MLPs
o Anzahl Funktionen: 64
o Kernel lxl
o Batchnormalisierung
o Aktivierungsfunktion: ReLU
• Layer 7: MLPs
o Anzahl Funktionen: 128
o Kernel lxl
o Batchnormalisierung
o Aktivierungsfunktion: ReLU
• Layer 8: MLPs
o Anzahl Funktionen: 1536
o Kernel lxl
o Batchnormalisierung
o Aktivierungsfunktion: ReLU
• Output: Batchsize x code (= 1536)
Der Decoder für die erste Sensormodalität kann wie folgt aufgebaut sein:
• Input <- Batchsize x code
• Layer 1: Fully Connected
o Output: 2048
o Aktivierungsfunktion: ReLU
• Layer 2: Dropout
o Drop out rate: 0.2
• Layer 3: Fully Connected
o Output: 2048
o Aktivierungsfunktion: ReLU
• Layer 4: Dropout
o Drop out rate: 0.2
• Layer 5: Fully Connected
o Output : 6144 (=2048 * 3)
o Aktivierungsfunktion: Keine
• Output: Batchsize x 2048 x 3 (= gleiche Größe der Input Punktwolke)
Das Anlernen des Feature-Extractors und des Decoders für die erste Sensormodalität kann durch folgende Parameter bestimmt sein:
• Optimizer: AdamOptimizer
• LearningRate: 0.0001
o Exponentielles decay: Staircase
■ Die Learningrate nimmt wie eine Stufenfunktion ab. Nach 200000 Schritten nimmt sie um die Hälfte ab, bis sie ein Minimum von 0.00001 erreicht hat, wonach sie konstant bleibt
• Batchsize: 32
• Initialisierung von allen Variablen (ausgenommen Initialisierung mit 0): Xavier Initialisierung
• Lossfunktion: Chamfer Distanz zwischen der Input Punktwolke und generierten Output Punktwolke des Decoders
• Gesamt Epochen zu lernen: 550
Die Netzwerke der Merkmalstranformationseinheit können alle wie folgt aufgebaut sein:
• Input <- Batchsize x code (= entweder Image Code oder Punktwolken Code) = Batchsize x 1536
• Layer 1: Fully Connected
o Output: 2048
o Aktivierungsfunktion: ReLU
• Layer 2: Dropout
o Drop out rate: 0.2
• Layer 3: Fully Connected
o Output: 1400
o Aktivierungsfunktion: ReLU
• Layer 4: Dropout
o Drop out rate: 0.2
• Layer 5: Fully Connected:
o Output: 1400
o Aktivierungsfunktion: keine
• Output: Code Batchsize x 1400
o Code für Modalitätenspezifische Features: Batchsize x [0:700] o Code für gemeinsame Features: Batchsize x [700:1400]
Die Netzwerke der Merkmalsrücktranformationseinheit können alle wie folgt aufge- baut sein:
• Optional: l_spec =lnput Code für Modalitätenspezifische Features
• l_common = Code für gemeinsame Features
• Optional: l_spec:
o Layer.l: Fully connected (input modalitätsspezifisch)
■ Output: 512
■ Aktivierungsfunktion: ReLU
o Layer 2: Dropout
■ Drop out rate: 0.2
o Layer 3: Fully Connected
■ Output: 1024
■ Aktivierungsfunktion: ReLU
o Layer 4: Dropout
■ Drop out rate: 0.2
o Layer 5: Fully Connected:
■ Output: 1536
■ Aktivierungsfunktion: keine
o Output modalitätenspezifische features: Batchsize x 1536
• l_common:
o Layer.l: Fully connected (input gemeinsame Features)
■ Output: 512
■ Aktivierungsfunktion: ReLU
o Layer 2: Dropout
■ Drop out rate: 0.2
o Layer 3: Fully Connected
■ Output: 1024
■ Aktivierungsfunktion: ReLU
o Layer 4: Dropout
■ Drop out rate: 0.2
o Layer 5: Fully Connected:
■ Output: 1536
■ Aktivierungsfunktion: keine
o Output gemeinsame features: Batchsize x 1536
• Output = Output gemeinsame features + optional Output spezifische features
Das Anlernen der Merkmalstranformationseinheit kann durch folgende Parameter bestimmt sein:
• Optimizer: AdamOptimizer
• LearningRate: 0.001
o Exponentielles decay: Staircase
■ Die Learningrate nimmt wie eine Stufenfunktion ab. Nach 200000 Schritten nimmt sie um den Faktor 0.3 ab, bis sie ein Minimum von 0.00001 erreicht hat, dann bleibt sie konstant
• Batchsize: 32
• Initialisierung von allen Variablen: Xavier Initialisierung
• Gesamt Epochen zu lernen: 400
• Lossfunktion:
o Löss auf den ersten 200 Epochen
■ 1) Kosinusähnlichkeit der gemeinsamen Merkmale von beiden Modalitäten
■ 2) Mean squared error zwischen 'echtem Image Code' und wieder zurücktransformierten Image Code
■ 3) Mean squared error zwischen 'echtem Punktwolken Code' und wieder zurücktransformierten Punktwolken Code
■ LÖSS = 1) + 2) + 3)
o Löss auf den letzten 200 Epochen
■ 1) Kosinusähnlichkeit der gemeinsamen Merkmale von beiden Modalitäten
■ 2) Mean squared error zwischen 'echten Bilddaten' und generier- ten Bilddaten
■ 3) Chamfer Distanz zwischen 'echter Punktwolke' und generierter Punktwolke
■ LÖSS = 1) + 2) + 3)
Das neuronale Netzwerk der Klassifizierungseinheit kann wie folgt aufgebaut sein:
• Layer 1: Fully Connected
o Output: 1024
o Aktivierungsfunktion: ReLU
• Layer 2: Fully Connected
o Output: 1024
o Aktivierungsfunktion: ReLU
• Layer 3: Fully Connected
o Output: 2048
o Aktivierungsfunktion: ReLU
• Layer 3: Fully Connected = bottle neck vector
o Output: #Anzahl zu klassifizierender Klassen
o Aktivierungsfunktion: Keine
o Von diesem Vektor wird der Durchschnittswert der einzelnen Klassen abgespeichert und als Vergleich herangezogen
Das Anlernen der Klassifizierungseinheit kann durch die folgenden Parameter be- stimmt sein:
• Lossfunktion: Softmax Cross Entropy
• Optimizer: AdamOptimizer
• LearningRate: 0.01
o Exponentielles decay: Die Learningrate nimmt wie eine Stufenfunktion ab. Nach 200000 Schritten schrumpft sie um den Faktor 0.7, bis sie ein Minimum von 0.00001 erreicht hat, dann bleibt sie konstant.
• Batchsize: 32
• Initialisierung von allen Variablen: Xavier Initialisierung
• Gesamt Epochen zu lernen: 50
Bezugszeichenliste
101 Anlernen der Merkmalstransformationseinheit
102 Anlernen der Klassifizierungseinheit
102a Bestimmen von Klassen
102b Ermitteln und Abspeichern eines Durschnitts-Feature-Vektors pro Klasse
103 Erzeugen von Messdaten eines Sensors einer ersten Sensormodalität
104 Erzeugen von Messdaten eines Sensors einer zweiten Sensormodalität
105 Erzeugen von Messdaten eines Sensors einer dritten Sensormodalität
106 Bereitstellen von Messdaten für die Merkmalsextraktionseinheit
107 Extrahieren von modalitätsunabhängigen Merkmalen
108 Extrahieren von Merkmalen mittels eines jeweiligen Feature-Extractors
109 Extrahieren von modalitätsunabhängigen Merkmale mittels der Merkmals- transformationseinheit
110 Klassifizieren der modalitätsunabhängigen Merkmale mittels der Klassifizie- rungseinheit
110a Weitergeben mindestens eines Feature-Vektors von der Merkmalsextraktions- einheit zur Klassifizierungseinheit
110b Verarbeitung des Feature-Vektors mittels der Klassifizierungseinheit
110c jeweiliger Vergleich des Feature-Vektors mit einem zuvor ermittelten Durch- schnitts-Feature-Vektor pro Klasse
llOd Festlegen von Abweichungsgrenzen
llOe Ermitteln der jeweiligen Kosinusähnlichkeit zwischen dem Feature-Vektor und den Durchschnitts-Feature-Vektoren
HOf bei Unterschreiten einer zuvor festgelegten Abweichungsgrenze Ausgabe des entsprechendes Klassenlabels
110g bei Überschreiten aller zuvor festgelegten Abweichungsgrenzen Ausgabe, dass kein Objekt der Klassen erkannt wurde
111 Objektklassifizierung
112 Anlernen der Feature-Extractoren
10 Vorrichtung
11 Sendeeinheit
12 Empfangseinheit
13 Merkmalsextraktionseinheit
Feature-Extractor für Messdaten des Sensors der ersten Sensormodalität
Feature-Extractor für Messdaten des Sensors der zweiten Sensormodalität
Feature-Extractor für Messdaten des Sensors der dritten Sensormodalität
Merkmalstransformationseinheit
a neuronales Netzwerk für die erste Sensormodalität
b neuronales Netzwerk für die zweite Sensormodalität
Klassifizierungseinheit
a Entscheidungsmodul
modalitätsabhängiger Input
Bild
Lidar Punktwolke
Image Code des Feature-Extractors
Punktwolken Code des Feature-Extractors
modalitätsunabängige Merkmale
modalitätsabhängige Merkmale
gemeinsamer Feature Raum
Feature Raum für modalitätsabhänge Merkmale für die erste Sensormodalität
Feature Raum für modalitätsabhänge Merkmale für die zweite Sensormodalität
Merkmalsrücktransformationseinheit
a neuronales Netzwerk für die erste Sensormodalität
b neuronales Netzwerk für die zweite Sensormodalität
Decoder für die erste Sensormodalität
a Output des Decoders für die erste Sensormodalität
Decoder für die zweite Sensormodalität
a Output des Decoders für die zweite Sensormodalität
Image Code der Merkmalsrücktransformationseinheit
Punktwolken Code der Merkmalsrücktransformationseinheit