Visualisation de nuages de points 3D acquis par un laser : impact
Transcription
Visualisation de nuages de points 3D acquis par un laser : impact
Visualisation de nuages de points 3D acquis par un laser : impact de la vision stéréoscopique et du suivi de la tête sur une recherche de cible Louis-Pierre Bergé Lab-STICC UMR CNRS 6285 Télécom Bretagne Brest, France Cranfield University Shrivenham, United Kingdom [email protected] Nabil Aouf Cranfield University Shrivenham, United Kingdom [email protected] Résumé Thierry Duval Lab-STICC UMR CNRS 6285 Télécom Bretagne Brest, France [email protected] Gilles Coppin Lab-STICC UMR CNRS 6285 Télécom Bretagne Brest, France [email protected] Mots Clés Nous étudions dans un contexte militaire la visualisation de nuages de points 3D acquis par un laser embarqué sur un drone tournant autour d’une zone de combat. Nous proposons un protocole expérimental permettant d’évaluer l’impact de la vision stéréoscopique et du suivi de la tête sur une recherche de cible avec un casque de réalité virtuelle. Les premiers résultats montrent un avantage lorsque la vision stéréoscopique et le suivi de la tête sont activés. Nuages de points 3D ; casque de réalité virtuelle ; drone militaire ; vision stéréoscopique ; suivi de la tête. Abstract In military context, we study the visualization of 3D point clouds sense by a drone flying around a battlefield area equipped with a 3D laser. We propose a user experiment protocol in order to study the effect of stereo and head tracking rendering on a target research task with a virtual reality headset. Our first results show a clear advantage when stereo and head tracking rendering are activated. Author Keywords 3D point clouds; Virtual Reality headset; military drone; stereoscopic vision; head tracking. ACM Classification Keywords État de l’art H.5.2 [Information interfaces and presentation]: User Interfaces; I.3.7 [Three-Dimensional Graphics and Realism]: Virtual reality. Dans certaines opérations militaires, un drone de combat est déployé afin de pouvoir rapidement attaquer une cible. Classiquement un premier militaire pilote le drone alors qu’un second visualise des données infra-rouges ou de radar 2D fournies par des capteurs embarqués sur le drone afin de rechercher une cible. Malgré l’ajout d’algorithmes pour détecter des cibles [5], la validation de la cible par un opérateur humain est toujours nécessaire pour garantir une reconnaissance réussie et efficace afin de lancer un missile depuis le drone. En 2004, l’armée américaine a commencé à exploiter l’usage de lasers 3D comme nouveaux capteurs pouvant être embarqués dans un drone [6]. Les opérateurs doivent de ce fait visualiser et manipuler des données 3D sous la forme d’un nuage de points 3D. Notre objectif dans ce travail est d’étudier l’ajout d’un casque de RV pour visualiser ces données 3D afin d’aider le militaire dans sa tâche de recherche de cible. Introduction Le développement des casques de réalité virtuelle (RV) auprès du grand public favorise l’usage de la RV dans de nombreux domaines. Ces casques sont de plus en plus précis, avec une latence faible et une forte résolution d’affichage. L’objectif de nos travaux est d’étudier l’usage d’un casque de RV dans un contexte militaire dans une tache spécifique de recherche de cible. L’usage de nouveaux capteurs de type laser 3D embarqués sur des futurs drones de combat est une option valide pour améliorer les performances de détection, de reconnaissance et d’identification d’une cible terrestre par un opérateur humain [6]. En effet, les données fournies par un laser 3D sont sous la forme d’un nuage de points 3D pouvant être visualisé et manipulé en 3D. Avec ce type de données 3D, des expérimentations doivent être menées afin de développer une interaction 3D efficace et performante. Dans cet article, nous présentons une première étude visant à intégrer un casque de RV afin de visualiser un nuage de points 3D généré à partir d’un laser 3D. Nous étudierons plus spécifiquement l’impact de la vision stéréoscopique et du suivi de la tête de l’utilisateur dans une tâche de recherche de cible. Après avoir explicité le contexte de nos travaux, nous détaillerons l’objet de notre étude ainsi qu’une méthode permettant de générer des nuages de points 3D à partir de maillages 3D afin de créer différents scénarios de tests. Nous terminerons par le protocole d’évaluation que nous prévoyons de mettre en place et par un premier résultat prometteur d’une pré-évaluation. Des travaux précédents ont montré une évaluation positive de l’usage d’un casque de RV pour visualiser un nuage de points 3D pour des analyses géométriques [3] ou pour explorer des sites du patrimoine culturel [2]. De plus, différentes études ont été menées afin d’étudier l’impact d’un rendu stéréoscopique et d’un rendu suivant la tête de l’utilisateur. Par exemple Ware et al. [9] ont montré que le suivi de la tête permettait de meilleurs performances que la vision stéréoscopique pour visualiser des graphes en 3D, alors que Luo et al. [7] ont montré que la vision stéréoscopique avait un effet mais pas le suivi de la tête pour percevoir des objets 3D. Enfin, Ragan et al. [8] ont montré que les deux facteurs étaient meilleurs pour percevoir des distances. A partir de ces résultats pas toujours en accord, nous souhaitons étudier l’impact de ces facteurs dans notre contexte d’application. Objet de l’étude Figure 1: Paramètres de simulation du drone et du laser 3D. Figure 2: Illustration de notre processus de génération de nuage de points 3D : maillage 3D original (haut), nuage de points 3D blancs (milieu), nuage de points 3D colorés (bas). L’objet de notre étude est de proposer une interaction 3D aidant un militaire à trouver une cible terrestre dans un nuage de points 3D capté à l’aide d’un drone équipé d’un laser 3D. Afin de pouvoir réaliser différentes évaluations utilisateurs, il est nécessaire d’avoir un ensemble de jeux de données sous la forme de nuages de points représentant une zone militaire avec une cible potentielle. Afin de limiter les coûts et de ne pas être limité par un type de technologie au niveau des drones et des capteurs lasers, nous avons choisi de simuler le drone et le laser 3D afin de pouvoir générer facilement des nuages de points 3D à partir de maillages 3D. De plus, le résultat d’un laser 3D est un ensemble de points 3D sans couleur. Afin d’assister le militaire nous proposons un prétraitement permettant d’associer une couleur à chaque point 3D. Enfin pour une évaluation utilisateur, un paramètre important à pouvoir contrôler est la difficulté de la tâche, à savoir la difficulté à rechercher une cible terrestre. Pour cela nous avons ajouté à notre méthode de génération de nuages de points 3D une métrique permettant de caractériser cette difficulté. Génération d’un nuage de points 3D Dans notre contexte militaire, nous considérons que le drone équipé d’un laser 3D tourne autour d’une zone sensible dans laquelle la cible est cachée. Pour simuler cette situation nous avons défini un ensemble de paramètres (cf. Figure 1) : l’altitude et le rayon du cercle de rotation du drone ; la résolution en pixel du laser 3D (X_res ∗ Y_res), l’inclinaison (α) et l’angle de vision (FoV ) du laser 3D. Pour générer le nuage de points 3D vu par le drone lorsqu’il a réalisé un tour complet autour de la zone nous avons subdivisé le mouvement circulaire en n positions. Pour chaque position, nous générons un nuage de points 3D de X_res ∗ Y_res points correspondant à une donnée vue par le laser 3D. À la fin d’une rotation complète, nous obtenons un nu- age de n ∗ X_res ∗ Y_res points 3D. Pour calculer la position de chaque point 3D nous avons utilisé une caméra virtuelle et le principe du lancer de rayon. Pour chaque pixel de la caméra virtuelle nous lançons un rayon virtuel et stockons l’intersection de ce rayon avec le premier maillage 3D rencontré. Notre implémentation se base sur la librairie PCL1 qui facilite la manipulation de nuages de points 3D et qui utilise VTK (Visualization Toolkit library2 ) pour le rendu 3D. Nous avons validé notre méthode avec un maillage 3D représentant un village dans lequel nous avons ajouté un tank comme cible terrestre. La Figure 2 donne un exemple du nuage de points obtenu sans coloration. Pour cette génération nous avons utilisé les paramètres suivants : Altitude = 300m; rayon drone = 10m; FoV = 6.5◦ ; α = 45◦ ; X_res = Y_res = 128px, n = 100. Le nuage de points 3D de la Figure 2 contient 1 638 400 points 3D correspondant à une surface couverte au sol de 125m de diamètre. Coloration des points 3D Afin d’aider le militaire à rapidement identifier les éléments constituant la zone à observer et à mettre en évidence les potentielles cibles, nous avons coloré le nuage de points 3D en respectant deux principes : 1) utiliser une carte de couleur qui met en évidence les points 3D proches du sol où la cible se situe ; 2) laisser le sol de la zone en blanc. Nous avons donc coloré les points 3D en fonction de leur altitude (axe vertical) avec une carte de couleur utilisant une seule fois toutes les couleurs allant du rouge vers le bleu (jet color map disponible sous Matlab par exemple). Les potentielles cibles sont donc en rouge (cf. Figure 2). Pour la détection du sol, nous avons utilisé la méthode 1 2 http://www.pointclouds.org/ http://www.vtk.org/ itérative RANSAC [4] disponible avec PCL afin de laisser tous les points 3D en blanc se situant sur une surface plane proche du sol. Le résultat de notre coloration des points 3D est visible Figure 2. Nous avons réalisé ce traitement après la génération de chaque nuage de points 3D de X_res ∗ Y_res obtenu lors de l’étape précédente. Il est tout à fait envisageable que ce traitement puisse être fait en temps réel à partir des données capturées par un laser 3D embarqué sur un drone réel. Métrique pour estimer la visibilité de la cible Afin de pouvoir caractériser la difficulté à trouver une cible à l’intérieur d’un nuage de points 3D pour une zone générée avec notre méthode, nous proposons une métrique pour estimer la visibilité de celle-ci. Cette métrique dépend du point de vue que l’utilisateur aura sur le nuage de points 3D. Pour la calculer nous prenons la moyenne du pourcentage de pixel visible de la cible pour chaque n subdivision du mouvement de rotation du point de vue virtuel autour de la zone. Pour des zones faciles (où la cible est quasiment visible sur chaque image) nous obtenons une métrique supérieure à 50%. À l’inverse pour des zones difficiles, nous obtenons une métrique inférieure à 20%. Évaluation utilisateur À ce stade nous disposons d’un ensemble de nuages de points 3D colorés simulant à la fois le résultat d’un laser 3D embarqué sur drone et d’un pré-traitement pour mettre en évidence les cibles potentielles. L’objectif de cette étude va être d’évaluer l’impact de la vision stéréoscopique et du suivi de la tête afin de rechercher une cible dans un tel nuage de points 3D à l’aide d’un casque de RV. La combinaison vision stéréoscopique et suivi de la tête nous amène à quatre techniques différentes d’utilisation du casque de RV que nous allons comparer : avec les deux (SH : Stereo, Head-tracking), sans les deux (NSNH : No Stereo, No Head-tracking), sans la vision stéréoscopique mais avec le suivi de la tête (NSH : No Stereo, Head-tracking) et avec la vision stéréoscopique mais sans le suivi de la tête (SNH : Stereo, No Head-tracking). Ici nous détaillerons le protocole d’évaluation que nous prévoyons de mettre en place. Tâche La tâche de notre évaluation utilisateur consistera à rechercher visuellement un ensemble de points 3D de couleur rouge représentant un tank. Le tank est toujours situé sur le sol représenté en blanc, mais il n’est pas toujours visible par le participant. En effet celui-ci peut être occulté par l’environnement (arbres, bâtiments). Des distracteurs (voitures, bus, hélicoptères, drones, véhicules de transport militaires, pickups) sont présents dans l’environnement. Durant la tâche le participant ne contrôle pas la position de son point de vue virtuel qui est automatique, il effectue une rotation autour du centre de la zone à analyser. Cette vitesse de rotation a été obtenue lors d’une pré étude avec 3 participants. Uniquement lorsque la condition "suivi de la tête de l’utilisateur" est activée (techniques NSH et SH), les participants pourront contrôler l’orientation du point de vue virtuel. Un essai se déroule ainsi : lorsque le participant est prêt il active l’essai en appuyant sur la touche espace du clavier. Il doit alors observer le nuage de points et trouver le plus rapidement possible la cible (le tank). Lorsqu’il pense l’apercevoir, le participant appuie sur la touche espace pour arrêter le mouvement circulaire de rotation. Le participant doit alors valider la cible en utilisant la souris pour contrôler un curseur et cliquer sur la cible. Si la cible n’est pas bonne le participant peut appuyer de nouveau sur la touche espace pour réactiver le mouvement automatique de rotation. L’essai se termine avec succès si la cible est trouvée ou par un échec si la cible n’est pas trouvée après deux rotations complètes autour de la zone à analyser. Procédure Cette évaluation utilisateur suit un design d’expérience intra-participant avec la vision stéréoscopique (S, NS) et le suivi de la tête (H, NH) comme facteurs. Pour limiter les effets d’apprentissage nous prévoyons de contrebalancer l’ordre des techniques à l’aide d’un carré Latin 4 x 4. Nous constituerons donc 4 groupes différents de participants. Pour chaque technique, les participants devront réaliser un bloc d’essai de recherche de cible. Un bloc est constitué de 9 essais différents tirés aléatoirement parmi les 36 scénarios disponibles en vérifiant que chaque participant effectuera 3 essais pour chaque niveau de difficulté (facile, moyen et difficile) : le niveau de difficulté étant défini par la métrique détaillée dans la section précédente. En utilisant la méthode de partitionnement k-moyennes (k-means), les trois groupes de difficultés en fonction de la valeur de la métrique sont définis de cette façon : < 20% (difficile), entre 20% et 40% (moyen), > 40% (facile). Chaque participant de l’expérience réalisera 4 techniques ∗ 3 difficultés ∗ 3 essais = 36 essais. Un essai dure au maximum 68s. Avec un apprentissage de 3 essais supplémentaires pour les techniques (SH et NSNH) explicitant la vision stéréoscopique et le suivi de la tête et le temps de remplir les questionnaires, l’évaluation utilisateur devrait durer au maximum 1h. Matériels et données collectées Pour réaliser cette évaluation nous prévoyons d’utiliser le HTC Vive3 comme casque de RV. Pour le rendu nous utiliserons le plugin officiel SteamVR existant avec Unity 3D. Afin d’afficher avec Unity 3D un nuage de point 3D généré par notre méthode utilisant la librairie PCL, nous avons écrit en C# un parseur permettant de charger un nuage de points 3D au format ".PCD" tel que défini par PCL. Pour le suivi de la tête, nous prévoyons d’utiliser les capteurs internes et les données fournies par le HTC Vive. Nous prévoyons d’enregistrer les différents temps liés à la tâche : temps total = temps recherche cible visible + temps recherche cible non visible + temps sélection de la cible avec le curseur. Le temps qui nous intéresse dans cette évaluation est le temps recherche cible visible. Nous porterons notre analyse des résultats sur cette variable. Pour déterminer si la cible est visible ou non, nous avons repris chaque valeur précédemment calculée de la métrique de difficulté. Si moins de 5% des pixels de la cible sont visibles alors nous considérons la cible comme non visible. Nous enregistrerons aussi le nombre de validations de cibles non correctes et le nombre de tâches non réussies. À la fin de chaque technique nous prévoyons de mesurer l’utilisabilité avec le questionnaire SUS [1] (System Usability Scale) et l’attractivité avec le question AttrakDiff4 de la technique. À la fin de l’expérience nous demanderons au participant de classer les quatre techniques par ordre de préférence. Premiers résultats Les premiers résultats que nous allons détailler viennent d’une pré évaluation impliquant 4 participants de notre laboratoire (3 hommes, 1 femme). Nous avons limité notre protocole aux deux techniques SH (avec vision stéréoscopique et suivi de la tête) et NSNH (sans vision stéréoscopique et suivi de la tête) et à uniquement 7 essais par technique tirés aléatoirement parmi les 36 nuages de points 3D disponibles. Pour l’analyse qualitative, nous avons juste demandé aux participants de remplir le questionnaire SUS. Au niveau du matériel, nous avons utilisé le casque OSVR HDK 1.3 HMD (Open Source Virtual Reality Hacker Development Kit 1.35 ) couplé un ordinateur sous Windows 10 avec un CPU 3.70GHz Intel Xeon E5-1630, 16GB de mémoire RAM et une carte graphique Nvidia GTX 960. 4 3 http://www.htcvive.com/ 5 http://attrakdiff.de/index-en.html http://www.osvr.org/ La Figure 3 montre la valeur moyenne du temps de recherche de la cible visible pour les deux techniques. La Figure 4 exprime la même donnée en fonction de la difficulté des zones de recherche. La technique SH obtiens un score SUS de 90 et la technique NSNH obtiens un score SUS de 71,9. Nous pouvons clairement observer que la technique SH est plus rapide que la technique NSNH (écart de 6,5s) et que cette dernière est moins performante lorsque la difficulté augmente. Ce résultat prometteur en faveur de l’utilisation d’un casque de RV avec la vision stéréoscopique et le suivi du regard nous encourage à poursuivre les expérimentations suivant le protocole décrit pour évaluer en détail l’effet de chacun de ces facteurs. Conclusion Figure 3: Temps de recherche de la cible en fonction de la technique utilisée. Figure 4: Temps de recherche de la cible en fonction de la technique utilisée et du niveau de difficulté (facile, moyen, difficile) de la zone de recherche. Dans ce travail en cours, nous proposons une évaluation utilisateur permettant d’étudier l’impact de la vision stéréoscopique et le suivi de la tête avec un casque de RV sur une tâche de recherche de cible. Les données visualisées sont sous la forme de nuages de points 3D que nous avons générés, en simulant le mouvement d’un drone militaire, et colorés à partir de maillages 3D. Les premiers résultats obtenus lors d’une étude préliminaire vont dans le sens d’un impact positif de la vision stéréoscopique et du suivi de la tête. Néanmoins nous devons finaliser entièrement l’évaluation utilisateur avant de pouvoir en tirer des conclusions. Pour la suite, nous prévoyons de concevoir et évaluer des techniques d’interaction (zoom, plan de coupe, contrôle de la couleur) pour manipuler le nuage de points 3D afin d’apporter de nouveaux résultats sur l’usage de la RV dans ce contexte militaire. Bibliographie [1] Aaron Bangor, Philip T. Kortum, and James T. Miller. 2008. An empirical evaluation of the System Usability Scale. International Journal of Human-Computer Interaction 24, 6 (jul 2008), 574–594. [2] Gerd Bruder, Frank Steinicke, and Andreas Nuchter. 2014. Poster: Immersive point cloud virtual environments. In 3DUI ’14. 161–162. [3] C Burwell, C Jarvis, and K Tansey. 2012. The potential for using 3D visualization for data exploration, error correction and analysis of LiDAR point clouds. Remote Sensing Letters 3, 6 (2012), 481–490. [4] Martin A. Fischler and Robert C. Bolles. 1981. Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography. Com. of the ACM 24, 6 (1981), 381–395. [5] G J Gray, N Aouf, M A Richardson, B Butters, R Walmsley, and E Nicholls. 2012. Feature-based recognition approaches for infrared anti-ship missile seekers. The Imaging Science Journal 60, 6 (nov 2012), 305–320. [6] Joseph E. Grobmyer, Jr., Tommy Lum, Robert E. Morris, Sarah J. Hard, H. L. Pratt, Tom Florence, and Ed Peddycoart. 2004. Airborne ladar man-in-the-loop operations in tactical environments. Proc. of SPIE 5412 (2004), 137–148. [7] Xun Luo, Robert Kenyon, Derek Kamper, Daniel Sandin, and Thomas DeFanti. 2007. The effects of scene complexity, stereovision, and motion parallax on size constancy in a virtual environment. Proceedings IEEE Virtual Reality (2007), 59–66. [8] Eric D Ragan, Regis Kopper, Philip Schuchardt, and Doug A Bowman. 2013. Studying the effects of stereo, head tracking, and field of regard on a small-scale spatial judgment task. IEEE transactions on visualization and computer graphics 19, 5 (2013), 886–96. [9] Colin Ware, David Hui, and Glenn Franck. 1996. Evaluating stereo and motion cues for visualizing information nets in three dimensions. ACM Transactions on Graphics (TOG) 15, 2 (1996), 121–140.