TRAITEMENT À LA VOLÉE DE DONNÉES DANS UN SYSTÈME D'ACQUISITION

申请号 EP18150450.7 申请日 2018-01-05 公开(公告)号 EP3346389A1 公开(公告)日 2018-07-11
申请人 Commissariat à l'Energie Atomique et aux Energies Alternatives; 发明人 GUICQUERO, William; VERDANT, Arnaud;
摘要 L'invention concerne un système électronique comportant :
un capteur (201) adapté à fournir successivement n vecteurs L i comportant chacun k valeurs L i (j); et
un dispositif électronique (403) de traitement à la volée des valeurs mesurées par le capteur, comportant :
- un premier étage (407) adapté, à chaque fourniture d'un vecteur L i par le capteur, à multiplier les k valeurs L i (j) du vecteur L i par respectivement k coefficients b i (j), et à fournir un vecteur T1 i de k valeurs T1 i (j);
- un deuxième étage (409) adapté, à chaque fourniture d'un vecteur T1 i , à multiplier le vecteur T1 i par une matrice à de k*p coefficients, et à fournir un vecteur T2 i de p valeurs T2 i (l); et
- un troisième étage (411) adapté à intégrer numériquement les n vecteurs T2 i , et à fournir un vecteur de sortie IT de p valeurs IT(l).
权利要求 Système électronique comportant :un capteur (201 ; 700 ; 900) adapté à fournir successivement n vecteurs Li comportant chacun k valeurs mesurées Li(j), où n et k sont des entiers avec n ≥ 2 et k ≥ 1, i est un entier allant de 1 à n, et j est un entier allant de 1 à k ; etun dispositif électronique (403) de traitement à la volée des valeurs mesurées par le capteur adapté à fournir une projection Ĝ(A,B)*I, dans un domaine de représentation de dimension p, de l'ensemble des n*k valeurs Li(j) mesurées par le capteur, p étant un entier avec p ≥ 1, I étant un vecteur colonne de n*k valeurs, constitué par l'ensemble des n*k valeurs Li(j) mesurées par le capteur, et Ĝ(A,B) étant une matrice de projection de p lignes et n*k colonnes telle que Ĝ(A,B)=S*A*B, où B est une matrice carrée diagonale de n*k lignes par n*k colonnes, et A est une matrice de n*k colonnes par p*n lignes constituée de p*k sous-matrices carrées de dimensions n*n disposées selon p lignes et k colonnes, chaque sous-matrice carrée étant une matrice diagonale dont les n valeurs de la diagonale sont identiques, et où S est une matrice de p lignes par p*n colonnes dont chaque ligne de rang l, avec l entier allant de 1 à p, est constituée par un vecteur comprenant (l-1)*n coefficients nuls suivis de n coefficients unitaires suivis de (p-l)*n nuls, le dispositif électronique de traitement (403) comportant :- un premier étage (407) adapté, à chaque fourniture d'un vecteur Li par le capteur et avant la fourniture du vecteur Li suivant, à multiplier les k valeurs Li(j) du vecteur Li par respectivement k coefficients bi(j), et à fournir un vecteur T1i de k valeurs T1i(j) résultant de cette multiplication ;- un deuxième étage (409) adapté, à chaque fourniture d'un vecteur T1i par le premier étage (407) et avant la fourniture du vecteur T1i suivant, à multiplier le vecteur T1i par une matrice à de k*p coefficients, et à fournir un vecteur T2i de p valeurs T2i(l) résultant de cette multiplication, où l est un entier allant de 1 à p ; et- un troisième étage (411) adapté à intégrer numériquement les n vecteurs T2i successivement fournis par le deuxième étage (409), et à fournir un vecteur de sortie IT de p valeurs IT(l), correspondant à la projection Ĝ(A,B)*I.Système électronique comportant :un capteur (201 ; 700 ; 900) adapté à fournir successivement n vecteurs Li comportant chacun k valeurs mesurées Li(j), où n et k sont des entiers avec n ≥ 2 et k ≥ 1, i est un entier allant de 1 à n, et j est un entier allant de 1 à k ; etun dispositif électronique (603) de traitement à la volée des valeurs mesurées par le capteur adapté à fournir une projection Ĝ(A,B)*I, dans un domaine de représentation de dimension p, de l'ensemble des n*k valeurs Li(j) mesurées par le capteur, p étant un entier avec p ≥ 1, I étant un vecteur colonne de n*k valeurs, constitué par l'ensemble des n*k valeurs Li(j) mesurées par le capteur, et Ĝ(A,B) étant une matrice de projection de p lignes et n*k colonnes telle que Ĝ(A,B)=S*B*A, où B est une matrice carrée diagonale de p*n colonnes par p*n lignes, où A est une matrice de n*k colonnes par p*n lignes constituée de p*k sous-matrices carrées de dimensions n*n disposées selon p lignes et k colonnes, chaque sous matrice carrée étant une matrice diagonale dont les n valeurs de la diagonale sont identiques, et où S est une matrice de p lignes par p*n colonnes dont chaque ligne de rang l, avec l entier allant de 1 à p, est constituée par un vecteur comprenant (l-1)*n coefficients nuls suivis de n coefficients unitaires suivis de (p-l)*n nuls, le dispositif électronique de traitement (403) comportant :- un premier étage (607) adapté, à chaque fourniture d'un vecteur Li par le capteur et avant la fourniture du vecteur Li suivant, à multiplier le vecteur Li par une matrice à de k*p coefficients, et à fournir un vecteur T1i de p valeurs T1i(l) résultant de cette multiplication, où l est un entier allant de 1 à p ;- un deuxième étage (609) adapté, à chaque fourniture d'un vecteur T1i par le premier étage et avant la fourniture du vecteur T1i suivant, à multiplier les p valeurs T1i(l) du vecteur T1i par respectivement p coefficients bi(l), et à fournir un vecteur T2i de p valeurs T2i(l) résultant de cette multiplication ; et- un troisième étage (611) adapté à intégrer numériquement les n vecteurs T2i successivement fournis par le deuxième étage (609), et à fournir un vecteur de sortie IT de p valeurs IT(l), correspondant à la projection Ĝ(A,B)*I.Système selon la revendication 1 ou 2, dans lequel les premier (407 ; 607), deuxième (409 ; 609) et troisième (411 ; 611) étages sont cascadés et sont cadencés par un même signal d'horloge, de façon que chaque étage réalise l'opération de calcul qui lui est attribuée entre deux fronts montants ou descendants consécutifs du signal d'horloge.Système selon l'une quelconque des revendications 1 à 3, dans lequel k est un entier supérieur ou égal à 2.Système selon l'une quelconque des revendications 1 à 4, dans lequel le dispositif de traitement comporte en outre un quatrième étage (413 ; 613) adapté à recevoir le vecteur IT de dimension p fourni par le troisième étage (411 ; 611), et à prendre une ou plusieurs décisions en fonction de la valeur du vecteur IT.Système selon la revendication 5, dans lequel le quatrième étage (413 ; 613) est adapté à classer l'ensemble des n*k valeurs mesurées par le capteur dans une catégorie choisie parmi une pluralité de catégories prédéfinies, en fonction de la valeur du vecteur IT.Système selon la revendication 5, dans lequel le quatrième étage (413 ; 613) est adapté à commander un dispositif électronique utilisateur en fonction de la valeur du vecteur IT.Système selon l'une quelconque des revendications 1 à 7, dans lequel le capteur (201) est un capteur d'images comportant une pluralité de pixels disposés selon n lignes et k colonnes, adapté à fournir successivement n vecteurs Li, chaque vecteur Li correspondant à l'ensemble des valeurs de sortie des pixels d'une même ligne du capteur.Système selon la revendication 8, dans lequel les valeurs de sortie des pixels du capteur (201) sont des valeurs numériques quantifiées sur plusieurs bits.Système selon la revendication 8, dans lequel les valeurs de sortie des pixels du capteur (201) sont des valeurs binaires, et dans lequel le capteur est lu une pluralité de fois, le dispositif de traitement (403 ; 603) fournissant, à chaque lecture, une projection de l'image binaire fournie par le capteur, le système étant adapté à additionner les projections des images binaires successivement fournies par le dispositif de traitement (403 ; 603) pour fournir une image projetée finale.Système selon l'une quelconque des revendications 1 à 7, dans lequel le capteur (700 ; 900) est un capteur d'histogrammes comportant un capteur photosensible multi-spectral asynchrone (701) et un circuit de construction d'histogrammes (703 ; 903) dont une entrée est reliée à une sortie du capteur photosensible (701).Système selon la revendication 11, dans lequel le circuit de construction d'histogrammes (703 ; 903) est adapté à fournir k histogrammes (h1, ..., hk) d'une scène vue par le capteur photosensible (701), correspondant respectivement à k bandes spectrales (λ1, ..., λk) différentes de la scène.Système selon la revendication 12, dans lequel le circuit de construction d'histogrammes (903) est adapté à fournir, pour chaque bande spectrale (λj), m histogrammes (hj1, ..., hjm) de la scène présentant des échelles différentes.Système selon l'une quelconque des revendications 1 à 13, comportant une pluralité de capteurs (201 ; 700 ; 900) identiques juxtaposés, et, pour chaque capteur, un dispositif électronique (403 ; 603) de traitement à la volée des valeurs mesurées par le capteur, le système étant adapté à, pour chaque capteur, classer un ensemble de valeurs mesurées par le capteur dans une catégorie choisie parmi une pluralité de catégories prédéfinies, en fonction de la valeur du vecteur IT calculé par le dispositif de traitement associé au capteur.Système selon l'une quelconque des revendications 1 à 14, comprenant en outre un dispositif électronique d'apprentissage comprenant :- une mémoire de référence stockant au moins une valeur de référence correspondant par exemple à des coefficients d'une projection de référence G ou à au moins un couple de valeurs d'entrée/sortie de référence, chaque couple incluant un vecteur de référence I et un vecteur de référence IT associé attendu ;- un dispositif de calcul d'optimum apte à rechercher des coefficients des matrices A et B permettant de s'approcher au mieux de ladite au moins une valeur de référence ; et- un dispositif d'écriture des coefficients des matrices A et B dans une mémoire de stockage du dispositif électronique de traitement (403, 603), les valeurs mémorisées pouvant être modifiées pendant un processus d'apprentissage sur requête du dispositif de calcul d'optimum.
说明书全文

