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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Jaromír BRAMBOR9.5. EXEMPLE D’ESTIMATION PRATIQUE DE LA COMPLEXITÉ DES ALGORITHMES DE VOISINAGEPour illustrer cet exemple, nous présentons dans <strong>la</strong> table 9.1 les temps du calcul <strong>de</strong> l’opération additionavec saturation que nous avons obtenus comme <strong>de</strong>s résultats expérimentaux.dimensions volume <strong>de</strong> données métho<strong>de</strong> temps tauxd’image manipulé d’implémentation en ms d’accélérationgénérique 0.175 0.26128 2 × 8bits 3*16 ko = 48 ko via pointer++ 0.045 1.0multimédia 64 bit 0.005 9générique 0.69 0.28256 2 × 8bits 3*64 ko = 192 ko via pointer++ 0.19 1.0multimédia 64 bit 0.03 6.3générique 3.00 0.2512 2 × 8bits 3*256 ko = 768 ko via pointer++ 0.60 1.0multimédia 64 bits 0.40 1.5Opération travail<strong>la</strong>nt avec 3 images, chacune dans une zone <strong>de</strong> mémoire distincte. L’implémentation génériqueutilise les fonctions getPixel()/setPixel() ; l’implémentation via pointer++ travaille élément par élément en utilisantles pointeurs ; l’implémentation multimédia 64 bits utilise les instructions spéciales SIMD <strong>de</strong> 64 bits <strong>pour</strong>évaluation. Machine : Intel Pentium 4 @ 2.4 GHz, single thread, 8 ko L1, 512 ko L2 cahce, Linux Mandrake 9.2.Compi<strong>la</strong>teur Intel ICC 8.1, optimisations manuelles dans le cas multimédia 64 bits.TAB. 9.1 : Temps du calcul <strong>de</strong> l’opération addition avec saturation sur les images dont les éléments sont dutype unsigned integer 8bitIl est évi<strong>de</strong>nt que <strong>pour</strong> le volume <strong>de</strong> données traitées <strong>de</strong> 48 ko et 192 ko qui entrent dans <strong>la</strong> mémoirecache L2 <strong>de</strong> notre machine (512 ko), les taux d’accélération 9 et 6.3 sont cohérents avec <strong>la</strong> valeur attendue<strong>pour</strong> le travail SIMD <strong>de</strong> 64 bits qui <strong>de</strong>vrait nous fournir, en théorie, le taux d’accélération égale à 8. Enrevanche, <strong>pour</strong> les images 512 2 dont <strong>la</strong> taille correspond aux volume manipulé <strong>de</strong> 768 ko, nous dépassonsles capacités <strong>de</strong> notre architecture ; ce<strong>la</strong> se reflète sur le temps du calcul qui dépasse les temps que l’onpouvait espérer en faisant une simple extrapo<strong>la</strong>tion <strong>de</strong>s résultats précé<strong>de</strong>nts. Le taux d’accélération tombedans ce cas à une valeur très décevante 1.5.Cet exemple très pratique nous démontre que notre estimation <strong>de</strong>vrait inclure également dans le coût<strong>pour</strong> les opérations avec <strong>la</strong> mémoire µ et ν un terme supplémentaire dont le comportement serait nonlinéaireet dépendant <strong>de</strong> <strong>la</strong> taille <strong>de</strong> l’image et <strong>de</strong> <strong>la</strong> taille <strong>de</strong> <strong>la</strong> mémoire cache. Nous pouvons l’exprimerpar <strong>la</strong> décomposition <strong>de</strong>s coefficients du coût µ et ν comme :µ = µ 1 + µ 2 (MN)ν = ν 1 + ν 2 (MN)où les premiers termes µ 1 et ν 1 expriment les coûts que l’on paye <strong>pour</strong> un accès aux données présentesdans <strong>la</strong> mémoire cache ; et où les <strong>de</strong>uxièmes termes µ 2 et ν 2 , qui sont les fonctions <strong>de</strong> <strong>la</strong> taille <strong>de</strong> l’imageMN expriment les coûts re<strong>la</strong>tifs au comportement particulier lors du chargement <strong>de</strong> données dans <strong>la</strong>mémoire cache en cas <strong>de</strong> leur absence.9.5 Exemple d’estimation pratique <strong>de</strong> <strong>la</strong> complexité <strong>de</strong>s algorithmes <strong>de</strong> voisinageEn ce qui concerne <strong>la</strong> complexité <strong>de</strong> l’approche naïve, il ne suffit pas d’avoir que le skeleton algorithmiquengbAlgo <strong>pour</strong> son évaluation. Ce skeleton est très générique <strong>pour</strong> pouvoir effectuer l’étu<strong>de</strong> <strong>de</strong><strong>la</strong> complexité en ne se basant que sur lui. Il faut spécifier également les scénarios <strong>de</strong> son utilisation quisont en directe correspondance avec les algorithmes concrets dilSQR et dilHEXR que nous venons <strong>de</strong>présenter.L’approche naïve telle qu’elle est définie est générique. Elle utilise <strong>la</strong> fonction d’extraction du voisinagequi teste <strong>pour</strong> chaque accès au voisin si celui est inclus dans le domaine <strong>de</strong> l’image. Étant donnéune image <strong>de</strong> M × N pixels, N, M ∈ N, un élément structurant composé <strong>de</strong> K vecteurs, K < MN.181

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

Saved successfully!

Ooh no, something went wrong!