Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR PROCESSING IMAGES, ENABLING A SIGNATURE OF AN IMAGE AND/OR THE SIMILARITY OF TWO IMAGES TO BE DETERMINED
Document Type and Number:
WIPO Patent Application WO/2006/087464
Kind Code:
A1
Abstract:
The invention relates to a processing method comprising the following steps: a characteristic of at least two parts of the image is determined (110); nodes are determined (130) from a network of nodes representing characteristics of said parts of the image, the network of nodes being such that any two adjacent nodes are representative of two characteristics of similar image parts; and the signature of said image is established (150) by counting the number of times each node of the network has been determined as a representative of a characteristic of each of said parts of the image.

Inventors:
LAURENT CHRISTOPHE (FR)
ROS JULIEN (FR)
GARCIA CHRISTOPHE (FR)
Application Number:
PCT/FR2006/000341
Publication Date:
August 24, 2006
Filing Date:
February 14, 2006
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FRANCE TELECOM (FR)
LAURENT CHRISTOPHE (FR)
ROS JULIEN (FR)
GARCIA CHRISTOPHE (FR)
International Classes:
G06V10/56; G06F17/30; G06V10/50
Other References:
QIU G: "Indexing chromatic and achromatic patterns for content-based colour image retrieval", PATTERN RECOGNITION, ELSEVIER, KIDLINGTON, GB, vol. 35, no. 8, August 2002 (2002-08-01), pages 1675 - 1686, XP004347969, ISSN: 0031-3203
SETHI I K ET AL: "Image retrieval using hierarchical self-organizing feature maps", PATTERN RECOGNITION LETTERS, NORTH-HOLLAND PUBL. AMSTERDAM, NL, vol. 20, no. 11-13, November 1999 (1999-11-01), pages 1337 - 1345, XP004490769, ISSN: 0167-8655
LOUPIAS E ET AL: "Wavelet-based salient points for image retrieval", IMAGE PROCESSING, 2000. PROCEEDINGS. 2000 INTERNATIONAL CONFERENCE ON SEPTEMBER 10-13, 2000, PISCATAWAY, NJ, USA,IEEE, vol. 2, 10 September 2000 (2000-09-10), pages 518 - 521, XP010530035, ISBN: 0-7803-6297-7
Attorney, Agent or Firm:
Maillet, Alain (5 place Newqua, B.P. 70250 Dinard Cedex, FR)
Download PDF:
Claims:
REVENDICATIONS
1. Procédé de traitement d'une image, caractérisé en ce qu'il inclut : une étape de détermination d'une caractéristique associée à chacune d'au moins deux parties de ladite image, une étape de détermination des nœuds d'un réseau de nœuds qui représentent les caractéristiques desdites parties de ladite image, ledit réseau de nœuds étant tel que deux nœuds voisins quelconques sont représentatifs de deux caractéristiques de partie d'image similaires, une étape d'établissement de la signature de ladite image en dénombrant le nombre de fois que chaque nœud dudit réseau a été déterminé comme représentant une caractéristique de chacune desdites parties d'image.
2. Procédé de traitement selon la revendication 1, caractérisé en ce que chacune des parties de l'image est définie par un ensemble de pixels situés autour d'un point d'intérêt de l'image, le point étant sélectionné selon l'une des méthodes suivantes: à partir de la valeur des coefficients obtenus par une transformée en ondelettes de la partie de l'image, en utilisant un détecteur de coins de Harris.
3. Procédé de traitement selon l'une quelconque des revendications précédentes, caractérisé en ce que la définition de chaque nœud du réseau de nœuds est effectuée à partir d'au moins deux parties d'une pluralité d'images d'apprentissage dans laquelle est déterminée une description d'une caractéristique de chaque partie de chaque image d'apprentissage et en ce que la définition des nœuds du réseau de nœuds comporte, pour chaque partie de chaque image d'apprentissage, les étapes de : représentation de la description de la partie de l'image d'apprentissage par un nœud du réseau de nœuds, mise à jour, à partir de la description de la partie de l'image d'apprentissage, de la description définissant le nœud représentant la description de la partie de l'image d'apprentissage et de la description d'au moins un autre nœud, un autre nœud étant à une position telle que la distance séparant la position de l'autre nœud et la position du nœud représentant la description de la partie de l'image d'apprentissage soit inférieure à un seuil prédéterminé. 4) Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le procédé comporte, en outre, une étape d'obtention, à partir d'une mémoire ou d'un réseau de communication, d'une matrice de pondération, la matrice de pondération étant représentative d'au moins un des paramètres suivants : la distance séparant les positions des nœuds du réseau de nœuds, la corrélation entre les descriptions de chaque nœud du réseau de nœud.
4. Procédé de traitement selon l'une quelconque des revendications précédentes, caractérisé en ce qu'une autre image est traitée et en ce que le procédé comporte une étape de détermination de la similarité des images à traiter par un calcul d'une distance entre les signatures des images à traiter utilisant la matrice de pondération.
5. Procédé de traitement selon les revendications 4 ou 5, caractérisé en ce qu'il comporte, en outre, une étape d'obtention de la description d'une caractéristique d'au moins une partie d'image de chacun des nœuds du réseau de nœuds et de la position de chacun des nœuds du réseau de nœuds à partir d'une mémoire ou d'un réseau de communication.
6. Dispositif de traitement d'une image, caractérisé en ce qu'il comprend : des moyens pour déterminer une caractéristique associée à chacune d'au moins deux parties de ladite image, des moyens pour déterminer des nœuds d'un réseau de nœuds qui représentent les caractéristiques desdites parties de ladite image, ledit réseau de nœuds étant tel que deux nœuds voisins quelconques sont représentatifs de deux caractéristiques de partie d'image similaires, des moyens pour établir la signature de ladite image en dénombrant le nombre de fois que chaque nœud dudit réseau a été déterminé comme représentant une caractéristique de chacune desdites parties d'image.
7. Dispositif de traitement selon la revendication 7, caractérisé en ce qu'il comporte des moyens de définition de chaque nœud du réseau de nœuds à partir d'au moins deux parties d'une pluralité d'images d'apprentissage dans laquelle est déterminée une description d'une caractéristique de chaque partie de chaque image d'apprentissage, en ce que le dispositif de traitement comporte des moyens de représentation de la description de chaque partie de chaque image d'apprentissage par un nœud du réseau de nœuds, et en ce que le dispositif de traitement comporte des moyens de mise à jour, à partir de la description de la partie de l'image d'apprentissage, de la description définissant le nœud représentant la description de la partie de l'image d'apprentissage et de la description d'au moins un autre nœud, un autre nœud étant à une position telle que la distance séparant la position de l'autre nœud et la position du nœud représentant la description de la partie de l'image d'apprentissage soit inférieure à un seuil prédéterminé.
8. Dispositif de traitement d'image selon la revendication 7, caractérisé en ce que le réseau de nœuds et la matrice de pondération sont obtenus à partir d'un réseau de communication, et en ce que le dispositif comporte des moyens de détermination de la similarité de deux images ainsi signées par un calcul d'une distance entre les signatures de ces images à traiter utilisant la matrice de pondération.
9. Programme d'ordinateur stocké sur un support d'informations, ledit programme comportant des instructions permettant de mettre en œuvre le procédé de traitement selon l'une quelconque des revendications 1 à 6, lorsqu'il est chargé et exécuté par un dispositif de traitement d'image.
Description:
Procédé et dispositif de traitement d'image permettant de déterminer une signature d'une image et/ou de déterminer la similarité de deux images signées

