TOP > 国内特許検索 > 情報処理装置、情報処理方法およびプログラム > 明細書

明細書 :情報処理装置、情報処理方法およびプログラム

発行国 日本国特許庁(JP)
公報種別 再公表特許(A1)
発行日 令和元年6月24日(2019.6.24)
発明の名称または考案の名称 情報処理装置、情報処理方法およびプログラム
国際特許分類 G06N  20/00        (2019.01)
G06N   7/00        (2006.01)
B25J  13/00        (2006.01)
FI G06N 99/00 150
G06N 7/00 150
B25J 13/00 Z
国際予備審査の請求 未請求
全頁数 36
出願番号 特願2018-538442 (P2018-538442)
国際出願番号 PCT/JP2017/032109
国際公開番号 WO2018/047863
国際出願日 平成29年9月6日(2017.9.6)
国際公開日 平成30年3月15日(2018.3.15)
優先権出願番号 2016174085
優先日 平成28年9月6日(2016.9.6)
優先権主張国 日本国(JP)
指定国 AP(BW , GH , GM , KE , LR , LS , MW , MZ , NA , RW , SD , SL , ST , SZ , TZ , UG , ZM , ZW) , EA(AM , AZ , BY , KG , KZ , RU , TJ , TM) , EP(AL , AT , BE , BG , CH , CY , CZ , DE , DK , EE , ES , FI , FR , GB , GR , HR , HU , IE , IS , IT , LT , LU , LV , MC , MK , MT , NL , NO , PL , PT , RO , RS , SE , SI , SK , SM , TR) , OA(BF , BJ , CF , CG , CI , CM , GA , GN , GQ , GW , KM , ML , MR , NE , SN , TD , TG) , AE , AG , AL , AM , AO , AT , AU , AZ , BA , BB , BG , BH , BN , BR , BW , BY , BZ , CA , CH , CL , CN , CO , CR , CU , CZ , DE , DJ , DK , DM , DO , DZ , EC , EE , EG , ES , FI , GB , GD , GE , GH , GM , GT , HN , HR , HU , ID , IL , IN , IR , IS , JO , JP , KE , KG , KH , KN , KP , KR , KW , KZ , LA , LC , LK , LR , LS , LU , LY , MA , MD , ME , MG , MK , MN , MW , MX , MY , MZ , NA , NG , NI , NO , NZ , OM , PA , PE , PG , PH , PL , PT , QA , RO , RS , RU , RW , SA , SC , SD , SE , SG , SK , SL , SM , ST , SV , SY , TH , TJ , TM , TN , TR , TT
発明者または考案者 【氏名】中村 友昭
【氏名】長井 隆行
【氏名】岩田 健輔
出願人 【識別番号】504133110
【氏名又は名称】国立大学法人電気通信大学
個別代理人の代理人 【識別番号】100121131、【弁理士】、【氏名又は名称】西川 孝
【識別番号】100082131、【弁理士】、【氏名又は名称】稲本 義雄
審査請求 未請求
テーマコード 3C707
Fターム 3C707AS01
3C707CS08
3C707LV14
3C707LW12
3C707WL02
要約 本開示は、系列データを分節化して分節ごとに分類する処理における正確性を向上させることができるようにする情報処理装置、情報処理方法およびプログラムに関する。
座標系変換部は、系列データの座標系を、トラジェクタの座標系またはランドマークの座標系に変換する。FFBS実行部は、FFBS処理を実行することにより、トラジェクタの座標系またはランドマークの座標系に変換された系列データを分節化した複数の単位系列データ、および、単位系列データを分類するクラスを特定する。BGS実行部は、BGS処理を実行することにより、FFBS実行部が単位系列データおよびクラスを特定するときに利用するパラメータを調整する。本技術は、例えば、ロボットの動きを学習する学習装置に適用できる。
特許請求の範囲 【請求項1】
系列データの座標系を、第1の座標系または第2の座標系に変換する座標系変換部と、
前記座標系変換部により前記第1の座標系または前記第2の座標系に変換された前記系列データを分節化した複数の単位系列データ、および、前記単位系列データを分類するクラスを特定する特定部と、
前記特定部が前記単位系列データおよび前記クラスを特定するときに利用するパラメータを調整するパラメータ調整部と
を備える情報処理装置。
【請求項2】
前記系列データは、
第1の物体が第2の物体に対して関係性を有して移動していることを示すクラスに分類される前記単位系列データと、
第1の物体が第2の物体に対して無関係に移動していることを示すクラスに分類される前記単位系列データと
に分節化することができ、
前記座標系変換部は、前記系列データの座標系を前記第1の物体の初期位置を原点とした前記第1の座標系への変換と、前記系列データの座標系を前記第2の物体の位置を原点とした前記第2の座標系への変換との少なくともいずれか一方を行う
請求項1に記載の情報処理装置。
【請求項3】
前記特定部は、前記系列データを分節化する際の前記単位系列データの長さと、それぞれの前記単位系列データのクラスとの両方を隠れ変数とみなして同時にサンプリングする手法により、前記単位系列データおよび前記クラスを特定する
請求項1または2に記載の情報処理装置。
【請求項4】
前記パラメータ調整部は、前記特定部により前記単位系列データが特定されるたびに、前記パラメータを調整することを繰り返すことで、前記単位系列データと前記パラメータとを交互に最適化する
請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記パラメータ調整部は、前記クラスの個数を無限と仮定し、前記特定部が前記単位系列データおよび前記クラスを特定するたびに、前記クラスのインデックスが大きいものは、そのクラスの発生確率が小さくなるように調整を行い、前記クラスの個数が有限個に収束するまで処理を繰り返すことによって前記クラスの個数を推定する
請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
前記座標系変換部は、前記系列データの座標系を、動作を行う主体となる第1の物体に参照点を設定した前記第1の座標系と、前記第1の物体による動作の対象となる第2の物体に参照点を設定した前記第2の座標系とに変換し、
前記特定部は、前記第2の座標系の姿勢について、複数の姿勢の候補を適用し、それぞれの姿勢における前記単位系列データおよび前記クラスを特定する処理を行うことで、前記第2の物体の姿勢を要素として前記単位系列データおよび前記クラスを特定する
請求項2乃至5のいずれか1項に記載の情報処理装置。
【請求項7】
前記座標系変換部は、前記系列データの座標系を、動作を行う主体となる第1の物体に参照点を設定した前記第1の座標系と、前記第1の物体による動作の対象となる複数の第2の物体に参照点を設定した前記第2の座標系とに変換し、
前記特定部は、前記複数の第2の物体を候補として、それぞれを第2の物体として前記単位系列データおよび前記クラスを特定する処理を行うことで、前記単位系列データおよび前記クラスを特定するのと同時に、前記複数の第2の物体の中から、前記第1の物体が動作を行った対象となっている所定の前記第2の物体を特定する
請求項2乃至5のいずれか1項に記載の情報処理装置。
【請求項8】
系列データの座標系を、第1の座標系または第2の座標系に変換し、
前記第1の座標系または前記第2の座標系に変換された前記系列データを分節化した複数の単位系列データ、および、前記単位系列データを分類するクラスを特定し、
前記単位系列データおよび前記クラスを特定するときに利用するパラメータを調整する
ステップを含む情報処理方法。
【請求項9】
系列データの座標系を、第1の座標系または第2の座標系に変換し、
前記第1の座標系または前記第2の座標系に変換された前記系列データを分節化した複数の単位系列データ、および、前記単位系列データを分類するクラスを特定し、
前記単位系列データおよび前記クラスを特定するときに利用するパラメータを調整する
ステップを含む情報処理をコンピュータに実行させるプログラム。
発明の詳細な説明 【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法およびプログラムに関し、特に、系列データを分節化して分節ごとに分類する処理における正確性の向上を図ることができるようにした情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
一般的に、人間は、自身が知覚した連続的な情報を、意味をもつ単位に分節化することによって認識している。例えば、人間は、連続している音声波形を分節化することによって、意味を持つ単位である単語を認識したり、連続的な動作を分節化することによって、意味のある単位動作を認識したりすることができる。
【0003】
また、このように連続的な情報を分節化する際、人間は、無数の可能性がある中で、明示的な分節点を与えられることなく学習して、意味をもつ単位に分節化することができる。従って、例えば、ロボットにおいても、言語や動作、ジェスチャなどを柔軟に学習するために、連続的な時系列情報から単位系列への分節化を教師なしで行う能力を備えることは、非常に重要であると考えられる。
【0004】
そこで、本発明者らは、例えば、ガウス過程の隠れセミマルコフモデルに基づいて、身体の動作系列を分節化して、それぞれの単位動作を分類する手法を提案している(例えば、非特許文献1参照)。
【先行技術文献】
【0005】

