=Paper= {{Paper |id=Vol-547/paper-21 |storemode=property |title=Détection et suivi d'objets dans une séquence d'images par contours actifs |pdfUrl=https://ceur-ws.org/Vol-547/131.pdf |volume=Vol-547 |dblpUrl=https://dblp.org/rec/conf/ciia/FekirBT09 }} ==Détection et suivi d'objets dans une séquence d'images par contours actifs== https://ceur-ws.org/Vol-547/131.pdf
    Détection et suivi d'objets dans une séquence d'images
                     par contours actifs

                       A. Fekir(1), N. Benamrane(2) et A. Taleb-Ahmed(3)
   (1)
       Département d’informatique, Université de Mustapha Stambouli, BP 763, Route de Ma-
                               mounia, 29000, Mascara, Algérie
                                        aekfekir@gmail.com
   (2)
       Equipe de vision et imagerie médicale, laboratoire SIMPA, Département d’informatique,
                   USTO Oran, B.P 1505 El ‘mnaouer 31000, Oran, Algérie
                                     nabenamrane@yahoo.com
      (3)
          LAMIH UMR CNRS 8530, Université de Valenciennes et du Hainaut Cambrésis, Le
                       mont Houy, 59313 Valenciennes Cedex 9, France
                                    taleb@univ-valenciennes.fr



         Abstract. Dans cet article, nous proposons une méthode de détection et de sui-
         vi d’un objet dans une séquence d’images basée sur le contour actif. Une fonc-
         tionnelle d’énergies est attachée au contour actif. Après une initialisation du
         contour actif dans la première image de la séquence, la minimisation des éner-
         gies attachées est utilisé afin de détecter le contour. Puis une initialisation au-
         tomatique du contour actif dans les images suivantes est proposée pour le suivi
         dans les autres images de la séquence. Elle consiste à utiliser le barycentre de
         l'objet détecté. Plusieurs tests on été effectués sur trois types de séquences
         d'images : synthétiques, biologiques et échocardiographique



         Mots clés— Détection de contours, suivi d'objet, séquence d’images, imagerie
         échocardiographique, contour actif.



1 Introduction

Les contours actifs tirent leur origine des modèles élastiques [1], mais la communauté
s'accorde à les attribuer à l'équipe Kass, Witkin et Terzopoulos [2] qui introduisirent
les snakes ou courbes minimisant [3]. Les snakes tiennent leur nom de leur aptitude à
se déformer comme des serpents. Depuis la publication de cette équipe, les modèles
déformables sont devenus un sujet très important pour la communauté du traitement
d'images. De très nombreuses équipes s'y sont intéressées de manière plus ou moins
approfondie [4][5]. Les domaines d'utilisation sont nombreux tant en 2D qu'en 3D
tels : la reconnaissance de formes, le suivi de scènes, la segmentation d'images.
[6][7][8]
   Dans cet article, nous proposons une méthode de détection et de suivi des contours
dans une séquence d’images. Elle est basée sur le modèle du contour actif. Alors, no-
tre papier est organisé comme suit : Dans la section 2, on présente en détail le contour
actif. Après, on décrit dans la section 3 notre approche proposée. Quelques résultats
pratiques sont présentés dans la section 4.


2 Contour actif

Les contours actifs sont définis par une courbe paramétrique pouvant être fermée ou
non. Un snake consiste à placer aux alentours de la forme à détecter une ligne initiale
de contour. Cette ligne va se déformer progressivement selon l'action de plusieurs
forces qui vont la tirer ou la pousser vers la forme.
  Ces forces sont représentées par trois énergies associées au snake [3] :
      • Une énergie propre, due uniquement à la forme du contour, dite énergie in-
      terne.
      • Une énergie potentielle imposée par l'image dite énergie externe. C'est elle
      qui va attirer la ligne du snake vers les contours réels présents sur l'image
      • Une énergie de contexte qui exprime certaines contraintes supplémentaires
      qui peuvent être imposées par l'utilisateur vu le snake qu'il veut obtenir.
   Puisque le snake peut former un graphe composé, nous pouvons le représenter sous
forme paramétrique [7] par:
                                  V : = [0,1] Æ R2
   Le contour actif peut être décrit par une courbe C, fonction du temps t et de l'abs-
cisse curviligne s par la formule 1 suivante :
             C = { v(s, t) = (x(s, t), y(s, t)) / s є [a,b] et t є [0,T] }       (1)

             (voir Fig. 1, Où a et b représentent les extrémités du snake)




                                     Fig. 1. La courbe C

   Donc, le contour actif est formé d'une série de points mobiles et répartis sur une
courbe en deux dimensions. La courbe est placée dans la zone d'intérêt de l'image ou
autour d'un objet.
   Plusieurs équations décrivent son évolution : la courbe se déplace et épouse lente-
ment les contours des objets en fonction de divers paramètres comme l'élasticité, la
tolérance au bruit, etc. Cette dynamique est basée sur la notion d'énergies interne et
externe, le but étant de minimiser l'énergie totale présente le long de la courbe. Des
contraintes permettent de conserver une courbe lisse avec des points équidistants tout
en laissant un certain champ libre pour les déformations (voir Fig. 2).
                                                                Courbe initiale
                                                                  Courbe à l’instant t

                                                                    Courbe à l’instant t+1




                                                                  Objet à détecter




                             Fig. 2. Evolution du contour actif


2.1 Energies

La fonctionnelle d'énergie attachée au contour est composée de trois types
d’énergies : énergie interne, énergie externe et énergie du contexte.
                 ϕ(v) : v Æ Einterne(v) + Eexterne (v) + Econtexte(v)                    (2)


Energie interne
Les énergies internes gèrent la cohérence de la courbe. Elles définissent la raideur de
la courbe et la cohésion des points. Alors, elle est intrinsèque au snake.
   L'énergie interne est calculée à partir de deux forces appelées continuité et cour-
bure :
                           Einterne = Econtinuité + Ecourbure                            (3)
   La force de continuité influe sur le rayon de courbure du contour en conduisant les
points du contour à se positionner de manière à être équidistants. La deuxième force
utilisée pour l'énergie interne est celle de courbure. Son but est d'éviter que le contour
contienne des points isolés qui ne seraient pas cohérents avec la forme.

Energie externe
Les énergies externes prennent en compte les caractéristiques des images traitées.
Parmi les énergies externes existantes, nous citons l’énergie de gradient (la dérivée
première de l'image). Cette énergie externe est d'une importance première pour la dé-
tection du contour. En effet, un contour est généralement caractérisé par une forte dif-
férence entre les valeurs de plusieurs pixels.
Energie de contexte
L’énergie de contexte, permet d'introduire des connaissances a priori sur ce que nous
cherchons. Entre autres, nous introduisons l'énergie ballon introduite par Laurent D.
Cohen [9].
    L'énergie de Ballon est l'énergie qui décide du sens de propagation du contour ac-
tif. Un coefficient d'énergie de ballon positif va concentrer le snake, alors qu'un coef-
ficient négatif va rendre le snake expansif.
C'est à partir de ces différentes énergies et de leur combinaison que l'on peut définir
un problème dont la solution est le contour recherché. La mise en œuvre d'une telle
approche a donné lieu à de nombreuses implémentations. Parmi ces implémentations
les plus utilisées, on trouve l’algorithme glouton ou l’algorithme de Greedy proposé
par Williams et Shah [10].


3. Description de l'approche proposée

Les étapes de la méthode proposée peuvent être schématisées par la figure 3 :


3.1 Prétraitement de la séquence

C'est une étape nécessaire qui permet de réduire l'effet du bruit présent dans la plupart
des images médicales. Ce prétraitement dépend du type de la séquence utilisé et de
l'effet de bruit.


3.2 Initialisation du snake dans la première image

On initialise notre contour actif à l’intérieur de l’objet ou de telle sorte qu’il englobe
l’objet dont on veut détecter ses contours. Ce contour actif est composé d'un ensemble
des points (snaxels), et il est initialisé sous forme d'un cercle (voir la figure 4 ).
   Pour cela, on doit initialiser seulement le centre du cercle et son rayon. Les coor-
données du snaxels sont calculées par la formule (4) suivante :
                   xi = xc – r * sin (2πi/N)   pour i=0..N-1
                                                                                     (4)
                   yi = yc – r * cos (2πi/N)
  où     xi , yi les coordonnées du point i du snake
         xc , yc les coordonnées du centre de cercle
         r le rayon du cercle
         N le nombre des points du snake
                         Début



             Prétraitement de la séquence
                      d'images



             Initialisation du snake dans la
           première image de la séquence



           Minimisation d'énergies et dépla-
            cement des points de snake


                                                     Initialisation automatique de
                                                    snake dans l'image suivante

Non                   Stabilité des
                   points de snake


   Objet
 détecté                      Oui


                    Dernière image                   Non
                  de la séquence ?



                             Oui


                          Fin

            Fig. 3. Etapes de l'approche proposée
                         Fig. 4. Les deux cas d’initialisation du snake


3.3 Contour actif utilisé :

Comme on a décrit dans la section 2, nous avons utilisé le modèle paramétrique. No-
tre fonctionnelle d'énergies est donnée par la formule (5) suivante :
                                                                                      (5)
   Etotale =Σi=1,N ( a Econtinuité (Pi) + b Ecourbure (Pi) + c Egradient(Pi)
                              + d Eballon(Pi))
                          Pi= t( xi , yi ) i=1..N les points du snake
                  a, b, c et d sont coefficients attribués à chaque énergie.

  Ces énergies sont déterminées comme suit :

Energie de continuité
L'énergie de continuité est définie par la formule (6) suivante :
                                                                                      (6)
 Econtinuité ( Pi ) = dis tan ce _ moyenne − ( xi − xi −1 ) 2 + ( yi − yi −1 ) 2

Où distance_moyenne est la moyenne des distances entre deux points successives du
                                contour actif.
   Il est clair que si on minimise cette énergie, le point Pi doit se positionner à une
distance égale à distance_moyenne du point Pi-1 .

Energie courbure
L'énergie de courbure est donnée par la formule (7) suivante
                                                                                      (7)
      E courbure ( Pi ) = ( xi −1 − 2 xi + xi +1 ) 2 + ( y i −1 − 2 yi + y i +1 ) 2
Energie de gradient
Elle est estimée en se basant sur le gradient de Sobel. Notons que d'autres méthodes
d'estimations ont été testées pour évaluer cette énergie.

Energie de ballon
L'énergie d'un voisin vj =t(xv , yv )du point du snake Pi est estimée, dans ce travail, par
la formule (8) suivante :
               Eballon = (xv – xc )*( xv – xi ) + (yv – yc )*( yv – yi )            (8)
           Où ( xc , yc ) représentent les coordonnées du barycentre de snake.

Algorithme de minimisation
Pour chaque point Pi , on choisit un nombre de voisins pour lesquels on va calculer
l'énergie; le point se déplacera alors sur le voisin possèdant l'énergie la plus faible. On
cherche donc l'ensemble des points pour laquelle l'énergie est minimale. Notre algo-
rithme de minimisation est donné comme suit :

Algorithme 1 : Algorithme de Greedy
Début
Répéter
       pour tous les points du snake faire
                    pour tous les points du voisinage faire
                        Calculer les énergies
                        Fin pour
                     pour tous les points du voisinage faire
                        Normalisation
                        Fin pour
                    Minimiser pour obtenir le nouveau point
                    Fin pour
Jusqu'au Critère d'arrêt
Fin
   Le critère d'arrêt dans cet algorithme est la stabilité des points du snake (citée dans
la figure 3 ). Il est représenté par le pourcentage du nombre des points qui ne bougent
pas pendant un certain nombre d'itérations.
   Après l'arrêt du mouvement du snake, normalement les contours de l'objet sont
bien détectés dans l'image courante, alors on doit traiter l'image suivante afin de sui-
vre cet objet.
3.4 Initialisation automatique de snake dans l'image suivante

Après la détection des contours de l'objet dans la première image, une étape de suivi
de cet objet est lancée dans les images ultérieures. Comme le montre la figure 3, les
traitements de toutes les autres images sont identiques à ceux de la première sauf
l'initialisation manuelle du snake. Cette initialisation manuelle est remplacée par une
initialisation automatique qui utilise des informations obtenues à partir des traitements
précédents. Pour cela, le barycentre de notre objet ( c'est le barycentre du contour ac-
tif final dans l'image précédente) est calculé. Il représente, dans l'image courante, le
centre du cercle d'initialisation du snake (voir la figure 5). Dans cette initialisation, on
garde les autre propriétés utilisées dans la première initialisation, c-à-d la forme du
snake initial dans l'image courante (un cercle), le rayon du cercle d'initialisation et la
position de ce snake initial par rapport à l'objet à suivre (l'intérieur ou alentour de
l'objet, comme il est présenté dans la figure 4 précédente)




         (a)                            (b)                           (c)
               Fig. 5. Initialisation automatique du snake dans la deuxième image

   a) Initialisation manuelle du snake dans la première image de la séquence, (xc , yc )=(58,74)
                                           & rayon = 15
   b) Snake final dans la première image (objet détecté) : barycentre égale (67,74)
        c) Initialisation du snake dans l'image suivante de la séquence (xc , yc )=(67,74) &
                                             rayon=15