La présente invention concerne un procédé et un dispositif de traitement d'image permettant de déterminer une signature d'une image et/ou de déterminer la similarité de deux images signées.

Les techniques de détermination de la similarité entre deux images rencontrent un vif intérêt dans le domaine de la reconnaissance de forme car elles sont mises en oeuvre dans de nombreuses applications parmi lesquelles on peut citer l'indexation d'images par leur contenu, la classification d'images, ou la reconnaissance d'objets, pour n'en citer que quelques unes.

Généralement, elles incluent, d'une part, la détermination d'une signature de chacune des deux images dont on veut déterminer la similarité afin de pouvoir décrire leur contenu de manière aussi fidèle et compacte que possible et, d'autre part, le calcul, au moyen d'une métrique appropriée, de la distance qui sépare les deux signatures ainsi déterminées. La valeur de cette distance quantifie la similarité du contenu visuel des deux images ainsi traitées. Plus précisément, selon l'une des approches connues, la signature d'une image est obtenue par sa description globale au moyen d'un histogramme des couleurs de ses

différents pixels. Elle peut également être obtenue par description de ces couleurs au moyen d'une matrice d'auto-corrélation, par la description des textures d'une image par les fonctions de base de Gabor, ou encore par les descriptions globales décrites dans le standard MPEG-7. Quant à la distance entre deux signatures, elle est bien souvent la distance euclidienne entre des vecteurs représentant les histogrammes obtenus à partir des images correspondantes.

Une autre approche de l'état de la technique consiste à définir la signature d'une image par un ensemble de descriptions locales qui représentent les contenus, sous forme d'histogrammes des couleurs, des seules parties de l'image qui sont situées au voisinage de points considérés comme perceptuellement importants. La distance entre deux signatures est alors définie par un algorithme de vote qui établit par exemple une moyenne pondérée du résultat des différentes comparaisons entre la description locale d'une signature correspondant à une partie de l'image correspondante et la description locale de l'autre signature correspondant à la même partie de l'autre image. Cette pondération s'effectue le plus souvent en analysant la distribution statistique de ces descriptions locales.

Le principal inconvénient de ces deux approches réside dans les principes mêmes de leur édification. En effet, les principes de base d'édification des signatures de ces approches reposent sur des considérations intuitives quant à la similarité de deux images ou de deux parties identiques de deux images mais pas sur des considérations d'appréciations psycho- visuelles. Il en résulte que la signature d'une image déterminée par l'une des approches décrites ci-dessus ne reflète pas la perception qu'un observateur aurait réellement du contenu de cette image. A titre d'exemple, dans le cas où la signature d'une image est obtenue par description de ses couleurs au moyen d'une matrice d'auto-corrélation, son principe d'édification est basé sur l'organisation spatiale des couleurs lors de l'analyse par un observateur du contenu d'une image. Or, aucune expérimentation psycho- visuelle n'a validé cette intuition.

Par ailleurs, pour des signatures déterminées à partir de descriptions globales ou locales de contenus d'image telles que des histogrammes de couleurs, il peut arriver que deux images aux contenus non similaires puissent avoir néanmoins des signatures semblables, voire identiques.

De plus, dans le cas d'approches faisant intervenir des descriptions locales de contenus d'image, l'utilisation d'un algorithme de vote ne tient compte, à un instant donné, que de la description locale d'une partie ou zone de l'image. Or 5 un observateur

est capable de catégoriser rapidement le contenu d'une image seulement à partir de quelques zones qui retiennent tout particulièrement son attention. Par ailleurs, pour analyser le contenu d'une image, l'homme ne regarde pas qu'une seule partie de cette image mais au contraire un ensemble de parties de cette image qu'il scrute en effectuant des mouvements saccadés des yeux et en accumulant à chaque fois de l'information sur la partie concernée.

La définition d'une distance entre deux signatures d'image, distance définie au moyen d'une métrique appropriée, pose également des problèmes quant à sa justification, le plus souvent uniquement pour des considérations mathématiques et non-psycho-visuelles.