【非特許文献1】中村友昭,A. Muhammad,長井隆行,持橋大地,小林一郎,麻生英樹,金子正秀,"ガウス過程の隠れセミマルコフモデルに基づく身体動作の分節化", 人工知能学会全国大会,1O3-5,2016.
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上述した非特許文献1で提案されている手法では、固定された座標系のみを利用して、身体の動作系列が分節化され、それぞれの単位動作が分類される。しかしながら、一般的に、様々な動作の中には、動作を行う対象物が重要となることがある。
【0007】
例えば、物を掴むという動作は、掴む対象物の位置によって、その動作軌道が変化することになる。そのような動作については、動作を行う対象となる対象物を考慮しない場合、身体の動作系列を分節化して、それぞれの単位動作を分類する処理を正確に行うことは困難であると想定される。
【0008】
本開示は、このような状況に鑑みてなされたものであり、系列データを分節化して分節ごとに分類する処理における正確性の向上を図ることができるようにするものである。
【課題を解決するための手段】
【0009】
本開示の一側面の情報処理装置は、系列データの座標系を、第1の座標系または第2の座標系に変換する座標系変換部と、前記座標系変換部により前記第1の座標系または前記第2の座標系に変換された前記系列データを分節化した複数の単位系列データ、および、前記単位系列データを分類するクラスを特定する特定部と、前記特定部が前記単位系列データおよび前記クラスを特定するときに利用するパラメータを調整するパラメータ調整部とを備える。
【0010】
本開示の一側面の情報処理方法またはプログラムは、系列データの座標系を、第1の座標系または第2の座標系に変換し、前記第1の座標系または前記第2の座標系に変換された前記系列データを分節化した複数の単位系列データ、および、前記単位系列データを分類するクラスを特定し、前記単位系列データおよび前記クラスを特定するときに利用するパラメータを調整するステップを含む。
【0011】
本開示の一側面においては、系列データの座標系が、第1の座標系または第2の座標系に変換され、第1の座標系または第2の座標系に変換された系列データを分節化した複数の単位系列データ、および、それぞれの単位系列データを分類するクラスが特定され、単位系列データおよびクラスを特定するときに利用するパラメータが調整される。
【発明の効果】
【0012】
本開示の一側面によれば、系列データを分節化して分節ごとに分類する処理における正確性の向上を図ることができる。
【図面の簡単な説明】
【0013】
【図1】ガウス過程について説明する図である。
【図2】分節化する手法のグラフィカルモデルを示す図である。
【図3】単位系列の長さについて説明する図である。
【図4】単位系列の分類を説明する図である。
【図5】フォワードフィルタリングについて説明する図である。
【図6】バックワードサンプリングについて説明する図である。
【図7】本技術を適用した情報処理装置の一実施の形態の構成例を示すブロック図である。
【図8】トラジェクタおよびランドマークを原点とした座標系変換について説明する図である。
【図9】BGS処理を説明するフローチャートである。
【図10】FFBS処理を説明するフローチャートである。
【図11】座標系変換処理を説明するフローチャートである。
【図12】BGS処理のアルゴリズムの一例を示す図である。
【図13】FFBS処理および座標系変換処理のアルゴリズムの一例を示す図である。
【図14】シミュレーションにより分節化を行った結果を示す図である。
【図15】ロボットの動作の概要を示す図である。
【図16】ロボットの動作を分節化した結果を示す図である。
【図17】学習に基づいて生成したロボットの動作を示す図である。
【図18】クラス数の推定を行って、分節化する手法のグラフィカルモデルを示す図である。
【図19】クラスの発生確率について説明する図である。
【図20】クラス数の推定を行うことが可能なBGS処理のアルゴリズムの一例を示す図である。
【図21】クラス数の推定を行うことが可能なFFBS処理のアルゴリズムの一処理例を示す図である。
【図22】観測値を分節化した例を示す図である。
【図23】参照点の設定と、動作の認識の例について説明する図である。
【図24】物体の姿勢を考慮した座標変換について説明する図である。
【図25】複数のランドマークへの対応について説明する図である。
【図26】物体姿勢の導入および複数のランドマークへの対応を実現したFFBS処理および座標系変換処理のアルゴリズムの一例を示す図である。
【図27】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【0014】
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。

【0015】
<ガウス過程について>

【0016】
まず、図1乃至4を参照して、ガウス過程について説明する。

【0017】
図1において、縦軸は観測値を示し、横軸は時間を示しており、時間の経過に従った観測値の変化が観測系列Sとして表されている。

【0018】
図1に示すように、観測系列Sは、所定のクラス(形状の類似する波形)ごとに分節化して、それぞれの所定形状の波形を表す単位系列xごとに分類することができる。図1の例では、単位系列xおよびxは、観測値が凸型形状となった後に凹型形状となるクラスに分類され、単位系列xおよびxは、観測値が平坦形状となるクラスに分類され、単位系列xは、観測値が凸型形状となるクラスに分類することができる。

【0019】
このような分節化を行う手法としては、例えば、隠れセミマルコフモデル(HSMM:Hidden Semi- Markov Model)における出力をガウス過程とすることで、1つの状態が1つの連続的な単位系列xを表現するモデルを利用することができる。

【0020】
即ち、図1に示されている各クラスはガウス過程で表現することができ、観測系列Sは、それぞれのクラスから生成された単位系列x(図1の例では、j=1~5)を繋ぎ合わせることで生成される。そして、観測系列Sのみに基づいてモデルのパラメータを学習することで、観測系列Sを単位系列xへ分節化する分節点、および、単位系列xのクラスを、教師なしで推定することができる。

【0021】
図2には、観測系列Sを単位系列xごとに分節化する手法のグラフィカルモデルが示されている。

【0022】
図2に示すように、観測系列Sは、単位系列x、単位系列xのクラスc、および、クラスcのガウス過程のパラメータXを用いたモデルにより表すことができる。そして、これらの単位系列xを結合することで、観測系列S(=x,x,・・・,x)が生成される。なお、ガウス過程のパラメータXは、クラスcに分類された単位系列xの集合であり、分節数Jは、観測系列Sが分節化された単位系列xの個数を表す整数である。

【0023】
ここで、時系列データは、ガウス過程を出力分布とする隠れセミマルコフモデルによって生成されると仮定すると、クラスcは、次の式(1)により決定され、単位系列xは、次の式(2)により生成される。

【0024】
【数1】
JP2018047863A1_000003t.gif
【数2】
JP2018047863A1_000004t.gif

【0025】
そして、隠れセミマルコフモデルと、式(2)に示すガウス過程のパラメータXを推定することで、観測系列Sを単位系列xへ分節化して、それぞれの単位系列xをクラスcごとに分類することが可能となる。

【0026】
また、例えば、単位系列のタイムステップiにおける出力値xはガウス過程回帰で学習することによって、連続的な軌道として表現される。従って、ガウス過程では、同一クラスに属する単位系列のタイムステップiにおける出力値xの組(i,x)が得られたとき、タイムステップi’における出力値x’の予測分布は、次の式(3)により表されるガウス分布となる。なお、式(3)において、kは、k(i,i)を要素に持つベクトルであり、cは、k(i’,i’)となるスカラーであり、Cは、次の式(4)に示すような要素を持つ行列である。

【0027】
【数3】
JP2018047863A1_000005t.gif
【数4】
JP2018047863A1_000006t.gif

【0028】
ただし、式(4)において、βは、観測値に含まれるノイズの精度を表すハイパーパラメータである。

【0029】
また、ガウス過程では、カーネルを用いることで複雑に変化する系列データであっても学習することができ、例えば、ガウス過程回帰に広く使用されている次の式(5)で表されるガウスカーネルを用いることができる。ただし、式(5)において、θは、カーネルのパラメータである。

【0030】
【数5】
JP2018047863A1_000007t.gif

