FR3137240A1 - Procédé de segmentation d’une pluralité de données, procédé de codage, procédé de décodage, dispositifs, systèmes et programme d’ordinateur correspondants - Google Patents

Procédé de segmentation d’une pluralité de données, procédé de codage, procédé de décodage, dispositifs, systèmes et programme d’ordinateur correspondants Download PDF

Info

Publication number
FR3137240A1
FR3137240A1 FR2206177A FR2206177A FR3137240A1 FR 3137240 A1 FR3137240 A1 FR 3137240A1 FR 2206177 A FR2206177 A FR 2206177A FR 2206177 A FR2206177 A FR 2206177A FR 3137240 A1 FR3137240 A1 FR 3137240A1
Authority
FR
France
Prior art keywords
data
input data
processing
processed
segmentation
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
Application number
FR2206177A
Other languages
English (en)
Inventor
Félix Henry
Marta MILOVANOVIC
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Priority to FR2206177A priority Critical patent/FR3137240A1/fr
Priority to PCT/EP2023/065446 priority patent/WO2023247208A1/fr
Publication of FR3137240A1 publication Critical patent/FR3137240A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)

Abstract

L’invention concerne un procédé de segmentation d’une pluralité de données d’entrée, comprenant :- la détermination (61) de valeurs de poids à appliquer à la pluralité de données d’entrée avant traitement par au moins un dispositif de traitement configuré pour produire un résultat de traitement selon un critère d’optimisation d’une qualité du résultat de traitement, en fonction dudit critère et d’un critère d’optimisation d’une quantité de données d’entrées à traiter, - la détermination (62) d’informations de segmentation de ladite pluralité de données d’entrée, valorisées à une première valeur ou à une deuxième valeur, en fonction desdits poids, et- l’obtention (63) d’un sous-ensemble de données à traiter par application des informations de segmentation à ladite pluralité de données d’entrée, comprenant les données de la pluralité de données d’entrée associées à une information de segmentation égale à la première valeur. Figure 6

Description

