• 検索結果がありません。

Robot

5.2 提案手法

5.2.1 提案手法の概要

図 5.2に提案手法の全体像を示す.本章では,ロボットは家庭でユーザと共に 暮らしていることを想定し,人の音声命令を聞きながらその人の動作と,動作を 行っている際に関係している物体及び位置を観測する.そして,ユーザの行動パ ターンを教師なしで学習するのであるが,その際にまず使っている物体を認識し トラッキングすることで,動作の分節化を行う.これは,同じ物体を使っている間 が一つの行動としての塊であると仮定し,時系列パターンを区切ることを意味す る.そのように区切った動作時系列(関節角の情報)と物体の関係性は,mMLDA

図 5.2: 提案手法の全体像

によってモデル化(カテゴリ分類も含む)することができる.つまり現在の行動を 認識し,その後に起こる行動を予測できれば,mMLDAによって確率的にユーザ が使うであろう物体を予測し,それを持ってくるというサービスを実現可能であ る.これを「動作−物体関係モデル」と呼ぶ.現在の動作の認識は,分節化された 動作の時系列をHDP-HMMを用いてモデル化することで実現する.これを「動作 認識モデル」と呼ぶ.また行動の予測については,学習データから行動のn-gram である,「行動言語モデル」を計算することで実現する.こうした動作認識モデル や行動言語モデルは,動作を分節化し,mMLDAを用いたカテゴリ分類に基づく 記号化によって実現されることに注意されたい.

5.2.2 ロボットによる能動的センシング

ここでは前述した1)ユーザの観測の問題に対する解決策として,ロボットによ る能動的センシングについて議論する.ロボットがユーザをよりよく観測し続け

図 5.3: KINECTより取得された骨格情報のスコアマップ

るためには,追跡するだけではなく,関節角のセンシングに有利な位置に移動す ることが重要である.本章では,頭部にKINECTと台車にLRFが搭載されたロ ボットを用いることを前提に,ユーザの姿勢推定に有利な位置を考慮しながら移 動することを考える.

本章では,ユーザの姿勢推定にはKINECTを用い,ロボットの自己位置推定に はLRFを用いる.KINECTは,ゲームコントローラとして開発されたものである ため,カメラから2m程度離れ正面に向かって動作を行うことが想定されている.

しかし普段我々は,必ずしもロボットの前で行動するとは限らない.そこで,実

際KINECTでユーザの姿勢推定が可能な相対位置関係を検証し,ロボットがその

制約をなるべく満たすようにユーザの追跡を行うこととする.実際,人の姿勢が 取得可能な領域を調べるための予備実験を行った.

本実験において,KINECTをある位置x0 = (x0, y0,0)に固定し,KINECTか ら領域D(x, y)(x02x ≤x≤x0+2x, y0 ≤y≤ℓy)をグリッド化した.各グリッド R(xgx, ygy)(gx [1, Gx], gy [1, Gy])に対して,3種類の動作をそれぞれ行った.

ただし,各動作において,KINECTに対する角度Ωt(t [1, T])をT 種類設定し た.本章では,xyGxGyT の値をそれぞれ,2.5m,3.0m,5,6,5に設

定した.そして,以下の式より各グリッドRgのスコアS(Rg)を求める.

S(R(xgx, ygy)) =

Fgxy

f=1

Nψ˙

n=1δ( ˙ψf n)

Fgxy , (5.1)

ただし,Fgxy,Nψ˙はそれぞれグリッドR(xgx, ygy)における動作のデータ数と角速 度ψ˙の次元数を表す.また,ψf nψ˙のf 番目のn次元目の要素であり,以下の ように求める.

δ( ˙ψf n) =

{ 1 (ψf n 閾値)

0 (ψf n <閾値) (5.2)

式(5.1)を用いて姿勢推定可能な領域のマップを計算した結果を,図5.3に示す.

図中のグリッドマップは3.0m×2.5mの部屋で計算しグリッドサイズを0.5mとし た.人がある姿勢(図中の紫棒であり,KINECTに対する角度は白い数字で表す)

において,KINECT(図中の赤楕円)の前に立って動作を行うとき,骨格情報が どれだけ正確に取得できるかというスコアマップを図5.3(a)〜(e)に示す.各 グリッドにおいて,スコアが高いほど白く描画されている.

図5.3より,青い矩形に囲まれたグリッド内で動作を行うとき,姿勢推定の精度 が上がることが分かった.また,当然ながら人がKINECTに対して,正面にある ときのスコアが高かった.本章ではこれらの事実をもとに,人が領域内にあるよ うにロボットが人の位置を計算し,人に対して正面にあるように移動することで,

人を観測し続ける.

5.2.3 問題設定

本章で実現したいサービスは,予測した行動に必要となる物体をユーザに先回 りして届けることである.その際,ユーザがどこで動作を行うかという場所文脈や 命令された音声文脈などを考慮すればより正確なサービスが行えるであろう.この 問題設定は,全ての情報が与えられた際,持ってくるべき物体を推定する問題に置 き換えることができる.すなわち,現在の時刻t−1にロボットが観測したユーザ

の動きm(t1),物体o(t1),位置x,音声Sに対して以下の問題を解くことになる.

ˆ

o(t) = argmax

o(t)

P(o(t)m(t1), o(t1), x, S) (5.3) 上式を直接的に計算するのは困難であるため,次のように近似する.

ˆ

o(t) = argmax

o(t)

P(o(t)m(t1), o(t1))ω1P(o(t)x)ω2P(o(t)S)ω3 (5.4) ただし,P(o(t)m(t1), o(t1)),P(o(t)x)P(o(t)S)はそれぞれ,行動文脈,場所 文脈及び音声命令を表しており,ω1ω2ω3は各文脈に対する重みである.

各文脈の重みの決め方は様々な手法が存在する.例えば,重みのアクティブな学 習 [71]を考えることもできるが,ここではSVMによる学習を用いる.具体的には,

次節で説明する各文脈C ∈ {C1 =行動,C2 =場所,C3 =音声}より予測される物 体の確率分布PC = (pC1, pC2,· · · , pCO)を一つのヒストグラムhC = (PC1,PC2,PC3) として,SVMの入力データとする.ただし,O は物体カテゴリ数を表す.学習 フェーズにおいて,入力データhC と正解となる物体カテゴリoC の組を用意し,

SVM [48]を用いて学習する.認識フェーズでは,与えられた入力データhCinに対

して,SVMで学習したモデルを用いて認識する.