Brevet FR2928760A1 — publié le 20090918

Procédé de détection d'un objet dans une image La présente invention se situe dans le domaine du traitement des images et concerne un procédé de détection d'un objet dans une image. La technique de l'invention trouve des applications dans le domaine de la classification d'images et notamment dans le domaine de l'indexation automatique d'images par analyse du contenu. La détection d'un objet dans une image, c'est à dire identifier si un objet est présent dans une image et à quelle position, quels que soient l'orientation, la taille ou encore l'angle sous lequel est éclairé cet objet, représente une faculté humaine difficile à reproduire. Néanmoins, différentes méthodes ont été développées pour résoudre ce problème. Les méthodes les plus couramment utilisées sont les méthodes de détection d'un objet dans une image par système d'apprentissage tel que décrit par Paul Viola et Michael Jones, dans l'article intitulé "Robust Real-time Object Detection", Second International Workshop on Statistical and Computational Theories of Vision-Modeling, Learning, Computing and Sampling, Vancouver, Canada, Juillet 2001. Dans ce document, la détection d'un objet dans une image par système d'apprentissage se déroule en deux phases : une phase d'apprentissage et une phase de détection. Au cours de la phase d'apprentissage, le système extrait et sélectionne un certain nombre d'éléments caractéristiques d'une image de l'objet à détecter, encore appelés descripteurs. Cette sélection s'effectue à partir d'un grand nombre d'occurrences d'images de l'objet à détecter qui constitue une base d'apprentissage. Seuls sont retenus les descripteurs qui donnent les meilleurs taux de détection. Ensuite, on construit un ou plusieurs classifieurs avec un nombre variable de descripteurs, de plus en plus grand dans le cas de plusieurs classifieurs. La phase de détection consiste à soumettre l'image dans laquelle on cherche à détecter l'objet successivement aux classifieurs précédemment construits dans un ordre de complexité croissante. Si tous les classifieurs donnent un résultat positif alors l'objet est effectivement considéré comme détecté. Si un réseau de neurones donne un résultat négatif alors l'objet n'est pas détecté. Dans une application de reconnaissance de visages, les descripteurs sont, par exemple, des formes assimilables aux yeux, au nez, à la bouche... Pour donner des résultats pertinents, une telle application doit disposer d'une base d'apprentissage de plus de 5000 images de visages et d'au moins 10000 images autres que des visages. Les méthodes de détection d'objet par système d'apprentissage présentent plusieurs inconvénients. Notamment les descripteurs sont dépendants de l'objet à détecter et le système d'apprentissage nécessite un grand nombre d'occurrences d'images de l'objet à détecter. Or, la constitution d'une base d'apprentissage est lourde et coûteuse. Par ailleurs, une autre catégorie de méthodes d'objet est basée sur une mesure de similarité entre deux images, par exemple un corrélation, comme dans "Fast Pattern Recognition using Normalized Grey-Scale Correlation in a Pyramid Image Representation", de W. JamesMacLean et John K. Tsotsos, dans Machine Vision & Application, 2007. La détection par corrélation utilise une ou plusieurs images de l'objet de référence et cherche dans une image de test une forme fortement corrélée avec une des images de référence. Ces méthodes sont simples à mettre en oeuvre, rapides et adaptables à une large variété d'objets puisque ne nécessitant pas l'utilisation de descripteurs complexes ou d'une grande base d'apprentissage. Cependant, les performances des méthodes basées sur la corrélation sont bien inférieures à celles des méthodes utilisant un système d'apprentissage. L'invention a notamment pour objectif de pallier ces inconvénients de la technique antérieure, en proposant un procédé de détection d'objet qui présente les avantages des méthodes basées sur une mesure de similarité qui reste simple et rapide à mettre en oeuvre, tout en offrant des performances améliorées se rapprochant de celles de méthodes plus complexes telles que celles utilisant un système d'apprentissage. A cette fin, l'invention propose un procédé de détection d'un objet à détecter dans un ensemble d'images de test, comportant l'étape de : -mesure de similarité entre des images d'objets déterminées à partir des images de test et au moins une image de référence d'un ensemble d'images de référence, de manière à affecter un score courant de similarité respectif aux images d'objets, caractérisé en ce qu'il comporte des étapes de : - sélection d'images d'objets parmi des images d'objets sélectionnables - pour lesquelles le score courant de similarité est compris entre un premier et un second seuils, ou - pour lesquelles le score courant de similarité est supérieur au second seuil et auxquelles n'a pas été préalablement affecté un score de similarité supérieur au premier seuil, le second seuil étant supérieur au premier seuil, -remplacement de l'ensemble d'images de référence par l'ensemble des images d'objets sélectionnées, les étapes de mesure de similarité, sélection et remplacement étant réitérées tant qu'au moins une image d'objet est sélectionnée à l'étape de sélection. Grâce à l'invention, les performances de la détection basée sur une mesure de similarité, qui reste simple et rapide à mettre en oeuvre, sont améliorées. En effet, l'ensemble des images de référence évolue en fonction des détections effectuées itérativement sur l'ensemble des images de test. Ainsi, en partant d'un ensemble de référence qui peut être de taille très réduite, l'ensemble des images de test est parcouru et de nouveaux objets à ajouter dans l'ensemble des images de test sont détectés de proche en proche. Selon une caractéristique préférée, le procédé comporte en outre l'étape de mémorisation des résultats de mesures de similarité au cours des itérations. Selon une caractéristique préférée, à l'étape de sélection, le nombre d'images d'objets sélectionnées est inférieur ou égal à un nombre prédéterminé. Ainsi la taille de l'ensemble de référence est maîtrisée. Selon des caractéristiques préférées : - lorsque le nombre d'images d'objets sélectionnables est inférieur au nombre prédéterminé, toutes les images d'objets sélectionnables sont sélectionnées ; - lorsque le nombre d'images d'objets sélectionnables est supérieur au nombre prédéterminé, et lorsque le nombre d'images d'objets sélectionnables, dont le score de similarité est supérieur à un troisième seuil, est inférieur au nombre prédéterminé, les images d'objets sélectionnées sont les images d'objets sélectionnables dont le score courant de similarité est le plus proche du troisième seuil ; - lorsque le nombre d'images d'objets sélectionnables est supérieur au nombre prédéterminé, et lorsque le nombre d'images d'objets sélectionnables, dont le score de similarité est supérieur à un troisième seuil, est supérieur au nombre prédéterminé, les images d'objets sélectionnées sont les images d'objets sélectionnables dont le score courant de similarité est immédiatement supérieur au troisième seuil. Ces caractéristiques permettent de sélectionner les images qui offrent un bon compromis pour ajouter de l'information qui fera évoluer la détection sans ajouter trop d'erreur. Selon une caractéristique préférée, la mesure de similarité est du type appartenant au groupe : - mesure par corrélation, - mesure par distance L1 ou L2. Ces mesures de similarité sont simples et rapides à mettre en oeuvre. Selon une caractéristique préférée, le résultat de la détection est l'ensemble des images d'objets auxquelles a été affecté un score de similarité supérieur à un seuil de détection au cours des itérations. L'invention concerne aussi un dispositif de détection d'un objet à détecter dans un ensemble d'images de test, comportant : - un module de mesure de similarité entre des images d'objets déterminées à partir des images de test et au moins une image de référence d'un ensemble d'images de référence, de manière à affecter un score courant de similarité respectif aux images d'objets, caractérisé en ce qu'il comporte en outre : - un module de sélection d'images d'objets parmi des images d'objets sélectionnables - pour lesquelles le score courant de similarité est compris entre un premier et un second seuils, ou - pour lesquelles le score courant de similarité est supérieur au second seuil et auxquelles n'a pas été préalablement affecté un score de similarité supérieur au premier seuil, le second seuil étant supérieur au premier seuil, - un module de remplacement de l'ensemble d'image de référence par l'ensemble des images d'objets sélectionnées, les modules de mesure de similarité, sélection et remplacement étant adaptés pour fonctionner de manière itérative tant qu'au moins une image d'objet est sélectionnée à l'étape de sélection. L'invention concerne encore un programme d'ordinateur comportant des instructions pour mettre en oeuvre le procédé précédemment présenté lorsque le procédé est exécuté par un ordinateur. L'invention sera mieux comprise à la lumière de la description qui suit d'un mode particulier de réalisation du procédé selon l'invention de détection d'un objet dans une image et d'un dispositif correspondant, en référence aux dessins annexés sur lesquels : - la figure 1 représente un mode de réalisation du procédé de détection selon l'invention, - la figure 2 représente un mode de réalisation d'une étape de sélection inclus dans le procédé selon l'invention, - la figure 3 représente le dispositif apte à mettre en oeuvre le procédé de la figure 1. Selon un mode de réalisation de l'invention décrit en référence à la figure 1, le procédé de détection est dédié à la détection de visages dans une image. Cependant, le procédé de l'invention est utilisable pour détecter tout type d'objet dans une image. Le procédé de détection d'un objet dans une image selon l'invention repose sur la méthode de détection d'un objet, en l'occurrence d'un visage, dans une image par mesure de similarité entre une image de référence de visage et une image de test dans laquelle on cherche à détecter la présence et la position d'un visage. On dispose initialement d'un ensemble d'images de test IT, dans lesquelles on recherche la présence et la position d'un objet, que l'on désigne par objet à détecter. Dans une image de test peuvent figurer plusieurs objets à détecter ainsi que d'autres éléments entrant dans la composition de l'image comme par exemple un arrière plan. L'ensemble d'images de test IT comporte par exemple plusieurs centaines d'image. On dispose également d'un ensemble initial d'images de référence IR représentant un objet de référence. Dans une image de référence ne figure que l'objet de référence. L'ensemble initial d'images de référence est de taille réduite, il comporte par exemple une image, ou quelques images. L'invention se distingue de l'état de l'art exposé plus haut en ce qu'on fait évoluer l'ensemble d'images de référence au cours de la détection. Le procédé de détection selon l'invention comporte des étapes El à E5 qui sont parcourues itérativement. L'étape El est une mesure de similarité entre chaque image de référence IR et chaque image de test IT. La mesure de similarité utilisée est une corrélation, ou en variante une distance L1 ou L2. Pour décider s'il y a détection de l'objet de référence dans une image de test, un score de similarité SS est comparé à un seuil de détection SD et on considère qu'il y a détection si le score de similarité est supérieur au seuil de détection. Lorsque la mesure de similarité est une corrélation, le score de similarité est le résultat de la corrélation et il y a détection si ce résultat est supérieur au seuil de détection SD. Dans le cas où la mesure de similarité est une distance, il y a détection si la mesure de distance est inférieure à une valeur prédéterminée. Le score de similarité est alors déduit à partir de l'inverse de la distance et le seuil de détection est déterminé à partir de l'inverse de la valeur prédéterminée. Selon un mode préféré de réalisation de l'invention, on utilise une corrélation normalisée, par exemple comme dans la demande de brevet français n ° 07 57368 déposée par la demanderesse. Le résultat de l'étape El de mesure de similarité est un ensemble d'images d'objets détectés dans les images de tests, un score de similarité SS étant associé à chaque image d'objet détecté ID. Dans la suite, on appelle image de détection une image d'objet détecté. L'étape suivante E2 est la mémorisation des résultats de mesure de similarité, par exemple dans des fichiers de sauvegarde au format xml. L'étape suivante E3 est une sélection d'images de détection ID en fonction de leur score de similarité respectif SS. La sélection d'images de détection est détaillée dans la suite en référence à la figure 2. Elle a pour résultat un ensemble d'images de détection sélectionnées IS. L'étape suivante E4 est un test pour déterminer si l'ensemble d'images de détection sélectionnées IS est non vide. Si cet ensemble est non vide, alors l'étape E4 est suivie de l'étape E5 à laquelle l'ensemble courant d'images de référence IR est remplacé par l'ensemble d'images de détection sélectionnées IS. L'étape E5 est suivie de l'étape El précédemment décrite, au cours de laquelle une mesure de similarité est effectuée en utilisant ce nouvel ensemble d'images de référence. Lorsqu'à l'étape E4 l'ensemble d'images de détection sélectionnées est vide, la détection est terminée. Le résultat de la détection est l'ensemble des images d'objets détectés au cours des itérations des étapes El à E5, c'est-à-dire toutes les images de détection ID dont le score de similarité est supérieur au seuil de détection SD. Il est possible qu'un même objet soit détecté plusieurs fois au cours des itérations du procédé, avec des scores de similarité différents. Dans ce cas, on ne retient que la détection ayant conduit au score de similarité le plus grand. En référence à la figure 2, l'étape E3 de sélection comporte des sous-étapes E31 à E37. La sélection a pour but de ne pas sélectionner comme nouvelle image de référence une image qui serait trop proche des images de référence courante, car cela n'apporterait que peu d'informations. Les images de référence en cours de sélection doivent être suffisamment différentes des images de référence courante ayant servi à les déterminer. Elle a également pour but de ne pas introduire d'erreur dans la détection. L'étape E31 est l'établissement d'une liste d'images sélectionnables, parmi les images de détection ID déterminées à l'étape E1. Une image est sélectionnable : - si son score courant de similarité est compris entre un premier et un second seuils, ou - si son score courant de similarité est supérieur au second seuil et qu'elle n'a pas été préalablement détectée avec un score de similarité supérieur au premier seuil, le second seuil étant supérieur au premier seuil. En d'autres termes, une image est sélectionnable si son score de similarité est compris entre les seuils S1 et S2 ou si son score est supérieur au seuil S2 et qu'elle est sélectionnable pour la première fois. Le premier seuil S1 est le score de similarité en dessous duquel on considère que l'image de détection ID ne peut pas être utilisée comme image de référence, car le risque d'ajouter une mauvaise détection serait trop grand. L'ajout d'erreurs dans l'ensemble de référence à une itération entrainerait la détection de nouvelles erreurs lors des itérations suivantes et le procédé divergerait. Le seuil S1 est déterminé expérimentalement et est par exemple égal à 0,5 dans le cas où la mesure de similarité repose sur une corrélation normalisée. Le résultat de l'étape E31 est la liste d'images sélectionnables, déterminée en fonction des seuils S1 et S2. A l'étape suivante E32, les images sélectionnables sont ordonnées en fonction de leurs scores courant de similarité. L'étape suivante E33 est un test pour déterminer si le nombre d'images sélectionnables est inférieur à un nombre prédéterminé N, qui est le nombre maximal d'images à sélectionner comme prochaines images de référence. Si la réponse est positive, alors l'étape E33 est suivie de l'étape E34 qui est la sélection de toutes les images sélectionnables. L'étape E34 est suivie de l'étape E4 précédemment décrite en référence à la figure 1. Bien entendu, en variante, les étapes E33 et E34 peuvent être effectuées avant I"étape E32. Lorsque la réponse est négative à l'étape E33, le nombre d'images sélectionnables est supérieur au nombre N d'images à sélectionner. L'étape E33 est alors suivie de l'étape E35 qui est un test pour déterminer si le nombre d'images sélectionnables dont le score de similarité est supérieur à un troisième seuil S3 est inférieur au nombre N. Le troisième seuil S3 est supérieur au seuil S1 et peut être choisi égal au deuxième seuil S2. Le troisième seuil S3 est également déterminé expérimentalement. Le seuil S3 est le score de similarité à partir duquel la probabilité qu'une image de détection ne corresponde pas à l'objet recherché est considérée comme très faible. Si la réponse est positive, cela signifie qu'il existe des images sélectionnables dont le score est compris entre les seuils S1 et S3, et qu'il peut en exister dont le score est supérieur au troisième seuil S3. Dans ce cas, l'étape E35 est suivie de l'étape E36 qui est la sélection de N images telles que leurs scores de similarité soient les plus proches du seuil S3. L'étape E36 est suivie de l'étape E4 précédemment décrite en référence à la figure 1. Lorsque la réponse est négative à l'étape E35, le nombre d'images sélectionnables dont le score de similarité est supérieur au seuil S3 est supérieur au nombre N d'images à sélectionner. L'étape E35 est alors suivie de l'étape E37 qui est la sélection de N images telles que leurs scores de similarité soient immédiatement supérieurs au seuil S3. L'étape E37 est suivie de l'étape E4 précédemment décrite en référence à la figure 1. En variante, si le nombre N d'images à sélectionner n'est pas atteint, les seuils S1, S2 et S3 peuvent être modifiés afin d'éviter un arrêt prématuré de la détection. Par exemple, le premier seuil S1 peut être diminué, au prix d'une augmentation des chances d'ajouter une fausse détection. La figure 3 illustre un dispositif 30 de détection d'un objet dans un ensemble d'images de test IT mémorisé dans une mémoire 32. Le dispositif 30 comporte : - un module 31 de mesure de similarité entre des images d'objets déterminées à partir des images de test et au moins une image de référence d'un ensemble d'images de référence, mémorisé en mémoire 33, de manière à affecter un score courant de similarité respectif aux images d'objets, - un module 35 de sélection d'images d'objets pour lesquelles le score courant de similarité est supérieur à un premier seuil et auxquelles n'a pas été préalablement affecté un score de similarité supérieur au premier seuil si leur score courant de similarité est supérieur à un second seuil, le second seuil étant supérieur au premier seuil, - un module 35 de remplacement de l'ensemble d'images de référence IR par l'ensemble des images d'objets sélectionnées, Les modules de mesure de similarité, sélection et remplacement étant adaptés pour fonctionner de manière itérative tant qu'au moins une image d'objet est sélectionnée à l'étape de sélection. Le dispositif 30 comprend en outre une unité centrale de commande, 25 non représentée, connectée à chacun des modules 31 à 35 et adaptée pour commander leur fonctionnement. Les modules 31 à 35 peuvent être des modules logiciels formant un programme d'ordinateur. L'invention concerne donc également un programme d'ordinateur pour un dispositif de détection d'un objet dans une image 30 comprenant des instructions logicielles pour faire exécuter le procédé précédemment décrit par le dispositif. Le module logiciel peut être stocké dans ou transmis par un support de données. Celui-ci peut être un support matériel de stockage, par exemple un CD-ROM, une disquette magnétique ou un disque dur, ou bien un support transmissible tel qu'un signal électrique, optique ou radio.5 REVENDICATIONS 1. Procédé de détection d'un objet à détecter dans un ensemble d'images de test, comportant l'étape de : - mesure de similarité entre des images d'objets déterminées à partir des images de test et au moins une image de référence d'un ensemble d'images de référence, de manière à affecter un score courant de similarité respectif aux images d'objets, caractérisé en ce qu'il comporte des étapes de : - sélection d'images d'objets parmi des images d'objets sélectionnables - pour lesquelles le score courant de similarité est compris entre un premier et un second seuils, ou - pour lesquelles le score courant de similarité est supérieur au second seuil et auxquelles n'a pas été préalablement affecté un score de similarité supérieur au premier seuil, le second seuil étant supérieur au premier seuil, - remplacement de l'ensemble d'images de référence par l'ensemble des images d'objets sélectionnées, les étapes de mesure de similarité, sélection et remplacement étant réitérées tant qu'au moins une image d'objet est sélectionnée à l'étape de sélection. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comporte en outre l'étape de mémorisation des résultats de mesures de similarité au cours des itérations. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce qu'à l'étape de sélection, le nombre d'images d'objets sélectionnées est inférieur ou égal à un nombre prédéterminé (N). 4. Procédé selon la revendication 3, caractérisé en ce que, lorsque le nombre d'images d'objets sélectionnables est inférieur au nombre prédéterminé, toutes les images d'objets sélectionnables sont sélectionnées. 5. Procédé selon la revendication 3, caractérisé en ce que, lorsque le nombre d'images d'objets sélectionnables est supérieur au nombre prédéterminé, et lorsque le nombre d'images d'objets sélectionnables, dont le score de similarité est supérieur à un troisième seuil, est inférieur au nombre prédéterminé, les images d'objets sélectionnées sont les images d'objets sélectionnables dont le score courant de similarité est le plus proche du troisième seuil. 6. Procédé selon la revendication 3, caractérisé en ce que, lorsque le nombre d'images d'objets sélectionnables est supérieur au nombre prédéterminé, et lorsque le nombre d'images d'objets sélectionnables, dont le score de similarité est supérieur à un troisième seuil, est supérieur au nombre prédéterminé, les images d'objets sélectionnées sont les images d'objets sélectionnables dont le score courant de similarité est immédiatement supérieur au troisième seuil. 7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que la mesure de similarité est du type appartenant au groupe : -mesure par corrélation, - mesure par distance L1 ou L2. 8. Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce que le résultat de la détection est l'ensemble des images d'objets auxquelles a été affecté un score de similarité supérieur à un seuil de détection au cours des itérations. 9. Dispositif (30) de détection d'un objet à détecter dans un ensemble d'images de test, comportant : - un module de mesure de similarité entre des images d'objets déterminées à partir des images de test et au moins une image de référence d'un ensemble d'images de référence, de manière à affecter un score courant de similarité respectif aux images d'objets, caractérisé en ce qu'il comporte en outre : - un module de sélection d'images d'objets parmi des images d'objets sélectionnables - pour lesquelles le score courant de similarité est compris entre un premier et un second seuils, ou - pour lesquelles le score courant de similarité est supérieur au second seuil et auxquelles n'a pas été préalablement affecté un score de similarité supérieur au premier seuil, le second seuil étant supérieur au premier seuil, - un module de remplacement de l'ensemble d'image de référence par l'ensemble des images d'objets sélectionnées, les modules de mesure de similarité, sélection et remplacement étant adaptés pour fonctionner de manière itérative tant qu'au moins une image d'objet est sélectionnée à l'étape de sélection. 10. Programme d'ordinateur comportant des instructions pour mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 8 lorsque le procédé est exécuté par un ordinateur.