FR3078803A1 - Procédé d’application d’un algorithme de suivi et moyens pour sa mise en œuvre - Google Patents

Procédé d’application d’un algorithme de suivi et moyens pour sa mise en œuvre Download PDF

Info

Publication number
FR3078803A1
FR3078803A1 FR1902315A FR1902315A FR3078803A1 FR 3078803 A1 FR3078803 A1 FR 3078803A1 FR 1902315 A FR1902315 A FR 1902315A FR 1902315 A FR1902315 A FR 1902315A FR 3078803 A1 FR3078803 A1 FR 3078803A1
Authority
FR
France
Prior art keywords
neural network
artificial neural
target
polygon
concordance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1902315A
Other languages
English (en)
Other versions
FR3078803B1 (fr
Inventor
Christoph Schmitt
Johannes Both
Florian Kolb
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jena Optronik GmbH
Original Assignee
Jena Optronik GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jena Optronik GmbH filed Critical Jena Optronik GmbH
Publication of FR3078803A1 publication Critical patent/FR3078803A1/fr
Application granted granted Critical
Publication of FR3078803B1 publication Critical patent/FR3078803B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64GCOSMONAUTICS; VEHICLES OR EQUIPMENT THEREFOR
    • B64G3/00Observing or tracking cosmonautic vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64GCOSMONAUTICS; VEHICLES OR EQUIPMENT THEREFOR
    • B64G1/00Cosmonautic vehicles
    • B64G1/22Parts of, or equipment specially adapted for fitting in or to, cosmonautic vehicles
    • B64G1/24Guiding or controlling apparatus, e.g. for attitude control
    • B64G1/242Orbits and trajectories
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/42Simultaneous measurement of distance and other co-ordinates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10032Satellite or aerial image; Remote sensing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Astronomy & Astrophysics (AREA)
  • Multimedia (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Image Analysis (AREA)
  • Optical Radar Systems And Details Thereof (AREA)

Abstract

Titre : Procédé d’application d’un algorithme de suivi et moyens pour sa mise en œuvre Procédé d’initialisation d’un algorithme de suivi de cibles aériennes et/ou spatiales selon lequel on génère un nuage de points 3D (104, 402) de la cible et on détermine de manière itérative par un modèle 3D (108) de la cible, sa position spatiale. On détermine d’abord à l’aide d’un réseau neuronal artificiel (100, 406), la position spatiale de la cible et ensuite avec le résultat de cette première détermination on initialise l’algorithme de suivi. Figure 1

Description

Description
Titre de l'invention : Procédé d’application d’un algorithme de suivi et moyens pour sa mise en œuvre
Domaine technique [0001] La présente invention concerne un procédé d’application d’un algorithme de suivi et des moyens pour sa mise en œuvre.
[0002] En d’autres termes, l’invention concerne un procédé d’initialisation d’un algorithme de suivi pour des cibles aériennes et/ou spatiales selon lequel on génère un nuage de points 3D de la cible et par itération, à l’aide d’un modèle 3D de la cible, on détermine la position spatiale de la cible.
[0003] L’invention a également pour objet un procédé d’entraînement d’un réseau neuronal artificiel pour initialiser un algorithme de suivi pour des cibles aériennes et/ou spatiales.
[0004] L’invention a également pour objet un produit-programme d’ordinateur, un support de mémoire lisible par un ordinateur et un signal de support de données pour exécuter un tel procédé d’initialisation et/ou un tel procédé d’entraînement.
[0005] Enfin, l’invention a pour objet un dispositif de traitement de données.
Technique antérieure [0006] Les publications scannées Automatic Tracking Initialization from TriDAR data for Autonomous Rendezvous & Docking, S. Ruell, Denis Quelletl, 2Timothy Johnson Luu, 2Denis Laurendeau, INeptec Design Group, 2-Laval University et East Initial Pose Estimation of Spacecraft from LiDAR Point Cloud Data, P. Remsl, J.A. Moreno Gonzalesl, T. Bogel, S. Tuttas2, U. Stilla, 1DLR, 2TU Munich concernent un procédé de première initialisation pour les algorithmes de suivi 6DOP à l’aide du procédé (PAH) (Procédé de hachage d’accès polygonal).
[0007] Pour cela, à partir d’un nuage de points 3D, on extrait tout d’abord un trait polygonal de balayage simple et ensuite, à l’aide d’un algorithme, dans un modèle de référence 3D d’une cible, a priori, on détermine un polygone de concordance correspondant, analogue. Le procédé repose sur une recherche à l’aide d’un tableau de paramètres. Partant de points de références simples dans le modèle de références 3D, on classe tous les autres points du modèle, par exemple, en fonction de la distance et de la direction spatiale.
[0008] A partir des propriétés géométriques du polygone de balayage, on recherche ensuite dans ce tableau pour trouver un polygone de concordance, candidat, approprié. A partir des deux polygones on calcule ensuite une transformation relative. Par exemple, à l’aide d’une erreur moyenne entre le balayage transformé et le modèle on juge le résultat de la recherche. En cas de succès, on initialise, avec cette solution, un procédé d’itération de l’algorithme de point le plus proche (algorithme ICP). En cas d’échec, on démarre la recherche avec un nouveau polygone de balayage ou avec d’autres points de référence de sortie du tableau de paramètres. En plus des distances et des directions spatiales, le tableau peut être élargi à d’autres propriétés pour optimiser la recherche.
[0009] La publication A model-based 3D template matching technique for pose acquisition of an uncooperative space object, R. Opromolla, G. Fasano, G. Rufino, M. Grassi, Université de Naples concerne un procédé de concordance de gabarit pour initialiser un algorithme ICP. On établit ainsi des vues du modèle sous la forme de nuages de points 3D du modèle de référence. Ces vues sont à la disposition d’un calculateur embarqué et peuvent servir à un algorithme ICP point par point, pour calculer l’erreur moyenne entre le gabarit 3D et le balayage. Comme évaluation de la position, on utilise principalement la valeur moyenne du balayage. L’information de position du gabarit avec l’erreur moindre est ensuite utilisée pour initialiser l’algorithme ICP de suivi 6DOF. Le document EP 2 927 844 Al décrit un procédé de positionnement et de détermination de la position d’objets, notamment d’objets non coopérant. Selon ce procédé un capteur 3D fournit les données d’une cible qui sont comparées aux données de la cible en mémoire dans la banque de données-modèle et on l’utilise pour une évaluation initiale de positions et pour évaluer et situer la cible, plus précisément, en aval.
[0010] BUT DE L’INVENTION [0011] La présente invention a pour but de perfectionner ce procédé.
[0012] L’invention a également pour but de fournir un produit-programme d’ordinateur comme évoqué ci-dessus. Enfin, l’invention a pour but d’améliorer, du point de vue constructif et/ou fonctionnel le dispositif évoqué ci-dessus.
[0013] EXPOSE ET AVANTAGES DE L’INVENTION [0014] Le problème est résolu selon l’invention par un procédé d’initialisation d’un algorithme de suivi de cibles aériennes et/ou spatiales selon lequel on génère un nuage de points 3D de la cible et on détermine de manière itérative par un modèle 3D de la cible, sa position spatiale, ce procédé étant caractérisé en ce qu’on détermine d’abord à l’aide d’un réseau neuronal artificiel, la position spatiale de la cible et ensuite avec le résultat de cette première détermination, on initialise l’algorithme de suivi.
[0015] Le problème est également résolu par un procédé d’entraînement d’un réseau neuronal artificiel pour initialiser un algorithme de suivi de cibles aériennes et/ou spatiales selon lequel par un procédé de balayage, on génère un nuage de points 3D de la cible et par itération, à l’aide d’un modèle 3D de la cible, on détermine la position spatiale de la cible, ce procédé étant caractérisé en ce qu’on entraîne le réseau neuronal artificiel à l’aide de données d’entraînement pour déterminer en premier lieu la position spatiale de la cible et ensuite, avec le résultat de cette première détermination, initialiser l’algorithme de suivi.
[0016] En outre, le problème est résolu par un produit-programme d’ordinateur et pour l’exécution du procédé, ce programme étant enregistré sur un support de mémoire lisible par un ordinateur. L’invention a également pour objet un signal support de données pour transmettre le produit programme d’ordinateur.
[0017] En outre, le problème est résolu avec un dispositif permettant la mise en œuvre du procédé.
[0018] Le procédé peut être appliqué à un engin spatial. L’engin spatial est une station spatiale, une navette spatiale, un véhicule spatial, une sonde spatiale ou un satellite. Le procédé s’applique à un engin spatial. L’engin spatial peut être un avion. Le procédé peut être exécuté pendant le fonctionnement de l’engin spatial ou de l’avion. Le procédé peut être exécuté de manière autonome ou dans l’engin spatial ou dans l’avion. Le procédé peut être un procédé implémenté par un ordinateur.
[0019] L’algorithme de suivi peut servir à une navigation relative. L’algorithme de suivi peut servir à la navigation d’un engin spatial ou d’un engin aérien par rapport à une cible aérienne et/ou spatiale. L’algorithme de suivi peut servir à évaluer la pose et/ou la poursuite d’une cible aérienne et/ou spatiale. L’évaluation de la pose peut comporter une évaluation de position et/ou une évaluation de situation. Le suivi de la pose peut être un suivi de position et/ou un suivi de situation. L’algorithme de suivi peut être un algorithme de suivi 6DOE. L’algorithme de suivi peut utiliser un algorithme par itération du point le plus proche (algorithme ICP). L’algorithme de suivi peut faire des itérations d’un balayage à l’autre et chaque balayage sera initialisé avec le résultat d’un balayage précédent.
[0020] La cible aérienne et/ou spatiale peut être un engin spatial. L’engin spatial peut être une station spatiale, une navette spatiale, un véhicule spatial, une sonde spatiale ou un satellite. La cible aérienne et/ou spatiale peut également être un aéronef. L’aéronef peut être un avion. La cible aérienne et/ou spatiale peut être au moins un objet astronomique. Cet objet astronomique peut être le soleil, une planète ou une étoile. La cible aérienne et/ou spatiale peut être une constellation de plusieurs objets astronomiques. La cible aérienne et/ou spatiale peut ne pas être coopérative. La cible peut se déplacer. La cible peut effectuer un mouvement de nutation, la cible peut également effectuer un mouvement de nutation autour de trois axes. La cible peut effectuer un mouvement de nutation allant jusqu’à 2-4 degrés/s.
[0021] On peut générer les nuages de points 3D à l’aide d’un procédé de balayage. Le procédé de balayage peut être un procédé optique avec mesure du temps de parcours. Le procédé de balayage peut être un procédé de balayage laser. Le procédé de balayage peut être un procédé utilisant la photodétection (procédé lidar). Le procédé de balayage peut être un procédé lidar 3D. Le procédé de balayage peut être répété. A l’aide du procédé de balayage on peut générer de manière répétée des nuages de points 3D de la cible. Les nuages de points 3D peuvent être générés à l’aide d’un flash lidar ou d’une caméra stéréo.
[0022] Le nuage de points 3D de la cible comporte une quantité de points d’un vecteur d’espace. Les points sont saisis chaque fois avec leurs coordonnées dans l’espace. On peut saisir des attributs supplémentaires associés à chacun des points. Le nuage de points 3D de la cible peut être généré pendant le fonctionnement de l’engin spatial ou de l’avion. Le nuage de points 3D peut être mémorisé.
[0023] Le modèle 3D de la cible est établi au préalable. Le modèle 3D de la cible peut être mémorisé. Le modèle 3D de la cible peut être mis à disposition dans l’engin spatial ou dans l’avion.
[0024] La position spatiale de la cible peut se déterminer selon 6 degrés de liberté. La position spatiale de la cible peut se déterminer par translation le long de trois axes perpendiculaires et par rotation autour des trois axes.
[0025] La première détermination peut servir à évaluer une position spatiale de la cible proche de la solution. La première détermination sert à évaluer une position spatiale de la cible de façon proche de la solution pour qu’à l’initialisation de l’algorithme de suivi avec le résultat de la première détermination, cela garantit la convergence de l’algorithme de suivi.
[0026] Pour la première détermination on extrait un polygone de balayage à partir du nuage de points 3D. Le polygone de balayage obtenu est transmis à un réseau neuronal artificiel. A l’aide du réseau neuronal artificiel, partant du modèle 3D de la cible, on détermine un polygone de concordance. Le polygone de concordance correspond au polygone de balayage.
[0027] A l’aide du réseau neuronal artificiel, on compare le polygone de balayage et le polygone de concordance. Les relations entre le polygone de balayage et le polygone de concordance s’établissent à l’aide du réseau neuronal artificiel. On évalue de manière qualitative, la concordance entre le polygone de balayage et le polygone de concordance. Pour l’évaluation qualitative de la concordance, on détermine la transformation relative entre le polygone de balayage et le polygone de concordance. Pour l’évaluation qualitative de la concordance on utilise un paramètre de qualité. Comme paramètre de qualité, on utilise l’écart quadratique moyen (MSE) entre le balayage et le modèle.
[0028] L’algorithme de suivi est initialisé avec le résultat de la première détermination si la concordance présente une qualité minimale prédéfinie. Dans le cas contraire, on extrait de nouveau un polygone de balayage à partir du nuage de points 3D. Le polygone de balayage ainsi obtenu de nouveau, peut également être transmis au réseau neuronal ar tificiel. A l’aide de ce réseau neuronal artificiel, partant du modèle 3D de la cible on détermine de nouveau un polygone de concordance, puis on compare de nouveau le polygone de balayage et le polygone de concordance. On pourra évaluer, de manière qualitative la concordance entre ce polygone de balayage et le polygone de concordance. L’algorithme de suivi est initialisé à l’aide du nouveau résultat de la première détermination si la concordance répond à la qualité minimale prédéfinie. Dans le cas contraire, on répète l’opération. L’opération peut être répétée aussi souvent que nécessaire jusqu’à ce que le résultat de la première détermination réponde à la qualité minimale prédéfinie.
[0029] Comme réseau neuronal artificiel on peut utiliser un réseau multicouches de neurones à propagation avant. Comme réseau neuronal artificiel, on utilise un réseau ayant au moins deux et notamment au moins trois couches cachées. Comme réseau neuronal artificiel on utilise un réseau ayant au moins 80, au moins 100 neurones par couche.
[0030] A l’aide du procédé d’entraînement on éduque le réseau neuronal artificiel à l’aide des données d’entraînement. Les pondérations entre les différents neurones peuvent être modifiées. Les règles d’apprentissage permettent d’indiquer l’art et la manière de modifier le réseau neuronal artificiel. L’apprentissage peut être un apprentissage supervisé (apprentissage surveillé ou observé). La sortie correcte est prédéfinie pour optimiser les poids. L’apprentissage est un apprentissage non supervisé (apprentissage non surveillé ou non observé). Les variations de pondération peuvent se faire en fonction de l’analogie des pondérations avec les entrées sans prédéfinir de sortie.
[0031] Les données d’entraînement comportent des polygones de balayage et des polygones de concordance. Les données d’entraînement sont générées par un générateur de données d’entraînement. Les données d’entraînement peuvent représenter un espace possible de paramètres pour exécuter le procédé tel que défini.
[0032] Le réseau neuronal artificiel peut être testé. La capacité du réseau neuronal artificiel peut être évaluée. Le réseau neuronal artificiel peut être entraîné jusqu’à ce que sa capacité réponde à un niveau minimum prédéfini.
[0033] Le procédé est implémenté par un ordinateur.
[0034] Le produit-programme d’ordinateur se présente sous une forme qui peut être installée. Le produit programme d’ordinateur est installé sur un ordinateur. Le support de mémoire lisible par un ordinateur est un support électronique, magnétique, magnéto-électronique, optique ou optoélectronique. Le support de mémoire lisible par un ordinateur est une mémoire volatile, une mémoire non volatile, semi-permanente ou une mémoire permanente. Le support de mémoire lisible par un ordinateur est un support de mémoire fixe ou rotatif. Le signal de support de données peut être un signal électronique, magnétique, magnéto-électronique, optique ou optoélectronique.
[0035] L’invention permet de raccourcir la durée nécessaire à l’initialisation d’un algorithme de suivi d’un engin aérien ou spatial. La vitesse de calcul est augmentée. L’invention permet de déterminer la position spatiale de la cible avec une précision qui garantit le passage de l’initialisation à un suivi 6D0L stable. La possibilité d’implémenter dans un circuit LPGA est rendue possible et est améliorée. La limitation a des structures de processeur. On réduit la complexité et/ou le besoin aux ressources. On réduit la mémoire nécessaire. On réduit la quantité de données à analyser du nuage de points 3D. On supprime l’association utilisant des tableaux de paramètres, très importants. On supprime la nécessité de mémoire pour des tableaux de paramètres importants et/ou des gabarits 2D/3D. L’invention permet une implémentation dans les circuits LPGA. Brève description des dessins [0036] La présente invention sera décrite ci-après à l’aide d’exemples de réalisation représentés dans les dessins annexés dans lesquels :
[0037] [fig.l] montre un réseau neuronal artificiel pour initialiser un algorithme de suivi d’une cible aérienne et/ou spatiale, [0038] [fig.2] montre le déroulement de l’entraînement d’un réseau neuronal artificiel pour initialiser un algorithme de suivi de cibles aériennes et/ou spatiales, [0039] [fig.3] montre le déroulement de l’entraînement d’un réseau neuronal artificiel pour initialiser un algorithme de suivi de cibles aériennes et/ou spatiales par la propagation en retour, et [0040] [fig.4] montre le déroulement du processus d’initialisation d’un algorithme de suivi de cibles aériennes et/ou spatiales.
[0041 ] DESCRIPTION DE MODES DE REALISATION DE L’INVENTION [0042] La figure 1 montre un réseau neuronal artificiel 100 comprenant des neurones 101 pour initialiser un algorithme de suivi de cibles aériennes et/ou spatiales. Les neurones portent la référence N à la figure 1. Les neurones peuvent également être appelés unités. Le réseau neuronal artificiel 100 comporte des unités d’entrée recevant les signaux du monde extérieur, des unités de sortie qui transmettent des signaux vers le monde extérieur et des unités cachées entre les unités d’entrée et les unités de sortie et correspondant à une représentation interne du monde extérieur. L’algorithme de suivi est, par exemple, exécuté dans un engin spatial ; il sert à saisir et à suivre de façon autonome une cible pour permettre la navigation relative entre les engins spatiaux à l’aide d’un lidar 3D.
[0043] A l’aide du lidar 3D, on génère des nuages de points 3D de la cible suivie. Les nuages de points sont ensuite exploités à l’aide d’algorithmes de traitement d’images appropriés et on calcule la position actuelle et la situation de la cible. Pour cela, on utilise des algorithmes par itération du point le plus proche (algorithme ICP). L’algorithme ICP détermine ainsi, par un procédé par itération, et en utilisant le modèle 3D de la cible, sa position et sa situation relatives. La condition pour la convergence de l’algorithme ICP est une initialisation appropriée du procédé à l’aide d’une évaluation grossière à proximité de la solution. Pour le suivi d’une cible on peut ainsi utiliser d’un balayage à l’autre, chaque fois le résultat du balayage précédent pour l’initialisation. Par exemple, on balaye un objet cible qui se déplace jusqu’à 5°/s avec le lidar 3D ayant une fréquence de 2-4 Hz.
[0044] On effectue une évaluation initiale de position et de situation de la cible à partir du nuage de points 3D en utilisant le réseau neuronal artificiel 100. On utilise le résultat ensuite pour initialiser un algorithme de suivi ICP 6DOL. Pour l’évaluation initiale de la position et de la situation, on associe des polygones de concordance correspondant aux polygones de balayage dans un modèle 3D de la cible. Le modèle 3D de la cible sert ainsi de modèle de référence. L’association se fait à l’aide du réseau neuronal artificiel 100.
[0045] Tout d’abord d’un nuage de points 3D 104 on extrait un polygone de balayage tel que le polygone 102. Les polygones de balayage portent les références S1-S9 à la figure 1. Ensuite, on transmet le polygone de balayage 102 au réseau neuronal artificiel 100 qui calcule un polygone de concordance correspondant tel que le polygone 106 dans le modèle 3D 108 de la cible. Les polygones de concordance portent les références M1-M9 à la figure 1. Le candidat polygone trouvé est utilisé pour calculer une transformation relative entre le polygone de balayage 102 et le polygone de concordance 106. Ensuite, on initialise l’algorithme ICP avec la solution trouvée et on affine cette solution par quelques itérations. A l’aide d’un paramètre de qualité on décide si la solution trouvée peut être considérée comme suffisante ou non. On peut utiliser à cet effet, par exemple, l’erreur quadratique moyenne, (erreur MSE) entre le balayage et le modèle. Si la solution ne répond pas au critère défini, on extrait un nouveau polygone de balayage 110 et on lance avec celui-ci, une nouvelle itération.
[0046] La figure 3 montre le déroulement des opérations 200 pour l’entraînement d’un réseau neuronal artificiel tel que le réseau neuronal artificiel 100 selon la figure 1 pour initialiser un algorithme de suivi de cibles aériennes et/ou spatiales.
[0047] L’entraînement du réseau neuronal artificiel se fait avec des données d’entraînement appropriées 202 pour augmenter la capacité du réseau neuronal au-delà de l’espace des paramètres d’entraînement. Les données d’entraînement 202 représentent l’espace de paramètres possibles dans lequel le réseau neuronal artificiel sera utilisable une fois son entraînement terminé.
[0048] Les données d’entraînement 202 sont générées à l’aide du générateur de données d’entraînement 204 et elles comprennent des polygones de balayage 206 pour les unités d’entrée du réseau neuronal artificiel et des polygones de concordance 208 correspondant, attendus comme signaux des unités de sortie du réseau neuronal artificiel. Comme paramètre de données d’entraînement 204 on utilise, par exemple, un banc d’essai virtuel ou un capteur réel pour générer des nuages de points 3D à l’aide d’un modèle.
[0049] Les données d’entraînement 202 obtenues sont utilisées pour l’entraînement 210 du réseau neuronal artificiel. Après l’entraînement réussi on applique 212 le réseau neuronal artificiel.
[0050] L’entraînement se fait à l’aide d’algorithmes fondés sur le concept commun de la propagation en retour. L’algorithme d’entraînement se termine dès que le réseau neuronal artificiel atteint la qualité de performance demandée.
[0051] La figure 3 montre le déroulement 300 pour l’entraînement d’un réseau neuronal artificiel tel que le réseau neuronal artificiel 100 de la figure 1, pour initialiser un algorithme de suivi de cibles aériennes et/ou spatiales par propagation en retour.
[0052] Tout d’abord, on applique les données d’entraînement 302 en ce que, dans l’étape
304 on applique un polygone de balayage (i) aux unités d’entrée du réseau neuronal artificiel ; dans l’étape 306 on applique le réseau neuronal artificiel ; dans l’étape 308 on utilise un polygone de concordance (i) qui est attendu comme signal des unités de sortie du réseau neuronal artificiel et ainsi dans l’étape 310 on détermine un défaut des signaux effectifs des unités de sortie du réseau neuronal artificiel. L’application des données d’entraînement 302 est répétée un nombre déterminé (i) de fois pour les données d’entraînement. A titre d’exemple, le nombre va d’environ 600 jusqu’à environ 1400 paires polygones de concordance / polygones de balayage. En particulier, on aura notamment environ 1000 paires polygones de balayage / polygones de concordance. La sélection des données d’entraînement se fait d’une façon répartie régulièrement dans l’espace nécessaire des paramètres.
[0053] Ensuite, dans l’étape 312 on compare la somme des erreurs déterminées par l’application répétée des données d’entraînement 302 pour les signaux effectifs des unités de sortie du réseau neuronal artificiel et on les compare dans l’étape 314 à un critère de qualité.
[0054] Si le critère de qualité n’est pas rempli, on aura une propagation en retour de défaut 316, par exemple, à l’aide de l’algorithme Levenberg-Marquardt en ce que dans l’étape 318, on utilise l’erreur des signaux effectifs des unités de sortie du réseau neuronal artificiel pour un polygone de concordance (i) qui aurait été attendu comme signal des unités de sortie du réseau neuronal artificiel et dont l’erreur est renvoyée dans une étape 320 par la couche de sortie du réseau neuronal artificiel vers la couche d’entrée du réseau neuronal artificiel, en retour, pour adapter, dans l’étape 322, les différents poids des neurones du réseau neuronal artificiel en s’appuyant sur des gradients de défaut. La propagation de défaut en retour 316 est répétée pendant un nombre prédéfini (i) de données d’entraînement. Ensuite, on applique de nouveau les données d’entraînement 302 et on compare les erreurs déterminées pour les signaux effectifs des unités de sortie du réseau neuronal artificiel au critère de qualité (étape 314). Lorsque le critère de qualité est rempli, dans l’étape 324 on termine l’entraînement et on dispose alors du réseau neuronal artificiel entraîné. Le réseau neuronal artificiel entraîné est, par exemple, la marche avant totale et elle s’applique à jusqu’à quatre couches cachées, notamment trois couches cachées ainsi que 60- environ 140 neurones par couche et notamment environ 100 neurones par couche.
[0055] Le réseau neuronal artificiel entraîné est initialisé selon l’opération 400 représentée à la figure 4 pour initialiser un algorithme d’entraînement pour des cibles aériennes et/ou spatiales.
[0056] Pour initialiser l’algorithme de suivi, à partir d’un nuage de points 3D 402, on extrait un polygone de balayage 404 et on l’applique au réseau neuronal artificiel entraîné 406. Ensuite, on détermine une transformation relative 408 entre le polygone de balayage 404 et le polygone de concordance 410 obtenu, on les fournit à un algorithme ICP 412 et on détermine un paramètre de qualité 414. Cette opération est effectuée par itération jusqu’à ce que le paramètre de qualité 414 réponde à un critère prédéfini 416 et atteint une solution 418.
[0057] Pour l’analyse de la capacité du réseau neuronal artificiel entraîné, on utilise les nuages de points 3D générés dans le générateur de données d’entraînement. Par exemple, on simule une initialisation tous les 500 ms en se fondant sur les nuages de points du lidar à la fréquence de 2 Hz sur trois périodes de rotation totale de l’objet cible pour différents éloignements.
[0058] Le présent procédé d’initialisation d’un algorithme de suivi peut se faire, par exemple, pour le suivi d’engins spatiaux à l’aide d’un lidar 3D et dans le domaine terrestre, pour l’alimentation d’avions en vol. L’algorithme peut servir, par exemple, pour analyser les données lidar ou pour initialiser les systèmes de caméras stéréo. L’algorithme peut servir, par exemple, à reconnaître les constellations d’étoiles dans le domaine des viseurs d’étoiles ; pour cela on associe un polygone composé des étoiles reconnues, obtenu par le viseur d’étoiles et associer alors cet IDs dans un catalogue d’étoiles.
[0059] NOMENCLATURE DES ELEMENTS PRINCIPAUX [0060] 100 Réseau neuronal artificiel [0061] 102 Polygone de balayage [0062] 104 Nuage de points 3D [0063] 106 Polygone de concordance [0064] 108 Modèle 3D [0065] 110 Polygone de balayage [0066] 200 Déroulement [0067] 202 Données d’entraînement [0068] 204 Générateur de données d’entraînement [0069] 206 Polygone de balayage [0070] 208 Polygone de concordance [0071 ] 210 Entraînement [0072] 212 Application [0073] 300 Déroulement [0074] 302 Application des données d’entraînement [0075] 304 Etapes [0076] 306 Etapes [0077] 308 Etapes [0078] 310 Etapes [0079] 312 Etapes [0080] 314 Etapes [0081 ] 316 Propagation en retour d’un défaut [0082] 318 Etapes [0083] 320 Etapes [0084] 322 Etapes [0085] 324 Etapes [0086] 400 Déroulement [0087] 402 Nuage de points 3D [0088] 404 Polygone de balayage [0089] 406 Réseau neuronal artificiel entraîné [0090] 408 Transformation [0091 ] 410 Polygone de concordance [0092] 412 Algorithme ICP [0093] 414 Paramètre de qualité [0094] 416 Critère [0095] 418 Solution [Revendication 1] [Revendication 2] [Revendication 3] [Revendication 4] [Revendication 5] [Revendication 6] [Revendication 7] [Revendication 8]

Claims (1)

  1. Procédé d’initialisation d’un algorithme de suivi de cibles aériennes et/ ou spatiales selon lequel on génère un nuage de points 3D (104, 402) de la cible et on détermine de manière itérative par un modèle 3D (108) de la cible, sa position spatiale, procédé caractérisé en ce qu’on détermine d’abord à l’aide d’un réseau neuronal artificiel (100, 406), la position spatiale de la cible et ensuite avec le résultat de cette première détermination, on initialise l’algorithme de suivi.
    Procédé selon la revendication 1, caractérisé en ce que pour déterminer la première fois à partir du nuage de points 3D (104, 402) on extrait un polygone de balayage (102, 206, 404) et à l’aide du réseau neuronal artificiel (100, 406) on détermine à partir du modèle 3D (108) de la cible, un polygone de concordance (106, 208, 410) qui correspond au polygone de balayage (102, 206, 404).
    Procédé selon la revendication 2, caractérisé en ce que l’on compare le polygone de balayage (102, 206, 404) et le polygone de concordances (106, 208, 410) et on évalue de manière qualitative la concordance entre le polygone de balayage (102, 206, 404) et le polygone de concordance (106, 208, 410).
    Procédé selon la revendication 3, caractérisé en ce que pour l’évaluation qualitative de la concordance, on détermine à l’aide du réseau neuronal artificiel (100, 406), une transformation relative (408) entre le polygone de balayage (102, 206, 404) et le polygone de concordance (106, 208, 410).
    Procédé selon au moins l’une des revendications 3, 4, caractérisé en ce qu’on initialise l’algorithme de suivi avec le résultat de la première détermination seulement si la concordance présente une qualité minimale prédéfinie.
    Procédé selon l’une des revendications précédentes, caractérisé en ce qu’on utilise comme réseau neuronal artificiel (100, 406), un réseau multicouches de neurones à propagation avant.
    Procédé selon au moins l’une des revendications précédentes, caractérisé en ce qu’on utilise comme réseau neuronal artificiel (100, 406), un réseau ayant au moins deux, et notamment au moins trois couches cachées et au moins 80, notamment au moins 100 neurones (101) par couche.
    Procédé d’entraînement d’un réseau neuronal artificiel (100, 406) pour [Revendication 9] [Revendication 10] [Revendication 11] [Revendication 12] [Revendication 13] [Revendication 14] [Revendication 15] [Revendication 16] initialiser un algorithme de suivi de cibles aériennes et/ou spatiales selon lequel par un procédé de balayage, on génère un nuage de points 3D (104, 402) de la cible et par itération, à l’aide d’un modèle 3D (108) de la cible, on détermine la position spatiale de la cible, procédé caractérisé en ce qu’on entraîne le réseau neuronal artificiel (100, 406) à l’aide de données d’entraînement (202) pour tout d’abord déterminer en premier lieu la position spatiale de la cible et ensuite, avec le résultat de cette première détermination, initialiser l’algorithme de suivi.
    Procédé selon la revendication 8, caractérisé en ce que les données d’entraînement (202) comprennent des polygones de balayage (102, 206, 404) et des polygones de concordance (106, 208, 410).
    Procédé selon au moins l’une des revendications 8, 9, caractérisé en ce que les données d’entraînement (202) sont générées à l’aide d’un générateur de données d’entraînement (204).
    Procédé selon au moins l’une des revendications 8 à 10, caractérisé en ce qu’on évalue la capacité du réseau neuronal artificiel (100, 406). Procédé selon au moins l’une des revendications 8 à 11, caractérisé en ce qu’on entraîne le réseau neuronal artificiel (100, 406) jusqu’à ce que sa capacité présente un niveau minimum prédéfini.
    Produit-programme d’ordinateur comportant des ordres pour l’exécution du programme par un ordinateur, pour exécuter un procédé selon au moins l’une des revendications 1 à 7 et/ou un procédé selon au moins l’une des revendications 8 à 12.
    Support de mémoire lisible par un ordinateur comportant des ordres qui par leur exécution font qu’un ordinateur exécute un procédé selon au moins l’une des revendications 1 à 7 et/ou un procédé selon au moins l’une des revendications 8 à 12.
    Signal de support de données que transmet le produit-programme d’ordinateur selon la revendication 13.
    Dispositif de traitement de données comportant au moins un réseau de portes programmable (FPGA) dans lequel est implémenté le réseau neuronal artificiel (100, 406) pour exécuter le procédé selon au moins l’une des revendications 1 à 7 et/ou pour exécuter le procédé selon au moins l’une des revendications 8 à 12.
FR1902315A 2018-03-09 2019-03-07 Procédé d’application d’un algorithme de suivi et moyens pour sa mise en œuvre Active FR3078803B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102018105544.7A DE102018105544A1 (de) 2018-03-09 2018-03-09 Verfahren zum Initialisieren eines Tracking-Algorithmus, Verfahren zum Trainieren eines künstlichen neuronalen Netzwerks, Computerprogrammprodukt, computerlesbares Speichermedium und Datenträgersignal zur Ausführung derartiger Verfahren und Vorrichtung zur Datenverarbeitung
DE102018105544.7 2018-03-09

Publications (2)

Publication Number Publication Date
FR3078803A1 true FR3078803A1 (fr) 2019-09-13
FR3078803B1 FR3078803B1 (fr) 2022-07-08

Family

ID=67701576

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1902315A Active FR3078803B1 (fr) 2018-03-09 2019-03-07 Procédé d’application d’un algorithme de suivi et moyens pour sa mise en œuvre

Country Status (4)

Country Link
US (1) US11321852B2 (fr)
CA (1) CA3036241A1 (fr)
DE (1) DE102018105544A1 (fr)
FR (1) FR3078803B1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115294176B (zh) * 2022-09-27 2023-04-07 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种双光多模型长时间目标跟踪方法、系统及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2927844A1 (fr) 2014-04-03 2015-10-07 Airbus DS GmbH Estimation de position et de pose des objects 3d

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006083297A2 (fr) * 2004-06-10 2006-08-10 Sarnoff Corporation Procede et appareil d'alignement video sur des nuages de points tridimensionnels
US10373380B2 (en) * 2016-02-18 2019-08-06 Intel Corporation 3-dimensional scene analysis for augmented reality operations
US11556777B2 (en) * 2017-11-15 2023-01-17 Uatc, Llc Continuous convolution and fusion in neural networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2927844A1 (fr) 2014-04-03 2015-10-07 Airbus DS GmbH Estimation de position et de pose des objects 3d

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
AI SHANGYOU ET AL: "A Registration Method for 3D Point Clouds with Convolutional Neural Network", 6 August 2017, ICIAP: INTERNATIONAL CONFERENCE ON IMAGE ANALYSIS AND PROCESSING, 17TH INTERNATIONAL CONFERENCE, NAPLES, ITALY, SEPTEMBER 9-13, 2013. PROCEEDINGS; [LECTURE NOTES IN COMPUTER SCIENCE; LECT.NOTES COMPUTER], SPRINGER, BERLIN, HEIDELBERG, PAGE(S) 377 - 3, ISBN: 978-3-642-17318-9, XP047422574 *
CHRISTOPH SCHMITT ET AL: "RVS3000-3D: LIDAR meets Neural Networks", INTERNATIONAL SYMPOSIUM ON ARTIFICIAL INTELLIGENCE, ROBOTICS AND AUTOMATION IN SPACE (I-SAIRAS) 2018, 4 June 2018 (2018-06-04), Madrid, Spain, pages 1 - 7, XP055828616, Retrieved from the Internet <URL:https://robotics.estec.esa.int/i-SAIRAS/isairas2018/Papers/Session%208b/4_Schmitt10_JenaOptronik_LIDAR_Meets_Neural_Networks-10-29-Schmitt-Christoph.pdf> *
R. OPROMOLLAG. FASANOG. RUFINOM. GRASSI: "A model-based 3D template matching technique for pose acquisition of an uncooperative space object", UNIVERSITÉ DE NAPLES
SAKURADA KEN ET AL: "Temporal city modeling using street level imagery", COMPUTER VISION AND IMAGE UNDERSTANDING, ACADEMIC PRESS, US, vol. 157, 8 February 2017 (2017-02-08), pages 55 - 71, XP029946563, ISSN: 1077-3142, DOI: 10.1016/J.CVIU.2017.01.012 *

Also Published As

Publication number Publication date
FR3078803B1 (fr) 2022-07-08
US11321852B2 (en) 2022-05-03
US20190279375A1 (en) 2019-09-12
DE102018105544A1 (de) 2019-09-12
CA3036241A1 (fr) 2019-09-09

Similar Documents

Publication Publication Date Title
EP2724203B1 (fr) Génération de données de carte
FR3103048A1 (fr) Procede et dispositif de generation de donnees synthetiques d&#39;apprentissage pour machine d&#39;intelligence artificielle pour l&#39;aide a l&#39;atterrissage d&#39;aeronef
FR2828315A1 (fr) Stabilisation des images d&#39;une scene, correction des offsets de niveaux de gris, detection d&#39;objets mobiles et harmonisation de deux appareils de prise de vues fondes sur la stabilisation des images
EP3435332A1 (fr) Dispositif électronique et procédé de génération, à partir d&#39;au moins une paire d&#39;images successives d&#39;une scène, d&#39;une carte de profondeur de la scène, drone et programme d&#39;ordinateur associés
Allworth et al. A transfer learning approach to space debris classification using observational light curve data
Faraco et al. Instance segmentation for feature recognition on noncooperative resident space objects
FR3078803A1 (fr) Procédé d’application d’un algorithme de suivi et moyens pour sa mise en œuvre
Li et al. Improved lightweight YOLOv5 using attention mechanism for satellite components recognition
FR3097973A1 (fr) Dispositif radar pour la detection d&#39;un comportement de reference de cibles pistees ; procede et produit programme d&#39;ordinateur associes
EP2517152A1 (fr) Procede de classification d&#39;objets dans un systeme de veille par imagerie
WO2021116312A1 (fr) Ensemble comportant un système de localisation d&#39;émetteurs et une plateforme mobile; système de localisation d&#39;émetteurs, plateforme mobile et procédé de mesure de direction d&#39;arrivée associés
WO2021069824A1 (fr) Dispositif, procédé et programme d&#39;ordinateur de suivi de moteur d&#39;aéronef
WO2019224482A1 (fr) Procédé d&#39;augmentation de résolution spatiale d&#39;une image multi-spectrale à partir d&#39;une image panchromatique
WO2023094347A1 (fr) Système et procédé de navigation autonome base vision d&#39;un satellite
Bechini et al. Robust Monocular Pose Initialization via Visual and Thermal Image Fusion
WO2020201239A1 (fr) Procédé pour la localisation d&#39;une cible à partir d&#39;un contour elliptique
FR3065097B1 (fr) Procede automatise de reconnaissance d&#39;un objet
Opromolla et al. Performance evaluation of 3d model-based techniques for autonomous pose initialization and tracking
WO2021089536A1 (fr) Procede et dispositif de generation de donnees d&#39;apprentissage pour machine d&#39;intelligence artificielle pour l&#39;aide a l&#39;atterrissage d&#39;aeronef
Wang et al. Review of relative navigation for noncooperative spacecraft in close range
EP3757943B1 (fr) Procédé et dispositif de télémétrie passive par traitement d&#39;image et utilisation de modeles en trois dimensions
US20230316745A1 (en) Atmospheric chemical species detection using multispectral imaging
FR3132349A1 (fr) Procédé de navigation autonome d’un drone volant pour l’inspection d’une installation ou d’un ouvrage, le procédé étant basé sur la vision.
Henry et al. Investigation of improved orbit and attitude estimation from simultaneous dual-latitude observations
FR3073655B1 (fr) Procede de determination d&#39;un vecteur vitesse visuel d&#39;un engin mobile, produit programme d&#39;ordinateur et systeme de determination associes

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLFP Fee payment

Year of fee payment: 3

PLSC Publication of the preliminary search report

Effective date: 20210917

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6