Procédé de segmentation d’une pluralité de données, procédé de codage, procédé de décodage, dispositifs, systèmes et programme d’ordinateur correspondants Domaine de l’invention
La présente invention se rapporte de manière générale au domaine du traitement d’une pluralité de données, comme par exemple des images 3D, de type multi-vues d’une scène acquises par une pluralité de caméras ou des données physiologiques d’un patient issues d’une pluralité de capteurs.
L’invention concerne en particulier la segmentation de cette pluralité de données avant leur codage puis leur transmission via un réseau de communication à un dispositif de traitement.
Art antérieur
Dans le domaine de la réalité virtuelle et de la vidéo immersive, la navigation libre permet au spectateur de regarder, à l’aide d’un dispositif de type Casque de Réalité Virtuelle, une scène de n'importe quel point de vue, que ce point de vue corresponde à un point de vue capturé par une caméra ou à un point de vue qui n'a pas été capturé par une caméra. Une telle vue qui n'a pas été capturée par la caméra est aussi appelée vue virtuelle ou vue intermédiaire car elle se situe entre des vues capturées par la caméra et doit être synthétisée pour la restitution de la scène au spectateur à partir des vues capturées.
Dans un contexte de vidéo immersive, c’est à dire où le spectateur a la sensation d’être immergé dans la scène, la scène SC est classiquement capturée par un ensemble de caméras, comme illustré par la . Ces caméras peuvent être de type 2D (caméras C1, C2…CN, avec N entier non nul de la ), c’est-à-dire que chacune d’entre elles capture une vue selon un point de vue, ou de type 360, c’est à dire qu’elles capturent toute la scène à 360 degrés autour de la caméra (caméra C360de la ), donc selon plusieurs points de vue différents. Les caméras peuvent être disposées en arc, en rectangle, ou toute autre configuration qui permet de bien couvrir la scène.
En relation avec la , on obtient, à un instant donné, un ensemble d’images représentant la scène selon différentes vues. Comme il s’agit de vidéos, un échantillonnage temporel des images capturées est réalisé (par exemple à 30 images par seconde), afin de produire une vidéo multi-vues originale VMV, comme illustré par la .
Le standard MIV (de l’anglais, « MPEG Immersive Video ») permet la transmission de vidéos adaptée à la navigation immersive. L’encodeur choisit des portions de chaque vue (patches) qu’il souhaite transmettre afin de maximiser la qualité de synthèse de vue à partir de ces patches, tout en réduisant la quantité de données à transmettre. Les patches sont extraits des vues et rassemblés dans un ou plusieurs atlas, qui sont donc des images comprenant un assemblage de patches provenant de différentes vues. Les patches sont généralement disposés dans un atlas de façon à le remplir de la façon la plus complète possible. Avec chaque atlas est transmis une carte d’occupation (en anglais, « occupancy map »), qui est une image dont chaque pixel peut prendre une première ou une deuxième valeur, distincte de la première (par exemple correspondant à la couleur « blanc » ou « noir ») pour indiquer si le pixel de l’atlas appartient ou non à un patch. Il est ainsi possible d’obtenir une segmentation des patches de l’atlas à partir de cette carte d’occupation. Par ailleurs, d’autres informations sont transmises pour chaque patch comprenant ses coordonnées dans l’atlas, ainsi que la vue à laquelle il est associé.
A partir des données transmises, le décodeur MIV peut retrouver les patches et les disposer dans la vue à laquelle ils appartiennent. Cette vue est alors appelée « partielle », puisqu’elle ne contient pas toutes les valeurs de pixels de la vue d’origine telle qu’acquise par une des caméras. Toutefois, si l’encodeur a sélectionné efficacement les portions de vues à transmettre, elles sont suffisantes pour générer ou synthétiser n’importe quel point de vue de la scène. A cet égard, la synthèse de vue à partir des vues décodées n’est pas spécifiée par la norme MIV. Elle s’appuie sur les cartes d’occupation pour déterminer si un pixel d’une vue donnée contient une information pertinente ou pas.
On connaît aussi du document de Wang et al., intitulé « IBRNet : Learning Multi-View Image-Based Rendering », publié par arXiv:2102.13090v2 en avril 2021, une méthode de synthèse de vue basée texture à partir de réseaux de neurones. En particulier, le document décrit un réseau de neurones, appelé IBRN, qui prend en entrée les paramètres des caméras, les images de texture capturées depuis les différents points de vue, et les coordonnées du point de vue de la scène que l’on souhaite synthétiser, et produit en sortie la vue synthétisée, correspondant à la vue qu’aurait capturé une caméra depuis le point de vue correspondant aux coordonnées fournies. Un avantage de cette méthode est qu’elle donne de très bons résultats qualitatifs.
Un inconvénient de cette méthode, et plus généralement des méthodes actuelles de synthèse de vue, est qu’elles nécessitent l’intégralité des vues acquises par les caméras. Ceci représente une grande quantité de données à transmettre, puis à décoder, ce qui pose un problème de complexité au niveau du décodeur, en particulier lorsqu’il est embarqué dans un terminal mobile tel qu’un téléphone intelligent (« en anglais, « smartphone ») ou un casque de réalité augmentée.
Il existe donc un besoin d’une solution pour réduire la quantité de données, et notamment le nombre de pixels à transmettre, tout en préservant au maximum la qualité de la synthèse de vue.
L’invention vient améliorer la situation.
L’invention répond à ce besoin en proposant un procédé de segmentation d’une pluralité de données acquises par des capteurs, dites données d’entrée, ledit procédé comprenant :
- la détermination de valeurs de poids à appliquer à la pluralité de données d’entrée avant traitement par au moins un dispositif de traitement configuré pour produire un résultat de traitement selon un critère d’optimisation d’une qualité du résultat de traitement des données d’entrée, lesdites valeurs de poids étant déterminées en fonction dudit critère et d’un critère d’optimisation d’une quantité de données d’entrées à traiter,
- la détermination d’informations de segmentation de ladite pluralité de données d’entrée, unedite information de segmentation d’unedite donnée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, en fonction desdits poids, et
- l’obtention d’un sous-ensemble de données à traiter par application des informations de segmentation déterminées à ladite pluralité de données d’entrée, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d’entrée associées à une information de segmentation égale à la première valeur.
L’invention propose une approche tout-à-fait nouvelle et inventive de la segmentation d’une pluralité de données d’entrée avant leur traitement par un dispositif de traitement donné, qui consiste à configurer des valeurs de poids à appliquer aux données d’entrée de sorte que la quantité de données issue de la segmentation et présentée en entrée du dispositif de traitement, ainsi que la qualité de traitement, soient toutes les deux optimisées. Les valeurs des poids sont déterminées à partir de la pluralité de données d’entrée elles-mêmes, donc spécifiquement choisies pour elles.
Par exemple, le critère d’optimisation d’une quantité de données d’entrée à traiter comprend une minimisation d’une valeur cumulée des valeurs de poids ou d’un nombre de valeurs de poids inférieures à un seuil donné. Selon une variante, il comprend une minimisation d’une valeur cumulée des données d’entrées conservées dans le sous-ensemble de données à traiter ou d’un nombre de ces données d’entrée. Par exemple, le critère d’optimisation d’une qualité du traitement comprend une minimisation d’une erreur quadratique entre un résultat obtenu à partir de la pluralité de données d’entrée et un résultat obtenu à partir du sous-ensemble de données à traiter ou encore une maximisation d’un rapport signal à bruit ou PSNR (pour « Peak Signal to Noise Ratio », en anglais).
Les valeurs des poids de la configuration obtenue sont ensuite exploitées pour déterminer une ou plusieurs informations de segmentation de la pluralité de données d’entrée. Ces informations de segmentation indiquent :
- quelles données d’entrée sont à fournir en entrée du dispositif de traitement, parce qu’elles sont utiles pour qu’il produise un résultat de traitement conforme au critère d’optimisation d’une qualité du résultat de traitement des données d’entrée et
- quelles données d’entrée ne sont pas à présenter au dispositif de traitement, parce qu’elles ne sont pas utiles, au sens où elles ne contribuent pas à améliorer la qualité du résultat de traitement obtenu.
Les informations de segmentation ainsi déterminées permettent enfin d’obtenir le sous-ensemble de données à traiter. De la sorte, seul ce sous-ensemble de données à traiter pourra être codé et transmis à un récepteur intégrant un dispositif de traitement similaire, en termes de structure et de configuration.
Ainsi, l’invention ne propose pas simplement de réaliser une segmentation efficace de la pluralité de données d’entrée, mais elle prend aussi en compte, lors de la détermination de valeurs des poids qui réalisent la segmentation, l’impact des valeurs des poids du module de segmentation, qui réalise la segmentation, sur la sortie du dispositif de traitement. Elle ne considère donc pas un simple module de segmentation indépendant du dispositif de traitement, mais prend en compte la combinaison des deux, et plus précisément, leurs actions successives sur les données d’entrée.
L’invention s’applique à tout type de données acquises par tout type de capteurs. Par exemple, une pluralité de capteurs est disposée autour d’une scène, d’un objet ou d’un sujet... Par exemple, il s’agit d’une pluralité de caméras disposant chacune de points de vue distincts de la scène et configurées pour acquérir une séquence d’images ou vues de cette scène. Le dispositif de traitement peut être dans ce cas un dispositif de synthèse de vues additionnelles à partir des vues originales acquises par la pluralité de caméras et la segmentation des vues originales selon l’invention permet de ne conserver que les données utiles à la synthèse d’une vue additionnelle et de supprimer les données redondantes.
Selon un autre exemple, la pluralité de données est constituée de séquences temporelles de mesures physiologiques d’un patient captées par une pluralité de capteurs de natures diverses (ElectroCardioGramme (ECG), ElectroEncéphaloGramme (EEG), scanner, imagerie par résonance magnétique (IRM), image Rayon X, indicateur de composition sanguine, etc.). Dans cet autre exemple, le dispositif de traitement peut être un dispositif d’aide au diagnostic.
Selon un autre aspect de l’invention, la détermination comprend un apprentissage desdites valeurs de poids, à partir de ladite pluralité de données d’entrée, ledit apprentissage étant réalisé par rétro-propagation d’un gradient d’une fonction de perte combinant les deux critères.
Avantageusement, la détermination des valeurs de poids réalisant la segmentation des données d’entrée met en œuvre une technique d’apprentissage d’un module d’intelligence artificielle à l’aide de la pluralité de données d’entrée elles-mêmes. Plus précisément, le module d’intelligence artificielle, qu’on désignera ci-après par module de segmentation, apprend la meilleure configuration interne possible de ses poids, permettant à la fois d’optimiser la quantité de données du sous-ensemble de données d’entrée à présenter en entrée du dispositif de traitement et d’optimiser la qualité du traitement des données.
L’invention va à l’encontre des pratiques habituelles en termes d’apprentissage machine, en ce qu’elle met en œuvre un apprentissage spécifique à une pluralité de données d’entrée données. Ainsi elle ne nécessite pas l’acquisition préalable d’une large base de données d’apprentissage étiquetées, mais seulement la pluralité de données courantes à traiter.
Selon encore un autre aspect de l’invention, ledit dispositif de traitement comprend des poids, dits poids de traitement, des valeurs desdits poids de traitement ont été préalablement déterminées en fonction du critère d’optimisation de la qualité du résultat de traitement des données d’entrée et le procédé comprend en outre la détermination de valeurs modifiées desdits poids de traitement.
Avantageusement, le dispositif de traitement met lui aussi en œuvre une technique d’intelligence artificielle, basée sur l’application de poids aux données d’entrée. Par exemple, ce dispositif de traitement a été préalablement entraîné, de façon classique, à partir d’une base de données étiquetées, à traiter la pluralité de données d’entrée de sorte à fournir en sortie un résultat conforme au critère d’optimisation de la qualité du traitement.
Avantageusement, l’apprentissage selon l’invention est un apprentissage combiné du module de segmentation et du dispositif de traitement. Il inclut une mise à jour de la configuration du dispositif de traitement de sorte à ce qu’il puisse traiter de façon optimale le sous-ensemble de données issu de la segmentation de la pluralité de données d’entrée.
Par exemple, le module de segmentation et le dispositif de traitement sont chacun organisés en couches comprenant des poids et la succession de leurs couches respectives forme un module d’intelligence artificielle, par exemple un réseau de neurones, entraîné pour segmenter les données d’entrée puis les traiter de façon optimale.
Selon encore un autre aspect de l’invention, ladite pluralité de données d’entrée comprend une pluralité de vues acquises par une pluralité de caméras, unedite vue comprend des pixels, lesdits poids sont compris dans une pluralité de couches, unedite couche est associée à unedite vue et comprenant undit poids par pixel, et les informations de segmentation comprennent une pluralité de cartes de segmentation, unedite carte étant associée à unedite vue.
L’invention s’applique tout particulièrement à des données d’entrée de type séquence vidéo multi-vues. Avantageusement, on considère un module de segmentation structuré en couches, avec une couche par vue et un poids par pixel, les poids de chaque couche permettant de dériver l’information de segmentation des pixels de la vue associée.
Par exemple, pour des images capturées par des caméras, les informations de segmentation peuvent prendre la forme de cartes de segmentation, de mêmes dimensions que les images d’entrée, et dont les pixels utiles sont valorisés à une première valeur (par exemple, correspondant au « blanc ») et les pixels non utiles à une deuxième valeur (par exemple, correspondant au « noir »).
Avantageusement, le dispositif de traitement est configuré pour synthétiser une vue supplémentaire associée à un point de vue donné et à partir d’au moins une vue originale qu’il reçoit en entrée.
On comprend que dans ce cas, l’apprentissage selon l’invention peut consister à présenter en entrée du module de segmentation, combiné au dispositif de traitement, la pluralité des vues acquises sauf une qui sera celle à synthétiser. De la sorte, la fonction de perte pourra être calculée en comparant la vue synthétisée à la vue originale. Avantageusement, cette procédure sera répétée pour chacune des vues acquises.
Selon un autre aspect de l’invention, ladite pluralité de données d’entrée comprend une pluralité de séquences de données de mesures acquises par une pluralité de capteurs, lesdits poids sont compris dans une pluralité de couches, unedite couche est associée à unedite séquence de données de mesures et comprend undit poids par donnée de mesures et les informations de segmentation comprennent une pluralité de séquences de segmentation, unedite séquence de segmentation étant associée à unedite séquence de données de mesure.
Selon cet autre exemple, la pluralité de données est constituée de séquences temporelles de mesures physiologiques d’un patient captées par une pluralité de capteurs de natures diverses. Dans cet autre exemple, le dispositif de traitement peut comprendre un ou plusieurs dispositifs d’aide au diagnostic.
Corrélativement, l’invention concerne aussi un dispositif de segmentation d’une pluralité de données acquises par des capteurs, dites données d’entrée, ledit dispositif étant configuré pour mettre en œuvre :
- la détermination de valeurs de poids à appliquer à la pluralité de données d’entrée avant traitement par au moins un dispositif de traitement configuré pour produire un résultat de traitement selon un critère d’optimisation d’une qualité du résultat de traitement des données d’entrée, lesdites valeurs de poids étant déterminées en fonction dudit critère et d’un critère d’optimisation d’une quantité de données d’entrée à traiter,
- la détermination d’informations de segmentation de ladite pluralité de données d’entrée, unedite information de segmentation d’unedite donnée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, en fonction desdits poids, et
- l’obtention d’un sous-ensemble de données à traiter par application des informations de segmentation déterminées à ladite pluralité de données d’entrée, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d’entrée associées à une information de segmentation égale à la première valeur.
Le dispositif précité met en œuvre le procédé de segmentation selon l’invention dans ses différents modes de réalisations.
Avantageusement, ledit dispositif de segmentation est intégré dans un équipement serveur configuré pour recevoir la pluralité de données d’entrée et comprenant en outre le dispositif de traitement de la pluralité de données d’entrée précité.
L’invention concerne également un procédé de codage d’une pluralité de données acquises par des capteurs, dites données d’entrée, comprenant:
- l’obtention d’informations de segmentation de la pluralité de données d’entrée et d’un sous-ensemble de données à traiter par application desdites informations de segmentation à la pluralité de données d’entrée, ladite segmentation comprenant la détermination de valeurs de poids à appliquer à la pluralité de données d’entrée avant traitement par au moins un dispositif de traitement préalablement configuré pour produire un résultat de traitement en fonction d’un critère d’optimisation d’une qualité du traitement, lesdites valeurs de poids étant déterminées en fonction dudit critère et d’un autre critère d’optimisation d’une quantité de données d’entrée à traiter, unedite information de segmentation d’unedite donnée étant valorisée à une première ou à une deuxième valeur distincte de la première, en fonction desdites valeurs de poids, le sous-ensemble (USS) de données à traiter comprenant les données de la pluralité de données d’entrée associées à une information de segmentation égale à la première valeur, et
- le codage des informations de segmentation et du sous-ensemble de données à traiter.
Avec l’invention, les données codées contiennent toutes les informations permettant de reconstruire une pluralité de données d’entrée segmentées au niveau d’un récepteur comprenant un dispositif de traitement similaire à celui mis en œuvre par l’émetteur, en termes de structure et de configuration.
Selon un autre aspect de l’invention, l’obtention comprend en outre :
- l’obtention de valeurs de poids modifiées, lesdits poids étant destinés à être appliqués aux données d’entrée par le dispositif de traitement, des valeurs desdits poids préalablement déterminées en fonction dudit critère d’optimisation d’une qualité du résultat de traitement des données d’entrée et pour le traitement de la pluralité de données d’entrée, ayant été modifiées en fonction desdits critères, pour le traitement du sous-ensemble de données à traiter,
- le codage desdites valeurs de poids modifiées.
Avantageusement, l’invention propose de transmettre dans les données codées les valeurs de poids modifiées du dispositif de traitement côté émetteur, en vue de la mise à jour de la configuration du dispositif de traitement côté récepteur. Ceci permet de garantir que le dispositif de traitement produit un résultat optimal au sens du critère d’optimisation.
Corrélativement, l’invention concerne aussi un dispositif de codage d’une pluralité de données acquises par des capteurs, dites données d’entrée, configuré pour mettre en œuvre :
- l’obtention d’informations de segmentation de la pluralité de données d’entrée et d’un sous-ensemble de données à traiter par application desdites informations de segmentation à la pluralité de données d’entrée, ladite segmentation comprenant la détermination de valeurs de poids à appliquer à la pluralité de données d’entrée avant traitement par au moins un dispositif de traitement (préalablement configuré pour produire un résultat de traitement en fonction d’un critère d’optimisation d’une qualité du traitement, lesdites valeurs de poids étant déterminées en fonction dudit critère et d’un autre critère d’optimisation d’une quantité de données d’entrée à traiter, unedite information de segmentation d’unedite donnée étant valorisée à une première ou à une deuxième valeur distincte de la première, en fonction desdites valeurs de poids, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d’entrée associées à une information de segmentation égale à la première valeur, et
- le codage des informations de segmentation et du sous-ensemble de données à traiter.
Le dispositif précité met en œuvre le procédé de codage selon l’invention dans ses différents modes de réalisations.
Avantageusement, ledit dispositif de codage est intégré dans l’équipement serveur précité.
L’invention concerne également un procédé de décodage de données codées, comprenant :
- le décodage de données codées, lesdites données codées comprenant des informations de segmentation d’une pluralité de données acquises par des capteurs, dites données d’entrée, un sous-ensemble de données à traiter par un dispositif de traitement configuré pour appliquer des poids à la pluralité de données d’entrée décodées et pour produire un résultat de traitement en fonction d’un critère d’optimisation d’une qualité du traitement, unedite information de segmentation d’unedite donnée d’entrée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, ledit sous-ensemble de données à traiter ayant été obtenu par application desdites informations de segmentation à la pluralité de données d’entrée, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d’entrée associées à unedite information de segmentation égale à la première valeur, lesdites données codées comprenant en outre des valeurs modifiées desdits poids, lesdites valeurs modifiées ayant été déterminées pour le traitement de la pluralité de données d’entrée segmentées, en fonction du critère d’optimisation d’une qualité du traitement et d’un critère d’optimisation d’une quantité de données du sous-ensemble de données à traiter,
- la construction d’une pluralité de données d’entrée segmentées décodées à partir du sous-ensemble de données à traiter décodées et des informations de segmentation décodées, et
- la fourniture de la pluralité de données d’entrées segmentées décodées et des valeurs modifiées desdits poids au dispositif de traitement.
Avantageusement, l’invention propose de coder les valeurs de poids modifiées du dispositif de traitement côté émetteur, en vue de leur transmission à un récepteur et de la mise à jour de la configuration du dispositif traitement côté récepteur. Ceci permet de garantir que le dispositif de traitement produit un résultat optimal au sens du critère d’optimisation.
Corrélativement, l’invention concerne aussi un dispositif de décodage comprenant :
- le décodage de données codées, lesdites données codées comprenant des informations de segmentation d’une pluralité de données acquises par des capteurs, dites données d’entrée, un sous-ensemble de données à traiter par un dispositif de traitement configuré pour appliquer des poids à la pluralité de données d’entrée décodées et pour produire un résultat de traitement en fonction d’un critère d’optimisation d’une qualité du traitement, unedite information de segmentation d’unedite donnée d’entrée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, ledit sous-ensemble de données à traiter ayant été obtenu par application desdites informations de segmentation à la pluralité de données d’entrée, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d’entrée associées à unedite information de segmentation égale à la première valeur, lesdites données codées comprenant en outre des valeurs modifiées desdits poids, lesdites valeurs modifiées ayant été déterminées pour le traitement de la pluralité de données d’entrée segmentées, en fonction du critère d’optimisation d’une qualité du traitement et d’un critère d’optimisation d’une quantité de données du sous-ensemble de données à traiter,
- la construction d’une pluralité de données d’entrée segmentées décodées à partir du sous-ensemble de données à traiter décodées et des informations de segmentation décodées, et
- la fourniture de la pluralité de données d’entrées segmentées décodées et des valeurs modifiées desdits poids au dispositif de traitement.
Le dispositif précité met en œuvre le procédé de décodage selon l’invention dans ses différents modes de réalisations.
Avantageusement, ledit dispositif de décodage est intégré dans un équipement terminal configuré pour recevoir les données codées et comprenant en outre le dispositif de traitement précité.
L’invention concerne également un signal portant des données codées. Lesdites données codées comprennent des informations de segmentation d’une pluralité de données acquises par des capteurs, dites données d’entrée, un sous-ensemble de données à traiter obtenu par application desdites informations de segmentation à ladite pluralité de données d’entrée, unedite information de segmentation d’unedite donnée d’entrée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d’entrée associées à une information de segmentation égale à la première valeur, ledit sous-ensemble de données à traiter étant destiné à être décodé, puis utilisé pour reconstruire une pluralité de données d’entrée segmentées décodées à partir des informations de segmentation décodées, en vue du traitement de ladite pluralité de données d’entrée segmentées par un dispositif de traitement, configuré pour produire un résultat de traitement en fonction d’un critère d’optimisation d’une qualité du traitement, en appliquant des poids à la pluralité de données d’entrée lesdites. Lesdites données codées comprennent en outre des valeurs modifiées desdits poids, lesdites valeurs modifiées ayant été déterminées pour le traitement de la pluralité de données d’entrée segmentées, en fonction du critère d’optimisation d’une qualité du traitement et d’un critère d’optimisation d’une quantité de données du sous-ensemble de données à traiter, et étant destinées à être utilisées par ledit dispositif de traitement pour mettre à jour lesdits poids avant le traitement de la pluralité de donnée d’entrée segmentées décodées reconstruites.
L’invention concerne également un système comprenant le dispositif de segmentation, le dispositif de codage, le dispositif de décodage et le dispositif de traitement précité. Ce système, les dispositifs de segmentation, de codage et de décodage selon l’invention présentent au moins les mêmes avantages que ceux conférés par les procédés précités.
L’invention concerne enfin des produits programmes d'ordinateur comprenant des instructions de code de programme pour la mise en œuvre respective des procédés de segmentation, codage et décodage précités, lorsqu’ils sont exécutés par un processeur.
Un tel programme peut utiliser n’importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.
L’invention vise également au moins un support d’enregistrement lisible par un ordinateur sur lequel sont enregistrés les programmes d’ordinateur comprenant des instructions de code de programme pour l’exécution des étapes des procédés selon l’invention tels que décrits ci-dessus.
Un tel support d'enregistrement peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple un support mobile (carte mémoire) ou un disque dur ou un SSD.
D'autre part, un tel support d'enregistrement peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens, de sorte que les programmes d’ordinateur qu’il contient est exécutable à distance. Les programmes selon l'invention peuvent être en particulier téléchargés sur un réseau par exemple le réseau Internet.
Alternativement, le ou les supports d'enregistrement peuvent être un ou des circuits intégrés dans lesquels chaque programme est incorporé, le ou les circuits étant adaptés pour exécuter ou pour être utilisé dans l'exécution des procédés précités.
Selon un exemple de réalisation, la présente technique est mise en œuvre au moyen de composants logiciels et/ou matériels. Dans cette optique, le terme "module" peut correspondre dans ce document aussi bien à un composant logiciel, qu'à un composant matériel ou à un ensemble de composants matériels et logiciels.
Un composant logiciel correspond à un ou plusieurs programmes d'ordinateur, un ou plusieurs sous-programmes d'un programme, ou de manière plus générale à tout élément d'un programme ou d'un logiciel apte à mettre en œuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci-dessous pour le module concerné. Un tel composant logiciel est exécuté par un processeur de données d'une entité physique (terminal, serveur, passerelle, set-top-box, routeur, etc.) et est susceptible d'accéder aux ressources matérielles de cette entité physique (mémoires, supports d'enregistrement, bus de communication, cartes électroniques d'entrées/sorties, interfaces utilisateur, etc.). Par la suite, on entend par ressources tous ensembles d’éléments matériels et/ou logiciels support d’une fonction ou d’un service, qu’ils soient unitaires ou combinés.
De la même manière, un composant matériel correspond à tout élément d'un ensemble matériel (ou hardware) apte à mettre en œuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci-dessous pour le module concerné. Il peut s'agir d'un composant matériel programmable ou avec processeur intégré pour l'exécution de logiciel, par exemple un circuit intégré, une carte à puce, une carte à mémoire, une carte électronique pour l'exécution d'un micrologiciel (« firmware » en anglais), etc.
Chaque composante du système précédemment décrit met bien entendu en œuvre ses propres modules logiciels.
Les différents modes de réalisation mentionnés ci-dessus sont combinables entre eux pour la mise en œuvre de la présente technique.
D’autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple de réalisation dépourvu de tout caractère limitatif. Sur les figures :
: présente un exemple d’agencement d’une pluralité de caméras formant un système d’acquisition d’une vidéo multi-vues d’une scène, selon l’art antérieur ;
: illustre de façon schématique une pluralité d’images de la scène, capturées par la pluralité de caméras à un instant donné, selon l’art antérieur;
: illustre de façon schématique une séquence de la pluralité d’images, capturées par la pluralité de caméras à plusieurs instants successifs et formant la vidéo multi-vues originale, selon l’art antérieur;
: illustre de façon schématique un premier exemple d’architecture d’un système selon un mode de réalisation de l’invention comprenant un dispositif de segmentation d’une pluralité de données d’entrée, un dispositif de codage d’informations de segmentation et d’un sous-ensemble de données à traiter issues de la segmentation, un dispositif de décodage de données codées représentatives du sous-ensemble de données à traiter et des informations de segmentation associées et un dispositif de traitement des données décodées, lorsque la pluralité de données est une vidéo multi-vues de la scène acquise par une pluralité de caméras;
: illustre de façon schématique un deuxième exemple d’architecture d’un système selon un mode de réalisation de l’invention comprenant un dispositif de segmentation d’une pluralité de données d’entrée, un dispositif de codage d’informations de segmentation et d’un sous-ensemble de données à traiter issues de la segmentation, un dispositif de décodage de données codées représentatives du sous-ensemble de données à traiter et des informations de segmentation associées et un dispositif de traitement des données décodées, lorsque la pluralité de données comprend des mesures physiologiques d’un patient acquises par une pluralité de capteurs;
: décrit sous forme d’un logigramme les étapes d’un procédé de segmentation d’une pluralité de données d’entrée, selon un exemple de réalisation de l’invention ;
: décrit sous forme d’un logigramme les étapes d’un procédé de codage des données issues de la segmentation de la pluralité de données codées selon un mode de réalisation de l’invention ;
: décrit sous forme d’un logigramme les étapes d’un procédé de décodage des données issues de la segmentation de la pluralité de données selon un mode de réalisation de l’invention ;
: détaille un premier exemple de mise en œuvre des procédés de segmentation et de codage précités lorsque la pluralité de données comprend une vidéo multi-vues ;
: détaille un premier exemple de mise en œuvre du procédé de décodage précités lorsque la pluralité de données d’entrée comprend une vidéo multi-vues ;
: détaille un deuxième exemple de mise en œuvre des procédés de segmentation et de codage précités lorsque la pluralité de données d’entrée comprend une pluralité de séquences de mesures physiologiques d’un patient ;
: détaille un deuxième exemple de mise en œuvre du procédé de décodage précité lorsque la pluralité de données d’entrée comprend une pluralité de séquences de mesures physiologiques d’un patient ;
: décrit un exemple de structure matérielle d’un dispositif de segmentation d’une pluralité de données selon l’invention ;
: décrit un exemple de structure matérielle d’un dispositif de codage d’une pluralité de données selon l’invention ; et
: décrit un exemple de structure matérielle d’un dispositif de décodage de données issues de la segmentation et du codage selon l’invention.
Description de l’invention
Le principe de l’invention repose sur la segmentation d’une pluralité de données d’entrée, acquises par des capteurs disposés autour d’une scène, d’un objet ou d’un sujet, en vue de leur traitement par un dispositif de traitement donné. On désigne ici par segmentation le fait d’identifier parmi la pluralité de données d’entrée celles à conserver pour un traitement ultérieur donné et de les rassembler en un sous-ensemble de données à traiter.
Autrement dit, il s’agit d’élaguer des données issues d’un ou plusieurs de ces capteurs, lorsqu’elles ne sont pas utiles ou pertinentes pour réaliser le traitement prévu par le dispositif de traitement, par exemple parce qu’elles sont redondantes avec celles acquises par un ou plusieurs autres de ces capteurs. Selon l’invention, la décision d’élaguer ou de conserver les données d’entrée se fait sur la base de deux critères, un critère d’optimisation d’une quantité de données segmentées, c’est-à-dire conservées dans le sous-ensemble de données à traiter, et un critère d’optimisation d’une qualité du traitement donné à partir du sous-ensemble de données à traiter.
Selon un mode de réalisation de l’invention, la segmentation est mise en œuvre par un module d’intelligence artificielle placé en amont du dispositif de traitement et capable de se configurer par apprentissage machine (en anglais, « machine learning »). La structure du module de segmentation automatique comprend une pluralité de poids destinés à être appliqués à la pluralité de données d’entrée et l’apprentissage d’une configuration du module de segmentation automatique consiste pour le module à apprendre la meilleure configuration interne possible de ses poids, permettant à la fois de minimiser la quantité de données du sous-ensemble de données d’entrée à présenter en entrée du dispositif de traitement et de maximiser la qualité du traitement des données.
Selon l’invention, cet apprentissage est d’une part spécifique à la pluralité de données d’entrée et d’autre part réalisé en considérant le résultat de la combinaison des actions du module de segmentation et du dispositif de traitement placé en aval du module de segmentation, qui récupère donc en entrée la pluralité de données pondérée par les poids de configuration du module de segmentation automatique, selon au moins deux critères. Le premier critère de performance relatif au module de segmentation, est de minimiser une quantité de données à fournir au dispositif de traitement, ce qui revient à élaguer au maximum la pluralité de données d’entrée. Le deuxième critère de performance est lié au dispositif de traitement et impose de maximiser une mesure de qualité du traitement réalisé par le dispositif de traitement.
Les valeurs de configuration du module de segmentation automatique sont ensuite exploitées pour déterminer des informations de segmentation de la pluralité de données et un sous-ensemble de données à traiter est enfin obtenu par application des informations de segmentation à la pluralité de données d’entrée.
L’invention permet ainsi de réduire la quantité de données à coder et à transmettre à un équipement récepteur distant embarquant un dispositif de traitement similaire à ceux mis en œuvre par un équipement émetteur, tout en préservant la qualité du traitement de ces données.
L’invention s’applique à tout type de données d’entrée et elle est indépendante de la technique d’intelligence artificielle mise en œuvre par le module de segmentation automatique, pourvu qu’il puisse être configuré à l’aide d’une pluralité de poids de configuration associés à la pluralité de données d’entrée.
L’invention trouve une application particulière dans un système de navigation libre au sein d’une vidéo multi-vues, par exemple embarqué dans un équipement terminal, par exemple de type téléphone mobile ou casque de réalité virtuelle. Dans ce cas, le traitement comprend la synthèse d’une vue supplémentaire, souhaitée par l’utilisateur de l’équipement terminal, à partir des données segmentées.
Bien sûr, l’invention ne se limite pas à ce cas d’usage, mais peut s’applique à toute autre pluralité de données acquises par des capteurs, comme par exemple des capteurs de mesures physiologiques d’un patient.
Dans la suite, nous nous attacherons à décrire des exemples de mise en œuvre de l’invention pour ces deux cas d’usage particuliers.
On désigne ci-après par scène au sens large tout objet, sujet ou pluralité d’objets ou sujets dans leur environnement.
En relation avec la , on s’attache maintenant à présenter un exemple d’architecture d’un système S selon l’invention, comprenant un équipement serveur ES configuré pour recevoir des données d’entrée acquises par une pluralité de capteurs C1, C2, …CN. En l’espèce, il s’agit d’une pluralité de caméras et les données d’entrée reçues sont une pluralité de séquences vidéo prises selon différents points de vue d’une scène SC, appelée aussi vidéo multi-vues VMV.
Dans cet exemple, l’équipement serveur ES comprend un module d’émission-réception E/R, un dispositif de segmentation 100 selon l’invention, un dispositif de traitement PROC1, SYNT1 de la pluralité de données d’entrée et un dispositif de codage 200 des données segmentées selon l’invention. Un tel équipement serveur ES est configuré pour émettre les données codées, par exemple sous forme de flux de données STR ou de fichier FD, à l’aide de son module E/R. Il comprend aussi une mémoire MESdans laquelle il stocke par exemple les données codées.
Selon l’invention, le dispositif de segmentation 100 est configuré pour déterminer des valeurs de poids à appliquer à la pluralité de données d’entrée avant traitement par au moins un dispositif de traitement (PROC1, SYNT1) configuré pour produire un résultat de traitement selon un critère de maximisation d’une mesure de qualité du résultat de traitement des données d’entrée, lesdites valeurs de poids étant déterminées en fonction dudit critère et d’un autre critère de minimisation d’une quantité de données d’entrées à traiter, déterminer des informations de segmentation de ladite pluralité de données d’entrée, unedite information de segmentation d’unedite donnée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, en fonction desdits poids, et obtenir un sous-ensemble de données à traiter par application des informations de segmentation déterminées à ladite pluralité de données d’entrée, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d’entrée associées à une information de segmentation égale à la première valeur.
Dans cet exemple, le système S comprend un module d’intelligence artificielle ou module de segmentation SEG1 comprenant lesdits poids et situé en amont du dispositif de traitement PROC1, SYNT1. Avantageusement, la détermination comprend un apprentissage desdites valeurs de poids, à partir de ladite pluralité de données d’entrée, par rétro-propagation d’un gradient d’une fonction de perte combinant les deux critères.
En variante, le module SEG1 est intégré dans le dispositif 100.
Le dispositif 100 met ainsi en œuvre le procédé de segmentation d’une pluralité de données représentatives d’une scène selon l’invention qui sera détaillé ci-après en relation avec la .
Selon l’invention, le dispositif de codage 200 est configuré pour obtenir des informations de segmentation de la pluralité de données et le sous-ensemble de données à traiter produit par le dispositif de segmentation 100 et pour coder le sous-ensemble de données à traiter et les informations de segmentation obtenues. Sur la , le dispositif 100 est indépendant du dispositif 200, mais selon une variante (non représentée), il est intégré dans le dispositif 200.
Le dispositif 200 met ainsi en œuvre le procédé de codage de données représentatives d’une scène selon l’invention qui sera détaillé ci-après en relation avec la .
Dans cet exemple, le dispositif de traitement PROC1, SYNT1 est configuré pour synthétiser une vue choisie par un utilisateur à partir des vues d’entrée décodées, lorsque celle-ci ne correspond à aucune des vues de la vidéo multi-vues qui ont été transmises dans le flux ou le fichier de données codées STR, FD. On comprend que selon l’invention, le dispositif de traitement PROC1, SYNT1 mis en œuvre dans l’équipement serveur ES n’est utilisé qu’à des fins d’apprentissage du module de segmentation automatique SEG1.
Dans cet exemple, le système S comprend aussi un équipement terminal UE, par exemple un téléphone intelligent ou un casque de réalité augmentée, par exemple de type dispositif de tête ou HMD (de l’anglais, « Head Mounted Device ») porté par un utilisateur UT, distant de l’équipement serveur ES et par exemple connecté à lui par l’intermédiaire d’un réseau de communications RC.
Selon l’invention, l’équipement terminal UE comprend un module E/R d’émission/réception, apte à recevoir le flux ou le fichier de données codées STR, FDpar l’intermédiaire du réseau de communication RC, un dispositif 300 de décodage des données codées reçues, un dispositif de traitement PROC2, SYNT2 des données segmentées, similaire à celui de l’équipement ES, en termes de structure et de configuration, et une mémoire MUE.
Dans cet exemple, le dispositif 300 est configuré pour décoder les données codées reçues et les mettre à disposition du dispositif de traitement PROC2, SYNT2. Selon l’invention, les données codées comprennent les informations de segmentation de la pluralité de données d’entrée (ici la vidéo multi-vues VMV) et le sous-ensemble de données – à traiter, résultant de l’application des informations de segmentation déterminées à ladite pluralité de données d’entrée, produits par le dispositif 100 de l’équipement ES, comme précédemment décrit.
Le dispositif 300 met ainsi en œuvre le procédé de décodage selon l’invention qui sera détaillé ci-après en relation avec la .
Dans l’exemple de la , le dispositif de traitement PROC2, SYNT2 de l’équipement terminal UE est donc configuré pour synthétiser la vue choisie par un utilisateur à partir des autres vues décodées de la vidéo multi-vues, lorsque celle-ci ne correspond à aucune des vues de la vidéo multi-vues transmise dans le flux ou le fichier de données codées STR, FD. Il est similaire au dispositif PROC1, SYNT1 de l’équipement serveur ES, en ce qu’il présente la même structure et la même configuration. Dans un mode de réalisation particulier, les dispositifs de traitement PROC1, PROC2 comprennent eux aussi un module d’intelligence artificielle comprenant une structure de poids, dont les valeurs sont configurées à l’aide d’une technique d’apprentissage machine. Selon ce mode de réalisation, la configuration préalable des deux dispositifs de traitement PROC1, PROC2 (côté ES et UE) est automatiquement apprise à partir d’une même base de données d’entrée par exemple étiquetée et sous la contrainte d’un critère de maximisation d’une mesure de qualité du résultat de traitement.
La mémoire MUEest par exemple utilisée pour stocker la vue supplémentaire synthétisée par le dispositif de traitement PROC2, SYNT2.
En relation avec la , on présente maintenant un autre exemple d’architecture d’un système S’ selon l’invention, comprenant un équipement serveur ES’ configuré pour recevoir des données d’entrée acquises par une pluralité de capteurs S1, S2, …SN, de natures diverses, par exemple ECG, EEG, scanner, IRM, analyse de composition sanguine, radio, etc. En l’espèce, il s’agit d’une pluralité de capteurs physiologiques placés sur ou à proximité d’un patient SB et les données d’entrée reçues sont une pluralité de séquences de mesures physiologiques acquises à différents instants successifs par la pluralité de capteurs. Selon cet exemple, l’équipement serveur ES’ a une structure similaire à celle de l’équipement serveur ES précédemment décrit en relation avec la . Il comprend un dispositif 100’ de segmentation de la pluralité de mesures physiologiques selon l’invention, un module de segmentation SEG1’ des données d’entrée, configuré par le dispositif 100’ pour segmenter les données d’entrée selon l’invention, un dispositif de traitement PROC1,’ DIAG1 des données issues de la segmentation par le module SEG1’, un dispositif 200’ de codage des données segmentées selon l’invention, un module d’émission/réception E/R et une mémoire MES . Les dispositifs 100’ et 200’ sont similaires aux dispositifs 100 et 200 précités. Le dispositif 100’ met ainsi en œuvre le procédé de segmentation de données d’entrée (ici, des mesures physiologiques du patient SB) selon l’invention qui sera détaillé ci-après en relation avec la . Le dispositif 200’ met ainsi en œuvre le procédé de codage de données d’entrée selon l’invention qui sera détaillé ci-après en relation avec la .
Dans cet exemple, le dispositif de traitement PROC1’, DIAG1 est configuré pour traiter les mesures physiologiques fournies par les capteurs pour réaliser un traitement d’aide au diagnostic. On comprend que selon l’invention, côté équipement serveur ES’, ce dispositif de traitement PROC1’, DIAG1 n’est utilisé ici que pour réaliser la configuration du module de segmentation SEG1’ du dispositif 100’ selon l’invention.
Le système S’ comprend aussi un équipement terminal UE’, distant de l’équipement serveur ES’ et connecté à lui par l’intermédiaire du réseau de communication RC. L’équipement UE’ a une structure similaire à celle de l’équipement terminal UE précédemment décrit en relation avec la . Il comprend au moins un dispositif de décodage 300’ similaire au dispositif de décodage 300 précité en relation avec la , un dispositif de traitement PROC2’, DIAG2 préalablement configuré pour traiter la pluralité de données issues des capteurs une fois décodées par le dispositif de décodage 300’, un module d’émission réception E/R et une mémoire MUE’. Le dispositif 300’ est similaire au dispositif 300 précité et met en œuvre le procédé de décodage de données représentatives d’une scène selon l’invention qui sera détaillé ci-après en relation avec la . Avantageusement, il comprend en outre un dispositif d’affichage DISP, par exemple de type écran, qui est utilisé par un utilisateur DOC pour visualiser les mesures physiologiques reçues et décodées par 300’.
On présente désormais, en relation avec la , sous une forme de logigramme, un exemple de mise en œuvre d’un procédé de segmentation d’une pluralité de données d’entrée selon un mode de réalisation de l’invention. Avantageusement, ce procédé est mis en œuvre par le dispositif 100 ou 100’ précité.
On désigne ici par SQ1(t), SQ2(t), …, SQN(t), avec N entier non nul, N séquences temporelles de données acquises par N capteurs placés autour de l’objet, du sujet ou de la scène d’intérêt à Nt instants temporels successifs, avec Nt entier non nul, par exemple la scène SC ou le patient SB des figures 4 et 5. On suppose que les N séquences sont obtenues en 60. En 61, les valeurs de poids d’un module de segmentation SEG1 (resp. SEG1’), à appliquer aux données d’entrée, sont déterminées. Par exemple, le module SEG1 (resp. SEG1’) est un module d’intelligence artificielle capable d’apprendre, à partir des données d’entrées SQ1(t), SQ2(t), …, SQN(t), celles qui sont utiles à un dispositif de traitement PROC1 (resp. PROC1’) situé en aval (la sortie du module SEG1 (resp. SEG1’) est connectée à l’entrée du dispositif de traitement PROC1 (resp. PROC1’)) et préalablement configuré pour appliquer un traitement prédéterminé à la pluralité de données d’entrée, et celles qui ne le sont pas. Selon l’invention, le module de segmentation SEG1 (resp. SEG1’) est structuré de sorte à appliquer des poids à la pluralité de données d’entrée, dont la valeur est déterminée au cours de cet apprentissage. Avantageusement, le module de segmentation SEG1 (resp. SEG1’) comprend autant de poids que de données d’entrée. Ces poids ont par exemple des valeurs flottantes comprises entre 0 et 1 et leur application (multiplication) à la valeur d’une donnée d’entrée a pour effet de maintenir « allumée » ou « d’éteindre » cette donnée, avant sa prise en compte par le dispositif de traitement PROC1 (resp. PROC1’).
Par exemple, dans une configuration particulière du module de segmentation automatique SEG1 (resp. SEG1’), ces poids sont répartis dans des couches successives associées à chacune des N séquences de données d’entrée à chacun des Nt instants de chaque séquence. Par exemple, lorsque les séquences d’entrée sont des séquences d’images, le module SEG1 comprend N x Nt couches, avec une couche par image ou vue et par instant temporel t, dont les dimensions correspondent respectivement à celles des images des N séquences.
Selon l’invention, l’apprentissage se fait sur la base d’un premier critère de performance du module de segmentation SEG1 (resp. SEG1’), qui est ici un critère d’optimisation d’une quantité de données à présenter au dispositif de traitement PROC1 (resp. PROC1’), mais aussi sur la base d’un deuxième critère de performance, propre au dispositif de traitement PROC1 (resp. PROC1’) lui-même, qui est un critère d’optimisation d’une qualité du traitement. Cette prise en compte de la combinaison des deux traitements successifs et la satisfaction de ces deux critères de performance permettent de garantir que l’élagage de données d’entrée par le module de segmentation SEG1 (resp. SEG1’) ne se fait pas au détriment des performances du dispositif de traitement PROC1 (resp. PROC1’).
Par exemple, le premier critère comprend une minimisation d’une amplitude des valeurs cumulées des poids des couches du module de segmentation SEG1, SEG1’. Selon une variante, il comprend une minimisation d’un nombre de valeurs de poids supérieures à un seuil donné dans lesdites couches ou une maximisation d’un nombre de valeurs de poids inférieures audit seuil. Selon encore une autre variante, il comprend une minimisation de l’entropie des données d’entrée à la sortie du module de segmentation SEG1, SEG1’, c’est-à-dire une fois qu’on leur a appliqué les valeurs des poids desdites couches. Selon une autre variante, il comprend une minimisation d’une amplitude des valeurs cumulées des données d’entrée conservées dans le sous-ensemble de données à traiter. Selon encore une autre variante, il comprend une minimisation d’un nombre de données d’entrée conservées dans le sous-ensemble de données d’entrées à traiter. Selon encore une autre variante, il comprend une minimisation d’une entropie des valeurs de données d’entrées conservées dans le sous-ensemble de données d’entrées à traiter. Bien sûr, le premier critère peut comprendre aussi une combinaison de plusieurs de ces différents critères.
En 62, des informations de segmentation SGI des données d’entrée sont déterminées à partir des valeurs des poids déterminées pour le module SEG1 (resp. SEG1’). Pour une donnée d’entrée, l’information de segmentation SGI correspondante est positionnée à une première ou à une deuxième valeur distincte de la première, en fonction de la valeur du poids correspondant. Par exemple, la première valeur est supérieure à la deuxième valeur. La valeur du poids est comparée à un seuil donné. Lorsque la valeur du poids est supérieure au seuil, l’information de segmentation est valorisée à la première valeur (qui signifie « utile » donc « allumée »), et à la deuxième valeur (qui signifie « inutile » donc « éteinte ») sinon. Par exemple, pour des données d’entrée de type image de dimension largeur W x hauteur H, les informations de segmentation associées à cette image comprennent une carte de segmentation de même dimension WxH, donc les pixels sont valorisés à un niveau de gris correspondant à « blanc » lorsqu’ils correspondent à des données décidées « utiles » et à un niveau de gris correspondant à « noir », sinon. En variante, la première valeur est égale à 1 et la deuxième est nulle. Les informations de segmentation SGI sont stockées dans une mémoire M1.
En 63, un sous-ensemble de données à traiter USS est obtenu par application des informations de segmentation à la pluralité de données d’entrée SQ1, SQ2, …, SQN et en ne conservant que celles qui sont associées à une information de segmentation valorisée à la première valeur. Par exemple, le sous-ensemble de données à traiter USS est stocké dans la mémoire M1 et pourra être fourni à un codeur.
Optionnellement, selon un mode de réalisation particulier de l’invention, le dispositif de traitement PROC1 (resp. PROC1’) comprend lui aussi un module d’intelligence artificielle présentant une structure de couches comprenant des poids de traitement. On suppose qu’il a été préalablement entraîné, à l’aide d’une base d’apprentissage et de façon connue en soi, à traiter des données d’entrée du type des N séquences temporelles SQ1(t), SQ2(t), …, SQN(t), selon le critère de maximisation d’une mesure de qualité de traitement., On suppose donc que les valeurs de ses poids de traitement ont déjà été déterminées au cours de cet apprentissage préalable.
Selon un premier mode de réalisation de l’invention, les poids de traitement du dispositif de traitement PROC1 (resp. PROC1’) sont figés, c’est-à-dire que leurs valeurs ne sont pas modifiées par la détermination 61.
Selon un deuxième mode de réalisation de l’invention, la détermination 61 s’applique aussi au dispositif de traitement PROC1 (resp. PROC1’) et a pour effet de modifier les valeurs de ses poids de traitement. Les valeurs de poids de traitement modifiées MW sont obtenues en 64. Elles sont fournies à un codeur ou stockées dans la mémoire M1.
Des exemples de mise en œuvre de l’invention dans des cas d’usage particulier seront détaillés ci-après en relation avec les figures 9 à 11.
On présente désormais, en relation avec la , sous une forme de logigramme, un exemple de mise en œuvre d’un procédé de codage d’une pluralité de données d’entrée selon un mode de réalisation de l’invention. Avantageusement, ce procédé est mis en œuvre par le dispositif 200 ou 200’ précité.
En 70, le dispositif 200, 200’ obtient N séquences temporelles de données d’entrée SQ1(t), SQ2(t), …, SQN(t), avec N entier non nul, acquises par N capteurs placés autour de l’objet, du sujet ou de la scène d’intérêt. En 71, il obtient une segmentation de ces données réalisée par le procédé de segmentation selon l’invention qui vient d’être décrit en relation avec la . On suppose que le dispositif 200, 200’ obtient au moins les informations de segmentation SGI et le sous-ensemble de données à traiter USS fournis par le procédé de segmentation selon l’invention. Avantageusement, il obtient aussi des valeurs de poids modifiées MW destinées au dispositif de traitement PROC1, PROC1’.
On note que le dispositif 100, 100’ peut être intégré ou non au dispositif 200, 200’ d’encodage. Dans le premier cas, le dispositif 200, 200’ met directement en œuvre le procédé de segmentation selon l’invention. Dans le deuxième cas, il commande la segmentation des données d’entrée au dispositif 100, 100’ et reçoit les données segmentées en réponse.
En 72, le dispositif 200, 200’ code les données obtenues SGI, USS de façon classique, connue en soi. En 73, les données codées sont stockées en mémoire M2 dans un fichier de données FDou transmises dans un flux de données STR, à un équipement distant, par exemple l’équipement terminal UE, UE’ des figures 4 et 5.
On présente désormais, en relation avec la , sous une forme de logigramme, un exemple de mise en œuvre d’un procédé de décodage de données acquises par une pluralité de capteurs selon un mode de réalisation de l’invention. Avantageusement, ce procédé est mis en œuvre par le dispositif 300 ou 300’ précité.
En 80, les données codées sont obtenues, par exemple d’une mémoire M3 ou bien elles sont reçues par l’intermédiaire d’un réseau de communication, comme par exemple le réseau RC des figures 4 et 5.
Selon l’invention, les données codées comprennent au moins les informations de segmentation SGI et le sous-ensemble de données à traiter USS, les informations de segmentation SGI permettant d’identifier les données à traiter du sous-ensemble USS dans les N séquences de données d’entrée attendues par le décodeur.
En 81, les données codées sont décodées de façon connue en soi. Un sous ensemble de données à traiter décodées USSD et des informations de segmentation décodées SGID sont obtenues. Optionnellement, dans un mode de réalisation particulier, des valeurs de poids de traitement modifiées décodées MWD destinées au dispositif de traitement PROC2 (resp. PROC2’) sont aussi obtenues.
En 82, les informations de segmentation décodées SGID et le sous ensemble de données à traiter décodées USSD sont utilisés pour construire des séquences de données décodées segmentées SQ1DS(t), SQ2DS (t), …, SQNDS(t) à présenter au dispositif de traitement PROC2, PROC2’. Si des valeurs modifiées de poids décodées MWD ont été obtenues, elles sont préalablement appliquées à un dispositif de traitement PROC2, PROC2’ de structure et de configuration initiale similaires au dispositif de traitement PROC1, PROC1’ côté encodeur. Une fois la configuration effectuée, les séquences de données décodées segmentées SQ1DS(t), SQ2DS(t), …, SQNDS(t) sont fournies au dispositif PROC2, PROC2’ pour traitement.
On s’attache désormais à décrire un premier exemple de mise en œuvre de l’invention, en relation avec les figures 9 et 10.
Comme dans les figures 1 et 4, on considère une scène SC capturée par un ensemble de N caméras C1, C2, …, CN. Chaque caméra observe la scène depuis un point de vue donnée et génère à Nt instants t successifs une image ou vue de texture T1, T2, …, TN correspondant à ce point de vue.
Le traitement à appliquer aux données d’entrée correspond ici à une synthèse de vue. Il s’agit en particulier de synthétiser une vue supplémentaire associée à un point de vue supplémentaire PVS distinct des N points de vue des N caméras. Le dispositif de synthèse en question est configuré pour prendre en entrée tout ou partie des N images T1(t), T2(t), …, TN(t) et leurs paramètres intrinsèques (focale, résolution du capteur, nombre de composantes de couleurs, etc.) et extrinsèques (position dans l’espace, orientation, etc.) des N caméras, ainsi que les coordonnées du point de vue supplémentaire PVS de la scène, et pour produire en sortie l’image ou vue supplémentaire TS. Dans cet exemple, on suppose que le dispositif de synthèse SYNT1, SYNT2 comprend un réseau de neurones de type IBRNet. Un tel réseau présente une structure en M couches successives L’1, L’2, …, L’M, avec M entier non nul, connectées entre elles de sorte que la sortie d’une couche amont soit présentée en entrée de la couche aval suivante. Chaque couche présente des poids de configuration WjL’i, avec i entier compris entre 1 et M et j entier compris entre 1 et un nombre de poids de traitement associé à la couche i, dont les valeurs sont déterminées au cours d’un apprentissage préalable.
En relation avec la , on décrit d’abord les opérations mises en œuvre côté encodeur, c’est-à-dire au niveau de l’équipement serveur ES de la . Selon l’invention, le module de segmentation automatique SEG1 présente lui aussi la structure d’un réseau de neurones en couches, qu’on appelle aussi couches de pertinence, du fait que les valeurs de ses poids sont destinées à indiquer in fine un niveau de pertinence ou d’utilité d’une donnée d’entrée en vue de son traitement ultérieur par le dispositif de synthèse SYNT1.
Selon ce mode de réalisation de l’invention, le module de segmentation automatique comprend autant de couches L1, L2, …, LN que d’images d’entrée T1(t), T2(t), …, TN(t) à un instant donné t. Par simplicité, dans la suite, on se place à cet instant t donné et on désignera par T1, T2, …, TN la séquences d’images d’entrée correspondante.
Avantageusement, chaque couche Li, avec i compris entre 1 et N, présente les mêmes dimensions que l’image ou vue d’entrée correspondante. Par exemple, si les images d’entrée sont de taille WxH pixels, la couche Li est également de taille WxH, c’est-à-dire qu’elle comprend WxH poids, chaque poids étant un unique coefficient multiplicateur de la valeur scalaire (niveau de gris) ou vectorielle (triplet RGB ou YUV) associé au pixel correspondant de l’image d’entrée. Avantageusement, le coefficient multiplicateur est un réel flottant.
En variante, les poids de chaque couche Li prennent des valeurs binaires. Si le bit de poids a la valeur 1, le pixel associé est transmis sans changement à l’entrée du dispositif de traitement SYNT1, sinon le pixel associé n’est pas transmis au dispositif de traitement SYNT1 ou bien il est transmis avec une valeur prédéfinie (par exemple -1) pour indiquer qu’il n’est pas utile.
Le réseau de neurones du module de segmentation SEG1 est ensuite soumis à un apprentissage, de sorte à affecter des valeurs adéquates aux poids de ces différentes couches afin qu’iI exécute la tâche attendue (ici, la synthèse d’une vue supplémentaire) de façon satisfaisante.
Selon ce mode de réalisation de l’invention, en réalité, c’est un réseau de neurones CRN1 combinant les N couches L1, L2, …, LN du module de segmentation SEG1 et les M couches L’1, L’2, …, L’M du dispositif de traitement PROC1 qui est soumis à cet apprentissage. A cette fin, on utilise deux critères de performance distincts, ici appelés fonctions de perte. Le premier critère concerne une perte liée à la tâche du réseau de neurones du dispositif de synthèse SYNT1, et mesure une qualité de l’image synthétisée et le deuxième concerne une perte liée à la segmentation des données d’entrée par le réseau de neurones du module SEG1 et mesure l’amplitude cumulée des valeurs des poids de ses couches L1, …, LN. On définit une fonction de perte globale prenant en compte ces deux critères. Un exemple est détaillé ci-après.
Concrètement, l’apprentissage est similaire à celui décrit dans le document de Wang et al. déjà cité. Brièvement, cet apprentissage fonctionne de la manière suivante :
pour chaque valeur j dans 1, ..., N, on demande au réseau combiné CRN1 de générer la vue Tj à partir des autres vues. Puisqu’on dispose de la vue originale Tj associée au point de vue PVj, il est possible d’évaluer la qualité de la synthèse réalisée par le dispositif PROC1, par exemple en calculant une différence (par exemple, basée sur l’erreur quadratique moyenne) entre la vue synthétisée TSj et la vue originale Tj. Cette différence est ensuite utilisée pour calculer un gradient qui est rétro-propagé jusqu’à la couche Lj du module SEG1 de façon connue en soi. On note que lorsque le dispositif de synthèse n’est pas basé sur une méthode d’intelligence artificielle, le gradient calculé est simplement propagé dans la couche Lj.
Par exemple, la fonction de perte globale à minimiser est la suivante (où ||.|| est la norme L2), basée sur la racine carrée de la somme des carrés des coordonnées d’un vecteur) :
||TSj-Tj||+λ.||PLj||