Domaine

La présente demande concerne le domaine du traitement à la volée de données dans un système d'acquisition de données. Elle vise plus particulièrement un système d'acquisition de données comportant un capteur adapté à fournir de façon séquentielle une pluralité de valeurs mesurées, et un dispositif de traitement à la volée des valeurs fournies par le capteur, le dispositif de traitement permettant de réaliser une projection ou transposition d'un ensemble de valeurs fournies par le capteur pendant un intervalle de temps, dans un domaine de représentation spécifique distinct du domaine d'acquisition. La solution proposée sera décrite plus particulièrement en relation avec des exemples d'application à des systèmes d'imagerie. D'autres applications sont toutefois possibles.

Exposé de l'art antérieur

Dans de nombreuses applications, un capteur d'images est couplé à un dispositif de traitement permettant d'extraire, à partir des images acquises par le capteur, des informations utiles pour l'application.

De façon classique, le dispositif de traitement est adapté à transposer ou projeter une image acquise par le capteur dans un domaine de représentation spécifique distinct du domaine d'acquisition, de façon à exacerber certaines caractéristiques de l'image choisies en fonction de l'application considérée.

Par exemple, dans une application de détection de visages, l'image fournie par le capteur peut être projetée dans un domaine de représentation choisi pour faire ressortir un motif particulier, aisément détectable, lorsqu'un visage est présent dans l'image.

L'opération de projection de l'image s'accompagne généralement d'une réduction de dimensions, c'est-à-dire que la dimension (nombre de valeurs) de la projection de l'image est généralement inférieure à la dimension de l'image d'origine. Ceci permet de réduire la complexité et les besoins en mémoire et en ressources énergétiques d'éventuels traitements ultérieurs.

La projection d'une image fournie par le capteur dans un domaine de représentation distinct du domaine d'acquisition est classiquement réalisée en multipliant l'image d'origine par une matrice de passage. Cette opération nécessite toutefois des ressources mémoires et calculatoires relativement importantes. Ceci peut poser problème dans certaines applications, par exemple des applications dites temps réel, dans lesquelles on souhaite pouvoir traiter les images à la volée, au fur et à mesure de leur acquisition par le capteur.

Il serait souhaitable de pouvoir disposer d'un système d'acquisition comportant un capteur adapté à fournir successivement une pluralité de valeurs mesurées, et un dispositif de traitement à la volée des valeurs fournies par le capteur, le dispositif de traitement permettant de réaliser une projection d'un ensemble de valeurs fournies par le capteur dans un domaine de représentation distinct du domaine d'acquisition, ce système palliant tout ou partie des inconvénients des systèmes connus.

Résumé

Ainsi, un mode de réalisation prévoit un système électronique comportant :

  • un capteur adapté à fournir successivement n vecteurs Li comportant chacun k valeurs mesurées Li(j), où n et k sont des entiers avec n ≥ 2 et k ≥ 1, i est un entier allant de 1 à n, et j est un entier allant de 1 à k ; et
  • un dispositif électronique de traitement à la volée des valeurs mesurées par le capteur adapté à fournir une projection Ĝ(A,B)*I, dans un domaine de représentation de dimension p, de l'ensemble des n*k valeurs Li(j) mesurées par le capteur, p étant un entier avec p ≥ 1, I étant un vecteur colonne de n*k valeurs, constitué par l'ensemble des n*k valeurs Li(j) mesurées par le capteur, et Ĝ(A,B) étant une matrice de projection de p lignes et n*k colonnes telle que Ĝ(A,B)=S*A*B, où B est une matrice carrée diagonale de n*k lignes par n*k colonnes, et A est une matrice de n*k colonnes par p*n lignes constituée de p*k sous-matrices carrées de dimensions n*n disposées selon p lignes et k colonnes, chaque sous-matrice carrée étant une matrice diagonale dont les n valeurs de la diagonale sont identiques, et où S est une matrice de p lignes par p*n colonnes dont chaque ligne de rang l, avec l entier allant de 1 à p, est constituée par un vecteur comprenant (l-1)*n coefficients nuls suivis de n coefficients unitaires suivis de (p-l)*n nuls, le dispositif électronique de traitement (403) comportant :

    • un premier étage adapté, à chaque fourniture d'un vecteur Li par le capteur et avant la fourniture du vecteur Li suivant, à multiplier les k valeurs Li(j) du vecteur Li par respectivement k coefficients bi(j), et à fournir un vecteur T1i de k valeurs T1i(j) résultant de cette multiplication ;
    • un deuxième étage adapté, à chaque fourniture d'un vecteur T1i par le premier étage et avant la fourniture du vecteur T1i suivant, à multiplier le vecteur T1i par une matrice à de k*p coefficients, et à fournir un vecteur T2i de p valeurs T2i(l) résultant de cette multiplication, où l est un entier allant de 1 à p ; et
    • un troisième étage adapté à intégrer numériquement les n vecteurs T2i successivement fournis par le deuxième étage, et à fournir un vecteur de sortie IT de p valeurs IT(l), correspondant à la projection G̃(A, B)*I.

Un autre mode de réalisation prévoit un système électronique comportant :

  • un capteur adapté à fournir successivement n vecteurs Li comportant chacun k valeurs mesurées Li(j), où n et k sont des entiers avec n ≥ 2 et k ≥ 1, i est un entier allant de 1 à n, et j est un entier allant de 1 à k ; et
  • un dispositif électronique de traitement à la volée des valeurs mesurées par le capteur adapté à fournir une projection Ĝ(A,B)*I, dans un domaine de représentation de dimension p, de l'ensemble des n*k valeurs Li(j) mesurées par le capteur, p étant un entier avec p ≥ 1, I étant un vecteur colonne de n*k valeurs, constitué par l'ensemble des n*k valeurs Li(j) mesurées par le capteur, et Ĝ(A,B) étant une matrice de projection de p lignes et n*k colonnes telle que Ĝ(A,B)=S*B*A, où B est une matrice carrée diagonale de p*n colonnes par p*n lignes, où A est une matrice de n*k colonnes par p*n lignes constituée de p*k sous-matrices carrées de dimensions n*n disposées selon p lignes et k colonnes, chaque sous matrice carrée étant une matrice diagonale dont les n valeurs de la diagonale sont identiques, et où S est une matrice de p lignes par p*n colonnes dont chaque ligne de rang l, avec l entier allant de 1 à p, est constituée par un vecteur comprenant (l-1)*n coefficients nuls suivis de n coefficients unitaires suivis de (p-l)*n nuls, le dispositif électronique de traitement (403) comportant :

    • un premier étage adapté, à chaque fourniture d'un vecteur Li par le capteur et avant la fourniture du vecteur Li suivant, à multiplier le vecteur Li par une matrice à de k*p coefficients, et à fournir un vecteur T1i de p valeurs T1i(l) résultant de cette multiplication, où l est un entier allant de 1 à p ;
    • un deuxième étage adapté, à chaque fourniture d'un vecteur T1i par le premier étage et avant la fourniture du vecteur T1i suivant, à multiplier les p valeurs T1i(l) du vecteur T1i par respectivement p coefficients bi(l), et à fournir un vecteur T2i de p valeurs T2i(l) résultant de cette multiplication ; et
    • un troisième étage adapté à intégrer numériquement les n vecteurs T2i successivement fournis par le deuxième étage, et à fournir un vecteur de sortie IT de p valeurs IT(l), correspondant à la projection Ĝ(A,B)*I.

