Home
        Réalisation de la LPE par FAH parallèle
         Contents
1.                                                                                                                            1  actif 54  5 5   4 5  30 15  211  2 4111  15 10  3  4 1 2  1411 3 11  30 20 12  etc  4 1  3 1  2 1  1 4  1 3  5 1 2  1 1  20  6  5 4  4 4  ge   3 4  mage margueur 2 4  2   7 2 2  2 1  11  8  9                                   tape 4    52    Activit   des  processeurs Situation des FAH                                                                                                                                                                                                             1 5 4  5 5 4 5  30 15  3 2  be 4252  2  actif 41 12  15 10  3  4 1 2  1 411 3 1 1  30 20 12  etc  4 1  3 1  2 1  1 4  1 3  5 12  1 1  20  6  5 4  44  3 4  Image marqueur 2 4  g q 2 3  7 2 2  SI  11  8  9          Propagation     tape 5    53       5  5  5  191919101910 15  15 15  15       5 10  5 1191919101010 19 15 15  15       515  5   10 10 10 10 10 15 1515 15  15       10 10 10 10 15  15  15 15 15 15  15 15  15                                                                                                                                                                               Image marqueur    Propagation     tape 6    54       Activit   des  processeurs    actif    Situation des FAH    5 5    4 3  4 2  4 1    15    1 4 1 3    30 20                     0    N      re NU R    D           5 4  44  3 4  24  23  22  2 1          Activit   des  processeurs Situation
2.            m  moire M  moire    ep FAH LABEL                                  3 m  moire  rocesseur     NG          m  moire  FAH          F  e                    Figure 32   un processeur par pixel de la File d   Attente courante    En ce qui concerne le bus d   change  nous proposons de se baser sur le principe des  anneaux de processeurs tel que celui illustr   dans la Figure 33   chaque processeur  re  oit des jetons venant des processeurs situ  s    sa gauche  Chaque processeur   met  vers les processeurs situ  s    sa droite les jetons qui venaient de sa gauche et qui ne  lui   taient pas destin  s ainsi que ses propres jetons        processeur 1  processeur 8          processeur 2    Le    processeur 7 processeur 3    AR    processeur 4                                lt     processeur 6       processeur 5                Figure 33   anneau de processeurs    39    Cette architecture permet de r  partir uniform  ment la charge de travail concernant  Tempilement et le d  pilement quel que soit le type d image  Il reste    r  soudre le  probl  me de contention de bus au niveau de l   acc  s    la m  moire LABEL     4 6 Conclusion    La solution consistant    partager l   image de d  part en imagette est la seule qui  permette de distribuer compl  tement la m  moire sur les processeurs  C   est la raison  qui a motiv   le d  cision d   tudier plus sp  cifiquement l algorithme sous jacent     cette architecture     5  Parall  lisation par imagettes   traitement parall  le  di
3.   limit  s sur la topographie seront    la m  me altitude  Figure 2   Ce fait est  fondamental  nous y reviendrons par la suite        Figure 2  Inondation de la surface topographique d  finie par une fonction    Supposons de plus que l on emp  che les eaux provenant de lacs diff  rents  donc de  minima diff  rents  de se m  langer en construisant sur la surface topographique un  barrage toutes les fois o   une telle   ventualit   pourrait se produire  Figure 3                                                         Barrage    Figure 3  Construction d un barrage  ligne de partage des eaux  entre les  diff  rents bassins versants    Lorsque la totalit   de la surface topographique aura   t   engloutie  seuls les barrages    mergeront  d  limitant des lacs en nombre   gal au nombre de minima de la fonction  f  Ces barrages constituent ce qu on appelle la ligne de partage des eaux de f  Quant   aux lacs  ce sont les bassins versants associ  s aux minima de f  Figure 4         Bassins versants    Minima       Ligne de partage des eaux    Figure 4  Ligne de partage des eaux  LPE  et bassins versants d une fonction    On remarque imm  diatement qu il n est pas n  cessaire de faire appara  tre r  ellement    les lignes de barrage  On pourrait imaginer de colorier diff  remment les eaux  appartenant    des bassins versants diff  rents  Cette op  ration s assimile    un    tiquetage et les lignes de partage des eaux sont alors d   paisseur nulle  Ces deux  variantes conduisent    des 
4.   me diff  rence est qu on n adjoint pasa     les minima de f apparus    au niveau i  En effet  ces minima ne sont plus les sources de l inondation  Cette  diff  rence explique   galement pourquoi cet algorithme est plus simple que  l algorithme classique  En effet ce dernier combine    la fois la construction de la LPE     chaque niveau de seuil et l extraction des   ventuels minima    ce niveau   L alsgorithme classique appara  t alors comme un cas particulier de la LPE contr  l  e  par marqueurs  Il suffit en fait de d  tecter les minima de la fonction f et de prendre  ces minima comme ensemble marqueur M  C est pourquoi  les algorithmes de LPE  analys  s dans cette   tude sont uniquement des algorithmes de LPE contr  l  es par  marqueurs     2 4 Caract  ristiques fondamentales de la LPE    Certaines caract  ristiques fondamentales de la LPE tant au niveau de sa d  finition  que de sa r  alisation doivent   tre soulign  es  Ce sont essentiellement le caract  re non  local de la transformation et la hi  rarchie particuli  re engendr  e par le processus  d inondation notamment sur les plateaux     24 1 La non localit   de la LPE    Une ligne de partage des eaux est un objet non local  Cela signifie qu il est impossible  d affirmer qu un pixel donn   d une image appartient    la LPE par une simple  observation locale de son environnement  m  me si on   tend l analyse au del   de ses  voisins imm  diats   La meilleure preuve de cette impossibilit   est que l on peut  construir
5.   tiquet   ou          e dans le cas o   V n   est pas encore   tiquet   alors     e   tiquetage de V par le label de pc    e empilage de l adresse de V dans      FAH     Cela signifie que pour traiter     dans le cas o   V n   est pas encore   tiquet    il faut  acc  der deux fois    la m  moire image LABEL  en lecture puis en   criture   une fois la  m  moire image NG et une fois la m  moire FAH     Dans le cas o   V n appartient pas    la m  me imagette que pc  il est donc pr  f  rable  que V soit trait   par le processeur associ      V    partir d   une requ  te faite par le  processeur qui a d  pil   pc     Notons P V  le processeur traitant l imagette contenant     Pour que P V  puisse    tiqueter    et l   empiler dans sa FAH il faut qu il connaisse     e l adresse de V       le label de pc   Avant de d  terminer les informations    envoyer au processeur r  cepteur   consid  rons les diff  rents cas d   change de pixels entre processeurs illustr  s dans la  Figure 28  Dans la Figure 28 a  nous avons repr  sent   le cas des pixels situ  s aux  angles des imagettes  Dans ce cas  le processeur traitant pc doit envoyer une requ  te     ces trois processeurs voisins pour qu ils   tiquettent les pixels les concernant et  adjacents    pc  La majorit   des cas est repr  sent   par la Figure 28 b  Le processeur  traitant pc doit faire une requ  te    son processeur voisin pour qu il traite les 3 pixels  voisins de pc le concernant     Afin de r  duire les   changes entre proces
6.  3  5 1 2  1 1  20  6           4 5  3 5     P 2 5  Image margueur 14  7  actif 12  1 5 1 1  30 12  8  9       Propagation     tape 9    57    Activit   des  processeurs Situation des FAH                                                                                                                                                                                           1 54  5 5   4 5  30 15  359  2 5  1 5  3 4  44  4 3  42  2 41  15  3  4  actif  etc  4 1  3 1  2 1  1 4  1 3  5 1 2  1 1  20  6  Image marqueur  7  actif  1 5  30  5 1  4 1  8 31  1 1 2 1  30 13  9       Propagation     tape 10    58    Activit   des  processeurs Situation des FAH                                                                                                                                                                                        1 5 4   5 5  4 5   30 15   3 5   2 5   1 5   3 4   44   4 3   4 2   2 4 1   15  3   4  actif  5  6  Image marqueur   7   1 5   30   9 2   ete 4 2   8 actif 12132   1 1 2 2   30 14  9    Propagation     tape 11    59    Activit   des  processeurs Situation des FAH                                                                                                                                                                                 5 4  5 5   4 5  30 15  3 5  2 5  1 5  3 4  44  43  42  i SM  15  3  4  actif  5  6  Image margueur  7  1 5  30  5 2  42  S 1 213 2  1 1 2 2  30 14  9    Propagation     tape 12    60    
7.  aboutissant    un blocage    Nous avons donc d  cid   de baser l   change de pixels sur le principe de la boite aux  lettres  Cela signifie que les pixels   mis par les processeurs voisins sont stock  s dans  une zone tampon en attendant d     tre trait  s  Chaque processeur doit regarder  r  guli  rement si sa Zone tampon n   est pas vide  Si c est le cas  il doit traiter les pixels  re  us jusqu           que la zone tampon soit vide    Le moment o   les pixels re  us doivent   tre trait  s par rapport au pixel de la file  d attente locale n   a pas d importance  En effet  on a vu que les pixels d un m  me  niveau de gris o      la m  me distance du bord descendant dans un niveau de gris  donn   peuvent   tre trait  s dans n importe quel ordre  On    donc le choix de les  traiter     e apr  s avoir d  pil   o   empil   un pixel de la FA courante     e apr  s avoir d  pil   un pixel et trait   tous ses pixels voisins     e au moment o   le processeur a vid   sa FA courante     N  anmoins  plus on privil  gie le traitement des pixels de la FA locale par rapport  aux pixels re  us  plus la taille de la zone tampon doit   tre importante     4 3 7 Perspectives    Dans le cas d   un partage selon une matrice carr  e  les processeurs qui traitent les  imagettes non situ  es au bord de l   image globale   changent des pixels avec 8  processeurs voisins comme ceci est illustr   dans la Figure 30  Cependant  comme  nous l avons montr   dans la Figure 28 a  les liens diagonaux entre 
8.  bit  constant   les points des plateaux seraient trait  s l un apr  s l autre sans tenir compte  de leur distance au bord descendant  La propagation le long des petits plateaux serait  alors beaucoup plus rapide que sur les grands  Cette mod  lisation n est pas  int  ressante pour plusieurs raisons       la r  gle de propagation sur les plateaux n est pas la m  me que sur le reste de la  surface topographique  Il semble difficile de justifier pourquoi une inondation    d  bit  constant devrait   tre la r  gle sur les plateaux alors que ce n est manifestement pas le  cas sur le reste de la surface topographique puisque la hauteur de l inondation est la  m  me pour tous les bassins versants et ceci quelque soit leur volume      Cette r  gle induirait un positionnement diff  rent de la LPE sur les plateaux qui a  toutes les chances d   tre biais        Le gain en vitesse serait illusoire puisque  quelque soit la r  gle d inondation  il est  indispensable d attendre que l ensemble des plateaux soient inond  s pour poursuivre  le processus  Or dans tous les cas de Figures  le nombre de points des plateaux     traiter reste inchang       14    2 4 3 Les autres biais de l algorithmique    En dehors des erreurs grossi  res qui peuvent entacher la LPE si l algorithme utilis    fait table rase des hi  rarchies de l inondation d  crites plus haut  il existe aussi des  biais engendr  s par les transformations morphologiques utilis  es et notamment par  les transformations homotopiques s
9.  courante au moment o   le  processeur commence    d  piler son premier pixel  La hi  rarchie li  e    la distance  g  od  sique impose qu un processeur ne traite que les x premiers pixels de la file  d attente m  me si d   autres pixels sont venus dans cette m  me file d attente On dira  alors que le processeur est inactif bien que sa file d attente courante ne soit pas vide   Une fois dans cet   tat  un processeur ne peut redevenir actif et traiter les pixels  suivant que si tous les autres processeurs sont   galement inactifs  Ce processus se  r  p  te jusqu    ce que les files d attente courantes de tous les processeurs soient vides   On passe alors au niveau de gris suivant     Nous avons tout d   abord envisag   d effectuer ces deux contr  les au moyen dun  contr  leur centralis    Ce contr  leur re  oit l     tat d activit   de tous les processeurs    27    ainsi que l     tat de leur file d attente courante  Suivant l     tat des processeurs  il  renvoie    chaque processeur un signal de contr  le les faisant passer de l     tat inactif     l     tat actif  Le contr  leur a alors une structure qui d  pend du nombre de processeurs       qui n   est pas en accord avec une architecture   volutive en fonction de ce nombre  de processeurs   C   est la raison pour laquelle nous avons   galement   tudi   le cas d un  contr  le distribu    Ces deux solutions sont pr  sent  es dans le chapitre 5 3 dans le cas  de la parall  lisation    un processeur par imagette        4 2 2 P
10.  de  r  duire leur nombre  aux pixels appartenant aux fronti  res des r  gions   tiquet  s  Ces  jetons transportent une seule information  les coordonn  es du pixel correspondant  dans f ou        3 2 2 2 Fonctionnement  Le fonctionnement de la FAH peut se r  sumer par le diagramme suivant     Tant que la FAH n est pas vide  faire       extraire un jeton x de la FAH    d  terminer les pixels voisins de x qui n ont pas d   tiquette dans g     pour chaque voisin y non   tiquet    faire       assigner    y dans l image g      m  me   tiquette que        ins  rer le jeton y dans la file d attente de la FAH de priorit    correspondant au niveau de gris de y dans f  si elle existe  ou    la file  d attente de plus forte priorit   existant encore        3 2 2 3 Illustration  La Figure 21 montre comment l algorithme fonctionne sur un exemple    21    monodimensionnel tr  s simple  On    repr  sent      gauche la surface topographique f  ainsi que l   image label g  Dans cet exemple la source est simplement constitu  e par  les minima de f  La partie droite montre l   volution de la FAH     22    abedelehijk    3 2 1  8g    abcdefghijk    viv  N  C  Bib   gt     LPE        b  0    abcdefghijk    abcdefghi jk       abcdefghi k         Figure 21  Exemple de fonctionnement de la FAH lors de la r  alisation de la LPE    Initialisation    Une        est cr    e avec quatre niveaux de priorit   correspondant aux quatre niveaux    23    de gris de l image f  Les points fronti  re des minima
11.  des FAH                                                                                                                                                                                                    l 5 4  5 5  4 5  30 15  3 4  44  4 3  10 4 2124  2  actif 41114  15 10  3  4 1 2  1 411 3 1 1  30 20 12  etc  4 1  3 1  2 1  1 4  1 3  5 12  1 1  20  6  5 4  44  3 4  Image marqueur 2 4  2 3  7 22  2 1  11  8  9       Propagation     tape 7    55    Activit   des  processeurs Situation des FAH                                                                                                                                                                                                    1  5 4  5 5 5 i1d1d 14 10 1d 1d 15  15 15  15  15  15 5 5   4 5  5  o  5  1919101010101 15 15  15  15  15       515 15  1d 10 10 10 10 1515115 1915  15  15 25  19 10 10 109 15  15 151515  19 15 15  19  15 15 ia  1 44  43  EN 42  2  actif 41  15  3  4 1 2  14 13 11  30 20 12  etc  4 1  3 1  21  1 4  13  5 1 2  1 1  20  6  5 4  4 4  3 4  Image marqueur 24  2 3  7 2 2  2 1  11  8  9                                   tape 8    56    Activit   des  processeurs Situation des FAH                                                                                                                                                                                                          1 5 4  5 5  4 5  30 15  3 5  2 5  1 5  3 4  44  4 3  42  2 4 1  15  3  4 1 2  1 411 3 1 1  30 20 12  etc  4 1  3 1  2 1  1 4  1
12.  et empiler V n 1   Vn 1    tant le voisin dont le label et le niveau de gris ont   t   lus avant le voisin  Vn     Ainsi  lorsque le traitement du voisinage du pixel Pn 1 est termin    on peut aussit  t  commencer    traiter le voisinage du pixel      de la File d   Attente courante     4 3 Un processeur par imagettes    4 3 1 Introduction    Le mod  le de parall  lisation pr  sent   ci dessous est un mod  le de parall  lisme  spatial   l   image est divis  e      un nombre de blocs  appel  s   galement imagettes     gal au nombre de processeurs  Ainsi  chaque processeur ex  cute l algorithme de  ZPE par FAH sur son propre bloc     4 3 2 Repr  sentation de cette solution    Dans cette repr  sentation  nous avons choisi le cas d   un partage de l   image en  horizontal et en vertical  Ainsi chaque processeur traite une imagette de 2K N  colonnes par 2L N lignes  K et L   tant respectivement le nombre de colonnes et de  lignes de l   image de d  part et N le nombre de processeurs  9 dans notre exemple    Cette parall  lisation est repr  sent  e    la Figure 24     image    niveaux  de gris  image des labels                                           Figure 24   parall  lisation en 9 imagettes    29    Dans cette parall  lisation  les m  moires de l   image LABEL  de l image    niveau de  gris et de la FAH sont distribu  es sur les N processeurs  On a alors  pour chaque  processeur  l architecture repr  sent  e    la Figure 25  La propagation des marqueurs  consiste    propager 
13.  leur File  d    Attente  L adresse des pixels dans chaque imagette      t   repr  sent  e de la mani  re  suivante   ligne  colonne  Voici quelques commentaires sur chacune des   tapes      30                                                                                                                                        Image    niveau de gris Image margueur       Figure 26   image    niveaux de gris et image marqueur de l exemple    Initialisation   chaque processeur stocke dans sa FAH les adresses des pixels d  j   marqu  s et  voisins de pixels non marqu  s  Seules les imagettes 1  5 et 7 ont des marqueurs donc  seuls les processeurs 1  5 et 7 stockent des pixels dans leur FAH     Propagation     tape 1   ce sont les pixels de niveau de gris 0 qui sont trait  s  Seul le processeur 1 est actif  I   d  pile le pixel d adresse  2 2   propage le marqueur 1 vers tous les voisins et les  empile dans la FAH     Propagation     tape 2   il n   y a pas de niveau de gris entre 0 et 5  Durant cette   tape  c   est donc le niveau de  gris 5 qui est trait   par les processeurs 1 et 5  Ce sont des pixels de niveau de gris 10  qui sont   tiquet  s et empil  s dans les Files d   Attente  FA      Propagation     tape 3  il n   y a pas de niveau de gris entre 5 et 10  Ce sont donc les pixels de niveau de gris  10 qui sont maintenant trait  s  Trois processeurs sont simultan  ment actifs   1  5 et 7     Propagation     tape 4   c est toujours les pixels de niveau de gris 10 qui sont t
14.  m  me temps les pixels appartenant     des imagettes diff  rentes      traiter en m  me temps les pixels appartenant    des sources d inondation   marqueurs  diff  rents      r  partir sans consid  ration sur leur position et leur sources d inondation tous les  pixels    traiter sur l ensemble des processeurs disponibles    Ce sont ces diff  rentes approches que nous allons d  tailler dans la suite de ce  document    Signalons enfin qu il est   galement possible d acc  l  rer le traitement en chercher     parall  liser  ou     pipe liner   le traitement r  alis   par chaque processeur de la FAH  sur chaque jeton     4  Parall  lisation de      LPE bas  e sur      FAH    4 1 Point de d  part et Choix g  n  raux    Comme nous l avons dit pr  c  demment  l algorithme de zone de partage des eaux  bas   sur la FAH servira de point de d  part    la parall  lisation  Il s   agit de produire  une image compos  e d   un ensemble de r  gions   tiquet  es s  par  es par une LPE  d   paisseur nulle     Le nombre d op  rations    effectuer est nettement moins important pour la ZPE que  pour la LPE  Dans le cadre d   une architecture multiprocesseur  l implantation de la  LPE n  cessite une grande quantit   d   change entre les processeurs ce qui risque de  ralentir consid  rablement le processus  En effet  il faut conna  tre les labels de tous les  voisins du pixel d  pil   pour pouvoir l   tiqueter  Inversement  il faut conna  tre le  label du pixel d  pil   pour savoir s   il faut empi
15.  m  moires  FAH  LABEL  Niveaux de Gris   sont distribu  es sur l   ensemble des processeurs     e un processeur par marqueur   il y a une FAH par processeur  Dans chacune d elles  sont empil  s les pixels ayant la m  me valeur de label  m  me marqueur   L   tape  d   tiquetage se simplifie puisqu il n   y a plus    d  terminer la valeur du label du  pixel courant  d  pil     Les processeurs n   ont pas de zone m  moire pr  d  termin  e  sur laquelle ils effectuent la propagation  L image LABEL sera donc partag  e         l ensemble des processeurs  L image    Niveaux de Gris est uniquement acc  d  e       lecture et pourra donc   tre dupliqu  e au niveau de chaque processeur    e r  partition uniforme des pixels de la File d   Attente courante sur    processeurs   il     a une FAH par processeur  Une phase d initialisation r  partit les pixels  appartenant aux marqueurs initiaux de mani  re uniforme sur l ensemble des  processeurs  Lors du processus de propagation  chaque processeur r  partit  uniform  ment les pixels    empiler sur les autres processeurs  Pour la m  me raison  que pr  c  demment  l   image LABEL devra   tre partag  e par l   ensemble des  processeurs et l   image    Niveaux de Gris est dupliqu  e au niveau de chaque  processeur     26       parall  lisation du traitement des n pikels  situ  s dans la file d attente courante                              Un processeur Un processeur R  partition uniforme  par margueur par imagette des pixels empil  s  sur n pr
16.  quentiel et parall  le  Il est s  quentiel car  un ordre d inondation doit   tre respect      la fois dans la propagation le long du relief  et des plateaux  Mais ce processus est   galement parall  le  car     un niveau de  priorit   donn    ce sont tous les pixels appartenant    ce niveau qui se propagent en  m  me temps  Or  c est pr  cis  ment ce parall  lisme qu il faut installer dans    24    l algorithme de FAH si l on veut accro  tre les vitesses de traitement  Il faut donc  parall  liser le traitement des pixels de la file d attente qui appartiennent au m  me  niveau de priorit    Cette approche a un double avantage      elle seule permet de r  aliser une LPE respectant les r  gles hi  rarchiques  pr  c  demment   nonc  es      cette fa  on de faire supprime l ordre de traitement artificiel des pixels introduits par  les autres algorithmes  classique ou FAH   Elle est donc plus proche du ph  nom  ne  naturel d inondation et donc susceptible de r  duire sinon d   liminer les biais  apparaissant dans les LPE actuelles    Une fois ceci   tabli  il existe plusieurs fa  ons de s  lectionner les pixels ou les jetons de  m  me niveau de priorit   qui conduisent    plusieurs types d architectures diff  rentes  et    diverses contraintes d utilisation et de partage de la FAH  de la m  moire image et  de la m  moire label  On peut en effet      s  lectionner les pixels selon leur position dans l image  Cela revient    d  couper  l image en plusieurs imagettes et    traiter en
17.  seul  jeton est trait      la fois  D  s qu une file d une priorit   donn  e est vide  elle est  supprim  e et elle ne sera jamais reconstitu  e dans la suite du processus  Si un jeton  de priorit   sup  rieure ou   gale    la priorit   de la file qui a   t   supprim  e arrive  ce  jeton sera plac      la fin de la file de priorit   la plus   lev  e existant encore au moment  de son arriv  e  La sp  cification fonctionnelle d une FAH se fait par le biais d un  nombre r  duit d items       la cr  ation de la FAH      la destruction d une             l insertion d un jeton au sommet d une file de priorit   donn  e      le d  pilage  ou traitement  consistant    fournir l adresse et la priorit   du jeton de  plus haute priorit   arriv   le premier  celui situ   en bas de la pile de plus haute  priorit        3 2 1 Fonctionnement de la FAH    La Figure 19a montre comment une simple file d attente fonctionne  Les jetons  arrivent par le haut et sont retir  s par le bas  structure FIFO  First In First Out    La    19    Figure 19b montre comment une        fonctionne                             b     a    Figure 19  File d attente simple  a  et file d attente hi  rarchique  b     Une FAH est simplement une s  rie de files d attente simples  Chaque file d attente  simple a un niveau de priorit    Dans notre exemple la FAH a quatre niveaux de  priorit   et la file de plus forte priorit   est    droite  Toutes les files sont ouvertes    leur  sommet  ce qui signifie qu    tout moment
18.  sont stock  s dans la        avec  une priorit   correspondant    leur niveaux de gris  Les points b et c avec la priorit   0   le point g avec la priorit   1  L image label contient deux composantes connexes de  valeurs respectives 1 et 2    Construction de la LPE   Le point b de priorit   maximale quitte la         Son seul voisin sans   tiquette est le  point a  Ce point prend donc l   tiquette 1    crite dans la m  moire g  et est plac   dans  la file d attente de priorit   1  Le jeton c est alors d  pil    Son seul voisin non   tiquet    est        prend l   tiquette 2 et le jeton    de niveau de gris   gal    2 est plac   dans le file  de priorit   2  La file de priorit   0   tant alors vide est supprim  e  Le prochain jeton  quittant la file est le jeton g  Ses voisins f et h n   tant pas   tiquet  s  ils re  oivent  l   tiquette 2 et sont stock  s respectivement dans les files de priorit   3 et 2    Le traitement de la FAH se poursuit  a est d  pil   et n empile aucun voisin  La file de  priorit   1   tant alors vide  le d  pilage de la file de priorit   2 commence par le  traitement du jeton d qui empile son voisin e    tiquet   1  suivi du d  pilage du jeton h  qui empile sur la m  me file d attente son voisin 1  1 est alors d  pil      son tour  Ce  jeton empile son voisin j sur la file de plus faible priorit    Cette file est alors trait  e   Les jetons f puis    puis j sont d  pil  s  ce dernier   tant le seul    empiler le jeton     A la  fin du traitement  l i
19.  transferts d informations entre  processeurs pour r  aliser une LPE exacte sur de telles images de grande taille    La suite de l   tude sera consacr  e    l implantation de ces algorithmes dans  l environnement Ptolemy  Elle devra aider    finaliser l architecture d  finitive et elle  fournira des indications de performance et les gains de vitesse esp  r  s en fonction du  type de segmentation et du type d images analys  es     7  Annexe    Cette annexe montre un exemple de propagation des marqueurs dans le cas d   un  partage de l   image      neuf imagettes     chaque   tape est illustr   l     tat des FAH  associ  es    chaque processeur  L   tape d initialisation et les cinq premi  res   tapes de  propagation sont expliqu  es au paragraphe 4 3 3     47       15       15       15       15       20  20       20       25       25       20  20       20          16       16                                              15             Image    niveau de gris                                                                                              Image margueur    Initialisation    48       Activit   des  processeurs    Situation des FAH    2 2          3 3          ei D    rz           D LA                      Activit   des  processeurs Situation des FAH                                                                                                                                                                                                             3 3  3 2  3 1  2 
20.  un jeton peut   tre ins  r   dans la file de  priorit   correspondante  Au contraire  seule la file de plus forte priorit   peut   tre  vid  e  Le jeton qui peut   tre extrait est le jeton de plus forte priorit   arriv   le premier  dans la file  D  s que la file de plus forte priorit   est vide  elle est supprim  e et c est la  file de priorit   imm  diatement inf  rieure qui peut   tre vid  e    son tour  La Figure 20  illustre la derni  re caract  ristique du fonctionnement d une FAH   un jeton de forte  priorit   arrive apr  s que la file de priorit   correspondante ait disparue  Le jeton est  alors ins  r   au sommet de la file courante de plus forte priorit                   jeton de priorit   0    d            File de priorit   1    Figure 20  Prise en compte d un jeton de priorit   plus forte que la priorit   de la file  d attente courante dans la FAH    20    3 2 2 Utilisation dune FAH pour la LPE    La FAH peut   tre utilis  e pour r  aliser rapidement une LPE d une fonction f  contr  l  e par un ensemble de marqueurs M  Chaque marqueur est   tiquet    Chaque  r  gion ou bassin versant en cours de construction conservera l   tiquette du marqueur  qui l aura g  n  r    Un marqueur peut   tre scind   en plusieurs composantes connexes  d  s lors que chacune de ces composantes connexes a une   tiquette commune  La  r  alisation de la LPE peut   tre effectu  e selon deux variantes  Dans la premi  re  les  bassins versants se touchent  On d  signe cette version par le te
21. 00000000000000 000000000000 000000000000 0ene         25  4 1 POINT DE DEPART ET CHOIX                                                      nane eaaa                                              25  4 2 OU EST CE QUI EST PARALLELISABLE TN 26   4 2 1 Parall  lisation des    jetons situ  s dans      pile de niveau de priorit   courant    26  4 2 2 Parall  lisation du cycle de traitement d   un pixel    ss 28  4 3 UN PROCESSEUR PAR IMAGETTES essence seeeererrenseececeenenenneeececeeserenneee secs eserences cesse 29  E ME 29  4 3 2 Repr  sentation de cette solution  29  4 3 3 Exemple de propagation des marqueurs    inserer 30  4 3 4 ChoixXdupartag   del images             nn AM a EE aga a ai 32  4 3 5 Traitement des pixels appartenant aux bords des                                     ss 33  4 3 6 Gestion de l   change des pixels    rennes 34  4 3 7 Perspectives sn ag aaa Na dns a en ee sde nn AKA A NG nd en Pure a a a nie 35  E EE 36  4 4 UN PROCESSEUR PAR MARQUEUR ne naeennan                            36  EE 36  4 4 2 Communication                                                                      38                                                38  4 5 REPARTITION UNIFORME DES PIXELS    EMPILER SUR N PROCESSEURS esse 38     G CONCEUSION E EE aa Na a ner rarement KA ak rene et ag dan entrer GEESS Pa aa Nn da es 40   5  PARALLELISATION PAR IMAGETTES   TRAITEMENT PARALLELE                                        40     L INTRODUCTION  AP NEE    40  5 2 ALGORITHME DE TRAITEMENT 
22. 3  F3  actif     1 acti  12  1 1  5  2  3  Image    niveau de gris 4  3 3  5  6  5 3  5 2  5 1  4 3  4 1  3 3  7 3 2  Image marqueur 31  10  8  9    Propagation     tape 1    49    Activit   des  processeurs Situation des FAH    1 actif                              kaa                                                                                               Image    niveau de gris                            5 actif                     D    RD PDO R          pa                                                                             Image margueur 7       3             O   Un un  ei D              NU       p                   Propagation     tape 2    50    Activit   des  processeurs Situation des FAH                                                                                                                                                                                                                      5 1  52  3  1  actif 54 25  5 5  45  1 5  5 5 5 i1d14 149 109 1d 1d 15  15  15  15  15  15 30 15 10      5 10  5 191910101010 19 15  15  19 15  19  515  5   10 10 10 10 10 1519 1515  15  15  15  14 10 19 14 15  15  15 15 15 19  15  15  15  15  15  2  3  Image    niveau de gris  4  etc  4 1  3 1  21  1 4  13  5 actif 1 2  1 1  20  6  5 4  44  3 4  24  Image marqueur 2 3  7  actif 2 9  21  11  8  9          Propagation     tape 3    51    Activit   des  processeurs Situation des FAH                                                                                     
23. LPE F       Partie  m  canique                      Figure 15  Principe g  n  ral de la segmentation par LPE     16    Tr  s souvent  mais pas exclusivement  la fonction f utilis  e est le module du gradient  car les transitions entre les objets se caract  risent par des variations plus ou moins  fortes de contraste  Les marqueurs M utilis  s d  pendent essentiellement de la nature  et des propri  t  s de luminance  de couleur  g  om  trique ou topologiques des objets     segmenter    On illustrera l utilisation de la LPE sur un probl  me de segmentation automatique de  la chauss  e    partir d une cam  ra embarqu  e dans un v  hicule  La LPE du gradient  de l image originale  Figure 16  produit une forte sur segmentation     ts   te ral ANG  K AE     ee Le     VA DB 080 S E            SZ    Ge PRE    r      SE  gr    Ge  d Ar  Ur       Ca       CH        a   Figure 16  Image de la chauss  e  a  et LPE de son gradient  b   Mais si cette LPE est contr  l  e par un ensemble de marqueurs  Figure 17    d  signant    d une part la chauss  e et d autre part l ext  rieur  la segmentation obtenue est tout     fait satisfaisante  Figure 17b          b     Figure 17  Marqueurs de la chauss  e et de l ext  rieur d  finis manuellement  a    LPE du gradient contr  l  e par ces marqueurs  b     17    Les marqueurs pr  c  dents ayant   t   introduits manuellement  il convient de d  finir  une proc  dure automatique permettant de les g  n  rer  Cette proc  dure est bas  e sur  une segmentati
24. REALISATION DE LA LIGNE DE PARTAGE DES EAUX  PAR FILE D   ATTENTE HIERARCHIQUE PARALLELE    Etude algorithmique    Auteurs  BEUCHER Serge  LEMONNIER Fabrice  SASPORTAS Rapha  l    17 Juin 1997    1  INTRODUCTION                                           NB NONA WA AGE NANG GA NE 3    2  DEFINITION  CONSTRUCTION ET UTILISATION DE LA LPE         600000000000000000 00000000000000 0000 0000000000000000 4  2 1 BID INU DOIN EE 4  2 2 CONSTRUCTION DE LA LPE   L ALGORITHME CLASSIQUE                                                     7  2 3 LA LPE CONTROLEE PAR MARQUEURS eee AGENG aE EN PN NGE ag ga NAN A AG Ga EEE PAN Ng e aeS pa a aaa gan 9  2 4 CARACTERISTIQUES FONDAMENTALES DE LA LBE    11   2 4 1 La non localit   de  la EE 11  2 4 2 Les hi  rarchies dans le ph  nom  ne d inondation ss 12  2 4 3 Les autres biais de l algorithmique ss 15  DI COMMENT UTILISER GABRIEL aa na panata Op nt retient A Vi BE aa aa dires edel aa ea paeka 16   3  PARALLELISATION DE      LPE      essesssessossoossocssoceoccssesosecssesosessossocsocessesossesocosesesessosssosoocssecssceoseesssessosssse 19  3 1 QUELQUES SOLUTIONS AU PROBLEME DE LA VITESSE DE LA                                       19  3 2 LA FILE D ATTENTE HIERARCHIQUE  PRESENTATION ET FONCTIONNEMENT eines 19   3 2 1 Fonctionnement de      FAP  19  3 2 2 Utilisation d une FAH pour la LE    21        PARALLELISATION DE LA FAH rronin a sa a a ag        SN a a dde EE            24   4  PARALLELISATION DE LA LPE BASEE SUR      FAH 60000000000000 
25. algorithmes diff  rents  L algorithme de construction de la  LPE classique appartient    la premi  re variante  On verra que l algorithme par file  d attente utilis   comme point de d  part de l   tude algorithmique proc  de de la  seconde variante  en produisant des lignes de partage des eaux d   paisseur nulle     2 2 Construction de la LPE   l algorithme classique    Cette d  finition de la ligne de partage des eaux en termes d inondation pr  sente    galement l avantage d   tre op  ratoire et de fournir un algorithme direct pour sa  construction  Cet algorithme est bas   sur la reconstruction des seuils successifs de la  fonction f    l aide d une transformation morphologique appel  e squelette par zones  d influence g  od  sique  SKIZ g  od  sique   D  crivons le    l aide d un exemple   Soit f une fonction digitalis  e  et d  signons par Zj      l ensemble des points x  d altitude inf  rieure ou   gale    i    Zi f   x   f x   lt  i     Consid  rons la plus petite altitude io correspondant    un seuil Zio f  non vide  Zio f   peut avoir plusieurs composantes connexes  chacune d elles   tant alors par d  finition  un minimum r  gional de f  Examinons alors le seuil Zio 1 f  imm  diatement  sup  rieur  Ce dernier seuil contient   videmment le pr  c  dent  Soit Z  une  composante connexe de Zio  1 f         a trois relations possibles entre Z et Zio f     Erreur   Source du renvoi introuvable       Z  Z 2 00            b           Figure 5  Relations entre les composantes 
26. arall  lisation du cycle de traitement d   un pixel    Les op  rations    effectuer pour traiter un pixel sont les suivantes    e d  piler un pixel de la m  moire FAH  e lire la m  moire LABEL pour conna  tre le label du pixel d  pil    Pour chaque voisin du pixel d  pil      e lire la m  moire LABEL      Si le pixel voisin n   est pas   tiquet   alors    e   crire dans la m  moire LABEL  e empiler dans la m  moire FAH    File d   Attente    lire la  d  piler un   adresse Pn A  courante D  Pn  NGNE    LABEL    label Pn     op  rations  ex  cut  es  en parall  le       lire 1  label Pn 1    adresse Vn  wah label Vn     adresse Pn 1  LABEL            lire la  m  moire    NG    adresse Vn       M          adresse Vn 1   empiler              ng Vn 1  dans la  A              adresse Vn 1    enre dans  555321 m  moire    label Pn 1   LABEL                      propager le label vers les pixels voisins       Figure 23   parall  lisation du traitement d un pixel    Les n pixels situ  s dans la file d attente courante au d  but de son traitement peuvent    tre trait   simultan  ment  Nous proposons donc d effectuer deux traitements en  parall  le    e d  piler un pixel        et lire son label  label Pn       28    e propager le label du pixel d  pil   avant Pn  Pn 1  vers son voisinage  Cette   tape  peut elle m  me   tre parall  lis  e en deux   tapes    e lire le label et le niveau de gris dun voisin        label Vn  et ng Vn   e   crire le label de Pn 1    l adresse du voisin Vn 1
27. archiques  Diverses pistes ont   t   explor  es  Avant de les d  crire en  d  tail  on rappellera la d  finition de la LPE ainsi que ses deux grands modes  d utilisation  selon qu elle est contr  l  e par marqueurs ou non  Les algorithmes  classiques de LPE seront   galement rappel  s  car ils permettent de mettre le doigt sur  diff  rents probl  mes de fond relatifs    cette transformation  notamment son caract  re  non local   probl  mes qui influencent la vitesse de r  alisation et l exactitude du  r  sultat final  On d  crira ensuite la file d attente hi  rarchique           l algorithme qui  sert de point de d  part aux d  veloppements actuels  Ces d  veloppements visent     parall  liser l algorithme par FAH  Plusieurs solutions seront d  crites   d  coupage de  l image en imagettes et traitement parall  le de ces imagettes  traitement en parall  le  de plusieurs pixels sur la file d attente  traitement en parall  le de marqueurs  Ces  diff  rentes solutions ne sont pas incompatibles  Elles peuvent   tre combin  es   d autant qu on s efforcera de montrer au cours de ce rapport que les performances  d  pendent fortement de la nature des images trait  es et qu une solution unique ne  saurait   tre la plus efficace  On essaiera de comparer les diff  rentes solutions  propos  es et de donner une id  e des gains de vitesse envisageables  bien que ces  estimations n aient pas encore   t   test  es sur des cas concrets  Ces tests seront r  alis  s     la suite de l int  gratio
28. cesseurs  Il n   y a donc pas de temps perdu dans la  communication inter processeur     4 4 3 Contrainte    L inconv  nient de cette architecture est que ses performances sont d  pendantes du  nombre de marqueurs  On doit donc d  terminer une image marqueur avec le plus de  marqueurs possibles et au maximum un nombre   gal au nombre de processeurs     4 5 R  partition uniforme des pixels    empiler sur n processeurs    Le sch  ma cette architecture est repr  sent   dans la Figure 32     s   agit de r  partir les  pixels    empiler uniform  ment dans la FAH locale    chaque processeur     Le traitement des pixels est alors ex  cut   en deux phases          1  re phase   en parall  le  chaque processeur d  pile les pixels situ  s dans sa file  d attente courante et envoie sur le bus d   change les pixels    empiler sous la forme  de jetons  Un jeton est constitu   de l adresse du pixel  de son label et du num  ro  du processeur destinataire  Le num  ro du processeur destinataire est incr  ment       chaque fois qu   un jeton est   mis ce qui permet de r  partir uniform  ment les pixels  sur les FAH locales  Chaque processeur re  oit les jetons dans une bo  te aux lettres     e 2  me phase   une fois que les processeurs ont vid   leur file d attente  ils empilent  dans leur FAH locale les jetons situ  s dans leur bo  te aux lettres     38             m  moire  rocesseur 1                   m  moire  FAH                           m  moire  rocesseur 2     NG    bus  d   change  
29. connexes de deux seuils successifs d une    fonction      Ou bien  Z A Zio f   Dans ce cas  Z est un minimum r  gional de      l altitude 1        Ou encore  Z    Zio f  est non vide et connexe  Dans ce cas  Z repr  sente le niveau     i  1  du lac produit par l inondation du minimum r  gional Z A Zio f        Enfin Z A Zio f  peut   tre non vide et form   de plusieurs composantes connexes   Dans ce cas  Z est la r  union des eaux provenant des diff  rents minima r  gionaux  composant Z A Zio f   Comme cette jonction n est pas autoris  e  il faut donc  construire la ligne de partage des eaux s  parant ces diff  rents lacs    Pour cela  on construit les zones d influence g  od  siques de Z A Zio f  dans Z  Figure  6         SKIZ       Minimum  au niveau    1     b        WO       O  Figure 6  Construction de la        par SKIZ g  od  sique     tape initiale  a   SKIZ  g  od  sique du seuil i dans le seuil i 1  b   ajout des minima    ce niveau  c     Une zone d influence d une composante connexe de Z A Zio f  est constitu  e des  points de Z plus proches au sens de la distance g  od  sique de cette composante  connexe que de tout autre composante connexe de Z    Zio f   Chaque zone  d influence constitue alors un bassin versant  ou du moins sa restriction au niveau 1       1  associ      chaque minimum r  gional  composante connexe  de Z A Zio f      Reprenons alors la totalit   du seuil Zio  1 f   Comme ce qui vaut pour une  composante connexe de Zio 1 f   vaut pour toutes  l
30. e gr  ver fortement la qualit   et l exactitude du r  sultat  Elle a permis    galement de d  gager les parties du processus o   l effort de parall  lisation pouvait    tre entrepris  L analyse d  taill  e des diff  rentes approches possibles a montr   que le  d  coupage en imagettes comme l approche de processeurs distribu  s par marqueurs  pouvaient se montrer d un rendement d  cevant  notamment lorsqu on doit r  aliser  une LPE contr  l  e par marqueurs  parce que dans ce cas  il y a    la fois peu de  marqueurs et les zones    inonder donc les pixels de m  me priorit   ont peu de chance  de se retrouver   quitablement r  partis entre toutes les imagettes  L approche  distribu  e semble donc la plus prometteuse m  me si elle est la plus complexe     mettre en oeuvre en ce qui concerne la gestion des FAH  de la m  moire image et de  la m  moire label  Il est probable cependant que l augmentation de la vitesse de  r  alisation de la LPE n  cessitera une combinaison de ces trois approches associ  e     une structure de type                   au niveau de chaque processeur  L approche  imagette notamment a de l int  r  t ne serait ce que parce qu il faudra bien pour des  raisons de co  t et complexit   de r  alisation limiter la taille des images trait  es   L unique moyen de d  passer cette limitation sera alors de d  couper les grandes  images en imagettes  Il faut donc  quelque soit l architecture finalement retenue    tre  capable de g  rer ce d  coupage et d organiser les
31. e r  activer qu   un sous ensemble de processeurs pour  qui les files d attente locales pr  c  demment trait  es ne sont pas vides     On notera par ready  un indicateur d   tat positionn      true par chaque processeur     qui a termin   de traiter une file d attente  On notera   galement par start_samei  et  start           deux indicateurs autorisant un processeur       traiter soit la file d attente  pr  c  demment trait  e soit la file d attente de priorit     gale    la priorit   de la file    41    d attente pr  c  demment trait  e plus un  Les   quations qui r  gissent ces deux  indicateurs sont      start_nexti    N readyi      O queue_emptyi   start_samei    N                          queue_emptyi     L   algorithme 2 d  crit l   utilisation de ces indicateurs     synchro  readyij  lt   true   wait until  start_next   or start_samei   true   readyi   lt   false   if  start_nexti    true  then  call traitement     else  current_priority  lt   current_priority   1   call traitement   end if   end wait   goto synchro        algorithme 2   synchronisation    Les deux types de contr  le que l   on peut adopter pour g  n  rer les signaux start_nexti  et start_samei sont d  crits dans les paragraphes ci dessous     5 3 1 Contr  le global centralis     Ce contr  le est illustr   par la Figure 34  Le contr  leur global re  oit les signaux read   et queue_emptyi      renvoie    tous les processeurs les signaux start_next et start_same   L   algorithme du contr  leur est le su
32. e relativement facilement des configurations de voisinage d un pixel de  taille aussi grande que l on veut telles que l une fera du pixel central un point de la  LPE et pas l autre  La seule fa  on d affirmer sans ambigu  t   qu un pixel appartient     la LPE est de constater que ce pixel s  pare plusieurs eaux provenant de sources  diff  rentes  Il faut donc propager l inondation  Ce caract  re non local de la LPE  explique   galement pourquoi cette ligne ne suit pas obligatoirement les lignes de  cr  te de la surface topographique dessin  e par la fonction f  C est m  me parfois le  contraire dans le cas par exemple de structures en boutonni  re  Figure 9            Figure 9  Structure en demi boutonni  re   La LPE passe par le thalweg entre les  deux cr  tes    11    On peut noter que le caract  re non local de la LPE n est pas compl  tement g  r   par  les algorithmes pr  sent  s plus haut  En effet  le SKIZ g  od  sique est r  alis   par le  biais de transformations morphologiques locales  des   paississements  homotopiques  et l it  ration de ces transformations ne conduit pas n  cessairement     une v  ritable LPE s  parant des bassins versants diff  rents  C est le cas par exemple  de la fonction pr  sent  e    la Figure 10  L arc AB s  pare le m  me bassin versant  Une  telle ligne de partage est appel  e ligne de partage locale        Figure 10  Ligne de partage locale engendr  e pendant la construction de la LPE    Cette caract  ristique fondamentale de la LPE cons
33. ervant    construire le SKIZ g  od  sique  Cette  transformation utilise des op  rateurs appel  s   paississements r  alis  s    l aide  d   l  ments structurants biphas  s et anisotropes  Pour des raisons de simplicit    algorithmique  ces   l  ments structurants ne sont pas utilis  s en m  me temps mais  direction par direction  Cela g  n  re des biais comme l illustre la Figure 13Figure 13o    ce type de transformation est utilis  e pour effectuer le SKIZ de deux points              Figure 13  Biais dans la r  alisation du SKIZ d      l usage d   paississements non  isotropes    Comme l op  ration est it  rative  les erreurs locales se propagent et peuvent produire  des d  rives consid  rables  La Figure 14 montre l importance de ces variations dans la  construction de la LPE selon que l on utilise un algorithme isotrope     gauche  ou  direction par direction     droite             SE       Figure 14  LPE exacte r  alis  e    l aide d op  rateurs isotropes  a  et LPE classique  biais  e  b     15    Paradoxalement et contrairement aux erreurs qui peuvent se produire si on ne  respecte pas les relations d ordre impos  es par l inondation niveau par niveau puis  sur les plateaux  ces d  fauts apparaissent car on introduit artificiellement ici un ordre  de traitement des pixels alors qu il devraient tous   tre trait  s en m  me temps  On  reviendra sur ce probl  me lors de la pr  sentation des algorithmes de parall  lisation  afin d envisager des solutions pour le r  duire v
34. es bassins versants de f au niveau  17 1 seront constitu  s des zones d influence g  od  siques de Zio  f  dans Zio   1 f   auxquelles viennent s ajouter les minima r  gionaux au niveau i   1  c est    dire les  composantes connexes de Zio 1 f   d intersection vide avec Zio  f        suffit alors de r  it  rer cette proc  dure de construction pour les niveaux 1   2  1  3   etc   De fa  on plus formelle  on peut d  crire cet algorithme    l aide de  l ordinogramme suivant  f sera suppos  e prendre ses valeurs entre 0 et              Initialis ation  W       1   0    SELE g  od  sique de W  dans X    kW    d  tection des minima  au niveau i de       Minima aqout  s    W           dilatation g  od  sique  de W dans X       gt         Minima   X   Z            W Bassins versants       la fin de la proc  dure  W repr  sente les bassins versants de f  et LPE f  WE     2 3 La LPE contr  l  e par marqueurs    Dans la d  finition classique de la LPE  l inondation de la surface topographique  engendr  e par la fonction f se fait    partir des minima de cette fonction  Cependant   rien n interdit de construire une LPE o   l inondation ne serait plus amorc  e par les  minima mais par un ensemble quelconque de sources d inondation  En reprenant  l analogie pr  c  dente  au lieu de percer la surface topographique    l aplomb des  minima de f  on peut le faire    l aplomb de chaque composante connexe d un  ensemble quelconque M  Cet ensemble est appel   ensemble marqueur  L inondation  s ef
35. es plates est conforme    la r  alit    Bien entendu  si un plateau  est inond   par plusieurs sources  les r  gles de construction de la LPE doivent   tre  respect  es et celle ci se construit sur le plateau en fonction des contacts des  diff  rentes eaux provenant des diff  rents lacs adjacents au plateau  Les distances  successives des fronts de propagation correspondent    la distance g  od  sique des  bords descendants du plateau aux autres points dudit plateau  Figure 12         fonction distance g  od  sique de      Figure 12  Plateau A  de bord descendant Yo   Distance g  od  sigue d  finie sur le  plateau       partir des bords descendants    Ce mod  le de l inondation des plateaux engendre une nouvelle hi  rarchie qui  implique que les points du bords doivent tous   tre trait  s partout avant que les  points    la distance 2 soient tous trait  s    leur tour  et ainsi de suite jusqu    ce que  tous les points du plateau aient   t   inond  s  Comme les plateaux n ont aucune raison  d avoir la m  me taille  on voit imm  diatement que leur inondation ne s ach  vera pas  en m  me temps  Cela signifie alors que les premiers plateaux inond  s devront  attendre que tous les plateaux d une m  me hauteur aient   t   inond  s pour que le  processus puisse se poursuivre vers les points de la surface topographique de  hauteur imm  diatement sup  rieure  On pourrait envisager de changer la r  gle de  propagation en rempla  ant le mod  le    vitesse constante par un mod  le    d 
36. fectuant alors    partir de chaque composante connexe g  n  rera autant de bassins  versants correspondants  Par rapport    l algorithme pr  c  dent  on remarquera que  l eau  bien que restant    tout instant au m  me niveau peut   tre amen  e    se d  verser  dans des cuvettes non marqu  es  Figure 7   En reprenant l algorithme de  construction seuil par seuil pr  c  demment utilis    cette LPE est paradoxalement plus  simple    mettre en oeuvre   L initialisation de l algorithme consiste    prendre l ensemble M des marqueurs  comme initiateur des bassins versants     W  M  Puis l inondation au niveau    des bassins versants W   1 s effectue par squelette par  zones d influence g  od  sique des bassins versants au niveau 1 dans l espace  Zi   UM  La Figure 8 illustre l algorithme              Figure 7  D  bordement d un bassin versant actif  marqu    dans un bassin versant  non marqu                  1   2                  LPE    21  Marqueurs    eg  06    Figure 8  Algorithme de ligne de partage des eaux avec marqueurs impos  s   Inondation des sections successives de la fonction     4              a    Deux diff  rences essentielles existent entre cet algorithme et celui de la LPE  classique  d abord le SKIZ g  od  sique s effectue dans Zi   UM et non dans Zi 1 f    En effet  W   doit   tre inclus dans l espace g  od  sique  Or comme                      on n est pas assur   que       soit inclus dans Z   f   d o   l adjonction de      ce niveau    10    de seuil  La deuxi
37. it dans cette image     La m  moire FAH est distribu  e au niveau de chaque processeur  N  anmoins  ne  connaissant pas a priori la surface occup  e par chaque marqueur  les FAH locales  devront avoir une taille   quivalente    celle n  cessaire pour une architecture  monoprocesseur  Dans chacune d elle sont stock  s des pixels de m  me label  L image     niveau de gris   tant uniquement acc  d  e en lecture  elle peut   tre dupliqu  e au  niveau de chaque processeur     Cette r  partition des pixels suivant leur label permet de simplifier l algorithme de  ZPE de d  part  Celui ci est alors le suivant      e cr  ation de la FAH associ  e au label     elle contient autant de piles qu il y a de  niveaux de gris dans l   image    segmenter   e initialisation de la FAH associ  e au label     on empile dans             les pixels  appartenant aux marqueurs de label k qui sont voisins de pixels non marqu  s    e gestion de la         processus de propagation    elle consiste    it  rer les deux    tapes suivantes jusqu    ce que la FAH soit vide              d  pile le premier pixel de la file d attente courante  Appelons ce pixel               37    e on empile dans la File d   Attente correspondant    leur niveau de gris tous les  pixels voisins de Po qui n   ont pas d  j     t     tiquet  s et on leur affecte le label  k     4 4 2 Communication inter processeur    L image LABEL   tant partag  e entre les processeurs  il n   est plus n  cessaire       changer des labels entre pro
38. ite que d autres  Cependant  on a vu plus haut que la  seule fa  on d obtenir la LPE est de mettre en   vidence le contact des eaux provenant    12    de sources d inondation diff  rentes  Dans l hypoth  se d une vitesse d inondation  diff  rente  cela signifie qu il faudrait   tre capable d arr  ter momentan  ment  l inondation d un bassin versant lorsqu on se rend compte qu il risque de d  border  dans un autre  voir Figure 7  parce que l eau passe par dessus la LPE qui les s  pare   Or on a vu qu on ne dispose d aucun moyen de rep  rer cet   ventuel d  bordement     cause de la non localit   de la LPE  Cette approche algorithmique est donc vou  e     l   chec                                   l  re   tape de compl  tude      TANT DO    OO ETA  NEEN  e    Fl    chage compl  t                        Figure 11  Fl  chage d une fonction   la compl  tude du fl  chage   limine les zones  plates    2 4 2 2 Propagation le long des plateaux   La deuxi  me caract  ristique importante de la LPE concerne la propagation de  l inondation sur les zones plates de la surface topographique  L alsgorithme classique  est construit de mani  re    simuler une propagation    vitesse constante   l eau arrive  sur le bord descendant du plateau et inonde ce plateau en se propageant    vitesse  constante    partir du bord  Le front d inondation est    chaque instant et partout    la    13    m  me distance du bord et ceci pour l ensemble des plateaux  Cette mod  lisation de  l inondation sur les zon
39. ivant     ctrl_gb  start_next  lt   false   start_same  lt   false   wait until  mreadyij   true   if  Nqueue_empty i    true  then  start_next  lt   true   else    start_same  lt   true   end if   end wait   goto ctrl_gb        algorithme 3   contr  leur    42    Contr  leur global                         Figure 34   Contr  le centralis      5 3 2 Contr  le global distribu      Ce contr  le est illustr   par la Figure 35  Les signaux start_next et start_same sont  g  n  r  s par le processeur Poo  Ce dernier comporte un module de contr  le qui  ex  cute l algorithme suivant     ctrl_dt  start_next  lt   false   start_same  lt   false   wait until  readyr1 71   true   if  queue_emptyr1 71   true  then  start_next  lt   true   else    start_same  lt   true   end if   end wait   goto ctrl_ dt        algorithme 4   contr  le distribu      43                                                             ucs  unit   de calcul et de synchronisation       Figure 35   Contr  le distribu      5 4 Communication    Quand un ou plusieurs processeurs d  pilent des pixels appartenant au bord de leurs  sous images  ils doivent communiquer la position de ces pixels ainsi que leurs labels  aux processeurs ayant une fronti  re commune  Les proc  dures de communication  sont d  crites par la Figure 3  Chaque processeur communique avec chacun de ces  huit voisins au moyen de deux tampons  un tampon d   mission et un tampon de  r  ception  Les tampons pour les communications horizontales et vertica
40. le label du pixel d  pil   vers ses pixels voisins non encore    tiquet  s  Dans le cas o   le pixel d  pil   appartient au bord de l imagette  certains  pixels voisins n   appartiennent pas    la m  me zone m  moire que le pixel d  pil        faudra donc   changer des donn  es entre processeurs pour propager le marqueur  entre les pixels du bord des imagettes   ceci est mat  rialis   par le bus de donn  es  inter processeur dans la Figure 25  D autre part  le contr  le global assurant que les  processeurs traitent tous le m  me niveau de gris ou la m  me distance    l   int  rieur  d un niveau de gris donn    est repr  sent   par le bus de contr  le inter processeur  dans la Figure 25           m  moire bus de contr  le    imagette LABEL    inter processeur    bus de donn  es  inter processeur                   m  moire  imagette NG             m  moire  imagette FAH                Figure 25   Interconnection d un processeur    4 3 3 Exemple de propagation des marqueurs    Dans cette section  nous proposons un exemple de propagation des marqueurs avec 9  processeurs et un partage de l   image selon une matrice carr  e  Les images de d  part  sont repr  sent  es dans la Figure 26  Les processeurs ont   t   num  rot  s de 1    9 de la  gauche vers la droite  et de haut en bas  L   tape d initialisation et les premi  res    tapes de propagation sont donn  es en annexe  Sur deux colonnes  nous avons  repr  sent   pour chaque processeur l     tat de leur activit   et l     tat de
41. ler les pixels voisins non encore    tiquet  s     29    Dans cette   tude nous nous sommes donc concentr  s sur la parall  lisation de la ZPE     Rappelons que nous avons postul   que la propagation des marqueurs se faisait     vitesse constante ce qui impose de propager les marqueurs    l   int  rieur de chaque  niveau de gris  plateaux  suivant la distance g  od  sique    partir des bords  descendants     42 Qu est ce qui est parall  lisable      Nous avons d  termin   que seuls deux types de parall  lisation sont possibles    e traiter les    pixels situ  s dans la file d attente courante en m  me temps   e _ parall  liser les   tapes de traitement d   un pixel  d  piler    tiqueter  empiler      L avantage de ces deux techniques est qu   elles peuvent   tre combin  es car la  premi  re approche permet de traiter plusieurs pixels en m  me temps alors que la  deuxi  me approche permet d   acc  l  rer le traitement de chaque pixel     Nous allons d  tailler les diff  rentes architectures envisag  es pour r  aliser ces deux  types de parall  lisation     4 2 1 Parall  lisation des n jetons situ  s dans la pile de niveau de priorit   courant    4 2 1 1 Les trois types d   architectures envisag  es   Nous avons envisag   trois voies de parall  lisation  voir Figure 22          un processeur par imagette   une zone de l   image de d  part  imagette  est affect  e     chaque processeur  Chaque processeur effectue le processus de propagation  uniquement dans cette zone  Les trois
42. les ont des  tailles   gales aux longueurs des bords des sous images  Pour les communications  diagonales les tampons ont une taille unitaire     Les notations utilis  es pour les communications sont donn  es dans Tableau 2                                _5  1          mettre les donn  es x et y dans le tampon d  mission           receive tampon_rx1          r  ceptionner les donn  es x et y du tampon de r  ception        tampon Full indicateur positionn      true si le tampon de r  ception k 1     nest pas vide i    Tableau 2   notations pour les communications    Les indices k et 1 sont relatifs au processeur D    44               0 1    1 1   GTA    4 1    0 1   1     1 1    1 1    1 1  j 1      send_process  for each          V p   V p    a Emi   for each         if p em  send tampon_sk1                       if          for          for     receive_process  while tampon_fullk     true   receive tampon_rKl            for each           V x  a Lmi    if  Yij p       0  then  Yij p   lt        in_HQi  p     Xij    level HO j Kij p    lt   level_HQ   Xi  p      1   end if   end for   end while   if  level HQ   current_priority    0   then  queue_emptyi   lt   true   else    queue_emptyi   lt   false   end if   current_priority  lt   current_priority   1        algorithme 5   proc  dures de communication    5 5 L   algorithme complet    L   algorithme 6 d  crit l   initialisation des files d attente  On notera par  it  un  indicateur autorisant un processeur Pij    initialise
43. mage label g contient les deux bassins versants associ  s aux deux  marqueurs originaux     3 2 24 Discussion    Cet algorithme est rapide puisque chaque pixel n est trait   qu une fois contrairement     l algorithme classique qui repasse sur la totalit   de l image    chaque it  ration  Cet  algorithme respecte   galement les hi  rarchies qui ont   t   mises en   vidence  pr  c  demment  La mont  e uniforme de l inondation est garantie par le fait qu une  file de priorit   donn  e n est trait  e qu    partir du moment o   les files de priorit    sup  rieure sont vides  La hi  rarchie de la propagation sur les plateaux est   galement  respect  e du fait que les premiers voisins des points des bords descendants des  plateaux sont tous trait  s avant les deuxi  mes voisins puisqu ils sont empil  s les  premiers  Les deuxi  mes voisins ne pourront   tre empil  s que lorsque les premiers  voisins seront d  pil  s  Cependant  cet algorithme comme l algorithme classique bas    sur des   paississements direction par direction produit un biais puisqu il introduit un  ordre de traitement arbitraire des pixels de m  me priorit    Ainsi dans l exemple  pr  c  dent  on aurait tr  s bien pu empiler le jeton c avant le jeton b     3 3 Parall  lisation de la FAH    Comment acc  l  rer la construction de      LPE en parall  lisant la FAH  Si on se r  f  re     nouveau au processus d inondation qui constitue la d  finition op  ratoire de la LPE   on constate que ce processus est    la fois s 
44. matique de l image  Tous les points de l image sont trait  s     chaque it  ration  Or seuls les points venant d   tre inond  s et ceux susceptibles de  l   tre m  ritent de l int  r  t  Pour acc  l  rer l algorithme classique  diverses solutions  ont   t   propos  es  On peut r  duire le nombre de niveaux de gris par des  anamorphoses  Cela r  duit le nombre d it  rations mais pas le nombre de points     traiter  On peut   galement sous   chantillonner l image  Cette technique a   t   utilis  e  avec succ  s dans des cas bien pr  cis  Elle ne saurait pr  tendre      tre g  n  rale  Enfin  d autres approches algorithmiques ont   t     tudi  es   fl  chage  algorithmes r  cursifs  et files d attente hi  rarchiques           La        constitue    l heure actuelle la  meilleure solution pour une implantation logicielle de la LPE  Ses performances sur  des machines standards en font une alternative s  rieuse    des processeurs d  di  s   C est pourquoi cette structure algorithmique a   t   choisie comme point de d  part    la  parall  lisation de la LPE     3 2 La file d attente hi  rarchique  pr  sentation et fonctionnement    Une file d attente hi  rarchique peut   tre consid  r  e comme une file d attente  multiple  Les jetons arrivent dans la file et sont trait  s par ordre de priorit    Chaque  jeton est plac      la fin d une file correspondant    son niveau de priorit     il sera trait    apr  s les jetons de m  me priorit   qui sont arriv  s avant lui  Dans la         un
45. mptyi    indicateur positionn      true par le processeur Pi  lorsque la file      d attente qu il a finie de traiter est vide    40    Tableau 1  notations  Le traitement ex  cut   par chaque processeur sur sa file d attente locale est d  crit         l algorithme 1  Les notations utilis  es sont pr  cis  es dans le Tableau 1     La proc  dure send_ process est d  taill  e dans la section 4     traitement  nb dep  lt                                                         for iin 1 to nb dep do      lt   out HQ   current_priority    level_HQ   current_priority   lt   level_HQ  current_priority    1   for each           V p  a Lmij   if  Yij p       0  then  Yij p   lt            in HO  dp                       _                                level HO j Kij p    lt   level HO j Kij p     1   end if   end for   call                                      for   if  level                                           0   then                           lt   true   else  queue_empty    lt   false   end if   current_priority  lt   current_priority  1        algorithme 1   traitement    5 3 Synchronisation    Nous avons vu que le probl  me pos   par le traitement parall  le de la FAH   tait celui  de la synchronisation des processeurs  Autrement dit  lorsque les processeurs ont  termin   de traiter leurs files d attente locales de priorit   k il faut pouvoir d  terminer  cette terminaison pour r  activer tous les processeurs afin qu ils traitent leur file  d attente de priorit   k 1 ou n
46. n de ces diff  rentes approches dans l environnement de  d  veloppement Ptolemy  Cet environnement  d  velopp   par l Universit   de  Berkeley  permet de valider la fonctionnalit   d   algorithmes parall  les     2  D  finition  construction et utilisation de la LPE    2 1 D  finition    Soit f une fonction num  rique quelconque  qui peut   tre  par exemple  la  repr  sentation d une image    niveaux de gris  Pour introduire la ligne de partage des  eaux de f  not  e LPE f   nous allons consid  rer simplement la surface topographique  limit  e par le sous graphe GO  de f  Cette fronti  re de G f  pr  sente un certain  nombre de structures topographiques caract  ristiques   d  mes  vall  es  lignes de  cr  tes ou de thalwegs  etc   Parmi ces structures  deux nous int  ressent plus  particuli  rement   les minima r  gionaux et les bassins versants de la topographie  Les  minima de f sont les composantes connexes de la surface topographique formant des  creux ou cuvettes Figure 1  Minima et plateaux d une fonction        Minimum    Figure 1  Minima et plateaux d une fonction    Imaginons donc que cette surface topographique soit trou  e aux emplacements des  minima  Plongeons alors lentement cette surface dans un lac    tendue d eau  suppos  e infinie pour la commodit   de l exp  rience   l eau va passer par les trous en  commen  ant par ceux qui percent les minima les plus profonds et va  progressivement inonder le relief     tout moment de l inondation  les diff  rents lacs  d
47. nier champ d application qu elle  a su montrer son efficacit        la LPE se pr  te bien aux techniques de segmentation hi  rarchique  Les r  gions  obtenues par un premier niveau de segmentation peuvent   tre trait  es    nouveau par  LPE afin de rassembler les r  gions homologues    Cependant     c  t   de ces ind  niables qualit  s qui expliquent que ses domaines  d utilisation ne cessent de s   tendre  elle pr  sente quelques inconv  nients au premier  rang desquels se situe sa relative lenteur coupl  e    certains pi  ges li  s    sa mise en  oeuvre algorithmique  Ces difficult  s ont amen    depuis d  j   quelques ann  es  le  CMM a s int  resser    des am  liorations d algorithmes qui ont permis des gains de  vitesse d un facteur 100 par rapport aux implantations initiales  Ces gains ne sont  malheureusement pas encore suffisant si l on envisage l emploi de la LPE dans les  traitements temps r  el  C est pourquoi  le CMM en collaboration avec THOMSON    CSF OPTRONIQUE s efforce dans le cadre d un contrat financ   par la DGA      DRET contrat N  95 520  de d  finir des algorithmiques et des architectures parall  les  qui permettrait d atteindre des vitesses de traitement beaucoup plus grandes    Ce rapport interm  diaire d  crit les travaux de nature algorithmique qui ont   t    entrepris dans le cadre de ce contrat  Ces travaux s efforcent de d  finir de nouvelles  approches parall  les    partir d algorithmes existant d  j    en particulier les files  d attente hi  r
48. ocesseurs                               m  moire FAH distribu  e m  moire FAH distribu  e m  moire FAH distribu  e  m  moire LABEL partag  e m  moire LABEL distribu  e m  moire LABEL partag  e  m  moire NG dupliqu  e m  moire NG distribu  e m  moire NG dupliqu  e       Figure 22   Les diff  rentes parall  lisations envisag  es    Quelque soit la solution adopt  e  il faut r  soudre les trois probl  mes suivants     e synchronisation inter processeur sur le niveau de gris des pixels trait  s    e synchronisation inter processeur sur la distance g  od  sique pour un niveau de  gris donn      e   changes des pixels des bords dans le cas  lt  un processeur par imagette  gt  ou dans  le cas    R  partition uniforme des pixels empil  s sur n processeurs        Les   changes de pixels sont sp  cifiques    chaque architecture  En revanche  le  contr  le inter processeur en vue de respecter la double hi  rarchie est commun aux  trois architectures  Voyons d  s maintenant en quoi il consiste     4 2 1 2 Contr  les inter processeur    Nous avons vu que la n  cessit   de respecter la hi  rarchie des niveaux de gris et la  distance g  od  sique    l   int  rieur des plateaux impose un contr  le global sur  l   ensemble des processeurs    Un processeur ne peut passer au niveau de gris suivant que si     e sa file d attente courante est vide   e les files d   attentes courantes de tous les autres processeurs sont   galement vides     Soit x le nombre de pixels situ  s dans la file d attente
49. oire m  me le supprimer  Remarquons  enfin que la LPE d une image digitale devrait en toute rigueur avoir une   paisseur  variable selon la parit   des configurations   selon que l on veut mat  rialiser ou non  cette LPE  son   paisseur pourrait   tre de 0  1 ou 2 pixels  L utilisation  d   paississements direction par direction permet d avoir une LPE d   paisseur  constante  On peut se demander si cette simplification algorithmique m  rite les  d  fauts importants qu elle peut induire     2 5 Comment utiliser la LPE     Apr  s avoir d  crit la LPE  apr  s avoir pass   en revue ses caract  ristiques et ses pi  ges  et avant d introduire l algorithme de        qui servira de base    l approche parall  le   on peut illustrer bri  vement l utilisation de la LPE  On a vu en effet que les  performances de cette transformation seront fortement d  pendantes de la nature des  images trait  es  De plus  cet outil de segmentation vient avec son mode d emploi   Segmenter une image consiste en effet    mettre en   vidence un ensemble de  marqueurs M d  signant les objets    extraire dans l image et une fonction f quantifiant  la nature des transitions entre les diff  rents objets  Muni de ces deux   l  ments  la  segmentation consiste alors simplement    effectuer la LPE de f contr  l  e par les  marqueurs M  Figure 15          OUTILS  de la    Morph  Math            Marqueurs Fonction               Partie  intelligente             Modification  d homotopie                  Segmentation 
50. on hi  rarchique de la LPE initiale associ  e    une extraction du bassin  versant situ   en bas de l image qui apr  s simplification et filtrage fournira les  marqueurs  La LPE finale sera identique    celle obtenue avec les marqueurs d  finis     la main  Figures 18a    18d               d     Figure 18  Premi  re segmentation hi  rarchique de l image  a   extraction d un  marqueur de la chauss  e  b   marqueur filtr   et g  n  ration d un marqueur  ext  rieur  c   LPE du gradient contr  l  e par les marqueurs pr  c  dents  d     Cet exemple illustre plusieurs aspects de l utilisation de la LPE  Tr  s souvent  on a  besoin    la fois de LPE de bas niveau et de LPE contr  l  e par marqueurs  Si le  gradient est une fonction qui pr  sente    la fois beaucoup de minima et peu de  plateaux  la LPE contr  l  e par marqueur pr  sente les caract  ristiques inverses   l inondation des cuvettes non actives est   quivalente    la pr  sence de plateaux         verra que ces deux aspects antagonistes conditionnent   norm  ment le rendement des  solutions algorithmiques propos  es pour la parall  lisation     18    3  Parall  lisation de la LPE    3 1 Quelques solutions au probl  me de la vitesse de la LPE    L algorithme classique est extr  mement lent  Il fonctionne en effet avec des  op  rateurs morphologiques qui travaillent sur toute l image  Il a   t     crit pour   tre  r  alis   sur une architecture de processeur bas  e sur un voisinage de traitement local  et un balayage syst  
51. processeurs sont  utilis  s pour   changer seulement deux pixels entre les deux processeurs     35              lt     gt  processeur                         Figure 30   maille d interconnexion des processeurs    Pour   viter d   avoir un lien pour   changer seulement deux pixels  nous avons  envisag   d   tudier une architecture utilisant seulement 4 liens inter processeur      faudra alors d  terminer une m  thode pour   changer les pixels situ  s aux angles des  imagettes au travers des 4 liens restants     4 3 8 Contraintes    Afin d     tre assur   que cette architecture soit utilis  e au maximum de ces  performances  il faut que les processeurs soient actifs en m  me temps le plus souvent  possible  Pour cela on doit avoir   qui r  partition des marqueurs sur l   ensemble de  l   image     4 4 Un processeur par marqueur    4 4 1 Pr  sentation  Un sch  ma de cette architecture est donn  e dans la Figure 31     36       m  moire          processeur NG    associ   au Se  label k memoire    FAH                   m  moire       processeur NG    m  moire TS    m  moire  LABEL FAH                      m  moire          processeur NG  associ   au    label    2 m  moire  FAH                      Figure 31   architecture issue de la parall  lisation par marqueur    La m  moire LABEL est partag  e entre les processeurs car     e chaque processeur n   a pas d espace d   adressage pr   d  fini comme dans la solution     un processeur par imagette      e chaque processeur lit et   cr
52. r ses files d   attentes locales   L indicateur end_init    est positionn      true lorsque le processeur a termin   son   tape  d initialisation     On notera par M et N les longueurs des cot  s des imagettes     L   algorithme 7 regroupe l ensemble des algorithmes pr  c  dents     45       ini process  end_initi   lt   false   wait until  initi    true   for pin  i    i M 1      j    j N 1  do  init_hq  lt   false   if  Y  p    0  then  for each          V p   if  Y p    0  then  init_hq  lt   true   end if   end for   end if   if  init_hq   true  then  in_HQ   p  Kij p     level                    lt   level                       1          if          for          wait   end_init    lt   true        algorithme 6   initialisation    call ini_process   hq_process  readyi   lt   true   while  start_nexti  or start_samei  or   tampon_fullx1   true   readyi   lt   false   if  start_nexti    true  then  call traitement   else  if  start_same     true   current_priority  lt   current_priority   1   call traitement   else  for each         if  tampon_fullx1   true   call receive_process k l    end if   end for   end if   end if   end while   goto hq_process           algorithme 7   traitement global    46    6  Conclusion    L   tude algorithmique de la parall  lisation de la LPE effectu  e    partir de  l algorithme de file d attente hi  rarchique standard nous a permis de d  gager les  contraintes hi  rarchiques que cette parall  lisation doit absolument respecter sous  peine d
53. rait  s  En effet  durant l   tape 3   ce sont les pixels de niveau de gris 10 et situ  s    une distance 1 du bord descendant  qui   taient d  pil  s  Maintenant  ce sont les pixels situ  s    une distance 2 du bord  descendant  Cette   tape illustre la n  cessit   d   un   change entre processeur car il faut  pouvoir propager le marqueur des pixels appartenant aux bords des imagettes vers  les pixels voisins n appartenant pas    la m  me imagette  Prenons par exemple le cas    31    du pixel dadresse  1 5  dans l imagette 1  Lorsque ce pixel est d  pil    son marqueur  doit   tre propag   vers les pixels d adresses  1 1  et  2 1  de l imagette 2  Il faut    galement empiler les adresses de ces pixels dans             du processeur 2 afin qu il  puisse    son tour propager le marqueur 1  Nous verrons dans la suite de ce chapitre  les solutions qui s offrent    nous et plus particuli  rement celle que nous avons  choisie     Propagation     tape 5   les pixels de niveau de gris 10 empil  s dans la FAH du processeur 2 ont d  clench    son activit    Il propage alors    son tour le marqueur 1 sur le plateau de niveau de gris  10     Les   tapes suivantes suivent le m  me principe que ces 5 premi  res   tapes  Nous ne  les avons donc pas d  crites     4 3 4 Choix du partage de l   image   Quel type de d  coupage faut il envisager  horizontal  vertical ou en imagettes   Pour partager l   image nous avons deux solutions     e selon une matrice carr  e     e      bandes horizontale
54. rme de ZPE  zone de  partage des eaux  car la fronti  re entre les bassins versants n est pas d  finie sur les  pixels mais passe entre eux dans la  zone  entre les pixels  Dans la deuxi  me  variante  les fronti  res sont mat  rialis  es par certains pixels de l image  On ne s est  int  ress   dans cette   tude qu    la premi  re variante  ZPE     L alsgorithme de LPE        FAH comprend deux phases  une phase d initialisation et  une phase de fonctionnement     3 2 2 1 L initialisation    Une file d attente hi  rarchique est cr    e avec autant de niveaux de priorit   qu il y a  de niveaux de gris dans l image f  Associ  e    cette FAH se trouvent deux m  moires  d images  la premi  re contient l image f  C est donc par essence la m  moire qui stocke  les priorit  s  niveaux de gris  des pixels  La deuxi  me m  moire est la m  moire  contenant les   tiquettes des pixels trait  s  Elle est encore appel  e m  moire label et  sera not  e g  Ces deux m  moires sont initialis  es au d  but du processus  La m  moire  image ne sera pas modifi  e en cours de traitement  elle est en lecture seule  tandis  que la m  moire label sera lue pour alimenter la FAH et   crite au cours du traitement  pour mettre    jour les   tiquettes  C est elle qui contiendra les bassins versants    tiquet  s    la fin de la proc  dure    La        est initialis  e en stockant dans les files d attente respectives les jetons  correspondant aux pixels   tiquet  s dans l image g ou plus simplement  ceci afin
55. s ou verticales     Ces deux types de partage sont repr  sent  s dans la Figure 27                                partage selon une matrice carr  e                                                                                                                      partage en bandes horizontales partage en bandes verticales       Figure 27   types de partage des images pour un m  me nombre de processeurs    32    La diff  rence essentielle entre ces deux types de partage est la longueur des bords en  contact avec d   autres imagettes  Soit L et    le nombre de lignes et de colonnes de  l   image de d  part et N  le nombre de processeurs  Dans le cas g  n  ral  imagette         situ  e au bord de l   image globale   le nombre de pixels appartenant aux bords d une  imagette est      e  2  K L  N    4 dans le cas de la matrice carr  e   e 2    ou 2 L dans le cas respectivement du partage en bandes horizontales ou  verticales    Pour un nombre de processeurs sup  rieur    quatre  le partage de l   image selon une   matrice carr  e est pr  f  rable en ce qui concerne la quantit   d   changes de pixels    Dans la suite de ce rapport  nous avons consid  r   le cas du partage selon une matrice   carr  e car il est ensuite tr  s facile de se ramener au cas du partage en bandes     4 3 5 Traitement des pixels appartenant aux bords des imagettes    Reprenons le processus de traitement d   un pixel voisin V du pixel d  pil    pc     e obtention du label de V pour savoir s   il est d  j   
56. seurs et   viter d envoyer au processeur    r  cepteur les adresses des pixels voisins de       c   est l adresse de pc qui est envoy  e et  c est au processeur r  cepteur de calculer les adresses des pixels voisins de pc qu il    33    doit   tiqueter et empiler dans sa         Ainsi les donn  es envoy  es dans une requ  te  sont     e l adresse du pixel d  pil    pc        le label de pc     fronti  res entre  imagettes                Figure 28   deux cas d   change de pixels entre processeurs    4 3 6 Gestion de l   change des pixels    Nous avons envisag   deux solutions pour effectuer les requ  tes entre processeur    e parinterruption   e selon le principe de la bo  te aux lettres     La solution bas  e sur des interruptions a deux inconv  nients     e lorsqu un processeur envoie une requ  te  il doit attendre d   avoir l   acquittement du  processeur r  cepteur pour effectuer sa requ  te  Cela implique des d  lais  suppl  mentaires sur les temps de traitement    e dans le cas d   un partage de l   image selon une matrice carr  e  il existe des  configurations dans lesquelles les processeurs vont s attendre les uns les autres ce  qui aboutit    un    dead lock     Cette situation est repr  sent  e dans la Figure 29   Dans ce cas  les processeurs vont s attendre les uns les autres  Notons que      type  de bouclage n existe pas dans le cas d   un partage de l image en bandes     34    regu  te    processeur                            Figure 29   configuration de requ  te
57. stribu      5 1 Introduction    L objet de ce chapitre est de d  crire sous forme d   algorithmes un traitement  parall  le distribu   du processus d inondation par File d   Attente Hi  rarchique   Chaque processeur traite une file d attente hi  rarchique locale pour segmenter un  sous ensemble de l   image    Ce chapitre est organis   selon le plan suivant  dans la section 1 nous pr  sentons  l algorithme de traitement ex  cut   par chaque processeur  Les sections 2 et 3  d  crivent les algorithmes de synchronisation et de communication  L   algorithme  d initialisation des files d attente hi  rarchiques locales est d  crit dans la section 4   L   algorithme complet est d  crit dans la section 5  Pour l   ensemble de ces algorithmes  nous consid  rons le cas g  n  ral d une matrice      de processeurs   Dans la suite on  notera par Pij  i    e  0  1 1   j     0  J 1  un processeur de la matrice  I  J       5 2 Algorithme de traitement       Sa                                                     55 5                  Xij p     niveau de gris de p dans la sous image    segmenter Xi    Y  p                 dans la sous image des labels                         y   empiler x dans la file d attente de priorit      du processeur Pij                          d  piler de la file d attente de priorit      du processeur        level            nombre d   l  ments dans la file d attente de priorit      du processeur Pij                  espace d   adressage du processeur         queue_e
58. titue un probl  me majeur pour sa  parall  lisation  En effet  la parall  lisation d algorithmes consiste souvent    r  aliser en  m  me temps un certain nombre de transformations locales  l union de ces  transformations fournissant le r  sultat recherch   sur l ensemble de l image    Il existe cependant une classe particuli  re de fonctions o   l observation locale des  configurations de pixels permet de mettre en   vidence des points appartenant    la  LPE  points selles   Ces fonctions ont la propri  t   de ne pas poss  der de zones plates   D autre part  il est possible par le biais d une op  ration appel  e fl  chage de  transformer n importe qu elle fonction en une fonction sans zones plates ayant m  me  LPE que la fonction initiale  Figure 11     On pourrait penser alors qu on tient l   la solution au probl  me de la non localit   de  la LPE  Malheureusement ce n est pas le cas  car le fl  chage est une op  ration qui doit    tre effectu  e par le biais d un processus de propagation     2 4 2 Les hi  rarchies dans le ph  nom  ne d inondation    2 4 2 1 Un premier niveau de hi  rarchie    Il existe dans la construction de la LPE plusieurs niveaux hi  rarchiques qu il importe  de respecter quelque soit l algorithme choisi  faute de quoi le r  sultat sera fauss    On  a d  j   vu que les eaux inondant les bassins versants sont toujours    la m  me altitude   On pourrait envisager de transgresser cette r  gle en permettant    certains bassins  versants de se remplir plus v
59. urnes NGENE SEA Be          NG UN NE PNGEN E NENEKA NG ENE EE Nan greng      a KUN NG en 40  923 SYNCHRONISATION ee EE EE aa 41   KOR d ER   KE e 43                                            44  9 91  ALGORITHME COMPLET                                         45       CONCLUSION                PE A 47  TANNEXE E 47    1  Introduction    La ligne de partage des eaux  en abr  g   LPE  est une transformation  largement utilis  e depuis une quinzaine d ann  es en segmentation d image  Elle  pr  sente  par rapport aux techniques de segmentation concurrentes  de nombreux  avantages qui expliquent son succ  s  Parmi ces avantages  on peut citer  sans que  cette liste soit exhaustive  les caract  ristiques suivantes       c est une transformation facile    comprendre  travaillant directement sur l image  sans passer dans le domaine spectral ou par des repr  sentations complexes      c est une transformation qui vient avec son mode d emploi  La LPE permet en effet  de s  parer en deux   tapes distinctes  la t  che de d  signation des objets    segmenter  de la t  che de segmentation et de d  limitation proprement dite      la LPE est une transformation non param  trique     n y    nul besoin de fixer les  valeurs de nombreux param  tres pour la r  aliser      cette transformation s emploie aussi bien sur les images fixes que sur les s  quences   sur les images    niveaux de gris que sur les images couleur ou multi spectrales  sur  les images 2D ou 3D  C est en particulier dans ce der
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
Samsung WF-B1073 用户手册  Tucano Elektro  Téléchargement  DXS  -A05G_9im-u573-b P1.ai  XL Vu+™ VideoProbe® - GE Measurement & Control  Wagner 0518050 Installation Guide  HP Pavilion 14-v201tx  MachZ Phoenix BIOS User`s Manual Supplement - Tri    Copyright © All rights reserved. 
   Failed to retrieve file