4 Résultats pratiques & discussions:

On présente dans cette section, quelques résultats obtenus, afin de valider notre ap-
proche proposée. On présente ici trois types de séquences d'images : une séquences
d'images synthétiques, une séquence d'images d'une cellule biologique en mouvement
et une séquence d'images échocardiographiques.
    Dans tous les tests présentés, nous avons utilisé un voisinage de 3x3. Le critère de
stabilité (de la figure 3) ou bien le critère d’arrêt d’algorithme de greedy (voir l'algo-
rithme 1) est la stabilité de 90% des points du snake. On a limité les résultats présen-
tés à huit images pour chaque séquence. Les différents paramètres sont résumés dans
la table 1 et les résultats obtenus sont illustrés par les figures 6, 7 et 8.
Table 1. Les différents paramètres des tests

              Séquence          Séquence              Séquence
                                                                         Séquence échocar-
                                                                           diographique
 Paramètres                    synthétique            biologique

  Coefficients d'éner-
                             (1, 0.15, 1, -0.1)      (1, 0.12, 1, 0.1)   (0.8, 0.14, 1, -0.1)
     gies (a,b,c,d)

   Nombre des points
                                      40                    40                     20
      du snake

  Centre & rayon du
                                (80,80) & 20         (174,125) & 70         (170,166) &15
    snake initiale




                          Fig. 6. Résultats de la séquence synthétique
     Fig. 7. Résultats de la séquence biologique




