thales air operations développement d'algorithmes de reconnaissance de cibles non...

36
Thales Air Operations 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

Upload: fabrice-wagner

Post on 03-Apr-2015

106 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 2: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 3: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 4: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 5: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

Thales Air Operations5

K Plus Proches Voisins

K plus petites distances

Profil distance de test appartient à la classe majoritaire

Page 6: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 7: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 8: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 9: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 10: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

Thales Air Operations10

Linéaire vs dB avec recalage

Recalage des données en distance avant application des KPPV

Page 11: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 12: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 13: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 14: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 15: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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)

Page 16: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 17: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

Thales Air Operations17

Fenêtrage Distance

125 échantillons

Intérêt: Reconnaissance sur les points de faible amplitude ou bruit thermique?

Page 18: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

Thales Air Operations18

Fenêtrage Distance (Taux d’erreur)

L1 L2

• Légère dégradation des performances

• Influence des échantillons de bruit

Page 19: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 20: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 21: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 22: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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)

Page 23: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 24: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 25: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

Thales Air Operations25

Mémoires

Accès aux mémoires

Page 26: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

Thales Air Operations26

Hiérarchie mémoire et exécution code GPU Hiérarchie mémoire PC hote et carte graphique

Page 27: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 28: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 29: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 30: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 31: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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)

Page 32: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 33: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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)

Page 34: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 35: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

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

Page 36: Thales Air Operations Développement d'algorithmes de reconnaissance de cibles non coopératives et parallélisation sur GPU Présentation de Stage (22-10-2010)

Thales Air Operations36

Questions-Réponses