(57)【要約】  本開示は、系列データを分節化して分節ごとに分類する処理における正確性を向上させることができるようにする情報処理装置、情報処理方法およびプログラムに関する。座標系変換部は、系列データの座標系を、トラジェクタの座標系またはランドマークの座標系に変換する。ＦＦＢＳ実行部は、ＦＦＢＳ処理を実行することにより、トラジェクタの座標系またはランドマークの座標系に変換された系列データを分節化した複数の単位系列データ、および、単位系列データを分類するクラスを特定する。ＢＧＳ実行部は、ＢＧＳ処理を実行することにより、ＦＦＢＳ実行部が単位系列データおよびクラスを特定するときに利用するパラメータを調整する。本技術は、例えば、ロボットの動きを学習する学習装置に適用できる。
2018047863.tif 000002
【特許請求の範囲】
【請求項１】
系列データの座標系を、第１の座標系または第２の座標系に変換する座標系変換部と、
前記座標系変換部により前記第１の座標系または前記第２の座標系に変換された前記系列データを分節化した複数の単位系列データ、および、前記単位系列データを分類するクラスを特定する特定部と、
前記特定部が前記単位系列データおよび前記クラスを特定するときに利用するパラメータを調整するパラメータ調整部と
を備える情報処理装置。
【請求項２】
前記系列データは、
第１の物体が第２の物体に対して関係性を有して移動していることを示すクラスに分類される前記単位系列データと、
第１の物体が第２の物体に対して無関係に移動していることを示すクラスに分類される前記単位系列データと
に分節化することができ、
前記座標系変換部は、前記系列データの座標系を前記第１の物体の初期位置を原点とした前記第１の座標系への変換と、前記系列データの座標系を前記第２の物体の位置を原点とした前記第２の座標系への変換との少なくともいずれか一方を行う
請求項１に記載の情報処理装置。
【請求項３】
前記特定部は、前記系列データを分節化する際の前記単位系列データの長さと、それぞれの前記単位系列データのクラスとの両方を隠れ変数とみなして同時にサンプリングする手法により、前記単位系列データおよび前記クラスを特定する
請求項１または２に記載の情報処理装置。
【請求項４】
前記パラメータ調整部は、前記特定部により前記単位系列データが特定されるたびに、前記パラメータを調整することを繰り返すことで、前記単位系列データと前記パラメータとを交互に最適化する
請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記パラメータ調整部は、前記クラスの個数を無限と仮定し、前記特定部が前記単位系列データおよび前記クラスを特定するたびに、前記クラスのインデックスが大きいものは、そのクラスの発生確率が小さくなるように調整を行い、前記クラスの個数が有限個に収束するまで処理を繰り返すことによって前記クラスの個数を推定する
請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記座標系変換部は、前記系列データの座標系を、動作を行う主体となる第１の物体に参照点を設定した前記第１の座標系と、前記第１の物体による動作の対象となる第２の物体に参照点を設定した前記第２の座標系とに変換し、
前記特定部は、前記第２の座標系の姿勢について、複数の姿勢の候補を適用し、それぞれの姿勢における前記単位系列データおよび前記クラスを特定する処理を行うことで、前記第２の物体の姿勢を要素として前記単位系列データおよび前記クラスを特定する
請求項２乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記座標系変換部は、前記系列データの座標系を、動作を行う主体となる第１の物体に参照点を設定した前記第１の座標系と、前記第１の物体による動作の対象となる複数の第２の物体に参照点を設定した前記第２の座標系とに変換し、
前記特定部は、前記複数の第２の物体を候補として、それぞれを第２の物体として前記単位系列データおよび前記クラスを特定する処理を行うことで、前記単位系列データおよび前記クラスを特定するのと同時に、前記複数の第２の物体の中から、前記第１の物体が動作を行った対象となっている所定の前記第２の物体を特定する
請求項２乃至５のいずれか１項に記載の情報処理装置。
【請求項８】
系列データの座標系を、第１の座標系または第２の座標系に変換し、
前記第１の座標系または前記第２の座標系に変換された前記系列データを分節化した複数の単位系列データ、および、前記単位系列データを分類するクラスを特定し、
前記単位系列データおよび前記クラスを特定するときに利用するパラメータを調整する
ステップを含む情報処理方法。
【請求項９】
系列データの座標系を、第１の座標系または第２の座標系に変換し、
前記第１の座標系または前記第２の座標系に変換された前記系列データを分節化した複数の単位系列データ、および、前記単位系列データを分類するクラスを特定し、
前記単位系列データおよび前記クラスを特定するときに利用するパラメータを調整する
ステップを含む情報処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法およびプログラムに関し、特に、系列データを分節化して分節ごとに分類する処理における正確性の向上を図ることができるようにした情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
一般的に、人間は、自身が知覚した連続的な情報を、意味をもつ単位に分節化することによって認識している。例えば、人間は、連続している音声波形を分節化することによって、意味を持つ単位である単語を認識したり、連続的な動作を分節化することによって、意味のある単位動作を認識したりすることができる。【０００３】
また、このように連続的な情報を分節化する際、人間は、無数の可能性がある中で、明示的な分節点を与えられることなく学習して、意味をもつ単位に分節化することができる。従って、例えば、ロボットにおいても、言語や動作、ジェスチャなどを柔軟に学習するために、連続的な時系列情報から単位系列への分節化を教師なしで行う能力を備えることは、非常に重要であると考えられる。【０００４】
そこで、本発明者らは、例えば、ガウス過程の隠れセミマルコフモデルに基づいて、身体の動作系列を分節化して、それぞれの単位動作を分類する手法を提案している（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】中村友昭，A. Muhammad，長井隆行，持橋大地，小林一郎，麻生英樹，金子正秀，"ガウス過程の隠れセミマルコフモデルに基づく身体動作の分節化"， 人工知能学会全国大会，1O3-5，2016.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、上述した非特許文献１で提案されている手法では、固定された座標系のみを利用して、身体の動作系列が分節化され、それぞれの単位動作が分類される。しかしながら、一般的に、様々な動作の中には、動作を行う対象物が重要となることがある。【０００７】
例えば、物を掴むという動作は、掴む対象物の位置によって、その動作軌道が変化することになる。そのような動作については、動作を行う対象となる対象物を考慮しない場合、身体の動作系列を分節化して、それぞれの単位動作を分類する処理を正確に行うことは困難であると想定される。【０００８】
本開示は、このような状況に鑑みてなされたものであり、系列データを分節化して分節ごとに分類する処理における正確性の向上を図ることができるようにするものである。
【課題を解決するための手段】
【０００９】
本開示の一側面の情報処理装置は、系列データの座標系を、第１の座標系または第２の座標系に変換する座標系変換部と、前記座標系変換部により前記第１の座標系または前記第２の座標系に変換された前記系列データを分節化した複数の単位系列データ、および、前記単位系列データを分類するクラスを特定する特定部と、前記特定部が前記単位系列データおよび前記クラスを特定するときに利用するパラメータを調整するパラメータ調整部とを備える。【００１０】
本開示の一側面の情報処理方法またはプログラムは、系列データの座標系を、第１の座標系または第２の座標系に変換し、前記第１の座標系または前記第２の座標系に変換された前記系列データを分節化した複数の単位系列データ、および、前記単位系列データを分類するクラスを特定し、前記単位系列データおよび前記クラスを特定するときに利用するパラメータを調整するステップを含む。【００１１】
本開示の一側面においては、系列データの座標系が、第１の座標系または第２の座標系に変換され、第１の座標系または第２の座標系に変換された系列データを分節化した複数の単位系列データ、および、それぞれの単位系列データを分類するクラスが特定され、単位系列データおよびクラスを特定するときに利用するパラメータが調整される。
【発明の効果】
【００１２】
本開示の一側面によれば、系列データを分節化して分節ごとに分類する処理における正確性の向上を図ることができる。
【図面の簡単な説明】
【００１３】
【図１】ガウス過程について説明する図である。
【図２】分節化する手法のグラフィカルモデルを示す図である。
【図３】単位系列の長さについて説明する図である。
【図４】単位系列の分類を説明する図である。
【図５】フォワードフィルタリングについて説明する図である。
【図６】バックワードサンプリングについて説明する図である。
【図７】本技術を適用した情報処理装置の一実施の形態の構成例を示すブロック図である。
【図８】トラジェクタおよびランドマークを原点とした座標系変換について説明する図である。
【図９】ＢＧＳ処理を説明するフローチャートである。
【図１０】ＦＦＢＳ処理を説明するフローチャートである。
【図１１】座標系変換処理を説明するフローチャートである。
【図１２】ＢＧＳ処理のアルゴリズムの一例を示す図である。
【図１３】ＦＦＢＳ処理および座標系変換処理のアルゴリズムの一例を示す図である。
【図１４】シミュレーションにより分節化を行った結果を示す図である。
【図１５】ロボットの動作の概要を示す図である。
【図１６】ロボットの動作を分節化した結果を示す図である。
【図１７】学習に基づいて生成したロボットの動作を示す図である。
【図１８】クラス数の推定を行って、分節化する手法のグラフィカルモデルを示す図である。
【図１９】クラスの発生確率について説明する図である。
【図２０】クラス数の推定を行うことが可能なＢＧＳ処理のアルゴリズムの一例を示す図である。
【図２１】クラス数の推定を行うことが可能なＦＦＢＳ処理のアルゴリズムの一処理例を示す図である。
【図２２】観測値を分節化した例を示す図である。
【図２３】参照点の設定と、動作の認識の例について説明する図である。
【図２４】物体の姿勢を考慮した座標変換について説明する図である。
【図２５】複数のランドマークへの対応について説明する図である。
【図２６】物体姿勢の導入および複数のランドマークへの対応を実現したＦＦＢＳ処理および座標系変換処理のアルゴリズムの一例を示す図である。
【図２７】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００１５】
＜ガウス過程について＞
【００１６】
まず、図１乃至４を参照して、ガウス過程について説明する。
【００１７】
図１において、縦軸は観測値を示し、横軸は時間を示しており、時間の経過に従った観測値の変化が観測系列Ｓとして表されている。
【００１８】
図１に示すように、観測系列Ｓは、所定のクラス（形状の類似する波形）ごとに分節化して、それぞれの所定形状の波形を表す単位系列ｘｊごとに分類することができる。図１の例では、単位系列ｘ１およびｘ２は、観測値が凸型形状となった後に凹型形状となるクラスに分類され、単位系列ｘ３およびｘ５は、観測値が平坦形状となるクラスに分類され、単位系列ｘ４は、観測値が凸型形状となるクラスに分類することができる。
【００１９】
このような分節化を行う手法としては、例えば、隠れセミマルコフモデル（HSMM：Hidden Semi- Markov Model）における出力をガウス過程とすることで、１つの状態が１つの連続的な単位系列ｘｊを表現するモデルを利用することができる。
【００２０】
即ち、図１に示されている各クラスはガウス過程で表現することができ、観測系列Ｓは、それぞれのクラスから生成された単位系列ｘｊ（図１の例では、ｊ＝１〜５）を繋ぎ合わせることで生成される。そして、観測系列Ｓのみに基づいてモデルのパラメータを学習することで、観測系列Ｓを単位系列ｘｊへ分節化する分節点、および、単位系列ｘｊのクラスを、教師なしで推定することができる。
【００２１】
図２には、観測系列Ｓを単位系列ｘｊごとに分節化する手法のグラフィカルモデルが示されている。
【００２２】
図２に示すように、観測系列Ｓは、単位系列ｘｊ、単位系列ｘｊのクラスｃｊ、および、クラスｃのガウス過程のパラメータＸｃを用いたモデルにより表すことができる。そして、これらの単位系列ｘｊを結合することで、観測系列Ｓ（＝ｘ０，ｘ１，・・・，ｘＪ）が生成される。なお、ガウス過程のパラメータＸｃは、クラスｃに分類された単位系列ｘの集合であり、分節数Ｊは、観測系列Ｓが分節化された単位系列ｘの個数を表す整数である。
【００２３】
ここで、時系列データは、ガウス過程を出力分布とする隠れセミマルコフモデルによって生成されると仮定すると、クラスｃｊは、次の式（１）により決定され、単位系列ｘｊは、次の式（２）により生成される。
【００２４】
【数１】
2018047863.tif 000003
【数２】
2018047863.tif 000004
【００２５】
そして、隠れセミマルコフモデルと、式（２）に示すガウス過程のパラメータＸｃを推定することで、観測系列Ｓを単位系列ｘｊへ分節化して、それぞれの単位系列ｘｊをクラスｃごとに分類することが可能となる。
【００２６】
また、例えば、単位系列のタイムステップｉにおける出力値ｘｉはガウス過程回帰で学習することによって、連続的な軌道として表現される。従って、ガウス過程では、同一クラスに属する単位系列のタイムステップｉにおける出力値ｘの組（ｉ，ｘ）が得られたとき、タイムステップｉ’における出力値ｘ’の予測分布は、次の式（３）により表されるガウス分布となる。なお、式（３）において、ｋは、ｋ（ｉｐ，ｉｑ）を要素に持つベクトルであり、ｃは、ｋ（ｉ’，ｉ’）となるスカラーであり、Ｃは、次の式（４）に示すような要素を持つ行列である。
【００２７】
【数３】
2018047863.tif 000005
【数４】
2018047863.tif 000006
【００２８】
ただし、式（４）において、βは、観測値に含まれるノイズの精度を表すハイパーパラメータである。
【００２９】
また、ガウス過程では、カーネルを用いることで複雑に変化する系列データであっても学習することができ、例えば、ガウス過程回帰に広く使用されている次の式（５）で表されるガウスカーネルを用いることができる。ただし、式（５）において、θ＊は、カーネルのパラメータである。
【００３０】
【数５】
2018047863.tif 000007
【００３１】
そして、出力値ｘｉが多次元のベクトル（ｘｉ＝ｘｉ，０，ｘｉ，１，・・・）である場合には、各次元が独立に生成されると仮定して、時刻ｉの観測値ｘｉがクラスｃに対応するガウス過程から生成される確率ＧＰは、次の式（６）を演算することで求められる。
【００３２】
【数６】
2018047863.tif 000008
【００３３】
このようにして求められる確率ＧＰを用いることで、類似する単位系列を、同一のクラスに分類することができる。
【００３４】
ところで、隠れセミマルコフモデルでは、１つのクラスｃに分類される単位系列ｘｊの長さは、クラスｃによって異なることより、ガウス過程のパラメータＸｃを推定する際に、単位系列ｘｊの長さも推定する必要がある。
【００３５】
例えば、図３に示すように、単位系列ｘｊの長さｋは、時刻ｔのデータ点を終点とした長さｋの単位系列ｘｊがクラスｃに分類される確率からサンプリングすることによって決定することができる。従って、単位系列ｘｊの長さｋを決定するためには、様々な長さｋと全てのクラスｃとの組み合わせの確率を、後述するようなＦＦＢＳ（Forward filtering-Backward sampling）を利用して計算する必要がある。
【００３６】
そして、ガウス過程のパラメータＸｃを推定することにより、図４に示すように、単位系列ｘｊを、観測値が凸型形状となった後に凹型形状となるクラスに分類したり、単位系列ｘｊ＋１を、観測値が平坦形状となるクラスに分類したりすることができる。
【００３７】
＜ＦＦＢＳについて＞
【００３８】
図５および図６を参照して、ＦＦＢＳについて説明する。
【００３９】
例えば、ＦＦＢＳでは、時刻ｔのデータ点を終点として長さｋの単位系列ｘｊがクラスｃに分類される確率α［ｔ］［ｋ］［ｃ］を前向きに計算し、その確率α［ｔ］［ｋ］［ｃ］に従って後ろから順に、単位系列ｘｊの長さｋおよびクラスｃをサンプリングして決定することができる。例えば、確率α［ｔ］［ｋ］［ｃ］は、後述する式（１１）に示すように、時刻ｔ−ｋから時刻ｔへ遷移する可能性を周辺化することで再帰的に計算することができる。
【００４０】
図５には、フォワードフィルタリングの一例として、時刻ｔを終点として、長さｋ＝２かつクラスｃ＝２の単位系列ｘｊに遷移する確率α［ｔ］［ｋ＝２］［ｃ＝２］の求め方が模式的に示されている。
【００４１】
図５の下側に示す数式で表されるように、例えば、時刻ｔにおける長さｋ＝２かつクラスｃ＝２の単位系列ｘｊに遷移する可能性について、時刻ｔ−２における長さｋ＝１かつクラスｃ＝１の単位系列ｘｊからの遷移の可能性はｐ（２｜１）α［ｔ−２］［１］［１］である。また、時刻ｔ−２における長さｋ＝２かつクラスｃ＝１の単位系列ｘｊからの遷移の可能性はｐ（２｜１）α［ｔ−２］［２］［１］であり、時刻ｔ−２における長さｋ＝３かつクラスｃ＝１の単位系列ｘｊからの遷移の可能性はｐ（２｜１）α［ｔ−２］［３］［１］である。同様に、時刻ｔ−２における長さｋ＝１かつクラスｃ＝２の単位系列ｘｊからの遷移の可能性はｐ（２｜２）α［ｔ−２］［１］［２］であり、時刻ｔ−２における長さｋ＝２かつクラスｃ＝２の単位系列ｘｊからの遷移の可能性はｐ（２｜２）α［ｔ−２］［２］［２］であり、時刻ｔ−２における長さｋ＝３かつクラスｃ＝２の単位系列ｘｊからの遷移の可能性はｐ（２｜２）α［ｔ−２］［３］［２］である。
【００４２】
このような計算を、確率α［０］［＊］［＊］から動的計画法で前向きに行うことで、あらゆる確率α［ｔ］［ｋ］［ｃ］を求めることができる。
【００４３】
図６には、バックワードサンプリングの一例として、長さｋ＝３および長さｋ＝２の場合のサンプリングが模式的に示されている。
【００４４】
例えば、時刻ｔにおける長さｋ＝３かつクラスｃ＝１の単位系列ｘｊへの遷移は、長さｋ＝３であることより、時刻ｔ−３の単位系列ｘｊのいずれかが可能であり、それらの確率α［ｔ−３］［＊］［＊］から決定することができる。
【００４５】
ここで、例えば、時刻ｔ−３において長さｋ＝２かつクラスｃ＝２の単位系列ｘｊが決定されたとする。この場合、その単位系列ｘｊへの遷移は、長さｋ＝２であることより、時刻ｔ−５の単位系列ｘｊのいずれかが可能であり、それらの確率α［ｔ−５］［＊］［＊］から決定することができる。
【００４６】
このように、確率α［ｔ］［ｋ］［ｃ］に基づいたサンプリングを後ろから順に行うことで、全ての単位系列ｘｊの長さｋおよびクラスｃを決定することができる。
【００４７】
＜情報処理装置の構成例＞
【００４８】
図７は、本技術を適用した情報処理装置の一実施の形態の構成例を示すブロック図である。
【００４９】
図７に示すように、情報処理装置１１は、座標系変換部１２、ＢＧＳ実行部１３、およびＦＦＢＳ実行部１４を備えて構成される。また、ＦＦＢＳ実行部１４は、フォワードフィルタリング部１５およびバックワードサンプリング部１６を有して構成される。
【００５０】
ここで、本実施の形態では、ロボットハンドで物を掴むという動作（後述の図１５参照）のように、掴むという動作の対象となる物体（以下、ランドマークと称する）に向かって、ロボットハンドのように動作を行う主体となる物体（以下、トラジェクタと称する）を近づける動作を行う例について説明する。また、本実施の形態では、座標系の原点とする参照点をトラジェクタおよびランドマークのどちらに設定するかについて、クラスｃごとに予め設定されている。
【００５１】
座標系変換部１２には、観測値として、所定の基準点に対してトラジェクタが移動する座標を表すベクトルｐｎが供給される。また、座標系変換部１２には、所定の基準点に対してランドマークが配置されている位置の座標を表すベクトルｐlandmarkが設定されている。そして、座標系変換部１２は、クラスｃごとに設定されている参照点に従って、ベクトルｐｎを、トラジェクタまたはランドマークいずれかを原点とした座標系に変換したベクトルｐ’ｎに変換して、ＦＦＢＳ実行部１４のフォワードフィルタリング部１５に供給する。
【００５２】
例えば、座標系変換部１２は、クラスｃの参照点がトラジェクタに設定されている場合、ベクトルｐｔ−ｋからベクトルｐｋまでの分節ｓ’ｔ−ｋ：ｋ（＝ｐｔ−ｋ，ｐｔ−ｋ＋１，・・・，ｐｋ）を、次の式（７）に従って、トラジェクタの初期位置を原点とした座標系へと変換する。
【００５３】
【数７】
2018047863.tif 000009
【００５４】
これにより、図８のＡに示すように、ベクトルｐｎは、トラジェクタを原点として、水平方向に向かってｘ軸が設定され、ｘ軸に対して直交する方向であって、かつ、重力方向に対して逆方向となるようにｙ軸が設定される座標系のベクトルｐ’ｎに変換される。
【００５５】
一方、座標系変換部１２は、クラスｃの参照点がランドマークに設定されている場合、図８のＢに示すように、ランドマークを原点として、ランドマークからトラジェクタへ向かう方向にｘ軸が設定され、ｘ軸に対して直交する方向であって、かつ、重力方向に対して逆側に向かうようにｙ軸が設定される座標系へと変換する。例えば、データ点が二次元ベクトルｐｎ＝（ｐｎ，０，ｐｎ，１）の場合、座標系変換部１２は、次の式（８）、式（９）、および式（１０）に従って、ランドマークを原点とした座標系を求める。ただし、式（８）に示すＲ（θ）はθ回転の回転行列であり、式（１０）に示すように表される。
【００５６】
【数８】
2018047863.tif 000010
【数９】
2018047863.tif 000011
【数１０】
2018047863.tif 000012
【００５７】
ＢＧＳ実行部１３は、観測系列Ｓを分節化する際の単位系列ｘｊの長さｋと、それぞれの単位系列ｘｊのクラスｃとをサンプリングすることにより推定するＢＧＳ（Blocked Gibbs Sampler）を実行する。また、ＢＧＳ実行部１３は、効率的に計算を行うために、１つの観測系列Ｓを分節化する際の単位系列ｘｊの長さｋと、それぞれの単位系列ｘｊのクラスｃとをまとめてサンプリングすることができる。なお、ＢＧＳ実行部１３により実行されるＢＧＳアルゴリズムについては、図９のフローチャートを参照して後述する。
【００５８】
そして、ＢＧＳ実行部１３は、ＦＦＢＳ実行部１４が、後述する式（１３）により遷移確率を求める際に用いるパラメータＮ（ｃｎ，ｊ）およびパラメータＮ（ｃｎ，ｊ，ｃｎ，ｊ＋１）を、ＦＦＢＳ実行部１４に供給する。例えば、パラメータＮ（ｃｎ，ｊ）は、クラスｃｎ，ｊとなった分節の数を表し、パラメータＮ（ｃｎ，ｊ，ｃｎ，ｊ＋１）は、クラスｃｎ，ｊからクラスｃｎ，ｊ＋１に遷移した回数を表している。さらに、ＢＧＳ実行部１３は、パラメータＮ（ｃｎ，ｊ）およびパラメータＮ（ｃｎ，ｊ，ｃｎ，ｊ＋１）を、現在のパラメータＮ（ｃ’）およびパラメータＮ（ｃ’，ｃ）としてＦＦＢＳ実行部１４に供給するとともに、分節対象の観測系列ＳをＦＦＢＳ実行部１４に供給する。
【００５９】
ＦＦＢＳ実行部１４は、上述した非特許文献１と同様に、観測系列Ｓを分節化する際の単位系列ｘｊの長さｋと、それぞれの単位系列ｘｊのクラスｃとの両方を隠れ変数とみなして同時にサンプリングするＦＦＢＳを実行する。
【００６０】
フォワードフィルタリング部１５は、図５を参照して上述したように、ある時刻ｔを終点として、長さｋの単位系列ｘｊがクラスｃに分類される確率α［ｔ］［ｋ］［ｃ］を求めて、バックワードサンプリング部１６に供給する。
【００６１】
例えば、フォワードフィルタリング部１５は、座標系変換部１２から供給されるベクトルｐ’に基づいた分節ｓ’ｔ−ｋ：ｋ（＝ｐ’ｔ−ｋ，ｐ’ｔ−ｋ＋１，・・・，ｐ’ｋ）が、クラスｃとなる確率α［ｔ］［ｋ］［ｃ］を、次の式（１１）を演算することにより求めることができる。
【００６２】
【数１１】
2018047863.tif 000013
【００６３】
ただし、式（１１）において、Ｃはクラス数であり、Ｋは単位系列の最大の長さである。また、Ｐ（ｓ’ｔ−ｋ：ｋ｜Ｘｃ）は、クラスｃから分節ｓ’ｔ−ｋ：ｋが生成される確率であり、次の式（１２）で求められる。
【００６４】
【数１２】
2018047863.tif 000014
【００６５】
ただし、式（１２）のＰｌｅｎ（ｋ｜λ）は、平均をλとするポアソン分布であり、分節長の確率分布である。また、式（１１）のｐ（ｃ｜ｃ’）は、クラスの遷移確率を表しており、次の式（１３）で求められる。
【００６６】
【数１３】
2018047863.tif 000015
【００６７】
ただし、式（１３）において、Ｎ（ｃ’）は、クラスｃ’となった分節の数を表し、Ｎ（ｃ’，ｃ）は、クラスｃ’からクラスｃに遷移した回数を表しており、ＢＧＳ実行部１３から供給されるパラメータＮ（ｃｎ，ｊ）およびＮ（ｃｎ，ｊ，ｃｎ，ｊ＋１）がそれぞれ用いられる。また、ｋ’は、分節ｓ’ｔ−ｋ：ｋの前の分節の長さを表し、ｃ’は、分節ｓ’ｔ−ｋ：ｋの前の分節のクラスを表しており、式（１１）では、全ての長さｋおよびクラスｃにおいて周辺化されている。
【００６８】
なお、ｔ−ｋ＜０となる場合、確率α［ｔ］［ｋ］［＊］＝０であり、確率α［０］［０］［＊］＝１．０である。そして、式（１１）は、漸化式になっており、確率α［１］［１］［＊］から計算をすることで、全てのパターンを動的計画法により計算することができる。
【００６９】
バックワードサンプリング部１６は、図６を参照して上述したように、フォワードフィルタリング部１５から供給される前向き確率α［ｔ］［ｋ］［ｃ］に従い、後ろ向きに単位系列の長さおよびクラスをサンプリングする。これにより、バックワードサンプリング部１６は、観測系列Ｓを分節化した単位系列ｘｊの長さｋと、それぞれの単位系列ｘｊのクラスｃとを決定することができる。
【００７０】
以上のように情報処理装置１１は構成されており、座標系変換部１２によりトラジェクタまたはランドマークいずれかを原点とした座標系に変換することができる。これにより、情報処理装置１１は、例えば、トラジェクタがランドマークに向かって移動するような動作について、正確に、その動作を表す単位系列を分節化し、その動作を示すクラスに単位系列を分類することができる。
【００７１】
また、情報処理装置１１は、このような分節化および分類を行う際に、ＢＧＳ実行部１３およびＦＦＢＳ実行部１４による処理を、全ての観測系列Ｓに対して繰り返すことで、観測系列Ｓを分節化した単位系列ｘｊの長さｋ（分節点）と、ガウス過程のパラメータＸｃとを交互に最適化することができる。
【００７２】
＜ＢＧＳ処理＞
【００７３】
図９を参照して、ＢＧＳ実行部１３により実行されるＢＧＳ処理について説明する。
【００７４】
ステップＳ１１において、ＢＧＳ実行部１３は、分節化および分類を行う対象となる観測系列Ｓが情報処理装置１１に供給されると、観測系列Ｓを初期化する。例えば、ＢＧＳ実行部１３は、複数の観測系列Ｓｎ（ｎ＝１〜Ｎ）に対してまとめてサンプリングを行い、ステップＳ１１では、観測系列Ｓ１から観測系列ＳＮまでの全てに対して、ランダムに分節化および分類することで初期化を行う。
【００７５】
ステップＳ１２において、ＢＧＳ実行部１３は、観測系列Ｓｎのインデックスｎに、初期値としての１をセットし、ステップＳ１３において、ＢＧＳ実行部１３は、単位系列ｘｎ，ｊのインデックスｊに、初期値としての１をセットする。
【００７６】
ステップＳ１４において、ＢＧＳ実行部１３は、パラメータＮ（ｃｎ，ｊ）をディクリメントし、ステップＳ１５において、ＢＧＳ実行部１３は、パラメータＮ（ｃｎ，ｊ，ｃｎ，ｊ＋１）をディクリメントする。
【００７７】
ステップＳ１６において、ＢＧＳ実行部１３は、単位系列ｘｎ，ｊを、ガウス過程のパラメータＸ（ｃｎ，ｊ）から削除する。
【００７８】
ステップＳ１７において、ＢＧＳ実行部１３は、単位系列ｘｎ，ｊのインデックスｊが、現時点で分節化されている単位系列ｘｎ，ｊの個数Ｊｎとなるまで処理を繰り返したか否かを判定する。
【００７９】
ステップＳ１７において、ＢＧＳ実行部１３が、単位系列ｘｎ，ｊのインデックスｊが、現時点で分節化されている単位系列ｘｎ，ｊの個数Ｊｎとなるまで処理を繰り返していないと判定した場合、処理はステップＳ１８に進む。
【００８０】
ステップＳ１８において、ＢＧＳ実行部１３は、単位系列ｘｎ，ｊのインデックスｊをインクリメントした後、処理はステップＳ１４に戻り、以下、同様の処理が繰り返して行われる。
【００８１】
一方、ステップＳ１７において、ＢＧＳ実行部１３が、単位系列ｘｎ，ｊのインデックスｊが、現時点で分節化されている単位系列ｘｎ，ｊの個数Ｊｎとなるまで処理を繰り返したと判定した場合、処理はステップＳ１９に進む。
【００８２】
ステップＳ１９において、後述の図１０を参照して説明するように、ＦＦＢＳ実行部１４によりＦＦＢＳ処理が実行される。
【００８３】
ステップＳ２０において、ＢＧＳ実行部１３は、単位系列ｘｎ，ｊのインデックスｊに、初期値としての１をセットする。
【００８４】
ステップＳ２１において、ＢＧＳ実行部１３は、パラメータＮ（ｃｎ，ｊ）をインクリメントし、ステップＳ２２において、ＢＧＳ実行部１３は、パラメータＮ（ｃｎ，ｊ，ｃｎ，ｊ＋１）をインクリメントする。
【００８５】
ステップＳ２３において、ＢＧＳ実行部１３は、単位系列ｘｎ，ｊを、ガウス過程のパラメータＸ（ｃｎ，ｊ）に追加する。
【００８６】
ステップＳ２４において、ＢＧＳ実行部１３は、単位系列ｘｎ，ｊのインデックスｊが、現時点で分節化されている単位系列ｘｎ，ｊの個数Ｊｎとなるまで処理を繰り返したか否かを判定する。
【００８７】
ステップＳ２４において、ＢＧＳ実行部１３が、単位系列ｘｎ，ｊのインデックスｊが、現時点で分節化されている単位系列ｘｎ，ｊの個数Ｊｎとなるまで処理を繰り返していないと判定した場合、処理はステップＳ２５に進む。
【００８８】
ステップＳ２５において、ＢＧＳ実行部１３は、単位系列ｘｎ，ｊのインデックスｊをインクリメントした後、処理はステップＳ２１に戻り、以下、同様の処理が繰り返して行われる。
【００８９】
一方、ステップＳ２４において、ＢＧＳ実行部１３が、単位系列ｘｎ，ｊのインデックスｊが、現時点で分節化されている単位系列ｘｎ，ｊの個数Ｊｎとなるまで処理を繰り返したと判定した場合、処理はステップＳ２６に進む。
【００９０】
ステップＳ２６において、ＢＧＳ実行部１３は、観測系列Ｓｎのインデックスｎが、観測系列Ｓｎの系列数Ｎとなるまで処理を繰り返したか否かを判定する。
【００９１】
ステップＳ２６において、ＢＧＳ実行部１３が、観測系列Ｓｎのインデックスｎが、観測系列Ｓｎの系列数Ｎとなるまで処理を繰り返していないと判定した場合、処理はステップＳ２７に進む。
【００９２】
ステップＳ２７において、ＢＧＳ実行部１３は、観測系列Ｓｎのインデックスｎをインクリメントした後、処理はステップＳ１３に戻り、以下、同様の処理が繰り返して行われる。
【００９３】
一方、ステップＳ２６において、ＢＧＳ実行部１３が、観測系列Ｓｎのインデックスｎが、観測系列Ｓｎの系列数Ｎとなるまで処理を繰り返したと判定した場合、処理はステップＳ２８に進む。
【００９４】
ステップＳ２８において、ＢＧＳ実行部１３は、ステップＳ１２からステップＳ２７までの処理を繰り返して行った結果、ステップＳ１９のＦＦＢＳ処理で求められる単位系列ｘｎ，ｊおよびクラスｃｎ，ｊそれぞれが収束したか否かを判定する。
【００９５】
ステップＳ２８において、ＢＧＳ実行部１３が、現時点で求められている単位系列ｘｎ，ｊおよびクラスｃｎ，ｊは、それぞれ収束していないと判定した場合、処理はステップＳ１２に戻り、以下、同様の処理が繰り返される。
【００９６】
一方、ステップＳ２８において、ＢＧＳ実行部１３が、現時点で求められている単位系列ｘｎ，ｊおよびクラスｃｎ，ｊは、それぞれ収束したと判定した場合、ＢＧＳ処理は終了される。
【００９７】
＜ＦＦＢＳ処理＞
【００９８】
図１０を参照して、図９のステップＳ１９においてＦＦＢＳ実行部１４により実行されるＦＦＢＳ処理について説明する。なお、ステップＳ３１からステップＳ４１まではフォワードフィルタリング部１５により処理が行われ、ステップＳ４２からステップＳ４７まではバックワードサンプリング部１６により処理が行われる。
【００９９】
ステップＳ３１において、フォワードフィルタリング部１５は、タイムステップｔに、初期値としての１をセットし、ステップＳ３２において、ＦＦＢＳ実行部１４は、単位系列ｘｎ，ｊの長さｋに、初期値としての１をセットする。
【０１００】
ステップＳ３３において、フォワードフィルタリング部１５は、複数のクラスｃについて確率α［ｔ］［ｋ］［ｃ］を求めるのに、所定の順番でクラスｃを選択して処理を行い、まず、１番目のクラスｃを選択する。
【０１０１】
ステップＳ３４において、後述の図１１を参照して説明するように、座標系変換部１２による座標系変換処理が行われる。
【０１０２】
ステップＳ３５において、フォワードフィルタリング部１５は、ステップＳ３４で座標系が変換されたベクトルｐ’を用いて、上述した式（１１）を演算することにより、確率α［ｔ］［ｋ］［ｃ］を算出する。
【０１０３】
ステップＳ３６において、フォワードフィルタリング部１５は、全てのクラスｃについて確率α［ｔ］［ｋ］［ｃ］を求める処理を行ったか否かを判定する。
【０１０４】
ステップＳ３６において、フォワードフィルタリング部１５が、全てのクラスｃについて確率α［ｔ］［ｋ］［ｃ］を求める処理を行っていないと判定した場合、処理はステップＳ３７に進む。
【０１０５】
ステップＳ３７において、フォワードフィルタリング部１５は、所定の順番で次のクラスを選択した後、処理はステップＳ３４に戻り、同様の処理が繰り返して行われる。
【０１０６】
一方、ステップＳ３６において、フォワードフィルタリング部１５が、全てのクラスｃについて確率α［ｔ］［ｋ］［ｃ］を求める処理を行ったと判定した場合、処理はステップＳ３８に進む。
【０１０７】
ステップＳ３８において、フォワードフィルタリング部１５は、単位系列ｘｎ，ｊの長さｋが、単位系列ｘｎ，ｊの最大の長さＫとなるまで処理を繰り返したか否かを判定する。
【０１０８】
ステップＳ３８において、フォワードフィルタリング部１５が、単位系列ｘｎ，ｊの長さｋが、単位系列ｘｎ，ｊの最大の長さＫとなるまで処理を繰り返していないと判定した場合、処理はステップＳ３９に進む。
【０１０９】
ステップＳ３９において、フォワードフィルタリング部１５は、単位系列ｘｎ，ｊの長さｋをインクリメントした後、処理はステップＳ３３に戻り、以下、同様の処理が繰り返して行われる。
【０１１０】
一方、ステップＳ３８において、フォワードフィルタリング部１５が、単位系列ｘｎ，ｊの長さｋが、単位系列ｘｎ，ｊの最大の長さＫとなるまで処理を繰り返したと判定した場合、処理はステップＳ４０に進む。
【０１１１】
ステップＳ４０において、フォワードフィルタリング部１５は、タイムステップｔが、タイムステップｔの最大値Ｔとなるまで処理を繰り返したか否かを判定する。
【０１１２】
ステップＳ４０において、フォワードフィルタリング部１５が、タイムステップｔが、タイムステップｔの最大値Ｔとなるまで処理を繰り返していないと判定した場合、処理はステップＳ４１に進む。
【０１１３】
ステップＳ４１において、フォワードフィルタリング部１５は、タイムステップｔをインクリメントした後、処理はステップＳ３２に戻り、以下、同様の処理が繰り返して行われる。
【０１１４】
一方、ステップＳ４０において、フォワードフィルタリング部１５が、タイムステップｔが、タイムステップｔの最大値Ｔとなるまで処理を繰り返したと判定した場合、処理はステップＳ４２に進む。
【０１１５】
ステップＳ４２において、バックワードサンプリング部１６は、タイムステップｔに、初期値としての最大値Ｔをセットし、単位系列ｘｎ，ｊのインデックスｊに、初期値としての１をセットする。
【０１１６】
ステップＳ４３において、バックワードサンプリング部１６は、ステップＳ３５で求められた確率α［ｔ］［ｋ］［ｃ］に基づいて、単位系列ｘｎ，ｊの長さｋとクラスｃをサンプリングする。
【０１１７】
ステップＳ４４において、バックワードサンプリング部１６は、タイムステップｔを、現時点の単位系列ｘｎ，ｊの長さｋだけ後ろ方向に戻す（ｔ＝ｔ−ｋ）。
【０１１８】
ステップＳ４５において、バックワードサンプリング部１６は、単位系列ｘｎ，ｊのインデックスｊをインクリメントする。
【０１１９】
ステップＳ４６において、バックワードサンプリング部１６は、タイムステップｔが０となるまで処理を繰り返したか否かを判定する。
【０１２０】
ステップＳ４６において、バックワードサンプリング部１６が、タイムステップｔが０となるまで処理を繰り返していないと判定した場合、処理はステップＳ４３に戻り、以下、同様の処理が繰り返して行われる。
【０１２１】
一方、ステップＳ４６において、バックワードサンプリング部１６が、タイムステップｔが０となるまで処理を繰り返したと判定した場合、処理はステップＳ４７に進む。
【０１２２】
ステップＳ４７において、バックワードサンプリング部１６は、ステップＳ４３のサンプリングを繰り返して求めた単位系列ｘｎ，ｊとクラスｃｎ，ｊの組み合わせをＢＧＳ実行部１３に出力し、ＦＦＢＳ処理は終了される。
【０１２３】
＜座標系変換処理＞
【０１２４】
図１１を参照して、図１０のステップＳ３４において座標系変換部１２により実行される座標系変換処理について説明する。
【０１２５】
ステップＳ５１において、座標系変換部１２は、座標系変換処理の対象となっている単位系列ｘｎ，ｊを表す全てのベクトルｐ（＝ｐｔ−ｋ，ｐｔ−ｋ＋１，・・・，ｐｋ）のうち、１番目のベクトルｐを選択する。
【０１２６】
ステップＳ５２において、座標系変換部１２は、現時点で選択（図１０のステップＳ３３またはＳ３７で選択）されているクラスｃに設定されている参照点が、トラジェクタおよびランドマークのどちらであるかを判定する。
【０１２７】
ステップＳ５２において、座標系変換部１２が、クラスｃに設定されている参照点はトラジェクタであると判定した場合、処理はステップＳ５３に進む。
【０１２８】
ステップＳ５３において、座標系変換部１２は、上述した式（７）を用いて、ベクトルｐを、トラジェクタの初期位置を原点とした座標系のベクトルｐ’に変換し、処理はステップＳ５７に進む。
【０１２９】
一方、ステップＳ５２において、座標系変換部１２が、クラスｃに設定されている参照点はランドマークであると判定した場合、処理はステップＳ５４に進む。
【０１３０】
ステップＳ５４において、座標系変換部１２は、上述した式（８）を用いて、ベクトルｐを、ランドマークを原点とした座標系のベクトルｐ’に変換する。
【０１３１】
ステップＳ５５において、座標系変換部１２は、ステップＳ５４で変換したベクトルｐ’のｙ軸が重力方向を向いているか否かを判定する。
【０１３２】
ステップＳ５５において、座標系変換部１２が、ステップＳ５４で変換したベクトルｐ’のｙ軸が重力方向を向いていると判定した場合、処理はステップＳ５６に進む。
【０１３３】
ステップＳ５６において、座標系変換部１２は、ｙ軸を重力方向に対して逆側に向かうように反転（上述の式（９）参照）する。
【０１３４】
ステップＳ５６の処理後、または、ステップＳ５５でベクトルｐ’のｙ軸が重力方向を向いていないと判定された場合、処理はステップＳ５７に進む。
【０１３５】
ステップＳ５７において、座標系変換部１２は、座標系変換処理の対象となっている単位系列ｘｎ，ｊを表す全てのベクトルｐを、ベクトルｐ’に変換したか否かを判定する。
【０１３６】
ステップＳ５７において、座標系変換部１２が、全てのベクトルｐをベクトルｐ’に変換していないと判定した場合、処理はステップＳ５８に進む。
【０１３７】
ステップＳ５８において、座標系変換部１２は、次のベクトルｐを選択した後、処理はステップＳ５２に戻り、以下、同様の処理が繰り返して行われる。
【０１３８】
一方、ステップＳ５７において、座標系変換部１２が、全てのベクトルｐをベクトルｐ’に変換したと判定した場合、座標系変換処理は終了される。
【０１３９】
以上のように、情報処理装置１１では、ＢＧＳ処理、ＦＦＢＳ処理、および座標系変換処理を行うことにより、トラジェクタがランドマークに対して関係性を有して移動するクラスと、トラジェクタがランドマークに対して無関係にする移動するクラスとを正確に分類することができる。
【０１４０】
なお、上述したＢＧＳ処理のアルゴリズムの一例は、図１２に示すように表記することができ、上述したＦＦＢＳ処理および座標系変換処理のアルゴリズムの一例は、図１３に示すように表記することができる。
【０１４１】
＜シミュレーションによる分節化＞
【０１４２】
図１４には、情報処理装置１１による分節化および分類の有効性を確認するため、物体操作タスクの分節化についてシミュレーションによる評価を行った結果が示されている。
【０１４３】
図１４に示すように、例えば、コンピュータ上で、ランドマークの位置を固定するとともに、トラジェクタの位置がユーザにより操作可能となるようにシミュレーション条件を設定して、ランドマークおよびトラジェクタをディスプレイに表示させ、操作入力手段によりトラジェクタの操作させるシミュレーションを行った。また、トラジェクタの初期位置は、シミュレーションを行うたびにランダムに変更させる。
【０１４４】
このようなシミュレーションにおいて、トラジェクタの位置を回転させる操作、トラジェクタをランドマークに近づける操作、トラジェクタをランドマークから遠ざける操作、および、トラジェクタをランドマークに乗せる操作という４つの操作をランダムに５回行った。また、それぞれの操作を行う際に、トラジェクタおよびランドマークの画像座標を取得し、１つの連続操作とした。そして、このような４つの操作をランダムに５回行うことを７回繰り返して、合計として７つの連続操作データを取得した。
【０１４５】
そして、取得した連続操作データを、情報処理装置１１により４つのクラスへ分節化および分類を行わせた。また、クラス数および各クラスの座標系は予め設定してシミュレーションを行い、４つのクラスのうち、１つのクラスにトラジェクタ座標系（TCS）を設定し、他の３つのクラスにランドマーク座標系（LCS）を設定した。
【０１４６】
図１４に示すように、トラジェクタをランドマークに乗せる操作は、クラス１に分類され、トラジェクタをランドマークに近づける操作は、クラス２に分類され、トラジェクタをランドマークから遠ざける操作は、クラス３に分類された。これらの操作は、ランドマークに対して行う操作であり、正しくランドマーク座標系（LCS）のクラスへと分類された結果が得られた。
【０１４７】
また、トラジェクタの位置を回転させる操作は、クラス４に分類された。この操作は、ランドマークとは無関係に行われる操作であり、正しくトラジェクタ座標系（TCS）のクラスへと分類された結果が得られた。
【０１４８】
＜ロボットの動作の分節化＞
【０１４９】
図１５乃至図１７を参照して、ロボットによる物体把持動作の分節化および分類について説明する。
【０１５０】
図１５に示すように、ロボットが前進する動作、ロボットが後進する動作、および、ロボットのグリッパー（トラジェクタ）により物体（ランドマーク）を把持する動作という３つの動作を行うように操作を行った。例えば、これらの３つの動作をランダムに５回行って１つの連続動作とし、このような３つの動作をランダムに５回行うことを５回繰り返して、合計として５つの連続動作データを取得した。
【０１５１】
これにより、図１６に示すように、ロボットの手先の三次元座標と、物体を把持するグリッパーの開閉の情報とが観測値として取得され、これらの合計４次元の特徴量を用いてロボットの動作を分節化することができる。
【０１５２】
例えば、このような観測値を時系列データとして、情報処理装置１１により４つのクラスへ分節化および分類を行わせた。また、クラス数および各クラスの座標系は予め設定され、４つのクラスのうち、２つのクラスにトラジェクタ座標系（TCS）を設定し、他の２つのクラスにランドマーク座標系（LCS）を設定した。
【０１５３】
これにより、図１６に示すようなクラス１〜クラス４として、ロボットの動作を分節化した分節化結果が取得された。
【０１５４】
図１６において、ｘ座標がロボットの前後の動きであり、ロボットが前進する動作がクラス４に分類され、ロボットが後進する動作がクラス３に分類された。これらの動作は、物体とは無関係に行われる動作であり、正しくトラジェクタ座標系（TCS）のクラスへと分類された結果が得られた。
【０１５５】
また、図１６において、ｚ座標とグリッパーは、グリッパーの高さと開閉（１：開，０：閉）であり、アームを下げ物体に接近しグリッパーを閉じる動作がクラス１に分類され、グリッパーで物体を掴み持ち上げる動作がクラス２に分類された。これらの動作は、物体と関連した動作であり、正しくランドマーク座標系（LCS）のクラスへと分類された結果が得られた。
【０１５６】
なお、ガウス過程には、学習した連続的な軌道を容易に生成できる点が利点としてある。例えば、情報処理装置１１をロボットの動きを学習する学習装置として利用することで、ロボットの動作を学習結果として取得することができる。例えば、図１６に示したようなロボットの動作を分節化した分節化結果を学習して、クラス４、クラス１、およびクラス２を結合して軌道を生成すると、図１７に示すように、学習に基づいて生成したロボットの動作を取得することができる。
【０１５７】
即ち、図１７に示す時間Ｔ１〜Ｔ２において、クラス４に基づいて、ロボットが前進する動作が生成され、時間Ｔ２〜Ｔ４において、クラス１に基づいて、アームを下げ物体に接近しグリッパーを閉じる動作が生成され、時間Ｔ４〜Ｔ５において、クラス２に基づいて、グリッパーで物体を掴み持ち上げる動作が生成された。このように図１７に示すような生成された動作と、図１６に示すような観測値と比較すると、前進、物体把持、物体を持ち上げるといった軌道を正しく生成できている。そして、この軌道をロボットによって再生させると、図１５に示したような動作が正しく行われる。
【０１５８】
以上のように、情報処理装置１１は、ガウス過程を出力分布とした隠れセミマルコフモデルによって、参照点に従ってトラジェクタ座標系またはランドマーク座標系に変換し、全体の動作を単位動作に分節化する。これにより、ランドマークに対して行われる動作を正確に分節化することができる。即ち、ランドマークに対して行われる動作は、ランドマークを参照点とした動作として分類され、ランドマークとは無関係の動作はトラジェクタを参照点とした動作として分類されている。
【０１５９】
なお、上述した実施の形態では、予め幾つのクラスに分けるかを指定し、それぞれのクラスに対して参照点が設定された処理について説明した。これに対し、例えば、ノンパラメトリックベイズを導入することで、クラス数を推定し、それぞれのクラスの参照点も自動的に推定することも可能である。
【０１６０】
＜クラス数の推定＞
そこで、クラス数の推定も行って、それぞれのクラスの参照点を自動的に推定する手法について説明する。
【０１６１】
例えば、ノンパラメトリックベイズでは、無限個のクラスがあることを想定してクラスタリングを行うことができる。実際には、学習データは有限であり、そのうちの有限個のクラスのみを学習データの生成過程を表現するのに利用することで、クラス数の推定を可能としている。具体的には、GP-HSMM（Gaussian Process - Hidden Semi Markov Model）に対してHPD（Hierarchical Dirichlet Process）を導入することによって、ノンパラメトリックベイズモデルへと拡張したHDP-GP-HSMMを利用する手法を採用することができる。
【０１６２】
なお、教師無しで動作を分節化する手法としては、様々な手法が既に提案されているが、ここでは、離散化せずに動作を表現可能なGP（Gaussian Process）を用いて、より複雑な動作を表現するのに適した手法を採用する。
【０１６３】
まず、ノンパラメトリックベイズモデルについて説明する。
【０１６４】
例えば、パラメトリックな混合モデルではクラス数は有限であり、有限次元のディリクレ分布から多項分布のパラメータが生成され、この多項分布から隠れ状態が決定される。一方、ノンパラメトリックベイズでは、無限個のクラスを仮定するため、無限次元の多項分布を生成する必要がある。例えば、その構成法の１つであるSPB（Stick Breaking Process）では、長さ１の棒をベータ分布からサンプリングされる値で折り続けることによって、無限次元の多項分布が構成される。
【０１６５】
即ち、SPBでは、次の式（１４）および式（１５）に示すように、無限次元の多項分布のパラメータβを構成することができる。このプロセスは、一般的に、β〜GEM（γ）と表記される。
【０１６６】
【数１４】
2018047863.tif 000016
【数１５】
2018047863.tif 000017
【０１６７】
このようなディリクレ過程を用いることで、無限の状態数をもったHMMの遷移確率を構成することができる。しかしながら、単にSBPによって各状態の遷移確率を構成するだけでは、状態ごとに可能な遷移先が異なることになる。即ち、HMMのようなモデルの場合には、全ての状態において可能な遷移先が共有されており、その遷移確率が状態ごとに異なる分布を構成しなければならない。
【０１６８】
そのため、SBPによって生成した分布を基底測度として共有し、状態ｃごとに異なる遷移確率πｃを、次の式（１６）に示すようにDPによって生成する。このように、二段階のDPによって無限次元の確率分布を構成する手法は、HPDと称されている。
【０１６９】
【数１６】
2018047863.tif 000018
【０１７０】
そこで、図２を参照して説明したようなグラフィカルモデルを、図１８に示すように、クラス数の推定を行うことができるように変更する手法が提案される。
【０１７１】
図１８には、無限個のクラス数を想定して、観測系列Ｓを単位系列ｘｊごとに分節化する手法のグラフィカルモデルが示されている。このグラフィカルモデルでは、データは有限個であり、無限のクラスのうち有限個のクラスのみを、データを表現するのに利用する結果、クラス数が推定される。このとき、図１９に示すように、クラスのインデックスが大きいものは、クラスの発生確率が小さくなるように調整を行い、クラス数が多くなり過ぎないようなペナルティが設定（Ｐ（ｃ’｜ｃ）＝πｃ）される。これにより、クラスの個数が有限個に収束する結果、最終的な個数を推定することができる。
【０１７２】
即ち、図１８に示すグラフィカルモデルおいて、単位系列のクラスｃｊ（ｊ＝１，２，・・・，Ｊ）は、無限個のクラス数を仮定しており、遷移確率πｃは、クラスcから各クラスへと遷移する確率を表している。具体的には、遷移確率πｃは、次の式（１７）に示すように、γをパラメータとするGEM分布（Stick Breaking Process）によって生成されたβと、次の式（１８）に示すように、αをパラメータとするDP（Dirichlet Process）から生成される。
【０１７３】
【数１７】
2018047863.tif 000019
【数１８】
2018047863.tif 000020
【０１７４】
また、ｊ番目のクラスｃｊは、ｊ−１番目のクラスクラスｃｊ−１と、遷移確率πｃとによって決定される。ここでは、クラスと対応したパラメータＸｃを用いたガウス過程から、次の式（１９）および式（２０）に示すように、単位系列ｘｊが生成されることを仮定している。
【０１７５】
【数１９】
2018047863.tif 000021
【数２０】
2018047863.tif 000022
【０１７６】
ただし、パラメータＸｃはクラスｃに分類された単位系列の集合である。そして、これらの単位系列を結合することで、観測系列Ｓ（＝ｘ０，ｘ０，・・・，ｘＪ）を求めることができる。
【０１７７】
ところで、単位系列のタイムステップｉにおける出力値ｘｉをガウス過程回帰で学習することによって、連続的な軌道として表現される。従って、ガウス過程では、同一クラスに属する単位系列のタイムステップｉにおける出力ｘの組（ｉ，ｘ）が得られたとき、タイムステップｉｎｅｗにおける出力ｘｎｅｗの予測分布は、次の式（２１）に示すようなガウス分布となる。
【０１７８】
【数２１】
2018047863.tif 000023
【０１７９】
ただし、式（２１）において、行列Ｃは、カーネル関数ｋ（・，・）を用いて、次の式（２２）に示すような要素ｋ（ｉｐ，ｉｑ）を持つ行列であり、βは、観測値に含まれるノイズの精度を表すハイパーパラメータである。
【０１８０】
【数２２】
2018047863.tif 000024
【０１８１】
また、式（２１）において、ベクトルｋは、ｋ（ｉｐ，ｉｎｅｗ）を要素に持ち、クラスｃは、ｋ（ｉｎｅｗ，ｉｎｅｗ）である。
【０１８２】
そして、ガウス過程では、カーネルを用いることで複雑に変化する系列データであっても学習することができる。ここでは、ガウス過程回帰に広く使われている次の式（２３）に示すようなガウスカーネルを用いる。ただし、式（２３）において、θ＊は、カーネルのパラメータである。
【０１８３】
【数２３】
2018047863.tif 000025
【０１８４】
さらに、出力値ｘｉが多次元ベクトルの場合は、各次元が独立に生成されると仮定し、時刻ｉの観測値ｘ（＝ｘ０，ｘ１，・・・）が、クラスｃに対応するガウス過程から生成される確率ＧＰ（ｘ｜Ｘｃ）は、次の式（２４）を演算することで求められる。
【０１８５】
【数２４】
2018047863.tif 000026
【０１８６】
このようにして求められる確率ＧＰ（ｘ｜Ｘｃ）を用いることで、類似する単位系列を、同一のクラスに分類することができる。
【０１８７】
次に、このような確率ＧＰを、図７の情報処理装置１１に適用して、観測系列内の単位系列とそのクラスを動的計画法によりサンプリングして推定する手法について説明する。
【０１８８】
例えば、情報処理装置１１では、ＢＧＳ実行部１３が、動的計画法を効率的に計算するために、１つの観測系列内の単位系列とそのクラスをまとめてサンプリングすることができる。
【０１８９】
まず、ＢＧＳ実行部１３は、全ての観測系列をランダムに分節化し、分類することで初期化する。次に、ある観測系列Ｓｎを分節化して得られた全ての単位系列ｘｎｊ（ｊ＝１，２，・・・，Ｊｎ）を、それらが分類されているクラスからすべて削除し、各クラスのガウス過程のパラメータＸｃと遷移確率Ｐ（ｃ｜ｃ’）を更新する。
【０１９０】
次に、ＦＦＢＳ実行部１４が、新たな単位系列ｘｎｊ（ｊ＝１，２，・・・，Ｊｎ）と、それらのクラスｃｎｊ（ｊ＝１，２，・・・，Ｊｎ）とを推定し、各クラスと対応したガウス過程のパラメータＸｃおよび遷移確率Ｐ（ｃ｜ｃ’）を更新する。そして、以上の操作を全ての系列に対して繰り返すことで、ＢＧＳ実行部１３およびＦＦＢＳ実行部１４は、観測系列の分節点とガウス過程のパラメータを交互に最適化することができる。
【０１９１】
次に、ＦＦＢＳ実行部１４が、単位系列とそのクラスの両方を隠れ変数とみなしてＦＦＢＳにより同時にサンプリングする処理について説明する。
【０１９２】
まず、ＦＦＢＳ実行部１４のフォワードフィルタリング部１５は、ある観測系列ｓのタイムステップｔを終端とするｋサンプルｓｔ−ｋ：ｋが単位系列であり、そのクラスがｃである確率α［ｔ］［ｋ］［ｃ］を、次の式（２５）を演算することにより求めることができる。
【０１９３】
【数２５】
2018047863.tif 000027
【０１９４】
ただし、式（２５）において、Ｃはクラス数であり、Ｋは単位系列の最大の長さである。また、Ｐ（ｃ｜ｃ’，β，α）は、クラスｃの遷移確率を表しており、次の式（２６）で求められる。
【０１９５】
【数２６】
2018047863.tif 000028
【０１９６】
ただし、式（２６）において、Ｎ（ｃ’）は、クラスｃ’となった単位系列の数を表し、Ｎ（ｃ’，ｃ）は、クラスｃ’からクラスｃに遷移した回数を表しており、ＢＧＳ実行部１３から供給されるパラメータＮ（ｃｎ，ｊ）およびＮ（ｃｎ，ｊ，ｃｎ，ｊ＋１）がそれぞれ用いられる。また、ｋ’は、単位系列ｘｔ−ｋ：ｋの前の単位系列の長さを表し、ｃ’は、その単位系列のクラスを表しており、式（２５）では、全ての長さｋおよびクラスｃにおいて周辺化されている。
【０１９７】
なお、ｔ−ｋ＜０となる場合、確率α［ｔ］［ｋ］［＊］＝０であり、確率α［０］［０］［＊］＝１．０である。そして、式（２５）は、漸化式になっており、確率α［１］［１］［＊］から計算をすることで、全てのパターンを動的計画法により計算することができる。
【０１９８】
そして、ＦＦＢＳ実行部１４のバックワードサンプリング部１６は、フォワードフィルタリング部１５から供給される前向き確率α［ｔ］［ｋ］［ｃ］に従い、後ろ向きに単位系列の長さおよびクラスをサンプリングする。これにより、バックワードサンプリング部１６は、観測系列Ｓを分節化した単位系列ｘｊの長さｋと、それぞれの単位系列ｘｊのクラスｃとを決定することができる。
【０１９９】
例えば、図２０には、ＢＧＳ実行部１３により実行されるクラス数の推定を行うことが可能なＢＧＳ処理のアルゴリズムの一例が示されている。ただし、図２０に示すアルゴリズムにおいて、ＮｃｎｊおよびＮｃｎｊ，ｃｎ，ｊ＋１は、上述した式（２６）に示す遷移確率ｐを計算するためのパラメータである。また、図２１には、ＦＦＢＳ実行部１４により実行されるクラス数の推定を行うことが可能なＦＦＢＳ処理のアルゴリズムの一例が示されている。
【０２００】
このような情報処理装置１１による分節化および分類の有効性を確認するため、実際に動作を計測した結果として得られる観測値を分節化する実験を行った。
【０２０１】
図２２には、例えば、人間が右手のみを動かしたときの動作を計測して、その観測値（右手のｘ座標およびｙ座標）を分節化した一例が示されている。実験では、右手を小さく挙げる動作、右手を高く挙げる動作、右手を横に伸ばす動作という３つの動作がランダムに行われ、図示するような時系列データが取得された。この時系列データに対して、上述したようなHDP-GP-HSMMにより分節および分類を行った結果、クラス数は４と推定された。図２２では、それらの分類されたクラスが、それぞれ異なるハッチングにより表されている。
【０２０２】
実験では、３つの動作を行ったことより、正解のクラス数は３であるが、動作開始前の何も動作していない状態が１つのクラスとして分節された結果、クラス数は４と推定されている。そして、図示するように、クラス２には、手を小さく挙げる動作が分類され、クラス３には手を高く挙げる動作が分類され、クラス４には手を横に伸ばす動作が分類されるという結果が正しく求められた。
【０２０３】
以上のように、ガウス過程を出力分布とした隠れセミマルコフモデルにディリクレ過程を導入することで、動作のクラス数を推定しつつ動作を分節および分類することができる。このような手法により、動作の切れ目と、動作のクラスとをＦＦＢＳ処理により同時に推定し、クラス数をノンパラメトリックベイズモデルにより推定することで動作を正しく分節化することができた。
【０２０４】
＜物体姿勢の導入＞
上述したように、情報処理装置１１では、軌道を、参照点を基準とした座標へと適切に座標変換してＦＦＢＳ処理を行うことで、同じ動作を同じ軌道で表現することができる。
【０２０５】
即ち、図２３のＡおよび図２３のＢに示すように、ロボットのグリッパー（トラジェクタ）に参照点を設定した場合、把持対象となる物体（ランドマーク）の位置が異なると、それぞれの物体をロボットのグリッパーが把持するという動作は、異なる軌道で表現されてしまう。その結果、ロボットのグリッパーが物体を把持するという同じ動作が、異なる動作と認識されることになる。
【０２０６】
これに対し、図２３のＣおよび図２３のＤに示すように、把持対象となる物体に参照点を設定した場合、物体の位置が異なっていても、それぞれの物体をロボットのグリッパーによって把持するという動作を、同じ軌道で表現することができる。即ち、ロボットのグリッパーによって物体を把持する動作について、適切に、把持対象となる物体に参照点を設定することで、その動作の軌道を、同じ動作として認識することができる。
【０２０７】
そして、このように参照点を物体に設定する際に、物体の姿勢に従って適切に座標系を設定してＦＦＢＳ処理を行うことによって、物体の姿勢を考慮して動作を分節化することが可能となる。
【０２０８】
例えば、図２４のＡに示すように、物体の長手方向が垂直方向である場合に、ロボットのグリッパーで物体を把持する動作を行うとき、ロボットのグリッパーは、水平方向から物体に向かうような軌道となる。一方、図２４のＢに示すように、物体の長手方向が水平方向である場合に、ロボットのグリッパーで物体を把持する動作を行うとき、ロボットのグリッパーは、垂直方向から物体に向かうような軌道となる。
【０２０９】
このとき、物体の姿勢（長手方向が垂直方向または水平方向）に従って適切に座標系を設定することで、それぞれの姿勢の物体を把持するロボットのグリッパーの軌道を、物体の姿勢を考慮して推定することができる。つまり、長手方向がｚ軸となり、物体からグリッパーに向かう方向がｘ軸となるような座標系を設定することで、図２４のＡの例では、ロボットのグリッパーが水平方向から物体に向かうような動作となる。そして、同様な座標系を設定することで、図２４のＢの例でも同様の軌道で動作を表現することができる。即ち、物体の姿勢を、動作を推定する際の要素とすることで、姿勢の異なる物体に対して所定の動作（上述したような物体を把持する動作）が行われたとき、それぞれの物体に対する動作を同一の動作として分類することができる。
【０２１０】
従って、図７の情報処理装置１１は、把持対象となる物体が、どのような姿勢であっても、物体の姿勢に応じて座標系を設定することで、ＦＦＢＳ実行部１４がＦＦＢＳ処理を実行することにより、その物体の姿勢を考慮した動作を推定することができる。
【０２１１】
一方、例えば、引き出しの取っ手などのように、物体ごとに姿勢が固定的である場合、それぞれの物体に固有の座標系が存在することになる。即ち、図２４のＣに示すように、物体の姿勢が、長手方向が水平方向に向いて固定的である場合や、図２４のＤに示すように、物体の姿勢が、長手方向が水平方向に向いて固定的である場合など、物体に固有の座標系が存在する。
【０２１２】
このような場合であっても、図７の情報処理装置１１は、物体の固有の座標系を設定することで、ＦＦＢＳ実行部１４がＦＦＢＳ処理を実行することにより、それぞれの物体の姿勢を考慮した動作を推定することができる。
【０２１３】
＜複数のランドマークへの対応＞
環境中に複数の対象物が存在する場合、それぞれの対象物に参照点を設定してＦＦＢＳ処理を行うことによって、どの対象物を対象とした動作であるのかを推定することが可能となる。
【０２１４】
例えば、図２５に示すように、把持対象の物体（ランドマーク１）と、その物体の移動先となるテーブル（ランドマーク２）とが対象物として存在する例について説明する。このように物体とテーブルとの２つのランドマークがあるとき、物体に参照点を設定した動作の推定と、テーブルに参照点を設定した動作の推定との両方を行う。そして、それぞれの参照点で座標変換した軌道および姿勢の確率（一貫性）を基準として、確率の高い方の参照点を設定したランドマークを選択することで、動作の対象とした対象物を推定することができる。
【０２１５】
例えば、図２５のＡに示すように、把持対象の物体に近づく動作が行われたとき、物体に参照点を設定して求められた確率は、テーブルに参照点を設定して求められた確率よりも高くなり、物体を対象とした動作であると推定することができる。また、図２５のＢに示すように、物体を把持する動作が行われたとき、物体に参照点を設定して求められた確率は、テーブルに参照点を設定して求められた確率よりも高くなり、物体を対象とした動作であると推定することができる。また、図２５のＣに示すように、物体をテーブルに置く動作が行われたとき、テーブルに参照点を設定して求められた確率は、物体に参照点を設定して求められた確率よりも高くなり、テーブルを対象とした動作であると推定することができる。
【０２１６】
従って、図７の情報処理装置１１は、環境中に複数の対象物が存在する場合、ＦＦＢＳ実行部１４が、それぞれの対象物に参照点を設定してＦＦＢＳ処理を実行することにより、動作を推定するのと同時に、どの対象物が動作の対象であるかを推定することができる。
【０２１７】
ここで、図２６には、図２４を参照して説明したような物体姿勢の導入、および、図２５を参照して説明したような複数のランドマークへの対応の両方を実現することができるＦＦＢＳ処理および座標系変換処理のアルゴリズムが示されている。
【０２１８】
例えば、図２６の９行目から１２行目までの処理で、Ｌ個のランドマークに参照点を設定し、それぞれのランドマークについてＲ個の姿勢を設定して、それぞれのランドマークｌおよび姿勢ｒを候補とし、１５行目の処理で、それぞれの確率αを計算している。そして、２３行目の処理において、動作の対象となるランドマークと、そのランドマークの姿勢とが、サンプリングによって動作を推定するのと同時に推定される。
【０２１９】
即ち、図７の情報処理装置１１では、座標系変換部１２が、複数のランドマークに参照点を設定して座標変換を行い、ＦＦＢＳ実行部１４が、それぞれのランドマークを順次候補（ｌ＝１〜Ｌ）として、それぞれのランドマークに複数の姿勢の候補（ｒ＝１〜Ｒ）を適用して、確率α［ｔ］［ｋ］［ｃ］［ｌ］［ｒ］を求める。そして、ＦＦＢＳ実行部１４は、その確率α［ｔ］［ｋ］［ｃ］［ｌ］［ｒ］に従って、単位系列ｘｊおよびクラスｃを推定（特定）するのと同時に、動作の対象となっている所定のランドマークｌを推定（特定）し、そのランドマークの姿勢ｒを推定（特定）することができる。
【０２２０】
もちろん、図２６に示すＦＦＢＳ処理において用いるクラスの個数は、上述の図２０に示したＢＧＳ処理によって推定したものを用いることが可能である。即ち、情報処理装置１１は、クラス数の推定を行って、動作を推定するのと同時に、複数の物体の中から動作の対象となる対象物を推定するとともに、その物体の姿勢を考慮した動作を推定することができる。
【０２２１】
また、上述した手法は、様々な教師なし学習へ適用することができる。
【０２２２】
なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。また、プログラムは、１のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。
【０２２３】
また、上述した一連の処理（情報処理方法）は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラムが記録されたプログラム記録媒体からインストールされる。
【０２２４】
図２７は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０２２５】
コンピュータにおいて、CPU（Central Processing Unit）１０１，ROM（Read Only Memory）１０２，RAM（Random Access Memory）１０３は、バス１０４により相互に接続されている。
【０２２６】
バス１０４には、さらに、入出力インタフェース１０５が接続されている。入出力インタフェース１０５には、キーボード、マウス、マイクロホンなどよりなる入力部１０６、ディスプレイ、スピーカなどよりなる出力部１０７、ハードディスクや不揮発性のメモリなどよりなる記憶部１０８、ネットワークインタフェースなどよりなる通信部１０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア１１１を駆動するドライブ１１０が接続されている。
【０２２７】
以上のように構成されるコンピュータでは、CPU１０１が、例えば、記憶部１０８に記憶されているプログラムを、入出力インタフェース１０５及びバス１０４を介して、RAM１０３にロードして実行することにより、上述した一連の処理が行われる。
【０２２８】
コンピュータ（CPU１０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア１１１に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【０２２９】
そして、プログラムは、リムーバブルメディア１１１をドライブ１１０に装着することにより、入出力インタフェース１０５を介して、記憶部１０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部１０９で受信し、記憶部１０８にインストールすることができる。その他、プログラムは、ROM１０２や記憶部１０８に、あらかじめインストールしておくことができる。
【０２３０】
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０２３１】
１１  情報処理装置
１２  座標系変換部
１３  ＢＧＳ実行部
１４  ＦＦＢＳ実行部
１５  フォワードフィルタリング部
１６  バックワードサンプリング部
【図１】
2018047863.tif 000029
【図２】
2018047863.tif 000030
【図３】
2018047863.tif 000031
【図４】
2018047863.tif 000032
【図５】
2018047863.tif 000033
【図６】
2018047863.tif 000034
【図７】
2018047863.tif 000035
【図８】
2018047863.tif 000036
【図９】
2018047863.tif 000037
【図１０】
2018047863.tif 000038
【図１１】
2018047863.tif 000039
【図１２】
2018047863.tif 000040
【図１３】
2018047863.tif 000041
【図１４】
2018047863.tif 000042
【図１５】
2018047863.tif 000043
【図１６】
2018047863.tif 000044
【図１７】
2018047863.tif 000045
【図１８】
2018047863.tif 000046
【図１９】
2018047863.tif 000047
【図２０】
2018047863.tif 000048
【図２１】
2018047863.tif 000049
【図２２】
2018047863.tif 000050
【図２３】
2018047863.tif 000051
【図２４】
2018047863.tif 000052
【図２５】
2018047863.tif 000053
【図２６】
2018047863.tif 000054
【図２７】
2018047863.tif 000055
【国際調査報告】
2018047863.tif 000056
2018047863.tif 000057
2018047863.tif 000058
2018047863.tif 000059