Fig. 8. Résultats de la séquence échocardiographique
    Nous remarquons que dans la séquence synthétique, on a obtenu un très bon résul-
tat de détection et de suivi de l'objet : une stabilité totale des 40 points du snake après
59 itérations, au maximum, de l'algorithme 1 dans toutes les images. C'est une consé-
quence de la simplicité de la séquence et de l'absence de bruit. En plus, L'effet du
coefficient élevé de la continuité est très clair dans les résultats : l'équidistance entre
les 40 points est bien respecté.
    Dans la deuxième séquence (la cellule en mouvement), nous avons pris presque les
mêmes paramètres. (Le signe de coefficient de ballon suivre la position initiale du
snake illustrée par la figure 4 ). On est arrivé à bien suivre la cellule. Mais une petite
comparaison entre les résultats de la première séquence (synthétique) et la deuxième
(biologique) montre les différences entre ces deux résultats. La stabilité n'est pas to-
tale dans la séquence biologique ( 90% choisi ). Ceci est dû à la présence du bruit
dans cette séquence biologique réelle malgré les prétraitements qui ne peuvent pas
supprimer tous les effets de bruit ; On remarque la présence des fausses régions aux
alentours des cellules.
    Dans la séquence échocardiographique, le nombre des points choisi égale la moitié