λ est un paramètre fixé par l’utilisateur qui permet de déterminer un choix entre la minimisation de la taille des zones segmentées (λ élevé) ou la performance de synthèse de vue (λ faible). Il s’agit d’un réel positif, qui peut être plus grand ou plus petit que 1. PLj désigne une concaténation vectorielle des WxH poids des N couches Li.
Selon une première option, les poids du réseau de neurones du dispositif de synthèse SYNT1 sont fixes et ne sont pas modifiés par l’apprentissage du module SEG1. Autrement dit, seuls les poids des couches L1, L2, …, LN du module SEG1 sont optimisés au sens de la fonction de perte.
En variante, les poids des couches du réseau du dispositif de traitement SYNT1 peuvent varier. Avantageusement, ils sont optimisés au cours de l’apprentissage du module SEG1, qui devient un apprentissage de la combinaison du module SEG1 et du dispositif SYNT1. Dans ce cas, les valeurs modifiées MWL’1, MWL’2, …, MWL’M des poids de traitement du dispositif SYNT1 sont obtenues et stockées en vue de leur transmission, par exemple à l’équipement terminal UE de la .
Une fois l’apprentissage (61) terminé, on détermine en 62 les informations de segmentation SGI des données d’entrée T1, T2, …, TN.
Selon ce mode de réalisation de l’invention, chaque couche L1, L2, …, LN du module SEG1 est transformée en une carte de segmentation SGI1, SGI2, …, SGIN de la vue T1, T2, …, TN associée. On note que dans cet exemple, une carte de segmentation d’une image ou vue donnée est une carte présentant les mêmes dimensions que cette image, et dont les éléments ou pixels sont valorisés à une première valeur par exemple la valeur 1, signifiant que le pixel associé dans l’image Tj est utile pour la tâche ultérieure du dispositif de traitement PROC1, la valeur 0 signifiant que le pixel associé dans l’image Tj n’est pas utile pour ce dispositif de traitement.
Avantageusement, lorsque les valeurs des poids des couches L1, L2, …, LN sont des réels flottants, par exemple compris entre 0 et 1, la détermination de la valeur correspondante de la carte de segmentation se fait par comparaison de chaque poids à un seuil donné, par exemple égal à 0.01. Si la valeur du poids est inférieure à ce seuil, alors le pixel correspondant de la carte de segmentation est mis à 0, sinon ce pixel est mis à 1.
En variante, lorsque les valeurs des poids sont binaires, elles sont directement copiées dans la carte de segmentation SGIi correspondante (la carte SGIi est égale à la carte des poids de la couche Li).
Les vues T1, T2, …, TN sont ensuite codées (72) par le dispositif de codage 200 à l’aide des cartes de segmentation SG1, SG2, …, SGN. Avantageusement, on utilise une méthode de codage d’une vidéo multi-vues, préférentiellement le standard MIV. En variante on peut recourir à d’autres standards comme par exemple MV-HEVC ou encore 3D HEVC.
Selon le standard MIV, à un instant t, des parties de vues T1(t), T2(t), …, TN(t), appelées patches, sont disposées dans une grande image commune, appelée atlas. Classiquement, ces parties correspondent par exemple au résultat d’une segmentation préalable des vues acquises par les N caméras, destinée à ne conserver que les informations non redondantes entre vues. Par exemple, une partie d’un objet de la scène qui serait visible sur une vue donnée et qui est transmise dans un patch de cette vue n’a plus besoin d’être transmise dans un patch d’une autre vue.
Les atlas correspondant aux différents instants de la vidéo sont ensuite codés comme des vidéo 2D classiques, à l’aide par exemple du standard de codage vidéo HEVC. Le standard MIV fournit en effet une syntaxe qui permet au décodeur d’identifier les patches à l’intérieur des atlas et de les redisposer dans les vues initiales. Les vues décodées puis reconstruites côté décodeur sont donc partielles.
Selon l’invention, la division en patches est effectuée, pour chaque vue Tj, sur la base de la carte de segmentation SGIj produite à partir des valeurs affectées aux poids du module de segmentation automatique à l’issue de l’apprentissage (61).
A cet égard, on note qu’il existe plusieurs façons de créer des patches à partir d’une même carte de segmentation. Par exemple, on constitue autant de patches que de groupes de pixels connexes ayant la valeur « utile » dans la carte de segmentation considérée. En variante, on peut imposer une limite minimale pour constituer un patch à partir d’un tel groupe de pixels connexes. Par exemple, si un groupe de pixels segmentés contient un nombre de pixels inférieur à un premier seuil (par exemple égal à 100 pixels, il ne sera pas pris en compte pour constituer un nouveau patch, mais on cherchera à le rattacher à un groupe de pixels segmentés voisins jusqu’à dépasser cette limite. Selon une autre variante, il est aussi possible de simplement omettre de prendre en compte les groupes de pixels segmentés dont le nombre de pixels est inférieur à un deuxième seuil, inférieur au premier, et par exemple égal à 5.
Les patches ainsi constitués pour une vue donnée Ti(t) sont incorporés dans un atlas avec d’autres patches provenant éventuellement d’autre vues Tj(t) associées au même instant t. Afin de pouvoir reconstituer les vues partielles côté décodeur, il est requis de lui transmettre, donc de coder les informations suivantes :
- la vue à laquelle le patch est associé,
- les coordonnées du patch dans l’atlas,
- une carte d’occupation (en anglais, « Occupancy Map ») du patch dans l’atlas.
On note donc que le standard MIV permet déjà la prise en compte des cartes de segmentation des vues dans le schéma de codage d’une vidéo multi-vues de sorte à ce que seules les données d’entrée du sous-ensemble de données à traiter USS soient codées et transmises à un récepteur (UE).
Une fois les atlas remplis avec tous les patches identifiés dans toutes les vues, les atlas sont codés par un encodeur classique, par exemple conforme au standard HEVC.
Dans un mode de réalisation, la configuration du réseau de neurones du dispositif de synthèse SYNT1 est figée.
Dans un autre mode de réalisation, la configuration du réseau de neurones du dispositif de synthèse SYNT1 est modifiée par l’apprentissage 61 et les valeurs modifiées MWL’1, MWL’2,…, MWL’N des poids de traitement des différentes couches L’1, L’2, …, L’M du réseau de neurones du dispositif de synthèse SYNT1 qui sont également codées (par exemple avec le standard de codage MPEG NNR, de l’anglais « Neural Net Representation »), spécifié dans la partie 17 de la norme MPEG-7, en vue de leur transmission au dispositif de synthèse SYNT2 correspondant côté récepteur (UE). On note qu’ici plusieurs valeurs de poids de traitement modifiées MWL’i peuvent être transmises pour la couche L’i et que cet ensemble de valeurs MWL’i peut prendre la forme d’une carte ou d’une image dont les dimensions sont identiques à celle de la couche L’i concernée.
On suppose que les données codées sont transmises à un équipement récepteur, par exemple l’équipement terminal UE de la , par l’intermédiaire du réseau de communication RC, par exemple sous la forme d’un flux de données codées STR ou d’un fichier de données codées FD.
Elles sont reçues par le dispositif de décodage 300 qui, selon ce mode de réalisation, effectue un décodage des données codées relatives aux vues complètes ou partielles T1, T2, …, TN conformément au standard MIV.
Ce décodage produit les données décodées suivantes :
- une série ou séquence d’atlas,
-pour chaque atlas, des données représentatives des patches qu’il contient et, pour chacun de ces patches :
- la vue à laquelle le patch est associé,
- les coordonnées du patch dans l’atlas, et
- une carte d’occupation du patch dans l’atlas.
A partir de ces données décodées, les vues décodées segmentées T1DS, T2DS, …, TNDS sont reconstruites (82), soit de façon complète ou partielle (selon les informations contenues dans les patches).
Dans le mode de réalisation selon lequel des valeurs de poids MWL’1, MWL’2, …, MWL’M modifiées sont codées, elles sont également décodées puis utilisées pour mettre à jour la configuration des couches du réseau de neurones du dispositif de traitement SYNT2.
Ensuite, les N vues T1DS, T2DS, …, TNDS décodées sont présentées au réseau de neurones correspondant au dispositif PROC2.
On suppose qu’un utilisateur UT souhaite synthétiser une vue supplémentaire selon le point de vue supplémentaire PVS. Dans ce cas, selon l’invention, les vues T1DS, T2DS, …, TNDS décodées segmentées sont présentées à l’entrée du dispositif de synthèse SYNT2 (dont certaines couches L’i ont pu être mises à jour avec les valeurs modifiées de poids MWL’1, MWL’2, …, MWL’M décodées, selon le mode de réalisation considéré. Les coordonnées du point de vue PVS souhaité par l’utilisateur UT sont aussi entrées. Le dispositif SYNT2 produit enfin la vue supplémentaire synthétisée TSj’.
On s’attache désormais à décrire un deuxième exemple de mise en œuvre de l’invention, en relation avec les figures 11 et 12.
En relation avec les figures 5 et 11, on considère un patient SB entouré d’une pluralité de capteurs S1, S2, …, Si, …, SN de natures diverses (ECG, EEG, Scanner, IRM, analyses chimiques, radio, …). Chaque capteur acquiert au moins une donnée T1(Y), T2(Y), …, Ti(Y), …, TN(Y) de type mesure physiologique, image, etc.
Par ailleurs, on suppose que ces données sont ensuite traitées par plusieurs réseaux de neurones R1, R2, ..., Rk, …, RK, avec K entier non nul inférieur ou égal à N, spécialisés chacun dans une tâche de diagnostic ou d’aide au diagnostic. Par exemple, on considère que l’ensemble de ces réseaux forme le dispositif de traitement DIAG1 de la . Ces réseaux sont chacun configurés pour prendre en entrée un sous-ensemble des N données d’entrée T1(Y), …, Ti(y), …, TN(Y) et pour produire en sortie une information de diagnostic Di(Y) (par exemple, présence d’une tumeur, suspicion d’épilepsie, ...) ou une information d’aide au diagnostic (par exemple, une segmentation, c’est-à-dire une délimitation géographique d’une zone susceptible de contenir une tumeur, etc.). Le sous-ensemble de données d’entrée à présenter à chaque réseau de neurones Rk est sélectionné par un algorithme extérieur au réseau de neurones considéré et peut comprendre une partie des ou toutes les données Ti(Y). Des exemples de réseaux de neurones Rk adaptés au diagnostic de pathologies particulières sont donnés dans le document de Zhang et al., intitulé « Multi-channel deep convolutional neural networks for multi-classifying thyroid disease”, publié par le site https://arxiv.org/abs/2203.03627, en mars 2022, dans le document Dehghani et al., intitulé « Joint brain tumor segmentation from multi MR sequences through a deep convolutional neural network”, publié par le site https://arxiv.org/abs/2203.03338, en mars 2022, et dans le document de Salafian et al., intitulé « CNN-Aided Factor Graphs with Estimated Mutual Information Features for Seizure Detection”, publié par le site https://arxiv.org/abs/2203.05950, en mars 2022.
Le traitement à appliquer aux données d’entrée de chacun des réseaux Rk correspond donc ici à un traitement d’aide au diagnostic.
Dans cet exemple, on suppose que chaque dispositif de traitement DIAG11, DIAG12, …, DIAG1K comprend un réseau de neurones en couches R1, R2, …, RK. chacun de ces réseaux Rk présente une structure en couches successives, connectées entre elles de sorte que la sortie d’une couche amont soit présentée en entrée de la couche aval suivante. Chaque couche présente des poids de configuration dont les valeurs sont ajustées au cours d’un apprentissage préalable.
En relation avec la , on décrit d’abord les opérations mises en œuvre côté encodeur, c’est-à-dire au niveau de l’équipement serveur ES’ de la . Dans cet exemple, on considère K modules de segmentation SEG11’, SEG1k’, …, SEG1K’, présentant chacun la structure d’un réseau de neurones en couches, ou couches de pertinence, du fait que les valeurs de ses poids sont destinées à indiquer in fine un niveau de pertinence ou d’utilité d’une donnée d’entrée en vue de son traitement ultérieur par le réseau de neurones R1, R2, …, RK correspondant du dispositif de traitement concerné DIAG11, DIAG1k, …, DIAG1K.
Selon ce mode de réalisation de l’invention, chaque module de segmentation SEG1k’ comprend autant de couches L1, L2, …, LN que données d’entrée destinées au réseau Rk. Selon une variante non représentée, on peut mutualiser les couches de segmentation de sorte que le module de segmentation SEG1 compte une couche Li par type de donnée d’entrée Ti et que les données segmentées correspondantes soient adressées à chacun des réseaux Rk qui en ont besoin. Par exemple, dans la , le réseau Rk, qui reçoit les données T3, T8 et T9, est connecté en entrée aux couches L3(y), L8(y) et L9(y).
Avantageusement, chaque couche Lik(y) du module SEG1k’ a la même taille que la donnée d’entrée associée. Par exemple, si les données d’entrée sont de taille H paramètres, la couche Li(y) est également de taille H poids, chaque poids étant un unique coefficient multiplicateur associé à une donnée (cette donnée ayant par exemple une valeur scalaire ou vectorielle).
Dans un mode de réalisation particulier, les poids de chaque couche Lik(y) du module de segmentation SEG1k’ prennent des valeurs binaires. Si le bit de poids a la valeur 1, la donnée ou paramètre associée est transmise au réseau Rk, sinon elle n’est pas transmise. On note que, dans ce dernier cas, une valeur prédéfinie (par exemple égale à -1) est transmise au dispositif de traitement DIAG1k.
Selon l’invention, on effectue un apprentissage des réseaux combinant un certain nombre de couches Li(Y) et les couches (non représentées) des réseaux Rk, à l’aide d’une fonction de perte qui combine la perte liée à la tâche des réseaux Rk (à savoir la qualité du diagnostic) et une perte représentative de l’amplitude cumulée des poids des couches Ci(Y). On appelle CRk le réseau obtenu en combinant la ou les couches d’entrée Li(Y) avec le réseau Rk. Avant de réaliser cet apprentissage des réseaux des modules de segmentation SEG1k’, on présente la séquence de données d’entrée T1(y), T2(y)…(TN(y) à chacun des réseaux Rk de sorte à obtenir des diagnostics originaux Dk(y).
Ensuite, l’apprentissage, connu en soi, fonctionne de la façon suivante. Pour chaque valeur k dans 1, ..., K, on va essayer de maximiser la capacité de diagnostic du réseau CRk à partir des données. Puisqu’on dispose du diagnostic original Dk(y), il est possible de calculer une différence entre ce diagnostic original et la sortie du réseau CRk (par exemple, l’erreur numérique de diagnostic). Cette différence est utilisée pour calculer un gradient qui est rétro-propagé dans les poids du réseau combiné CRk à optimiser, selon la formule connue.
On désigne ci-après par Destk la valeur du diagnostic généré par CRk(Y) et Dk(y) le diagnostic original. La fonction de perte à minimiser est la suivante (où ||.|| est la norme L2) peut s’exprimer comme suit :
||Destk-Dk(y)||+ λ.|| PLi||

λ est un paramètre fixé par l’utilisateur qui permet de déterminer un choix entre la minimisation de la taille des zones segmentées (λ élevé) ou la performance de diagnostic (λ faible) et λPLi est une concaténation vectorielle des poids de K couches Li présentes dans le réseau de neurones du module de segmentation SEG1k’ en entrée du dispositif de traitement DIAG1k. Il s’agit de réels positifs qui peuvent être plus grands ou plus petits que 1.
Dans un premier mode de réalisation de réalisation, les poids du réseau Rk contenu dans le réseau de neurones CRk sont fixes lors de l’apprentissage, seuls les poids des couches Li du réseau du module de segmentation SEG1k’ sont optimisés au sens de la fonction de perte explicitée ci-dessus.
Dans un deuxième mode de réalisation, les poids des couches du réseau Rk sont elles aussi modifiées par l’apprentissage. Leurs valeurs modifiées (non représentées) sont stockées en mémoire.
On transforme ensuite chaque couche Lik du réseau SEG1k’ issue de l’apprentissage en une carte de segmentation SGIi des données associées. Une carte de segmentation est une carte de la même taille que les données, contenant pour chaque paramètre de la donnée la valeur 0 ou 1, 0 signifiant que le paramètre associé dans la donnée n’est pas utilisé pour la tâche ultérieure de diagnostic, la valeur 1 signifiant le contraire.
Avantageusement, lorsque les valeurs des poids des couches Li sont des réels flottants, par exemple compris entre 0 et 1, la détermination de la valeur correspondante de la carte de segmentation se fait par comparaison de chaque poids à un seuil donné, par exemple égal à 0.01. Si la valeur du poids est inférieure à ce seuil, alors la donnée correspondante de la carte de segmentation est mise à 0, sinon elle est mise à 1.
En variante, lorsque les valeurs des poids sont binaires, elles sont directement copiées dans la carte de segmentation SGIi correspondante (la carte SGIi est égale à la carte des poids de la couche Ci).
On code ensuite les parties segmentées des données d’entrée T1(y), T2(y), …, TN(y), c’est-à-dire l’ensemble de données à traiter USS obtenu en appliquant les cartes de segmentation SGIi obtenues à chacune des N séquences de données d’entrée. Par exemple, on utilise un standard de type MPEG NNR ou gzip.
Il est aussi nécessaire de coder également la carte de segmentation, sous forme par exemple d’une série de valeurs binaires indiquant pour chaque paramètre ou mesure de la séquence Ti considérée s’il/elle est codée ou non.
Les données codées sont stockées en mémoire et/ou transmises dans un fichier de données ou un flux de données.
En relation avec la , on considère maintenant un récepteur du flux de données codées STR ou du fichier de données codées FD, par exemple l’équipement terminal UE’ de la , ledit récepteur effectuant un décodage des données codées reçues dans le flux STR ou dans le fichier FD. On décode les cartes de segmentation SGD1, SGD2, …, SGDN indiquant quels paramètres des N séquences T1, T2, …, TN ont été transmis et sont donc contenus dans le sous-ensemble de données à traiter, puis on décode les valeurs des paramètres en question (contenues dans le sous-ensemble de données à traiter codé), à l’aide d’une méthode de décodage adaptée et réciproque de celle utilisée lors du codage (décodage MPEG NNR, ou décodage gzip). On obtient un sous-ensemble de données à traiter décodé USSD.
Les séquences de données décodées segmentées T1DS, T2DS, …, TNDS sont ensuite reconstruites respectivement (en 82, par CONST1, CONST2, …, CONSTK) pour chacun des dispositifs de diagnostic DIAG21, DIAG22, …, DIAG2K, qu’elles soient complètes (tous les paramètres de la séquence de données peuvent être reconstruits) ou partielles (les paramètre transmis ne permettent de reconstruire qu’une partie de la séquence) à partir du sous-ensemble de données à traiter décodé USSD et des cartes de segmentation décodées SGD1, SGD2, …, SGDK. Optionnellement, lorsque les données décodées comprennent des valeurs de poids modifiées pour les réseaux Rk, ces valeurs de poids modifiées sont injectées dans les réseaux Rk concernés.
On réalise maintenant un traitement d’aide au diagnostic à l’aide du dispositif DIAG2 de la . Dans cet exemple, un utilisateur (ici un praticien) souhaite effectuer un diagnostic à l’aide d’un réseau Rk de la , par exemple le réseau R2, et de certaines des séquences de données reconstruites, par exemple T3D, T8D et T9D. Les données segmentées T1DS, T2DS, …, TNDS reconstruites au décodage (éventuellement partielles) sont entrées dans les couches Ci, elles-mêmes connectées à l’entrée du réseau CRk du dispositif DIAG2k. Le réseau Rk peut alors produire son diagnostic à partir des seules données segmentées.
On présente maintenant, en relation avec la , un exemple de structure matérielle d’un dispositif 100 de segmentation d’une pluralité de données d’entrée acquises par des capteurs, comprenant un module de détermination de valeurs de poids à appliquer à la pluralité de données d’entrée avant traitement par au moins un dispositif de traitement configuré pour produire un résultat de traitement selon un critère de maximisation d’une mesure de qualité du résultat de traitement des données d’entrée, lesdites valeurs de poids étant déterminées en fonction dudit critère et d’un autre critère de minimisation d’une quantité de données d’entrée à traiter, un module de détermination d’informations de segmentation de ladite pluralité de données d’entrée, unedite information de segmentation d’unedite donnée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, en fonction desdits poids, et un module d’obtention d’un sous-ensemble de données à traiter par application des informations de segmentation déterminées à ladite pluralité de données d’entrée, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d’entrée associées à une information de segmentation égale à la première valeur.
Le terme « module » peut correspondre aussi bien à un composant logiciel qu’à un composant matériel ou un ensemble de composants matériels et logiciels, un composant logiciel correspondant lui-même à un ou plusieurs programmes ou sous-programmes d’ordinateur ou de manière plus générale à tout élément d’un programme apte à mettre en œuvre une fonction ou un ensemble de fonctions.
Plus généralement, un tel dispositif 100 comprend une mémoire vive 103 (par exemple une mémoire RAM), une unité de traitement 102 équipée par exemple d'un processeur, et pilotée par un programme d'ordinateur Pg1, représentatif des modules du dispositif 100 précité, stocké dans une mémoire morte 101 (par exemple une mémoire ROM ou un disque dur). A l'initialisation, les instructions de code du programme d'ordinateur sont par exemple chargées dans la mémoire vive 103 avant d'être exécutées par le processeur de l'unité de traitement 102. La mémoire vive 103 peut aussi contenir les informations de segmentation et le sous-ensemble de données utiles.
La illustre seulement une manière particulière, parmi plusieurs possibles, de réaliser le dispositif 100, 100’ afin qu’il effectue les étapes du procédé de segmentation tel que détaillé ci-dessus, en relation avec les figures 6, 9 et 11 dans ses différents modes de réalisation. En effet, ces étapes peuvent être réalisées indifféremment sur une machine de calcul reprogrammable (un ordinateur PC, un processeur DSP ou un microcontrôleur) exécutant un programme comprenant une séquence d’instructions, ou sur une machine de calcul dédiée (par exemple un ensemble de portes logiques comme un FPGA ou un ASIC, ou tout autre module matériel).
Dans le cas où le dispositif 100 est réalisé avec une machine de calcul reprogrammable, le programme correspondant (c'est-à-dire la séquence d’instructions) pourra être stocké dans un médium de stockage amovible (tel que par exemple une carte SD, une clé USB, un CD-ROM ou un DVD-ROM) ou non, ce médium de stockage étant lisible partiellement ou totalement par un ordinateur ou un processeur.
On présente aussi, en relation avec la , un exemple de structure matérielle d’un dispositif de codage 200, 200’ d’une pluralité de données d’entrée selon l’invention, comprenant au moins un module d’obtention d’informations de segmentation de la pluralité de données d’entrée et d’un sous-ensemble de données à traiter par application desdites informations de segmentation à la pluralité de données d’entrée, ladite segmentation comprenant la détermination de valeurs de poids à appliquer à la pluralité de données d’entrée avant traitement par au moins un dispositif de traitement préalablement configuré pour produire un résultat de traitement en fonction d’un critère de maximisation d’une mesure de qualité du traitement, lesdites valeurs de poids étant déterminées en fonction dudit critère et d’un autre critère de minimisation d’une quantité de données d’entrée à traiter, unedite information de segmentation d’unedite donnée étant valorisée à une première ou à une deuxième valeur distincte de la première, en fonction desdites valeurs de poids, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d’entrée associées à une information de segmentation égale à la première valeur, et un module de codage des informations de segmentation et du sous-ensemble de données à traiter.
Le terme « module » peut correspondre aussi bien à un composant logiciel qu’à un composant matériel ou un ensemble de composants matériels et logiciels, un composant logiciel correspondant lui-même à un ou plusieurs programmes ou sous-programmes d’ordinateur ou de manière plus générale à tout élément d’un programme apte à mettre en œuvre une fonction ou un ensemble de fonctions.
Plus généralement, un tel dispositif 200, 200’ comprend une mémoire vive 203 (par exemple une mémoire RAM), une unité de traitement 202 équipée par exemple d'un processeur, et pilotée par un programme d'ordinateur Pg2, représentatif des modules de segmentation et de codage, stocké dans une mémoire morte 201 (par exemple une mémoire ROM ou un disque dur). A l'initialisation, les instructions de code du programme d'ordinateur sont par exemple chargées dans la mémoire vive 203 avant d'être exécutées par le processeur de l'unité de traitement 202. La mémoire vive 203 peut aussi contenir les informations codées.
La illustre seulement une manière particulière, parmi plusieurs possibles, de réaliser le dispositif 200, 200’ afin qu’il effectue les étapes du procédé de codage tel que détaillé ci-dessus, en relation avec les figures 7, 9 et 11 dans ses différents modes de réalisation. En effet, ces étapes peuvent être réalisées indifféremment sur une machine de calcul reprogrammable (un ordinateur PC, un processeur DSP ou un microcontrôleur) exécutant un programme comprenant une séquence d’instructions, ou sur une machine de calcul dédiée (par exemple un ensemble de portes logiques comme un FPGA ou un ASIC, ou tout autre module matériel).
Dans le cas où le dispositif 200, 200’ est réalisé avec une machine de calcul reprogrammable, le programme correspondant (c'est-à-dire la séquence d’instructions) pourra être stocké dans un médium de stockage amovible (tel que par exemple une carte SD, une clé USB, un CD-ROM ou un DVD-ROM) ou non, ce médium de stockage étant lisible partiellement ou totalement par un ordinateur ou un processeur.
On présente enfin, en relation avec la , un exemple de structure matérielle d’un dispositif 300, 300’ de décodage de données codées, comprenant un module de décodage de données codées comprenant des informations de segmentation d’une pluralité de données acquises par des capteurs, dites données d’entrée, et un sous-ensemble de données à traiter, unedite information de segmentation d’unedite donnée d’entrée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, ledit sous-ensemble de données à traiter ayant été obtenu par application desdites informations de segmentation à la pluralité de données d’entrée, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d’entrée associées à unedite information de segmentation égale à la première valeur, un module de construction d’une pluralité de données d’entrée segmentées décodées à partir du sous-ensemble de données à traiter décodées et des informations de segmentation décodées, et un module de fourniture de la pluralité de données d’entrées segmentées décodées à un dispositif de traitement configuré pour produire un résultat de traitement en fonction d’un critère de maximisation d’une mesure de qualité du traitement.
Le terme « module » peut correspondre aussi bien à un composant logiciel qu’à un composant matériel ou un ensemble de composants matériels et logiciels, un composant logiciel correspondant lui-même à un ou plusieurs programmes ou sous-programmes d’ordinateur ou de manière plus générale à tout élément d’un programme apte à mettre en œuvre une fonction ou un ensemble de fonctions.
Plus généralement, un tel dispositif 300, 300’ comprend une mémoire vive 303 (par exemple une mémoire RAM), une unité de traitement 302 équipée par exemple d'un processeur, et pilotée par un programme d'ordinateur Pg3, représentatif des modules précités, stocké dans une mémoire morte 301 (par exemple une mémoire ROM ou un disque dur). A l'initialisation, les instructions de code du programme d'ordinateur sont par exemple chargées dans la mémoire vive 303 avant d'être exécutées par le processeur de l'unité de traitement 302.
La illustre seulement une manière particulière, parmi plusieurs possibles, de réaliser le dispositif 300, 300’ afin qu’il effectue les étapes du procédé de décodage tel que détaillé ci-dessus, en relation avec les figures 8, 10 et 12 dans ses différents modes de réalisation. En effet, ces étapes peuvent être réalisées indifféremment sur une machine de calcul reprogrammable (un ordinateur PC, un processeur DSP ou un microcontrôleur) exécutant un programme comprenant une séquence d’instructions, ou sur une machine de calcul dédiée (par exemple un ensemble de portes logiques comme un FPGA ou un ASIC, ou tout autre module matériel).
Dans le cas où le dispositif 300, 300’ est réalisé avec une machine de calcul reprogrammable, le programme correspondant (c'est-à-dire la séquence d’instructions) pourra être stocké dans un médium de stockage amovible (tel que par exemple une carte SD, une clé USB, un CD-ROM ou un DVD-ROM) ou non, ce médium de stockage étant lisible partiellement ou totalement par un ordinateur ou un processeur.
L’invention qui vient d’être décrite dans ses différents modes de réalisation présente de nombreux avantages. Elle permet de sélectionner, parmi une pluralité de données représentatives d’une scène, d’un objet ou d’un sujet, avant leur transmission dans un réseau de communication, celles qui seront réellement utiles au traitement de cette pluralité de données par un dispositif de traitement d’un équipement récepteur. L’invention a recours à cette fin à des techniques d’apprentissage machine qu’elle met en œuvre de façon astucieuse pour entraîner spécifiquement au niveau d’un équipement émetteur un module de segmentation automatique à segmenter la pluralité de données d’entrée de sorte à minimiser la quantité de données à transmettre tout en maximisant la qualité du traitement.

Claims (14)

  1. Procédé de segmentation d’une pluralité de données acquises par des capteurs, dites données d’entrée, ledit procédé comprenant :
    - la détermination (61) de valeurs de poids à appliquer à la pluralité de données d’entrée avant traitement par au moins un dispositif de traitement (PROC1, SYNT1, DIAG1) configuré pour produire un résultat de traitement selon un critère d’optimisation d’une qualité du résultat de traitement des données d’entrée, lesdites valeurs de poids étant déterminées en fonction dudit critère et d’un autre critère d’optimisation d’une quantité de données d’entrées à traiter,
    - la détermination (62) d’informations de segmentation (SGI) de ladite pluralité de données d’entrée, unedite information de segmentation d’unedite donnée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, en fonction desdits poids, et
    - l’obtention (63) d’un sous-ensemble de données à traiter par application des informations de segmentation déterminées à ladite pluralité de données d’entrée, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d’entrée associées à une information de segmentation égale à la première valeur.
  2. Procédé de segmentation selon la revendication précédente, caractérisé en ce que la détermination (61) comprend un apprentissage desdites valeurs de poids, à partir de ladite pluralité de données d’entrée, ledit apprentissage étant réalisé par rétro-propagation d’un gradient d’une fonction de perte combinant les deux critères.
  3. Procédé de segmentation selon l’une quelconque des revendications 1 et 2, caractérisé en ce que, ledit dispositif de traitement (PROC1, SYNT1, DIAG1) comprenant des poids, dits poids de traitement, des valeurs desdits poids de traitement ayant été préalablement déterminées en fonction du critère d’optimisation de la qualité du résultat de traitement des données d’entrée, le procédé comprend en outre la détermination (64) de valeurs modifiées desdits poids de traitement.
  4. Procédé de segmentation d’une pluralité de données selon l’une quelconque des revendications 2 et 3, caractérisé en ce que ladite pluralité de données d’entrée comprenant une pluralité de vues acquises par une pluralité de caméras, unedite vue comprenant des pixels, lesdits poids étant compris dans une pluralité de couches, unedite couche étant associée à unedite vue et comprenant undit poids par pixel, et en ce que les informations de segmentation comprennent une pluralité de cartes de segmentation, unedite carte étant associée à unedite vue.
  5. Procédé de segmentation d’une pluralité de données selon l’une quelconque des revendications 2 et 3, caractérisé en ce que la dite pluralité de données d’entrée comprenant une pluralité de séquences de données de mesures acquises par une pluralité de capteurs, lesdits poids étant compris dans une pluralité de couches, unedite couche étant associée à unedite séquence de données de mesures et comprenant undit poids par donnée de mesures et en ce que les informations de segmentation comprennent une pluralité de séquences de segmentation, unedite séquence de segmentation étant associée à unedite séquence de données de mesure.
  6. Procédé de codage d’une pluralité de données acquises par des capteurs, dites données d’entrée, caractérisé en ce qu’il comprend :
    - l’obtention (71) d’informations de segmentation (SGI) de la pluralité de données d’entrée et d’un sous-ensemble de données (USS) à traiter par application desdites informations de segmentation à la pluralité de données d’entrée, ladite segmentation comprenant la détermination de valeurs de poids à appliquer à la pluralité de données d’entrée avant traitement par au moins un dispositif de traitement (PROC1, SYNT1, DIAG1) préalablement configuré pour produire un résultat de traitement en fonction d’un critère d’optimisation d’une qualité du traitement, lesdites valeurs de poids étant déterminées en fonction dudit critère et d’un critère d’optimisation d’une quantité de données d’entrée à traiter, unedite information de segmentation d’unedite donnée étant valorisée à une première ou à une deuxième valeur distincte de la première, en fonction desdites valeurs de poids, le sous-ensemble (USS) de données à traiter comprenant les données de la pluralité de données d’entrée associées à une information de segmentation égale à la première valeur, et
    - le codage (72) des informations de segmentation et du sous-ensemble de données à traiter.
  7. Procédé de codage selon la revendication précédente, caractérisé en ce que l’obtention comprend en outre :
    - l’obtention (71) de valeurs de poids modifiées (MW), lesdits poids étant destinés à être appliqués aux données d’entrée par le dispositif de traitement (PROC1, SYNT1, DIAG1), des valeurs desdits poids préalablement déterminées en fonction dudit critère d’optimisation d’une qualité du résultat de traitement des données d’entrée et pour le traitement de la pluralité de données d’entrée, ayant été modifiées en fonction desdits critères, pour le traitement du sous-ensemble de données à traiter,
    - le codage (72) desdites valeurs de poids modifiées.
  8. Procédé de décodage de données codées, caractérisé en ce qu’il comprend :
    - le décodage (81) de données codées, lesdites données codées comprenant des informations de segmentation (SGI) d’une pluralité de données acquises par des capteurs, dites données d’entrée, un sous-ensemble (USS) de données à traiter par un dispositif de traitement configuré pour appliquer des poids à la pluralité de données d’entrée décodées et pour produire un résultat de traitement en fonction d’un critère d’optimisation d’une qualité du traitement, unedite information de segmentation d’unedite donnée d’entrée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, ledit sous-ensemble de données à traiter ayant été obtenu par application desdites informations de segmentation à la pluralité de données d’entrée, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d’entrée associées à unedite information de segmentation égale à la première valeur, lesdites données codées comprenant en outre des valeurs modifiées desdits poids, lesdites valeurs modifiées ayant été déterminées pour le traitement de la pluralité de données d’entrée segmentées, en fonction du critère d’optimisation d’une qualité du traitement et d’un critère d’optimisation d’une quantité de données du sous-ensemble de données à traiter,
    - la construction (82) d’une pluralité de données d’entrée segmentées (SQ1DS(t), SQ2DS (t), …, SQNDS(t)) décodées à partir du sous-ensemble de données à traiter décodées et des informations de segmentation décodées, et
    - la fourniture (83) de la pluralité de données d’entrées segmentées décodées et des valeurs modifiées desdits poids au dispositif de traitement.
  9. Signal portant des données codées, lesdites données codées comprenant des informations de segmentation d’une pluralité de données acquises par des capteurs, dites données d’entrée, un sous-ensemble de données à traiter obtenu par application desdites informations de segmentation à ladite pluralité de données d’entrée, unedite information de segmentation d’unedite donnée d’entrée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d’entrée associées à une information de segmentation égale à la première valeur, ledit sous-ensemble de données à traiter étant destiné à être décodé, puis utilisé pour reconstruire une pluralité de données d’entrée segmentées décodées à partir des informations de segmentation décodées, en vue du traitement de ladite pluralité de données d’entrée segmentées par un dispositif de traitement, configuré pour produire un résultat de traitement en fonction d’un critère d’optimisation d’une qualité du traitement, en appliquant des poids à la pluralité de données d’entrée lesdites,
    lesdites données codées comprenant en outre des valeurs modifiées desdits poids, lesdites valeurs modifiées ayant été déterminées pour le traitement de la pluralité de données d’entrée segmentées, en fonction du critère d’optimisation d’une qualité du traitement et d’un critère d’optimisation d’une quantité de données du sous-ensemble de données à traiter, et étant destinées à être utilisées par ledit dispositif de traitement pour mettre à jour lesdits poids avant le traitement de la pluralité de donnée d’entrée segmentées décodées reconstruites.
  10. Dispositif (100) de segmentation d’une pluralité de données acquises par des capteurs, dites données d’entrée, ledit dispositif étant configuré pour mettre en œuvre :
    - la détermination de valeurs de poids à appliquer à la pluralité de données d’entrée avant traitement par au moins un dispositif de traitement (PROC1, SYNT1, DIAG1) configuré pour produire un résultat de traitement selon un critère d’optimisation d’une qualité du résultat de traitement des données d’entrée, lesdites valeurs de poids étant déterminées en fonction dudit critère et d’un critère d’optimisation d’une quantité de données d’entrée à traiter,
    - la détermination d’informations de segmentation de ladite pluralité de données d’entrée, unedite information de segmentation d’unedite donnée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, en fonction desdits poids, et
    - l’obtention d’un sous-ensemble de données à traiter par application des informations de segmentation déterminées à ladite pluralité de données d’entrée, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d’entrée associées à une information de segmentation égale à la première valeur.
  11. Dispositif (200) de codage d’une pluralité de données acquises par des capteurs, dites données d’entrée, caractérisé en ce qu’il est configuré pour mettre en œuvre :
    - l’obtention d’informations de segmentation (SGI) de la pluralité de données d’entrée et d’un sous-ensemble de données à traiter par application desdites informations de segmentation à la pluralité de données d’entrée, ladite segmentation comprenant la détermination de valeurs de poids à appliquer à la pluralité de données d’entrée avant traitement par au moins un dispositif de traitement (PROC1, SYNT1, DIAG1) préalablement configuré pour produire un résultat de traitement en fonction d’un critère d’optimisation d’une qualité du traitement, lesdites valeurs de poids étant déterminées en fonction dudit critère et d’un autre critère d’optimisation d’une quantité de données d’entrée à traiter, unedite information de segmentation d’unedite donnée étant valorisée à une première ou à une deuxième valeur distincte de la première, en fonction desdites valeurs de poids, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d’entrée associées à une information de segmentation égale à la première valeur, et
    - le codage des informations de segmentation et du sous-ensemble de données à traiter.
  12. Dispositif (300) de décodage de données codées, caractérisé en ce qu’il est configuré pour mettre en œuvre :
    - le décodage de données codées, lesdites données codées comprenant des informations de segmentation (SGI) d’une pluralité de données acquises par des capteurs, dites données d’entrée, un sous-ensemble (USS) de données à traiter par un dispositif de traitement configuré pour appliquer des poids à la pluralité de données d’entrée décodées et pour produire un résultat de traitement en fonction d’un critère d’optimisation d’une qualité du traitement, unedite information de segmentation d’unedite donnée d’entrée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, ledit sous-ensemble de données à traiter ayant été obtenu par application desdites informations de segmentation à la pluralité de données d’entrée, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d’entrée associées à unedite information de segmentation égale à la première valeur, lesdites données codées comprenant en outre des valeurs modifiées desdits poids, lesdites valeurs modifiées ayant été déterminées pour le traitement de la pluralité de données d’entrée segmentées, en fonction du critère d’optimisation d’une qualité du traitement et d’un critère d’optimisation d’une quantité de données du sous-ensemble de données à traiter,
    - la construction d’une pluralité de données d’entrée segmentées (SQ1DS(t), SQ2DS (t), …, SQNDS(t)) décodées à partir du sous-ensemble de données à traiter décodées et des informations de segmentation décodées, et
    - la fourniture de la pluralité de données d’entrées segmentées décodées et des valeurs modifiées desdits poids au dispositif de traitement.
  13. Système (S), caractérisé en ce qu’il comprend :
    - un dispositif de segmentation (100) d’une pluralité de données, conforme à la revendication 10, configuré pour produire une pluralité de données segmentées ;
    - un dispositif de codage (200) de la pluralité de données segmentées conforme à la revendication 11 ;
    un dispositif de décodage (300) de données codées conforme à la revendication 12 ; et
    - un dispositif de traitement (PROC2, SYNT2, DIAG2) configuré pour traiter une pluralité de données segmentées décodées reconstruites par le dispositif de décodage (300).
  14. Produit programme d’ordinateur comprenant des instructions de code de programme pour la mise en œuvre d’un procédé selon l’une quelconque des revendications 1 à 8, lorsqu’il est exécuté par un processeur.
FR2206177A 2022-06-22 2022-06-22 Procédé de segmentation d’une pluralité de données, procédé de codage, procédé de décodage, dispositifs, systèmes et programme d’ordinateur correspondants Pending FR3137240A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR2206177A FR3137240A1 (fr) 2022-06-22 2022-06-22 Procédé de segmentation d’une pluralité de données, procédé de codage, procédé de décodage, dispositifs, systèmes et programme d’ordinateur correspondants
PCT/EP2023/065446 WO2023247208A1 (fr) 2022-06-22 2023-06-09 Procede de segmentation d'une pluralite de donnees, procede de codage, procede de decodage, dispositifs, systemes et programme d'ordinateur correspondants

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2206177A FR3137240A1 (fr) 2022-06-22 2022-06-22 Procédé de segmentation d’une pluralité de données, procédé de codage, procédé de décodage, dispositifs, systèmes et programme d’ordinateur correspondants
FR2206177 2022-06-22

Publications (1)

Publication Number Publication Date
FR3137240A1 true FR3137240A1 (fr) 2023-12-29

Family

ID=82943302

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2206177A Pending FR3137240A1 (fr) 2022-06-22 2022-06-22 Procédé de segmentation d’une pluralité de données, procédé de codage, procédé de décodage, dispositifs, systèmes et programme d’ordinateur correspondants

Country Status (2)

Country Link
FR (1) FR3137240A1 (fr)
WO (1) WO2023247208A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021038202A1 (fr) * 2019-08-23 2021-03-04 Oxford University Innovation Limited Traitement d'images en tomographie assistée par ordinateur
US20210383534A1 (en) * 2020-06-03 2021-12-09 GE Precision Healthcare LLC System and methods for image segmentation and classification using reduced depth convolutional neural networks
EP3979644A1 (fr) * 2020-10-02 2022-04-06 Koninklijke Philips N.V. Procédé et appareil de codage et de décodage d'une ou de plusieurs vues d'une scène

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021038202A1 (fr) * 2019-08-23 2021-03-04 Oxford University Innovation Limited Traitement d'images en tomographie assistée par ordinateur
US20210383534A1 (en) * 2020-06-03 2021-12-09 GE Precision Healthcare LLC System and methods for image segmentation and classification using reduced depth convolutional neural networks
EP3979644A1 (fr) * 2020-10-02 2022-04-06 Koninklijke Philips N.V. Procédé et appareil de codage et de décodage d'une ou de plusieurs vues d'une scène

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SALAFIAN ET AL., CNN-AIDED FACTOR GRAPHS WITH ESTIMATED MUTUAL INFORMATION FEATURES FOR SEIZURE DETECTION, March 2022 (2022-03-01), Retrieved from the Internet <URL:https://arxiv.org/abs/2203.05950>
WANG ET AL.: "IBRNet : Leaming Multi-View Image-Based Rendering", ARXIV:2102.13090V2, April 2021 (2021-04-01)

Also Published As

Publication number Publication date
WO2023247208A1 (fr) 2023-12-28

Similar Documents

Publication Publication Date Title
EP0547696B1 (fr) Système de transmission et/ou stockage de signaux correspondant à des images texturées
EP3225029B1 (fr) Procede d&#39;encodage d&#39;image et equipement pour la mise en oeuvre du procede
FR2907575A1 (fr) Procede et dispositif de codage d&#39;images representant des vues d&#39;une meme scene
EP3490255A1 (fr) Compression intelligente de contenus vidéo grainés
EP1591962A2 (fr) Procédé et dispositif de génération de vecteurs candidats pour les systèmes d&#39;interpolation d&#39;images par estimation et compensation de mouvement
EP3449634A1 (fr) Procédé de composition contextuelle d&#39;une représentation vidéo intermédiaire
EP0545475B1 (fr) Méthodes et dispositifs de synthèse de signaux de texture
EP0722251A1 (fr) Procédé d&#39;interpolation d&#39;images
EP0961227A1 (fr) Procédé de détection de la profondeur relative entre deux objects dans une scène à partir d&#39;un couple d&#39;images issues de prises de vues différentes
FR3137240A1 (fr) Procédé de segmentation d’une pluralité de données, procédé de codage, procédé de décodage, dispositifs, systèmes et programme d’ordinateur correspondants
WO2021214395A1 (fr) Procédés et dispositifs de codage et de décodage d&#39;une séquence vidéo multi-vues
FR3057130B1 (fr) Procede de codage d&#39;une image, procede de decodage, dispositifs, equipement terminal et programmes d&#39;ordinateurs associes
EP3158749A1 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
EP3488383B1 (fr) Procede et dispositif d&#39;aide a la navigation d&#39;un vehicule
FR2957744A1 (fr) Procede de traitement d&#39;une sequence video et dispositif associe
FR3107383A1 (fr) Procédé et dispositif de traitement de données de vidéo multi-vues
FR2888346A1 (fr) Procede et dispositif d&#39;obtention d&#39;une sequence d&#39;images stereoscopiques a partir d&#39;une sequence d&#39;images monoscopiques
FR3124301A1 (fr) Procédé de construction d’une image de profondeur d’une vidéo multi-vues, procédé de décodage d’un flux de données représentatif d’une vidéo multi-vues, procédé de codage, dispositifs, système, équipement terminal, signal et programmes d’ordinateur correspondants.
EP2364552A1 (fr) Dispositif d&#39;encodage d&#39;un flux d&#39;images numeriques et dispositif de decodage correspondant avec approximation du voisinage d&#39;un bloc par le voisinage elargi du bloc
EP4085613A1 (fr) Synthese iterative de vues a partir de donnees d&#39;une video multi-vues
FR2929431A1 (fr) Procede et dispositif de classification des echantillons representatifs d&#39;un signal numerique d&#39;image
FR3047381A1 (fr) Procede et dispositif d&#39;encodage d&#39;un signal numerique multidimensionnel, en particulier un signal d&#39;image, et procede et dispositif correspondants de decodage
WO2022263297A1 (fr) Procédés et dispositifs de décodage d&#39;une partie au moins d&#39;un flux de données, programme d&#39;ordinateur et flux de données associés
FR3036016A1 (fr) Codage/decodage predictif d&#39;images comportant un artefact, utilisant une extrapolation
FR3114716A1 (fr) Codage et décodage d’une vidéo multi-vues

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20231229