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.

<strong>Algorithmes</strong> <strong>de</strong> <strong>la</strong> <strong>morphologie</strong> <strong>mathématique</strong> <strong>pour</strong> les architectures orientées fluxJaromír BRAMBORÀ partir <strong>de</strong> ces indices, nous pouvons estimer <strong>la</strong> complexité <strong>de</strong> l’approche naïve par O comme :C N = O(KMN) = O(KN 2 ) (9.4)Pour exprimer <strong>la</strong> complexité et sa structure plus en détail, nous <strong>de</strong>vons spécifier d’autres paramètrescruciaux. Que α(K) désigne le coût du calcul <strong>de</strong>s opérations arithmétiques ou logiques dans le kernel, cecoût et une fonction du nombre <strong>de</strong>s éléments <strong>de</strong> l’élément structurant. Que L désigne le nombre d’accèsqui <strong>de</strong>vrait être effectués au-<strong>de</strong>là du domaine <strong>de</strong> l’image lors <strong>de</strong> l’extraction <strong>de</strong>s voisins. Que τ désignele coût que nous payons <strong>pour</strong> tester si l’in<strong>de</strong>x d’un élément est dans le domaine <strong>de</strong> l’image ou pas etque µ désigne le coût d’accès à un élément dans a mémoire et que π désigne le coût <strong>de</strong> l’obtention d’unélément au-<strong>de</strong>là <strong>de</strong>s bords <strong>de</strong> l’image.Lors du calcul d’un algorithme <strong>de</strong> <strong>la</strong> <strong>morphologie</strong> <strong>mathématique</strong> qui utilise le skeleton algorithmiquengbAlgo, <strong>la</strong> complexité pratique peut être exprimé comme :C N = Θ(α(K)MN + τKMN + µ(KMN − L) + πL) (9.5)où le premier terme α(K)MN désigne le coût <strong>de</strong>s opérations arithmétiques, le <strong>de</strong>uxième τKMN lecoût <strong>de</strong>s testes si l’élément à extraire est à l’intérieur du domaine, troisième µ(KMN − L) représentele coût d’accès à <strong>la</strong> mémoire <strong>pour</strong> les éléments qui sont à l’intérieur du domaine. Le quatrième πLreprésente un coût généralisé <strong>pour</strong> l’obtention <strong>de</strong>s éléments qui sont à l’extérieur du domaine, ce termepeut exprimer aussi bien le coût d’un bord d’une valeur constante mais également le coût d’extractiond’un pixel du domaine <strong>de</strong> l’image si nous travaillons avec les bords qui reflètent le contenu <strong>de</strong> l’image.L’équation 9.5 peut être récrite comme :C N = Θ((τ + µ)KMN + α(K)MN + (π − µ)L) (9.6)L’équation 9.6 nous démontre <strong>la</strong> structure <strong>de</strong>s coûts <strong>de</strong> cette approche naïve. Les idées <strong>pour</strong> une amélioration<strong>de</strong>s performances surgissent directement <strong>de</strong> cette équation et nous verrons par <strong>la</strong> suite commentnous pouvons réduire <strong>de</strong>s coûts en changeant <strong>la</strong> structure <strong>de</strong> notre algorithme.En ce qui concerne les stratégies <strong>de</strong> parallélisation <strong>de</strong> cette approche naïve, nous exploiterons lesparadigmes <strong>de</strong> <strong>la</strong> parallélisation <strong>de</strong> données et <strong>la</strong> parallélisation <strong>de</strong>s tâches. La forme exacte <strong>de</strong> parallélisationdépend <strong>de</strong>s possibilités <strong>de</strong> notre matériel parmi lesquelles <strong>la</strong> réplication fonctionnelle exprimépar le skeleton farm est <strong>la</strong> plus simple est conduirait à un changement dans l’algorithme 5.1 dont nousprésentons ici les lignes changées et où nous utilisons à <strong>la</strong> p<strong>la</strong>ce <strong>de</strong> <strong>la</strong> fonction map <strong>la</strong> fonction farm :4 ◦ (farm op)5 ◦ (farm (extr ar))Ce changement est mineur en ce qui concerne <strong>la</strong> forme <strong>de</strong> cet algorithme mais il introduit <strong>de</strong>s conséquencesmajeures sur <strong>la</strong> conception <strong>de</strong> l’architecture et sur les performances. Vu que l’extraction duvoisinage d’un pixel peut prendre un temps différent et le plus souvent plus long que le calcul <strong>de</strong> l’opérationdu kernel, les stratégies <strong>de</strong> parallélisation peuvent varier fortement. Pour le bon équilibre <strong>de</strong> <strong>la</strong>charge <strong>de</strong>s blocs dans le pipeline d’exécution, nous pouvons choisir, dans le cas général, <strong>la</strong> multiplication<strong>de</strong>s moyens matériels différente <strong>pour</strong> le kernel d’extraction <strong>de</strong>s voisins et <strong>pour</strong> le kernel <strong>de</strong> l’opérationmorphologique.Notons que d’exprimer <strong>la</strong> complexité d’une telle stratégie <strong>de</strong> parallélisation à partir <strong>de</strong> l’équation 9.4à l’ai<strong>de</strong> d’O posera <strong>de</strong>s problèmes car cette formule ne décrit pas explicitement <strong>la</strong> complexité <strong>de</strong>s différentesparties du pipeline d’exécution mais celle du pipeline tout entier. C’est <strong>pour</strong>quoi nous nous basonssur l’équation 9.6 <strong>de</strong> <strong>la</strong> complexité pratique où nous distinguons les opérations avec <strong>la</strong> mémoire <strong>de</strong>sopérations arithmétiques. Si E est le nombre <strong>de</strong>s unités qui sont dédiées à l’exécution en parallèle <strong>de</strong> <strong>la</strong>fonction d’extraction <strong>de</strong>s voisins et P est le nombre <strong>de</strong> processeurs qui sont dédiés au calcul <strong>de</strong> l’opérationsur le voisinage en parallèle, <strong>la</strong> complexité qui estime le temps du calcul <strong>pour</strong> <strong>la</strong> configuration182

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

Saved successfully!

Ooh no, something went wrong!