• Aucun résultat trouvé

Identification des évènements de coalescence

5.4 Programme MATLAB : suivi de bulles

5.4.5 Identification des évènements de coalescence

À partir du résultat du suivi des bulles, nous avons pu isoler chaque évènement de coalescence et identifier les bulles mères et la bulle fille du couple. La première étape est de trouver tous les mauvais suivis, c’est-à-dire toutes les bulles qui sur l’image t + 1, possèdent deux bulles sources. En effet, suite à l’étape de suivi, chaque bulle de l’image t + 1 possède le numéro de la bulle dont elle provient. Et inversement, les bulles de l’image t possèdent les numéros de la bulle sur l’image t + 1. Toutes les bulles ayant deux provenances sont considérées comme des mauvais suivis. Par exemple, la figure

5.7cest un zoom sur la zone B de la figure5.7a. Sur cette image, on peut voir que deux bulles coalescent. Si l’on regarde maintenant les flèches bleues et vertes sur cette figure, on peut voir que chaque bulle possède une flèche verte et une flèche bleue sauf l’une des bulles impliquées dans la coalescence vers laquelle aucune flèche verte ne pointe. Cela signifie qu’aucune bulle de l’image t + 1 n’est issue de cette bulle. Á l’inverse, dans cette zone, deux flèches bleues pointent vers la même bulle de l’image t + 1 indiquant qu’une bulle a disparu sur l’image d’après. Les mauvais suivis correspondent donc aux bulles possédant uniquement une flèche bleue. Il y a ainsi une bulle sur l’image d’après qui possède deux bulles sources. Au niveau du programme, il faut en conséquence garder en mémoire toutes les bulles de l’image suivante qui ont deux bulles sources. Ces bulles seront considérées comme des bulles filles possibles. Pour retrouver les bulles mères de départ, il convient de récupérer le numéro des deux bulles sources.

Par la suite, plusieurs critères sont nécessaires pour s’assurer que les bulles mères sont vraiment des bulles qui coalescent. Pour cela, nous utilisons un critère d’aire puis un critère de nombre de pixels commun entre les bulles mères et la bulle fille. Enfin nous pouvons vérifier que la fille existe toujours deux images après celle considérée c’est-à-dire à l’image au temps t + 2.

Critère d’aire

Le premier critère que nous appliquons est un critère sur la taille des bulles. En effet, on a une liste de bulles filles potentielles. Ces bulles filles sont liées à deux bulles mères potentielles. Dans un premier temps, il s’agit de vérifier que la somme des aires

des deux bulles mères est bien égale à l’aire de la bulle fille à ±10 %. Si cette condition est respectée, on garde en mémoire dans une liste, les numéros des bulles mères et celui de la bulle fille (liste des bulles mères et filles potentielles). Si le critère n’est pas respecté, cela signifie que soit l’une des bulles mères soit la bulle fille n’est pas bonne. Le déséquilibre local du nombre de flèches met en évidence la présence d’un évènement dans la zone mais les bulles liées à cet évènement peuvent être des bulles voisines des bulles initialement trouvées. Il faut donc récupérer les numéros des bulles voisines de chacune des bulles mères et de la bulle fille. Ensuite, le programme compare de nouveau la somme des deux nouvelles bulles mères avec chacune des potentielles bulles filles. Tous les couples de bulles mères avec la bulle fille répondant au critère d’aire sont alors ajoutés à la liste des bulles mères et filles potentielles. Ce procédé permet de regrouper un grand nombre de combinaisons possibles quant à la disposition des bulles les unes par rapport aux autres. Néanmoins, afin de faire fonctionner correctement le programme, une hypothèse forte est nécessaire. Il faut qu’au moins une des deux bulles mères trouvées initialement soit correcte. Il s’avère que cette hypothèse est bien respectée puisque nous verrons que pratiquement tous les évènements sont trouvées. Après cette étape, une bulle fille peut avoir plusieurs couples de bulles mères possibles. Un second critère, basé sur la position des bulles, permet de sélectionner le couple et la fille les plus vraisemblables.

Critère de nombre de pixels communs

