(57)【要約】【課題】物体の操作に関する操作モデルとして、汎用性が高い操作モデルを提供する。【解決手段】例えば、エージェントのハンドによって操作される操作対象物体とハンド等が映る、実際に観測される画像である実画像を用いて、ハンドによる操作対象物体の操作に関する操作モデルの学習が行われる。操作モデルでは、操作対象物体を基準とする物体基準座標系の各位置において、ハンドの状態が変化したときの、ハンドの位置及び状態変化と、ハンドの状態変化によって生じる操作対象物体の状態変化とが対応付けられる。本技術は、例えば、エージェントのハンドによって、操作対象物体を操作する場合に適用できる。【選択図】図１２
2014081863.tif 000002
【特許請求の範囲】
【請求項１】
第１の物体と第２の物体とが映る、実際に観測される画像である実画像を用いて、前記第１の物体を基準とする物体基準座標系の各位置において、前記第２の物体の状態が変化したときの、前記第２の物体の位置及び状態変化と、前記第２の物体の状態変化によって生じる前記第１の物体の状態変化とを対応付ける、前記第２の物体による前記第１の物体の操作に関する操作モデルの学習を行う操作モデル学習部を備える
情報処理装置。
【請求項２】
前記操作モデルは、前記物体基準座標系の各位置について、その位置から、前記第２の物体の各状態変化が生じたときに、前記第１の物体の各状態変化が生じる頻度を表す頻度テーブルを含む
請求項１に記載の情報処理装置。
【請求項３】
前記操作モデル学習部は、
前記物体基準座標系の所定の位置において、前記第２の物体に、所定の状態変化が生じることによって、前記第１の物体に、他の所定の状態変化が生じた場合に、前記頻度テーブルの、前記所定の位置において生じた前記第２の物体の前記所定の状態変化によって、前記第１の物体に前記他の所定の状態変化が生じる頻度をインクリメントすることにより、前記操作モデルを更新する操作モデル更新部
を有する
請求項２に記載の情報処理装置。
【請求項４】
前記操作モデル学習部は、
現在時刻の実画像から、前記現在時刻の実画像に映る前記第１の物体を基準とする前記物体基準座標系である現在時刻の物体基準座標系を基準とする所定の範囲を切り出し、前記現在時刻の物体基準座標系の傾きが0になるように回転することにより得られる画像である現在時刻物体基準画像を生成する第１の物体基準画像生成部と、
前記現在時刻物体基準画像から、前記第２の物体を認識することにより、その第２の物体の位置と状態変化を、前記物体基準座標系での前記第２の物体の位置と状態変化として求める第１の認識部と、
前記現在時刻の実画像から、前記現在時刻の直前の時刻である前時刻の実画像に映る前記第１の物体を基準とする前記物体基準座標系である前時刻の物体基準座標系を基準とする所定の範囲を切り出し、前記前時刻の物体基準座標系の傾きが0になるように回転することにより得られる画像である前時刻物体基準画像を生成する第２の物体基準画像生成部と、
前記前時刻物体基準画像から、前記第１の物体を認識することにより、その第１の物体の状態を、前記物体基準座標系での前記第１の物体の状態変化として求める第２の認識部と
をさらに有し、
前記操作モデル更新部は、前記第１の認識部で求められる前記物体基準座標系での前記第２の物体の位置と状態変化、及び、前記第２の認識部で求められる前記物体基準座標系での前記第１の物体の状態変化に基づいて、前記操作モデルを更新する
請求項３に記載の情報処理装置。
【請求項５】
前記操作モデルを用いて、前記第１の物体の状態を所定の目標状態にするように、前記第１の物体を操作するための前記第２の物体のアクションを決定するアクション決定部をさらに備える
請求項３に記載の情報処理装置。
【請求項６】
前記アクション決定部は、前記操作モデルを用いて、前記第１の物体の状態が前記所定の目標状態になるために現在時刻に必要な前記第１の物体の状態の変化量である単位変化量だけの状態変化を前記第１の物体に生じさせる頻度が最も高い前記物体基準座標系上の前記第２の物体の位置と状態変化とを、前記第２の物体のアクションに決定する
請求項５に記載の情報処理装置。
【請求項７】
前記実画像を用いて、前記実画像の、前記第１の物体と前記第２の物体とのそれぞれに対応する前景の見えのモデルである前景見えモデル、及び、背景の見えのモデルである背景見えモデルの学習を行う見えモデル学習部をさらに備える
請求項３に記載の情報処理装置。
【請求項８】
前記見えモデル学習部は、
前記実画像を用いて、前記前景の状態を推定する前景状態推定部と、
前記前景の状態の推定結果を用いて、前記前景見えモデル、及び、前記背景見えモデルを更新する見えモデル更新部と
を有する
請求項７に記載の情報処理装置。
【請求項９】
前記背景見えモデルは、前記背景のテクスチャを表す背景テクスチャモデルを含み、
前記前景見えモデルは、前記前景のテクスチャを表す前景テクスチャモデルと、前記前景の形状を表す前景形状モデルとを含み、
前記前景の状態は、前記前景の位置、及び、前記位置が変化する速度、並びに、前記前景の姿勢、及び、前記姿勢が変化する速度を含む
請求項８に記載の情報処理装置。
【請求項１０】
前記背景見えモデル、及び、前記前景見えモデルは、パーティクルフィルタを用いたEMアルゴリズムに従って更新される
請求項９に記載の情報処理装置。
【請求項１１】
前記前景状態推定部は、前記前景の状態を表すパーティクルである状態パーティクルの重みと、前記状態パーティクルの遷移先とを算出する処理を、前記パーティクルフィルタを用いたEMアルゴリズムのEステップとして行う
請求項１０に記載の情報処理装置。
【請求項１２】
前記前景状態推定部は、
前記前景の状態が、前記状態パーティクルが表す状態である場合に、画像の観測値を生成する生成モデルにおいて観測される観測値の観測尤度に対応する値を、前記状態パーティクルの重みとして算出するとともに、
前記状態パーティクルが、前記状態パーティクルが表す前記前景の状態のうちの前記位置変化の速度、及び、前記姿勢変化の速度に従い、かつ、確率的に揺らぎながら遷移することとして、前記状態パーティクルの遷移先を算出し、
前記生成モデルでは、
前記前景見えモデルが表す画像上の点については、前記前景テクスチャモデルが表すテクスチャと、前記背景テクスチャモデルが表すテクスチャとを、前記前景形状モデルをα値としてαブレンディングし、
前記前景見えモデルが表す画像上の点以外の点については、前記背景テクスチャモデルが表すテクスチャを採用する
ことにより、前記生成モデルにおいて観測される前記画像の観測値が生成される
請求項１１に記載の情報処理装置。
【請求項１３】
前記見えモデル更新部は、
前記状態パーティクルが表す状態に従って、前記実画像から画像を切り出し、前記実画像から切り出した画像である切り出し画像を、前記状態パーティクルの重みに従って重み付け加算することにより、前記前景テクスチャモデルを更新する処理、
前記状態パーティクルが表す状態に従って、前記実画像から、前記状態に対応する前景を除去し、前記前景を除去した実画像を、前記状態パーティクルの重みに従って重み付け加算することにより、前記背景テクスチャモデルを更新する処理、
及び、前記前景テクスチャモデルが表すテクスチャの各画素が前景であることの尤度、及び、背景であることの尤度を求め、前記前景であることの尤度、及び、背景であることの尤度を用いて、前記前景テクスチャモデルが表すテクスチャの各画素が前景である確率を求めることにより、前記前景形状モデルを更新する処理
を、前記パーティクルフィルタを用いたEMアルゴリズムのMステップとして行う
請求項１１に記載の情報処理装置。
【請求項１４】
前記見えモデル更新部は、
前記切り出し画像を、前記状態パーティクルの重みに従って重み付け加算した重み付け加算値を、所定時間分だけ平均化することにより、前記前景テクスチャモデルを更新するとともに、
前記前景を除去した実画像を、前記状態パーティクルの重みに従って重み付け加算した重み付け加算値を、所定時間分だけ平均化することにより、前記背景テクスチャモデルを更新する
請求項１３に記載の情報処理装置。
【請求項１５】
第１の物体と第２の物体とが映る、実際に観測される画像である実画像を用いて、前記第１の物体を基準とする物体基準座標系の各位置において、前記第２の物体の状態が変化したときの、前記第２の物体の位置及び状態変化と、前記第２の物体の状態変化によって生じる前記第１の物体の状態変化とを対応付ける、前記第２の物体による前記第１の物体の操作に関する操作モデルの学習を行うステップを含む
情報処理方法。
【請求項１６】
第１の物体と第２の物体とが映る、実際に観測される画像である実画像を用いて、前記第１の物体を基準とする物体基準座標系の各位置において、前記第２の物体の状態が変化したときの、前記第２の物体の位置及び状態変化と、前記第２の物体の状態変化によって生じる前記第１の物体の状態変化とを対応付ける、前記第２の物体による前記第１の物体の操作に関する操作モデルの学習を行う操作モデル学習部
として、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、情報処理装置、情報処理方法、及び、プログラムに関し、特に、例えば、物体の操作に関する操作モデルとして、汎用性が高い操作モデルを提供することができるようにする情報処理装置、情報処理方法、及び、プログラムに関する。
【背景技術】
【０００２】
例えば、マニピュレータに、操作対象の物体を、自律的に操作させる場合には、物体を操作する環境での物体の運動を正確に再現するモデルが、物体の操作に関する操作モデルとして、あらかじめ作り込まれ、その操作モデルを用いて、マニピュレータの運動計画が、解析的にたてられる。
【０００３】
操作モデルとしては、例えば、物体の形状に関するデータや、剛体の動力学モデル等が、マニピュレータの設計者によって作り込まれる。
【０００４】
以上のように、操作モデルを、あらかじめ作り込む場合には、操作モデルに想定されていない物体の形状の変化や摩擦の変化等の外乱等の、物体を操作する環境の変化が生じると、その変化後の環境と操作モデルとの間に、齟齬が生じ（一貫性が失われ）、物体の正確な操作（期待している操作）が困難になる。
【０００５】
そこで、物体の形状に関するデータや、剛体の動力学モデル等を、あらかじめ仮定せずに、環境中での物体の操作の経験を基に、学習によって、物体の操作をすることができるようになるための学習型の操作モデルが提案されている（例えば、非特許文献１）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】K. Kawamoto, K. Noda, T. Hasuo, and K. Sabe, “Development of object manipulation through self-exploratory visuomotor experience,” in Proceedings of the IEEE International Conference on Development and Learning (ICDL 2011), 2011.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
非特許文献１では、環境中の物体の絶対的な位置及び姿勢（マニピュレータにおいて観測される画像の背景としての環境における、前景としての物体の位置及び姿勢）に依存して、操作モデルの学習が行われる。そのため、物体が、未経験の場所（例えば、マニピュレータが移動したことがない場所）に置かれた場合には、マニピュレータでは、物体が置かれた状態が、未学習の状態と判断され、物体を正確に操作するアクションを行うことが困難であることがある。
【０００８】
物体が、環境中のどの場所に、どのような姿勢で置かれても、その物体を正確に操作することができるように、操作モデルを学習する方法としては、環境中を万遍なく物体が移動した経験を、学習データとして準備し、その学習データすべてを用いて、操作モデルの学習を行う方法がある。
【０００９】
しかしながら、この方法では、経験としての学習データの準備（アクションの試行）、及び、その学習データを用いた操作モデルの学習の完了に、膨大な時間を要する。
【００１０】
したがって、物体が、経験済みの場所に置かれた場合だけでなく、物体が、未経験の場所に置かれた場合であっても、物体を正確に操作することができる、いわば汎用性が高い操作モデルの提案が要請されている。
【００１１】
本技術は、このような状況に鑑みてなされたものであり、物体の操作に関する操作モデルとして、汎用性が高い操作モデルを提供することができるようにするものである。
【課題を解決するための手段】
【００１２】
本技術の一側面の情報処理装置、又は、プログラムは、第１の物体と第２の物体とが映る、実際に観測される画像である実画像を用いて、前記第１の物体を基準とする物体基準座標系の各位置において、前記第２の物体の状態が変化したときの、前記第２の物体の位置及び状態変化と、前記第２の物体の状態変化によって生じる前記第１の物体の状態変化とを対応付ける、前記第２の物体による前記第１の物体の操作に関する操作モデルの学習を行う操作モデル学習部を備える情報処理装置、又は、情報処理装置として、コンピュータを機能させるためのプログラムである。
【００１３】
本技術の一側面の情報処理方法は、第１の物体と第２の物体とが映る、実際に観測される画像である実画像を用いて、前記第１の物体を基準とする物体基準座標系の各位置において、前記第２の物体の状態が変化したときの、前記第２の物体の位置及び状態変化と、前記第２の物体の状態変化によって生じる前記第１の物体の状態変化とを対応付ける、前記第２の物体による前記第１の物体の操作に関する操作モデルの学習を行うステップを含む情報処理方法である。
【００１４】
以上のような一側面においては、第１の物体と第２の物体とが映る、実際に観測される画像である実画像を用いて、前記第１の物体を基準とする物体基準座標系の各位置において、前記第２の物体の状態が変化したときの、前記第２の物体の位置及び状態変化と、前記第２の物体の状態変化によって生じる前記第１の物体の状態変化とを対応付ける、前記第２の物体による前記第１の物体の操作に関する操作モデルの学習が行われる。
【００１５】
なお、情報処理装置は、独立した装置であっても良いし、１つの装置を構成している内部ブロックであっても良い。
【００１６】
また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
【発明の効果】
【００１７】
本技術の一側面によれば、物体の操作に関する操作モデルとして、汎用性が高い操作モデルを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本技術の概要を説明する図である。
【図２】本技術が適用される環境の例を説明する図である。
【図３】前景モデル#i、及び、背景モデル、並びに、前景モデル#i、及び、背景モデルを用いて生成される観測画像xtの例を示す図である。
【図４】前景#iの状態zitを説明する図である。
【図５】前景モデル#i、及び、背景モデルを用いて、観測画像を生成する生成モデルのグラフィカルモデルの例を示す図である。
【図６】EMアルゴリズムを説明するフローチャートである。
【図７】モデルθのグラフィカルモデルの例を示す図である。
【図８】パーティクルフィルタを説明する図である。
【図９】前景モデル#i、及び、背景モデルを用いて、観測画像を生成する生成モデルθの実装の例を示す図である。
【図１０】パーティクルの重みwi(l)tを用いた前景テクスチャモデルτiの更新を説明する図である。
【図１１】背景テクスチャモデルτwの更新を説明する図である。
【図１２】エージェントが、ハンド（マニピュレータ）によって、操作対象物体を操作する物体操作の環境設定の概要を説明する図である。
【図１３】物体基準座標系を説明する図である。
【図１４】時刻tの操作対象物体の物体基準座標系O''上のハンドの状態及びアクションを説明する図である。
【図１５】エージェントが、ハンドによって、操作対象物体を操作する物体操作の環境設定の詳細を説明する図である。
【図１６】物体基準画像の生成を説明する図である。
【図１７】物体基準座標系O''上のハンドの状態、及び、体基準座標系O''上の操作対象物体の状態変化を求める求め方を説明する図である。
【図１８】物体基準座標系O''でのハンドの位置smt''と位置変化△smt''、及び、物体基準座標系O''での操作対象物体の位置変化△sot''と姿勢変化△qot''それぞれどうしの関係を示すグラフィカルモデルである。
【図１９】位置テーブルを示す図である。
【図２０】頻度テーブルを示す図である。
【図２１】本技術を適用したエージェントの一実施の形態の構成例を示すブロック図である。
【図２２】見えモデル学習部１３の構成例を示すブロック図である。
【図２３】操作モデル学習部１５の構成例を示すブロック図である。
【図２４】エージェントの処理を説明するフローチャートである。
【図２５】ステップＳ１２で行われる見えモデルの学習処理を説明するフローチャートである。
【図２６】ステップＳ１３で行われる操作モデルの学習処理を説明するフローチャートである。
【図２７】ステップＳ１４で行われるアクションの出力処理を説明するフローチャートである。
【図２８】見えモデルの学習処理、及び、操作モデルの学習処理のシミュレーションの結果を、模式的に示す図である。
【図２９】操作モデルを用いたアクションの出力処理のシミュレーションの結果を、模式的に示す図である。
【図３０】操作モデルを用いたアクションの出力処理のシミュレーションの他の結果を示す図である。
【図３１】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【００１９】
［第0章  本技術の概要］
【００２０】
図１は、本技術の概要を説明する図である。
【００２１】
本技術は、例えば、図１に示すように、環境中の操作対象の物体（操作対象物体）（第１の物体）を操作するのに制御される制御対象の物体（制御対象物体）（第２の物体）としてのハンド（マニピュレータ）等と、環境を観測（撮影）することが可能なカメラ等とを具備したロボット等の、アクション可能なエージェントによって、実環境下での物体（操作対象物体）の操作を実現する際に必要な、物体の操作に関する操作モデルを、カメラで観測される画像から学習し、その操作モデルを用いて、物体の操作を行うための技術である。
【００２２】
すなわち、本技術では、エージェントにおいて実際に観測される実画像から、操作モデルの学習が行われる。そして、その操作モデルを用いて、ハンド（制御対象物体）のアクションが行われ、そのハンドのアクションによって、環境中の物体（操作対象物体）が操作される。
【００２３】
したがって、本技術では、操作モデルは、実画像を用いた学習によって獲得されるので、操作モデルとして、操作対象物体の形状に関する知識や剛体の動力学モデル等を、あらかじめ作り込む必要がなく、学習によって任意形状の操作対象物体の操作を行うことが可能となる。
【００２４】
また、本技術の操作モデルは、ハンド（制御対象物体）の動きと、そのハンドの動きによって生じる物体（操作対象物体）の動きとを確率的に対応付けるモデルであり、ハンドの動き（状態変化）と物体の動き（状態変化）との確率的な関係のみに着目して得ることができる。
【００２５】
さらに、本技術の操作モデルは、ハンドの動きに対して生じる物体の動きを予測することができる予測モデル（順モデル）、及び、目標とする物体の動きを生じさせるために必要なハンドの動きを導出することができる制御モデル（逆モデル）のいずれとしても利用することができる。
【００２６】
また、本技術の操作モデルは、追加学習が可能な追加学習型の操作モデルでもあり、追加学習によって、環境の変化に適応することができる。
【００２７】
本技術の操作モデルの学習では、操作対象物体の環境中の絶対的な位置や姿勢によらずに用いることができる、いわば汎用性が高い操作モデルを獲得するため、すなわち、操作モデルの汎用性を実現するため、操作対象物体を基準とする物体基準座標系で表される物体の位置や姿勢が、操作モデルの学習の学習データとして用いられる。
【００２８】
本技術では、物体基準座標系で表される物体の位置や姿勢を用いて、操作モデルの学習が行われることにより、環境中の物体の絶対的な位置及び姿勢に依存して、学習が行われる場合に比較して、より少ない経験で、物体を正確に操作することが可能な操作モデルを得ることができる。
【００２９】
なお、操作モデルの学習に用いられる画像（実画像）は、エージェントにおいて実際に観測することができる実画像であればよく、例えば、ビデオカメラで撮影した動画や、コンピュータゲームの画面をキャプチャした動画等を採用することができる。
【００３０】
また、本実施の形態では、後述するように、エージェントにおいて観測される実画像から、物体やハンドに対応する前景（物体やハンドが映っている部分）の見えのモデルである前景見えモデルの学習を行い、その前景見えモデルを用いて、実画像から、物体やハンドを認識するが（実画像に映る物体やハンドを認識するが）、本技術の操作モデルの学習にあたっては、前景見えモデルの学習は、必須ではない。
【００３１】
すなわち、本技術の操作モデルの学習にあたって、何らかの方法で、実画像上の物体やハンドを認識し、その位置（重心の位置等）及び姿勢を把握することができるのであれば、前景見えモデルの学習（、及び、後述する背景見えモデルの学習）は、行う必要はない。
【００３２】
［第1章  環境設定］
【００３３】
図２は、本技術が適用される環境の例を説明する図である。
【００３４】
図２では、２次元平面としての環境に、Ｌ字型の物体と、エージェントのハンド（マニピュレータ）とが置かれている。
【００３５】
エージェントのハンドは、腕に相当するアームの先端に取り付けられており、エージェントが、アームを動かすことによって、そのアームの先端に取り付けられたハンドも動く。したがって、ハンドは、エージェントが自律的に動かすことができる。
【００３６】
一方、Ｌ字型の物体は、自律的に動くことはなく、ハンド等の外部から力が加えられたときに、その加えられた力に従って動く。
【００３７】
本実施の形態では、Ｌ字型の物体が、操作対象物体であり、ハンド（マニピュレータ）が、制御対象物体である。
【００３８】
エージェントでは、カメラによって環境が撮影され、背景として、環境が映り、その背景に重なる前景として、位置や姿勢を変化させながら動くＬ字型の物体、及び、ハンドが映った画像が観測される。
【００３９】
なお、図２では、２次元の環境を図示してあるが、本技術は、３次元の環境にも適用することができる。
【００４０】
また、図２では、エージェントにおいて観測される画像には、Ｌ字型の物体に対応する前景と、ハンドに対応する前景との２つの前景が存在するが、画像に存在する前景は、１つであってもよいし、３つ以上であってもよい。
【００４１】
本技術では、画像に存在する前景のうちのi番目の前景#iについて、時刻tでの重心（慣性質量の重心）の位置や姿勢等の状態をzitと、移動等のために時刻tに前景が行ったアクション、又は、前景に加えられたアクションをuitと、それぞれ表す。
【００４２】
また、画像の背景を表すモデルを、背景モデルというとともに、画像の前景#iを表すモデルを、前景モデル#iともいう。
【００４３】
前景モデル#iは、前景#iの見えのモデルである前景見えモデルμiを含む。
【００４４】
前景見えモデルμiは、前景#iのテクスチャを表す前景テクスチャモデルτiと、前景#iの形状を表す前景形状モデルσiとを含み、式（１）で表現される。
【００４５】
【数１】
2014081863.tif 000003
・・・（１）
【００４６】
背景モデルは、背景の見えのモデルである背景見えモデルμwを含む。
【００４７】
背景見えモデルμwは、背景全体のテクスチャを表す背景テクスチャモデルτwを含み、式（２）で表現される。
【００４８】
【数２】
2014081863.tif 000004
・・・（２）
【００４９】
本技術では、画像の観測値を生成する生成モデルが、以上のような前景モデル#i、及び、背景モデルを含み、各時刻tの画像の観測値（以下、観測画像ともいう）xtを生成する。
【００５０】
図３は、前景モデル#i、及び、背景モデル、並びに、前景モデル#i、及び、背景モデルを含む生成モデルにおいて生成（観測）される観測画像xtの例を示す図である。
【００５１】
前景モデル#iにおいて、前景見えモデルμiの前景テクスチャモデルτiと前景形状モデルσiとは、例えば、同一のサイズの画像であり、そのサイズとしては、前景のサイズとして想定される最大のサイズを採用することができる。
【００５２】
前景テクスチャモデルτiとしての画像は、前景#iのテクスチャとしての値（例えば、RGB等）を、各画素（ピクセル、ボクセル）の画素値として有する。
【００５３】
前景形状モデルσiとしての画像は、例えば、0ないし1の範囲の連続値を、各画素の画素値として有する。前景形状モデルσiの各画素の画素値は、その画素が、前景（が映っている画素）である確率を表す。
【００５４】
いま、同一位置の画素の画素値どうしの積を、*で表すこととすると、前景見えモデルμiに含まれる前景テクスチャモデルτiと、前景形状モデルσiとの同一位置の画素の画素値どうしの積τi*σiによって、前景#iの見えが表現される。
【００５５】
前景見えモデルμiが、背景見えモデルμwに重畳されて、観測画像xtが生成される。図３では、２つの前景見えモデルμ1及びμ2が、背景見えモデルμw＝τwに重畳され、観測画像xtが生成されている。
【００５６】
図４は、前景#iの状態zitを説明する図である。
【００５７】
前景#iの状態zitの表現については、環境（背景）における前景#iの、いわば絶対的な状態を表現するための座標系としての世界座標系Oと、世界座標系O上での前景#iの状態によらず、前景モデル（前景見えモデル）における前景の状態を表現するための座標系としてのローカル座標系O'が定義される。ローカル座標系O'は、前景モデル#iごとに、かつ、時刻tごとに定義される。
【００５８】
世界座標系Oとしては、例えば、背景見えモデルμw＝τwの上から下方向を１つの軸としてのx軸とし、左から右方向を他の１つの軸としてのy軸とするとともに、背景見えモデルμw＝τwの左上の点を原点とする２次元座標系を採用することができる。
【００５９】
ローカル座標系O'としては、例えば、前景見えモデルμ（前景テクスチャモデルτi、前景形状モデルσi）の上から下方向を１つの軸としてのx1軸とし、左から右方向を他の１つの軸としてのy1軸とするとともに、前景見えモデルμの左上の点を原点とする２次元座標系を採用することができる。
【００６０】
なお、生成モデルにおいて、前景見えモデルμiを、そのままの姿勢で（回転せずに）、背景見えモデルμwに重畳した場合、ローカル座標系O'のx'軸は、世界座標系Oのx軸と平行になり、かつ、ローカル座標系O'のy'軸は、世界座標系Oのy軸と平行になる。図４において、点線の２次元座標系は、前景見えモデルμiを、そのままの姿勢で、背景見えモデルμwに重畳した場合のローカル座標系O'を表している。
【００６１】
前景#iの状態zitは、例えば、時刻tの前景#i（前景見えモデルμi）の質量重心の世界座標系O上の位置sit、位置sitが変化する速度（位置sitの微分）s・it、前景#iの姿勢qit、姿勢qitが変化する速度（姿勢qitの微分）q・itを含み、式（３）で表現される。
【００６２】
【数３】
2014081863.tif 000005
・・・（３）
【００６３】
ここで、前景#iの姿勢qitとしては、例えば、世界座標系Oの軸x(y)に対して、ローカル座標系O'の軸x'(y')がなす角度（回転角）を採用することができる。
【００６４】
前景#iのローカル座標系O'は、背景見えモデルμwに前景見えモデルμiが重畳される前景#iの姿勢qitだけ傾く。また、前景#iのローカル座標系O'上では、その前景#i（前景見えモデルμi）は動かない。したがって、前景#iのローカル座標系O'上では、その前景#iの重心（質量重心）の位置sic'は、固定であり、姿勢も、固定である。
【００６５】
なお、時刻tに生成モデルにおいて観測される観測値（観測画像）xtは、時刻tに存在する前景すべての前景見えモデルμiを、背景見えモデルμw＝τwに重畳して得られる画像（観測画像）λtを用い、式（４）で定義する。
【００６６】
【数４】
2014081863.tif 000006
・・・（４）
【００６７】
［第2章  前景モデル、及び、背景モデルの学習］
【００６８】
［第2.1節  生成モデルのフレームワーク］
【００６９】
図５は、観測画像を生成する生成モデルのグラフィカルモデルの例を示す図である。
【００７０】
図５は、２つの前景#1及び#2が存在する画像の生成モデルのグラフィカルモデルを示している。
【００７１】
図５の生成モデルによれば、前景#1の時刻tの状態z1tが、直前の時刻t-1の状態z1t-1を元に決定される。
【００７２】
同様に、前景#2の時刻tの状態z2tが、直前の時刻t-1の状態z2t-1を元に決定される。
【００７３】
そして、生成モデルでは、前景見えモデルμ1（としての画像）が、前景#1の時刻tの状態z1tに従って、背景見えモデルμw（としての画像）に重畳され、前景として、前景#1のみが存在する観測画像xtが生成される。さらに、生成モデルでは、前景見えモデルμ2（としての画像）が、前景#2の時刻tの状態z2tに従って、直前に前景が重畳された観測画像xt、すなわち、ここでは、前景として、前景#1のみが存在する観測画像xtに重畳されることで、前景として、２つの前景#1及び#2が存在する観測画像xtが、時刻tに観測される観測画像xtとして生成される。図５では、前景として、２つの前景#1及び#2しか存在しないが、３つ以上の前景が存在する場合には、生成モデルでは、以下同様にして、その３つ以上の前景が存在する観測画像xtが、時刻tに観測される観測画像xtとして生成される。
【００７４】
図５において、関数f()は、前景見えモデルμ1、前景#1の時刻tの状態z1t、前景見えモデルμ2、前景#2の時刻tの状態z2t、及び、背景見えモデルμwを用いて、観測画像xtを生成する関数であり、生成モデルを表す。
【００７５】
ここで、生成モデルにおいて生成される時刻tの観測画像xtは、確率変数（観測値の期待値）であり、観測画像xtの尤度は、実際に観測される画像の観測値x~tとの比較によって求めることができる。
【００７６】
前景見えモデルμi、背景見えモデルμw、及び、前景#iの状態ziは、画像の観測値を生成する生成モデルのパラメータである。また、前景#iの状態ziは、時々刻々変化する潜在変数であり、前景見えモデルμi、及び、背景見えモデルμwは、時刻によらない恒久的なパラメータ（モデルパラメータ）である。
【００７７】
なお、前景の総数をNで表すこととする。図５では、前景の総数Nを、2としてあるが、前景の総数Nとしては、1や3以上の値を採用することができる。
【００７８】
生成モデルにおいて生成される観測画像xtは、潜在変数としての前景#iの状態zit、並びに、モデルパラメータとしての前景見えモデルμit、及び、背景見えモデルμwによって決定される。したがって、観測画像xtは、生成モデルとしての関数f()を用いた式（５）で表現することができる。
【００７９】
【数５】
2014081863.tif 000007
・・・（５）
【００８０】
［第2.2節  EMアルゴリズム］
【００８１】
図６は、EMアルゴリズムを説明するフローチャートである。
【００８２】
図５に示した生成モデルのような、潜在変数（zit）を有するモデルについて、実際に観測される観測値を用いて、モデルパラメータの最尤解を求める方法としては、例えば、EM(Expectation-Maximization)アルゴリズムがある。
【００８３】
いま、すべての観測値の集合をXと、潜在（隠れ）変数の集合をZと、それぞれ表すこととする。
【００８４】
観測値Xは観測することができるが、潜在変数Zは観測することができない。かかる観測値Xと潜在変数Zの集合{X,Z}は、完全データと呼ばれ、観測値Xは、不完全データと呼ばれる。
【００８５】
完全データ{X,Z}が、確率分布であるモデルによってモデル化することができることとし、そのモデル（のモデルパラメータ）を、 θと表すこととする。
【００８６】
モデルθにおいて、観測値Xが観測される対数尤度ln（p(X|θ))は、モデルθにおいて、完全データ{X,Z}が観測される尤度p(X,Z|θ)を、潜在変数Zで周辺化し、対数をとることにより求めることができ、式（６）で表される。
【００８７】
【数６】
2014081863.tif 000008
・・・（６）
【００８８】
ここで、lnは、自然対数を表す。
【００８９】
また、以降において、潜在変数Zについての総和（Σ）を、積分に置き換えることで、潜在変数Zが連続値である場合についても、同一の議論が成立する。
【００９０】
観測することができるのは、不完全データXだけであり、完全データ{X,Z}のすべてを観測することはできない。したがって、完全データ{X,Z}の尤度（関数）p(X,Z|θ)を用いることはできないため、EMアルゴリズムでは、代わりに、潜在変数Zに関する事後確率の期待値を考える。
【００９１】
潜在変数Zに関する事後確率の期待値を考えるプロセスが、EMアルゴリズムのEステップである。
【００９２】
EMアルゴリズムでは、モデルθにおいて、観測値Xが観測されたときの、潜在変数Zの事後分布p(Z|X,θ)の計算に、現在のモデルパラメータθoldが用いられ、この事後分布p(Z|X,θold)が、任意のモデルパラメータθにおいて、完全データ{X,Z}が観測される対数尤度（以下、完全データ対数尤度ともいう）ln(p(X,Z|θ))の期待値Q(θ，θold)の計算に用いられる。
【００９３】
したがって、期待値Q(θ，θold)は、式（７）で表される。
【００９４】
【数７】
2014081863.tif 000009
・・・（７）
【００９５】
式（７）では、完全データ対数尤度ln(p(X,Z|θ))の期待値Q(θ，θold)が、完全データ対数尤度ln(p(X,Z|θ))の確率分布として、事後分布p(Z|X,θold)を用いて計算される。
【００９６】
EMアルゴリズムでは、Eステップで、以上のようにして、期待値Q(θ，θold)が求められた後、Mステップにおいて、式（８）に従い、期待値Q(θ，θold)を最大化するように、モデルパラメータθが、現在のモデルパラメータθoldから新しいモデルパラメータθnewに更新される。
【００９７】
【数８】
2014081863.tif 000010
・・・（８）
【００９８】
ここで、式（８）argmaxは、Q(θ，θold)を最大にするモデルパラメータθを表す。
【００９９】
なお、最初のEステップが行われる前に、モデルパラメータθ＝θoldは、例えば、乱数等によって適当な値に初期化される。
【０１００】
図６を参照して、EMアルゴリズムについて、さらに説明する。
【０１０１】
EMアルゴリズムでは、ステップＳ１１において、モデルパラメータθが、適当な初期値θoldに初期化され、処理は、ステップＳ１２に進む。
【０１０２】
ステップＳ１２では、Eステップの処理が行われ、処理は、ステップＳ１３に進む。すなわち、ステップＳ１２では、不完全データXを用いて、事後分布p(Z|X,θold)が求められる。
【０１０３】
ステップＳ１３では、Mステップの処理が行われ、処理は、ステップＳ１４に進む。すなわち、ステップＳ１３では、事後分布p(Z|X,θold)を用いて求められる、完全データ対数尤度ln(p(X,Z|θ))の期待値Q(θ，θold)を最大化するように、新たなモデルパラメータθnewが求められる。
【０１０４】
ステップＳ１４では、EMアルゴリズムを終了する所定の収束条件が満たされているかどうかが判定される。
【０１０５】
ここで、EMアルゴリズムを終了する収束条件としては、例えば、Eステップ及びMステップを、所定回数だけ繰り返したことや、新たなモデルパラメータθnewが、直前のモデルパラメータθoldからほとんど変化しなくなったこと、新たなモデルパラメータθnewにおいて観測される観測値Xの尤度が、直前のモデルパラメータθoldにおいて観測される観測値Xの尤度からほとんど変化しなくなったこと等を採用することができる。
【０１０６】
ステップＳ１４において、収束条件が満たされていないと判定された場合、処理は、ステップＳ１５に進み、モデルパラメータθが、現在のモデルパラメータθoldから新しいモデルパラメータθnewに更新される。
【０１０７】
そして、処理は、ステップＳ１５からステップＳ１２に戻り、以下、同様の処理が繰り返される。
【０１０８】
また、ステップＳ１４において、収束条件が満たされていると判定された場合、処理は終了する。
【０１０９】
［第2.3節  パーティクルフィルタによる近似］
【０１１０】
図７は、完全データ{X,Z}を表現するモデルθのグラフィカルモデルの例を示す図である。
【０１１１】
図７では、観測値Xの系列x1,x2,・・・,xt+1が、潜在変数Zの連鎖z1,z2,・・・,zt+1で表され、各観測値xtは、対応する潜在変数ztの値（状態）によって条件付けられている。
【０１１２】
モデルθが、EMアルゴリズムのEステップを解析的に計算することが困難なモデルである場合には、数値的サンプリング（モンテカルロサンプリング）に基づく近似推論法を用いてEステップを計算することができる。
【０１１３】
モンテカルロサンプリングについては、例えば、C.M. ビショップ, パターン認識と機械学習 下 ベイズ理論による統計的予測, シュプリンガー・ジャパン, 2008, pp.364-365や、Michael Isard and Andrew Blake, CONDENSATION - conditional density propagation for visual tracking, Int. J. Computer Vision, 29, 1, 5-28, 1998等に記載されている。
【０１１４】
潜在変数Zが連続値である場合の、完全データ対数尤度ln(p(X,Z|θ))の期待値Q(θ，θold)は、式（７）のサメーション（Σ）を積分に置き換えた式（９）で表される。
【０１１５】
【数９】
2014081863.tif 000011
・・・（９）
【０１１６】
式（９）の期待値Q(θ，θold)は、サンプリング法を用い、現在の事後分布p(Z|X,θold)からサンプリングされた潜在変数ZのL個のサンプルZ(l)（l＝1,2,・・・,L）の有限和によって、式（１０）に示すように近似することができる。
【０１１７】
【数１０】
2014081863.tif 000012
・・・（１０）
【０１１８】
式（１０）に従って求められる期待値Q(θ，θold)については、通常のMステップで最適化することができる（期待値Q(θ，θold)を最大化するモデルパラメータθ＝θnewを求めることができる）。
【０１１９】
以上のように、式（１０）に従って求められる期待値Q(θ，θold)を最大化するモデルパラメータθ＝θnewを求めるEMアルゴリズムは、モンテカルロEMアルゴリズムと呼ばれる。
【０１２０】
一方、観測値Xの系列x1,x2,・・・,xtに対して、逐次的にサンプリングを行う手法として、パーティクルフィルタと呼ばれる逐次モンテカルロアルゴリズムがある。
【０１２１】
図８は、パーティクルフィルタを説明する図である。
【０１２２】
パーティクルフィルタでは、例えば、図７で示されるグラフィカルモデルで表現されるモデルθにおいて、時刻t-1までに、観測値Xの系列Xt-1＝{x1,x2,・・・,xt-1}が観測され、時刻tに、状態ztにいる（状態ztになっている）事後分布p(zt|Xt-1)から、L個の状態z(l)t（z(1)t,z(2)t,・・・,z(L)t）がサンプリングされる。このサンプリングされたサンプル（ここでは、状態z(l)t）が、パーティクルと呼ばれる。
【０１２３】
時刻tの状態ztにおいて、図５及び式（５）の生成モデルとしての関数f()に従って観測される観測値xt＝f(zt)の期待値E[f(zt)]は、状態ztのパーティクル（状態パーティクル）z(l)tを用いて、式（１１）で近似することができる。
【０１２４】
【数１１】
2014081863.tif 000013
・・・（１１）
【０１２５】
ここで、w(l)tは、パーティクルz(l)tの重みを表す。重みw(l)tは、（パーティクルとしての）状態z(l)tにおいて、観測値xtが観測される（観測）尤度p(xt|z(l)t)に対応する値であり、式（１２）で定義される。
【０１２６】
【数１２】
2014081863.tif 000014
・・・（１２）
【０１２７】
なお、重みw(l)tは、式0≦w(l)t≦1で表される範囲内の値であり、式w(1)t＋w(2)t＋・・・＋w(L)t＝1を満たす。
【０１２８】
いま、時刻tに、L個のパーティクルz(1)tないしz(L)tと、重みw(1)tないしw(L)tとが得られている場合において、時刻t+1に、観測値xt+1を観測したとき、時刻tまでに、観測値の系列Xt＝{x1,x2,・・・,xt}が観測され、時刻t+1に、状態zt+1にいる事後分布p(zt+1|Xt)は、時刻tに状態z(l)tにいて、時刻t+1に状態zt+1に遷移する遷移確率p(zt+1|z(l)t)と、パーティクルz(l)tの重みw(l)tとを用い、式（１３）で求めることができる。
【０１２９】
【数１３】
2014081863.tif 000015
・・・（１３）
【０１３０】
式（１３）の事後分布p(zt+1|Xt)は、重みw(l)tを、混合係数とする混合分布であり、パーティクルフィルタでは、混合係数としての重みw(l)tに対応する確率で、パーティクルz(l)tを選択するリサンプリングが行われる。
【０１３１】
図８を参照して、パーティクルフィルタについて、さらに説明する。
【０１３２】
パーティクルフィルタでは、時刻t-1までに、観測値Xの系列Xt-1＝{x1,x2,・・・,xt-1}が観測され、時刻tに、状態ztにいる事後分布p(zt|Xt-1)が、L個のパーティクルz(1)t-1ないしz(L)t-1、及び、重みz(1)t-1ないしz(L)t-1によってサンプル表現される。
【０１３３】
ここで、図８では、パーティクルz(l)tの個数Lが、5個になっている。
【０１３４】
パーティクルフィルタでは、次の時刻tのサンプル表現を求めるために、式（１３）の混合分布（事後分布）p(zt|Xt-1)の遷移確率p(zt|z(l)t-1)に基づき、時刻t-1のL個のパーティクルz(1)t-1ないしz(L)t-1の次の時刻tの遷移先を算出すること、すなわち、次の時刻tのL個のパーティクルz(1)tないしz(L)tを予測（生成）することが行われる。
【０１３５】
ここで、図８において、丸印は、パーティクルを表している。また、パーティクルを表す丸印の中の数字は、そのパーティクルとしての状態z(l)tの値（図８では、図が煩雑になるのを避けるため、状態z(l)tの値をスカラ値にしてある）の例を示している。
【０１３６】
図８では、例えば、時刻t-1のパーティクルとしての状態z(5)t-1を表す丸印の数字は、5.0になっているが、その時刻t-1のパーティクルとしての状態z(5)t-1から、遷移確率p(zt|z(5)t-1)に基づいて予測された時刻tのパーティクルとしての状態z(5)tを表す丸印の数字は、5.4になっている。
【０１３７】
次の時刻tのL個のパーティクルz(1)tないしz(L)tが予測された後、パーティクルフィルタでは、時刻tの観測値xtを用い、パーティクルz(l)tにおいて、観測値xtが観測される観測尤度p(xt|z(l)t)が計算される。
【０１３８】
さらに、パーティクルフィルタでは、観測尤度p(xt|z(l)t)を用い、式（１２）に従って、パーティクルz(l)tの重みw(l)tが求められる。図８では、パーティクルz(l)tを表す丸印が、その重みw(l)tの値に相当する大きさで、図示されている。
【０１３９】
その後、パーティクルフィルタでは、重みw(l)tに対応する確率で、パーティクルz(l)tがリサンプリングされる。
【０１４０】
そして、パーティクルフィルタでは、そのリサンプリングされたパーティクルz(l)tを、重みw(l)tとともに、時刻tまでに観測値Xの系列Xt＝{x1,x2,・・・,xt}が観測され、時刻t+1に状態zt+1にいる事後分布p(zt+1|Xt)のサンプル表現として用いて、同様の処理が繰り返される。
【０１４１】
なお、リサンプリングでは、重みw(l)tに対応する確率で、パーティクルz(l)tがサンプリングされるので、重みw(l)tが小さいために、一度もサンプリングされないパーティクルz(l)tは消滅する。
【０１４２】
また、リサンプリングでは、重みw(l)tが大きいパーティクルz(l)tは、複数回、サンプリングされることがあるが、その場合、パーティクルz(l)tと同一の値（状態）のパーティクルが、サンプリングの回数と同一の個数だけ複製される。
【０１４３】
以上のように、リサンプリングでは、パーティクルz(l)tと同一の値Vの複数のパーティクルが生じることがあるが、その複数のパーティクルそれぞれの値は、式（１３）の遷移確率p(zt+1|z(l)t)に基づいて、次の時刻tのパーティクルの予測（遷移先の算出）が行われるときに、同一の値Vの周辺に散らばって、異なる値となる。
【０１４４】
ここで、重みw(l)tに対応する確率で、パーティクルz(l)tをサンプリングするリサンプリングの方法としては、例えば、ルーレット法や、等間隔サンプリングと呼ばれる方法等がある。
【０１４５】
ルーレット法では、0ないし1の範囲がL個の区分に区切られ、各区分が、L個の重みw(1)t,w(2)t,・・・,w(L)tに、順番に割り当てられる。重みw(l)tに割り当てられる区分の幅は、重みw(l)tの大きさに比例する幅とされる。
【０１４６】
そして、ルーレット法では、0ないし1の範囲内の値を、乱数によってサンプリングし、そのサンプリングされた値を含む区分が割り当てられている重みw(l)tに対応するパーティクルを複製することが、サンプリングの回数がパーティクルの総数Lと同一になるまで繰り返される。
【０１４７】
等間隔サンプリングでは、ルーレット法と同様に、0ないし1の範囲が、重みw(l)tの大きさに比例する幅のL個の区分に区切られ、各区分が、L個の重みw(1)t,w(2)t,・・・,w(L)tに割り当てられる。
【０１４８】
そして、等間隔サンプリングでは、0ないし1の範囲内の値が、乱数によってサンプリングされ、そのサンプリングされた値を含む区分が割り当てられている重みw(l)tに対応するパーティクルが複製される。
【０１４９】
その後、等間隔サンプリングでは、0ないし1の範囲内の値のうちの、直前にサンプリングされた値に所定の値を加算した値をサンプリングし、そのサンプリングされた値を含む区分が割り当てられている重みw(l)tに対応するパーティクルを複製することが、サンプリングの回数がパーティクルの総数Lと同一になるまで繰り返される。
【０１５０】
なお、直前にサンプリングされた値に所定の値を加算した値が、1を超える場合には、その値の小数点以下の値がサンプリングされる。
【０１５１】
ルーレット法では、L個の乱数を計算する必要があるのに対して、等間隔サンプリングでは、1個の乱数を計算するだけで済むので、等間隔サンプリングは、ルーレット法に比較して、乱数の計算コストが小さい。
【０１５２】
［第3章  生成モデル、及び、生成モデルの学習の具体的な実装］
【０１５３】
［第3.1節  生成モデルの実装］
【０１５４】
図９は、前景モデル#i、及び、背景モデルを用いて、観測画像を生成する生成モデルθ、すなわち、式（５）の関数f()の実装の例を示す図である。
【０１５５】
生成モデルでは、背景見えモデルμw上に、状態z1tが表す位置sitと姿勢qitで、前景見えモデルμiが重畳される。
【０１５６】
背景見えモデルμwへの前景見えモデルμitの重畳では、背景見えモデルμwとしての背景テクスチャモデルτw（が表すテクスチャ）と、前景見えモデルμiの前景テクスチャモデルτiとが、前景見えモデルμiの前景形状モデルσiを、α値として用いて、αブレンディングされる。
【０１５７】
例えば、いま、1番目の前景#1だけが、観測画像xtに存在することとすると、モデルパラメータ（前景見えモデルμi、背景見えモデルμw、及び、前景#iの状態zi）が求められた生成モデルにおいて観測される、１つの前景#1だけが存在する観測画像xt＝λ1(z1t，μ1，μw)は、式（１４）で表される。
【０１５８】
【数１４】
2014081863.tif 000016
・・・（１４）
【０１５９】
ここで、σ1(ri)は、前景形状モデルσ1のローカル座標系O'上の点riの画素値を表し、τ1(ri)は、前景テクスチャモデルτ1のローカル座標系O'上の点riの画素値を表す。さらに、τw(rOit)は、背景テクスチャモデルτwの世界座標系O上の点rOitの画素値を表す。
【０１６０】
また、ローカル座標系O'上の点riに、上付きのOと、下付の時刻のインデクスtを付した点rOitは、時刻tのローカル座標系O'上の点riに対応する世界座標系O上の点（対応点）を表す。
【０１６１】
例えば、世界座標系Oの原点回りに、角度Bだけ回転した（傾いた）ローカル座標系O'上の点Aを、世界座標系O上の対応点に写像する写像関数を、R(A,B)と表すこととすると、ローカル座標系O'上の点riの、世界座標系O上の対応点rOitは、写像関数R()を用いて、式（１５）で表される。
【０１６２】
【数１５】
2014081863.tif 000017
・・・（１５）
【０１６３】
式（１４）によれば、ローカル座標系O'上の点r1が、前景見えモデルμ1（前景テクスチャモデルτ1、又は、前景形状モデルσ1としての画像）上の点である場合（r1∈μ1）、その点r1の対応点rO1tの画素値λ1t(rOit)としては、背景テクスチャモデルτwの対応点rO1tの画素値τw(rO1t)と、前景テクスチャモデルτ1の点r1の画素値τ1(r1)とを、前景形状モデルσ1の点r1の画素値σ1(r1)を、α値として用いてαブレンディングした値(1-σ1(r1))τw(rO1t)＋σ1(r1)τ1(r1)が採用される。
【０１６４】
さらに、式（１４）によれば、ローカル座標系O'上の点r1が、前景見えモデルμ1上の点でない場合、その点r1の対応点rO1tの画素値λ1t(rO1t)としては、背景テクスチャモデルτwの対応点rOitの画素値τw(rO1t)が採用される。
【０１６５】
観測画像xtに、複数の前景が存在する場合（前景モデルが複数存在する場合）、複数の前景それぞれについて、1番目の前景#1だけが観測画像xtに存在する場合と同様の処理を繰り返し行うことにより、生成モデルにおいて観測される、複数の前景が存在する観測画像xtを求めることができる。
【０１６６】
但し、観測画像xtに、複数の前景が存在する場合、2番目以降の前景については、背景テクスチャモデルτw（背景見えモデルμw）に代えて、直前の前景について求められた観測画像xtが用いられる。
【０１６７】
したがって、例えば、いま、２つの前景#1及び#2が、観測画像xtに存在することとすると、図９に示すように、まず、生成モデルにおいて観測される、1番目の前景#1だけが存在する観測画像xt＝λ1(z1t，μ1，μw)が、式（１４）に従って求められる。
【０１６８】
そして、1番目の前景#1、及び、2番目の前景#2が存在する観測画像xt＝λ1,2(z1t，z2t，μ1，μ2，μw)が、図９に示すように、背景テクスチャモデルτwに代えて、式（１４）の前景#1について求められた観測画像xt＝λ1(z1t，μ1，μw)を用い、観測画像xt＝λ1(z1t，μ1，μw)と同様にして求められる。
【０１６９】
すなわち、1番目の前景#1、及び、2番目の前景#2が存在する観測画像xt＝λ1,2(z1t，(z2t，μ1，μ2，μw)は、式（１６）に従って求められる。
【０１７０】
【数１６】
2014081863.tif 000018
・・・（１６）
【０１７１】
ここで、λ1,2t(rO2t)は、1番目の前景#1、及び、2番目の前景#2が存在する観測画像xt＝λ1,2(z1t，(z2t，μ1，μ2，μw)としての画像の画素値のうちの、（前景#2の）ローカル座標系O'上の点r2の、世界座標系O上の対応点rO2tの画素値を表す。
【０１７２】
3個以上のN個の前景が存在する場合も、同様にして、そのN個の前景が存在する観測画像xt＝λ1(z1t,z2t,・・・,zNt，μ1，μ2，・・・，μN，μw)を求めることができる。
【０１７３】
［第3.2節  前景が１つだけ存在する場合の前景の状態の推定（Eステップ）］
【０１７４】
前景が１つだけである場合の、第2.3節で説明したパーティクルフィルタを用いたEステップの具体的な実装について説明する。
【０１７５】
なお、ここでは、前景が１つだけであるため、i番目の前景を表すインデクスiの記載は、省略する。
【０１７６】
EMアルゴリズムのEステップでは、前回のMステップで更新されたモデルパラメータθ＝θoldを用いて、潜在変数Zの事後分布p(Z|X,θold)が求められ、この事後分布p(Z|X,θold)を用いて、完全データ対数尤度ln(p(X,Z|θ))の期待値Q(θ，θold)が、式（７）に従って計算される。
【０１７７】
このEステップに、パーティクルフィルタを適用した場合には、時刻tまでに、観測値Xの系列Xt＝{x1,x2,・・・,xt}が観測されたときの、時刻t+1の潜在変数zt+1の事後分布p(zt+1|Xt)は、式（１３）に従って計算することができる。
【０１７８】
ここで、式（１２）によれば、式（１３）の重みw(l)tは、パーティクルとしての状態z(l)tにおいて、観測値xtが観測される観測尤度p(xt|z(l)t)に比例する。
【０１７９】
したがって、重みw(l)tを求めるには、観測尤度p(xt|z(l)t)を求める必要がある。
【０１８０】
本技術では、前景の状態が、パーティクルとしての状態z(l)tになっていると仮定して、そのパーティクルとしての状態z(l)tに従って、生成モデルにおいて観測される観測画像xt＝λtが生成される。
【０１８１】
そして、本技術では、生成モデルにおいて観測される観測画像xt＝λtの、実際に観測される画像x~t＝λ~tに対する誤差（画像λtとλ~tとの距離）が、観測尤度p(xt|z(l)t)として求められる。
【０１８２】
すなわち、本技術では、観測尤度p(xt|z(l)t)は、例えば、式（１７）に従って求められる。
【０１８３】
【数１７】
2014081863.tif 000019
・・・（１７）
【０１８４】
なお、λt(s)は、生成モデルθにおいて観測される時刻tの観測画像xt＝λtである画像の、世界座標系O上の点sの画素値を表し、λt~(s)は、時刻tに実際に観測される実画像λ~tの、世界座標系O上の点sの画素値を表す。
【０１８５】
また、式（１７）において、K及びσ2は、所定の定数であり、あらかじめ決定される。
【０１８６】
時刻tのパーティクルとしての状態z(l)tが、次の時刻t+1に、状態zt+1になる確率、すなわち、パーティクルとしての状態z(l)tの遷移確率p(zt+1|z(l)t)が、ガウス分布（正規分布）に従うこととすると、パーティクルとしての状態z(l)tの遷移モデルは、例えば、式（１８）で表すことができる。
【０１８７】
【数１８】
2014081863.tif 000020
・・・（１８）
【０１８８】
ここで、△tは、状態ztを求める時刻の間隔を表し、式（１８）では、△t＝1である。また、N(A,B)は、平均ベクトル（平均値）がAで、分散共分散行列（分散）がBのガウス分布を表す。
【０１８９】
式（１８）では、ガウス分布N(0,Σs)，N(0,Σs・)，N(0,Σq)，N(0,Σq・)は、いずれも、平均ベクトルが0のガウス分布である。また、分散共分散行列Σs，Σs・，Σq，Σq・は、あらかじめ決定される。
【０１９０】
式（１８）の遷移モデルによれば、パーティクルとしての状態が、1時刻前の時刻tの状態としての位置st及び姿勢qt、並びに、その微分値（速度）s・t及びq・tに従って決定的に遷移する成分を有しつつ、平均ベクトルが0で、所定の分散共分散行列のガウス分布に従って、確率的に揺らぎながら遷移することとして、時刻t+1の状態zt+1が求められる（予測される）（遷移先が算出される）。
【０１９１】
前景が背景上を連続的に移動することを、前提知識として仮定することができる場合、すなわち、前景の状態が環境中を連続的に変化することを仮定することができる場合には、前の時刻の情報（状態zt）を基に、次の時刻の状態zt+1を予測しつつ、ガウス分布のノイズによって近傍をランダムに探索するという式（１８）の遷移モデルが有効に機能する。
【０１９２】
その結果、パーティクルのリサンプリングの過程で、前景がなる可能性が低い状態に対する状態推定の計算を省くことができ、例えば、環境としての背景を格子状に区切って、すべての格子点について、その格子点の位置に、前景がいるかどうかを推定するような方法に比較して、スケーラビリティを大きくすることができる。
【０１９３】
［第3.3節  複数の前景が存在する場合の前景の状態の推定（Eステップ）］
【０１９４】
複数の前景が存在する場合の、第2.3節で説明したパーティクルフィルタを用いたEステップの具体的な実装について説明する。
【０１９５】
複数の前景が存在する場合、前景#iごとに、その前景#iの状態zitが存在する。前景#iの状態zitのl番目のパーティクルを、zi(l)tと表す。また、パーティクルzi(l)tの重みを、wi(l)tと表す。
【０１９６】
本技術では、生成モデルで観測される観測画像xt（＝λt）は、式（１４）ないし式（１６）で説明したように生成される。
【０１９７】
パーティクルフィルタにおいてパーティクルの重みwi(l)tを求める式（１２）の計算に必要な観測尤度p(xt|zi(l)t)を計算するためには、注目している前景#iについては、重みwi(l)tを求めようとするパーティクルとしての状態zi(l)tを用い、かつ、注目している前景#i以外の前景については、その前景の状態のパーティクルの分布と、各パーティクルの重みとを用い、生成モデルで観測される観測画像xt＝λtを計算する必要がある。
【０１９８】
しかしながら、注目している前景#iの状態zitのパーティクルzi(l)tの他に、注目している前景#i以外の前景の状態のパーティクルの分布、及び、各パーティクルの重みをも用いて、生成モデルで観測される観測画像xt＝λtを計算するのでは、計算コストが大になる。
【０１９９】
そこで、本実施の形態では、複数の前景について、独立に、すなわち、注目している前景#i以外の前景を考慮せずに、注目している前景#iだけが、背景上に存在することと仮定することにより、実用上問題ない範囲で厳密性を犠牲にしつつ、計算の高速化を実現する。
【０２００】
注目している前景#iだけが、背景上に存在することを仮定した場合、注目している前景#iが、パーティクルとしての状態zi(l)tになっているときの観測尤度p(xit|zi(l)t)は、式（１９）に従って計算することができる。
【０２０１】
【数１９】
2014081863.tif 000021
・・・（１９）
【０２０２】
なお、λit(s)は、注目している前景#iだけが、背景上に存在することを仮定した場合に生成モデルθにおいて観測される時刻tの観測画像xt＝λitである画像の、世界座標系O上の点sの画素値を表す。
【０２０３】
また、式（１９）において、λt~(s)は、式（１７）の場合と同様に、時刻tに実際に観測される画像λ~tの、世界座標系O上の点sの画素値を表す。
【０２０４】
さらに、式（１９）において、K及びσ2は、式（１７）の場合と同様に、所定の定数であり、あらかじめ決定される。
【０２０５】
注目している前景#iだけが、背景上に存在することを仮定した場合に生成モデルθにおいて観測される時刻tの観測画像xt＝λit＝λi(zit，μi，μw)は、式（２０）に従って求めることができる。
【０２０６】
【数２０】
2014081863.tif 000022
・・・（２０）
【０２０７】
ここで、σi(ri)は、前景形状モデルσiのローカル座標系O'上の点riの画素値を表し、τi(ri)は、前景テクスチャモデルτiのローカル座標系O'上の点riの画素値を表す。さらに、τw(rOit)は、背景テクスチャモデルτwの世界座標系O上の点rOitの画素値を表す。
【０２０８】
また、ローカル座標系O'上の点riに、上付きのOを付した点rOitは、時刻tのローカル座標系O'上の点riに対応する世界座標系O上の点（対応点）を表し、式（１５）に従って求められる。
【０２０９】
［第3.4節  前景テクスチャモデルの更新（Mステップ）］
【０２１０】
第2.3節で説明したパーティクルフィルタを用いたEステップで行われる前景テクスチャモデルτiの更新の具体的な実装について説明する。
【０２１１】
EMアルゴリズムのMステップでは、Eステップで潜在変数Zの事後分布p(Z|X,θold)を用いて計算される完全データ対数尤度ln(p(X,Z|θ)の期待値Q(θ，θold)を最大化するように、モデルパラメータθが、現在のモデルパラメータθoldから新しいモデルパラメータθnewに更新される。
【０２１２】
このMステップに、パーティクルフィルタを適用した場合には、モデルパラメータθは、Eステップで求められたパーティクルの重みwi(l)tを用いて更新される。
【０２１３】
図１０は、パーティクルの重みwi(l)tを用いた前景テクスチャモデルτiの更新を説明する図である。
【０２１４】
前景テクスチャモデルτiの更新では、時刻tにおいて、その時刻tの1時刻分の更新データτ~itを求めるために、図１０に示すように、前景#iの状態が、パーティクルとしての状態zi(l)tになっていることとして、その状態zi(l)tになっている前景#iと推定される領域の画像を、時刻tに実際に観測される画像（の観測値）λ~tから切り出し、前景#iのローカル座標系O'上に射影する。
【０２１５】
ここで、時刻tに実際に観測される画像（以下、実画像ともいう）λ~tから切り出され、前景#iのローカル座標系O'上に射影された画像を、切り出し画像τ~i(l)tともいう。
【０２１６】
切り出し画像τ~i(l)tは、前景テクスチャモデルτi（及び、前景形状モデルσi）と同一サイズの画像であり、式（２１）で表される。
【０２１７】
【数２１】
2014081863.tif 000023
・・・（２１）
【０２１８】
ここで、τ~i(l)t(s'i(l)t)は、切り出し画像τ~i(l)tのローカル座標系O'上の点s'i(l)tの画素値を表し、λ~t(s)は、実画像λ~tの世界座標系O上の点sの画素値を表す。
【０２１９】
また、世界座標系O上の点sに、ダッシュ(')、前景のインデクスi、パーティクルのインデクス(l)、及び、時刻のインデクスtを付した点s'i(l)tは、世界座標系O上の点sに対応する、パーティクルzi(l)tで表される状態になっている前景#iのローカル座標系O'上の点（対応点）を表す。
【０２２０】
世界座標系O上の点sの、前景#iのローカル座標系O'上の対応点s'i(l)tは、式（１５）で説明した写像関数R(A,B)を用いることにより、式（２２）で表される。
【０２２１】
【数２２】
2014081863.tif 000024
・・・（２２）
【０２２２】
なお、式（２２）では、パーティクルのインデクス(l)を省略してある。
【０２２３】
式（２１）によれば、世界座標系O上の点sの、ローカル座標系O'上の対応点s'i(l)tが、時刻tにおいて、前景見えモデルμi（前景テクスチャモデルτi、又は、前景形状モデルσiとしての画像）上の点である場合（s'i(l)t∈μi）、実画像λ~tの点sの画素値λ~t(s)が、切り出し画像τ~i(l)tの対応点s'i(l)tの画素値τ~i(l)t(s'i(l)t)として採用される。
【０２２４】
前景テクスチャモデルτiの更新では、前景#iのL個のパーティクルzi(1)t，zi(2)t，・・・，zi(L)tについて、切り出し画像τ~i(1)t，τ~i(2)t，・・・，τ~i(L)tが求められる。そして、式（２３）に従い、パーティクルzi(1)tないしzi(L)tの重みwi(1)tないしwi(L)tを用いて、L個の切り出し画像τ~i(1)tないしτ~i(L)tの重み付け平均値が、前景テクスチャモデルτiについての、時刻tの1時刻分の更新データτ~itとして求められる。
【０２２５】
【数２３】
2014081863.tif 000025
・・・（２３）
【０２２６】
さらに、前景テクスチャモデルτiの更新では、現在時刻tから、過去TFG-1時刻分の更新データτ~it，τ~it-1，・・・，τ~it-TFG+1の平均値（所定時間分の平均化）が、新しいモデルパラメータθnewとしての新しい前景テクスチャモデルτi,newとして、式（２４）に従って求められる。
【０２２７】
【数２４】
2014081863.tif 000026
・・・（２４）
【０２２８】
なお、ここでは、L個のパーティクルzi(1)tないしzi(L)tそれぞれについて得られる切り出し画像τ~i(1)tないしτ~i(L)tの重み付け平均値を、時刻tの1時刻分の更新データτ~itとして求めることとしたが、その他、例えば、L個のパーティクルzi(1)tないしzi(L)tから最尤状態zitを求め、その最尤状態zitについて得られる切り出し画像τ~itを、時刻tの1時刻分の更新データτ~itとして採用することができる。
【０２２９】
最尤状態zitとしては、例えば、L個のパーティクルzi(1)tないしzi(L)tの重み付け平均値（wi(1)tzi(1)t＋wi(2)tzi(2)t＋・・・＋wi(L)tzi(L)t）／（wi(1)t＋wi(2)t＋・・・＋wi(L)t）＝wi(1)tzi(1)t＋wi(2)tzi(2)t＋・・・＋wi(L)tzi(L)tを採用することができる。
【０２３０】
［第3.5  背景テクスチャモデルの更新（Mステップ）］
【０２３１】
第2.3節で説明したパーティクルフィルタを用いたEステップで行われる背景テクスチャモデルτwの更新の具体的な実装について説明する。
【０２３２】
図１１は、背景テクスチャモデルτwの更新を説明する図である。
【０２３３】
背景テクスチャモデルτwの更新処理では、すべての前景モデル#1ないし#Nそれぞれのすべてのパーティクルとしての状態z1(1)tないしz1(L)t，z2(1)tないしz2(L)t，・・・，zN(1)tないしzN(L)tを用いて、時刻tの1時刻分の更新データτ~wtが求められる。
【０２３４】
すなわち、背景テクスチャモデルτwの更新処理では、図１１に示すように、時刻tの実画像λ~tのうちの、前景があると推定される領域の画素値を、現在の背景テクスチャモデルτw,oldで置き換えることを、各前景モデル#iの、各パーティクルとしての状態zi(l)tについて行い、その結果得られる画像が、時刻tの1時刻分の更新データτ~wtとされる。
【０２３５】
具体的には、まず、例えば、前景#1が、注目する注目前景とされる。そして、注目前景である前景#1の状態が、パーティクルとしての状態z1(l)tになっていることとして、時刻tの実画像λ~tのうちの、状態zi(l)tになっている前景#iと推定される領域から、前景モデル#i（前景見えモデルμi）の画像成分を除去し、かつ、現在の背景モデル（現在の背景テクスチャモデルτw,old）の画像成分を加えた画像（以下、前景除去画像ともいう）τ~w,1(l)が求められる。
【０２３６】
前景#1の、パーティクルとしての状態z1(l)tについて得られる前景除去画像τ~w,1(l)は、式（２５）で表される。
【０２３７】
【数２５】
2014081863.tif 000027
・・・（２５）
【０２３８】
式（２５）によれば、世界座標系O上の点sの、パーティクルz1(l)tで表される状態になっている前景#1のローカル座標系O'上の対応点s'1(l)tが、前景見えモデルμ1（前景テクスチャモデルτ1、又は、前景形状モデルσ1としての画像）上の点である場合（s'1(l)t∈μ1）、前景除去画像τ~w,1(l)上の点sの画素値τ~w,1(l)(s)としては、実画像上λ~tの点sの画素値λ~t(s)に対して、前景テクスチャモデルτ1上の対応点s'1(l)tの画素値τ1(s'1(l)t)をσ1(s'1(l)t)倍して減算し、かつ、現在の背景テクスチャモデルτw,old上の点sの画素値τw,old(s)を、(1-σ1(s'1(l)t))倍して加算した値λ~t(s)−σ1(s'1(l)t)τ1(s'1(l)t)＋(1-σ1(s'1(l)t))τw,old(s)が採用される。
【０２３９】
さらに、式（２５）によれば、世界座標系O上の点sの、パーティクルz1(l)tで表される状態になっている前景#1のローカル座標系O'上の対応点s'1(l)tが、前景見えモデルμ1上の点でない場合、実画像上λ~tの点sの画素値λ~t(s)が採用される。
【０２４０】
その結果、前景除去画像τ~w,1(l)としては、実画像上λ~tから、パーティクルとしての状態z1(l)tになっている前景#1が除去され、その除去された前景#1に隠れていた背景が見えるようになったような画像が得られる。
【０２４１】
背景テクスチャモデルτwの更新処理では、前景＃1のL個のパーティクルz1(1)tないしz1(L)tそれぞれについて、前景除去画像τ~w,1(1)ないしτ~w,1(L)が求められる。
【０２４２】
そして、前景＃1のL個のパーティクルz1(1)tないしz1(L)tそれぞれの重みw1(1)tないしw1(L)tを用いて、前景除去画像τ~w,1(1)ないしτ~w,1(L)の重み付け平均値τ~w,1が、実画像上λ~tから前景#1を除去した最終的な画像（以下、前景#1についての最終除去画像ともいう）として求められる。
【０２４３】
前景#1についての最終除去画像τ~w,1は、式（２６）で表される。
【０２４４】
【数２６】
2014081863.tif 000028
・・・（２６）
【０２４５】
背景テクスチャモデルτwの更新処理では、他の前景#2ないし#Nを、順次、注目前景として、同様の処理が行われる。
【０２４６】
但し、前景#2以降の前景#iについては、実画像上λ~tに代えて、直前に注目前景であった前景#(i-1)についての最終除去画像τ~w,i-1が用いられる。
【０２４７】
したがって、前景#iの、パーティクルとしての状態zi(l)tについて得られる前景除去画像τ~w,i(l)は、式（２５）の実画像上λ~tを、前景#(i-1)についての最終除去画像τ~w,i-1に代えた式（２７）に従って求められる。
【０２４８】
【数２７】
2014081863.tif 000029
・・・（２７）
【０２４９】
そして、前景#iについての最終除去画像τ~w,iは、前景除去画像τ~w,i(l)を用い、式（２６）と同様に式（２８）に従って求められる。
【０２５０】
【数２８】
2014081863.tif 000030
・・・（２８）
【０２５１】
前景#Nについての最終除去画像τ~w,Nは、実画像λ~tから、N個の前景#1ないし#Nすべてを除去し、かつ、前景#1ないし#Nそれぞれがあった領域に、現在の背景テクスチャモデルτw,oldの対応する領域を足し込んだ画像になっている。式（２９）に示すように、この画像τ~w,Nが、背景テクスチャモデルτwについての、時刻tの1時刻分の更新データτ~wtとされる。
【０２５２】
【数２９】
2014081863.tif 000031
・・・（２９）
【０２５３】
図１１には、前景の数Nが２つである場合の、背景テクスチャモデルτwについての、時刻tの1時刻分の更新データτ~wtの算出の様子が示されている。
【０２５４】
その後、背景テクスチャモデルτwの更新では、現在時刻tから、過去TBG-1時刻分の更新データτ~wt，τ~wt-1，・・・，τ~wt-TBG+1の平均値（所定時間分の平均化）が、新しいモデルパラメータθnewとしての新しい背景テクスチャモデルτw,newとして、式（３０）に従って求められる。
【０２５５】
【数３０】
2014081863.tif 000032
・・・（３０）
【０２５６】
背景テクスチャモデルτwの更新においては、前景#2以降の前景#iについては、実画像上λ~tに代えて、直前に注目前景であった前景#(i-1)についての最終除去画像τ~w,i-1を用いて、前景除去画像τ~w,i(l)が求められることで、複数の前景モデルによって、同時に、同一の前景がモデル化（獲得）されないようにする排他制御が行われる。
【０２５７】
［第3.6節  前景形状モデルの更新（Mステップ）］
【０２５８】
前景形状モデルσiの更新では、更新後の前景テクスチャモデルτi（新しい前景テクスチャモデルτi,new）としての画像について、どの領域が前景#iに属し、どの領域が前景#iに属さないのかの評価が、例えば、画素単位で行われる。
【０２５９】
すなわち、前景形状モデルσiの更新では、更新後の前景テクスチャモデルτiとしての画像の各画素について、その画素が、前景#iの画素であるかどうかの評価が行われる。
【０２６０】
前景テクスチャモデルτiとしての画像の画素が前景#iの画素であるかどうかの評価では、前景テクスチャモデルτiとしての画像の各画素について、その画素が、前景#iの画素であることの尤度（以下、前景尤度ともいう）が求められる。
【０２６１】
前景尤度としては、例えば、前景テクスチャモデルτiとしての画像が、前景#iの期待値としての、式（２３）の前景テクスチャモデルτiについての、時刻tの1時刻分の更新データτ~itとして観測される観測される観測尤度を採用することができる。
【０２６２】
この場合、前景尤度としての観測尤度は、例えば、式（３１）に従って求めることができる。
【０２６３】
【数３１】
2014081863.tif 000033
・・・（３１）
【０２６４】
ここで、τi(ri)は、前景テクスチャモデルτiのローカル座標系O'上の点riの画素値を表し、τ~it(ri)は、前景テクスチャモデルτiについての、時刻tの1時刻分の更新データτ~itとしての画像のローカル座標系O'上の点riの画素値を表す。
【０２６５】
さらに、L(FG|τi(ri))は、前景テクスチャモデルτiの点riの画素値τi(ri)が、前景#iの画素であることの尤度（前景尤度）を表す。
【０２６６】
また、式（３１）において、K及びσ2は、所定の定数であり、あらかじめ決定される。
【０２６７】
前景テクスチャモデルτiとしての画像の画素が前景#iの画素であるかどうかの評価では、以上のような、前景尤度L(FG|τi(ri))の他、前景テクスチャモデルτiとしての画像の各画素について、その画素が、背景の画素であることの尤度（以下、背景尤度ともいう）が求められる。
【０２６８】
背景尤度としては、例えば、前景テクスチャモデルτiとしての画像が、背景の期待値としての、式（２８）の前景#iについての最終除去画像τ~w,itとして観測される観測される観測尤度を採用することができる。
【０２６９】
この場合、背景尤度としての観測尤度は、例えば、式（３２）に従って求めることができる。
【０２７０】
【数３２】
2014081863.tif 000034
・・・（３２）
【０２７１】
ここで、前景#iについての最終除去画像を表すτ~w,itにダッシュ(')を付したτ~'w,itは、前景#iについての最終除去画像τ~w,itから、前景見えモデルμiの領域を切り出し、前景#iのローカル座標系O'に射影した射影画像（の期待値）を表す。
【０２７２】
τ~'w,it(ri)は、射影画像τ~'w,itのローカル座標系O'上の点riの画素値を表す。
【０２７３】
さらに、L(BG|τi(ri))は、前景テクスチャモデルτiの点riの画素値τi(ri)が、背景の画素であることの尤度（背景尤度）を表す。
【０２７４】
また、式（３２）において、K及びσ2は、所定の定数であり、あらかじめ決定される。
【０２７５】
射影画像τ~'w,itは、式（２８）の前景#iについての最終除去画像τ~w,itを求めるのに用いられる、式（２７）（式（２５））の前景除去画像τ~w,i(l)tを用い、式（３３）及び式（３４）に従って求めることができる。
【０２７６】
【数３３】
2014081863.tif 000035
・・・（３３）
【０２７７】
【数３４】
2014081863.tif 000036
・・・（３４）
【０２７８】
ここで、τ~'w,i(l)tは、前景#iが、パーティクルとしての状態zi(l)tになっていると仮定した場合の射影画像を表し、τ~'w,i(l)t(s'i(l)t)は、射影画像τ~'w,i(l)tの、世界座標系O上の点sの対応点s'i(l)tの画素値を表す。
【０２７９】
式（３３）によれば、世界座標系O上の点sの、前景#iのローカル座標系O'上の対応点s'i(l)tが、前景見えモデルμi上の点であれば、前景除去画像τ~w,i(l)tの点sの画素値τ~w,i(l)t(s)が、射影画像τ~'w,i(l)tの対応点s'i(l)tの画素値τ~'w,i(l)t(s'i(l)t)として採用される。
【０２８０】
そして、式（３４）によれば、前景#iが各パーティクルzi(l)tの状態になっている射影画像τ~'w,i(l)tの重み付け平均値が、式（３２）の計算に用いられる射影画像τ~'w,itとして求められる。
【０２８１】
前景形状モデルσiの更新では、式（３１）の前景尤度L(FG|τi(ri))と、式（３２）の背景尤度L(BG|τi(ri))とを用いて、式（３５）に従い、前景テクスチャモデルτiとしての画像の各画素について、その画素が前景#iの画素である確率が求められる。
【０２８２】
【数３５】
2014081863.tif 000037
・・・（３５）
【０２８３】
ここで、p(FG|τi(ri))は、前景形状モデルσiの、前景#iのローカル座標系O'上の点（画素）riが、前景#iの画素である確率を表す。前景形状モデルσiの更新では、点riの画素値σi(ri)が、確率p(FG|τi(ri))に更新される。
【０２８４】
［第4章  エージェントが物体操作を行うための操作モデル］
【０２８５】
［第4.1節  物体操作の環境設定］
【０２８６】
図１２は、エージェントが、制御対象物体であるハンド（マニピュレータ）によって、操作対象物体である物体を操作する物体操作の環境設定の概要を説明する図である。
【０２８７】
制御対象物体であるハンド、及び、操作対象物体である物体は、平面上に置かれており、エージェントは、ハンド、及び、物体が置かれた平面（環境）に対応する背景上に、ハンドに対応する前景、及び、物体に対応する前景が存在する実画像を観測する。
【０２８８】
図１２において、制御対象物体であるハンドは、アームの先端に取り付けられており、エージェントは、環境中で、アームを動かすことにより、ハンドを任意の位置に移動させることができる。
【０２８９】
なお、本実施の形態では、説明を簡単にするため、ハンドは、円形であることとし、したがって、ハンドの姿勢は、変化しない（考慮しない）こととする。
【０２９０】
操作対象物体である物体は、多角形の形状の物体であり、図１２では、Ｌ字型の物体が採用されている。
【０２９１】
操作対象物体（である物体）は、外力を受けると、環境中で、外力に従った移動や回転の運動を行い、その結果、操作対象物体の位置や姿勢が変化する。
【０２９２】
したがって、エージェントが、アームを動かして、そのアームの先端のハンドを移動することにより、ハンドが、操作対象物体と接触すると、操作対象物体は、ハンドから加えられる外力によって運動する。
【０２９３】
本実施の形態では、操作対象物体について、目標とする位置と姿勢が、目標状態として与えられる。そして、エージェントは、ハンドを移動して、操作対象物体の状態としての位置及び姿勢を、現在の状態（現在状態）から、目標状態に変化させる物体操作を行う。
【０２９４】
なお、本実施の形態では、説明を簡単にするため、操作対象物体と、その操作対象物体が置かれている環境（平面）との摩擦が十分に大きく、ハンドが操作対象物体に接触している状態から、ハンドが操作対象物体に接触していない状態（及び、ハンドが操作対象物体に接触していても、ハンドから操作対象物体に力が加えられていない状態）になると、操作対象物体は、直ちに運動を停止することとする。
【０２９５】
また、以下では、前景に関する情報を表す変数については、ハンドと操作対象物体との区別をしない変数には、上付きのインデクスiを付す。また、ハンド（マニピュレータ）の前景（ハンドに対応する前景）に関する情報を表す変数には、上付きのインデクスm(manipulator)を付し、操作対象物体の前景に関する情報を表す変数には、上付きのインデクスo(object)を付す。
【０２９６】
本技術の操作モデルでは、ハンド及び操作対象物体の前景の運動が、操作対象物体を基準とする座標系である物体基準座標系で表現される。
【０２９７】
図１３は、物体基準座標系を説明する図である。
【０２９８】
図１３Ａは、世界座標系Oと、操作対象物体のローカル座標系O'とを示しており、図１３Ｂは、物体基準座標系としての重心原点座標系O''を示している。
【０２９９】
なお、図１３において、内部にバツ印を描いた丸印は、（物体（の前景）の）重心を表す。
【０３００】
重心原点座標系O''は、ローカル座標系O'を平行移動した座標系であり、原点が、操作対象物体（の前景）の重心に位置している。
【０３０１】
したがって、重心原点座標系O''は、操作対象物体の前景見えモデルμoの上から下方向を１つの軸としてのx''軸とし、左から右方向を他の１つの軸としてのy''軸とするとともに、前景見えモデルμoの重心を原点とする２次元座標系である。
【０３０２】
物体基準座標系は、操作対象物体（の前景#o）を基準とする座標系、すなわち、世界座標系O上での操作対象物体（の前景#o）の状態によらず、操作対象物体（の前景#o）の状態（位置、姿勢）が不変の座標系である。
【０３０３】
したがって、操作対象物体（の前景#o）の物体基準座標系としては、ローカル座標系O'、及び、重心原点座標系O''のいずれをも採用し得るが、本実施の形態では、重心原点座標系O''を採用することとする。
【０３０４】
なお、以下では、世界座標系O上の変数と、座標系に関係ない変数には、プライム（ダッシュ）を付さず、ローカル座標系O'上の変数には、１つのプライムを付し、物体基準座標系（としての重心原点座標系）O''上の変数には、２つのプライムを付すこととする。
【０３０５】
例えば、図１３Ａにおいて、sotは、時刻tの操作対象物体（の前景#o）の世界座標系O上での位置を表し、smtは、時刻tのハンド（の前景#m）の世界座標系O上での位置を表す。
【０３０６】
また、qotは、時刻tの操作対象物体の世界座標系O上での姿勢（世界座標系Oに対する、操作対象物体のローカル座標系O'及び物体基準座標系O''の傾き）を表し、soc'は、操作対象物体（の重心）のローカル座標系O'（操作対象物体のローカル座標系O'）上での位置を表す。
【０３０７】
操作対象物体のローカル座標系O'は、前景見えモデルμoの上から下方向を１つの軸としてのx'軸とし、左から右方向を他の１つの軸としてのy'軸とするとともに、前景見えモデルμoの左上の点を原点とする２次元座標系であるから、操作対象物体は、ローカル座標系O'上を動かない。
【０３０８】
したがって、操作対象物体のローカル座標系O'において、その操作対象物体の重心soc'は移動しない。
【０３０９】
また、操作対象物体の物体基準座標系としての重心原点座標系O''は、原点が操作対象物体の重心に位置するように、ローカル座標系O'を平行移動した座標系であるから、やはり、操作対象物体は、物体基準座標系としての重心原点座標系O''上を動かない。そして、操作対象物体の重心は、常に、その操作対象物体の物体基準座標系としての重心原点座標系O''の原点に位置する。
【０３１０】
図１４は、時刻tの操作対象物体の物体基準座標系（としての重心原点座標系）O''上のハンドの状態及びアクションを説明する図である。
【０３１１】
ここで、時刻tの前景#iのアクションを、図２で説明したように、uitと表すこととし、前景#iは、時刻t-1の状態zitにおいて、アクションuit-1を行うことによって、次の時刻tに、状態zitになることとする。
【０３１２】
また、前景#iの運動に関する運動モデルを、aiと表すこととし、ハンド（の前景#m）の運動モデルamは、既知であることとする。すなわち、ハンドを動かすための所定のトルク等の指令に対して、ハンドが行うアクションumt、及び、ハンドが所定のアクションumtを行うのに与えるべき指令は、既知であることとする。
【０３１３】
さらに、ハンドのアクションumtは、世界座標系O上のハンドの状態zmtを、直接決定することとし、したがって、ハンドは、そのハンドが行うアクションumtによって、任意の状態zmtにすることができることとする。
【０３１４】
上述したように、ハンドは、円形であるため、ハンドの姿勢は、ハンドと操作対象物体とが接触することによる操作対象物体の運動に影響を与えない。
【０３１５】
したがって、ハンドのアクションumtは、式（３）の世界座標系O上のハンドの状態zmt＝[smt，s・mt，qmt，q・mt]のうちの、姿勢以外に関する情報、すなわち、世界座標系O上のハンドの位置smtと、位置smtの微分（速度）s・mtとによって、式（３６）に示すように定義することができる。
【０３１６】
【数３６】
2014081863.tif 000038
・・・（３６）
【０３１７】
式（３６）のハンドのアクションumtにおいて、ハンドの位置smtは、ハンドが時刻tにアクションumtとしての運動（移動）を行う位置（以下、運動開始位置ともいう）を表し、位置sitの微分（速度）s・mtは、ハンドが時刻tにアクションumtとしての運動（移動）を行う速度（以下、移動速度ともいう）を表す。
【０３１８】
ハンドがアクションumtを行う（アクションumtを出力する）、とは、ハンドが、時刻tに、運動開始位置smtにおいて、移動速度s・mtで移動することを意味する。
【０３１９】
なお、ハンドは、操作対象物体との接触の如何に関わらず、アクションumtとして指定された移動速度s・mtで移動することとする。
【０３２０】
世界座標系Oにおいて式（３６）で表されるハンドのアクションumtは、物体基準座標系O''では、式（３７）で表すことができる。
【０３２１】
【数３７】
2014081863.tif 000039
・・・（３７）
【０３２２】
式（３７）において、umt''は、時刻tの操作対象物体の物体基準座標系O''上のハンドのアクションを表す。また、位置smt''は、図１４に示すように、（時刻tの操作対象物体の）物体基準座標系O''上のハンドの運動開始位置を表し、位置sitの微分s・mt''は、図１４に示すように、物体基準座標系O''上のハンドの移動速度を表す。
【０３２３】
世界座標系Oの原点回りに、角度Bだけ回転した（傾いた）物体基準座標系O''上の点Aを、世界座標系O上の対応点に写像する写像関数を、RR(A,B)と表すこととすると、世界座標系O上のアクションumtと、物体基準座標系O''上のアクションumt''との関係は、写像関数RR()を用いて、式（３８）で表される。
【０３２４】
【数３８】
2014081863.tif 000040
・・・（３８）
【０３２５】
式（３８）において、qotは、時刻tの操作対象物体（の前景#o）の姿勢、すなわち、時刻tの操作対象物体の物体基準座標系O''の原点回りの回転角度を表す。
【０３２６】
エージェントにおいて、ハンドによって操作対象物体を操作するための操作モデルでは、操作対象物体の状態を、現在の状態（現在状態）から、目標とする状態（目標状態）に変化させるのに必要な状態の変化量に基づいて、時刻tの操作対象物体の物体基準座標系O''上のハンドのアクションumt''が生成される。
【０３２７】
なお、操作対象物体（の前景#o）の運動モデルaoについては、操作対象物体が、ハンドとの接触によって受ける力によって、どのように運動するかを表現する必要があり、解析的には、剛体の質量や、慣性モーメント、重心等の動力学パラメータが必要となる。かかる運動モデルaoは、剛体の動力学に関する計算モデルに従って、動力学パラメータの推定を行うことで求められる。
【０３２８】
但し、本技術では、操作モデルにおいて、操作対象物体の運動は、物体基準座標系O''上での、ハンドの位置及び状態変化と、操作対象物体の状態変化との間の関係に含めて、ハンドの位置及び状態変化に対する、操作対象物体の状態変化への直接のマッピングとして、学習によって獲得される。
【０３２９】
そのため、本技術では、操作対象物体を操作するにあたって、操作対象物体の運動モデルao（としての剛体の運動モデル）を用いる必要がなく、したがって、剛体（操作対象物体）の質量等の動力学パラメータを推定する必要もない。
【０３３０】
図１５は、エージェントが、ハンドによって、操作対象物体を操作する物体操作の環境設定の詳細を説明する図である。
【０３３１】
エージェントは、ハンドにアクションを行わせることによって、世界座標系Oでの操作対象物体（の前景#o）の状態を、現在状態から目標状態に変化させる。
【０３３２】
いま、現在時刻を時刻tとすると、世界座標系Oにおいて、操作対象物体の現在状態（現在時刻tの状態）は、zotで表される。また、世界座標系Oにおいて、現在時刻t（の時点）での操作対象物体の目標状態を、zo,tgttで表すこととする。
【０３３３】
この場合、世界座標系Oにおいて、図１５に示すように、操作対象物体が、目標状態zo,tgttになるための、その操作対象物体の状態の変化（以下、目標状態変化ともいう）dzo,tgttは、現在状態zotと目標状態zo,tgttとを用い、式（３９）で表される。
【０３３４】
【数３９】
2014081863.tif 000041
・・・（３９）
【０３３５】
なお、本実施の形態では、図１２で説明したように、操作対象物体と、その操作対象物体が置かれている環境との摩擦が十分に大きく、ハンドが操作対象物体に接触している状態から、ハンドが操作対象物体に接触していない状態になると、操作対象物体が、直ちに運動を停止することを前提としている。
【０３３６】
したがって、ハンドが現在状態zotの操作対象物体に接触する直前の、操作対象物体の現在状態zotの位置sotが変化する速度（位置sotの微分）（以下、位置変化速度ともいう）s・ot、及び、姿勢qotが変化する速度（姿勢qotの微分）（以下、姿勢変化速度ともいう）q・ot、並びに、ハンドが目標状態zo,tgttになった操作対象物体から離れた直後の、操作対象物体の目標状態zo,tgttの位置変化速度s・o,tgtt、及び、姿勢変化速度q・o,tgttは、0になる。
【０３３７】
その結果、目標状態変化dzo,tgttは、実質的に、式（３）で定義される状態zitとしての位置sit、位置変化速度s・it、姿勢qit、及び、姿勢変化速度q・itのうちの、位置sit及び姿勢qitの変化で定義することができる。
【０３３８】
すなわち、世界座標系O上での式（３９）の目標状態変化dzo,tgttは、現在状態zotの位置sot及び姿勢qot、並びに、目標状態zo,tgttの位置so,tgtt及び姿勢qo,tgttを用い、式（４０）で表される。
【０３３９】
【数４０】
2014081863.tif 000042
・・・（４０）
【０３４０】
式（４０）において、dso,tgttは、操作対象物体の状態のうちの位置が、現在状態zotの位置sotから目標状態zo,tgttの位置so,tgttになるまでの位置の変化（移動量）を表し、以下、目標位置変化ともいう。
【０３４１】
また、式（４０）において、dqo,tgttは、操作対象物体の状態のうちの姿勢が、現在状態zotの姿勢qotから目標状態zo,tgttの姿勢qo,tgttになるまでの姿勢の変化（回転量）を表し、以下、目標姿勢変化ともいう。
【０３４２】
世界座標系O上での式（３９）の目標状態変化dzo,tgttは、時刻tの操作対象物体の物体基準座標系O''上では、式（４１）で表される。
【０３４３】
【数４１】
2014081863.tif 000043
・・・（４１）
【０３４４】
式（４１）において、dzo,tgtt''は、（時刻tの操作対象物体の）物体基準座標系O''上での目標状態変化を表す。また、dso,tgtt''は、物体基準座標系O''上での目標位置変化を表し、dqo,tgtt''は、物体基準座標系O''上での目標姿勢変化を表す。
【０３４５】
ここで、目標姿勢変化、すなわち、操作対象物体の状態のうちの姿勢が、現在状態zotの姿勢qotから目標状態zo,tgttの姿勢qo,tgttになるまでの姿勢の変化（回転量）は、操作対象物体（の前景#o）が存在する２次元平面上に定義することができるどのような２次元座標系から見ても、同一の回転量（回転角）になる。
【０３４６】
したがって、式（４０）の世界座標系O上での目標姿勢変化dqo,tgttと、式（４１）の物体基準座標系O''上での目標姿勢変化dqo,tgtt''とは、等しい（dqo,tgtt＝dqo,tgtt''である）。
【０３４７】
また、式（４０）の世界座標系O上での目標位置変化dso,tgttと、式（４１）の物体基準座標系O''上での目標位置変化dso,tgtt''との関係は、式（３８）で定義した写像関数RR()の逆関数RR-1を用いて、式（４２）で表される。
【０３４８】
【数４２】
2014081863.tif 000044
・・・（４２）
【０３４９】
［第4.2節  物体基準座標系O''上での物体操作の表現］
【０３５０】
エージェントがハンドによる操作対象物体の操作（物体操作）に用いる本技術の操作モデルでは、図１２で説明したように、ハンド及び操作対象物体（の前景）の運動が、操作対象物体の基準座標系O''上で表現される。
【０３５１】
そのため、エージェントは、実画像λ~tから、その実画像λ~tに映る操作対象物体の物体基準座標系O''を基準とする所定の範囲を切り出し、その所定の範囲を、物体基準座標系O''の傾きが0になるように回転することにより、操作対象物体（の前景#o）の前景見えモデルμoに対して、操作対象物体の姿勢が一致した画像である物体基準画像を生成する。
【０３５２】
そして、エージェントは、物体基準画像を用いて、ハンド及び操作対象物体の運動が操作対象物体の基準座標系O''上で表現される操作モデルの学習を行う。
【０３５３】
図１６は、物体基準画像の生成を説明する図である。
【０３５４】
エージェントは、実画像λ~tから、その実画像λ~tに映る操作対象物体（の前景#o）を認識する。
【０３５５】
実画像λ~tから、操作対象物体を認識する方法としては、例えば、第3.2節や第3.3節で説明したパーティクルフィルタを用いた状態推定（前景の状態の推定）を行う方法がある。
【０３５６】
パーティクルフィルタを用いた状態推定によって、操作対象物体を認識する場合には、パーティクルフィルタを用いた状態推定によって得られる操作対象物体（の前景#o）の状態zot（例えば、パーティクルフィルタを用いた状態推定によって得られるL個のパーティクルzi(1)tないしzi(L)tから求められる最尤状態zot）が、実画像λ~tからの操作対象物体の認識結果とされる。
【０３５７】
そして、エージェントは、操作対象物体の状態zotのコンポーネントになっている位置sotを、操作対象物体の重心（世界座標系O上の操作対象物体の重心）として採用するとともに、操作対象物体の状態zotのコンポーネントになっている姿勢qotを、操作対象物体の姿勢として採用し、図１６に示すように、操作対象物体の重心を中心とし、かつ、世界座標系Oに対して、操作対象物体の姿勢qotだけ傾いた矩形の所定の範囲を、操作対象物体の前景見えモデルμoに対して、姿勢qotだけ傾いた傾き画像として、実画像λ~tから切り出す。
【０３５８】
さらに、エージェントは、図１６に示すように、傾き画像を、物体基準座標系の傾きが0になるように回転することにより、すなわち、姿勢qotとしての回転角だけ逆回転することにより、物体基準画像を生成する。
【０３５９】
したがって、物体基準画像に映る操作対象物体の姿勢は、その操作対象物体の前景見えモデルμoに映る操作対象物体の姿勢に一致する。
【０３６０】
ここで、実画像λ~tから傾き画像を切り出す所定の範囲としては、ハンドが、操作対象物体の近くに位置している場合の、操作対象物体の近くに位置するハンドが、操作対象物体とともに映るサイズの範囲、すなわち、例えば、操作対象物体に接触しているハンドや、操作対象物体に接触する直前のハンド、操作対象物体から離れた直後のハンドが、操作対象物体とともに映るサイズの範囲が採用される。
【０３６１】
したがって、実画像λ~tにおいて、ハンドが、操作対象物体の近くに位置していない場合、その実画像λ~tは、操作モデルの学習には、用いられない。
【０３６２】
実画像λ~tにおいて、ハンドが、操作対象物体の近くに位置しているかどうか、すなわち、実画像λ~tから傾き画像を切り出す所定の範囲内に、操作対象物体の他、ハンドが映っているかどうかは、実画像λ~tから、操作対象物体を認識する他、ハンドを認識することで判定することができる。
【０３６３】
なお、実画像λ~tから傾き画像を切り出す所定の範囲の形状は、矩形に限定されるものではなく、例えば、円形であってもよい。
【０３６４】
また、実画像λ~tから、操作対象物体を認識する方法としては、パーティクルフィルタを用いた状態推定を行う方法の他、操作対象物体の前景テクスチャモデルτoの姿勢を、様々な姿勢に変えながら、実画像λ~tの様々な位置で、操作対象物体の前景テクスチャモデルτoと、実画像λ~tとのマッチングをとる（例えば、画素値どうしの絶対値差分の総和を求める等）方法がある。実画像λ~tから、ハンドを認識する方法についても、同様である。
【０３６５】
さらに、傾き画像を切り出すための操作対象物体の重心としては、操作対象物体の状態zotのコンポーネントになっている位置sotを採用する他、操作対象物体の前景形状モデルσoを用い、その前景形状モデルσoの各位置が前景であることを表す確率分布の重心を採用することができる。
【０３６６】
操作対象物体の前景形状モデルσoの各位置が前景であることを表す確率分布の重心（以下、確率分布重心ともいう）は、式（４３）に従って求めることができる。
【０３６７】
【数４３】
2014081863.tif 000045
・・・（４３）
【０３６８】
ここで、式（４３）において、soc'は、操作対象物体のローカル座標系O'上の確率分布重心を表し、s'は、操作対象物体のローカル座標系O'上の位置を表す。
【０３６９】
また、σ(s')は、操作対象物体の前景形状モデルσoの、操作対象物体のローカル座標系O'上の位置s'の画素値、すなわち、位置s'が前景であることの確率を表す。
【０３７０】
さらに、式（４３）のサメーション（Σ）は、操作対象物体のローカル座標系O'上の位置s'が、操作対象物体の前景見えモデルμo上の点（位置）である場合について計算される。
【０３７１】
式（４３）で求められるのは、操作対象物体のローカル座標系O'上の確率分布重心soc'の座標であるため、傾き画像を切り出すときには、ローカル座標系O'上の確率分布重心soc'の座標は、世界座標系O上の座標に変換される。
【０３７２】
なお、傾き画像を切り出すための操作対象物体の重心が、その操作対象物体の物体基準座標系O''の原点とされる。したがって、操作対象物体の重心と、その操作対象物体の物体基準座標系Oの原点とは、一致する。
【０３７３】
エージェントは、以上のようにして、物体基準画像を生成した後、その物体基準画像から、ハンドを認識し、その認識結果として、物体基準座標系O''上のハンドの状態を得る。
【０３７４】
ここで、本実施の形態では、上述したように、ハンドは円形であり、姿勢は変化しない。そのため、操作モデルの学習では、ハンドの状態のうちの、姿勢に関する情報は、使用されず、位置に関する情報が使用される。
【０３７５】
エージェントは、物体基準座標系O''上のハンドの状態の他、物体基準座標系O''上の操作対象物体の状態変化を用いて、操作モデルの学習を行う。
【０３７６】
ところで、時刻tの実画像λ~tから時刻tの操作対象物体の重心を中心として傾き画像を切り出すことにより生成される物体基準画像については、その物体基準画像に映る操作対象物体の重心は、必ず、時刻tの実画像λ~tから生成される物体基準画像の中心、すなわち、時刻tの操作対象物体の物体基準座標系O''の原点に位置する。
【０３７７】
さらに、時刻tの実画像λ~tから時刻tの操作対象物体の重心を中心として傾き画像を切り出すことにより生成される物体基準画像に映る操作対象物体の姿勢は、その操作対象物体の前景見えモデルμoに映る操作対象物体の姿勢に一致する。
【０３７８】
したがって、実画像λ~tから、その実画像λ~tに映る操作対象物体の物体基準座標系O''を基準とする所定の範囲を切り出し、その所定の範囲を、物体基準座標系O''の傾きが0になるように回転することにより得られる物体基準画像においては、その物体基準画像に映る操作対象物体の状態（位置、姿勢）は変化しないので、操作対象物体の運動（状態変化）を観測することはできない。
【０３７９】
そこで、本技術では、現在時刻tから一定時間△tだけ離れた時刻としての、例えば、過去の時刻t-△tの操作対象物体の物体基準座標系O''において、現在時刻tの操作対象物体の状態を求め、その状態を、物体基準座標系O''上の、時刻t-△tから（現在）時刻tにかけての操作対象物体の状態変化として扱う。
【０３８０】
すなわち、時刻t-△tの操作対象物体の物体基準座標系O''での、現在時刻tの操作対象物体の位置と姿勢が、物体基準座標系O''上の、時刻t-△tから時刻tにかけての操作対象物体の位置変化と姿勢変化として求められる。
【０３８１】
図１７は、物体基準座標系O''上のハンドの状態、及び、体基準座標系O''上の操作対象物体の状態変化を求める求め方を説明する図である。
【０３８２】
なお、ここまでは、時間tが連続時間である（物体の状態が時々刻々と変化する）ことを前提としたが、以下では、時間（時刻）tとして、離散時間（時刻）を採用する。すなわち、所定の一定時間△tを単位時間として、物体の状態は、単位時間△tの間は変化しない（時刻t-△tの物体の状態は、時刻tの直前まで一定で、時刻tに瞬時に変化する）こととする。
【０３８３】
また、時間tとして、離散時間を採用することに伴い、物体（の前景#i）の時刻t-△tの状態zit-△tから、次の時刻tの状態zitへの状態の変化を、時刻t-△t（時刻t-△tから時刻tにかけて）の状態変化として扱い、△zit-△tと表す。
【０３８４】
ここで、状態zitとしては、位置sitと姿勢qitがあるが、位置sitと姿勢qitの変化である位置変化と姿勢変化についても、状態変化△zitと同様に表す。すなわち、位置変化は、△sitと表し、姿勢変化は、△qitと表す。
【０３８５】
また、時間tとして、離散時間を採用することに伴い、世界座標系Oにおいて、ハンドのアクションumtは、上述の式（３６）に示したように、位置smtと位置速度s・mtとで定義するのではなく、式umt＝［smt，△smt］として、位置smtと位置変化△smtとで定義する。
【０３８６】
アクションumt＝［smt，△smt］は、時刻tに、（世界座標系Oの）位置smtにあるハンドを、次の時刻t+△tまでに、（世界座標系Oで）位置変化△smtだけ移動するアクションを表す。
【０３８７】
なお、同様に、物体基準座標系O''でも、ハンドのアクションumt''は、上述の式（３７）に示したように、位置smt''と位置速度s・mt''とで定義するのではなく、式umt''＝［smt''，△smt''］として、位置smt''と位置変化△smt''とで定義する。
【０３８８】
エージェントは、物体基準座標系O''上のハンドの状態（位置）を、以下のようにして求める。
【０３８９】
すなわち、エージェントは、現在時刻tの実画像λ~tから、その実画像λ~tに映る操作対象物体を基準とする物体基準座標系O''（以下、現在時刻tの物体基準座標系Ot''、又は、単に、物体基準座標系Ot''ともいう）を基準とする所定の範囲を切り出し、現在時刻tの物体基準座標系Ot''の傾きが0になるように回転することにより得られる物体基準画像（以下、現在時刻物体基準画像POt''ともいう）を生成する。
【０３９０】
そして、エージェントは、現在時刻物体基準画像POt''から、ハンドを認識することにより、図１７に示すように、現在時刻物体基準画像POt''に映るハンドの位置と位置変化（状態変化）を、物体基準座標系O''でのハンドの位置smt''と位置変化（状態変化）△smt''として求める。
【０３９１】
ここで、エージェントは、物体基準座標系O''でのハンドの位置smt''の他、位置変化△smt''も求める。
【０３９２】
時刻tのハンドの位置変化△smt''は、ここでは、時刻tから時刻t+△tにかけてのハンドの位置の変化であり、時刻tの現在時刻物体基準画像POt''に映るハンドの位置smt''が求められ、さらに、次の時刻t+△tの現在時刻物体基準画像POt+△t''に映るハンドの位置smt+△t''が求められた後に、時刻t+△tのハンドの位置smt+△t''から、時刻tのハンドの位置smt''を減算することで求めることができる。
【０３９３】
したがって、時刻tのハンドの位置smt''と位置変化△smt''が求められるのは、正確には、次の時刻t+△tの現在時刻物体基準画像POt+△t''に映るハンドの位置smt+△t''が求められた後であるが、以下、適宜、説明を簡単にするために、時刻tに、その時刻tのハンドの位置smt''と位置変化△smt''が求められることとする。
【０３９４】
エージェントは、以上のようにして、物体基準座標系O''でのハンドの位置smt''、及び、位置変化△smt''を求める他、物体基準座標系O''上の操作対象物体の状態変化を、以下のようにして求める。
【０３９５】
すなわち、エージェントは、現在時刻tの実画像λ~tから、現在時刻tの直前の時刻である前時刻t-△tの実画像λ~tに映る操作対象物体を基準とする物体基準座標系O''（以下、前時刻t-△tの物体基準座標系Ot-△t''、又は、単に、物体基準座標系Ot-△t''ともいう）を基準とする所定の範囲を切り出し、前時刻t-△tの物体基準座標系Ot-△t''の傾きが0になるように回転することにより得られる物体基準画像（以下、前時刻物体基準画像QOt''ともいう）を生成する。
【０３９６】
そして、エージェントは、前時刻物体基準画像QOt''から、操作対象物体を認識することにより、図１７に示すように、前時刻物体基準画像QOt''に映る操作対象物体の位置と姿勢、すなわち、前時刻t-△tから現在時刻tにかけての操作対象物体の位置の変化と姿勢の変化を、物体基準座標系O''での操作対象物体の位置変化△sot-△t''と姿勢変化△qot-△t''として求める。
【０３９７】
ここで、（現在）時刻tにおいて、前時刻物体基準画像QOt''から求められる操作対象物体の位置変化△sot-△t''と姿勢変化△qot-△t''は、時刻t-△t（時刻t-△tから時刻tにかけて）の操作対象物体の位置と姿勢の変化である。
【０３９８】
したがって、時刻tの操作対象物体の位置変化△sot''と姿勢変化△qot''が求められるのは、次の時刻t+△tの前時刻物体基準画像QOt+△t''に映る操作対象物体の位置と姿勢が求められた後であるが、以下、適宜、説明を簡単にするために、時刻tに、その時刻tの操作対象物体の位置変化△sot-△t''と姿勢変化△qot-△t''が求められることとする。
【０３９９】
以上のように、エージェントは、現在時刻物体基準画像POt''から、物体基準座標系O''でのハンドの位置smt''と位置変化△smt''を求めるとともに、前時刻物体基準画像QOt''から、物体基準座標系O''での操作対象物体の位置変化△sot''と姿勢変化△qot''を求める。
【０４００】
そして、エージェントは、物体基準座標系O''でのハンドの位置smt''と位置変化△smt''、及び、物体基準座標系O''での操作対象物体の位置変化△sot''と姿勢変化△qot''を用いて、操作モデルの学習を行う。
【０４０１】
図１８は、物体基準座標系O''でのハンドの位置smt''と位置変化△smt''、及び、物体基準座標系O''での操作対象物体の位置変化△sot''と姿勢変化△qot''それぞれどうしの関係を示すグラフィカルモデルである。
【０４０２】
図１８のグラフィカルモデルでは、時刻tにおいて、ハンドは、位置smt''にあり（位置smt''にある状態になっており）、操作対象物体は、状態zotになっている。
【０４０３】
そして、時刻tから次の時刻t+△tにかけて、位置smt''にあるハンドが、位置変化△smt''だけ移動すると（ハンドの位置が、△smt''だけ位置（状態）変化すると）、操作対象物体には、（△sot''，△qot''）だけの状態変化、すなわち、△sot''だけの位置変化と、△qot''だけの姿勢変化が生じる。
【０４０４】
その結果、時刻t+△tにおいて、操作対象物体は、状態zot+△tになる。
【０４０５】
物体基準座標系O''でのハンドの位置smt''及び位置変化△smt''と、物体基準座標系O''での操作対象物体の位置変化△sot''及び姿勢変化△qot''との関係は、関数F()及びG()を用いて、式（４４）及び式（５５）で表すことができる。
【０４０６】
【数４４】
2014081863.tif 000046
・・・（４４）
【数４５】
2014081863.tif 000047
・・・（４５）
【０４０７】
式（４４）は、操作対象物体を基準として、ハンドをどの位置からどのように動かすと、操作対象物体の状態がどのように変化するかを表現している。
【０４０８】
したがって、式（４４）の関数F()は、ハンドのアクションumt''である位置（状態）smt''と位置変化（状態変化）△smt''から、操作対象物体の状態変化△zot''である位置変化△sot''及び姿勢変化△qot''を予測する予測モデル（順モデル）を表す。
【０４０９】
一方、式（４５）は、操作対象物体に、目標とするある状態変化を生じさせたいときに、その状態変化を生じさせるために、操作対象物体を基準として、ハンドをどの位置からどのように動かせばよいかを表現している。
【０４１０】
したがって、式（４５）の関数G()は、操作対象物体の、目標とする状態変化△zot''＝（△sot''，△qot''）から、その状態変化△zot''を生じさせるハンドの制御としてのハンドのアクションumt''である位置（状態）smt''と位置変化（状態変化）△smt''の算出を行う制御モデル（逆モデル）を表す。
【０４１１】
エージェントは、物体基準座標系O''でのハンドの位置smt''と位置変化△smt''、及び、物体基準座標系O''での操作対象物体の位置変化△sot''と姿勢変化△qot''を用いて、予測モデルである式（４４）の関数F()（以下、予測モデルF()ともいう）、及び、制御モデルである式（４５）の関数G()（以下、制御モデルG()ともいう）としての操作モデルの学習を行う。
【０４１２】
［第4.3節  操作モデルの具体的な実装］
【０４１３】
予測モデルF()及び制御モデルG()としての操作モデルは、確率モデルとして定式化することができる。
【０４１４】
例えば、予測モデルF()は、ハンドが位置smt''から△smt''だけ位置変化した場合に、操作対象物体に状態変化△zot''である位置変化△sot''及び姿勢変化△qot''が生じる確率P（△sot''，△qot''｜smt''，△smt''）を表す確率モデルとして定式化することができる。
【０４１５】
予測モデルF()としての操作モデルを確率モデルとして実装し、ハンドの位置smt''及び位置変化△smt''、並びに、操作対象物体の位置変化△sot''及び姿勢変化△qot''を用いて、操作モデルの学習を行う方法としては、変数を離散化し、ハンドが位置smt''から△smt''だけ位置変化した場合に、操作対象物体に位置変化△sot''及び姿勢変化△qot''が生じる頻度をカウントするための頻度テーブルを設ける方法がある。
【０４１６】
図１９及び図２０は、確率モデルとして実装する操作モデルの例を示す図である。
【０４１７】
本実施の形態では、操作モデルは、位置テーブルから構成される。
【０４１８】
図１９は、位置テーブルの例を示す図である。
【０４１９】
位置テーブルは、図１６で説明した傾き画像を切り出すときの所定の範囲と同一の範囲を、例えば、格子状のフィールドに区切った２次元のテーブルであり、各フィールドには、ユニークなインデクスが割り当てられる。
【０４２０】
図１９では、位置テーブルは、物体基準座標系O''のx''軸及びy''軸それぞれの方向に、等間隔に区切られ、正方形状のD個のフィールドを有している。
【０４２１】
また、図１９では、２次元の位置テーブルの各フィールドに対し、左上のフィールドから、x''軸方向、さらには、y''軸方向に向かって、1からのシーケンシャルな整数が、インデクス#dとして割り当てられている。
【０４２２】
位置テーブルのフィールド（以下、位置フィールドともいう）に割り当てられたインデクス#dは、D個に離散化されるハンドの位置smt''を表現する。
【０４２３】
位置テーブルの各位置フィールドは、その位置フィールドの位置（その位置フィールドに離散化された位置）smt''から、ハンドが△smt''だけ位置変化した場合に、操作対象物体に位置変化△sot''及び姿勢変化△qot''が生じる頻度をカウントするための頻度テーブルを有する。
【０４２４】
図２０は、頻度テーブルの例を示す図である。
【０４２５】
いま、ハンドの位置変化△smt''をJ個に、操作対象物体の位置変化△sot''をK個に、操作対象物体の姿勢変化△qot''をH個に、それぞれ離散化することとすると、位置テーブルの各位置フィールドは、横×縦×高さがJ×K×H個のフィールドを有する３次元の頻度テーブルを有する。
【０４２６】
３次元の頻度テーブルの所定の頂点から、横方向にj番目で、縦方向にk番目で、高さ方向にh番目のフィールド（以下、頻度フィールドともいう）には、例えば、３つ（３次元）のインデクス#j，#k、及び、#hが割り当てられる。
【０４２７】
インデクス#jは、J個に離散化されるハンドの位置変化△smt''を、インデクス#kは、K個に離散化される操作対象物体の位置変化△sot''を、インデクス#hは、H個に離散化される操作対象物体の姿勢変化△qot''を、それぞれ表現する。
【０４２８】
なお、本実施の形態では、頻度テーブルのフィールドの数が膨大になることを防止するため、ハンドの位置変化△smt''、操作対象物体の位置変化△sot''、及び、操作対象物体の姿勢変化△qot''の離散化は、例えば、以下のように行う。
【０４２９】
すなわち、ハンドの位置変化△smt''については、大きさを無視して、方向（角度）だけを扱うこととする。
【０４３０】
具体的には、ハンドの位置変化△smt''については、-πないしπの範囲を出力する逆正接の関数arctan2(△smt'')を演算することにより、-πないしπの範囲の角度に変換し、-πないしπの範囲を等間隔にJ個に区分した、いずれかの区分（に対応するインデクス#j）に離散化する。
【０４３１】
操作対象物体の位置変化△sot''についても、同様とする。すなわち、操作対象物体の位置変化△sot''については、逆正接の関数arctan2(△sot'')を演算することにより、-πないしπの範囲の角度に変換し、-πないしπの範囲を等間隔にK個に区分した、いずれかの区分（に対応するインデクス#k）に離散化する。
【０４３２】
また、操作対象物体の姿勢変化△qot''については、回転しているかどうか（回転の角度の大きさが0とみなせるかどうか）と、回転している場合（回転の角度の大きさが0とみなせない場合）には、回転の角度の大きさを無視して、回転の方向だけを扱うこととする。
【０４３３】
具体的には、操作対象物体の姿勢変化△qot''については、正方向の回転（時計回り、及び、反時計回りのうちの、例えば、反時計回り）、負方向の回転、及び、回転なし（姿勢の変化がない）のうちのいずれかに離散化する。
【０４３４】
したがって、操作対象物体の姿勢変化△qot''は、H＝3値に離散化される。
【０４３５】
図２０では、操作対象物体の姿勢変化△qot''については、姿勢変化△qot''が所定値ε（＞0）より大である場合（正方向の回転である場合）、インデクス#h=1に離散化され、姿勢変化△qot''が-ε未満である場合（負方向の回転である場合）、インデクス#h=2に離散化される。また、姿勢変化△qot''がないとみなせる場合、すなわち、姿勢変化△qot''の絶対値｜△qot''｜が所定値ε以下である場合、姿勢変化△qot''は、インデクス#h=3に離散化される。
【０４３６】
ここで、J×K×H個のフィールドを有する３次元の頻度テーブルのうちの、高さ方向にh番目の、横×縦がJ×K個のフィールドを有する２次元のテーブルを、頻度テーブル#hともいう。
【０４３７】
図２０では、操作対象物体の姿勢変化△qot''は、H＝3値に離散化されるので、３次元の頻度テーブルは、２次元の頻度テーブル#1，#2、及び、#3を有する。
【０４３８】
なお、図２０では、図が煩雑になるのを避けるため、３次元の頻度テーブルを、２次元の頻度テーブル#1ないし#3に分け、並べて図示してある。
【０４３９】
エージェントにおいて、以上のような頻度テーブルを有する位置テーブルから構成される操作モデルの学習は、例えば、以下のようにして行われる。
【０４４０】
すなわち、エージェントは、ハンドを、環境中の様々な位置から、操作対象物体と衝突（接触）するように適当に動かし、図１６及び図１７で説明したようにして、実画像λ~tから、ハンドの位置smt''、及び、その位置smt''からの位置変化△smt''、並びに、ハンドが、位置smt''からの位置変化△smt''だけ動いたときの操作対象物体の位置変化△sot''及び姿勢変化△qot''を、操作モデルの学習に用いる学習データとして、時間△tごとに収集する。
【０４４１】
さらに、エージェントは、学習データとしてのハンドの位置smt''及び位置変化△smt''、並びに、操作対象物体の位置変化△sot''及び姿勢変化△qot''を、それぞれ、インデクス#d，#j，#k、及び、#hに離散化する。
【０４４２】
そして、エージェントは、学習データとしてのハンドの位置smt''及び位置変化△smt''、並びに、操作対象物体の位置変化△sot''及び姿勢変化△qot''を離散化したインデクス#d，#j，#k、及び、#hを用いて、操作モデルの追加学習を行う。
【０４４３】
すなわち、エージェントは、位置テーブル（図１９）から、学習データとしてのハンドの位置smt''を離散化したインデクス#dが割り当てられた位置フィールドを特定する。
【０４４４】
さらに、エージェントは、学習データとしてのハンドの位置smt''を離散化したインデクス#dが割り当てられた位置フィールドが有する頻度テーブル（図２０）から、学習データとしてのハンドの位置変化△smt''、並びに、操作対象物体の位置変化△sot''及び姿勢変化△qot''をそれぞれ離散化したインデクス#j，#k、及び、#hが割り当てられた頻度フィールドを、更新対象の頻度フィールド（以下、更新対象フィールドともいう）として特定する。
【０４４５】
そして、エージェントは、更新対象フィールドである頻度フィールドに記憶された頻度、すなわち、学習データとしてのハンドの位置smt''及び位置変化△smt''、並びに、操作対象物体の位置変化△sot''及び姿勢変化△qot''（を離散化したインデクス#d，#j，#k、及び、#h）が出現した出現頻度を、1だけインクリメントする。
【０４４６】
ここで、頻度テーブルの頻度フィールドに記憶された、ハンドの位置smt''及び位置変化△smt''、並びに、操作対象物体の位置変化△sot''及び姿勢変化△qot''が出現した出現頻度とは、物体基準座標系O''において、位置smt''にいたハンドが、位置変化△smt''だけ移動することによって、操作対象物体の位置変化△sot''及び姿勢変化△qot''が生じた頻度（回数）Ｎ（△sot''，△qot''，smt''，△smt''）を表す。
【０４４７】
操作対象物体の位置変化△sot''及び姿勢変化△qot''にかかわらず、位置smt''にいたハンドが、位置変化△smt''だけ移動した頻度（回数）を、Ｎ（smt''，△smt''）と表すこととすると、ハンドが位置smt''から△smt''だけ位置変化した場合に、操作対象物体に位置変化△sot''及び姿勢変化△qot''が生じる確率P（△sot''，△qot''｜smt''，△smt''）は、式（４６）に従って求めることができる。
【０４４８】
【数４６】
2014081863.tif 000048
・・・（４６）
【０４４９】
頻度フィールドには、頻度Ｎ（△sot''，△qot，smt''，△smt''）とともに、確率P（△sot''，△qot''｜smt''，△smt''）を記憶しておくことができる。
【０４５０】
以上のように、操作モデルは、物体基準座標系O''の各位置smt''（を離散化したインデクス#d）において、ハンドの状態（位置）が変化したときの、ハンドの位置smt''及び位置（状態）変化△smt''（を離散化したインデクス#j）と、（インデクス#k及び#hにそれぞれ離散化された）操作対象物体の位置変化△sot''及び姿勢変化△qotとが出現する頻度が記憶される頻度フィールドからなる頻度テーブルを含む。
【０４５１】
そして、エージェントは、物体基準座標系O''の所定の位置smt''において、ハンドに、所定の位置変化△smt''が生じることによって、操作対象物体に、所定の位置変化△sot''及び姿勢変化△qotが生じた場合に、頻度テーブルの、位置smt''、位置変化△smt''、位置変化△sot''、及び、姿勢変化△qotに対応する頻度フィールドに記憶された頻度、すなわち、所定の位置smt''において生じたハンドの所定の状態変化△smt''によって、操作対象物体に所定の位置変化△sot''及び姿勢変化△qotが生じる頻度をインクリメントすることにより、操作モデルの（追加）学習を行う。
【０４５２】
その結果、操作モデルでは、操作対象物体を基準とする物体基準座標系O''の各位置smt''において、ハンドの状態が位置smt''から所定の位置変化△smt''だけ変化したときの、そのハンドの位置smt''及び位置（状態）変化△smt''と、ハンドの位置変化△smt''によって生じる操作体操物体の状態変化としての位置変化△sot''及び姿勢変化△qotとが対応付けられる。
【０４５３】
すなわち、操作モデルでは、物体基準座標系O''上において、ハンドが、位置smt''から所定の位置変化△smt''だけ移動したときに、操作対象物体に、位置変化△sot''及び姿勢変化△qotが生じる可能性（確率）を獲得することができる。
【０４５４】
エージェントは、以上のような操作モデルを用いて、ハンドが行うアクションを、以下のように決定する。
【０４５５】
すなわち、例えば、いま、図１５、及び、式（３９）ないし式（４１）で説明したように、操作対象物体を、現在状態から目標状態に変化させるための、物体基準座標系O''上の目標状態変化dzo,tgtt''が求められていることとする。
【０４５６】
エージェントは、目標状態変化dzo,tgtt''に基づき、例えば、目標状態変化dzo,tgtt''のコンポーネント（式（４１））である目標位置変化dso,tgtt''や目標姿勢変化dqo,tgtt''の大きさに応じて大になる値を、目標状態変化dzo,tgtt''を達成するのに行うアクションの回数（以下、達成回数ともいう）Ttgtとして求める。
【０４５７】
さらに、エージェントは、式（４７）に従い、目標状態変化dzo,tgtt''を、達成回数Ttgtに基づいて分割することで、目標状態変化dzo,tgtt''を、達成回数Ttgtで達成するための、単位時間△tあたりの状態変化△zo,tgtt''を、操作対象物体の状態zotが目標状態zo,tgttになるために現在時刻tに必要な操作対象物体の状態の変化量（以下、単位変化量ともいう）として求める。
【０４５８】
【数４７】
2014081863.tif 000049
・・・（４７）
【０４５９】
なお、達成回数Ttgtとしては、目標状態変化dzo,tgtt''の大きさに応じて求められる値の他、例えば、あらかじめ決められた固定の値を採用することができる。
【０４６０】
エージェントは、式（４７）の単位変化量△zo,tgtt''＝（dso,tgtt''／Ttgt，dqo,tgtt''／Ttgt）を求めると、操作モデルを用い、式（４８）に従って、単位変化量△zo,tgtt''だけの状態変化としての位置変化dso,tgtt''／Ttgt及び姿勢変化dqo,tgtt''／Ttgtを操作対象物体に生じさせる頻度（確率）が最も高い物体基準座標系O''上のハンドの位置smt''と位置（状態）変化△smt''とを、ハンドのアクションumt''に決定する。
【０４６１】
【数４８】
2014081863.tif 000050
・・・（４８）
【０４６２】
式（４８）において、argmaxは、確率P（△sot''＝dso,tgtt''／Ttgt，△qot''＝dqo,tgtt''／Ttgt｜smt''，△smt''）を最大にするsmt''及び△smt''を求めることを表し、smt''*及び△smt''*は、それぞれ、確率P（△sot''＝dso,tgtt''／Ttgt，△qot''＝dqo,tgtt''／Ttgt｜smt''，△smt''）を最大にするsmt''及び△smt''を表す。
【０４６３】
操作モデルを用いて決定されるアクションumt''は、物体基準座標系O''上で表現されるアクションであるため、エージェントは、その物体基準座標系O''上のアクションumt''を、式（３８）に従って、世界座標系O上のアクションumtに変換し、ハンドに、そのアクションumtを行わせる。
【０４６４】
ここで、ハンドのアクションを入力として、操作対象物体の状態変化を出力する順モデルの逆モデルを解くことにより、ある目標状態変化を達成するアクションを求める場合には、一般に、ある目標状態変化を達成するアクションとしては、複数のアクションの候補が存在し、本技術の操作モデルを用いる場合も同様である。
【０４６５】
しかしながら、操作対象物体に、所定の状態変化を生じさせるハンドのアクションとして、複数のアクションが存在しても、操作モデルの学習において、その複数のアクションのそれぞれが、操作対象物体の所定の状態変化に対して、同一の回数（頻度）だけ生じることは、極めて稀である。
【０４６６】
すなわち、操作対象物体に、所定の状態変化を生じさせるハンドのアクションとして、複数のアクションが存在しても、操作モデルの学習で獲得される、所定の状態変化を生じさせる複数のアクションそれぞれがその所定の状態変化を生じさせる頻度には、ばらつきが生じる。
【０４６７】
したがって、操作モデルにおいて、操作対象物体に所定の状態変化を生じさせる頻度が最も高いハンドのアクションを選択することにより、所定の状態変化を生じさせるハンドのアクションとして、複数のアクションが存在しても、その複数のアクション（複数の解）の中から、ハンドが行うべきアクションとして、１つのアクション（１つの解）を決定することができる。
【０４６８】
なお、操作モデルにおいて、式（４７）の単位変化量△zo,tgtt''＝（dso,tgtt''／Ttgt，dqo,tgtt''／Ttgt）だけの状態変化としての位置変化dso,tgtt''／Ttgt及び姿勢変化dqo,tgtt''／Ttgtを操作対象物体に生じさせる頻度が最も高い物体基準座標系O''上のハンドの位置smt''と位置変化△smt''とのセットが、複数セット存在する場合には、エージェントは、その複数セットの中から、例えば、ランダムに、1セットを選択し、その1セットを構成するハンドの位置smt''と位置変化△smt''を、ハンドのアクションumt''に決定する。
【０４６９】
また、本実施の形態では、操作モデルにおいて、ハンドの位置smt''及び位置変化△smt''、並びに、操作対象物体の位置変化△sot''及び姿勢変化△qot''は、それぞれ、インデクス#d，#j，#k、及び、#hに離散化されて扱われるため、エージェントによるハンドのアクションumt''の決定は、正確には、インデクス#d，#j，#k、及び、#hを用いて行われる。
【０４７０】
すなわち、エージェントは、単位変化量△zo,tgtt''だけの状態変化としての位置変化dso,tgtt''／Ttgt及び姿勢変化dqo,tgtt''／Ttgtを、それぞれ、インデクス#k及び#hに離散化する。
【０４７１】
いま、目標状態変化dzo,tgtt''の単位変化量△zo,tgtt''だけの状態変化としての位置変化dso,tgtt''／Ttgt及び姿勢変化dqo,tgtt''／Ttgtの離散化の結果得られるインデクス#k及び#hを、それぞれ、#k*及び#h*と表すこととすると、エージェントは、操作モデル（図２０）において、インデクス#k及び#hが、それぞれ、値#k*及び#h*である頻度フィールドの中で、頻度フィールドに記憶されている頻度が最大の頻度フィールド（以下、最大頻度フィールドともいう）を選択する。
【０４７２】
いま、最大頻度フィールドに割り当てられている、ハンドの位置smt''及び位置変化△smt''を離散化したインデクス#d及び#jを、それぞれ、#d*及び#j*と表すこととする。
【０４７３】
エージェントは、インデクス#d*に離散化されるハンドの位置（物体基準座標系O''上の位置）の範囲の代表値（例えば、平均値や、x''及びy''座標が最小又は最大の位置等）を、ハンドのアクションumt''のコンポーネントとなる位置smt''に決定する。
【０４７４】
さらに、エージェントは、インデクス#j*に離散化されるハンドの位置変化（物体基準座標系O''での位置変化）の範囲の代表値（例えば、平均値や、最小又は最大の位置変化等）を、ハンドのアクションumt''のコンポーネントとなる位置変化△smt''に決定する。
【０４７５】
なお、本実施の形態では、ハンドの位置変化△smt''は、関数arctan2(△smt'')により-πないしπの範囲の角度に変換され、その角度が、インデクス#jに離散化される。したがって、インデクス#jに離散化されるハンドの位置変化の範囲の代表値、ひいては、ハンドのアクションumt''に決定される位置変化△smt''は、方向（角度）だけを有し、大きさを有しない。
【０４７６】
そのため、エージェントは、ハンドのアクションumt''に決定される位置変化△smt''の大きさとして、例えば、あらかじめ決められた所定の大きさを採用する。
【０４７７】
［第5章  本技術を適用したエージェントの一実施の形態］
【０４７８】
図２１は、本技術を適用したエージェントの一実施の形態の構成例を示すブロック図である。
【０４７９】
図２１において、エージェントは、アクチュエータ制御部１１、カメラ１２、見えモデル学習部１３、見えモデル記憶部１４、操作モデル学習部１５、操作モデル記憶部１６、目標状態生成部１７、変化量算出部１８、世界座標変換部１９、変化量時分割部２０、アクション決定部２１、及び、物体基準座標変換部２２を有する。
【０４８０】
アクチュエータ制御部１１には、操作モデル学習部１５から、前景#iの（現在の）状態zitが供給されるとともに、物体基準座標変換部２２から、ハンドの世界座標系O上のアクションumtが供給される。
【０４８１】
アクチュエータ制御部１１は、操作モデル学習部１５からの前景#iの状態zitのうちの、ハンド（の前景#m）の状態zmtと、物体基準座標変換部２２からのアクションumtとに基づいて、例えば、エージェントのアーム等を駆動するアクチュエータを制御し、これにより、アームの先端に取り付けられたハンドが、アクションumtを行う。
【０４８２】
すなわち、ハンドは、操作モデル学習部１５からの前景#iの状態zitのうちの、ハンド（の前景#m）の状態zmtとしての現在位置smtから、物体基準座標変換部２２からのアクションumtのコンポーネントになっている位置（状態）smtに移動される。
【０４８３】
そして、ハンドは、現在位置、すなわち、物体基準座標変換部２２からのアクションumtのコンポーネントになっている位置smtから、同じく、物体基準座標変換部２２からのアクションumtのコンポーネントになっている位置（状態）変化△smtだけ移動される。
【０４８４】
カメラ１２は、エージェントがおかれている環境の画像を、所定のフレームレートで撮影し、エージェントが観測可能な画像の観測値（実画像）λ~tとして、見えモデル学習部１３、及び、操作モデル学習部１５に供給する。
【０４８５】
見えモデル学習部１３は、カメラ１２からの実画像λ~tを用いて、見えモデル記憶部１４に記憶された前景見えモデルμi、及び、背景見えモデルμwの学習（見えモデルの学習）を行う。
【０４８６】
見えモデル記憶部１４は、見えモデル学習部１３によって学習される前景見えモデルμi、及び、背景見えモデルμwを記憶する。
【０４８７】
操作モデル学習部１５は、カメラ１２からの実画像λ~t、及び、見えモデル記憶部１５に記憶された前景見えモデルμi等を用いて、操作モデル記憶部１６に記憶された操作モデルの学習を行う。
【０４８８】
なお、操作モデル学習部１５は、操作モデルの学習にあたり、学習カメラ１２からの実画像λ~t、並びに、見えモデル記憶部１４に記憶された前景見えモデルμi、及び、背景見えモデルμwを用いて、前景#iの状態zitを推定する。操作モデル学習部１５で推定された前景#iの状態zitは、アクチュエータ制御部１１、目標状態生成部１７、変化量算出部１８、世界座標変換部１９、及び、物体基準座標変換部２２に供給される。
【０４８９】
操作モデル記憶部１６は、操作モデル学習部１５によって学習される操作モデルを記憶する。
【０４９０】
目標状態生成部１７は、操作対象物体（の前景#o）の目標状態zo,tgttを生成し、変化量算出部１８に供給する。
【０４９１】
すなわち、目標状態生成部１７は、操作モデル学習部１５から供給される前景#iの状態zitのうちの、操作対象物体（の前景#o）の状態zotと、直前に生成された目標状態zo,tgttとが一致していない場合、つまり、操作対象物体が、直前に生成された目標状態zo,tgttになっていない場合、直前に生成された目標状態zo,tgttを、変化量算出部１８に供給する（供給し続ける）。
【０４９２】
一方、操作モデル学習部１５から供給される操作対象物体の状態zotと、直前に生成された目標状態zo,tgttとが一致している場合、つまり、操作対象物体が、直前に生成された目標状態zo,tgttになった場合、目標状態生成部１７は、新たな目標状態zo,tgttを生成し、変化量算出部１８に供給する。
【０４９３】
なお、目標状態生成部１７では、例えば、ユーザの操作や所定のアルゴリズムに従って、操作対象物体の目標状態zo,tgttを生成することができる。その他、目標状態生成部１７では、例えば、ランダムに、目標状態zo,tgttを生成することができる。
【０４９４】
変化量算出部１８は、操作モデル学習部１５から供給される前景#iの状態zitのうちの、操作対象物体の（現在の）状態zotと、目標状態生成部１７からの操作対象物体の目標状態zo,tgttとを用い、式（４０）に従って、世界座標系O上での目標状態変化dzo,tgtt（目標位置変化dqo,tgtt及び目標姿勢変化dqo,tgtt）を求めて、世界座標変換部１９に供給する。
【０４９５】
世界座標変換部１９は、操作モデル学習部１５から供給される前景#iの状態zitのうちの、操作対象物体の状態zotとしての姿勢qotを用いて、式（４２）を演算することにより、変化量算出部１８からの世界座標系O上での目標状態変化dzo,tgtt（目標位置変化dsqo,tgtt及び目標姿勢変化dqo,tgtt）を、式（４１）の物体基準座標系O''上での目標状態変化dzo,tgtt''（目標位置変化dqo,tgtt''及び目標姿勢変化dqo,tgtt''）に変換し、変化量時分割部２０に供給する。
【０４９６】
変化量時分割部２０は、式（４７）に従い、世界座標変換部１９からの目標状態変化dzo,tgtt''を、達成回数Ttgtに基づいて分割することで、単位変化量△zo,tgtt''＝（△so,tgtt''，△qo,tgtt''）＝（dso,tgtt''／Ttgt，dqo,tgtt''／Ttgt）を求め、アクション決定部２１に供給する。
【０４９７】
アクション決定部２１は、操作モデル記憶部１６に記憶された操作モデルを用い、変化量時分割部２０からの単位変化量△zo,tgtt''だけの状態変化としての位置変化△so,tgtt''＝dso,tgtt''／Ttgt及び姿勢変化△qo,tgtt''＝dqo,tgtt''／Ttgtを操作対象物体に生じさせる頻度（確率）が最も高い物体基準座標系O''上のハンドの位置smt''及び位置変化△smt''を、ハンドのアクションumt''に決定し、物体基準座標変換部２２に供給する。
【０４９８】
物体基準座標変換部２２は、操作モデル学習部１５から供給される前景#iの状態zitのうちの、操作対象物体の状態zotとしての姿勢qotを用いて、式（３８）を演算することにより、アクション決定部２１からのハンドのアクションumt''、すなわち、物体基準座標系O''で表現されるアクションアクションumt''を、世界座標系Oで表現されるアクションumtに変換し、アクチュエータ制御部１１に供給する。
【０４９９】
図２２は、図２１の見えモデル学習部１３の構成例を示すブロック図である。
【０５００】
モデル学習部１３は、前景状態推定部３１、及び、見えモデル更新部３２を有する。
【０５０１】
前景状態推定部３１、及び、見えモデル更新部３２には、カメラ１２から、実画像λ~tが供給される。
【０５０２】
前景状態推定部３１は、カメラ１２からの実画像λ~t、並びに、見えモデル記憶部１４に記憶された前景見えモデルμi、及び、背景見えモデルμwを用いて、カメラ１２からの実画像λ~t上の前景#iの状態zitを推定し、その推定の結果として、状態zitのパーティクルzi(l)t及び重みwi(l)tを、見えモデル更新部３２に供給する。
【０５０３】
見えモデル更新部３２は、カメラ１２からの実画像λ~tと、前景状態推定部３１から供給される前景#iの状態zitの推定の結果としての状態zitのパーティクルzi(l)t及び重みwi(l)tとを用いて、見えモデル記憶部１４に記憶された前景見えモデルμi、及び、背景見えモデルμwを更新する。
【０５０４】
すなわち、見えモデル更新部３２は、式（２１）ないし式（２４）に従って、前景見えモデルμiのうちの前景テクスチャモデルτiを更新し、式（３１）ないし式（３５）に従って、前景見えモデルμiのうちの前景形状モデルσiを更新する。
【０５０５】
また、見えモデル更新部３２は、式（２５）ないし式（３０）に従って、背景見えモデルμw（背景テクスチャモデルτw）を更新する。
【０５０６】
ここで、図２２において、前景状態推定部３１は、見えモデル尤度計算部４１、状態パーティクル更新部４２、状態パーティクル記憶部４３、及び、推定観測値生成部４４を有する。
【０５０７】
見えモデル尤度計算部４１には、カメラ１２から画像の観測値（実画像）λ~tが供給されるとともに、推定観測値生成部４４から、生成モデルで観測される観測画像（生成モデルとしての前景見えモデルμi及び背景見えモデルμwから生成される画像）λi(l)tが供給される。
【０５０８】
見えモデル尤度計算部４１は、カメラ１２からの実画像λ~tと、推定観測値生成部４４からの観測画像λi(l)tとを用い、式（１９）に従って、注目している前景#iが、パーティクルとしての状態zi(l)tになっているときの、前景#iの観測値xitの観測尤度p(xit|zi(l)t)を求めて、状態パーティクル更新部４２に供給する。
【０５０９】
状態パーティクル更新部４２は、状態パーティクル記憶部４３に記憶された時刻t-1のパーティクルとしての状態zi(l)t-1から、式（１８）に従って、次の時刻tの状態zitとしてのパーティクルzi(l)tを求める、パーティクルの遷移先の予測（算出）を行う。
【０５１０】
状態パーティクル更新部４２は、次の時刻tの状態zitとしてのパーティクルzi(l)tを、状態パーティクル記憶部４３に供給し、時刻t-1のパーティクルとしての状態zi(l)t-1に代えて記憶させる。
【０５１１】
さらに、状態パーティクル更新部４２は、見えモデル尤度計算部４１からの観測尤度p(xit|zi(l)t)を用いて、式（１２）に従い、パーティクルzi(l)tの重みwi(l)tを求め、パーティクルzi(l)tと同様に、状態パーティクル記憶部４３に供給して記憶させる。
【０５１２】
また、状態パーティクル更新部４２は、パーティクルzi(l)tの重みwi(l)tに対応する確率で、パーティクルzi(l)tを選択するリサンプリングを行い、状態パーティクル記憶部４３に記憶されたパーティクルzi(l)tを、リサンプリング結果に書き換える。
【０５１３】
リサンプリング結果としてのパーティクルzi(l)tは、次の時刻t+1の観測尤度p(xit+1|zi(l)t+1)が得られた後に、式（１８）に従って、時刻t+1の状態zit+1としてのパーティクルzi(l)t+1を予測するときに用いられる。
【０５１４】
状態パーティクル記憶部４３は、状態パーティクル更新部４２が更新する、前景の状態zitとしてのパーティクルzi(l)tと、その重みwi(l)tとを記憶する。
【０５１５】
推定観測値生成部４４は、見えモデル記憶部１４に記憶された前景見えモデルμi、及び、背景見えモデルμwを用い、前景の状態が、状態パーティクル記憶部４３に記憶された各パーティクルとしての状態zi(l)tになっている観測画像（生成モデルにおいて観測される画像）λi(l)tを、式（２０）に従って生成し、見えモデル尤度計算部４１に供給する。
【０５１６】
図２３は、図２１の操作モデル学習部１５の構成例を示すブロック図である。
【０５１７】
操作モデル学習部１５は、前景状態推定部５１、物体基準画像生成部５２及び５３、前景認識部５４及び５５、並びに、操作モデル更新部５６を有する。
【０５１８】
前景状態推定部５１、並びに、物体基準画像生成部５２及び５３には、カメラ１２から、実画像λ~tが供給される。
【０５１９】
前景状態推定部５１は、図２２の前景状態推定部３１と同様に構成される。
【０５２０】
前景状態推定部５１は、図２２の前景状態推定部３１と同様に、カメラ１２からの実画像λ~t、並びに、見えモデル記憶部１４に記憶された前景見えモデルμi、及び、背景見えモデルμwを用いて、カメラ１２からの実画像λ~t上の前景#iの状態zitを推定する。
【０５２１】
そして、前景状態推定部５１は、前景#iの状態zitを、アクチュエータ制御部１１、目標状態生成部１７、変化量算出部１８、世界座標変換部１９、及び、物体基準座標変換部２２に供給する。
【０５２２】
なお、前景状態推定部５１では、図２２の前景状態推定部３１と同様に、カメラ１２からの実画像λ~t上の前景#iの状態zitの推定が行われることにより、その推定の結果として、状態zitのL個のパーティクルzi(l)t及び重みwi(l)tが求められる。
【０５２３】
前景状態推定部５１は、例えば、L個のパーティクルzi(l)tの重み付け平均値を、そのパーティクルzi(l)tの重みwi(l)tを重みとして用いて求め、そのL個のパーティクルzi(l)tの重み付け平均値を、前景#iの（最尤）状態zitとして出力する。
【０５２４】
ここで、前景状態推定部５１は、図２２の前景状態推定部３１と同様に構成され、同様の処理を行うので、実装上は、前景状態推定部５１と図２２の前景状態推定部３１とのうちのいずれか一方だけを設ければ済む。
【０５２５】
物体基準画像生成部５２は、図１６及び図１７で説明したように、カメラ１２からの現在時刻tの実画像λ~tから、現在時刻tの実画像λ~tに映る操作対象物体を基準とする現在時刻tの物体基準座標系Ot''を基準とする所定の範囲を切り出し、現在時刻tの物体基準座標系Ot''の傾きが0になるように回転することにより、現在時刻物体基準画像POt''を生成して、前景認識部５４に供給する。
【０５２６】
すなわち、物体基準画像生成部５２は、例えば、前景状態推定部５１からの前景#iの状態zitのうちの、（現在）時刻tの操作対象物体（の前景#o）の状態zotのうちの位置sotを、現在時刻tの操作対象物体の重心として採用するとともに、操作対象物体の状態zotのうちの姿勢qotを、やはり、現在時刻tの操作対象物体の姿勢として採用し、現在時刻tの操作対象物体の重心sotを中心とし、かつ、世界座標系Oに対して、現在時刻tの操作対象物体の姿勢qotだけ傾いた矩形の所定の範囲を、傾き画像として、実画像λ~tから切り出す。
【０５２７】
そして、物体基準画像生成部５２は、傾き画像を、現在時刻tの物体基準座標系Ot''の傾き（現在時刻tの操作対象物体の姿勢qot）が0になるように回転することにより、現在時刻物体基準画像POt''を生成する。
【０５２８】
物体基準画像生成部５３は、図１６及び図１７で説明したように、カメラ１２からの現在時刻tの実画像λ~tから、現在時刻tの直前の時刻である前時刻t-△tの実画像λ~t-△tに映る操作対象物体を基準とする前時刻t-△tの物体基準座標系Ot-△t''を基準とする所定の範囲を切り出し、前時刻t-△tの物体基準座標系Ot-△t''の傾きが0になるように回転することにより、前時刻物体基準画像QOt''を生成して、前景認識部５５に供給する。
【０５２９】
すなわち、物体基準画像生成部５３は、例えば、前景状態推定部５１から前時刻t-△tに供給された前景#iの前時刻t-△tの状態zit-△tのうちの、前時刻t-△tの操作対象物体（の前景#o）の状態zot-△tのうちの位置sot-△tを、前時刻t-△tの操作対象物体の重心として採用するとともに、操作対象物体の状態zot-△tのうちの姿勢qot-△tを、やはり、前時刻t-△tの操作対象物体の姿勢として採用し、前時刻t-△tの操作対象物体の重心sot-△tを中心とし、かつ、世界座標系Oに対して、前時刻t-△tの操作対象物体の姿勢qot-△tだけ傾いた矩形の所定の範囲を、傾き画像として、実画像λ~tから切り出す。
【０５３０】
そして、物体基準画像生成部５２は、傾き画像を、前時刻t-△tの物体基準座標系Ot-△t''の傾き（前時刻t-△tの操作対象物体の姿勢qot-△t）が0になるように回転することにより、前時刻物体基準画像QOt''を生成する。
【０５３１】
前景認識部５４は、物体基準画像生成部５２からの現在時刻物体基準画像POt''から、見えモデル記憶部１４に前景見えモデルμmが記憶されたハンドを認識することにより、図１７で説明したように、現在時刻物体基準画像POt''に映るハンドの位置と位置変化を、物体基準座標系O''でのハンドの位置smt''と位置変化△smt''として求め、操作モデル更新部５６に供給する。
【０５３２】
ここで、前景認識部５４での、現在時刻物体基準画像POt''からのハンドの認識は、例えば、前景状態推定部５１（図２２の前景状態推定部３１）での、実画像λ~t上の前景#iの状態zitの推定の場合と同様に、見えモデル記憶部１４に記憶されたハンド（の前景#m）の前景見えモデルμm等を用いて、現在時刻物体基準画像POt''上のハンドの状態zmt''を推定することによって行うことができる。
【０５３３】
なお、現在時刻物体基準画像POt''上のハンドの状態zmt''の推定を、前景状態推定部５１と同様にして行う場合には、ハンドの前景見えモデルμmの他、現在時刻物体基準画像POt''に映る背景の背景見えモデルが必要となるが、現在時刻物体基準画像POt''に映る背景の背景見えモデルとしては、例えば、見えモデル記憶部１４に記憶された背景見えモデルμwのうちの、物体基準画像生成部５２が現在時刻物体基準画像POt''となる傾き画像を切り出した範囲と同一の範囲の画像を採用することができる。
【０５３４】
前景認識部５５は、物体基準画像生成部５３からの前時刻物体基準画像QOt''から、見えモデル記憶部１４に前景見えモデルμoが記憶された操作対象物体を認識することにより、図１７で説明したように、前時刻物体基準画像QOt''に映る操作対象物体の位置と姿勢を、物体基準座標系O''での操作対象物体の位置変化△sot-△t''と姿勢変化△qot-△t''として求め、操作モデル更新部５６に供給する。
【０５３５】
ここで、前景認識部５５での、前時刻物体基準画像QOt''からの操作対象物体の認識は、例えば、上述の前景認識部５４と同様に、見えモデル記憶部１４に記憶された操作対象物体（の前景#o）の前景見えモデルμo等を用いて、前時刻物体基準画像QOt''上の操作対象物体の状態zot''を推定することによって行うことができる。
【０５３６】
なお、この場合、操作対象物体の前景見えモデルμoの他、前時刻物体基準画像QOt''に映る背景の背景見えモデルが必要となるが、前時刻物体基準画像QOt''に映る背景の背景見えモデルとしては、例えば、見えモデル記憶部１４に記憶された背景見えモデルμwのうちの、物体基準画像生成部５３が前時刻物体基準画像QOt''となる傾き画像を切り出した範囲と同一の範囲の画像を採用することができる。
【０５３７】
操作モデル更新部５６は、前景認識部５４からの物体基準座標系O''でのハンドの位置smt''と位置変化△smt''、及び、前景認識部５５からの物体基準座標系O''での操作対象物体の位置変化△sot''と姿勢変化△qot''を、操作モデルの学習データとして、その学習データに基づいて、操作モデル記憶部１６に記憶された操作モデルを更新する。
【０５３８】
すなわち、操作モデル更新部５６は、学習データとしてのハンドの位置smt''及び位置変化△smt''、並びに、操作対象物体の位置変化△sot''及び姿勢変化△qotを、それぞれ、インデクス#d，#j，#k、及び、#hに離散化する。
【０５３９】
その後、操作モデル更新部５６は、操作モデルの位置テーブル（図１９）から、学習データとしてのハンドの位置smt''を離散化したインデクス#dが割り当てられた位置フィールドを特定し、その位置フィールドが有する頻度テーブル（図２０）から、学習データとしてのハンドの位置変化△smt''、並びに、操作対象物体の位置変化△sot''及び姿勢変化△qotをそれぞれ離散化したインデクス#j，#k、及び、#hが割り当てられた頻度フィールドを、更新対象の更新対象フィールドとして特定する。
【０５４０】
そして、操作モデル更新部５６は、更新対象フィールドに記憶された頻度、すなわち、学習データとしてのハンドの位置smt''及び位置変化△smt''、並びに、操作対象物体の位置変化△sot''及び姿勢変化△qot（を離散化したインデクス#d，#j，#k、及び、#h）が出現した出現頻度を、1だけインクリメントする。
【０５４１】
図２４は、図２１のエージェントの処理を説明するフローチャートである。
【０５４２】
ステップＳ１１では、エージェントのカメラ１２において、画像の撮影が行われることにより、実画像λ~tが取得され、その実画像λ~tが、見えモデル学習部１３、及び、操作モデル学習部１５に供給されて、処理は、ステップＳ１２に進む。
【０５４３】
ステップＳ１２では、見えモデル学習部１３が、カメラ１２からの実画像λ~tを用いて、見えモデル記憶部１４に記憶された前景見えモデルμi、及び、背景見えモデルμwの学習を行う見えモデルの学習処理を行い、処理は、ステップＳ１３に進む。
【０５４４】
ステップＳ１３では、操作モデル学習部１５は、カメラ１２からの実画像λ~t、及び、見えモデル記憶部１５に記憶された前景見えモデルμi等を用いて、操作モデル記憶部１６に記憶された操作モデルの学習を行う操作モデルの学習処理を行い、処理は、ステップＳ１４に進む。
【０５４５】
ステップＳ１４では、アクチュエータ制御部１１、及び、目標状態生成部１７ないし物体基準座標変換部２２が、ハンドにアクションを行わせるアクションの出力処理を行い、処理は、ステップＳ１１に戻る。
【０５４６】
なお、図２４では、カメラ１２において、実画像λ~tが撮影されるごとに、見えモデルの学習処理（ステップＳ１２）、操作モデルの学習処理（ステップＳ１３）、及び、アクションの出力処理（ステップＳ１４）が行われるが、その他、例えば、十分な枚数の実画像を用いて、見えモデルの学習処理、及び、操作モデルの学習処理を行い、その後、カメラ１２において、実画像λ~tが撮影されるごとに、アクションの出力処理を行うことができる。
【０５４７】
すなわち、実画像を用いて、見えモデルの学習処理と、操作モデルの学習処理とを、いわば並列的に行うことを、十分な回数だけ繰り返し、その後、カメラ１２において、実画像λ~tが撮影されるごとに、アクションの出力処理を行うことができる。
【０５４８】
あるいは、十分な枚数の実画像を用いて、見えモデルの学習処理を行い、精度の高い前景見えモデルμi、及び、背景見えモデルμwが得られてから、十分な枚数の実画像を用いて、操作モデルの学習処理を行い、その後、カメラ１２において、実画像λ~tが撮影されるごとに、アクションの出力処理を行うことができる。
【０５４９】
図２５は、図２４のステップＳ１２で行われる見えモデルの学習処理を説明するフローチャートである。
【０５５０】
見えモデルの学習処理では、カメラ１２で撮影された実画像λ~tが、見えモデル学習部１３（図２２）の前景状態推定部３１、及び、見えモデル更新部３２に供給される。
【０５５１】
前景状態推定部３１は、ステップＳ２１において、実画像λ~tに対して、まだ、注目モデルに選択していない前景モデル#i（前景見えモデルμi）を、注目モデルに選択し、処理は、ステップＳ２２に進む。
【０５５２】
ステップＳ２２では、前景状態推定部３１の状態パーティクル更新部４２が、状態パーティクル記憶部４３に記憶された時刻t-1のL個のパーティクルとしての前景#iの状態（以下、状態パーティクルともいう）zi(1)t-1ないしzi(L)t-1の中から、まだ、注目する注目状態パーティクルに選択していない１つの状態パーティクルzi(l)t-1を、注目状態パーティクルに選択して、処理は、ステップＳ２３に進む。
【０５５３】
ステップＳ２３では、状態パーティクル更新部４２は、状態パーティクル記憶部４３に記憶された注目状態パーティクルzi(l)t-1から、式（１８）に従って、時刻tの注目状態パーティクルzi(l)tを予測する。
【０５５４】
さらに、状態パーティクル更新部４２は、時刻tの注目状態パーティクルzi(l)tを、状態パーティクル記憶部４３に供給し、時刻t-1の注目状態パーティクルzi(l)t-1に代えて記憶させて、処理は、ステップＳ２３からステップＳ２４に進む。
【０５５５】
ステップＳ２４では、前景状態推定部３１の推定観測値生成部４４が、見えモデル記憶部１４に記憶された前景見えモデルμi、及び、背景見えモデルμwを用い、注目モデルになっている前景#iの状態が、状態パーティクル記憶部４３に記憶された注目状態パーティクルzi(l)tになっている観測画像（生成モデルにおいて観測される画像）λi(l)tを、式（２０）に従って生成する。
【０５５６】
推定観測値生成部４４は、観測画像λi(l)tを、見えモデル尤度計算部４１に供給して、処理は、ステップＳ２４からステップＳ２５に進む。
【０５５７】
ステップＳ２５では、見えモデル尤度計算部４１が、カメラ１２から前景状態推定部３１に供給された実画像λ~tと、推定観測値生成部４４からの観測画像λi(l)tとを用い、式（１９）に従って、注目モデルになっている前景#iが、注目状態パーティクルとしての状態zi(l)tになっているときの、前景#iの観測値xitの観測尤度p(xit|zi(l)t)を求める。
【０５５８】
さらに、見えモデル尤度計算部４１は、観測尤度p(xit|zi(l)t)を、状態パーティクル更新部４２に供給して、処理は、ステップＳ２５からステップＳ２６に進む。
【０５５９】
ステップＳ２６では、状態パーティクル更新部４２が、見えモデル尤度計算部４１からの観測尤度p(xit|zi(l)t)を用いて、式（１２）に従い、注目状態パーティクルzi(l)tの重みwi(l)tを求め、状態パーティクルzi(l)tと同様に、状態パーティクル記憶部４３に供給して記憶させ、処理は、ステップＳ２７に進む。
【０５６０】
ステップＳ２７では、状態パーティクル更新部４２は、状態パーティクル記憶部４３に記憶された時刻t-1のL個の状態パーティクルzi(1)t-1ないしzi(L)t-1のすべてを、注目状態パーティクルに選択したかどうかを判定する。
【０５６１】
ステップＳ２７において、L個の状態パーティクルzi(1)t-1ないしzi(L)t-1を、まだ、注目状態パーティクルに選択していないと判定された場合、処理は、ステップＳ２２に戻り、状態パーティクル更新部４２は、L個の状態パーティクルzi(1)t-1ないしzi(L)t-1のうちの、まだ、注目状態パーティクルに選択していない１つの状態パーティクルを、注目状態パーティクルに新たに選択して、以下、同様の処理が繰り返す。
【０５６２】
また、ステップＳ２７において、L個の状態パーティクルzi(1)t-1ないしzi(L)t-1のすべてを、注目状態パーティクルに選択したと判定された場合、処理は、ステップＳ２８に進み、見えモデル更新部３２は、カメラ１２から供給される実画像λ~tと、ステップＳ２３で状態パーティクル記憶部４３に記憶された時刻tの状態パーティクルzi(l)t、及び、ステップＳ２６で状態パーティクル記憶部４３に記憶された重みwi(l)tとを用いて、見えモデル記憶部１４に記憶された前景見えモデルμiを更新し、処理は、ステップＳ２９に進む。
【０５６３】
すなわち、見えモデル更新部３２は、式（２１）ないし式（２４）に従って、前景見えモデルμiのうちの前景テクスチャモデルτiを更新し、式（３１）ないし式（３５）に従って、前景見えモデルμiのうちの前景形状モデルσiを更新する。
【０５６４】
ステップＳ２９では、見えモデル更新部３２は、カメラ１２から供給される実画像λ~tと、ステップＳ２３で状態パーティクル記憶部４３に記憶された時刻tの状態パーティクルzi(l)t、及び、ステップＳ２６で状態パーティクル記憶部４３に記憶された重みwi(l)tとを用いて、見えモデル記憶部１４に記憶された背景見えモデルμwを更新し、処理は、ステップＳ３０に進む。
【０５６５】
すなわち、見えモデル更新部３２は、式（２５）ないし式（３０）に従って、背景見えモデルμw（背景テクスチャモデルτw）を更新する。
【０５６６】
ステップＳ３０では、エージェントは、実画像λ~tに対して、N個の前景モデル#1ないし#Nのすべてを、注目モデルに選択したかどうかを判定する。
【０５６７】
ステップＳ３０において、N個の前景モデル#1ないし#Nのすべてが、まだ、注目モデルに選択されていないと判定された場合、処理は、ステップＳ２１に戻る。ステップＳ２１では、前景状態推定部３１は、実画像λ~tに対して、まだ、注目モデルに選択していない前景モデル#iの１つを、注目モデルに新たに選択し、以下、同様の処理が繰り返される。
【０５６８】
また、ステップＳ３０において、N個の前景モデル#1ないし#Nのすべてが、注目モデルに選択されたと判定された場合、処理は、ステップＳ３１に進み、状態パーティクル更新部４２は、状態パーティクル記憶部４３に記憶された重みwi(l)tに対応する確率で、同じく状態パーティクル記憶部４３に記憶された状態パーティクルzi(l)tを選択するリサンプリングを行い、状態パーティクル記憶部４３に記憶された状態パーティクルzi(l)tを、リサンプリング結果に書き換えて、処理はリターンする。
【０５６９】
なお、ステップＳ１３でのリサンプリングの結果得られる状態パーティクルzi(l)tは、次の時刻t+1の観測尤度p(xit+1|zi(l)t+1)が得られた後に、式（１８）に従って、時刻t+1の状態zit+1としての状態パーティクルzi(l)t+1を予測するときに用いられる。
【０５７０】
また、図２５において、ステップＳ２２ないしＳ２７が、EMアルゴリズムのEステップに相当し、ステップＳ２８及びＳ２９が、EMアルゴリズムのMステップに相当する。
【０５７１】
図２６は、図２４のステップＳ１３で行われる操作モデルの学習処理を説明するフローチャートである。
【０５７２】
操作モデルの学習処理では、カメラ１２で撮影された実画像λ~tが、操作モデル学習部１４（図２３）の前景状態推定部５１、並びに、物体基準画像生成部５２及び５３に供給される。
【０５７３】
前景状態推定部５１は、カメラ１２からの実画像λ~t、並びに、見えモデル記憶部１４に記憶された前景見えモデルμi、及び、背景見えモデルμwを用いて、カメラ１２からの実画像λ~t上の前景#iの状態zitを推定し、アクチュエータ制御部１１、目標状態生成部１７、変化量算出部１８、世界座標変換部１９、及び、物体基準座標変換部２２に供給して、処理は、ステップＳ５２に進む。
【０５７４】
すなわち、前景状態推定部５１は、図２２の前景状態推定部３１と同様に、カメラ１２からの実画像λ~t上の前景#iの状態zitの推定を行うことにより、その推定の結果として、状態zitのL個のパーティクルzi(l)t及び重みwi(l)tを求める。
【０５７５】
さらに、前景状態推定部５１は、例えば、L個のパーティクルzi(l)tの重み付け平均値を、そのパーティクルzi(l)tの重みwi(l)tを重みとして用いて求める。そして、前景状態推定部５１は、L個のパーティクルzi(l)tの重み付け平均値を、前景#iの状態zitとして、アクチュエータ制御部１１、目標状態生成部１７、変化量算出部１８、世界座標変換部１９、及び、物体基準座標変換部２２に供給する。
【０５７６】
ステップＳ５２では、物体基準画像生成部５２は、前景状態推定部５１からの現在時刻tの前景#iの状態zitのうちの、現在時刻tの操作対象物体（の前景#o）の状態zotとしての位置sotと姿勢qotを、現在時刻tの物体基準座標系Ot''（現在時刻tの実画像λ~tに映る操作対象物体を基準とする物体基準座標系O''）の原点と姿勢として認識する。
【０５７７】
さらに、物体基準画像生成部５２は、図１６及び図１７で説明したように、カメラ１２からの現在時刻tの実画像λ~tから、現在時刻tの物体基準座標系Ot''を基準とする所定の範囲を、傾き画像として切り出す。
【０５７８】
そして、物体基準画像生成部５２は、傾き画像を、現在時刻tの物体基準座標系Ot''の傾きが0になるように回転することにより、現在時刻物体基準画像POt''を生成し、前景認識部５４に供給して、処理は、ステップＳ５２からステップＳ５３に進む。
【０５７９】
ステップＳ５３では、前景認識部５４は、物体基準画像生成部５２からの現在時刻物体基準画像POt''から、見えモデル記憶部１４に前景見えモデルμmが記憶されたハンドを認識することにより、図１７で説明したように、物体基準座標系O''でのハンドの位置smt''と位置変化△smt''を求め、操作モデル更新部５６に供給して、処理は、ステップＳ５４に進む。
【０５８０】
ステップＳ５４では、物体基準画像生成部５３は、前景状態推定部５１からの前時刻t-△tの前景#iの状態zit-△tのうちの、前時刻t-△tの操作対象物体（の前景#o）の状態zot-△tとしての位置sot-△tと姿勢qot-△tを、前時刻t-△tの物体基準座標系Ot-△t''（前時刻t-△tの実画像λ~t-△tに映る操作対象物体を基準とする物体基準座標系O''）の原点と姿勢として認識する。
【０５８１】
さらに、物体基準画像生成部５３は、図１６及び図１７で説明したように、カメラ１２からの現在時刻tの実画像λ~tから、前時刻t-△tの物体基準座標系Ot-△t''を基準とする所定の範囲を、傾き画像として切り出す。
【０５８２】
そして、物体基準画像生成部５３は、傾き画像を、前時刻t-△tの物体基準座標系Ot-△t''の傾きが0になるように回転することにより、前時刻物体基準画像QOt''を生成し、前景認識部５５に供給して、処理は、ステップＳ５４からステップＳ５５に進む。
【０５８３】
ステップＳ５５では、前景認識部５５は、物体基準画像生成部５３からの前時刻物体基準画像QOt''から、見えモデル記憶部１４に前景見えモデルμoが記憶された操作対象物体を認識することにより、図１７で説明したように、物体基準座標系O''での操作対象物体の位置変化△sot''と姿勢変化△qot''を求め、操作モデル更新部５６に供給して、処理は、ステップＳ５６に進む。
【０５８４】
ステップＳ５６では、操作モデル更新部５６は、前景認識部５４からの物体基準座標系O''でのハンドの位置smt''と位置変化△smt''、及び、前景認識部５５からの物体基準座標系O''での操作対象物体の位置変化△sot''と姿勢変化△qot''を、操作モデルの学習データとして、その学習データに基づいて、操作モデル記憶部１６に記憶された操作モデルを更新して、処理はリターンする。
【０５８５】
すなわち、操作モデル更新部５６は、操作モデル（図２０）の頻度テーブルの頻度フィールドのうちの、学習データとしてのハンドの位置smt''及び位置変化△smt''、並びに、操作対象物体の位置変化△sot''及び姿勢変化△qotに対応する頻度フィールド（ハンドの位置smt''及び位置変化△smt''、並びに、操作対象物体の位置変化△sot''及び姿勢変化△qotをそれぞれ離散化したインデクス#d，#j，#k、及び、#hが割り当てられた頻度フィールド）を、更新対象の更新対象フィールドとして特定し、その更新対象フィールドに記憶された頻度を、1だけインクリメントすることにより、操作モデルを更新する。
【０５８６】
図２７は、図２４のステップＳ１４で行われるアクションの出力処理を説明するフローチャートである。
【０５８７】
目標状態生成部１７は、操作モデル学習部１５から、各前景#iの状態zitが供給されると、ステップＳ６１において、その各前景#iの状態zitのうちの、操作対象物体（の前景#o）の状態zotが、直前に生成された目標状態zo,tgttに一致しているかどうかを判定する。
【０５８８】
ステップＳ６１において、操作対象物体の状態zotが、直前に生成された目標状態zo,tgttに一致していると判定された場合、すなわち、操作対象物体が、直前に生成された目標状態zo,tgttになっている場合、処理は、ステップＳ６２に進み、目標状態生成部１７は、新たな目標状態zo,tgttを生成して、変化量算出部１８に供給し、処理は、ステップＳ６３に進む。
【０５８９】
一方、ステップＳ６１において、操作対象物体の状態zotが、直前に生成された目標状態zo,tgttに一致していないと判定された場合、すなわち、操作対象物体が、直前に生成された目標状態zo,tgttになっていない場合、目標状態生成部１７は、直前に生成された目標状態zo,tgttを、変化量算出部１８に供給し（供給し続け）、処理は、ステップＳ６２をスキップして、ステップＳ６３に進む。
【０５９０】
ステップＳ６３では、変化量算出部１８は、操作モデル学習部１５から供給される前景#iの状態zitのうちの、操作対象物体の（現在の）状態zotと、目標状態生成部１７からの操作対象物体の目標状態zo,tgttとを用い、式（４０）に従って、世界座標系O上での目標状態変化dzo,tgtt（目標位置変化dso,tgtt及び目標姿勢変化dqo,tgtt）を求めて、世界座標変換部１９に供給し、処理は、ステップＳ６４に進む。
【０５９１】
ステップＳ６４では、世界座標変換部１９は、操作モデル学習部１５から供給される前景#iの状態zitのうちの、操作対象物体の状態zotのうちの姿勢qotを用い、式（４２）に従って、変化量算出部１８からの世界座標系O上での目標状態変化dzo,tgtt（目標位置変化dqo,tgtt及び目標姿勢変化dqo,tgtt）を、式（４１）の物体基準座標系O''上での目標状態変化dzo,tgtt''（目標位置変化dqo,tgtt''及び目標姿勢変化dqo,tgtt''）に変換する。
【０５９２】
そして、世界座標変換部１９は、式（４１）の物体基準座標系O''上での目標状態変化dzo,tgtt''を、変化量時分割部２０に供給して、処理は、ステップＳ６４からステップＳ６５に進む。
【０５９３】
ステップＳ６５では、変化量時分割部２０は、式（４７）に従い、世界座標変換部１９からの目標状態変化dzo,tgtt''を、達成回数Ttgtに基づいて分割することで、単位変化量△zo,tgtt''＝（△so,tgtt''，△qo,tgtt''）＝（dso,tgtt''／Ttgt，dqo,tgtt''／Ttgt）を求める。
【０５９４】
そして、変化量時分割部２０は、単位変化量△zo,tgtt''を、アクション決定部２１に供給して、処理は、ステップＳ６５からステップＳ６６に進む。
【０５９５】
ステップＳ６６では、アクション決定部２１は、操作モデル記憶部１６に記憶された操作モデルを用い、変化量時分割部２０からの単位変化量△zo,tgtt''だけの状態変化としての位置変化△so,tgtt''＝dso,tgtt''／Ttgt及び姿勢変化△qo,tgtt''＝dqo,tgtt''／Ttgtを操作対象物体に生じさせる頻度（確率）が最も高い物体基準座標系O''上のハンドの位置smt''及び位置変化△smt''を、ハンドのアクションumt''に決定し、物体基準座標変換部２２に供給する。
【０５９６】
その後、処理は、ステップＳ６６からステップＳ６７に進み、物体基準座標変換部２２は、操作モデル学習部１５から供給される前景#iの状態zitのうちの、操作対象物体の状態zotのうちの姿勢qotを用い、式（３８）に従って、アクション決定部２１からのハンドのアクションumt''、すなわち、物体基準座標系O''で表現されるアクションアクションumt''を、世界座標系Oで表現されるアクションumtに変換する。
【０５９７】
そして、物体基準座標変換部２２は、以上のようにして得られたアクションumt、すなわち、単位変化量△zo,tgtt''だけの状態変化を操作対象物体に生じさせる（可能性が高い）ハンドのアクションumtを、アクチュエータ制御部１１に供給して、処理は、ステップＳ６７からステップＳ６８に進む。
【０５９８】
ステップＳ６８では、アクチュエータ制御部１１は、操作モデル学習部１５からの前景#iの状態zitのうちの、ハンド（の前景#m）の状態zmtと、物体基準座標変換部２２からのアクションumtとに基づいて、エージェントのアーム等を駆動するアクチュエータを制御して、処理はリターンする。
【０５９９】
ステップＳ６８でのアクチュエータ制御部１１によるアクチュエータの制御により、アームの先端に取り付けられたハンドは、アクションumtを行う。
【０６００】
以上のように、エージェントでは、操作対象物体とハンドとが映る実画像λ~tを用いて、操作対象物体を基準とする物体基準座標系O''の各位置において、ハンドの状態としての位置smtが変化したときの、ハンドの位置smt及び位置変化△smtと、ハンドの状態変化によって生じる操作対象物体の状態変化としての位置変化△sot及び姿勢変化△qotとを対応付ける操作モデルの学習を行うので、汎用性が高い操作モデルを提供することができる。
【０６０１】
すなわち、操作モデルでは、物体基準座標系O''上のハンドの位置smt''と位置変化△smt''、つまり、操作対象物体から見たハンドの位置smt''と位置変化△smt''に対して、操作対象物体に生じる物体基準座標系O''上の位置変化△sot''及び姿勢変化△qot''が対応付けられるので、世界座標系O上のハンドの位置smtと位置変化△smtに対して、操作対象物体に生じる世界座標系O上の位置変化△sot及び姿勢変化△qotを対応付ける場合に比較して、少ない学習データ（経験）で、ハンドの位置smt''及び位置変化△smt''と、操作対象物体に生じる位置変化△sot''及び姿勢変化△qot''との関係を獲得することができ、短時間の学習で、物体を正確に操作することができる操作モデルを得ることができる。
【０６０２】
さらに、操作モデルにおいて、物体基準座標系O''上のハンドの各位置smt''及び各位置変化△smt''について、操作対象物体に生じる位置変化△sot''及び姿勢変化△qot''との関係が獲得されていれば、操作対象物体が、世界座標系O上で未知の位置や姿勢で置かれていても、操作モデルを使い回して、操作対象物体を正確に操作することができる物体基準座標系O''上のハンドのアクションumt''としての位置smt''及び位置変化△smt''、ひいては、世界座標系O上のハンドのアクションumtを決定することができる。
【０６０３】
また、操作モデルについては、追加学習を行うことができるので、環境の変化等に対して、操作モデルを、適応的に更新することができ、変化後の環境と操作モデルとの間に、齟齬（食い違い）が生じることを防止することができる。
【０６０４】
さらに、本実施の形態では、前景見えモデル及び背景見えモデル、並びに、操作モデルの学習が行われるので、前景となるハンド及び操作対象物体の幾何学的な形状や見え、背景となる環境の見え、操作対象物体の運動に関して、人手によって、モデルを作り込む必要がなく、そのようなモデルの作り込みの手間を省くことができる。
【０６０５】
［第6章  シミュレーション］
【０６０６】
図２８は、コンピュータにおいて、背景上に、操作対象物体の前景#o、及び、ハンドの前景#mを合成することにより作成した画像を、実画像λ~tとして用いた行った、見えモデルの学習処理、及び、操作モデルの学習処理のシミュレーションの結果を、模式的に示す図である。
【０６０７】
シミュレーションでは、L字型の操作対象物体の前景#oが、円形のハンドの前景#mによって操作される様子が映った画像を、実画像λ~tとして用いて、見えモデルの学習処理、及び、操作モデルの学習処理を行った。
【０６０８】
図２８Ａは、見えモデルの学習処理、及び、操作モデルの学習処理のシミュレーションで用いた時刻tの実画像λ~tを示している。
【０６０９】
図２８Ｂは、見えモデルの学習処理により得られた、操作対象物体の前景#oの前景見えモデルμoと、ハンドの前景#mの前景見えモデルμmとを示している。
【０６１０】
図２８Ｃは、見えモデルの学習処理により得られた、背景見えモデルμw＝τwを示している。
【０６１１】
図２８Ｄは、図２８Ａの実画像λ~tから、操作対象物体（の前景#o）、及び、ハンド（の前景#m）を認識した認識結果と、実画像λ~tから、傾き画像として切り出される所定の範囲とを示している。
【０６１２】
図２８Ｄにおいて、点線で囲む部分B1は、実画像λ~tから、操作対象物体を認識する状態推定を行うことによって得られる状態（位置及び姿勢）で、操作対象物体の前景見えモデルμoを配置した場合の、その前景見えモデルμoの外縁を表す。
【０６１３】
また、点線で囲む部分B2は、実画像λ~tから、ハンドを認識する状態推定を行うことによって得られる状態で、ハンドの前景見えモデルμmを配置した場合の、その前景見えモデルμmの外縁を表す。
【０６１４】
さらに、点線で囲む部分B3は、点線で囲む部分B1及びB2のように、操作対象物体及びハンドが認識された場合に、実画像λ~tから、その時刻t（現在時刻t）の物体基準座標系Ot''を基準として切り出される所定の範囲（傾き画像）を示している。
【０６１５】
図２８Ｅは、図２８Ａの実画像λ~tから生成された現在時刻物体基準画像POt''を示している。
【０６１６】
図２８Ｆは、図２８Ｅの現在時刻物体基準画像POt''から、ハンド（の前景#m）を認識した認識結果を示している。
【０６１７】
図２８Ｆにおいて、点線で囲む部分B11は、現在時刻物体基準画像POt''から、ハンドを認識する状態推定を行うことによって得られる状態（位置及び姿勢）で、ハンドの前景見えモデルμmを配置した場合の、その前景見えモデルμmの外縁を表す。
【０６１８】
図２８Ｇは、図２８Ａの実画像λ~tから生成された前時刻物体基準画像QOt''を示している。
【０６１９】
図２８Ｈは、図２８Ｇの前時刻物体基準画像QOt''から、操作対象物体（の前景#o）を認識した認識結果を示している。
【０６２０】
図２８Ｈにおいて、点線で囲む部分B21は、前時刻物体基準画像QOt''から、操作対象物体を認識する状態推定を行うことによって得られる状態（位置及び姿勢）で、操作対象物体の前景見えモデルμoを配置した場合の、その前景見えモデルμoの外縁を表す。
【０６２１】
なお、図２８のシミュレーションでは、見えモデルの学習処理を、前景見えモデルμi及び背景見えモデルμwが収束するまで行い、その後、その前景見えモデルμi及び背景見えモデルμwを用いて、操作モデルの学習処理を行ったため、操作モデルの学習処理の当初から、ハンドや操作対象物体について、精度の高い状態推定の結果が得られた。
【０６２２】
１枚の実画像λ~tに対して、見えモデルの学習処理を行い、その後、操作モデルの学習処理を行うことを繰り返す場合には、前景見えモデルμi及び背景見えモデルμwが、ある程度収束するまでは、操作モデルの学習処理でのハンドや操作対象物体の状態推定の結果の精度は、低くなるが、前景見えモデルμi及び背景見えモデルμwが、徐々に収束するにつれて、操作モデルの学習処理でのハンドや操作対象物体の状態推定の結果の精度は、向上していく。
【０６２３】
図２９は、操作モデルを用いたアクションの出力処理のシミュレーションの結果を、模式的に示す図である。
【０６２４】
図２９Ａは、アクションの出力処理のシミュレーションで用いた時刻tの実画像λ~tを示している。
【０６２５】
図２９Ｂは、図２９Ａの実画像λ~tからのハンド及び操作対象物体の状態推定の結果としての状態、並びに、目標状態zo,tgtt、及び、目標状態変化dzo,tgttを示している。
【０６２６】
すなわち、図２９Ｂは、世界座標系O上のハンドの状態としての位置smt及び姿勢qmt、操作対象物体の状態としての位置sot及び姿勢qot、目標状態zo,tgttとしての位置so,tgtt及び姿勢qo,tgtt、並びに、目標状態変化dzo,tgttを示している。
【０６２７】
なお、図２９Ｂにおいて、線分は、姿勢、又は、目標状態変化を表し、丸印及びバツ印は、位置を表す。図２９Ｃにおいても、同様である。
【０６２８】
図２９Ｃは、物体基準座標系O''上のハンドの位置smt''及び位置変化△smt''、並びに、目標状態変化dzo,tgtt''を示している。物体基準座標系O''の原点は、操作対象物体の重心になっている。
【０６２９】
図２９Ｄは、操作モデルを用いてのハンドのアクションumt''の決定の様子を示す図である。
【０６３０】
エージェントは、単位変化量△zo,tgtt''だけの状態変化としての位置変化dso,tgtt''／Ttgt及び姿勢変化dqo,tgtt''／Ttgtを、それぞれ離散化し、位置変化dso,tgtt''／Ttgt及び姿勢変化dqo,tgtt''／Ttgtを離散化したインデクス#k及び#hの値#k*及び#h*を求める。
【０６３１】
さらに、エージェントは、操作モデル（図２０）としての位置テーブルの各位置smt''を離散化した各インデクス#dの位置フィールドが有する頻度テーブルにおいて、インデクス#k及び#hが、それぞれ、値#k*及び#h*である頻度フィールドの中で、頻度フィールドに記憶されている頻度が最大の最大頻度フィールドを選択する。
【０６３２】
図２９Ｄでは、頻度テーブルにおいて、黒く塗りつぶしてある頻度フィールドが、最大頻度フィールドとして選択されている。
【０６３３】
エージェントは、最大頻度フィールドに割り当てられている、ハンドの位置変化△smt''を離散化したインデクス#jの値#j*を求めるとともに、最大頻度フィールドを含む頻度テーブルを有する位置テーブルの位置フィールド（図２９Ｄにおいて斜線を付してある部分）に割り当てられている、ハンドの位置smt''を離散化したインデクス#dの値#d*を求める。
【０６３４】
そして、エージェントは、インデクス#d*に離散化されるハンドの位置の範囲の代表値を、ハンドのアクションumt''のコンポーネントとなる位置smt''に決定するとともに、インデクス#j*に離散化されるハンドの位置変化の範囲の代表値を、ハンドのアクションumt''のコンポーネントとなる位置変化△smt''に決定する。
【０６３５】
ここで、位置テーブルにおいて、最大頻度フィールドを含む頻度テーブルを有する位置フィールド（図２９Ｄにおいて斜線を付してある部分）が、操作対象物体を目標状態にするためにハンドを動かすときの、そのハンドの動きが開始される位置（物体基準座標系O''上の位置）に対応する。
【０６３６】
なお、シミュレーションでは、横×縦が20×20個の位置フィールドに区切られた位置テーブルを採用した。
【０６３７】
図３０は、操作モデルを用いたアクションの出力処理のシミュレーションの他の結果を示す図である。
【０６３８】
図３０Ａは、ハンドによって操作される操作対象物体の移動軌跡（世界座標系O上の移動軌跡）を示している。
【０６３９】
図３０Ｂは、ハンドによって操作される操作対象物体の位置の誤差、及び、姿勢の誤差を示している。
【０６４０】
図３０Ｂにおいて、横軸は、ハンドを動かした回数（ハンドのアクションを決定した回数）である試行ステップ数を表しており、縦軸は、目標状態に対する、操作対象物体の位置の誤差、及び、姿勢の誤差を示している。
【０６４１】
エージェントは、位置と姿勢の両方を、同時に目標状態に到達させるように、ハンドを動かしており、そのため、図３０Ａに示すように、操作対象物体の移動軌道は、操作対象物体の最初の位置から目標状態としての位置までの最短の軌道に対して、左右に振れた軌跡になっている。
【０６４２】
シミュレーションでは、操作対象物体の位置の誤差、及び、姿勢の誤差は、ハンドによって操作されるごとに、傾向として減少していくこと、及び、操作対象物体は、先に、目標状態としての位置に到達し、その後、目標状態としての位置と姿勢の両方に到達することが確認された。
【０６４３】
図３０Ｂでは、操作対象物体は、約350ステップ（試行ステップ数）で、目標状態としての位置に到達し、600ステップで、目標状態としての位置及び姿勢の両方に到達している。
【０６４４】
［第7章  本技術を適用したコンピュータの説明］
【０６４５】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０６４６】
そこで、図３１は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０６４７】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク１０５やROM１０３に予め記録しておくことができる。
【０６４８】
あるいはまた、プログラムは、リムーバブル記録媒体１１１に格納（記録）しておくことができる。このようなリムーバブル記録媒体１１１は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体１１１としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【０６４９】
なお、プログラムは、上述したようなリムーバブル記録媒体１１１からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク１０５にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
【０６５０】
コンピュータは、CPU(Central Processing Unit)１０２を内蔵しており、CPU１０２には、バス１０１を介して、入出力インタフェース１１０が接続されている。
【０６５１】
CPU１０２は、入出力インタフェース１１０を介して、ユーザによって、入力部１０７が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)１０３に格納されているプログラムを実行する。あるいは、CPU１０２は、ハードディスク１０５に格納されたプログラムを、RAM(Random Access Memory)１０４にロードして実行する。
【０６５２】
これにより、CPU１０２は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU１０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース１１０を介して、出力部１０６から出力、あるいは、通信部１０８から送信、さらには、ハードディスク１０５に記録等させる。
【０６５３】
なお、入力部１０７は、キーボードや、マウス、マイク等で構成される。また、出力部１０６は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
【０６５４】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含む。
【０６５５】
また、プログラムは、１のコンピュータ（プロセッサ）により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０６５６】
さらに、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０６５７】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０６５８】
例えば、本技術は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０６５９】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０６６０】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０６６１】
また、本実施の形態では、ハンドの姿勢が変化しないこととしたが、本技術は、ハンドの姿勢が変化する場合にも適用することができる。
【０６６２】
さらに、本技術は、任意の第１の物体を、他の任意の第２の物体によって操作する場合に適用することができる。
【０６６３】
また、本実施の形態では、重心原点座標系O''（図１３）を、操作モデルを扱う物体基準座標系として用いたが、かかる物体基準座標系としては、その他、例えば、ローカル座標系O'（図１３）を採用することができる。
【０６６４】
なお、本技術は、以下のような構成をとることができる。
【０６６５】
［１］
第１の物体と第２の物体とが映る、実際に観測される画像である実画像を用いて、前記第１の物体を基準とする物体基準座標系の各位置において、前記第２の物体の状態が変化したときの、前記第２の物体の位置及び状態変化と、前記第２の物体の状態変化によって生じる前記第１の物体の状態変化とを対応付ける、前記第２の物体による前記第１の物体の操作に関する操作モデルの学習を行う操作モデル学習部を備える
情報処理装置。
［２］
前記操作モデルは、前記物体基準座標系の各位置について、その位置から、前記第２の物体の各状態変化が生じたときに、前記第１の物体の各状態変化が生じる頻度を表す頻度テーブルを含む
［１］に記載の情報処理装置。
［３］
前記操作モデル学習部は、
前記物体基準座標系の所定の位置において、前記第２の物体に、所定の状態変化が生じることによって、前記第１の物体に、他の所定の状態変化が生じた場合に、前記頻度テーブルの、前記所定の位置において生じた前記第２の物体の前記所定の状態変化によって、前記第１の物体に前記他の所定の状態変化が生じる頻度をインクリメントすることにより、前記操作モデルを更新する操作モデル更新部
を有する
［２］に記載の情報処理装置。
［４］
前記操作モデル学習部は、
現在時刻の実画像から、前記現在時刻の実画像に映る前記第１の物体を基準とする前記物体基準座標系である現在時刻の物体基準座標系を基準とする所定の範囲を切り出し、前記現在時刻の物体基準座標系の傾きが0になるように回転することにより得られる画像である現在時刻物体基準画像を生成する第１の物体基準画像生成部と、
前記現在時刻物体基準画像から、前記第２の物体を認識することにより、その第２の物体の位置と状態変化を、前記物体基準座標系での前記第２の物体の位置と状態変化として求める第１の認識部と、
前記現在時刻の実画像から、前記現在時刻の直前の時刻である前時刻の実画像に映る前記第１の物体を基準とする前記物体基準座標系である前時刻の物体基準座標系を基準とする所定の範囲を切り出し、前記前時刻の物体基準座標系の傾きが0になるように回転することにより得られる画像である前時刻物体基準画像を生成する第２の物体基準画像生成部と、
前記前時刻物体基準画像から、前記第１の物体を認識することにより、その第１の物体の状態を、前記物体基準座標系での前記第１の物体の状態変化として求める第２の認識部と
をさらに有し、
前記操作モデル更新部は、前記第１の認識部で求められる前記物体基準座標系での前記第２の物体の位置と状態変化、及び、前記第２の認識部で求められる前記物体基準座標系での前記第１の物体の状態変化に基づいて、前記操作モデルを更新する
［３］に記載の情報処理装置。
［５］
前記操作モデルを用いて、前記第１の物体の状態を所定の目標状態にするように、前記第１の物体を操作するための前記第２の物体のアクションを決定するアクション決定部をさらに備える
［２］ないし［４］のいずれかに記載の情報処理装置。
［６］
前記アクション決定部は、前記操作モデルを用いて、前記第１の物体の状態が前記所定の目標状態になるために現在時刻に必要な前記第１の物体の状態の変化量である単位変化量だけの状態変化を前記第１の物体に生じさせる頻度が最も高い前記物体基準座標系上の前記第２の物体の位置と状態変化とを、前記第２の物体のアクションに決定する
［５］に記載の情報処理装置。
［７］
前記実画像を用いて、前記実画像の、前記第１の物体と前記第２の物体とのそれぞれに対応する前景の見えのモデルである前景見えモデル、及び、背景の見えのモデルである背景見えモデルの学習を行う見えモデル学習部をさらに備える
［１］ないし［６］のいずれかに記載の情報処理装置。
［８］
前記見えモデル学習部は、
前記実画像を用いて、前記前景の状態を推定する前景状態推定部と、
前記前景の状態の推定結果を用いて、前記前景見えモデル、及び、前記背景見えモデルを更新する見えモデル更新部と
を有する
［７］に記載の情報処理装置。
［９］
前記背景見えモデルは、前記背景のテクスチャを表す背景テクスチャモデルを含み、
前記前景見えモデルは、前記前景のテクスチャを表す前景テクスチャモデルと、前記前景の形状を表す前景形状モデルとを含み、
前記前景の状態は、前記前景の位置、及び、前記位置が変化する速度、並びに、前記前景の姿勢、及び、前記姿勢が変化する速度を含む
［８］に記載の情報処理装置。
［１０］
前記背景見えモデル、及び、前記前景見えモデルは、パーティクルフィルタを用いたEMアルゴリズムに従って更新される
［９］に記載の情報処理装置。
［１１］
前記前景状態推定部は、前記前景の状態を表すパーティクルである状態パーティクルの重みと、前記状態パーティクルの遷移先とを算出する処理を、前記パーティクルフィルタを用いたEMアルゴリズムのEステップとして行う
［１０］に記載の情報処理装置。
［１２］
前記前景状態推定部は、
前記前景の状態が、前記状態パーティクルが表す状態である場合に、画像の観測値を生成する生成モデルにおいて観測される観測値の観測尤度に対応する値を、前記状態パーティクルの重みとして算出するとともに、
前記状態パーティクルが、前記状態パーティクルが表す前記前景の状態のうちの前記位置変化の速度、及び、前記姿勢変化の速度に従い、かつ、確率的に揺らぎながら遷移することとして、前記状態パーティクルの遷移先を算出し、
前記生成モデルでは、
前記前景見えモデルが表す画像上の点については、前記前景テクスチャモデルが表すテクスチャと、前記背景テクスチャモデルが表すテクスチャとを、前記前景形状モデルをα値としてαブレンディングし、
前記前景見えモデルが表す画像上の点以外の点については、前記背景テクスチャモデルが表すテクスチャを採用する
ことにより、前記生成モデルにおいて観測される前記画像の観測値が生成される
［１１］に記載の情報処理装置。
［１３］
前記見えモデル更新部は、
前記状態パーティクルが表す状態に従って、前記実画像から画像を切り出し、前記実画像から切り出した画像である切り出し画像を、前記状態パーティクルの重みに従って重み付け加算することにより、前記前景テクスチャモデルを更新する処理、
前記状態パーティクルが表す状態に従って、前記実画像から、前記状態に対応する前景を除去し、前記前景を除去した実画像を、前記状態パーティクルの重みに従って重み付け加算することにより、前記背景テクスチャモデルを更新する処理、
及び、前記前景テクスチャモデルが表すテクスチャの各画素が前景であることの尤度、及び、背景であることの尤度を求め、前記前景であることの尤度、及び、背景であることの尤度を用いて、前記前景テクスチャモデルが表すテクスチャの各画素が前景である確率を求めることにより、前記前景形状モデルを更新する処理
を、前記パーティクルフィルタを用いたEMアルゴリズムのMステップとして行う
［１１］又は［１２］に記載の情報処理装置。
［１４］
前記見えモデル更新部は、
前記切り出し画像を、前記状態パーティクルの重みに従って重み付け加算した重み付け加算値を、所定時間分だけ平均化することにより、前記前景テクスチャモデルを更新するとともに、
前記前景を除去した実画像を、前記状態パーティクルの重みに従って重み付け加算した重み付け加算値を、所定時間分だけ平均化することにより、前記背景テクスチャモデルを更新する
［１３］に記載の情報処理装置。
［１５］
第１の物体と第２の物体とが映る、実際に観測される画像である実画像を用いて、前記第１の物体を基準とする物体基準座標系の各位置において、前記第２の物体の状態が変化したときの、前記第２の物体の位置及び状態変化と、前記第２の物体の状態変化によって生じる前記第１の物体の状態変化とを対応付ける、前記第２の物体による前記第１の物体の操作に関する操作モデルの学習を行うステップを含む
情報処理方法。
［１６］
第１の物体と第２の物体とが映る、実際に観測される画像である実画像を用いて、前記第１の物体を基準とする物体基準座標系の各位置において、前記第２の物体の状態が変化したときの、前記第２の物体の位置及び状態変化と、前記第２の物体の状態変化によって生じる前記第１の物体の状態変化とを対応付ける、前記第２の物体による前記第１の物体の操作に関する操作モデルの学習を行う操作モデル学習部
として、コンピュータを機能させるためのプログラム。
【符号の説明】
【０６６６】
１１  アクチュエータ制御部，  １２  カメラ，  １３  見えモデル学習部，  １４  見えモデル記憶部，  １５  操作モデル学習部，  １６  操作モデル記憶部，  １７  目標状態生成部，  １８  変化量算出部，  １９  世界座標変換部，  ２０  変化量時分割部，  ２１  アクション決定部，  ２２  物体基準座標変換部，  ３１  前景状態推定部，  ３２  見えモデル更新部，  ４１  見えモデル尤度計算部，  ４２  状態パーティクル更新部，  ４３  状態パーティクル記憶部，  ４４  推定観測値生成部，  ５１  前景状態推定部，  ５２，５３  物体基準画像生成部，  ５４，５５  前景認識部，  ５６  操作モデル更新部，  １０１  バス，  １０２  CPU，  １０３  ROM，  １０４  RAM，  １０５  ハードディスク，  １０６  出力部，  １０７  入力部，  １０８  通信部，  １０９  ドライブ，  １１０  入出力インタフェース，  １１１  リムーバブル記録媒体
【図１】
2014081863.tif 000051
【図２】
2014081863.tif 000052
【図３】
2014081863.tif 000053
【図４】
2014081863.tif 000054
【図５】
2014081863.tif 000055
【図６】
2014081863.tif 000056
【図７】
2014081863.tif 000057
【図８】
2014081863.tif 000058
【図９】
2014081863.tif 000059
【図１０】
2014081863.tif 000060
【図１１】
2014081863.tif 000061
【図１２】
2014081863.tif 000062
【図１３】
2014081863.tif 000063
【図１４】
2014081863.tif 000064
【図１５】
2014081863.tif 000065
【図１６】
2014081863.tif 000066
【図１７】
2014081863.tif 000067
【図１８】
2014081863.tif 000068
【図１９】
2014081863.tif 000069
【図２０】
2014081863.tif 000070
【図２１】
2014081863.tif 000071
【図２２】
2014081863.tif 000072
【図２３】
2014081863.tif 000073
【図２４】
2014081863.tif 000074
【図２５】
2014081863.tif 000075
【図２６】
2014081863.tif 000076
【図２７】
2014081863.tif 000077
【図２８】
2014081863.tif 000078
【図２９】
2014081863.tif 000079
【図３０】
2014081863.tif 000080
【図３１】
2014081863.tif 000081