【0031】
そして、出力値xが多次元のベクトル(x=xi,0,xi,1,・・・)である場合には、各次元が独立に生成されると仮定して、時刻iの観測値xがクラスcに対応するガウス過程から生成される確率GPは、次の式(6)を演算することで求められる。

【0032】
【数6】
JP2018047863A1_000008t.gif

【0033】
このようにして求められる確率GPを用いることで、類似する単位系列を、同一のクラスに分類することができる。

【0034】
ところで、隠れセミマルコフモデルでは、1つのクラスcに分類される単位系列xの長さは、クラスcによって異なることより、ガウス過程のパラメータXを推定する際に、単位系列xの長さも推定する必要がある。

【0035】
例えば、図3に示すように、単位系列xの長さkは、時刻tのデータ点を終点とした長さkの単位系列xがクラスcに分類される確率からサンプリングすることによって決定することができる。従って、単位系列xの長さkを決定するためには、様々な長さkと全てのクラスcとの組み合わせの確率を、後述するようなFFBS(Forward filtering-Backward sampling)を利用して計算する必要がある。

【0036】
そして、ガウス過程のパラメータXを推定することにより、図4に示すように、単位系列xを、観測値が凸型形状となった後に凹型形状となるクラスに分類したり、単位系列xj+1を、観測値が平坦形状となるクラスに分類したりすることができる。

【0037】
<FFBSについて>

【0038】
図5および図6を参照して、FFBSについて説明する。

【0039】
例えば、FFBSでは、時刻tのデータ点を終点として長さkの単位系列xがクラスcに分類される確率α[t][k][c]を前向きに計算し、その確率α[t][k][c]に従って後ろから順に、単位系列xの長さkおよびクラスcをサンプリングして決定することができる。例えば、確率α[t][k][c]は、後述する式(11)に示すように、時刻t-kから時刻tへ遷移する可能性を周辺化することで再帰的に計算することができる。

【0040】
図5には、フォワードフィルタリングの一例として、時刻tを終点として、長さk=2かつクラスc=2の単位系列xに遷移する確率α[t][k=2][c=2]の求め方が模式的に示されている。

【0041】
図5の下側に示す数式で表されるように、例えば、時刻tにおける長さk=2かつクラスc=2の単位系列xに遷移する可能性について、時刻t-2における長さk=1かつクラスc=1の単位系列xからの遷移の可能性はp(2|1)α[t-2][1][1]である。また、時刻t-2における長さk=2かつクラスc=1の単位系列xからの遷移の可能性はp(2|1)α[t-2][2][1]であり、時刻t-2における長さk=3かつクラスc=1の単位系列xからの遷移の可能性はp(2|1)α[t-2][3][1]である。同様に、時刻t-2における長さk=1かつクラスc=2の単位系列xからの遷移の可能性はp(2|2)α[t-2][1][2]であり、時刻t-2における長さk=2かつクラスc=2の単位系列xからの遷移の可能性はp(2|2)α[t-2][2][2]であり、時刻t-2における長さk=3かつクラスc=2の単位系列xからの遷移の可能性はp(2|2)α[t-2][3][2]である。

【0042】
このような計算を、確率α[0][*][*]から動的計画法で前向きに行うことで、あらゆる確率α[t][k][c]を求めることができる。

【0043】
図6には、バックワードサンプリングの一例として、長さk=3および長さk=2の場合のサンプリングが模式的に示されている。

【0044】
例えば、時刻tにおける長さk=3かつクラスc=1の単位系列xへの遷移は、長さk=3であることより、時刻t-3の単位系列xのいずれかが可能であり、それらの確率α[t-3][*][*]から決定することができる。

【0045】
ここで、例えば、時刻t-3において長さk=2かつクラスc=2の単位系列xが決定されたとする。この場合、その単位系列xへの遷移は、長さk=2であることより、時刻t-5の単位系列xのいずれかが可能であり、それらの確率α[t-5][*][*]から決定することができる。

【0046】
このように、確率α[t][k][c]に基づいたサンプリングを後ろから順に行うことで、全ての単位系列xの長さkおよびクラスcを決定することができる。

【0047】
<情報処理装置の構成例>

【0048】
図7は、本技術を適用した情報処理装置の一実施の形態の構成例を示すブロック図である。

【0049】
図7に示すように、情報処理装置11は、座標系変換部12、BGS実行部13、およびFFBS実行部14を備えて構成される。また、FFBS実行部14は、フォワードフィルタリング部15およびバックワードサンプリング部16を有して構成される。

【0050】
ここで、本実施の形態では、ロボットハンドで物を掴むという動作(後述の図15参照)のように、掴むという動作の対象となる物体(以下、ランドマークと称する)に向かって、ロボットハンドのように動作を行う主体となる物体(以下、トラジェクタと称する)を近づける動作を行う例について説明する。また、本実施の形態では、座標系の原点とする参照点をトラジェクタおよびランドマークのどちらに設定するかについて、クラスcごとに予め設定されている。

【0051】
座標系変換部12には、観測値として、所定の基準点に対してトラジェクタが移動する座標を表すベクトルpが供給される。また、座標系変換部12には、所定の基準点に対してランドマークが配置されている位置の座標を表すベクトルplandmarkが設定されている。そして、座標系変換部12は、クラスcごとに設定されている参照点に従って、ベクトルpを、トラジェクタまたはランドマークいずれかを原点とした座標系に変換したベクトルp’に変換して、FFBS実行部14のフォワードフィルタリング部15に供給する。

【0052】
例えば、座標系変換部12は、クラスcの参照点がトラジェクタに設定されている場合、ベクトルpt-kからベクトルpまでの分節s’t-k:k(=pt-k,pt-k+1,・・・,p)を、次の式(7)に従って、トラジェクタの初期位置を原点とした座標系へと変換する。

【0053】
【数7】
JP2018047863A1_000009t.gif

【0054】
これにより、図8のAに示すように、ベクトルpは、トラジェクタを原点として、水平方向に向かってx軸が設定され、x軸に対して直交する方向であって、かつ、重力方向に対して逆方向となるようにy軸が設定される座標系のベクトルp’に変換される。

【0055】
一方、座標系変換部12は、クラスcの参照点がランドマークに設定されている場合、図8のBに示すように、ランドマークを原点として、ランドマークからトラジェクタへ向かう方向にx軸が設定され、x軸に対して直交する方向であって、かつ、重力方向に対して逆側に向かうようにy軸が設定される座標系へと変換する。例えば、データ点が二次元ベクトルp=(pn,0,pn,1)の場合、座標系変換部12は、次の式(8)、式(9)、および式(10)に従って、ランドマークを原点とした座標系を求める。ただし、式(8)に示すR(θ)はθ回転の回転行列であり、式(10)に示すように表される。

【0056】
【数8】
JP2018047863A1_000010t.gif
【数9】
JP2018047863A1_000011t.gif
【数10】
JP2018047863A1_000012t.gif

【0057】
BGS実行部13は、観測系列Sを分節化する際の単位系列xの長さkと、それぞれの単位系列xのクラスcとをサンプリングすることにより推定するBGS(Blocked Gibbs Sampler)を実行する。また、BGS実行部13は、効率的に計算を行うために、1つの観測系列Sを分節化する際の単位系列xの長さkと、それぞれの単位系列xのクラスcとをまとめてサンプリングすることができる。なお、BGS実行部13により実行されるBGSアルゴリズムについては、図9のフローチャートを参照して後述する。

【0058】
そして、BGS実行部13は、FFBS実行部14が、後述する式(13)により遷移確率を求める際に用いるパラメータN(cn,j)およびパラメータN(cn,j,cn,j+1)を、FFBS実行部14に供給する。例えば、パラメータN(cn,j)は、クラスcn,jとなった分節の数を表し、パラメータN(cn,j,cn,j+1)は、クラスcn,jからクラスcn,j+1に遷移した回数を表している。さらに、BGS実行部13は、パラメータN(cn,j)およびパラメータN(cn,j,cn,j+1)を、現在のパラメータN(c’)およびパラメータN(c’,c)としてFFBS実行部14に供給するとともに、分節対象の観測系列SをFFBS実行部14に供給する。

