FR 2293011 A1 19760625 FR 7431174 A 19740916 L'invention concerne les procédés et dispositifs de normalisation ou wstandardisation" d'une imaqe représentée sous forme numérique et elle vise notamment à les perfectionner pour permettre, en même temps, d'augmenter le contraste de l'image par une transformation adaptée aux éléments contenus dans cette même image. Des tentatives de traitement d'images représentées sous forme numérique ont déjà été effectuées dans divers domaines techniques, tels que la reconnaissance des formes et la détection radar ou sonar. Avant traitement proprement dit, il y a intérêt à normaliser les images pour reconstituer, à partir de représentations numériques d'un même objet,qui sont différentes du fait de conditions extérieures à l'objet, des représentations numériques comparables. A l'heure actuelle, les tentatives effectuées dans ce domaine impliquent des calculs très importants de déconvolution et font appel à des programmes énormes qui ne peuvent être mis en oeuvre que sur des calculateurs très importants. La présente invention vise d fournir un procédé et un dispositif de normalisation d'images représentées sous forme d'une série de nombres correspondant à des points de l'image répartis suivant une trame, rectangulaire par exemple, permettant d'augmenter le contraste dans des conditions telles que les contours soient renforcés. Dans ce but, l'invention propose notamment un procédé de normalisation d'une image représentée sous forme numérique par (N x P) nombres I correspondant à N x P points de l'image répartis suivant une trame, caractérisé en ce que : pour chaque point I on détermine sur un domaine de p points voisins incorporant le point I (p étant un nombre entier supérieur à 2) la moyenne m des valeurs I et la variance V ; on établit les histogrammes H(m) des moyennesm et Hl(m) des moyennes pour les points où la variance V est supérieure à un seuil déterminé ; on détermine pour chaque valeur de m dans l'histogramme H(m) la valeur de la fonction F(m) = c + f [ #1(m)3/g FM on répartit ladite fonction sur un intervalle de quantification pour faire correspondre, à chaque valeur de l'intervalle de variation de I, une valeur I' ; et on établit à partir de l'image d'origine une image transformée en faisant correspondre à chaque point I un nombre I' donné par le tableau de conversion ainsi obtenu. On sait qu'en matière de traitement d'images, il est nécessaire de manier un nombre d'informations très élevé. Or, dans de nombreux cas, il est nécessaire d'effectuer la normalisation en un temps très bref. L'invention vise également à atteindre ce résultat par utilisation d'un calculateur câblé. En conséquence, l'invention propose également un dispositif de normalisation et d'augmentation du contraste d'une image représentée sous forme de signaux numériques par (N x P) nombres I correspondant à N x P points de l'image répartis suivant une matrice rectangulaire, caractérisé en ce qu'il comporte des moyens de calcul de la moyenne m et de la variance V sur un domaine de p points voisins autour de chacun desdits points I ; des moyens de détermination et de mémorisation sous forme de signaux numériques des histogrammes H(m) et H (m) de toutes les moyennes m et des moyennes pour les points où la variance V est supérieure à un seuil déterminé ; des moyens de calcul numérique, pour chaque valeur de m, d'une fonction F(m) = c + f [ #1(m)} /g [ H(mg choisie pour provoquer une augmentation du contraste dans les zones formant des contours ; des moyens pour déterminer pour chacune des valeurs de m la fonction cumulée (n) = iz n F(i) ; des i=o moyens de mémorisation faisant correspondre, d'après les valeurs de la fonction cumulée, une valeur I à chaque valeur numérique possible dans l'intervalle de variation de I, lesdits moyens de mémorisation constituant une matrice de transformation à laquelle on applique séquentiellement les signaux représentatifs des divers points I pour obtenir les représentations I'. L'invention sera mieux comprise à la lecture de la description qui suit d'un procédé et d'un dispositif qui en constituent un mode particulier de réalisation donné à titre d'exemple non limitatif, et de la comparaison qui en est faite avec les procédés et dispositifs antérieurement connus. La description se réfère aux dessins qui l'accompagnent dans lesquels - la figure 1 est un schéma de principe du dispose sitif - les figures 2a à 2d sont des histogrammes montrant la répartition, dans divers intervalles de quantification, du nombre représentatif de la brillance des divers points constitutifs de l'image - la figure 3 montre des histogrammes correspondant au traitement d'une image particulière à l'aide du dispositif de la figure 1. On décrira tout d'abord les étapes successives de mise en oeuvre du procédé suivant l'invention, en faisant référence à l'occasion à un cas particulier. On supposera que l'image numérique de départ se présente sous la forme de (N x P) nombres I, chacun de x chiffres binaires ou "bits", représentant N x P points répartis suivant une trame rectangulaire. Chaque nombre appartient à un intervalle de quantification spécifique de la numérisation de l'image, intervalle à 2x niveaux. Une telle image numérique peut par exemple être obtenue par balayage d'une matrice de photodiodes et quantification à l'aide d'un codeur. Dans ces cas, l'image est fournie par des signaux en série. Le procédé peut être regardé comme comportant plusieurs étapes successives qui seront successivement décrites. La première consiste à élaborer les histogrammes H(m) et Hl(m) mentionnés ci-dessus ; la seconde étape consiste, une fois les histogrammes complets, à déterminer la fonction statistique f (n) et à en déduire un tableau de correspondance entre chaque intervalle de quantification de I et une valeur transformée I' ; la troisième étape enfin consiste, une fois ce tableau disponible, à effectuer la transformation de l'image. La première étape commence par la détermination de la moyenne m et de la variance V pour chaque point I. Dans ce but, on traite, pour chaque point I, les signaux de représentation numérique de I et de p-l points qui l'entourent : par exemple, pour chaque point I,on peut considérer quatre points répartis suivant un carré dont le point I est un angle. Cette solution présente, lors du traitement numérique de l'information, le gros avantage que le calcul de la moyenne correspond à des divisions par deux, c'est-à-dire à un décalage d'une position binaire. Pour que l'opération soit plus significative toutefois, on peut être amené à utiliser des valeurs p = 9 ou p = 16. On détermine ainsi, pour chaque point à son tour lorsque la présentation s'effectue sous forme séquentielle (ce qui permet de simplifier très notablement le dispositif), les deux valeurs m = E Iij /p (1) v = Z (Iip - m)2 (2) V sera appelé dans ce qui suit "variance" : en fait, il s'agit, au sens mathématique du terme, de la variance multipliée par N x P. Il faut noter au passage le but de cette opération les valeurs moyennes permettent d'échantillonner les valeurs de transition entre les plages de brillance différente. Les valeurs des variances permettent de faire la distinction entre les parties de l'image qui sont sensiblement homogènes et les parties qui constituent des transitions entre des plages de brillance différente, donc constituent des contours. Au fur et à mesure du calcul des valeurs m et V, on établit par cumulation l'histogramme H(m) sur l'intervalle de quantification des nombres I, sous forme numérique, dans un but que l'on verra plus loin. Une fois le balayage de l'image terminé, on dispose ainsi en mémoire d'un tableau donnant, pour chacune des 2x valeurs possibles dans l'intervalle de quantification, le nombre de points I pour lesquels la valeur moyenne m correspond à la valeur en question. En même temps, on établit également l'histogramme H1(m) sur le même intervalle de quantification, mais en retenant uniquement les points dont la variance V est supérieure à un seuil donné S. Ce seuil est choisi dans chaque cas particulier en fonction des caractéristiques de limage pour éviter la prise en compte des valeurs de transition non significatives, c'està-dire de celles qui sont trop faibles pour que le point correspondant I se trouve sur un contour. Dans la pratique, le seuil sera choisi entre une valeur très faible (pour laquelle il n'y a qu'une normalisation classique) et une valeur élevée qui tend à fractionner l'image en deux plages seulement, c'est-à-dire à donner lieu à un contraste maximum.On choisira-le seuil pour avoir le plus possible d'informations et en même temps une auqmentation de contraste satisfaisante. Une fois achevée la mémorisation des histogrammes H(m) et H1(m), c'est-à-dire une fois le balayage de l'image achevé, il est possible de passer à la seconde étape. Cette seconde étape consiste essentiellement à élaborer par point une fonction F(m) du type F(m) = c + f EM1(m > # /g FH(m) (3) Le choix de la fonction statistique F doit être tel qu'elle met en évidence si une valeur donnée de quantification est une valeur de l'intensité des points importants de transition ou non. Dans ce but, la fonction F doit associer à chaque valeur de quantification un nombre qui exprime la variabilité moyenne du phénomène en tous les points de l'image qui remplissent la condition suivante : les valeurs moyennes au voisinage du point correspondent au niveau de quantification. Il existe dans chaque cas de nombreuses fonctions F qui répondent à cette condition, sous réserve que c soit une constante au moins égale (et en général légèrement supérieure) à 1 et que f soit une fonction monotone croissante. La fonction a peut se réduire à une constante (et dans ce cas il n'est pas nécessaire de faire l'histogramme H(m)). Si q n'est pas une constante, il doit s'agir d'une fonction croissante de m, mais moins croissante que f. On voit que la présence de g se traduit par une pondération inverse de F par rapport au nombre de points entourés par un contour. A titre d'exemple, on peut indiquer que, dans la plupart des cas, de bons résultats sont obtenus avec la fonction : F e 2 et F = H pour H ( 2. Du fait que g est une fonction de la puissance u de H(m), on tend à donner une importance aux points de frontière d'une zone (nombre de points proportionnel environ à 4 a) supérieure à celle des variations erratives non significatives des points intérieurs à la zone (nombre de points proportionnel à a2). A partir du tableau donnant en 2x points la fonction F(m), on élabore la fonction S (n) cumulée sur tout l'intervalle de quantification 2 : On dispose ainsi d'un tableau de correspondance T qui donne, pour chacun des 2x niveaux de quantification d'origine, un niveau de quantification correspondant dans l'intervalle de quantification adopté pour l'image transformée. Il convient de remarquer ici qu'il ne s'agit pas d'une transformation bi-univoque, en ce sens qu'à plusieurs valeurs du nombre I peut correspondre une seule valeur de I', le nombre de niveaux de quantification 2Y de l'intervalle transformé étant d'ailleurs en général nettement plus faible que le nombre de niveaux 2X. L'étape de transformation de l'image s'effectue alors simplement en utilisant une matrice de transformation suivant le tableau T et en appliquant en série les signaux représentatifs des nombres I à l'entrée n de la matrice pour recueillir séquentiellement à la sortie de la matrice les nombres I'. Il faut d'ailleurs noter que, dans la pratique, lorsque l'on utilisera un balayage de type télévision, on sera amené, pour éviter une mémorisation de l'ensemble des points pendant la durée de balayage de trame, à utiliser la matrice de transformation déterminée à partir d'une image pour effectuer la transformation non pas de cette image, mais de l'image suivante, ce qui reste parfaitement acceptable dans la mesure où les modifications subies d'une image à la suivante restent faibles. On décrira maintenant un dispositif permettant de mettre en oeuvre le procédé ci-dessus défini, dans le cas d'images fournies par une matrice carrée de photodiodes comportant N x P = 2500 éléments avec quantification 2x = 28 = 256 niveaux. On supposera que la mosaïque de photodiodes est explorée suivant un balayage type télévision à la cadence de 1 T s par point. Le dispositif effectue les calculs de moyenne et de variance sur des domaines carrés de quatre points et il est prévu pour effectuer dans une première étape d'élaboration des histogrammes par itération et, dans une seconde étape, l'élaboration du tableau de transformation par balayage des mémoires contenant les histogrammes. Le dispositif illustré en figure 1 comporte, à partir d'une entrée 10 qui reçoit séquentiellement les informations relatives aux différents points d'une ligne, puis de la ligne suivante, un ensemble Il de calcul de moyenne et un ensemble 12 de calcul de variance. L'ensemble 11 comporte successivement un circuit 13 diviseur par 2 (circuit de décalage), puis un circuit 14 qui fournit, sur sa sortie 15, en séquence, la valeur moyenne de deux points successifs d'une même ligne, par mémorisation sur un pas d'avance du balayage ligne et totalisation des deux entrées successives : sur la sortie 15, on obtiendra ainsi successiveatent 1 (I + I 2 12 > '#11 22 + 12 1 13 ' 2 i 2 Cette sortie est appliquée d'une part à l'entrée d'un registre à décalage 16 à 49 positions (muni d'une entrée de lectureécriture et d'une entrée descadencement à partir d'une horloge non représentée) ; elle est appliquée d'autre part à l'entrée d'un additionneur 17 qui reçoit, sur son autre entrée, le contenu du dernier étage du registre 16.Cet additionneur fournit ainsi sur sa sortie 18 le double de la moyenne sur un domaine de quatre points : pour plus de simplicité, on n'a pas représenté les organes qui permettent de tenir compte des conditions particulières pour le premier (ou le dernier) point de chaque ligne et pour la première (ou la dernière) ligne. La sortie 18 est appliquée à un diviseur par 2, 19, qui peut fonctionner simplement (comme le diviseur 13) par décalage d'une position vers la droite et fournit la moyenne m sur sa sortie 20. L'ensemble 12 de calcul de variance a une constitution similaire à celle de l'ensemble 11. Toutefois, son premier organe est constitué par un circuit d'élévation au carré 21. Ce circuit attaque un sommateur 22 (registre) similaire au sorwmateur 14, suivi d'un registre à décalage 23 et d'un sommateur 24. Un soustracteur numérique 25 relié directement à la sortie du circuit additionneur 24 et à la sortie du circuit additionneur 17 par l'intermédiaire d'un circuit 28 d'élévation au carré, fournit la variance 27. En effet, la formule (2) ci-dessus peut également s'écrire V I2 4 m2 L'ensemble des circuits qui viennent d'être définis peuvent être constitués par des blocs logiques standards, tels que ceux vendus par la société TEXAS INSTRUMENT. Les sorties des ensembles 11 et 12 alimentent des circuits de calcul et de mémorisation des histogrammes H(m) et H1Xm). Le circuit 29 d'élaboration de l'histogramme H(m) est constitué par une mémoire vive à 2x positions dont la capacité est au moins égale au nombre de points Iij (ici 2500 points, ce oui exige 12 bits). Chaque fois que l'ensemble 11 fournit sur sa sortie une valeur moyenne, le contenu de la position mémoire correspondant à cette valeur est incrémenté de 1. Le circuit 30 d'élaboration de l'histogramme H(m) est également constitué par une mémoire vive munie d'une porte d'entrée commandée par un circuit à seuil 31. Chaque fois qu'une valeur m est appliquée par l'ensemble 11 à l'entrée d'adresse du circuit 31, la position dont l'adresse est ainsi fournie est incrémentée de 1 à condition que la variance V fournie par l'ensemble 12 soit supérieure à un seuil SV affiché sur le circuit à seuil 31. Une fois la mosaïque entièrement balayée, on dispose ainsi des deux histogrammes H(m) et H1(m) et l'ensemble 32 du dispositif intervient pour établir le tableau T de correspondance entre les valeurs de I et les valeurs de I'. Le premier circuit de l'ensemble 32 est constitué par une unité de calcul de la fonction F(m) que l'on supposera par la suite être : - la fonction (4) ci-dessus lorsque H est au moins égal à 2 - F = H lorsque H est inférieur à 2 (c'est-à-dire O ou 1). L'unité de calcul 33 pourra par exemple être constituée par une mémoire morte reprogrammable 34 donnant pour chaque valeur de m le dénominateur de la fraction dans la formule (4) et un circuit 35 de calcul numérique qui élabore F à partir de H1(m) et des données fournies par la mémoire morte 34 à 2x positions. Le calcul s'effectue en séquence, les diverses positions mémoire correspondant auxvaleurs de m étant balayées sous la commande d'une horloge (non représentée) qui peut être la même aue celle qui assure le cadencement pour le balayage de la mosaïque de photodétecteurs et le fonctionnement des ensembles 11 et 12. L'unité de calcul 33 n'intervient que lorsque elle est activée par un circuit de décision 43 qui, pour chaque valeur m, détermine si la condition H > , 2 est remplie. Si cette condition n'est pas remplie, le circuit 43 inhibe l'unité de calcul 33 et transmet la valeur H sur une seconde sortie 44. La fonction f est élaborée par un circuit 36 qui, lors du balayage des mémoires 29 et 30, reçoit la valeur de F élaborée par l'unité 33 lorsque H a 2 et la valeur F = H depuis le circuit de décision 43 lorsque H Etant donné qu'à l'heure actuelle il n'existe pas de mémoire rapide à 28 positions à plusieurs bits, la mémoire 37 (comme les mémoires 29 et 30) sera constituée par des registres à 256 positions placés en parallèle et en nombre égal à celui des bits à prévoir. Il faut remarquer au passage que le circuit de calcul 36 sera relativement simple, F étant chaque fois un nombre entier de faible valeur dans le cas où la fonction utilisée est la fonction (4) ci-dessus, un intervalle de O à 5 pouvant être regardé comme très représentatif. La dernière position de la mémoire 37, c'est-à-dire celle dont le contenu est le plus grand, attaque un diviseur 38de calcul du pas. Dans le cas où l'intervalle de quantification pour les nombres l'est 2 le diviseur 38 sera un diviseur par 32. Il fournit, sur sa sortie 39, la valeur du pas à un circuit 40 d'élaboration du tableau T et de stockage de celuici dans un registre constituant matrice de conversion qui fait correspondre, à chacune des valeurs 0 à 255 de Iij, une valeur de I' allant de O à 31. Etant donné qu'il n'existe pas commercialement à l'heure actuelle des registres à 256 positions de 5 bits, on sera, comme dans le cas de la mémoire 37, amené à utiliser cinq registres placés en parallèle. Une fois le tableau T élaboré, dans une troisième étape, on applique successivement toutes les valeurs de I sur l'entrée 41 de la matrice de conversion et on retrouve, sur la sortie 42,la valeur de Il correspondante, qui peut être utilisée par exemple pour une visualisation sur écran cathodique, ou mémorisée en vue d'un traitement ultérieur. A titre illustratif, on peut indiquer que l'acquisition d'une image numérique de 2500 points à l'aide d'une matrice type RETICON peut s'effectuer en 2,5 millisecondes avec un balayage à 1 MHz. Les histogrammes H(m) et H (m) s'élaborent en même temps. Le calcul de F(m) et de T (n) est extrêmement bref et peut être réduit à 0,255 millisecondes avec des circuits logiques rapides. Le calcul du pas demande 10 microsecondes et l'élaboration de la matrice de conversion 25 microsecondes. Le traitement complet d'une image prend donc environ 2,8 millisecondes. Pratiquement, la cadence de prise d'image n'est donc pas sensiblement diminuée, surtout si l'on utilise chaque matrice de conversion pour convertir l'image qui précède celle qui est en cours de traitement. On voit que l'invention permet, tout en réduisant le nombre de niveaux de quantification, donc en facilitant le traitement ultérieur, d'étaler la plage de variations correspondant à des contours significatifs, donc d'augmenter le contraste. Pour mieux faire apparaître ce gain, on a indiqué en figures 2a et 2b, de façon extrêmement schématique et donc forcément inexacte, d'une part l'histogramme de la brillance des points d'une image d'origine (avec un intervalle de quantification divisé en 28 pas), d'autre part, l'histogramme de l'image transformée conformément à l'invention où l'on voit que non seulement il y a une normalisation (qui tend à ramener la courbe en trait plein et la courbe en tirets de la figure 2a,correspondant au même objet, à la même apparence > , mais aussi un étalement de la zone correspondant aux contours. A titre illustratif, on a reporté sur la figure 2c le résultat que permet d'atteindre une normalisation simple et, sur la figure 2d, le résultat que cherchent à atteindre divers procédés en cours d'étude par le Dr. Lillestrand aux Etats-Unis (histogramme plat pour la transformée). Toujours à titre illustratif, on a représenté en figure 3 - sur la ligne a, l'histogramme H correspondant à une prise de vue avec un capteur mosaïque à 2500 éléments, - sur la ligne b, l'histogramme H1 correspondant à l'histogramme H de la ligne a avec un seuil déterminé, - sur la ligne c, la fonction F(m) correspondante, - et, enfin, sur la ligne d, la fonctionf (n) correspondante. REVENDICATIONS l. Dispositif de normalisation et d'augmentation du contraste d'image représentée sous forme numérique, par (N x P) nombres I correspondant à N x P points de l'image répartis suivant une matrice rectangulaire, dispositif caractérisé en ce qu'il comporte des moyens de calcul de la moyenne m et de la variance V sur un domaine de 2 points voisins autour de chacun desdits points, des moyens de détermination et de mémorisation sous forme numérique des his togrammes H(m) et H1Hl(m) des moyennes m et des moyennes pour les points où la variance sur le domaine est supérieure à un seuil déterminé ; des moyens de calcul numérique, pour chaque valeur de m, de la valeur d'une fonction F(m) de f[H1(m)] /g L H(m) ] choisie pour augmenter le contraste, et de mémorisation#des résultats ; et des moyens de calcul et de mémorisation, à partir de chacune des valeurs de m, de la fonction statistique cumulée des moyens pour diviser la valeur de# grande valeur de n par le nombre d'intervalles de quantification prévus dans une matrice de correspondance ladite matrice comportant une entrée destinée à recevoir les nombres I en séquence et une sortie destinée à restituer pour chaque nombre I un nombre transformé I' correspondant. 2. Dispositif suivant la revendication 1, caractérisé en ce que, la fonction F étant de la forme (m) = c + f C H1(m > # /g t les moyens de calcul de ladite fonction F comportent une mémoire morte présentant une entrée destinée à recevoir H et une sortie destinée à restituer la fonction g [H(m)] ou son inverse, et un circuit de calcul de F à partir de Hl(m) et des indications fournies par la mémoire.