Incremental learning of motion primitives for full body motions

Similar documents
Combining Automated On-line Segmentation and Incremental Clustering for Whole Body Motions

Incremental Learning of Full Body Motion Primitives for Humanoid Robots

Incremental on-line hierarchical clustering of whole body motion patterns

Incremental learning of full body motions via adaptive Factorial Hidden Markov Models

Incremental learning of full body motion primitives and their sequencing through human motion observation

Representability of Human Motions by Factorial Hidden Markov Models

Whole Body Motion Primitive Segmentation from Monocular Video

Modeling time series with hidden Markov models

Hidden Markov Model for Sequential Data

A Dynamic HMM for On line Segmentation of Sequential Data

Motion Recognition and Generation for Humanoid based on Visual-Somatic Field Mapping

Learning of Gestures by Imitation in a Humanoid Robot

Extended Hopfield Network for Sequence Learning: Application to Gesture Recognition

Evaluation of Model-Based Condition Monitoring Systems in Industrial Application Cases

David Galdeano. LIRMM-UM2, Montpellier, France. Members of CST: Philippe Fraisse, Ahmed Chemori, Sébatien Krut and André Crosnier

Skill. Robot/ Controller

Leg Motion Primitives for a Humanoid Robot to Imitate Human Dances

Self-Collision Detection. Planning for Humanoid Robots. Digital Human Research Center. Talk Overview

A Visualization Tool to Improve the Performance of a Classifier Based on Hidden Markov Models

Self-Collision Detection and Prevention for Humanoid Robots. Talk Overview

Hierarchical Multi-Objective Planning For Autonomous Vehicles

Model learning for robot control: a survey

Learning to bounce a ball with a robotic arm

Control Approaches for Walking and Running

Humanoid Robotics. Monte Carlo Localization. Maren Bennewitz

Terry Taewoong Um. Terry T. Um and Dana Kulić. University of Waterloo. Department of Electrical & Computer Engineering

Machine Learning A W 1sst KU. b) [1 P] Give an example for a probability distributions P (A, B, C) that disproves

Inverse KKT Motion Optimization: A Newton Method to Efficiently Extract Task Spaces and Cost Parameters from Demonstrations

Movement Learning and Control for Robots in Interaction

Hierarchical Assignment of Behaviours by Self-Organizing

Dynamic Controllers in Character Animation. Jack Wang

Generating Whole Body Motions for a Biped Humanoid Robot from Captured Human Dances

Robot Task Error Recovery Using Petri Nets Learned from Demonstration

Automated Modularization of Human Motion into Actions and Behaviors

Kinesthetic Teaching via Fast Marching Square

3D Human Motion Analysis and Manifolds

Quadruped Robots and Legged Locomotion

Leg Motion Primitives for a Dancing Humanoid Robot

AMR 2011/2012: Final Projects

ME 597/747 Autonomous Mobile Robots. Mid Term Exam. Duration: 2 hour Total Marks: 100

Teaching a robot to perform a basketball shot using EM-based reinforcement learning methods

Research Subject. Dynamics Computation and Behavior Capture of Human Figures (Nakamura Group)

Algorithms for Markov Random Fields in Computer Vision

Autonomous Robot Dancing Driven by Beats and Emotions of Music

Human Motion Database with a Binary Tree and Node Transition Graphs

Autonomous and Mobile Robotics. Whole-body motion planning for humanoid robots (Slides prepared by Marco Cognetti) Prof.

A sliding walk method for humanoid robots using ZMP feedback control

Locally Weighted Learning

Pattern Recognition. Kjell Elenius. Speech, Music and Hearing KTH. March 29, 2007 Speech recognition

Goal-Directed Imitation in a Humanoid Robot

Incremental Motion Primitive Learning by Physical Coaching Using Impedance Control

Dimensionality Reduction for Whole-Body Human Motion Recognition

Graphical Models, Bayesian Method, Sampling, and Variational Inference

