INPI-France/Brevets-Francais-2024-Chunked huggingface dataset:
L’invention porte sur une nouvelle méthode d’apprentissage non supervisé d’un modèle d’estimation de flux optique.
Dans le domaine de la vision par ordinateur, une tâche couramment mise en œuvre concerne l’estimation du flux optique. La mesure du flux optique consiste à estimer le mouvement relatif de chaque pixel dans une scène donnée entre plusieurs instants successifs. Autrement dit, le flux optique correspond au déplacement de chaque pixel appartenant à un objet d’une scène entre deux images successives.
L’estimation de la fonction de flux optique est une fonction courante dans le domaine du traitement d’images, de la vision par ordinateur afin de mettre en œuvre des fonctionnalités de détection de mouvement ou de segmentations d’objets en mouvement par rapport à l’arrière-plan ou d’autres techniques de traitement vidéo, par exemple de suivi d’objets ou de détection d’anomalies.
Les méthodes traditionnelles d’estimation du flux optique sont basées sur des problèmes d’optimisation. Cependant des méthodes plus récentes se basent sur des approches d’apprentissage profond qui requièrent l’entrainement d’un réseau de neurones artificiels sur un ensemble de données d’apprentissage.
Le principe des méthodes d’estimation de flux optique par apprentissage machine consiste en l’apprentissage d’une fonction qui minimise une fonction de cout caractéristique d’une erreur entre un flux optique estimé et une vérité terrain. On parle d’apprentissage supervisé lorsque la fonction de coût prend en argument la vérité terrain du flux optique.
Les méthodes d’apprentissage supervisé nécessitent un grand nombre de données d’entrainement pour définir la vérité terrain. Un inconvénient de ces méthodes est qu’il est difficile de générer des données d’entrainement accompagnées de la vérité terrain du flux optique, c’est-à-dire des données annotées avec la valeur réelle du flux optique. En effet, l’annotation de séquences vidéo pour générer des données d’entrainement associées à la vérité terrain du flux optique est un processus très couteux.
Il existe également des méthodes d’apprentissage non supervisé qui ne nécessitent pas de connaitre la vérité terrain du flux optique. Ces méthodes présentent une alternative permettant de résoudre le problème de l’annotation des données d’entrainement pour fournir la vérité terrain du flux optique ou autrement dit le problème d’obtention de la vérité terrain du flux optique associée aux couples d’images des données d’entrainement
Ces méthodes sont basées sur l’optimisation d’une fonction d’erreur dite photométrique qui vise à comparer une image avec sa reconstruction à partir de l’image successive à laquelle est appliquée la fonction de flux optique permettant le déplacement des pixels pour revenir à l’image d’origine. La référence [1] donne un exemple d’une telle méthode.
Un inconvénient de cette méthode est qu’elle n’est pas totalement robuste aux changements d’intensité lumineuse entre deux images successives. Ainsi, un pixel appartenant au même objet dans deux images successives peut être affecté d’un changement d’intensité qui peut être lié à une ombre, une réflexion, ou encore un changement d’orientation du capteur.
Ces changements d’intensité peuvent fausser l’estimation du flux optique et il existe donc un besoin pour une nouvelle méthode d’apprentissage automatique non supervisé qui soit plus robuste aux changements d’intensité entre deux images successives.
L’invention est basée sur l’apprentissage conjoint de deux modèles d’apprentissage, le premier étant dédié à l’apprentissage du flux optique tandis que le second est dédié à l’apprentissage d’une carte de changements d’intensité entre pixels correspondants de deux images successives. Les changements d’intensité appris peuvent ainsi être pris en compte pour corriger la fonction de perte du modèle d’apprentissage destiné au flux optique.
L’invention porte sur une méthode, mise en œuvre par ordinateur, d’apprentissage non supervisé d’un modèle de flux optique à partir d’une séquence d’images, la méthode comprenant l’apprentissage conjoint d’un premier modèle d’apprentissage automatique configuré pour estimer le flux optique F 1 ,F 2 entre deux images successives et d’un second modèle d’apprentissage automatique configuré pour estimer une différence d’intensité lumineuse C 1 ,C 2 entre les pixels correspondants des deux images successives, l’apprentissage conjoint étant réalisé par optimisation d’au moins une première fonction de cout L ph1 caractéristique d’une erreur entre la première image I 1 d’un couple d’images successives I 1 ,I 2 et une version reconstituée de la première image I 1 obtenue en : Appliquant la différence d’intensité lumineuse C 2 estimée entre la seconde image I 2 et la première image I 1 , à la seconde image I 2, de manière à obtenir une seconde image compensée de la différence d’intensité lumineuse C 2 , Appliquant l’estimée du flux optique F 1 entre la première image I 1 et la seconde image I 2 à la seconde image compensée, de manière à obtenir la version reconstituée de la première image I 1.
Selon un aspect particulier de l’invention, l’apprentissage conjoint est réalisé par optimisation d’une première fonction de cout L ph1 caractéristique d’une erreur entre la première image I 1 d’un couple d’images successives I 1 ,I 2 et une version reconstituée de la première image I 1 et d’une seconde fonction de cout L ph2 caractéristique d’une erreur entre la seconde image I 2 et une version reconstituée de la seconde image I 2 .
Selon un aspect particulier de l’invention, le second modèle d’apprentissage automatique reçoit en entrée l’une des images du couple de deux images successives et une version estimée de ladite image en appliquant l’estimée du flux optique à l’autre image dudit couple.
Selon un aspect particulier de l’invention, le second modèle d’apprentissage automatique reçoit en entrée une carte d’occlusions O 1 ,O 2 identifiant, pour chaque image du couple d’images successives, les pixels également visibles dans l’autre image dudit couple et l’au moins une première fonction de coût est pondérée par la carte d’occlusions.
- une troisième contribution liée à l’autodécharge maximale de l’ensemble des éléments électrochimiques 12 de la pluralité, et
- une quatrième contribution liée aux courants d’équilibrage appliqués sur les éléments électrochimiques 12 de la pluralité d’éléments électrochimiques 12.
Plus précisément, dans l’exemple décrit, la première sous-fonction d’estimation SFE1 s’écrit :
Où : DT désigne l’intervalle de temps entre deux itérations (en seconde), SBWB désigne la quantité de charge équilibrée par le circuit d’équilibrage 15 entre les instants et en pourcentage d’état de charge de l’élément électrochimique 12 considéré, ceci correspondant à la formule suivante :
où est l’indice de l’élément électrochimique 12 considérée et est le courant d’équilibrage appliqué à l’élément électrochimique 12 en ampère, MSD % : autodécharge maximale estimée sur l’ensemble des éléments électrochimiques 12 constituant la pluralité :
Où désigne la capacité de la cellule i en et l’auto-décharge de l’élément électrochimique 12 estimée en , et CSD %,i : autodécharge estimée du ième l’élément électrochimique 12 considéré :
Lorsqu’aucun des deux critères n’est vérifié, le calculateur 22 applique une deuxième sous-fonction d’estimation SFE2.
Le calculateur 22 applique donc cette deuxième sous-fonction d’estimation SFE2 lorsque le circuit d’équilibrage 15 est dans l’état actif et que l’instant d’évaluation ne correspond pas au deuxième instant d’estimation.
Comme pour le cas de la première sous-fonction d’estimation SFE1, la deuxième sous-fonction d’estimation SFE2 est une fonction d’estimation appliquée aux valeurs obtenues à l’issue de l’étape de mise en œuvre.
La deuxième sous-fonction d’estimation SFE2 estime trois contributions à la dispersion, à savoir :
- une deuxième contribution liée à l’autodécharge propre à chaque élément électrochimique 12, et
- une troisième contribution liée à l’autodécharge maximale de l’ensemble des éléments électrochimiques 12 de la pluralité.
Plus précisément, dans l’exemple décrit, la deuxième sous-fonction d’estimation SFE2 s’écrit :
Dans chacun des cas, il est ainsi obtenu à la fin une valeur mesurée ou estimée pour la déviation en état de charge SS en prenant en compte les meilleures valeurs disponibles.
Le procédé d’évaluation permet d’obtenir la valeur la plus précise de la déviation en état de charge SS au sein de la pluralité d’éléments électrochimiques 12.
Dans une étape 601 (i=1), une variable i est initialisée, par exemple à 1.
Dans une étape 602 (RANDOM PATCH), postérieure à l’étape 600, une fenêtre de taille pixels est tirée, par exemple de façon aléatoire dans une des images de profondeur. Dans un autre exemple, les images de profondeur sont parcourues fenêtre par fenêtre, de manière déterministe. Une première réalisation de l’étape 602 consiste alors à prendre la première fenêtre d’une première image de profondeur, chaque nouvelle réalisation de l’étape 602 prenant la fenêtre successive à la dernière fenêtre considérée.
Des réalisations de l’étape 602 sont par exemple illustrées dans la . D’une image de profondeur 611, sont par exemple tirées aléatoirement, lors de quatre réalisations différentes de l’étape 602, des fenêtres 612, 614, 616 et 618.
Dans une étape 603 (sd=0 ?), l’écart type des valeurs de profondeur sur la fenêtre sélectionnée est ensuite calculé. Si l’écart type est nul (branche Y), cela signifie qu’il n’y a pas de différence de profondeur dans la fenêtre. Le procédé reprend alors dans une réalisation de l’étape 602, dans laquelle une nouvelle fenêtre de profondeur est considérée. A titre d’exemple, l’écart type sur les valeurs de profondeur de la fenêtre 618 est nul.
Dans le cas où l’écart type des valeurs de profondeur n’est pas nul (branche N), cela signifie que la fenêtre comprend bien un contour et le procédé continue dans une étape 604 (BINARIZATION). A titre d’exemple, les fenêtres 612, 614 et 616 comprennent un contour. Dans l’étape 604, la fenêtre de profondeur est binarisée. A titre d’exemple, les pixels ayant une valeur inférieure à une valeur seuil sont affectés à une valeur minimale, par exemple à la valeur -1, et les pixels ayant une valeur de profondeur supérieure à la valeur seuil sont affectés à une valeur maximale, par exemple la valeur 1. A titre d’exemple, la valeur seuil est la valeur moyenne des valeurs de profondeur sur l’ensemble de la fenêtre.
Dans une étape 605 (ALREADY EXITS ?), la fenêtre binaire générée dans l'étape 604 est comparée à un ensemble de fenêtres binaires, de même taille, compris dans une mémoire non volatile. Si la fenêtre binaire correspond à une autre fenêtre de l’ensemble (branche Y), une valeur d’occurrence, associée à la fenêtre de l’ensemble, est incrémentée dans une étape 606 (INCREMENT). Si la fenêtre binaire générée dans l’étape 604 ne correspond à aucune des fenêtres binaires de l’ensemble (branche N), le procédé continue dans une étape 607 (CREATE) dans laquelle la fenêtre est stockée dans la mémoire, en association avec une valeur d’occurrence initiale, par exemple la valeur 1. L’ensemble de fenêtres binaires constitue alors le dictionnaire de fenêtres binaires mentionné ci-dessus, et chaque fenêtre binaire ajoutée dans l’étape 607 constitue alors une nouvelle entrée du dictionnaire.
Suite à la réalisation de l’étape 606 ou 607, le procédé continue dans une étape 608 (END ?) dans laquelle il est déterminé si le dictionnaire est complet ou non. A titre d’exemple, le dictionnaire est complet si la somme de toutes les valeurs d’occurrence est égale à une valeur déterminant la taille du dictionnaire. Cette taille est par exemple fixée en amont. A titre d’exemple, la taille voulue du dictionnaire est atteinte lorsque la valeur de la variable i décrite en relation avec l’étape 601 est égale à une valeur maximum fixée en amont. Dans un autre exemple, le dictionnaire est complet lorsque qu’il contient un nombre donné de fenêtres binaires.
Si le dictionnaire est complet (branche Y), le procédé se termine dans une étape 609 (END). Le dictionnaire de fenêtres binaires est alors construit et est par exemple prêt à être stocké dans la mémoire non volatile 106 du dispositif 100.
Si, lors de l’étape 608, il est déterminé que le dictionnaire n’est pas complet (branche N), le procédé continue par exemple, dans une étape 610 (i+1) dans laquelle la variable i est incrémentée et le procédé reprend dans une nouvelle réalisation de l’étape 602.
La valeur d’occurrence associée à chaque fenêtre binaire représente alors le nombre de fois que la fenêtre binaire a été générée lors des réalisations de l’étape 604.
A titre d’exemple, suite à la réalisation du dictionnaire, les valeurs d’occurrences associées à chaque fenêtre binaire sont divisées par la somme de toutes les valeurs d’occurrences. Ainsi, on obtient une probabilité associée à chaque fenêtre binaire.
La représente un dictionnaire 700 de fenêtres binaires, par exemple stocké dans la mémoire 106, et construit selon le mode de réalisation décrit en relation avec la . Dans l’exemple de la , le dictionnaire 700 comprend un ensemble de 100 fenêtres binaires. Chaque fenêtre binaire est par exemple associée à une valeur d’occurrence. A titre d’exemple, une fenêtre binaire 702 représentant un contour horizontal est associée à une valeur d’occurrence égale à 1204, signifiant que cette fenêtre a par exemple été obtenue 1244 fois lors de la mise en œuvre du procédé décrit en relation avec la . Une autre fenêtre 704 représentant un contour vertical est associée à une valeur d’occurrence égale à 1001, signifiant que cette fenêtre a par exemple été obtenue 1001 fois lors de la mise en œuvre du procédé décrit en relation avec la . Une autre fenêtre binaire 706, représentant un contour relativement diagonal, est associée à la valeur d’occurrence 85, signifiant que cette fenêtre a par exemple été obtenue 85 fois lors de la mise en œuvre du procédé décrit en relation avec la . Plus la valeur d’occurrence est élevée, plus la fenêtre binaire associée représente un contour apparaissant relativement souvent dans une image de profondeur. A titre d’exemple, les contours horizontaux et verticaux sont les contours apparaissant le plus souvent dans des images de profondeur. Les contours différents, par exemple présentant des parties diagonales, ou en forme de V, sont moins fréquents dans les images de profondeur.
La est une courbe 708 représentant les occurrences de fenêtres binaires dans un dictionnaire comprenant 12000 fenêtres binaires.
A titre d’exemple, les fenêtres binaires sont classées (POSITION) de la valeur d’occurrence (OCCURRENCE) la plus grande à la plus petite. Ainsi, la fenêtre binaire ayant la plus grande occurrence dans le dictionnaire est une fenêtre présentant un contour franc horizontal. Les fenêtres suivantes sont par exemple des rotations de fenêtres ayant un contour vertical ou horizontal. Des fenêtres présentant des formes plus spécifiques et moins fréquentes arrivent en queue du dictionnaire.
Les figures 7A et 7B illustrent des exemples de dictionnaires de fenêtres binaires de taille . Si les fenêtres couvrant l’image brute 204 sont choisies de formes différentes, par exemple de forme rectangulaire, ou par exemple sous forme de L, le dictionnaire de fenêtres binaires comprendra des fenêtres de la forme choisie pour le traitement de l’image brute 204. Le procédé décrit en relation avec la figure 6 est facilement adaptable à des fenêtres autre que carrée. En effet, uniquement l’étape 602 est à adapter et il suffit de sélectionner des fenêtres de forme et de taille voulues dans les images de profondeur.
La figure 8A représente un exemple d’une opération de matriçage d’une fenêtre de taille d’une image brute.
Selon un mode de réalisation, l’image brute est recouverte par une pluralité de fenêtres de sorte que chaque fenêtre est distante par rapport à ses fenêtres voisines par un pas de découpage multiple de la taille du motif de matriçage.
Selon un mode de réalisation, pour chaque fenêtre, la fenêtre binaire est en outre estimée sur la base d’une estimation du coefficient d’ordonné à l’origine associé à la profondeur et sur la base d’une distribution à priori du coefficient directeur associé à la profondeur.
Selon un mode de réalisation, pour chaque fenêtre, l’estimation du coefficient d’ordonnée à l’origine est égale à la moyenne des mesures de profondeur sur ladite fenêtre.
Selon un mode de réalisation, le motif de matriçage est tel que les mesures associées à chaque fenêtre comprennent en outre des mesures d’autres canaux, les autres canaux étant les canaux couleurs rouge, vert et bleu et/ou d’un canal infrarouge et/ou d’un canal corrélé à la profondeur.
Selon un mode de réalisation, pour chaque fenêtre, la fenêtre binaire est en outre déterminée sur la base d’une estimation de coefficients d’ordonnée à l’origine associés aux autres canaux et sur la base d’une distribution à priori de coefficients directeurs associés aux autres canaux.
Selon un mode de réalisation, pour chaque fenêtre et pour chaque autre canal, une fenêtre associée à l’autre canal est estimée par transformation affine de la fenêtre binaire estimée, sur la base des coefficients de transformation affine associés à l’autre canal.
Selon un mode de réalisation, l’estimation du coefficient directeur associé à la profondeur est en outre effectué sur la base de la fenêtre binaire déterminée.
Selon un mode de réalisation, chaque fenêtre binaire du dictionnaire de fenêtres binaires comprend un ensemble de pixels affectés à une valeur minimale et un autre ensemble de pixels affectés à une valeur maximale.
Selon un mode de réalisation, chaque fenêtre binaire du dictionnaire est associée à une valeur d’occurrence dans le dictionnaire de fenêtres binaires.
Selon un mode de réalisation, une loi à priori sur les mesures effectuées par l’imageur est une loi normale dont la matrice de covariance est une matrice diagonale par bloc, chaque bloc ayant une valeur propre au bruit de mesure du canal associé.
Un mode de réalisation prévoit un procédé de construction d’un dictionnaire de fenêtres binaire, stocké dans une mémoire non volatile, sur la base d’une pluralité d’images de profondeur, le procédé comprenant : - la sélection d’une première fenêtre en échantillonnant une image de profondeur parmi la pluralité d’images de profondeur ; - la binarisation de la fenêtre sélectionnée en affectant une valeur minimale aux pixels de la fenêtre ayant une valeur de profondeur inférieure à une valeur seuil et en affectant une valeur maximale aux pixels de la fenêtre ayant une valeur de profondeur supérieure à la valeur seuil ; - si la fenêtre binaire est déjà existante dans le dictionnaire, l’incrémentation d’une valeur d’occurrence associée à la fenêtre binaire, dans le dictionnaire ; et - si la fenêtre binaire n’existe pas dans le dictionnaire, le stockage de la fenêtre binaire, dans la mémoire non volatile, en association avec une valeur d’occurrence initiale.
Selon un mode de réalisation, l’échantillonnage de l’image de profondeur comprend : - un tirage aléatoire d’une fenêtre d’une image de profondeur ; - le calcul de l’écart type des valeurs de profondeur sur la fenêtre tirée ; et - si l’écart type des valeurs de profondeur est nul, le tirage d’une nouvelle fenêtre.
Selon un mode de réalisation, la valeur seuil est la valeur moyenne des valeurs de profondeur sur la fenêtre sélectionnée.
Un mode de réalisation prévoit un dispositif électronique comprenant une mémoire et au moins un processeur, la mémoire stockant des instructions configurées pour mettre en œuvre le procédé ci-dessus lorsqu’elles sont exécutées par l’au moins un processeur.
Un mode de réalisation prévoit un dispositif mémoire non-transitoire configurée pour stocker des instructions permettant la mise en œuvre du procédé ci-dessus lorsqu’elles sont exécutées par au moins un processeur.
L’unité de surveillance 10 est ici reliée à l’appareil de levage 48 par l’intermédiaire d’une attache 46 avec largage contrôlable à distance, plus particulièrement d’une attache à largage à déclenchement acoustique.
Plus particulièrement, l’attache 46 maintient l’unité de surveillance 10, plus particulièrement par l’attache 44 de l’unité de surveillance 10.
L’attache 46 est reliée à l’appareil de levage 48 par un câble 116. L’appareil de levage 48 est adapté pour commander l’enroulement et le déroulement du câble 116.
L’unité de surveillance 10 est plongée dans l’étendue, l’unité de surveillance 10 étant maintenue par l’appareil de levage 48.
L’appareil de levage 48 déroule progressivement le câble 116, de sorte que l’unité de surveillance descend dans l’eau par gravité.
Une position représentative de l’emplacement de l’unité de surveillance est surveillée.
Par exemple, l’attache 46 ou l’unité de surveillance 10 est pourvue d’un système de positionnement sous-marin, par exemple d’un système de positionnement acoustique sous-marin, par exemple un système USBL (pour Ultra-Short BaseLine en anglais) ou SSBL (pour Super Short BaseLine en anglais), tel que décrit précédemment.
L’émetteur-récepteur correspondant est, par exemple, agencé sur l’unité de surface de déploiement, par exemple le navire ou la plateforme, de sorte que la position relative du système de positionnement par rapport à l’émetteur-récepteur est connue.
L’emplacement de l’unité de surveillance est ici déduit de la position relative.
L’unité de surveillance est alors agencé au-dessus de l’emplacement cible respectif par l’appareil de levage, par exemple d’une distance inférieure à 10 mètres, par exemple inférieure à 5 mètres.
On entend ici par au-dessus que l’unité de surveillance est agencé directement au-dessus de l’emplacement cible selon la gravité du lieu.
Le déploiement de l’unité de surveillance comprend alors le largage de l’unité de surveillance 10.
Plus particulièrement, un signal acoustique de libération est émis, par exemple par l’unité de surface, et reçus par l’attache 46.
L’attache 46 libère alors l’unité de surveillance 10.
L’unité de surveillance 10 finit alors de descendre jusqu’à l’emplacement cible du fond marin 110 par gravité.
La plaque de base 14 repose alors sur le fond marin 110.
L’intervalle de temps est, par exemple, à proprement parler un intervalle de temps ou un instant passé, l’intervalle de temps étant alors l’intervalle entre ledit instant passé et le présent.
L’onde acoustique d’instruction de collecte est reçue par les unités de surveillance dans la portée du modem acoustique 132, plus particulièrement détectée et transformée par le modem acoustique 30 et ici transmise au processeur 26.
Chaque unité de surveillance, plus particulièrement le processeur 26, analyse l’onde acoustique d’instruction de collecte transformée. Il détecte, par exemple, notamment l’instruction de communiquer des mesures acquises stockées dans la mémoire.
Il détecte, par exemple, en outre la présence ou l’absence de l’identifiant unique de l’unité de surveillance.
En cas d’absence de l’identifiant unique de l’unité de surveillance, l’unité de surveillance 10 ne transmet pas les mesures dans sa mémoire 22.
En cas de présence de l’identifiant unique de l’unité de surveillance, l’unité de surveillance 10 transmet les mesures mémorisées dans sa mémoire 22 via le modem acoustique 30, plus particulièrement l’ensemble des mesures mémorisées dans sa mémoire 22 ou les mesures mémorisées dans l’intervalle de temps compris dans l’instruction de collecte le cas échéant.
Plus particulièrement, le processeur 26 commande la transformation en ondes acoustiques et l’émission des mesures à transmettre par le modem acoustique 30.
Les mesures sont, par exemple, envoyées par paquets successifs. Chaque paquet a une taille maximale donnée.
Chaque paquet est, par exemple, identifié par un nombre i, correspondant par exemple à son rang au sein de l’ensemble des paquets.
Les mesures des paquets et les paquets sont, par exemple, dans l’ordre chronologique de l’horodatage de chaque mesure ou dans l’inverse de l’ordre chronologique.
Le modem acoustique 132 reçoit alors les ondes acoustiques correspondant aux mesures mémorisées transformées et émises par l’unité de surveillance 10.
Le modem acoustique 132 transforme ces ondes acoustiques de nouveau dans les mesures mémorisées par l’unité de surveillance.