Brevet FR3110991A1 — publié le 20211203

L’invention propose un procédé d’apprentissage d’une pluralité de classes pour un réseau neuronal, à partir de séquences temporelles dites d’apprentissage, formées de représentations successives en trois dimensions (3D) d’une scène. Le procédé comprend les étapes suivantes, pour chaque séquence d’apprentissage : une obtention d’au moins deux descripteurs (ψ k (S i (t))) à partir des représentations en 3D de la séquence d’apprentissage (S i (t)) considérée, un apprentissage préliminaire d’une valeur de dépendance temporelle (g θk (ψ k (S i (t)))) pour au moins deux réseaux neuronaux dits préliminaires recevant chacun l’un des descripteurs, de façon à obtenir les valeurs optimales de paramètres préliminaires associés aux neurones des réseaux neuronaux préliminaires, un apprentissage de la pluralité de classes pour un réseau neuronal de façon à obtenir des valeurs optimales de paramètres dits principaux associés aux neurones du réseau neuronal, ledit réseau neuronal étant couplé à au moins deux autres réseaux neuronaux recevant chacun l’un des descripteurs. Figure pour l’abrégé : 2 Procédé d’apprentissage, procédé de reconnaissance associé, dispositifs correspondants. Domaine technique de l'invention La présente invention concerne le domaine technique de la vision par ordinateur. Elle concerne plus particulièrement des procédés d’apprentissage et reconnaissance d’une classe, ainsi que les dispositifs correspondants. Etat de la technique Il est connu de l’article « Motion Feature augmented recurrent neural network for skeleton-based dynamic hand gesture recognition », X. Chen, H. Guo ; G. Wang, Li Zhang, Août 2017, une méthode permettant à un utilisateur de déterminer le type de geste effectué par sa propre main. Cette information peut ensuite être utilisée dans le cadre d’une interaction homme-machine, afin de mettre en œuvre une série d’actions effectuées par la machine. Présentation de l'invention Dans ce contexte, la présente invention propose selon un premier aspect, un procédé d’apprentissage d’une pluralité de classes pour un réseau neuronal, à partir de séquences temporelles dites d’apprentissage, formées de représentations successives en trois dimensions (3D) d’une scène, chaque séquence d’apprentissage étant associée à l’une des classes. Le procédé comprend les étapes suivantes, pour chaque séquence d’apprentissage : o une obtention d’au moins deux descripteurs à partir des représentations en 3D de la séquence d’apprentissage considérée, o un apprentissage préliminaire d’une valeur de dépendance temporelle pour au moins deux réseaux neuronaux dits préliminaires recevant chacun l’un des descripteurs, chaque valeur de dépendance temporelle caractérisant une relation entre au moins deux valeurs prises par un descripteur à au moins deux instants différents, de façon à obtenir les valeurs optimales de paramètres préliminaires associés aux neurones des réseaux neuronaux préliminaires, o un apprentissage de la pluralité de classes pour un réseau neuronal de façon à obtenir des valeurs optimales de paramètres dits principaux associés aux neurones du réseau neuronal, ledit réseau neuronal étant couplé à au moins deux autres réseaux neuronaux recevant chacun l’un des descripteurs, des paramètres associés aux neurones des autres réseaux neuronaux étant fixés à l’aide des valeurs optimales des paramètres préliminaires. En dissociant l’apprentissage des valeurs de dépendance temporelle d’une part et la classification d’autre part, l’invention permet de surmonter le problème du sur-apprentissage. Ainsi, l’apprentissage peut s’effectuer à partir d’un nombre réduit de séquences d’apprentissage tout en conservant une bonne précision dans les résultats fournis. D’autres caractéristiques non limitatives et avantageuses de ce premier aspect de l’invention, conformes à l’invention, prises individuellement ou selon toutes les combinaisons techniquement possibles, sont décrites ci-après. Par exemple, ladite scène peut inclure une partie d’un corps articulé. La séquence d’apprentissage alors comprendre, dans un mode de mise en œuvre des données représentatives d’un squelette en trois dimensions de la partie du corps articulé. Dans un mode de mise en œuvre, l’étape d’apprentissage préliminaire peut comprendre en outre : - un traitement de chaque valeur de dépendance temporelle de façon à délivrer une classe pour chacune desdites valeurs de dépendance temporelle, - une minimisation d’une erreur calculée entre chaque classe délivrée et une classe cible, - une mise à jour des valeurs des paramètres préliminaires en fonction de l’erreur minimisée, et - une poursuite de l’apprentissage préliminaire avec une nouvelle séquence d’apprentissage tant qu’un premier critère prédéterminé n’est pas satisfait. Dans un mode de mise en œuvre, les au moins deux autres réseaux neuronaux sont chacun aptes à délivrer une valeur de dépendance temporelle correspondant au descripteur reçu en entrée, l’étape d’apprentissage comprenant en outre : - une concaténation des valeurs de dépendance temporelle délivrées par les autres réseaux neuronaux, de façon à former un vecteur de valeurs de dépendance temporelle, le vecteur étant délivré en entrée dudit réseau neuronal, - un traitement dudit vecteur de façon à délivrer une classe correspondante, - une minimisation d’une erreur calculée entre ladite classe délivrée et une classe cible, - une mise à jour des valeurs des paramètres associés aux neurones dudit réseau neuronal en fonction de l’erreur minimisée, et - une poursuite de l’apprentissage avec une nouvelle séquence d’apprentissage tant qu’un deuxième critère prédéterminé n’est pas atteint. Dans un mode de mise en œuvre, les représentations 3D peuvent être définies par des informations géométriques en 3D, lesdits descripteurs pouvant alors être obtenus à l’aide de trois méthodes distinctes à partir des informations géométriques en 3D. Dans un mode de mise en œuvre, au moins un descripteur obtenu peut traduire un déplacement spatial d’au moins une partie de la représentation 3D, entre un instant de référence et un autre instant. Selon un deuxième aspect de l’invention, il est proposé un procédé de reconnaissance d’une classe parmi une pluralité de classes, à partir d’une séquence temporelle dite d’entrée, formée de représentations successives en 3D d’une scène. Le procédé comprend la mise en œuvre des étapes suivantes : - une configuration des paramètres associés aux neurones de réseaux neuronaux, à partir des valeurs optimales des paramètres préliminaires et principaux délivrés à l’issue d’un apprentissage mis en œuvre à l’aide d’un procédé tel que décrit ci-avant, - une obtention d’au moins deux descripteurs à partir des représentations en 3D de la séquence temporelle d’entrée, et - une reconnaissance d’une classe pour la séquence temporelle d’entrée, à l’aide des réseaux neuronaux configurés, recevant les descripteurs obtenus. Selon un troisième aspect de l’invention, il est proposé un dispositif d’apprentissage d’une pluralité de classes pour un réseau neuronal, à partir de séquences temporelles dite d’apprentissage, formées de représentations successives en trois dimensions (3D) d’une scène, chaque séquence d’apprentissage étant associée à l’une des classes. Le dispositif comprend les moyens suivants : o des moyens pour une obtention d’au moins deux descripteurs à partir des représentations en 3D de la séquence d’apprentissage considérée, o des moyens pour un apprentissage préliminaire d’une valeur de dépendance temporelle pour au moins deux réseaux neuronaux dits préliminaires recevant chacun l’un des descripteurs, chaque valeur de dépendance temporelle caractérisant une relation entre au moins deux valeurs prises par un descripteur à au moins deux instants différents, de façon à obtenir les valeurs optimales de paramètres préliminaires associés aux neurones des réseaux neuronaux préliminaires, o des moyens pour un apprentissage de la pluralité de classes pour un réseau neuronal de façon à obtenir des valeurs optimales de paramètres dits principaux associés aux neurones du réseau neuronal, ledit réseau neuronal étant couplé à au moins deux autres réseaux neuronaux recevant chacun l’un des descripteurs, des paramètres associés aux neurones des autres réseaux neuronaux étant fixés à l’aide des valeurs optimales des paramètres préliminaires. Selon un mode de réalisation, les réseaux neuronaux préliminaires et les autres réseaux neuronaux peuvent être des réseaux de neurones récurrents. Selon un quatrième aspect de l’invention, il est proposé un dispositif de reconnaissance d’une classe parmi une pluralité de classes, à partir d’une séquence temporelle dite d’entrée, formée de représentations successives en 3D d’une scène. Le dispositif comprend les moyens suivants : - des moyens pour configurer les paramètres associés aux neurones de réseaux neuronaux à partir des valeurs optimales des paramètres préliminaires et principaux délivrés par un dispositif d’apprentissage tel que décrit ci-avant, - des moyens pour obtenir au moins deux descripteurs à partir des représentations en 3D de la séquence temporelle d’entrée, - des moyens pour reconnaître une classe pour la séquence temporelle d’entrée, à l’aide des réseaux neuronaux configurés, recevant les descripteurs obtenus. Bien entendu, les différentes caractéristiques, variantes et formes de réalisation de l'invention peuvent être associées les unes avec les autres selon diverses combinaisons dans la mesure où elles ne sont pas incompatibles ou exclusives les unes des autres. Description détaillée de l'invention De plus, diverses autres caractéristiques de l'invention ressortent de la description annexée effectuée en référence aux dessins qui illustrent des formes, non limitatives, de réalisation de l'invention et où : illustre un exemple d’utilisation de l’invention ; est un logigramme illustrant un mode de mise en œuvre des procédés selon l’invention ; est un logigramme représentant plus en détail un mode de mise en œuvre de certaines étapes du procédé d’apprentissage ; est un exemple de représentations 3D, dans le contexte de l’invention ; illustre un exemple d’un premier descripteur mis en œuvre dans l’invention ; illustre un exemple d’un deuxième descripteur mis en œuvre dans l’invention ; illustre un exemple d’un troisième descripteur mis en œuvre dans l’invention ; est un logigramme représentant plus en détail d’autres étapes du procédé d’apprentissage ; est un logigramme représentant plus en détail un mode de mise en œuvre du procédé de reconnaissance ; illustre un mode de réalisation des dispositifs selon l’invention ; et illustre une implémentation parmi d’autres des dispositifs selon l’invention. Il est à noter que, sur ces figures, les éléments structurels et/ou fonctionnels communs aux différentes variantes peuvent présenter les mêmes références. Comme illustré sur la , une application de l’invention implique une utilisation d’un visiocasque HMD porté par un utilisateur US. Ce visiocasque HMD est couplé à un système SYS, par exemple à l’aide d’un réseau sans fil de type Wi-Fi. Dans cet exemple, le visiocasque HMD capture une scène comprenant les mains de l’utilisateur US, ce dernier opérant par exemple sur une chaîne de montage. Le visiocasque peut être un appareil HoloLens 2 de la société Microsoft ou encore des lunettes AR Google Glass de la société Google, ces exemples n’étant pas limitatifs. La capture d’une telle scène peut s’inscrire dans le cadre d’une aide au montage à distance ou encore d’une formation de l’utilisateur au montage. Ces usages impliquent une reconnaissance automatique de l’activité effectuée par les mains de l’utilisateur US, parmi une pluralité d’activités prédéterminées. En variante, ils peuvent reconnaître la bonne exécution ou non d’une activité. Cette reconnaissance est réalisée à l’aide d’un dispositif DIS2 incorporé au système SYS auquel sont transmises les données délivrées par le visiocasque HMD. Classiquement un visiocasque est muni d’une caméra dite RGB-D, de façon à délivrer des séquences d’images au format RGB (« Red Green Blue » en anglais) respectivement associées à des cartes de profondeurs. Ces dernières attribuent une valeur de profondeur à chaque pixel des images. Le système SYS intègre un dispositif DIS1 qui est configuré pour extraire des représentations en trois dimensions (3D) des informations transmises par le visiocasque HMD, à l’aide d’une méthode d’estimation de poses 3D telle que celle décrite dans l’article : « V2V-PoseNet: Voxel-to-Voxel Prediction Network for Accurate 3D Hand and Human Pose Estimation from a Single Depth Map », de G. Moon, J. Chang, et K. M Lee, (CVPR) 2018. Par exemple, une représentation en 3D peut comprendre une représentation squelettale des mains de l’utilisateur, ce type de représentations étant décrit dans l’article mentionné ci-dessus. Le squelette en 3D de la main est alors caractérisé par une série de points clés en 3D dont l’évolution des positions permet d’identifier une activité. Les représentations en 3D peuvent également comprendre des valeurs de profondeur associées à un objet manipulé par l’utilisateur ou plus généralement au contexte environnant les mains de l’utilisateur. Le système SYS intègre également le dispositif DIS2 couplé à une mémoire MEM apte à mémoriser des séquences temporelles d’apprentissage de représentations 3D, étiquetées à l’aide des classes à reconnaître. Le dispositif DIS2 est décrit plus en détail ci-après. L’application décrite en référence à la est donnée à titre d’exemple pour faciliter la compréhension de l’invention. Elle n’est nullement limitative. Par exemple, la scène peut être capturée à l’aide d’une caméra embarquée de type HERO8 de la société GoPro. La scène capturée peut porter sur les mains d’une autre personne, située face au porteur de la caméra. En outre, l’invention n’est pas limitée à la reconnaissance d’une activité associée aux mains d’une personne, mais concerne la reconnaissance d’une classe associée à toute(s) partie(s) d’un corps articulé, tel qu’un bras robotisé ou encore une partie (par exemple main et bras) d’un corps humain effectuant un geste. La est un logigramme schématisant un mode de mise en œuvre de l’invention. Il est considéré dans cet exemple, que les représentations 3D sont ici des squelettes en 3D des mains du porteur d’un visiocasque. Elles peuvent être déterminées (étapes non représentées à des fins de simplifications) à partir d’une séquence d’images capturées sur une durée T à l’aide de la caméra RGB-D du visiocasque. Ces squelettes successifs forment une séquence temporelle d’entrée ou une série de séquences temporelles d’entrée si plusieurs activités successives doivent être reconnues. Tout d’abord pour que la reconnaissance puisse être réalisée, un apprentissage des différentes classes pour un réseau neuronal est un mis en œuvre. Le procédé d’apprentissage selon l’invention comprend trois étapes E0, E1 et E2. Le procédé d’apprentissage s’appuie sur des séquences temporelles d’apprentissage formées d’une succession de squelettes fonction du temps. Les squelettes sont définis par des informations géométriques comme expliqué plus en détail ci-après. Chaque séquence d’apprentissage est associée à une classe. A titre d’exemple, il est considéré dans la suite de la description que, sauf mention contraire, les classes considérées correspondent à des étiquettes ou annotations liées à des activités pouvant être effectuées par les mains du porteur d’un visiocasque, telles que « ouverture d’une bouteille » ou « remplissage d’un récipient». Pour ce faire, il est possible d’utiliser la base de données annotée dite FPHA décrite dans l’article « First-Person Hand Action Benchmark with RGB-D Videos and 3D Hand Pose Annotations », de Guillermo Garcia-Hernando, Shanxin Yuan, Seungryul Baek, Tae-Kyun Kim, Avril 2018. La première étape E0 comprend pour chaque séquence temporelle d’apprentissage, l’obtention d’au moins deux descripteurs selon deux méthodes distinctes. Les descripteurs sont ici calculés à partir des informations géométriques définissant les représentations squelettale. Chaque descripteur appartient à une catégorie distincte de descripteurs comme décrit plus en détail en référence à la . La deuxième étape E1 met en œuvre un apprentissage préliminaire de valeurs de dépendances temporelles à partir des descripteurs obtenus. Les descripteurs obtenus sont utilisés pour entrainer au moins deux réseaux neuronaux dits préliminaires (étape E10), de façon que ces réseaux neuronaux préliminaires apprennent les dépendances temporelles relatives à ces descripteurs. Chaque valeur de dépendance temporelle caractérise une relation entre au moins deux valeurs prises par un descripteur à au moins deux instants t différents, tel que t ∈ [0, T ]). Autrement dit, une valeur de dépendance temporelle définit une corrélation entre au moins deux valeurs prises par un descripteur à différents instants. Chaque activité est caractérisée par un ensemble de corrélations particulier. Il est considéré qu’il y a autant de réseaux neuronaux entrainés que de catégories différentes de descripteurs. L’apprentissage préliminaire est un apprentissage supervisé. Les paramètres d’apprentissage dits préliminaires (poids et biais) affectés aux neurones des réseaux neuronaux préliminaires sont optimisés tout au long de l’apprentissage préliminaire, séquence après séquence. A la fin de l’apprentissage préliminaire, les valeurs optimales des paramètres préliminaires sont délivrées comme valeurs de sortie, étape E11. L’étape E2 comprend un apprentissage supervisé de la pluralité de classes pour un réseau neuronal, appelé réseau neuronal principal dans la suite du texte, à des fins de simplification. Pour cela, dans un premier temps, étape E20, les descripteurs précédemment décrits sont délivrés en entrée d’au moins deux autres réseaux neuronaux. Les paramètres des autres réseaux neuronaux sont fixés à l’aide des valeurs optimales des paramètres préliminaires. Ils délivrent donc les valeurs de dépendances temporelles correspondant aux descripteurs respectivement reçus en entrée. Puis lors d’une étape E21, est mis en œuvre l’apprentissage des différentes classes pour le réseau neuronal principal. Cet apprentissage des classes est réalisé à partir des valeurs de dépendances temporelles délivrées par les autres réseaux neuronaux. Finalement à l’étape E22, un modèle d’apprentissage est délivré, comme valeurs de sortie. Ce modèle d’apprentissage comprend les paramètres préliminaires et les paramètres principaux respectivement à leurs valeurs optimales. L’apprentissage supervisé de la pluralité de classes est décrit plus en détail ci-après, en référence à la . Une troisième étape E3 comprend la mise en œuvre de la reconnaissance de l’activité, une fois l’apprentissage réalisé. Cette reconnaissance est effectuée sur les séquences temporelles d’entrée précitées. Elle met en œuvre des réseaux de neurones configurés à l’aide du modèle d’apprentissage délivré à l’issue de l’apprentissage. La est un logigramme schématisant de façon plus détaillée l’obtention des descripteurs E0 et l’apprentissage préliminaire E1. Dans un mode de mise en œuvre, chaque squelette est constitué de 21 points d’articulation, représentant la configuration de la main à un instant t donné : Chacun des points d’articulation est défini par ses coordonnées cartésiennes en 3 dimensions, telles que : En reliant ces points d’articulation, est alors formé un ensemble de segments reproduisant les os de la main ainsi que les phalanges et les métacarpes comme illustré sur la . Une séquence temporelle d’apprentissage S(t) est alors formalisée par l’expression suivante : où t ∈ {0, 1, …, T } représente un instant et T la durée maximale de la séquence d’activité, par exemple 10s. Le pas de temps entre deux instants est par exemple égal à 1s. De préférence, les représentations 3D ont été préalablement normalisées de façon que la taille moyenne de chaque main soit sensiblement la même d’une représentation à l’autre, sans modification des angles entre les segments. Cette étape de normalisation (non illustrée à des fins de simplification) permet d’améliorer la précision des deux étapes d’apprentissage préliminaire et d’apprentissage des classes E1 et E2. Le document “ The Moving Pose: An Efficient 3D Kinematics Descriptor for Low-Latency Action Recognition and Detection ” par Mihai Zanfir et al., ICCV2013, décrit un exemple d’algorithme de normalisation. Lors de l’étape E0, des descripteurs temporels sont obtenus à partir de chaque séquence d’apprentissage S(t) . De préférence, des descripteurs appartenant à au moins deux catégories différentes sont générés, à l’aide d’au moins deux méthodes différentes. Trois méthodes différentes sont décrites ci-après en référence aux figures 5 à 7. Par exemple, une combinaison de deux de ces trois méthodes peut être utilisée. En variante, l’ensemble des trois méthodes peut être utilisé de façon à obtenir des descripteurs appartenant à trois catégories différentes. En variante, les descripteurs peuvent être générés préalablement puis être stockées dans une mémoire. La illustre un descripteur appartenant à une première catégorie obtenue à l’aide d’une première méthode. Ce descripteur traduit l’évolution au cours du temps, de la forme de la main, et cela durant la séquence temporelle d’apprentissage S(t) considérée, dédiée à une activité donnée. Ce descripteur est appelé SoCJ pour « Shape of Connected Joints » en anglais. Pour chaque doigt de la main, est calculé un vecteur en 3 dimensions entre les points d’articulations physiquement connectés, depuis l’articulation du poignet (chiffre « 1 »), jusqu’au point d’articulation situé à l’extrémité de chaque doigt (respectivement chiffres « 5 », « 9 », « 13 », « 17 » et « 21 »). Pour cette figure, ainsi que pour la suivante, le référentiel considéré est un référentiel orthonormé centré sur le point d’articulation du poignet à chaque instant de la séquence temporelle d’apprentissage S(t). Bien entendu, ce choix de référentiel est un exemple, tout autre choix de référentiel étant possible à l’aide d’une translation entre les deux référentiels. La représente une projection en deux dimensions de ces vecteurs. Ainsi, si l’on considère l’ensemble des points d’articulation F1= {J1, J2, J3, J4, J5} ordonnés de façon à correspondre au pouce de la main, le descripteur SoCJ(F1) peut être calculé comme suit, à un instant t donné : Si l’on calcule ce descripteur pour l’ensemble des doigts de la main, il vient pour chaque instant t : où F l est le l ième doigt de la main. Dans la suite du texte, l’application de ce descripteur SoCJ à chaque instant de la séquence temporelle d’apprentissage S(t) est désignée par la variable ψ 1 . Il vient : La illustre un descripteur appartenant à une deuxième catégorie, obtenue à l’aide d’une deuxième méthode. Ce descripteur traduit une variation au cours du temps, des distances d’une part entre les points d’articulation pour un même doigt (Intra) et d’autre part entre deux doigts (Inter). Il est nommé IIFRD pour « Intra/Inter Finger Relative Distance » en anglais. Ce descripteur est formé de deux éléments à savoir RDa pour caractériser les distances dites « intra » opposées à chaque angle entre deux segments consécutifs d’un même doigt et RDe pour caractériser les distances dites « inter » entre des points d’articulation appartenant à deux doigts distincts adjacents. Les distances intra RD a traduit les fortes dépendances existant entre les segments relatifs à un même doigt. Si l’on considère l’ensemble F 1 tel que définis ci avant, les distances intra RD a obtenues pour cet ensemble sont déterminées de la façon suivante : où d correspond ici à la distance euclidienne entre les deux points d’articulation considérés. Si l’on calcule la distance intra RD a pour l’ensemble des doigts de la main, il vient pour chaque instant t un ensemble de caractéristiques a(t) : La distance inter RD e traduit quant à elle la dépendance entre les doigts d’une paire de doigts. Par exemple si l’on considère les doigts (pouce et index) respectivement désignés par les deux ensembles F 1 ={J j } j=5 :3 et F 2 ={J j } j=9 :7 , la distance inter RD e (F 1 , F 2 ) pour cette paire de doigts est calculée selon l’expression suivante : où d correspond ici à la distance euclidienne entre les deux points d’articulation considérés. Si l’on calcule la distance intra RD e pour l’ensemble des doigts de la main, il vient pour chaque instant t l’ensemble des caractéristiques e(t) : . Finalement, en concaténant les deux ensembles de caractéristiques inter e(t) et intra a(t) , on obtient le descripteur final IIF RD pour la main à chaque instant t : . Dans la suite du texte, l’application de ce descripteur IIFRD à chaque instant de la séquence temporelle d’apprentissage S(t) est désignée par la variable ψ 2 . Il vient : La illustre un descripteur d’une troisième catégorie, obtenue à l’aide d’une troisième méthode. Ce descripteur porte sur l’évolution du mouvement général de la main dans l’espace et d’un instant à l’autre. Il est dénommé GRT pour « Global Relative Translation » en anglais. Plus précisément le descripteur GRT comprend le calcul du déplacement relatif des points d’articulation d’un instant t au suivant t+1, pour l’ensemble de la séquence temporelle considérée. Pour cela un point d’articulation de référence est choisi, ici le point d’articulation du poignet considéré au premier instant t=0 de la séquence temporelle. Pour chaque point d’articulation, une nouvelle variable J’jt est calculée par rapport au point d’articulation de référence, telle que : où J’ j t est la nouvelle variable associée au j ième point d’articulation pour l’intervalle de temps associé à l’instant t . Pour cette , le référentiel considéré est un référentiel orthonormé centré sur le point d’articulation du poignet au premier instant de la séquence temporelle d’apprentissage. Une fois les nouvelles variables obtenues, la position d’un barycentre Crt est calculée dans le référentiel Ref pour l’ensemble des instants considérés. L’application de ce descripteur GRT est, à chaque instant de la séquence temporelle d’apprentissage S(t), désigné par la variable ψ3. Il vient : Le descripteur GRT donne ainsi une information complémentaire à celles fournies par les descripteurs SoCJ et IIF RD , étant donné que la position du barycentre déterminée pour chaque instant t de la séquence temporelle d’apprentissage peut présenter d’importantes variations d’une activité à une autre. On se réfère à nouveau à la . A l’issue de l’étape E0 sont obtenus plusieurs descripteurs calculés pour chaque séquence temporelle d’apprentissage, par exemple dans trois catégories différentes dans la suite de la description. En variante, des descripteurs dans deux catégories distinctes sont déterminés, la catégorie de l’un des descripteurs permettant de prendre en compte le déplacement relatif de la main dans l’espace, au cours de la séquence, tel que le descripteur GRT. De préférence, pour une séquence d’apprentissage, chaque descripteur est obtenu à l’aide d’une méthode différente, telle que celles décrites en référence aux figures 5 à 7. Pour l’apprentissage préliminaire des valeurs de dépendances temporelles, chaque descripteur ψ 1, ψ 2, ψ 3 est fourni en entrée d’un réseau de neurones récurrent, ayant un nombre minimal de couches et de neurones par couche (par exemple, une seule couche avec 100 neurones). Chacun des réseaux de neurones est entraîné séparément à partir d’un type de descripteur qui lui est propre, E110. En limitant à une seule catégorie de descripteurs l’entrainement d’un réseau de neurones, on évite d’une part les erreurs d’apprentissage, liées à l’hétérogénéité de la base de données d’apprentissage et d’autre part on contribue à diminuer encore le surapprentissage. Les trois descripteurs sont formalisés par l’expression suivante : où S i est la i ème séquence temporelle d’apprentissage parmi l’ensemble des séquences d’apprentissage, et ψ k (.) est le k ième descripteur obtenu à l’aide de l’une des trois méthodes décrites ci-avant : SoCJ , II F RD ou GRT . Pour chaque descripteur ψ k (.) , la valeur de dépendance temporelle existant entre différents instants est définie par la fonction composée suivante : où g θk (.) est la fonction d’apprentissage associée au k ième réseau de neurones préliminaire, et θ k correspond aux paramètres préliminaires d’apprentissage que sont les poids appliqués au neurones et les biais (constante ajoutée à la sortie d’un neurone), la sortie du k ième réseau g θk (.) se référant au dernier état cachés de la dernière couche. Puis une étape de classification E111 est mise en œuvre à l’aide d’une couche supplémentaire de réseau de neurones entièrement connectés, dite dense. On considère une couche supplémentaire par réseau de neurones mis en œuvre dans l’étape E110. Cette couche met en œuvre l’équation suivante : où y k correspond à la sortie de la couche supplémentaire associée au k ième réseau de neurones dont la fonction d’apprentissage est g θk (.) , k étant un entier variant entre 1 et 3 . Elle correspond à l’une des classes de la pluralité de classes considérées. y k est un vecteur de probabilité de dimension égale au nombre de classes considérées. N est le nombre total de classes considérées, par exemple 45 classes dans le de la base de données FPHA mentionnée précédemment. Lors d’une étape E112, pour chaque réseau de neurones, une fonction de perte P k est calculée comme suit : où N est le nombre de classes considérées, y correspond à la classe que l’on cherche à obtenir, issue de l’annotation de la séquence temporelle d’apprentissage considérée, y k correspond à la sortie de la couche supplémentaire associée au k ième réseau de neurones, k étant un enter variant entre 1 et 3. Cette fonction de perte P k doit être minimisée au cours de l’apprentissage préliminaire, par exemple à l’aide de l’algorithme d’optimisation ADAM pour « Adaptive Moment Estimation » en anglais. Cet optimisateur est décrit par exemple dans l’article « Diederik P. Kingma and Jimmy Lei Ba. Adam : A met hod for stochastic optimization, 2014 ». Puis les paramètres préliminaires θ k des réseaux de neurones préliminaires sont optimisés en utilisant la formule suivante : Tant qu’un critère d’arrêt de l’apprentissage préliminaire n’est pas atteint, T113, la séquence temporelle d’apprentissage suivante S i+1 est obtenue E114, et les étapes E0 à T113 sont réitérées. Dans un mode de réalisation, le critère d’arrêt peut être que la dernière séquence temporelle d’apprentissage disponible soit traitée (par exemple au bout de 600 séquences) ou qu’un nombre prédéterminé d’itérations ait été effectuées. A l’issue de l’apprentissage préliminaire, sont délivrés des paramètres préliminaires θ* k optimaux E11. La fonction associée à chaque réseau neuronal préliminaire s’écrit alors : L’apprentissage préliminaire mettant en œuvre plusieurs réseaux neuronaux (un par catégorie de descripteurs) évite de mélanger des descripteurs appartenant à des espaces de dimensions différentes et/ou comprenant des données de natures différentes. Cela permet de réduire la complexité de l’apprentissage et de diminuer la génération de bruit perturbateur. La détaille un mode de mise en œuvre de l’apprentissage de la reconnaissance des classes E2 pour un réseau neuronal principal. Cette étape d’apprentissage est réalisée à l’issue de l’apprentissage préliminaire. En premier lieu (étape E200), d’autres réseaux neuronaux que le réseau neuronal principal, reçoivent en entrée les descripteurs obtenus pour chaque séquence temporel d’apprentissage à l’étape E0. Comme pour l’apprentissage préliminaire, chacun des autres réseaux neuronaux reçoit un descripteur appartenant à une catégorie donnée. Les paramètres associés aux neurones de ces autres réseaux sont fixés à l’aide des paramètres préliminaires optimaux θ* k délivrés à l’étape E11. Ces derniers ont été transférés vers les autres réseaux neuronaux une fois l’apprentissage préliminaire terminé. Dans l’exemple décrit ici, les paramètres préliminaires optimaux obtenus pour les réseaux de neurones préliminaires entrainés par les descripteurs SoCJ sont transférés pour configurer l’autre réseau neuronal qui reçoit en entrée les descripteurs SoCJ . Le même transfert est opéré entres les paramètres préliminaires optimaux des réseaux neuronaux préliminaires respectivement associés aux descripteurs IIF RD et GRT . Les valeurs de dépendance temporelle délivrées par chaque autre réseau neuronal dont les paramètres sont fixés, peuvent s’écrire de la façon suivante : où S i est la séquence temporelle d’apprentissage considérée à partir de laquelle sont générés les descripteurs ψ k (.) . Ces valeurs de dépendance temporelle sont alors traitées lors d’une étape E201 de façon à obtenir une variable unique. Ce traitement peut consister à concaténer les valeurs de dépendance temporelle pour obtenir un vecteur de valeurs de dépendance temporelle. Il vient : où h( . ) est la fonction de concaténation, encore appelée fonction de fusion. Puis le réseau neuronal principal est entrainé afin d’apprendre à reconnaitre les différentes classes. Il comprend des premières couches de neurones mettant en œuvre une fonction d’activation, ici non-linaire, qui permet de valider le vecteur, au cours d’une étape 210, si sa valeur atteint un certain seuil prédéterminé, par exemple 0. A titre d’illustration, la fonction d’activation peut être une unité de rectification linaire (ReLU) connue de l’homme de l’art, définie par l’équation suivante : La fonction d’activation permet de supprimer les résultats non cohérents délivrés à l’issue de l’étape précédente E201. Par ailleurs, la concaténation des valeurs avant d’appliquer la fonction d’activation permet d’assurer une meilleure précision des résultats de classification. Ensuite une étape de classification E211 est mise en œuvre à partir des valeurs de sortie des premières couches de réseau, par exemple à l’aide de couches supplémentaires de réseau de neurones entièrement connectés, dite dense. On considère une couche supplémentaire par autre réseau de neurones mis en œuvre dans l’étape E200. Ces couches mettent en œuvre l’équation 17 décrite ci-avant pour la fonction de classification implémentée dans l’étape d’apprentissage préliminaire. En sortie de l’étape de classification, on obtient l’une des classes de la pluralité de classes. Le réseau neuronal principal formé par les premières couches de neurones et les couches de neurones supplémentaires est caractérisé par la fonction f Φ ayant des paramètres d’apprentissage dits principaux Φ à optimiser. En sortie du réseau neuronal principal, il vient pour chaque séquence temporelle d’entrée S i la valeur suivante : Une fonction de perte P’ associé au réseau neuronal principal est alors calculé lors d’une étape E212, comme suit : où N est le nombres de classes, y est la classe ciblée, et y est la classe issue de l’étape de classification E211. Les paramètres Φ k des réseaux de neurones sont alors optimisés en utilisant la fonction de minimisation suivante : De même que précédemment, il est possible d’utiliser l’algorithme d’optimisation « ADAM ». Si le critère de fin n’a pas été atteint (ensemble des séquences temporelles d’apprentissage traitées par exemple), test T213, les descripteurs de la séquence temporelle d’apprentissage suivante sont obtenus (étape E214) et délivrés en entrée des autres réseaux neuronaux et les étapes E200 à T213 sont réitérées. Finalement est délivré le modèle d’apprentissage comprenant les paramètres optimaux θ* k et Φ * k , étape E22. On se réfère à présent à la qui décrit plus précisément un mode de mise en œuvre du procédé de reconnaissance d’une classe E3, selon l’invention. Ce procédé est implémenté au sein d’un réseau neuronal configuré à l’aide du modèle d’apprentissage délivré à l’étape E22. Une première étape E30 comprend une génération de descripteurs à partir de la séquence temporelle d’entrée S in p mentionnée ci-avant. Par exemple, les descripteurs peuvent être obtenus à l’aide des trois méthodes SoCJ , IIFR et GRT décrites ci-avant. Puis les valeurs de dépendance temporelle correspondant aux descripteurs sont déterminées grâce aux réseaux neuronaux dont les paramètres sont fixés à l’aide des paramètres optimaux θ* k , étape E31. Les valeurs obtenues sont concaténées pour obtenir un vecteur unique de valeurs de dépendance temporelle, étape E32. Puis la reconnaissance de la classe associée à la séquence temporelle d’entrée S in p est effectuée à l’aide d’un réseau neuronal (étape E33) recevant en entrée le vecteur unique obtenu à l’étape E32. Ce réseau neuronal est configuré à l’aide des paramètres optimaux Φ * k . Il délivre en sortie l’activité reconnue pour la séquence d’entrée S in p , étape E34 On se réfère à présent à la qui décrit un exemple du dispositif DIS2. A des fins de simplification, le dispositif DIS2 regroupe ici deux sous-éléments : un sous-dispositif d’apprentissage DISA et un sous-dispositif de reconnaissance DISR. En variante, le sous-dispositif d’apprentissage DISA et le sous-dispositif de reconnaissance DISR ne sont pas regroupés au sein d’un même dispositif et forment des dispositifs à part entière. En effet, classiquement, l’apprentissage mis en œuvre par le dispositif d’apprentissage DISA est réalisé préalablement à la reconnaissance mise en œuvre par le dispositif DISR. Le dispositif de reconnaissance DISR est configuré à l’aide du modèle d’apprentissage obtenu. Dans la suite de la description, il sera fait référence à un dispositif d’apprentissage DISA et un dispositif de reconnaissance DISR. Le dispositif d’apprentissage DISA intègre des moyens MAPP configurés pour mettre en œuvre l’apprentissage préliminaire des dépendances temporelles décrit ci-avant et des moyens MA1, MA2 et MA3 aptes à déterminer des descripteurs d’un type différent, par exemple les descripteurs IIFRD , SoCJ et GRT . Des séquences temporelles d’apprentissage S i formées de représentations squelettales en trois dimensions de mains sont stockées dans la mémoire MEM. Celles-ci sont délivrées en entrée des moyens MAPP. Les séquences S i sont fournies en entrée des moyens MA1, MA2 et MA3 montés en parallèle chacun étant respectivement apte à déterminer les différents types de descripteurs. Les descripteurs générés alimentent alors trois réseaux de neurones à entraîner LTSMA1, LTSMA2 et LTSMA3. Ces réseaux de neurones mettant en œuvre l’apprentissage préliminaire sont ici des réseaux de neurones récurrents, par exemple des réseaux récurrents à mémoire court et long terme dit LSTM pour « Long Short-Term Memory » en anglais particulièrement performants dans l’apprentissage des dépendances temporelles tout en évitant le problème de la disparition du gradient (« vanishing gradient problem » en anglais). Par exemple, chaque réseau de neurones LTSMA1, LTSMA2 et LTSMA3 comprend 100 unités computationnelles. Alternativement des réseaux de neurones récurrents à portes dits GRU pour « Gated Recurrent Unit » en anglais, peuvent être utilisés à la place des réseaux LTSM. Chaque réseau de neurones est suivi d’un module de classification SFTA1, SFTA2 et SFTA3 apte à mettre en œuvre l’étape de classification des résultats délivrés par les réseaux de neurones correspondants. Par exemple, chaque module de classification implémente une fonction exponentielle normalisée encore appelée fonction « Softmax » prenant en entrée le vecteur de sortie du réseau de neurones auquel il est connecté et délivrant un vecteur de probabilité A1, A2, A3 d’appartenance à une classe. Chaque composante du vecteur est associée à l’une des classes possibles et prend une valeur comprise entre 0 et 1. Le dispositif d’apprentissage DISA comprend des moyens MAR pour l’apprentissage de la reconnaissance de l’activité. Les descripteurs obtenus en sortie des moyens MA1, MA2 et MA3 alimentent alors des réseaux de neurones pré-entrainés LTSMC1, LTSMC2, LTSMC3. Ces derniers ont une structure identique à celle des réseaux de neurones utilisés pour la phase d’apprentissage préliminaire, respectivement LTSMC1, LTSMC2, LTSMC3. Par contre, les paramètres associés au neurones de ces réseaux neuronaux LTSMC1, LTSMC2, LTSMC3 sont fixés à l’aide des valeurs des paramètres optimaux obtenus à l’issue de l’apprentissage préliminaire mis en œuvre par les réseaux neuronaux correspondants LTSMA1, LTSMA2, LTSMA3. Les résultats délivrés par les réseaux neuronaux LTSMC1, LTSMC2, LTSMC3 sont alors concaténés à l’aide d’un module de concaténation MCC en un vecteur de valeurs de dépendance temporelle. Un module MLPC couplé à la sortie de ce module de concaténation MCC est configuré pour implémenter la fonction d’activation (par exemple la fonction ReLU) décrite précédemment. Ce module MLPC peut être un perceptron multicouche comprenant par exemple deux couches denses, respectivement de 256 et 128 neurones. La sortie du module MLPC est alors transmise à un module de classification SFTC (par exemple implémentant une fonction exponentielle normalisée) apte à délivrer une classe A. Le modèle d’apprentissage est alors transmis à différents moyens d’un dispositif de reconnaissance DISR via des moyens de configuration MCONF (intégrant par exemple une mémoire). Le dispositif DISR met en œuvre le procédé de reconnaissance d’une classe selon l’invention. Des moyens ici montés en parallèle MR1, MR2 et MR3, reçoivent en entrée la séquence temporelle d’entrée S inp . Ces moyens sont respectivement aptes à déterminer les trois descripteurs IIFRD , SoCJ et GRT . Les descripteurs obtenus alimentent alors des réseaux neuronaux LTSMR1, LTSMR2, LTSMR3 du dispositif de reconnaissance DISR. Ces réseaux neuronaux sont configurés à l’aide du modèle d’apprentissage et ont une structure identique à celle des réseaux de neurones utilisés pour la phase d’apprentissage préliminaire, LTSMA1, LTSMA2, LTSMA3. Les résultats délivrés pas les réseaux neuronaux LTSMR1, LTSMR2, LTSMR3 sont alors concaténés à l’aide d’un module de concaténation MCR en un vecteur de valeurs de dépendance temporelle. Un module MLPR couplé à la sortie du module de concaténation MCR est configuré à l’aide du modèle d’apprentissage. Le module MLPR peut être un perceptron multicouche comprenant par exemple deux couches denses, respectivement de 256 et 128 neurones. La sortie du module MLPR est alors transmise à un module de classification SFTR (par exemple implémentant une fonction exponentielle normalisée ou Softmax) également configuré à l’aide du modèle d’apprentissage. Le module de classification SFTR délivre la classe CL identifiée pour la séquence d’entrée S inp . La décrit un exemple de circuit électronique implémentant le système SYS. Un processeur PRO, par exemple (un microprocesseur) peut être configuré pour implémenter au moins partiellement, les dispositifs DIS1 et DIS2. Selon un mode de réalisation, le dispositif d’apprentissage DISA est implémenté sur un autre circuit électronique communicant distinct (non représenté) comprenant également une mémoire apte à mettre en œuvre certaines au moins des étapes des procédés des figures 2, 3 et 8. Le dispositif de reconnaissance DISR, la mémoire MEM et les moyens de configuration MCONF sont implémentés sur le circuit électronique représenté sur la . Selon un mode de réalisation, les moyens de configuration MCONF peuvent être disjoints des autres moyens du dispositif de reconnaissance DISR et couplés à ces derniers à l’aide de moyens de communication. Le processeur PRO est couplé à la mémoire MEM apte à mémoriser le modèle d’apprentissage obtenu par exemple. En outre la mémoire MEM peut mémoriser des instructions de programme d’ordinateur conçues pour mettre en œuvre certaines au moins des étapes des procédés des figures 2, 3, 8 et 9 lorsque ces instructions sont exécutées par le processeur PRO. Enfin un circuit de télécommunication CTEL est conçu pour transmettre et recevoir des flux de données avec des éléments externes, par exemple avec le visiocasque. Procédé d’apprentissage d’une pluralité de classes pour un réseau neuronal, à partir de séquences temporelles dites d’apprentissage, formées de représentations successives en trois dimensions (3D) d’une scène incluant une partie d’un corps articulé, chaque séquence d’apprentissage (S i (t)) étant associée à l’une des classes, le procédé comprenant les étapes suivantes, pour chaque séquence d’apprentissage : - une obtention d’au moins deux descripteurs (ψ k (S i (t))) à partir des représentations en 3D de la séquence d’apprentissage (S i (t)) considérée, au moins un descripteur obtenu traduisant un déplacement spatial d’au moins une partie de la représentation 3D, entre un instant de référence et un autre instant, - un apprentissage préliminaire d’une valeur de dépendance temporelle (g θk (ψ k (S i (t)))) pour au moins deux réseaux neuronaux dits préliminaires recevant chacun l’un des descripteurs, chaque valeur de dépendance temporelle caractérisant une relation entre au moins deux valeurs prises par un descripteur à au moins deux instants (t, t∈[0,T]) différents, de façon à obtenir les valeurs optimales de paramètres préliminaires associés aux neurones des réseaux neuronaux préliminaires, - un apprentissage de la pluralité de classes pour un réseau neuronal de façon à obtenir des valeurs optimales de paramètres dits principaux associés aux neurones du réseau neuronal, ledit réseau neuronal étant couplé à au moins deux autres réseaux neuronaux recevant chacun l’un des descripteurs, des paramètres associés aux neurones des autres réseaux neuronaux étant fixés à l’aide des valeurs optimales des paramètres préliminaires. Procédé selon la revendication précédente, dans lequel la séquence d’apprentissage comprend des données représentatives d’un squelette en trois dimensions de la partie du corps articulé. Procédé selon la revendication précédente, dans lequel l’étape d’apprentissage préliminaire comprend en outre : - un traitement de chaque valeur de dépendance temporelle de façon à délivrer une classe pour chacune desdites valeurs de dépendance temporelle, - une minimisation d’une erreur calculée entre chaque classe délivrée et une classe cible, - une mise à jour des valeurs des paramètres préliminaires en fonction de l’erreur minimisée, et - une poursuite de l’apprentissage préliminaire avec une nouvelle séquence d’apprentissage tant qu’un premier critère prédéterminé n’est pas satisfait. Procédé selon l’une quelconque des revendications précédentes, dans lequel les au moins deux autres réseaux neuronaux sont chacun aptes à délivrer une valeur de dépendance temporelle correspondant au descripteur reçu en entrée, l’étape d’apprentissage comprenant en outre : - une concaténation des valeurs de dépendance temporelle délivrées par les autres réseaux neuronaux, de façon à former un vecteur de valeurs de dépendance temporelle, le vecteur étant délivré en entrée dudit réseau neuronal, - un traitement dudit vecteur de façon à délivrer une classe correspondante, - une minimisation d’une erreur calculée entre ladite classe délivrée et une classe cible, - une mise à jour des valeurs des paramètres associés aux neurones dudit réseau neuronal en fonction de l’erreur minimisée, et - une poursuite de l’apprentissage avec une nouvelle séquence d’apprentissage tant qu’un deuxième critère prédéterminé n’est pas atteint. Procédé selon l’une quelconque des revendications précédentes, dans lequel les représentations 3D sont définies par des informations géométriques en 3D, lesdits descripteurs étant obtenus à l’aide de trois méthodes distinctes à partir des informations géométriques en 3D. Procédé de reconnaissance d’une classe parmi une pluralité de classes, à partir d’une séquence temporelle dite d’entrée, formée de représentations successives en 3D d’une scène, le procédé comprenant la mise en œuvre des étapes suivantes : - une configuration des paramètres associés aux neurones de réseaux neuronaux, à partir des valeurs optimales des paramètres préliminaires et principaux délivrés à l’issue d’un apprentissage mis en œuvre à l’aide d’un procédé selon l’une quelconque des revendications 1 à 5, - une obtention d’au moins deux descripteurs à partir des représentations en 3D de la séquence temporelle d’entrée, et - une reconnaissance d’une classe pour la séquence temporelle d’entrée, à l’aide des réseaux neuronaux configurés, recevant les descripteurs obtenus. Dispositif d’apprentissage (DISA) d’une pluralité de classes pour un réseau neuronal, à partir de séquences temporelles dite d’apprentissage, formées de représentations successives en trois dimensions (3D) d’une scène incluant une partie d’un corps articulé, chaque séquence d’apprentissage (S i (t)) étant associée à l’une des classes, le dispositif comprenant les moyens suivants : - des moyens (MA1, MA2, MA3) pour une obtention d’au moins deux descripteurs (ψ k (S i (t))) à partir des représentations en 3D de la séquence d’apprentissage (S i (t)) considérée, au moins un descripteur obtenu traduisant un déplacement spatial d’au moins une partie de la représentation 3D, entre un instant de référence et un autre instant, - des moyens (MAPP) pour un apprentissage préliminaire d’une valeur de dépendance temporelle (g θk (ψ k (S i (t)))) pour au moins deux réseaux neuronaux dits préliminaires recevant chacun l’un des descripteurs, chaque valeur de dépendance temporelle caractérisant une relation entre au moins deux valeurs prises par un descripteur à au moins deux instants (t, t∈[0,T]) différents, de façon à obtenir les valeurs optimales de paramètres préliminaires associés aux neurones des réseaux neuronaux préliminaires, - des moyens (MAR) pour un apprentissage de la pluralité de classes pour un réseau neuronal de façon à obtenir des valeurs optimales de paramètres dits principaux associés aux neurones du réseau neuronal, ledit réseau neuronal étant couplé à au moins deux autres réseaux neuronaux recevant chacun l’un des descripteurs, des paramètres associés aux neurones des autres réseaux neuronaux étant fixés à l’aide des valeurs optimales des paramètres préliminaires. Dispositif selon la revendication précédente, dans lequel les réseaux neuronaux préliminaires et les autres réseaux neuronaux sont des réseaux de neurones récurrents. Dispositif de reconnaissance (DISR) d’une classe parmi une pluralité de classes, à partir d’une séquence temporelle dite d’entrée, formée de représentations successives en 3D d’une scène, le dispositif comprenant les moyens suivants : - des moyens pour configurer (MCONF) les paramètres associés aux neurones de réseaux neuronaux à partir des valeurs optimales des paramètres préliminaires et principaux délivrés par un dispositif d’apprentissage selon l’une quelconque des revendications 7 à 8, - des moyens (MR1, MR2, MR3) pour obtenir au moins deux descripteurs à partir des représentations en 3D de la séquence temporelle d’entrée, - des moyens (MLPR, SFTR) pour reconnaître une classe pour la séquence temporelle d’entrée, à l’aide des réseaux neuronaux configurés, recevant les descripteurs obtenus.