• Aucun résultat trouvé

Détection d’actions squelettiques 3D non segmentées

tées

Nous nous intéressons dans cette section au quatrième et dernier aspect permettant de distinguer les approches de reconnaissance d’actions. Il s’agit en fait de la reconnaissance d’actions dans un flot non segmenté dite détection d’actions. Nous présentons dans cette section les principales approches ayant porté sur cette problématique.

Bien que la détection d’actions dans un flot continu ait un champ d’application plus vaste que la simple reconnaissance d’actions pré-segmentées, la plupart des travaux utili- sant des données squelettiques ont plus porté sur la reconnaissance des actions et beaucoup moins sur la détection d’actions. Ceci est notamment dû au fait que la détection est plus complexe, car le système doit assurer deux tâches, à savoir la segmentation et la reconnais- sance. Dans ce qui suit, le terme de détection fera référence à la reconnaissance d’actions

dans un flot non segmenté.

Les approches de détection d’actions retrouvées dans la littérature combinent diffé- remment les tâches de segmentation et de reconnaissance. Tout d’abord, il est possible de distinguer les approches hors ligne et les approches en-ligne. La principale différence entre ces deux familles d’approches est que pour les approches hors ligne la segmentation et la reconnaissance sont effectuées séparément. C’est souvent le cas pour des applications de vidéosurveillance où le flot est analysé après enregistrement à la recherche d’un événe- ment particulier comme une intrusion. Au contraire, une approche de détection en-ligne doit combiner les opérations de segmentation et de reconnaissance car le traitement s’ef- fectue en temps réel. Ceci est notamment indispensable dans un contexte d’interaction Homme-Machine, comme celui dans lequel nous nous situons. Nous nous focalisons ainsi dans cette section sur les approches de détection d’actions en-ligne (OAD pour Online Action Detection).

En outre, la distinction entre les approches OAD peut être faite sur la manière de combiner la segmentation et la reconnaissance. En effet, il y a les approches où la segmen- tation s’opère de manière implicite alors qu’il existe d’autres approches qui explicitement segmentent le flot d’entrée. Les approches de segmentation implicite se basent souvent sur des modèles séquentiels tels que les HMM ou les LSTM alors que les approches de seg- mentation explicite opèrent au moyen de fenêtre temporelle glissante. Par exemple, Li et al. [LLX+16] ont proposé une architecture de bout en bout de réseaux de neurones

récurrents (RNN) avec une fonction objectif de classification et de régression conjointe pour localiser avec précision les instants de début et de fin des actions. Bien que les perfor- mances affichées soient intéressantes, ce type d’architectures nécessite de grandes quantités de données d’apprentissage, qui ne sont pas toujours disponibles. Comme évoqué dans les sections précédentes, nos travaux ne se basent pas sur des modèles séquentiels mais plutôt sur des modèles statistiques et donc la segmentation est opérée de manière explicite. Nous nous focalisons donc sur les approches OAD à base de segmentation explicite.

Pour répertorier et décrire les approches OAD opérant une segmentation explicite, il est possible de se baser sur deux critères. Le premier critère est relatif à la nécessité ou non d’avoir une pose de référence qui sépare deux instances d’actions successives. Le second porte sur la procédure de définition du nombre et la taille des fenêtres temporelles glissantes qu’emploient ces approches. Les approches OAD à segmentation explicite sont décrites ci-après suivant ces deux critères.

2.4.1

Recherche de postures de référence

Le passage d’une problématique de reconnaissance d’actions pré-segmentées à celle de détection (segmentation et reconnaissance) d’actions dans un flot non segmenté est caractérisée par la non connaissance des instants de début et de fin des différentes actions qui peuvent être effectuées.

Une technique consiste à définir une posture représentant une position de repos à la- quelle le sujet doit revenir à la fin de la performance d’une action (Figure 2.31). Ainsi, la détection de cette posture marque la fin de l’action et permet de n’enclencher la reconnais- sance que sur les trames précédentes. Par exemple, Huang et al. [HYWDLT14] proposent de rajouter une classe "Repos" à l’ensemble des classes à reconnaître de manière à ne lan- cer la reconnaissance que lorsque la classe "Repos" n’est pas détectée. Néanmoins, cette contrainte peut vite devenir encombrante dans un contexte d’interaction Homme-Machine (un jeu interactif par exemple) où le sujet peut enchaîner plusieurs actions sans s’arrêter. D’autres approches proposent au contraire de mesurer le degré de certitude de la dé- cision émise à chaque instant pour savoir si une action est, oui ou non, en train d’être effectuée. Par exemple, Zhao et al. [ZLP+13, ZLP+14] proposent d’extraire des descrip- teurs suivant une fenêtre temporelle glissante et d’entraîner un SVM de façon à ce qu’à chaque instant, le score de la classe potentielle prédite est comparé à un seuil. Si le score est supérieur à ce seuil, alors la trame appartient à la classe prédite, sinon aucune décision n’est émise.

