人の動作を模倣するヒューマノイドロボットの動作生成の一考察
大山まりほ(指導教員：小林一郎)

はじめに1γ を更新する．更新を予め決めた回数繰り返すことでX を再設定する．
11exp(− tr(K −1 Y Y T )) (1)p(Y |X, β) =DN/2
D/22(2 π)|K|

将来，家庭にロボットが導入されると予想される．ロボットが人と共存するためには，ロボットは人から与えられる言語や視覚などの複数の情報に基づいてタスクを学習する必要がある．このことから本研究では，その前段階としてロボットに人の行動を正しく認識させることを目指し，ロボットに視覚情報から得た人の行動を真似させ同じ動作をさせることを目的とする．

γT
α exp(− (xn − xm ) (xn − xm ))2+ δnm β −1(2)k(xn , xm ) =2.3

Algorithm1 では，更新の回数を設定して実行しており，収束判定を行っていないため得られる結果の精度が保証されていない．そのため GPLVM のプログラムに多層パーセプトロン (MLP:Multilayer Perceptron)を組み込むことで，観測データと圧縮データとの関係を学習させ，収束判定をさせる．アルゴリズムを Algorithm2 に示す．

潜在空間を用いた人の動作識別

2

Kinect を用いて人の関節の動きを追跡し，人の動作を捉える．高次元となる人の関節のデータをそのままロボットに識別させるのは計算量が多くなるため，本研究では高次元の人の動作データを低次元な潜在空間への圧縮を行い，その潜在空間上で人の動作を識別する．
2.1

GPLVM with MLP

ガウス過程

Algorithm 2 GPLVM with MLP
Require: X,Y ,K
Initialize X through PCA.
Normarize X,Y

連続時間確率過程の一つであり，観測の系列がガウス分布に従って生成されるものをガウス過程という．
観測点を基にして観測データの関数を予測するものである．一般的な曲線は 1，x，x2 ，x3 ，…など次数が異なる基底に重みを付け，足し合わせることで回帰されるが，ガウス過程ではその各々の基底がガウス過程に従っているとしており，より複雑な事象のモデルに対して回帰モデルを構築することができる．人の動きは滑らかなものなので複数の観測点による高次なガウス過程と見なすことができる．

Learn hidden layer through MLP.
while Mean squared error ≥ ε do
Select a new X using the MLP algorithm.
Optimise p(X|Y , α, β, γ, w1 , w2 , b1 , b2 ) with respect to X using MLP.
end while

2.2

GPLVM
GPLVM のプログラムと同様に X ，Y それぞれをガウス過程に従っていると仮定し正規化を行う．次にMLP(Multilayer perceptron) を用いる．Y を入力，Xを出力として結合荷重を求め，X と Y の対応関係を学習させておく．隠れユニット活性化関数には tanh(・)を用いた．その後共役勾配法を用いて事後確率に MLPの重みの初期値を追加し，事後確率が最大となるようカーネル関数のパラメータ α，β ，γ と，MLP の結合荷重 w1 ，w2 とバイアス b1 ，b2 の更新を同時に行う．
結合荷重とカーネルのパラメータの更新を最小二乗誤差が設定した閾値以下となり収束するまで繰り返すことで X が更新され，高次元の Y に対して低次元の潜在空間に最適な X が求まる．

本 研 究 で は ，GPLVM(Gaussian Process Latent
Variable Models)[1] を用いてガウス過程で表現される人の動作の時系列データを潜在空間に圧縮する．
GPLVM とは，確率的主成分分析にガウス過程を導入したものである．GPLVM のアルゴリズムを Algorithm1 に示す．

Algorithm 1 GPLVM
Require: X,Y ,K,T
Initialize X through PCA.
Normarize X,Yfor T iterations do
Optimise p(X|Y , α, β, γ) with respect to X

3

end for

ロボットの動作生成

人の動作を真似させるロボットは，川田工業社製ヒューマノイドロボット HIRONXC を用いる．また，Rvizと呼ばれるロボットの動きのシミュレーションを行うことができるツールを用いてロボットにさせたい動きをシミュレータ上で検証する．Rviz を用いることでロボットの関節の角度や x，y ，z 軸の座標値などを取得することができるため，取得したデータをロボットの動作生成の際に使用した．