Multimedia Databases. Wolf-Tilo Balke Younès Ghammad Institut für Informationssysteme Technische Universität Braunschweig

ECG782: Multidimensional Digital Signal Processing

Human Skill Transfer System via Novint Falcon

Multimedia Databases. 9 Video Retrieval. 9.1 Hidden Markov Model. 9.1 Hidden Markov Model. 9.1 Evaluation. 9.1 HMM Example 12/18/2009

Developing a Robot Model using System-Level Design

Regularization and Markov Random Fields (MRF) CS 664 Spring 2008

Modelling motion primitives and their timing in biologically executed movements

Parametric Primitives for Motor Representation and Control

Motor control learning and modular control architectures. Francesco Nori

TASK SEGMENTATION IN A MOBILE ROBOT BY MNSOM AND CLUSTERING WITH SPATIO-TEMPORAL CONTIGUITY. Received January 2008; revised June 2008

Contact State Estimation using Multiple Model Estimation and Hidden Markov Models

Modeling pigeon behaviour using a Conditional Restricted Boltzmann Machine

Chapter 3. Speech segmentation. 3.1 Preprocessing

Machine Learning. B. Unsupervised Learning B.1 Cluster Analysis. Lars Schmidt-Thieme

Data Mining Practical Machine Learning Tools and Techniques. Slides for Chapter 6 of Data Mining by I. H. Witten and E. Frank

Introduction to Mobile Robotics

Practice Exam Sample Solutions

Hidden Markov Models. Slides adapted from Joyce Ho, David Sontag, Geoffrey Hinton, Eric Xing, and Nicholas Ruozzi

A Fast Learning Algorithm for Deep Belief Nets

The EM Algorithm Lecture What's the Point? Maximum likelihood parameter estimates: One denition of the \best" knob settings. Often impossible to nd di

James Kuffner. The Robotics Institute Carnegie Mellon University. Digital Human Research Center (AIST) James Kuffner (CMU/Google)

Graph-Based Action Models for Human Motion Classification

Recognition of Assembly Tasks Based on the Actions Associated to the Manipulated Objects

Data Mining Chapter 9: Descriptive Modeling Fall 2011 Ming Li Department of Computer Science and Technology Nanjing University

Combined Shape Analysis of Human Poses and Motion Units for Action Segmentation and Recognition

Wavelet Applications. Texture analysis&synthesis. Gloria Menegaz 1

Graph-based High Level Motion Segmentation using Normalized Cuts

Mobile Robots Locomotion

A Modular Software Framework for Eye-Hand Coordination in Humanoid Robots

Visual Recognition: Image Formation

Learning Motion Primitives of Object Manipulation Using Mimesis Model

Modeling Anthropomorphism in Dynamic Human Arm Movements

Segmentation: Clustering, Graph Cut and EM

An Interactive Software Environment for Gait Generation and Control Design of Sony Legged Robots

Distance-based Kernels for Dynamical Movement Primitives

Automated Parameterization of the Joint Space Dynamics of a Robotic Arm. Josh Petersen

Simulating Mirror Neurons

Visuo-Motor Learning for Face-to-face Pass between Heterogeneous Humanoids

Serial Manipulator Statics. Robotics. Serial Manipulator Statics. Vladimír Smutný

Optimal Segmentation and Understanding of Motion Capture Data

Humanoid Robotics. Inverse Kinematics and Whole-Body Motion Planning. Maren Bennewitz

Humanoid Robotics. Path Planning and Walking. Maren Bennewitz

Introduction to SLAM Part II. Paul Robertson

Annotation of Human Motion Capture Data using Conditional Random Fields

Region-based Segmentation

WHILE the various motivating arguments put forth for

Pattern Recognition Lecture Sequential Clustering

Transcription:

Incremental learning of motion primitives for full body motions p. 1/43 Incremental learning of motion primitives for full body motions Dana Kulić Department of Electrical and Computer Engineering, University of Waterloo, Canada

