jeudi 19 février 2015

Une plateforme sur mesure pour l’annotation de vidéos

Cet article est repris du site de Whisky Echo Bravo.

Grâce aux technologies numériques qui ont fait leur apparition depuis le milieu des années 1990, nous créons de l’information avec une facilité jamais vue, information que nous pouvons partager grâce au web avec le reste de la planète. Il va sans dire que la recherche universitaire bénéficie de ces avancées technologiques; l’imagerie numérique en particulier a révolutionné les protocoles de recherche dans de nombreux domaines. Par exemple, le Centre d’Études et de Recherches pour Favoriser l’Apprentissage (CERFA) de l’Université du Québec à Montréal met à profit la flexibilité qu’offre la vidéo numérique pour récolter, visualiser et archiver des observations d’interaction en situation d’apprentissage. Pour eux, la vidéo numérique se compare avantageusement aux formats analogiques et sur pellicule:

  • il est possible de réaliser des copies des enregistrements sans perte de qualité;
  • il est facile, avec un ordinateur équipé d’un logiciel de traitement vidéo, de créer des extraits d’une vidéo plus longue;
  • il est possible de visualiser avec précision la vidéo sans équipement spécialisé, coûteux, encombrant ou difficile à manipuler;
  • grâce à internet, les vidéos peuvent être partagées avec des collaborateurs partout dans le monde;
  • le matériel d’enregistrement compact se transporte aisément et est d’utilisation relativement discrète.

Au CERFA, les projets de recherche ne se limitent évidemment pas à la récolte de données vidéos; celles-ci, qui peuvent atteindre plusieurs dizaines, voire quelques centaines d’heures d’enregistrement, doivent aussi être analysées afin d’en extraire les informations pertinentes. Ce travail d’analyse consiste en général à identifier plusieurs séquences d’intérêt de quelques minutes dans des vidéos d’environ une heure et à y annoter les comportements entre les personnes filmées. Une fois ce travail d’annotation terminé, les chercheurs ont en main des informations qu’ils peuvent appréhender et corréler, ce qui leur permettra de confirmer ou d’infirmer leurs hypothèses ou encore d’en émettre de nouvelles.

Jusqu’à récemment, le travail d’annotation se faisait à l’aide de Anvil, un logiciel gratuit mais non libre d’annotation vidéo. Bien qu’il permettait de faire le travail de base, c’est-à-dire de créer des annotations, Anvil ne répondait pas pleinement aux besoins du CERFA; les principales lacunes identifiées étaient :

  • l’impossibilité d’annoter plusieurs vidéos simultanément, ce qui est nécessaire lorsque les situations d’apprentissage sont filmées par plusieurs caméras simultanément;
  • la difficulté de partager les annotations avec d’autres chercheurs dans un environnement sécurisé (afin de respecter le droit à l’image liés aux certificats éthiques);
  • un support limité des codecs vidéo récents;
  • la difficulté pour des non-programmeurs de modifier le protocole d’annotation et l’impossibilité de modifier celui-ci une fois le travail d’annotation commencé;
  • une interface utilisateur mal adaptée aux besoins du CERFA;
  • l’absence d’un moteur de recherche permettant de retrouver des annotations et d’en extraire des rapports suffisamment complets.

On remarque que plusieurs de ces limitations sont des éléments importants du web d’aujourd’hui : on n’imagine pas le web sans visionnement de vidéos, sans édition collaborative de documents et sans moteur de recherche. C’est ce qui a poussé Delphine Odier-Guedj, professeure responsable du CERFA, à lancer un appel de propositions pour la réalisation d’une application web pour l’annotation de vidéos, avec comme exigences:

  • une structure d’organisation des données vidéos et d’annotation adaptée aux besoins actuels du CERFA mais assez flexible pour s’adapter aux besoins futurs;
  • l’encodage automatique des vidéos (enregistrés par les caméras dans des formats propriétaires divers, souvent en HD) vers des formats utilisables sur le web;
  • la mise en place d’une plateforme collaborative où les chercheurs pourront travailler sur des documents partagés dans un environnement sécurisé, dans le respect des certificats éthiques;
  • une interface utilisateur adaptée à la tâche afin de maximiser l’efficacité des chercheurs, ce qui inclut la possibilité de faire jouer plusieurs vidéos de façon synchronisée;
  • la possibilité de décrire le mouvement à l’aide de la labanotation, un ensemble de schémas visuels en lien avec les propositions d’annotations du mouvements proposés par Rudolf Laban;
  • un moteur de recherche performant;
  • la possibilité d’éditer des rapports et statistiques en lien avec les annotations effectuées;
  • la mise en disponibilité de l’application sous licence GNU GPL.

Comme nous sommes férus de vidéo et de moteurs de recherche, c’est avec enthousiasme que nous avons répondu à l’appel de proposition. Après plusieurs mois de travail, nous avons produit Panda, une plateforme d’analyse de documents audiovisuels.

Nous décrirons divers aspects de Panda dans une série d’articles que nous publierons au cours des prochaines semaines. Nous commencerons aujourd’hui par un survol de son interface utilisateur. Comme Panda est utilisé pour les projets de recherche du CERFA, son accès est limité aux chercheurs. C’est pourquoi nous utiliserons des captures d’écran pour décrire ses différentes fonctionnalités.

Gestionnaire de contenu Lorsque les chercheurs se connectent à Panda, ils accèdent au gestionnaire de contenus, où ils peuvent voir les différents documents qu’ils ont créés dans leurs différents projets de recherche. Les documents sont étiquetés par projet, et Panda offre quelques filtres pour aider les chercheurs à retrouver plus facilement les documents. On peut également classer les documents à l’aide de dossiers. Les droits d’accès aux documents sont accordés aux chercheurs par projet, rendant ainsi possible le partage des documents d’un projet aux personnes travaillant sur ce projet.