【0059】
FFBS実行部14は、上述した非特許文献1と同様に、観測系列Sを分節化する際の単位系列xの長さkと、それぞれの単位系列xのクラスcとの両方を隠れ変数とみなして同時にサンプリングするFFBSを実行する。

【0060】
フォワードフィルタリング部15は、図5を参照して上述したように、ある時刻tを終点として、長さkの単位系列xがクラスcに分類される確率α[t][k][c]を求めて、バックワードサンプリング部16に供給する。

【0061】
例えば、フォワードフィルタリング部15は、座標系変換部12から供給されるベクトルp’に基づいた分節s’t-k:k(=p’t-k,p’t-k+1,・・・,p’)が、クラスcとなる確率α[t][k][c]を、次の式(11)を演算することにより求めることができる。

【0062】
【数11】
JP2018047863A1_000013t.gif

【0063】
ただし、式(11)において、Cはクラス数であり、Kは単位系列の最大の長さである。また、P(s’t-k:k|X)は、クラスcから分節s’t-k:kが生成される確率であり、次の式(12)で求められる。

【0064】
【数12】
JP2018047863A1_000014t.gif

【0065】
ただし、式(12)のPlen(k|λ)は、平均をλとするポアソン分布であり、分節長の確率分布である。また、式(11)のp(c|c’)は、クラスの遷移確率を表しており、次の式(13)で求められる。

【0066】
【数13】
JP2018047863A1_000015t.gif

【0067】
ただし、式(13)において、N(c’)は、クラスc’となった分節の数を表し、N(c’,c)は、クラスc’からクラスcに遷移した回数を表しており、BGS実行部13から供給されるパラメータN(cn,j)およびN(cn,j,cn,j+1)がそれぞれ用いられる。また、k’は、分節s’t-k:kの前の分節の長さを表し、c’は、分節s’t-k:kの前の分節のクラスを表しており、式(11)では、全ての長さkおよびクラスcにおいて周辺化されている。

【0068】
なお、t-k<0となる場合、確率α[t][k][*]=0であり、確率α[0][0][*]=1.0である。そして、式(11)は、漸化式になっており、確率α[1][1][*]から計算をすることで、全てのパターンを動的計画法により計算することができる。

【0069】
バックワードサンプリング部16は、図6を参照して上述したように、フォワードフィルタリング部15から供給される前向き確率α[t][k][c]に従い、後ろ向きに単位系列の長さおよびクラスをサンプリングする。これにより、バックワードサンプリング部16は、観測系列Sを分節化した単位系列xの長さkと、それぞれの単位系列xのクラスcとを決定することができる。

【0070】
以上のように情報処理装置11は構成されており、座標系変換部12によりトラジェクタまたはランドマークいずれかを原点とした座標系に変換することができる。これにより、情報処理装置11は、例えば、トラジェクタがランドマークに向かって移動するような動作について、正確に、その動作を表す単位系列を分節化し、その動作を示すクラスに単位系列を分類することができる。

【0071】
また、情報処理装置11は、このような分節化および分類を行う際に、BGS実行部13およびFFBS実行部14による処理を、全ての観測系列Sに対して繰り返すことで、観測系列Sを分節化した単位系列xの長さk(分節点)と、ガウス過程のパラメータXとを交互に最適化することができる。

【0072】
<BGS処理>

【0073】
図9を参照して、BGS実行部13により実行されるBGS処理について説明する。

【0074】
ステップS11において、BGS実行部13は、分節化および分類を行う対象となる観測系列Sが情報処理装置11に供給されると、観測系列Sを初期化する。例えば、BGS実行部13は、複数の観測系列S(n=1~N)に対してまとめてサンプリングを行い、ステップS11では、観測系列Sから観測系列Sまでの全てに対して、ランダムに分節化および分類することで初期化を行う。

【0075】
ステップS12において、BGS実行部13は、観測系列Sのインデックスnに、初期値としての1をセットし、ステップS13において、BGS実行部13は、単位系列xn,jのインデックスjに、初期値としての1をセットする。

【0076】
ステップS14において、BGS実行部13は、パラメータN(cn,j)をディクリメントし、ステップS15において、BGS実行部13は、パラメータN(cn,j,cn,j+1)をディクリメントする。

【0077】
ステップS16において、BGS実行部13は、単位系列xn,jを、ガウス過程のパラメータX(cn,j)から削除する。

【0078】
ステップS17において、BGS実行部13は、単位系列xn,jのインデックスjが、現時点で分節化されている単位系列xn,jの個数Jとなるまで処理を繰り返したか否かを判定する。

【0079】
ステップS17において、BGS実行部13が、単位系列xn,jのインデックスjが、現時点で分節化されている単位系列xn,jの個数Jとなるまで処理を繰り返していないと判定した場合、処理はステップS18に進む。

【0080】
ステップS18において、BGS実行部13は、単位系列xn,jのインデックスjをインクリメントした後、処理はステップS14に戻り、以下、同様の処理が繰り返して行われる。

【0081】
一方、ステップS17において、BGS実行部13が、単位系列xn,jのインデックスjが、現時点で分節化されている単位系列xn,jの個数Jとなるまで処理を繰り返したと判定した場合、処理はステップS19に進む。

【0082】
ステップS19において、後述の図10を参照して説明するように、FFBS実行部14によりFFBS処理が実行される。

【0083】
ステップS20において、BGS実行部13は、単位系列xn,jのインデックスjに、初期値としての1をセットする。

【0084】
ステップS21において、BGS実行部13は、パラメータN(cn,j)をインクリメントし、ステップS22において、BGS実行部13は、パラメータN(cn,j,cn,j+1)をインクリメントする。

【0085】
ステップS23において、BGS実行部13は、単位系列xn,jを、ガウス過程のパラメータX(cn,j)に追加する。

【0086】
ステップS24において、BGS実行部13は、単位系列xn,jのインデックスjが、現時点で分節化されている単位系列xn,jの個数Jとなるまで処理を繰り返したか否かを判定する。

【0087】
ステップS24において、BGS実行部13が、単位系列xn,jのインデックスjが、現時点で分節化されている単位系列xn,jの個数Jとなるまで処理を繰り返していないと判定した場合、処理はステップS25に進む。

【0088】
ステップS25において、BGS実行部13は、単位系列xn,jのインデックスjをインクリメントした後、処理はステップS21に戻り、以下、同様の処理が繰り返して行われる。

【0089】
一方、ステップS24において、BGS実行部13が、単位系列xn,jのインデックスjが、現時点で分節化されている単位系列xn,jの個数Jとなるまで処理を繰り返したと判定した場合、処理はステップS26に進む。

【0090】
ステップS26において、BGS実行部13は、観測系列Sのインデックスnが、観測系列Sの系列数Nとなるまで処理を繰り返したか否かを判定する。

【0091】
ステップS26において、BGS実行部13が、観測系列Sのインデックスnが、観測系列Sの系列数Nとなるまで処理を繰り返していないと判定した場合、処理はステップS27に進む。

【0092】
ステップS27において、BGS実行部13は、観測系列Sのインデックスnをインクリメントした後、処理はステップS13に戻り、以下、同様の処理が繰り返して行われる。

【0093】
一方、ステップS26において、BGS実行部13が、観測系列Sのインデックスnが、観測系列Sの系列数Nとなるまで処理を繰り返したと判定した場合、処理はステップS28に進む。

【0094】
ステップS28において、BGS実行部13は、ステップS12からステップS27までの処理を繰り返して行った結果、ステップS19のFFBS処理で求められる単位系列xn,jおよびクラスcn,jそれぞれが収束したか否かを判定する。

【0095】
ステップS28において、BGS実行部13が、現時点で求められている単位系列xn,jおよびクラスcn,jは、それぞれ収束していないと判定した場合、処理はステップS12に戻り、以下、同様の処理が繰り返される。

【0096】
一方、ステップS28において、BGS実行部13が、現時点で求められている単位系列xn,jおよびクラスcn,jは、それぞれ収束したと判定した場合、BGS処理は終了される。

【0097】
<FFBS処理>

【0098】
図10を参照して、図9のステップS19においてFFBS実行部14により実行されるFFBS処理について説明する。なお、ステップS31からステップS41まではフォワードフィルタリング部15により処理が行われ、ステップS42からステップS47まではバックワードサンプリング部16により処理が行われる。