Selon un mode de réalisation, les premier, deuxième et troisième étages sont cascadés et sont cadencés par un même signal d'horloge, de façon que chaque étage réalise l'opération de calcul qui lui est attribuée entre deux fronts montants ou descendants consécutifs du signal d'horloge.

Selon un mode de réalisation, k est un entier supérieur ou égal à 2.

Selon un mode de réalisation, le dispositif de traitement comporte en outre un quatrième étage adapté à recevoir le vecteur IT de dimension p fourni par le troisième étage, et à prendre une ou plusieurs décisions en fonction de la valeur du vecteur IT.

Selon un mode de réalisation, le quatrième étage est adapté à classer l'ensemble des n*k valeurs mesurées par le capteur dans une catégorie choisie parmi une pluralité de catégories prédéfinies, en fonction de la valeur du vecteur IT.

Selon un mode de réalisation, le quatrième étage est adapté à commander un dispositif électronique utilisateur en fonction de la valeur du vecteur IT.

Selon un mode de réalisation, le capteur est un capteur d'images comportant une pluralité de pixels disposés selon n lignes et k colonnes, adapté à fournir successivement n vecteurs Li, chaque vecteur Li correspondant à l'ensemble des valeurs de sortie des pixels d'une même ligne du capteur.

Selon un mode de réalisation, les valeurs de sortie des pixels du capteur sont des valeurs numériques quantifiées sur plusieurs bits.

Selon un mode de réalisation, les valeurs de sortie des pixels du capteur sont des valeurs binaires, et le capteur est lu une pluralité de fois, le dispositif de traitement fournissant, à chaque lecture, une projection de l'image binaire fournie par le capteur, le système étant adapté à additionner les projections des images binaires successivement fournies par le dispositif de traitement pour fournir une image projetée finale.

Selon un mode de réalisation, le capteur est un capteur d'histogrammes comportant un capteur photosensible multi-spectral asynchrone et un circuit de construction d'histogrammes dont une entrée est reliée à une sortie du capteur photosensible.

Selon un mode de réalisation, le circuit de construction d'histogrammes est adapté à fournir k histogrammes d'une scène vue par le capteur photosensible, correspondant respectivement à k bandes spectrales différentes de la scène.

Selon un mode de réalisation, le circuit de construction d'histogrammes est adapté à fournir, pour chaque bande spectrale, m histogrammes de la scène présentant des échelles différentes.

Selon un mode de réalisation, le système comporte une pluralité de capteurs identiques juxtaposés, et, pour chaque capteur, un dispositif électronique de traitement à la volée des valeurs mesurées par le capteur, le système étant adapté à, pour chaque capteur, classer un ensemble de valeurs mesurées par le capteur dans une catégorie choisie parmi une pluralité de catégories prédéfinies, en fonction de la valeur du vecteur IT calculé par le dispositif de traitement associé au capteur.

Selon un mode de réalisation, le système comprend en outre un dispositif électronique d'apprentissage comprenant :

  • une mémoire de référence stockant au moins une valeur de référence correspondant par exemple à des coefficients d'une projection de référence G ou à au moins un couple de valeurs d'entrée/sortie de référence, chaque couple incluant un vecteur de référence I et un vecteur de référence IT associé attendu ;
  • un dispositif de calcul d'optimum apte à rechercher des coefficients des matrices A et B permettant de s'approcher au mieux de ladite au moins une valeur de référence ; et
  • un dispositif d'écriture des coefficients des matrices A et B dans une mémoire de stockage du dispositif électronique de traitement, les valeurs mémorisées pouvant être modifiées pendant un processus d'apprentissage sur requête du dispositif de calcul d'optimum.

Brève description des dessins

Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles :

  • la figure 1 illustre schématiquement un exemple d'une opération de projection, dans un domaine de représentation spécifique, d'une image fournie par un capteur d'images ;
  • la figure 2 est un schéma bloc d'un exemple de système d'acquisition comportant un capteur d'images et un dispositif de traitement adapté à mettre en oeuvre une opération de projection, dans un domaine de représentation spécifique, d'une image fournie par le capteur ;
  • la figure 3 illustre schématiquement un exemple d'un mode de réalisation d'une opération de projection, dans un domaine de représentation spécifique, d'une image fournie par un capteur d'images ;
  • la figure 4 est un schéma bloc d'un exemple d'un mode de réalisation d'un système d'acquisition comportant un capteur d'images et un dispositif de traitement adapté à mettre en oeuvre une opération de projection, dans un domaine de représentation spécifique, d'une image fournie par le capteur ;
  • la figure 5 illustre schématiquement un autre exemple d'un autre mode de réalisation d'une opération de projection, dans un domaine de représentation spécifique, d'une image fournie par un capteur d'images ;
  • la figure 6 est un schéma bloc d'un autre exemple d'un mode de réalisation d'un système d'acquisition comportant un capteur d'images et un dispositif de traitement adapté à mettre en oeuvre une opération de projection, dans un domaine de représentation spécifique, d'une image fournie par le capteur ;
  • la figure 7 représente de façon schématique un exemple d'un capteur de données d'un système d'acquisition de données selon un mode de réalisation ;
  • la figure 8 est un chronogramme représentant de façon schématique des données mesurées par le capteur de la figure 7 ;
  • la figure 9 représente de façon schématique un autre exemple d'un capteur de données d'un système d'acquisition de données selon un mode de réalisation ; et
  • la figure 10 est un chronogramme représentant de façon schématique des données mesurées par le capteur de la figure 9.

Description détaillée

De mêmes éléments ont été désignés par de mêmes références dans les différentes figures et, de plus, les diverses figures ne sont pas tracées à l'échelle. Par souci de clarté, seuls les éléments utiles à la compréhension des modes de réalisation décrits ont été représentés et sont détaillés. En particulier, les capteurs des systèmes d'acquisition décrits ci-après n'ont pas été détaillés, les modes de réalisation décrits étant compatibles avec tout capteur adapté à fournir, de façon séquentielle, des signaux électriques représentatifs de valeurs mesurées par le capteur. De plus, les circuits électroniques adaptés à mettre en oeuvre les opérations décrites par la suite de traitement des signaux fournis par les capteurs, n'ont pas été détaillés, l'implémentation de tels circuits étant à la portée de l'homme du métier à partir des indications fonctionnelles de la présente description. On notera en particulier que les opérations de traitement décrites ci-après peuvent être implémentées en totalité ou en partie par un circuit de calcul générique, comportant par exemple un microprocesseur, programmé pour mettre en oeuvre les opérations de traitement décrites. Alternativement, les opérations de traitement décrites ci-après peuvent être implémentées en totalité ou en partie par des circuits électroniques spécifiques. Par ailleurs, l'ensemble des applications dans lesquelles des systèmes d'acquisition du type décrit ci-après peuvent être utilisés n'ont pas été détaillées, les modes de réalisation décrits pouvant être adaptés à toute application dans laquelle on souhaite projeter, dans un domaine de représentation spécifique, un ensemble de données fournies de façon séquentielle par un capteur. Sauf précision contraire, les expressions "approximativement", "sensiblement", et "de l'ordre de" signifient à 10 % près, de préférence à 5 % près.

Comme indiqué ci-dessus, on s'intéresse ici de façon générale à des systèmes électroniques dans lesquels un capteur fournit de façon séquentielle des données ou signaux représentatifs de valeurs mesurées par le capteur.

