• Aucun résultat trouvé

3.3 Parallélisation sur architectures parallèles

3.3.4 CPU et Cluster

Les CPUs ont eux-mêmes évolué avec les multi-coeurs (jusqu’à 16 actuellement) et avec les extensions de jeu d’instructions vectorielles (MMX, SSE, AVX). Ces jeux d’instructions étaient au départ destinés à l’affichage mais ils se sont généralisés au calcul parallèle en général. Par contre leur programmation reste explicite et plus lourde que celle des GPU.

†. carte Tesla C1060 avec 4 Go DRAM ‡. carte Nvidia GTX 295

62 Chapitre 3. Problématique de la parallélisation Des compilateurs/paralléliseurs sont prévus pour aider au portage de code, mais sans la connaissance de l’architecture, il est difficile d’espérer obtenir toutes les performances possibles.

Le risque avec les architectures parallèles, est d’obtenir des performances même inférieures à celles d’un code séquentiel sur CPU. En fait, la solution idéale est de combiner les avantages des CPUs avec ceux des GPUs en les couplant et en connaissant bien chaque architecture. Augmenter les performances peut se faire au travers d’un cluster. Un cluster est un ensemble d’ordinateurs connectés entre eux par un réseau. On fait référence à cette topologie comme architecture de calcul distribué. Un exemple d’implémentation sur cluster est présenté dans les travaux de Reimann et al. [99]. La reconstruction est faite par une méthode analytique FDK [42]. L’idée de base est le découpage du volume en sous-volumes. Chaque ordinateur accède à tout l’ensemble des projections mais il est en charge de reconstruire seulement un sous-volume. À la fin des reconstructions, les sous-volumes sont rassemblés pour constituer le volume entier. Il existe par ailleurs maintenant des clusters de couples CPU/GPU qui permettent de bénéficier des avantages de chacun : les GPUs pour les calculs massivement parallèles réguliers et les CPUs pour les tâches indépendantes et le code séquentiel.

3.4 Conclusions

Nous avons analysé dans ce chapitre les aspects de la parallélisation en général. En particulier nous avons étudié les aspects de la mise en œuvre des opérateurs de projection et rétroprojection lors d’une parallélisation par rapport aux accès en mémoire.

Nous avons parcouru les diverses architectures parallèles (cluster, FPGA, processeur Cell, GPU et cluster) qui ont été utilisées en reconstruction tomographique. L’évolution des architectures spécifiques (FPGA et GPU) a remplacé progressivement aussi bien les clusters que les processeurs Cell pour leurs performances et leur facilité de programmation et d’installation (un ordinateur de bureau est équipé de cartes GPU performantes).

Le développement sur carte FPGA est plus laborieux par rapport à celui sur GPU. Mais, une carte FPGA permet de réduire le coût de la consommation énergétique sans que les performances ne soient réduites.

Étant donné le contexte de notre projet, les GPUs semblent un bon compromis en termes de performances/facilité de programmation grâce à l’interface de programmation CUDA.

Nous avons pris en compte dans cette étude une parallélisation en procédant à un découpage au niveau de la projection. En effet l’utilisation d’une grille irrégulière rend délicat l’opération de découpage du volume à reconstruire qui n’est pas géométriquement simple à découper. Par contre elle s’adapte très bien à une projection de type ray-driven que nous avons retenue.

Chapitre 4

Méthode de reconstruction basée sur

un maillage adaptatif (ATM)

L’analyse des données est précédée d’une étape essentielle de segmentation permettant de délimiter les régions d’intérêt à considérer. Au cours des deux dernières décennies, de nombreuses études ont été menées conduisant à de multiples méthodes de segmentation proposant diverses interprétations des contours et différentes fonctionnelles d’énergies à minimiser. Dans ce contexte, l’idée de proposer une méthode de reconstruction de tomographie intégrant une étape de segmentation offre l’opportunité d’accéder à une reconstruction classique d’une image en niveaux de gris couplée à une segmentation des différents matériaux composant l’objet étudié, et permet donc de s’affranchir d’une étape de post-traitement d’images pour l’analyse des résultats. La méthode proposée dans ce travail, que nous noterons MAT (Maillage Adaptatif Triangulaire) ou ATM (Adaptive Triangular Meshen anglais) par la suite, et décrite dans ce chapitre développe cette idée. Le processus mis en œuvre est une méthode de reconstruction d’images en tomographie par rayons X basée sur un algorithme itératif connu mais adapté à une représentation volumique de l’espace objet se démarquant de celle usuellement utilisée dans ce domaine (c’est-à-dire. voxélisation de l’espace de reconstruction). On ne considère plus ici un volume bidimensionnel décrit par des pixels (resp. tridimensionnel décrit par des voxels) mais un ensemble de triangles (resp. de tétraèdres) s’adaptant au contenu du volume objet. La densité des mailles élémentaires, leur position et leur forme sont optimisées par l’algorithme grâce à une étape de segmentation des différents matériaux composant l’objet étudié, simultanée à la reconstruction. En fin de processus, la méthode permet d’accéder à l’objet reconstruit dans son intégralité ainsi qu’à sa segmentation complète, la taille des données étant optimisée par le nombre d’éléments composant le maillage. Ainsi s’affranchit-on ici de toute étape supplémentaire de post-traitement, ce qui allège le traitement des données et conduit à une reproductibilité fiable du processus. Par ailleurs, la représentation de l’image par un maillage adapté à son contenu (par exemple à l’in- formation qu’elle comporte) permet de réduire considérablement la taille mémoire de l’image reconstruite (réduction des problèmes de stockage informatique) et de traiter des données issues de détecteurs toujours plus pixélisés.

64 Chapitre 4. Méthode de reconstruction basée sur un maillage adaptatif (ATM)

Ce chapitre s’articule autour des différentes étapes du processus, c’est-à-dire recons- truction, segmentation, adaptation du maillage, qui alternent successivement jusqu’à convergence (voir Figure4.1). Nous présenterons un résumé bibliographique des mé- thodes de reconstructions qui alternent la reconstruction à la segmentation. Puis, les discrétisations non pixélises utilisées dans la reconstruction tomographique. Ensuite, nous abordons tout d’abord l’étape d’initialisation qui consiste à construire un premier maillage à partir d’un nuage de points et d’affecter une valeur initiale à chaque maille. Nous présentons ensuite la phase de reconstruction tomographique dont la fonction est d’estimer les niveaux de gris dans l’image (coefficients d’atténuation des matériaux) par l’utilisation d’un algorithme itératif connu. Les principaux opérateurs de projection et de rétroprojection, adaptés aux mailles triangulaires (et tétraédriques), sont validés. Dans un troisième temps, nous décrivons l’étape de segmentation : la mise en œuvre de la méthode et son intégration dans le processus de reconstruction. Finalement, nous expliquons comment adapter le maillage au contenu de l’image segmentée et présentons les outils utilisés.

4.1 État de l’art des méthodes de reconstruction / segmentation

simultanée

Les méthodes de reconstruction classiques sont basées sur la discrétisation du volume dans un ensemble de voxels et fournissent une carte de densité 3D. L’analyses du vo- lume (de l’objet reconstruit) est ensuite mené grâce à l’application d’outils de traitement d’images notamment pour segmenter des régions d’intérêt. Beaucoup d’études ont été faites pendant les deux dernières décennies menant à de nombreuses méthodes de seg- mentation avec les différentes interprétations des contours et des diverses fonctionnelles à minimiser. Dans la dernière décennie, des auteurs ont proposé de nouvelles approches qui incluent la segmentation simultanément à la reconstruction.Ces autres approches consistent dans un établissement en modèle global des frontières.