• Aucun résultat trouvé

5.3 Segmentation automatique des images

5.3.3 Segmentation globale par la couleur

Cet algorithme s’inspire de la strat´egie d´evelopp´ee pr´ec´edemment pour d´eduire auto- matiquement la couleur d’un objet `a partir de plusieurs images correspondant `a un mˆeme concept. Les pixels sont divis´es en deux cat´egories : les pixels correspondant `a l’objet trait´e, et les pixels correspondant au fond de l’image. Cette cat´egorisation permet en- suite de retrouver l’objet dans n’importe quelle autre image dont on sait qu’elle contient l’objet. Au lieu de se limiter aux 11 noms de couleurs, nous d´efinissons 125 couleurs par quantification de l’espace RGB, et nous pouvons facilement faire varier ce nombre si n´ecessaire. Une autre diff´erence avec les algorithmes pr´ec´edents est que les pixels du fond de l’image sont ´egalement pris en compte par leurs contributions n´egatives.

La segmentation se fait par les ´etapes suivantes :

1. Chacun des trois plans de l’espace RVB est quantifi´e en 5 valeurs, formant un total de 125 couleurs.

2. Une fenˆetre centrale est d´efinie, comme ´etant la fenˆetre centr´ee dont la largeur et la hauteur valent chacune la moiti´e de la largeur et la hauteur de l’image.

3. Pour chaque image, nous construisons deux histogrammes RVB `a 125 compo- santes : histocentre prenant en compte les pixels contenus dans la fenˆetre centrale et histobord prenant en compte les pixels en-dehors de cette fenˆetre.

4. Les deux histogrammes sont normalis´es ind´ependamment en fonction du nombre de pixels consid´er´es pour construire chacun, afin qu’ils puissent ˆetre compar´es. 5. Pour chaque valeur possible (r, v, b), nous calculons un score S(r, v, b) sur toutes les

images qui est augment´e de 1 si, pour une image, histocentre(r, v, b) > histobord(r, v, b) et r´eduit de 1 sinon.

6. Finalement, un triplet (r, v, b) est consid´er´e comme une couleur de l’objet si S(r, v, b) >

max(S(r,v,b))

5 et comme couleur du fond dans le cas contraire, o`u max(S(r, v, b)) est

le maximum calcul´e sur toutes les images.

L’ensemble des pixels obtenus est ensuite nettoy´e par le mˆeme proc´ed´e que celui d´ecrit en page 115 pour ne conserver qu’une r´egion connexe.

En comparaison avec l’algorithme pr´ec´edent qui segmentait les images en fonction du nom des couleurs de l’objet, les r´egions obtenues avec ce nouvel algorithme sont plus pr´ecises. Les noms des couleurs ont un sens pour nous, mais pour l’ordinateur, cela limite le nombre de couleurs consid´er´ees `a 11. Parmi ces 11 couleurs, typiquement une ou deux seront s´electionn´ees comme couleurs repr´esentant l’objet utilis´ees pour la segmentation, mais nous n’avons pas pu d´eterminer clairement comment savoir s’il faut conserver une ou deux couleurs. Dans l’algorithme que nous venons de pr´esenter, 125 couleurs sont consid´er´ees, et il est facile d’augmenter ce nombre. Le nombre de couleurs `a consid´erer comme ´etant les couleurs de l’objet est automatiquement d´etermin´e `a l’´etape 6, et est en g´en´eral sup´erieur `a 10, mais ce nombre varie fortement selon l’objet `a segmenter.

Fig. 5.14 – Sch´ema des trois nouveaux algorithmes de segmentation propos´es s’appuyant sur les histogrammes RGB des objets et des fonds. Le premier algorithme est d´ecrit dans la section 5.3.3, le deuxi`eme en section 5.3.4 et le troisi`eme en section 5.3.5.

Le figure 5.15 montre un exemple des limitations engendr´ees par l’utilisation des noms des couleurs. Le petit z`ebre est consid´er´e comme n’´etant compos´e que de pixels marron clair pour les parties blanches, et marron fonc´e pour les parties noires. Le nouvel algorithme a pu mieux estimer l’ensemble des couleurs repr´esentant l’animal.

Fig. 5.15 – Exemple des limitations engendr´ees par l’utilisation des noms des couleurs. `

