12.07.2015 Views

Algorithmes de la morphologie mathématique pour - Pastel - HAL

Algorithmes de la morphologie mathématique pour - Pastel - HAL

Algorithmes de la morphologie mathématique pour - Pastel - HAL

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Jaromír BRAMBOR5.3. ALGORITHMES GÉODÉSIQUES POUR LES GPP/GPPMMl’emploi <strong>de</strong> l’opération géodésique) et l’image <strong>de</strong> sortie (après avoir effectué cette opération géodésique).Si elles sont les mêmes, nous arrêtons <strong>la</strong> propagation car nous avons atteint l’état d’i<strong>de</strong>mpotence.Ce test est assez coûteux en terme d’opérations arithmétiques car il doit effectuer une comparaisonpixel par pixel et employer ensuite une fonction <strong>de</strong> réduction qui, <strong>pour</strong> l’image toute entière, ne fournitqu’une seule valeur reflétant l’i<strong>de</strong>ntité / non-i<strong>de</strong>ntité <strong>de</strong>s <strong>de</strong>ux images. Cette valeur peut être binaire oupas. En termes <strong>de</strong> flux <strong>de</strong> données, nous effectuons d’abord l’opération d’application d’une fonction(comparaison) sur tous les éléments du stream qui est suivie par <strong>la</strong> réduction <strong>de</strong> ce stream à une seulevaleur.Pour diminuer l’impact <strong>de</strong> ce test <strong>de</strong> <strong>la</strong> fin <strong>de</strong> <strong>la</strong> propagation, plusieurs approches sont à prévoir <strong>pour</strong>son implémentation, dépendantes surtout du caractère <strong>de</strong> notre image. Nous pouvons tester <strong>la</strong> propagationà chaque itération, ce qui peut s’avérer coûteux. Mais nous pouvons envisager d’utiliser <strong>la</strong> propriétéd’i<strong>de</strong>mpotence qui est atteinte à <strong>la</strong> fin <strong>de</strong> <strong>la</strong> propagation. Ainsi, nous savons a priori que chaque itérationsupplémentaire ne changera pas les résultats. En se basant sur cette propriété, nous pouvons construireun algorithme qui ne teste pas <strong>la</strong> fin <strong>de</strong> <strong>la</strong> propagation après chaque itération mais qu’après un certainnombre d’itérations.5.3.3 Note sur le travail géodésique avec les superpixelsL’approche <strong>de</strong>s superpixels est également utilisable <strong>pour</strong> les algorithmes géodésiques <strong>de</strong> <strong>la</strong> <strong>morphologie</strong><strong>mathématique</strong> avec certaines modification <strong>de</strong> <strong>la</strong> structure <strong>de</strong>s skeletons algorithmiques. En effet,<strong>la</strong> fonction du parcours <strong>de</strong> l’image <strong>pour</strong> les superpixels (qui est du type StreamizeSP) nous retourne lestream <strong>de</strong>s in<strong>de</strong>x d’ancrage <strong>de</strong>s superpixels.Les valeurs <strong>de</strong>s in<strong>de</strong>x d’ancrage issues <strong>de</strong> ce stream seront utilisées par les fonctions qui extraientle voisinage <strong>la</strong>rge d’un superpixels (fonctions du type ExtrNgbSP) mais également par les fonctiond’échantillonnage d’un superpixels (fonctions du type SampFncSP) qui nous retourne une liste <strong>de</strong>svaleurs d’un superpixel.La construction du skeleton algorithmique ngbGAlgoGenSP <strong>pour</strong> le travail géodésique sur le superpixels,présenté par l’algorithme 5.10, s’appuie sur le skeleton algorithmique <strong>de</strong> base (ngbGAlgoGen)dont elle utilise le corps. Il s’agit, en effet <strong>de</strong> <strong>la</strong> spécialisation <strong>de</strong> cette fonction <strong>pour</strong> le travail avec lesuperpixels, comme nous pouvons le voir sur <strong>la</strong> signature <strong>de</strong> type dans l’algorithme 5.10.Algorithme 5.10 : ngbGAlgoGen Skeleton algorithmique généralisé <strong>de</strong> travail géodésique sur levoisinage par l’approche <strong>de</strong>s superpixles1 ngbGAlgoGenSP :: [StreamizeSP α] → ( [ExtrNgbSP α], [SampFncSP α]) → [NgbGOpSP α]2 → ( Ar ( I , I ) α, Ar ( I , I ) α) → Ar ( I , I ) α3 ngbGAlgoGenSP = ngbGAlgoGen5.3.4 Travail SIMD avec les vecteurs paquetésLes opérations géodésiques <strong>pour</strong> les vecteurs paquetés sont directement dérivables en tant que spécialisation<strong>de</strong> fonctionnement du skeleton géodésique ngbGAlgoGen (présenté par l’algorithme 5.9)car ce <strong>de</strong>rnier est assez général <strong>pour</strong> englober également le travail avec les vecteurs paquetés. L’algorithme5.11, qui définit le skeleton algorithmique ngbGAlgoGenSIMD, nous présente <strong>la</strong> forme formelle<strong>de</strong> cette spécialisation.Le travail SIMD <strong>pour</strong> les superpixels est également possible. La manière dont on construirait unskeleton algorithmique qui travaillerait avec les superpixels composés <strong>de</strong>s vecteurs paquetés et avec <strong>de</strong>ssuperpixels <strong>de</strong> l’image du masque est intelligible à partir <strong>de</strong> <strong>la</strong> <strong>de</strong>scription que nous avons faite dans cettesection.117

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!