A titre d'exemple illustratif, on considère un système comportant un capteur d'images comportant n*k pixels agencés en matrice selon n lignes et k colonnes, où n et k sont des entiers. Dans cet exemple, lors d'une phase de lecture d'une image acquise par le capteur, les valeurs de sortie des pixels sont lues ligne par ligne, c'est-à-dire que tous les pixels d'une même ligne sont lus simultanément, et que les pixels de lignes distinctes sont lus séquentiellement. Autrement dit, lors d'une phase de lecture d'une image acquise par le capteur, le capteur fournit successivement n vecteurs L1, ..., Ln, chaque vecteur Li (avec i entier allant de 1 à n) comportant k valeurs Li(1), ... Li(k), chaque valeur Li(j) (avec j entier allant de 1 à k) correspondant à la valeur de sortie du pixel de la ligne de rang i et de la colonne de rang j. L'image I fournie par le capteur est constituée par l'ensemble des n*k valeurs Li(j) lues pendant la phase de lecture.

La figure 1 illustre schématiquement un exemple d'une opération de projection d'une image I fournie par un capteur d'images tel que défini ci-dessus, dans un domaine de représentation distinct du domaine d'acquisition.

L'image I est représentée sur la figure 1 sous la forme d'un vecteur colonne de k*n valeurs, correspondant à la concaténation de k vecteurs colonnes C1, ..., Ck, chaque vecteur Cj (avec j entier allant de 1 à k) comportant n valeurs Cj(1), ..., Cj(n) correspondant respectivement aux valeurs de sortie des n pixels de la colonne de rang j du capteur (c'est-à-dire respectivement égales aux valeurs L1(j), ..., Ln(j)).

Dans l'exemple de la figure 1, la projection de l'image I dans un domaine de représentation adapté aux besoins d'une application spécifique consiste à multiplier le vecteur colonne I défini ci-dessus par une matrice de passage G de k*n colonnes par p lignes, où p est un entier désignant la dimension de la projection ou transposée de l'image (c'est-à-dire du vecteur résultant de l'opération de projection de l'image).

Le résultat de cette multiplication est un vecteur IT de p valeurs correspondant à la projection de l'image I dans le domaine de représentation de dimension p défini par la matrice G.

La figure 2 est un schéma bloc d'un exemple d'un système d'acquisition comportant un capteur d'images 201 du type défini ci-dessus, et un dispositif de traitement 203 adapté à mettre en oeuvre l'opération décrite en relation avec la figure 1 de projection d'une image I fournie par le capteur, dans un domaine de représentation de dimension p défini par la matrice de passage G.

Dans cet exemple, le dispositif de traitement 203 comprend une mémoire 205 de dimension k*n, adaptée à mémoriser simultanément les k*n valeurs des pixels de l'image I.

Lors d'une phase de lecture d'une image acquise par le capteur 201, les n vecteurs de sortie L1, ..., Ln successivement fournis par le capteur sont écrits dans la mémoire 203 de façon à construire l'image I.

Le dispositif de traitement 203 comprend en outre un étage 207 adapté à réaliser l'opération décrite ci-dessus de multiplication de l'image I de k*n valeurs, par la matrice de passage G de k*n*p valeurs, de façon à fournir le vecteur de sortie IT de dimension p, correspondant à la projection de l'image I dans le domaine de représentation défini par la matrice G.

Le dispositif de traitement 203 peut en outre comporter un bloc décisionnel 209 adapté à recevoir le vecteur IT de dimension p calculé par l'étage de multiplication 207, et à prendre une ou plusieurs décisions en fonction de la valeur du vecteur IT. A titre d'exemple, le bloc décisionnel 209 est adapté à classer l'image I dans une catégorie choisie parmi une pluralité de catégories prédéfinies, en fonction de la valeur du vecteur IT.

Un inconvénient du système de la figure 2 est que le dispositif de traitement 203 doit attendre que l'intégralité de l'image I acquise par le capteur ait été lue et écrite dans la mémoire 205 pour pouvoir commencer à effectuer les opérations de calcul de projection par l'intermédiaire de l'étage de multiplication 207. Le temps de lecture de l'image I acquise par le capteur est donc un temps perdu pendant lequel les opérations de calcul de projection ne sont pas mises en oeuvre.

En outre, dans le système de la figure 2, la mémoire 205 du dispositif de traitement 203 doit être relativement conséquente pour pouvoir contenir l'intégralité de l'image I acquise par le capteur.

De plus, le système de la figure 2 doit mémoriser l'ensemble des n*k*p valeurs de la matrice de passage G, pour permettre à l'étage 207 de réaliser l'opération de multiplication matricielle G*I. Là encore, ceci nécessite des ressources mémoire importantes.

La figure 3 illustre schématiquement un exemple d'un mode de réalisation d'une opération de projection d'une image I fournie par un capteur d'images tel que défini ci-dessus, dans un domaine de représentation distinct du domaine d'acquisition.

Comme dans l'exemple de la figure 1, l'image I est représentée sur la figure 3 sous la forme d'un vecteur colonne de k*n valeurs correspondant à la concaténation des k vecteurs colonnes C1, ... Ck de dimension n de l'image I.

Dans l'exemple de la figure 3, l'opération de projection de l'image I dans un domaine de représentation de dimension p adapté aux besoins d'une application donnée, comprend la multiplication du vecteur colonne I par une première matrice carrée diagonale B de n*k lignes par n*k colonnes, et la multiplication du vecteur colonne de dimension n*k résultant de la multiplication B*I, par une deuxième matrice A de n*k colonnes par p*n lignes.

On désigne ici respectivement par b1, ..., bk, les k vecteurs de dimension n dont la concaténation forme le vecteur de dimension n*k constituant la diagonale de la matrice B. Autrement dit, le vecteur b1 comprend les n premières valeurs de la diagonale de la matrice B, le vecteur b2 comprend les n valeurs suivantes de la diagonale de la matrice B, et ainsi de suite jusqu'au vecteur bk qui comprend les n dernières valeurs de la diagonale de la matrice B.

La matrice A est constituée de p*k sous-matrices carrées Aj,l de dimensions n*n disposées selon p lignes et k colonnes (où j, entier allant de 1 à k, désigne le rang de la colonne de la sous-matrice Aj,l, et où l est un entier allant de 1 à p désignant le rang de la ligne de la sous-matrice Aj,l). Une particularité de la matrice A est que chaque sous-matrice Aj,l est une matrice diagonale dans laquelle les n valeurs de la diagonale de la matrice sont identiques, les valeurs des diagonales de sous matrices Aj,l distinctes pouvant être différentes.

L'opération de projection de l'exemple de la figure 3 comprend en outre la multiplication du vecteur colonne de dimension p*n résultant de la multiplication A*B*I, par une matrice S de p lignes par p*n colonnes. La matrice S est constituée uniquement de '1' et de '0'. Plus particulièrement, chaque ligne de rang l de la matrice S, avec l entier allant de 1 à p, est constituée par un vecteur comprenant (l-1)*n '0' suivis de n '1' suivis de (p-l)*n '0'. Multiplier par la matrice S le vecteur colonne de dimension p*n résultant de la multiplication A*B*I, revient en fait à additionner, pour chacun des p sous-vecteurs consécutifs de dimension n formant ce vecteur colonne, les n valeurs du sous-vecteur. Le résultat de la multiplication S*A*B*I est un vecteur de sortie IT de p valeurs, correspondant à la projection de l'image I dans un domaine de représentation de dimension p défini par les matrices A et B.

En pratique, toute opération de projection IT= G*I telle que définie dans l'exemple des figures 1 et 2, peut être approximée par une opération de projection de type IT= S*A*B*I telle que définie en relation avec la figure 3. La détermination des matrices A et B permettant de réaliser l'opération de projection souhaitée ne sera pas décrite en détail, les matrices A et B pouvant être déterminées à partir des méthodes usuelles de détermination d'une matrice de passage qui soit discriminante entre des classes de signaux que l'on souhaite différencier, par exemple des méthodes basées sur un apprentissage à partir d'un ensemble d'images de référence préalablement acquises.

A titre d'exemple, les matrices A et B peuvent être déterminées directement par la résolution d'un problème de régularisation permettant de faire en sorte que l'opération de projection réalisée par le système soit la plus pertinente vis-à-vis d'une application spécifique. A titre d'exemple illustratif, on considère une application dans laquelle on souhaite classer (ou trier) des images I fournies par un capteur, en affectant à chaque image une catégorie (par exemple sous la forme d'un numéro) choisie parmi nc catégories prédéfinies, où nc est un entier supérieur à 1, en fonction de la valeur du vecteur de projection IT de l'image I. On considère en outre une base d'apprentissage préalablement constituée, comportant, pour chaque catégorie s, avec s entier allant de 1 à nc, ns images Is,rs de la catégorie, où ns est un entier supérieur à 1, et rs est entier allant de 1 à ns désignant le rang de l'image de catégorise s dans la base d'apprentissage. Dans ce cas, les matrices A et B peuvent être déterminées par la résolution d'un problème du type : argminA,BG^ABMIdFro2sλsnsrsG^ABIs,rsMs22

(A,B) est la matrice résultante telle que (A,B) = S*A*B, Ms est une image moyennée correspondant à la moyenne des ns images Is,rs de la catégorie s, M est une image moyennée correspondant à la moyenne de l'ensemble des images Is,rs de la base d'apprentissage, Id est la matrice identité, et λs est un coefficient de régularisation qui peut être réglé différemment pour chaque catégorie.

A titre de variante, les matrices A et B peuvent être déterminées de façon que la matrice résultante (A,B) approxime au plus près une matrice de référence G correspondant à l'opération de projection que l'on vise à réaliser, selon des critères d'approximation prédéfinis. A titre d'exemple, on peut vouloir minimiser la norme Froebnius entre la matrice (A,B) et la matrice G en résolvant un problème de minimisation de type : argminA,BG^ABGFro2, où ∥ ∥Fro désigne la norme de Froebenius.

Plus généralement, toute autre méthode de détermination des matrices A et B peut être utilisée.

La figure 4 est un schéma bloc d'un exemple d'un mode de réalisation d'un système électroniques d'acquisition, comportant un capteur d'images 201 du type défini ci-dessus, et un dispositif électronique de traitement 403 adapté à mettre en oeuvre l'opération décrite en relation avec la figure 3 de projection d'une image I fournie par le capteur, dans un domaine de représentation de dimension p défini par les matrices de passage A et B.

Dans cet exemple, le dispositif de traitement 403 comprend une mémoire 405 de dimension k, adaptée à mémoriser simultanément les k valeurs de sortie des pixels d'une même ligne de l'image I.

Lors d'une phase de lecture d'une image acquise par le capteur 201, les n lignes du capteur sont successivement lues. A chaque lecture d'une ligne de rang i du capteur, le vecteur Li des valeurs de sortie des pixels de la ligne, c'est-à-dire le vecteur de dimension k constitué par les valeurs C1 (i), ..., Ck(i), est écrit dans la mémoire 405.

Le dispositif de traitement 403 comprend de plus un étage 407 adapté, à chaque lecture d'une ligne de rang i du capteur et avant la lecture de la ligne suivante, à multiplier les k valeurs C1(i), ... Ck(i) du vecteur Li stockées dans la mémoire 405, respectivement par les k coefficients b1(i), ..., bk(i) de la diagonale de la matrice B. L'étage 407 comprend par exemple k circuits multiplieurs réalisant simultanément les k multiplications C1 (i) *b1 (i), ..., Ck(i)*bk(i). Ainsi, à chaque lecture d'une ligne de rang i du capteur et avant que la ligne suivante soit lue, l'étage 407 réalise k multiplications parmi les n*k multiplications que comprend l'opération de multiplication matricielle I*B de la figure 3. On note ici T1i le vecteur de dimension k fourni par l'étage 407, constitué par les valeurs C1(i)*b1(i), ..., Ck(i)*bk(i).

Le dispositif de traitement 403 comprend en outre un étage 409 adapté à recevoir le vecteur T1i de dimension k fourni par l'étage 407 à chaque lecture d'une ligne de rang i du capteur, et à multiplier ce vecteur par une matrice à de p lignes par k colonnes, comprenant respectivement les p*k coefficients définissant la matrice A. Autrement dit, la matrice à comprend p*k coefficients aj,l disposés selon p lignes et k colonnes (où j désigne le rang de la colonne du coefficient aj,l, et où l désigne le rang de la ligne du coefficient aj,l), chaque coefficient aj,l étant égal à la valeur du coefficient unique de la sous matrice Aj,l de même coordonnées dans la matrice A. Ainsi, à chaque fois qu'un vecteur T1i est fourni par l'étage 407, et avant la fourniture du vecteur T1i suivant, l'étage 409 réalise k*p multiplications parmi les n*k*p multiplications que comprend, dans l'exemple de la figure 3, l'opération de multiplication du vecteur résultant du produit I*B par la matrice A. On note ici T2i le vecteur de dimension p fourni par l'étage 409, résultant de la multiplication du vecteur T1i par la matrice Ã.

Le dispositif de traitement 403 comprend en outre un étage 411 d'intégration des n vecteurs T2i successivement fournis par l'étage 409 lors des n lectures successives des lignes du capteur. L'étage d'intégration 411 est par exemple réinitialisé uniquement entre deux phases successives de lecture de l'intégralité d'une image I acquise par le capteur. Ainsi, à la fin d'une phase de lecture du capteur (c'est-à-dire après la lecture de la ligne de rang n du capteur), l'étage 411 fournit un vecteur de sortie IT de dimension p, dont chaque coefficient IT(l), avec l entier allant de 1 à p, est égal à la somme des coefficients de rang l T21(l), ... T2n(l) successivement fournis par l'étage 409. Le vecteur IT correspond à la projection de l'image I dans le domaine de représentation de dimension p défini par les matrices A et B. L'étage 411 réalise ainsi l'opération de sommation correspondant, dans la représentation de la figure 3, à la multiplication par la matrice S du résultat du produit A*B*I.