Figure 2.31 – Des exemples de trames de la base de données MAD (Multi-Modal Action Detection) illustrant un enchaînement typique (Action-Repos-Action) dans les séquences de cette base [HYWDLT14].

2.4.2

Utilisation de fenêtres glissantes

Parmi les approches OAD basées sur des fenêtres glissantes, nous pouvons distinguer trois familles d’approches.

Les premières méthodes OAD utilisaient des fenêtres glissantes temporelles de taille fixe. Dans [FMKN12], une fenêtre glissante temporelle de 35 trames a été utilisée avec une forêt d’arbres de decision comme classifieur. Zhao et al. [ZLP+13, ZLP+14] ont em- ployé aussi une fenêtre temporelle glissante de 35 trames suivant laquelle une nouvelle représentation a été extraite, appelé SSS (Structured Streaming Skeleton).

Zanfir et al. [ZLS13] ont proposé une autre représentation basée sur le descripteur de pose mobile. Ce dernier permet de capturer à la fois les positions des articulations et leurs vitesses de déplacement sur de petites fenêtres temporelles de taille fixe. Une autre méthode proposée par Devanne et al. [DBP+17, DWP+15] subdivise en un premier

temps le mouvement situé dans chaque fenêtre temporelle en mouvements élémentaires. Ces mouvements élémentaires, appelés segments de mouvements (MS), sont appris au préalable et peuvent être considérés comme les éléments d’une base de projection. Dans un second temps, les MS extraits sont modélisés via un classifieur bayesien naïf pour identifier une action en cours, si elle a lieu. Cependant, en raison de la variabilité du style d’exécution, il n’est pas possible de trouver une taille générique de fenêtres temporelles.

De ce fait, la deuxième famille d’approches consiste à considérer une fenêtre de taille croissante en combinant une fenêtre temporelle initiale de taille minimale avec les nou- velles trames qui arrivent. Cela a été proposé par Huang et al. [HYWDLT14] sous forme d’un ensemble de détecteurs d’événements séquentiels appelés SMMED. Cette méthode consiste à rejeter séquentiellement les classes les plus improbables en analysant les seg- ments de taille croissante (Figure 2.32). Ce processus s’arrête au moment où il ne reste plus qu’une seule classe. Cette classe est en fait la décision finale de détection. Une approche similaire basée sur le modèle bayésien naïf multinomial a été introduite dans [EMS16]. Bien qu’étant innovantes, ces approches comportent un problème principal relatif à la détermination de la taille minimale de la fenêtre. En effet, si la taille est trop grande, certaines classes ne seront jamais prédites. Si, au contraire, la taille est trop petite, le sys- tème risque d’être trop souvent réinitialisé alors même qu’il n’a pas assez d’information pour décider.

Une troisième famille d’approches regroupe les méthodes utilisant plusieurs fenêtres. A titre d’exemple Sharaf et al. [STHES15] ont proposé de mettre en compétition trois fenêtres temporelles glissantes de tailles différentes afin d’accroître les chances de détecter des actions d’une même classe effectuées à différentes échelles temporelles (Figure 2.33). Les auteurs ont alors analysé les données d’apprentissage afin de sélectionner trois tailles

Figure 2.32 – Étant donnée une instance de test (séquence d’un sujet jouant du violon en haut de la figure), SMMED rejette automatiquement une classe quand elle est sûre que l’action en cours ne peut pas appartenir à cette classe [HYWDLT14].

en termes de nombre de trames : minimale, moyenne et maximale. Des descripteurs sont ensuite extraits suivant chacune de ces tailles et sont passés à des SVMs.

Une approche similaire à plusieurs niveaux, mais plus efficace sur le plan du temps

Figure 2.33 – Illustration des scores de confiance obtenus par trois classifieurs SVM à différentes échelles temporelles, à savoir 24, 32 et 40 trames [STHES15].

de calcul, a été présentée dans [MHT15, MHT16]. Les auteurs ont proposé d’identifier à chaque position (trame) le sous-intervalle se terminant à la trame courante ayant la plus grande somme. Si cette somme dépasse un seuil donné, le système décide qu’une action est en cours d’exécution. Cependant, on peut se demander pourquoi n’utiliser que trois échelles temporelles alors qu’il devrait y avoir presque autant d’échelles temporelles que de classes d’actions voire même que d’échantillons vu que les styles d’exécution peuvent être très différents.

De plus, en utilisant des fenêtres temporelles de taille fixe ou croissante, ces approches supposent implicitement que la durée des actions pourrait être connue à l’avance. De telles solutions ne sont donc que partiellement satisfaisantes, étant donné que les actions à détecter dans des cas d’utilisation réelle diffèrent grandement en termes de nature du mouvement et de quantité de déplacement. Autrement dit le temps d’exécution peut différer d’une classe à une autre mais aussi d’un sujet à un autre pour une même classe.