Le but de l'invention est de prévoir un procédé de traitement d'une image qui permette de déterminer une signature de l'image à traiter qui soit telle que cette signature soit constituée à partir de descriptions locales d'une caractéristique de l'image à traiter et soit basée sur des considérations psycho-visuelles. A cet effet, l'invention concerne un procédé de traitement d'une image qui est caractérisé en ce qu'il inclut : une étape de détermination d'une caractéristique d'au moins deux parties de ladite image, une étape de détermination des nœuds d'un réseau de nœuds qui représentent les caractéristiques desdites parties de ladite image, ledit réseau de nœuds étant tel que deux nœuds voisins quelconques sont représentatifs de deux caractéristiques de partie d'image similaires, une étape d'établissement de la signature de ladite image en dénombrant le nombre de fois que chaque nœud dudit réseau a été déterminé comme représentant une caractéristique de chacune desdites parties d'image.

Corrélativement, l'invention concerne aussi un dispositif de traitement d'une image qui comprend des moyens pour déterminer une caractéristique d'au moins deux parties de ladite image, des moyens pour déterminer des nœuds d'un réseau de nœuds qui représentent les caractéristiques desdites parties de ladite image, ledit réseau de nœuds étant tel que deux nœuds voisins quelconques sont représentatifs de deux caractéristiques de partie d'image similaires, et des moyens pour établir la signature de ladite image en dénombrant le nombre de fois que chaque nœud dudit réseau a été déterminé comme représentant une caractéristique de chacune desdites parties d'image.

II est avantageux que la signature d'une image soit déterminée par une approche non supervisée. En effet, en choisissant un nombre de nœuds suffisant et un ensemble d'images d'apprentissage aux contenus variés, les différentes occurrences d'une caractéristique d'une partie d'une image à traiter seront représentées par les nœuds de ce réseau. De plus, en définissant la signature d'une image à traiter par le nombre de représentations par chaque nœud du réseau de nœuds de la description des parties sélectionnées de cette image, cette signature est constituée de descriptions locales de son contenu basées sur des considérations psycho-visuelles.

Selon un mode de réalisation de la présente invention, chacune des parties de l'image à traiter est définie par un ensemble de pixels situés autour d'un point d'intérêt de l'image, le point d'intérêt étant sélectionné à partir de la valeur des coefficients obtenus par une transformée en ondelettes de la partie de l'image à traiter.

Il est avantageux de définir chaque partie d'une image à partir d'une approche basée sur la détermination de points d'intérêt car ces points correspondent à des zones de l'image qui sont susceptibles d'attirer l'attention d'un individu regardant l'image.

Selon un autre mode de réalisation de la présente invention, la définition de chaque nœud du réseau de nœuds est effectuée à partir d'au moins deux parties d'une pluralité d'images d'apprentissage dans laquelle est déterminée une description d'une caractéristique de chaque partie de chaque image d'apprentissage et la définition des nœuds du réseau de nœuds est effectuée en représentant la description de la partie de l'image d'apprentissage par un nœud du réseau de nœuds, en mettant à jour, à partir de la description de la partie de l'image d'apprentissage, la description définissant le nœud représentant la description de la partie de l'image d'apprentissage et de la description d'au moins un autre nœud, un autre nœud étant à une position telle que la distance séparant la position de l'autre nœud et la position du nœud représentant la description de la partie de l'image d'apprentissage soit inférieure à un seuil prédéterminé.

Il est particulièrement avantageux de définir les nœuds du réseau en mettant à jour, selon la description de la caractéristique de chacune des parties de chacune des images d'apprentissage, non seulement le nœud représentant cette description, mais également en mettant à jour les nœuds situés dans un voisinage de ce nœud représentant. Cette caractéristique permet d'obtenir un réseau de nœuds représentatifs d'une grande variété de contenus d'images. En effet, si la mise à jour est limitée à la mise à jour du vecteur de référence du nœud représentant cette description, la valeur

finale des vecteurs de référence définissant les nœuds du réseau est fortement dépendante des valeurs initiales de ces vecteurs de référence. Dans une telle situation, la topologie de l'espace des vecteurs d'entrée est moindrement préservée.

Selon un autre mode de réalisation de la présente invention, on obtient une matrice de pondération représentative d'au moins un des paramètres suivants :

- la distance séparant les positions des nœuds du réseau de nœuds

- la corrélation entre les descriptions de chaque nœud du réseau de nœud. Selon un autre mode de réalisation de la présente invention, une autre image est traitée et on détermine la similarité des images à traiter par un calcul d'une distance entre les signatures des images à traiter utilisant la matrice de pondération.

Il est avantageux de déterminer la similarité entre deux images par une distance entre signatures d'image définies à partir de considérations psycho-visuelles car si deux images sont considérées comme similaires selon cette distance, un observateur pourra témoigner que ces deux images représentent bien des scènes au contenu similaire. Ce n'est pas toujours le cas lorsque ces signatures sont définies à partir de considérations uniquement mathématiques telles que des statistiques extraites à partir de l'image.

De plus, le calcul de la distance entre signatures d'image étant défini à partir de la différence entre le nombre de représentations de la description des parties d'une image par au moins un nœud considéré du réseau et le nombre de représentations par ce même nœud de la description des parties d'une autre image, il est avantageux que le calcul de cette distance prenne en compte l'influence des nœuds voisins de ce nœud considéré car les nœuds voisins représentent des descriptions proches d'une caractéristique de l'image du fait de la propriété du réseau de nœuds de préservation de la topologie de l'espace des vecteurs d'entrée. La similarité des représentations de nœuds voisins étant inversement proportionnelle à l'éloignement du nœud voisin du nœud considéré, il est donc avantageux que la distance entre signatures d'image soit pondérée selon les distances de chacun des nœuds voisins par rapport à ce nœud considéré. Plus le nœud sera éloigné du nœud considéré et moins il aura d'influence sur la valeur de la distance évaluée au nœud considéré.