【0099】
ステップS31において、フォワードフィルタリング部15は、タイムステップtに、初期値としての1をセットし、ステップS32において、FFBS実行部14は、単位系列xn,jの長さkに、初期値としての1をセットする。

【0100】
ステップS33において、フォワードフィルタリング部15は、複数のクラスcについて確率α[t][k][c]を求めるのに、所定の順番でクラスcを選択して処理を行い、まず、1番目のクラスcを選択する。

【0101】
ステップS34において、後述の図11を参照して説明するように、座標系変換部12による座標系変換処理が行われる。

【0102】
ステップS35において、フォワードフィルタリング部15は、ステップS34で座標系が変換されたベクトルp’を用いて、上述した式(11)を演算することにより、確率α[t][k][c]を算出する。

【0103】
ステップS36において、フォワードフィルタリング部15は、全てのクラスcについて確率α[t][k][c]を求める処理を行ったか否かを判定する。

【0104】
ステップS36において、フォワードフィルタリング部15が、全てのクラスcについて確率α[t][k][c]を求める処理を行っていないと判定した場合、処理はステップS37に進む。

【0105】
ステップS37において、フォワードフィルタリング部15は、所定の順番で次のクラスを選択した後、処理はステップS34に戻り、同様の処理が繰り返して行われる。

【0106】
一方、ステップS36において、フォワードフィルタリング部15が、全てのクラスcについて確率α[t][k][c]を求める処理を行ったと判定した場合、処理はステップS38に進む。

【0107】
ステップS38において、フォワードフィルタリング部15は、単位系列xn,jの長さkが、単位系列xn,jの最大の長さKとなるまで処理を繰り返したか否かを判定する。

【0108】
ステップS38において、フォワードフィルタリング部15が、単位系列xn,jの長さkが、単位系列xn,jの最大の長さKとなるまで処理を繰り返していないと判定した場合、処理はステップS39に進む。

【0109】
ステップS39において、フォワードフィルタリング部15は、単位系列xn,jの長さkをインクリメントした後、処理はステップS33に戻り、以下、同様の処理が繰り返して行われる。

【0110】
一方、ステップS38において、フォワードフィルタリング部15が、単位系列xn,jの長さkが、単位系列xn,jの最大の長さKとなるまで処理を繰り返したと判定した場合、処理はステップS40に進む。

【0111】
ステップS40において、フォワードフィルタリング部15は、タイムステップtが、タイムステップtの最大値Tとなるまで処理を繰り返したか否かを判定する。

【0112】
ステップS40において、フォワードフィルタリング部15が、タイムステップtが、タイムステップtの最大値Tとなるまで処理を繰り返していないと判定した場合、処理はステップS41に進む。

【0113】
ステップS41において、フォワードフィルタリング部15は、タイムステップtをインクリメントした後、処理はステップS32に戻り、以下、同様の処理が繰り返して行われる。

【0114】
一方、ステップS40において、フォワードフィルタリング部15が、タイムステップtが、タイムステップtの最大値Tとなるまで処理を繰り返したと判定した場合、処理はステップS42に進む。

【0115】
ステップS42において、バックワードサンプリング部16は、タイムステップtに、初期値としての最大値Tをセットし、単位系列xn,jのインデックスjに、初期値としての1をセットする。

【0116】
ステップS43において、バックワードサンプリング部16は、ステップS35で求められた確率α[t][k][c]に基づいて、単位系列xn,jの長さkとクラスcをサンプリングする。

【0117】
ステップS44において、バックワードサンプリング部16は、タイムステップtを、現時点の単位系列xn,jの長さkだけ後ろ方向に戻す(t=t-k)。

【0118】
ステップS45において、バックワードサンプリング部16は、単位系列xn,jのインデックスjをインクリメントする。

【0119】
ステップS46において、バックワードサンプリング部16は、タイムステップtが0となるまで処理を繰り返したか否かを判定する。

【0120】
ステップS46において、バックワードサンプリング部16が、タイムステップtが0となるまで処理を繰り返していないと判定した場合、処理はステップS43に戻り、以下、同様の処理が繰り返して行われる。

【0121】
一方、ステップS46において、バックワードサンプリング部16が、タイムステップtが0となるまで処理を繰り返したと判定した場合、処理はステップS47に進む。

【0122】
ステップS47において、バックワードサンプリング部16は、ステップS43のサンプリングを繰り返して求めた単位系列xn,jとクラスcn,jの組み合わせをBGS実行部13に出力し、FFBS処理は終了される。

【0123】
<座標系変換処理>

【0124】
図11を参照して、図10のステップS34において座標系変換部12により実行される座標系変換処理について説明する。

【0125】
ステップS51において、座標系変換部12は、座標系変換処理の対象となっている単位系列xn,jを表す全てのベクトルp(=pt-k,pt-k+1,・・・,p)のうち、1番目のベクトルpを選択する。

【0126】
ステップS52において、座標系変換部12は、現時点で選択(図10のステップS33またはS37で選択)されているクラスcに設定されている参照点が、トラジェクタおよびランドマークのどちらであるかを判定する。

【0127】
ステップS52において、座標系変換部12が、クラスcに設定されている参照点はトラジェクタであると判定した場合、処理はステップS53に進む。

【0128】
ステップS53において、座標系変換部12は、上述した式(7)を用いて、ベクトルpを、トラジェクタの初期位置を原点とした座標系のベクトルp’に変換し、処理はステップS57に進む。

【0129】
一方、ステップS52において、座標系変換部12が、クラスcに設定されている参照点はランドマークであると判定した場合、処理はステップS54に進む。

【0130】
ステップS54において、座標系変換部12は、上述した式(8)を用いて、ベクトルpを、ランドマークを原点とした座標系のベクトルp’に変換する。

【0131】
ステップS55において、座標系変換部12は、ステップS54で変換したベクトルp’のy軸が重力方向を向いているか否かを判定する。

【0132】
ステップS55において、座標系変換部12が、ステップS54で変換したベクトルp’のy軸が重力方向を向いていると判定した場合、処理はステップS56に進む。

【0133】
ステップS56において、座標系変換部12は、y軸を重力方向に対して逆側に向かうように反転(上述の式(9)参照)する。

【0134】
ステップS56の処理後、または、ステップS55でベクトルp’のy軸が重力方向を向いていないと判定された場合、処理はステップS57に進む。

【0135】
ステップS57において、座標系変換部12は、座標系変換処理の対象となっている単位系列xn,jを表す全てのベクトルpを、ベクトルp’に変換したか否かを判定する。

【0136】
ステップS57において、座標系変換部12が、全てのベクトルpをベクトルp’に変換していないと判定した場合、処理はステップS58に進む。

【0137】
ステップS58において、座標系変換部12は、次のベクトルpを選択した後、処理はステップS52に戻り、以下、同様の処理が繰り返して行われる。

【0138】
一方、ステップS57において、座標系変換部12が、全てのベクトルpをベクトルp’に変換したと判定した場合、座標系変換処理は終了される。

【0139】
以上のように、情報処理装置11では、BGS処理、FFBS処理、および座標系変換処理を行うことにより、トラジェクタがランドマークに対して関係性を有して移動するクラスと、トラジェクタがランドマークに対して無関係にする移動するクラスとを正確に分類することができる。

【0140】
なお、上述したBGS処理のアルゴリズムの一例は、図12に示すように表記することができ、上述したFFBS処理および座標系変換処理のアルゴリズムの一例は、図13に示すように表記することができる。

【0141】
<シミュレーションによる分節化>

【0142】
図14には、情報処理装置11による分節化および分類の有効性を確認するため、物体操作タスクの分節化についてシミュレーションによる評価を行った結果が示されている。

【0143】
図14に示すように、例えば、コンピュータ上で、ランドマークの位置を固定するとともに、トラジェクタの位置がユーザにより操作可能となるようにシミュレーション条件を設定して、ランドマークおよびトラジェクタをディスプレイに表示させ、操作入力手段によりトラジェクタの操作させるシミュレーションを行った。また、トラジェクタの初期位置は、シミュレーションを行うたびにランダムに変更させる。

