Accélération sur cartes graphiques des projecteurs en Tomographie X

publicité
Université Paris Sud 11 - Supélec
Stage 6 mois (mars - août)
Accélération sur cartes graphiques de la
projection pour la reconstruction
Tomographique X
Auteur:
Asier Rabanal
Encadrants:
Nicolas Gac
Ali Mohammad-Djafari
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
1
Objectifs du stage
Contexte
2
Méthodes de reconstruction tomographique itératives
Reconstruction tomographique
Algorithmes de projection et de rétroprojection
3
Implémentation
Projecteurs
L’algorithme d’échantillonnage régulier 3D sur GPU
4
Expérimentation numérique et validation
Qualité de reconstruction
Temps de reconstruction
5
Conclusion
2 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Contexte
1
Objectifs du stage
Contexte
2
Méthodes de reconstruction tomographique itératives
3
Implémentation
4
Expérimentation numérique et validation
5
Conclusion
3 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Contexte
Contexte
Tomographie X
Obtenir la structure interne d’un objet à partir de données externes
(domaine clinique, contrôle non destructif)
Volume de données important (jusqu’à 20483 voxels) /
Algorithmes itératifs ⇔ Algorithmes analytiques (Feldkamp)
Très bonne qualité d’image ,
Projet TOMOX
Transfert technologique.
Déploiement rapide d’algorithmes de reconstruction 3D
Segmentation des objets
4 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Contexte
Projet TOMOX
IMAGEUR 3D HAUTE RESOLUTION
Objet
1
phi
1 ACQUISITION
− Plateforme de microtomographie X
haute resolution
Projections
Tomographe
phi
2
2 RECONSTRUCTION
− Algorithme iteratif
− Acceleration sur processeurs graphiques
Objet reconstruit
GPU
5 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Reconstruction tomographique
Algorithmes de projection et de rétroprojection
1
Objectifs du stage
2
Méthodes de reconstruction tomographique itératives
Reconstruction tomographique
Algorithmes de projection et de rétroprojection
3
Implémentation
4
Expérimentation numérique et validation
5
Conclusion
6 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Reconstruction tomographique
Algorithmes de projection et de rétroprojection
Tomographie X
Detecteurs
Volume
φ
Source
Système d’acquisition
Système de traitement
Méthodes analytiques
Méthodes itératives
7 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Reconstruction tomographique
Algorithmes de projection et de rétroprojection
L’algorithme itératif simple
g = Hf + g → données du tomographe
fˆ(n)
f → volume
H → système d’acquisition
Projection H1fˆ(n)
→ le bruit
ĝ (n)
g
N iterations
δg (n)
Retroprojection H2t δg (n)
J(f ) = JMC (f )
JMC (f ) = ||g − Hf ||2
(n)
δfMC
δf (n+1)
f (n+1) = f (n) + δMC f (n)
δMC f (n) = −2 · H2t (g − H1 f (n) )
8 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Reconstruction tomographique
Algorithmes de projection et de rétroprojection
L’algorithme itératif bayésien
fˆ(n)
J(f ) = JMC (f ) + λ · Jreg (f )
JMC (f ) = ||g − Hf ||2
Jreg (f ) = ||Df ||2
Projection H1fˆ(n)
ĝ (n)
g
Regularisation
δg (n)
(n)
f (n+1) = f (n) + δf (n)
δf (n) = δMC f (n) + δreg f (n)
Retroprojection H2t δg (n)
δfMC
N iterations
(n)
δfreg
δf (n+1)
δMC f (n) = −2 · H2t (g − H1 f (n) )
δreg f (n) = D t Df
9 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Reconstruction tomographique
Algorithmes de projection et de rétroprojection
Projection
Detecteurs
u
y
θ
Source
φ
x
Volume
10 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Reconstruction tomographique
Algorithmes de projection et de rétroprojection
Choix algorithmiques
Algorithme ray-driven
Algorithme pixel-driven
Detecteurs
u
Detecteurs
u
y
y
φ
φ
x
Source
Volume
x
Source
Volume
11 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Reconstruction tomographique
Algorithmes de projection et de rétroprojection
Projecteurs (I)
Joseph
Voxel driven avec interpolation
Detecteurs
u
ye + 1
y(x)
Detecteurs
u
ue +1
u(x)
ue
ye
y
D(u, φ) = Di
y
φ
x
Source
φ
x
u
Source
Source
Volume
for φ
for x,y
u(x,y,φ)=...
P(ue ,φ)+=(1-u )V(x,y)
P(ue + 1,φ)+=u V(x,y)
Volume
for φ
for u
−−→ −
if (SDi , →
x ) < 45◦
for x
y (x ) = ...
P(u, φ)+ = (1 − y )V (x , ye ) + y V (x , ye + 1)
else
for y
x (y ) = ...
P(u, φ)+ = (1 − x )V (xe , y ) + x V (xe + 1, y )
12 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Reconstruction tomographique
Algorithmes de projection et de rétroprojection
Projecteurs (II)
Échantillonnage régulier
f (xk , yk )
Detecteurs
u
Siddon
Detecteurs
u
ye + 1
y
y
ye
gi
y
δx
xe x xe + 1
φ
D(ue , φ) = Di
δy
x
k=0
lij
Source
φ
x
Volume
for φ
for u
for k
u(xk , yk (x )) = ...
P(u, φ)+ = (1 − x )(1 − y )V (xe , ye )
+(1 − x )y V (xe , ye + 1)
+x (1 − y )V (xe + 1, ye )
+x y V (xe + 1, ye + 1)
Source
Volume
forφ
for u
for PixelTrav
lij =...
P(u, φ)+ = lij V (x , y )
13 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Reconstruction tomographique
Algorithmes de projection et de rétroprojection
Rétroprojecteur
Voxel driven avec interpolation
Detecteurs
u
ue +1
u(x)
ue
y
Source
φ
x
u
Source
Volume
for φ
for x,y
u(x,y,φ)=...
V(xn,yn)+=(1-u )·P(ue ,φ)+u ·P(ue + 1,φ)
14 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Projecteurs
L’algorithme d’échantillonnage régulier 3D sur GPU
1
Objectifs du stage
2
Méthodes de reconstruction tomographique itératives
3
Implémentation
Projecteurs
L’algorithme d’échantillonnage régulier 3D sur GPU
4
Expérimentation numérique et validation
5
Conclusion
15 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Projecteurs
L’algorithme d’échantillonnage régulier 3D sur GPU
Projecteurs
Projection 2D
Projection 3D
u
y
(x1 , y1 )
v
(xdet , ydet , zdet )
θ
z
R
(x2 , y2 )
x
θ
α
φ
y
u
(xs , ys )
(xs , ys , zs )
x
16 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Projecteurs
L’algorithme d’échantillonnage régulier 3D sur GPU
Graphics Processing Unit (GPU)
17 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Projecteurs
L’algorithme d’échantillonnage régulier 3D sur GPU
Programme séquence
Paralléliser le code:
découper l’algorithme en
tâches indépendantes
Thread
lancement d’un
rayon.
Reduction du temps d’accès
à la mémoire :
Cache de constantes
texture 2D et texture 3D
Registres
18 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Qualité de reconstruction
Temps de reconstruction
1
Objectifs du stage
2
Méthodes de reconstruction tomographique itératives
3
Implémentation
4
Expérimentation numérique et validation
Qualité de reconstruction
Temps de reconstruction
5
Conclusion
19 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Qualité de reconstruction
Temps de reconstruction
Algorithmes 2D itératifs : Reconstruction
Image d’origine (f ) et image de
régularisation (Df )
Images reconstruites avec régularisation
(“VI”,“J2D”,“ER” et “SI”)
20 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Qualité de reconstruction
Temps de reconstruction
Algorithmes 2D itératifs : Coupes des images
Coupe x = 128
21 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Qualité de reconstruction
Temps de reconstruction
Algorithmes 2D itératifs : Erreur quadratique moyenne
eqmrelative
VI
J2D
ER
SI
λ=0
λ=1
λ = 10
0.0071321
0.0065626
0.0069313
0.022629
0.0075727
0.0070131
0.0073715
0.02219
0.010633
0.01025
0.010438
0.020608
22 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Qualité de reconstruction
Temps de reconstruction
Algorithmes 3D sur GPU itératif
Résultats en itératif 3D avec
régularisation (λ = 1)
eqmrel
λ=0
λ=1
λ = 10
0.022702
0.022376
0.024085
Comparaison entre l’image obtenue avec échantillonnage régulier et avec
Joseph
Échantillonnage régulier sur GPU
Joseph sur GPU
eamrel
eqmrel
0.10063
0.099241
0.022376
0.024467
eqmrelative avec H t opérateur adjoint et H t opérateur pas adjoint
Projection
Rétroprojection
VI
Joseph
ER
Siddon
Voxel
Voxel
Voxel
Voxel
driven
driven
driven
driven
eamrelative
eqmrelative
0.056536
0.055782
0.056031
0.1104
0.0075727
0.0070131
0.0073715
0.02219
23 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Qualité de reconstruction
Temps de reconstruction
Comparaison C et GPU
Échantillonnage régulier 3D sur C
Sinogram et image rétroprojetée
140.4 secondes
Échantillonnage régulier 3D sur GPU
(sans optimisation du code)
8.568 secondes
Échantillonnage régulier 3D sur GPU
(avec optimisation du code)
0.282 secondes
(0.82% calcul, 99.18% Échantillonnage)
Algorithme itératif en 3D
Temps de traitement
Une itération
Convolution simple
12,74 secondes
9,6 secondes (75%)
24 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Conclusion
1
Objectifs du stage
2
Méthodes de reconstruction tomographique itératives
3
Implémentation
4
Expérimentation numérique et validation
5
Conclusion
25 / 27
Objectifs du stage
Méthodes de reconstruction tomographique itératives
Implémentation
Expérimentation numérique et validation
Conclusion
Conclusion
Conclusion
Bilan technique
Qualité de la reconstruction
Facteur d’accélération du GPU: 500 pour l’operateur de projection
Problème de coherence pour Siddon
Travaux futures
Développement de tout l’algorithme itératif en C
Parallélisation sur plusieurs cartes graphiques (GPUs)
Parallélisation sur GPU de la convolution (en cours)
Algorithme itératif original d’Ali Mohammad-Djafari: régularisation par regions
homogènes
Projet TOMOX (Sept. - Mai)
26 / 27
Université Paris Sud 11 - Supélec
Stage 6 mois (mars - août)
Accélération sur cartes graphiques de la
projection pour la reconstruction
Tomographique X
Auteur:
Asier Rabanal
Encadrants:
Nicolas Gac
Ali Mohammad-Djafari
Téléchargement