Quand un chercheur débute un nouveau projet, il crée d’abord une Séquence vidéo, qui est un document rassemblant les vidéos tournées lors d’une situation d’apprentissage ainsi que les informations associées (par exemple, le lieu et les noms des personnes filmées). Panda accepte une grande variété de formats vidéos, qu’il se charge de convertir dans les formats MP4/H.264 et WebM/VP8, essentiels pour le visionnement dans les fureteurs.

Interface d'annotation Une fois les vidéos converties, le chercheur peut commencer son travail d’annotation. Pour cela, il se crée un Cahier d’annotation, une même séquence vidéo pouvant servir de base à plusieurs cahiers. Il choisit un vocabulaire d’annotation, qui spécifie les aspects de la vidéo qu’il désire annoter. Dans le cas du CERFA, les chercheurs analysent le lien entre le langage verbal et le langage non-verbal des participants. Ils choisissent donc un vocabulaire détaillant les différentes parties du corps.

Pour que l’interface d’annotation soit bien adaptée aux besoins des chercheurs, nous avons analysé le déroulement du travail d’annotation, de concert avec le CERFA. Nous avons ainsi pu découper cette activité en deux grandes étapes: le marquage des intervalles d’intérêt et le renseignement des caractéristiques de chaque intervalle. À ces étapes s’ajoutent deux autres tâches : la révision des changements apportés au cahier et la simple consultation, sans édition. Ce découpage des activités s’est traduit par la conception de quatre interfaces utilisateur, chacune présentant de façon optimale les outils nécessaires à la tâche qu’elle sert. Ces interfaces sont accessibles par les quatre boutons au haut à droite, Sélection, Analyse, Révision et Voir.

Interface d'annotation sur trois écrans Comme les situations d’apprentissage sont fréquemment filmées à deux ou trois caméras, les chercheurs ont besoin de visionner plusieurs vidéos simultanément, afin d’observer une scène sous des angles différents. Comme l’espace disponible sur un écran est relativement restreint, nous avons conçu Panda pour que son interface s’adapte à un écran triple (trois écrans de 1920x1200). On peut ainsi montrer les outils de travail sur un des écrans et deux vidéos grand format sur les deux autres écrans. Grâce aux media query de CSS et à un peu de JavaScript, Panda choisit automatiquement la bonne disposition d’interface en fonction de la largeur de la fenêtre.

L’interface de la tâche de sélection comprend cinq composantes principales. Nous avons bien sûr un lecteur vidéo, en haut à gauche sur l’interface simple écran; à sa droite sont placés la palette d’annotation et, sous celle-ci, le panneau de contrôle. À l’extrémité droite de l’écran se trouvent les filtres, qui permettent de contrôler les annotations affichées dans les pistes d’annotation, situées au bas de l’écran.

La palette d’annotation permet au chercheur de choisir l’acteur et les parties du corps à annoter. Le choix de l’acteur se fait à l’aide du menu déroulant, alors que l’activation des parties du corps se fait en cliquant sur l’image (ou à l’aide de cases à cocher, qui ne sont pas montrées ici). Chaque partie du corps est associée à une piste d’annotation. Le chercheur crée des annotations en faisant jouer la vidéo et en appuyant sur le bouton Marquer durant les intervalles qu’il désire annoter. Des rectangles de couleur apparaissent alors dans les pistes, chacun correspondant à une annotation. Lorsque les annotations deviennent trop nombreuses, le chercheur peut les filtrer afin de n’afficher que celles correspondant à certains critères.

Interface d'analyse Une fois la sélection des intervalles terminée, le chercheur bascule dans l’interface d’analyse. Les composantes de cette interface sont semblables à celle de sélection, avec le lecteur vidéo, les filtres et les pistes, mais la palette a été remplacée par un espace d’édition où s’affiche un formulaire permettant de modifier les détails de chaque annotation. Pour modifier les annotations, le chercheur sélectionne une ou plusieurs annotations dans les pistes puis, à l’aide du bouton droit de la souris, choisit une opération d’édition dans le menu contextuel. Le formulaire, optimisé pour les besoin du CERFA, s’affiche alors dans l’espace d’édition. En plus de permettre l’édition simultanée de plusieurs annotations, le formulaire contient des éléments d’interface spécialisés pour représenter les diagrammes de Laban, qui sont fréquemment utilisés pour la notation et l’analyse des mouvements. Les diagrammes sont des éléments SVG et ils sont mis en correspondance, grâce à JavaScript, avec les boutons radio et les cases à cocher qu’ils remplacent. Ainsi, lors de l’affichage du formulaire, les diagrammes sont initialisés avec les valeurs des champs du formulaire; lors de l’édition des diagrammes, les valeurs des champs sont mises à jour pour qu’à la soumission, les bonnes valeurs soient transmises au serveur.

Quand le travail d’analyse est terminé, le chercheur peut demander la production d’un rapport à partir de son cahier d’annotation. Pour le moment, le rapport compile les annotations et calcule quelques statistiques, mais nous prévoyons étoffer les fonctionnalités offertes afin d’aider les chercheurs à trouver des corrélations entre les annotations.

Nous venons de faire un rapide survol des principales fonctionnalités de Panda, mais nous n’avons pas tout dit. Dans les prochains articles, nous aborderons l’architecture du système, nous reviendrons sur la construction de l’interface utilisateur et nous discuterons de l’utilisation du moteur de recherche dans Panda.