【0144】
このようなシミュレーションにおいて、トラジェクタの位置を回転させる操作、トラジェクタをランドマークに近づける操作、トラジェクタをランドマークから遠ざける操作、および、トラジェクタをランドマークに乗せる操作という4つの操作をランダムに5回行った。また、それぞれの操作を行う際に、トラジェクタおよびランドマークの画像座標を取得し、1つの連続操作とした。そして、このような4つの操作をランダムに5回行うことを7回繰り返して、合計として7つの連続操作データを取得した。

【0145】
そして、取得した連続操作データを、情報処理装置11により4つのクラスへ分節化および分類を行わせた。また、クラス数および各クラスの座標系は予め設定してシミュレーションを行い、4つのクラスのうち、1つのクラスにトラジェクタ座標系(TCS)を設定し、他の3つのクラスにランドマーク座標系(LCS)を設定した。

【0146】
図14に示すように、トラジェクタをランドマークに乗せる操作は、クラス1に分類され、トラジェクタをランドマークに近づける操作は、クラス2に分類され、トラジェクタをランドマークから遠ざける操作は、クラス3に分類された。これらの操作は、ランドマークに対して行う操作であり、正しくランドマーク座標系(LCS)のクラスへと分類された結果が得られた。

【0147】
また、トラジェクタの位置を回転させる操作は、クラス4に分類された。この操作は、ランドマークとは無関係に行われる操作であり、正しくトラジェクタ座標系(TCS)のクラスへと分類された結果が得られた。

【0148】
<ロボットの動作の分節化>

【0149】
図15乃至図17を参照して、ロボットによる物体把持動作の分節化および分類について説明する。

【0150】
図15に示すように、ロボットが前進する動作、ロボットが後進する動作、および、ロボットのグリッパー(トラジェクタ)により物体(ランドマーク)を把持する動作という3つの動作を行うように操作を行った。例えば、これらの3つの動作をランダムに5回行って1つの連続動作とし、このような3つの動作をランダムに5回行うことを5回繰り返して、合計として5つの連続動作データを取得した。

【0151】
これにより、図16に示すように、ロボットの手先の三次元座標と、物体を把持するグリッパーの開閉の情報とが観測値として取得され、これらの合計4次元の特徴量を用いてロボットの動作を分節化することができる。

【0152】
例えば、このような観測値を時系列データとして、情報処理装置11により4つのクラスへ分節化および分類を行わせた。また、クラス数および各クラスの座標系は予め設定され、4つのクラスのうち、2つのクラスにトラジェクタ座標系(TCS)を設定し、他の2つのクラスにランドマーク座標系(LCS)を設定した。

【0153】
これにより、図16に示すようなクラス1~クラス4として、ロボットの動作を分節化した分節化結果が取得された。

【0154】
図16において、x座標がロボットの前後の動きであり、ロボットが前進する動作がクラス4に分類され、ロボットが後進する動作がクラス3に分類された。これらの動作は、物体とは無関係に行われる動作であり、正しくトラジェクタ座標系(TCS)のクラスへと分類された結果が得られた。

【0155】
また、図16において、z座標とグリッパーは、グリッパーの高さと開閉(1:開,0:閉)であり、アームを下げ物体に接近しグリッパーを閉じる動作がクラス1に分類され、グリッパーで物体を掴み持ち上げる動作がクラス2に分類された。これらの動作は、物体と関連した動作であり、正しくランドマーク座標系(LCS)のクラスへと分類された結果が得られた。

【0156】
なお、ガウス過程には、学習した連続的な軌道を容易に生成できる点が利点としてある。例えば、情報処理装置11をロボットの動きを学習する学習装置として利用することで、ロボットの動作を学習結果として取得することができる。例えば、図16に示したようなロボットの動作を分節化した分節化結果を学習して、クラス4、クラス1、およびクラス2を結合して軌道を生成すると、図17に示すように、学習に基づいて生成したロボットの動作を取得することができる。

【0157】
即ち、図17に示す時間T1~T2において、クラス4に基づいて、ロボットが前進する動作が生成され、時間T2~T4において、クラス1に基づいて、アームを下げ物体に接近しグリッパーを閉じる動作が生成され、時間T4~T5において、クラス2に基づいて、グリッパーで物体を掴み持ち上げる動作が生成された。このように図17に示すような生成された動作と、図16に示すような観測値と比較すると、前進、物体把持、物体を持ち上げるといった軌道を正しく生成できている。そして、この軌道をロボットによって再生させると、図15に示したような動作が正しく行われる。

【0158】
以上のように、情報処理装置11は、ガウス過程を出力分布とした隠れセミマルコフモデルによって、参照点に従ってトラジェクタ座標系またはランドマーク座標系に変換し、全体の動作を単位動作に分節化する。これにより、ランドマークに対して行われる動作を正確に分節化することができる。即ち、ランドマークに対して行われる動作は、ランドマークを参照点とした動作として分類され、ランドマークとは無関係の動作はトラジェクタを参照点とした動作として分類されている。

【0159】
なお、上述した実施の形態では、予め幾つのクラスに分けるかを指定し、それぞれのクラスに対して参照点が設定された処理について説明した。これに対し、例えば、ノンパラメトリックベイズを導入することで、クラス数を推定し、それぞれのクラスの参照点も自動的に推定することも可能である。

【0160】
<クラス数の推定>
そこで、クラス数の推定も行って、それぞれのクラスの参照点を自動的に推定する手法について説明する。

【0161】
例えば、ノンパラメトリックベイズでは、無限個のクラスがあることを想定してクラスタリングを行うことができる。実際には、学習データは有限であり、そのうちの有限個のクラスのみを学習データの生成過程を表現するのに利用することで、クラス数の推定を可能としている。具体的には、GP-HSMM(Gaussian Process - Hidden Semi Markov Model)に対してHPD(Hierarchical Dirichlet Process)を導入することによって、ノンパラメトリックベイズモデルへと拡張したHDP-GP-HSMMを利用する手法を採用することができる。

【0162】
なお、教師無しで動作を分節化する手法としては、様々な手法が既に提案されているが、ここでは、離散化せずに動作を表現可能なGP(Gaussian Process)を用いて、より複雑な動作を表現するのに適した手法を採用する。

【0163】
まず、ノンパラメトリックベイズモデルについて説明する。

【0164】
例えば、パラメトリックな混合モデルではクラス数は有限であり、有限次元のディリクレ分布から多項分布のパラメータが生成され、この多項分布から隠れ状態が決定される。一方、ノンパラメトリックベイズでは、無限個のクラスを仮定するため、無限次元の多項分布を生成する必要がある。例えば、その構成法の1つであるSPB(Stick Breaking Process)では、長さ1の棒をベータ分布からサンプリングされる値で折り続けることによって、無限次元の多項分布が構成される。

【0165】
即ち、SPBでは、次の式(14)および式(15)に示すように、無限次元の多項分布のパラメータβを構成することができる。このプロセスは、一般的に、β~GEM(γ)と表記される。

【0166】
【数14】
JP2018047863A1_000016t.gif
【数15】
JP2018047863A1_000017t.gif

【0167】
このようなディリクレ過程を用いることで、無限の状態数をもったHMMの遷移確率を構成することができる。しかしながら、単にSBPによって各状態の遷移確率を構成するだけでは、状態ごとに可能な遷移先が異なることになる。即ち、HMMのようなモデルの場合には、全ての状態において可能な遷移先が共有されており、その遷移確率が状態ごとに異なる分布を構成しなければならない。

【0168】
そのため、SBPによって生成した分布を基底測度として共有し、状態cごとに異なる遷移確率πを、次の式(16)に示すようにDPによって生成する。このように、二段階のDPによって無限次元の確率分布を構成する手法は、HPDと称されている。

【0169】
【数16】
JP2018047863A1_000018t.gif

【0170】
そこで、図2を参照して説明したようなグラフィカルモデルを、図18に示すように、クラス数の推定を行うことができるように変更する手法が提案される。

【0171】
図18には、無限個のクラス数を想定して、観測系列Sを単位系列xごとに分節化する手法のグラフィカルモデルが示されている。このグラフィカルモデルでは、データは有限個であり、無限のクラスのうち有限個のクラスのみを、データを表現するのに利用する結果、クラス数が推定される。このとき、図19に示すように、クラスのインデックスが大きいものは、クラスの発生確率が小さくなるように調整を行い、クラス数が多くなり過ぎないようなペナルティが設定(P(c’|c)=π)される。これにより、クラスの個数が有限個に収束する結果、最終的な個数を推定することができる。