観測データ全体を Y ，圧縮先の潜在空間上のデータ全体を X とする．まず，PCA(Principal componentanalysis) を用いて Y を圧縮し，X の初期値を設定する．次に X ，Y それぞれをガウス過程に従っていると仮定した正規化を行う．その後，共役勾配法を用い，事後確率 p(X|Y , β) = p(Y |X, β)p(X) が最大となる
よう式 (2) で表されるカーネル関数のパラメータ α，β ，43図 1: ロボットが右手を上

図 6: 左手を下げる (左：MLP 有
図 2: Rviz

4.3

げている様子

2 節で述べた GPLVM と，MLP を導入した GPLVM
with MLP のアルゴリズムに従い人の動作データの潜在空間への圧縮を行い，結果を比較した．
4.1

実験設定

人の動作のデータとして「右手を上げる」「右手を下げる」「左手を上げる」「左手を下げる」の 4 つの動作を Kinect を用いて撮影した動画の時系列データを使用する．関節は右手首・左手首・右肘・左肘・肩の中心の 5 つ，それぞれの x，y ，z 軸の座標値を取得する．
今回の実験では計 15 次元のデータを二次元の潜在空間に圧縮した．圧縮の際に用いるカーネルには RBF
カーネル (式 (2)) を用いた．

4.2

考察

Lawrence[1] によって提案されたオリジナルのアルゴリズムでは，カーネル関数 K のパラメータを求める
際の X の初期値および事後確率の更新の回数によって得られる X がガウス過程に従っているか定かではないケースが多く観測された．そこで本研究では，GitHub上で公開されているソースコード 1 を参考に，対数尤度の収束を観測できる MLP を採用し，高次元の動作データを低次元に圧縮し良い結果を得ることができた．
図 3〜6 において，4 つの動作全てが滑らかに繋がった動きをしているため二次元に圧縮した場合でもデータが潜在空間上でガウス過程に従っていることがわかる．
潜在空間への次元圧縮の際の MLP の導入は有用であることがわかった．一方で，同じ動作の動画を複数個撮影し実験を行ったところ，同じ動作の潜在空間上での表現において再現性がないこともわかり．潜在空間上での人の同一動作に対する識別には工夫が必要であることがわかった．

実験

4右：MLP 無)実験結果

図 3〜6 は上記 4 つの動作に対する潜在空間上での表現である．紺色を始めとして，時間に沿って赤色までグラデーションで変化するようにした．また，各図において左は GPLVM に MLP を用いて次元圧縮したもの，右は用いないものを示す．

5

まとめと今後の課題

本研究においては，人の動作データに基づくヒューマノイドロボット HIRO の行動学習・行動生成のための検討を行った．Kinect を用いて取得した人の関節の情報を利用し，計 15 次元の人の動作データを 2 次元の潜在空間に圧縮，視覚化するプログラムおよびロボットの動作生成プログラムを作成した．GPLVM を用いた次元圧縮では，潜在データの初期値によって結果が大きく異なることを確認した．今後の課題として，潜在空間を共有することで潜在空間同士の関係を学ぶことができる，ディズニーのアニメーションなどでも用いられている shared GPLVM[2] や GPDM(GaussianProcess Dynamical Models)[3] を用いて動作識別が可能な次元圧縮の手法についての再検討を行うと共に，識別した動作を実際にロボットに結びつけ動作を生成させるつもりである．

図 3: 右手を上げる (左：MLP 有 右：MLP 無)

参考文献[1] Neil D.Lawrence“Gaussian Process Latent Variable
Models for Visualisation of High Dimensional Data”,
2004.
[2] Carl Henrik Ek“Shared Gaussian Process Latent
Variable Models”, (PhD thesis),Oxford Brookes University,2009.
[3] Jack M.Wang, David J.Fleet, Senior Member, IEEE,and Aaron Hertzmann, Member, IEEE“GaussianProcess Dynamical Models for Human Motion”,
IEEE Transactions on Pattern Analysis and MachineIntelligence,Vol.30,No.2,2008.
[4] 持橋大地 “ガウス過程の基礎と教師なし学習”, 統計数理研究所公開講座資料,2015.

図 4: 右手を下げる (左：MLP 有 右：MLP 無)

図 5: 左手を上げる (左：MLP 有 右：MLP 無)1 http://github.com/jameshensman

44