FR3140977A1 - Récepteur pour décompression de données avec rehaussement par auto-encodeur - Google Patents
Récepteur pour décompression de données avec rehaussement par auto-encodeur Download PDFInfo
- Publication number
- FR3140977A1 FR3140977A1 FR2210640A FR2210640A FR3140977A1 FR 3140977 A1 FR3140977 A1 FR 3140977A1 FR 2210640 A FR2210640 A FR 2210640A FR 2210640 A FR2210640 A FR 2210640A FR 3140977 A1 FR3140977 A1 FR 3140977A1
- Authority
- FR
- France
- Prior art keywords
- data
- encoder
- compressed
- image
- auto
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000006837 decompression Effects 0.000 title claims description 23
- 238000004891 communication Methods 0.000 claims abstract description 33
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 28
- 230000015654 memory Effects 0.000 claims abstract description 17
- 238000007906 compression Methods 0.000 claims description 42
- 230000006835 compression Effects 0.000 claims description 42
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 210000002569 neuron Anatomy 0.000 claims description 17
- 238000000034 method Methods 0.000 claims description 13
- 238000005375 photometry Methods 0.000 claims description 8
- 238000003672 processing method Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000013528 artificial neural network Methods 0.000 claims description 2
- 230000007547 defect Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 6
- 239000000758 substrate Substances 0.000 description 5
- 238000013144 data compression Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 3
- 241001080024 Telles Species 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 235000021183 entrée Nutrition 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013442 quality metrics Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/098—Distributed learning, e.g. federated learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60Q—ARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
- B60Q1/00—Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor
- B60Q1/02—Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to illuminate the way ahead or to illuminate other areas of way or environments
- B60Q1/04—Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to illuminate the way ahead or to illuminate other areas of way or environments the devices being headlights
- B60Q1/14—Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to illuminate the way ahead or to illuminate other areas of way or environments the devices being headlights having dimming means
- B60Q1/1415—Dimming circuits
- B60Q1/1423—Automatic dimming circuits, i.e. switching between high beam and low beam due to change of ambient light or light level in road traffic
- B60Q1/143—Automatic dimming circuits, i.e. switching between high beam and low beam due to change of ambient light or light level in road traffic combined with another condition, e.g. using vehicle recognition from camera images or activation of wipers
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05B—ELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
- H05B45/00—Circuit arrangements for operating light-emitting diodes [LED]
- H05B45/40—Details of LED load circuits
- H05B45/44—Details of LED load circuits with an active control inside an LED matrix
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05B—ELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
- H05B47/00—Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
- H05B47/10—Controlling the light source
- H05B47/155—Coordinated control of two or more light sources
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05B—ELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
- H05B47/00—Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
- H05B47/10—Controlling the light source
- H05B47/175—Controlling the light source by remote control
- H05B47/18—Controlling the light source by remote control via data-bus transmission
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Neurology (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
Abstract
L’invention concerne un récepteur (120) comprenant : une mémoire (502) stockant un premier réseau de neurones convolutionnel auto-encodeur apte à obtenir des données rehaussées à partir de données compressées ;une première interface (503) apte à recevoir des données compressées sur un canal de communication (130) ;un processeur (501) configuré pour décompresser les données en des données décompressées, et pour appliquer le premier réseau de neurones convolutionnel auto-encodeur aux données compressées pour obtenir des données rehaussées ;une deuxième interface (504) apte à transmettre les données rehaussées. FIG. 5
Description
La présente invention se rapporte au domaine de la réception et du traitement de données, notamment de données d’images. L’invention s’applique en particulier, mais non exclusivement, à des données échangées dans ou par un véhicule automobile.
Il est connu de compresser des données, notamment des données d’image, afin de limiter la quantité de données transmises sur un canal de communication.
En effet, certains canaux de communication sont limités en bande passante. C’est le cas notamment du bus CAN, bien que ce type de canal de communication soit très utilisé car sécurisé et peu cher. Ce canal de communication est notamment utilisé dans les véhicules automobiles, par exemple pour transmettre des images photométriques entre un module de contrôle central du véhicule et un dispositif d’éclairage du véhicule.
Les données images transmises, y compris dans des véhicules automobiles, ont désormais des résolutions élevées. A niveau de contrainte égale en débit sur le canal de communication, il en résulte des taux de compression élevés, qui peuvent induire des défauts, tels que du bruit, des artefacts ou un PSNR faible dans les images décompressées côté récepteur. PSNR se rapport au rapport signal à bruit de crête, et signifie « Peak Signal to Noise Ratio » en anglais.
C’est le cas notamment avec des algorithmes de compression avec perte, tels que des algorithmes de linéarisation, par gradient, JPG, PCA ou autres. Lorsque ces images sont des photométries permettant de contrôler un dispositif d’éclairage pour véhicule automobile, les défauts ou artefacts se répercutent dans le faisceau projeté, d’autant plus que la résolution des modules d’éclairage à faisceau pixelisé devient elle aussi élevée. De tels défauts peuvent induire des problèmes de sécurité et/ou rendre le faisceau lumineux non conforme à une régulation.
Il existe ainsi un besoin de recevoir et traiter des données d’images de résolution élevée, via un canal de communication contraint en débit, sans induire de grands défauts ou artefacts dans les images finalement traitées côté récepteur.
A cet effet un premier aspect de l’invention concerne un procédé de traitement de données comprenant les opérations suivantes :
- lors d’une phase préalable, apprentissage supervisé d’un premier réseau de neurones convolutionnel auto-encodeur sur la base d’un premier jeu de données d’entraînement, le premier jeu de données d’entraînement comprenant des paires d’images comprenant une image de qualité donnée et une image compressée obtenue par compression de l’image de qualité donnée, dans lequel l’apprentissage supervisé est apte à minimiser un écart entre une image rehaussée obtenue par traitement par le premier réseau de neurones convolutionnel auto-encodeur d’une image compressée, et l’image de qualité donnée associée par paire à l’image compressée;
- stockage dudit premier réseau de neurones convolutionnel auto-encodeur dans un récepteur.
- Le procédé comprend en outre, lors d’une phase courante mise en œuvre par le récepteur :
- réception de données compressées depuis un canal de communication ;
- décompression desdites données compressées en des données décompressées ;
- application du premier réseau de neurones convolutionnel auto-encodeur aux données compressées pour obtenir des données rehaussées ;
- transmission desdites données rehaussées.
Un tel rehaussement par intelligence artificielle permet de supprimer au moins certains des défauts dans les données décompressées. Il est ainsi possible de prévoir une compression avec un taux de compression élevé, et donc de transmettre des données de résolution élevée sur des canaux de communication contraints en débit.
Selon des modes de réalisation, la décompression desdites données compressées peut être basée sur un algorithme de décompression par linéarisation, par gradient, JPG ou PCA.
Ainsi, il est possible de rehausser des images compressées par des algorithmes de compression. A cet effet, le premier jeu de données d’entraînement peut avantageusement comprendre des paires d’images, avec des images compressées selon différents algorithmes de compression. En pratique, il peut être atteint des niveaux de rehaussement élevé d’images compressées par de tels algorithmes.
Selon des modes de réalisation, la décompression des données compressées peut être mise en œuvre par un traitement par des couches de neurones comprenant une couche de sortie et au moins une couche convolutionnelle cachée d’un deuxième réseau de neurones convolutionnel de type auto-encodeur, ladite couche de sortie comprenant un premier nombre de dimensions et ladite au moins une couche convolutionnelle cachée comprenant un deuxième nombre de dimensions, le deuxième nombre de dimensions étant inférieur au premier nombre de dimensions.
Ainsi, la compression peut elle-même être issue d’un auto-encodeur, appelé deuxième auto-encodeur. Il est ainsi rendu possible de maîtriser le niveau de compression par fixation du nombre de dimensions du vecteur latent. Même pour des niveaux de compression élevés, le rehaussement permet d’obtenir des données rehaussées de bonne qualité, présentant peu ou pas de défauts.
En complément, le procédé peut comprendre en outre, lors de la phase préalable, un apprentissage non-supervisé du deuxième réseau de neurones convolutionnel auto-encodeur sur un deuxième jeu de données d’entraînement.
Ainsi, l’étape d’apprentissage est simplifiée pour le deuxième auto-encodeur. L’apprentissage non-supervisé peut par exemple consister à optimiser le deuxième auto-encodeur de manière à minimiser un écart entre des données d’entrée, et des données de sortie de l’auto-encodeur, obtenues après compression et décompression des données d’entrée.
Selon des modes de réalisation, les données compressées et les données rehaussées peuvent être représentatives d’une photométrie de dispositif d’éclairage pour véhicule automobile.
Il est important pour des raisons réglementaires et de sécurité de minimiser les défauts dans de telles données photométriques. L’utilisation du rehaussement selon l’invention est alors particulièrement avantageuse.
En complément, les données rehaussées peuvent être transmises à un module de commande d’un dispositif d’éclairage pour véhicule automobile.
Ainsi, le récepteur peut avantageusement être implémenté dans un dispositif d’éclairage pour la commande d’au moins l’un des modules d’éclairage du dispositif d’éclairage.
En complément ou en variante, les données compressées peuvent être reçues depuis un module de contrôle centralisé de véhicule automobile et le canal de communication peut être un bus CAN.
Un tel canal de communication présente l’avantage d’être sécurisé et peu coûteux. Il est toutefois contraint en débit et peut nécessiter des taux de compression élevés, ce qui rend l’utilisation du rehaussement selon l’invention particulièrement avantageux.
Un deuxième aspect de l’invention concerne un récepteur comprenant :
- une mémoire stockant un premier réseau de neurones convolutionnel auto-encodeur apte à obtenir des données rehaussées à partir de données compressées ;
- une première interface apte à recevoir des données compressées sur un canal de communication ;
- - au moins un processeur configuré pour décompresser les données en des données décompressées, et pour appliquer le premier réseau de neurones convolutionnel auto-encodeur aux données compressées pour obtenir des données rehaussées ;
- une deuxième interface apte à transmettre les données rehaussées.
Un troisième aspect de l’invention concerne un système comprenant un récepteur selon le deuxième aspect de l’invention, un encodeur apte à recevoir des données d’entrée, à compresser les données d’entrées en des données compressées et à transmettre les données compressées au récepteur via un canal de communication.
Selon des modes de réalisation, l’encodeur peut être intégré dans un module de contrôle central d’un véhicule automobile, le récepteur peut être intégré dans un dispositif d’éclairage du véhicule automobile, le canal de communication peut être un bus CAN et les données d’entrée peuvent être représentatives d’une photométrie d’éclairage.
D’autres caractéristiques et avantages de l’invention apparaîtront à l’examen de la description détaillée ci-après, et des dessins annexés sur lesquels :
La description se concentre sur les caractéristiques qui démarquent les procédés, le système, l’encodeur et le décodeur de ceux connus dans l’état de l’art.
La illustre un système 100 de transmission de données, notamment de données d’images.
Le système 100 comprend un encodeur 110 et un récepteur 120, reliés par un canal de communication 130.
L’encodeur 110 peut être intégré dans un équipement d’un véhicule automobile, tel qu’un module de contrôle en charge de l’éclairage du véhicule automobile. Un tel module de contrôle peut être de type PCM, pour « Powertrain Control Module » en anglais, ou ECU, pour « Electronic Control Unit » en anglais, par exemple.
Le récepteur ou décodeur 120 peut quant à lui être intégré dans un équipement d’un véhicule automobile, tel qu’un dispositif d’éclairage comprenant des modules d’éclairage aptes à réaliser des fonctions d’éclairage en fonction de données communiquées par le module de contrôle comprenant l’encodeur 110. De manière préférentielle, au moins un module d’éclairage du dispositif d’éclairage est un module pixelisé, par exemple avec une matrice d’éléments électroluminescents tels que des LEDs, avec une matrice de micro-miroirs, de type DMD pour « Digital Micromirror Devices » en anglais, une source monolithique d’éléments électroluminescents sur un même substrat, ou toute autre technologie permettant la réalisation d’un faisceau d’éclairage pixelisé. Une source monolithique implique une pluralité d’éléments semi-conducteurs électroluminescents à dimensions submillimétriques, épitaxiés directement sur un substrat commun, le substrat étant généralement formé de silicium. A l’opposé de matrices de LEDs conventionnelles, dans lesquelles chaque source lumineuse élémentaire est un composant électronique produit de manière individuelle et monté sur un substrat tel qu’un circuit imprimé, PCB, une source monolithique est à considérer comme un composant électronique unique, lors de la production duquel plusieurs plages de jonctions semi-conductrices électroluminescentes sont générées sur un substrat commun, sous forme d’une matrice.
Le canal de communication 130 peut ainsi être une liaison filaire tel qu’un bus CAN ou une liaison Ethernet. Dans ce qui suit, l’exemple d’un bus CAN est considéré à titre illustratif. Il présente l’avantage d’être une liaison sécurisée et peu chère. Toutefois, un bus CAN est contraint en débit et impose de transmettre des données sous forme d’entiers codés sur 8 bits.
En variante, l’encodeur 110 est intégré dans un module de contrôle du véhicule automobile et le récepteur 120 est intégré dans un serveur distant du véhicule automobile. Dans ce cas, le canal de communication 130 comprend un canal de communication sans fil permettant à l’encodeur d’accéder à un réseau IP dans lequel se trouve le serveur distant comprenant le décodeur 120. Un tel canal de communication sans fil peut être une liaison cellulaire de type 3G, 4G, 5G ou toute génération suivante.
Aucune restriction n’est attachée au canal de communication 130, qui peut ainsi être une liaison filaire ou sans fil. Comme il sera mieux compris à la lecture de ce qui suit, la plupart des canaux de communication sont contraints en débit des données qu’ils transmettent.
L’encodeur 110 comprend un module de compression de données 111 apte à recevoir des données d’entrée, telles que des données codant une image, par exemple une image photométrique, et à obtenir des données compressées à partir des données d’entrée, et à partir d’un algorithme de compression de données, tel qu’une algorithme à linéarisation, à gradient, JPG, PCA ou autre. En variante, les données compressées correspondent à un vecteur latent d’un réseau de neurones convolutionnel auto-encodeur, comme il sera détaillé ultérieurement en référence à la .
Le décodeur 120, ou récepteur 120, comprend un module de décompression 121 correspondant au module de décompression 111, et apte à décompresser les données compressées reçues via le canal de communication 130, afin d’obtenir des données décompressées.
Comme indiqué précédemment, lorsque le taux de compression est élevé, par exemple supérieur à 80 %, des défauts peuvent apparaître dans les images correspondant aux données décompressées. L’invention prévoit alors d’ajouter un module 122, logiciel ou physique, de rehaussement des données compressées afin d’obtenir des données rehaussées, présentant moins de défauts que les données décompressées en sortie du module de décompression 121.
A cet effet, le module de rehaussement 122 peut comprendre un premier réseau de neurones convolutionnel auto-encodeur 200 décrit en référence à la .
Un réseau de neurones convolutionnel auto-encodeur, aussi appelé auto-encodeur dans ce qui suit, comprend plusieurs couches de neurones, dont une couche d’entrée 200.1, une couche de sortie 201.1, au moins une couche convolutionnelle cachée de convolution, côté couche d’entrée 200.1, et au moins une couche convolutionnelle cachée de déconvolution, côté couche de sortie 201.1.
Dans l’exemple de la , donné à titre illustratif, le premier auto-encodeur 200 comprend une première couche cachée de convolution 200.2 et une deuxième couche cachée de convolution 200.3. Le premier auto-encodeur 200 comprend, de manière symétrique, une première couche cachée de déconvolution 201.2 et une deuxième couche cachée de déconvolution 201.3.
La première couche cachée de convolution 200.2 comprend le même nombre de dimensions que la première couche cachée de déconvolution 201.2. De même, la deuxième couche cachée de convolution 200.3 comprend le même nombre de dimensions que la deuxième couche de déconvolution 201.3.
Un auto-encodeur comprend ainsi un ensemble symétrique de couches de neurones.
Les couches cachées ayant le nombre de dimensions le plus petit, ou couches centrales, en l’occurrence les couches 200.3 et 201.3, sont aptes à échanger des données appelées « code » ou « vecteur latent » 210. Le vecteur latent est une version compressée des données reçues par la couche d’entrée 200.1.
L’auto-encodeur 200 selon l’invention est apte à rehausser des données compressées reçues en entrée, en des données rehaussées présentant moins de défauts et plus proches des images d’entrées reçues et compressées par l’encodeur 110.
A cet effet, le premier auto-encodeur 200 est issu d’un apprentissage supervisé sur la base d’un premier jeu de données d’entraînement. Le premier jeu de données d’entraînement comprend des paires d’images, chaque paire d’image comprenant :
- une image de qualité donnée, notamment de qualité optimale, c’est à dire non compressée. Aucune restriction n’est attachée à la résolution d’une telle image. L’image de qualité donnée ou optimale ne présente pas de défaut ;
- une image compressée obtenue par compression de l’image de qualité donnée, par un algorithme de compression donné, par exemple parmi les algorithmes de compression précités. Une telle image compressée peut présenter des défauts tels que présentés avant.
De manière préférentielle, le jeu de données d’entraînement comprend des paires d’images qui varient :
- par l’algorithme de compression appliqué pour obtenir l’image compressée ;
- par le taux de compression appliqué pour obtenir l’image compressée ; et/ou
- par le type de défaut que comprend l’image compressée, parmi des artefacts, un PSNR inférieur à un seuil donné, par exemple inférieur à 25, un manque d’une partie de l’image, ou par d’autres indicateurs de qualité de compression, tels qu’une erreur maximale ou une erreur moyenne quadratique, ou MSE pour « Mean Square Error » par exemple.
Le premier jeu de données d’entraînement comprend plus d’une centaine de paires d’images, de préférence plusieurs milliers ou dizaines de milliers de paires d’images. L’apprentissage supervisé consiste alors à soumettre, pour chaque paire d’images, l’image compressée en entrée du premier auto-encodeur 200. L’image obtenue en sortie de la couche de sortie 201.1 est comparée à l’image de qualité optimale associée à l’image compressée, afin d’en estimer l’écart, par exemple une erreur quadratique entre l’image en sortie du premier auto-encodeur et l’image de qualité optimale. Le premier auto-encodeur 200 est ensuite modifié en fonction de l’écart déterminé, par exemple en changeant les valeurs caractéristiques d’une ou de plusieurs couches de neurones, afin de réduire l’écart calculé.
Dans l’exemple considéré ici, dans lequel l’encodeur est intégré dans un PCM ou ECU d’un véhicule automobile, et le décodeur est intégré dans un dispositif d’éclairage, les données du premier jeu de données d’entraînement sont des paires d’images représentatives du faisceau lumineux à réaliser par des dispositifs d’éclairage de véhicule automobile. De telles images sont également appelée photométries.
Toutefois, aucune restriction n’est attachée aux données du premier jeu de données d’entraînement qui peuvent être tout type d’image. Par exemple, dans l’exemple dans lequel le décodeur 120 est implémenté dans un serveur distant, les données du jeu de données d’entraînement peuvent être des images acquises par des caméras de véhicule automobile.
Après apprentissage sur l’ensemble du premier jeu de données d’entraînement, l’erreur quadratique est minimisée et le premier auto-encodeur 200 est apte à reconstituer des images de qualité optimale à partir d’images comprenant un ou plusieurs défauts, suite à leur compression. L’auto-encodeur 200 peut ainsi être implémenté dans le récepteur 120 décrit précédemment.
De manière avantageuse, le premier auto-encodeur 200 peut prévoir une réutilisation, par des couches de neurones de déconvolution, de caractéristiques des couches de neurones de convolution. Une telle réutilisation peut être permise par au moins une connexion saute-couche, ou « skip connection » en anglais, reliant deux couches de neurones convolutionnelles non-consécutives du premier auto-encodeur 200.
Par exemple, le premier auto-encodeur 200 comprend au moins une connexion saute-couche 220.1 entre une paire de couches ayant le même nombre de dimensions, ou de caractéristiques, chaque paire comprenant une couche de convolution et une couche de déconvolution. Dans l’exemple de la , les connexions saute-couche 220.1 peuvent ainsi comprendre une connexion entre la couche d’entrée 200.1 et la couche de sortie 201.1, une connexion entre la première couche cachée de convolution 200.2 et la première couche cachée de déconvolution 201.2, et une connexion entre la deuxième couche cachée de convolution 200.3 et la deuxième couche cachée de déconvolution 201.3.
En complément ou en variante, le premier auto-encodeur 200 comprend au moins une connexion saute-couche 220.2 entre une paire de couches ayant des nombres différents de dimensions, ou de caractéristiques, chaque paire comprenant une couche de convolution et une couche de déconvolution. Dans l’exemple de la , les connexions saute-couche 220.2 peuvent ainsi comprendre une connexion entre la première couche cachée de convolution 200.2 et la deuxième couche cachée de déconvolution 201.3 et une connexion entre la deuxième couche cachée de convolution 200.3 et la première couche cachée de déconvolution 201.2.
De telles connexions saute-couche permettent avantageusement d’effectuer des traitements de données complexes avec des réseaux de neurones profonds.
La présente un procédé de traitement de données selon des modes de réalisation de l’invention.
Le procédé comprend une phase préalable 300, comprenant une étape 301 d’obtention du premier jeu de données d’entraînement, comprenant des paires d’images telles que décrites précédemment. Aucune restriction n’est attachée à la manière dont le jeu de données d’entraînement est obtenu. Les images de qualité optimales peuvent être issues de situations réelles ou de simulations par exemple.
A une étape 302 de la phase préalable 300, le premier réseau de neurones convolutionnel auto-encodeur 200 est entraîné par apprentissage supervisé sur la base des paires d’images du premier jeu de données d’entraînement obtenu à l’étape 301 précédente. Le premier auto-encodeur 200 ainsi obtenu est apte à rehausser la qualité de données compressées.
A une étape 303 de la phase préalable 300, le premier réseau de neurones convolutionnel auto-encodeur 200 est stocké dans un récepteur, tel que le récepteur 120 décrit précédemment. Comme précédemment expliqué, le récepteur 120 peut être intégré dans un dispositif d’éclairage pour véhicule automobile ou dans un serveur distant d’un véhicule automobile.
Le procédé de traitement comprend en outre une phase courante 310 comprenant une étape de réception 311 par le récepteur 120 de données compressées, via le canal de communication 130 décrit précédemment. Les données reçues ont notamment été compressées au préalable par l’encodeur 110 décrit précédemment, aucune restriction n’étant attachée à la technique de compression des données.
A une étape 312, le module de décompression 121 décompresse les données compressées reçues lors de l’étape 311 précédente, tel que décrit précédemment.
A une étape 313, les données décompressées sont traitées par le premier auto-encodeur 200 afin d’être rehaussées. Des données rehaussées sont ainsi obtenues à l’issue de l’étape 313. Au vu de l’apprentissage machine dont est issu le premier auto-encodeur 120, les données rehaussées permettent l’obtention d’une image de qualité optimale, proche de l’image initialement compressée par l’encodeur 110.
Les données rehaussées peuvent être transmises par le récepteur 120 à une étape 314. Par exemple, le récepteur 120 peut transmettre les données rehaussées à une mémoire pour stockage. De manière avantageuse dans le mode de réalisation dans lequel l’encodeur 110 est intégré dans un PCM et le récepteur 120 est intégré dans un dispositif de signalisation, les données rehaussées peuvent être transmises à un module de commande de sources lumineuses pour réalisation de la photométrie correspondant aux données de sortie.
La présente un module de compression 111 et un module de décompression 121 de données selon un mode de réalisation de l’invention.
Comme précédemment évoqué, le module de compression 111 et le module de décompression 121 peuvent être apte à mettre en œuvre un algorithme de compression/décompression tel que des algorithmes de linéarisation, par gradient, JPG, PCA ou autres.
Selon une variante illustrée sur la , la compression/décompression est mise en œuvre au moyen d’un deuxième réseau de neurones convolutionnel auto-encodeur, ou deuxième auto-encodeur ci-après, les modules de compression et décompression 111 et 121 comprenant chacun une partie du deuxième auto-encodeur. Le module de compression 111 comprend ainsi une première partie 400 du deuxième auto-encodeur tandis que le module de décompression 121 comprend une deuxième partie 410 du deuxième auto-encodeur.
Le deuxième auto-encodeur est apte à compresser des données d’entrée, notamment des images de qualité optimale, telles que des images de photométrie pour dispositif d’éclairage. Le deuxième auto-encodeur peut être construit par apprentissage non-supervisé sur un deuxième jeu de données d’entraînement, différent du premier jeu de données d’entraînement.
Le deuxième auto-encodeur comprend une couche d’entrée 401 implémentée dans l’encodeur 110 et une couche de sortie 411 implémentée dans le récepteur 120, la couche d’entrée et la couche de sortie ayant le même nombre de nœuds ou neurones, donc le même nombre de dimensions.
Le système auto-encodeur comprend en outre une ou plusieurs couches convolutionnelles cachées, chaque couche convolutionnelle cachée ayant un nombre de dimensions inférieur au nombre de dimensions de la couche d’entrée 401 et de la couche de sortie 411.
Les couches convolutionnelles cachées ayant le nombre de dimensions le plus petit, ou couches centrales, sont aptes à échanger un « code » ou « vecteur latent » et ce vecteur latent est ainsi une version compressée des données d’entrée.
Les couches centrales peuvent ainsi être mutualisées entre l’encodeur 112 et le décodeur 123 de manière à échanger des données compressées, permettant ainsi de réduire les besoins en débit et la quantité de données échangées entre l’encodeur et le décodeur, tout en minimisant les pertes. La première partie 400 comprend ainsi une couche centrale d’encodage 402 et la deuxième partie 410 comprend une couche centrale de décodage 412. La couche centrale d’encodage 402 et la couche centrale de décodage 412 sont aptes à échanger un code ou vecteur latent comprenant un nombre de dimensions inférieur aux données d’entrée.
Le deuxième auto-encodeur est entraîné par apprentissage non-supervisé de manière à minimiser l’erreur quadratique entre les données d’entrée et les données de sortie issues de la couche de sortie, étant donné un nombre de dimensions des couches centrales, donc à niveau de compression donné.
A cet effet, le deuxième jeu de données d’entraînement peut être soumis au deuxième auto-encodeur. Le jeu de données d’entraînement peut comprendre un ensemble d’images, tels que des photométries d’éclairage pour véhicule dans l’exemple considéré ici. Pour chaque image du deuxième jeu de données d’entraînement, l’auto-encodeur évalue l’erreur quadratique entre l’image soumise à la couche d’entrée 401 et l’image fournie par la couche de sortie 411, et fait varier les caractéristiques de ses neurones ainsi que le nombre de neurones, voire le nombre de couches cachées, en fonction de cette erreur quadratique, tout en conservant une contrainte pour obtenir un vecteur latent ayant un nombre de dimensions donné. Le but est ainsi de minimiser l’erreur quadratique par apprentissage.
Le vecteur latent est une version compressée des données d’entrée, avec un taux de compression CR selon la formule suivante :
- CR= (Nbits*Im_Size – NbitsLV*LVdim) / Nbits*Im_Size ;
De manière plus générale, Nbits*Im_Size représente la taille en nombre de bits des données d’entrée.
Pour une taille d’image donnée, le taux de compression CR peut ainsi varier en faisant varier le nombre de dimensions LVdim du vecteur latent.
Les taux de compression suivants peuvent notamment être obtenus :
- CR = 92 % pour LVdim = 516 ;
- CR = 84 % pour LVdim = 1024 ;
- CR = 52 % pour LVdim = 3072.
Ainsi, plus le nombre de dimensions du vecteur latent est faible, plus le taux de compression CR est élevé. La sélection d’un taux de compression peut dépendre d’indicateurs de qualité comparant les données de sortie avec les données d’entrée. De tels indicateurs peuvent comprendre un rapport signal à bruit de crête, ou PSNR pour « Peak Signal to Noise Ratio » en anglais, ou une erreur moyenne quadratique, ou MSE pour « Mean Square Error » par exemple.
Par exemple, un nombre de dimensions du vecteur latent assurant un PSNR supérieur à un seuil donné, tel que 30 par exemple, pourra être fixé.
La première partie 400 et la deuxième partie 410 du réseau de neurones convolutionnel auto-encodeur sont ainsi obtenues, et peuvent être implémentées respectivement dans l’encodeur 110 et le décodeur 120, lors de la phase préalable 300 décrite précédemment.
Toutefois, lorsque le canal de communication 130 est limité en débit, comme c’est notamment le cas avec un bus CAN, généralement utilisé entre un PCM et un dispositif d’éclairage, des taux de compression élevé, voire un reformatage des données, est nécessaire afin de permettre le transport du vecteur latent sur le canal de communication 130. Il en résulte que les données décompressées issues de la couche de sortie 411 peuvent présenter des défauts, ce qui rend avantageux l’utilisation du module de rehaussement 122 décrit précédemment.
La valeur de PSNR des données rehaussées peut notamment être supérieure de plusieurs points, notamment de 5 points, par rapport aux données décompressées issues de la couche de sortie 411 du deuxième auto-encodeur. Les autres indicateurs tels que l’erreur maximale et l’erreur moyenne quadratique sont également améliorés.
Dans le cas où la compression/décompression n’est pas réalisée par le deuxième auto-encodeur, mais par l’un des algorithmes de compression/décompression précédemment discutés, le gain en PSNR permis par le module de rehaussement 122 peut même atteindre 10 points. Les autres indicateurs tels que l’erreur maximale et l’erreur moyenne quadratique sont également améliorés.
La illustre la structure d’un décodeur ou récepteur 120 selon des modes de réalisation de l’invention.
Le décodeur 120 comprend un processeur 501 configuré pour communiquer de manière unidirectionnelle ou bidirectionnelle, via un ou des bus ou via une connexion filaire, avec une mémoire 502 telle qu’une mémoire de type « Random Access Memory », RAM, ou une mémoire de type « Read Only Memory », ROM, ou tout autre type de mémoire (Flash, EEPROM, etc). En variante, la mémoire 502 comprend plusieurs mémoires des types précités. De manière préférentielle, la mémoire 502 est une mémoire non volatile.
La mémoire 502 stocke, de manière permanente ou temporaire, l’ensemble des données générées suite à la mise en œuvre des étapes 311 à 314 du procédé de traitement de données décrit ci-dessus. La mémoire 502 stocke en outre le premier réseau de neurones convolutionnel auto-encodeur 200 lors de l’étape 303 décrite précédemment.
En outre, la mémoire 502 stocke un algorithme de décompression ou la deuxième partie 410 du deuxième réseau de neurones convolutionnel décrit en référence à la .
Le processeur 501 est apte à exécuter des instructions, stockées dans la mémoire 502, pour la mise en œuvre des étapes 312 et 313 du procédé illustré en référence à la . De manière alternative, le processeur 501 peut être remplacé par un microcontrôleur conçu et configuré pour réaliser les étapes 312 et 313 du procédé selon la .
Le module de décompression 121 ainsi que le module de rehaussement 122 présentés précédemment peuvent ainsi être réalisés par le processeur 501 ou le microcontrôleur. Encore en variante, un processeur ou un micro-contrôleur dédié à la fonction de décompression et un autre processeur ou micro-contrôleur est dédié à la fonction de rehaussement.
Le récepteur 120 peut comprendre une interface d’entrée 503 apte recevoir des données compressées, lors de l’étape 311 décrite précédemment. Aucune restriction n’est attachée à la première interface d’entrée 503, qui est reliée fonctionnellement au canal de communication 130 décrit précédemment.
Le décodeur 120 peut comprendre en outre une deuxième interface, de sortie, 504 apte à transmettre les données de sortie, lors de l’étape 314 décrite précédemment.
La présente invention ne se limite pas aux formes de réalisation décrites ci-avant à titre d’exemples ; elle s’étend à d’autres variantes.
Claims (10)
- Procédé de traitement de données comprenant les opérations suivantes :
- lors d’une phase préalable (300), apprentissage supervisé (302) d’un premier réseau de neurones convolutionnel auto-encodeur sur la base d’un premier jeu de données d’entraînement, le premier jeu de données d’entraînement comprenant des paires d’images comprenant une image de qualité donnée et une image compressée obtenue par compression de l’image de qualité donnée, dans lequel l’apprentissage supervisé est apte à minimiser un écart entre une image rehaussée obtenue par traitement par le premier réseau de neurones convolutionnel auto-encodeur, d’une image compressée, et l’image de qualité donnée associée par paire à l’image compressée ;
- stockage (303) dudit premier réseau de neurones convolutionnel auto-encodeur dans un récepteur (120) ;
- réception (311) de données compressées depuis un canal de communication (130) ;
- décompression (312) desdites données compressées en des données décompressées ;
- application (313) du premier réseau de neurones convolutionnel auto-encodeur aux données compressées pour obtenir des données rehaussées ;
- transmission (314) desdites données rehaussées.
- Procédé traitement de données selon la revendication 1, dans lequel la décompression desdites données compressées est basée sur un algorithme de décompression par linéarisation, par gradient, JPG ou PCA.
- Procédé de traitement de données selon la revendication 1, dans lequel la décompression desdites données compressées est mise en œuvre par un traitement par des couches de neurones comprenant une couche de sortie (411) et au moins une couche convolutionnelle cachée (412) d’un deuxième réseau de neurones convolutionnel de type auto-encodeur, ladite couche de sortie comprenant un premier nombre de dimensions et ladite au moins une couche convolutionnelle cachée comprenant un deuxième nombre de dimensions, le deuxième nombre de dimensions étant inférieur au premier nombre de dimensions.
- Procédé selon la revendication 3, comprenant en outre, lors de la phase préalable (300), un apprentissage non-supervisé du deuxième réseau de neurones convolutionnel auto-encodeur sur un deuxième jeu de données d’entraînement.
- Procédé selon l’une des revendications précédentes, dans lequel les données compressées et les données rehaussées sont représentatives d’une photométrie de dispositif d’éclairage.
- Procédé selon la revendication 5, dans lequel les données rehaussées sont transmises à un module de commande d’un dispositif d’éclairage pour véhicule automobile.
- Procédé selon la revendication 5 ou 6, dans lequel les données compressées sont reçues depuis un encodeur (110) d’un module de contrôle centralisé de véhicule automobile et dans lequel le canal de communication (130) est un bus CAN.
- Récepteur (120) comprenant :
- une mémoire (502) stockant un premier réseau de neurones convolutionnel auto-encodeur apte à obtenir des données rehaussées à partir de données compressées ;
- une première interface (503) apte à recevoir des données compressées sur un canal de communication (130) ;
- un processeur (501) configuré pour décompresser les données en des données décompressées, et pour appliquer le premier réseau de neurones convolutionnel auto-encodeur aux données compressées pour obtenir des données rehaussées ;
- une deuxième interface (504) apte à transmettre les données rehaussées.
- Système comprenant un récepteur (120) selon la revendication 8, un encodeur (110) apte à recevoir des données d’entrée, à compresser les données d’entrées en des données compressées et à transmettre les données compressées au récepteur via un canal de communication (130).
- Système selon la revendication 9, dans lequel l’encodeur (110) est intégré dans un module de contrôle central d’un véhicule automobile, dans lequel le récepteur (120) est intégré dans un dispositif d’éclairage du véhicule automobile, dans lequel le canal de communication (130) est un bus CAN et dans lequel les données d’entrée sont représentatives d’une photométrie d’éclairage.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2210640A FR3140977A1 (fr) | 2022-10-15 | 2022-10-15 | Récepteur pour décompression de données avec rehaussement par auto-encodeur |
PCT/EP2023/078545 WO2024079339A1 (fr) | 2022-10-15 | 2023-10-13 | Récepteur pour décompression de données avec rehaussement par auto-encodeur |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2210640A FR3140977A1 (fr) | 2022-10-15 | 2022-10-15 | Récepteur pour décompression de données avec rehaussement par auto-encodeur |
FR2210640 | 2022-10-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
FR3140977A1 true FR3140977A1 (fr) | 2024-04-19 |
Family
ID=87554559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR2210640A Pending FR3140977A1 (fr) | 2022-10-15 | 2022-10-15 | Récepteur pour décompression de données avec rehaussement par auto-encodeur |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR3140977A1 (fr) |
WO (1) | WO2024079339A1 (fr) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022090372A1 (fr) * | 2020-10-30 | 2022-05-05 | Valeo Vision | Procédé de gestion de données d'image et dispositif d'éclairage automobile |
-
2022
- 2022-10-15 FR FR2210640A patent/FR3140977A1/fr active Pending
-
2023
- 2023-10-13 WO PCT/EP2023/078545 patent/WO2024079339A1/fr unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022090372A1 (fr) * | 2020-10-30 | 2022-05-05 | Valeo Vision | Procédé de gestion de données d'image et dispositif d'éclairage automobile |
Non-Patent Citations (4)
Title |
---|
AHONEN JUKKA I ET AL: "Learned Enhancement Filters for Image Coding for Machines", 2021 IEEE INTERNATIONAL SYMPOSIUM ON MULTIMEDIA (ISM), IEEE, 29 November 2021 (2021-11-29), pages 235 - 239, XP034000019, DOI: 10.1109/ISM52913.2021.00046 * |
DONG CHAO ET AL: "Compression Artifacts Reduction by a Deep Convolutional Network", 2015 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV), IEEE, 7 December 2015 (2015-12-07), pages 576 - 584, XP032866378, DOI: 10.1109/ICCV.2015.73 * |
MA DI ET AL: "MFRNet: A New CNN Architecture for Post-Processing and In-loop Filtering", IEEE JOURNAL OF SELECTED TOPICS IN SIGNAL PROCESSING, IEEE, US, vol. 15, no. 2, 9 December 2020 (2020-12-09), pages 378 - 387, XP011840005, ISSN: 1932-4553, [retrieved on 20210219], DOI: 10.1109/JSTSP.2020.3043064 * |
NAM LE ET AL: "Image coding for machines: an end-to-end learned approach", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 23 August 2021 (2021-08-23), XP091036146, DOI: 10.1109/ICASSP39728.2021.9414465 * |
Also Published As
Publication number | Publication date |
---|---|
WO2024079339A1 (fr) | 2024-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0247075B1 (fr) | Procede de codage hybride par transformation pour la transmission de signaux d'image | |
EP2510701B1 (fr) | Procede et systeme pour la determination de parametres de codage sur des flux a resolution variable | |
FR2754127A1 (fr) | Procede de codage/decodage de signal video sur la base d'une quantification de treillis adaptative | |
EP3349446A1 (fr) | Procédé et dispositif d'encodage dynamique contrôlé d'un signal numérique multidimensionnel, en particulier un signal d'image et procédé et dispositif correspondant de décodage | |
EP1603341A1 (fr) | Procede et dispositif pour les systemes d'interpolation d'images par estimation et compensation de mouvement. | |
WO2024079339A1 (fr) | Récepteur pour décompression de données avec rehaussement par auto-encodeur | |
US20230177650A1 (en) | Method and apparatus for training image restoration model, electronic device, and computer-readable storage medium | |
EP1223554A1 (fr) | Méthode de réduction de bruit | |
WO2024083740A1 (fr) | Auto-encodeur pour véhicule automobile avec quantification | |
EP1596607B1 (fr) | Procédé et dispositif de génération de vecteurs candidats pour les systèmes d'interpolation d'images par estimation et compensation de mouvement | |
EP1812903A1 (fr) | Procede de codage d'images codees par ondelettes a controle de debit, dispositif de codage et programme d'ordinateur correspondants | |
EP1020083A1 (fr) | Procede de controle du taux de compression d'images numeriques | |
EP0348321B1 (fr) | Procédé de régulation de débit de données d'assistance à la reconstruction d'images électroniques animées sous-échantillonnées | |
EP1714498A1 (fr) | Procede de recherche de la directon de prediction en codage video intra-image | |
WO1991008546A1 (fr) | Procede de compression d'images par auto-organisation d'un reseau neuronal | |
FR3105905A1 (fr) | Procédés de transmission et de réception de flux, dispositifs et programme d'ordinateur associés | |
TWI381329B (zh) | 影像壓縮方法及其裝置 | |
FR3121528A1 (fr) | Procédé et dispositif de détection d’une intrusion sur un bus de données d’un véhicule | |
EP3203737A1 (fr) | Procédé et dispositif d'encodage d'un signal numérique multidimensionnel, en particulier un signal d'image, et procédé et dispositif correspondants de décodage | |
FR3121527A1 (fr) | Procédé et dispositif de détection d’une intrusion sur un bus de données d’un véhicule | |
FR3046711A1 (fr) | Compression et decompression de donnees video | |
WO2022175626A1 (fr) | Determination d'un mode de codage d'image | |
FR3137519A1 (fr) | Procédé de projection d’un faisceau d’éclairage dynamique par un système lumineux d’un véhicule automobile | |
WO2024121110A1 (fr) | Procédé et dispositif de codage et décodage de séquences d'images | |
WO2021214260A1 (fr) | Procede de gestion de donnees d'image et systeme d'eclairage de vehicule |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20240419 |