【0172】
即ち、図18に示すグラフィカルモデルおいて、単位系列のクラスc(j=1,2,・・・,J)は、無限個のクラス数を仮定しており、遷移確率πは、クラスcから各クラスへと遷移する確率を表している。具体的には、遷移確率πは、次の式(17)に示すように、γをパラメータとするGEM分布(Stick Breaking Process)によって生成されたβと、次の式(18)に示すように、αをパラメータとするDP(Dirichlet Process)から生成される。

【0173】
【数17】
JP2018047863A1_000019t.gif
【数18】
JP2018047863A1_000020t.gif

【0174】
また、j番目のクラスcは、j-1番目のクラスクラスcj-1と、遷移確率πとによって決定される。ここでは、クラスと対応したパラメータXを用いたガウス過程から、次の式(19)および式(20)に示すように、単位系列xが生成されることを仮定している。

【0175】
【数19】
JP2018047863A1_000021t.gif
【数20】
JP2018047863A1_000022t.gif

【0176】
ただし、パラメータXはクラスcに分類された単位系列の集合である。そして、これらの単位系列を結合することで、観測系列S(=x,x,・・・,x)を求めることができる。

【0177】
ところで、単位系列のタイムステップiにおける出力値xをガウス過程回帰で学習することによって、連続的な軌道として表現される。従って、ガウス過程では、同一クラスに属する単位系列のタイムステップiにおける出力xの組(i,x)が得られたとき、タイムステップinewにおける出力xnewの予測分布は、次の式(21)に示すようなガウス分布となる。

【0178】
【数21】
JP2018047863A1_000023t.gif

【0179】
ただし、式(21)において、行列Cは、カーネル関数k(・,・)を用いて、次の式(22)に示すような要素k(i,i)を持つ行列であり、βは、観測値に含まれるノイズの精度を表すハイパーパラメータである。

【0180】
【数22】
JP2018047863A1_000024t.gif

【0181】
また、式(21)において、ベクトルkは、k(i,inew)を要素に持ち、クラスcは、k(inew,inew)である。

【0182】
そして、ガウス過程では、カーネルを用いることで複雑に変化する系列データであっても学習することができる。ここでは、ガウス過程回帰に広く使われている次の式(23)に示すようなガウスカーネルを用いる。ただし、式(23)において、θは、カーネルのパラメータである。

【0183】
【数23】
JP2018047863A1_000025t.gif

【0184】
さらに、出力値xが多次元ベクトルの場合は、各次元が独立に生成されると仮定し、時刻iの観測値x(=x,x,・・・)が、クラスcに対応するガウス過程から生成される確率GP(x|X)は、次の式(24)を演算することで求められる。

【0185】
【数24】
JP2018047863A1_000026t.gif

【0186】
このようにして求められる確率GP(x|X)を用いることで、類似する単位系列を、同一のクラスに分類することができる。

【0187】
次に、このような確率GPを、図7の情報処理装置11に適用して、観測系列内の単位系列とそのクラスを動的計画法によりサンプリングして推定する手法について説明する。

【0188】
例えば、情報処理装置11では、BGS実行部13が、動的計画法を効率的に計算するために、1つの観測系列内の単位系列とそのクラスをまとめてサンプリングすることができる。

【0189】
まず、BGS実行部13は、全ての観測系列をランダムに分節化し、分類することで初期化する。次に、ある観測系列Sを分節化して得られた全ての単位系列xnj(j=1,2,・・・,J)を、それらが分類されているクラスからすべて削除し、各クラスのガウス過程のパラメータXと遷移確率P(c|c’)を更新する。

【0190】
次に、FFBS実行部14が、新たな単位系列xnj(j=1,2,・・・,J)と、それらのクラスcnj(j=1,2,・・・,J)とを推定し、各クラスと対応したガウス過程のパラメータXおよび遷移確率P(c|c’)を更新する。そして、以上の操作を全ての系列に対して繰り返すことで、BGS実行部13およびFFBS実行部14は、観測系列の分節点とガウス過程のパラメータを交互に最適化することができる。

【0191】
次に、FFBS実行部14が、単位系列とそのクラスの両方を隠れ変数とみなしてFFBSにより同時にサンプリングする処理について説明する。

【0192】
まず、FFBS実行部14のフォワードフィルタリング部15は、ある観測系列sのタイムステップtを終端とするkサンプルst-k:kが単位系列であり、そのクラスがcである確率α[t][k][c]を、次の式(25)を演算することにより求めることができる。

【0193】
【数25】
JP2018047863A1_000027t.gif

【0194】
ただし、式(25)において、Cはクラス数であり、Kは単位系列の最大の長さである。また、P(c|c’,β,α)は、クラスcの遷移確率を表しており、次の式(26)で求められる。

【0195】
【数26】
JP2018047863A1_000028t.gif

【0196】
ただし、式(26)において、N(c’)は、クラスc’となった単位系列の数を表し、N(c’,c)は、クラスc’からクラスcに遷移した回数を表しており、BGS実行部13から供給されるパラメータN(cn,j)およびN(cn,j,cn,j+1)がそれぞれ用いられる。また、k’は、単位系列xt-k:kの前の単位系列の長さを表し、c’は、その単位系列のクラスを表しており、式(25)では、全ての長さkおよびクラスcにおいて周辺化されている。

【0197】
なお、t-k<0となる場合、確率α[t][k][*]=0であり、確率α[0][0][*]=1.0である。そして、式(25)は、漸化式になっており、確率α[1][1][*]から計算をすることで、全てのパターンを動的計画法により計算することができる。

【0198】
そして、FFBS実行部14のバックワードサンプリング部16は、フォワードフィルタリング部15から供給される前向き確率α[t][k][c]に従い、後ろ向きに単位系列の長さおよびクラスをサンプリングする。これにより、バックワードサンプリング部16は、観測系列Sを分節化した単位系列xの長さkと、それぞれの単位系列xのクラスcとを決定することができる。

【0199】
例えば、図20には、BGS実行部13により実行されるクラス数の推定を行うことが可能なBGS処理のアルゴリズムの一例が示されている。ただし、図20に示すアルゴリズムにおいて、NcnjおよびNcnj,cn,j+1は、上述した式(26)に示す遷移確率pを計算するためのパラメータである。また、図21には、FFBS実行部14により実行されるクラス数の推定を行うことが可能なFFBS処理のアルゴリズムの一例が示されている。

【0200】
このような情報処理装置11による分節化および分類の有効性を確認するため、実際に動作を計測した結果として得られる観測値を分節化する実験を行った。

【0201】
図22には、例えば、人間が右手のみを動かしたときの動作を計測して、その観測値(右手のx座標およびy座標)を分節化した一例が示されている。実験では、右手を小さく挙げる動作、右手を高く挙げる動作、右手を横に伸ばす動作という3つの動作がランダムに行われ、図示するような時系列データが取得された。この時系列データに対して、上述したようなHDP-GP-HSMMにより分節および分類を行った結果、クラス数は4と推定された。図22では、それらの分類されたクラスが、それぞれ異なるハッチングにより表されている。

【0202】
実験では、3つの動作を行ったことより、正解のクラス数は3であるが、動作開始前の何も動作していない状態が1つのクラスとして分節された結果、クラス数は4と推定されている。そして、図示するように、クラス2には、手を小さく挙げる動作が分類され、クラス3には手を高く挙げる動作が分類され、クラス4には手を横に伸ばす動作が分類されるという結果が正しく求められた。

【0203】
以上のように、ガウス過程を出力分布とした隠れセミマルコフモデルにディリクレ過程を導入することで、動作のクラス数を推定しつつ動作を分節および分類することができる。このような手法により、動作の切れ目と、動作のクラスとをFFBS処理により同時に推定し、クラス数をノンパラメトリックベイズモデルにより推定することで動作を正しく分節化することができた。

【0204】
<物体姿勢の導入>
上述したように、情報処理装置11では、軌道を、参照点を基準とした座標へと適切に座標変換してFFBS処理を行うことで、同じ動作を同じ軌道で表現することができる。

