FR 2927444 A1 20090814 FR 0850874 A 20080212 - 1- " Procédé pour générer une image de densité d'une zone d'observation." La présente invention se rapporte à un procédé pour générer une image de densité d'une zone d'observation sur un intervalle de temps donné. Elle trouve une application particulièrement intéressante mais non limitative dans le domaine de l'analyse comportementale par vision artificielle. Plus précisément, la présente invention peut s'appliquer à des io systèmes dans lesquels on dispose d'au moins une caméra disposée en hauteur à proximité d'un objet d'intérêt qui peut être un écran publicitaire ou un produit marchand dans un magasin par exemple. Cette caméra est disposée de façon à filmer tout individu passant proche de l'objet d'intérêt. Le flux vidéo de la caméra est traité de façon notamment à réaliser des 15 analyses comportementales. Dans le domaine d'analyse comportementale, il existe de nombreux algorithmes relatifs à la détection faciale ou au suivi de regard permettant d'estimer l'intérêt que portent des individus passant à proximité des objets d'intérêt. 20 La présente invention a pour but un nouveau procédé permettant d'exprimer d'une nouvelle façon l'attrait d'un objet d'intérêt dans une zone d'observation. On atteint le but précité avec un procédé pour générer une image de densité d'une zone d'observation sur un intervalle de temps donné, dans 25 lequel procédé on acquiert une pluralité d'images de la zone d'observation, pour chaque image acquise on réalise les étapes suivantes : a) détection de zones de pixels se détachant du fond fixe de l'image, cette zone de pixels correspond en fait aux éléments en mouvement, en particulier aux individus, 30 b) détection des individus, c) pour chaque individu détecté, détermination des surfaces élémentaires occupées par cet individu, et d) incrémentation d'un niveau d'intensité des surfaces élémentaires ainsi déterminées dans l'image de densité. - 2- Avec le système l'invention, on élabore une carte de chaleur qui peut être une image en couleur : les zones rouges correspondant à des taux d'occupation élevés, et les zones bleues à des taux d'occupation faibles, la variation entre les couleurs se faisant de façon continue. En fait, chaque surface élémentaire de la zone d'observation présente un niveau d'intensité proportionnel au taux d'occupation de cette surface élémentaire par des individus. Le taux d'occupation étant la durée totale pendant laquelle cette surface élémentaire a été occupée par tout individu. Selon une caractéristique avantageuse de l'invention, l'étape b) de io détection des individus comprend les étapes suivantes : détection de têtes des individus dans chaque zone de pixels, et dénombrement des individus dans chaque zone de pixels. En particulier, l'étape de détection de têtes comprend les étapes suivantes : 15 application d'un filtre de Canny sur l'image par rapport aux zones de pixels de façon à générer une image de contours des zones de pixels, application d'une transformée en distance de façon à élaborer une carte de distances, réalisation d'une convolution entre la carte de distance et un modèle 20 de tête (template) de façon à obtenir une carte de convolution, et application d'un algorithme de ligne de partage des eaux (watershed) de façon à détecter des têtes d'individus. L'utilisation d'algorithme de ligne de partage des eaux pour la détection de têtes d'individus permet d'obtenir les positions les plus 25 probables de têtes dans l'image sans avoir recours à des valeurs arbitraires (notamment de valeurs de seuils) ce qui limite les risques de non détection et garantit l'unicité d'une solution locale. Avantageusement, le dénombrement consiste à identifier simultanément le nombre d'individus présents et leur position respective. En 30 d'autres termes, on réalise une segmentation de groupes. En effet, dans la plupart des circonstances, les images proviennent d'une caméra ayant parfois un angle de visée oblique par rapport au sol, provoquant ainsi de nombreuses situations d'occlusion entre individus, il est alors difficile d'utiliser une recherche individu par individu. Pour cela, la présente 35 invention propose donc une solution cherchant à détecter et dénombrer un groupe (identification simultanée du nombre de personnes présentes et de leur position respective), et non à détecter chaque individu séparément. Selon une caractéristique de l'invention, l'identification des individus est effectuée à partir d'un modèle d'apparence à trois ellipses imitant un individu. Ce modèle d'apparence est optimisé selon les critères suivants : - minimisation du nombre d'individus, - maximisation du nombre de pixels différents du fond et appartenant aux silhouettes, io - minimisation du nombre de pixels différents du fond et n'appartenant pas aux ellipses, -minimisation du nombre de pixels appartenant au fond et aux ellipses, et -minimisation de la distance des contours d'un modèle 2D/3D. 15 Ensuite, l'optimisation est réalisée au moyen d'un algorithme itératif de descente de gradient. Selon une caractéristique avantageuse de l'invention, on répartit la convergence de l'algorithme itératif sur des images successives. La convergence de l'algorithme itératif vers un dénombrement optimal des 20 individus peut prendre un temps considérable. Avec la présente invention, on se contente d'une solution partielle approchée sur une image au moment de passer à l'image suivante; cette solution approchée servant de point de départ pour l'image suivante. Selon une variante avantageuse de l'invention, l'étape b) de détection 25 des individus peut comprendre les étapes suivantes : à partir d'un modèle 3D de la zone d'observation, d'un modèle 3D d'individu, et des caractéristiques liées à l'appareil d'acquisition de ladite pluralité d'images d'observation, on réalise une projection perspective dans l'image en cours de chaque surface élémentaire de la zone d'observation de 30 façon à obtenir une projection 2D des modèles d'individu ; on calcule la correspondance des modèles 2D sur chaque zone de pixels de façon à obtenir une carte de densité de probabilité de présence ; et on réalise une recherche de maxima par l'algorithme de ligne de 35 partage des eaux de façon à déterminer les individus détectés. - 4- De préférence, les caractéristiques de l'appareil d'acquisition comprennent le champ de vision, le positionnement et la distorsion. D'une façon générale, selon l'invention, préalablement à l'étape a), on réalise une étape d'extraction d'un fond de l'image de façon à déterminer un modèle de fond fixe. L'extraction du fond fixe de l'image est obtenue en moyennant les valeurs des pixels de l'image au cours du temps. Selon l'invention, pour tenir compte des faibles variations des valeurs des pixels, on peut modéliser la valeur de chaque pixel de fond par une distribution de probabilités. Cette distribution peut être représentée par une io gaussienne, ou plus sobrement par une valeur moyenne et deux valeurs min et max. Par ailleurs, afin de minimiser autant que possible l'influence des objets n'appartenant pas au fond, avant de moyenner les valeurs des pixels de l'image, il est possible d'effectuer une détection instantanée de 15 mouvement par soustraction d'images successives et d'appliquer un seuil afin d'obtenir un masque correspondant aux pixels qui ne seront pas moyennés. D'autres avantages et caractéristiques de l'invention apparaîtront à 20 l'examen de la description détaillée d'un mode de mise en oeuvre nullement limitatif, et des dessins annexés, sur lesquels : La figure 1 est une vue schématique générale d'un rayon de magasin surveillé par caméra, La figure 2 est une vue schématique d'une image de densité d'une 25 zone d'observation selon l'invention, La figure 3 est une vue générale d'un organigramme illustrant différentes étapes d'un procédé selon l'invention, Les figures 4 et 5 sont des images provenant d'une caméra de surveillance sans et avec des blobs apparents, 30 La figure 6 est une vue d'un organigramme détaillé d'un algorithme de détection de têtes d'individus, La figure 7 illustre un modèle d'apparence à trois ellipses selon l'invention, La figure 8 est un schéma simplifié illustrant différentes étapes d'une 35 variante d'algorithme de détection d'individus, et La figure 9 est une vue de l'algorithme décrit sur la figure 8. Sur la figure 1 on voit un rayon 1 d'un magasin équipé d'une caméra de surveillance 2 disposée en hauteur. Cette caméra de surveillance est fixée au plafond et est disposée en oblique de façon à filmer un objet d'intérêt 3. On définit une zone d'observation 4 qui est une surface autour de l'objet d'intérêt 3 et comprise dans le champ de vision de la caméra 2. La présente invention a pour but d'élaborer une image de densité de cette zone d'observation. Il s'agit d'évaluer le taux d'occupation de chaque io surface élémentaire au sein de la zone d'observation par tout individu et sur un intervalle de temps donné. L'estimation de ces taux sur l'ensemble de la zone d'observation est ensuite représentée sous la forme d'une carte de densité, offrant une visualisation comparative des régions plus ou moins fréquentées de la zone d'observation. Une image de densité est représentée 15 sur la figure 2 où les régions les plus fréquentées sont plus foncées que les régions les moins fréquentées. On distingue une demi-couronne foncée autour de l'objet d'intérêt 3. La carte de densité peut également être visualisée sous la forme d'une image thermique, pouvant être représentée en perspective sur une 20 image de traitement ou en vue de dessus en superposition du plan de la surface observée. Sur la figure 1, on voit que la caméra de surveillance 2 est reliée à un serveur distant 5 destiné à mettre en oeuvre le procédé selon l'invention. 25 Sur la figure 3, on voit un organigramme d'un procédé selon l'invention mis en oeuvre dans le serveur distant 5. Cet organigramme a pour entrées une image acquise par la caméra de surveillance 2 et la zone d'observation 4. La sortie correspond à une incrémentation de la valeur d'intensité d'une ou plusieurs surfaces élémentaires de l'image de densité 30 pour la zone d'observation. A l'étape ai, on extrait le fond de l'image acquise de façon à obtenir un modèle de fond fixe. L'algorithme d'extraction du fond peut être de type itératif sur notamment plusieurs images ou un flux d'image vidéo. L'approche la plus simple pour extraire le fond consiste à moyenner les 35 valeurs des pixels au cours du temps. La contribution à la moyenne d'un objet en mouvement sera d'autant plus faible que son mouvement est rapide par rapport à la cadence des images. Plus précisément, l'extraction de fond selon l'invention conduit à une modélisation de niveaux de gris, gradients et orientations de gradients moyens et de leurs écarts types. A titre d'exemple, sur la figure 4 on voit une image acquise par la caméra de surveillance 2. On distingue des individus à l'intérieur et hors de la zone d'observation 4 en pointillée. Sur la figure 5, on a réalisé l'étape ai de sorte que les éléments en mouvements hors fond fixe sont symbolisés par des blobs 12. io A l'étape a2, on réalise une détection de zone en comparant l'image et le fond, et en extrayant des zones de pixels, appelées � blobs �, n'appartenant pas au fond. A l'étape bi, on réalise une détection de têtes consistant à rechercher des positions possibles de têtes d'individus par analyse de contours. Pour ce 15 faire on reçoit en entrée les blobs précédemment détectés et ladite image acquise. Le résultat de l'étape bi est un ensemble d'hypothèses de position de têtes. Puis, à l'étape b2, on réalise un dénombrement des individus. Plus précisément, on réalise une identification du nombre d'individus dans 20 chaque blob et une estimation de leur position. Sur la figure 6, on voit un peu plus en détail un algorithme de détection de têtes de l'étape bi. En entrée, on distingue l'image acquise, les blobs se détachant du fond, et un modèle de tête appelé � template �. La 25 première étape consiste à appliquer un filtre de Canny pour extraire les contours des têtes d'individus sur l'image acquise de façon à obtenir une image de contours dans la zone des blobs. Ensuite, on réalise une transformée en distance. Il s'agit d'un calcul d'une carte de distance entre contours. C'est un calcul rapide et stable de la 30 corrélation du � template � de tête avec les contours. La sortie de cette étape est une carte de distances. Ensuite, on réalise une convolution entre la carte de distances et le � template � de façon à obtenir une carte de convolution. La convolution comprend un calcul de la corrélation du � template � de tête avec les 35 contours. - 7- Enfin, on applique un algorithme de ligne de partage des eaux (� watershed � en langue anglaise) pour localiser et quantifier des maxima de corrélation, et déterminer des maxima de probabilité de présence de têtes dans l'image acquise. On obtient en sortie une hypothèse sur la position des têtes. Sur la figure 7, on voit un exemple de modèle d'apparence d'un individu. Ce modèle est utilisé à l'étape b2. En particulier, la détection d'hypothèses de têtes de l'étape bi génère un grand nombre de fausses détections. Pour aboutir à l'interprétation complète de la scène, on cherche io à identifier les individus à partir d'un modèle d'apparence à trois ellipses de la figure 7 (silhouettes pleines), en optimisant les critères suivants : - minimiser le nombre de personnes, - maximiser le nombre de pixels différents du fond et appartenant aux silhouettes, 15 - minimiser le nombre de pixels différents du fond et n'appartenant pas aux silhouettes, - minimiser le nombre de pixels appartenant au fond et aux silhouettes, et/ou - minimiser la distance des contours d'un modèle 2D/3D. 20 La convergence vers la solution optimale s'effectue par des méthodes itératives de type descente de gradient. L'évaluation de cette solution à partir de la superposition des modèles d'apparence permet de gérer naturellement les cas d'occlusion. Sur la figure 8, on voit un autre exemple de procédé de détection 25 d'individus. Dans cette variante, on fait l'hypothèse d'une taille standard de personne. La zone d'observation est considérée dans ses coordonnées réelles 3D, une "fenêtre de recherche" 6, en fait un parallélépipède 8 de la taille d'une personne, est déplacé dans cette zone suivant un maillage régulier. Pour chaque position de cette fenêtre de recherche, la projection 7 30 du parallélépipède dans l'image acquise est calculée, et la vraisemblance de présence d'une personne à cette position est évaluée en fonction du remplissage de ce parallélépipède par des pixels des blobs. (à valider) Le remplissage est représenté sur le graphe 9. Cette variante permet donc de gérer la perspective de la scène, ainsi que les défauts de la caméra tels que la distorsion, ce paramètre étant pris en compte dans le calcul de la projection des parallélépipèdes. Cette variante permet également de prendre en compte le masquage par des objets : si l'on sait qu'une zone correspond à un objet derrière lequel des personnes seraient susceptibles d'être partiellement masquées, l'estimation de la probabilité de présence est corrigée en fonction du nombre de pixels de l'objet masquant situés dans la fenêtre de recherche. Sur l'image 11 de la figure 8, après lissage, des maxima locaux de io vraisemblance sont calculés en 11 par une méthode de ligne de partage des eaux sur la vraisemblance inversée; chaque bassin est considéré comme une détection possible. Afin d'éviter des détections multiples d'un même individu (l'une des détections correspondant à son tronc, et est interprétée comme une 15 personne plus éloignée), les détections obtenues à l'étape précédente sont classées et considérées par ordre croissant de distance les séparant de la caméra de surveillance. On valide les détections de la plus proche à la plus lointaine. Pour qu'une détection soit validée, on prévoit à ce que le 20 parallélépipède soit rempli par des pixels d'un blob au-delà d'un taux prédéterminé. Chaque détection validée efface du blob les pixels contenus dans son parallélépipède, afin d'éviter les détections multiples. Les détections validées inscrivent leur position sur l'image de densité en ajoutant à leur position respective une gaussienne à un tableau 25 d'accumulation. Sur la figure 9, on voit un exemple d'organigramme décrivant cette variante. En entrée, on prend en compte la zone d'observation 3D, les caractéristiques de la caméra de surveillance (champ, position, distorsion,...) et un modèle d'individu, de façon à réaliser la projection 30 perspective 7 de chaque surface élémentaire de la zone d'observation. On obtient un modèle 2D des modèles 3D d'individu. Le calcul 9 de correspondance des modèles (le remplissage) entre une image des blobs et le modèle 2D des modèles permet d'établir une carte de densité de probabilité de présence de chaque individu. En 11, on recherche donc les maxima par ligne de partage des eaux (� watershed �) de façon à obtenir les individus détectés. Bien sûr, l'invention n'est pas limitée aux exemples qui viennent d'être décrits et de nombreux aménagements peuvent être apportés à ces 5 exemples sans sortir du cadre de l'invention. REVENDICATIONS 1. Procédé pour générer une image de densité d'une zone d'observation sur un intervalle de temps donné, dans lequel procédé on acquiert une pluralité d'images de la zone d'observation, pour chaque image acquise on réalise les étapes suivantes : a) détection de zones de pixels se détachant du fond fixe de l'image, b) détection des individus, c) pour chaque individu détecté, détermination des surfaces élémentaires io occupées par cet individu, et d) incrémentation d'un niveau d'intensité des surfaces élémentaires ainsi déterminées dans l'image de densité. 2. Procédé selon la revendication 1, caractérisé en ce que l'étape b) de 15 détection des individus comprend les étapes suivantes : détection de têtes des individus dans chaque zone de pixels, et dénombrement des individus dans chaque zone de pixels. 3. Procédé selon la revendication 2, caractérisé en ce que l'étape de détection 20 de têtes comprend les étapes suivantes : application d'un filtre de Canny sur l'image par rapport aux zones de pixels de façon à générer une image de contours des zones de pixels, application d'une transformée en distance de façon à élaborer une carte de distances, 25 réalisation d'une convolution entre la carte de distance et un modèle de tête (template) de façon à obtenir une carte de convolution, et application d'un algorithme de ligne de partage des eaux (watershed) de façon à détecter des têtes d'individus. 30 4. Procédé selon la revendication 2 ou 3, caractérisé en ce que le dénombrement consiste à identifier simultanément le nombre d'individus présents et leur position respective. 15- 11- 5. Procédé selon la revendication 4, caractérisé en ce que l'identification des individus est effectuée à partir d'un modèle d'apparence à trois ellipses imitant un individu. 6. Procédé selon la revendication 5, caractérisé en ce que le modèle d'apparence est optimisé selon les critères suivants : - minimisation du nombre d'individus, - maximisation du nombre de pixels différents du fond et appartenant aux silhouettes, - minimisation du nombre de pixels différents du fond et n'appartenant pas aux ellipses, - minimisation du nombre de pixels appartenant au fond et aux ellipses, et - minimisation de la distance des contours d'un modèle 2D/3D. 7. Procédé selon la revendication 6, caractérisé en ce que l'optimisation est réalisée au moyen d'un algorithme itératif de descente de gradient. 8. Procédé selon la revendication 7, caractérisé en ce qu'on répartit la 20 convergence de l'algorithme itératif sur plusieurs images successives. 9. Procédé selon la revendication 1, caractérisé en ce que l'étape b) de détection des individus comprend les étapes suivantes : à partir d'un modèle 3D de la zone d'observation, d'un modèle 3D d'individu, 25 et des caractéristiques liées à l'appareil d'acquisition de ladite pluralité d'images d'observation, on réalise une projection perspective dans l'image en cours de chaque surface élémentaire de la zone d'observation de façon à obtenir une projection 2D des modèles d'individu ; on calcule la correspondance des modèles 2D sur chaque zone de pixels de 30 façon à obtenir une carte de densité de probabilité de présence ; et on réalise une recherche de maxima par l'algorithme de ligne de partage des eaux de façon à déterminer les individus détectés. 2927444 - 12 - 10. Procédé selon la revendication 9, caractérisé en ce que les caractéristiques de l'appareil d'acquisition comprennent le champ de vision, le positionnement et la distorsion. 5 11. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que préalablement à l'étape a), on réalise une étape d'extraction d'un fond de l'image de façon à déterminer un modèle de fond fixe. io 12. Procédé selon la revendication 11, caractérisé en ce que l'extraction du fond fixe de l'image est obtenue en moyennant les valeurs des pixels de l'image au cours du temps. 13. Procédé selon la revendication 12, caractérisé en ce qu'on modélise la valeur de chaque pixel de fond par une distribution de probabilités. 14. Procédé selon la revendication 12 ou 13, caractérisé en ce qu'avant de moyenner les valeurs des pixels de l'image, on réalise une détection instantanée de mouvement par soustraction d'images successives et on applique un seuil afin d'obtenir un masque correspondant aux pixels qui ne seront pas moyennés.