Le dispositif de traitement 403 peut en outre comporter un bloc décisionnel 413 adapté à recevoir le vecteur IT de dimension p fourni par l'étage d'intégration 411 à la fin d'une phase de lecture d'une image acquise par le capteur, et à prendre une ou plusieurs décisions en fonction de la valeur du vecteur IT. A titre d'exemple, le bloc décisionnel 413 est adapté à classer l'image I dans une catégorie choisie parmi une pluralité de catégories prédéfinies, en fonction de la valeur du vecteur IT.

Un avantage du système de la figure 4 est que le dispositif de traitement 403 n'a pas besoin d'attendre que l'intégralité de l'image I acquise par le capteur ait été lue pour pouvoir commencer à mettre en oeuvre les opérations de calcul de projection. Ceci permet un gain de temps dans la mesure où le calcul de la projection de l'image I dans un domaine de représentation distinct du domaine d'acquisition est effectué en parallèle de la lecture de l'image.

En outre, ceci permet une économie de ressources mémoires, dans la mesure où il n'est plus nécessaire de stocker l'intégralité de l'image acquise par le capteur avant de commencer le calcul. En particulier, dans l'exemple de la figure 4, la mémoire 405 est réduite à la dimension d'une ligne du capteur, soit une capacité de stockage de k valeurs. En comparaison, la mémoire 205 du dispositif de traitement 203 de la figure 2 doit avoir une capacité de stockage de n*k valeurs. A titre de variante, dans le mode de réalisation de la figure 4, la mémoire 405 peut être omise. Dans ce cas, à chaque lecture d'une ligne Li du capteur, le vecteur Li est directement transmis à l'étage de multiplication 407.

Un autre avantage du système de la figure 4 est que la mémorisation des coefficients des matrices A et B nécessite des ressources mémoires réduites par rapport à la mémorisation des coefficients de la matrice G dans le système de la figure 2. Plus particulièrement, dans le système de la figure 4, la mémorisation de la matrice A requiert le stockage de p*k coefficients, et la mémorisation de la matrice B requiert le stockage de k*n coefficients. A titre de comparaison, la mémorisation de la matrice G dans le système de la figure 2 requiert le stockage de n*k*p coefficients.

A titre d'exemple, les étages 407, 409 et 411 sont cascadés et sont cadencés par un même signal d'horloge, de façon que chaque étage réalise l'opération de calcul qui lui est attribuée entre deux fronts montants ou descendants consécutifs du signal d'horloge.

La figure 5 illustre schématiquement un autre exemple d'un mode de réalisation d'une opération de projection d'une image I fournie par un capteur d'images tel que défini ci-dessus, dans un domaine de représentation distinct du domaine d'acquisition.

