thales air operations développement d'algorithmes de reconnaissance de cibles non...
TRANSCRIPT
Thales Air Operations
Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPUPrésentation de Stage (22-10-2010)
Thomas Boulay
Thales Air Operations2
Sommaire
I. Présentation
II. Algorithme des KPPV (K Plus Proches Voisins)1. Linéaire vs dB
2. Linéaire vs dB avec Recalage
3. Seuillage
4. Fenêtrage Distance
5. Conclusion et perspectives
III. Implémentation sur GPU1. Présentation des GPU
2. Application des KPPV sur GPU
3. Conclusion et perspectives
IV. Conclusion générale
Thales Air Operations3
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 Operations4
I. Présentation
II. Algorithme des KPPV1. Linéaire vs dB
2. Linéaire vs dB avec Recalage
3. Seuillage
4. Fenêtrage Distance
5. Conclusion et perspectives
III. Implémentation sur GPU1. Présentation des GPU
2. Application des KPPV sur GPU
3. Conclusion et perspectives
IV. Conclusion générale
Thales Air Operations5
K Plus Proches Voisins
K plus petites distances
Profil distance de test appartient à la classe majoritaire
Thales Air Operations6
I. Présentation
II. Algorithme des KPPV1. Linéaire vs dB
2. Linéaire vs dB avec Recalage
3. Seuillage
4. Fenêtrage Distance
5. Conclusion et perspectives
III. Implémentation sur GPU1. Présentation des GPU
2. Application des KPPV sur GPU
3. Conclusion et perspectives
IV. Conclusion générale
Thales Air Operations7
Linéaire vs dB (Taux d’erreur)
Linéaire dB
Meilleures performances en dB apport des points brillants de faible amplitude
i
ii yxL 22 )(
iii yxL1
Thales Air Operations8
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 Operations9
I. Présentation
II. Algorithme des KPPV1. Linéaire vs dB
2. Linéaire vs dB avec Recalage
3. Seuillage
4. Fenêtrage Distance
5. Conclusion et perspectives
III. Implémentation sur GPU1. Présentation des GPU
2. Application des KPPV sur GPU
3. Conclusion et perspectives
IV. Conclusion générale
Thales Air Operations10
Linéaire vs dB avec recalage
Recalage des données en distance avant application des KPPV
Thales Air Operations11
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 Operations12
Linéaire vs dB avec recalage (Taux de succès)Linéaire dB
• Meilleures performances en dB profils traités en dB
L1
L2
Thales Air Operations13
I. Présentation
II. Algorithme des KPPV1. Linéaire vs dB
2. Linéaire vs dB avec Recalage
3. Seuillage
4. Fenêtrage Distance
5. Conclusion et perspectives
III. Implémentation sur GPU1. Présentation des GPU
2. Application des KPPV sur GPU
3. Conclusion et perspectives
IV. Conclusion générale
Thales Air Operations14
Seuillage (Taux d’erreur)
L1 L2
• Plus le seuil est haut, plus le taux d’erreur augmente
• Reconnaissance influencée par les échantillons de faible amplitude
Application d’un seuil adapté au niveau de bruit de chaque profil distance
N
i
iXN
P1
2)(1
Thales Air Operations15
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 Operations16
I. Présentation
II. Algorithme des KPPV1. Linéaire vs dB
2. Linéaire vs dB avec Recalage
3. Seuillage
4. Fenêtrage Distance
5. Conclusion et perspectives
III. Implémentation sur GPU1. Présentation des GPU
2. Application des KPPV sur GPU
3. Conclusion et perspectives
IV. Conclusion générale
Thales Air Operations17
Fenêtrage Distance
125 échantillons
Intérêt: Reconnaissance sur les points de faible amplitude ou bruit thermique?
Thales Air Operations18
Fenêtrage Distance (Taux d’erreur)
L1 L2
• Légère dégradation des performances
• Influence des échantillons de bruit
Thales Air Operations19
I. Présentation
II. Algorithme des KPPV1. Linéaire vs dB
2. Linéaire vs dB avec Recalage
3. Seuillage
4. Fenêtrage Distance
5. Conclusion et perspectives
III. Implémentation sur GPU1. Présentation des GPU
2. Application des KPPV sur GPU
3. Conclusion et perspectives
IV. Conclusion générale
Thales Air Operations20
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 Operations21
I. Présentation
II. Algorithme des KPPV1. Introduction
2. Linéaire vs dB
3. Linéaire vs dB avec Recalage
4. Seuillage
5. Fenêtrage Distance
6. Conclusion et perspectives
III. Implémentation sur GPU1. Présentation des GPU
2. Application des KPPV sur GPU
3. Conclusion et perspectives
IV. Conclusion générale
Thales Air Operations22
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 Operations23
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 Operations24
Hiérarchie des threads
Un ID par thread et un ID par bloc de threads
• thread
• bloc de thread
séquentielle
parallèle
Exécution
Thales Air Operations25
Mémoires
Accès aux mémoires
Thales Air Operations26
Hiérarchie mémoire et exécution code GPU Hiérarchie mémoire PC hote et carte graphique
Thales Air Operations27
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
Source NVIDIA
Thales Air Operations28
I. Présentation
II. Algorithme des KPPV1. Introduction
2. Linéaire vs dB
3. Linéaire vs dB avec Recalage
4. Seuillage
5. Fenêtrage Distance
6. Conclusion et perspectives
III. Implémentation sur GPU1. Présentation des GPU
2. Application des KPPV sur GPU
3. Conclusion et perspectives
Thales Air Operations29
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
Nech 512
Ntest 150
Napp 512
Thales Air Operations30
Parallélisation des calculs: découpage en threads
1 Distance = 1 threadNblocs = Ntest 150
Nthreads/bloc = Napp 512
NOp/thread = Nech 512
1ère version
Gestion de la mémoire
Base de test
Base d’apprentissage
Distance Résultat
Mémoire shared
Cache Texture
Registre
Résultats
Temps de calcul (ms)
Programme C 48.32
Programme CUDA (mémoire globale) 24.90
Programme CUDA 2.73
x 18
Thales Air Operations31
Parallélisation des calculs: découpage en threads
1 Distance + recalage + seuillage = 1 thread
2ème version
Nblocs = Ntest 150
Nthreads/bloc = Napp 512
NOp/thread = Nech*2*Ndec 512*200
Gestion de la mémoire
Base de test
Base d’apprentissage
Distance Résultat
Mémoire sharedCache TextureRegistre
Seuil Cache Constant
Temps de calcul (s)
KPPV Matlab 121.77
KPPV Matlab Mex-CUDA 2.10
Résultats
x 58
(Matlab)
Thales Air Operations32
I. Présentation
II. Algorithme des KPPV1. Linéaire vs dB
2. Linéaire vs dB avec Recalage
3. Seuillage
4. Fenêtrage Distance
5. Conclusion et perspectives
III. Implémentation GPUs1. Présentation des GPU
2. Application des KPPV sur GPU
3. Conclusion et perspectives
IV. Conclusion générale
Thales Air Operations33
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 Operations34
I. Présentation
II. Algorithme des KPPV1. Linéaire vs dB
2. Linéaire vs dB avec Recalage
3. Seuillage
4. Fenêtrage Distance
5. Conclusion et perspectives
III. Implémentation GPUs1. Présentation des GPU
2. Application des KPPV sur GPU
3. Conclusion et perspectives
IV. Conclusion générale
Thales Air Operations35
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
Nécessité de mettre au point un nouvel algorithme de reconnaissance de cibles exploitant la puissance de calcul offerte par les GPU
Thales Air Operations36
Questions-Réponses