This is an old revision of the document!


Gaussian Process Latent Variable Model (GPLVM)

L'idée d'un GPLVM est d'apprendre un espace latent de faible dimension qui permet de représenter des données de plus haute dimensions par l'intermédiaire de processus gaussiens dont les paramètres sont appris. Dans notre cas, nous voulons utiliser ces modèles pour l'imitation du mouvement humain par un robot. Pour cela, un même modèle sera partagé entre les données humains et les données robot. Ainsi, l'espace latent sert de mapping intermédiaire entre l'espace humain et l'espace robot. Plus d'information théorique peut être trouvée dans les papiers suivants:

  • GPLVM: Lawrence, N. D. (2004). Gaussian process latent variable models for visualisation of high dimensional data. In Advances in neural information processing systems (pp. 329-336).
  • Shared GPLVM: Delhaisse, B., Esteban, D., Rozo, L., & Caldwell, D. (2017, May). Transfer learning of shared latent spaces between robots with similar kinematic structure. In Neural Networks (IJCNN), 2017 International Joint Conference on (pp. 4142-4149). IEEE.

Le code s'appuie fortement sur celui développé par Lawrence, N. D. disponible sur github: https://github.com/lawrennd/sgplvm

  • 1. Chargement des données

La démonstration a pour but de charger un mouvement humain (loadData) et son mouvement Poppy correspondant (readPoppyExoData). Les données de positions du squelettes sont dans Y_train et les angles moteurs sont dans Z_train. Dans la démo, uniquement les données du bras gauche sont utilisées. Comme chaque partie du corps peut être indépendant des autres, il est conseillé de les considérer séparément comme dans la démo. De plus, l'alignement temporel (temporalAlignment) entre les deux séquences peut être nécessaire pour s'assurer des correspondances entre les données de squelette humain et les données du robot Poppy.

  • poppy-kine/gplvm.1522754759.txt.gz
  • Last modified: 2019/04/25 14:08
  • (external edit)