FR2843470A1 - Procede de fonctionnement et dispositif d'analyse de parametres mono et multidimensionnels par calcul et traitement d'histogramme, application a la perception active - Google Patents

Procede de fonctionnement et dispositif d'analyse de parametres mono et multidimensionnels par calcul et traitement d'histogramme, application a la perception active Download PDF

Info

Publication number
FR2843470A1
FR2843470A1 FR0210066A FR0210066A FR2843470A1 FR 2843470 A1 FR2843470 A1 FR 2843470A1 FR 0210066 A FR0210066 A FR 0210066A FR 0210066 A FR0210066 A FR 0210066A FR 2843470 A1 FR2843470 A1 FR 2843470A1
Authority
FR
France
Prior art keywords
module
signal
histogram
memory
class
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0210066A
Other languages
English (en)
Other versions
FR2843470B1 (fr
Inventor
Patrick Pirim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Holding BEV SA
Original Assignee
Holding BEV SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Holding BEV SA filed Critical Holding BEV SA
Priority to FR0210066A priority Critical patent/FR2843470B1/fr
Priority to AU2003282816A priority patent/AU2003282816A1/en
Priority to JP2004526984A priority patent/JP2006500643A/ja
Priority to PCT/FR2003/002478 priority patent/WO2004015630A2/fr
Priority to EP03756531A priority patent/EP1529265A2/fr
Publication of FR2843470A1 publication Critical patent/FR2843470A1/fr
Application granted granted Critical
Publication of FR2843470B1 publication Critical patent/FR2843470B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/571Depth or shape recovery from multiple images from focus

Abstract

L'invention concerne un procédé de fonctionnement d'un module de calcul et traitement d'histogramme, dit STN, et un tel module, pour analyse d'un paramètre d'un espace spatio-temporel représenté sous forme de données évoluant dans le temps, le paramètre étant porté par un signal d'entrée DATA(A), le module calculant dans une mémoire adressable (100) un histogramme représentatif du paramètre et produisant au moins une amplitude RMAX de sommet maximum d'histogramme et une position de la mémoire POSRMAX dudit maximum ainsi qu'une paire de bornes de classification fonction d'un critère par balayage de la mémoire et détection dudit critère. Selon l'invention, dans des moyens pour traiter l'histogramme et produire la paire de borne on effectue, d'une part, un balayage d'adresses décroissant de la mémoire (100) à partir de la position du maximum POSRMAX afin de produire une première borne et, d'autre part, un balayage d'adresses croissant de la mémoire (100) à partir de la position du maximum POSRMAX afin de produire une deuxième borne, lesdites bornes étant ainsi déterminées par balayage bilatéral de la mémoire adressable (100) à partir du maximum POSRMAX. Une application à la reconnaissance visuelle active est également décrite.

Description

La présente invention concerne un procédé de fonctionnement et un
dispositif d'analyse de paramètres mono et multidimensionnels, I'analyse ayant lieu dans un bloc de calcul et de traitement d'histogramme. Les paramètres mono et 5 multidimensionnels sont des caractéristiques d'objets d'un espace spatio-temporel qui sont représenté par des séquences et sous séquences de données évoluant dans le temps. L'invention peut être appliquée à l'analyse d'images sous forme de données vidéo aux fins d'identification et de localisation d'objets d'une scène. 10 L'analyse permet le repérage d'un objet par sa forme et/ou sa dimension et/ou son orientation et/ou sa position respective par rapport à la scène et/ou à d'autres objets de la scène. Une application de l'invention à la perception visuelle active est plus particulièrement détaillée dans le présent document. L'invention 15 peut également être mise en oeuvre avec d'autres types de données pouvant être représentés sous forme de séquences et de
sous séquences de données comme par exemple des sons.
On connaît déjà des procédés et dispositifs permettant de repérer des objets dans une image. Dans certains d'entre eux il est 20 proposé l'analyse statistique des points ou pixels d'un signal vidéo numérique provenant d'un système d'observation pour la réalisation
de dispositifs efficaces susceptibles de fonctionner en temps réel.
Plus récemment, il a été proposé de réaliser ces dispositifs par l'association d'unités de traitement d'informations de même 25 nature s'adressant chacune à un paramètre particulier extrait du signal vidéo pour l'analyser. C'est le cas des demandes de brevet de Monsieur Patrick PIRIM, inventeur: WO-98/05002, FR-01/02539 déposée le 23 février 2001, WO00/11609, WO-01/63557 ou l'article "Le mécanisme de la vision s'intègre sur une puce" dans 30 Electronique, Juin 2000 N 104 dans lequel on propose la mise en
oeuvre de blocs ou unités ou modules, ces termes étant ici équivalents, de calcul et traitement d'histogramme constituant de véritables neurones spatio-temporels électroniques, dits STN, analysant chacun un paramètre, ledit paramètre étant traité par une 35 fonction (fog) pour produire individuellement une valeur de sortie.
Ces valeurs de sortie, toutes ensemble, forment une rétroannotation disponible sur un bus pour utilisation dans les blocs lors de l'analyse. En même temps, chacune de ces unités de calcul et de traitement d'histogramme constitue et met à jour un 5 registre de sortie d'analyse fournissant des informations statistiques sur le paramètre correspondant. Le choix du paramètre analysé par chaque bloc de calcul et traitement d'histogramme, le contenu du registre de sortie d'analyse ainsi que la fonction (fog) qu'elle remplit, sont déterminés par un logiciel exécuté dans une 1o interface de programmation applicative API (Application Program Interface). Dans un bloc de calcul et traitement d'histogramme tel que décrit dans WO01/63557, pour un paramètre donné, on détermine à partir de l'histogramme calculé et stocké dans une mémoire, le 15 maximum RMAX de l'histogramme, la position dudit maximum POSRMAX, un nombre de points NBPTS de l'histogramme. On détermine également des bornes de classification qui permettent de délimiter une zone d'intérêt pour le paramètre et il a été proposé de prendre comme critère pour détermination des bornes, 20 un ratio du maximum de l'histogramme, par exemple RMAX/2, et d'obtenir les bornes par un balayage des données de la mémoire depuis l'origine à la recherche des limites de zones correspondant
au critère.
Une application des blocs STN est plus particulièrement 25 détaillée dans la demande FR-01/02539 o il a été proposé de décomposer hiérarchiquement l'objet à repérer en fonction de ses propriétés ce qui permet, par exemple, de déterminer d'abord le contour général d'un objet en mouvement par rapport à un fond relativement stable, puis rechercher à l'intérieur de ce contour des 30 éléments caractéristiques par leur teinte, leur couleur, leur position relative... Une telle approche permet l'élaboration rapide d'applications multiples mettant en jeu le repérage d'un objet. Ces applications peuvent être développées, soit à partir d'une formalisation antérieure ayant dégagé les caractéristiques 35 significatives de l'objet, soit, grâce à une fonction d'apprentissage par l'examen d'une scène dans laquelle l'objet en question est présent, le dispositif permettant lui-même d'extraire des
paramètres caractéristiques de l'objet.
Il a donc été proposé dans cette demande FR01/02539 un 5 procédé de localisation d'une forme dans un espace représenté par des pixels formant ensemble un espace i, j multidimensionnel, évoluant dans le temps, et représenté à une succession de moments, lesdites données associées chacune à un paramètre temporel A, B,... étant sous la forme de signaux DATA(A), l0 DATA(B),... numériques constitués d'une suite Aijt, Bijt,... de nombres binaires de n bits associés à des signaux de synchronisation permettant de définir le moment de l'espace et la position i, j dans cet espace, auquel les signaux Aijt, Bijt,... reçus à un instant donné. Dans cette demande, il est indiqué que: a) on repère une zone d'intérêt de l'espace en fonction d'un critère statistique appliqué à un paramètre temporel, b) on inhibe la zone principale ainsi repérée, c) on réitère les étapes a) et b) de façon à repérer d'autres zones d'intérêt à l'intérieur d'une zone de l'espace non inhibée, d) on arrête le processus lorsqu'une zone restante, non inhibée, de l'espace ne produit plus de zone d'intérêt correspondant au critère statistique, en d'autres termes, quand, dans la zone d'intérêt, le nombre de points est trop faible (inférieur à un seuil), e) on incrémente par trame valide consécutive, un compteur pour chaque zone d'intérêt ainsi repérée, le barycentre de son nuage de points, f) on récupère pour chaque zone d'intérêt ainsi repérée, le
barycentre de son nuage de points.
Dans cette demande on a également montré l'intérêt de mettre en oeuvre deux sous-ensembles de blocs de calcul et traitement d'histogramme recevant les signaux et produisant chacun une valeur de classification, le premier sous-ensemble recevant un signal porteur d'un premier paramètre temporel et le 35 deuxième sous-ensemble recevant deux signaux spatiaux, la valeur de classification du premier sous-ensemble validant un groupe de points de l'espace traités par le deuxième sous-ensemble, le nombre desdits points étant n1, la valeur de classification du deuxième sous-ensemble validant les valeurs de paramètre traitées 5 par le premier sous-ensemble, les deux sous-ensembles produisant conjointement un signal binaire représentant une zone d'intérêt et un signal représentant la valeur du paramètre temporel dans cette zone. Dans des applications diverses on a aussi montré l'intérêt d'associer à ce dispositif un troisième sous-ensemble recevant un 1o signal porteur d'un deuxième paramètre temporel, ce troisième sous-ensemble ayant un fonctionnement analogue au premier et s'y substituant lorsqu'il valide des points de l'espace dont le nombre
est n2, n2 étant supérieur à n1.
Dans ces applications on a également proposé de mettre en 15 oeuvre plusieurs sous-ensembles recevant des signaux spatiaux
permettant de valider successivement plusieurs groupes de points de l'espace et finalement de réaliser un dispositif qui comporte un ensemble de blocs de calcul et traitement d'histogramme commandé par un logiciel API et reliés entre eux par un bus de 20 données et par un bus de rétroannotation.
Si un tel dispositif à blocs de calcul et traitement d'histogramme permet d'identifier et de localiser d'une manière fiable un objet d'une scène, il présente quelques limitations dues au mode de détermination des bornes de classification et sur le 25 type du paramètre qui est analysé. Un des buts de l'invention est donc de proposer un procédé et un dispositif améliorés mettant en oeuvre des blocs de calcul et traitement d'histogramme qui permettent une plus grande efficacité et plus de souplesse dans
l'analyse par histogramme.
Une telle démarche est liée au fait qu'on s'est aperçu qu'il était plus efficace d'effectuer l'analyse à partir d'un paramètre d'entrée du bloc de calcul et traitement d'histogramme qui soit complexe, c'est-à-dire qui résulte de la combinaison de paramètres élémentaires selon des critères prédéterminés et/ou 35 programmables et dans un bloc pouvant traiter directement ledit paramètre multidimensionnel plutôt que d'utiliser plusieurs blocs traitant chacun un paramètre élémentaire puis combiner les résultats partiels ainsi que de déterminer les bornes de classification à partir de la position du maximum de l'histogramme au lieu d'effectuer un balayage de la mémoire depuis l'origine. A cette fin on propose un procédé de fonctionnement d'un module de calcul et traitement d'histogramme, dit STN, pour analyse d'un paramètre d'un espace spatio-temporel représenté sous forme de données en séquences et sous séquences évoluant o dans le temps, le paramètre étant porté par un signal d'entrée DATA(A) numérique sous forme d'une suite Aij...t, A'ij... t, A"ij...t,... de
nombres binaires associés à des signaux de synchronisation permettant de définir un moment t de l'espace et une position i, j...
dans cet espace, ledit paramètre étant traité dans le module STN par une fonction afin de produire une valeur de sortie, les valeurs de sortie d'un ensemble de modules formant une rétroannotation disponible sur un bus de rétroannotation, le calcul faisant intervenir la rétroannotation, ledit module ayant des moyens pour calculer dans une mémoire adressable un histogramme représentatif du 20 paramètre, des moyens pour traiter ledit histogramme et produire au moins les valeurs suivantes stockées dans des registres du module: -une amplitude RMAX de sommet maximum d'histogramme, -une position de la mémoire POSRMAX dudit maximum de 25 I'histogramme, une paire de bornes de classification déterminées en fonction d'un critère appliqué sur l'histogramme par balayage de la
mémoire et détection dudit critère.
Selon l'invention, dans des moyens pour traiter l'histogramme 30 et produire la paire de borne on effectue, d'une part, un balayage d'adresses décroissant de la mémoire adressable à partir de la position du maximum POSRMAX afin de produire une première borne de la paire de bornes en fonction du critère et, d'autre part, un balayage d'adresses croissant de la mémoire adressable à partir 35 de la position du maximum POSRMAX afin de produire une deuxième borne de la paire de bornes en fonction du critère, lesdites bornes étant ainsi déterminées par balayage bilatéral de la mémoire adressable à partir de la position du maximum POSRMAX
de l'histogramme.
L'invention peut également être mise en oeuvre avec les caractéristiques suivantes, éventuellement combinées selon toutes les possibilités techniquement réalisables: - La détermination s'effectue selon l'une des modalités suivantes - on produit les bornes en un seul balayage d'adresses, un o signal de comptage étant alternativement additionné et soustrait à/de la position du maximum POSRMAX pour chaque pas de comptage, - on produit les bornes en deux balayages d'adresses, d'abord la première borne puis la seconde borne, un signal de 15 comptage étant soustrait de la position du maximum POSRMAX pendant un premier balayage puis un nouveau signal de comptage étant additionné à la position du maximum POSRMAX pendant un second balayage, - on produit les bornes en deux balayages d'adresses, 20 d'abord la seconde borne puis la première borne, un signal de comptage étant additionné à la position du maximum POSRMAX pendant un premier balayage puis un nouveau signal de comptage étant soustrait de la position du maximum POSRMAX pendant un second balayage, - on met en oeuvre un moyen de sélection permettant de sélectionner le critère en fonction d'au moins une des valeurs suivantes: - la valeur de maximum RMAX, - une valeur de seuil SEUIL fournie au module, - un nombre de points NBPTS de l'histogramme produit par traitement de l'histogramme et stocké dans un registre du module, - on sélectionne le critère parmi RMAX/2, SEUIL, NBPTS/SEUIL, - on met en oeuvre dans le module STN au moins: - un additionneur/soustracteur permettant selon la valeur 35 binaire d'un signal SENS de sens de balayage, d'ajouter ou soustraire une valeur de décalage à un signal de comptage COUNTER, la valeur de décalage pouvant au moins être soit nulle, soit égale à la valeur POSRMAX de position du maximum de l'histogramme, pour générer le signal d'adressage de la mémoire s adressable, - un comparateur et des circuits logiques recevant d'une part une donnée adressée de la mémoire adressable et, d'autre part, le critère, et destinés à générer un signal de mise à jour de borne pour permettre la validation dans un registre d'une des bornes 1o selon le sens de balayage, - un multiplexeur de sélection disposé à une entrée d'adressage de la mémoire adressable, ledit multiplexeur ayant trois entrées recevant respectivement un signal d'entrée portant le paramètre, le signal de comptage COUNTER et la sortie de 15 additionneur/soustracteur, - on met en oeuvre dans le module STN des moyens pour anticipation avec calcul d'une position moyenne POSMOY relative audit paramètre et calcul d'une différentielle AA du paramètre par différence entre deux moyennes successives dudit paramètre et en 20 ce que le paramètre est soustrait de la différentielle signée avant mise en oeuvre dans une sous-unité de fonctionnement destinée à produire le signal de sortie pour rétroannotation en fonction de la paire de bornes déterminée, - on met en oeuvre en outre une unité barycentrique destinée à 25 produire un signal de sortie de barycentre pour rétroannotation avec un premier état binaire lorsque le paramètre correspond à la position moyenne POSMOY et avec un second état binaire dans le cas contraire, - le paramètre analysé par le module STN est complexe et qu'on 30 I'obtient par combinaison d'au moins deux paramètres élémentaires, chacun des nombres binaires du signal d'entrée DATA(A1,A2,A3...Ap) support du paramètre complexe A1A2A3...Ap comportant P champs correspondant chacun à un paramètre élémentaire A1, A2, A3,..., Ap et en ce que l'on met en oeuvre des 35 moyens dans le module STN pour produire et stocker dans des registres P paires de bornes correspondant chacune à un paramètre élémentaire par balayage bilatéral de la mémoire à partir de la position du maximum POSRMAX de l'histogramme du paramètre complexe, - P = 2, le module STN(2) étant dit bilinéaire ou bidimensionnel, - P = 3, le module STN(3) étant dit trilinéaire ou tridimensionnel, - P est supérieur à trois, le module étant dit multilinéaire ou multidimensionnel, - un module traitant un paramètre unique peut être un module selon 1o les caractéristiques de base de l'invention et recevant un paramètre élémentaire ou un module selon ces dernières caractéristiques évoluées mais dans lequel le paramètre complexe ne comporte qu'un seul champ avec P=1, - on met en oeuvre une unité de décalage, ladite unité permettant 15 d'introduire dans le signal de comptage COUNTER un décalage numérique permettant d'adresser dans la mémoire des données correspondant à un champ particulier du paramètre complexe, - on met en oeuvre des moyens pour anticipation avec calcul d'une position moyenne complexe POSMOYAIA2... relative à l'ensemble 20 des p paramètres élémentaires du paramètre complexe et calcul de différentielles AA1, AA2,... AAp de chacun des p paramètres élémentaires du paramètre complexe A1A2A3...Ap par différence entre deux moyennes successives complexe et en ce que chacun des paramètres élémentaires est soustrait de la différentielle 25 signée correspondante avant mise en oeuvre dans une sous-unité de fonctionnement destinée à produire le signal de sortie pour rétroannotation en fonction des paires de bornes déterminées, -on met en ceuvre en outre une unité barycentrique destinée à produire un signal de sortie de barycentre pour rétroannotation 30 avec un premier état binaire lorsque le paramètre complexe A1A2A3...Ap correspond à la position moyenne complexe POSMOYA1A2... et avec un second état binaire dans le cas contraire, - on met en ceuvre une sous-unité de fonctionnement qui comporte des moyens permettant au choix la génération d'un espace de 35 classification pour le signal de sortie par combinaison ET ou OU de zones de classifications, respectivement Zet et Zou, de chacun des paramètres élémentaires, - on stocke l'existence ou non d'une classe sous forme de données binaires à deux états dans une mémoire de classification dont le 5 nombre de mots correspond à la taille de l'histogramme stocké dans la mémoire adressable du module STN, le premier état correspondant à la détection du critère et le second état à la non détection du critère sur l'histogramme, une classe avec des valeurs de premier état correspondant à une zone d'histogramme comprise io entre les bornes et en ce que l'on envoi le signal de sortie de la mémoire de classification sur le bus de rétroannotation, - on initialise par un moyen de calcul de fonction la mémoire adressable du module STN lors d'un cycle de calcul donné avec des valeurs d'initialisation fonction des valeurs stockées dans la 15 mémoire adressable à la fin du cycle de calcul précédent, - on met en oeuvre une fonction pour calcul de valeur d'initialisation égale à (Km-1)/Km fois la valeur stockée, Km étant de la forme 2m avec m supérieur ou égal à zéro, m supérieur à zéro permettant d'obtenir un effet mémoire et m égal à zéro correspondant à une 20 absence d'effet mémoire, - on fait varier m entre les cycles de calcul, - le procédé est mis en oeuvre dans un système de reconnaissance et la variation de m dépend d'un critère de reconnaissance, l'effet mémoire étant réduit au fur et à mesure de la reconnaissance, - on détermine et mémorise pour un histogramme donné un ensemble de données de classes, chaque classe correspondant à un sommet dudit histogramme et lesdites données comportant au moins l'amplitude et la position dudit sommet, une des classes correspondant au sommet maximum RMAX, POSRMAX de 30 I'histogramme, - on répartit des moyens permettant de déterminer et mémoriser un ensemble de données de classes entre plusieurs modules STN, un premier module ST1 déterminant et mémorisant une première classe correspondant au sommet maximum de l'histogramme, et un 35 deuxième module ST2 déterminant et mémorisant une seconde classe correspondant au second plus grand sommet de l'histogramme et ainsi de suite ST3..., la sortie du module d'une classe de sommet supérieur inhibant l'ensemble des modules suivants déterminant et mémorisant les sommets inférieurs de l'histogramme, - on répartit des moyens permettant de déterminer et mémoriser un ensemble de données de classes entre plusieurs modules STN, un premier module ST'0 déterminant et mémorisant l'ensemble des classes et envoyant classe par classe par ordre décroissant de o sommet d'histogramme vers un module d'un ensemble de modules ST'1, ST'2, ST'3... les données correspondant à une desdites classes, les classes étant ainsi réparties entre les modules, chacun des modules ST'1, ST'2, ST'3... déterminant et stockant la classe qu'il a reçue, - on répartit les moyens permettant de déterminer et mémoriser un ensemble de données de classes entre un module STN et une interface de programmation d'application API, lesdits moyens comportant une mémoire M0 de valeurs d'histogramme déterminées par le module, une mémoire M1 d'adresses ordonnées en amplitude 20 de sommets de l'histogramme, une mémoire M2 permettant de stocker le numéro d'ordre de la classe, une mémoire M3 de seuils des classes et un registre RC de nombre de classes, I'API permettant d'effectuer: - un cycle d'initialisation mettant à zéro les mémoires M0, M1, 25 M2, M3 et le registre RC, - un cycle de calcul pour charger dans M0 les valeurs de l'histogramme déterminé dans le module, - un cycle de mise à jour des classes, le cycle de mise à jour comprenant (A) - un tri des amplitudes par ordre décroissant dans la mémoire M0 et une mémorisation des adresses correspondantes dans la mémoire M1, (B) - une recherche des classes avec étiquetage des classes dans la mémoire M2 et mémorisation des seuils correspondants dans la mémoire M3, le nombre de classes ainsi déterminées étant stocké dans le registre RC, (C) - une validation des classes de la mémoire M2 par comparaison de la valeur de la mémoire M0 à l'adresse de la 5 classe considérée de M2 avec le seuil de M3 correspondant à la classe considérée, - les mémoires M0 et M1 correspondent à la mémoire adressable du module STN et les données correspondantes sont regroupées en une table fonctionnelle unique de couples amplitude et position lo mémoire RMAXo/POSRMAXo; RMAX1/POSRMAX1; RMAX2/POSRMAX2... des sommets de l'histogramme par ordre décroissant d'amplitude, la table fonctionnelle effectuant un tri matériel automatique des classes pendant l'étape de calcul, - on regroupe dans une unité fonctionnelle multiclasse au sein d'un 15 module STN: - la table fonctionnelle unique de couples amplitude et position mémoire RMAXo/POSRMAXo; RMAX1/POSRMAX1; RMAX2/POSRMAX2... des sommets de l'histogramme par ordre décroissant d'amplitude, la table fonctionnelle effectuant un tri 20 matériel automatique des classes pendant l'étape de calcul, la mémoire adressable étant remplacée par ladite table fonctionnelle unique, - la mémoire M2 permettant de stocker le numéro d'ordre de la classe, - la mémoire M3 de seuil des classes, - le registre de nombre de classes, - une interface de programmation applicative API, ladite unité fonctionnelle multiclasse recevant au moins un paramètre simple DATA(A) ou complexe DATA(A1...Ap), un signal 30 de validation VALIDATION combinaison linéaire de signaux de rétroannotation et des signaux de séquencement INIT, CALCUL,
END, CLOCK,
ladite unité fonctionnelle multiclasse renvoyant au moins un ensemble de signaux de sortie correspondant chacun à une classe 35 Cl...Clk sur le bus de rétroannotation, - chacune des classes du signal de classification est produite en relation avec un ensemble de valeurs du paramètre pour lesquelles l'amplitude de l'histogramme est supérieure à un critère de seuil, - I'API est un séquenceur programmable du type microprocesseur à mémoire ou microcontrôleur, - avec les moyens permettant de déterminer et mémoriser un ensemble de données de classes, on calcule et on mémorise en outre pour chaque classe, dans une mémoire M4, le nombre de points NBPTS de l'histogramme correspondant à une classe, - avec les moyens permettant de déterminer et mémoriser un ensemble de données de classes, on calcule et on mémorise en outre pour chaque classe, dans une mémoire M5, la position moyenne POSMOY dudit paramètre pour une classe, - le procédé est mis en oeuvre dans un système de reconnaissance 15 d'objet comportant au moins deux modules multiclasses, un premier module opérant dans le domaine temporel TD, déterminant au moins une classe et recrutant pour ladite classe au moins un second module opérant dans le domaine spatial SD, - le procédé est mis en oeuvre dans un système de reconnaissance 20 d'objet comportant un ensemble de modules STN de calcul et traitement d'histogramme par sectorisation, les modules déterminant des zones et des barycentres, et en ce que l'on divise une zone déterminée en plusieurs secteurs angulaires centrés sur le barycentre correspondant de la zone et que l'on recherche dans 25 quel secteur parmi les secteurs, un nouveau barycentre apparaît et que l'on divise ledit secteur en plusieurs soussecteurs, le processus pouvant se poursuivre afin de continuer à affiner progressivement la sectorisation, - on effectue deux niveaux de sectorisation, un premier divisant 30 une zone initiale en secteurs et un second divisant un des secteurs ayant un nouveau barycentre en sous secteurs, - à la fin de la sectorisation, on détermine au moins un angle et un module, I'angle étant donné en référence à la droite joignant les deux barycentres et le module correspondant à la distance le long 35 de ladite droite entre lesdits deux barycentres, - le procédé est mis en ceuvre dans au moins un module STN avec au moins deux unités d'orientation pcc p13 d'axes en entrée pour rotation d'axes de référence d'au moins deux coordonnées cartésiennes de paramètres d'entrée, le/les modules déterminant 5 en outre le barycentre pour les paramètres d'entrée, et dans le système on détermine un premier espace Z3 comportant un barycentre BarZ1 par une association d'un module monolinéaire traitant un premier paramètre et d'un second module bilinéaire traitant les coordonnées, une seconde association déterminant à 1o l'intérieur dudit premier espace Z, l'apparition d'un second barycentre BarZj+1, ledit premier espace étant scindé en secteurs angulaires distincts régulièrement répartis Zro, Zrj1, Zri2..., chacun des secteurs étant traité par un module bilinéaire de secteur recevant Z,, BarZ, et également le signal du second barycentre 15 BarZ,+1, le module bilinéaire de secteur correspondant au second barycentre BarZ,+1 étant mis en relation avec un ensemble de modules bilinéaires de secteur de rang ultérieur permettant de scinder le secteur possédant le second barycentre BarZ,+, en secteurs angulaires distincts régulièrement répartis Zra, Zrb, Zrc... 20 afin d'affiner progressivement la sectorisation et déterminer en outre au moins un angle oa 1071 d'axes de référence sensiblement perpendiculaire à la direction de la droite unissant les deux barycentres BarZI et BarZi+1 et un module pj 1070 de distance entre les deux barycentres BarZI et BarZ,+1 le long de ladite droite, la 25 référence selon l'angle oc permettant d'obtenir une invariance en translation, - I'objet peut être observé à des distances différentes et que l'on met en oeuvre dans le système en outre au moins une unité d'invariance en taille, ladite unité d'invariance en taille recevant au 30 moins en entrée, d'une part, une valeur du logarithme d'une distance LD entre un point de référence et au moins un point de l'objet et, d'autre part, le module pj de distance entre deux barycentres BarZ, et BarZ,+1, ladite unité déterminant au moins une valeur Cp' de projection sensiblement constante et correspondant à 35 un angle 0 de rotation par rapport au référentiel p et LD, - on calcule pj, a, Ca, - on met en ceuvre dans l'unité d'invariance en taille des moyens de contrôle de la distance permettant au choix l'utilisation d'une mesure de distance externe ou la détermination interne de la distance, - I'objet est observé à des distances différentes par déplacement physique ou par effet de zoom, l'objet peut être observé à selon des angles différents et l'on met en oeuvre dans le système en outre au moins une unité de o correction de rotation, ladite unité de correction de rotation permettant de corriger la valeur d'angle oa d'axe de référence par rapport à un couple de valeurs a, p d'angle et module précédemment déterminés, - I'unité de correction de rotation permet en outre de déterminer 15 I'angle de rotation Aa, - on calcule ALD, 0, Cp', - on le met en oeuvre dans un système de reconnaissance d'objet comportant un ensemble de modules STN de calcul et traitement d'histogramme avec au moins une unité de transformation de 20 repère de paramètres par rotation d'angle 0, le repère étant au moins sur deux dimensions de paramètres, la rotation dans le cas d'un repère bidimensionnel pour des paramètres de coordonnées polaires de pixel X, Y,correspondant à l'opération matricielle suivante *Xl [cos 0 sin 0 [Xl
11=1 XII
LY*Lsin 0 -cos 0j LYJ - I'angle 0 ou a est choisi pour qu'au moins la projection d'un des paramètres sur l'axe correspondant pO pa ait un taux de variation 30 réduit après rotation, - les paramètres sont au nombre de deux et sont choisis parmi les couples X, Y de coordonnées de pixel ou LogD, p de logarithme de distance d'un pixel par rapport à un point de référence et d'angle par rapport audit point et à une droite de référence, - on détermine au cours du temps plusieurs barycentres de zones apparaissant successivement par rapport à un premier d'une zone initiale et que l'on mémorise les coordonnées de barycentre en relation avec un label sous forme de données de reconnaissance, - on réalise un arbre d'analyse liant les différents barycentres en fonction de leur ordre d'apparition, - pour déterminer si un nouvel objet observé correspond ou non à un objet avec label mémorisé antérieurement, on détermine les données de reconnaissance du nouvel objet et on le compare à des 1o données de reconnaissance de labels précédemment mémorisés, - on associe en outre aux données de reconnaissance du label un angle de rotation Aox et une distance moyenne LD' par des moyens 920, 921 permettant de déterminer ledit angle de rotation Aa et ladite distance moyenne LD', - on associe en outre aux données de reconnaissance du label une couleur C dominante par des moyens permettant de déterminer ladite couleur, - on associe des données de reconnaissance d'un premier label à celles d'au moins un second label afin de former un nouveau label 20 correspondant à un niveau de reconnaissance supérieur, - on analyse les labels par un module de calcul et traitement d'histogramme capable de déterminer et mémoriser un ensemble
de données de catégorisation desdits labels.
L'invention concerne également un dispositif destiné à 25 fonctionner selon une ou plusieurs des caractéristiques fonctionnelles précédentes concernant le procédé. Cette invention concerne donc un dispositif à type de module de calcul et traitement d'histogramme, dit STN, pour analyse d'un paramètre d'un espace spatio-temporel représenté sous forme de données en 30 séquences et sous séquences évoluant dans le temps, le paramètre étant porté par un signal d'entrée DATA(A) numérique sous forme d'une suite Aij.. t, A'ij...t, A"ij...t,... de nombres binaires associés à des signaux de synchronisation permettant de définir un moment t de l'espace et une position i, j... dans cet espace, ledit paramètre 35 étant traité dans le module STN par une fonction afin de produire une valeur de sortie, les valeurs de sortie d'un ensemble d'unités formant une rétroannotation disponible sur un bus de rétroannotation 111, le calcul faisant intervenir la rétroannotation, ledit module ayant des moyens pour calculer dans une mémoire 5 adressable 100 un histogramme représentatif du paramètre, des moyens pour traiter ledit histogramme et produire au moins les valeurs suivantes stockées dans des registres du module: - une amplitude RMAX de sommet maximum d'histogramme, - une position de la mémoire POSRMAX dudit maximum de 1o l'histogramme, - une paire de bornes de classification déterminées *en fonction d'un critère appliqué sur l'histogramme par balayage de la mémoire
et détection dudit critère.
Selon l'invention, le dispositif comporte des moyens pour 15 traiter l'histogramme et produire la paire de borne par, d'une part, un balayage d'adresses décroissant de la mémoire adressable à partir de la position du maximum POSRMAX afin de produire une première borne de la paire de bornes en fonction du critère et, d'autre part, un balayage d'adresses croissant de la mémoire 20 adressable à partir de la position du maximum POSRMAX afin de produire une deuxième borne de la paire de bornes en fonction du critère, lesdites bornes étant ainsi déterminées par balayage bilatéral de la mémoire adressable à partir de la position du
maximum POSRMAX de l'histogramme.
L'invention de dispositif peut également être mise en oeuvre avec les caractéristiques suivantes, éventuellement combinées selon toutes les possibilités techniquement réalisables: - les moyens pour traiter l'histogramme et produire la paire de borne permettent une détermination selon l'une des modalités 30 suivantes: - par production des bornes en un seul balayage d'adresses, un signal de comptage étant alternativement additionné et soustrait à/de la position du maximum POSRMAX pour chaque pas de comptage, - par production des bornes en deux balayages d'adresses, d'abord la première borne puis la seconde borne, un signal de comptage étant soustrait de la position du maximum POSRMAX pendant un premier balayage puis un nouveau 5 signal de comptage étant additionné à la position du maximum POSRMAX pendant un second balayage, - par production des bornes en deux balayages d'adresses, d'abord la seconde borne puis la première borne, un signal de comptage étant additionné à la position du maximum 10 POSRMAX pendant un premier balayage puis un nouveau signal de comptage étant soustrait de la position du maximum POSRMAX pendant un second balayage, -le dispositif comporte un moyen de sélection permettant de sélectionner le critère en fonction d'au moins une des valeurs 15 suivantes: - la valeur de maximum RMAX, - une valeur de seuil SEUIL fournie au module, - un nombre de points NBPTS de l'histogramme produit par traitement de l'histogramme et stocké dans un registre du module, 20 Le critère est sélectionné parmi RMAX/2, SEUIL, NBPTS/SEUIL, - le dispositif comporte au moins: - un additionneur/soustracteur permettant selon la valeur binaire d'un signal SENS de sens de balayage, d'ajouter ou soustraire une valeur de décalage à un signal de comptage 25 COUNTER, la valeur de décalage pouvant être soit nulle, soit égale à la valeur POSRMAX de position du maximum de l'histogramme, pour générer le signal d'adressage de la mémoire adressable, - un comparateur et des circuits logiques recevant d'une part une donnée adressée de la mémoire adressable et, d'autre part, le 30 critère, et destinés à générer un signal de mise à jour de borne pour permettre la validation dans un registre d'une des bornes selon le sens de balayage, - un multiplexeur de sélection disposé à une entrée d'adressage de la mémoire adressable, ledit multiplexeur ayant 35 trois entrées recevant respectivement un signal d'entrée portant le paramètre, le signal de comptage COUNTER et la sortie de additionneur/soustracteur, - le dispositif comporte des moyens pour anticipation avec calcul d'une position moyenne POSMOY relative audit paramètre et calcul 5 d'une différentielle AA du paramètre par différence entre deux moyennes successives dudit paramètre et en ce que le paramètre est soustrait de la différentielle signée avant mise en ceuvre dans une sous-unité de fonctionnement destinée à produire le signal de sortie pour rétroannotation en fonction de la paire de bornes 10 déterminée, - le dispositif comporte en outre une unité barycentrique destinée à produire un signal de sortie de barycentre pour rétroannotation avec un premier état binaire lorsque le paramètre correspond à la position moyenne POSMOY et avec un second état binaire dans le 15 cas contraire, - le paramètre analysé par le module STN est complexe et qu'on l'obtient par combinaison d'au moins deux paramètres élémentaires, chacun des nombres binaires du signal d'entrée DATA(A1,A2,A3...Ap) support du paramètre complexe A1A2A3.. .Ap 20 comportant P champs correspondant chacun à un paramètre élémentaire A1, A2, A3,..., Ap et en ce qu'il comporte des moyens dans le module pour produire et stocker dans des registres P paires de bornes correspondant chacune à un paramètre élémentaire par balayage bilatéral de la mémoire à partir de la 25 position du maximum POSRMAX de l'histogramme du paramètre complexe, - P = 2, le module STN(2) étant dit bilinéaire ou bidimeosionnel, - P = 3, le module STN(3) étant dit trilinéaire ou tridimensionnel, - P est supérieur à trois, le module étant dit multilinéaire ou 30 multidimensionnel, - un module traitant un paramètre unique peut être un module selon les caractéristiques de base de l'invention et recevant un paramètre élémentaire ou un module selon ces dernières caractéristiques évoluées mais dans lequel le paramètre complexe 35 ne comporte qu'un seul champ avec P=1, - le dispositif comporte une unité de décalage, ladite unité permettant d'introduire dans le signal de comptage COUNTER un décalage numérique permettant d'adresser dans la mémoire des données correspondant à un champ particulier du paramètre complexe, - le dispositif comporte des moyens pour anticipation avec calcul d'une position moyenne complexe POSMOYA1A2... relative à l'ensemble des p paramètres élémentaires du paramètre complexe et calcul de différentielles /A1, AA2,... AAp de chacun des p 1o paramètres élémentaires du paramètre complexe A1A2A3...Ap par différence entre deux moyennes successives complexe et en ce que chacun des paramètres élémentaires est soustrait de la différentielle signée correspondante avant mise en ceuvre dans une sous-unité de fonctionnement destinée à produire le signal de 15 sortie pour rétroannotation en fonction des paires de bornes déterminées, - il comporte en outre une unité barycentrique destinée à produire un signal de sortie de barycentre pour rétroannotation avec un premier état binaire lorsque le paramètre complexe AlA2A3...Ap 20 correspond à la position moyenne complexe POSMOYA1A2... et avec un second état binaire dans le cas contraire, - le dispositif comporte une sous-unité de fonctionnement avec des moyens permettant au choix la génération d'un espace de classification pour le signal de sortie par combinaison ET ou OU de 25 zones de classifications, respectivement Zet et Zou, de chacun des paramètres élémentaires, - le dispositif comporte une mémoire de classification dont le nombre de mots correspond à la taille de l'histogramme stocké dans la mémoire adressable du module STN, la mémoire stockant 30 lI'existence ou non d'une classe sous forme de données binaires à deux états, le premier état correspondant à la détection du critère et le second état à la non détection du critère sur l'histogramme, une classe avec des valeurs de premier état correspondant à une zone d'histogramme comprise entre les bornes et en ce que le signal de sortie de la mémoire de classification est envoyé sur le bus de rétroannotation, - le dispositif comporte un moyen de calcul de fonction permettant d'initialiser la mémoire adressable du module STN lors d'un cycle 5 de calcul donné avec des valeurs d'initialisation fonction des valeurs stockées dans la mémoire adressable à la fin du cycle de calcul précédent, - la fonction pour calcul de valeur d'initialisation produit (Km-1)/Km fois la valeur stockée, Km étant de la forme 2m avec m supérieur ou 1o égal à zéro, m supérieur à zéro permettant d'obtenir un effet mémoire et m égal à zéro correspondant à une absence d'effet mémoire, - m varie entre les cycles de calcul, - le dispositif est mis en oeuvre dans un système de 15 reconnaissance et la variation de m dépend d'un critère de reconnaissance, I'effet mémoire étant réduit au fur et à mesure de la reconnaissance, - le dispositif comporte des moyens pour déterminer et mémoriser pour un histogramme donné un ensemble de données de classes, 20 chaque classe correspondant à un sommet dudit histogramme et lesdites données comportant au moins l'amplitude et la position dudit sommet, une des classes correspondant au sommet maximum RMAX, POSRMAX de l'histogramme, - les moyens permettant de déterminer et mémoriser un ensemble 25 de données de classes sont répartis entre plusieurs modules STN, un premier module ST1 déterminant et mémorisant une première classe correspondant au sommet maximum de l'histogramme, et un deuxième module ST2 déterminant et mémorisant une seconde classe correspondant au second plus grand sommet de 30 I'histogramme et ainsi de suite ST3..., la sortie du module d'une classe de sommet supérieur inhibant l'ensemble des modules suivants déterminant et mémorisant les sommets inférieurs de l'histogramme, - les moyens permettant de déterminer et mémoriser un ensemble 35 de données de classes sont répartis entre plusieurs modules, un premier module ST'O déterminant et mémorisant l'ensemble des classes et envoyant classe par classe par ordre décroissant de sommet d'histogramme vers un module d'un ensemble de modules ST'1, ST'2, ST'3... les données correspondant à une desdites 5 classes, les classes étant ainsi réparties entre les modules, chacun des modules ST'1, ST'2, ST'3... déterminant et stockant la classe qu'il a reçue, - les moyens permettant de déterminer et mémoriser un ensemble de données de classes sont répartis entre un module STN et une 1o interface de programmation d'application API, lesdits moyens comportant une mémoire MO de valeurs d'histogramme déterminées par le module, une mémoire M1 d'adresses ordonnées en amplitude de sommets de l'histogramme, une mémoire M2 permettant de stocker le numéro d'ordre de la classe, une mémoire M3 de seuil 5 des classes et un registre RC de nombre de classes, I'API permettant d'effectuer - un cycle d'initialisation mettant à zéro les mémoires MO, M1, M2, M3 et le registre, - un cycle de calcul pour charger dans M0 les valeurs de 20 l'histogramme déterminé dans le module, - un cycle de mise à jour des classes, le cycle de mise à jour comprenant: (A) - un tri des amplitudes par ordre décroissant dans la mémoire M0 et une mémorisation des adresses correspondantes 25 dans la mémoire M1, (B) - une recherche des classes avec étiquetage des classes dans la mémoire M2 et mémorisation des seuils correspondants dans la mémoire M3, le nombre de classes ainsi déterminées étant stocké dans le registre RC, (C) - une validation des classes de la mémoire M2 par comparaison de la valeur de la mémoire MO à l'adresse de la classe considérée de M2 avec le seuil de M3 correspondant à la classe considérée, - les mémoires MO et M1 correspondent à la mémoire adressable 35 du module STN et les données correspondantes sont regroupées en une table fonctionnelle unique de couples amplitude et position mémoire RMAXo/POSRMAXo; RMAX1/POSRMAX1; RMAX2/POSRMAX2... des sommets de l'histogramme par ordre décroissant d'amplitude, la table fonctionnelle effectuant un tri matériel automatique des classes pendant l'étape de calcul, - on regroupe dans une unité fonctionnelle multiclasse au sein d'un module STN: - la table fonctionnelle unique de couples amplitude et position mémoire (RMAXo/POSRMAXo; RMAX1/POSRMAX1; RMAX2/POSRMAX2... des sommets de l'histogramme par ordre décroissant d'amplitude, la table fonctionnelle effectuant un tri matériel automatique des classes pendant l'étape de calcul, la mémoire adressable étant remplacée par ladite table fonctionnelle unique, - la mémoire M2 permettant de stocker le numéro d'ordre de la classe, - la mémoire M3 de seuil des classes, - le registre de nombre de classes, - une interface de programmation applicative API, ladite unité fonctionnelle multiclasse recevant au moins un paramètre simple DATA(A) ou complexe DATA(A1...Ap, un signal de validation VALIDATION combinaison linéaire de signaux de rétroannotation et des signaux de séquencement INIT, CALCUL,
END, CLOCK,
ladite unité fonctionnelle multiclasse renvoyant au moins un ensemble de signaux de sortie correspondant chacun à une classe CIl...Clk sur le bus de rétroannotation, - I'API est un séquenceur programmable du type microprocesseur à mémoire ou microcontrôleur, - avec les moyens permettant de déterminer et mémoriser un ensemble de données de classes, on calcule et on mémorise en outre pour chaque classe, dans une mémoire M4, le nombre de points NBPTS de l'histogramme correspondant à ladite classe, - avec les moyens permettant de déterminer et mémoriser un 35 ensemble de données de classes, on calcule et on mémorise en outre pour chaque classe, dans une mémoire M5, la position moyenne POSMOY dudit paramètre dans ladite classe, - le dispositif est dans un système de reconnaissance d'objet comportant au moins deux modules multiclasses, un premier 5 module opérant dans le domaine temporel TD, déterminant au moins une classe et recrutant pour ladite classe au moins un second module opérant dans le domaine spatial SD, - le dispositif est dans un système de reconnaissance d'objet comportant un ensemble de modules STN de calcul et traitement 10 d'histogramme par sectorisation, les modules déterminant des zones et des barycentres, et qu'il permet de diviser une zone déterminée en plusieurs secteurs angulaires centrés sur le barycentre correspondant de la zone et de rechercher dans quel secteur parmi les secteurs, un nouveau barycentre apparaît et de 15 diviser ledit secteur en plusieurs sous-secteurs afin d'affiner progressivement la sectorisation, - le dispositif comporte au moins un module STN avec au moins deux unités d'orientation pca p3 d'axes 150, 15) en entrée pour rotation d'axes de référence d'au moins deux coordonnées 20 cartésiennes de paramètres d'entrée, le/les modules déterminant en outre le barycentre pour les paramètres d'entrée, et dans le système on détermine un premier espace Z1 comportant un barycentre BarZI par une association d'un module monolinéaire traitant un premier paramètre et d'un second module bilinéaire 25 traitant les coordonnées, une seconde association déterminant à l'intérieur dudit premier espace Z1 l'apparition d'un second barycentre BarZ1+1, ledit premier espace étant scindé en secteurs angulaires distincts régulièrement répartis Zri0, Zr1l, Zri2..., chacun des secteurs étant traité par un module bilinéaire de secteur 300, 30 301.
307 recevant ZI, BarZi et également le signal du second barycentre BarZi+1, le module bilinéaire de secteur correspondant au second barycentre BarZ+1 étant mis en relation avec un ensemble de modules bilinéaires de secteur de rang ultérieur permettant de scinder le secteur possédant le second barycentre 35 BarZl+ en secteurs angulaires distincts régulièrement répartis Zra, Zrb, Zrc... afin d'affiner progressivement la sectorisation et déterminant en outre au moins un angle a 1071 d'axe de référence sensiblement perpendiculaire à la direction de la droite unissant les deux barycentres BarZi et BarZl+ et un module pj 1070 de distance entre les deux barycentres BarZi et BarZi+1 le long de ladite droite, - les valeurs pj, ca, Ca, sont calculées, - I'objet peut être observé à des distances différentes et que le système comporte en outre au moins une unité d'invariance en taille, ladite unité d'invariance en taille recevant au moins en 10 entrée, d'une part, une valeur du logarithme d'une distance LD entre un point de référence et, d'autre part, au moins un point de l'objet et le module pj de distance entre deux barycentres BarZ, et BarZi+1, ladite unité déterminant au moins une valeur Cp' de projection sensiblement constante et correspondant à un angle 0 15 de rotation par rapport au référentiel p et LD, - I'unité d'invariance en taille comporte des moyens de contrôle de la distance permettant au choix l'utilisation d'une mesure de distance externe ou la détermination interne de la distance, - I'objet est observé à des distances différentes par déplacement 20 physique ou par effet de zoom, - I'objet peut être observé à selon des angles différents et que le système comporte en outre au moins une unité de correction de rotation, ladite unité de correction de rotation permettant de corriger la valeur d'angle a d'axe de référence par rapport à un 25 couple de valeurs a(, p d'angle et module précédemment déterminés, - I'unité de correction de rotation permet en outre de déterminer l'angle de rotation Aoc, - les valeurs ALD, 0, Cp', sont calculées, - dans un système de reconnaissance d'objet comportant un ensemble de modules STN de calcul et traitement d'histogramme, comporte au moins une unité de transformation de repère de paramètres par rotation d'angle 0, le repère étant au moins sur deux dimensions de paramètres, la rotation dans le cas d'un repère bidimensionnel pour des paramètres de coordonnées polaires de pixel X, Y, correspondant à l'opération matricielle suivante [Xl [cos 0 sin 0 1 [xl 11=1 Xii LYLsin 0 -cos 0 LY I'angle 0 ou a est choisi pour qu'au moins l'un des paramètres sur l'axe correspondant pO pcd ait un taux de variation réduit après rotation, - les paramètres sont au nombre de deux et choisis parmi les 1o couples X, Y de coordonnées de pixel ou LogD, p de logarithme de distance d'un pixel par rapport à un point de référence et d'angle par rapport audit point et à une droit de référence, - on détermine au cours du temps plusieurs barycentres de zones apparaissant successivement par rapport à un premier d'une zone 15 initiale et que l'on mémorise les coordonnées de barycentre en relation avec un label sous forme de données de reconnaissance, - on réalise un arbre d'analyse liant les différents barycentres en fonction de leur ordre d'apparition, - le dispositif comporte des moyens pour déterminer si un nouvel 20 objet observé correspond ou non à un objet avec label mémorisé antérieurement par détermination des données de reconnaissance du nouvel objet et comparaison à des données de reconnaissance de labels précédemment mémorisés, - aux données de reconnaissance du label est en outre associé un 25 angle de rotation Ac et une distance moyenne LD' par des moyens permettant de déterminer ledit angle de rotation Aot et ladite distance moyenne LD', - est associé en outre aux données de reconnaissance du label une couleur C dominante par des moyens permettant de déterminer 30 ladite couleur, - des données de reconnaissance d'un premier label sont associées à celles d'au moins un second label afin de former un nouveau label correspondant à un niveau de reconnaissance supérieur, - les labels sont analysés par un module de calcul et traitement d'histogramme capable de déterminer et mémoriser un ensemble..DTD: de données de catégorisation desdits labels.
L'invention en tant que procédé ou dispositif selon l'une ou 5 plusieurs des caractéristiques précédentes éventuellement combinées, fonctionne de préférence sur des données vidéo d'images. L'espace des données dans lequel l'objet doit être repéré est de préférence un espace spatiotemporel, c'est à dire que d'une part il évolue au cours du temps et que d'autre part les paramètres 10 de l'objet peuvent être représentés à un moment donné sur une (point de l'espace) ou deux (surface) ou trois (volume ou teinte+saturation+lumière ou autre) ou plus dimensions selon le cas. Le procédé et le dispositif de l'invention peuvent être 15 appliqués à la perception visuelle active pour caractériser et
reconnaître un objet, notamment aux fins d'identification et de localisation. Cette application sera plus particulièrement détaillée dans la partie exemplative de cette description avec les détails de l'invention présentés en relation avec la structure et le 20 fonctionnement des blocs STN. L'application concerne donc un
système permettant la perception, la reconnaissance et la localisation d'un objet dans son environnement à partir d'un signal numérique d'entrée constitué par une succession de séquences de vues successives de l'objet dans son environnement et relevant 25 donc du domaine temporel, chacune desdites séquences étant constituée par une succession de sous-séquences, chacune représentative d'emplacements disposés l'un à la suite de l'autre dans lesdites séquences et relevant donc du domaine spatial, caractérisé en ce que l'on réalise pendant une période de plusieurs 30 séquences une variation temporelle de la résolution spatiale de l'objet dans ledit signal numérique d'entrée, la variation comportant une phase d'augmentation sensiblement gaussienne de la résolution depuis une valeur réduite jusqu'à une valeur de base optimale, on réalise en outre une différentiation, avec lissage entre 35 deux séquences successives de ladite augmentation sensiblement gaussienne de la résolution, afin d'obtenir un signal numérique dérivé représentatif de la variabilité de la différence de gaussiennes entre ces deux séquences lorsque la différence, en valeur absolue, pour chaque même emplacement spatial dudit 5 signal dérivé, dépasse un seuil, et on déduit, dudit signal dérivé, par comparaison dans les séquences successives entre les valeurs de ce signal dérivé correspondant à des emplacements identiques dans les sousséquences, de détails hiérarchisés de l'objet, en formant au moins deux histogrammes dudit signal numérique o dérivé, dont au moins un est relatif à la grandeur numérique dudit
signal dans les divers emplacements, ce qui fournit une information relative aux détails caractéristiques de l'objet, et dont au moins un autre est relatif à la localisation des emplacements dans ledit signal, ce qui fournit une information relative à l'emplacement 15 desdits détails.
On va décrite maintenant l'invention plus en détail, mais sans aucun caractère limitatif, avec référence aux dessins annexés sur lesquels: Les figures 1 et 2 représentent deux modes de réalisation 20 d'un dispositif de perception ou connaissance d'un objet selon l'invention comportant: des moyens pour réaliser, pendant une période, une augmentation, par paliers, sensiblement gaussienne de la résolution spatiale, constitués par un ensemble optique pour le premier mode de réalisation et par un filtre électronique pour le 25 second; une unité pour réaliser une différentiation de gaussiennes par lissage spatio-temporel; et des moyens d'utilisation de la différentiation. La figure 3 représente par une courbe, la variation désirée de
la résolution spatiale, comportant, pendant une période, une 30 augmentation par paliers entre r min et r max.
Les figures 4a, 4b, 4c illustrent trois modes de réalisation de l'ensemble optique de la figure 1 et des moyens de commande de
la mise au point de celui-ci par variation de sa distance focale.
La Figure 5 représente l'application de l'invention à un 35 système de radar à ouverture synthétique.
La figure 6 illustre un mode de réalisation du filtre
électronique de la figure 2.
La figure 7 représente le signal d'entrée du filtre électronique
des figures 2 et 6.
Les figures 8a, 8b, 8c, 8d et 8e représentent le signal de sortie du filtre électronique des figures 2 et 6 pour différentes valeurs successives de l'ordre w du filtre, w diminuant, tandis que
la résolution augmente, de la figure 8a à la figure 8e.
La figure 9 illustre un mode de réalisation de l'unité de 10 différentiation de gaussiennes par lissage spatio-temporel des
figures 1 et 2, avec les signaux de sorties CO et DP de celle-ci.
La figure 10 représente, par une courbe, I'histogramme des valeurs absolues des différences, portées en abscisses, entre l'image juste avant l'augmentation de la résolution spatiale et 15 I'image de résolution spatiale progressivement croissante, avec l'indication de la limite Li de la portion utile conservée de l'histogramme. Les figures 11 et 12 illustrent respectivement une nature morte et un visage humain à titre d'objet perçu, avec en regard une 20 courbe représentant pour chacun la variation des valeurs absolues des différences susmentionnées (portées en abscisses sur la figure
) en fonction du paramètre d'ordre w du filtre de la figure 6.
La figure 13 représente la disposition d'assemblage, I'une audessus de l'autre, des figures partielles 13a et 13b pour constituer 25 une figure globale, désignée ci-après figure 13a-13b, illustrant
l'évolution, en cours de traitement, de l'image d'un visage humain. La figure 14 représente un tableau du cumul des valeurs calculées des CO,
avec DP=1, pour des phases successives t du traitement comportant une période d'augmentation de la résolution 30 spatiale suivant cinq paliers pour l'ordre w du filtre, indiqué entre parenthèses. La figure 15 illustre, par des courbes a, b, c, d, e, le cumul
des valeurs du tableau de la figure 14 pour les différentes phases.
La figure 16 illustre la période T3-t5 (figure 3) à r max et 35 w = 0, avec ses composantes spatiales successives a, b, c, d, e.
Les figures 17 et 18 représentent deux modes de réalisation d'un dispositif de perception ou connaissance d'un objet, plus élaborés que ceux des figures 1 et 2, permettant également la reconnaissance de l'objet et le positionnement de celui-ci, car 5 dotés d'un ensemble supplémentaire constitué par un certain nombre d'unités de type STN de formation d'histogrammes, la figure 17 illustrant une élaboration du mode de réalisation de la figure 1 à ensemble optique pour l'augmentation de la résolution spatiale par paliers, tandis que la figure 18 illustre une élaboration l0 du mode de réalisation de la figure 2 à filtre électronique pour une
telle augmentation.
Les figures 19 et 20 représentent respectivement une illustration schématique et une illustration détaillée d'une unité STN unidimensionnelle ou unilinéaire de détermination 15 d'histogrammes, notée STN(1), dudit ensemble supplémentaire des
figures 17 et 18.
Les figures 21a et 21b représentent deux histogrammes unimensionnels, respectivement à un et deux pics ou valeurs
maximales, déterminés par l'unité STN(1) des figures 19 et 20.
La figure 22 illustre schématiquement une unité
bidimensionnelle ou bilinéaire de formation d'histogrammes.
La figure 23 représente la disposition d'assemblage, I'une à côté de l'autre suivant Z-Z', des figures partielles 23a et 23b pour constituer une figure globale, désignée ci-après figure 23a-23b, qui 25 illustre en détail une telle unité STN bidimensionnelle ou bilinéaire de détermination d'histogrammes, notée STN(2), dudit ensemble
supplémentaire des figures 17 et 18.
La figure 23c illustre une variante partielle de la sous-unité
de classification CH du bloc STN(2) de la figure 23a-23b.
La figure 24 représente un histogramme bidimensionnel à
deux pics déterminé par l'unité STN(2) des figures 22 et 23a-23b.
La figure 25 est une vue schématique représentant les éléments essentiels d'un module STN(2) autoadaptatif avec anticipation. Les figures 26 et 27 représentent deux ensembles aptes à
sélectionner successivement les classes dans le cas de plusieurs classes correspondant à plusieurs pics selon les figures 21b et 24, l'ensemble de la figure 27 constituant un perfectionnement de 5 celui-ci selon la figure 26 afin de permettre une sélection plus rapide.
Les figures 28 et 28a illustrent l'organigramme de la phase
d'affichage des résultats dans le cadre de la détermination successive de plusieurs classes et son application dans une API l0 intégrée.
Les figures 29a et 29b représentent, côte à côte, des ensembles pour réaliser la phase de calcul, respectivement sans tri
des classes et avec tri des classes, en cas de plusieurs classes.
La figure 30 illustre, d'une manière plus détaillée, la mémoire 15 de la figure 29b.
Les figures 31 et 32 représentent, d'une manière plus
détaillée, deux portions de l'ensemble de la figure 30.
La figure 33 illustre un montage mettant en oeuvre des
modules STN à extraction de classes multiples.
La figure 34 illustre le montage d'une unité STN(2) et de deux unités d'orientation pu, pg de plan débitant dans cette unité STN(2) pour déterminer une position moyenne ou barycentre (BarZi)
débitée dans un bus.
La figure 34a illustre la délimitation d'un objet OB par une 25 zone définie à partir de deux axes d'orientation pa2 et pca3 du plan
et la détermination du barycentre BarZo de cette zone.
La figure 35 représente schématiquement des bandes entre Borne A et Borne B, d'orientations différentes, en provenance d'unités bidimensionnelles STN(2) de l'ensemble de la figure 34 30 (débitant dans un bus commun) et passant par le barycentre BarZ0
déterminé selon la figure 34a.
La figure 36 illustre une disposition de classification
améliorée de l'ensemble 101 de la figure 23a-23b.
Les figures 37 et 38 représentent les zones délimitées respectivement par la sortie 101s dudit ensemble 101 et par le
montage de la figure 36 remplaçant cet ensemble 101.
Les figures 39a, 39b, 39c représentent trois phases 5 successives de la détermination des coordonnées polaires P3 et oE3 définissant la position relative de BarZ1, déterminée selon la figure 36, par rapport à la position de BarZ0 débitée par l'unité STN(2) de
la figure 34 et déterminée selon les figures 34a et 35.
La figure 40 illustre la relation père --> fils entre BarZ0 en lo amont et BarZ1 en aval en mettant en ceuvre les coordonnées
polaires p3 et OC3 déterminées selon les figures 39a, 39b, 39c.
La figure 41 représente un ensemble constitué par un module STN(1) et un module STN(2), un tel ensemble étant utilisé dans les
montages des figures 42 et suivantes.
La figure 42 illustre un montage pour la détermination des coordonnées polaires par mise en oeuvre du procédé illustré sur
les figures 39a, 39b et 39c.
Les figures 43a, 43b, 43c illustrent les opérations successives mises en oeuvre dans l'ensemble électronique de la 20 figure 42 pour déterminer, en coordonnées cartésiennes, la
position de BarZ1 (le " fils >") relativement à BarZo (le " père ").
L'ensemble des figures 44a à 44e, 45 et 46 concerne le cas de zones Z0 à Z30 emboîtées toutes les unes dans les autres; en particulier: Les figures 44a, 44b, 44c, 44d et 44e représentent les
phases successives de la détermination des barycentres successifs de BarZ0 à BarZ3o, lorsque ceux-ci correspondent à des zones Zo à Z30 emboîtées les unes dans les autres (comme illustré sur la figure 45) et donc à un arbre dynamique sans branchements (celui 30 de la figure 46).
La figure 45 illustre les positions relatives des barycentres BarZ0 à Bar30 des zones Z0 à Z30 déterminés par le montage de la
figure 42.
La figure 46 illustre l'arbre, sans branchement, des 35 barycentres BarZ0 à BarZ30 de la figure 45.
L'ensemble des figures 47a à 47d, 48 et 49 concerne le cas de zones Zo10 à Z30 sans aucun emboîtement, ces zones Z10 à Z30 étant toutes incluses dans la zone Zo, en particulier: Les figures 47a, 47b, 47c et 47d représentent les phases 5 successives de la détermination des barycentres successifs BarZo à BarZ30, ceux-ci correspondant à des zones Z10 à Z30 sans aucun emboîtement (comme illustré figure 48) et donc à un arbre
dynamique avec branchements (celui illustré sur la figure 49).
La figure 48 illustre les positions relatives des barycentres o10 BarZo à BarZ30 des surfaces Z0 à Z30 déterminées par le montage
des figures 47a à 47d.
La figure 49 illustre l'arbre des BarZo à Z30 de la figure 48.
La figure 50 représente la détermination successive des zones Z0 à Z21et Z22 dans le cas intermédiaire de zones emboîtées 15 et non emboîtées et avec l'arbre correspondant avec branchement à partir de BarZo et relation père fils entre BarZ12 et Z21 sur la
figure 50a.
La figure 51 représente une portion dudit ensemble supplémentaire des figures 17 et 18 constituée par des unités 20 unidimensionnelles selon les figures 19 et 20 traitant un paramètre représentatif de l'objet observé et des unités bidimensionnelles selon les figures 22 et 23a-23b traitant les paramètres x et y de coordonnées. La figure 52 représente une autre portion dudit ensemble 25 supplémentaire des figures 17 et 18 constituée par des unités unibi- et tri-dimensionnelles relatives respectivement à la valeur de CO, aux coordonnées y et x de ligne et de colonne et des paramètres L, T et S de luminance, teinte et saturation déterminant une couleur, le montage de cette figure 52 permettant de conserver 30 les informations fugitives déterminées par le montage de la figure 51. La figure 53 représente l'unité de mémorisation des objets
perçus, avec invariance en translation seulement.
Les figures 54 et 55d illustrent une unité de détermination de 35 I'invariance en taille ou dimension.
Les figures 55a, 55b et 55c correspondent aux figures 43a, 43b et 43c respectivement, mais avec, en coordonnées, le module p et l'angle oc, préalablement déterminés selon les figures 43a à 43c, et le logarithme de la distance d'entrée LD préalablement déterminé selon la figure 54. La figure 56 illustre le résultat obtenu par le traitement des
figures 54, 55, 55b et 55c.
La figure 57 représente un perfectionnement de l'unité de détermination de l'invariance en taille de la figure 54, avec io bouclage du logarithme de la distance, ce qui permet une continuation du fonctionnement en cas d'absence de signal
d'entrée représentatif de la distance.
La figure 58 illustre un perfectionnement de la figure 47d,
comportant en supplément des unités de détermination de 15 I'invariance en taille selon la figure 57.
La figure 59 illustre une unité de détermination de l'invariance
en rotation.
Les figures 60a et 60b sont des vues partielles de l'ensemble du dispositif de reconnaissance d'objets avec invariance en 20 translation, en taille et en rotation, comportant des unités des
figures 58, 53 et 59.
La figure 61 illustre le déplacement angulaire du capteur de
vision pour passer d'un objet observé à un autre objet à observer.
La figure 62, enfin, représente une scène avec trois objets 25 identifiés au point de vue de leur nature et de leur position.
On va décrire maintenant, à titre d'exemples non limitatifs, des modes de réalisation d'un dispositif selon l'invention et des ensembles et unités constitutives de ceux-ci, permettant la mise en
oeuvre du procédé selon l'invention.
Bien que l'invention soit décrite dans son application préférée mettant en oeuvre un signal du type vidéo, elle n'est pas limitée à ce type de signal; elle s'applique également, en particulier, à un
signal émis par un radar à ouverture synthétique.
Un premier mode de réalisation selon l'invention d'un 35 dispositif de perception d'un objet dans son environnement, constituant le premier ensemble d'un système d'acquisition de connaissance et de reconnaissance visuelle active, illustré sur la Figure 1, comprend tout d'abord un capteur d'images vidéo 2, de type CCD ou CMOS (en particulier du type < capteur rétinien " à 5 concentration importante de pixels au centre et à concentration décroissante de pixels en s'éloignant du centre), faisant partie d'une caméra, d'un caméscope ou d'une webcam, observant un objet OB situé sensiblement dans le plan 6 et débitant en réponse un signal numérique 7 ayant subi une réduction de résolution 0o pendant certaines périodes (comme précisé ci-dessous) et constitué par une succession de séquences (images ou trames du signal vidéo) représentatives de vues successives de l'objet dans son environnement et relevant donc du domaine temporel, chacune desdites séquences étant constituée par une succession de sous15 séquences (lignes du signal vidéo) représentatives d'une succession d'emplacements de pixels (constituant des sous-unités séquencées) du signal vidéo et relevant donc du domaine spatial, l'ensemble des emplacements (pixels) disposés en lignes et
colonnes formant une matrice, par exemple rectangulaire.
Au capteur d'images vidéo 2 est associé un objectif 5 dont on peut faire varier la distance focale, donc la mise au point relativement au plan 6 de l'objet OB observé, sous la commande d'une unité de contrôle 1, trois modes de réalisation de l'ensemble de l'unité 1 et de l'objectif 5 étant illustrés sur les figures 4a, 4b et 25 4c décrites ci-après. Cette variation de la distance focale de l'objectif 5 est commandée par l'unité 1 de manière à faire varier la résolution spatiale, dans le signal vidéo 7, de l'objet OB à percevoir, qui se trouve dans le plan 6, avantageusement selon la courbe de la figure 3, sur laquelle la résolution r est portée en 30 ordonnées et le temps t en abscisses, à savoir, successivement après une période préliminaire TO, une première période TIl de réduction, de préférence brusque, de la résolution de son niveau maximal, ou valeur de base optimale, r max (de la période TO) à un niveau minimal, ou valeur réduite, r min, une deuxième période T2 35 de résolution constante à la valeur réduite r min comportant une phase unique tO, une troisième période T3 d'augmentation de la résolution, en marches d'escaliers, de sa valeur réduite r min à sa valeur de base optimale r max, I'augmentation de la résolution dans la troisième période T3 comportant plusieurs phases tl, t2, 5 t3, t4, t5 de durée égale qui constituent des paliers dans l'augmentation de la résolution, réalisée de manière gaussienne, ou sensiblement gaussienne (la durée de chacune ces phases tl à t5 étant avantageusement égale à celle d'une trame, mais pouvant être égale à celle d'un autre nombre entier de trames), et enfin une lo quatrième période T4 d'achèvement du processus à la résolution maximale r max, comportant également plusieurs phases t6, t7, t8,
t9, t10 de durées égales à celles des phases tI à t5.
Une unité 9 extrait du signal vidéo 7 après transformation gaussienne (figure 1), d'une part, les coordonnées cartésiennes x 15 et y de la matrice rectangulaire de pixels (ou les coordonnées polaires pour une matrice circulaire de pixels définie par un capteur rétinien) et, d'autre part, les signaux de synchronisation Sync classiques d'un signal de type vidéo (de trame et de ligne), utilisés
comme exposé ci-après.
En outre, si le signal vidéo 7 est en couleurs, I'unité 9 extrait de celui-ci la luminance L qui est appliqué à l'unité 3. Si le signal vidéo est en noir et blanc, le signal 7 est constitué par le signal L. L'unité 3 réalise une différenciation de gaussiennes entre deux séquences successives du signal vidéo 7, un mode de 25 réalisation préféré de cette unité 3, qui effectue avantageusement
un lissage spatio-temporel, étant illustré sur la figure 9 et décrit ciaprès avec référence à celle-ci.
Cette unité 3 débite finalement deux signaux numériques de dépassement DP et de quantification du dépassement CO, 30 explicités ci-après, les valeurs successives du signal CO, qui est une constante de temps ajustable, fonction de la différence de gaussiennes, étant donc un signal représentatif de l'objet perçu; les signaux DP et CO peuvent être visualisées sur un moniteur M (celui d'un téléviseur ou d'un ordinateur par exemple) et/ou traitées 35 dans un ensemble de traitement M', par exemple (mais non exclusivement) du type représenté en 8 sur les figures 17 et 18, explicité sur les figures 19 et suivantes et discuté avec référence à celles-ci; quant au signal DP, qui est binaire, il peut, lorsqu'il a une de ses deux valeurs 0 ou 1, réaliser une inhibition du signal CO, comme expliqué ci-après. Dans le mode de réalisation de la figure 2, on retrouve le plan 6 dans lequel est sensiblement disposé l'objet OB observé, le capteur vidéo 2, I'unité 9 d'extraction des coordonnées cartésiennes x et y (ou des coordonnées polaires) des pixels et du 10 signal de synchronisation Sync, à savoir, pour chaque trame, le signal de synchronisation de cette trame au début de celle-ci, et les signaux de synchronisation de lignes (si le signal 7 est un signal vidéo en couleurs, I'unité 9 extrait aussi la composante L de luminance du signal 7') et l'unité 3 de traitement spatio-temporel 15 qui débite les signaux CO et DP, le signal de sortie CO pouvant être affiché sur un moniteur M et/ou traité dans l'ensemble de traitement M', moniteur et ensemble analogues à ceux de la figure
1, en l'absence d'inhibition par le signal DP.
Par contre, alors que le capteur d'images vidéo de la figure 2 20 est doté d'un objectif 5 à mise au point variable, c'est-à-dire à distance focale variable, commandée par l'unité de commande 1 apte à faire varier la mise au point et donc la résolution, le capteur 2 de la figure 1 est doté d'un objectif 5' à distance focale maintenue fixe au cours de la durée d'une opération de connaissance et de reconnaissance visuelles, dont la mise au point est faite initialement sur l'objet OB qui est sensiblement dans le plan 6. Le capteur 2 débite donc un signal 7' à résolution constante, la variation de la résolution étant réalisée après extraction des coordonnées x et y et aussi de la luminance L' (si le 30 signal vidéo est en couleurs) dans l'unité 9 qui opère sur le signal 7' (en noir et blanc) ou la luminance L' par un filtre électronique 4 commandé par l'unité de commande 1' qui impose une variation de la résolution avantageusement selon la figure 3, par application d'un paramètre w constituant l'ordre du filtre. Le filtre 4 débite un 35 signal 7 ou L, analogue au signal 7 ou L de la figure 1, qui est
traité comme celui-ci dans une unité 3 de traitement spatiotemporel similaire à celle de la figure 1.
En fait, I'augmentation gaussienne ou quasi-gaussienne de la résolution de r min à r max est effectuée, dans le mode de 5 réalisation de la figure 1 par refocalisation de l'objectif 5 pendant la période T3 de la figure 3 (après défocalisation pendant la période T1 de diminution de la résolution de r max à r min et constance de la résolution à la valeur r min pendant la période T2), alors que, dans le mode de réalisation de la figure 2, cette o augmentation est effectuée par le filtre électronique 4 qui effectue électroniquement l'équivalent d'une refocalisation pendant la période T3 (après l'équivalent d'une défocalisation dans la période
T1 et maintien de la résolution dans la période T2).
On va indiquer maintenant, avec références aux figures 4a, 15 4b, 4c, trois modes de réalisation de la variation de la résolution optique, par variation de la mise au point de l'objectif 5 de la figure 1. Sur la figure 4a, on retrouve le plan 6, I'objet OB, le capteur d'images vidéo 2, I'objectif à distance focale variable, noté 5a, 20 I'unité de commande, notée la, du réglage de la distance focale de l'objectif de la figure 1, cette unité la agissant sur la position d'au moins une des lentilles (ou de l'unique lentille) de l'objectif 5a; le changement de position de la lentille par déplacement dans les deux sens, qui est schématiquement illustré par la double flèche f, 25 modifie la mise au point de l'objectif relativement au plan 6, avec
une augmentation sensiblement gaussienne par paliers de la résolution pendant la période T3 d'augmentation de celle-ci de r min à r max, après la diminution brusque de résolution jusqu'à r min pendant la période T1 et le maintien à r min de la résolution 30 pendant la période T2.
Sur la figure 4b, on retrouve le plan 6, I'objet OB, le capteur d'images vidéo 2, I'objectif à distance focale variable, noté 5b, I'unité de commande, notée lb, de réglage de la distance focale de l'objectif de la figure 1, cette unité lb agissant sur la distance 35 focale de l'objectif 5b au moyen d'un courant électrique de contrôle
dont la tension variable U permet de régler la distance focale de l'objectif 5b afin de faire varier la résolution selon la figure 3.
L'ensemble lb-5b peut être par exemple du type décrit dans la demande de brevet français ayant le numéro de publication 2.769.375 (déposée le 8 Octobre 1997 sous le numéro 97 12781). A la place de la lentille modifiable réalisant la variation de la résolution de l'objectif 5b de la figure 4b, on peut prévoir, comme illustré sur la figure 4c, la combinaison d'un objectif 5' de focale constante et d'une lentille creuse 5c à focale variable, disposée en 1o avant de l'objectif 5', cette lentille 5c étant commandée par une
unité de contrôle lc qui règle l'arrivée d'un fluide transparent à l'intérieur de cette lentille 5a entre deux feuillets 51 et 52 qui sont sensiblement parallèles au repos et qui se bombent sous l'action de l'arrivée dudit fluide en modifiant la distance focale de cette 15 lentille 5c.
Les trois moyens de variation de la distance focale, donc de la résolution, des figures 4a, 4b et 4c ont pour résultat, du fait des lois de l'optique appliquées à l'objectif 5 (de type 5a ou 5b) ou à la lentille 5c, de modifier de manière gaussienne, ou pour le moins 20 quasigaussienne, la résolution du système optique et par conséquent, il en résulte bien un signal L ou un signal 7 qui constitue la transformée gaussienne du signal vidéo, notamment
pendant la période T3.
Sur la figure 5, on a illustré l'application de l'invention au 25 traitement du signal de sortie 7R (analogue au signal de sortie 7 ou L des figures 1, 4a, 4b, 4c) d'un émetteur-récepteur radar 2' à ouverture synthétique émettant un lobe, référencé Lob, à ouverture variable, dont le lobe le plus fin correspond à la résolution maximale r max, tandis que le lobe le plus large correspond à la 30 résolution réduite r min (comme indiqué sur la figure 3). Une unité de contrôle Ild commande une unité 5d d'ouverture synthétique du lobe d'émission pour régler, d'une part, la largeur du lobe émis et, d'autre part, son balayage matriciel, normalement suivant une matrice rectangulaire, correspondant à une matrice de pixels vidéo 35 de ce type. De ce fait, le signal 7R émis par l'émetteur-récepteur 2' examinant l'objet OB dans le plan 6 est bien analogue au signal 7, ou plutôt L, des figures 4a, 4b et 4c et peut donc être traité de manière similaire à ce signal 7, ou plutôt L, dans l'unité 3 de la figure 1; on notera, en effet, que ce signal 7R de la figure 5 ne 5 comporte qu'une seule composante numérique, contrairement au signal 7 des figures 4a, 4b, 4c qui, en cas de capteur vidéo couleur 2, comporte trois composantes de couleur, ce signal 7R étant plutôt analogue au signal L de luminance de la figure I qui est également un signal à une seule composante. De ce fait, I'unité 9' 1o (correspondant à l'unité 9 des figures 1 et 2) ne réalise que l'extraction des signaux de synchronisation Sync du signal radar 7R (en plus des signaux de coordonnées x et y non indiqués sur la
figure 5).
On sait par ailleurs que le signal 7R, du fait de son obtention 15 en tant que signal de sortie d'un radar à ouverture synthétique, a bien la forme d'une transformée gaussienne ou éventuellement quasi-gaussienne. De même, un traitement gaussien ou quasi-gaussien est réalisé par filtrage électronique, dans le filtre 4, dans le cas de la 20 figure 2 (ainsi que précisé ci-après), comme est réalisée une modification gaussienne ou sensiblement gaussienne de la mise au
point optique dans le cas de la figure 1.
On va se limiter maintenant avec référence aux figures 6, 7 et
8a à 8e au mode de réalisation de la figure 2 avec filtre gaussien 4 25 ou quasi-gaussien pour réaliser la variation de résolution.
L'ensemble de filtrage électronique 4 constituant le filtre de la figure 2, qui fait notamment varier le signal d'entrée 7' pendant la période T3 d'augmentation par paliers de la résolution (figure 3), est constitué par la succession de deux unités de filtrage 30 successives pour les coordonnées x et y, chacune de ces deux unités étant soit du type gaussien, soit du type sensiblement gaussien et, dans ce cas, être constituée par un filtre de Canny, discuté par exemple dans un article de Messieurs Didier DEMIGNY et Tawfik KAMLEH intitulé " A discrete expression of Canny's 35 criteria for step edge detection performancies evaluation " dans I.E.E.E. Pattern Analysis and Machine Intelligence, volume 19, N 11, pp. 1199-1211, Novembre 1997, ou encore mieux par un filtre du type PAOG (Polynomial Approximation of Gaussian) conçu par Didier DEMIGNY, Julien PONS, Nassima BOUDOUANI et Lounis 5 KESSAL; il s'agit dans ces deux cas de filtres à réponse
impulsionnelle finie.
L'ensemble de filtrage électronique 4 est réalisé pour effectuer un filtrage sensiblement gaussien, ou même gaussien, suivant les coordonnées x de colonne et y de ligne de la matrice de o10 pixels; avantageusement, ce filtrage est réalisé en deux étapes, à savoir de préférence d'abord un filtrage selon y dans une unité 20, puis un filtrage selon x dans une unité 21, comme illustré sur la
figure 2 à l'intérieur du filtre 4.
L'unité de filtre 20 en y est avantageusement du dernier type 15 susmentionné et est illustrée sur la figure 6. Elle comprend, comme blocs constitutifs, des registres Re à un étage, représentés par des rectangles, à grands côtés verticaux, imposant un retard unitaire, c'est-à-dire d'une sous-séquence ou d'une ligne de pixels, deux registres A et B, représentés par des rectangles quasi carrés 20 et détaillés en ab, imposant un retard de w lignes (w représentant l'ordre du filtre, qui est progressivement modifié comme expliqué ci-après), des soustracteurs so, des multiplieurs mu et des additionneurs ad, notés respectivement par les symboles classiques -, x, +, les signaux d'entrée ao, a1 et a2 des trois 25 multiplieurs mu de la sous-unité 20a étant calculés, à partir de w, par les formules a0 = w, a1 = w+3 et a2 = 2w+3, tandis que le signal d'entrée Cp du multiplieur de la sous-unité 20c est donné par formule: Cp = 5/{2w(w+1)(w+2)(w+3)(2w+3)} 30 Les signaux ao, a1, a2 et Cp (coefficient de normalisation), qui
sont fonction uniquement de l'ordre du filtre w, sont calculés par les quatre formules susmentionnées dans les registres A et/ou B (ab) imposant un retard de w sous- séquences ou lignes de pixels en fonction du signal w (variable comme expliqué ci-après) reçu en 35 entrée, comme indiqué en ab sur la figure 6.
L'ensemble desdits blocs constitutifs, à savoir les registres et les opérateurs arithmétiques, de l'unité de filtrage 20, forme trois sousunités, à savoir une sous-unité non récursive 20a, une sousunité récursive 20b et une sous-unité de lissage 20c; dans lasous5 unité 20b, chaque paire registre Re+additionneur ad qui le précède, avec bouclage, constitue un intégrateur In, tandis que, dans la sous-unité 20c, la paire registre Re+additionneur ad qui le suit,
avec bouclage, constitue une unité de lissage Ls.
Le filtre 20 de la figure 6 débite finalement la transformée 10 quasigaussienne en y du signal d'entrée L'(ou 7'), ce signal L' (ou
7') étant celui qui se présente à l'entrée du filtre total 4 (figure 2).
L'unité 21 de ce filtre 4, qui réalisé un traitement quasigaussien en x, est identique à l'unité 20 illustrée sur la figure 6 et qu'on vient de décrire, à part le fait que l'entrée, au lieu d'être 15 constituée par le signal L' (ou 7'), est constituée par la sortie sy en y de l'unité 20, tandis que la sortie de l'unité 21 est constituée par cette transformée en y (débitée par l'unité 20) ayant subi à son tour une transformation quasi-gaussienne en x; en outre, le décalage unitaire des registres est cette fois-ci non pas d'une sous-séquence 20 ou ligne de pixels, mais d'une position de pixel pour les registres Re, tandis que le décalage est de w positions de pixel pour les registres A et B. La sortie de l'unité 21, et donc la sortie du filtre total 4 de la figure 2, est un signal L (ou 7) analogue au signal L
(ou 7) de la figure 1.
La réponse impulsionnelle de l'ensemble de filtrage 4 (la succession desunités 20 et 21) est: h(w,k) = Cp.(w+2-Ikl)(w+1-lkl){-3k2 +(2w+3)lkl+w(w+ 3)}, avec Cp donné par une formule précitée, selon les deux axes y et x de l'image, tandis que w, qui constitue l'ordre du filtre 4, est donné par 30 la relation c = 0,3217w + 0,481 (w étant donc sensiblement égal à
3co pour des valeurs de a relativement élevées); on rappelle que C est l'écart type de la gaussienne et que le nombre de coefficients de la réponse impulsionnelle du filtre, lié à la résolution, est égal à 2w+1, la valeur choisie pour Cp ayant pour objet de rendre égale à 35 1 la somme desdits coefficients.
Sur la figure 7, on a illustré le signal 7', à savoir le signal de sortie du capteur vidéo 2 de la figure 2, éventuellement réduit au signal de luminance L' en cas de vidéo en couleurs, pour une ligne particulière d'une trame donnée du signal vidéo; sur cette figure, 5 on a porté en abscisses la coordonnée x représentant les pixels successifs de la ligne, avec indication du numéro de colonne dans la matrice rectangulaire constituée par l'ensemble des pixels d'une trame disposée en colonnes et en lignes, tandis qu'en ordonnées, on a porté le niveau ni du signal 7', en particulier de la luminance 10 L', qui, on le rappelle, est à la résolution maximale r max (figure 3) ou résolution de base, avant d'avoir subi une transformation
gaussienne dans l'ensemble de filtrage 4 des figures 2 et 6.
Au contraire, sur les figures 8a, 8b, 8c, 8d et 8e, avec les mêmes abscisses x et les mêmes ordonnées ni que sur la figure 15 7, on a représenté le signal 7 ou L après filtrage dans l'ensemble de filtrage 4, pour différentes valeurs de l'ordre du filtre, à savoir respectivement w = 20, w = 16, w = 12, w = 8, w = 4, c'est-à-dire par ordre de filtre décroissant par paliers, donc par résolution croissante (on peut se référer à ce sujet à la figure 3). On constate 20 qu'on a choisi une loi de décroissance arithmétique pour la variation de l'ordre du filtre, d'une figure à l'autre de l'ensemble
des figures 8a à 8e.
* En comparant la figure 7 aux différentes figures 8a à 8e, on constate qu'avant filtrage (période TO) le signal 7' à r max, avec 25 a = 0 (figure 7), comporte toutes les variations, (mêmes courtes), du niveau ni du signal, en particulier de la luminosité, représentatives de l'objet vu par le capteur vidéo 2, tandis que, lorsque la résolution est brusquement réduite de sa valeur maximale r max à sa valeur minimale r min atteinte à la fin de la 30 période T1, le signal 7a de la période T2 lorsque w = 20 (figure 8a) est fortement lissé et donc seules certaines zones caractéristiques sont vaguement reproduites; au fur et à mesure que la résolution remonte par paliers de sa valeur r min vers sa valeur r max, la valeur de l'ordre du filtre diminuant (figures 8b à 8e) pour passer 35 de w = 20 à w = 16, puis à w = 12 et w = 8 et enfin à w = 4, des détails de plus en plus fins apparaissent dans les courbes 7b à 7e,
la figure 8e étant relativement proche de la figure 7.
Donc, la figure 7 représente le signal 7' (en particulier L') à la résolution maximale, avant filtrage, alors que les figures 8a, 8b, 8c, 5 8d et 8e représentent le signal 7 (en particulier L) résultant du filtrage du signal 7' (en particulier L') par l'ensemble de filtrage 4 des figures 2 et 6. On voit donc que le signal de sortie qui, avant modification de la résolution, était effectivement représentatif de l'objet OB avec ses détails, subit une brusque réduction de la 10 résolution (équivalente à une défocalisation comme envisagé dans le cas de la figure 1), puis petit à petit (figures 8a à 8e) voit sa résolution augmenter pas à pas (comme illustré sur la figure 3), pour aboutir à la courbe 7e de la figure 8e, qui reproduit, avec un certain lissage, la courbe initiale 7' de la figure 7; par ailleurs, si 15 I'on compare l'ensemble des figures 7 et 8a-8e et la figure 3, on constate que la figure 7 correspond à la période TO de la figure 3, tandis que les figures 8a à 8e correspondent aux phases (ou paliers) tO à t4 des périodes T2 et T3 de la figure 3, w diminuant progressivement jusqu'à retrouver la valeur zéro correspondant à 20 r max, c'est-à-dire à la résolution avant filtrage ou défocalisation,
à la phase t5 de la période T3.
En définitive, la sortie, notée par simplification L ou 7, de l'ensemble de filtrage 4 est constituée par la succession des signaux 7a, 7b, 7c, 7d et 7e (des figures 8a, 8b, 8c, 8d, 8e 25 respectivement) pendant les phases tO (période T2), tl, t2, t3, t4
(de la période T3) de la figure 3.
Le signal L (ou 7), ou 7R, c'est-à-dire la transformée gaussienne ou quasi-gaussienne soit de la figure 1 ou de la figure 2, soit de la figure 5, est traité dans une unité 3 de lissage spatio30 temporel illustrée schématiquement sur la figure 9. Cette unité 3
est du type décrit et illustré pour la première fois dans la publication internationale WO-98/05002 (ou plutôt son document de priorité) ayant le même inventeur que la présente demande, notamment dans le passage page 14, ligne 24 à page 21, ligne 19 35 de cette publication et auquel on peut éventuellement se référer.
L'unité 3 de la figure 9 comporte tout d'abord deux sousunités 10 et 11, la sous-unité 10 étant une mémoire, tandis que la sous-unité 11 (correspondant à la sous-unité 15 de la figure 3 de la publication citée en dernier lieu) réalise un traitement de lissage 5 spatio-temporel. On constate que les paramètres LO et CO circulent en boucle en étant réinjectés, à partir des sorties de la sous-unité 11, aux entrées de celle-ci, après avoir subi, dans la mémoire 10, un retard égal à une séquence, à savoir une image ou une trame dans le cas d'un signal vidéo. Il en résulte que, grâce à 10 la mémoire 10, qui stocke les valeurs de LO et CO pendant une séquence, I'unité 11 compare les valeurs de LO et CO antérieures d'une séquence à leurs valeurs actuelles, pour chaque pixel, les lettres t, t-1, x et y représentant respectivement l'instant t, I'instant t-1 (t-1 correspond à l'instant qui précède l'instant t de la durée 15 d'une séquence), I'abscisse x et l'ordonnée y des pixels, t correspondant donc à la séquence actuelle, tandis que t-1
correspond à la séquence juste précédente.
La fonction de calcul récursive dans l'unité 3 de la figure 7 correspond à LOtxy = LOt-,x,y + ( PiXt,x,y - LOt-l,xy) / 2COtxy avec le test suivant: si IPixt,x,y - LOt-1,x,y | > seuil, alors DP=1 et, pour 0 < CO < p, COtxy = COt- 1,x,y -1 - sinon,
alors DP=0 et, pour 0 < CO < p, COt,x,y = COt- 1,xy +1.
LO (t-1) représente l'image sensiblement gaussienne antérieure, lissée dans la sous-unité 11 et retardée d'une séquence dans la mémoire 10, tandis que Pixt est l'image gaussienne actuelle représentée par le signal d'entrée L (ou 7), ou 7R, LOt 30 constituant donc une différence de gaussiennes (appelé DOG), spatio-temporelle; LO représente les valeurs de lissage successives, tandis que Pix représente les pixels du signal L ou 7, ou les valeurs du signal radar 7R, en différentes positions dans la matrice de répartition des pixels ou des signaux radar ponctuels enfin, CO et DP sont les signaux de sortie de l'ensemble de lissage
spatio-temporel 3.
Alors que, dans la publication internationale antérieure, le 5 signal d'entrée était constitué par un signal vidéo classique débité par un capteur vidéo, on a ici le signal L (ou 7) des figures 1 et 2, ou le signal 7R de la figure 5, à savoir le signal d'entrée Pix de l'unité 3 de la figure 9, plus particulièrement sur une des entrées de la sous-unité 11 de cette unité 3 qui calcule une différence de 10 gaussiennes. Les signaux de sortie CO et DP de l'unité 3 résultent de la comparaison d'un paramètre caractéristique du signal vidéo 7, par exemple la luminance L des pixels de celui-ci, pour un même emplacement de pixel, entre la valeur pour la trame juste antérieure et la valeur pour la trame actuelle du signal vidéo, la 15 constante de temps adaptative CO tendant à réduire cette différence comme le montre le groupe de formules cité en dernier lieu. Il en est de même dans le cas d'un signal électromagnétique de type radar. Le signal de dépassement DP est un signal binaire, dorit les deux valeurs représentent respectivement le dépassement 20 et le non dépassement d'un seuil de sensibilité (référencé seuil en 12a et qui est supérieur aux variations du signal d'entrée L (ou 7) ou 7R dues au bruit de fond) par la différence en valeur absolue, pour chaque même emplacement de pixel, entre deux séquences (images ou trames) consécutives, par exemple aux instants t=O et 25 t=1 pour les images lI et lb respectivement, tandis que le signal numérique CO, qui comporte un faible nombre de bits (dans le monôme 2co avec CO = n, n étant ce nombre de bits), représente une constante de temps adaptative réinjectée dans le traitement afin de réduire la variation entre deux séquences consécutives, 30 pour un même emplacement de pixel, du signal traité; les valeurs de CO, lorsque DP a la valeur représentative d'un dépassement du seuil, sont elles-mêmes représentatives, en fonction des séquences successives de la différence de gaussiennes et donc de
l'augmentation de la résolution, comme illustré par l'image ly.
A l'unité 3 est associée une sous-unité 14 constituée par un module STN(1) , de type décrit ci-après avec référence à la figure 20, qui forme l'histogramme de la différence en valeur absolue (explicitée ci-après avec référence aux figures 19, 20, 22 et 23 et 5 notée Dif) entre Pix t,x, y et LOt-l,xy, calculée dans la sous-unité de lissage 11, qui sera utilisée comme expliqué ci-après avec
référence aux figures 10, 11 et 12.
Sur la figure 9, on a illustré, d'une part, les images la et I3 plus ou moins floues, d'un même visage, véhiculées par différents 0o signaux d'entrée de la sous-unité 11 de lissage spatio-temporel, aux temps t et tl, à savoir t = 1 et t=0, pour des ordres w du filtre de 16 et de 20 respectivement, dans le cas du dispositif selon la figure 2 avec filtre électronique, la résolution r croissant (comme illustré sur la figure 3) pendant la période T3 lorsque l'ordre w 15 diminue de 20 à 16 (de l'image lac à l'image I1P); lorsque DP=I
(valeur choisie pour représenter un dépassement du seuil), la valeur plus ou moins élevée de CO, à savoir n dans le monôme 2c = 2", (n étant une valeur numérique faible), permet alors de reconstituer une image plus ou moins floue comme expliqué ci20 après. L'image ly de sortie de la sousunité 11 de lissage spatiotemporel, à l'instant t=1, avec w = 16, affichable sur le moniteur M des figures 1 et 2, est déduite de la valeur, à cet instant, de CO, ou plutôt de n, qui décroît en fonction de I Pixt, xy-LOt1,x,y 1, lorsque COtxy = COt-1,x,y - 1 et DP = 1, ce qui correspond à un 25 dépassement du seuil de sensibilité par ladite valeur absolue.
Il y a lieu de noter que, dans le cas du dispositif de la figure 1, à variation de la résolution par modification de la focalisation, et de celui de la figure 5 à variation de la résolution par modification du lobe radar, c'est la valeur croissante de la résolution par 30 paliers, par refocalisation ou diminution de l'ouverture du lobe radar respectivement, qui est substituée à la valeur décroissante
par paliers de l'ordre w du filtre 4 de la figure 2.
A l'unité de lissage spatio-temporel 3, est associée l'unité de commande 1 (figure 1) ou 1' (figure 2), détaillée sur la figure 9 35 et qui comporte tout d'abord un module STN(1) 14, de type unidimensionnel à registres Reg, par exemple celui décrit avec référence à la figure 20, traitant, comme donnée d'entrée (DATA A), le signal Dif = I Pixt,x,y-L0t- 1,x,yl, cette valeur absolue de la différence entre deux images successives (Img) aux temps t et t-1 5 (la valeur unitaire 1 correspondant à la durée d'une séquence du signal L, 7 ou 7R) étant aussi représentée pari Imgt-lmgt.il (selon la figure 10) la différence entre deux images successives (Img) aux temps t et tl (la valeur unitaire 1 correspondant à la durée d'une
séquence du signal L, 7 ou 7R.
Le traitement du signal Dif dans le module 14 fournit
l'histogramme de ce signal, tel qu'illustré sur la figure 10.
L'unité de commande 1 ou 1' comporte également une boîte de commande 15 pour le module STN(1) 14, dont le démarrage est commandé par le signal d'initialisation Dep et qui, sous le contrôle 15 du signal de synchronisation Sync commun à l'ensemble du dispositif de la figure 1 ou 2, débite les signaux de sélection de période représentatifs des périodes successives de la figure 3, à
savoir les périodes Ti, T2, T3, T4, pour le module STN(1) 14.
Une fois que la boîte de commande 15 a été déclenchée par 20 le signal Dep et qu'elle débite les signaux successifs des phases tl, t2, t3, t4, t5, t6, t7, etc... qui déterminent les valeurs successives de w dans le mode de réalisation des figures 2 et 6 (tl à t5), ou les résolutions successives de l'objectif 5 de la figure 1 (en particulier l'objectif 5a, 5b, 5c des figures 4a, 4b, 4c 25 respectivement), ou de l'unité 5d d'ouverture synthétique d'un
radar déterminant les ouvertures successives du lobe radar Lob (figure 5), ces signaux de période T1, T2, T3, T4 avec leurs signaux de phases tl, t2, etc.... contrôlent le fonctionnement du module STN(1) 14 qui détermine un histogramme du paramètre Dif 30 reçu de la sous-unité de lissage 11.
Sur la figure 10, on a représenté l'histogramme (formé dans le module STN(1) 14 de la figure 9) de la différence (en valeur absolue) Dif = i Pixwo,x,y-Pixwixyl ou simplement Dif =1 Imgwo-lmgwi I, Img étant une notation abrégée du mot image, tandis que wO et wi 35 désignent les valeurs initiale et courante de w. Sur cette figure 10, le nombre de pixels, qui correspondent à cette différence en valeur absolue portée en abscisses, est représenté par N porté en ordonnées. A partir de la courbe de la figure 10, on détermine une valeur limite Li de ces différences Dif permettant de regrouper par 5 exemple 90% (il y a intérêt à choisir en tout cas une valeur au moins égale à 75%) des points de cette différence, en choisissant par exemple w = 0 et w = 20, c'est-à-dire les deux valeurs de w correspondant à r max et r min. La différence correspondant à la limite Li représente l'erreur entre les mêmes points de deux 10 images, la première originale, non filtrée de rang 0, retardé par la sous-unité 10, représentatif de la séquence TO la seconde, L (7) filtrée de rang correspondant à Li sur la figure 10. Ceci permet de
terminer de travailler sur les éléments les plus stables de l'image.
La limite Li ayant été déterminée à partir de l'histogramme de répartition des différences Dif (sur la figure 10), on considère cette limite comme étant la variation maximale entraînée par le filtrage à Wmax avec un nombre d'intervalles de I tel que Li/seuil > I. Le seuil dont il est question ici est le seuil de sensibilité qui figure en 12a dans l'unité 11 de la figure 9, ce seuil étant supérieur au bruit de 20 fond afin de distinguer deux paliers successifs. La valeur de p est forcée à I (nombre d'intervalles) à savoir 5 dans le cas particulier illustré. A titre d'exemple (à savoir l'exemple illustré), si on a trouvé Li = 27 (90% des différences) et si la valeur de seuil vaut 5, on 25 prend alors I = 5, car on a bien 27/5 > 5 et p = I = 5. Dans le cas d'un résultat non entier de la division de Li/seuil, on arrondit à l'entier inférieur. Par conséquent, dans l'exemple choisi, on aura cinq paliers, à partir de la phase tO (période T2) à savoir les cinq paliers de phases tO, tl, t2, t3, t4, de la figure 3, auxquels 30 correspondent sensiblement les courbes 7a, 7b, 7c, 7d, 7e des figures 8a, 8b, 8c, 8d, 8e respectivement. La valeur maximale pour w, dans ce cas particulier, étant 20 (phase tO), on en déduit la différence de w entre deux paliers consécutifs, Aw = 20/5 = 4. Donc avec un w maximal égal à 20, on utilise les paramètres suivants 35 pour les trames successives: to w = 20 n = 5 n = p résolution minimale r min t1 w = 16 n = 4 2 o = 2n t2 w= 12 n= 3 t3 w= 8 n= 2 t4 w= 4 n= 1 t5 w= 0 n= 0 Revenant à la figure 9, on voit qu'à l'unité 3 de différentiation de gaussiennes est associée une sous-unité 16 de calcul du nombre de paliers, valeur entière estimée par défaut de Li/seuil, Li o provenant du module STN(1) 14 et étant déduit de l'histogramme de la figure 10 déterminé par le module STN(1), tandis que le seuil (de sensibilité) provient de l'emplacement 12a de la sous-unité 11
o il a été préalablement inscrit.
La valeur de p déterminée par la sous-unité 16 agit sur la 15 commande 17 de l'unité 4 (figure 2) pour faire varier l'ordre w du filtre 4, donc la résolution spatiale déterminée par ce filtre (ou la résolution spatiale de l'objectif 5 de la figure 1, ou l'unité 5d de
commande de l'ouverture du lobe radar dans le cas de la figure 5).
La figure 9 illustre enfin, d'une part, I'API de commande de la 20 sousunité 14 des sous-unités 16 et 17.
Pratiquement, après la diminution brusque de la résolution (période T1), qui passe de r max à r min (figure 3), les signaux d'entrée de la sousunité 11 (figure 9) sont constitués, pendant la phase tO (période T2), par l'image de résolution r min véhiculée par 25 le signal 7 (ou L) ou 7R, qui entre en tant que Pix (signal vidéo) ou signal analogue du type électromagnétique radar et par l'image de résolution r max précédente qui rentre en tant que LO. Le calcul de la valeur absolue PixwOxy-Pixwixy 1I, permettant d'obtenir l'histogramme de la figure 10, est utilisé en fin de séquence pour 30 déterminer Li, puis Li/seuil et enfin le nombre de paliers, à savoir p
(Li/seuil > p).
Durant cette phase tO, il est indispensable de mémoriser l'image à r min, comme étant la référence durant l'augmentation de résolution, en forçant p = 0 par l'intermédiaire du multiplexeur 13; LOtxy = PiXtxy. L0tx,y est l'image filtrée de rang correspondant à
w = 20, elle devient l'image la à la phase tl suivante.
A la phase tl suivante (au début de la période T3) correspondant au premier palier d'augmentation de la résolution à 5 partir de r min, on force, par l'intermédiaire du multiplexeur 13, la valeur p = 5 (dans le cas particulier choisi) en tant que signal d'entrée CO; le signal d'entrée Pix correspond audit premier palier, tandis que le signal LO correspond au signal de résolution r min précédent. On obtient alors des signaux de sortie de la souso unité de lissage constitués par DP = 1 et CO = p-1 = 4, comme
indiqué pour la figure 9.
Ainsi, le calcul de p est effectué dans la sous-unité 16 et la valeur de p ainsi déterminée est inscrite en 12b, puis, d'une part, forcée pendant la phase tl dans la sous-unité 11 à titre de COt.1 à 15 savoir COt.o, par l'intermédiaire du multiplexeur 13 et, d'autre part, transmise à la sousunité de commande 17, qui donne, en réponse, l'ordre d'exécution des paliers successifs d'augmentation de la résolution de r min à r max en cinq paliers (figure 3), soit à l'objectif 5 pour faire varier sa focale (figure 1), soit au filtre 4 en y 20 pour diminution progressive de w (figure 2), soit à l'unité 5d d'ouverture synthétique pour faire varier l'ouverture du lobe radar
Lob (figure 5).
Sur les figures 11 et 12, on a représenté les histogrammes des valeurs de la différence Dif en relation avec des images 25 correspondantes qui illustrent, d'une part, une nature morte (figure 11) et, d'autre part, un visage humain (figure 12). Sur ces deux figures, I'axe horizontal des abscisses des histogrammes représente les valeurs de w, donc le niveau de réduction de la résolution qui évolue en sens inverse, tandis que l'axe vertical des 30 ordonnées représente la différence en valeur absolue, notée Dif,
reprise des abscisses de la figure 10.
L'ensemble des figures 13a et 13b, disposées l'une audessus de l'autre (comme indiqué sur la figure 13) illustrent le déroulement des étapes de traitement. La première image en haut 35 et à gauche de la figure 13a, sous-titrée IMG, est l'image de la figure 9 correspondant au signal 7' à la résolution maximale r max avant la réduction de la résolution; il s'agit d'une image complète bien lisible. Quant à l'image en haut et à droite de la figure 13a, elle correspond à l'image de gauche à défocalisation maximale (ou 5 résolution r min) pendant la phase tO, après application de la valeur 20 pour l'ordre w du filtre 4. Cette image, qui est l'image 13 à la phase tO, ou laI à la phase tl de la figure 9, élimine une grande
partie des détails de l'image IMG précédente.
Après la réduction brutale, pendant la période T1 (figure 3) 1o de la résolution qui passe à sa valeur minimale r min, les détails réapparaissent et on obtient ainsi pour w = 16 l'image sous-titrée Iw (16) qui correspond à l'image ly de la figure 9, à la phase tl, et pour laquelle n = CO = 4 (voir le petit tableau précédant), DP étant égal à 1 comme pour les images suivantes des figures 13a et 13b 15 (en effet, lorsque DP = 0, il n'y a pas de dépassement et donc il y a inhibition du signal CO, comme symbolisé à droite sur les figures 1
et 2).
On voit qu'au fur et à mesure que w diminue, et passe de 16
à 12, puis à 8, puis à 4 et enfin à 0 pour l'image Iw(0)0, des détails 20 de plus en plus nombreux et de plus en plus fins apparaissent.
Les images suivantes Iw(0)1, lw(0)2, Iw(0)3 et Iw(0)4 (du bas de la figure 13a et de la figure 14) correspondent aux phases t6, t7, t8 et t9, c'est-à-dire à la période T4 de la figure 3. Du fait que la valeur de CO tant qu'elle n'est pas nulle ne permet pas de corriger 25 instantanément la différence entre deux images successives, et on
obtient, après t5, des images qui s'estompent progressivement de Iw(0)1 à Iw(0)4 pendant toute la période T4 durant laquelle l'information diminue progressivement, cette période permettant par contre de réaliser une consolidation des traitements antérieurs 3o dans l'unité 3.
Le tableau ci-après illustre l'évolution du système, séquence après séquence, c'est-à-dire trame après trame dans le cas d'un
signal vidéo, au cours du lissage récursif.
w N valeurs de N pour t n
0 1 2 3 4 5
to w = 20 N=p=Aw-1 LOt,x,y = 0 0 0 0 0 Pixt,x,y t1 w = 20- Aw =0 0 0 0 a 5 t2 w 12 0 0 0 a b 5 t3 w =8 0 0 a b c 5 t4 w=4 0 a b c d 5 t5 w=0 a b c d e 5 t6 w= 0 __b c d e 0 5 t7 w=0 c d e 0 0 5 t8 w=0 d e 0 0 0 5 t9 w=0 e 0 0 0 0 5 Sur ce tableau a, b, c, d, e correspondent à des nombres de pixels pour n < p avec DP = 1. La valeur a représente un filtrage à 5 très basse fréquence spatiale et les valeurs b, c, d et e correspondent à des filtrages de fréquences spatiales de plus en plus élevées. A la fin de t5 (c'est-à-dire de to + p), on a le maximum d'informations pour tous les paliers, dans la même trame,
comme représenté sur les figures 15 et 16, discutées ci-après.
o Sur la figure 14, on a représenté des renseignements supplémentaires par rapport au tableau précédent, notamment, l'indication des périodes, avec indication de la période initiale T1, avec X pour les valeurs antérieures de n ou CO, et les valeurs chiffrées représentant le cumul des variations de pixels par trame 15 pour a, b, c, d, e, croissantes du bas et de la gauche vers le haut
et vers la droite.
Sur la figure 15, on a illustré, par des courbes a', b', c', d', e',
les valeurs successives de a, b, c, d, e de la figure 14, le temps t étant porté en abscisses et le nombre N égale au cumul des 20 variations de pixels contenant CO, avec DP = 1, en ordonnées.
La somme des surfaces sous chacune des courbes a', b', c', d', e' donne l'information totale sur l'image; on constate que la somme des surfaces sous les deux premières courbes a' et b' représente presque la moitié de l'information totale, d'o possibilité de ne s'en tenir qu'à ces deux courbes. Sur la figure 16, on a illustré les images correspondant aux valeurs de a, b, c, d, e (ces lettres étant portées au bas des images correspondantes) au temps t=p et l'on voit que les détails sont de plus en plus importants au fur et à mesure qu'on passe de 10 a à b, de b à c, de c à det enfin d à e, l'image qui se trouve en haut et à gauche, sous- titrée t = p, correspondant à la superposition des images a, b, c, d et e; elle est semblable à
l'image intitulée Iw(0)0 de la figure 13a.
On a vu jusqu'à présent, que, grâce à un traitement approprié 15 des signaux CO et DP de la figure 2, il est possible d'avoir des
détails de plus en plus fins et de plus en plus nombreux de l'objet observé OB par une augmentation par paliers de la résolution spatiale, selon la figure 3, après une diminution brusque de celleci.
La modification de la résolution est réalisée dans le cas de la figure 2 au moyen d'un ensemble de filtrage 4 (détaillé sur la figure 6) commandé par un paramètre w constituant l'ordre du filtre; une telle transformation gaussienne ou sensiblement gaussienne, dans l'ensemble de filtrage 4, est équivalente à la défocalisation optique 25 réalisée dans le mode de réalisation de la figure 1 et de ce fait, les signaux 7, essentiellement de luminance L, et les signaux numériques CO et DP sont les mêmes dans le cas de la figure 1 et dans le cas de la figure 2 et on obtient par conséquent sensiblement les mêmes images à la sortie de l'unité 3 de lissage 30 spatio-temporel des figures 1 et 2, c'est-à-dire que les figures 8 à 16 et les explications les concernant s'appliquent également au cas d'une modification de la résolution spatiale par défocalisation optique, puis par refocalisation par paliers (par exemple 5 paliers), plutôt que par filtrage électronique. Il en est de même lorsque l'on remplace le capteur optique des figures 4a à 4c par un capteur
électromagnétique du type radar selon la figure 5.
Dans le cas d'une défocalisation suivie d'une refocalisation, toutes deux de nature optique selon les figures 1, 4a, 4b, 4c, il 5 peut s'avérer très difficile de réaliser une refocalisation par paliers nets selon la figure 3 et, pour pallier cette difficulté, il est avantageux d'associer un obturateur électronique (non illustré) de type connu à l'objectif 2 afin de n'utiliser que des portions réduites, régulièrement espacées du signal pendant que la refocalisation est 10 sensiblement constante de manière à réaliser une refocalisation
par paliers semblable à celle obtenue par filtrage électronique selon les figures 2 et 6. Il est entendu que les ouvertures dudit obturateur ont lieu en dehors des cycles de calcul des modules STN, dont il sera fait mention ci-après avec référence aux figures 9 15 et suivantes.
On peut résumer ainsi les opérations effectuées dans les
dispositifs des modes de réalisation des figures 1, 2, 4a, 4b, 4c, 5, 6, 9 en se référant aux figures 3, 7, 8a à 8e, 10, 11 ou 12, 13a13b, 14, 15 et 16.
A partir du signal de démarrage ou départ Dep (indiqué figure 3 au début de la période de T1 et figure 9 à l'entrée du module ): Dans la première période T1, qui dure par exemple une séquence (image ou trame), le signal L, 7 ou 7R subit une 25 réduction très rapide de sa résolution de r max à r min, tandis que w passe de 0 à 20 par exemple (figure 3), et l'unité 3 de lissage spatio-temporel (figures 1 ou 2 et 9) possède la mémorisation de
l'image non filtrée de la période TO.
La période suivante T2 est constituée par la seule phase tO, 30 de durée égale à une séquence par exemple, comme les phases tl à t9 des périodes T3 et T4 (figure 3). Pendant cette phase tO, la résolution du signal L, 7 ou7R reste constante à la valeur r min, w étant égal à 20 par exemple et la valeur p = 0 est forcée dans la sous-unité 11; la sous-unité mémoire 10 de la figure 9 enregistre 35 le signal de résolution minimale et, débite, entre autres, un signal
LOto qui, pour ses différentes valeurs aux emplacements x, y de la matrice de pixels (ou positions analogues dans le cas d'un signal électromagnétique du type radar à balayage) est représenté par l'image non filtrée de rang 0 en, correspondance un signal L, 7 ou 5 7R (image L (7)20 de la figure 1 3a) est introduit dans l'unité 11.
L'unité 11 débite un signal Dif servant au module STN 14 à établir l'histogramme de la figure 10 et à déterminer à la fin de la phase tO la valeur Li transmise à la sous-unité 16 qui déduit, à partir du seuil de sensibilité " seuil ", la valeur de p, à savoir le nombre entier 10 (par défaut) résultant de la division de Li par la valeur de seuil [en abrégé p = int(Li/seuil), le symbole int représentant la valeur entière, par défaut, du quotient, comme inscrit sur la figure 9]. A titre d'exemple p = 5 et cette valeur est forcée dans la sous-unité
11 pendant la phase suivante tl.
Au début de la période T3 suivante, c'est-à-dire au début de la phase tl, la résolution du signal L, 7 ou 7R est montée d'un échelon et commence le fonctionnement normal de routine de l'unité 3 de lissage spatio-temporel avec des calculs des LO, CO, DP et Dif débités par la sous-unité 11; pendant cette phase tl, 20 I'image entrante dans cette sous-unité est l'image l3 (figure 9); cette image est calculée à partir de l'image entrante de la phase précédente correspondant à l'image à résolution minimale, à savoir l'image la (figure 9). Par contre, I'image sortante, représentée par les CO (avec DP=1), est l'image ly (figure 9) ou Iw (16) (figure 13a) 25 qui comporte très peu de détails, mais les détails les plus
représentatifs; pendant les phases suivantes t2, t3, t4 et t5, le processus continue successivement avec w = 12, 8, 4 et 0 et on obtient sur le moniteur M les images Iw(12), lw(8), Iw(4) et Iw(0)0 respectivement de la figure 13a. On voit que, lors de la phase t5, la 30 résolution a retrouvé sa valeur maximale r max, avec w.= 0.
Au cours des phases successives suivantes t6, t7, t8, t9 de la période ultérieure T4, d'une part, la résolution demeure à sa valeur r max, et, d'autre part, I'ordre w du filtre 4 reste égal à 0 (figure 3) dans le cas du mode de réalisation de la figure 2, ou bien la focale 35 de l'objectif (en particulier 5a, 5b, 5c) a réalisé une refocalisation sur le plan 6 de l'objet OB, ou bien la plaque 5d de commande a imposé au lobe Lob de la figure 5 son ouverture minimale correspondant à une refocalisation ou à w = 0. Le processus dans l'unité 3 continue de se dérouler du fait que CO ne redescend que 5 progressivement vers sa valeur unitaire, I'exposant n de 2" diminuant progressivement 4 à 3, puis à 2, puis 1 et enfin O, ce qui fournit les images, lw(O)1, lw(0)2, Iw(0)3 et Iw(O)4 des figures 13a
(dernière rangée) et 13b.
A la fin de la période T4, c'est-à-dire de la phase t9, le filtre 4 lo ou l'objectif 5 ou le lobe Lob revient à son état de repos à la résolution maximale r max; un nouveau cycle, selon la figure 3,
peut recommencer à partir d'un nouveau signal Dep.
Les premiers modes de réalisation simplifiés des figures 1 et 2 d'un dispositif selon l'invention ayant été discutés ci-dessus, on 15 va maintenant, avec référence aux figures suivantes, et tout d'abord aux figures 17 et 18, décrire des modes de réalisation plus élaborés mettant en oeuvre des modules STN (en plus du module STN(1) 14 de la figure 9) de calcul d'histogrammes, en aval de l'unité 3 de lissage spatio-temporel. On notera que la figure 17 20 dérive de la figure 1 à laquelle a été ajoutée une unité 8, tandis que la figure 18 dérive de la figure 2 à laquelle on a ajouté une
même unité 8.
La différence entre la figure 17 et la figure 1, d'une part, et entre la figure 18 et la figure 2, d'autre part, est constituée par le 25 fait que les signaux CO et DP issus de l'unité 3 précitée sont traités dans un ensemble 8 qui réalise la formation et la classification d'histogrammes en utilisant des modules du type
STN, explicités ci-après.
On notera que, dans le cas des modes de réalisation des 30 figures 1 et 2, I'unité de lissage spatio-temporel 3, telle que détaillée sur la figure 9, comporte bien une unité de type STN, mais celle-ci traite le signal Dif, pour obtenir l'histogramme de la figure
, et non pas les signaux CD et DP, de la sous-unité 11.
Il est bien entendu que les modes de réalisation des figures 35 4a, 4b et 4c s'appliquent aussi bien au montage de la figure 17 qu'à celui de la figure 1, tandis que le mode de réalisation de la figure 6 s'applique aussi bien au montage de la figure 18 qu'à celui
de la figure 2.
Les autres paramètres traités dans chacune des unités 8 5 étant, d'une part, deux paramètres de position, notés, x, y, et, d'autre part, trois paramètres représentant une couleur, à savoir la luminance L, la teinte T et la saturation S, ces cinq paramètres ayant été extraits par l'unité 9' semblable à l'unité 9 (qui dans les réalisations décrites ci-dessus n'extrayait que les paramètres x et o y) des figures 1 et 2; bien entendu, à la place des paramètres L, T
et S, on peut représenter une couleur par d'autres triades de paramètres, par exemple des paramètres représentant les couleurs fondamentales rouge R, vert V et bleu B ou bien, en gardant la luminosité L, à la place de T et S, les deux paramètres CR, qui 15 correspond à L-R, et CB, qui correspond à L-B.
Si on a choisi de préférence les paramètres L,T et S, c'est pour profiter du fait que, en cas de modification d'éclairage, les paramètres T et S ne sont pratiquement pas modifiés, seule la luminance L étant fonction directe de l'éclairement, ce qui fait 20 qu'un seul paramètre est modifié et, comme expliqué, c'est ce paramètre de luminance L qui est favorisé par rapport aux deux autres, tandis que, si l'on utilisait des triades de paramètres du type rouge, vert et bleu ou du type L, L-R et L-B, les trois paramètres sont modifiés en cas de modification de l'éclairement. 25 En fait, on utilise essentiellement la luminance dans une première
phase de traitement dans l'ensemble 8, comme on le verra ciaprès, tandis que les deux autres paramètres de couleur, à savoir T et S sont utilisés essentiellement pour maintenir " accrochée " l'image lorsqu'elle a été obtenue en traitant uniquement L (avec 30 bien entendu simultanément x et y).
Un paramètre supplémentaire en entrée dans l'ensemble 8
noté Dis, égale à la mesure de distance entre l'objet OB et le capteur 2, résultant d'une unité externe 25 (non décrite), assure l'aide à la perception de l'objet par un calcul d'invariance en taille 35 par des modules STN décrit ultérieurement.
La sortie de l'ensemble 8, constituée par des modules de type STN, débite deux groupes de signaux permettant d'identifier la nature de l'objet (signal QUOI ou LABEL) et la position de l'objet
(signal O ou Z0).
L'ensemble 8, qu'il appartienne à la figure 17 ou à la figure 18, comme expliqué ci-après, est le même étant donné que, comme expliqué ci-dessus, la variation de la résolution, qu'elle soit faite par des moyens optiques (figures 1 et 17) ou par filtrage électronique (figures 2 et 18), aboutit dans les deux cas à un même 10 type d'augmentation de la résolution, à savoir gaussienne ou sensiblement gaussienne, pendant la période T3, I'unité 3 des figures 17 et 18 recevant en définitive le même type de signal 7, essentiellement de luminance L, qui est traité spatiotemporellement dans cette unité, et délivrant des signaux CO et DP 15 de même nature dans le cas des figures 17 et 1 et dans le cas des figures 18 et 2: le signal CO (qui est une constante de temps adaptative figurant dans le monôme 2c ) est en fait un signal numérique n constitué par un nombre entier petit, tandis que DP est un signal binaire dont la valeur 1, par définition, illustre un 20 dépassement (du seuil de sensibilité) qui est cumulé dans le signal CO. L'ensemble 8 des figures 17 et 18 est constitué par des modules STN de type unilinéaire ou unidimensionnel, de type bilinéaire ou bi-dimensionnel et éventuellement de type tri-linéaire ou 25 tridimensionnel, les modules unilinéaires traitant l'unique paramètre CO, les modules bilinéaires traitant deux paramètres, tels que les coordonnées x et y des pixels suivant les colonnes et les lignes du tableau matriciel des pixels ou signaux radar, et enfin les modules tri-linéaires traitant trois paramètres, par exemple trois 30 paramètres définissant une couleur, et dans ce dernier cas, ces trois paramètres sont avantageusement la luminosité L, la teinte T et la saturation S. Un mode de réalisation d'un module unidimensionnel est décrit et illustré dans la publication WO-01/63557 ayant le même 35 inventeur, tandis qu'un mode de réalisation de modules bilinéaires et trilinéaire est décrit et illustré dans la demande de brevet français N 01-02539 du même inventeur, déposée le 23 février 2001 et ayant pour titre " Procédé et dispositif de repérage d'un objet par sa forme, sa dimension et/ou son orientation ", publiée 5 sous le N FR-2-821459 et notamment la page 6, lignes 18 à 23 en ce qui concerne un module bilinéaire et à la page 7, lignes 1 à 7 en ce qui concerne un module trilinéaire, un module bilinéaire ou trilinéaire étant, selon cette demande de brevet constitué par deux, respectivement trois, modules unilinéaires dont les deux, 10 respectivement trois, signaux de sortie sont appliqués aux entrées d'une porte ET dont la sortie constitue la sortie du pseudo-module
bilinéaire, respectivement trilinéaire.
Il est possible d'utiliser de tels types de modules unilinéaires, bilinéaires ou trilinéaires pour constituer l'unité 8 des figures 17 et 15 18; toutefois, il est préférable de mettre en ceuvre des modes de
réalisation préférés décrits ci-après avec référence aux figures 20 et 23a-23b concernant respectivement un module unilinéaire (noté STN(1) et symbolisé sur la figure 19) et un module bilinéaire (noté STN(2) et symbolisé sur la figure 22), étant entendu qu'un module 20 tri-linéaire (noté STN(3) et non illustré) dérive (comme expliqué ciaprès) très simplement, par quelques additions, d'un module bilinéaire.
En se référant à la figure 20, concernant le cas d'un seul paramètre, on voit qu'un module STN(1) de type unilinéaire ou 25 unidimensionnel comprend essentiellement trois unités, à savoir une unité de calcul d'histogrammes CH, une unité de classification
CL et une unité de rétro-annotation RA.
L'unité de calcul d'histogrammes CH comprend plusieurs sous-unités et d'abord une mémoire d'analyse 100 numérique, par 30 exemple une DRAM ou une SDRAM ayant un nombre d'adresses égal au nombre de niveaux possibles choisis pour les valeurs du paramètre d'entrée DATA(A) à savoir CO et une largeur de mots représentative du nombre de pixels par trame (ou image), à savoir par exemple 18 bits pour une image de 256.000 pixels. Cette 35 mémoire 100 comporte trois entrées, à savoir une entrée 100a DATA IN pour les données, une entrée 100b WR d'écriture et une
entrée 100c ADRESS pour les adresses.
L'entrée de données 100a est alimentée à partir d'un multiplexeur MUX 106 d'entrée de données qui reçoit, d'une part, 5 en 106a, le signal de sortie 107s d'un additionneur ou incrémenteur S 107 de validation d'incrémentation et, d'autre part, en 106b, un signal " 0 ", si le signal d'initialisation INIT appliqué sur l'entrée
106c du multiplexeur 106 vaut " 1 ".
L'entrée d'écriture 100b de la mémoire 100 reçoit la sortie 1o d'une porte OU 113 dont les deux entrées reçoivent respectivement le signal d'initialisation INIT (ce signal agissant également comme sus-indiqué sur le multiplexeur 106) et le signal d'ordre d'écriture
WRITE.
Quant à l'entrée ADRESS 100c de la mémoire 100, elle reçoit 15 le signal de sortie 105s d'un multiplexeur d'adresses MUX 105 qui comporte trois entrées, à savoir une entrée 105a qui reçoit le paramètre d'entrée CO en provenance de l'unité de lissage spatiotemporel 3 des figures 17 et 18, une entrée 105b qui reçoit le signal COUNTER d'un compteur (non représenté) et une entrée 20 105c qui reçoit la sortie d'un additionneur/soustracteur 108 alimenté, d'une part, en 108a, par le signal de compteur COUNTER et, d'autre part, en 108b, par le signal de sortie 1045s du registre POSRMAX 1045 (qui sera précisé ci-après) à travers une porte ET 109 à deux entrées, l'une recevant le signal 1045s précité et l'autre 25 le signal ARME, cette porte ne transmettant le signal 1045s que si le signal ARME est effectivement présent, mais forçant la valeur " 0 " dans le cas contraire; en outre, I'additionneur/soustracteur 108 est contrôlé, sur son entrée 108c, par un signal de sens, noté SENS, constitué soit par le signal " 0 ", soit par le signal " 1 ", à 30 savoir par exemple " 0 " pour commander une addition et " 1 "
pour commander une soustraction.
Enfin, I'additionneur S 107 susmentionné reçoit, sur sa première entrée 107a, un signal 100s en provenance de la sortie OUT 100d de la mémoire 100 et, sur sa deuxième entrée 107b, un 35 signal de validation 102s venant de l'unité de rétro-annotation RA comme précisé ci-après; la sortie 107c de l'additionneur S 107 débite un signal 107s qui est égal à la sortie de ia mémoire d'analyse 100 (signal 100s) si le signal de validation 102s est égal à " 0 >", mais égal à ladite sortie augmentée de 1 si le signal de 5 validation 102s est égal à " 1 "; la sortie 107c de l'additionneur 107 est connectée à l'entrée 106a du multiplexeur 106, comme indiqué ci-dessus, et à l'entrée P, à savoir P4, d'un comparateur 140, qui compare ce signal 107s au signal de sortie 1044s du registre RMAX 1044, reçu sur son entrée Q, pour déduire de cette 10 comparaison (si P > Q) un signal 140s permettant d'insérer POSRMAX (la position de RMAX) dans le registre 1045 à travers la
porte ET 141 sous le contrôle du signal WRITE.
L'unité de calcul d'histogrammes CH du module STN(1), qui vient d'être décrite, débite en définitive trois signaux de sortie, à 15 savoir 100s, débité par la mémoire 100, 105s, débité par le multiplexeur 105, et 107s, débité par l'additionneur 107, vers l'unité de classification CL et en reçoit le signal 1045s, en provenance du registre 1045 de cette unité; en outre l'unité CH reçoit le signal
102s en provenance de l'unité de rétro-annotation RA.
Quant à l'unité de classification CL, qui constitue un classifieur passif, celle-ci comprend essentiellement une sous-unité de fonctionnement 101, une sous-unité de mise à jour de classification 103 et une sous-unité de stockage 104 comportant
plusieurs registres.
La sous-unité de fonctionnement 101 jouant le rôle de classifieur comprend deux comparateurs 110 et 111 qui reçoivent, sur leur entrée P (Pi, P2), le signal CO qui constitue la donnée d'entrée et, sur leur entrée Q (Qi, Q2), respectivement la valeur de la borne A de classification de CO et celle de la borne B de 30 classification CO, à partir des registres respectifs 1042 et 1043, discutés ci-après. Chacun des comparateurs 110 et 111 compare les valeurs reçues en P aux valeurs reçues en Q. Si la valeur reçue en P1 ou P2 est plus grande que celle reçue en Q1 ou Q2 ( ou éventuellement égale pour Pl et Q1) respectivement, chaque 35 comparateur envoie un signal vers une entrée a ou b (après inversion pour cette dernière) d'une porte ET 112 qui reçoit également, sur son entrée 112c, depuis l'unité de lissage temporel 3 des figures 17 et 18, le signal DP indiquant un dépassement par sa valeur 1, ou non- dépassement par sa valeur 0, d'un seuil dans 5 cette unité 3. Le signal de sortie 101s de la porte ET 112, et donc de la sous-unité 101, qui est présent seulement si simultanément DP = 1 (dépassement dans l'unité 114 de la figure 9), P1 > Q1 et P2 < Q2, est appliqué à un bus 114, commun à plusieurs modules STN. La sous-unité de mise à jour de classification 103 de l'unité de classification CL comprend un sélectionneur 1152, dont trois entrées a, b et c reçoivent respectivement les sorties des registres 1044, 1041 et 1046 de la sous-unité 104, à savoir RMAX, NBPTS et SEUIL, dont il sera fait mention ci-après. Le signal de la sortie 15 1152s du sélectionneur 1152 est appliquée Q, notée Q3, d'un comparateur 1151, qui reçoit donc soit RMAX, soit NBPTS, soit SEUIL, en fonction d'un signal de Choix reçu sur l'entrée e de 1152. L'autre entrée du comparateur 1151, notée P3, est connectée à la sortie 100d de la mémoire 100 pour en recevoir le signal 100s. 20 Le comparateur 1151 vérifie si la valeur du signal sur l'entrée P3 est supérieure ou égale à la valeur du signal sur son entrée Q3 (P > Q). Si c'est le cas, un signal de sortie 1151s est appliqué aux entrées a de deux automates logiques 1063 et 1064 qui reçoivent, par ailleurs, sur leur entrée b, le signal END de fin d'opération et, 25 sur leur entrée c (après inversion pour la seconde), le signal SENS (celui reçu également par l'additionneur/soustracteur 108 sur son entrée 108c); une quatrième entrée d de chacun des automates logiques 1063 et 1064 est apte à recevoir un signal d'armement ARME qui permet d'effectuer la tâche tant que la fonction 30 représentée par le signal 1151s reçu sur l'entrée a est vraie (P > Q), c'est-à-dire P3 > Q3. Les sorties e des automates logiques 1063 et 1064 débitent des signaux 1063s et 1064s respectivement qui valident en En (enable) les registres 1042 et 1043 pour les bornes
Borne A et Borne B respectivement, comme expliqué ci-après.
La troisième sous-unité 104 de l'unité de classification CL comprend plusieurs registres, à savoir tout d'abord un registre 1044 pour la valeur maximale RMAX, un registre 1045 indiquant la position relative POSRMAX de cette valeur maximale, un registre 1041 pour le nombre de points NBPTS et enfin un registre 1046 de 5 SEUIL, les registres 1044, 1041 et 1046 débitant dans le multiplexeur 1152, comme sus-mentionné, tandis que le registre 1045 débite son signal de sortie 1045s sur l'entrée 108b de l'additionneur/soustracteur 108 de l'unité de calcul d'histogramme CH, lorsque la porte ET 109 de l'unité de calcul d'histogrammes CH 10 reçoit le signal ARME. La sous-unité 104 comprend également deux autres registres sus-mentionnés, à savoir 1042 pour la borne A et 1043 pour la borne B; chacun de ces deux registres reçoit, sur son entrée En (Enable ou de validation ou autorisation), le signal de validation 1063s, 1064s débité par la sortie de l'automate logique 15 1063, 1064 respectivement, et, sur son entrée a, le signal de sortie
s du multiplexeur 105 de l'unité de calcul d'histogrammes CH.
L'unité de rétro-annotation RA, dont les entrées sont connectées au bus 114 commun à plusieurs unités de type STN, comporte essentiellement une batterie 102 de registres 102r, notés 20 1, 2, 3..., m, qui reçoivent respectivement les valeurs in1, in2, in3 inm des signaux 101s de sortie des sous-unités 101 des
différentes unités STN connectées au bus 114.
Pour chacun des registres 102r, I'unité RA réalise la comparaison entre la valeur d'entrée, telle que inm avec la valeur 25 contenue dans le registre correspondant, telle que m, et émet vers l'entrée 107b de l'additionneur 107 de l'unité de calcul d'histogrammes CH, un signal de validation 102s égal à 1 chaque fois qu'il y a égalité entre la valeur contenue dans un registre 102r et le signal d'entrée correspondant, mais un signal 102s égal à 0 30 dans le cas contraire, par application de la formule booléenne signal 102 = (in1 + Regl) (in2 + Reg2).... (inm + Regm) (in1 +.....in2...+ inm),
Reg désignant le contenu antérieur du registre 102r.
De préférence, I'unité unidimensionnelle STN(1) de la figure
peut également comprendre des registres 1047 et 1048 pour stocker la position de la valeur moyenne représentative de la donnée d'entrée CO; cette position moyenne POSMOY correspond 5 en quelque sorte au barycentre des valeurs de cette donnée CO.
Une entrée, notée a, du registre 1047, noté POSMOYo, reçoit le signal 105s débité par le multiplexeur 105 de l'unité de calcul d'histogramme CH, tandis que l'autre entrée, notée b, du registre 1047, reçoit, après inversion, le signal de sortie 1153s d'un 10 comparateur 1153 dont une entrée Q5 reçoit le signal NBPTS (sélectionné par le signal Choix parmi les signaux reçus sur les entrées a, b et c du multiplexeur 1152), après une division par deux; l'autre entrée P5 du comparateur 1153 reçoit le signal de sortie 1155s d'un registre 1155 qui effectue le cumul, depuis la 15 réception d'un signal d'initialisation INIT jusqu'à la réception d'un signal de fin de calcul END, de la sortie en c d'un additionneur 1156 dont l'entrée a reçoit le signal de sortie 100s de la mémoire 100 et dont l'entrée b reçoit le signal numérique 1155s de sortie du
registre 1155, d'o cumul des signaux 100s.
Le comparateur 1153, si P > Q (en fait P5 > Q5), débite un signal de sortie 1153s qui est appliqué, après inversion, à l'entrée a du premier registre POSMOYo 1047. Le signal de sortie 1047s du registre POSMOYo 1047 est reçu sur l'entrée de données a d'un second registre supplémentaires POSMOY1 1048 jusqu'à l'arrivée 25 d'un signal END sur une autre entrée b de ce registre 1048. Le registre POSMOYo 1047 détermine l'actuelle position moyenne (POSMOY), désignée également le barycentre, de NBPTS résultant de la comparaison dans le comparateur 1153 de NBPTS/2 et de la valeur cumulée dans le signal 1155, tandis que le registre 30 POSMOY1 1048 stocke la position moyenne (ou le barycentre) juste antérieure qui est rafraîchie par le signal 1047s débité par le
registre POSMOYo 1047.
On notera enfin que les registres 1047, 1048, 1042 et 1043 comportent chacun, une entrée supplémentaire notée > alimentée par un signal HORLOGEPIXELS. Tous ces registres fonctionnent
donc en mode synchrone.
On va exposer maintenant le fonctionnement du module
mono-linéaire STN(1) de la figure 20.
En ce qui concerne le fonctionnement du bloc unilinéaire STN(1) illustré sur la figure 20, celui-ci, de même que le fonctionnement du module bilinéaire STN(2) illustré sur la figure 23a-23b et également celui du module de type trilinéaire non illustré, comporte, pour chacune des séquences consécutives, trois lo phases ou cycles successifs, à savoir un cycle d'initialisation, un cycle de calcul et un cycle de mise à jour des registres stockant les résultats. Se limitant maintenant au cas du module STN(1) de la figure à entrée monolinéaire, c'est-à-dire constitué par une seule 15 variable, qui est dans le cas particulier CO, les trois cycles précités sont les suivants 1) Cycle d'initialisation Au début de ce cycle, le module STN(1) reçoit un signal INIT d'un séquenceur externe non représenté. Ce signal INIT, a) force à O les registres POSRMAX 1045, RMAX 1044, NBPTS 1041 etreg 1155; b) démarre un compteur COUNTER qui fait défiler les valeurs successives 0 à M (à savoir la taille maximale de la mémoire ); C) force à " 0 ", par l'intermédiaire du multiplexeur MUX 106 (qui reçoit " 0 " sur son entrée 106b et INIT sur son entrée 106c), l'entrée 100a DATA IN de la mémoire 100 d) place la mémoire 100 en mode écriture par l'intermédiaire de la porte OU 113 par l'entrée 100b WR de cette mémoire 100 30 et, e) active le signal de sortie 105s du multiplexeur MUX 105 pour impartir, à l'adresse de la mémoire 100, par son entrée 100c, les valeurs successives du compteur COUNTER (non illustré) par l'intermédiaire du multiplexeur MUX 105. 35 2) Cycle de calcul Une fois le signal INIT arrêté (à savoir au moins après la fin de la durée de déroulement du compteur COUNTER, non illustré, de 0 à M), le signal WRITE démarre le cycle de calcul qui comporte pour chaque cycle pixel (HORLOGE-PIXEL): a) le cumul de la valeur de CO dans la mémoire 100 chaque fois que le signal de VALIDATION 102s est vrai, celui-ci étant transmis, comme expliqué en relation avec la structure du module STN(1), par la sortie OUT de l'unité 102, les valeurs cumulées de CO dans l'additionneur 107 étant transmises à 10 la mémoire 100 (sur son entrée 100a) à travers le multiplexeur 106; b) la comparaison dans le comparateur 140, si ce signal 102 est vrai, de la valeur RMAX du comparateur 1044, à la valeur du signal 107s sortant de l'additionneur 107; si la sortie du 15 comparateur 140 est vraie, la valeur du signal 107s, qui constitue une nouvelle valeur de RMAX, (car supérieure à celle précédemment inscrite dans le registre 1044 comme le démontre la comparaison dans le comparateur 140), est inscrite dans le registre RMAX 1044 sous l'effet de la 20 commande en provenance de la porte ET 141 qui reçoit, d'une part, cette sortie du comparateur 140 et, d'autre part, le signal WRITE, ce qui réalise l'inscription de la valeur du signal 107s, dans le registre RMAX 1044, tandis que la valeur du signal 105s à savoir la position ou adresse correspondant 25 à cette nouvelle valeur de RMAX, est inscrite dans le registre POSRMAX 1045, I'entrée de ce registre 1044 étant également connectée, comme l'entrée du registre POSRMAX à la sortie de la porte ET 141; en même temps la valeur inscrite dans le registre NBPTS 1041 est incrémentée de
" 1 ";
c) le calcul de la sortie 101s de classification, de la valeur CO, en valeur vraie, à chaque fois que cette valeur CO est
comprise entre les bornes A et B de l'unité 101.
3) Cycle de mise à jour des registres de résultats Ce dernier cycle commence lorsque le signal WRITE devient nul (égal à 0) et que le signal END devient actif sur le multiplexeur MUX 105, tandis que le signal ARME est égal à <" 0 "; ce cycle de mise à jour des registres est constitué par deux demi-cycles successifs. 3.1) Le premier demi-cycle, qui calcule POSMOY comporte les opérations successives suivantes: a) la valeur de POSMOY0 du registre 1047 est transférée dans le registre POSMOY1 1048; b) la commande Choix, appliquée au sélectionneur 1052, force la sortie d de ce registre à la valeur NBPTS/2; c) la valeur du compteur COUNTER est transmise par le multiplexeur 105, du fait de la commande END arrivant également sur ce multiplexeur et adresse de ce fait la 15 mémoire 100, par son entrée 100c, à cette valeur; d) le balayage par le signal COUNTER fait sortir toutes les valeurs mémorisées 100s qui sont cumulées dans le registre reg 1155, grâce à sa valeur initiale égale à 0 et à la sommation faite par l'additionneur 1156 qui reçoit, en plus du 20 signal 100s, la sortie 1155s du registre 1155; e) tant que la valeur du signal de sortie 1155s du registre 1155
est plus petite ou égale à NBPTS/2, le comparateur 1153, qui compare ces deux valeurs, valide par sa sortie 1153s l'écriture de la valeur du signal 105s dans le registre 25 POSMOY0 1047.
3.2) Le deuxième demi-cycle calcule les bornes de classification, à savoir Borne A et Borne B, à partir de la position maximale POSRMAX. Ce deuxième demi-cycle met en oeuvre les opérations suivantes: f) le compteur COUNTER est remis à 0; g) le signal ARME est validé et donc la valeur POSRMAX, constituant le signal de sortie 1045s du registre 1045, est transmise au soustracteur-additionneur 108 par la porte ET 109; h) le signal SENS commande, dans l'additionneur/soustracteur 108, la soustraction de POSRMAX-COUNTER (la première valeur arrivant en 108b et la seconde en 108a), le résultat de cette soustraction constituant finalement le signalde sortie 105s du multiplexeur 105; i) le compteur incrémente le signal COUNTER d'une unité et ce signal est valide tant que la sortie en 100d de la mémoire 100 débite un signal 100s supérieur au signal de sortie du multiplexeur 1152 (sortie d), la comparaison étant effectuée 10 dans le comparateur 1151 qui débite un signal de sortie 1151s vers les automates logiques 1063 et 1064; j) la fonction logique de validation 1063 est vraie et valide l'écriture de la valeur du signal de sortie 105s dans le registre Borne A 1042 dans lequel elle arrive sur l'entrée a; k) dès que le signal de sortie 1151s n'est plus valide, le processus des opérations c, d, e précitées est interrompu et la valeur de Borne A reste figée à la dernière valeur inscrite dans le registre 1042 I) le compteur (non représenté) débitant le signal COUNTER est 20 remis à 0; m) le signal SENS force l'addition de POSRMAX + COUNTER dans l'additionneur/soustracteur 108, le résultat de cette addition constituant finalement le signal de sortie 105s n) le signal ARME est validé; o) le compteur incrémente d'une unité le signal COUNTER qui, à son tour, incrémente d'une unité l'entrée ADRESS 100c de la mémoire 100 tant que la sortie en 100d de cette mémoire 100 débite un signal 100s supérieur au signal de sortie du multiplexeur 1152 (sortie d), la comparaison étant effectuée 30 dans le comparateur 1151; p) la fonction logique de validation débitée par l'unité 1064, à savoir le signal 1064s, est vraie, ce qui valide l'écriture de valeur du signal 105s dans le registre Borne B 1043; et q) dès que le signal de sortie 1151s du comparateur 1151 n'est 35 plus valide, le processus des opérations i, j, k est interrompu et la valeur de Borne B reste figée à la dernière valeur
inscrite dans le registre 1043.
Ces trois cycles étant achevés, un séquenceur externe (non représenté) peut redémarrer un nouvel ensemble des trois cycles précités. L'histogramme des valeurs du paramètre d'entrée CO (qui est le paramètre de sortie de l'ensemble de lissage spatio-temporel 3 des figures 1 et 2 et qui est détaillé sur la figure 9) peut comporter un ou plusieurs pics. Sur la figure 21a, on a représenté un l0 histogramme des valeurs du paramètre CO avec un seul pic P, tandis que la figure 21b représente un histogramme avec deux pics
P1 et P2.
En se référant à la figure 21a, on voit que, dans le cas o l'histogramme des valeurs de CO ne comporte qu'un pic P, on peut 15 définir sur l'histogramme, qui est tracé avec les valeurs de CO en abscisses et la fréquence Q de ces valeurs en ordonnées, tout d'abord RMAX, à savoir l'ordonnée de la pointe ou du pic P, puis, à partir de la position de RMAX, celle de RMAX/2 c'est-à-dire la moitié de RMAX, et enfin POSRMAX, qui est l'abscisse du pic P. 20 Les valeurs de RMAX, d'une part, et de POSRMAX, d'autre part, sont, comme expliqué précédemment, stockées dans les registres correspondants, à savoir 1044 et 1045. RMAX/2 définit les bornes A et B représentées sur la figure 21a, ces deux bornes étant stockées respectivement dans les registres 1042 et 1043; ces 25 bornes sont également appliquées aux comparateurs 110 et 111 pour être comparées au paramètre d'entrée CO. Le signal de sortie 101s de l'ensemble 101 des comparateurs 110 et 111 précités et de la porte ET 112 est illustré au bas de la figure 21a et on voit qu'il comporte un créneau (positif) entre la Borne A et la Borne B. Sur la figure 21b, on a représenté le cas o l'histogramme
des valeurs de CO comporte deux pics P1 et P2 (à la place du pic unique P de la figure 21a). Au pic P2 correspond, comme dans le cas de la figure 21a, RMAX, d'une part, et POSRMAX, d'autre part.
En outre, à partir de RMAX, on définit RMAX/2 comme dans le cas 35 de la Figure 21. La différence avec la figure 21a, c'est que le pic PI définit également une valeur maximale qui est référencée RMAX'. La valeur de RMAX/2, au lieu de définir seulement deux bornes à savoir Borne A et Borne B, définit, en relation avec la figure 21b, deux paires de bornes Borne A, Borne B et Borne A', 5 Borne B' qui se manifestent par des créneaux (positifs) du signal 101s(a) au bas de cette figure 21b. Du fait que l'on a déterminé POSRMAX, qui correspond au pic le plus haut P2, il est possible dans le cadre de l'invention d'éliminer du signal 101s(a) le premier créneau correspondant au pic P1 de moindre amplitude, et, on 1o obtient ainsi finalement un signal 101s(b) qui ne comprend que le créneau correspondant à P2 et qui est délimité par les bornes Borne A et Borne B définies par RMAX/2, comme dans le cas de la figure 21a. C'est finalement le signal 101s, dans sa variante b, qui est transmis au bus 114 dans le cas de deux ou plusieurs pics, ce 15 signal, qui a la même forme que le signal 101s de la figure 21a, étant défini par les bornes A et B correspondant à RMAX du pic P2
le plus élevé.
Après description de la structure, du fonctionnement et des
résultats d'un module STN(1) (figures 19, 20, 21a et 21b), on va 20 donner ci-après des explications analogues en ce qui concerne un module STN(2) schématisé sur la figure 23 et illustré en détail sur
la figure 23a-23b.
Le module STN(2) détaillé sur la figure 23a-23b comprend, comme le module STN(1), essentiellement trois unités, à savoir une 25 unité de calcul d'histogrammes CH, une unité de classification CL et une unité de rétroannotation RA, et débite dans un bus 114 commun à plusieurs modules STN; en outre, avantageusement, comme dans le cas du module STN(1), le module STN(2) peut comprendre en plus des registres prévus dans l'unité de 30 classification CL et discutés ci-après pour stocker la position de la valeur moyenne représentative des données d'entrée (il y a dans le cas du module STN(2) deux paramètres d'entrée), des unités 1156,
1155 et 1153.
L'unité de calcul d'histogrammes CH du registre STN(2) de la 35 figure 23a se distingue de l'unité correspondante CH du module STN(1) de la figure 20 par le fait qu'on prévoit, en ce qui concerne l'entrée 105a du multiplexeur 105, non pas l'entrée d'un seul signal d'entrée DATA(A), à savoir CO, mais de deux signaux d'entrée associés DATA (Ay) et DATA (Ax), par exemple les deux 5 coordonnées cartésiennes y et x extraites, par l'unité 9 de la figure 1 ou de la figure 2, à partir du signal d'entrée respectivement 7 (après défocalisation) ou 7' (avant traitement dans le filtre 4 réalisant une opération analogue à une défocalisation). Pour tenir compte du traitement de deux paramètres d'entrée au lieu d'un 10 seul, l'unité CH de la figure 23a comporte, en supplément par rapport au module STN(1) de la figure 20, une unité 130 de décalage shift à gauche (multiplication) qui reçoit le signal END(1) d'une part, et le signal MOYy d'autre part, l'association de ces deux signaux appliquant un décalage égal au nombre de bits du signal 15 DATA(Ax) maximal au signal d'entrée COUNTER pour débiter un signal 130s sur l'entrée 108a de l'additionneur/soustracteur 108, alors que, dans le cas d'un module STN(1) (figure 20), le signal COUNTER est appliqué directement sans décalage sur l'entrée
108a de l'additionneur/soustracteur 108.
Dans le module STN(2) (figure 23a-23b), I'unité de
classification CL comporte un certain nombre de duplications par rapport à l'unité correspondante du module STN(1) de la figure 20.
Plus particulièrement, la sous-unité de stockage 104 comporte, non pas une paire de registres 1042 et 1043 pour la Borne A et la borne 25 B respectivement, mais deux paires de registres, à savoir 1042 (1) et 1043 (1) pour la Borne Ax (relative au paramètre x d'entrée) et la Borne Bx (également relative au paramètre x), d'une part, et une paire de registres 1042(2) et 1043(2) pour la Borne Ay (relative au paramètre y d'entrée) et pour la Borne By (également relative au 30 paramètre d'entrée y), ces deux paires de registres recevant, comme signal d'entrée, le signal 105s débité par le multiplexeur 105. Du fait de la duplication de la paire de registres 1042 et 1043 pour les bornes A et B respectivement, les deux automates 1063 et 35 1064 du module STN(1) de la figure 20 sont également dédoublés dans le cas d'un module STN(2) et sur la figure 23b, on a illustré deux paires de tels automates, à savoir 1063(1) et 1064(1) correspondant au paramètre d'entrée x et 1063(2) et 1064(2)
correspondant aux paramètres d'entrée y.
De même la sous-unité de fonctionnement 101 de la figure 20 est dédoublée dans le cas d'un module STN(2) d'un ensemble 101b, en sous-unités 101(1) et 101(2), jouant un rôle analogue à celui de la sous-unité 101, chacune de ces sous-unités 101(1) et 101(2) débitant un signal, respectivement 101(1)s et 101(2)s, 0o analogue au signal unique 101(s) débité par le module STN(1) de
la figure 20; les deux signaux 101(1)s et 101(2)s sont débités sur les entrées a et b de la porte ET 131 qui délivre un signal de sortie 101s uniquement dans le cas o les deux signaux 101(1)s et 101(2)s arrivent simultanément sur les deux entrées de cette porte 15 131; c'est ce signal 101s qui est débité dans le bus 114.
Pour compléter la description de la figure 23a-23b, on signale
que celle-ci comporte, en supplément par rapport à la figure 20 concernant un module unilinéaire STN(1) des moyens d'anticipation qui sont constitués par un bloc d'anticipation 1049 (figure 23b) qui 20 reçoit, sur ses deux entrées, les sorties des registres POSMOY0 1047 égal à POSMOYxy relatif aux deux paramètres d'entrée x et y, et POSMOY1 1048 et qui détermine, en réponse, les différentielles Ax et Ay représentatives de la valeur des deux
registres 1047 et 1048.
Les registres POSMOY0 et POSMOY1 débitent dans un module de calcul 1049 qui calcule la variation de chaque POSMOY entre deux trames consécutives, aussi bien pour DATA(Ay), DATA(AX). La variation de POSMOY pour le paramètre y est notée Ay tandis que celle pour le paramètre x est noté Ax; Ay et Ax 30 calculés dans le module de calcul 1049 sont débités respectivement sur deux soustracteurs 145 et 146, qui reçoivent ces valeurs sur leur entrée b tandis que leur entrée a reçoit respectivement DATA(Ay) et DATA(Ax). Les sorties des soustracteurs 145 et 146, qui calculent respectivement DATA(Ay)35 Ay et DATA(Ax) - Ax, d'o anticipation basée sur une variation linéaire de DATA(Ay) et DATA(Ax), sont débitées concomitamment
dans l'unité 101b afin de débiter un signal 101s de classification.
La sortie POSMOYxy du registre 1047 est appliquée à l'entrée b d'un comparateur 1050 (figure 23a) qui détermine l'égalité (ou non) 5 entre POSMOYxy et les paramètres d'entrée DATA (Ay, Ax); ce comparateur 1050 débite un signal de sortie 1050s, noté BarZ (BarZ étant l'abréviation de barycentre de zone) et i représentant la valeur courante de la portion de zone. Des explications concernant cet ensemble supplémentaire de 1049 et 1050 et la nature du 10 signal 1050s seront fournies ci-après.
Le fonctionnement du module STN(2) des figures 22 et 23a23b s'inspire du mode de fonctionnement du module STN(1) des
figures 19 et 20 avec les différences ci-après.
Essentiellement le cycle 1) d'initialisation du module STN(1) 15 est conservé tel quel pour le module STN(2); par contre, le cycle 2) calcul, la phase de classification est dédoublée; enfin, dans le cycle 3) de mise à jour des systèmes de résultats, les DATA(AX) et
DATA(Ay) sont traitées successivement.
1) Cycle d'initialisation Celui-ci comprend effectivement l'arrivée du signal INIT, les opérations a, b, c, d et e sont détaillées ci-dessus dans le cas du
fonctionnement d'un module STN(1).
2) Cycle de calcul Le module STN(2) reçoit les paramètres d'entrée DATA(Ay) et 25 DATA(AX) sur l'entrée 105a du multiplexeur 105; il traite ces données DATA(Ay) et DATA(Ax) de la même manière que la donnée unique d'entrée DATA(A), à savoir CO, du STN(1) de la figure 20 en effet, dans les deux modes de réalisation (modules STN(1) et STN(2)), le paramètre d'entrée CO ou les paramètres d'entrée 30 DATA(Ay) et DATA(AX) sont envoyés par le multiplexeur 105, en
tant que signal 105s, à l'entrée 100c ADRESS de la mémoire 100.
La porte ET 131 combine les signaux de sortie 101(1)s, en provenance de la sous-unité 101(1), et 101(2)s, en provenance de la sous-unité 101(2), pour débiter finalement, en cas de présence simultanée des deux signaux, le signal de sortie global 101s
appliqué au bus 114.
3) Cycle de mise à jour des registres de résultats Le traitement des données, DATA(Ay) met en oeuvre, parmi s les blocs dupliqués, ceux ayant l'indice (1), à savoir les registres 1042(1) et 1043(1) pour les bornes, Borne AX et Borne Bx, les automates logiques 1063(1) et 1064(1), et la sous-unité de fonctionnement 101(1). Une fois le traitement du paramètre d'entrée x, à savoir DATA(AX), terminé, I'unité 108a déclenche le l0 passage du traitement de cette donnée x à celui de la seconde
donnée d'entrée y, à savoir DATA(Ay), celle-ci étant traitée de manière analogue, mais en utilisant parmi les blocs dupliqués ceux comportant l'indice (2), à savoir les registres 1042(2) et 1043(2), les automates logiques 1063(2) et 1064(2) et la sous-unité de 15 fonctionnement 101(2).
Ce dernier cycle commence lorsque le signal WRITE devient nul (égal à 0) et que le signal END (1, 0) devient actif sur le multiplexeur MUX 105, tandis que le signal ARME est égal à " 0 " ce cycle de mise à jour des registres est constitué par: 3.1 le premier tiers de cycle calcule POSMOY avec les opérations a à e précédemment décrites, 3.2 le deuxième tiers de cycle calcule les bornes de classification Borne A(x) et Borne B(x) à partir de la portion DATA (Ax) avec les opérations a à I précédemment décrites, 3.3 le troisième tiers de cycle calcule les bornes de classification
Borne A(y) et Borne B(y) à partir de la portion DATA(Ay).
L'unité 130 est activée par l'association des commandes MOYy et END(1) et les opérations a à I précédemment décrites
sont effectuées.
La figure 24 représente, en deux dimensions selon x et y, à savoir DATA(AX) et DATA(Ay), deux surfaces à pics V1 et V2, d'une manière analogue à la figure 21b illustrant, en une seule dimension selon x, à savoir CO, une courbe avec deux pics P1 et P2; sur cette figure 24, on a illustré un exemple des résultats obtenus avec 35 un module bidimensionnel STN(2) du type illustré sur la figure 23a-23b. Dans le repère cartésien tridimensionnel, on retrouve suivant les coordonnées (x) et (y), DATA(AX) et DATA(Ay), et suivant (z) le nombre ou quantité Q de points ayant les coordonnées (x) et (y). En relation avec le pic V1 le plus élevé, on s a représenté RMAX, POSRMAXX et POSRMAXy et les bornes,
Borne Ax, Borne Ay, Borne Bx, Borne By; par contre, pour simplifier, on n'a pas représenté ces valeurs pour le pic V2. Comme dans le cas de la figure 21b, la mise en oeuvre de POSRMAX/2 (non représenté) permet d'éliminer le pic secondaire V2 pour ne 10 considérer que le pic principal V1.
La figure 23c illustre une variante partielle du module STN(2) de la figure 23a-23b, à savoir une variante d'une portion de l'unité de calcul de l'histogramme CH de celui-ci illustrée sur la figure 23a, la différence étant constituée par l'addition, dans l'unité CH s15 de la figure 23c, d'un bloc de calcul 120 débitant son signal de sortie 120s sur l'entrée " 1 " du multiplexeur 106 et recevant sur une première entrée le signal de sortie 100s de la mémoire 100 et sur une seconde entrée un coefficient Km, constitué avantageusement par une puissance de 2, savoir Km = 2m. Ce bloc 20 de calcul 120 effectue sur le signal 100s OUT de la mémoire 100 et le coefficient Km (appliqués sur ses deux entrées) la fonction de Krri.- 1
transfert " 120s " = () x " 100s ".
Km Le coefficient est un paramètre de rétention de l'information plus m est grand moins il est possible de modifier la mémorisation 25 de l'histogramme dans la mémoire 100; par contre lorsque m = 0, la sortie de bloc 120 est égale à " 0 " car K = 20 = 1 et donc Km1=0 et on se retrouve dans le cas illustré sur la figure 23a sur laquelle l'entrée 1 du multiplexeur 106 est constamment égale à
" 0 " durant le cycle d'initialisation.
Dans le cas o m = 0, le cycle de calcul mémorisé dans le mémoire 100 est recalculé à chaque séquence; par contre quand m est différent de " 0 ", un pourcentage (plus ou moins élevé suivant la valeur de m) de la mémorisation de la mémoire 100 est conservé
pour le cycle de calcul en cours.
Le montage de la figure 23c réalise un perfectionnement par rapport à celui de la figure 23; en effet, dans le cas de la figure 23a, comme expliqué ci-dessus, dans le premier cycle, à savoir le cycle d'initialisation (INIT = 1), la mémoire 100 est remise à zéro 5 par le multiplexeur 106, qui force à zéro son entrée 100a pour DATA IN; au contraire, dans le montage selon la figure 23c, un effet mémoire est ajouté au bloc STN(2) en remplaçant, l'arrivée du signal " zéro " sur l'entrée 1 du multiplexeur 106 par l'arrivée du Kin-1 signal de sortie 120s corrigé par le facteur Km l0l Toutefois, la mise en oeuvre de ladite fonction de transfert dans le bloc 120 oblige à augmenter la longueur des " mots " stockés dans la mémoire 100, donc à surdimensionner celle-ci, par rapport à la mémoire 100 de la figure 23a; en effet si, par exemple, la mémoire 100 de la figure 23a était prévue pour stocker 15 des mots de 10 bits et si le coefficient Km (appliqué au bloc 120 de la figure 23c), peut varier de 1 à 2m, la capacité de la mémoire 100 de la figure 23c doit être dimensionnée pour stocker des mots de
(10+m) bits.
Le signal Km est débité par un registre 121 commandé par 20 I'API du module STN(2), en fonction de l'importance de
l'apprentissage désiré pour ce module.
On notera que l'addition du bloc 120 et du registre 121
illustrée sur la figure 23c pour un module bi-dimensionnel STN(2) peut s'appliquer également à un module mono-dimensionnel 25 STN(1) tel qu'illustré sur la figure 20.
Enfin, en plus des modules STN mono-linéaires et bilinéaires, l'unité 8 des figures 17 et 18 peut comporter des modules STN tri-linéaires, par exemple pour les trois paramètres
représentant une couleur, tels que les paramètres LTS (ou RGB).
Un module tri-linéaire est analogue au module bi-linéaire de la figure 23a-23b (éventuellement avec le perfectionnement de la figure 23c), à part le fait que e d'une part, le bloc 130 de l'unité de calcul d'histogrammes CH d'un registre STN(3), au lieu de pouvoir impartir un seul 35 décalage, comme dans ce module STN(2), est capable de commander deux décalages, à savoir pour les deuxième et troisième DATA (les trois DATA étant par exemple DATAL, DATAT et DATAs; * d'autre part les unités référencées (1) et (2) de la figure 5 23a-23b sont accompagnées d'une troisième unité semblable aux unités 101(1) et 101(2), 1063(1) et 1063(2), 1064(1) et 1064(2) 1041(1) et 1041(2), 1042(1) et 1042(2); * le calcul des valeurs POSMOY et des calculs d'anticipation
et de classification sont triples au lieu d'être doubles.
Le fonctionnement d'un module STN tri-linéaire est analogue à celui du module bi-linéaire illustré sur la figure 23a-23b à part le fait que l'on traite successivement les trois paramètres dans trois ensembles référencés (1), (2) et (3) au lieu de deux ensembles (1) et (2) seulement, les trois paramètres tels que L, T et S étant 15 traités successivement de même qu'ont été traités successivement, dans le module bi-linaire, les paramètres x et y. On obtient ainsi Borne AL, Borne BL, Borne AT, Borne BT, Borne As et Borne Bs enfin, tandis que le signal global de sortie de l'ensemble 101 de la figure 23a-23b est constitué par un signal 101s (appliqué au bus 20 114) débité par la sortie d'une porte ET 131 à deux entrées (recevant les sorties de 101(1) et 101(2)), le signal de sortie d'un module tridimensionnel STN(3) est constitué par le signal débité par la sortie d'une porte ET (non illustré) comportant trois entrées pour recevoir les sorties des unités 101(1), 101(2) et de l'unité 25 supplémentaire 101(3) (non illustrée) analogue aux unités 100(1) et
101(2).
La figure 25 illustre une solution pour améliorer la
classification des paramètres DATA à bornes multiples (en nombre quelconque) avec anticipation. Sur cette figure 25, on a repris 30 I'essentiel des dispositifs STN(2) des figures 23a-23b ou 23a-23c.
* La figure 25 est identique à la figure 23a-23b exceptée l'unité 101 qui est remplacée par l'unité 101c constituée d'une mémoire 118, égale en nombre de mots à la mémoire 100 mais de largeur de
mot de 1 bit, et par l'adjonction d'un multiplexeur 144 à 2 entrées.
Ce multiplexeur 144 est commandé par un signal de fin d'opération END, qui lorsqu'il est égal à zéro, transmet en sortie le résultat des unités 145 et 146 et lorsqu'il est égal à un, transmet en sortie le signal 105s. Le multiplexeur 144 débite un signal de 5 sortie 144s sur l'entrée ADRESS d'une mémoire 118 dont l'entrée DATA IN est constituée de la sortie d'un comparateur 1151 qui reçoit sur son entrée Q la moitié de RMAX en provenance de son registre et sur son entrée P la sortie 105s de la mémoire 100; ce comparateur 1151 compare le signal d'entrée sur son entrée P et.o celui de son entrée Q et si P > Q, le comparateur 1151 débite un signal, égal à un, sur l'entrée DATA IN de la mémoire 118, et égal à zéro dans le cas contraire. C'est ce signal sur la sortie OUT de la mémoire 118 qui constitue alors le signal 101s de sortie, avec
anticipation, appliquée au bus 114.
La mémoire 118 de ce module 101c est écrite durant le cycle de mise à jour des registres résultats, signal END égal à un. Pour chacune des adresses de la mémoire 100 et donc de la mémoire 118, par l'intermédiaire de l'action du multiplexeur 144, une comparaison est faite entre la valeur de la mémoire 100 et un seuil 20 défini par la commande CHOIX, et défini par la valeur du bit à écrire dans la mémoire 118; égal à 1 si la valeur de la mémoire 100 est supérieure ou égale au seuil zéro dans le cas contraire, la commande d'écriture de la mémoire 118 étant définie par le signal END. La classification avec anticipation est effectuée durant le cycle de calcul, par l'intermédiaire de l'action du multiplexeur 144, qui transmet le résultat du paramètre DATA, modulé par l'anticipation, en tant qu'adresse de la mémoire 118, la sortie OUT
de cette mémoire définit la valeur de classification.
A part ceci, la mise en oeuvre du perfectionnement de la figure aboutit à un résultat analogue, quoique amélioré, à celui obtenu par la mise en ceuvre des moyens illustrés sur les figures 23a-23b,
ou 23c-23b.
L'apparition de deux pics au cours d'une même séquence à la 35 suite de l'augmentation brusque de la résolution au début de cette séquence, par exemple en phase tl (figure 3) est illustrée sur la figure 21b (déjà considérée) dans le cas d'un histogramme unidimensionnel (pics P1 et P2) et sur la figure 24 (également déjà considérée) dans le cas d'un histogramme bidimensionnel (pics V1 5 et V2). Ces pics correspondent à deux classes dans la classification
de l'histogramme des valeurs de CO (figure 21b) ou DATA(Ax) et DATA(Ay) (figure 24). Le module unidimensionnel STN(1) de la figure 20 ou le module bidimensionnel STN(2) de la figure 23a-23b permet d'extraire la classe dominante représentée par le pic P2 ou V1 respectivement.
L'apparition de plusieurs pics ou classes se produit, par exemple, lorsqu'on analyse une scène observée, d'une manière générale, avec un paramètre de mouvement MVT, car il peut y avoir un mouvement global ou d'ensemble, par exemple un effet de 15 travelling ou de zoom de l'objectif par rapport à la scène associé à des mouvements particuliers, ou une expansion à partir d'un point d'expansion (en particulier dans le cas d'un caméscope embarqué
dans une auto qui avance sur une route).
Dans le cas envisagé maintenant d'au moins deux pics 20 apparaissant pendant une même séquence, il est avantageux d'extraire plus d'une classe au cours de cette séquence afin de gagner du temps de traitement et de préserver la dynamique
d'apparition de ces classes.
Une solution simplifiée, consiste à déterminer la classe 25 dominante (pic P2 ou Vl) dans un premier module STN pendant une première séquence, à éliminer par inhibition cette classe, à déterminer la nouvelle classe dominante, et (après ladite inhibition) sur un deuxième module STN pendant la séquence suivante, à inhiber cette nouvelle classe dominante, à déterminer, sur un 30 troisième module STN au cours d'une troisième séquence, une nouvelle classe dominante, et ainsi de suite jusqu'à la dernière classe. Une telle disposition est illustrée sur la figure 26 (planche 12) comportant trois modules STN, de type unidimensionnel STN(1), 35 par exemple selon la figure 20, traitant le mouvement MVT et notés ST1, ST2 et ST3; ces modules reçoivent tous sur leur entrée a, le paramètre Z; le signal de sortie MVT1 de ST1, représentatif de la première classe dominante de MVT, est envoyé au temps ti, à titre de signal d'inhibition, sur une seconde entrée b, d'inhibition, de 5 ST2 établi au temps t2, tandis que le signal de sortie MVT2 du module ST2, représentatif de la deuxième classe dominante de MVT1, et le signal de sortie MVT1 du module ST1, représentatif de la première classe dominante, sont transmis, à titre de signaux d'inhibition, sur les deuxième et troisième entrées d'inhibition b et 1o c de ST3 qui débite le signal de sortie MVT3 représentatif de la
troisième classe dominante de MVT.
Un tel processus exige malheureusement beaucoup de temps
de traitement, étalé sur plusieurs phases tO, tl, t2 (figure 3).
Une solution pour accroître la rapidité est illustrée sur la 15 figure 27, sur laquelle le module unidimensionnel STN, noté ST'0, opérant pendant la phase to extrait l'ensemble des classes du signal MVT pendant le cycle CALCUL et, durant le cycle RESULTAT, extrait l'une après l'autre, les différentes classes, par ordre quantitatif décroissant, et les réécrit dans les modules STN 20 associés. La première classe dominante trouvée est transférée dans un deuxième module unidimensionnel STN, noté ST'1. Les valeurs classifiées de la mémoire d'histogramme 100 sont alors comptabilisées pour créer une nouvelle valeur NBPTS transférée et mises à zéro, ce qui permet de déterminer une nouvelle classe 25 dominante dans ce deuxième bloc ST'1, qui débite le signal MVT1, représentatif de la nouvelle classe dominante de MVT. Les opérations de transfert du nouveau résultat de la classification et des nouveaux registres 104 de l'unité ST'0 sont recommencées en alimentant cette fois le module STN, noté ST'2, qui débite une 30 nouvelle classe dominante MVT2 de MVT, et ainsi de suite, jusqu'à épuisement des valeurs d'histogramme dans la mémoire 100. Ainsi sur la figure 27, on a illustré un troisième module unidirectionnel ST'3 qui débite un signal MVT3 représentatif d'une nouvelle classe
dominante MVT.
Un autre moyen d'accélérer la détermination de plusieurs classes apparaissant dans une même séquence consiste à repérer ces classes pour déterminer des niveaux de la quantité de pixels à
partir de la valeur maximale.
On peut comparer un tel procédé, appliqué à un histogramme bilinéaire DATA(Ax) et DATA(Ay) du type illustré sur la figure 24 avec au moins deux pics V1, V2, lorsque la résolution croît par paliers, à une topographie vallonnée avec au moins deux sommets, recouverte d'une nappe d'eau,lorsque ce niveau décroît pour 10 laisser apparaître au moins deux sommets pour certain degré de baisse du niveau de l'eau. En effet, lorsque deux ou plusieurs sommets apparaissent en même temps, par baisse du niveau de l'eau d'une certaine hauteur, il faut les classer par hauteur décroissante. Cette comparaison illustrative permet de mieux 15 comprendre le procédé d'extraction de classes successives qui
sera exposé ci-après.
Par exemple dans un module bilinéaire STN(2) tel que celui de la figure 23a-23b avantageusement modifié selon la figure 25, I'histogramme comportant plusieurs pics est mémorisé dans la 20 mémoire 100, tandis que le classifieur 118 constitue une mémoire à un bit (0 ou 1), la valeur 1 correspondant à un dépassement par la valeur du paramètre, tel que A, déterminé par BORNE Ax, BORNE Bx, BORNE Ay, BORNE By, suivant le schéma: Mémoire histogramme 100 Classifieur 118 adresse quantité classe associée O x O 1 x O 2 x 0 3 x 0 :. x O
I A 1
j B 1 n x 0 On voit que le classifieur 118 débite " 1 >" en tant que signal 101s lorsque la valeur A ou B du paramètre dépasse le seuil prévu, tel que RMAX/2, en sortie de l'unité de sélection 1152 (figures 20, 23b ou 25). Pour extraire plusieurs classes au cours d'une séquence, il
suffit d'ordonner les RMAX par valeurs décroissantes dans le registre 1044, de mémoriser les seuils A/2, B/2 des classes et de prévoir un registre pour le nombre de classes dont les seuils ont 10 été mémorisés.
On réalise donc le schéma suivant MO: mémoire de M1: mémoire des M2: classifieur M3: mémoire des Rc: Registre du I'histogramme 100 adresses multi-classes seuils des classes nombre de classes ordonnées en RMAX Adresses Quantité Adresses RMAX Adresses Classe Adresses Seuils pt p classés pt Rc 0 x 0 i 1 1 A/2 2 1 x 1 j 2 2 B/2 2 x 2 3 x 3 i A I I (1) j B j 0 j (2) n x n n n o0 w. Le tri et l'ordonnancement par valeurs décroissantes de
RMAX du contenu de la mémoire 100 pour obtenir la mémorisation des adresses ordonnées en RMAX décroissants est réalisable par un logiciel de traitement qui comprend trois cycles successifs 5 d'initialisation, de calcul et de mise à jour des registres de résultats.
1. Le cycle d'initialisation consiste en la remise à zéro de toutes
les mémoires Mo, M1, M2, M3 et du registre Rc.
2. Le cycle de calcul consiste essentiellement à déterminer et 10 mémoriser dans la mémoire M0 les valeurs de l'histogramme
déterminé par le module STN.
3. Le cycle de mise à jour des registres de résultats, dont l'organigramme est illustré sur la figure 28, comporte trois sous-cycles successifs A, B et C. C'est au cours de ce cycle de mise à jour des registres de résultats (illustré sur la figure 28) qu'est effectuée l'extraction'des classes dans le cas o plusieurs classes apparaissent en cours d'une même séquence (constituée par exemple par une ou
plusieurs trames ou images vidéo).
Le premier sous-cycle A réalise au commencement le tri, par
valeurs décroissantes, des RMAX contenus dans la mémoire d'histogrammes M0 et l'inscription, dans la mémoire M1, des adresses successives de ces valeurs décroissantes, comme indiqué par (M1) = Tri (M0) sur la figure 28 (la mémoire M1 reçoit le 25 résultat du tri de la mémoire M0).
Le deuxième sous-cycle B recherche et définit les différentes classes de l'histogramme contenu dans la mémoire MO. Il comporte plusieurs étapes, à savoir successivement i. Une première étape d'initialisation 500 qui met à zéro, d'une 30 part, un pointeur p qui parcourt les adresses successives, de 0 à n inclus (en passant par i et j), de la mémoire M1 et, d'autre part, le registre Rc du nombre de classes dans lequel est inscrit le nombre de classes précédemment trouvé (p=0 et Rc=0). ii. Une deuxième étape dans laquelle une boucle déroule successivement toutes les valeurs de p, depuis 0 jusqu'à n inclus, pour exécuter, pour chacune de ces valeurs, les trois opérations successives du bloc 501 de la figure 28, à savoir successivement a) la détermination d'une position pt du pointeur égale au contenu de la mémoire de tri M1 à l'adresse p (501a, figure 28), à savoir pt = (M1)p, c'est-à-dire le contenu de la mémoire M1 au niveau du pointeur p; _0 b) la détermination d'une valeur A égale au contenu de la mémoire M0 d'histogramme à l'adresse pt (501b figure 28), à savoir A=(M0) pt; et c) la récupération des valeurs notées a, b et c (ou a, b...) adjacentes à celle de la classe sélectionnée dans la mémoire 15 des classes M2 au niveau ou adresse pt, à savoir pt + 1 (a, b) pour un histogramme unilinéaire (deux positions), ptx + 1 et pty + 1 a, b... pour un histogramme bilinéaire (huit positions), ptx + 1, pty + 1 et ptz + 1 (a, b...) pour un histogramme trilinéaire (26 positions), comme résumé en 501c sur la figure 28; en effet 20 dans le cas d'un traitement unidimensionnel, il y a deux emplacements pt + 1, de part et d'autre de pt; dans le cas d'un traitement bidimensionnel, il y a huit emplacements pt + 1, à savoir sur les carrés périphériques de la grande surface carrée constituée par 3 x 3 carrés juxtaposés dont le carré pt constitue 25 le centre; dans le cas d'un traitement tridimensionnel, il y a 26 emplacements pt + 1, à savoir dans les cubes périphériques du grand volume cubique constitué par 3 x 3 x 3 cubes juxtaposés
dont le cube pt occupe le centre.
i. Une troisième étape de test 502 pour déterminer s'il n'y a pas 30 (" OUI ") ou s'il y a des valeurs adjacentes (l'absence de ces
valeurs correspond au cas o a = b = 0).
ii. Une quatrième étape comportant deux traitements possibles Premier cas: le test 502 a révélé qu'il n'y a pas (" OUI ") des valeurs adjacentes, telles que a, b...; dans ce cas un automate 504 est activé pour exécuter les opérations successives suivantes: a) le registre Rc du nombre de classes est incrémenté de <" 1 ", ce qui est noté classiquement Rc++ (opération 504a, figure 28); b) le seuil associé A/2 est mémorisé dans la mémoire M3 (figure 28) à l'adresse définie par la valeur du registre Rc (opération 504b, figure 28); c) la classe définie dans le registre Rc (504c, figure 28) 10 est inscrite dans le mémoire de classes M2, à l'adresse
définie par la position pt du pointeur.
Deuxième cas: le test 502 a révélé qu'il y a au moins une valeur adjacente: dans ce cas un automate 503 est activé pour exécuter les opérations successives suivantes: a) les opérations logiques 503a, 503b et 503c sélectionnent la valeur la plus faible (non nulle) de classe parmi les différentes valeurs des classes (a ou b) adjacentes a, b b) cette valeur est inscrite dans la mémoire M2 de classes 20 à l'adresse définie par la valeur pt (501a, figure 28), en distinguant le cas de l'inscription d'un " a " non nul de celle d'un " b " non nul (opération 503d ou 503e respectivement). A la fin du sous-cycle B, le paramètre p du pointeur est 25 incrémenté d'une unité (p++ de l'opération 510) quel que soit le
résultat des tests 502, 503a, 503b, 503c.
Le troisième sous-cycle C effectue l'actualisation des modules
STN requis pour la détection d'au moins deux classes trouvées pendant une même séquence, comme illustré sur la figure 28, ce 30 sous-cycle comportant plusieurs étapes.
i. La première étape comporte une opération 505 qui met à
" 1 "> la valeur du registre des classes actuelles CI-Actu.
(Les étapes suivantes comportent, emboîtées l'une dans l'autre, deux boucles, à savoir 508 et 509, cette dernière 35 logée dans la première) ii. La deuxième étape comprend la première opération de la boucle 508, à savoir le déroulement de toutes les classes ClActu trouvées, de 1 à la classe finale définie par le registre
Rc du nombre de classes.
iii. La troisième étape est effectuée par un automate 507 qui - attribue à un nouveau module STN un numéro d'ordre égal à la valeur de la classe actuelle CI-Actu, - détermine le seuil de décision correspondant au contenu de la mémoire M3 à l'adresse définie par la classe actuelle 10 CIActu, et - initialise à " 0 " le pointeur p. iiii. La quatrième étape est effectuée par la boucle 509 dont la première opération consiste à réaliser un test (opération 509a) pour déterminer si le contenu qui vient d'être transcrit 15 dans la mémoire M2, (opérations 503d, 503e, 504c, figure 28)
à l'adresse p du pointeur, est égal ou non à la valeur de ClActu.
- si ce contenu est différent de la valeur de CI-Actu, l'automate remet à zéro le contenu de la mémoire 118 du 20 module STN sélectionné précédemment, (opération 509b), mais - si le contenu est égal à la valeur de CI-Actu, le test 509c détermine si le contenu de la lecture d'histogramme M0 à l'adresse p est plus grand que la valeur du seuil et, dans ce 25 cas, le contenu de la mémoire 118 1 bit du module STN attribué est mis à " 1 " à l'adresse p; dans le cas contraire, ce contenu est mis à " 0 " (opérations 509d et 509b respectivement). iv L'étape finale consiste à incrémenter de " 1 " I'adresse du 30 pointeur p (opération 509e) et, lorsque cette adresse dépasse n (opération 509f), à incrémenter de " 1 >" CI-Actu (opération
511); alors la boucle 508 peut recommencer.
Enfin, la nouvelle valeur de CI-Actu est injectée à l'entrée de
la boucle 508, c'est-à-dire à l'opérateur 506, à la place de la valeur 35 antérieure à CI-Actu.
C'est le montage de la figure 27 (discutée ci-dessus) qui permet de mettre en oeuvre le logiciel à trois sous-cycles A, B et C. En fait, ce logiciel met en oeuvre un nombre minimal de traitements égal à n.[log(n)+ Rc+1]; si n est élevé, le nombre de traitements 5 risque d'être très important, donc relativement long; dans ce cas, il est préférable de réaliser autrement l'extraction des classes,
comme exposé ci-après.
Pour pallier cette difficulté, on peut mettre en ceuvre un montage électronique permettant une mise à jour du tri des classes lo pendant le cycle de calcul. Dans ce cas, les mémoires M0 et M1
sont prêtes à la fin de cette phase de calcul et le logiciel du cycle d'affichage des résultats ne comprend plus que les sous-cycles B et C et n'exige plus qu'une durée réduite, ce qui est très avantageux. Le nombre minimal de traitements devient égal à 15 n.(Rc+1).
La figure 28a reprend l'organigramme de la figure 28 appliqué en tant que API intégré en vue d'une optimisation maximale en vitesse d'exécution. Le sous-cycle A est intégré à la phase calcul
et sera explicité ultérieurement.
L'organigramme démarre au début du cycle de mise à jour des registres résultats, directement dans le sous-cycle B, en recherchant et définissant les différentes classes de l'histogramme M0, associé à son tri M1, contenu dans l'unité 600 et obtenu par la phase calcul précédente. Ce sous-cycle B comporte les mêmes 25 étapes définies à la figure 28 excepté les détails suivants: * dans l'étape d'initialisation 500, un drapeau BUSY est validé, * les opérations a) et b) du bloc 501 de la figure 28 sont remplacées par * la commande d'aiguillage d'adresse Sel.pp est dévalidée, 30 (514, figure 28a) permettant l'accès de l'unité 600 par son décodage d'adresses 601 en rang p, * la détermination d'une position pt du pointeur égale au contenu de la mémoire de tri M1 à l'adresse p, soit (POSRMAX)p (501la', figure 28a), la détermination d'une valeur A égale au contenu de la mémoire M0 d'histogramme à l'adresse pt, soit (RMAX)p (501b', figure 28a), et * le changement d'aiguillage d'adresse Sel. pp est validé afin 5 d'accéder aux différentes mémoires avec les mêmes champs
d'adresse (p équivalent à DATA(A)).
Le troisième sous-cycle C effectue l'actualisation de la mémoire M2, servant de classifieur en cycle calcul. Ce sous-cycle C comporte les mêmes étapes définies à la figure 28 excepté o l'étape 509b qui est annulée, et les étapes 509c et 509d de la figure 28 qui sont remplacées par les étapes 509c' et 509d' de la
figure 28a.
Le test 509c' détermine si le contenu RMAX de la lecture de l'histogramme 600 par l'intermédiaire du multiplexeur 105 à 15 I'adresse p est plus grand que la valeur du seuil et dans ce cas, une opération (509d', figure 28a) de lecture de la mémoire M2 est faite au travers du multiplexeur 105, un drapeau Val est accroché
et le tout est réécrit à la même adresse.
En fin de sous-cycle C, les classes Rc classes transcrites, la 20 commande d'aiguillage Sel.pp est dévalidée (512, figure 28a) et le
drapeau BUSY annulé (513, figure 28a).
Il peut également être avantageux de connaître le nombre de
pixels appartenant à chacune des classes trouvées, dans ce cas une mémoire M4 est dédiée aux valeurs NBPTS de chacune des 25 classes décrites.
En reprenant l'organigramme de la Figure 28a et en le complétant, dans le sous-cycle C, la valeur NBPTS correspondant à la position mémoire M4 d'adresse CI-Actu est mise à jour en ajoutant les deux étapes suivantes: * une initialisation de la mémoire M4 à l'adresse CI-Actu dans l'étape 507, figure 28a, * un cumul des valeurs RMAX valides dans cette position mémoire M4 en sortie OUI du test 509'c par la fonction
(M4)cI-Actu = (M4)cI-Actu + (RMAX)p.
Le dénombrement (NBPTS) des éléments classés permet également de calculer le barycentre (POSMOY) de chacune des classes par l'adjonction d'un souscycle D en fin de sous-cycle C. En reprenant l'organigramme de la Figure 28a et en le 5 complétant, dans ce sous-cycle D, sont utilisées deux mémoires supplémentaires, une mémoire temporaire de calcul MT et une mémoire M5 de sauvegarde des résultats POSMOY liées à chacune
des classes définies précédemment.
- Ce sous-cycle D débute par une initialisation à zéro des 10 mémoires MT et MS, et du pointeur p. - Suit une boucle de calcul des valeurs POSMOY pour toutes
les valeurs de p de 0 à n inclus.
- La première opération de cette boucle consiste à lire la valeur
de classe Cl de la mémoire M2 à l'adresse p et à vérifier si le 15 drapeau Val associé est présent ou non.
[Val, Cl = (M2)p] - Si ce drapeau est présent, l'automate suivant vérifie que le
contenu de la mémoire temporaire MT à l'adresse Cl, est inférieur au contenu divisé par deux de la mémoire M4 à 20 I'adresse Cl.
[(MT)cl < (M4)ci / 2] - Si le test précédent est vérifié, alors il y a cumul de la valeur histogramme RMAX à l'adresse p dans la mémoire MT à
l'adresse Cl.
[(MT)cl = (MT) ci + (RMAX)p] et il y a sauvegarde du pointeur p dans la mémoire POSMOY
M5 à l'adresse Cl.
[(M5)ci = p] - l'étape finale consiste à incrémenter de " 1 " I'adresse du 30 pointeur p et à recommencer la boucle tant que cette adresse
est inférieure ou égale à la valeur n.
Dans le cas d'un calcul d'histogramme multilinéaire, le pointeur p représente les différents champs de la donnée DATA. La boucle précédente de calcul définit la partie de champs de 35 POSMOY par la partie de champs la plus à gauche de la valeur p. Il est donc nécessaire de recommencer le traitement de boucle autant de fois que le nombre de champs définissant la donnée DATA(A), et en permutant les champs de la valeur p.
Par exemple, pour une donnée bi-linéaire DATA (Ay, Ax), il 5 est nécessaire de défiler deux fois la boucle, une première fois avec p défilant de 0 à n, le résultat correspondant à la partie y POSMOY (y), puis la deuxième fois en commutant les deux champs de p qui défile de 0 à n, le résultat correspond alors à la partie x POSMOY (x). La combinaison de ces deux champs correspond au lo barycentre POSMOY (x,y).
Nous venons de décrire un procédé et un dispositif associé permettant d'extraire plusieurs classes et leurs barycentres
associés à partir d'un paramètre multilinéaire.
Sur les figures 29a et 29b, on a disposé côte à côte, d'une 15 part (figure 29a, qui résume la figure 23a-23b), le mode de réalisation sans tri des classes pendant le cycle de calcul selon le procédé décrit cidessus et, d'autre part (figure 29b), le mode de
réalisation avec tri des classes pendant le cycle de calcul.
Cette version de la figure 29b avec tri intégré correspond à 20 l'assemblage, en une seule unité 600, des mémoires M0 et M1,
cette unité M0-1 contenant en regard les RMAX et les POSRMAX pour les valeurs de 0 à p (inclus) du pointeur, I'ordonnancement étant effectué par ordre décroissant de RMAX en partant de la position 0 à la position n (comme indiqué sur les deux tableaux 25 précédents).
Cette unité 600 effectue le tri des RMAX par ordre décroissant, et donc aussi des POSRMAX, et l'API 602 commande un algorithme qui lit directement à l'adresse p (entre 0 et n) décodée par l'unité 601, la valeur maximale de l'histogramme 30 (RMAXn), (A=(RMAX)p opération 501b', figure 28a) et sa position
réelle (POSRMAXn) (pt=(POSRMAX)p opération 501a', figure 28a).
Le contenu RMAX est aussi accessible par sa position POSRMAX à l'aide d'un multiplexeur 105, commandé par un signal Sel.pp, qui dirige la valeur d'adresse ADRES-p dans l'unité 600, le 35 signal de sortie OUT de ladite unité est alors dirigé sur l'entrée LECT-p de l'unité 602 par l'intermédiaire d'un multiplexeur 654 commandé par le signal Sel.pp issu de l'unité 602. Cette opération est effectuée lors du test (opération 509c', figure 28a) de la valeur
RMAX à la position p avec une valeur de seuil prédéfini.
Dans le cycle calcul, la mémoire M2 fait office de classifieur multiclasses, le signal Sel-pp étant alors dévalidé, le multiplexeur 105 transmet le signal DATA(A) en tant qu'adresse à la mémoire M2 qui débite un signal 651s accompagné d'un signal Val, actif dans le cas d'une classe définie. Ce signal 651s passe au travers 10 d'un démultiplexeur 653 qui est validé sur son entrée En par le signal Val issu de la mémoire M2. Cette unité 653 débite des signaux Cl1 à Clk représentatifs de la classe d'appartenance du
signal d'entrée DATA(A).
L'ensemble 603 des unités 600 et 601 est illustré plus en 15 détail sur la figure 30.
La figure 29b est représentée plus en détail sur la figure 30 qui développe cette figure 29b, tandis que les figures 31 et 32 illustrent (d'une manière plus détaillée) des portions de la figure 30, à savoir respectivement l'unité B0 qui ne comporte pas d'entrée 20 RMAX et POSRMAX, et l'une quelconque des unités B1, B2... Bn
qui possèdent une entrée RMAX et une entrée POSRMAX. Bien entendu, il est possible de ne faire comprendre au bloc mémoire 600 que des ensembles du type illustré sur la figure 32, en n'utilisant pour l'unité B0 qu'une partie seulement de l'ensemble de 25 la figure 32 (sans les blocs multiplexeurs MUX en entrée).
Avec référence d'abord aux figures 29b, 30 et 31, on constate que B0 reçoit en entrée: * le signal IN 107s, à savoir le signal de sortie de l'additionneur 107 à deux entrées recevant, I'une, un signal de validation 30 VALIDATION et, I'autre, l'un des signaux de sortie OUT des blocs B0, B1, B2.... Bn, * un signal d'adresse ADRES-p en provenance de l'API 602, à travers l'automate 601, * un signal de calcul CALCUL, * un signal de démarrage INIT en provenance d'un séquenceur externe (non illustré), et
* la sortie d'un multiplexeur 105 servant de signal d'adresse ADRin pour les blocs B0, B1, B2... Bn.
Dans les registres RMAX 704 et POSRMAX 705 de M0 (figure 31) sont mémorisées les valeurs des signaux d'entrée IN et
(ADR-in) respectivement.
L'entrée d'un signal IN 107s, correspondant au nouveau cumul, est validée par un comparateur 706 à entrées P et Q, la _o première recevant le nouveau signal IN et la seconde le contenu du registre RMAX 704, si et seulement si P > Q, c'est-à-dire si la valeur du nouveau signal IN est supérieure au RMAX déjà mémorisé, car, dans ce cas, on inscrit une nouvelle valeur de RMAX plus élevée. Cette inscription du nouveau RMAX est réalisée 15 à travers la porte ET 707 qui produit, pendant le cycle de calcul (signal CALCUL), un signal d'inscription WRITE appliqué à l'entrée
enregistrement En du registre 704 de RMAX.
En même temps l'adresse du nouveau RMAX est inscrite dans le registre POSRMAX 705 par son entrée En sous la commande du 20 signal d'inscription WR issu de la porte 707 pendant le cycle de calcul. Le signal de sortie OUT de l'unité M0 est égal à " 0 " si l'entrée En de l'unité 708 comportant une porte ET n'est pas validée, tandis qu'il est égal au contenu du registre RMAX si cette 25 entrée est validée; la validation est réalisée au moyen d'un signal 709s constituant la sortie du comparateur 709 qui compare le signal (a) adresse ADR-in entrant et le contenu (b) du registre POSRMAX, ce signal 709s de validation étant émis par le comparateur 709 si et seulement si a = b, c'est-à-dire si le signal 30 ADR-in représente effectivement l'adresse ou position de RMAX,
c'est-à-dire POSRMAX.
Le bloc B0 de la figure 31 comporte également une porte ET 710 à trois entrées recevant le signal 706s de sortie du comparateur 706, le signal 709s de sortie du comparateur 709, 35 après inversion, et le signal de calcul CALCUL de la bascule 711 après la première opération CALCUL suite à l'arrêt du signal
RESET.
Finalement, en plus de son signal de sortie OUT vers l'additionneur 107 (figures 29b et 30), I'unité M0 débite, cette fois 5 vers le bloc suivant noté M1: RMAXout, POSRMAXout, un signal ao, qui est vrai si le signal IN est supérieur au contenu du registre RMAX 704, et enfin un signal de transmission TRo, qui est égal à " 0 " pour le traitement du premier pixel d'une séquence et qui est vrai lorsque le signal 706s sortant du comparateur 706 est égal à 1, 1o c'est-à-dire lorsque a0 = 1, et lorsque le signal ADRES est différent du contenu du registre POSRMAX 705, c'est-àdire lorsque le
signal 709s représente a É b.
C'est le signal INIT qui déclenche le signal RESET qui, d'une
part, initialise, en les remettant à zéro, les registres RMAX 704 et 15 POSRMAX 705 et, d'autre part, la sortie de la bascule 711.
Quant au synchronisme du fonctionnement de l'unité M0, celui-ci est assuré par le front avant montant des impulsions d'une
horloge (non illustré) définissant le cycle des séquences pixels).
Les quatre signaux de sortie RMAXout, POSRMAXout, ao et TRo 20 de l'unité M0 sont appliqués en entrée à l'unité suivante B1.
Sur la figure 32, on a illustré une unité Bi représentative d'une
des unités B1 à Bn.
L'unité Bi reçoit, d'une part comme l'unité M0, les signaux de commande IN, ADR-in, CALCUL et INIT (dont dérive RESET) et, 25 d'autre part, RMAXin, (constitué par RMAXout de l'unité précédente),
ai-1,TRi-1 et POSRMAXI., (constitué par le POSRMAXout de l'unité précédente), en provenance de l'unité B antérieure (M1 recevant les signaux de sortie RMAXoUt, ao, TRo et POSRMAXout de M0, tandis que l'unité Mi reçoit les signaux de sortie correspondants de 30 I'unité Mi-1) .
L'unité Bi comprend d'abord deux multiplexeurs 712j et 713i qui permettent de choisir entre deux entrées pour chacun des registres RMAX 704i et POSRMAX 705j (analogues respectivement
aux registres RMAX 704 et POSRMAX 705 de la figure 31).
Ainsi le multiplexeur 712i choisit entre l'entrée IN et la valeur du registre RMAXin de l'unité B en amont (B0 ou plus généralement Bi-1), tandis que le multiplexeur 713i choisit entre l'entrée ADR-in et la valeur du contenu du registre POSRMAXin de l'unité B en 5 amont. Ces deux sélections sont déterminées par le signal de sélection SelMux pour les multiplexeurs: les signaux IN et ADR-in, reçus sur les entrées 1 des multiplexeurs, sont validés par SelMux si le signal IN a une valeur supérieure à celle contenue dans le registre RMAX 704i (la comparaison étant effectuée dans le 0o comparateur 706i) et si le signal d'entrée ai1, , en provenance de l'unité B en amont, est égal à " 0 ", la porte ET 714i débitant un signal 714s si le comparateur 706i débite un signal et en même temps a1-1, avant inversion, est nul. Par contre dans les autres cas (P est plus petit ou égal à Q et/ou a-I est différent de 0), les 15 multiplexeurs 7121 et 713 transmettent RMAX1n et POSRMAXIn de
l'unité Bi-1 (à savoir Bo si BI = B1). On notera que le registre RMAX 704i, le registre POSRMAX 705i et le comparateur 706i, d'une part, le comparateur 709i et la porte 707i; (dont les rôles seront précisés ciaprès), d'autre part, sont analogues aux unités 20 correspondantes de la figure 31 sans l'indice i.
Les portes OU 715i et ET 707i réalisent la validation du signal d'écriture WR pour les registres RMAX 712f et POSRMAX 713j lorsque SelMux ou TR-1, est valide et en même temps le signal
CALCUL commande l'écriture.
Enfin, la porte ET 7101 (analogue à la porte ET 710 de la figure 31) débite un signal TR1 si simultanément le signal de sortie de la porte 715 est valide, le signal d'adresse ADR-in n'est pas égal au signal de sortie du registre POSRMAX 705j et la bascule 711e (analogue à la bascule 711 de la figure 31) est déclenchée par 30 le premier signal WR après l'arrêt du signal RESET résultant du signal INIT. L'unité 708j à porte ET (analogue à l'unité 708 de la figure 31) débite un signal OUT constitué par le contenu de registre RMAX 704i vers l'additionneur 107 (figures 29b et 30) lorsque le
comparateur 709j a constaté l'égalité a = b.
En définitive l'unité Bi débite, en plus du signal OUT, quatre signaux dans l'unité Bi+1 en aval, à savoir RMAXout, ai, TR! et PORSMAXout analogues aux signaux correspondants débités par l'unité Bo de la figure 31. En outre, comme explicité sur la figure 5 30, les signaux RMAXout et POSRMAXout (notés simplement RMAX, avec un indice de 1 à n, et POSRMAX, avec un indice de 1 à n) sont envoyés sur un bloc 617i (à savoir 6171, 6172... 617n), ces blocs, comme le bloc 6170, qui reçoivent les sorties RMAXout (noté RMAXo) et POSRMAXout (noté POSRMAXo) de Bo, étant activés par l0 I'adresse d'indice 0 à n du démultiplexeur 618 sous le contrôle de l'API 602. Par contre la dernière unité Bn débite ses signaux RMAXn et POSRMAXn uniquement vers un bloc 617n activé par le signal d'adresse n du démultiplexeur 618 sous le contrôle de l'API 602. On notera que c'est l'inhibition du signal RESET qui autorise l'écriture dans les registres RMAX 704i et POSRMAX 705i en fin de cycle d'horloge INIT. Quant au signal TR1 il vaut soit << 0 " en sortie à la première écriture desdits registres du bloc Bi soit " 1 "> si le signal WR est valide et que le signal ADR-in est différent du 20 contenu du registre POSRMAX 705i après la comparaison effectuée
dans le comparateur 709i.
Sur la figure 33, on a illustré, d'une manière schématique, la
mise en oeuvre de modules STN, incorporant le procédé d'extraction de classes précédemment décrit dans les figures 29 à 25 32.
Un module STN 660 de ce type, est commandé par un signal de zone Z définissant la zone d'analyse dans la scène, et reçoit, durant la séquence to, le signal de mouvement MVT, ce signal de type bi-linéaire incorpore les informations de détection et vitesse 30 du mouvement des pixels de la scène. En fin de séquence to, durant le cycle END, les différentes classes du mouvement sont extraites et inscrites dans la mémoire M2, le démultiplexeur 653 débite alors les classes CMVT0, CMVT1, CMvT2et CMVT3 durant la séquence suivante tI. Chaque signal de classification commande 35 un module STN de type à extraction multiple de classe encore dit module STN multi-classe recevant chacun un signal bilinéaire de position x/y. Ainsi, le signal de classe CMVTO commande le module STN 661, le signalCMVT2, le module STN 662, le signal CMVT2, le module STN 663, et ainsi de suite compte tenu du nombre de 5 classes trouvées. Il y a autant de modules STN recrutés que de
classes trouvées.
En fin de séquence tl, les signaux de classe ZiMVTj des modules STN recevant le signal x/y définissent toutes les zones associées par catégories de mouvement. Cette mise en oeuvre, en l0 deux séquences, fait apparaître, dans la première séquence, un traitement d'un signal dans le domaine temporel TD, puis dans la seconde séquence, un traitement dans le domaine spatial SD à partir des résultats de classification précédente issus du traitement
antérieur dans le domaine temporel TD.
Durant les séquences t2 et t3, le même principe est appliqué à partir de chacune des classes ZiMVTj qui débitent un signal de commande définissant les zones d'analyses dans la scène. Dans des modules STN de type 664, recevant un signal tri-linéaire L/T/S définissant la couleur du pixel et séparant les différentes classes 20 colorimétriques de chacune des classes ZIMVTj entrantes, est
effectué un traitement dans le domaine temporel TD. Les modules STN de type 665, 661 et 667 en aval des précédents séparent en sous-zones chacun des signaux de classification entrant à partir d'un signal bi-linéaire de position x/y dans un traitement dans le 25 domaine spatial SD.
Ce procédé d'extraction de classes multiples démontre la
performance de perception en rapidité d'exécution grâce à la mise en oeuvre de moyens d'extraction multi-classes. Au bout de quatre séquences tO à t3, la quantité de zones extraites est de loin 30 supérieure aux procédés et dispositifs définis antérieurement.
Après la description des ensembles et sous-ensembles des
figures 17, 18, 19, 20, 22, 23a-23b, 23c et 25 avec représentation des résultats sur les figures 21a, 21b et 24, qui illustrent l'obtention des informations nécessaires concernant la nature de 35 I'objet OB observé et la position de celui-ci dans le cadre de l'utilisation d'un seul signal représentatif, à savoir la luminance L, on va maintenir décrire avec référence aux figures 34 et suivantes des perfectionnements permettant de réaliser la détermination de l'emplacement relatif de deux objets, la mise en oeuvre d'arbres 5 représentant les positions relatives des barycentres des différentes zones, la mise en oeuvre de trois composantes de couleur et enfin la mémorisation et la reconnaissance des objets perçus avec invariance en translation, en taille et en rotation. Sur les figures 170 à 62, on met essentiellement en ceuvre les positions moyennes, appelées également barycentres BarZI, des paramètres ou dimensions appliqués aux entrées des unités STN(1), STN(2) et
STN(3) constituant l'unité 8 des figures 17 et 18.
Sur la figure 34, on a illustré, d'une manière schématique, la mise en oeuvre d'un module STN(2), du type illustré sur les figures 15 23a-23b (éventuellement avec les modifications des figures 23c et/ou 25), et de deux unités d'orientation pcc et pu ces deux unités d'orientation recevant les coordonnées x et y et un angle d'orientation ou de rotation, à savoir a. pour l'unité d'orientation 150 et 3 pour l'unité d'orientation 151, de manière à faire tourner les 20 axes de coordonnées, depuis la position initiale déterminée par les axes x et y jusqu'à une position dérivée définie par les angles a et 3, ou respectivement les pentes pca et pp, ces orientations et
pentes étant représentées sur la figure 34a discutée ci-après.
Le module STN(2) de la figure 34 reçoit donc, comme 25 données d'entrée, non pas DATA(Ax) et DATA(Ay), mais plutôt DATA(Apc) et DATA(App). Le traitement effectué dans le module STN(2) est contrôlé par un registre de programme 152. Finalement, les signaux collectés sur le bus 114 (repris de la figure 23a-23b), représentent en définitive non seulement les Zi mais surtout les 30 barycentres, à savoir BarZi dépendant donc des pentes p, et pg,
c'est-à-dire des angles a et D respectivement.
Sur la figure 34a, on a illustré deux valeurs particulières de l'angle oa, à savoir a, et cc2, et deux droites de pentes pal et pcx2 relativement à la direction de l'axe des x, représentant le 35 traitement dans l'unité illustrée sur la figure 34. Les pentes pa9 et pc10 sont perpendiculaires respectivement aux pentes pcl et poc2 de manière à réaliser des coordonnées cartésiennes de pentes pul
et pc9 pour l'angle al et pox2 et paO1 pour l'angle oE2.
Sur la figure 34a, on a également illustré les bornes a et b, 5 correspondant à la pente pa2, et c et d, relativement à la pente pc9. On définit ainsi l'objet OB par son barycentre BarZo (l'indice " 0 " indiquent qu'il s'agit du premier barycentre ou barycentre d'origine de l'arbre discuté ci-après) dans le losange référencé 160 (constituant la zone initiale Zo) défini par les droites de 1o coordonnées a, b, c et d délimitant cet objet.
En faisant varier ax, donc la pente pc, on réalise une rotation des droites Borne A et Borne B comme illustré sur la figure 35, sur laquelle on a représenté, dans le cadre ou zone Z0, différentes orientations de l'angle a, ce qui correspond à des Zr variables à 15 savoir ZrO (pour cc = 0), Zr10 (pour a = 10 ), Zr30 (pour oa = 30 ) et Zr170 (pour oc = 170 ). Sur cette figure 35, on a illustré en particulier la pente correspondant à l'angle de 30 , à savoir la pente pca30 avec les Borne A et Borne B correspondantes définissant a et b pour la valeur de l'angle a = 30 . On constate sur 20 la figure 35 que, comme il fallait s'y attendre, toutes les bandes BarZr passent par le barycentre BarZo tel que défini sur la figure 34a. Sur la figure 36, qui illustre une variante d'une portion de la figure 23a, à savoir l'unité 101 de celle-ci, on retrouve les 25 comparateurs 110Oa et 111a, d'une part, et 110b et 111b, d'autre part, ainsi que la porte ET 112a (qui reçoit en entrée les sorties directe du comparateur 110a et inversée du comparateur 111a) et la porte ET 112b (qui reçoit les sorties directe du comparateur 110 Ob et inversée du comparateur 111b). On retrouve également sur 30 la figure 36 la porte ET 131 recevant les sorties des portes ET 112a et 112b. La nouveauté consiste, dans le cas de la figure 36, par rapport à la figure 23a, à prévoir, en plus de la porte ET 131, une porte OU 132 qui reçoit, comme la porte ET 131, les sorties des portes ET 112a et 112b. Les sorties des portes ET 131 et OU 35 132 sont envoyées à un multiplexeur 133 commandé par un signal de sélection 134 (commandé par l'API du module STN) entre la sortie de la porte ET 131 et celle de la porte OU 132 et on obtient finalement en sortie du multiplexeur 133 un signal 101s appliqué
(constitué par 131s ou 132s) au bus 114.
En définitive, la figure 36, comme la partie correspondante de la figure 23a, concerne un sous-ensemble de classification (101 sur la figure 23a et 101' sur la figure 36) en mode bi-linéaire, c'est-àdire pour un module STN(2) recevant deux signaux d'entrée à savoir DATA(Ay) et DATA(AX). Dans le cas de la figure 23a, les 1o quatre comparateurs 110a, 110b, 111a et 111b permettent de sortir quatre signaux, à savoir ax, bx, ay, et by respectivement. Du fait des fonctions logiques réalisées par les trois portes 112a, 112b et 131, le signal résultant 101s débité par la porte ET 131 est défini par
101s = (ax.bx).(ay.by).
Comme l'opération booléenne ci-dessus est commutative, on peut transformer celle-ci en
101s = (ay.by).(ax.bx).
Se référant maintenant à la figure 36, qui illustre une variante de la figure 23a, on voit que l'ensemble illustré sur cette figure 36, 25 réalise, en sortie de la porte 131, la même opération booléenne ET que l'ensemble de la figure 23a, le signal de sortie 131s étant égal à celui indiqué ci-dessus. Mais, si l'on considère en outre la porte OU 132, que comprend l'ensemble de la figure 36, on obtient un plus large domaine d'application du signal de sortie de la porte 132 30 par rapport à celui de la porte 131, le signal de sortie 132s s'étend
également à (ay.by) + (ax.bx).
Cette différence est illustrée en comparant les domaines de la figure 37, qui correspond au montage selon la figure 23a, et de la figure 38, qui correspond à un montage selon la figure 36. Sur ces 35 deux figures 37 et 38, on a représenté les axes de coordonnées x et y, ainsi que les bornes Ax et Bx, Ay et By. Dans le cas de la figure 37 (montage selon figure 23a) , le signal de sortie de la porte ET 131 (signal 101s) qui arrive directement dans le bus 114 a pour domaine le rectangle en grisé Zet délimité par les quatre bornes 5 précitées car la porte ET 131 ne laisse passer que le signal compris à la fois entre Borne Ay et Borne Bx et entre les Borne Ay et Borne By; par contre, dans le cas du montage selon la figure 36, le signal 101s est constitué soit par le signal 131s, soit par le signal 132s; dans le premier cas, le domaine de 101s, à savoir.o celui de 131 est celui illustré sur la figure 37; dans le second cas, le domaine 101s, à savoir celui de 132s, est celui illustré en grisé Zou sur la figure 38, ce domaine étant compris soit entre Borne Ax et Borne Bx soit entre Borne Ay et Borne By, en éliminant simplement les rectangles laissés en blanc sur la figure 37, dans 15 lesquels le signal est simultanément inférieur à Borne Ax, en ce qui concerne sa coordonnée x, à la Borne Ay, en ce qui concerne sa coordonnée y, ou bien supérieur à la fois à Borne Bx, en ce qui concerne sa coordonnée x et coordonnée y. On augmente 20 supplémentaire de la figure rapport à celui de la figure 23a Le multiplexeur 133 de la deux solutions, à savoir entre (domaine en grisé sur la figure 25 132 (domaine en grisé sur la désire traiter et ceci sous à Borne By en ce qui concerne la donc grâce à la porte OU 132 36, le domaine d'application par ne comportant pas une telle porte. figure 36 permet de choisir entre les la sortie 131s de la porte ET 131 37) et la sortie 132s de la porte OU figure 38) suivant le cas que l'on la commande du signal 134 de
commande de ce multiplexeur (en provenance de l'API).
Dans le cas illustré sur la figure 35, qui correspond à l'illustration de la seule porte ET 131, on utilisait de nombreuses 30 orientations de bandes étroites ou " lignes ", délimitées par Borne A et Borne B, pour différentes orientations ou pentes, par exemple p(z30 pour la bande Zr30, le barycentre BarZ0 de la zone Zr étant défini par le point de croisement des bandes ZrO (pente 0 ) à Zr
(pente 170 ).
Au lieu de mettre en oeuvre un grand nombre de bandes étroites, on peut avantageusement couvrir le plan de Z0 au moyen de secteurs, comme illustré sur les figures 43a, 43b et 43c, qui correspondent à l'utilisation de la seule porte OU 132 de la figure 36. Après une première séquence de détermination d'une première Z0 et de son barycentre BarZo, le dispositif démarre une deuxième séquence selon la figure 39, sur laquelle la portion en grisé correspond à la portion en grisé de la figure 38 lorsque les 1o axes au lieu d'être orthogonaux, forment un angle (aigu) défini par a1 et a2, tandis que les bornes, au lieu d'être définies par Borne Ax, Borne Bx et Borne Ay, Borne By sont représentatives de la position du barycentre BarZ0 (inclus dans Zo) par les pentes pal et pa2. Sur cette figure 39a, on a représenté les bornes Borne Apcal 15 et Borne Bpcl pour la pente pal et les bornes Apca2 et Bpox2 pour la pente poa2, la zone Zrl étant celle vue par le module STN(2) de la figure 34 en tant que signal 101s dérivé du signal de sortie 132s
de la porte OU 132.
Dans la troisième séquence illustrée sur la figure 39b apparaît 20 un signal supplémentaire représentatif de BarZ1. De ce fait, le
cycle de calcul du module STN(2) de la figure 34 détermine la position de BarZ1 en plus de BarZ0, tandis que le cycle de mise à jour des résultats détermine les nouvelles bornes Borne A'pacl, et B'pcal, d'une part, et A'pca2 et B'pca2, d'autre part, définissant 25 BarZ1.
Dans une quatrième séquence (figure 39c), on affine la sectorisation en divisant la zone sectorielle Z21, déterminée au cours de la troisième séquence en plusieurs sous-zones sectorielles Zra, Zrb, Zrc Zrd par l'adjonction d'un module STN(2) 30 par sous-zone opérant de la même manière que le module STN(2)
mis en oeuvre selon la figure 39a; de ce fait les pentes pal et pa3 sont remplacées par des pentes intermédiaires limitant les souszones précitées.
En fin de cette quatrième séquence un des modules STN(2) 35 de sous-zone a récupéré BarZ1, à savoir la sous-zone Zrc (figure 39c); la bissectrice de cette sous-zone particulière Zrc, définie par deux pentes très voisines, détermine avec précision la pente poE3
illustrée sur la figure 39c.
En considérant la pente pcx4, perpendiculaire à pcx3, on voit 5 que les limites Borne A et Borne B permettent de définir BarZo de la zone Z0 au croisement avec la bande perpendiculaire à pa3 limitée par Borne A et Borne B, tandis que les limites Borne A' et Borne B' permettent de définir BarZ1 au croisement avec la bande perpendiculaire à pcx3 limitée par Borne A et Borne B (cette bande 1o incluant tant BarZ1 que BarZ0). La distance entre les axes de deux bandes perpendiculaires à pa4 passant par BarZo et BarZ1 et perpendiculaires à la bande BarZo-BarZ1 représente la distance p3 entre ces deux barycentres (celle correspondant à l'angle c3); I'angle a3 de la pente pca3 et la distance p3 sont les deux 15 coordonnées polaires de ce barycentre, tel que BarZ1 par rapport au barycentre BarZ0 pris comme origine des coordonnées, et un axe (non illustré), par exemple parallèle au bord inférieur de la
zone Z0 (figures 39a et 39b).
Pour les séquences ultérieures, tous les modules STN(2) sont 20 libérés excepté le module STN(2) ayant récupéré la sous-zone Zrc.
Ce bloc a consigné les résultats p3, ca3, Cca3 dans les registres 1070, 1071, et 1072 respectivement. Ces registres appartenant à la
zone registres résultats 104 du module STN.
Entre BarZo, qui est le barycentre de la zone Zo, et BarZ1, qui 25 est le barycentre de la zone Z1 inclus dans la zone Z0, on a la relation 49 définie sur la figure 40, BarZ0 représentant le " père " dont est issu le " fils " BarZ1, x3 et p3 étant les coordonnées
polaires du fils par rapport au père.
Cette description en quatre séquences montre la méthode de 3o détermination du lien pa entre deux barycentres à partir d'un
recrutement dynamique de modules STN(2) durant les séquences deux à quatre. Les modules STN(2) autres que le module STN(2) sélectionné dans la quatrième séquence, à savoir celui correspondant à la sous-zone Zrc, deviennent disponibles. Il en est de même des modules STN(2) non sélectionnés dans les
séquences antérieures.
Sur la figure 41, on a illustré une unité M(0) constituée par un couple de modules STN, le premier module 296 étant un module 5 monolinéaire STN(1) à un paramètre d'entrée DATA(A), noté simplement A, en 296a, qui est traité par une fonction désirée FoG' pour alimenter un groupe de registres de sortie d'analyse, noté reg 296b, dans lequel s'accumulent des valeurs représentant, sous forme d'histogramme, la répartition statistique du paramètre lo DATA(A); le signal de sortie, en 296c, du module STN(1) 296 est un signal de classification CA 350. Le second module 297 est un module bilinéaire STN(2) à deux paramètres d'entrée, à savoir les coordonnées x et y appliquées en 297a, qui sont traitées par une fonction désirée FoG" de sortie d'analyse, alimente un groupe de 15 registres de sortie d'analyse noté reg 297b classifiant en histogrammes les deux paramètres x et y; un signal de sortie du module STN(2) 297 est constitué par la zone Z0 et il est réinjecté, en tant que signal 297s, sur une entrée auxiliaire 296d du premier module 296, tandis qu'un autre signal de sortie du registre 297b est 20 constitué par BarZ0. Bien entendu, les modules STN(1) 296 et
STN(2) 297 sont avantageusement constitués comme illustrés respectivement sur la figure 20 et sur la figure 23a-23b (éventuellement avec les variantes des figures 23c, 25 et/ou 36), afin d'obtenir finalement, comme expliqué avec référence à ces 25 figures, les signaux de sortie Zo et BarZ0.
Sur la figure 42, qui représente un ensemble de modules STN apte à exécuter les opérations successives décrites ci-dessus avec référence aux figures 39a, 39b et 39c, on retrouve l'unité M(0) de la figure 41, constituée par un couple de blocs STN(1) 296 et 30 STN(2) 297, les signaux d'entrée notés A, x et y et les signaux de sortie Z0 et BarZ0, A cette première unité M(0) de deux modules STN(1) 296, et STN(2) 297 déterminant Z0 et son barycentre BarZ0 sont associés, - d'une part, en succession d'unités analogues, dont on n'a illustré 35 que la première, à savoir M(1) qui détermine Z1 et BarZ1 à partir de Zo et de paramètres B (et non plus A), x et y (coordonnées); I'unité suivante (non représentée) à deux STN détermine Z2 et BarZ2 à partir de Z1 et de paramètres C, x et y; les unités suivantes également non représentées déterminent Z2 et BarZ2, etc...; et - d'autre part, un ensemble M(2) de modules STN(2), représentant le recrutement dynamique, notés 300, 301, 302, 303... 307 recevant en entrée respectivement une paire des pentes pO et pl, pl et p2, p2 et p3, p3 et p4,... p6 et p7 pour déterminer respectivement ZrO, Zrl, Zr2, Zr3... Zr7 (illustrées sur la figure 10 43a) à partir de Zo et BarZO en provenance de l'unité M(0), et BarZ1, en provenance de l'unité M(1), dont les trois valeurs sont reçues en entrée par chacune des unités 300 à 307; I'ensemble M(2) est accompagné d'ensembles analogues non représentés recevant chacun Zo et BarZO de l'ensemble M(2) et en outre BarZ2, 15 pour l'ensemble de type M(2) de rang juste après l'ensemble M(2) illustré, BarZ3 pour l'unité de type M(2) de rang juste après et ainsi de suite, chacun des STN(2) de chacun de ces ensembles M(2) non illustrés reçoivent une paire de pentes à la manière des STN(2) 300 à 307 illustrés: ces unités de type M(2) successives 20 déterminent en sortie de leurs modules analogues aux modules 300 à 307 illustrés des signaux définissant des secteurs de type ZrO à
Zr7, mais relatifs à Z1, Z2 etc... et non plus à Zo.
Le fonctionnement de l'ensemble illustré sur la figure 42 est
le suivant.
Lors de la première séquence (image vidéo ou trame de l'image vidéo par exemple), qui met en jeu l'ensemble M(0), le signal de classification 350, élaboré dans le module 296, arrive dans le module 297 fonctionnant en mode bi-dimensionnel avec les coordonnées x et y (définissant le pixel de l'image vidéo) à titre de 30 paramètres d'entrée (en plus du signal 350). Le résultat du calcul de l'histogramme dans le module 297 commande la fonction FoG"
de classification automatique avec anticipation lors de l'arrivée du signal 350, c'est-à-dire lors de la phase END de fin de séquence.
Le calcul et la classification dans le registre reg 297b du module 35 297, permet ( comme exposé avec référence à la figure 34) de déterminer, d'une part, Z0 au moyen de la mise à jour de Borne Ax, Borne Bx, Borne Ay et Borne By encadrant Z0 et, d'autre part, BarZo au moyen de POSMOYX et POSMOYy. La première séquence
permet donc de déterminer Zo et BarZo.
Lors de la séquence consécutive, à savoir la deuxième séquence, l'ensemble M(2), recruté pour les deuxième et quatrième séquences entre en jeu, les modules STN(2) 300 à 307 (dont seulement certains modules ont été illustrés), programmées pour recevoir en entrée une paire de pentes orientées de 22030' en 1o 22 30' entre 0 (pente p0) et 157 30' (pente p7) - chaque pente d'indice j représentant un angle de 22,5j - perçoivent BarZ0 à l'intérieur de la zone Z0 suivant leur degré d'orientation (figure 43a). A la fin de cette deuxième séquence, au moment du nouveau signal END de fin de séquence, les calculs d'histogrammes dans 15 les modules STN(2) de type 300 à 307 permettent de mettre à jour les bornes de classification Borne A, Borne B et donc de définir des zones orientées appelées zones de recherche ZrO à Zr7, comme illustré sur la figure 43a pour les zones Zrl, Zr2, Zr3... Zr7 déterminées par les blocs STN(2) 300, 301, 302, 303... 307, 20 respectivement. La figure 43a représente en fait le cumul des zones orientées Zr définies par les modules 300 à 307 pendant la deuxième séquence. La deuxième séquence permet donc de positionner la sectorisation du plan autour de BarZ0. En outre, en fin de cette deuxième séquence apparaît une caractéristique liée 25 au premier signal de classification 350, à savoir une caractéristique de sous-zone (non représentée) engendrant un barycentre BarZ1 (illustré sur les figures 43b et 43c qui correspondent aux figures 39b et 39c) qui est utilisé pour déterminer le module p et l'angle c d'orientation. Lors de la troisième séquence, qui suit immédiatement la deuxième séquence, I'unité de modules STN(2) 300 à 307, reçoit, en plus de Z0 et BarZo, un troisième signal BarZ1 tout en continuant à recevoir les pentes Po, Pi... p7; pi équivalent à la différence entre les deux bornes de classification, à savoir à partir de ces 35 entrées, un des modules STN de M(2) - par exemple 303 - repère (figure 43b) un barycentre supplémentaire BarZ1 et devient en fin de séquence, le module STN sélectionné pour opérer dans la
séquence suivante, à savoir la quatrième séquence.
Au cours de cette quatrième séquence les entrées des 5 modules STN(2) 300 à 307 réorganisées comme représenté en figure 39c en recevant: * les pentes p3, pi..... pj, p4 représentant plusieurs sous-zones sectorielles de la zone Zr3, et * les pentes p'3, p'i..... p'j, p'4 respectivement perpendiculaire 0 aux pentes précédentes, * p et a sont calculés par le module choisi - par exemple 303 -,
p étant la distance BorneA'-BorneA (figures 39c et 43c).
Puis un nouveau cycle de quatre séquences peut recommencer sur les ensembles de module STN, analogues à 15 I'ensemble M(2), mais non représentés pour déterminer Z20 et
BarZ20 et ainsi de suite, en utilisant les modules STN libérés.
Dans le cas d'une reconnaissance d'objet, une portion pa de BarZ1 peut être proposée et la séquence quatre est appliquée directement après la séquence deux, le secteur Zr3 est subdivisée, 20 ie module p et son angle a sont calculés avec une séquence d'avance. On va maintenant discuter avec référence aux figures 44a à 44e, 45 et 46, d'une part, et 47a à 47d, 48 et 49, d'autre part, examiner deux cas particuliers de disposition relative des zones 25 Z10, Z20 ET Z30 à l'intérieur de la zone Z0, à savoir respectivement
un emboîtement à la manière des poupées russes (mais en deux dimensions), d'une part, et des localisations séparées, d'autre part.
Dans cet ensemble de figures, les figures 44a à 44c et 47a à 47d représentent les ensembles M de modules STN, les figures 45 30 et 48 les dispositions relatives correspondantes des zones et les figures 46 et 49 les arbres des barycentres BarZ0 à BarZ30 de ces zones. On va examiner tout d'abord le cas de zones emboîtées selon la figure 45 avec mise en oeuvre d'ensembles M de modules STN 35 pour les deux paramètres x et y selon les figures 44a à 44e. On commencera par étudier la création d'un lien (selon la figure 46) entre les barycentres BarZo et BarZ1o des deux zones emboîtées Z0 et Zo10 (selon la figure 45) Dans un premier temps, au cours de la phase to (figure 44a) le 5 paramètre Data(A), noté A, détermine, grâce au module M(0) une
zone Zo et son barycentre BarZo.
Dans un deuxième temps, au cours de la phase t1, le signal Zo, produit par M(0) dans la phase Co, agit, d'une part, sur un module M(1) de repérage de la sous-zone Zo10 déclenché par une lo donnée Data (B), notée B, afin de déterminer Zo10 et son barycentre BarZlo et, d'autre part, par un module M(2) fonctionnant comme exposé ci-dessus avec référence aux figures 42, 43a, 43b et 44c et regroupant les différentes orientations Po, Pl... Pm, afin de
positionner ces orientations autour du barycentre BarZo.
Dans un troisième temps, au cours de la phase t2, le module M(2) reçoit BarZ10 (en de plus BarZo) qui vient d'être déterminé par
M(1) et recherche le secteur qui contient BarZlo.
Dans un quatrième temps, au cours de la phase t3, le secteur précité ayant été trouvé, un module STN(2) noté SBi (figure 44e) 20 parmi les modules STN(2) de l'ensemble M(2) est sélectionné, ce qui détermine la valeur de i correspondant aux angles de la
bissectrice du sous-secteur sélectionné par BarZîo.
Le regroupement dynamique de M(2) disparaît au profit du
module STN(2) bilinéaire SBi sélectionné. Les registres 1070, 1071 25 et 1072 contenant respectivement p, a et Ca sont mis à jour.
Sur les figures 44b à 44e, on a noté la, lia, Mlia et IVa les
structures impliquées respectivement aux temps to, t1, t2 et t3.
Le fonctionnement qui vient d'être décrit, pour déterminer Zo10 et BarZîo, relativement à Z0 et BarZo, peut ensuite être appliqué 30 pour chacune des autres zones emboîtées, c'est-à-dire pour déterminer Z20 et BarZ20 à partir de Zo10 et BarZo10, puis Z30 et BarZ30
à partir de Z20 et BarZ20 ainsi de suite.
Les structures impliquées aux temps to, tl, t2 et t3 des phases
ultérieures permettent de déterminer les zones Z20, Z30 et leurs 35 barycentres.
Sur les figures 44c, 44d et 44e, on a noté lb, lib, Illb, IVb, puis Ic, Ilc, Ilic, suivis de IVc (non représenté) et enfin Id, lid suivis
*de ll!d et IVd (non représentés).
On obtient finalement l'arbre linéaire (sans embranchements) 5 de la figure 46 illustrant la filiation des barycentres BarZo --> BarZ1o --> BarZ2o --> BarZ3o, avec les coordonnées polaires p, a d'un barycentre<aval (fils) par rapport à un barycentre amont (père); à titre d'exemple BarZ2o est le fils de BarZ10. L'arbre de la figure 46 illustre la disposition avec emboîtement successif des zones 1o correspondantes Zo, Zio, Z20, Z30 de la figure 45, Z30 étant logé dans Z20 qui est logé dans Z10, lui-même logé à l'intérieur de Z0. A titre d'exemple dans le cas d'une figure humaine, on examine successivement tout le visage (Zo), puis un seul oeil (Z10) ensuite la pupille (Z20) et enfin l'iris (Z30). L'arbre est représentatif de 15 I'approfondissement de la caractérisation de l'objet examiné,
indépendamment de la rotation de celui-ci du fait que l'on a déterminé les coordonnées polaires successives des couples pèrefils.
Après avoir examiné le cas d'un emboîtement des zones 20 successives, donc un arbre linéaire sans embranchement, avec référence aux figures 44a à 44e, 45 et 46, on va étudier le cas o les zones Zo10, Z20 et Z30 sont situées à l'intérieur de la zone Z0, mais sont séparées l'une de l'autre (figure 48), avec référence aux
figures 47a à 47d, 48 et 49.
Si les figures 47a et 47b sont identiques respectivement aux figures 44a et 44b de manière à obtenir également d'abord Zo et puis BarZo, Zo10 et BarZ10 aux premier et deuxième temps to et tl respectivement, étant donné que Zo10 se trouve contenu dans Z0, comme le cas de la figure 45, par contre la suite du traitement est 30 différente, étant donné que la zone Z20 dans ce second exemple de la figure 48 n'est pas contenue dans la zone Zlo, mais est distincte
de celle-ci, étant toutefois contenue dans la zone Z0.
Sur la figure 47c, au troisième temps t2, le module M(la) analogue au module M(1), mais avec C en entrée au lieu de B, 35 reçoit, non plus Zo10 comme dans le cas de la figure 44c (étant donné que maintenant Z20 estinclus dans Z0, mais non pas dans Z10) et détermine Z20 et BarZ2o, tandis que le module STN M(2a)
détermine le p correspondant à une zone Z20.
Dans un quatrième temps t3 (figure 47d) et les temps suivants, 5 le processus se répète pour de nouvelles zones disposées à l'intérieur de la zone Z0, mais séparées l'une de l'autre, en utilisant, non plus le Z0 de la phase antérieure comme dans le cas d'un emboîtement des zones successives, mais Zo en tant
qu'entrée des modules tels que M(9).
On détermine ainsi successivement Zo, Z10, Z20 et Z30 et on
obtient un arbre avec branchements ou branches à partir de BarZ0.
A titre d'exemple, on examine tout le visage (Zo), puis la bouche (Zo10), puis l'ceil droit (Z20) et enfin l'oeil gauche (Z30), le label visage englobant les labels bouche, oeil droit et oeil gauche. Les lettres A, 15 B, C correspondent aux différentes courbes a', b', c' de la figure 15. Après avoir examiné le cas d'apparitions successives, une seule après une autre, de zones, soit emboîtées les unes dans les autres, soit séparées, en correspondance avec un arbre sans sous20 embranchements, on va considérer la situation la plus générale
dans lesquelles deux ou plus de deux zones apparaissent simultanément au cours d'une même séquence (constituée par une ou plusieurs trames ou images d'un signal vidéo), en correspondance avec un arbre à sousembranchements ou 25 branches.
Pour le cas de plusieurs pics ou classes apparaissant au cours d'une même séquence, on peut maintenant traiter le cas o les zones de type Z sont certaines emboîtées et certaines séparées, c'est-à-dire le cas intermédiaire (et plus général) entre 30 les cas limites des zones emboîtées (figures 44a à 44e, 45 et 46) et des zones séparées, mais contenues dans la zone Zo initiale
(figures 47a à 47d, 48 et 49).
La figure 50 illustre un tel cas intermédiaire, dans lequel il y a à la fois emboîtement d'au moins une zone dans une autre, par 35 exemple de Z21 dans Z12 (Z12 -- Z21), et des positions séparées de certaines zones, telles que Z11, Z12 ainsi que Z22 et Z21, toutes ces zones étant contenues dans la zone Z0, comme on le voit aussi sur
l'arbre de la figure 50a.
Sur la figure 50, on a représenté les premières étapes de 5 traitement pendant la refocalisation, ou plus généralement
l'augmentation de la résolution, avec en abscisses, de gauche à droite, les durées de plusieurs séquences ou groupes de séquences successifs to, t1, t2 et t3, et en ordonnées, du haut vers le bas, la succession de traitements effectués sur chaque lo séquence ou groupes de séquences.
1) En considérant d'abord les ordonnées, c'est-à-dire les rangées successives de la figure 50: La première rangée de la figure 50 illustre, de gauche à droite, I'apparition successive de zones du fait de l'augmentation 15 de la résolution en fonction des paramètres: d'abord Dif (différence entre la séquence initiale à résolution maximale r max pendant To et la séquence ultérieure à résolution minimale r min
pendant T2 ou to (figure 3), puis a, b.... (figures 14 et 15).
La deuxième rangée de la figure 50 illustre les trois premiers 20 des traitements successifs effectués sur la première zone perçue, à
savoir Z0.
La troisième rangée de la figure 50 illustre les deux premiers
des traitements successifs effectués sur les deux sous-zones déterminées après la première zone Z0, à savoir les deux sous25 zones Z11 et Z12.
La quatrième rangée de la figure 50 illustre le premier des traitements successifs effectués sur les deux sous-zones
déterminées ensuite, à savoir Z21 et Z22, Z21 étant inclus dans Z12.
2) En considérant maintenant les abscisses, c'est-à-dire les 30 colonnes successives de la figure 50, à savoir les séquences ou groupes de séquences successifs: La première colonne, correspondant à l'initialisation au temps to, représente l'apparition de la première zone Z0 à la suite de la première augmentation de la résolution (après sa diminution brusque), lors de la phase T1 de la figure 3), et la détermination du
barycentre BarZ0 de cette zone Z0.
La deuxième colonne représente les deux traitements simultanés sur la séquence suivante au temps t1 et illustre la suite des traitements de la zone Z0, à savoir: - d'une part (sur sa première rangée), I'apparition des souszones Z11 et Z12, à l'intérieur de la zone Z0, avec leurs barycentres respectifs BarZ11 et BarZ12, et - d'autre part (sur sa seconde rangée), la segmentation de la l0 zone Z0 en secteurs, comme expliqué ci-dessus avec référence aux
figures 42 et 43a, 43b, 43c.
La troisième colonne représente les trois traitements simultanés effectués sur la même séquence, celle au temps t2, à savoir: - l'apparition (sur sa première rangée) des deux sous-zones Z21 et Z22 résultant de l'accroissement de la résolution, avec leur barycentre respectif BarZ21 et BarZ22, - la détermination (sur sa deuxième rangée), dans chacun des secteurs de Z0 (ceux de la même rangée, mais de la colonne 20 précédente), du barycentre BarZ11 ou BarZ12, et du module p et de l'angle associé oa constituant les coordonnées polaires de BarZ11 ou Bar12 par rapport à BarZ0, les rayons vecteurs de BarZ11 et BarZ12 à partir de BarZ0 étant référencés 50 et 51 respectivement, et
- la segmentation (sur sa troisième rangée) en secteurs des 25 zones Z11 et Z12 à partir du barycentre respectif BarZ1l et BarZl2.
La quatrième colonne illustre la continuation du même type de traitement, à savoir - sur la première rangée, I'apparition de la sous-zone Z21 (incluse dans Z12) et de la sous-zone Z22, avec leur barycentre 30 respectif BarZ21 et BarZ22, - sur la deuxième et la troisième rangée, la détermination des modules p et de l'angle a correspondant pour les positions de BarZ22 et BarZ21 par rapport à BarZo et BarZ12 respectivement, les rayons vecteurs étant notés 52 et 53 respectivement, et, - sur la quatrième rangée, la segmentation en secteurs des zones Z21 et Z22Sur la figure 50a on a représenté l'arbre construit à partir des traitements réalisés sur la figure 50. Sur cette figure 50 - le premier paramètre Dif a permis de déterminer la zone Zo et son barycentre BarZo, qui sert de point d'origine à l'arbre (renversé), - le deuxième paramètre a a permis l'apparition des deux sous-zones Z11 et Z12 (incluses dans la zone Zo), avec leur lo barycentre respectif BarZ11 et BarZ12, les relations père/fils entre le père BarZo et les fils BarZîl et BarZî2 étant matérialisées par des rayons vecteurs 50 et 51 respectivement, avec les angles (xi et cO12 et les modules Pli et P12, et - le troisième paramètre b a permis de faire apparaître deux 15 nouvelles sous-zones Z21 et Z22, la première incluse dans Z12 (et donc dans ZO) et la seconde dans ZO seulement, avec leur barycentre respectif BarZ21 et BarZ22 et les relations père-> fils 53 et 52 à partir des pères BarZ12 et BarZo respectivement, ainsi que
les a et p correspondants à savoir O21, c22 et P21 et p22.
Sur la figure 51, on a illustré partiellement une application de la sélection de zones multiples développée sur les figures 42 à 50, à partir de paramètres spatio-temporels obtenus lors de la refocalisation, ou d'une manière plus générale du rétablissement de la résolution depuis sa valeur minimale à sa valeur maximale, 25 comme indiqué ci-dessus avec référence aux figures I à 16; la
figure 51 correspond aux périodes T2 et T3 de la figure 3.
Au cours de la période T2, à savoir la séquence tO, on utilise un signal, notamment de différence Dif correspondant à w = 20. Ce signal de différence est introduit sur l'entrée Dif du premier module 30 unidimensionnel STN(1) 90 du module M(0) qui comprend également un second module bidimensionnel STN(2) 91. A la fin de la période T2=tO, la zone ZO de référence a été repérée, ainsi que son barycentre BarZo, par le module STN(2) 91 de l'ensemble M(0). La période T3 de refocalisation, ou en général de passage de la résolution de sa valeur minimale à sa valeur maximale, comporte des séquences tl, t2, t3..., seules les séquences t1 (correspondant à w = 16) et t2 (correspondant à w = 12) étant illustrées sur la figure 51. Au cours de ces périodes tl, t2... apparaissent tour à tour la série de signaux spatio-temporels a, b,
c... de la figure 15.
On peut constater que la figure 51 reprend la figure 47d à l'exception des modules de recrutement dynamique permettant de 1o calculer les p et c associés pour plus de clarté. Au cours de la première séquence tl de la période T3, le signal a w = 16, apparaît et il est analysé par l'ensemble M(1) comportant les deux modules STN(1) 92 et STN(2) 93; à la fin de cette séquence tl, se produit une analyse d'extraction des classes multiples et une distribution 15 par ordre décroissant, comme expliqué antérieurement (avec
référence notamment aux figures 31 et 32), de chacune des classes trouvées par un module bidimensionnel STN(2) associé, à savoir la deuxième classe sur le module STN(2) 94, la troisième classe sur le module STN(2) 95 et ainsi de suite pour les modules 20 STN(2) 96, STN(2) 97 et suivants.
Durant la deuxième séquence t2 de la période T3, séquence qui suit immédiatement la séquence tl, c'est le signal b (w = 16) qui apparaît et qui est analysé par l'ensemble M(2) à deux modules STN(1) 192 et STN(2) 193; au cours de cette séquence t2, on 25 réalise également une distribution par ordre décroissant des classes trouvées sur un module bidimensionnel STN associé, dans ce cas: la deuxième classe sur le module STN(2) 194, le troisième sur un module bidirectionnel (non représenté) en aval du module STN(2) 194, comme le module STN(2) 95 est disposé en aval du 30 module STN(2) 94, et ainsi de suite sur d'autres modules (non représentés mais illustrés par la flèche verticale située sous le
module STN(2) 194).
Pendant les séquences ultérieures t3, t4,... de la période T3, des traitements analogues ont lieu, à des résolutions croissantes 35 w=8, w=4, w=0, dans des blocs semblables aux blocs M(0), M(1) et M (2) et dans des modules bidimensionnels STN(2) semblables aux modules 94, 95, 96, 97 représentés sur la figure 51, qui s'arrête à la résolution w=12. Les zones Zi et leur barycentre BarZi correspondant servent à des traitements ultérieurs, comme décrit 5 précédemment, la figure 51 n'illustrant que les zones Z0, Z11, Z12, Z13, Z14, Z15, Z21 et Z22, avec leur barycentre associé BarZ0,
BarZ11, BarZ12, BarZ13, BarZ14, BarZ15, BarZ21 et BarZ22.
A la partie supérieure de la figure 51, on a illustré les images et les zones correspondant aux trois ensembles M(0), M(1) et M(2) 1o pour les résolutions définies par w=20, w=16 et w=12; plusieurs
zones sont illustrées sur les images pour les résolutions définies par w=16 et w=12; sur la figure 51, seules les trois premières colonnes ont été illustrées, la flèche située en face de l'image correspondant à w=12 schématisant le fait qu'il y a des colonnes à 15 droite de la dernière colonne illustrée sur la figure 51.
La figure 52 illustre une amélioration apportée au montage de la figure 51 pour assurer le verrouillage de l'information pour remédier au fait que les paramètres a, b, c... sont temporaires. A cet effet, dans le mode de réalisation de la figure 52 (sur laquelle 20 on retrouve les modules STN(2) 93 à STN(2) 97 de la figure 51 traitant les coordonnées x, y et le module STN(1) 92, avec leurs entrées et leurs sorties), on verrouille chacune des sous-zones; la modification consiste à ajouter, dans le mode de réalisation de la figure 52, des modules tridimensionnels STN(3) supplémentaires 25 traitant les composantes de couleur L, T, S et référencés 93a, 94a, a, 96a et 97a dont l'entrée est connectée à la sortie de classification D des modules STN(2) référencés 93, 94, 95, 96 et
97 correspondants.
Le verrouillage sur la couleur dominante est réalisé en 30 analysant la couleur dominante de chacune des sous-zones par le module STN(3) 93a à STN(3) 97a ayant comme entrées L,T, S, c'est-à-dire les trois composantes de couleur, et comme commande la zone Zi pour chacune de ces sous-zones; à la fin d'une séquence, I'histogramme des composantes L, T, S permet de 35 définir des bornes de classification en L, T, S et donc de sortir un signal de classification 101s (figure 23a-23b, ou éventuellement 23c, 25) correspondant à la couleur dominante; le verrouillage est obtenu en connectant ce signal de classification, correspondant à la couleur dominante, à l'entrée du module STN correspondant qui calcule la zone associée. Sur la figure 52, on a représenté symboliquement à droite les paires de modules 93-93a, 94-94a, 95-95a, 96-96a et 97-97a avec des entrées de position (coordonnées x, y) et de couleur (composantes L, T, S) et des sorties Ci, C12, C13, C14 et C15 zo représentant la couleur dominante, à partir des paramètres calculés selon la figure 51, à savoir Z11 et BarZîî, Z12 et BarZ12, Z13
et BarZ13, Z14 et BarZ14, Z15 et Bar15.
Enfin dans la dernière colonne de la figure 52, on a symbolisé les éléments permettant une représentation au moyen d'un arbre 15 en illustrant les noeuds d'arbre BarZij (ij représentant successivement 11, 12, 13, 14, 15), un noeud étant caractérisé par
sa zone Zij et sa couleur dominante (Cij) associée.
Jusqu'à présent, on a exposé comment, dans le cadre de l'invention, il était possible de percevoir des objets. On va 20 maintenant, en se référant tout d'abord à la figure 53, expliquer comment, toujours dans le cadre de l'invention, il est possible de caractériser la forme de l'objet localisé, notamment en vue de pouvoir contrôler si une nouvelle forme est analogue à une forme déjà déterminée, la caractérisation de l'objet perçu en ce qui 25 concerne sa forme étant réalisée en deux étapes: il s'agit tout d'abord de coder l'information sur l'objet concernant ses caractéristiques, puis de vérifier si un nouvel objet correspond aux caractéristiques d'un objet antérieur, déjà perçu et codé ou s'il est nouveau. Il est d'abord rappelé que grâce, à l'ensemble illustré sur les
figures 44a à 44e, 45 et 46, d'une part, et à l'ensemble illustré sur les figures 47a à 47d, 48, 49, d'autre part, il était possible d'acquérir différents couples angle (a, (ou pente p), et module p correspondant à une caractéristique dans les zones Z0 et 35 suivantes.
Sur la figure 53, on a illustré dans la colonne de gauche les modules bilinéaires m(0), m(1), m(2)... m(j)... homologues au module bilinéaire SBi de la figure 44a qui exprime le résultat du recrutement dynamique en quatre temps selon cette figure; les 5 entrées et les sorties des modules m(0)... sont les mêmes que celles du module Sbi; en particulier les sorties de ces modules m(0)... débitent l'ensemble des couples précités a, p perçus dans la zone Z0 (dotés d'un indice 0, 1, 2...j...) qui sont appliqués à un double bus BB qui sert d'entrée à un ensemble MM qui constitue lo0 I'essentiel des moyens pour déterminer une représentation des
caractéristiques de l'objet perçu.
L'ensemble MM est constitué par plusieurs sous-ensembles MM(0), MM(1), MM(2)... MM(i)..., chacun de ces ensembles comprenant deux modules STN, le premier de type bidimensionnel 15 référencé 801, 802,... 80i..., qui reçoit en entrée, à partir du
double bus BB a, p, et le second du type unidimensionnel référencé 810, 811, 812,........., qui reçoit un signal de LABEL dont le rôle sera expliqué ci-après. Dans chaque ensemble MM(0), MM(1)... à deux modules STN, le premier module STN(2) 800, 801, 20 802... 80i... débite dans le second STN(2) 810, 811, 812... 81i...
dont la sortie est constituée par l'indication de LABEL0, LABEL1, LABEL2.. . LABELI..., qui caractérise la forme de l'objet perçu et qui, d'une part, est réinjecté à l'entrée de rétro-annotation du premier module STN(2) associé dans la même sous-unité MM(1), 25 MM(2)... MM(i) de l'ensemble et, d'autre part, est l'API qui calcule, en particulier (la durée relativement longue disponible pour ce calcul) par un logiciel de terminal RMAX et POSRMAX, I'histogramme des labels LABEL0, LABEL1... reçus successivement pendant toute la période T3, I'augmentation de la 30 résolution et qui détermine, à la fin de cette période T3, la position de la quantité maximale de labels identiques correspondant au label caractéristique de l'objet perçu, noté LABEL GLOBAL en bas
de la figure 53.
Enfin, I'indication de l'ordre (0, 1, 2... i), encadrée par un 35 carré, définie par le premier module STN(2) de chaque sous-
ensemble constitue l'entrée du second module STN(1) de tous les
sous-ensembles par le bus L de LABEL.
On notera que toutes les opérations du montage de la figure 53 concernent le signal de la zone Zo qui est appliqué à une 5 seconde entrée de rétroannotation des différents premiers modules STN(2) des ensembles MM, à savoir 800, 801, 802... 80i tandis que l'API gère, au moyen d'un logiciel, les différentes
séquences 0, 1, 2... i... liées aux fonctions.
Après mise à zéro initiale de toutes les mémoires des lo modules STN de l'ensemble MM, ainsi que de la valeur du pointeur du dernier objet acquis, le dispositif de la figure 53 peut fonctionner. Un numéro d'ordre, de 0 à n (en passant par i) par incrémentation de 1, est affecté à chacun des ensembles MM(0), MM(1), MM(2)... MM(i)... et ce jusqu'à MM(n) (non représenté). On 15 notera que, pour le premier sous-ensemble MM(0), correspondant au numéro d'ordre zéro, les bornes de classification des deux modules STN 800 et 810 sont ouvertes au maximum, ce qui
applique " 0 " à la valeur maximale du bus d'entrée.
Au cours du processus, la résolution passe de sa valeur 20 minimale à sa valeur maximale: À pendant la période T2, le calcul de l'histogramme bilinéaire, à savoir la mémorisation des caractéristiques de l'objet, est bloqué avec remise à zéro de l'histogramme unilinéaire de chacun des sousensembles MM(0), MM(1), MM(2)... MM(i)...; * pendant la période T3, le cycle opérationnel commence avec, pour chaque apparition d'un nouveau couple a, p le test de savoir si le couple est connu ou non; deux cas sont possibles - dans le cas o le couple ac, p ne trouve, dans les sousensembles MM(1) à MM(n), aucun classifieur qui soit valide à 30 part celui défini par le pointeur indiquant une " dernière
acquisition ", c'est la phase d'apprentissage qui est activée et qui consiste en ce que le sous-ensemble MM de dernière acquisition, qui a ses classifieurs toujours valides, force la validation de son LABEL associé sur le bus L de LABEL et 35 I'histogramme du premier module (de 800 à 80i) du sous-
ensemble MM de dernière acquisition 820-82i mémorise le couple (a, p, valeur 820 à 82i associée. Une telle opération est répétée pour tout nouveau couple (a, p durant la période T3 de passage de la résolution minimale à la résolution maximale (par exemple pendant toute la phase de refocalisation) - au contraire, dans le cas o le couple a, p trouve, dans le sous-ensemble MM(1) à MM(n), au moins un classifieur autre que celui défini par le pointeur " dernière acquisition ", donc dans le cas o ce couple est déjà connu, ces valeurs ac, p sont 0 mémorisées dans les modules STN correspondants. Par exemple, si le couple (x, p a été classifié avec succès par les sous-ensembles 1 et 2, ces deux valeurs 1 et 2 sont mises sur le bus L de LABEL, et les classifieurs des modules unilinéaires associés STN(1), à savoir 811 et 812, sont validés; ceux-ci 15 valident par rétro-annotation les modules STN bi-linéaires associés, à savoir 801 et 802; finalement le couple cL, p est mémorisé, avec les labels 1 et 2, dans le sous-ensemble MM(1)
et dans le sous-ensemble MM(2), respectivement.
A la fin de chaque traitement du type précédent, les valeurs 20 RMAX et POSRMAX de chacun des modules unilinéaires STN(1)
affecté sont remises à jour et un test général sur tous les modules unilinéaires (STN1I) déjà utilisés permet de retrouver la valeur RMAX la plus grande et son registre POSRMAX associé qui est lu et correspond donc à la valeur LABEL la plus probable, comme 25 exposé ci-dessus en ce qui concerne le logiciel de calcul de l'API.
Le contenu de l'histogramme bilinéaire associé est alors lu et sert d'anticipation d'aide à la décision à titre d'agent recruteur dynamique en cours d'action, le traitement décrit antérieurement en quatre phases étant réduit à trois (comme indiqué précédemment 30 avec référence à la figure 42), ce qui accélère la convergence pour
la reconnaissance de l'objet.
Une fois la résolution maximale obtenue, c'est-à-dire en particulier au moment de la refocalisation complète, la phase calcul s'arrête et la phase d'analyse des résultats commence. Celle-ci est 35 caractérisée par la lecture des mémoires d'histogrammes des modules bilinéaires STN(2) et unilinéaires STN(1), la comparaison des valeurs lues avec un seuil de référence, à savoir RMAX/2, et la transcription dans la mémoire 1 bit associée. Le résultat de la mémoire 1 bit du classifieur du module bilinéaire est étendu afin 5 d'accepter des couples a, p adjacents lors de prochains tests. La valeur finale de LABEL correspond au nom de l'objet inclus dans la zone Z0. Cette valeur LABEL correspond à la mémorisation dite épisodique. Lors du traitement sur le bus L plusieurs valeurs LABEL 1o peuvent être activées en même temps. Le fait de cumuler ces concidences par calcul d'histogramme avec module STN unilinéaire 670 à extraction multiclasses fait apparaître de nouvelles classes, CAT-1, CAT2, CAT-3,. et ces classes associant différentes valeurs de LABEL entre elles, sont le reflet d'une 15 mémoire de catégorisation. En effet, plusieurs objets peuvent appartenir à la même catégorie, par exemple: catégorie des visages incluant les labels de telle ou telle personne. Ce procédé et dispositif associé fait apparaître les deux formes de mémorisation, à savoir, épisodique et sémantique. Il y a d'abord 20 connaissance de l'événement qui au cours d'apprentissage successif entre dans des catégorisations, la connaissance des objets. Selon l'une des caractéristiques de l'invention, il est possible de résoudre le problème de la variation apparente de la taille de 25 lI'objet examiné, par exemple lorsqu'il y a rapprochement ou éloignement relatif entre l'objet et le dispositif d'observation, tel qu'un caméscope. La réalisation de la résolution de l'invariance en
taille est illustrée sur les figures 54, 55a, 55b, 55c et 55d.
La figure 54 représente un ensemble constitué par les mêmes 30 éléments électroniques que l'ensemble illustré sur la figure 42, mais le traitement est réalisé sur des paramètres d'entrée différents. Le montage de base a été décrit avec référence à la figure 34, mais, aux deux paramètres d'entrée x et y correspondant aux coordonnées cartésiennes, issues du séquenceur 9, on 35 substitue les paramètres d'entrée p et logarithme LD de la distance dérivé par l'unité 400 du paramètre initial Dis de distance, issues du séquenceur 450, elle-même issue de l'unité externe 25 (non explicitée). L'ensemble de la figure 54, utilise une unité 450 correspondant à un séquenceur, qui débite les différentes valeurs 5 potentielles LD et p durant le temps de la séquence et, comprend trois unités, à savoir 400, 451 et 440. L'unité 400 est constituée par un calculateur de logarithmes recevant en entrée la distance Dis et calculant LD, le logarithme de Dis qui constitue la sortie LD; l'unité 451 est une unité de classification débitant un signal binaire _o Barpi, équivalent au signal BarZi utilisé précédemment, qui est validé lors de l'égalité entre les signaux LD et p issus du séquenceur 450 et les valeurs LDI et pi présentées; enfin l'unité 440, qui correspond au module M2 de recrutement dynamique défini en figure 42, avec en lieu et place: * La sectorisation du plan LD/p par l'utilisation des variables LD et p issues du séquenceur 450, équivalent aux variables x et y de la figure 42, transformées par des unités équivalentes 420 à 427 qui assurent chacune deux transformations d'axe suivant Oe et Oj, tel que les unités 150 et 151 précédemment décrites. 20 Cette unité 420 débite deux signaux 4200s et 4201s correspondant à la définition d'un secteur ZrO par les transformations d'axes d'angle 00 et 01, les unités suivantes 421 à 427 assurent la sectorisation du plan défini par les variables LD et p. * Le calcul de l'invariance des données d'entrées LDi/pi par
l'utilisation de modules STN(2) bilinéaires 430 à 437, qui reçoivent, comme données d'entrées, les signaux 420s et 420js et qui sont commandés par les signaux binaires de validation de zone Z et le signal Barpi correspondant aux valeurs 30 d'entrées LDi, pi.
La figure 55d illustre le résultat après traitement des modules STN de recrutement dynamique durant trois séquences consécutives illustrées en figure 55a, 55b et 55c. Les unités 400 et 451 perdurent, seule l'unité 440 est remplacée par les unités 401 35 et 402. L'unité 401, qui correspond à l'unité 150 de la figure 34, reçoit le séquencement LD et p provenant de l'unité 450 et, sur son entrée de commande, Oi correspondant à pi; enfin l'unité 402 est un module unidimensionnel STN(1) qui reçoit en entrée p (signal 401s)
en fonction de 0, noté pe est commandé par Barp1.
La valeur d'entrée Dis, qui est égale à la distance de l'objet au capteur 2 (tel qu'un caméscope), ou 2' tel qu'un radar (figures 1, 2, 4a, 4b, 4c, 5, 17, 18), mesurée extérieurement 25 par exemple au moyen d'un laser associé audit capteur, est convertie, comme indiqué précédemment, en sa valeur logarithmique, les deux o10 paramètres Dis et p étant les paramètres d'entrée essentiels du montage de la figure 54. Au lieu d'utiliser un laser, la distance Dis peut être mesurée par exemple par convergence binoculaire, par utilisation de la parallaxe, en utilisant la connaissance de la taille
réelle de l'objet perçu.
En sortie du module de recrutement dynamique 440, on dispose, comme illustré sur la figure 42, des groupes de modules STN entrant en jeu successivement; comme dans le cas illustré sur la figure 43a, correspondant à ce que l'on obtient avec le montage de la figure 42, on obtient avec le montage de la figure 54 20 la sectorisation illustrée sur la figure 55a, sur laquelle on retrouve les zones ou secteurs tels que Zro, Zr1, Zr2, Zr3... Zr7. Par contre, au lieu d'utiliser le barycentre BarZ0, c'est autour du point référencé po, LDo défini par Barpo que les secteurs Zro à Zr7 sont disposés. Les figures 55b et 55c correspondent aux figures 43b et 25 43c respectivement, mais, cette fois-ci, également, les barycentres tels que BarZ0 et BarZ1 sont remplacés par les points référencés po, LDo et pl, LD1 respectivement Barpo et Barp1, toujours dans la zone Zr3. En fait, si l'on compare les figures 43b et 43c aux figures 55b et 55c, on constate que les axes de coordonnées x et y ont été 30 remplacés par les axes de coordonnées p et LD. En fin de séquence, figure 55c, les valeurs calculées ALD, 0, Cp' sont écrites dans les registres 1070, 1071 et 1072 respectivement, et seul
subsiste un module STN(1) unilinéaire représenté en figure 55d.
La sectorisation, dans le cas des figures 54 à 55c est faite 35 donc à partir d'une première mesure po, LD0 et à partir d'une seconde mesure faite à une distance différente de la première et fournissant pl, LD1 représentés, comme poLDo, sur la figure 55b, une orientation étant définie par une droite Pe perpendiculaire à la direction du couple de points p0,LD0 et pl, LD1, comme illustré sur 5 la figure 55c, sur laquelle, suivant une direction perpendiculaire à pO, on trouve Cp' qui est la sortie du module unidimensionnel STN(1) 402, la valeur de Cp' correspondant à la projection de la droite passant par le couple de points p0, LD0 et pl, LD1, sur la droite de pente po perpendiculaire à cette direction du couple de lo points. L'essentiel est le fait que cette valeur Cp' est indépendante de la distance Dis, ce qui correspond à un résultat qui ne dépend pas de la taille de l'objet observé, donc de sa position relative par
rapport au capteur qui l'observe.
Sur la figure 56, on a illustré le résultat des mesures faites 15 par le montage de la figure 54, dont le fonctionnement a été expliqué en relation avec les figures 55a, 55b et 55c. Sur cette figure 56, on a illustré deux plans à savoir un premier plan ayant pour coordonnées p et LD et un second plan résultant du premier
par une rotation d'angle 0 et ayant pour coordonnées p' et D'.
A titre d'exemple, on a illustré des mesures faites pour des distances successives de 50 cm, 75 cm, 100 cm et 150 cm, les points résultants étant sensiblement alignés et ayant comme valeur en ordonnées Cp', relativement à l'axe p'. On constate ainsi que le module p' est devenu pratiquement invariant quelle que soit la 25 distance (dans les limites raisonnables) de l'objet observé, donc sa
taille apparente.
La figure 57 illustre une amélioration du montage de la figure d. Sur cette figure 57, on retrouve tout d'abord l'unité 400 de la figure 55d, séquencement par les signaux LD et p avec son entrée 30 Dis et sa sortie LD1, à savoir le logarithme de la distance Dis. Cette valeur LD constitue avec pi les paramètres de l'unité 410 qui comporte l'ensemble des unités 401 et 402 de la figure 55d et, en outre, les perfectionnements constitués par les unités 403, 404, 405, 406, 407 et 408. La sortie de l'ensemble 410 est constituée 35 par les valeurs Cp' et LD' dotées de l'indice i, alors que le montage des unités 401 et 402 de la figure 55d ne comportait que la sortie Cp'. En effet, le montage de la figure 57 intègre aussi un procédé de contrôle de la distance, ce procédé étant bouclé il peut donc utiliser soit la mesure externe de la distance Dis si elle est 5 disponible, soit le calcul interne de celle-ci dans le cas contraire. A cet effet, un multiplexeur 403 reçoit, d'une part LD1, en provenance de l'unité 400 et, d'autre part, la sortie du sommateur 406 qui débite, comme expliqué ci-après, le signal calculé LD' et choisit l'un de ces deux signaux d'entrée. Si la valeur du logarithme de la 10 distance, à savoir LDI, est valide, le multiplexeur 403 transmet cette valeur, sinon il transmet la valeur calculée LD', ce signal de sortie étant appliqué à l'unité 401 analogue à l'unité 401, de la figure 55d; le choix entre ces deux valeurs est commandé par un signal de commande 403c, activé au minimum lors de la phase 5 d'apprentissage, issue de l'unité 408 qui reçoit le signal d'entrée
LD1, et qui analyse sa validité.
Le calcul de la valeur LD' est effectué lorsque la valeur externe LD1 est valide, I'unité 407 comparant la valeur de LDi entrante avec celle de LD' calculée précédemment; cette unité 407 20 commande le gain de deux amplificateurs K1 404 et K2 405 qui est égal à - tgO pour le premier et à 1/cosO pour le second. Un sommateur 406 additionne les deux valeurs -pi x tgO1 et Cp'/cosO1, la somme de ces deux valeurs étant égale à LD' (sur la figure 57, on a ajouté l'indice i pour les paramètres p, 0 et LD', d'une part, et 25 Cp', d'autre part). L'unité 407 corrige les coefficients K1 et K2 des amplificateurs afin de réduire la différence entre la valeur calculée
LD'i et la valeur d'entrée LDI.
L'intérêt principal du dispositif de la figure 57, par rapport au dispositif de la figure 55d, est de pouvoir éventuellement se passer 30 d'une mesure de la distance Dis et donc d'une détermination de LD1 à partir de cette distance, une fois que l'objet a été repéré et appris et également de pouvoir dimensionner un nouvel objet parmi les objets connus sans avoir à mesurer la distance. Il y a donc
autant de calculs Cp' que de modules mémorisés.
La figure 58 correspond à la figure 47d, mais avec l'intégration des modules 410 de la figure 57 qui assurent le calcul d'invariance en taille. Tous les modules M débitant p ou cx de la figure 47d sont suivis par des modules 410 associés débitant Cp' et 5 LD'. Les valeurs LD' permettent d'apprécier un aspect volumique par leurs variations relatives, ainsi qu'une distance par un calcul de
leurs valeurs moyennes.
En ce qui concerne l'invariance, on a exposé jusqu'à présent comment, en effectuant les calculs à partir de BarZ0, on résout 10 I'invariance en translation, tandis que l'unité 410 de la figure 57 permet, grâce à la mesure de la distance, de résoudre le problème de l'invariance en taille. En ce qui concerne l'invariance en rotation, la dernière invariance à respecter si l'on veut déterminer un objet indépendamment de sa distance et de sa position, tant en 15 translation qu'en rotation, ce dernier problème est résolu par le
montage de la figure 59.
Le montage de cette figure 59 comprend tout d'abord un module bilinéaire STN(2) 800 recevant, d'une part, Cp' et, d'autre part ca' et un ensemble 900, lui-même constitué par un autre 20 module unilinéaire STN(1) 901, un compteur 902, un multiplexeur
903 et un sommateur 904.
Le rôle du montage de la figure 59 est d'appliquer une double correction au couple p, c: p est transformé en Cp', comme indiqué
précédemment, tandis que cx est transformé en a' par l'unité 900.
Au cours de la phase de recherche, pour chaque valeur de cx, le compteur 902 démarre à ac et s'incrémente sur 2n radians, tandis que le multiplexeur 903 commande, par un signal lançant une phase de recherche le transfert de la valeur du compteur 902 sur
un sommateur 904 modulo 2 7c radians, qui calcule une valeur a'.
Lorsque le couple Cp', (x' calculé correspond à la valeur déjà connue, la classification dans le module STN 800 commande la validation du module STN 901 et la valeur actuelle du compteur est
mémorisée dans l'histogramme de ce dernier module.
A la fin de la refocalisation, ou plus généralement lors 35 I'obtention de la résolution maximale, I'analyse de l'histogramme du module STN 901 donne, à titre de résultat, le contenu de son POSRMAX correspondant à la valeur a' moyenne. Le multiplexeur 903 est commuté et cette nouvelle valeur calculée est transmise au sommateur 904. Ceci permet de reconnaître l'objet, la valeur Ac qui sort de l'ensemble 900 indiquant la rotation de l'objet. Se référant maintenant à l'ensemble des figures 60a et 60b, on a représenté sur la figure 60a une partie de la figure antérieure 58 débitant les triplets Cp', ac, LD' dans le bloc MM de la figure 53 améliorée par incorporation de l'intégration du calcul de 10 I'invariance en taille et en rotation; en effet (Figure 60b), au sousmodule M(0) de la figure 53, on a intégré un module unilinéaire STN(1) 920 qui calcule la rotation Ao et un module unilinéaire STN(1) 921, qui calcule la distance moyenne LD', le module 800 correspondant au module STN 800 des figures 53 et 59, tandis que 15 le module 810 de la figure 60b correspond au module STN 810 de
la figure 53.
La figure 61 illustre, d'une manière schématique la reconnaissance d'objets par augmentation de la résolution et rotation de capteur 2-5 ou 2-5', grâce à la génération d'un repère 20 égocentrique relatif à et cet observateur, par mémorisation de l'organisation des formes des objets OB1 et OB2, les angles D1 et
D2 étant égaux.
La rotation du capteur réalise en fait tout d'abord une diminution de la résolution spatiale (période T1 de la figure 3); à 25 I'apparition en cours de rotation d'une valeur relativement élevée
du signal Dif, un ordre d'arrêt de la rotation est émis par des moyens (non représentés) et le processus d'augmentation gaussienne de la résolution spatiale décrit ci-dessus commence (période T3) de la figure 3) ; par ailleurs, I'angle de rotation du 30 capteur est déterminé et mémorisé.
Cette rotation peut être réalisée suivant deux axes et ceci exige en principe la mémorisation de deux angles, ainsi que de l'ordre des rotations suivant les deux axes. Toutefois, en choisissant les axes de rotation du capteur dans le plan dit de 35 Listing, I'ordre des rotations suivant les deux axes choisis est indifférent et l'information mémorisée se réduit alors juste aux deux angles de rotation, ce qui est avantageux, car on peut alors
reconstituer un véritable repère égocentrique.
Enfin, sur la figure 62, on a illustré ce que perçoit le capteur s 2 (figures 1 et 2) et le résultat obtenu par le procédé selon l'invention: chaque objet est * nommé par son label LABEL (à savoir 1, 2...), * positionné en distance par une valeur de LD (1, 2, 3...), * positionné en emplacement par BarZ (1, 2, 3...), 10 * positionné en rotation par Ac (1, 2, 3), et
* caractérisé par sa couleur C (1, 2, 3).
Bien entendu, le capteur perçoit une partie de scène dans l'environnement qui dépend de la position et de la focale de celuici, ce qui entraîne que la notion d' " objet "> dépend également de 15 ces deux paramètres; ainsi que le capteur peut transformer en trames ou séquences successives soit une personne en entier, soit son visage, soit une partie de son visage, I' " objet " étant chaque
fois différent.
Le procédé et le dispositif selon l'invention, dont on vient de 20 décrire les modes de réalisation préférés, et qui sont des outils génériques applicables à d'autres types de données et/ou paramètres d'entrées, permettent d'obtenir, en fin de compte, les résultats indiqués ci-après, d'o découlent un certain nombre d'applications. A) Les principaux résultats sont les suivants 1 Avec le procédé et le dispositif décrits avec référence aux figures 1 à 16, c'est-à-dire essentiellement avec l'ensemble de la figure 1 ou 2, mettant en oeuvre un signal numérique (notamment un signal vidéo numérique à séquences temporelles 30 représentatives de vues successives d'un objet, et sous- séquences spatiales, représentatives d'emplacements sur l'objet, et réalisant successivement, d'une part, après une réduction de la résolution spatiale, une augmentation sensiblement gaussienne de celle-ci, la réduction, 35 comme l'augmentation, de la résolution spatiale étant réalisée soit par défocalisation (figure 1) soit par filtrage électronique (figure 2) et, d'autre part, une différentiation spatio- temporelle, avec lissage, de ladite augmentation, sensiblement gaussienne, entre deux 5 séquences successives et pour des emplacements identiques, ce qui permet d'obtenir un signal numérique dérivé M' faisant apparaître successivement des détails hiérarchisés de plus en plus
caractéristiques de l'objet (figures 13a-13b et 16).
Ainsi, grâce à la diminution, en général brusque, de la 10 résolution et à l'augmentation, en général par paliers, de la résolution (figure 3), on remplace le signal numérique initial, dans lequel tous les détails étaient présents à la fois, sans aucune hiérarchie, et donc difficiles à utiliser pour caractériser l'objet qu'ils représentent, par un signal dérivé dans lequel les détails 15 apparaissent suivant leur ordre d'importance décroissante, des plus caractéristiques de l'objet aux moins caractéristiques de celui-ci, c'est-à-dire selon une hiérarchie pouvant être matérialisée, au moyen d'un traitement approprié, par un arbre avec un certain
nombre de filiations père --> fils.
2 Avec le procédé et le dispositif plus élaborés décrits avec références aux figures 17 et suivantes, c'est-à-dire essentiellement - soit avec l'ensemble de la figure 17 mettant en oeuvre une variation optique (par défocalisation et refocalisation), de la résolution spatiale, - soit avec l'ensemble de la figure 18 avec une variation par filtrage électronique de cette résolution, le signal dérivé précité M' subit un traitement consistant à former, au moyen d'un ou plusieurs modules STN (dont les structures préférées sont explicitées en relation avec les figures 20, 23a-23b, 30 23c et 25), un ou plusieurs histogrammes représentatifs du poids, c'est-à-dire des quantités, des différents niveaux des données contenues dans ledit signal dérivé M' et donc dans ledit signal numérique initial (notamment le signal vidéo numérique initial), ce qui permet tout d'abord, de déterminer les zones successives correspondant aux détails apparaissant par ordre d'importance décroissante dans ledit signal désiré et de calculer les positions de ces zones, avec leur barycentre déterminé à partir de ces poids dans leur ordre d'apparition, donc d'importance décroissante, et ensuite avantageusement de réaliser une représentation hiérarchisée sous la forme d'un arbre (figures 44c-44e à 49) avec
les relations père -> fils.
Du fait de la détermination des barycentres, on effectue des caractérisations de l'objet observé indépendamment de toute io translation.
3 De préférence, une sectorisation angulaire (figures 34 à 43c), par passage des coordonnées cartésiennes x et y aux coordonnées polaires p et a (ou p) permet de déterminer des zones angulaires relativement larges centrées 15 sur le barycentre de la première zone apparue (celle comportant la caractéristique la plus notable), puis des sous-zones angulaires plus étroites couvrant la zone relativement large, à l'intérieur de laquelle a été trouvé un nouveau barycentre, ces souszones angulaires étant également centrées sur le barycentre de ladite 20 première zone, et de déterminer une première relation de fils par rapport au père, définie par p d'une manière absolue, indépendamment de toute rotation.
Ce processus est répété pour les zones successives 25 suivantes avec leur barycentre.
4 En appliquant le même type de sectorisation, non plus avec les paramètres x, y puis ca, p, mais avec LD, p puis D', p', on peut déterminer l'invariance de p appartenant à l'objet par rapport
à la distance de l'objet au capteur, indépendamment de l'échelle.
5 On réalise, dans un mode de réalisation préféré, la
description d'un objet par ses caractéristiques apparaissant par ordre d'importance décroissante, au moyen de quatre séquences successives permettant de calculer, par changement de coordonnées de x et y en p et a, des éléments relatifs à cet objet 35 dans le sens direct, c'est-à-dire en définissant ledit objet par ses
caractéristiques d'abord les plus importantes, puis les moins importantes; à la fin de ce processus en quatre temps, on a déterminé, non seulement l'arbre avec les filiations père --> fils susmentionnées, mais également un label ou l'étiquette définissant l'objet examiné. Il est alors possible, en présence d'un nouvel objet examiné, de vérifier rapidement si cet objet correspond sensiblement à l'objet précédemment mémorisé et, au début d'une reconnaissance possible, on peut réaliser plus rapidement le processus dynamique 10 en supprimant la troisième séquence, de manière à passer directement de la deuxième à la quatrième séquence, avec l'examen des identités entre les éléments de l'objet déjà mémorisé et les éléments correspondants du nouvel objet dans cette quatrième séquence, devenue troisième séquence. On constate 15 qu'il y a association d'un label aux caractéristiques trouvées, par ordre d'importance décroissante, de l'objet, c'est-à-dire qu'à chacune de ces caractéristiques de l'objet correspond une portion du label * ainsi dans la période d'apprentissage, c'est-à-dire de 20 I'observation d'un premier objet, il y a cumul des caractéristiques de celui-ci dans un label; * Iorsqu'on examine un nouvel objet, c'est-à-dire en reconnaissance de celui-ci, pour vérifier s'il correspond à un objet déjà analysé et labellisé, l'émergence d'un label déjà 25 connu permet d'extraire les caractéristiques associées à ce
label en vue d'accélérer la reconnaissance.
6 La rotation du capteur suivant deux angles (qui réalise une défocalisation dans une période To de la figure 3) permet de déterminer l'apparition d'une première caractéristique importante 30 (grâce à la valeur élevée du signal Dif) de l'objet observé. Le capteur s'arrêtant dans son mouvement de rotation, les détails apparaissent, du fait d'une refocalisation, par ordre d'importance décroissante et simultanément ces informations concernant les détails sont comparées aux informations déjà en mémoire sous 35 forme de label concernant des objets examinés précédemment, ce qui permet d'accélérer l'examen du nouvel objet en sautant éventuellement des étapes dans la reconnaissance du nouvel objet
et sa comparaison à un objet déjà connu.
7 Il est possible, en définitive, d'obtenir une information 5 complète sur l'objet indépendamment de sa rotation, de sa translation et de l'échelle, pour les raisons exposées précédemment. 8 En appliquant, non plus à un objet, mais à une scène observée comportant plusieurs objets, le procédé selon l'invention, l0 il est possible de partir d'une zone Z0 représentative de la scène et de son barycentre BarZo pour déterminer la localisation des différents objets de la scène, avec leur oc, p associés relativement à BarZ0, et de mémoriser une scène avec ses objets, sous la forme d'un label qui permettra ensuite de déterminer si une nouvelle 15 scène observé est constituée ou non par la scène initiale labellisée. Une telle manière de procéder est utilisable notamment en navigation, dont les principes seront exposés ci-après dans le
cadre des applications de l'invention.
B - Le procédé et le dispositif selon l'invention ont de 20 nombreuses applications dont on citera certaines, à titre d'exemples non limitatifs 1 - Comme décrit et illustré, la reconnaissance d'un visage, et donc d'une personne, est une des applications privilégiées de l'invention. La perception d'un visage et la récupération de ses 25 labels associés permettent de comparer les labels d'un nouveau visage aux labels des visages déjà examinés. La mémorisation des labels de visage au fur et à mesure de leur examen peut être réalisée dans un calculateur, une carte à puce, une carte d'identité magnétique ou un code barres, etc.... A partir d'un stock de telles 30 informations de labels de visages, il est possible de vérifier si un nouveau visage, qui vient d'être examiné par le procédé et le dispositif selon l'invention, correspond à des labels déjà mémorisés. Il est ainsi possible de reconnaître un individu notamment aux fins de repérer un individu recherché pour des 35 raisons diverses ou de permettre à un individu d'accéder à une
zone déterminée dont l'accès est sélectif.
Une autre application dans le cadre de la reconnaissance de visages est la suivante: les cartes de crédit de type classique sont perfectionnées en y ajoutant, dans leur puce, le ou les labels du 5 propriétaire; lorsque celui-ci se présente devant un guichet distributeur de billets et introduit sa carte de crédit à puce comportant le ou les labels de son visage, le distributeur comportant un caméscope ou une " webcam " est capable, après avoir mis en oeuvre le procédé et dispositif selon l'invention, de 10 vérifier si l'image du visage détectée par le caméscope ou la webcam correspond au ou aux labels inscrit dans la puce de la carte de crédit que vient d'introduire le demandeur d'espèces; ceci interdit, en cas de carte perdue ou volée, l'utilisation de celle-ci par une autre personne que son propriétaire, étant donné que le visage 15 de l'utilisateur non autorisé ne correspond pas au ou aux labels qui
sont mémorisés dans la puce de la carte de crédit.
Le label ou les labels d'une personne peuvent également être introduits dans une carte d'identité, un permis de conduire, une carte grise, etc...; Une application analogue peut s'appliquer aux téléphones portables comportant un capteur visuel; lors de sa première utilisation par un acquéreur authentique, le téléphone pourra déterminer les labels de celuici et éventuellement d'une ou d'autres personnes autorisées; il pourra vérifier ensuite, par 25 comparaison des labels mémorisés avec les labels de l'utilisateur,
si l'utilisateur actuel est une personne non autorisée ayant en sa possession le téléphone à la suite d'un vol ou d'une perte; dans ce cas, le téléphone pourra transmettre le label de la personne non autorisée à l'opérateur du réseau dont dépend le téléphone à 30 toutes fins utiles et éventuellement bloquer le téléphone.
On voit en définitive que le procédé et le dispositif selon l'invention permettent l'identification d'une personne pour un grand
nombre d'applications.
2 L'invention peut également s'appliquer à l'indexation d'une 35 photothèque ou banque d'images comportant un grand nombre de photos. Dans une première phase, un ou plusieurs labels sont associés à chaque photo ou image, par exemple un label correspondant à " vache " ou à " coucher de soleil ">. Dans une deuxième phase, à chaque label est associée une référence 5 alphanumérique qui est stockée dans un " dictionnaire " en regard du label correspondant et l'ensemble label et numéro de référence
de la photo ou de l'image est stocké dans une mémoire.
Lorsqu'un utilisateur désire trouver les photos ou images,
parmi celles stockées, comportant une vache ou un coucher de 10 soleil, il introduit un mot-clé indiquant vache ou coucher de soleil.
Le dictionnaire de la photothèque traduit ce mot-clé en repère alphanumérique, ce qui permet de trouver, dans la mémoire, le numéro de la ou des photos comportant le mot-clé. Bien entendu lorsqu'un utilisateur désire trouver une photo ou une image incluant 15 plusieurs caractéristiques, par exemple un coucher de soleil et une
vache, il lui suffira d'introduire les deux mots-clés correspondants.
3 Une autre application de l'invention concerne la navigation. Par exemple, en cas de navigation maritime, un utilisateur du 20 procédé et du dispositif selon l'invention, pour pouvoir se repérer, examine d'abord avec le capteur l'environnement de l'endroit o il se trouve, notamment un port ou une côte déchiquetée, et cet environnement est labellisé. Ensuite, le capteur est déplacé le long d'une carte marine et, en cas d'identité, entre les labels déjà 25 mémorisés de l'environnement et les labels d'une zone de la carte marine à l'endroit observé, il peut déterminer l'endroit o se trouve
son bateau.
Une autre application à la navigation consiste dans le repérage d'un trajet, par exemple pour retrouver celui-ci lorsqu'on 30 veut revenir au point de départ. Ainsi, au fur et à mesure du
déplacement, un dispositif selon l'invention permet de labéliser des positions successives, avec l'environnement correspondant; au retour, le " navigateur " essaye de retrouver, dans l'environnement qu'il observe avec le capteur du dispositif, s'il reconnaît bien un 35 endroit déjà visité à l'aller.
L'invention sera définie par les revendications ci-après, dans
lesquelles, comme dans la description ci-dessus, le terme " objet " englobe, non seulement les objets mentionnés proprement dits, mais également des personnes ou des portions de personnes, en 5 particulier des visages, et des animaux, ainsi qu'éventuellement
des images ou des scènes (notamment pour les applications à la navigation) .

Claims (65)

REVENDICATIONS
1. Procédé de fonctionnement d'un module de calcul et traitement d'histogramme, dit STN, pour analyse d'un paramètre 5 d'un espace spatiotemporel représenté sous forme de données en séquences et sous séquences évoluant dans le temps, le paramètre étant porté par un signal d'entrée DATA(A) numérique sous forme d'une suite Aij.. t, A'ij...t, A"ij...t,... de nombres binaires associés à des signaux de synchronisation permettant de définir un moment t lo de l'espace et une position i, j... dans cet espace, ledit paramètre étant traité dans le module STN par une fonction afin de produire une valeur de sortie, les valeurs de sortie d'un ensemble de modules formant une rétroannotation disponible sur un bus de rétroannotation (111), le calcul faisant intervenir la rétroannotation, 15 ledit module ayant des moyens pour calculer dans une mémoire adressable (100) un histogramme représentatif du paramètre, des moyens pour traiter ledit histogramme et produire au moins les valeurs suivantes stockées dans des registres du module: - une amplitude RMAX de sommet maximum d'histogramme, - une position de la mémoire POSRMAX dudit maximum de l'histogramme, - une paire de bornes de classification déterminées en fonction d'un critère appliqué sur l'histogramme par balayage de la mémoire et détection dudit critère, caractérisé en ce que dans des moyens pour traiter l'histogramme et produire la paire de borne on effectue, d'une part, un balayage d'adresses décroissant de la mémoire adressable (100) à partir de la position du maximum POSRMAX afin de produire une première borne de la paire de bornes en fonction du critère et, d'autre part, 30 un balayage d'adresses croissant de la mémoire adressable (100) à
partir de la position du maximum POSRMAX afin de produire une deuxième borne de la paire de bornes en fonction du critère, lesdites bornes étant ainsi déterminées par balayage bilatéral de la mémoire adressable (100) à partir de la position du maximum 35 POSRMAX de l'histogramme.
2. Procédé selon la revendication 1 caractérisé en ce que la détermination s'effectue selon l'une des modalités suivantes: - on produit les bornes en un seul balayage d'adresses, un signal de comptage étant alternativement additionné et 5 soustrait à/de la position du maximum POSRMAX pour chaque pas de comptage, - on produit les bornes en deux balayages d'adresses, d'abord la première borne puis la seconde borne, un signal de comptage étant soustrait de la position du maximum 10 POSRMAX pendant un premier balayage puis un nouveau signal de comptage étant additionné à la position du maximum POSRMAX pendant un second balayage, - on produit les bornes en deux balayages d'adresses, d'abord la seconde borne puis la première borne, un signal de 15 comptage étant additionné à la position du maximum POSRMAX pendant un premier balayage puis un nouveau signal de comptage étant soustrait de la position du maximum
POSRMAX pendant un second balayage.
3. Procédé selon la revendication 1 ou 2 caractérisé en ce 20 que l'on met en ceuvre un moyen (1162) de sélection permettant de sélectionner le critère en fonction d'au moins une des valeurs suivantes: - la valeur de maximum RMAX, - une valeur de seuil SEUIL fournie au module, - un nombre de points NBPTS de l'histogramme produit par
traitement de l'histogramme et stocké dans un registre du module.
4. Procédé selon la revendication 3 caractérisé en ce que l'on
sélectionne le critère parmi RMAX/2, SEUIL, NBPTS/SEUIL.
5. Procédé selon l'une quelconque des revendications 30 précédentes caractérisé en ce que l'on met en oeuvre dans le
module STN au moins: - un additionneur/soustracteur (108) permettant selon la valeur binaire d'un signal SENS de sens de balayage, d'ajouter ou soustraire une valeur de décalage à un signal de comptage 35 COUNTER, la valeur de décalage pouvant au moins être soit nulle, soit égale à la valeur POSRMAX de position du maximum de l'histogramme, pour générer le signal d'adressage de la mémoire adressable (100), - un comparateur (1161) et des circuits logiques (1163, 1164, 1165, 5 1166, 1167, 1168) recevant d'une part une donnée adressée de la mémoire adressable (100) et, d'autre part, le critère, et destinés à générer un signal de mise à jour de borne pour permettre la validation dans un registre d'une des bornes selon le sens de balayage, - un multiplexeur (105) de sélection disposé à une entrée d'adressage de la mémoire adressable (100), ledit multiplexeur ayant trois entrées recevant respectivement un signal d'entrée portant le paramètre, le signal de comptage COUNTER et la sortie
de additionneur/soustracteur (108).
6. Procédé selon l'une quelconque des revendications
précédentes caractérisé en ce que l'on met en oeuvre dans le module STN des moyens pour anticipation avec calcul d'une position moyenne POSMOY relative audit paramètre et calcul d'une différentielle AA du paramètre par différence entre deux moyennes 20 successives dudit paramètre et en ce que le paramètre est soustrait de la différentielle signée (145) (146) avant mise en oeuvre dans une sous-unité de fonctionnement (101, 101') destinée à produire le signal de sortie (101s) pour rétroannotation en
fonction de la paire de bornes déterminée.
7. Procédé selon la revendication 6 caractérisé en ce que l'on
met en oeuvre en outre une unité barycentrique destinée à produire un signal de sortie de barycentre pour rétroannotation avec un premier état binaire lorsque le paramètre correspond à la position moyenne POSMOY et avec un second état binaire dans le cas 30 contraire.
8. Procédé selon l'une quelconque des revendications 1 à 5
caractérisé en ce que le paramètre analysé par le module STN est complexe et qu'on l'obtient par combinaison d'au moins deux paramètres élémentaires, chacun des nombres binaires du signal 35 d'entrée DATA(A1, A2,A3...Ap) support du paramètre complexe (A1A2A3...Ap) comportant P champs correspondant chacun à un paramètre élémentaire AI, A2, A3,..., Ap et en ce que l'on met en oeuvre des moyens dans le module STN pour produire et stocker dans des registres P paires de bornes correspondant chacune à un 5 paramètre élémentaire par balayage bilatéral de la mémoire à partir de la position du maximum POSRMAX de l'histogramme du
paramètre complexe.
9. Procédé selon la revendication 8 caractérisé en ce que l'on met en oeuvre une unité de décalage (130), ladite unité permettant l0 d'introduire dans le signal de comptage COUNTER un décalage numérique permettant d'adresser dans la mémoire des données
correspondant à un champ particulier du paramètre complexe.
10. Procédé selon la revendication 8 ou 9 caractérisé en ce que l'on met en oeuvre des moyens pour anticipation avec calcul 15 d'une position moyenne complexe POSMOYA1A2... relative à l'ensemble des p paramètres élémentaires du paramètre complexe et calcul de différentielles AA1, AA2,.
AAp de chacun des p paramètres élémentaires du paramètre complexe (A1A2A3...Ap) par différence entre deux moyennes successives complexe et en ce 20 que chacun des paramètres élémentaires est soustrait de la différentielle signée correspondante (145, 146) avant mise en ceuvre dans une sous-unité de fonctionnement (101) destinée à produire le signal de sortie (101s) pour rétroannotation en fonction..CLMF: des paires de bornes déterminées.
11. Procédé selon la revendication 10 caractérisé en ce que
l'on met en oeuvre en outre une unité barycentrique destinée à produire un signal de sortie de barycentre pour rétroannotation avec un premier état binaire lorsque le paramètre complexe (A1A2A3...Ap) correspond à la position moyenne complexe 30 POSMOYA1A2... et avec un second état binaire dans le cas contraire.
12. Procédé selon la revendication 10 ou 11 caractérisé en ce que l'on met en oeuvre une sous-unité de fonctionnement (101') qui comporte des moyens permettant au choix (133, 134) la génération d'un espace de classification pour le signal de sortie par
combinaison ET (131) ou OU (132) de zones de classifications, respectivement Zet et Zou, de chacun des paramètres élémentaires.
13. Procédé selon l'une quelconque des revendications
précédentes caractérisé en ce que l'on stocke l'existence ou non 5 d'une classe sous forme de données binaires à deux états dans une mémoire de classification (118) dont le nombre de mots correspond à la taille de l'histogramme stocké dans la mémoire adressable (100) du module STN, le premier état correspondant à la détection du critère et le second état à la non détection du _o critère sur l'histogramme, une classe avec des valeurs de premier
état correspondant à une zone d'histogramme comprise entre les bornes et en ce que l'on envoi le signal de sortie (101s) de la mémoire de classification (118) sur le bus de rétroannotation (111).
14. Procédé selon l'une quelconque des revendications 15 précédentes caractérisé en ce que l'on initialise par un moyen
(120) de calcul de fonction la mémoire adressable (100) du module STN lors d'un cycle de calcul donné avec des valeurs d'initialisation fonction des valeurs stockées dans la mémoire
adressable (100) à la fin du cycle de calcul précédent.
15. Procédé selon la revendication 14 caractérisé en ce que
l'on met en oeuvre une fonction pour calcul de valeur d'initialisation égale à (Km-1)/Km fois la valeur stockée, Km étant de la forme 2m avec m supérieur ou égal à zéro, m supérieur à zéro permettant d'obtenir un effet mémoire et m égal à zéro correspondant à une 25 absence d'effet mémoire.
16. Procédé selon l'une quelconque des revendications
précédentes caractérisé en ce que l'on détermine et mémorise pour un histogramme donné un ensemble de données de classes, chaque classe correspondant à un sommet dudit histogramme et 30 lesdites données comportant au moins l'amplitude et la position dudit sommet, une des classes correspondant au sommet maximum
(RMAX, POSRMAX) de l'histogramme.
17. Procédé selon la revendication 16 caractérisé en ce que l'on répartit des moyens permettant de déterminer et mémoriser un 35 ensemble de données de classes entre plusieurs modules STN, un premier module (ST1) déterminant et mémorisant une première classe correspondant au sommet maximum de l'histogramme, et un deuxième module (ST2) déterminant et mémorisant une seconde classe correspondant au second plus grand sommet de 5 I'histogramme et ainsi de suite (ST3...), la sortie du module d'une classe de sommet supérieur inhibant l'ensemble des modules suivants déterminant et mémorisant les sommets inférieurs de l'histogramme.
18. Procédé selon la revendication 16 caractérisé en ce que o0 I'on répartit des moyens permettant de déterminer et mémoriser un ensemble de données de classes entre plusieurs modules STN, un premier module (ST'O) déterminant et mémorisant l'ensemble des classes et envoyant classe par classe par ordre décroissant de sommet d'histogramme vers un module d'un ensemble de modules 15 (ST'1, ST'2, ST'3...) les données correspondant à une desdites classes, les classes étant ainsi réparties entre les modules, chacun des modules (ST'l1, ST'2, ST'3...) déterminant et stockant la classe
qu'il a reçue.
19. Procédé selon la revendication 16 caractérisé en ce que 20 I'on répartit les moyens permettant de déterminer et mémoriser un ensemble de données de classes entre un module STN et une interface de programmation d'application (API), lesdits moyens comportant une mémoire M0 de valeurs d'histogramme déterminées par le module, une mémoire M1 d'adresses ordonnées en amplitude 25 de sommets de l'histogramme, une mémoire M2 permettant de stocker le numéro d'ordre de la classe, une mémoire M3 de seuils des classes et un registre RC de nombre de classes, I'API permettant d'effectuer: - un cycle d'initialisation mettant à zéro les mémoires M0, M1, M2, 30 M3 et le registre RC, - un cycle de calcul pour charger dans M0 les valeurs de l'histogramme déterminé dans le module, un cycle de mise à jour des classes, le cycle de mise à jour comprenant: (A) - un tri des amplitudes par ordre décroissant dans la mémoire M0 et une mémorisation des adresses correspondantes dans la mémoire M1, (B) une recherche des classes avec étiquetage des classes dans 5 la mémoire M2 et mémorisation des seuils correspondants dans la mémoire M3, le nombre de classes ainsi déterminées étant stocké dans le registre RC,
(C) - une validation des classes de la mémoire M2 par comparaison de la valeur de la mémoire M0 à l'adresse de la classe considérée 1o de M2 avec le seuil de M3 correspondant à la classe considérée.
20. Procédé selon la revendication 19 caractérisé en ce que les mémoires M0 et M1 correspondent à la mémoire adressable du module STN et les données correspondantes sont regroupées en une table fonctionnelle (600) unique de couples amplitude et 15 position mémoire (RMAXo/POSRMAXo; RMAX1/POSRMAX1; RMAX2/POSRMAX2...) des sommets de l'histogramme par ordre décroissant d'amplitude, la table fonctionnelle (600) effectuant un
tri matériel automatique des classes pendant l'étape de calcul.
21. Procédé selon la revendication 19 ou 20 caractérisé en ce 20 que l'on regroupe dans une unité fonctionnelle multiclasse au sein d'un module STN: - la table fonctionnelle (600) unique de couples amplitude et position mémoire (RMAXo/POSRMAXo; RMAX1/POSRMAX1; RMAX2/POSRMAX2...) des sommets de l'histogramme par ordre 25 décroissant d'amplitude, la table fonctionnelle (600) effectuant un tri matériel automatique des classes pendant l'étape de calcul, la mémoire adressable étant remplacée par ladite table fonctionnelle unique, - la mémoire M2 permettant de stocker le numéro d'ordre de la 30 classe, - la mémoire M3 de seuil des classes, le registre de nombre de classes, - une interface de programmation applicative API, ladite unité fonctionnelle multiclasse recevant au moins un 35 paramètre simple (DATA(A)) ou complexe (DATA(A1...Ap)), un signal de validation (VALIDATION) combinaison linéaire de signaux de rétroannotation et des signaux de séquencement (INIT,
CALCUL, END, CLOCK),
ladite unité fonctionnelle multiclasse renvoyant au moins un 5 ensemble de signaux de sortie correspondant chacun à une classe (Cl1...Clk) sur le bus de rétroannotation.
22. Procédé selon l'une quelconque des revendications 16 à
21 caractérisé en ce qu'il est mis en oeuvre dans un système de reconnaissance d'objet comportant au moins deux modules 10 multiclasses, un premier module (660) (664) opérant dans le domaine temporel TD, déterminant au moins une classe et recrutant pour ladite classe au moins un second module (661, 662,
663) (665, 666, 667) opérant dans le domaine spatial SD.
23. Procédé selon l'une quelconque des revendications 15 précédentes caractérisé en ce qu'on le met en oeuvre dans un
système de reconnaissance d'objet comportant un ensemble de modules STN de calcul et traitement d'histogramme par sectorisation, les modules déterminant des zones et des barycentres, et en ce que l'on divise une zone déterminée en 20 plusieurs secteurs angulaires centrés sur le barycentre
correspondant de la zone et que l'on recherche dans quel secteur parmi les secteurs, un nouveau barycentre apparaît et que l'on divise ledit secteur en plusieurs sous-secteurs, le processus pouvant se poursuivre afin de continuer à affiner progressivement 25 la sectorisation.
24. Procédé selon la revendication 23 caractérisé en ce qu'on le met en oeuvre dans au moins un module STN avec au moins deux unités d'orientation pa pp d'axes (150, 151) en entrée pour rotation d'axes de référence d'au moins deux coordonnées 30 cartésiennes de paramètres d'entrée, le/les modules déterminant en outre le barycentre pour les paramètres d'entrée, et dans le système on détermine un premier espace Z, comportant un barycentre BarZi par une association d'un module monolinéaire (296) traitant un premier paramètre et d'un second module 35 bilinéaire (297) traitant les coordonnées, une seconde association (298) (299) déterminant à l'intérieur dudit premier espace Z, l'apparition d'un second barycentre BarZj.+1, ledit premier espace étant scindé en secteurs angulaires distincts régulièrement répartis (Zri0, Zr1l, Zri2...), chacun des secteurs étant traité par un module 5 bilinéaire de secteur (300, 301.
307) recevant ZI, BarZ, et également le signal du second barycentre BarZi+1, le module bilinéaire de secteur correspondant au second barycentre BarZ1+1 étant mis en relation avec un ensemble de modules bilinéaires de secteur de rang ultérieur permettant de scinder le secteur 1o possédant le second barycentre BarZi+1 en secteurs angulaires distincts régulièrement répartis (Zra, Zrb, Zrc...) afin d'affiner progressivement la sectorisation et déterminer en outre au moins un angle cx (1071) d'axes de référence sensiblement perpendiculaire à la direction de la droite unissant les deux barycentres BarZ, et BarZj+1 et un module p (1070) de distance entre les deux barycentres BarZi et BarZ,+1 le long de ladite droite, la référence selon l'angle a permettant d'obtenir une invariance en translation.
25. Procédé selon la revendication 23 ou 24 caractérisé en ce 20 que l'objet peut être observé à des distances différentes et que l'on met en oeuvre dans le système en outre au moins une unité d'invariance en taille (450) (451) (410), ladite unité d'invariance en taille recevant au moins en entrée, d'une part, une valeur du logarithme (400) d'une distance LD entre un point de référence et 25 au moins un point de l'objet et, d'autre part, le module p de distance entre deux barycentres BarZi et BarZ,+1, ladite unité déterminant au moins une valeur Cp' de projection sensiblement constante et correspondant à un angle 0 de rotation par rapport au..CLMF: référentiel p et LD.
26. Procédé selon la revendication 25 caractérisé en ce que l'on met en oeuvre dans l'unité d'invariance en taille (410) des moyens de contrôle de la distance permettant au choix l'utilisation d'une mesure de distance externe ou la détermination interne de la distance.
27. Procédé selon l'une quelconque des revendications 22 à
26 caractérisé en ce que l'objet peut être observé à selon des angles différents et que l'on met en oeuvre dans le système en outre au moins une unité de correction de rotation (900), ladite 5 unité de correction de rotation permettant de corriger la valeur d'angle ca d'axe de référence par rapport à un couple de valeurs a,
p d'angle et module précédemment déterminés.
28. Procédé selon l'une quelconque des revendications
précédentes caractérisé en ce qu'on le met en oeuvre dans un 10 système de reconnaissance d'objet comportant un ensemble de modules STN de calcul et traitement d'histogramme avec au moins une unité de transformation de repère de paramètres par rotation d'angle 0, le repère étant au moins sur deux dimensions de paramètres, la rotation dans le cas d'un repère bidimensionnel pour 15 des paramètres de coordonnées polaires de pixel X, Y, correspondant à l'opération matricielle suivante *Xl Scos 0 sin 0 X
= X
sin 0 -cos 0 x
29 Procédé selon l'une quelconque des revendications 23 à
28 caractérisé en ce que l'on détermine au cours du temps plusieurs barycentres de zones apparaissant successivement par rapport à un premier d'une zone initiale et que l'on mémorise les coordonnées de barycentre en relation avec un label sous forme de 25 données de reconnaissance.
30. Procédé selon la revendication 29 caractérisé en ce que
pour déterminer si un nouvel objet observé correspond ou non à un objet avec label mémorisé antérieurement, on détermine les données de reconnaissance du nouvel objet et on le compare à des 30 données de reconnaissance de labels précédemment mémorisés.
31. Procédé selon la revendication 29 ou 30 caractérisé en ce que l'on associe en outre aux données de reconnaissance du label un angle de rotation Ac et une distance moyenne LD' par des moyens (920) (921) permettant de déterminer ledit angle de
rotation Au et ladite distance moyenne LD'.
32 Procédé selon l'une quelconque des revendications 29 à
31 caractérisé en ce que l'on analyse les labels par un module 5 (670) de calcul et traitement d'histogramme capable de déterminer et mémoriser un ensemble de données de catégorisation desdits labels.
33. Dispositif à type de module de calcul et traitement d'histogramme, dit STN, pour analyse d'un paramètre d'un espace 1o spatio-temporel représenté sous forme de données en séquences et sous séquences évoluant dans le temps, le paramètre étant porté par un signal d'entrée DATA(A) numérique sous forme d'une suite Aij.. t, A'ij...t, A"ij...t... de nombres binaires associés à des signaux de synchronisation permettant de définir un moment t de 15 lI'espace et une position i, j... dans cet espace, ledit paramètre étant traité dans le module STN par une fonction afin de produire une valeur de sortie, les valeurs de sortie d'un ensemble d'unités formant une rétroannotation disponible sur un bus de rétroannotation (111), le calcul faisant intervenir la rétroannotation, 20 ledit module ayant des moyens pour calculer dans une mémoire adressable (100) un histogramme représentatif du paramètre, des moyens pour traiter ledit histogramme et produire au moins les valeurs suivantes stockées dans des registres du module: - une amplitude RMAX de sommet maximum d'histogramme, - une position de la mémoire POSRMAX dudit maximum de l'histogramme, - une paire de bornes de classification déterminées en fonction d'un critère appliqué sur l'histogramme par balayage de la mémoire et détection dudit critère, caractérisé en ce qu'il comporte des moyens pour traiter l'histogramme et produire la paire de borne par, d'une part, un balayage d'adresses décroissant de la mémoire adressable (100) à partir de la position du maximum POSRMAX afin de produire une première borne de la paire de bornes en fonction du critère et, 35 d'autre part, un balayage d'adresses croissant de la mémoire adressable (100) à partir de la position du maximum POSRMAX afin de produire une deuxième borne de la paire de bornes en fonction du critère, lesdites bornes étant ainsi déterminées par balayage bilatéral de la mémoire adressable (100) à partir de la position du maximum POSRMAX de l'histogramme.
34. Dispositif selon la revendication 33 caractérisé en ce que les moyens pour traiter l'histogramme et produire la paire de borne permettent une détermination selon l'une des modalités suivantes: - par production des bornes en un seul balayage d'adresses, un signal de comptage étant alternativement additionné et soustrait à/de la position du maximum POSRMAX pour chaque pas de comptage, - par production des bornes en deux balayages d'adresses, d'abord la première borne puis la seconde borne, un signal de 15 comptage étant soustrait de la position du maximum POSRMAX pendant un premier balayage puis un nouveau signal de comptage étant additionné à la position du maximum POSRMAX pendant un second balayage, - par production des bornes en deux balayages d'adresses, 20 d'abord la seconde borne puis la première borne, un signal de comptage étant additionné à la position du maximum POSRMAX pendant un premier balayage puis un nouveau signal de comptage étant soustrait de la position du maximum
POSRMAX pendant un second balayage.
35. Dispositif selon la revendication 33 ou 34 caractérisé en ce qu'il comporte un moyen (1162) de sélection permettant de sélectionner le critère en fonction d'au moins une des valeurs suivantes: - la valeur de maximum RMAX, - une valeur de seuil SEUIL fournie au module, - un nombre de points NBPTS de l'histogramme produit par
traitement de l'histogramme et stocké dans un registre du module.
36. Dispositif selon la revendication 35 caractérisé en ce que
le critère est sélectionné parmi RMAX/2, SEUIL, NBPTS/SEUIL.
37. Dispositif selon l'une quelconque des revendications
précédentes caractérisé en ce qu'il comporte au moins: - un additionneur/soustracteur (108) permettant selon la valeur binaire d'un signal SENS de sens de balayage, d'ajouter ou 5 soustraire une valeur de décalage à un signal de comptage COUNTER, la valeur de décalage pouvant être soit nulle, soit égale à la valeur POSRMAX de position du maximum de l'histogramme, pour générer le signal d'adressage de la mémoire adressable
(100),
i0 - un comparateur (1161) et des circuits logiques (1163, 1164, 1165, 1166, 1167, 1168) recevant d'une part une donnée adressée de la mémoire adressable (100) et, d'autre part, le critère, et destinés à générer un signal de mise à jour de borne pour permettre la validation dans un registre d'une des bornes selon le sens de 15 balayage,
- un multiplexeur (105) de sélection disposé à une entrée d'adressage de la mémoire adressable (100), ledit multiplexeur ayant trois entrées recevant respectivement un signal d'entrée portant le paramètre, le signal de comptage COUNTER et la sortie 20 de additionneur/soustracteur (108).
38. Dispositif selon l'une quelconque des revendications
précédentes caractérisé en ce qu'il comporte des moyens pour anticipation avec calcul d'une position moyenne POSMOY relative audit paramètre et calcul d'une différentielle AA du paramètre par 25 différence entre deux moyennes successives dudit paramètre et en ce que le paramètre est soustrait de la différentielle signée (145) (146) avant mise en oeuvre dans une sous-unité de fonctionnement (101, 101') destinée à produire le signal de sortie (101is) pour
rétroannotation en fonction de la paire de bornes déterminée.
39. Dispositif selon la revendication 38 caractérisé en ce qu'il comporte en outre une unité barycentrique destinée à produire un signal de sortie de barycentre pour rétroannotation avec un premier état binaire lorsque le paramètre correspond à la position moyenne
POSMOY et avec un second état binaire dans le cas contraire.
40. Dispositif selon l'une quelconque des revendications 33 à
37 caractérisé en ce que le paramètre analysé par le module STN est complexe et qu'on l'obtient par combinaison d'au moins deux paramètres élémentaires, chacun des nombres binaires du signal 5 d'entrée DATA(A1,A2, A3...Ap) support du paramètre complexe (AlA2A3...Ap) comportant P champs correspondant chacun à un paramètre élémentaire A1, A2, A3,..., Ap et en ce qu'il comporte des moyens dans le module pour produire et stocker dans des registres P paires de bornes correspondant chacune à un 10 paramètre élémentaire par balayage bilatéral de la mémoire à partir de la position du maximum POSRMAX de l'histogramme du
paramètre complexe.
41. Dispositif selon la revendication 40 caractérisé en ce qu'il comporte une unité (130) de décalage (130), ladite unité 15 permettant d'introduire dans le signal de comptage COUNTER un décalage numérique permettant d'adresser dans la mémoire des données correspondant à un champ particulier du paramètre complexe.
42. Dispositif selon la revendication 40 ou 41 caractérisé en 20 ce qu'il comporte des moyens pour anticipation avec calcul d'une position moyenne complexe POSMOYA1A2.. . relative à l'ensemble des p paramètres élémentaires du paramètre complexe et calcul de différentielles SA1A, AA2,... AAp de chacun des p paramètres élémentaires du paramètre complexe (A1A2A3...Ap) par différence 25 entre deux moyennes successives complexe et en ce que chacun
des paramètres élémentaires est soustrait de la différentielle signéecorrespondante (145, 146) avant mise en oeuvre dans une sous-unité de fonctionnement (101) destinée à produire le signal de sortie (101s) pour rétroannotation en fonction des paires de bornes 30 déterminées.
43. Dispositif selon la revendication 42 caractérisé en ce qu'il comporte en outre une unité barycentrique destinée à produire un signal de sortie de barycentre pour rétroannotation avec un premier état binaire lorsque le paramètre complexe (A1A2A3...Ap) correspond à la position moyenne complexe POSMOYA1A2... et avec
un second état binaire dans le cas contraire.
44. Dispositif selon la revendication 42 ou 43 caractérisé en ce qu'il comporte une sous-unité de fonctionnement (101') avec des 5 moyens permettant au choix (133, 134) la génération d'un espace de classification pour le signal de sortie par combinaison ET (131) ou OU (132) de zones de classifications, respectivement Zet et Zou,
de chacun des paramètres élémentaires.
45. Dispositif selon l'une quelconque des revendications
o précédentes caractérisé en ce qu'il comporte une mémoire (118) de classification dont le nombre de mots correspond à la taille de l'histogramme stocké dans la mémoire adressable (100) du module STN, la mémoire (118) stockant l'existence ou non d'une classe sous forme de données binaires à deux états, le premier état 15 correspondant à la détection du critère et le second état à la non
détection du critère sur l'histogramme, une classe avec des valeurs de premier état correspondant à une zone d'histogramme comprise entre les bornes et en ce que le signal de sortie (101s) de la mémoire de classification (118) est envoyé sur le bus de 20 rétroannotation (111).
46. Dispositif selon l'une quelconque des revendications
précédentes caractérisé en ce qu'il comporte un moyen (120) de calcul de fonction permettant d'initialiser la mémoire adressable (100) du module STN lors d'un cycle de calcul donné avec des 25 valeurs d'initialisation fonction des valeurs stockées dans la
mémoire adressable (100) à la fin du cycle de calcul précédent.
47. Dispositif selon la revendication 46 caractérisé en ce que la fonction pour calcul de valeur d'initialisation produit (Km-1)/Km fois la valeur stockée, Km étant de la forme 2m avec m supérieur ou 30 égal à zéro, m supérieur à zéro permettant d'obtenir un effet mémoire et m égal à zéro correspondant à une absence d'effet mémoire.
48. Dispositif selon l'une quelconque des revendications
précédentes caractérisé en ce qu'il comporte des moyens pour 35 déterminer et mémoriser pour un histogramme donné un ensemble de données de classes, chaque classe correspondant à un sommet dudit histogramme et lesdites données comportant au moins l'amplitude et la position dudit sommet, une des classes correspondant au sommet maximum (RMAX, POSRMAX) de I'histogramme.
49. Dispositif selon la revendication 48 caractérisé en ce que les moyens permettant de déterminer et mémoriser un ensemble de données de classes sont répartis entre plusieurs modules STN, un premier module (ST1) déterminant et mémorisant une première 1o classe correspondant au sommet maximum de l'histogramme, et un deuxième module (ST2) déterminant et mémorisant une seconde classe correspondant au second plus grand sommet de l'histogramme et ainsi de suite (ST3...), la sortie du module d'une classe de sommet supérieur inhibant l'ensemble des modules 15 suivants déterminant et mémorisant les sommets inférieurs de l'histogramme.
50. Dispositif selon la revendication 48 caractérisé en ce que les moyens permettant de déterminer et mémoriser un ensemble de données de classes sont répartis entre plusieurs modules, un 20 premier module (ST'O) déterminant et mémorisant l'ensemble des classes et envoyant classe par classe par ordre décroissant de sommet d'histogramme vers un module d'un ensemble de modules (ST'1, ST'2, ST'3...) les données correspondant à une desdites classes, les classes étant ainsi réparties entre les modules, chacun 25 des modules (ST'1, ST'2, ST'3...) déterminant et stockant la classe
qu'il a reçue.
51. Dispositif selon la revendication 48 caractérisé en ce que les moyens permettant de déterminer et mémoriser un ensemble de données de classes sont répartis entre un module STN et une 30 interface de programmation d'application (API), lesdits moyens comportant une mémoire M0 de valeurs d'histogramme déterminées par le module, une mémoire M1 d'adresses ordonnées en amplitude de sommets de l'histogramme, une mémoire M2 permettant de stocker le numéro d'ordre de la classe, une mémoire M3 de seuil des classes et un registre RC de nombre de' classes, I'API permettant d'effectuer: - un cycle d'initialisation mettant à zéro les mémoires M0, M1, M2, M3 et le registre, - un cycle de calcul pour charger dans M0 les valeurs de l'histogramme déterminé dans le module, - un cycle de mise à jour des classes, le cycle de mise à jour comprenant: (A) - un tri des amplitudes par ordre décroissant dans la mémoire 10 M0 et une mémorisation des adresses correspondantes dans la mémoire M1, (B) - une recherche des classes avec étiquetage des classes dans la mémoire M2 et mémorisation des seuils correspondants dans la mémoire M3, le nombre de classes ainsi déterminées étant stocké 15 dans le registre RC, (C) - une validation des classes de la mémoire M2 par comparaison de la valeur de la mémoire M0 à l'adresse de la classe considérée
de M2 avec le seuil de M3 correspondant à la classe considérée.
52. Dispositif selon la revendication 51 caractérisé en ce que 20 les mémoires M0 et M1 correspondent à la mémoire adressable du module STN et les données correspondantes sont regroupées en une table fonctionnelle unique (600) de couples amplitude et position mémoire (RMAXo/POSRMAXo; RMAX1/POSRMAX1; RMAX2/POSRMAX2...) des sommets de l'histogramme par ordre 25 décroissant d'amplitude, la table fonctionnelle effectuant un tri
matériel automatique des classes pendant l'étape de calcul.
53. Dispositif selon la revendication 51 ou 52 caractérisé en ce que l'on regroupe dans une unité fonctionnelle multiclasse au sein d'un module STN: - la table fonctionnelle unique (600) de couples amplitude et position mémoire (RMAXo/POSRMAXo; RMAX1/POSRMAX1; RMAX2/POSRMAX2...) des sommets de l'histogramme par ordre décroissant d'amplitude, la table fonctionnelle effectuant un tri matériel automatique des classes pendant l'étape de calcul, la mémoire adressable étant remplacée par ladite table fonctionnelle unique, - la mémoire M2 permettant de stocker le numéro d'ordre de la classe, - la mémoire M3 de seuil des classes, - le registre de nombre de classes, - une interface de programmation applicative API, ladite unité fonctionnelle multiclasse recevant au moins un paramètre simple (DATA(A)) ou complexe (DATA(A1...Ap)), un _o signal de validation (VALIDATION) combinaison linéaire de signaux de rétroannotation et des signaux de séquencement (INIT,
CALCUL, END, CLOCK),
ladite unité fonctionnelle multiclasse renvoyant au moins un ensemble de signaux de sortie correspondant chacun à une classe 15 (CI1...Clk) sur le bus de rétroannotation.
54. Dispositif selon l'une quelconque des revendications 48 à
53 caractérisé en ce qu'il est dans un système de reconnaissance d'objet comportant au moins deux modules multiclasses, un premier module (660) (664) opérant dans le domaine temporel TD, 20 déterminant au moins une classe et recrutant pour ladite classe au moins un second module (661, 662, 663) (665, 666, 667) opérant
dans le domaine spatial SD.
55. Dispositif selon l'une quelconque des revendications
précédentes caractérisé en ce qu'il est dans un système de 25 reconnaissance d'objet comportant un ensemble de modules STN de calcul et traitement d'histogramme par sectorisation, les modules déterminant des zones et des barycentres, et qu'il permet de diviser une zone déterminée en plusieurs secteurs angulaires centrés sur le barycentre correspondant de la zone et de 30 rechercher dans quel secteur parmi les secteurs, un nouveau
barycentre apparaît et de diviser ledit secteur en plusieurs soussecteurs afin d'affiner progressivement la sectorisation.
56. Dispositif selon la revendication 55 caractérisé en ce qu'il comporte au moins un module STN avec au moins deux unités 35 d'orientation pa p3 d'axes (150, 151) en entrée pour rotation d'axes de référence d'au moins deux coordonnées cartésiennes de paramètres d'entrée, le/les modules déterminant en outre le barycentre pour les paramètres d'entrée, et dans le système on détermine un premier espace Z, comportant un barycentre BarZ1 par 5 une association d'un module monolinéaire (296) traitant un premier paramètre et d'un second module bilinéaire (297) traitant les coordonnées, une seconde association (298) (299) déterminant à l'intérieur dudit premier espace Zi l'apparition d'un second barycentre BarZ,+1, ledit premier espace étant scindé en secteurs 1o angulaires distincts régulièrement répartis (Zrio, Zr1il, Zri2...), chacun des secteurs étant traité par un module bilinéaire de secteur (300, 301...307) recevant Zi, BarZi et également le signal du second barycentre BarZi+1, le module bilinéaire de secteur correspondant au second barycentre BarZ1+ 1 étant mis en relation 15 avec un ensemble de modules bilinéaires de secteur de rang ultérieur permettant de scinder le secteur possédant le second barycentre BarZ1+1 en secteurs angulaires distincts régulièrement répartis (Zra, Zrb, Zrc...) afin d'affiner progressivement la sectorisation et déterminant en outre au moins un angle ca (1071) 20 d'axe de référence sensiblement perpendiculaire à la direction de la droite unissant les deux barycentres BarZi et BarZl+ et un module pj (1070) de distance entre les deux barycentres BarZi et
BarZ1+1 le long de ladite droite.
57. Dispositif selon la revendication 55 ou 56 caractérisé en 25 ce que l'objet peut être observé à des distances différentes et que le système comporte en outre au moins une unité d'invariance en taille (450) (451) (410), ladite unité d'invariance en taille recevant au moins en entrée, d'une part, une valeur du logarithme (400) d'une distance LD entre un point de référence et, d'autre part, au 30 moins un point de l'objet et le module pj de distance entre deux barycentres BarZ1 et BarZ1+1, ladite unité déterminant au moins une valeur Cp' de projection sensiblement constante et correspondant à
un angle 0 de rotation par rapport au référentiel p et LD.
58. Dispositif selon la revendication 57 caractérisé en ce que 35 I'unité d'invariance en taille (410) comporte des moyens de contrôle de la distance permettant au choix l'utilisation d'une mesure de distance externe ou la détermination interne de la distance.
59. Dispositif selon l'une quelconque des revendications 54 à 5 58 caractérisé en ce que l'objet peut être observé à selon des angles différents et que le système comporte en outre au moins une unité de correction de rotation (900), ladite unité de correction de rotation permettant de corriger la valeur d'angle a d'axe de référence par rapport à un couple de valeurs a, p d'angle et module 1o précédemment déterminés.
60. Dispositif l'une quelconque des revendications
précédentes caractérisé en ce qu'un système de reconnaissance d'objet comportant un ensemble de modules STN de calcul et traitement d'histogramme, comporte au moins une unité de 15 transformation de repère de paramètres par rotation d'angle 0, le repère étant au moins sur deux dimensions de paramètres, la rotation dans le cas d'un repère bidimensionnel pour des paramètres de coordonnées polaires de pixel X, Y, correspondant à l'opération matricielle suivante FX _cos 0 sin 0 1 X : X Y- Lsin 0 - cos O0 y
61. Dispositif selon l'une quelconque des revendications 54 à
caractérisé en ce que l'on détermine au cours du temps 25 plusieurs barycentres de zones apparaissant successivement par rapport à un premier d'une zone initiale et que l'on mémorise les coordonnées de barycentre en relation avec un label sous forme de
données de reconnaissance.
62. Dispositif selon la revendication 61 caractérisé en ce qu'il 30 comporte des moyens pour déterminer si un nouvel objet observé correspond ou non à un objet avec label mémorisé antérieurement par détermination des données de reconnaissance du nouvel objet et comparaison à des données de reconnaissance de labels
précédemment mémorisés.
63. Dispositif selon la revendication 61 ou 62 caractérisé en ce que aux données de reconnaissance du label est en outre associé un angle de rotation ha et une distance moyenne LD' par des moyens (920) (921) permettant de déterminer ledit angle de rotation Au. et ladite distance moyenne LD'.
64. Dispositif selon l'une quelconque des revendications 61 à
63 caractérisé en ce que les labels sont analysées par un module (670) de calcul et traitement d'histogramme capable de déterminer et mémoriser un ensemble de données de catégorisation desdits l0 labels.
65. Application du procédé de l'une quelconque des
revendications 1 à 32 avec un dispositif selon l'une quelconque des revendications 33 à 64 dans un système permettant la perception, la reconnaissance et la localisation d'un objet dans son 15 environnement à partir d'un signal numérique d'entrée constitué par
une succession de séquences de vues successives de l'objet dans son environnement et relevant donc du domaine temporel, chacune desdites séquences étant constituée par une succession de sousséquences, chacune représentative d'emplacements disposés l'un 20 à la suite de l'autre dans lesdites séquences et relevant donc du domaine spatial, caractérisé en ce que l'on réalise pendant une période de plusieurs séquences une variation temporelle de la résolution spatiale de l'objet dans ledit signal numérique d'entrée, la variation comportant une phase d'augmentation sensiblement 25 gaussienne de la résolution depuis une valeur réduite jusqu'à une valeur de base optimale, on réalise en outre une différentiation, avec lissage entre deux séquences successives de ladite augmentation sensiblement gaussienne de la résolution, afin d'obtenir un signal numérique dérivé représentatif de la variabilité 30 de la différence de gaussiennes entre ces deux séquences lorsque la différence, en valeur absolue, pour chaque même emplacement spatial dudit signal dérivé, dépasse un seuil, et on déduit, dudit signal dérivé, par comparaison dans les séquences successives entre les valeurs de ce signal dérivé correspondant à des 35 emplacements identiques dans les sousséquences, de détails hiérarchisés de l'objet, en formant au moins deux histogrammes dudit signal numérique dérivé, dont au moins un est relatif à la grandeur numérique dudit signal dans les divers emplacements, ce qui fournit une information relative aux détails caractéristiques de 5 l'objet, et dont au moins un autre est relatif à la localisation des emplacements dans ledit signal, ce qui fournit une information
relative à l'emplacement desdits détails.
FR0210066A 2002-08-07 2002-08-07 Procede de fonctionnement et dispositif d'analyse de parametres mono et multidimensionnels par calcul et traitement d'histogramme, application a la perception active Expired - Fee Related FR2843470B1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR0210066A FR2843470B1 (fr) 2002-08-07 2002-08-07 Procede de fonctionnement et dispositif d'analyse de parametres mono et multidimensionnels par calcul et traitement d'histogramme, application a la perception active
AU2003282816A AU2003282816A1 (en) 2002-08-07 2003-08-06 Active visual perception method and device for characterisation and recognition through the analysis of mono/multidimensional parameters in multiclass computing units and histogram processing, dynamic unit recruitment
JP2004526984A JP2006500643A (ja) 2002-08-07 2003-08-06 装置のダイナミック補充による、マルチクラスヒストグラム計算および処理装置での一次元/多次元パラメータの分析による特徴抽出及び認識のためのアクティヴ視覚的認知方法及び装置
PCT/FR2003/002478 WO2004015630A2 (fr) 2002-08-07 2003-08-06 Procede et dispositif de perception visuelle active pour caracterisation et reconnaissance par analyse de parametres mono/multidimentionnels dans des unites multiclasses de calcul et traitement d'histogramme, recrutement dynamique d'unites
EP03756531A EP1529265A2 (fr) 2002-08-07 2003-08-06 Procede et dispositif de perception visuelle active pour caracterisation et reconnaissance par analyse de parametres mono/multidimentionnels dans des unites multiclasses de calcul et traitement d histogramme, recrutement dynamique d unites

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0210066A FR2843470B1 (fr) 2002-08-07 2002-08-07 Procede de fonctionnement et dispositif d'analyse de parametres mono et multidimensionnels par calcul et traitement d'histogramme, application a la perception active

Publications (2)

Publication Number Publication Date
FR2843470A1 true FR2843470A1 (fr) 2004-02-13
FR2843470B1 FR2843470B1 (fr) 2004-11-05

Family

ID=30470999

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0210066A Expired - Fee Related FR2843470B1 (fr) 2002-08-07 2002-08-07 Procede de fonctionnement et dispositif d'analyse de parametres mono et multidimensionnels par calcul et traitement d'histogramme, application a la perception active

Country Status (1)

Country Link
FR (1) FR2843470B1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2611063A1 (fr) * 1987-02-13 1988-08-19 Imapply Procede et dispositif de traitement en temps reel d'un flot de donnees sequence, et application au traitement de signaux video numeriques representatifs d'une image video
EP0337325A2 (fr) * 1988-04-11 1989-10-18 Yozan Inc. Méthode de traitement d'image
FR2805629A1 (fr) * 2000-02-24 2001-08-31 Holding Bev Sa Procede et dispositif de perception automatique

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2611063A1 (fr) * 1987-02-13 1988-08-19 Imapply Procede et dispositif de traitement en temps reel d'un flot de donnees sequence, et application au traitement de signaux video numeriques representatifs d'une image video
EP0337325A2 (fr) * 1988-04-11 1989-10-18 Yozan Inc. Méthode de traitement d'image
FR2805629A1 (fr) * 2000-02-24 2001-08-31 Holding Bev Sa Procede et dispositif de perception automatique

Also Published As

Publication number Publication date
FR2843470B1 (fr) 2004-11-05

Similar Documents

Publication Publication Date Title
CN107945282B (zh) 基于对抗网络的快速多视角三维合成和展示方法及装置
EP1131789B1 (fr) Procede de construction d&#39;un modele de scene 3d par analyse de sequence d&#39;images
EP3707676B1 (fr) Procédé d&#39;estimation de pose d&#39;une caméra dans le référentiel d&#39;une scène tridimensionnelle, dispositif, système de réalite augmentée et programme d&#39;ordinateur associé
CN106575450A (zh) 通过反照率模型、系统和方法的增强现实内容渲染
WO2006103241A2 (fr) Système et procédé de localisation de points d&#39;intérêt dans une image d&#39;objet mettant en œuvre un réseau de neurones
US20130004082A1 (en) Image processing device, method of controlling image processing device, and program for enabling computer to execute same method
CN110678873A (zh) 基于级联神经网络的注意力检测方法、计算机装置及计算机可读存储介质
EP1259939B1 (fr) Procede et dispositif de perception automatique
Swami et al. Candy: Conditional adversarial networks based fully end-to-end system for single image haze removal
FR2858447A1 (fr) Procede et dispositif automatise de perception avec determination et caracterisation de bords et de frontieres d&#39;objets d&#39;un espace, construction de contours et applications
Tao et al. Rethinking motion representation: Residual frames with 3d convnets for better action recognition
EP0492724A1 (fr) Procédé d&#39;extraction de mouvement comprenant la formation d&#39;images de différences et un filtrage tridimensionnel
Kim et al. Exposing fake faces through deep neural networks combining content and trace feature extractors
FR2843469A1 (fr) Procede de fonctionnement et unite fonctionnelle multiclasse pour calcul et traitement d&#39;histogramme, application a la perception active
FR2843470A1 (fr) Procede de fonctionnement et dispositif d&#39;analyse de parametres mono et multidimensionnels par calcul et traitement d&#39;histogramme, application a la perception active
FR2843467A1 (fr) Procede et dispositif a recrutement dynamique de modules de calcul et traitement d&#39;histogrammes pour caracterisation et reconnaissance d&#39;objets
FR2843471A1 (fr) Procede et dispositif de perception visuelle active pour caracteriser et reconnaitre un objet, notamment aux fins d&#39;identification et de localisation
EP1529265A2 (fr) Procede et dispositif de perception visuelle active pour caracterisation et reconnaissance par analyse de parametres mono/multidimentionnels dans des unites multiclasses de calcul et traitement d histogramme, recrutement dynamique d unites
Brooks et al. Deepfake and its enabling techniques: a review
WO2002069265A1 (fr) Procede et dispositif de reperage d&#39;un objet par sa forme, sa dimension et/ou son orientation
CN112818743A (zh) 图像识别的方法、装置、电子设备及计算机存储介质
Vairamani Analyzing DeepFakes videos by face warping artifacts
Diamanti et al. ViDaS Video Depth-aware Saliency Network
WO2023031305A1 (fr) Procédé de mise en relation d&#39;une image candidate avec une image de référence
US20230169708A1 (en) Image and video matting

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20060428