de ceux des deux tests précédents (20 points). Nous avons fait ce choix pour réduire le
temps de calcul et d'optimisation de la fonctionnelle d'énergies parce que ces images
restent plus bruitées par rapport aux précédentes quelque soit le prétraitement choisi.
Ces difficultés justifient la présence de deux à trois points du snake qui ne sont pas
bien placés. Malgré ça, on peut dire que la détection et le suivi obtenus sont assez sa-
tisfaisants pour ce type d'images.


5 Conclusion et perspectives

Dans ce travail, nous avons présenté notre approche de détection de contours et de
suivi d'objet basée sur le modèle du contour actif. Après la première initialisation, on
détecte les contours et on exploite ce résultat pour initialiser automatiquement notre
snake dans l'image suivante. Cela nous permet de suivre l'objet détecté. Cette appro-
che a été testée sur trois types de séquence : synthétique, biologique et échocardiogra-
phique. Le travail est loin d'être achevé, comme perspective, on envisage de réduire le
temps de suivi. Après la détection, au lieu de réinitialiser le contour actif et de répéter
les mêmes traitements (de l'algorithme 1) nous prévoyons l'utilisation de l'information
du mouvement. Alors, On essaye de suivre les points du snake directement après la
détection au lieu de faire un retour à l'intérieur ou à l'extérieur de l'objet pendant l'ini-
tialisation automatique. Cela va réduire d'une manière considérable le temps de suivi
car au lieu de déplacer chaque point du snake 40 où 50 fois dans l'algorithme de gree-
dy, on le déplace deux où trois fois seulement (selon la rapidité de l'objet à suivre).
Remerciements. Les auteurs tiennent à remercier H. meddeber et K. Arabi pour av-
oir contribuer à l'implémentation de cette approche.
Références

[1] D.J. Burr Elastic Matching of line drawings, IEEE transaction on Pattern analysis and
   machine intelligence, vol. 3, n° 6, pp 708-713, novembre 1981.
[2] M. kass, A. Witkin et D. Terzopoulos : Snakes : Active contour models. International
   journal of computer vision, vol. 55, pp 321-331 , 1988
[3] J. Rousselle : Les contours actifs, une méthode de segmentation. Application à
   l’imagerie médicale. Thèse de doctorat, Université de François Rabelais de Tours, Sou-
   tenue le 9 juillet 2003.
[4] T. McInerney et D. Terzopoulos : Deformable Models in Medical Image Analysis: A
   Survey. Medical Image Analysis, 1(2), pp 91–108, 1996
[5] L. He et al. : A comparative study of deformable contour methods on medical image
   segmentation. Image and Vision Computing 26, pp 141–163, 2008
[6] H. Chang et D. J. Valentino : An electrostatic deformable model for medical image seg-
   mentation. Computerized Medical Imaging and Graphics 32, pp 22–35, 2008
[7] P. Delmas : Extraction des contours de lèvres d’un visage parlant par contours actifs.
   Thèse de doctorat de l’Institut Polytechnique de Grenoble, 2000
[8] J. Xu, O. Chutatape et P. Chew : Automated Optic Disk Boundary Detection by Modi-
   fied Active Contour Model. IEEE Transaction on biomedical engineering, vol. 54, N°. 3,
   pp 473-482, MARCH 2007
[9] L. Cohen : On active contour models and balloons. Computer vision, graphic, and image
   processing : Image Understanding, Vol. 53, N° 2, pp 211-218, Mars 1991.
[10] D. Williams et M. Sham : A fast algorithm for active contour and curvature estimation.
   Computer vision graphic image process : Image understanding, vol. 55, n°1, pp 14-26,
   1992.