Comme dans les exemples des figures 1 et 3, l'image I est représentée sur la figure 5 sous la forme d'un vecteur colonne de k*n valeurs correspondant à la concaténation des k vecteurs colonnes C1, ..., Ck de dimension n de l'image I.

Dans l'exemple de la figure 5, l'opération de projection de l'image I dans un domaine de représentation de dimension p adapté aux besoins d'une application donnée, comprend la multiplication du vecteur colonne I par une première matrice A de n*k colonnes par p*n lignes, et la multiplication du vecteur colonne de dimension p*n résultant de la multiplication A*I, par une deuxième matrice B de p*n colonnes par p*n lignes.

La matrice B est une matrice carrée diagonale. On désigne ici respectivement par b1, ..., bp, les p vecteurs de dimension n dont la concaténation forme le vecteur de dimension n*p constituant la diagonale de la matrice B. Autrement dit, le vecteur b1 comprend les n premières valeurs de la diagonale de la matrice B, le vecteur b2 comprend les n valeurs suivantes de la diagonale de la matrice B, et ainsi de suite jusqu'au vecteur bp qui comprend les n dernières valeurs de la diagonale de la matrice B.

La matrice A est constituée de p*k sous-matrices carrées Aj,l de dimensions n*n disposées selon p lignes et k colonnes (où j désigne le rang de la colonne de la sous-matrice Aj,l, et où l désigne le rang de la ligne de la sous-matrice Aj,l). Comme dans le mode de réalisation de la figure 3, une particularité de la matrice A est que chaque sous matrice Aj,l est une matrice diagonale dans laquelle les n valeurs de la diagonale sont identiques, les valeurs des diagonales de sous matrices Aj,l distinctes pouvant être différentes.

L'opération de projection de l'exemple de la figure 5 comprend en outre la multiplication du vecteur colonne de dimension p*n résultant de la multiplication B*A*I, par une matrice S de p lignes par p*n colonnes, identique ou similaire à la matrice S de la figure 3. Le résultat de la multiplication S*B*A*I est un vecteur de sortie IT de p valeurs, correspondant à la projection de l'image I dans un domaine de représentation de dimension p défini par les matrice A et B.

En pratique, toute opération de projection IT= G*I telle que définie dans l'exemple des figures 1 et 2, peut être approximée par une opération de projection de type IT= S*B*A*I telle que définie en relation avec la figure 5. La détermination des matrices A et B permettant de réaliser l'opération de projection souhaitée peut être réalisée par des méthodes similaires à celles décrites ci-dessus en relation avec la figure 3, ou par toute autre méthode adaptée.

La figure 6 est un schéma bloc d'un exemple d'un mode de réalisation d'un système électronique d'acquisition comportant un capteur d'images 201 du type défini ci-dessus, et un dispositif électronique de traitement 603 adapté à mettre en oeuvre l'opération décrite en relation avec la figure 5 de projection d'une image I fournie par le capteur dans un domaine de représentation de dimension p défini par les matrices de passage A et B.

Dans cet exemple, le dispositif de traitement 603 comprend une mémoire 605 de dimension k, adaptée à mémoriser simultanément les k valeurs de sortie des pixels d'une même ligne de l'image I.

Lors d'une phase de lecture d'une image acquise par le capteur 201, les n lignes du capteur sont successivement lues. A chaque lecture d'une ligne de rang i du capteur, le vecteur Li des valeurs de sortie des pixels de la ligne, c'est-à-dire le vecteur de dimension k constitué par les valeurs C1(i), ..., Ck(i), est écrit dans la mémoire 605.

Le dispositif de traitement 603 comprend de plus un étage 607 adapté, à chaque lecture d'une ligne de rang i du capteur et avant la lecture de la ligne suivante, à multiplier le vecteur Li stocké dans la mémoire 605, par une matrice à de p lignes par k colonnes comprenant respectivement les p*k coefficients définissant la matrice A. Ainsi, à chaque lecture d'une ligne de rang i du capteur et avant que la ligne suivante soit lue, l'étage 607 réalise k*p multiplications parmi les n*k*p multiplications que comprend, dans l'exemple de la figure 5, l'opération de multiplication I*A. On note ici T1i le vecteur de dimension p fourni par l'étage 607, résultant de la multiplication du vecteur Li par la matrice Ã.

Le dispositif de traitement 603 comprend en outre un étage 609 adapté à recevoir le vecteur T1i de dimension p fourni par l'étage 607 à chaque lecture d'une ligne de rang i du capteur, et à multiplier les p coefficients de ce vecteur respectivement par les p coefficients b1(i), ..., bp(i) de la diagonale de la matrice B. L'étage 609 comprend par exemple p circuits multiplieurs réalisant simultanément les p multiplications T1i(1)*b1(i), ..., T1i(p)*bp (i) . Ainsi, à chaque lecture d'une ligne de rang i du capteur et avant que la ligne suivante soit lue, l'étage 609 réalise p multiplications parmi les n*p multiplications que comprend, dans l'exemple de la figure 5, l'opération de multiplication du vecteur résultant du produit A*I par la matrice B. On note ici T2i le vecteur de dimension p fourni par l'étage 609, constitué par les valeurs T1i(1)*b1(i), ..., T1i(p)*bp(i).

