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.

CHAPITRE 5<strong>Algorithmes</strong> <strong>de</strong> voisinagenon dépendants du sens du parcoursCe chapitre sera consacré aux opérations <strong>de</strong> base <strong>de</strong> <strong>la</strong> <strong>morphologie</strong> <strong>mathématique</strong> qui travaillentlocalement sur le voisinage d’un pixel ou sur un autre groupe <strong>de</strong> pixels défini par l’élément structurantet où les résultats que nous obtenons sont indépendants <strong>de</strong> l’ordre dans lequel les pixels sont traités.Nous parlons ainsi <strong>de</strong>s opérations indépendantes du sens du parcours <strong>de</strong> l’image. Il s’agit, en effet,d’un groupe <strong>de</strong>s opérations ensemblistes constituant un <strong>de</strong>s piliers <strong>de</strong> <strong>la</strong> <strong>morphologie</strong> <strong>mathématique</strong> quisont <strong>la</strong>rgement utilisées dans d’autres algorithmes plus complexes ; ce<strong>la</strong> s’effectue très fréquemmentd’une façon répétitive (citons comme exemple Beu90 les opérations géodésiques, le SKIZ et <strong>la</strong> ligne <strong>de</strong>partage <strong>de</strong>s eaux (LPE) par SKIZ). L’implémentation directe <strong>de</strong> <strong>la</strong> définition <strong>de</strong> ces opérations et <strong>de</strong>sopérations dérivées <strong>de</strong> ces <strong>de</strong>rnières nous conduit aux procédés utilisant abondamment <strong>de</strong>s opérationsmorphologiques <strong>de</strong> base et <strong>de</strong>s fonctions logiques.C’est <strong>pour</strong>quoi il est primordial <strong>de</strong> pouvoir exécuter ces opérations le plus efficacement possible surune architecture donnée. On ressent ce besoin en particulier lors d’un traitement <strong>pour</strong> les applicationsen temps réel où le temps du calcul est très précieux et nous ressentons ce besoin d’autant plus si nousutilisons un matériel embarqué <strong>pour</strong> l’exécution. Dans le cas contraire, nous <strong>pour</strong>rions nous retrouveravec <strong>de</strong>s temps <strong>de</strong> traitement non satisfaisants <strong>pour</strong> un algorithme composé qui fait appel à plusieursdizaines, centaines ou même à <strong>de</strong>s milliers d’itérations <strong>de</strong> ces opérations <strong>de</strong> base.Nous allons présenter les algorithmes qui décrivent <strong>la</strong> façon générale du calcul <strong>de</strong> ces opérationset puis, nous montrerons <strong>de</strong>s approches plus efficaces au calcul <strong>de</strong> ces opérations sur les architecturesavec les capacités SIMD. Plus loin dans ce chapitre, nous allons également présenter les approches quiren<strong>de</strong>nt possible l’évaluation <strong>de</strong> ces opérations sur les GPU.Vu que les opérations morphologiques sur le voisinage local entrent entièrement dans <strong>la</strong> logique ducalcul avec les kernels d’exécution, nous transposons leur traitement en traitement en flux <strong>de</strong> données.Sachant que c’est le principe qui est important, nous n’allons présenter dans <strong>la</strong> suite que les skeletonsalgorithmiques <strong>de</strong> travail sur le voisinage. Un tel skeleton sera exprimé formellement par une fonctiondu <strong>la</strong>mbda calcul. Les opérations spécifiques <strong>de</strong> <strong>la</strong> <strong>morphologie</strong> <strong>mathématique</strong> seront obtenues par <strong>la</strong>spécialisation <strong>de</strong> fonctionnement <strong>de</strong> ces skeletons <strong>pour</strong> <strong>de</strong>s cas d’utilisation particulière.5.1 <strong>Algorithmes</strong> élémentaires <strong>pour</strong> les GPP5.1.1 Approche naïve à l’implémentation <strong>de</strong>s opérations sur le voisinageLa construction <strong>la</strong> plus simple d’un algorithme travail<strong>la</strong>nt sur le voisinage nous conduit à l’implémentationque nous appelons approche naïve. L’appel<strong>la</strong>tion naïve est due au fait que nous utilisons <strong>la</strong>fonction générique <strong>pour</strong> extraire un pixel et ses voisins, une fonction qui est complexe et qui effectue99

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

Saved successfully!

Ooh no, something went wrong!