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.