360 likes | 461 Views
Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU. Présentation de Stage (22-10-2010). Thomas Boulay. Sommaire. Présentation Algorithme des KPPV (K Plus Proches Voisins) Linéaire vs dB Linéaire vs dB avec Recalage Seuillage
E N D
Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010) Thomas Boulay
Sommaire • Présentation • Algorithme des KPPV (K Plus Proches Voisins) • Linéaire vs dB • Linéaire vs dB avec Recalage • Seuillage • Fenêtrage Distance • Conclusion et perspectives • Implémentation sur GPU • Présentation des GPU • Application des KPPV sur GPU • Conclusion et perspectives • Conclusion générale Thales Air Operations
Présentation • NCTR (Non Cooperative Target Recognition) • Objectif: Reconnaissance de cibles • Attribut utilisé: Profil Distance • Données • 4 cibles pour la base d’apprentissage • 3 cibles pour la base de test • Objectifs du stage • Tester les performances de l’algorithme des KPPV • Maîtriser le taux d’erreur et réduire les temps de calculs • Regarder l’influence du traitement de l’information non comprimée • Implémenter sur GPU Thales Air Operations
Présentation • Algorithme des KPPV • Linéaire vs dB • Linéaire vs dB avec Recalage • Seuillage • Fenêtrage Distance • Conclusion et perspectives • Implémentation sur GPU • Présentation des GPU • Application des KPPV sur GPU • Conclusion et perspectives • Conclusion générale Thales Air Operations
K Plus Proches Voisins K plus petites distances Profil distance de test appartient à la classe majoritaire Thales Air Operations
Présentation Algorithme des KPPV Linéaire vs dB Linéaire vs dB avec Recalage Seuillage Fenêtrage Distance Conclusion et perspectives Implémentation sur GPU Présentation des GPU Application des KPPV sur GPU Conclusion et perspectives Conclusion générale Thales Air Operations 6
Linéaire vs dB (Taux d’erreur) Linéaire dB Thales Air Operations Meilleures performances en dB apport des points brillants de faible amplitude 7
Linéaire vs dB (Taux de succès) Linéaire dB • Reconnaissance cible 3 fortement influencée par les points brillants de faible amplitude Thales Air Operations
Présentation • Algorithme des KPPV • Linéaire vs dB • Linéaire vs dB avec Recalage • Seuillage • Fenêtrage Distance • Conclusion et perspectives • Implémentation sur GPU • Présentation des GPU • Application des KPPV sur GPU • Conclusion et perspectives • Conclusion générale Thales Air Operations
Linéaire vs dB avec recalage Recalage des données en distance avant application des KPPV Thales Air Operations
Linéaire vs dB avec recalage (Taux d’erreur) Linéaire dB • Légère diminution du taux d’erreur • Profils distance préalablement recalés grossièrement Thales Air Operations
Linéaire vs dB avec recalage (Taux de succès) Linéaire dB L1 L2 • Meilleures performances en dB profils traités en dB Thales Air Operations
Présentation • Algorithme des KPPV • Linéaire vs dB • Linéaire vs dB avec Recalage • Seuillage • Fenêtrage Distance • Conclusion et perspectives • Implémentation sur GPU • Présentation des GPU • Application des KPPV sur GPU • Conclusion et perspectives • Conclusion générale Thales Air Operations
Seuillage (Taux d’erreur) Application d’un seuil adapté au niveau de bruit de chaque profil distance L1 L2 • Plus le seuil est haut, plus le taux d’erreur augmente • Reconnaissance influencée par les échantillons de faible amplitude Thales Air Operations
Seuillage (Taux de succès) Seuillage niveau de bruit + 5dB (L2) Seuillage niveau de bruit + 15dB (L2) • Reconnaissance cible 3 très sensible au seuillage • Influence non négligeable des échantillons de faible amplitude (bruit ou signal utile) Thales Air Operations
Présentation • Algorithme des KPPV • Linéaire vs dB • Linéaire vs dB avec Recalage • Seuillage • Fenêtrage Distance • Conclusion et perspectives • Implémentation sur GPU • Présentation des GPU • Application des KPPV sur GPU • Conclusion et perspectives • Conclusion générale Thales Air Operations
Fenêtrage Distance Intérêt: Reconnaissance sur les points de faible amplitude ou bruit thermique? 125 échantillons Thales Air Operations
Fenêtrage Distance (Taux d’erreur) L1 L2 • Légère dégradation des performances • Influence des échantillons de bruit Thales Air Operations
Présentation • Algorithme des KPPV • Linéaire vs dB • Linéaire vs dB avec Recalage • Seuillage • Fenêtrage Distance • Conclusion et perspectives • Implémentation sur GPU • Présentation des GPU • Application des KPPV sur GPU • Conclusion et perspectives • Conclusion générale Thales Air Operations
Conclusion et perspectives • Conclusion • Mise en évidence des limites des KPPV • Influence des points de faible amplitude • KPPV très sensible aux échantillons de bruit • « Meilleurs » résultats obtenus: • KPPV avec recalage • Algorithme non optimal pour la reconnaissance de cibles • Perspectives • Multi-Décision pour réduire le taux d’erreur Thales Air Operations
Présentation • Algorithme des KPPV • Introduction • Linéaire vs dB • Linéaire vs dB avec Recalage • Seuillage • Fenêtrage Distance • Conclusion et perspectives • Implémentation sur GPU • Présentation des GPU • Application des KPPV sur GPU • Conclusion et perspectives • Conclusion générale Thales Air Operations
Présentation des GPU GPU : Graphic Processing Unit Evolution vers une architecture multi-coeur: • A l’origine, architecture dédiée au rendu de volume • Pipeline Graphique • Depuis 2006, architecture adaptée à la parallélisation de divers calculs scientifiques • CUDA: Common Unified Device Architecture (prog. en C) Thales Air Operations
Comparaison GPU-CPU Puissance de calcul Débit mémoire • GPU adaptés aux calculs massivement parallèles • Nombreux cas non parallélisables CPU Thales Air Operations
Hiérarchie des threads Un ID par thread et un ID par bloc de threads Exécution séquentielle • thread • bloc de thread parallèle Thales Air Operations
Mémoires Accès aux mémoires Thales Air Operations
Hiérarchie mémoire et exécution code GPU Hiérarchie mémoire PC hote et carte graphique Thales Air Operations
Architecture Fermi • Principales améliorations: • 512 cœurs • 64 KB de RAM configurable • 3 GB de mémoire globale • Calcul en précision « double » amélioré • Intégration code correcteur d’erreur 240 cœurs 16 KB mémoire shared 4 GB Thales Air Operations Source NVIDIA
Présentation • Algorithme des KPPV • Introduction • Linéaire vs dB • Linéaire vs dB avec Recalage • Seuillage • Fenêtrage Distance • Conclusion et perspectives • Implémentation sur GPU • Présentation des GPU • Application des KPPV sur GPU • Conclusion et perspectives Thales Air Operations
Application des KPPV sur GPU • Données • Profils distances simulés • 3 cibles différentes pour la base d’apprentissage • 3 cibles différentes pour la base de test • 3 étapes: • Etape 1: Calcul des distances entre les profils de la base de test et de la base d’apprentissage + recalage + seuillage • Etape 2: Trier les distances par ordre croissant et garder les k premières • Etape 3: Prise de décision Thales Air Operations
Parallélisation des calculs: découpage en threads 1ère version 1 Distance = 1 thread Gestion de la mémoire Mémoire shared Base de test Cache Texture Base d’apprentissage Distance Résultat Registre Résultats x 18 Thales Air Operations
Parallélisation des calculs: découpage en threads 2ème version (Matlab) 1 Distance + recalage + seuillage = 1 thread Gestion de la mémoire Base de test Mémoire shared Base d’apprentissage Cache Texture Distance Résultat Registre Seuil Cache Constant Résultats x 58 Thales Air Operations
Présentation • Algorithme des KPPV • Linéaire vs dB • Linéaire vs dB avec Recalage • Seuillage • Fenêtrage Distance • Conclusion et perspectives • Implémentation GPUs • Présentation des GPU • Application des KPPV sur GPU • Conclusion et perspectives • Conclusion générale Thales Air Operations
Conclusion et perspectives Conclusion Facteur d’accélération de 58 pour l’algorithme des KPPV Calcul GPU intégré à Matlab Perspectives Optimisation de la mémoire et du découpage en thread Optimisation de l’implémentation GPU (Fermi) Implémentation sous OpenCl Réduction temps de calcul Réduction de dimensionnalité (ACP, Fourier) Thales Air Operations 33
Présentation Algorithme des KPPV Linéaire vs dB Linéaire vs dB avec Recalage Seuillage Fenêtrage Distance Conclusion et perspectives Implémentation GPUs Présentation des GPU Application des KPPV sur GPU Conclusion et perspectives Conclusion générale Thales Air Operations 34
Conclusion et perspectives KPPV Permet de ne pas comprimer l’information pas de perte Résultats: Pas de maîtrise du taux d’erreur Paramétrage délicat (Seuil, Fenêtrage, …) GPU Bonnes performances obtenues accélération significative Bien adapté à la reconnaissance de profils Algorithme non idéal pour la reconnaissance de profils Thales Air Operations Nécessité de mettre au point un nouvel algorithme de reconnaissance de cibles exploitant la puissance de calcul offerte par les GPU 35
Questions-Réponses Thales Air Operations 36