Selon un mode de réalisation de la présente invention, la matrice de pondération est obtenue à partir d'une mémoire ou d'un réseau de communication.

Le procédé de traitement ou le dispositif de traitement permettant de déterminer la similarité entre deux images, peuvent être intégrés dans des dispositifs mobiles

ayant des ressources limitées en terme de puissance énergétique ou de calcul. Il est donc avantageux que les dispositifs mobiles n'aient pas à calculer la matrice de pondération. Le calcul de la matrice de pondération est dans ce cas effectué par un dispositif distant tel qu'un serveur de données qui délivre la matrice de pondération à la demande d ' un dispositif mobile.

Selon un mode de réalisation de la présente invention, on obtient la description d'une caractéristique d'au moins une partie d'image de chacun des nœuds du réseau de nœuds et la position de chacun des nœuds du réseau de nœuds à partir d'une mémoire ou d'un réseau de communication. Ainsi, le procédé ou le dispositif de traitement ont un nombre réduit d'opérations à effectuer pour déterminer une signature d'image ou déterminer la similarité entre deux images.

L'invention concerne aussi un programme d'ordinateur stocké sur un support d'informations, ledit programme comportant des instructions permettant de mettre en œuvre le procédé de traitement selon l'un des modes de réalisation du procédé de traitement ci-dessus, lorsqu'il est chargé et exécuté par un dispositif de traitement d'image.

Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaîtront plus clairement à la lecture de la description suivante d'un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi lesquels:

La Fig. 1 représente un exemple d'un réseau R de nœuds selon un mode de réalisation de la présente invention.

La Fig. 2 représente un diagramme des étapes successives d'un procédé de traitement d'une image I selon un mode de réalisation de la présente invention.

La Fig. 3a représente les étapes successives d'un procédé de traitement de deux images I 1 et I 2 selon un mode de réalisation de la présente invention.

La Fig. 3b représente les étapes successives d'un procédé de traitement de deux images Ii et I 2 selon une variante de réalisation de la présente invention. La Fig. 4 représente un diagramme des étapes successives d'une méthode d'apprentissage mises en œuvre pour déterminer des vecteurs de référence des nœuds d'un réseau de nœuds selon un mode de réalisation de la présente invention.

La Fig. 5 illustre la mise à jour d'un vecteur de référence selon un vecteur d'entrée.

La Fig. 6 représente un schéma d'un dispositif de traitement selon la présente invention.

Le procédé de traitement d'image selon l'invention utilise, comme on le verra par la suite, un réseau de nœuds. Un tel réseau de nœuds R est représenté à la Fig. 1 et est constitué d'un ensemble de mailles (en l'occurrence de forme carrée) au sommet desquelles se trouve un nœud (représenté sous la forme d'un point noir). Ce réseau R est généralement défini dans un espace multidimensionnel qui, par souci de pouvoir le représenter graphiquement, est ici un espace bi-dimensionnel (en l'occurrence le plan

PLA de la Fig. 1). Bien entendu, la présente invention est apte à utiliser un réseau R de nœuds défini dans un espace de dimension supérieure. Egalement par souci de clarté, le nombre de nœuds du réseau R représenté est de 45 mais, il s'avère que dans la pratique, un réseau de l'ordre de 200 à 300 nœuds peut être utilisé.

Un réseau de nœuds R utilisé par la présente invention présente avantageusement la caractéristique selon laquelle deux nœuds voisins quelconques sont représentatifs de deux caractéristiques de partie d'image similaires. Par exemple, un tel réseau R est un réseau dit réseau de Kohonen tel qu'il est décrit dans l'article de T. Kohonen, "The self organising map", proceedings of the IEEE, vol. 78, n° 9, Septembre 1990.

De manière générale, tout nœud du réseau de nœuds R a une position dans l'espace dans lequel ce réseau est défini. Par exemple, cette position est définie par les coordonnées spatiales du point représentant ce nœud dans l'espace du réseau, en l'occurrence le plan PLA. Cette position peut également être définie par un indice de position, noté par la suite v, qui se réfère à un ordre de classement des nœuds du réseau R selon leur position. La Fig. 2 représente un diagramme des étapes successives d'un procédé de traitement d'une image I selon un mode de réalisation de la présente invention.

A l'étape 100 de l'algorithme de la Fig. 2, est donc considéré un réseau de nœuds tel que celui qui est décrit en relation avec la Fig. 1 et à chaque nœud duquel est affecté un vecteur de référence qui est représentatif d'une caractéristique de partie d'image parmi un ensemble de caractéristiques de partie d'image prédéfinies.

On entend par caractéristique de partie d'image, une représentation numérique du contenu d'une partie d'une image. Cette représentation est généralement multidimensionnelle si bien qu'elle peut être décrite par un vecteur.

Dans la suite de la description, on considérera des vecteurs de référence M n qui sont des vecteurs respectivement associés à des nœuds n d'un réseau R tel que celui qui est décrit en relation avec la Fig. 1 et des vecteurs d'entrée X p qui se réfèrent aux vecteurs associés aux parties p_ des images à traiter. La description d'une caractéristique d'une partie d'image peut se faire, par exemple, au moyen d'un histogramme utilisé pour représenter les couleurs d'une partie d'image, au moyen d'un ensemble de coefficients obtenus par projection des valeurs des pixels d'une partie d'image sur un espace défini par des fonctions de base telles que les fonctions de Gabor dans le cas de description de texture ou au moyen d'un détecteur de Harris qui détermine les points d'intérêt situés sur les coins des contours d'une image.