Incremental learning of motion primitives for full body motions p. 2/43 Learning from Observation for Humanoids Learn to accomplish tasks by observing a human teacher, rather than programming or trajectory planning Take advantage of similar structure between human and robot Suitable for non-expert demonstrators

Incremental learning of motion primitives for full body motions p. 3/43 Related Work [Calinon and Billard 2007] HOAP at EPFL [Ikeuchi et al. 2004] HRP-2 at AIST

Incremental learning of motion primitives for full body motions p. 4/43 Limitations of the current approaches Motions are specified manually by the designer In learning systems, motions are segmented and clustered a-priori Off-line, one-shot training No further learning during the execution stage

Incremental learning of motion primitives for full body motions p. 5/43 Desired System - A robot that cohabits with humans, and learns incrementally over a lifetime of observations - A robot that accumulates knowledge and improves performance over time - Fully autonomous, on-line, continuous learning System Requirements: Autonomous Motion Segmentation Autonomous, On-line Motion Clustering Autonomous Knowledge Management with fast Retrieval

Incremental learning of motion primitives for full body motions p. 6/43 Talk Outline Robot Learning from Observation Representing full-body Motion On-line Segmentation On-line Clustering and Organization Combining Segmentation and Clustering Learning the sequencing of motion primitives Incremental Memory Consolidation Conclusions and Directions for Future Work

Incremental learning of motion primitives for full body motions p. 7/43 Learning from Observation - Mirror Neurons The same neural structure is used for both recognition and generation [Rizzolatti et al. 2001]

Incremental learning of motion primitives for full body motions p. 8/43 Motion Representation by Hidden Markov Models [Inamura et al. 2004] Stochastic model capturing both spatial and temporal variability Model training (learning) is implemented with the Baum-Welch Algorithm Once the model is trained, the same model can be used for both Recognition (Forward Procedure) Generation (either stochastic or deterministic) Factorial HMMs also used for representing motions with greater accuracy [Kulić et al. IROS 2007]

Incremental learning of motion primitives for full body motions p. 9/43 On-line Segmentation Want to segment with no a-priori knowledge of the motions Must make some assumption about the structure of the data Mean velocity falls below a certain value [Pomplun and Matarić, 2000] Zero velocity crossing in some dimensions [Fod et al., 2002] Minimize variance [Koenig and Matarić, 2006] Same motion will belong to same underlying distribution [Kohlmorgen and Lemm, 2001] [Janus and Nakamura, 2005]

