Segmentation et reconstruction de micro-organismes à partir d images Romain Vavassori 8 mai 2012 Table des matières 1 Introduction 1 1.1 Etat de l art............................ 2 2 Travail réalisé 4 2.1 Calibration............................ 4 2.2 Reconstruction.......................... 5 3 Résultats 6 4 Conclusion 8 1 Introduction Ce projet est réalisé dans l équipe Morpheo du laboratoire de l INRIA, sous la tutelle de Jean-Sébastien Franco. Cette équipe s intéresse à l acquisition ainsi que l analyse des formes en mouvement, celà à travers des systèmes de caméras hétérogènes. Le projet se situe dans le cadre d une collaboration avec Emmanuel Raynaud de l University College Dublin. Leur thème de recherche est l étude du fonctionnement de tissus dans un but d atteindre une connaissance complète sur les mécanismes de sécrétions de la simple bactérie jusqu aux tissus complexes. Ce laboratoire a développé une nouvelle technologie permettant d obtenir de multiples images d organismes microscopique. L objectif de ce projet et le but conjoint de l UCD et l équipe Morpheo est d etudier la possibilité d obtenir des reconstructions 3D d objets microscopiques à partir de ces images, technique inédite sous cette forme. De plus, du fait de la nouveauté de cette technique, le type de données en découlant est unique et aucun travail n a encore été fait sur leur analyse. Celà justifie que l on doive s intéresser à la conception de techniques spécifiquement adaptées. 1
Fig. 1 Deux exemples de jeux de données. A gauche un copépode et à droite un insecte. Nous avons en notre possession plusieurs jeux de données de natures différentes, comme on peut le voir sur la figure 1. Ces jeux de données contiennent des silhouettes de micro-organismes photographiés sous un grand nombre d angles de vue différents. 1.1 Etat de l art Il existe beaucoup de techniques de reconstruction 3D différentes. L objectif de ce projet est d examiner une méthode particulière de reconstruction : celle à partir de silhouettes, qui nécessite certaines étapes de calibration, d extraction de silhouettes et enfin de reconstruction. Nous en verrons les détails plus loin. Dans ce qui suit on parlera de caméra même si nos données sont des photoraphies, car la modélisation du comportement d une caméra est équivalente à celle d un appareil photo. L acquisition d une image par une caméra est représentée par une transformation qui projète une scène 3D sur un plan 2D. Plusieurs modèles de projections sont communément utilisés. D abord la projection perspective, qui transforme un point P de l espace en un point I dans le plan image. La relation entre ces deux points est donnée par l équation (1), où f correspond à la distance focale : ( ) ( ) Ix f P x P = z (1) I y f Py P z Dans ce modèle les équations de projection ne sont pas linéaires. Un deuxième modèle de projection commun est la projection affine. Contrairement à la précédente, cette projection effectue une transformation linéaire, qu on peut matérialiser par un produit matriciel avec A une matrice 2 3 : I = AP (2) Ce cas revient à prendre le modèle de caméra perspective dans lequel la position de la caméra est rejetée à l infini et la distance focale est beaucoup plus importante que la distance caméra à objet. 2
Fig. 2 Projection de l objet sur le plan image. Notre cas est propice à la reconstruction à partir de silhouettes. Cette méthode utilise la donnée des silhouettes ainsi que les informations de projection des caméras pour reconstruire l objet en 3D. Chaque silhouette définit une région de l espace dans laquelle l objet est certains d être inclus. Cette région correspond à la projection inverse de la silhouette depuis le point de vue V. Elle donne un cône pour une projection perspective ou un cylindre pour une projection orthogonale (zone hachurée sur la figure 2). Comme l objet est inclus dans la région de chaque silhouette, le calcul de l intersection de toutes les régions nous donne une approximation de celui-ci. Plus le nombre d images utilisées est grand, plus la forme de l objet devient précise, car à chaque nouvelle image l intersection enlève des morceaux d espace dont on sait qu ils n appartiennent pas à l objet. L intersection de chacune de ces régions forme ce qui est appelé l enveloppe visuelle de l objet [2]. Cette enveloppe est la meilleure approximation de la forme réelle de l objet que nous puissions atteindre avec une reconstruction à partir de silhouettes. Cependant elle omet inévitablement certaines parties de l objet, celles qui ne peuvent être visibles sur aucune silhouette. La reconstruction nous impose donc de récupérer les contour de l objet. Pour extraire le contour des silhouettes il existe plusieurs méthodes de segmentation telles que Intelligent Scissors [4]. Celle-ci propose à l utilisateur de tracer un contour approximatif de l objet puis calcule le chemin de coût minimal, coût évalué de façon à ce qu un chemin collant au plus près des contours de l objet ait un faible coût. Il existe aussi la méthode GrabCut [5] pour laquelle on définit une région contenant les pixel du fond et une autre contenant les pixels de l objet, le reste de l image contenant des pixels dont on ne sait pas s ils appartiennent au fond ou à l objet. A partir de ces données la méthode calcule un modèle statistique pour les couleurs du fond ainsi qu un autre pour celles de l objet. Il décide ensuite de manière récursive pour chaque pixel restants s il fait partie du fond ou de l objet en fonction de sa probabilité d appartenance à un des modèles précédents. 3
2 Travail réalisé Le pipeline mis en place se découpe en trois parties : premièrement les images doivent être segmentées pour extraire le contour de l objet. Ensuite on retrouve les informations de projection de la prise de vue pour chaques images afin de calculer les volumes projectifs correspondants, c est l étape de calibration. Enfin on calcule la reconstruction du modèle 3D, c est-à-dire l intersection des volumes projectifs de chaque image. Etant donnée la durée de ce projet nous nous sommes concentré sur les parties calibration et reconstruction. La segmentation des images est effectuée à la main, ainsi que le placement des points d intérêt. 2.1 Calibration Pour pouvoir reconstruire le modèle 3D, notre méthode s appuie sur les informations de projection de chaque image. Nous ne connaissons pas les paramètres avec lesquels ont été prises les photographies, comme la position de la caméra dans l espace, le type de caméra, etc. Nous devons donc les retrouver seulement à partir de l image. C est pour cette raison qu il y a une étape de calibration. Pour la calibration on fait l hypothèse que les caméras avec lesquelles ont été prises les photos sont affines. C est une hypothèse de travail que l on formule, pouvant être vérifiée a posteriori (voir section 3). Le modèle de caméra affine est plus propice à notre cas de figure car la distance focale est bien plus importante que la distance caméra / objet. Cette hypothèse nous permet de n avoir qu à résoudre un système linéaire. L équation (2) nous donne modèle de projection utilisé. Soit m images, il y a donc m matrice de projections A i i 1,m, une par image. Soit n points P j j 1,n de la scène ayant chacun m projections p ij = A i P j. Nous obtenons la matrice D de taille 2m n suivante : p 11... p 1n A 1 D =..... = AP, A =., P = ( ) P 1... P n p m1... p mn A m (3) Le but est de retrouver la matrice de projection A i de chaque caméra à partir des images. On doit donc remonter à A et P depuis la matrice D. Pour celà on calcule D en identifiant et en appariant des points reconnaissables dans chacunes des différentes images. L idée de Kanade et Tomasi [6] est d utiliser la méthode de Singular Value Decomposition pour décomposer la matrice D. Cette méthode donne la décomposition D = UW V T avec U, V et W ayant les propriétés suivantes : U une matrice 2m n avec U T U = Id. 4
W une matrice n n diagonale dont les valeurs diagonales sont les valeurs propres de D triées par ordre décroissant. V une matrice n n avec V T V = V V T = Id. On choisi ensuite A = U 3 et P = W 3 V3 T, où U 3 et V 3 représentent les matrices des 3 colonnes les plus à gauche des matrice U et V, et W 3 la sousmatrice 3 3 correspondante de W. L avantage de cette méthode est qu elle donne la meilleure approximation des valeurs réelles de A et P dans le cas où le système est bruité. Le problème du modèle de caméra affine est que la projection ne préserve ni les distances ni les angles, ce qui a comme conséquence que les volumes que nous tentons de reconstruire puissent être déformés. Nous effectuons un passage d une structure affine à une structure euclidienne. Pour n importe quelle matrice C inversible on peut garder l équivalence D = AP = (AC)(C 1 P ). On cherche  = AC qui réponde aux contraintes suivante, avec at i1 et at i2 les lignes de la matrice A i : aˆ i1 aˆ i2 = 0 aˆ i1 2 = 1 aˆ i2 2 = 1 a T i1 CCT a i2 = 0 a T i1 CCT a i1 = 1 a T i2 CCT a i2 = 1 En pratique on résout ce système en prenant E = CC T qu on déduit par la méthode des moindres carrés linéaires, puis on effectue une décomposition de Cholesky pour retrouver C. Celà implique que E soit définie positive, ce qui n est pas forcément le cas en présence de bruit [1]. Pour ce qui est du copépode, nous n avons pas pu appliquer ce passage car la matrice E n était pas définie positive, ce qui a empéché la résolution des contraintes. Nous n en connaissons pas la raison, même s il se pourrait que ce soit dû au bruit. 2.2 Reconstruction A partir du moment ou nous avons les paramètres de projection ainsi que le contour de l objet pour chaque image, nous pouvons effectuer la transformation inverse qui nous donne le volume de l espace correspondant à la partie cachée dans la silhouette. Pour chaque image nous avons la matrice de projection A = ( a b c d e f ), a 1 = a b c, a 2 = Si on prend p 0 pour origine alors à chaque point ( ) xj p j = y j d e f (4) (5) (6) 5
(a) (b) Fig. 3 (a) Volume projectif calculé. (b) Réunion des volumes de plusieurs images. de l image correspond la droite d équation x j x 0 a 1 a 1 + y j y 0 a 2 a 2 + λa 1 a 2 (7) A partir de là on peut reconstruire le volume de chaque silhouette connaissant les points du contour. On peut voir un exemple de volume calculé sur la figure 3 (a). La figure 3 (b) montre les volumes tirés de 4 images différentes. Au final on retrouve l enveloppe visuelle de l objet en calculant l intersection de tous les volumes précédement calculés. 3 Résultats La solution mise en place fonctionne. Nous somme capable de reconstruire un modèle 3D à partir de plusieurs prise de vues. Les figures 4 et 5 montrent les résultats obtenus pour une reconstruction à partir de 4 images, pour deux jeux de données. Dans l état actuel des choses, notre méthode n est pas optimale. Nous ne pouvons pas utiliser beaucoup d images pour reconstruire car la reconstruction prend beaucoup de temps : il nous faut 30 minutes pour reconstruire un modèle à partir de 4 images. Une question subsiste, à savoir si on peut confirmer l hypothèse d affinité des caméras, hypothèse faite dans la section 2.1. On peut s appuyer pour celà sur les valeurs propres de la SVD calculées dans l étape de calibration. Dans le cas idéal la matrice D est de rang 3, seules les 3 premières valeurs propres de la SVD sont non-nulles [1]. En pratique chaque valeur propre de la SVD est non-nulle à cause des erreurs commises dues au bruit de l image. Le ratio entre la troisième et la quatrième valeur propre donne une bonne indication de l erreur commise. 6
Fig. 4 Reconstruction de l insecte à partir de 4 images. Fig. 5 Reconstruction du copépode à partir de 4 images. 7
Le ratio que nous obtenons pour l insecte est de 7.16 et celui pour le copépode est de 6.03. Dans les deux cas l erreur commise ne dépasse pas les 15%, ce qui tend à confirmer notre hypothèse d affinité. 4 Conclusion Nous avons montré qu il est possible de reconstruire un modèle 3D à partir de différentes photos prises au microscope. Notre méthode consiste à segmenter les images afin d extraire le contour de l objet, puis on calcule les informations de projection de caméras pour la calibration, pour enfin reconstruire le modèle 3D comme l intersection des volumes projectifs. Le prototype mis en place montre la faisabilité de cette méthode. Il reste beaucoup d améliorations possibles comme l optimisation du temps de reconstruction, l automatisation de la segmentation du contour des objets ainsi que l automatisation de la recherche de points d intérêt pour la calibration. Pour cette dernière, une méthode pouvant être utilisée est l algorithme SIFT [3]. De plus, chaque point d intérêt n est en pratique visible que sur une fraction des images. Ce cas n est pas géré par notre méthode mais comme le montre [6] il peut faire l objet d une implémentation. Références [1] D. Forsyth and J. Ponce. Computer Vision : A Modern Approach. Prentice Hall Series in Artificial Intelligence. Prentice Hall, 2003. [2] A. Laurentini. The visual hull concept for silhouette-based image understanding. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 16(2) :150 162, 1994. [3] D.G. Lowe. Object recognition from local scale-invariant features. In Computer Vision, 1999. The Proceedings of the Seventh IEEE International Conference on, volume 2, pages 1150 1157. Ieee, 1999. [4] E.N. Mortensen and W.A. Barrett. Intelligent scissors for image composition. In Proceedings of the 22nd annual conference on Computer graphics and interactive techniques, pages 191 198. ACM, 1995. [5] C. Rother, V. Kolmogorov, and A. Blake. Grabcut : Interactive foreground extraction using iterated graph cuts. In ACM Transactions on Graphics (TOG), volume 23, pages 309 314. ACM, 2004. [6] C. Tomasi and T. Kanade. Shape and motion from image streams under orthography : a factorization method. International Journal of Computer Vision, 9(2) :137 154, 1992. 8