Plus précisément, on considère K parties de chaque image à décrire respectivement formées d'un ensemble de VxV pixels (V=I 5 par exemple) centré autour d'un point d'intérêt. Les K points d'intérêt, centres des K parties de l'image à décrire, sont par exemple déterminés selon la méthode décrite dans le document de brevet WO-A-2004/068410. Cette méthode permet de définir des points d'intérêt (appelés saillants dans ce document) d'une image. Cette méthode consiste à calculer une transformée en ondelettes de l'image à décrire, à construire une arborescence de ces coefficients en se basant sur une technique dite de ZéroTree et à déterminer une carte dite de saillance pour chaque niveau de résolution de l'arborescence. Chacune de ces cartes de saillance reflète l'importance des coefficients ondelette présents à la résolution correspondante à cette carte. Ainsi, plus un coefficient ondelette sera jugé important au sens de l'information qu'il véhicule, plus sa valeur de saillance sera importante. La détermination des points saillants est réalisée en construisant une arborescence des valeurs de saillance à partir des cartes de saillance ainsi déterminées de sorte que la valeur de saillance correspondant à chaque coefficient d'une carte de saillance à une résolution donnée, doit prendre en compte la valeur de saillance des coefficients des cartes de saillance à une résolution supérieure. La sélection des points d'intérêt de l'image est alors réalisée en fonction des valeurs de saillance les plus importantes de l'arborescence des valeurs de saillance.

Ainsi, selon cette méthode, chacune des K parties de l'image à traiter est caractérisée par les trois composantes de couleur des pixels de cette partie et, donc, par un vecteur de 3V 2 composantes (on rappelle que V est le nombre de pixels contenus dans une partie d'image) : les V 2 premières valeurs de ce vecteur

correspondent à la composante de couleur R (Red = rouge), les V 2 suivantes à la composante de couleur G (Green = vert) et les V 2 dernières à la composante de couleur B (blue = bleu).

A l'étape suivante 110, est déterminé chacun des K vecteurs X p représentatifs de la caractéristique de chacune des K parties p d'une image d'entrée I.

A l'étape suivante 120, un des K vecteurs X p déterminés à partir de l'image I est considéré.

A l'étape suivante 130, le vecteur courant X p est comparé à chaque vecteur de référence M n définissant un nœud n du réseau R afin de pouvoir déterminer lequel de ces nœuds de référence pourrait le représenter au mieux. Le nœud c retenu pour le représenter est celui dont le vecteur de référence M 0 minimise la distance le séparant du vecteur d'entrée X p . Ce vecteur de référence M 0 vérifie la relation suivante :

dans laquelle ||x,y| est une distance entre deux vecteurs x et y, par exemple la distance euclidienne entre vecteurs.

Toujours à la même étape, est déduit du vecteur de référence M 0 retenu, la position du nœud correspondant, laquelle est par exemple exprimée par l'indice de position v le repérant.

A l'étape suivante 140, est vérifié que tous les K vecteurs X p ont été considérés. Dans la négative, l'étape 120 est mise en œuvre en considérant un nouveau vecteur X p . Les étapes 120 à 140 sont exécutées tant que tous les K vecteurs X p n'ont pas été considérés. Une fois tous les vecteurs X p considérés, l'étape 150 est mise en œuvre pour déterminer une signature Hi de l'image I. Cette signature est préférentiellement un histogramme de N valeurs H(v) (N désignant le nombre de nœuds du réseau R) qui est le nombre de fois qu'un nœud à une position donnée dans le réseau de nœuds a été déterminé pour représenter la description de la caractéristique de toutes les parties de l'image I. On comprendra que la signature Hi d'une image I peut être considérée comme un vecteur de N composantes.

Le procédé de traitement de l'image I s'arrête suite à cette étape 150. La Fig. 3 a représente les étapes successives d'un procédé de traitement de deux images Ii et h. selon un mode de réalisation de la présente invention.

A l'étape 200, sont respectivement déterminées une signature H 1 d'une image I 1 et une signature H 2 d'une image I 2 selon le procédé décrit en relation avec la Fig. 2.

A l'étape suivante 220, la distance D entre les signatures Hj et H 2 des deux images Ii et I 2 est déterminée au moyen de la relation suivante:

avec (x) 1 le vecteur transposé d'un vecteur (x).

La distance D(H 1 , H 2 ) est représentative de la similarité des deux images I 1 et I 2 . A la Fig. 3b, on a représenté les étapes successives d'un procédé de traitement de deux images I 1 et I 2 selon une variante de réalisation de la présente invention. Selon ce mode, l'étape 220' permet le calcul de la distance D(H 1 , H 2 ) en considérant une matrice de pondération C d'après la relation suivante :