Le dispositif de traitement 603 comprend en outre un étage 611 d'intégration des n vecteurs T2i successivement fournis par l'étage 609 lors des n lectures successives des lignes du capteur. L'étage d'intégration 611 est par exemple réinitialisé uniquement entre deux phases de lectures successives d'une image I acquise par le capteur. Ainsi, à la fin d'une phase de lecture du capteur (c'est-à-dire après la lecture de la ligne de rang n du capteur), l'étage 611 fournit un vecteur de sortie IT de dimension p, dont chaque coefficient IT(l), avec l entier allant de 1 à p, est égal à la somme des coefficients de rang l T21(l), ..., T2n(l) successivement fournis par l'étage 609. Le vecteur IT correspond à la projection de l'image I dans le domaine de représentation défini par les matrices A et B. L'étage 611 réalise ainsi l'opération de sommation correspondant, dans la représentation de la figure 5, à la multiplication par la matrice S du résultat du produit B*A*I.

Le dispositif de traitement 603 peut en outre comporter un bloc décisionnel 613 adapté à recevoir le vecteur IT de dimension p fourni par l'étage d'intégration 611 à la fin d'une phase de lecture d'une image acquise par le capteur, et à prendre une ou plusieurs décisions en fonction de la valeur du vecteur IT. A titre d'exemple, le bloc décisionnel 613 est adapté à classer l'image I dans une catégorie choisie parmi une pluralité de catégories prédéfinies, en fonction de la valeur du vecteur IT.

A titre de variante, dans l'exemple de la figure 6, la mémoire 605 peut être omise. Dans ce cas, à chaque lecture d'une ligne Li du capteur, le vecteur Li est directement transmis à l'étage de multiplication 607.

Le système de la figure 6 est une alternative au système de la figure 4, présentant sensiblement les mêmes avantages que le système de la figure 4 par rapport au système de la figure 2. Une différence entre le système de la figure 6 et le système de la figure 4 est que, dans le système de la figure 6, le nombre de multiplications réalisé pour calculer la projection de l'image I est de n*p(k+1), contre n*k(1+p) dans le système de la figure 4. De plus, la mémorisation des coefficients des matrices A et B dans le système de la figure 6 requiert le stockage de p*k+p*n valeurs, contre p*k+k*n valeurs dans le système de la figure 4. Selon les valeurs des nombres p et k, l'homme du métier saura choisir le système le plus avantageux pour minimiser le besoin en mémoire et/ou la complexité de calcul.

Comme indiqué précédemment, les coefficients des matrices A et B sont mémorisées dans une mémoire, non représentée en figures 4 et 6, mais faisant partie du dispositif de traitement 403 ou 603. Dans un mode « d'utilisation » du dispositif de traitement tel que décrit précédemment, les coefficients des matrices A et B ne changent pas. Néanmoins, sauf dans des cas très particuliers où il est possible de définir analytiquement les coefficients des matrices A et B, dans la majorité des cas les coefficients ont été obtenus après mise en oeuvre d'un procédé d'apprentissage, par exemple selon une résolution de problème du type décrit précédemment, par exemple du type : argminA,BG^ABMIdFro2sλsnsrsG^ABIs,rsMs22

Ainsi, selon un mode de réalisation avantageux de la présente invention, le système électronique peut comprendre en outre un dispositif électronique d'apprentissage « embarqué » comprenant :

  • une mémoire « de référence » stockant (temporairement ou non) au moins une valeur de référence (par exemple une matrice G de référence ou au moins un couple de valeurs d'entrée/sortie de référence, chaque couple incluant un vecteur de référence I et un vecteur de référence IT associé attendu) ;
  • un dispositif de calcul d'optimum (utilisant par exemple un processeur) apte à rechercher des coefficients des matrices A et B permettant de s'approcher au mieux de ladite au moins une valeur de référence ; et
  • un dispositif d'écriture des coefficients des matrices A et B dans la mémoire de stockage du dispositif de traitement (403, 603), les valeurs mémorisées pouvant être modifiées pendant le processus d'apprentissage, sur requête du dispositif de calcul d'optimum.

Le dispositif électronique d'apprentissage embarqué est activé préalablement à l'utilisation du système électronique, mais peut également être activé entre deux utilisations du système électronique, par exemple pour mettre en oeuvre un apprentissage continu des matrices A et B.

Un avantage d'un dispositif électronique incluant des matrices A et B apprises lors d'un processus d'apprentissage préalable (réalisé par un dispositif d'apprentissage embarqué ou externe) et répondant aux définitions susmentionnées ((A,B) = S* A*B) est qu'il permet de réaliser un traitement potentiellement aussi précis qu'un dispositif de l'état de l'art (figure 1 avec la mémorisation d'un matrice G complète) mais de façon plus rapide et avec un besoin moindre de ressource mémoire. C'est notamment le cas pour les applications de type classification ou pour le calcul d'un ou plusieurs paramètres selon une méthode de régression (par exemple pour calculer simultanément différentes valeurs d'un paramètre physique selon sa propre échelle). On pourra avantageusement utiliser une méthode d'apprentissage de type SVM pour « machine à vecteur de support » qui permet de réaliser une tâche de classification avec une prise de décision simplifiée, par seuillages, sur la base du vecteur IT (par exemple une méthode équivalente à une SVM linéaire multi-classes avec une construction du type « one versus all »).

On notera que l'utilisation des matrices A et B avec un processus d'apprentissage préalable n'a pas vocation à servir uniquement à compresser la taille des données issues du capteur, mais à transformer ces données d'entrée en données de sortie d'une autre nature pour permettre de réaliser au moins en partie un traitement de ces données en vue d'une prise de décision ultérieure (commande d'un actionneur, alarme, détection, mesures...) . L'utilisation de ces données de sortie (IT) peut être immédiate (si le bloc 209 est relié à un dispositif électronique répondant/traitant ces données à la volée) ou différée (si le bloc 209 est relié à un dispositif d'écriture en mémoire des données en vue d'une utilisation ultérieure). Dans les deux cas, les données de sortie IT sont « confiées » à un autre dispositif du système électronique pour leur mémorisation ou leur utilisation immédiate.

On notera que dans les exemples décrits ci-dessus, chacun des nombres n et k est de préférence supérieur ou égal à 2. A titre de variante, le nombre n est supérieur ou égal à 2 et le nombre k est égal à 1. Le nombre p est de préférence inférieur au produit n*k, de façon que l'opération de projection réalisée soit aussi une opération de réduction de dimensions, ce qui permet de réduire la complexité d'éventuels traitements ultérieurs, ainsi que les besoins en mémoire et en ressources énergétiques pour la mise en oeuvre de ces traitements ultérieurs.

Les exemples décrits ci-dessus concernent des systèmes d'acquisition d'images comportant des capteurs d'images classiques, dans lesquels les valeurs d'intensités lumineuses mesurées par le capteur et évacuées de façon séquentielle sont des valeurs numériques sur quantifiées sur plusieurs bits. A titre de variante, les modes de réalisation des figures 4 et 6 peuvent être adaptés à un capteur d'image fournissant, à chaque lecture d'une ligne Li, des valeurs de pixels quantifiées sur un seul bit, chaque pixel du capteur étant lu successivement une pluralité de fois pour construire une valeur de pixel quantifiée sur plusieurs bits. Un exemple d'un tel capteur d'images est décrit dans la demande de brevet FR N°16/60627 déposée par le demandeur le 3 novembre 2016. Dans ce cas, chaque image binaire fournie par le capteur peut être projetée à la volée par un dispositif de traitement 403 ou 603 du type décrit ci-dessus, les projections des images binaires successives étant ensuite additionnées pour construire une image projetée finale.

Les modes de réalisation décrits s'appliquent plus généralement à tout système comportant un capteur adapté à évacuer des données mesurées de façon séquentielle, et dans lequel on souhaite pourvoir calculer un descripteur (le vecteur IT dans les exemples ci-dessus) d'un ensemble de valeurs mesurées par le capteur (l'image I dans les exemples ci-dessus) en vue d'effectuer par exemple des opérations de classification.

Un exemple d'application à l'imagerie multi-spectrale va maintenant être décrit, dans lequel le capteur du système d'acquisition est adapté à générer à la volée une pluralité d'histogrammes d'une scène, correspondant respectivement à des bandes de longueurs d'ondes ou bandes spectrales distinctes de la scène.

La figure 7 représente de façon schématique un capteur de données 700 comprenant un capteur photosensible multi-spectral asynchrone 701, et un circuit de construction d'histogramme 703 dont une entrée est reliée à une sortie du capteur 701.

Le capteur 701 comprend une pluralité de pixels, par exemple agencés en matrice selon des lignes et des colonnes. Dans cet exemple, le capteur 701 est divisé en plusieurs sous-ensembles de pixels 705. Les sous-ensembles de pixels 705 sont par exemple identiques ou similaires. A titre d'exemple, les sous-ensembles de pixels 705 sont régulièrement répartis sur toute la surface du capteur. Dans cet exemple, chaque sous-ensemble de pixels 705 comprend k pixels P1, ..., Pk, respectivement adaptés à mesurer des intensités lumineuses reçues dans k bandes spectrales λ1, ..., λk distinctes. Pour cela, chaque pixel Pj, avec j entier allant de 1 à k, comprend par exemple un filtre optique spécifique ne transmettant à un photorécepteur du pixel qu'une bande spectrale spécifique, différente des bandes spectrales transmises par les filtres optiques des autres pixels du sous-ensemble.

Par capteur asynchrone, on entend ici que les données mesurées par le capteur sont évacuées de façon asynchrone, et non selon une séquence de lecture prédéfinie. Plus particulièrement, dans cet exemple, chaque pixel est adapté à intégrer, par exemple dans un élément capacitif du pixel, un signal électrique représentatif d'une intensité lumineuse reçue par le pixel dans sa bande spectrale de sensibilité depuis un instant de début d'une phase d'intégration du capteur, et à émettre un signal d'indication d'allumage sur une piste conductrice de sortie du capteur lorsque que le signal intégré par le pixel dépasse un seuil (on dit que le pixel s'allume lorsque la quantité d'énergie lumineuse reçue par le pixel dans sa bande spectrale de sensibilité depuis le début de l'intégration dépasse un seuil). Le signal de sortie du capteur est ainsi constitué par une suite de signaux d'indication d'allumage, par exemple des signaux impulsionnels. A titre d'exemple, les signaux d'indication d'allumage émis par les pixels sont tous identiques (par exemple en forme d'impulsion de Dirac), mais les signaux d'indication d'allumage émis par des pixels de sensibilités spectrales distinctes sont émis sur des pistes conductrices de sortie distinctes du capteur, ce qui permet de discriminer les différentes bandes spectrales en sortie du capteur. A titre de variante, les signaux d'indication d'allumage sont tous émis sur une même piste conductrice de sortie du capteur, mais les signaux d'indication d'allumage émis par des pixels de sensibilités spectrales différentes ont des caractéristiques différentes, par exemple des formes différentes, de façon à pouvoir discriminer les différentes bandes spectrales en sortie du capteur.

Le circuit 703 est adapté à recevoir les signaux d'indication d'allumage fournis par le capteur 701, et à compter, dans des intervalles de temps prédéfinis définissant des classes d'histogrammes, le nombre de signaux d'indication d'allumage émis par le capteur pour chacune des bandes spectrales de sensibilité du capteur. Le circuit 703 construit ainsi k histogrammes h1, ..., hk de la scène, correspondant respectivement aux k bandes spectrales λ1, ..., λk de sensibilité du capteur.

La figure 8 est un chronogramme illustrant de façon schématique les données fournies par le capteur 701 et par le circuit de construction d'histogramme 703 de la figure 7. La figure 8 représente plus particulièrement l'évolution, en fonction du temps, pour chaque bande spectrale de sensibilité λj du capteur 701, des signaux d'indication d'allumage 801j (représentés par des flèches verticales sur la figure) émis par les pixels Pj du capteur 701, et du signal d'histogramme hj (en traits interrompus) fourni par le circuit 703.

On notera que bien que le capteur 701 soit asynchrone, le circuit de construction d'histogramme 703 présente un fonctionnement synchrone. Plus particulièrement, les signaux de sortie du circuit 703 sont des signaux synchrones.

On considère ici que les k histogrammes h1, ... hk construits par le circuit 703 présentent tous un même nombre n de classes, et que les classes de même rang i (avec i entier allant de 1 à n) des différents histogrammes) sont de même largeur. La largeur des classes des histogrammes peut être constante ou variable en fonction du temps (c'est-à-dire en fonction de leur rang i) .

Ainsi, le circuit 703 fournit successivement n vecteurs di de dimensions k, chaque vecteur di étant constitué par la suite des valeurs h1 (i), ..., hk(i) des classes de rang i des k histogrammes h1, ..., hk.

Le capteur 700 forme ainsi un capteur d'histogrammes adapté à générer à la volée une pluralité d'histogrammes d'une scène correspondant respectivement à des bandes spectrales distinctes de la scène, ce capteur évacuant de façon séquentielle les données d'histogrammes mesurées.

Un dispositif de traitement du type décrit ci-dessus en relation avec les figures 3, 4, 5 et 6 peut être couplé au capteur 700, de façon à projeter l'ensemble des données d'histogrammes acquises par le capteur, dans un domaine de représentation spécifique adapté, par exemple, à la mise en oeuvre d'opérations de classification. Pour cela, on peut par exemple remplacer le capteur 201 des figures 4 et 6 par le capteur d'histogramme 700 de la figure 7, et, dans les représentations des figures 3 à 6, les vecteurs C1, ..., Ck de dimension n par respectivement les vecteurs h1, ..., hk de dimension n, et les vecteurs L1, ..., Ln de dimension k par respectivement les vecteurs d1, ..., dn de dimension k.

A titre de variante, le système d'acquisition ainsi obtenu peut être adapté au cas où k = 1, c'est-à-dire au cas d'un capteur photosensible asynchrone présentant une unique bande spectrale de sensibilité.

Par ailleurs, l'application décrite ci-dessus en relation avec les figures 7 et 8 peut être adapté au cas où, pour chaque bande de sensibilité spectrale λj du capteur 701, le circuit de construction d'histogramme construit non pas un seul histogramme hj, mais une pluralité d'histogrammes d'échelles différentes, c'est-à-dire présentant des largeurs de classes différentes.

Cette configuration est représentée de façon schématique sur les figures 9 et 10.

La figure 9 représente de façon schématique un capteur de données 900 qui diffère du capteur 700 de la figure 7 en ce que, dans l'exemple de la figure 9, le circuit de construction d'histogrammes 703 est remplacé par un circuit de construction d'histogrammes 903 fournissant, pour chaque bande spectrale λj, m histogrammes hj1, ..., hjm (où m est un entier supérieur ou égal à 2) d'échelles distinctes.

La figure 10 est un chronogramme illustrant de façon schématique les données fournies par le capteur 701 et par le circuit de construction d'histogramme 903 de la figure 9. La figure 10 représente en particulier, pour chaque bande spectrale de sensibilité λj du capteur 701, les signaux d'indication d'allumage 801j (représentés par des flèches verticales sur la figure) émis par les pixels Pj du capteur. La figure 10 représente en outre, pour chaque bande spectrale λj, deux histogrammes hj1 et hj2 (m = 2 dans cet exemple), respectivement en traits interrompus et en pointillés, générés par le circuit 903. Comme cela apparaît sur la figure, les histogrammes hi1 et hi2 présentent des largeurs de classes (ou échelles) différentes. Autrement dit, pour chaque bande spectrale λj, l'intervalle t1 de temps pendant lequel le circuit 903 compte les signaux d'indication d'allumage émis par les pixels Pj pour fournir une valeur de l'histogramme hj1 est différent de l'intervalle de temps t2 pendant lequel le circuit 903 compte les signaux d'indication d'allumage émis par les pixels Pj pour fournir une valeur de l'histogramme hj2.

On considère ici que pour chaque indice u entier allant de 1 à m, les k histogrammes h1u, ... hku construits par le circuit 903 présentent tous un même nombre entier nu de classes, et que les classes de même rang iu (avec iu entier allant de 1 à nu) des différents histogrammes de rang u sont de même largeur. La largeur des classes des histogrammes h1u, ..., hku peut être constante ou variable en fonction du temps (c'est-à-dire dire en fonction de leur rang iu).

Le circuit 903 fournit ainsi successivement, pour chaque indice u allant de 1 à m, nu vecteurs diu de dimensions k, chaque vecteur diu étant constitué par la suite des valeurs h1u(iu), ..., hku(iu) des classes de rang iu des k histogrammes h1u, ..., hku.

Le capteur 900 forme ainsi un capteur d'histogrammes adapté à générer à la volée une pluralité d'histogrammes multi-échelles d'une scène correspondant respectivement à des bandes spectrales distinctes de la scène, ce capteur évacuant de façon séquentielle les données d'histogrammes mesurées.

m dispositifs de traitement du type décrit ci-dessus en relation avec les figures 3, 4, 5 et 6 peuvent être couplés au capteur 900 de façon à projeter à la volée, pour chaque échelle d'histogramme d'indice u, l'ensemble des données d'histogrammes acquises par le capteur dans un domaine de représentation adapté, par exemple, à la réalisation d'opérations de classification. A titre d'exemple, on peut coupler, à la sortie du capteur d'histogrammes 900 de la figure 9, m circuits de traitement 403u ou 603u similaires aux circuits de traitement 403 ou 603 décrits ci-dessus, en remplaçant, pour chaque dispositif de traitement d'indice u, les vecteurs C1, ... Ck de dimension n (en considérant les notations utilisées en relation avec les figures 4 à 6), respectivement par les vecteurs h1u, ..., hku de dimension nu (en considérant les notations utilisées en relation avec les figures 9 et 10), et les vecteurs L1, ... Ln de dimension k (en considérant les notations utilisées en relation avec les figures 4 à 6), respectivement par les vecteurs d1u, ... dnu de dimension k (en considérant les notations utilisées en relation avec les figures 9 et 10).

A titre de variante, le système d'acquisition ainsi obtenu peut être adapté au cas où k = 1, c'est-à-dire au cas d'un capteur d'histogramme multi-échelles présentant une unique bande spectrale de sensibilité.

Des modes de réalisation particuliers ont été décrits. Diverses variantes et modifications apparaîtront à l'homme de l'art. En particulier, les modes de réalisation décrits ne se limitent pas aux exemples d'application décrits ci-dessus, mais peuvent s'appliquer plus généralement à tout système d'acquisition comportant un capteur adapté à évacuer de façon séquentielle des données mesurées, dans lequel on souhaite pouvoir calculer à la volée une projection d'un ensemble de mesures fournies par le capteur dans un domaine de représentation distinct du domaine d'acquisition, par exemple en vue de réaliser des opérations de classification.

Un exemple d'application en classification hyperspectrale peut consister à découper un capteur d'images hyperspectrales de x*y pixels et z bandes spectrales, x, y et z étant des entiers supérieurs à 1, en u sous-ensembles de v*w pixels et z bandes spectrales (avec u, v et w entiers supérieurs à 1 tels que x=u*v et y=u*w). Chaque sous-ensemble peut être associé à un circuit de lecture et à un dispositif de traitement du type décrit ci-dessus. A l'issue d'une phase d'acquisition, chaque sous-ensemble de pixels se voit attribuer une catégorie choisie parmi un ensemble de plusieurs catégories, en fonction de la valeur d'un descripteur calculé à partir des données d'histogrammes hyperspectrales du sous-ensemble. Un tel système peut par exemple être utilisé pour traiter de façon automatique des images satellite ou aériennes de façon à discriminer les différentes catégories d'éléments (route, foret, eau, construction, etc.) susceptibles de constituer une scène, par exemple pour des applications de cartographie.

QQ群二维码
意见反馈