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
- 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