D (H 15 Hj = (H 1 - H 2 ) 1 C(H 1 -H 2 )

On donnera ci-dessous des méthodes possibles pour déterminer une telle matrice de pondération C.

La Fig. 4 représente un diagramme des étapes successives d'une méthode d'apprentissage mises en œuvre pour déterminer des vecteurs de référence à partir d'un ensemble d'images d'apprentissage (I 1 8 ,..., Ii a ,..., IQ 3 } de contenus différents. Comme on le comprendra par la suite, une telle méthode d'apprentissage permet d'obtenir au final un réseau de nœuds tel que deux nœuds voisins quelconques dudit réseau sont représentatifs de deux caractéristiques de partie d'image voisines. A l'étape 10 du procédé de la Fig. 4, le vecteur de référence M n de chaque nœud n du réseau R est initialisé par un vecteur initial constitué, par exemple, de 3V 2 valeurs aléatoires. A cette même étape, sont déterminés tous les vecteurs Xi p décrivant chacun la caractéristique de la partie p_ de l'image Ij a de l'ensemble d'apprentissage (I 1 3 ,..., Ij a ,..., l Q a }. A l'étape suivante notée 20, est considéré un niveau d'apprentissage courant tj parmi un ensemble T de valeurs de niveau d'apprentissage discrètes et croissantes {to,...,t u ,...,tj,...,t f } où to désigne une valeur initiale du niveau d'apprentissage t et tf une valeur finale de ce niveau d'apprentissage.

Comme on le verra par la suite, le nombre de valeurs discrètes de cet ensemble T définit le nombre d'itérations maximal de l'algorithme de définition des nœuds du réseau. Ainsi, le niveau d'apprentissage sera par la suite nommé "temps", se référant au temps d'une itération donnée. A l'étape suivante 30, une image d'apprentissage Ij a de l'ensemble d'images d'apprentissage est considérée.

A l'étape suivante 40, un des K vecteurs Xj p déterminés à partir de l'image courante Ij a est considéré.

A l'étape suivante 50, les vecteurs de référence de certains nœuds du réseau de nœuds R sont mis à jour selon la méthode décrite ci-dessous.

Le vecteur d'entrée Xj p considéré à l'étape 40 est comparé à tous les vecteurs de référence M n (Ij -1 ) définissant les nœuds n du réseau R à l'instant précédent tμ afin de déterminer celui qui représente le mieux le vecteur d'entrée X, p . Le vecteur de référence M c (t j _i) retenu est celui qui, associé au nœud ç, minimise sa distance au vecteur d'entrée Xj P , c'est-à-dire le vecteur de référence M c Oj -1 ) qui vérifie la relation suivante :

1,2,...

avec|x,y|| la distance entre deux vecteurs x et y, par exemple la distance euclidienne entre vecteurs.

Lorsque le nœud ç représentant le vecteur Xj p est ainsi déterminé, les nœuds du voisinage, noté N c (tj), du nœud ç tel que défini à l'instant courant t j sont considérés.

Un voisinage d'un nœud ç du réseau de nœuds R, noté N 0 (tj), est défini au temps t j comme un ensemble de nœuds dont les positions sont telles que leur distance au nœud ç est inférieure à une valeur de seuil déterminée en fonction de la valeur prise par une fonction δ(t) dite de voisinage dépendant d'un temps discret t.

Préférentiellement, la fonction de voisinage δ(t) comporte une contrainte selon laquelle le nombre de nœuds constituant le voisinage d'un nœud à un instant t j est inférieur ou égal au nombre de nœuds constituant un voisinage de ce nœud ç au temps t u si le temps t u est antérieur au temps tj (tj > t u ).

En considérant que la distance entre deux nœuds est égale au nombre de liaisons entre ces deux nœuds et que la fonction de voisinage δ(t u ) donne une valeur de seuil de 2, le voisinage N c (t u ) d'un nœud ç du réseau R est défini par les nœuds situés à une

distance inférieure ou égale à 2. Par exemple, à la Fig. 1, le nœud a est situé à une distance de 2 du nœud ç car il est relié au nœud ç par l'intermédiaire d'un seul nœud b. Il appartient donc au voisinage N c (t u ), lequel est composé de treize nœuds (en incluant le nœud ç dans son voisinage). De façon similaire, la fonction de voisinage δ(t j ) (j > u) définit le voisinage N c (tj) d'un nœud ç par les nœuds situés à une distance inférieure ou égale à 1. Selon l'exemple de la Fig. 1, le voisinage N c (t j ) du nœud ç est constitué par cinq nœuds.

Ensuite, toujours à cette même étape, chaque vecteur de référence M n (t j .i) définissant un nœud n du voisinage du nœud ç au temps précédent tμ est mis à jour à partir du vecteur d'entrée courant X[ p .

Chaque vecteur de référence M n (t j ) représenté en Fig. 5 au temps courant tj doit tenir compte du vecteur M n (Ij -1 ) et du vecteur d'entrée courant Xj P . Dans le cas où le vecteur d'entrée est éloigné du vecteur de référence M n (^ -1 ) dans l'espace des vecteurs de référence, c'est-à-dire que la distance entre les points El et E2 représentés en Fig. 5, respectivement extrémités des vecteurs M n (t j -i) et Xj P est importante, les composantes du vecteur de référence M n (tμ) sont modifiées de manière à ce que le vecteur de référence M n (t j ) soit le meilleur représentant possible du vecteur d'entrée Xi p , c'est-à-dire que la distance entre E2 et E3, extrémité du vecteur M n (tj) soit minimale. Par ailleurs, le vecteur de référence M n (t j ) doit être le plus proche possible du vecteur M n (I j-1 ) dans l'espace des vecteurs de référence, c'est-à-dire que la distance entre les points El et E3 soit minimale.

Pour résoudre cet antagonisme, la mise à jour du vecteur de référence M n (tj-i) d'un nœud n prévu à l'étape 50 est effectuée au moyen de la relation suivante:

M n (^) = M n (t j _ 1 ) + α(t j ).H c n (t j ).[x, p -M 0 (^ 1 )]

où α(t j ) désigne un paramètre appelé taux d'apprentissage défini par une séquence monotone décroissante de valeurs scalaires

0 < α(t j ) < 1 et α(tj -1) < α(t 3 ) et où H c n (t j ) désigne une fonction qui définit le nombre de nœuds de ce voisinage et le degré d'adaptation des vecteurs de référence M n au vecteur d'entrée Xj p .

La valeur du taux d'apprentissage α(tj) dépend de la valeur du temps courant t j ,. Comme on peut le constater, cette valeur détermine l'influence d'un vecteur d'entrée

X, p sur la mise à jour du vecteur de référence M n (^ -1 ) évalué au temps précédent t j .i de chaque nœud n du voisinage N c (tj).