【0205】
即ち、図23のAおよび図23のBに示すように、ロボットのグリッパー(トラジェクタ)に参照点を設定した場合、把持対象となる物体(ランドマーク)の位置が異なると、それぞれの物体をロボットのグリッパーが把持するという動作は、異なる軌道で表現されてしまう。その結果、ロボットのグリッパーが物体を把持するという同じ動作が、異なる動作と認識されることになる。

【0206】
これに対し、図23のCおよび図23のDに示すように、把持対象となる物体に参照点を設定した場合、物体の位置が異なっていても、それぞれの物体をロボットのグリッパーによって把持するという動作を、同じ軌道で表現することができる。即ち、ロボットのグリッパーによって物体を把持する動作について、適切に、把持対象となる物体に参照点を設定することで、その動作の軌道を、同じ動作として認識することができる。

【0207】
そして、このように参照点を物体に設定する際に、物体の姿勢に従って適切に座標系を設定してFFBS処理を行うことによって、物体の姿勢を考慮して動作を分節化することが可能となる。

【0208】
例えば、図24のAに示すように、物体の長手方向が垂直方向である場合に、ロボットのグリッパーで物体を把持する動作を行うとき、ロボットのグリッパーは、水平方向から物体に向かうような軌道となる。一方、図24のBに示すように、物体の長手方向が水平方向である場合に、ロボットのグリッパーで物体を把持する動作を行うとき、ロボットのグリッパーは、垂直方向から物体に向かうような軌道となる。

【0209】
このとき、物体の姿勢(長手方向が垂直方向または水平方向)に従って適切に座標系を設定することで、それぞれの姿勢の物体を把持するロボットのグリッパーの軌道を、物体の姿勢を考慮して推定することができる。つまり、長手方向がz軸となり、物体からグリッパーに向かう方向がx軸となるような座標系を設定することで、図24のAの例では、ロボットのグリッパーが水平方向から物体に向かうような動作となる。そして、同様な座標系を設定することで、図24のBの例でも同様の軌道で動作を表現することができる。即ち、物体の姿勢を、動作を推定する際の要素とすることで、姿勢の異なる物体に対して所定の動作(上述したような物体を把持する動作)が行われたとき、それぞれの物体に対する動作を同一の動作として分類することができる。

【0210】
従って、図7の情報処理装置11は、把持対象となる物体が、どのような姿勢であっても、物体の姿勢に応じて座標系を設定することで、FFBS実行部14がFFBS処理を実行することにより、その物体の姿勢を考慮した動作を推定することができる。

【0211】
一方、例えば、引き出しの取っ手などのように、物体ごとに姿勢が固定的である場合、それぞれの物体に固有の座標系が存在することになる。即ち、図24のCに示すように、物体の姿勢が、長手方向が水平方向に向いて固定的である場合や、図24のDに示すように、物体の姿勢が、長手方向が水平方向に向いて固定的である場合など、物体に固有の座標系が存在する。

【0212】
このような場合であっても、図7の情報処理装置11は、物体の固有の座標系を設定することで、FFBS実行部14がFFBS処理を実行することにより、それぞれの物体の姿勢を考慮した動作を推定することができる。

【0213】
<複数のランドマークへの対応>
環境中に複数の対象物が存在する場合、それぞれの対象物に参照点を設定してFFBS処理を行うことによって、どの対象物を対象とした動作であるのかを推定することが可能となる。

【0214】
例えば、図25に示すように、把持対象の物体(ランドマーク1)と、その物体の移動先となるテーブル(ランドマーク2)とが対象物として存在する例について説明する。このように物体とテーブルとの2つのランドマークがあるとき、物体に参照点を設定した動作の推定と、テーブルに参照点を設定した動作の推定との両方を行う。そして、それぞれの参照点で座標変換した軌道および姿勢の確率(一貫性)を基準として、確率の高い方の参照点を設定したランドマークを選択することで、動作の対象とした対象物を推定することができる。

【0215】
例えば、図25のAに示すように、把持対象の物体に近づく動作が行われたとき、物体に参照点を設定して求められた確率は、テーブルに参照点を設定して求められた確率よりも高くなり、物体を対象とした動作であると推定することができる。また、図25のBに示すように、物体を把持する動作が行われたとき、物体に参照点を設定して求められた確率は、テーブルに参照点を設定して求められた確率よりも高くなり、物体を対象とした動作であると推定することができる。また、図25のCに示すように、物体をテーブルに置く動作が行われたとき、テーブルに参照点を設定して求められた確率は、物体に参照点を設定して求められた確率よりも高くなり、テーブルを対象とした動作であると推定することができる。

【0216】
従って、図7の情報処理装置11は、環境中に複数の対象物が存在する場合、FFBS実行部14が、それぞれの対象物に参照点を設定してFFBS処理を実行することにより、動作を推定するのと同時に、どの対象物が動作の対象であるかを推定することができる。

【0217】
ここで、図26には、図24を参照して説明したような物体姿勢の導入、および、図25を参照して説明したような複数のランドマークへの対応の両方を実現することができるFFBS処理および座標系変換処理のアルゴリズムが示されている。

【0218】
例えば、図26の9行目から12行目までの処理で、L個のランドマークに参照点を設定し、それぞれのランドマークについてR個の姿勢を設定して、それぞれのランドマークlおよび姿勢rを候補とし、15行目の処理で、それぞれの確率αを計算している。そして、23行目の処理において、動作の対象となるランドマークと、そのランドマークの姿勢とが、サンプリングによって動作を推定するのと同時に推定される。

【0219】
即ち、図7の情報処理装置11では、座標系変換部12が、複数のランドマークに参照点を設定して座標変換を行い、FFBS実行部14が、それぞれのランドマークを順次候補(l=1~L)として、それぞれのランドマークに複数の姿勢の候補(r=1~R)を適用して、確率α[t][k][c][l][r]を求める。そして、FFBS実行部14は、その確率α[t][k][c][l][r]に従って、単位系列xおよびクラスcを推定(特定)するのと同時に、動作の対象となっている所定のランドマークlを推定(特定)し、そのランドマークの姿勢rを推定(特定)することができる。

【0220】
もちろん、図26に示すFFBS処理において用いるクラスの個数は、上述の図20に示したBGS処理によって推定したものを用いることが可能である。即ち、情報処理装置11は、クラス数の推定を行って、動作を推定するのと同時に、複数の物体の中から動作の対象となる対象物を推定するとともに、その物体の姿勢を考慮した動作を推定することができる。

【0221】
また、上述した手法は、様々な教師なし学習へ適用することができる。

【0222】
なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。また、プログラムは、1のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。

【0223】
また、上述した一連の処理(情報処理方法)は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラムが記録されたプログラム記録媒体からインストールされる。

【0224】
図27は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。

【0225】
コンピュータにおいて、CPU(Central Processing Unit)101,ROM(Read Only Memory)102,RAM(Random Access Memory)103は、バス104により相互に接続されている。

【0226】
バス104には、さらに、入出力インタフェース105が接続されている。入出力インタフェース105には、キーボード、マウス、マイクロホンなどよりなる入力部106、ディスプレイ、スピーカなどよりなる出力部107、ハードディスクや不揮発性のメモリなどよりなる記憶部108、ネットワークインタフェースなどよりなる通信部109、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア111を駆動するドライブ110が接続されている。

【0227】
以上のように構成されるコンピュータでは、CPU101が、例えば、記憶部108に記憶されているプログラムを、入出力インタフェース105及びバス104を介して、RAM103にロードして実行することにより、上述した一連の処理が行われる。

【0228】
コンピュータ(CPU101)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア111に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。

【0229】
そして、プログラムは、リムーバブルメディア111をドライブ110に装着することにより、入出力インタフェース105を介して、記憶部108にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部109で受信し、記憶部108にインストールすることができる。その他、プログラムは、ROM102や記憶部108に、あらかじめインストールしておくことができる。

【0230】
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0231】
11 情報処理装置
12 座標系変換部
13 BGS実行部
14 FFBS実行部
15 フォワードフィルタリング部
16 バックワードサンプリング部
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8
【図10】
9
【図11】
10
【図12】
11
【図13】
12
【図14】
13
【図15】
14
【図16】
15
【図17】
16
【図18】
17
【図19】
18
【図20】
19
【図21】
20
【図22】
21
【図23】
22
【図24】
23
【図25】
24
【図26】
25
【図27】
26