Incremental learning of motion primitives for full body motions p. 10/43 Stochastic Segmentation [Kohlmorgen and Lemm, 2001] Embed the data into a higher-dimensional space x t = ( y t, y t 1,..., y t (m 1)τ ) Estimate the density distribution over a sliding window of length W p t (x) = 1 W W 1 w=0 1 x t w) 2 (2πσ 2 ) d/2exp( (x 2σ 2 )

Incremental learning of motion primitives for full body motions p. 11/43 Computing the distance between states Can compute the distance between windows based on integrated square error between two pdfs d(p t1, p t2 ) = (p t1 (x) p t2 (x)) 2 dx d(p t1 (x), p t2 (x)) = 1 W 2 (4πσ 2 ) d/2 W 1 w,v=0 [exp( ( x t1 w x t1 v ) 2 4σ 2 ) 2exp( ( x t1 w x t2 v ) 2 4σ 2 ) + exp( ( x t2 w x t2 v ) 2 ) 4σ 2 (1)

Incremental learning of motion primitives for full body motions p. 12/43 Defining a stochastic model over the data Define an HMM over a set of sliding windows. Observation Function: State Transition Model: p(p t (x) s) = 1 2πς exp( d(p s(x), p t (x)) 2ς 2 ) a ij = k k + N 1 1 k + N 1 if i = j; if i j.

Incremental learning of motion primitives for full body motions p. 13/43 Segmentation via the Viterbi Algorithm Find the optimum state sequence for the specified HMM, given the actual data sequence A simple example: t

Incremental learning of motion primitives for full body motions p. 14/43 Segmentation via the Viterbi Algorithm Find the optimum state sequence for the specified HMM, given the actual data sequence A simple example: t s1 s2 s3 s4 s5 s6

Incremental learning of motion primitives for full body motions p. 15/43 Segmentation via the Viterbi Algorithm Find the optimum state sequence for the specified HMM, given the actual data sequence A simple example: t s1 s2 s3 s4 s5 s6 Optimum State Sequence (Viterbi) 1 1 1 4 4 4

Incremental learning of motion primitives for full body motions p. 16/43 Improving the Segmentation Bias state transition model towards known states k if i = j; C a ij = 1 if i j and i S C t ; K s C if i j and i S p. Modify pdf based on active joints in the known state [Kulić Nakamura IROS 2008] D w (p t1 (x), p t2 (x)) = 1 L 2 (4πσ 2 k )d/2 L 1 i,j=0 [exp( W( x t1 i x t1 j ) 2 4σ 2 k 2exp( W( x t1 i x t2 j ) 2 ) 4σ 2 k ) + exp( W( x t2 i x t2 j ) 2 4σ 2 k ) (2)

Incremental learning of motion primitives for full body motions p. 17/43 On-line clustering and hierarchy formation [Kulić et al. ISRR 2007, IJRR 2008] Use HMM representation to abstract motion patterns as they are perceived Cluster individual motion patterns incrementally, based on intra-model distances Use formed clusters to form group models Autonomously select appropriate model type, based on model distances in the considered region of the motion space 2 2 2 2 18 4 1 4 1 13 4 1 13 4 1 15 12 15 12 8 16 8 6 6 6 6 10 10 20 14 3 7 3 7 3 9 14 11 7 3 9 11 5 5 5 5 17 19

Incremental learning of motion primitives for full body motions p. 18/43 Algorithm Pseudo-Code Following observation of each motion sequence: Step1 Encode observation sequence O i into an HMM λ i Step2 Calculate the distance between λ i and each existing behavior group model λ Gj Step3 Place λ i into the closest group G c Step4 Cluster all exemplars within G c Step5 If a sub-group forms, form a new node G n, containing the exemplars of the cluster Step6 Using the observation sequences from the exemplars in G n, form the new sub-group model λ Gn

Incremental learning of motion primitives for full body motions p. 19/43 Combining segmentation and Clustering [Kulić et al. ICRA 2008] x y z θ θ t

Incremental learning of motion primitives for full body motions p. 20/43 Experiments x y z θ θ t 4 minutes of continuous whole body motion data of a single subject from motion capture data data is converted to a 20DoF humanoid model by online inverse kinematics First, test the basic segmentation algorithm, with no known states, and compare with manual segmentation

Incremental learning of motion primitives for full body motions p. 21/43 Testing the Segmentation x y z θ θ t Next, test the improvements obtained through adding known motions Provide manually extracted primitives as exemplars

Segmentation Results Current Motion LAR LAL SL SR RKE RKR WMID WLR WRL RAR RAL Manual Segmentation Segmentation Result (with known motions) Segmentation Result (no known motions) 70 72 74 76 78 80 82 84 Time [seconds] Algorithm Correct False Pos False Neg Basic 128 65 43 Scaffolded (with Squat and Kick) 139 59 32 Worst performance occurs at switching points where few joints are moving Sample Video Incremental learning of motion primitives for full body motions p. 22/43

Incremental learning of motion primitives for full body motions p. 23/43 Testing the Combined Segmentation and Clustering x y z θ θ t Present the complete 4min sequence and apply segmentation The leaf nodes of the resulting tree are used to scaffold the segmentation To facilitate analysis, 4min sequence is presented repeatedly (epochs), and new exemplars are added to the segmentation module at the end of each epoch

Incremental learning of motion primitives for full body motions p. 24/43 After Epoch 1 Epoch = 0 LAL / partial WLS WRS RAR SL WF LAL/partial RAR SL WRS WLS WF Leaf Groups Formed Example Extracted Motion: Right Arm Raise

Incremental learning of motion primitives for full body motions p. 25/43 After Epoch 2 Epoch = 1 WRS LAL WLS RAR SL WF KR LAL RAR SL KR WRS WLS WF Leaf Groups Formed Example Extracted Motion: Left Arm Lower

Incremental learning of motion primitives for full body motions p. 26/43 After Epoch 3 Epoch = 2 WRS LAL WLS LAR RAL RAR KE SL WF KR SR LAL RAR KR KE SR SL MISC WLS WRS WF RAL LAR Leaf Groups Formed MISC Example Extracted Motion: Kick Extend, Squat Raise

Incremental learning of motion primitives for full body motions p. 27/43 Motion Primitive Graph [Kulić et al. Humanoids 2008] 0.50 0.50 3 0.50 1.00 1 2 0.20 0.30 1.00 4 1.00 5 At the same time as learning the motion primitives, learn the transition rules between primitives Each node in the motion primitive graph represents a motion primitive, while each edge represents an observed transition between two motion primitives Each time a new motion primitive is abstracted by the clustering algorithm as a leaf node, a corresponding node is added to the motion primitive graph. Each time a transition is observed between two known motions, the edge count is updated

Incremental learning of motion primitives for full body motions p. 28/43 Experiments with a Humanoid Robot Collected 16 min of continuous whole body motion data (26 different motion types) of a single subject from motion capture data data is converted to a 32DoF humanoid model by online inverse kinematics online feed to automated segmentation, clustering and motion graph extraction

Incremental learning of motion primitives for full body motions p. 29/43 Data Flow Diagram x y z θ θ t

Robot Hardware and Control System Incremental learning of motion primitives for full body motions p. 30/43

Incremental learning of motion primitives for full body motions p. 31/43 The Extracted Motion Primitive Tree LKR MMID MRL BAR BAD BAU RAR LAR LAL RAL BAL AR RKR LPR SQD MLR SQR Leaf Groups Formed

Incremental learning of motion primitives for full body motions p. 32/43 The Extracted Motion Primitive Graph 0.17 MLR(21) 1.00 1.00 MMD(13) 0.42 0.05 MRL(3) 0.08 0.14 0.27 0.25 BAR(4) 0.25 1.00 BAL(15) 0.25 0.25 SQD(20) 1.00 SQR(22) 0.25 0.25 LAR(10) 0.25 1.00 0.14 0.20 RAR(6) 0.27 1.00 RAL(11) 0.14 0.50 RKR(8) 0.20 0.20 0.20 LAL(14) 0.25 0.20 AR(16) 0.20 BAD(9) 1.00 BAU(17) 0.80 0.25 0.50 0.08 Due to current hardware limitations of the robot, motions involving foot raising are manually removed from the graph

Incremental learning of motion primitives for full body motions p. 33/43 Robot Motion Generation Video of Experiment

Incremental learning of motion primitives for full body motions p. 34/43 Summary on Automated Segmentation Autonomous, on-line segmentation of full body motion data, by building an HMM over a window of previous observations, and finding the optimum state sequence [Kohlmorgen and Lemm] Input segments into automated incremental clustering algorithm for motion primitive extractions Improve segmentation results by scaffolding with known motion primitives obtained from the clustering As more motions become known, motion model and segmentation results become more accurate At the same time, learn the transition model of the motion primitives by constructing a motion primitive graph

Incremental learning of motion primitives for full body motions p. 35/43 Memory Consolidation Want to re-examine the performance of the clustering algorithm What type of errors can occur during clustering, and how do these errors depend on the algorithm parameters? false negative errors tree structure errors Both errors occur due to the incremental nature of the algorithm, where not enough information is available at the start of the algorithm to identify the correct segmentation boundary

Incremental learning of motion primitives for full body motions p. 36/43 Memory Consolidation in Biological Systems How is motor memory formed in biological systems? Following learning, the motor memory does not remain constant, but changes over time - memory consolidation [Stickgold, 2005] [Krakauer and Shadmehr, 2006] [Shadmehr and Holcomb, 1997] [Diekelmann and Born, 2007] Two Complementary Consolidation Processes: Stabilization Stage (the waking stage) Sleep-dependant Stage (occurs during sleep) During the sleep-dependent stage, brain imaging studies show that brain regions active during memory formation are repeatedly reactivated - rehearsal [Ogata, 2005] During the sleep-dependent stage, evidence of system-level reorganization of memory

Incremental learning of motion primitives for full body motions p. 37/43 Using Memory Consolidation for Motion Learning [Kulić Nakamura EpiRob 2008] In previous work, focused on getting high accuracy at the leaf nodes by using adaptable models [Kulić et al., 2007] However, this may not always be the best approach Results in flat tree structure Delays node formation Alternate approach: form nodes quickly (with lower K cutoff ), and correct any errors later using memory consolidation Repeatedly apply clustering procedure on the same data at a later time - rehearsal As more data become available, initial mistakes can be corrected in an incremental, on-line fashion, analogous to memory consolidation in biological systems Two levels of consolidation: individual motion level, node level

Incremental learning of motion primitives for full body motions p. 38/43 Experiments Tested on a motion database of 137 motions (9 types: KIck, PUnch, THrow, WAalk, Sumo Leg raise, CHeer, SQuat, BOw and DAnce) Data obtained from motion capture studio, converted to 20DoF humanoid model Motions are pre-segmented and presented in random order Tested with no consolidation and with consolidation Consolidation was executed after each 10 exemplars

Results: False Negative Errors, Comparison False Neg Error Rate 1.2 1 0.8 0.6 0.4 0.2 0 No Consol, K = 1.2 No Consol, K = 0.9 With Consol, K = 0.9 0.2 0.4 Walk Cheer Dance Kick Punch Sumo Squat Throw Bow Motion Types Incremental learning of motion primitives for full body motions p. 39/43

Incremental learning of motion primitives for full body motions p. 40/43 Results: Tree Structure Errors RunId = 87 WA CH SL KI PU TH BO SQ DA Leaf Groups Formed K cutoff Consolidation Mean Error Mean Depth 1.2 No 2.11 2.08 0.9 No 1.96 2.94 0.9 Yes 1.21 3.81

Incremental learning of motion primitives for full body motions p. 41/43 Summary 1. Motion primitives are autonomously segmented by building an HMM over a window of previous observations, and finding the optimum state sequence over the model 2. Segmented motions are incrementally clustered and organized into a hierarchical tree structure, with the leaf nodes representing the most detailed representation 3. At the same time, learn the transition model of the motion primitives by constructing a motion primitive graph 4. The algorithm is able to autonomously extract motion primitives from a continuous data stream, and is robust to segmentation and real-time measurement errors 5. Generated motion graph can then be used to generate extended motion sequences composed of motion primitives

Incremental learning of motion primitives for full body motions p. 42/43 Current and Future Work Getting away from motion capture and using simpler sensors [Kulić et al. ICRA 2009] Examining system performance for higher accuracy kinematic models [Kulić Nakamura IROS 2009] Including additional learning modalities: learning from practice and interaction with the teacher [Kulić et al. RO-MAN 2009] Applications for rehabilitation and sports training [Kulić et al. EMBC 2009] Incorporating interaction with the environment Selecting the correct task representation Planning with motion primitives Learning complex behaviors from the motion primitives

Incremental learning of motion primitives for full body motions p. 43/43 The End Questions? Additional Questions or Comments? Email: dkulic@ece.uwaterloo.ca Copies of publications can be obtained from: http://ece.uwaterloo.ca/ dkulic