Quant à la fonction H 0 n (t 3 ) , elle est une fonction unimodale, symétrique autour de la localisation du nœud ç_. Elle est par exemple définie par une fonction gaussienne selon la relation suivante:

où r n et r c désignent respectivement la position d'un nœud n et du nœud ç dans le réseau R. Comme cela a été mentionné précédemment, le nœud ç fait partie de son voisinage N c (t j ). Ainsi, la mise à jour du vecteur de référence M c CtJ -1 ) est déterminée par la relation suivante du fait que H C)C (tj) = 1 :

M β (t j ) = M β ( t ^ + α(t J ) fcr - M β (t H ) ]

La Fig. 5 illustre la mise à jour d'un vecteur de référence M n CtJ -1 ) par un vecteur d'entrée Xi p . Au temps précédent t j _i du temps courant t j , le vecteur de référence d'un nœud n_est représenté par un vecteur M n Ct j -i). Si la représentation du vecteur d'entrée

Xj p est différente de la représentation de ce vecteur M n CtJ -1 ), l'extrémité E3 du vecteur de référence M n (t j ) est située, selon la relation précédente, sur le segment de droite reliant les extrémités des vecteurs M n (t j ) et Xj P , notées respectivement El et E2. La distance entre El et E3 est d'autant plus petite que la valeur de α(t j ) est proche de 0 et d'autant plus grande que la valeur de α(t j ) est proche de 1. Ainsi, lorsque la valeur de α(t j ) est grande, le vecteur de référence M n (t j .i) est fortement influencé par le vecteur d'entrée Xj p . De façon duale, lorsque cette valeur est faible, un vecteur d'entrée X; p a peu d'influence sur la mise à jour du vecteur de référence M n CtJ -1 ) d'un nœud n du réseau.

Ainsi, la mise à jour par un vecteur d'entrée Xj p effectuée à l'étape 50 ne se limite pas à la seule mise à jour du vecteur de référence M c (t j -i) du nœud ç représentant ce vecteur d'entrée Xj P mais inclut celle des vecteurs de référence des nœuds voisins de ce nœud ç. Cette caractéristique est particulièrement intéressante et permet d'obtenir un réseau de nœuds R représentatif d'une grande variété de contenus d'images. En effet, si la mise à jour était limitée à la mise à jour du vecteur de

référence du nœud ç représentant un vecteur d'entrée Xj P , la valeur finale des vecteurs de référence définissant les nœuds du réseau serait plus dépendante du choix des valeurs initiales des vecteurs de référence si bien que la topologie de l'espace des vecteurs d'entrée dans le réseau serait moindrement garantie. Selon l'algorithme de la Fig. 4, l'étape 50 est suivie de l'étape 60 au cours de laquelle est vérifié si le vecteur Xi p représentant une caractéristique d'une partie p_ de l'image courante Ii a est le dernier vecteur parmi les K vecteurs représentant cette image. Dans la négative, l'étape 40 est de nouveau mise en œuvre en considérant un autre vecteur X, p . La boucle constituée des étapes 40 à 60 est exécutée tant que tous les vecteurs Xj p n'ont pas été considérés.

Si tous les vecteurs Xj P de l'image Ij a ont été considérés, l'étape 70 vérifie si toutes les images d'apprentissage I; a ont été considérées. Dans la négative, l'étape 30 est mise en œuvre en considérant une autre image d'apprentissage. La boucle constituée des étapes 40 à 70 est exécutée tant que toutes les images d'apprentissage Ij a n' ont pas été considérées .

Si toutes les images d'apprentissage ont été considérées, l'étape 80 est mise en œuvre pour vérifier que toutes les valeurs de temps de l'ensemble T ont été considérées, c'est-à-dire si le nombre d'itérations maximal est atteint. Dans l'affirmative la définition des nœuds du réseau est terminée. Dans la négative, l'étape 20 est mise en œuvre en considérant la valeur de temps t J+1 suivant le temps tj courant.

Selon une variante de réalisation, lorsque que toutes les valeurs de temps ont été considérées, l'étape 90 est mise en œuvre pour calculer une matrice de pondération C qui sera ultérieurement utilisée dans un procédé de traitement de deux images tel que celui qui est décrit en relation avec la Fig. 2. La matrice de pondération C est une matrice carrée dont la dimension est égale à la dimension des vecteurs de référence, à savoir selon le mode de réalisation décrit précédemment, de dimension 3V 2 x3V 2 . Chaque élément aj j de cette matrice est définie par la relation suivante :

n a tJ = 1l r ' ~ T J

où r; et rj désignent les positions respectives d'un nœud i et d'un nœud j du réseau R de nœuds, |.| désigne une distance calculée entre deux positions, par exemple la distance euclidienne, et L désigne la largeur du réseau définie par:

L = max r - r

IJ "

En variante, les coefficients a;j de la matrice de pondération sont déterminés en calculant la corrélation entre les vecteurs de référence des nœuds i et j .

Comme cela a été décrit précédemment, les étapes 20 à 50 permettent, pour chaque nœud du réseau, de définir une représentation selon un ensemble d'images d'apprentissage en un nombre d'itérations défini par le nombre de valeurs de l'ensemble T de valeurs discrètes. A chacune de ces itérations, un voisinage de nœuds est défini (étape 20) et les vecteurs de référence des nœuds situés dans ce voisinage sont mis à jour. Ce voisinage de nœuds est constitué d'un nombre de nœuds de plus en plus restreint au fur et à mesure des itérations. De plus, l'influence d'un vecteur d'entrée sur la mise à jour d'un vecteur de référence est de plus en plus minime au cours des itérations du fait de la décroissance du taux d'apprentissage α(tj). En effet, lors des premières itérations, le paramètre α(t j ) est égal à 1 si bien que les vecteurs de référence sont largement influencés par les valeurs des vecteurs calculées à l'itération précédente. Pour les itérations suivantes, le paramètre α(t j ) décroît très rapidement. La fonction de voisinage δ(t) décrite ci-dessus, et définissant un voisinage se restreignant au fil des itérations, est un second paramètre de l'algorithme de définition des nœuds du réseau décrit en relation avec la Fig. 2. L'évolution de ces deux paramètres est par exemple monotone.