Ce second critère est basé sur le nombre de pixels communs entre le couple de bulles mères et leur fille. Chacun des pixels de l’image est lié soit à une bulle soit à un film. Pour chaque couple ayant la même fille, il est donc possible de récupérer les coordonnées de tous les pixels des bulles mères et de les comparer à la liste des coordonnées des pixels de leur bulle fille. Le couple avec le plus grand nombre de pixels communs avec la fille est gardé en mémoire de même que la bulle fille du couple.

Après avoir pris en compte ce critère, nous arrivons quasiment à la liste finale des bulles mères et filles. Ces deux critères fonctionnent très bien et permettent de trouver quasiment tous les évènements de coalescence. Cependant, certains évènements ne sont pas détectés, par exemple, lorsque les deux bulles mères ont des aires très différentes (une très grosse bulle et une petite bulle) ou encore s’il y a un fort déplacement dans la mousse au niveau de la zone de coalescence. De plus, dans cette liste de bulles, il reste également de faux évènements de coalescence, par exemple, dans le cas où un pixel manque entre deux bulles sur une image. Nous avons alors une première image avec deux bulles et sur l’image suivante ces deux bulles sont considérées comme une seule (à cause du pixel manquant dans le film). La somme des aires des bulles mères est alors égale à l’aire de la fille et le nombre de pixels communs est maximal. Ce cas est particulièrement problématique, un film peut disparaître sur une image puis réapparaître sur la suivante et ainsi de suite, multipliant grandement le nombre de faux évènements. Il faut donc un autre critère pour éliminer ces fausses coalescences liées au choix initial du seuil lors de binarisation de l’image.

Critère de persistance dans le temps

Un dernier critère est ajouté afin d’essayer de prendre compte ce dernier cas. Il s’agit de charger une troisième image correspondant au temps t + 2.

La figure5.8 montre deux images superposées de la même mousse prises au temps t (en gris) et au temps t + 1 (en noir). Les ronds rouges représentent le centre des bulles

5.4. PROGRAMME MATLAB : SUIVI DE BULLES 57

Figure 5.8: Deux images superposées de la même mousse prises au temps t (en gris) et au temps t + 1 (en noir). Les ronds rouges représentent le centre des bulles sur l’image prise au temps t, les cercles bleus sont le centre des bulles à t + 1 et les cercles verts le centre des bulles à t + 2. Les distances dm1 et dm2 sont les distances entre chacune des bulles mères et les coordonnées du centre des/de la bulle(s) sur l’image à t + 2. df est la distance entre le centre de la bulle fille (sur l’image t + 1) et le centre de la bulle à ces coordonnées sur l’image t + 2. La différence entre ces distances permet de savoir si sur l’image t + 2, les bulles sont dans une configuration similaire à l’image à t ou à t + 1. Si la configuration est la même que pour l’image à t + 1, on a un vrai évènement de coalescence (sur la gauche de l’image), sinon il s’agit d’un faux évènement (sur la droite de l’image).

sur l’image prise au temps t, les cercles bleus sont le centre des bulles à t + 1 et les cercles verts pour les bulles à t + 2. Les distances dm1 et dm2 sont les distances entre chacune des bulles mères et les coordonnées du centre des/de la bulle(s) sur l’image à t + 2. df est la distance entre le centre de la bulle fille (sur l’image t + 1) et le centre de la bulle à ces coordonnées sur l’image t + 2. La différence entre ces distances permet de savoir si sur l’image t + 2, les bulles sont dans une configuration similaire à l’image à t ou à t + 1. Si la configuration est la même que pour l’image à t + 1, on a un vrai évènement de coalescence (sur la gauche de l’image) sinon il s’agit d’un faux évènement (sur la droite de l’image). Les bulles changeant de numéro à chaque image, il est impossible de se référer à ce numéro plus d’une image après l’image considérée. Il faut donc relever les coordonnées des centres des bulles mères et celles des centres de la bulle fille respectivement sur l’image considérée et sur l’image à t + 1. Ensuite, il est possible d’aller récupérer le ou les numéros des bulles mères à ces positions sur la troisième image à t + 2. De même, en utilisant les coordonnées de la bulle fille, nous récupérons soit un numéro de bulle soit 0 si l’on est sur un film séparant deux bulles. Si pour chacune de ces positions, on obtient un numéro de bulle, deux options sont possibles, soit il s’agit d’un vrai évènement de coalescence, soit il y a un déplacement global de la mousse entre les images. Un critère de distance entre le centre des bulles sur les différentes images est appliqué. Après avoir relevé les coordonnées des centres des différentes bulles sur la troisième image, il est possible de calculer les trois distances suivantes :

