Ce document et les informations qu’il contient sont la propriété de Sagem. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Sagem. DEEP LEARNING EN RECONNAISSANCE D’IMAGES : DETECTION DE CIBLES FAIBLEMENT RESOLUES Jean. OGIER DU TERRAIL – Sagem F. JURIE – Université de Caen/CNRS
Ce document et les informations qu’il contient sont la propriété de Sagem. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Sagem. Le problème de Sagem: allier précision et rapidité Sagem cherche à améliorer les performances des têtes chercheuses de missile AIR- SOL. L’objectif: seul le véhicule objectif ou cible doit être touché frappe chirurgicale. Problèmes: le missile est très rapide (300m/s) et n’a le temps de corriger sa trajectoire que pendant quelques instants il ne voit qu’une image L’image dont le missile dispose est mal résolue
Ce document et les informations qu’il contient sont la propriété de Sagem. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Sagem. Une base de données Open-Source: VeDAI Pour tester ce détecteur il nous faut un environnement de test comprenant des images prises dans des conditions proches de notre problème. Sébastien Razakarivony docteur a construit une nouvelle base de données d’imagerie aérienne: VeDAI ( [1] S. Razakarivony and F. Jurie, Technical Report GREYC , GREYC CNRS UMR 6072, Universite de Caen Sebastien Razakarivony. Apprentissage de variétés pour la Détection et Reconnaissance de véhicules faiblement résolus en imagerie aérienne. Vision par ordinateur et reconnaissance de formes [cs.CV]. Université de Caen Basse-Normandie, Français
Ce document et les informations qu’il contient sont la propriété de Sagem. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Sagem. La détection: métriques Cette image est issue de la base VeDAI et montre toute la difficulté du problème. Par exemple ce détecteur fictif aurait les caractéristiques: R=2/2=1 et P=2/7=0.29
Ce document et les informations qu’il contient sont la propriété de Sagem. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Sagem. Quelques unes des approches de Sébastien Pouquoi se donner le mal d’extraire des caractéristiques ? Posez vous la question: Qu’est ce qui distingue une imagette de char de celle d’un arbre en terme de pixels ? (La réponse est: c’est difficile à dire) Extraction de descripteurs ayant plus de sens que les pixels bruts (et de dimension réduite !) HOG (contours) LBP (texture) Puis classification avec un SVM linéaire: Dans ce nouvel espace des descripteurs la classification est facile après un apprentissage. Ce qui est difficile c’est de créer les bons descripteurs ! En réalité Sébastien utilise des descripteurs bien plus compliqués (autoencodeurs discriminants sur HOG) et utilise une cascade de classifieurs (pour plus de détails voir sa thèse)
Ce document et les informations qu’il contient sont la propriété de Sagem. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Sagem. Résoudre le problème des descripteurs Les résultats de Sébastien sont très bons: (80% de rappel pour la classe voiture pour 1 FPPI mais à 0.01 FPPI le rappel chute à 21%) Nécessité de changer d’approche pour plus de précision L’idée principale, est d’apprendre les descripteurs en même temps que la frontière de décision: Descripteur final Convolutional Neural Network Score (distance à la marge pour le SVM par exemple) FPPI=taux de faux positifs par images (à relier à la Précision)
Ce document et les informations qu’il contient sont la propriété de Sagem. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Sagem. Que fait un réseau de neurones convolutif. Chaque couche calcule la moyenne pondérée de ses entrées et la fait passer par une activation non linéaire … (xn_couches) Pooling, BN, ou autres
Ce document et les informations qu’il contient sont la propriété de Sagem. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Sagem. Les convolutions en détails: Détail convolution 2D masque 3x3 padding 1 Il y a donc
Ce document et les informations qu’il contient sont la propriété de Sagem. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Sagem. Le pooling : diminuer la taille 1) On effectue des statistiques (moyenne, max, min,etc.) sur des voisinages de pixels disjoints (en général) sur toute la profondeur Il y a donc Max-pooling 2x2 On peut aussi le voir comme une convolution avec un opérateur (non linéaire dans le cas du max-pooling)
Ce document et les informations qu’il contient sont la propriété de Sagem. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Sagem. Les couches complétement connectées: 1)Après l’application de plusieurs convolutions/pooling on obtient une tenseur 3D que l’on va complétement connecter à un vecteur de sorties=> nécessité d’avoir une entrée de taille fixée à l’avance. 2)On seuille les sorties avec une activation non linéaire Il y a donc 3 cartes 2x2 sont complétement connectées à un vecteur de taille 4 (seules les connexions auxdeux extrêmes du vecteur sont représentées) Le réseau redevient classique
Ce document et les informations qu’il contient sont la propriété de Sagem. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Sagem. Apprentissage supervisé [0,0,…,1,…,0][0.1,0.0,…,0.8,…,0.1] En réalité L est non convexe et l’optimisation est extrêmement difficile. On cherche donc un « bon » minimum local. Pour maximiser ses chances de réussir l’apprentissage il existe des algos plus performants (le gradient avec moment, AdaGrad, Adam,…) et des techniques d’initialisation des poids (RBM, Initialisation de Glorot,weight normalization,etc.) ainsi que des astuces (dropout,batch-norm,…) Visualisation créée en matplotlib par Alec Radford (OIpenAI)
Ce document et les informations qu’il contient sont la propriété de Sagem. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Sagem. Le réseau finalement utilisé Les entrées sont des patchs de taille 48x48 L’architecture en détails: 5x5x32 5x5x64 Fc1 (local1)->120 Fc2 (local2)->84 Fc3 (local3)->2 Softmax La classification est binaire véhicule cible ou fond Local 5 Le réseau est une version modifiée de LeNet5 utilisée pour reconnaitre des chiffres softmax MNIST
Ce document et les informations qu’il contient sont la propriété de Sagem. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Sagem. La pipeline On commence par donner le schéma d’une pipeline assez classique : extraction d’exemples d’apprentissage+ entrainement+ parcours par fenêtres glissantes sur l’ensemble d’apprentissage + hard-mining + parcours par fenêtres glissantes sur le test On corrige le déséquilibre des classes en calibrant l’importance du coût de mauvaise classification On agrandit la base d’apprentissage Data Augmentation pour apprendre l’invariance en rotations
Ce document et les informations qu’il contient sont la propriété de Sagem. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Sagem. FCN : Réseaux de neurones complétement convolutionnel Johnathan Klong and Evan Shelhamer and Trevor Darrell, Fully Convolutional Neural Networks for Semantic Segmentation CoRR Voir les couches complétement connectées comme des convolutions 2D dégénérées, qui ne bougent pas. 4 convolutions 3D d’un masque 2x2x3
Ce document et les informations qu’il contient sont la propriété de Sagem. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Sagem. FCN : Réseaux de neurones complétement convolutionnel Tout se passe comme si on passait le réseau sur un ensemble de fenêtres avec un pas proportionnel au nombre de couches de pooling et que l’on en classifiait le pixel central. On obtient une carte sous-échantillonnée de profondeur le nombre de classes. Ci-dessus la carte de la classe véhicule sur-échantillonnée et étirée. FC-CONV2 FC-CONV1 Local 5 FC-CONV3 softmax A partir des cartes il est facile de revenir à la position des véhicules sur la carte vraie en réalisant une étape de NMS:
Ce document et les informations qu’il contient sont la propriété de Sagem. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Sagem. Conclusions: Points positifs: Plus performant Plus d’étapes de parcours de fenêtres Inférence beaucoup plus rapide Points négatifs: Perte de résolution spatiale à cause du pooling L’entrainement est toujours long, Il y a très peu d’images de cibles à disposition. Toujours trop de fausses alarmes
Ce document et les informations qu’il contient sont la propriété de Sagem. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Sagem. Merci de votre attention ! Vous avez des questions ?