Dans la pratique, lorsque par exemple 100000 itérations sont effectuées, pour les premières itérations (typiquement les 1000 premières) le paramètre α(t) décroît de la valeur 1 à la valeur 0.8 de façon monotone et le voisinage N c (t), constitué au départ de l'ensemble de nœuds du réseau de nœuds, décroît pour n'être constitué à l'itération

1000 que des nœuds directement reliés au nœud ç. Pour les 60000 dernières itérations, le paramètre α(t) décroît, par exemple en 1/t, de la valeur 0.2 à la valeur 0.1 qui est sa valeur finale selon cet exemple d'expérimentation.

La Fig. 6 représente un schéma d'un dispositif de traitement A mettant en oeuvre la présente invention. Le dispositif de traitement A est adapté à mettre en œuvre, par exemple au moyen d'un logiciel qu'il incorpore, les étapes du procédé de traitement d'images selon un mode de réalisation de la présente invention décrit en relation avec la Fig. 2, 3a, 3b ou 4.

Le dispositif de traitement A est par exemple, de manière non limitative, un ordinateur de bureau, une station de travail ou un dispositif de communication mobile tel qu'un téléphone mobile, un assistant personnel ou un ordinateur portable. Il comporte essentiellement un bus de communication B auquel sont reliés un processeur PROC, une mémoire non volatile ROM, une mémoire vive RAM, une interface de communication NI et une interface homme/machine GUI.

L'interface GUI comporte des moyens pour permettre à un usager de définir au moins une image et des moyens pour visualiser une représentation numérique de la ou les image(s) défmie(s). Par exemple, et de manière non limitative, les moyens pour définir au moins une image sont constitués d'un clavier alphanumérique et/ou d'une souris d'un ordinateur. Les moyens pour visualiser une image sont, par exemple et de manière non limitative, constitués d'un écran.

La mémoire non volatile ROM mémorise les programmes et les données permettant entre autre la mise en oeuvre des étapes du procédé de traitement telles que décrites aux Figs. 2, 3 a, 3b ou 4.

Lors de la mise sous tension du dispositif de traitement d'images A, les programmes sont transférés de la mémoire ROM dans la mémoire vive RAM qui contient alors le code exécutable et les données nécessaires à la mise en oeuvre de l'un des modes de réalisation suivants. Selon un mode de réalisation de la présente invention, le processeur PROC obtient le réseau de nœuds et, éventuellement, la matrice de pondération C d'un serveur distant par l'intermédiaire de l'interface de communication NI. Préférentiellement, chaque nœud du réseau de nœuds défini selon l'algorithme décrit en relation avec la Fig. 4, représente une description de la caractéristique, par exemple colorimétrique, d'au moins une partie d'au moins une image d'apprentissage.

De plus, le dispositif de traitement A comporte des moyens pour déterminer une caractéristique associée à chacune d'au moins deux parties de l'image à traiter, des moyens pour déterminer des nœuds du réseau de nœuds qui représentent les caractéristiques desdites parties de ladite image, ledit réseau de nœuds étant tel que deux nœuds voisins quelconques sont représentatifs de deux caractéristiques de partie d'image similaires et des moyens pour établir une signature d'une image à traiter en dénombrant le nombre de fois que chaque nœud du réseau de nœuds a été déterminé comme représentant une caractéristique de chacune des parties de l'image à traiter. De plus, selon une variante de ce mode de réalisation, le dispositif A comporte des

moyens de détermination de la similarité de deux images ainsi signées par un calcul d'une distance entre les signatures de ces images à traiter et, éventuellement, de la matrice de pondération C.

Selon un autre mode de réalisation, le processeur PROC obtient le réseau de nœuds et, éventuellement, la matrice de pondération C, de la mémoire RAM ou de la mémoire ROM. Selon ce mode de réalisation, le dispositif de traitement A comporte, pour déterminer le réseau de nœuds et, éventuellement la matrice de pondération C, des moyens pour déterminer la description d'une caractéristique de chaque partie de chaque image d'un ensemble d'images d'apprentissage, des moyens pour représenter la description de la partie de l'image d'apprentissage par un nœud du réseau de nœuds, des moyens pour mettre à jour, à partir de la description de la partie de l'image d'apprentissage, la description définissant le nœud représentant la description de la partie de l'image d'apprentissage et la description d'au moins un autre nœud, un autre nœud étant à une position telle que la distance séparant la position de l'autre nœud et la position du nœud représentant la description de la partie de l'image d'apprentissage soit inférieure à un seuil prédéterminé. De plus, le dispositif A de traitement d'une image comporte des moyens pour déterminer une caractéristique associée à chacune d'au moins deux parties de l'image à traiter, des moyens pour déterminer des nœuds du réseau de nœuds qui représentent les caractéristiques desdites parties de ladite image à traiter, des moyens pour établir une signature de l'image à traiter en dénombrant le nombre de fois que chaque nœud du réseau de nœuds a été déterminé comme représentant une caractéristique de chacune des parties de l'image à traiter. Enfin, le dispositif A comporte des moyens de détermination de la similarité de deux images ainsi signées par un calcul d'une distance entre les signatures de ces images à traiter utilisant la matrice de pondération.

Bien entendu, la présente invention n'est nullement limitée aux modes de réalisation décrits ici, mais englobe, bien au contraire, toute variante à la portée de l'homme du métier.