-
Die Erfindung betrifft ein Verfahren zum Initialisieren eines Tracking-Algorithmus für luft- und/oder raumfahrttechnische Zielobjekte, wobei eine 3D-Punktewolke des Zielobjekts erzeugt und iterativ mithilfe eines 3D-Modells des Zielobjekts eine räumliche Lage des Zielobjekts bestimmt wird. Außerdem betrifft die Erfindung ein Verfahren zum Trainieren eines künstlichen neuronalen Netzwerks zum Initialisieren eines Tracking-Algorithmus für luft- und/oder raumfahrttechnische Zielobjekte. Außerdem betrifft die Erfindung ein Computerprogrammprodukt, ein computerlesbares Speichermedium und ein Datenträgersignal zur Ausführung eines derartigen Initialisierungsverfahrens und/oder eines derartigen Trainingsverfahrens. Außerdem betrifft die Erfindung eine Vorrichtung zur Datenverarbeitung.
-
Die Veröffentlichungen „Automatic Tracking Initialization from TriDAR data for Autonomous Rendezvous & Docking, S. Ruel1, Denis Quellet1, 2Timothy Johnson Luu, 2Denis Laurendeau, 1Neptec Design Group, 2¬Laval University“ und „Fast Initial Pose Estimation of Spacecraft from LiDAR Point Cloud Data, F. Rems1, J. A. Moreno Gonzales1, T. Boge1, S. Tuttas2, U. Stilla, 1DLR, 2TU München“ betreffen Erst-Initialisierungsverfahren für 6DOF-Tracking-Algorithmen mithilfe des Polygonal-Aspect-Hashing-Verfahrens (PAH).
-
Dazu wird aus einer 3D-Punktwolke wird zunächst ein einzelner Scan-Polygonzug extrahiert und nachfolgend mithilfe eines Algorithmus in einem a priori vorhandenen 3D-Referenzmodell eines Zielobjektes ein ähnliches korrespondierendes Match-Polygon ermittelt. Das Verfahren basiert auf einer Suche innerhalb einer Parametertabelle. Ausgehend von einzelnen Referenzpunkten innerhalb des 3D-Referenzmodells werden alle weiteren Modellpunkte nach beispielsweise Distanz und Raumrichtung sortiert. Basierend auf geometrischen Eigenschaften des Scan-Polygons wird nachfolgend innerhalb dieser Tabelle gesucht, bis ein geeigneter Match-Polygon Kandidat gefunden ist. Auf Basis beider Polygone wird nachfolgend eine relative Transformation berechnet. Über beispielsweise einen mittleren Fehler zwischen transformiertem Scan und Modell wird nachfolgend eine Aussage über einen Erfolg der Suche getroffen. Bei Erfolg, wird ein Iterative-Closest-Point-Algorithmus (ICP) mit dieser Lösung initialisiert. Bei Misserfolg, startet die Suche mit einem neuen Scan-Polygon oder mit anderen Ausgangs-Referenzpunkten in der Parametertabelle. Zusätzlich zu Distanzen und Raumrichtungen kann die Tabelle um weitere Eigenschaften erweitert werde, um die Suche zu optimieren.
-
Die Veröffentlichung „A model-based 3D template matching technique for pose acquisition of an uncooperative space object, R. Opromolla, G. Fasano, G. Rufino, M. Grassi, University of Naples“ betrifft ein Template-Matching-Verfahren zur Initialisierung eines ICP-Algorithmus. Es werden hierbei Modellansichten in Form von 3D Punktwolken des Referenzmodells erstellt. Diese stehen einem On-Board-Rechner zur Verfügung und können für einen point-to-point-ICP-Algorithmus genutzt werden, um einen mittleren Fehler zwischen 3D-Template und Scan zu berechnen. Als Positionsschätzung wird überwiegend der Mittelwert des Scans genutzt. Die Lage Information des Templates mit dem geringsten Fehler wird anschließend zur Initialisierung des 6DOF-Tracking-ICP-Algorithmus herangezogen.
-
Aus der Druckschrift
EP 2 927 844 A1 ist ein Verfahren bekannt zur Positions- und Lagebestimmung von Objekten, insbesondere von unkooperativen Objekten, wobei ein 3D-Sensor Daten eines Zielobjektes liefert, die mit den in einer Modelldatenbank gespeicherten Daten des Zielobjektes verglichen werden und die für eine initiale Positions- und Lageschätzung sowie eine nachgeschaltete genauere Positions- und Lageschätzung des Zielobjektes verwendet werden.
-
Der Erfindung liegt die Aufgabe zugrunde, eingangs genannte Verfahren zu verbessern. Außerdem liegt der Erfindung die Aufgabe zugrunde, eingangs genannte Computerprogrammprodukte bereitzustellen. Außerdem liegt der Erfindung die Aufgabe zugrunde, eine eingangs genannte Vorrichtung baulich und/oder funktional zu verbessern.
-
Die Aufgabe wird gelöst mit einem Verfahren mit den Merkmalen des Anspruchs 1. Außerdem wird die Aufgabe gelöst mit einem Verfahren mit den Merkmalen des Anspruchs 8. Außerdem wird die Aufgabe gelöst mit einem Computerprogrammprodukt mit den Merkmalen des Anspruchs 13, mit einem computerlesbaren Speichermedium mit den Merkmalen des Anspruchs 14 und mit einem Datenträgersignal mit den Merkmalen des Anspruchs 15. Außerdem wird die Aufgabe gelöst mit einer Vorrichtung mit den Merkmalen des Anspruchs 16. Vorteilhafte Ausführungen und Weiterbildungen der Erfindung sind Gegenstand der Unteransprüche.
-
Das Verfahren kann zur Durchführung in einem Raumflugkörper dienen. Der Raumflugkörper kann eine Raumstation, ein Raumfähre, ein Raumfahrzeug, eine Raumsonde oder ein Satellit sein. Das Verfahren kann zur Durchführung in einem Luftfahrzeug dienen. Das Luftfahrzeug kann ein Flugzeug sein. Das Verfahren kann während eines Betriebs des Raumflugkörpers oder des Luftfahrzeugs durchgeführt werden. Das Verfahren kann während in dem Raumflugkörper oder in dem Luftfahrzeug autonom durchgeführt werden. Das Verfahren kann ein computerimplementiertes Verfahren sein.
-
Der Tracking-Algorithmus kann zur Relativnavigation dienen. Der Tracking-Algorithmus kann zur Navigation eines Raumflugkörpers oder Luftfahrzeug relativ zu einem luft- und/oder raumfahrttechnischen Zielobjekt dienen. Der Tracking-Algorithmus kann zur Poseschätzung und/oder Poseverfolgung eines luft- und/oder raumfahrttechnischen Zielobjekts dienen. Die Poseschätzung kann eine Lageschätzung und/oder eine Positionsschätzung umfassen. Die Poseverfolgung kann eine Lageverfolgung und/oder eine Positionsverfolgung umfassen. Der Tracking-Algorithmus kann ein 6DOF-Tracking-Algorithmus sein. Der Tracking-Algorithmus kann Iterative-Closesd-Point-Algorithmen (ICP) nutzen. Der Tracking-Algorithmus kann von Scan zu Scan iterieren, wobei ein Scan jeweils mit einem Ergebnis eines vorangehenden Scans initialisiert werden kann.
-
Das luft- und/oder raumfahrttechnische Zielobjekt kann ein Raumflugkörper sein. Der Raumflugkörper kann eine Raumstation, ein Raumfähre, ein Raumfahrzeug, eine Raumsonde oder ein Satellit sein. Das luft- und/oder raumfahrttechnische Zielobjekt kann ein Luftfahrzeug sein. Das Luftfahrzeug kann ein Flugzeug sein. Das luft- und/oder raumfahrttechnische Zielobjekt kann wenigstens ein astronomisches Objekt sein. Das wenigstens eine astronomische Objekt kann eine Sonne, ein Planet oder ein Stern sein. Das luft- und/oder raumfahrttechnische Zielobjekt kann eine Konstellation mehrerer astronomischer Objekte sein. Das luft- und/oder raumfahrttechnische Zielobjekt kann unkooperativ sein. Das Zielobjekt kann sich bewegen. Das Zielobjekt kann taumeln. Das Zielobjekt kann um drei Achsen taumeln, Das Zielobjekt kann mit bis zu 2 bis 4 deg/s taumeln.
-
Die 3D-Punktwolken kann mithilfe eines Scanning-Verfahrens erzeugt werden. Das Scanning-Verfahren kann ein optisches Verfahren mit Laufzeitmessung sein. Das Scanning-Verfahren kann ein Laserscanning-Verfahren sein. Das Scanning-Verfahren kann ein Light-Detection-And-Ranging-Verfahren (LiDAR) sein. Das Scanning-Verfahren kann ein 3D-LiDAR-Verfahren sein. Das Scanning-Verfahren kann wiederholt durchgeführt werden. Mithilfe des Scanning-Verfahrens können wiederholt 3D-Punktwolken des Zielobjekts erzeugt werden. Die 3D-Punktwolken kann mithilfe eines Flash-LIDARs oder einer Stereo-Kamera erzeugt werden.
-
Die 3D-Punktwolke des Zielobjekts kann eine Menge von Punkten eines Vektorraums umfassen. Die Punkte können jeweils durch ihre Raumkoordinaten erfasst werden. Zu den Punkten können jeweils zusätzliche Attribute erfasst werden. Die 3D-Punktwolke des Zielobjekts kann während eines Betriebs des Raumflugkörpers oder des Luftfahrzeugs erzeugt werden. Die 3D-Punktwolke kann gespeichert werden.
-
Das 3D-Modell des Zielobjekts kann zuvor erstellt worden sein. Das 3D-Modell des Zielobjekts kann gespeichert sein. Das 3D-Modell des Zielobjekts kann in dem Raumflugkörper oder in dem Luftfahrzeug zur Verfügung stehen.
-
Die räumliche Lage des Zielobjekts kann in sechs Freiheitsgraden bestimmt werden. Die räumliche Lage des Zielobjekts kann durch Translation entlang dreier lotrechter Achsen und Rotation um die drei Achsen bestimmt werden.
-
Die Erstbestimmung kann dazu dienen eine räumliche Lage des Zielobjekts lösungsnah zu schätzen. Die Erstbestimmung kann dazu dienen eine räumliche Lage des Zielobjekts derart lösungsnah zu schätzen, dass bei einer Initialisierung des Tracking-Algorithmus mit einem Ergebnis der Erstbestimmung eine Konvergenz des Tracking-Algorithmus gewährleistet ist.
-
Zur Erstbestimmung kann aus der 3D-Punktewolke ein Scan-Polygon extrahiert werden. Das ermittelte Scan-Polygon kann an das künstliche neuronale Netzwerk übergeben werden. Mithilfe des künstlichen neuronalen Netzwerks kann aus dem 3D-Modell des Zielobjekts ein Match-Polygon ermittelt werden. Das Match-Polygon kann mit dem Scan-Polygon korrespondieren.
-
Mithilfe des künstlichen neuronalen Netzwerks können das Scan-Polygon und das Match-Polygon miteinander verglichen werden. Eine Zuordnung zwischen dem Scan-Polygon und dem Match-Polygon kann mithilfe des künstlichen neuronalen Netzwerks erfolgen. Eine Übereinstimmung zwischen dem Scan-Polygon und dem Match-Polygon kann qualitativ bewertet werden. Zur qualitativen Bewertung der Übereinstimmung kann eine relative Transformation zwischen dem Scan-Polygon und dem Match-Polygon ermittelt werden. Zur qualitativen Bewertung der Übereinstimmung kann ein Güteparameter verwendet werden. Als Güteparameter kann eine mittlere quadratische Abweichung (mean squared error, MSE) zwischen Scan und Modell dienen.
-
Der Tracking-Algorithmus kann mit dem Ergebnis der Erstbestimmung initialisiert werden, wenn die Übereinstimmung eine vorgegebene Mindestqualität aufweist. Andernfalls kann erneut aus der 3D-Punktewolke ein Scan-Polygon extrahiert werden. Das erneut ermittelte Scan-Polygon kann ebenfalls an das künstliche neuronale Netzwerk übergeben werden. Mithilfe des künstlichen neuronalen Netzwerks kann aus dem 3D-Modell des Zielobjekts erneut ein Match-Polygon ermittelt werden. Das Scan-Polygon und das Match-Polygon können erneut miteinander verglichen werden. Eine Übereinstimmung zwischen dem Scan-Polygon und dem Match-Polygon kann erneut qualitativ bewertet werden. Der Tracking-Algorithmus kann mit dem neuen Ergebnis der Erstbestimmung initialisiert werden, wenn die Übereinstimmung die vorgegebene Mindestqualität aufweist. Andernfalls kann der Vorgang wiederholt werden. Der Vorgang kann so oft wiederholt werden, bis ein Ergebnis der Erstbestimmung die vorgegebene Mindestqualität aufweist.
-
Als künstliches neuronales Netzwerk kann ein mehrschichtiges Feedforward-Netz verwendet werden. Als künstliches neuronales Netzwerk kann ein Netzwerk mit wenigstens zwei, insbesondere wenigstens drei, verdeckte Schichten verwendet werden. Als künstliches neuronales Netzwerk kann ein Netzwerk mit wenigstens 80, insbesondere wenigstens 100, Neuronen pro Schicht verwendet werden.
-
Mithilfe des Trainingsverfahrens kann das künstliche neuronale Netzwerk anhand der Trainingsdaten lernen. Gewichte zwischen einzelnen Neuronen können modifiziert werden. Lernregeln können die Art und Weise angeben, wie das künstliche neuronale Netzwerk Veränderungen vornimmt. Das Lernen kann als supervised learning (überwachtes bzw. beaufsichtigtes Lernen) erfolgen. Ein korrekter Output kann dann zum Optimieren der Gewichte vorgegeben werden. Das Lernen kann als unsupervised learning (nicht überwachtes bzw. unbeaufsichtigtes Lernen) erfolgen. Gewichtsveränderungen können dann in Abhängigkeit einer Ähnlichkeit der Gewichte mit Inputreizen ohne Vorgeben eines Outputs erfolgen.
-
Die Trainingsdaten können Scan-Polygone und Match-Polygone umfassen. Die Trainingsdaten mithilfe eines Trainingsdatengenerators erzeugt werden. Die Trainingsdaten können einen möglichen Parameterraum zur Ausführung eines nach wenigstens einem der Ansprüche 1 bis 7 repräsentieren.
-
Das künstliche neuronale Netzwerk kann getestet werden. Eine Leistungsfähigkeit des künstlichen neuronalen Netzwerks bewertet werden. Das künstliche neuronale Netzwerk kann trainiert werden, bis seine Leistungsfähigkeit ein vorgegebenes Mindestniveau aufweist.
-
Das Verfahren nach wenigstens einem der Ansprüche 1 bis 7 und/oder das Verfahren nach wenigstens einem der Ansprüche 8 bis 12 können/kann ein computerimplementiertes Verfahren sein.
-
Das Computerprogrammprodukt kann in installierbarer Form vorliegen. Das Computerprogrammprodukt kann auf einem Computer installiert sein. Das computerlesbare Speichermedium kann ein elektronisches, magnetisches, magneto-elektronisches, optisches oder opto-elektronisches Speichermedium sein. Das computerlesbare Speichermedium kann ein flüchtiger, nicht-flüchtiger semi-permanenter oder permanenter Speicher sein. Das computerlesbare Speichermedium kann ein, nicht rotierendes oder rotierendes Speichermedium sein. Das Datenträgersignal kann ein elektronisches, magnetisches, magneto-elektronisches, optisches oder opto-elektronisches Signal sein.
-
Mit „kann“ sind insbesondere optionale Merkmale der Erfindung bezeichnet. Demzufolge gibt es jeweils ein Ausführungsbeispiel der Erfindung, das das jeweilige Merkmal oder die jeweiligen Merkmale aufweist.
-
Mit der Erfindung wird eine zum Initialisieren eines Tracking-Algorithmus für luft- und/oder raumfahrttechnische Zielobjekte erforderliche Zeit verkürzt. Eine Berechnungsgeschwindigkeit wird erhöht. Eine Bestimmung einer räumlichen Lage des Zielobjekts wird mit einer derartigen Genauigkeit ermöglicht, dass ein Übergang vom Initialisieren zu einem stabilen 6DOF-Tracking gewährleistet ist. Eine Implementierbarkeit in einem FPGA wird ermöglicht oder verbessert. Eine Limitierung auf Prozessorstrukturen wird aufgehoben. Eine Komplexität und/oder ein Ressourcenbedarf werden/wird reduziert. Ein Speicherbedarf wird reduziert. Eine zu analysierende Datenmenge der 3D-Punktwolke wird reduziert. Eine Zuordnung über umfangreiche Parametertabellen entfällt. Ein Speicherungserfordernis umfangreicher Parametertabellen oder 2D/3D Templates entfällt. Eine Implementierung in FPGAs wird ermöglicht.
-
Nachfolgend werden Ausführungsbeispiele der Erfindung unter Bezugnahme auf Figuren näher beschrieben. Aus dieser Beschreibung ergeben sich weitere Merkmale und Vorteile. Konkrete Merkmale dieser Ausführungsbeispiele können allgemeine Merkmale der Erfindung darstellen. Mit anderen Merkmalen verbundene Merkmale dieser Ausführungsbeispiele können auch einzelne Merkmale der Erfindung darstellen.
-
Es zeigen schematisch und beispielhaft:
- 1 ein künstliches neuronales Netzwerk zum Initialisieren eines Tracking-Algorithmus für luft- und/oder raumfahrttechnische Zielobjekte,
- 2 einen Ablauf zum Trainieren eines künstlichen neuronalen Netzwerks zum Initialisieren eines Tracking-Algorithmus für luft- und/oder raumfahrttechnische Zielobjekte,
- 3 einen Ablauf zum Trainieren eines künstlichen neuronalen Netzwerks zum Initialisieren eines Tracking-Algorithmus für luft- und/oder raumfahrttechnische Zielobjekte durch Backpropagation und
- 4 einen Ablauf zum Initialisieren eines Tracking-Algorithmus für luft- und/oder raumfahrttechnische Zielobjekte.
-
1 zeigt ein künstliches neuronales Netzwerk 100 mit Neuronen, wie 101, zum Initialisieren eines Tracking-Algorithmus für luft- und/oder raumfahrttechnische Zielobjekte. Die Neuronen sind in 1 auch mit N bezeichnet. Die Neuronen können auch als Units bezeichnet werden. Das künstliche neuronale Netzwerk 100 umfasst Input-Units, die von der Außenwelt Signale empfangen können, Output-Units, die Signale an die Außenwelt weitergeben können, und Hidden-Units, die sich zwischen Input- und Output-Units befinden und eine interne Repräsentation der Außenwelt beinhalten. Der Tracking-Algorithmus wird beispielsweise in einem Raumfahrzeug ausgeführt und dient zum Erfassen und autonomen Verfolgen eines Zielobjekts, um eine Relativnavigation zwischen Raumfahrzeugen mittels eines 3D-LiDAR zu ermöglichen.
-
Mithilfe des 3D-LiDAR werden 3D-Punktwolken des zu verfolgenden Zielobjekts generiert. Die Punktwolken werden anschließend mittels geeigneter Bildverarbeitungsalgorithmen ausgewertet und die aktuelle Lage und Position des Zielobjektes wird berechnet. Hierfür werden Iterative-Closest-Point-Algorithmen (ICP) genutzt. Der ICP-Algorithmus ermittelt dabei in einem iterativen Verfahren und unter Nutzung eines 3D-Modells des Zielobjektes dessen relative Lage und Position. Voraussetzung für eine Konvergenz des ICP-Algorithmus ist eine geeignete Initialisierung des Verfahrens mittels einer groben Schätzung in der Nähe der Lösung. Zum Tracking eines Zielobjekts von Scan zu Scan wird hierfür jeweils das Ergebnis des vorherigen Scans zur Initialisierung genutzt. Beispielsweise wird ein Zielobjekt, das sich mit bis zu 5°/s bewegt, von dem 3D-LiDAR mit einer Frequenz von 2 bis 4 Hz gescannt.
-
Vorliegend wird eine initiale Lage- und Positionsschätzung des Zielobjektes aus 3D-Punktwolken mithilfe des künstlichen neuronalen Netzwerks 100 ermittelt. Das Ergebnis wird im Folgenden genutzt, um einen 6DOF-ICP-Tracking-Algorithmus zu initialisieren. Zur initialen Lage- und Positionsschätzung werden Scan-Polygone korrespondierenden Match-Polygonen in einem 3D-Modell des Zielobjekts zugeordnet. Das 3D-Modell des Zielobjekts dient insofern als Referenzmodell. Die Zuordnung erfolgt mithilfe des künstlichen neuronalen Netzwerks 100.
-
Zunächst wird ein Scan-Polygon, wie 102, aus einer 3D-Punktwolke 104 extrahiert. Scan-Polygone sind in 1 auch mit S1 bis S9 bezeichnet. Anschließend wird das Scan-Polygon 102 dem künstlichen neuronalen Netzwerk 100 übergeben, welches ein korrespondierendes Match-Polygon, wie 106, in dem 3D-Modell 108 des Zielobjekts berechnet. Match-Polygone sind in 1 auch mit M1 bis M9 bezeichnet. Ein gefundener Polynom-Kandidat wird genutzt, um eine relative Transformation zwischen Scan-Polygon 102 und Match-Polygon 106 zu berechnen. Anschließend wird der ICP-Algorithmus mit der gefundenen Lösung initialisiert und die Lösung durch wenige Iterationen verfeinert. Anhand eines Güteparameters wird nun entschieden, ob die gefundene Lösung als ausreichend angesehen wird oder nicht. Genutzt werden kann hierfür beispielsweise der Mean-Squared-Error (MSE) zwischen Scan und Modell. Falls die Lösung das definierte Kriterium nicht erfüllt, wird ein neues Scan-Polygon, wie 110, extrahiert und somit eine neue Iteration initiiert.
-
2 zeigt einen Ablauf 200 zum Trainieren eines künstlichen neuronalen Netzwerks, wie künstliches neuronales Netzwerk 100 gemäß 1, zum Initialisieren eines Tracking-Algorithmus für luft- und/oder raumfahrttechnische Zielobjekte.
-
Das Training des künstlichen neuronalen Netzwerks erfolgt mit geeigneten Trainingsdaten 202, sodass sich eine Leistungsfähigkeit des künstlichen neuronalen den über den trainierten Parameterraum erstreckt. Die Trainingsdaten 202 repräsentieren den möglichen Parameterraum, in dem das künstliche neuronale Netzwerk nach dem Training angewendet wird.
-
Die Trainingsdaten 202 werden mithilfe eines Trainingsdatengenerators 204 erzeugt und umfassen Scan-Polygone 206 zur Beaufschlagung der Input-Units des künstlichen neuronalen Netzwerks und entsprechende Match-Polygone 208, die als Signale der Output-Units des künstlichen neuronalen Netzwerks erwartet werden würden. Als Trainingsdatengenerator 204 dient beispielsweise ein virtuelles Testbed oder ein realer Sensor zur Erzeugung von 3D-Punktwolken anhand eines Modells.
-
Die erzeugten Trainingsdaten 202 werden zum Training 210 des künstlichen neuronalen Netzwerks verwendet. Nach erfolgreichem Training erfolgt eine Anwendung 212 des künstlichen neuronalen Netzwerks.
-
Das Training erfolgt mithilfe von Algorithmen basierend auf dem gemeinsamen Konzept der Backpropagation. Der Trainingsalgorithmus wird beendet, sobald das künstliche neuronale Netzwerk eine geforderte Performance Güte erreicht hat.
-
3 zeigt einen Ablauf 300 zum Trainieren eines künstlichen neuronalen Netzwerks, wie künstliches neuronales Netzwerk 100 gemäß 1, zum Initialisieren eines Tracking-Algorithmus für luft- und/oder raumfahrttechnische Zielobjekte durch Backpropagation.
-
Zunächst erfolgt zunächst eine Anwendung der Trainingsdaten 302, indem in einem Schritt 304 die Input-Units des künstlichen neuronalen Netzwerks mit einem Scan-Polygon i beaufschlagt werden, in einem Schritt 306 das künstliche neuronale Netzwerk angewendet wird, in einem Schritt 308 ein Match-Polygon i, das als Signal der Output-Units des künstlichen neuronalen Netzwerks erwartet werden würden, herangezogen wird und damit in einem Schritt 310 ein Fehler der tatsächlichen Signale der Output-Units des künstlichen neuronalen Netzwerks ermittelt wird. Die Anwendung der Trainingsdaten 302 wird für eine vorbestimmte Anzahl i von Trainingsdaten wiederholt. Beispielsweise beträgt die Anzahl der ca. 600 bis ca. 1400 Scan-Match Polygon-Paare, insbesondere ca. 1000 Scan-Match Polygon-Paare. Eine Auswahl der Trainingsdaten erfolgte gleichmäßig verteilt über den erforderlichen Parameterraum.
-
Nachfolgend wird in einem Schritt 312 eine Summe der bei der wiederholten Anwendung der Trainingsdaten 302 ermittelten Fehler der tatsächlichen Signale der Output-Units des künstlichen neuronalen Netzwerks gebildet und in einem Schritt 314 mit einem Gütekriterium verglichen.
-
Wenn das Gütekriterium nicht erfüllt ist, erfolgt eine Fehler-Backpropagation 316, beispielsweise mithilfe des Levenberg-Marquardt-Algorithmus, indem in einem Schritt 318 ein Fehler der tatsächlichen Signale der Output-Units des künstlichen neuronalen Netzwerks zu einem Match-Polygon i, das als Signal der Output-Units des künstlichen neuronalen Netzwerks erwartet werden würde, herangezogen wird, dieser Fehler in einem Schritt 320 von einem Output-Layer des künstlichen neuronalen Netzwerks zu einem Input-Layer des künstlichen neuronalen Netzwerks zurückgeführt wird und in einem Schritt 322 die einzelnen Gewichte der Neuronen des künstlichen neuronalen Netzwerks basierend auf einem Fehlergradienten angepasst werden. Die Fehler-Backpropagation 316 wird für die vorbestimmte Anzahl i von Trainingsdaten wiederholt. Nachfolgend wird erfolgt wieder eine Anwendung der Trainingsdaten 302 und ein Vergleich der ermittelten Fehler der tatsächlichen Signale der Output-Units des künstlichen neuronalen Netzwerks mit dem Gütekriterium (Schritt 314). Wenn das Gütekriterium erfüllt ist, erfolgt in einem Schritt 324 ein Abschluss des Trainings, es liegt ein trainiertes künstliches neuronales Netzwerk vor. Das trainierte künstliche neuronale Netzwerk ist beispielsweise Voll-Vermascht und weist zwei bis vier Hidden Layer, insbesondere drei Hidden Layer, sowie ca. 60 bis ca. 140 Neuronen pro Layer, insbesondere ca. 100 Neuronen pro Layer, auf.
-
Das trainierte künstliche neuronale Netzwerk wird in den in 4 gezeigten Ablauf 400 zum Initialisieren eines Tracking-Algorithmus für luft- und/oder raumfahrttechnische Zielobjekte integriert.
-
Zum Initialisieren des Tracking-Algorithmus wird aus einer 3D-Punkwolke 402 ein Scan-Polygon 404 extrahiert und dem trainierten künstlichen neuronalen Netzwerk 406 zugeführt. Nachfolgend wird eine relative Transformation 408 zwischen dem Scan-Polygon 404 und einem ermittelten Match-Polygon 410 ermittelt, einem ICP-Algorithmus 412 zugeführt und es wird ein Güteparameter 414 ermittelt. Dies wird iterativ durchgeführt, bis der Güteparameter 414 ein vorgegebenes Kriterium 416 erfüllt und eine Lösung 418 erreicht ist.
-
Zum Analysieren einer Leistungsfähigkeit des trainierten künstlichen neuronalen Netzwerks werden die in dem Trainingsdatengenerator erzeugten 3D-Punkwolken verwendet. Beispielsweise wird eine Initialisierung alle 500ms basierend auf 2-Hz-LiDAR-Punktwolken über drei volle Rotationsperioden des Zielobjektes aus unterschiedlichen Entfernungen simuliert.
-
Das vorliegende Verfahren zum Initialisieren eines Tracking-Algorithmus kann beispielsweise zum Tracking von Raumfahrzeugen mittels eines 3D-LiDAR sowie im terrestrischen Bereich zum Betanken von Flugzeugen in der Luft eingesetzt werden. Der Algorithmus kann beispielsweise zum Analysieren von LiDAR Daten oder zum Initialisieren eines Stereo-Kamera Systems verwendet werden. Der Algorithmus kann beispielsweise zum Erkennen von Sternenkonstellationen im Bereich Star-Tracker eingesetzt werden, indem ein Polygon bestehende aus erkannten Sternen durch einen Star-Tracker erhalten und diesen dann IDs in einem Sternenkatalog zugeordnet werden.
-
Bezugszeichenliste
-
- 100
- künstliches neuronales Netzwerk
- 102
- Scan-Polygon
- 104
- 3D-Punktwolke
- 106
- Match-Polygon
- 108
- 3D-Modell
- 110
- Scan-Polygon
- 200
- Ablauf
- 202
- Trainingsdaten
- 204
- Trainingsdatengenerator
- 206
- Scan-Polygone
- 208
- Match-Polygone
- 210
- Training
- 212
- Anwendung
- 300
- Ablauf
- 302
- Anwendung der Trainingsdaten
- 304
- Schritt
- 306
- Schritt
- 308
- Schritt
- 310
- Schritt
- 312
- Schritt
- 314
- Schritt
- 316
- Fehler-Backpropagation
- 318
- Schritt
- 320
- Schritt
- 322
- Schritt
- 324
- Schritt
- 400
- Ablauf
- 401
- Neuron
- 402
- 3D-Punkwolke
- 404
- Scan-Polygon
- 406
- trainiertes künstliches neuronales Netzwerk
- 408
- Transformation
- 410
- Match-Polygon
- 412
- ICP-Algorithmus
- 414
- Güteparameter
- 416
- Kriterium
- 418
- Lösung
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-