Transcript Soutenance
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
Thales Air Operations
Sommaire
I.
II.
Présentation
Algorithme des KPPV (K Plus Proches Voisins)
1.
2.
3.
4.
5.
III.
Linéaire vs dB
Linéaire vs dB avec Recalage
Seuillage
Fenêtrage Distance
Conclusion et perspectives
Implémentation sur GPU
1.
2.
3.
Présentation des GPU
Application des KPPV sur GPU
Conclusion et perspectives
IV. Conclusion générale
2
Thales Air Operations
Présentation
3
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
I.
II.
Présentation
Algorithme des KPPV
1.
2.
3.
4.
5.
III.
Linéaire vs dB
Linéaire vs dB avec Recalage
Seuillage
Fenêtrage Distance
Conclusion et perspectives
Implémentation sur GPU
1.
2.
3.
Présentation des GPU
Application des KPPV sur GPU
Conclusion et perspectives
IV. Conclusion générale
4
Thales Air Operations
K Plus Proches Voisins
K plus petites distances
Profil distance de test appartient à la classe
majoritaire
5
Thales Air Operations
I.
II.
Présentation
Algorithme des KPPV
1.
2.
3.
4.
5.
III.
Linéaire vs dB
Linéaire vs dB avec Recalage
Seuillage
Fenêtrage Distance
Conclusion et perspectives
Implémentation sur GPU
1.
2.
3.
Présentation des GPU
Application des KPPV sur GPU
Conclusion et perspectives
IV. Conclusion générale
6
Thales Air Operations
Linéaire vs dB (Taux d’erreur)
L1 xi yi
i
Linéaire
Meilleures performances en dB
7
Thales Air Operations
L2 ( xi yi ) 2
i
dB
apport des points brillants de faible amplitude
Linéaire vs dB (Taux de succès)
Linéaire
dB
• Reconnaissance cible 3 fortement influencée par les points brillants de faible amplitude
8
Thales Air Operations
I.
II.
Présentation
Algorithme des KPPV
1.
2.
3.
4.
5.
III.
Linéaire vs dB
Linéaire vs dB avec Recalage
Seuillage
Fenêtrage Distance
Conclusion et perspectives
Implémentation sur GPU
1.
2.
3.
Présentation des GPU
Application des KPPV sur GPU
Conclusion et perspectives
IV. Conclusion générale
9
Thales Air Operations
Linéaire vs dB avec recalage
Recalage des données en distance avant application des KPPV
10
Thales Air Operations
Linéaire vs dB avec recalage (Taux d’erreur)
Linéaire
• Légère diminution du taux d’erreur
• Profils distance préalablement recalés grossièrement
11
Thales Air Operations
dB
Linéaire vs dB avec recalage (Taux de succès)
Linéaire
dB
L1
L2
• Meilleures performances en dB
12
Thales Air Operations
profils traités en dB
I.
II.
Présentation
Algorithme des KPPV
1.
2.
3.
4.
5.
III.
Linéaire vs dB
Linéaire vs dB avec Recalage
Seuillage
Fenêtrage Distance
Conclusion et perspectives
Implémentation sur GPU
1.
2.
3.
Présentation des GPU
Application des KPPV sur GPU
Conclusion et perspectives
IV. Conclusion générale
13
Thales Air Operations
Seuillage (Taux d’erreur)
Application d’un seuil adapté au niveau de bruit de chaque profil distance
P
1
N
N
X (i )
2
i 1
L1
L2
• Plus le seuil est haut, plus le taux d’erreur augmente
• Reconnaissance influencée par les échantillons de faible amplitude
14
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)
15
Thales Air Operations
I.
II.
Présentation
Algorithme des KPPV
1.
2.
3.
4.
5.
III.
Linéaire vs dB
Linéaire vs dB avec Recalage
Seuillage
Fenêtrage Distance
Conclusion et perspectives
Implémentation sur GPU
1.
2.
3.
Présentation des GPU
Application des KPPV sur GPU
Conclusion et perspectives
IV. Conclusion générale
16
Thales Air Operations
Fenêtrage Distance
Intérêt: Reconnaissance sur les points de faible amplitude ou bruit thermique?
125 échantillons
17
Thales Air Operations
Fenêtrage Distance (Taux d’erreur)
L1
• Légère dégradation des performances
• Influence des échantillons de bruit
18
Thales Air Operations
L2
I.
II.
Présentation
Algorithme des KPPV
1.
2.
3.
4.
5.
III.
Linéaire vs dB
Linéaire vs dB avec Recalage
Seuillage
Fenêtrage Distance
Conclusion et perspectives
Implémentation sur GPU
1.
2.
3.
Présentation des GPU
Application des KPPV sur GPU
Conclusion et perspectives
IV. Conclusion générale
19
Thales Air Operations
Conclusion et perspectives
20
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
I.
II.
Présentation
Algorithme des KPPV
1.
2.
3.
4.
5.
6.
III.
Introduction
Linéaire vs dB
Linéaire vs dB avec Recalage
Seuillage
Fenêtrage Distance
Conclusion et perspectives
Implémentation sur GPU
1.
2.
3.
Présentation des GPU
Application des KPPV sur GPU
Conclusion et perspectives
IV. Conclusion générale
21
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
Depuis 2006, architecture adaptée à la parallélisation
de divers calculs scientifiques
22
Thales Air Operations
Pipeline Graphique
CUDA: Common Unified Device Architecture (prog. en C)
Comparaison GPU-CPU
Puissance de calcul
Débit mémoire
• GPU adaptés aux calculs massivement parallèles
• Nombreux cas non parallélisables
23
Thales Air Operations
CPU
Hiérarchie des threads
Un ID par thread et un ID par bloc de threads
Exécution
• thread
• bloc de thread
24
Thales Air Operations
séquentielle
parallèle
Mémoires
Accès aux mémoires
25
Thales Air Operations
Hiérarchie mémoire et exécution code GPU
Hiérarchie mémoire
26
Thales Air Operations
PC hote et carte graphique
Architecture Fermi
Principales améliorations:
• 512 cœurs
240 cœurs
• 64 KB de RAM configurable
16 KB mémoire shared
• 3 GB de mémoire globale
• Calcul en précision « double » amélioré
• Intégration code correcteur d’erreur
Source NVIDIA
27
Thales Air Operations
4 GB
I.
II.
Présentation
Algorithme des KPPV
1.
2.
3.
4.
5.
6.
III.
Implémentation sur GPU
1.
2.
3.
28
Introduction
Linéaire vs dB
Linéaire vs dB avec Recalage
Seuillage
Fenêtrage Distance
Conclusion et perspectives
Thales Air Operations
Présentation des GPU
Application des KPPV sur GPU
Conclusion et perspectives
Application des KPPV sur GPU
29
Données
Profils distances simulés
3 cibles différentes pour la base d’apprentissage
3 cibles différentes pour la base de test
Nech
512
Ntest
150
Napp
512
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
Nblocs = Ntest
150
Nthreads/bloc = Napp
512
NOp/thread = Nech
512
Gestion de la mémoire
Base de test
Mémoire shared
Base d’apprentissage
Distance Résultat
Cache Texture
Registre
Résultats
Temps de calcul (ms)
30
Programme C
48.32
Programme CUDA (mémoire globale)
24.90
Programme CUDA
2.73
Thales Air Operations
x 18
Parallélisation des calculs: découpage en threads
2ème version
(Matlab)
1 Distance + recalage + seuillage = 1 thread
Nblocs = Ntest
150
Nthreads/bloc = Napp
512
NOp/thread = Nech*2*Ndec
Gestion de la mémoire
Base de test
Mémoire shared
Cache Texture
Registre
Cache Constant
Base d’apprentissage
Distance Résultat
Seuil
Résultats
Temps de calcul (s)
KPPV Matlab
KPPV Matlab Mex-CUDA
31
Thales Air Operations
121.77
2.10
x 58
512*200
I.
II.
Présentation
Algorithme des KPPV
1.
2.
3.
4.
5.
III.
Linéaire vs dB
Linéaire vs dB avec Recalage
Seuillage
Fenêtrage Distance
Conclusion et perspectives
Implémentation GPUs
1.
2.
3.
Présentation des GPU
Application des KPPV sur GPU
Conclusion et perspectives
IV. Conclusion générale
32
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
33
Réduction temps de calcul
Thales Air Operations
Réduction de dimensionnalité (ACP, Fourier)
I.
II.
Présentation
Algorithme des KPPV
1.
2.
3.
4.
5.
III.
Linéaire vs dB
Linéaire vs dB avec Recalage
Seuillage
Fenêtrage Distance
Conclusion et perspectives
Implémentation GPUs
1.
2.
3.
Présentation des GPU
Application des KPPV sur GPU
Conclusion et perspectives
IV. Conclusion générale
34
Thales Air Operations
Conclusion et perspectives
KPPV
Permet de ne pas comprimer l’information
Résultats:
pas de perte
Pas de maîtrise du taux d’erreur
Paramétrage délicat (Seuil, Fenêtrage, …)
Algorithme non idéal pour la reconnaissance de profils
GPU
Bonnes performances obtenues
accélération significative
Bien adapté à 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
35
Thales Air Operations
Questions-Réponses
36
Thales Air Operations