A gauche : image originale. Au centre : r´esultat de la segmentation avec l’algorithme d´ecrit en section 5.3.2 en utilisant les couleurs blanc et noir. A droite : segmentation avec l’algorithme pr´esent´e dans cette section. Les pixels du petit z`ebre sont vus comme ´etant des teintes de marron (clair et fonc´e). ´Etendre la d´efinition des couleurs blanc et noir pour inclure ces pixels causerait des segmentations trop larges dans d’autres images et pour d’autres objets.

Cependant, comme pr´evu, cet algorithme ne permet pas de corriger le probl`eme de d´etection d’un objet si la couleur du fond, proche de celle de l’objet, est une couleur de l’objet dans de nombreuses autres images. Cela est illustr´e sur la figure 5.16 : la couleur du fond marron est aussi une couleur possible pour les tigres du Bengal et observ´ee dans d’autres images. Le fond est de ce fait consid´er´e `a tort comme faisant partie de l’objet.

Fig. 5.16 – R´esultat de l’algorithme de segmentation globale pour une image de Bengal tiger. Cet algorithme n’est pas capable de segmenter un objet dans une image o`u la couleur du fond est ´egalement une couleur de l’objet observ´ee dans d’autres images.

L’algorithme que nous introduirons dans la section suivante se concentre sur la r´esolution de ce probl`eme.

`

A propos des param`etres, dans la cinqui`eme ´etape de la segmentation, nous avons essay´e d’introduire un facteur k > 1 pour n’incr´ementer S que si histocentre(r, g, b) > k × histobord(r, g, b) et le d´ecr´ementer si histocentre(r, g, b) < (1/k) × histobord(r, g, b) afin d’ignorer les couleurs pour lesquels un pixel n’est pas clairement classifi´e comme ´etant objet ou fond, mais cela a eu tr`es peu d’influence sur les r´esultats.

quelles couleurs sont consid´er´ees comme couleurs de l’objet est une autre fa¸con d’ignorer les couleurs qui ont statistiquement presque autant de probabilit´e de se trouver au centre d’une image que de se trouver au bord. Prendre S(r, g, b) > 0 revient `a consid´erer que le nombre de couleurs de l’objet est potentiellement ´egal ou sup´erieur au nombre de couleurs du fond. Ce crit`ere n’est pas assez s´ev`ere et faisait que des parties du fond ´etaient consid´er´ees comme des parties de l’objet. Utiliser un seuil positif est plus restrictif sur le nombre de couleurs de l’objet. Faire d´ependre ce seuil de max(S) au lieu du nombre d’images (la plus grande valeur que S peut atteindre est le nombre d’image) nous assure de garder au moins une couleur. Nous avons essay´e plusieurs valeurs et avons trouv´e que S(r, g, b) > max(S)10 ou S(r, g, b) > max(S)5 (selon l’objet) offre un bon compromis alors que S(r, g, b) > max(S)2 n’est pas assez tol´erant. Une comparaison des effets de ces diff´erents seuils est montr´ee sur la figure 5.17.

(a) (b) (c)

(d) (e)

Fig. 5.17 – Variation des r´esultats de la segmentation pour diff´erentes valeurs du seuil, et nombre de couleurs consid´er´ees comme ´etant celles de l’objet, parmi les 125 cou- leurs issue de la quantification RGB. (a) Image originale. (b) S(r, g, b) > 0 : 37 cou- leurs. (c) S(r, g, b) > max(S)10 : 12 couleurs. (d) S(r, g, b) > max(S)5 : 8 couleurs. (e) S(r, g, b) > max(S)2 : 5 couleurs. Sur cet exemple particulier, les segmentations (b) et (c) sont tr`es proches car les 25 couleurs suppl´ementaires dans (b) sont en tr`es petite quantit´e dans cette image. La diff´erence est plus visible sur d’autres images o`u c’est sou- vent une partie du fond qui est consid´er´ee comme objet avec S(r, g, b) > 0 mais comme fond avec S(r, g, b) > max(S)10 .

Nous remarquons que pour S(r, g, b) > 0 et S(r, g, b) > max(S)10 , la plupart des pixels des z`ebres ont ´et´e correctement conserv´es, mais il y a ´egalement du bruit provenant du fond, par exemple entre les pattes. Avec S(r, g, b) > max(S)5 , il y a moins de bruit, et ce qui reste sera ´elimin´e avec le post-traitement, mais une partie des bandes blanches est manquante (elles seront retrouv´ees avec l’ouverture qui est contenu dans le post- traitement). Avec le seuil S(r, g, b) > max(S)2 , il n’y a presque plus de bruit, mais les parties manquantes sont plus larges, et ne pourront pas ˆetre retrouv´ees avec le post- traitement. Nous finalement d´ecid´e empiriquement de prendre S(r, g, b) > max(S)5 comme seuil pour tous les objets.