Brevet FR2702325A1 — publié le 19940909

PROCEDE ET DISPOSITIF DE FORMATION D'UNE IMAGE ECHANTILLON NEE La présente invention concerne les procédés et dispositifs de formation d'une représentation sous forme de pixels d'une scène à partir de signaux fournis chacun par un capteur électro-optique à intégration de flux lumineux appartenant à une matrice régulière de capteurs. I1 existe des applications pour lesquelles une convolution spatiale et/ou temporelle permet d'améliorer la lisibilité de l'image ou de faciliter son traitement ultérieur. On peut notamment citer les suivantes 1- amélioration de qualité de l'image par élimination ou compensation de certains bruits 2- suppression du Moiré ou "flicker" d'une image 3- augmentation de résolution d'image, mettant en oeuvre une interpolation 4- filtrage, correction- d'échelle de gris, augmentation de contraste; 5- détermination de contours et de champs de vitesse, segmentation en objets, par convolution spatiales à deux dimensions 6- mesure télémétrique de profondeur, mettant en oeuvre une convolution faisant intervenir une coordonnée perpendiculaire au plan de l'image. Une solution classique pour effectuer une convolution spatiale ou temporelle consiste à numériser le signal fourni par chaque capteur et à faire les calculs numérique nécessaires. Un inconvénient grave de cette solution est que le volume de calcul devient très important dès que les images comportent un nombre élevé de pixels. Par exemple la convolution d'une image de 512x512 pixels avec un noyau de taille 20x20 exige vingt millions d'opérations arithmétiques au minimum. Au surplus l'échantillonnage spatial de l'image fait disparaître des caractéristiques qu'il n'est pas possible de reconstituer par un traitement numérique ultérieur. On a également fait des tentatives pour réaliser une convolution spatiale en donnant volontairement un flou à l'image, par exemple par déréglage de la mise au point. La puissance de cette approche est très limitée, puisque tous les coefficients de corrélation découlent directement du déréglage. La présente invention vise à fournir un procédé permettant d'effectuer les opérations de convolution en parallèle sur l'ensemble des pixels, en ne mettant en oeuvre que des moyens opto-mécaniques simples, au niveau de l'intégration du flux. Dans ce but l'invention propose notamment un procédé suivant lequel on fait subir à l'image de la scène ou à la matrice, au cours de l'intégration de flux, un déplacement à au moins deux dimensions faisant balayer par chaque capteur un même voisinage déterminé autour d'un point central, avec des temps d'exposition controlés pour chaque élément du voisinage. Chaque voisinage correspond au noyau de convolution choisi et est constitué d'un nombre déterminé de pixels. Les seules contraintes que présente le procédé cidessus, par rapport aux calculs numériques, sont que les coefficients de convolution ne peuvent être que positifs et que le balayage est spatio-temporel, en ce sens que la contribution de chaque pixel du voisinage à la formation d'un point de l'image s'effectue à un instant différent, moins dans le cas d'une image nette. Ces deux contraintes sont cependant sans conséquence pratique dans la grande majorité des cas. De plus la seconde contrainte peut constituer un avantage lorsque la convolution optimale pour les besoins du traitement fait intervenir le temps. Le déplacement de l'image sur la matrice peut être commandé par déplacement de la matrice et/ou de l'optique de formation de l'image sur elle, par exemple à l'aide d'actuateurs agissant dans deux directions orthogonales, parallèles au plan de la matrice. Les déplacements à réaliser sont généralement d'amplitude très faible ce qui autorise l'utilisation d'actuateurs à très faible inertie et à réponse rapide, tels que des céramiques piézo-électriques. Les caractéristiques des actuateurs et de leurs moyens d'excitation seront choisies en fonction des lois de convolution recherchées. Dans certains cas on utilisera des actuateurs et des moyens d'excitation qu'on peut qualifier de "quasi-statiques" en ce sens que le déplacement ne dépend que de la valeur instantanée de ltexcitation. Dans d'autres cas une commande "dynamique" sera préférable, faisant intervenir la réponse mécanique des actuateurs à une excitation impulsionnelle (obtenue par exemple avec des actuateurs à faible amortissement). En d'autres termes, les déplacements de l'image sur la matrice sont dans un cas programmés de façon explicite, dans l'autre cas obtenus de façon plus naturelle, mais avec des contraintes dues à la constitution physique des actuateurs, par mise en place d'un mouvement régi par des équations différentielles électro-mécaniques couplées dont les constantes sont fixées par les composants. On pourra par exemple obtenir un balayage en spirale par excitation de deux actuateurs ayant des actions orthogonales par des impulsions provoquant des oscillations sinusoïdales amorties déphasées. Mais dans ce dernier cas, il devient difficile ou mal commode d'adapter indépendamment la vitesse de passage sur chaque pixel. Des lois de déplacement très diverses peuvent être adoptées. On peut notamment choisir une loi imposant un déplacement latéral rapide de la matrice ou de l'optique, permettant de parcourir plusieurs fois le voisinage pendant la durée totale d'exposition. Lorsque l'image est quasistatique, l'incidence du paramètre temps est négligeable. L'accumulation peut s'effectuer soit sur chaque capteur lui-même, soit sous forme électrique dans un élément annexé à chaque capteur, tel qu'un condensateur. Dans le second cas il est possible d'accumuler sur l'élément annexé à un capteur déterminé la contribution de plusieurs autres capteurs, pour réaliser une convolution à loi de pondération programmable. Dans le premier cas, le signal convolué sur un voisinage ne fait intervenir qu'un seul capteur. Donc le résultat fourni par chaque capteur est complètement insensible aux dispersions de caractéristiques des capteurs voisins. On voit que le déplacement réalise une trans forma- tion convolutive d'image qui est totalement séquentielle, si l'optique forme une image focalisée sur la matrice et si l'accumulation de flux s'effectue indépendamment sur chaque capteur, partiellement séquentielle si l'image est suffisamment floue pour que la tâche correspondant à un point de la scène déborde sur plusieurs capteurs et/ou s'il y a contribution de plusieurs capteurs à l'accumulation pour un capteur central donné. Mais la transformation reste effectuée en parallèle pour tous les capteurs. Souvent un balayage en spirale à partir du centre ou vers le centre représente une solution particulièrement appropriée dans le cas de noyaux de convolution isotropes et bornes, dans le cas où les coefficients de pondération sont une fonction régulièrement croissante ou décroissante le long d'un trajet en spirale. Dans d'autres cas, notamment celui où l'on fait intervenir des temps d'exposition d'un capteur très variables d'un point à l'autre du voisinage d'autres modes de balayage peuvent être préférables. Il faut encore remarquer que les déplacements itérés transforment en variation périodique toute variation spatiale de la valeur radiométrique détectée (luminance en général) sur le voisinage. En conséquence, ces déplacements sont réalisés par un balayage, permettant d'employer des capteurs ou voies de transmission incapables de transmettre le continu et même toute fréquence inférieure à la référence donnée par le mouvement périodique du capteur. Ce dernier introduit en effet un déplacement du spectre de fréquence du signal temporel produit. Il peut donc implémenter de façon triviale des procédures d'auto-zéro de type différentiation notamment pour une compensation de décalage. L'invention propose également un dispositif permettant de mettre en oeuvre le procédé ci-dessus défini, comprenant une matrice régulière, à deux dimensions, de capteurs électro-optiques à intégration de flux lumineux, une optique de formation d'image d'une scène sur ladite matrice et des moyens d'extraction de signaux représentatifs chacun du flux reçu par un capteur, caractérisé par des moyens mécaniques de déplacement de la matrice ou de l'optique parallèlement au plan de la matrice suivant une loi déterminée faisant balayer par chaque capteur un même voisinage déterminé correspondant à un point respecif, avec des temps d'exposition contrôlés. L'invention sera mieux comprise à la lecture de la description qui suit de modes particuliers de mise en oeuvre de l'invention, donnés à titre d'exemples non-limitatifs. La description se réfère aux dessins qui l'accompagnent, dans lesquels - la figure 1 est un schéma synoptique de principe montrant une constitution possible du dispositif, à balayage à deux dimensions ; - les figures 2 et 3 montrent deux balayages correspondant à des modes particuliers de mise en oeuvre du procédé ; - la figure 4 montre une constitution modifiée d'un capteur, permettant d'obtenir des informations bipolaires. Le dispositif dont la constitution de principe est montrée en figure 1 comporte une matrice 10 de capteurs, qu'on supposera ici être une matrice CCD à transfert de trame, bien que d'autres types de matrices soient parfaite ment utilisables, une optique 12 de formation de l'image d'une scène sur la matrice 10 et des moyens permettant de déplacer la matrice dans deux directions orthogonales x et y, contenues dans le plan de la matrice. Les moyens de déplacement peuvent comporter deux actuateurs 14 et 16, par exemple à céramique piézo-électrique, agissant dans des directions orthogonales x, y sur un support 18 portant la matrice. Une unité de commande 20 est prévue pour commander les actuateurs 14 et 16 et séquencer les opérations. Cette unité de commande peut comporter une horloge, une mémoire vive ou morte dans laquelle est mémorisée sous forme numérique la séquence des déplacements à commander par les actuateurs 14 et 16, des convertisseurs numérique-analogique 28 et 30 et des amplificateurs de sortie 32, 34 permettant de porter les tensions de sortie de l'unité 20 à la valeur nécessaire pour commander les actuateurs. L'unité de commande 20 ou une unité de traitement annexe 36 comportera de plus les circuits habituels d'exploitation de la matrice, fixant notamment la durée totale d'intégration sur la zone 22 constituée par les sites photosensibles, la zone de mémorisation 24 et le registre de sortie 26 dans le cas d'une matrice à transfert de trame elle peut également commander un obturateur. I1 est également possible d'intégrer les fonctions numériques de l'unité de commande à un processeur de traitement du signal de sortie, échantillonné spatialement, de la matrice 10. Avant d'évoquer plusieurs procédés susceptibles d'être mis en oeuvre par le dispositif qui vient d'être décrit, il peut être utile de donner des indications générales sur la formation du signal de sortie d'un capteur individuel à accumulation de flux lumineux (site photosensible dans le cas d'une matrice CCD par exemple) lors d'un déplacement en plan suivant deux directions orthogonales x et y. Les charges accumulées au bout d'un temps d'exposition T constituent le signal de sortie S qui est donné par où F est le flux de photons à l'instant t et pour la position x, y et où k est le coefficient de conversion du capteur, en général constant, bien qu'il soit modifiable en utilisant des types particulier de capteurs. Les déplacements du support du capteur ou de l'optique peuvent notamment être programmés en fonction du temps, de façon à réaliser un balayage quelconque en coordonnées cartésiennes. Le mouvement est ainsi décrit par un champ de déplacements relatifs à une position moyenne. On peut également définir le mouvement par un champ de vitesses instantanées, fonction des coordonnées et du temps dans le cas de rotations. Dans le second cas, le signal de sortie S obtenu sur chaque capteur, à l'issue d'un cycle de balayage, peut s'écrire sous forme d'une intégrale double où - AX et AY désignent l'étendue du voisinage balayé, symétriquement à partir d'un point central - I désigne le flux - V(x,y) désigne la vitesse. La réponse du capteur sur un cycle complet de balayage, de durée Tc, peut alors être considérée comme le résultat de la convolution de l'image originale par le noyau de convolution KTc/V(-x,-y), qui dépend uniquement du mouvement introduit pendant le cycle de balayage. Si la vitesse V(x,y) est une fonction paire des coordonnées x,y, le noyau de convolution peut s'écrire aussi bien KTc/V(x,y). Dans le cas où il y a plusieurs cycles de balayage successifs, la réponse totale sera la somme des réponses partielles correspondant chacune à un cycle. Les cycles de balayage peuvent être différents et dans ce cas le noyau de convolution correspondant à la réponse totale sera constitué par la somme de l'image correspondant à une zone de la scène entourant des noyaux de convolution des différents cycles. Le noyau de convolution correspondant à chaque pixel d'image, fourni par un capteur, pourra généralement être représenté par une "imagette" et dont la taille peut être très variable. Suivant l'application envisagée, l'imagette peut aller de quelques pixels à une centaine de pixels ou même davantage. Les lois d'élongation en x, y et/ou de vitesse permettent de donner des formes très variées aux noyaux de convolution pour les différents cycles. Sur un cycle donné, l'accumulation est positive, sauf avec des capteurs de nature très particulière ou en cas d'accumulation sur un élément séparé. Cependant le résultat recherché par l'accumulation peut être rendu bipolaire ou faire intervenir des soustractions. A cet effet, le signal de sortie peut être comparé à une valeur de référence, de façon à fournir une indication bipolaire. Les contributions au cours de deux cycles successifs peuvent être alternativement comptabilisées positivement et négativement, avec des durées d'exposition pour chaque positoin différente d'un cycle à l'autre. On donnera maintenant quelques exemples d'applications possibles du procédé. Réduction du bruit spatial fixe d'une image formée à l'aide d'une matrice de capteurs Le bruit spatial fixe a diverses origines, et notamment le courant d'obscurité des capteurs, qui se traduit par un décalage de signal. I1 existe également un bruit de gain. Chaque signal convolué sur un voisinage, avec accumulation sur un seul capteur, est insensible aux variations de caractéristiques de capteur à capteur. En conséquence le bruit de décalage peut être éliminé par une convolution avec un noyau de somme nulle, qui peut être réalisé avec au moins deux cycles de balayage de même durée et une soustraction des résultats partiels. On peut affecter le signe + à un balayage, le signe - au suivant. Souvent, des déplacements de plus ou moins un pixel dans chaque direction, c'est-à-dire un voisinage de 3x3, sont suffisants. Dans la pratique, il n'est en général pas utile de dépasser un voisinage de 7x7 pixels, car la contribution demandée aux pixels de voisinage situés au-delà est le plus souvent trop faible pour être significative. Cela est particulièrement vrai lorsque le signal de sortie est numérisé sur quelques bits seulement : lorsque par exemple la numérisation s'effectue ensuite sur quatre bits, il est inutile de prendre en considération des pixels dont la contribution cumulée ne dépasse pas 6%. Le produit de convolution peut alors être réalisé de façon analogique par accumulation en commandant les actuateurs de façon à amener chaque capteur sur un point du voisinage et l'y maintenir pendant un temps correspondant au coefficient de pondération affecté à ce point du voisinage. Dans le cas où un dispositif du genre montré en figure 1 est utilisé, les actuateurs 14 et 16 sont alors commandés de façon à provoquer des déplacements successifs en x et y d'amplitude correspondant au pas de répartition des capteurs et un maintien pendant une durée représentative du coefficient affecté à chaque pixel de l'imagette. On peut cependant aussi prévoir un balayage continu, et dans ce cas, comme indiqué plus haut, chaque capteur n' a plus à transmettre des signaux continus si la scène présente une radiométrie variable dans l'espace. L'insensibilité au niveau continu, qu'on peut alors prévoir, permet d'installer sur chaque capteur une boucle locale systématique d'asservissement de la sensibilité normée à une excitation moyenne donnée. Cette excitation peut être représentée par l'intégrale du signal fourni sur un temps donné, qui doit suffisamment long par rapport à un cycle de balayage pour que le signal temporel produit par ce balayage ait, de façon naturelle, un spectre en dehors des bandes atténuées. Lissage d'un signal d'image Le signal fourni par un capteur, dans le cas d'une focalisation complète (c'est-à-dire en l'absence de flou) sur un point fixe, présente un bruit à haute fréquence qu'il n'est pas possible d'éliminer par filtrage du signal échantillonné et numérisé sans dégrader les hautes fréquences spatiales représentatives des contours. Par ailleurs, un signal transmis par un canal de bande passante limitée présente souvent un bruit de repliement à haute fréquence. Le procédé suivant l'invention permet de lisser l'image avec une faible dégradation en utilisant un noyau de profil approximativement gaussien, c'est-à-dire avec des coefficients de convolution choisis, pour chaque couronne de pixels à partir d'un pixel central, de façon que la contribution ou le poids de chaque couronne soit sensiblement égal à la valeur correspondante dans la répartition de Gauss. Une taille de fenêtre correspondant à onze fois la variance en deux dimensions donne en théorie un résultat optimal, au prix d'une complexité souvent excessive. En pratique, la taille de l'imagette choisie tiendra compte de considérations pratiques. En particulier il est cette fois encore inutile de faire intervenir des zones dont la contribution est inférieure à celle représentée par le bit de poids minimal lors d'une conversion analogique-numérique ultérieure. Souvent une imagette de 7x7 pixels donnera de bons résultats. Les domaines d'application du lissage d'image sont très vastes, puisqu'ils couvrent tous ceux liés à la vision artificielle, tels que vision par un robot industriel, positionnement de pièces, comptage d'objets simples, vérification de structures de formes et de textures, télésurveillance, télédétection à partir de satellites d'avion ou d'automobile, analyse médicale, poursuite de cibles, identification de formes. La taille de matrice peut être alors réduite, par exemple à 64x64 pour l'infrarouge thermique où la résolution requise est relativement faible et 1024x1024 dans le domaine visible. Cette taille n' est plus rédhibitoire pour les premières étapes de traitement, alors que par le passé, il était nécessaire de ne traiter que des "sous-fenêtres d'intérêt" par le système. Lorsque la mise en oeuvre sera effectuée de façon statique, c'est-à-dire avec une image fixe, les tailles de voisinage devront en général être limitées à 5x5 ou 7x7, étant donné la nécessité d'immobiliser l'image par rapport à la matrice. En revanche, il sera possible d'étendre les voisinages à 15x15, ou même à 21x21 si le besoin s'en fait sentir, en cas de fonctionnement dynamique. Détection de contours On a déjà proposé (Marr et al, Theory of Edge Detection, Proceedings R. Soc. London, Vol. 207, pp. 187-217 (1987) une méthode purement arithmétique de détection de contours dans une image par lissage, calcul de dérivée seconde et détection de passage par zéro. La présente invention permet de substituer, aux deux premières étapes, des opérations physiques dont le résultat est une convolution avec une fonction laplacienne de Gauss. Cette convolution est en effet équivalente à un filtrage de largeur de bande déterminée par la variance de la fonction gaussienne. La fonction laplacienne pouvant être représentée par soustraction de deux fonctions gaussiennes ayant des variances différentes, une solution avantageuse consiste à utiliser une matrice dont chaque capteur est relié à un processeur. Un premier filtrage est effectué par convolution avec un premier noyau à répartition gaussienne et le résultat est mémorisé. Puis, au cours de l'exposition suivante, un second filtrage est effectué avec un noyau différent et les résultats sont soustraits par le processeur. Les déplacements sont en conséquence différents dans les deux cas. La taille optimale de la fenêtre serait en principe, onze fois la variance. Dans la pratique et pour simplifier la mise en oeuvre, on adoptera souvent des tailles de voisinage comprises entre 3x3 et 7x7 pixels. Transformation d'informations spatiales en informations temporelles Une scène ayant un spectre spatial suffisamment bas peut être échantillonnée dans les deux directions x et y par voisinages successifs à l'aide de capteurs recouvrant chacun un pixel qui n'est qu'une fraction du voisinage. En d'autres termes, on peut acquérir en séquence temporelle des informations correspondant à toute une imagette ou maille dont la dimension en x et/ou y correspond à plusieurs pixels. La figure 2 montre schématiquement un trajet possible f d'exploration d'une maille 40 à l'aide d'un des capteurs 42 d'une matrice, la maille ayant une taille p dans la direction x qui est un multiple de la taille ê du capteur dans la même direction. Plusieurs possibilités sont ouvertes. L'une consiste à déplacer le capteur pas à pas de façon à acquérir de façon séquentielle des informations concernant des pixels successifs de la maille. Des procédures combinatoires de type quelconque peuvent alors être mises en oeuvre par l'unité de traitement 36. Elimination des zones mortes En règle générale, les capteurs d'une matrice ne sont pas jointifs, c'est-à-dire ne couvrent pas la totalité de l'échantillon spatial qui leur est affecté. Dans le cas illustré sur la figure 3, les capteurs 44 laissent subsister entre eux des brèches de largeur h. Lorsque la scène observée comporte des détails dont l'image est plus petite que le pas spatial de répartition des capteurs, la détection de tels détails devient probabiliste et elle entâchée de bruits de phase. La perte d'information due à l'échantillonnage ne peut pas être compensée par des traitements ultérieurs. La prise en compte de tels détails est assurée par un balayage permettant aux capteurs d'intégrer un flux lumineux faisant intervenir, avec cependant un poids variable, la totalité de la scène. Pour cela, la matrice doit être déplacée de façon que toute la scène soit finalement couverte. Ce résultat peut par exemple être atteint en donnant un déplacement du genre illustré en f1 sur la figure 3. Dans la mesure où il n'y a pas simple accumulation, mais enregistrement du signal, une interpolation linéaire effectuée sur les échantillons successifs du signal permet d'identifier et de localiser des contours avec une précision qui peut être supérieure à la résolution de la matrice. Vision en trois dimensions Une vision à trois dimensions peut être obtenue en faisant vibrer la matrice dans un plan perpendiculaire à son plan. La focalisation des images et donc le contraste de leur bord est alors transformée en une fonction spatiale du temps. En détectant, pour chaque capteur, le maximum de contrastes de son voisinage, ou simplement par comparaison avec un seuil, on peut obtenir la cote de ce voisinage suivant la direction Z orthogonale à x et y. Obtention d'une information bipolaire En constituant chaque capteur de deux cellules associées à un amplificateur différentiel, il est possible d'obtenir une information bipolaire d'origine optique, et donc d'écarter une des limitations mentionnées plus haut. Dans le cas illustré sur la figure 4, chaque capteur est par exemple constitué par deux cellules 44a et 44b associées à un amplificateur différentiel 46. La signification bipolaire du signal lumineux est liée à son positionnement fin par rapport aux deux cellules L'invention ne se limite pas aux modes particuliers de réalisation qui ont été représentés et décrits à titre d'exemples. De nombreuses variantes sont encore possibles. Par exemple, chaque capteur peut être muni d'une boucle locale d'asservissement de la sensibilité normée à une excitation moyenne donnée, mesurée par l'intégrale du signal fourni sur un intervalle de temps donné, suffisamment long par rapport à un cycle de balayage. Dans ce cas en effet, le signal temporel résultant du balayage a un spectre qui se trouve naturellement en dehors des bandes atténuées par la procédure de régulation de la sensibilité. REVENDICATIONS 1. Procédé de formation d'une représentation d'une scène sous forme de pixels, à partir de signaux fournis par des capteurs électro-optiques à intégration de flux lumineux appartenant à une matrice régulière de capteurs, caractérisé en ce qu'on fait subir à l'image de la scène ou à la matrice, au cours de l'intégration de flux, un déplacement à au moins deux dimensions faisant balayer par chaque capteur un même voisinage déterminé autour d'un point central, avec des temps d'exposition contrôlés pour chaque élément du voisinage. 2. Procédé selon la revendication 1, caractérisé en ce que la surface de chaque voisinage correspond à un noyau de convolution, constituée d'un nombre déterminé de pixels. 3. Procédé selon la revendication 2, caractérisé en ce qu'on déplace l'image sur la matrice pas à pas, notamment par pas correspondant à l'écartement des capteurs, ou de façon continue, suivant au moins un cycle de balayage. 4. Procédé selon la revendication 2 ou 3, caractérisé en ce que le balayage est effectué en spirale. 5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'intégration s'effectue sur un élément annexe au capteur. 6. Dispositif permettant de mettre en oeuvre le procédé suivant la revendication 1, caractérisé en ce qu'il comprend une matrice (10) régulière, à deux dimensions, des capteurs électro-optiques à intégration de flux lumineux, une optique (12) de formation d'image d'une scène sur la dite matrice et des moyens d'extraction de signaux représentatifs chacun du flux reçu par un capteur, caractérisé par des moyens mécaniques de déplacement de la matrice ou de l'optique parallèlement au plan de la matrice suivant une loi déterminée faisant balayer par chaque capteur un même voisinage déterminé correspondant à un point respectif, avec des temps d'exposition contrôlés pour chaque zone du voisinage. 7. Dispositif selon la revendication 6, caractérisé en ce que les moyens mécaniques comportent au moins deux actuateurs (14,16) agissant suivant au moins deux directions mutuellement orthogonales et parallèles au plan de la matrice. 8. Dispositif selon la revendication 7, caractérisé par des moyens (20) d'excitation des actuateurs fournissant des signaux de sortie représentatifs des déplacements ou des vitesses de déplacement à donner aux actuateurs. 9. Dispositif selon la revendication 6 ou 7, caractérisé par des moyens d'excitation des actuateurs fournissant des signaux impulsionnels, les actuateurs ayant une fonction de transfert traduisant les dits signaux en un champ de vitesse