• df : distance entre le centre de la bulle fille et centre de la bulle aux coordonnées de cette bulle sur la troisième image.

• dm1 : distance entre le centre de la première bulle mère et centre de la bulle aux coordonnées de cette bulle sur la troisième image.

• dm2 : distance entre le centre de la seconde bulle mère et centre de la bulle aux coordonnées de cette bulle sur la troisième image.

Si df < dm1 et si df < dm2, on considère que l’évènement de coalescence est vrai. En effet, si la distance df est plus petite que la distance avec les bulles mères, il est fort probable que ce soit la même bulle. La comparaison entre ces différentes distances constitue le critère de déplacement que nous utilisons pour vérifier qu’une bulle a réellement coalescé.

Après ce dernier critère, nous enlevons tous les couples mères et filles dont les deux mères sont au bord de l’image. Nous obtenons alors une liste définitive avec les couples de bulles mères et les bulles filles correspondantes. Cependant, certaines coalescences ne sont pas détectées et il reste également de faux évènements de coalescence. Le nombre de faux positifs étant non négligeable (de l’ordre de 50 %), il est nécessaire de les enlever à la main.

Discussion sur la limitation des différents critères

Les différents critères que nous venons de voir permettent de trouver la quasi-totalité des évènements de coalescence. Cependant, chacun d’eux a ses limitations. Le critère d’aire est celui qui pose le plus de problèmes. Cette limitation vient du fait qu’il est arbitraire. En effet, il est fixé à ±10 % de différence entre la somme des aires des bulles mères et de l’aire de la bulle fille. Ceci est un bon compromis et fonctionne dans la plupart des cas. Cependant, si le rapport d’aire entre l’aire de la plus petite et de la plus grande des deux bulles mères est inférieur à 0.1, c’est à dire s’il y a une grande différence de taille entre les bulles mères, l’aire de la plus grande bulle peut suffire à valider le critère. Afin de remédier à ce problème, nous avons essayé de remplacer ce critère d’aire par un critère de convexité. Toutefois, ce critère, basé sur la différence de convexité entre les deux bulles mères et la fille, est encore plus restrictif qu’un critère d’aire. En effet, la différence de convexité est fortement liée au rapport d’aire. Idéalement il faudrait la faire varier graduellement avec le rapport d’aire ce qui est complexe et augmente le nombre de paramètres ajustables pour une faible amélioration du résultat final.

Les deux autres critères ne possédant pas de paramètre arbitraire, semblent plus ro-bustes mais permettent uniquement d’éliminer des évènements de fausses coalescences. Le critère de pixels en commun est très efficace dans le cas où plusieurs couples poten-tiels de bulles mères ont une même fille en déterminant le couple le plus vraisemblable. Mais si aucun des couples initiaux n’est correct, aucun évènement de coalescence ne sera trouvé. Il en est de même s’il y a un fort déplacement global de la mousse. Pour le critère de position de la fille sur l’image suivante (t + 2), un déplacement global de la mousse est également un problème majeur. Néanmoins, ce type de déplacement arrive majoritairement en fin d’expérience lorsque qu’il y a plusieurs bulles impliquées dans un évènement de coalescence ou lorsque deux grosses bulles fusionnent, entraînant un déplacement de petites bulles à proximité. Ainsi, les évènements de coalescence en fin d’expérience sont mal détectés. De même, le programme ne détecte pas la coalescence de plus de deux bulles ce qui représente environ 5 − 10 % des coalescences. Ceci serait possible en changeant le premier critère de taille à condition de pouvoir au préalable savoir combien de bulles sont impliquées dans la coalescence mais cela nécessiterait une modification de l’étape de mauvais suivis.

Nous venons de voir le programme MATLAB nous permettant de suivre les bulles d’une image à l’autre et de trouver toutes les bulles impliquées dans un évènement de coalescence. Ce programme n’est pour le moment capable de détecter que deux bulles qui fusionnent, ce qui représente une majorité des cas.

5.4. PROGRAMME MATLAB : SUIVI DE BULLES 59

5.4.6 Informations sauvegardées pour l’ensemble des bulles et