(57)【特許請求の範囲】
【請求項１】
ウェアラブルセンサから時系列データを取得する取得手段と、
取得された前記時系列データから、ユーザの活動状態を表す活動モデルを、確率的状態遷移モデルとして学習する活動モデル学習手段と、
前記活動モデル学習手段により得られた前記ユーザの活動モデルを用いて、現在のユーザの活動状態を認識する認識手段と、
前記認識手段により認識された前記現在のユーザの活動状態から、現在から所定時間経過後のユーザの活動状態を予測する予測手段と
を備え、
前記予測手段は、前記確率的状態遷移モデルの各時刻での各状態の観測確率を等確率と仮定して、前記確率的状態遷移モデルの状態遷移確率に基づいて所定時間経過後の前記各状態の生起確率を計算することにより、前記所定時間経過後のユーザの活動状態を予測する
データ処理装置。
【請求項２】
前記予測手段は、前記確率的状態遷移モデルの各時刻での各状態の観測確率を等確率と仮定して前記所定時間経過後の前記各状態の生起確率を計算する代わりに、前記確率的状態遷移モデルの状態遷移確率に基づいて乱数を用いて試行的に決定した前記確率的状態遷移モデルの前記所定時間経過後までの各状態の生起確率を計算することにより、ユーザの活動状態を予測する
請求項１に記載のデータ処理装置。
【請求項３】
前記予測手段は、所定時間経過後の生起確率が最大となっている前記活動状態、または、所定の閾値以上となっている前記活動状態を、前記所定時間経過後のユーザの活動状態と予測する
請求項１に記載のデータ処理装置。
【請求項４】
前記確率的状態遷移モデルは、スパース制約を与えた隠れ状態を含む確率的状態遷移モデルである
請求項３に記載のデータ処理装置。
【請求項５】
前記認識手段により認識された前記現在のユーザの活動状態に対応する制御対象装置の処理を学習する対応処理学習手段と、
前記対応処理学習手段の学習結果に基づいて、前記予測手段により予測された前記所定時間経過後のユーザの活動状態に対応する前記制御対象装置の処理を選択し、前記制御対象装置が選択された処理を行うように制御する選択手段と
をさらに備える
請求項４に記載のデータ処理装置。
【請求項６】
取得された前記時系列データに対して所定の前処理を行う前処理手段をさらに備える
請求項５に記載のデータ処理装置。
【請求項７】
時系列データを処理するデータ処理装置が、
ウェアラブルセンサから前記時系列データを取得し、
取得された前記時系列データから、ユーザの活動状態を表す活動モデルを、確率的状態遷移モデルとして学習し、
学習により得られた前記ユーザの活動モデルを用いて、現在のユーザの活動状態を認識し、
認識された前記現在のユーザの活動状態から、現在から所定時間経過後のユーザの活動状態を予測する
ステップを含み、
前記所定時間経過後のユーザの活動状態の予測においては、前記確率的状態遷移モデルの各時刻での各状態の観測確率を等確率と仮定して、前記確率的状態遷移モデルの状態遷移確率に基づいて所定時間経過後の前記各状態の生起確率を計算することにより、前記所定時間経過後のユーザの活動状態を予測する
データ処理方法。
【請求項８】
コンピュータに、
ウェアラブルセンサから時系列データを取得する取得手段と、
取得された前記時系列データから、ユーザの活動状態を表す活動モデルを、確率的状態遷移モデルとして学習する活動モデル学習手段と、
前記活動モデル学習手段により得られた前記ユーザの活動モデルを用いて、現在のユーザの活動状態を認識する認識手段と、
前記認識手段により認識された前記現在のユーザの活動状態から、現在から所定時間経過後のユーザの活動状態を予測する予測手段
として機能させ、
前記予測手段は、前記確率的状態遷移モデルの各時刻での各状態の観測確率を等確率と仮定して、前記確率的状態遷移モデルの状態遷移確率に基づいて所定時間経過後の前記各状態の生起確率を計算することにより、前記所定時間経過後のユーザの活動状態を予測する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、データ処理方法、およびプログラムに関し、特に、未来の所望の時刻におけるユーザの活動状態の複数の可能性を確率的に予測するデータ処理装置、データ処理方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、ユーザが身に着けられるセンサであるウェアラブルセンサから得られる時系列データを用いてユーザの状態をモデル化して学習し、学習により得られたモデルを用いて現在のユーザの状態を認識する研究が盛んである。例えば、非特許文献１では、ユーザの活動を予めいくつかの活動モデル（ラベル）として定義することなく、単に時系列に撮り貯めた撮像データから、現在のユーザの活動場所を認識する方法が提案されている。また、センサから得られたセンサデータに基づいて、ユーザの次の時刻の行動を予測する予測方法が提案されている（例えば、特許文献１，２、非特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１３４０８０号公報
【特許文献２】特開２００８−２０４０４０号公報
【非特許文献】
【０００４】
【非特許文献１】“Life Patterns: structure from wearable sensors”,Brian Patrick Clarkson, Doctor Thesis, MIT, 2002
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術では、単にユーザの次の時刻の行動を予測することができるのみであり、現在から所定時間経過した未来の時刻におけるユーザの活動状態の複数の可能性を確率的に予測することはできなかった。
【０００６】
本発明は、このような状況に鑑みてなされたものであり、未来の所望の時刻におけるユーザの活動状態の複数の可能性を確率的に予測することができるようにするものである。
【課題を解決するための手段】
【０００７】
本発明の一側面のデータ処理装置は、ウェアラブルセンサから時系列データを取得する取得手段と、取得された前記時系列データから、ユーザの活動状態を表す活動モデルを、確率的状態遷移モデルとして学習する活動モデル学習手段と、前記活動モデル学習手段により得られた前記ユーザの活動モデルを用いて、現在のユーザの活動状態を認識する認識手段と、前記認識手段により認識された前記現在のユーザの活動状態から、現在から所定時間経過後のユーザの活動状態を予測する予測手段とを備え、前記予測手段は、前記確率的状態遷移モデルの各時刻での各状態の観測確率を等確率と仮定して、前記確率的状態遷移モデルの状態遷移確率に基づいて所定時間経過後の前記各状態の生起確率を計算することにより、前記所定時間経過後のユーザの活動状態を予測する。
【０００８】
本発明の一側面のデータ処理方法は、時系列データを処理するデータ処理装置が、ウェアラブルセンサから前記時系列データを取得し、取得された前記時系列データから、ユーザの活動状態を表す活動モデルを、確率的状態遷移モデルとして学習し、学習により得られた前記ユーザの活動モデルを用いて、現在のユーザの活動状態を認識し、認識された前記現在のユーザの活動状態から、現在から所定時間経過後のユーザの活動状態を予測するステップを含み、前記所定時間経過後のユーザの活動状態の予測においては、前記確率的状態遷移モデルの各時刻での各状態の観測確率を等確率と仮定して、前記確率的状態遷移モデルの状態遷移確率に基づいて所定時間経過後の前記各状態の生起確率を計算することにより、前記所定時間経過後のユーザの活動状態を予測する。
【０００９】
本発明の一側面のプログラムは、コンピュータに、ウェアラブルセンサから時系列データを取得する取得手段と、取得された前記時系列データから、ユーザの活動状態を表す活動モデルを、確率的状態遷移モデルとして学習する活動モデル学習手段と、前記活動モデル学習手段により得られた前記ユーザの活動モデルを用いて、現在のユーザの活動状態を認識する認識手段と、前記認識手段により認識された前記現在のユーザの活動状態から、現在から所定時間経過後のユーザの活動状態を予測する予測手段として機能させ、前記予測手段は、前記確率的状態遷移モデルの各時刻での各状態の観測確率を等確率と仮定して、前記確率的状態遷移モデルの状態遷移確率に基づいて所定時間経過後の前記各状態の生起確率を計算することにより、前記所定時間経過後のユーザの活動状態を予測する。
【００１０】
本発明の一側面においては、ウェアラブルセンサから時系列データが取得され、取得された時系列データから、ユーザの活動状態を表す活動モデルが確率的状態遷移モデルとして学習され、学習により得られたユーザの活動モデルを用いて、現在のユーザの活動状態が認識され、認識された現在のユーザの活動状態から、現在から所定時間経過後のユーザの活動状態が予測される。所定時間経過後のユーザの活動状態の予測においては、確率的状態遷移モデルの各時刻での各状態の観測確率を等確率と仮定して、確率的状態遷移モデルの状態遷移確率に基づいて所定時間経過後の各状態の生起確率を計算することにより、所定時間経過後のユーザの活動状態が予測される。
【発明の効果】
【００１１】
本発明の一側面によれば、未来の所望の時刻におけるユーザの活動状態の複数の可能性を確率的に予測することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明を適用したデータ処理システムの一実施の形態の構成例を示すブロック図である。
【図２】図１のデータ処理装置の詳細な構成例を示すブロック図である。
【図３】ユーザ活動モデル学習処理を説明するフローチャートである。
【図４】対応処理学習処理を説明するフローチャートである。
【図５】ユーザ活動予測制御処理を説明するフローチャートである。
【図６】HMMの例を示す図である。
【図７】left-to-right型のHMMの例を示す図である。
【図８】スパース制約を与えたHMMを示す図である。
【図９】第１の実験の概要について説明する図である。
【図１０】第１の実験例に用いたデータ処理装置の構成例を示すブロック図である。
【図１１】前処理部の処理結果を示す図である。
【図１２】前処理部の処理結果を示す図である。
【図１３】ユーザ活動モデル学習部の学習結果を示す図である。
【図１４】ユーザ活動モデル学習部の学習結果を示す図である。
【図１５】ユーザ活動認識部の認識結果を示す図である。
【図１６】ユーザ活動予測部の予測結果を示す図である。
【図１７】対応処理学習部の学習テーブルを説明する図である。
【図１８】対応処理選択部の選択処理を説明する図である。
【図１９】実験２におけるデータ処理装置の認識結果および予測結果を説明する図である。
【図２０】実験２におけるデータ処理装置の認識結果および予測結果を説明する図である。
【図２１】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【００１３】
［本発明を適用した実施の形態の構成例］
図１は、本発明を適用した実施の形態であるデータ処理システムの構成例を示すブロック図である。
【００１４】
図１のデータ処理システムは、ウェアラブルセンサ１、データ処理装置２、および制御対象装置３により構成されている。
【００１５】
ウェアラブルセンサ１は、ユーザ自身が身に着けられるセンサであり、例えば、カメラ、マイクロホン、GPS（Global Positioning System）受信機、時計、加速度センサ、ジャイロセンサ、生体情報センサなどである。ウェアラブルセンサ１は、センシングにより得られた時系列データ（以下、センサデータともいう）を、データ処理装置２に出力する。
【００１６】
データ処理装置２は、ユーザが携帯可能なサイズの装置であり、ウェアラブルセンサ１から供給される時系列データに基づいて、ユーザの活動状態（行動・活動パターンを表した状態）を確率的状態遷移モデルとして学習する。学習に使用される確率的状態遷移モデルとしては、例えば、エルゴディックHMM（Hidden Markov Model）などの、隠れ状態を含む確率的状態遷移モデルを採用することができる。エルゴディックHMMについては、図６等を参照して後述する。
【００１７】
データ処理装置２は、学習した確率的状態遷移モデルを用いて、最初に、現在のユーザの活動状態を認識する。次に、データ処理装置２は、現在までに得られたセンサデータから、学習した確率的状態遷移モデルを用いて、未来の所望の時刻までの各状態の生起確率を予測することにより、未来の所望の時刻におけるユーザの活動状態を予測する。そして、データ処理装置２は、予測したユーザの活動状態に応じた所定の処理を制御対象装置３に行わせるため、制御対象装置３に制御信号を出力する。
【００１８】
なお、データ処理装置２が行う処理の一部は、無線通信及びインターネット等のネットワークを介した通信により遠隔にある装置にデータを送信し、そこで実行させることも可能である。
【００１９】
制御対象装置３は、データ処理装置２によって制御される対象の装置であり、例えば、ディスプレイ、スピーカ、AV機器、照明機器、空調機器等の家電製品である。或いは、制御対象装置３は、ディスプレイ、スピーカ、AV機器、照明機器、空調機器等の制御を行うコントローラなどであってもよい。したがって、制御対象装置３は、１つに限らず、複数存在する場合がある。
【００２０】
なお、ウェアラブルセンサ１とデータ処理装置２は、ウェアラブル（werable）なものである必要があるが、制御対象装置３は、ウェアラブルなものであるとは限らない。勿論、制御対象装置３もウェアラブルなものであってもよい。また、データ処理装置２と制御対象装置３との間の信号のやりとりは、有線でも無線でも構わない。
【００２１】
以上のように構成されるデータ処理システムによれば、次のようなことが可能である。
【００２２】
例えば、ユーザが自宅に居る場合の活動状態を、確率的状態遷移モデルとして学習した場合には、データ処理装置２は、ユーザが「リビングに居る」、「キッチンに居る」などの現在の活動状態を認識する。そして、データ処理装置２は、ユーザの所定時間経過後の活動状態を、確率的状態遷移モデルに基づいて予測する。例えば、データ処理装置２は、「所定時間経過後にはキッチンに居る」、「所定時間経過後にリビングに移動する」などの活動状態を予測する。
【００２３】
そして、データ処理装置２は、予測した活動状態に対応する制御対象装置３の制御を行う。例えば、データ処理装置２は、ユーザの現在の活動状態を「キッチンに居る」と認識し、「所定時間経過後にリビングに移動する」と予測した場合、制御対象装置３としての、リビングの照明機器や空調機器をオンさせる。また、データ処理装置２は、リビングのテレビジョン受像機（以下、単にテレビと称する）、記録再生装置、オーディオステレオなどのAV機器をオンさせることができる。
【００２４】
また、ユーザがオフィスにいる場合の活動状態を、確率的状態遷移モデルとして学習した場合には、データ処理装置２は、ユーザが「オフィス（自分の机）に居る」、「会議室に居る」などの現在の活動状態を認識することができる。そして、予測した所定時間経過後の活動状態に応じて、「会議室等の各場所の空調機器をオンさせる」、「コピー機をオンさせる」、「エレベータを自分のいるフロアに移動させる」などの制御を行うことができる。即ち、この場合の制御対象装置３は、空調機器、コピー機、エレベータなどである。
【００２５】
さらに例えば、ユーザがショップ内で買い物をしているような場面では、ユーザの現在の活動状態を認識して、即ち、ユーザが現在見ている商品等を予測して、その商品情報を制御対象装置３としてのディスプレイに表示させることができる。あるいは、進行方向先に陳列されている商品のお薦め商品などの情報を、制御対象装置３としてのディスプレイに表示させることができる。
【００２６】
また、ユーザが通勤・通学等で移動する移動経路を活動状態のモデルとして学習した場合には、データ処理装置２は、例えば、ユーザが駅に向かうことを予測したとき、時刻表を制御対象装置３としてのディスプレイに表示させることができる。また、データ処理装置２は、移動経路から立ち寄る店舗を予測して、その店舗の詳細情報（営業時間やセール情報など）を表示させたりすることができる。
【００２７】
以上のようなユーザの活動状態の予測とそれに対応する制御処理を可能とする、データ処理装置２の詳細について説明する。
【００２８】
［データ処理装置２の詳細構成例］
図２は、データ処理装置２の詳細な構成例を示すブロック図である。
【００２９】
センサ入力部１１1は、ウェアラブルセンサ１が出力するセンサデータを取得し、前処理部１２1に供給する。センサ入力部１１2および１１3も同様である。ただし、センサ入力部１１1乃至１１3が取得するセンサデータはそれぞれ異なる。従って、データ処理装置２は、複数のウェアラブルセンサ１からセンサデータを取得することができ、取得対象のウェアラブルセンサ１の数に応じたセンサ入力部１１および前処理部１２を設けることができる。なお、取得対象のウェアラブルセンサ１の数は、１つでも勿論良い。以下では、センサ入力部１１1乃至１１3および前処理部１２1乃至１２3それぞれを特に区別する必要がない場合、単に、センサ入力部１１および前処理部１２と称する。
【００３０】
前処理部１２1乃至１２3それぞれは、センサ入力部１１1乃至１１3から供給されたセンサデータに対して、画像特徴量の抽出処理、ローパスフィルタ処理等のデータの特性に応じた前処理を施し、ユーザ活動モデル学習部１３およびユーザ活動認識部１５に供給する。即ち、前処理部１２1乃至１２3それぞれは、ユーザ活動モデル学習部１３およびユーザ活動認識部１５に供給するのに最適なデータに変換し、変換後のセンサデータをユーザ活動モデル学習部１３およびユーザ活動認識部１５に供給する。
【００３１】
ユーザ活動モデル学習部１３は、前処理部１２1乃至１２3それぞれから供給されるセンサデータに基づいて、ユーザの活動状態をモデル化した確率的状態遷移モデル（ユーザ活動モデル）を学習する。本実施の形態では、確率的状態遷移モデルとして、エルゴディックHMMにスパース制約を与えたものを採用する。ユーザ活動モデル学習部１３は、学習の結果得られたユーザ活動モデルのパラメータを、ユーザ活動モデルパラメータ記憶部１４に供給する。ユーザ活動モデルパラメータ記憶部１４は、ユーザ活動モデル学習部１３から供給されるパラメータを記憶し、必要に応じて、ユーザ活動認識部１５およびユーザ活動予測部１６に供給する。
【００３２】
なお、スパース制約を与えたエルゴディックHMM、エルゴディックHMMのパラメータの算出方法等については、図６乃至図８を参照して後述する。
【００３３】
ユーザ活動認識部１５は、センサ入力部１１および前処理部１２を介して新たなセンサデータが入力されたとき、学習により得られたユーザ活動モデルに基づいて、現在のユーザの活動状態（以下、ユーザ活動状態とも称する）を認識（特定）する。ユーザ活動認識部１５は、認識した現在のユーザ活動状態を表す状態IDをユーザ活動予測部１６および対応処理学習部１８に供給する。
【００３４】
ユーザ活動予測部１６は、学習により得られたユーザ活動モデルに基づいて、所定時間経過後のユーザの活動状態を予測する。具体的には、ユーザ活動予測部１６には、現在のユーザの状態を表す状態IDが供給される。ユーザ活動予測部１６は、現在時刻T（T＞０）のユーザの活動状態から、所定時間経過後の時刻T＋N（N＞０）において、生起確率が最大となっている活動状態、または、生起確率が所定の閾値以上となっている活動状態を決定する。そして、ユーザ活動予測部１６は、決定された活動状態を表す状態IDを、時刻T＋Nにおけるユーザの活動状態の予測結果として対応処理選択部１９に供給する。
【００３５】
対応処理取得部１７は、制御対象装置３に対してデータ処理装置２が行う制御のそれぞれに処理IDを付し、制御対象装置３において処理IDを付した制御が行われた場合に、その処理IDを取得して対応処理学習部１８に供給する。
【００３６】
対応処理学習部１８は、処理IDと状態IDとを対応付けた学習テーブルを記憶する。対応処理学習部１８は、対応処理取得部１７から処理IDが供給された場合に、学習テーブルの現在のユーザの活動状態を表す状態IDのところの、供給された処理IDのカウントをカウントアップする。その結果、ユーザの活動状態の状態IDごとの、処理IDの頻度がカウントされる。これにより、対応処理学習部１８は、ユーザがどのような活動状態でいるとき、制御対象装置３に対してどのような操作（制御）を行うかを学習する。即ち、対応処理学習部１８は、現在のユーザの活動状態を表す状態IDに対応する制御対象装置３の処理を学習する。
【００３７】
対応処理選択部１９には、所定時間経過後の時刻T＋Nにおける、ユーザの活動状態の予測結果としての状態IDが、ユーザ活動予測部１６から供給される。対応処理選択部１９は、対応処理学習部１８に記憶された学習結果から、ユーザ活動予測部１６から供給される状態IDに対応する処理の処理IDを選択（決定）する。対応処理選択部１９は、選択した処理IDを対応処理出力部２０に供給する。
【００３８】
対応処理出力部２０は、対応処理選択部１９から供給された処理IDに対応する制御を制御対象装置３に対して行う。
【００３９】
［ユーザ活動モデル学習処理］
図３は、データ処理装置２によるユーザ活動モデル学習処理のフローチャートである。
【００４０】
初めに、ステップＳ１において、センサ入力部１１は、ウェアラブルセンサ１が出力するセンサデータを取得し、前処理部１２に供給する。
【００４１】
ステップＳ２において、前処理部１２は、センサ入力部１１から供給されたセンサデータに対して前処理を施し、処理後のセンサデータをユーザ活動モデル学習部１３に供給する。
【００４２】
ステップＳ３において、ユーザ活動モデル学習部１３は、前処理部１２から供給されるセンサデータに基づいて、ユーザ活動モデルを学習する。即ち、ユーザ活動モデル学習部１３は、ユーザ活動モデルとしての確率的状態遷移モデルのパラメータを算出する。
【００４３】
ステップＳ４において、ユーザ活動モデルパラメータ記憶部１４は、ユーザ活動モデル学習部１３による学習の結果得られたユーザ活動モデルのパラメータ（ユーザ活動モデルパラメータ）を記憶して、処理を終了する。
【００４４】
［対応処理学習処理］
図４は、ユーザの活動状態に対応する制御対象装置３の処理を学習する対応処理学習処理のフローチャートである。この処理は、図３によるユーザ活動モデル学習処理によりユーザ活動モデルが決定された後に実行することができる。
【００４５】
初めに、ステップＳ１１において、センサ入力部１１は、ウェアラブルセンサ１が出力するセンサデータを取得し、前処理部１２に供給する。
【００４６】
ステップＳ１２において、前処理部１２は、センサ入力部１１から供給されたセンサデータに対して前処理を施し、処理後のセンサデータをユーザ活動認識部１５に供給する。
【００４７】
ステップＳ１３において、ユーザ活動認識部１５は、ユーザ活動モデルのパラメータを、ユーザ活動モデルパラメータ記憶部１４から読み出す。
【００４８】
ステップＳ１４において、ユーザ活動認識部１５は、読み出したパラメータに基づくユーザ活動モデルに基づいて、現在のユーザ活動状態を認識（特定）する。ユーザ活動認識部１５は、認識結果としてのユーザの活動状態を表す状態IDを対応処理学習部１８に供給する。
【００４９】
ステップＳ１５において、対応処理取得部１７は、制御対象装置３において行われた処理の処理IDを取得して対応処理学習部１８に供給する。ステップＳ１４とＳ１５の処理は並行して行われる。
【００５０】
ステップＳ１６において、対応処理学習部１８は、対応処理取得部１７から供給された処理IDと、ユーザ活動認識部１５から供給された現在のユーザ活動状態を表す状態IDを学習テーブルに対応付けて記憶し、処理を終了する。
【００５１】
以上の処理を繰り返し実行することにより、データ処理装置２は、ユーザがどんな状態でいるとき、制御対象装置３に対してどのような操作（制御）を行うかを学習することができる。
【００５２】
［ユーザ活動予測制御処理］
図５は、入力されたセンサデータに基づいてユーザ活動状態を予測し、予測したユーザ活動状態に応じた制御対象装置３の制御を行うユーザ活動予測制御処理のフローチャートである。この処理は、図３のユーザ活動モデル学習処理と図４の対応処理学習処理の実行後、または、図４の対応処理学習処理と並列に実行することができる。
【００５３】
初めに、ステップＳ２１において、センサ入力部１１は、ウェアラブルセンサ１が出力するセンサデータを取得し、前処理部１２に供給する。
【００５４】
ステップＳ２２において、前処理部１２は、センサ入力部１１から供給されたセンサデータに対して前処理を施し、処理後のセンサデータをユーザ活動認識部１５に供給する。ステップＳ２１とＳ２２の処理は、図４のステップＳ１１とＳ１２の処理と同一であり、図５の処理が図４の処理と並列に実行される場合には、ステップＳ１１とＳ２１、ステップＳ１２とＳ２２は、それぞれ１つの処理として実行することができる。
【００５５】
ステップＳ２３において、ユーザ活動予測部１６は、ユーザ活動モデルのパラメータを、ユーザ活動モデルパラメータ記憶部１４から読み出す。またステップＳ２３では、ユーザ活動認識部１５も、ユーザ活動モデルのパラメータを、ユーザ活動モデルパラメータ記憶部１４から読み出す。
【００５６】
ステップＳ２４において、ユーザ活動認識部１５は、読み出したパラメータに基づくユーザ活動モデルから、現在のユーザ活動状態を認識する。そして、ユーザ活動認識部１５は、認識結果としてのユーザの活動状態を表す状態IDを対応処理学習部１８に供給する。
【００５７】
ステップＳ２５において、ユーザ活動予測部１６は、現在時刻Tのユーザの活動状態を起点として、所定時間経過後の時刻T＋Nのユーザ活動状態を予測する。ユーザ活動予測部１６は、予測結果である、所定時間経過後のユーザの活動状態を表す状態IDを対応処理選択部１９に供給する。
【００５８】
ステップＳ２６において、対応処理選択部１９は、ユーザ活動予測部１６から供給された状態IDに対応する処理IDを、図４の処理により対応処理学習部１８に記憶された学習テーブルから選択する。即ち、対応処理選択部１９は、時刻T＋Nに予測されるユーザの活動状態に対応する制御対象装置３の制御を選択する。選択された処理IDは、対応処理出力部２０に供給される。
【００５９】
ステップＳ２７において、対応処理出力部２０は、対応処理選択部１９から供給された処理IDに対応する制御を制御対象装置３に対して行い、処理を終了する。
【００６０】
以上のように、データ処理装置２においては、図３のユーザ活動モデル学習処理によりユーザ活動モデルのパラメータが算出され、算出されたパラメータを用いたユーザ活動モデルによって、現在のユーザの活動状態が認識される。そして、現在のユーザの活動状態から、未来の所定の時刻T＋Nにおけるユーザの活動状態が予測され、予測されたユーザの活動状態に応じた制御対象装置３の制御が行われる。
【００６１】
［エルゴディックHMMについて］
次に、データ処理装置２が、学習モデルとして採用するエルゴディックHMMについて説明する。
【００６２】
図６は、HMMの例を示している。
【００６３】
HMMは、状態と状態間遷移とを有する状態遷移モデルである。
【００６４】
図６は、３状態のHMMの例を示している。
【００６５】
図６において（以降の図においても同様）、丸印は、状態（上述のユーザの活動状態に対応する）を表し、矢印は、状態遷移を表す。
【００６６】
また、図６において、si（図６では、i=1,2,3）は、状態を表し、aijは、状態siから状態sjへの状態遷移確率を表す。さらに、bj(x)は、状態sjへの状態遷移時に、観測値xが観測される出力確率密度関数を表し、πiは、状態siが初期状態である初期確率を表す。
【００６７】
なお、出力確率密度関数bj(x)としては、例えば、混合正規確率分布等が用いられる。
【００６８】
ここで、HMM（連続HMM）は、状態遷移確率aij、出力確率密度関数bj(x)、及び初期確率πiによって定義される。これらの状態遷移確率aij、出力確率密度関数bj(x)、及び初期確率πiを、HMMのパラメータλ={aij,bj(x), πi,i=1,2,・・・,M，j=1,2,・・・,M}という。Mは、HMMの状態数を表す。
【００６９】
HMMのパラメータλを推定する方法としては、Baum-Welchの再尤推定法が広く利用されている。Baum-Welchの再尤推定法は、EMアルゴリズム(EM(Expectation-Maximization) algorithm)に基づくパラメータの推定方法である。
【００７０】
Baum-Welchの再尤推定法によれば、観測される時系列データx=x1,x2,・・・,xTに基づき、その時系列データが観測（生起）される確率である生起確率から求まる尤度を最大化するように、HMMのパラメータλの推定が行われる。ここで、xtは、時刻tに観測される信号（サンプル値）を表し、Tは、時系列データの長さ（サンプル数）を表す。
【００７１】
Baum-Welchの再尤推定法については、例えば、“パターン認識と機械学習（下）”，Ｃ．Ｍ．ビショップ著，P. 333（英語原書：“Pattern Recognition and Machine Learning (Information Science and Statistics) ”，Christopher M. BishopSpringer, New York, 2006.）（以下、文献Ａと称する）に記載されている。
【００７２】
センサ入力部１１が取得したセンサデータが、時系列データx=x1,x2,・・・,xTとして、前処理部１２に供給される。そして、前処理部１２により所定の処理が施された後のセンサデータが、時系列データx'=x1',x2',・・・,xT'として、ユーザ活動モデル学習部１３に供給される。
【００７３】
したがって、ユーザ活動モデル学習部１３は、前処理後のセンサデータx'=x1',x2',・・・,xT'を用い、ユーザ活動モデルを表すHMMのパラメータλを推定する。
【００７４】
なお、Baum-Welchの再尤推定法は、尤度最大化に基づくパラメータ推定方法ではあるが、最適性を保証するものではなく、HMMの構造やパラメータλの初期値によっては、局所解に収束することがある。
【００７５】
HMMは、音声認識で広く利用されているが、音声認識で利用されるHMMでは、一般に、状態の数や状態遷移の仕方等はあらかじめ決定される。
【００７６】
図７は、音声認識で利用されるHMMの例を示している。
【００７７】
図７のHMMは、left-to-right型と呼ばれる。
【００７８】
図７では、状態数は３になっており、状態遷移は、自己遷移（状態siから状態siへの状態遷移）と、左から右隣の状態への状態遷移とのみを許す構造に制約されている。
【００７９】
図７のHMMのように、状態遷移に制約があるHMMに対して、図６に示した、状態遷移に制約がないHMM、すなわち、任意の状態siから任意の状態sjへの状態遷移が可能なHMMは、エルゴディック(Ergodic)HMMと呼ばれる。
【００８０】
エルゴディックHMMは、構造としては最も自由度の高いHMMであるが、状態数が多くなると、パラメータλの推定が困難となる。
【００８１】
例えば、エルゴディックHMMの状態数が、１０００である場合、状態遷移の数は、１００万（＝１０００×１０００）となる。
【００８２】
したがって、この場合、パラメータλのうちの、例えば、状態遷移確率aijについては、１００万個の状態遷移確率aijを推定することが必要となる。
【００８３】
そこで、状態に対して設定する状態遷移には、例えば、スパース(Sparse)な構造であるという制約（スパース制約）をかけることができる。
【００８４】
ここで、スパースな構造とは、任意の状態から任意の状態への状態遷移が可能なエルゴディックHMMのような密な状態遷移ではなく、ある状態から状態遷移することができる状態が非常に限定されている構造である。なお、ここでは、スパースな構造であっても、他の状態への状態遷移は、少なくとも１つ存在し、また、自己遷移は存在することとする。
【００８５】
図８は、スパース制約を与えたHMMを示している。
【００８６】
ここで、図８では、２つの状態を結ぶ双方向の矢印は、その２つの状態の一方から他方への状態遷移と、他方から一方への状態遷移とを表す。また、図８において、各状態は、自己遷移が可能であり、その自己遷移を表す矢印の図示は、省略されている。
【００８７】
図８では、１６個の状態が、２次元空間上に格子状に配置されている。すなわち、図８では、横方向に、４個の状態が配置され、縦方向にも、４個の状態が配置されている。
【００８８】
いま、横方向に隣接する状態どうしの距離、及び、縦方向に隣接する状態どうしの距離を、いずれも１とすると、図８Ａは、距離が１以下の状態への状態遷移は可能とし、他の状態への状態遷移はできないというスパース制約を与えたHMMを示している。
【００８９】
また、図８Ｂは、距離が√２以下の状態への状態遷移は可能とし、他の状態への状態遷移はできないというスパース制約を与えたHMMを示している。
【００９０】
ユーザ活動認識部１５は、学習により得られたユーザ活動モデル（HMM）に対して、ビタビ法を適用し、前処理部１２からの処理後センサデータx'=x1',x2',・・・,xT'が観測される尤度を最も大にする状態遷移の過程（状態の系列）（パス）（以下、最尤パスともいう）を求める。これにより、現在のユーザの活動状態が認識される。
【００９１】
ここで、ビタビ法とは、各状態siを始点とする状態遷移のパスの中で、時刻tに、状態siから状態sjに状態遷移する状態遷移確率aijと、その状態遷移において、処理後センサデータx'=x1',x2',・・・,xT'のうちの時刻tのサンプル値x'tが観測される確率（出力確率密度関数bj(x)から求められる出力確率）とを、処理後時系列データx'の長さTに亘って累積した値（生起確率）を最大にするパス（最尤パス）を決定するアルゴリズムである。
【００９２】
ユーザ活動予測部１６は、学習により得られたユーザ活動モデル（HMM）に対して、フォワードバックワードアルゴリズム(Forward-Backward algorithm)を適用し、ユーザ活動認識部１５で認識された現在のユーザ活動状態を起点として、時刻T＋Nまでの各状態siの生起確率を計算することができる。なお、ユーザ活動予測部１６は、生起確率を計算する際、各時刻での各状態siの観測確率を等確率と仮定して時刻T＋Nまでの各状態siの生起確率を状態遷移確率aijに基づいて計算する方法か、または、状態遷移確率aijに基づいて乱数を用いて試行的に決定した時刻T＋Nまでの各状態siの生起確率を計算する方法のいずれかを採用することができる。
【００９３】
ここで、フォワードバックワードアルゴリズムとは、各状態siに至る確率を、時間方向に前向きに伝搬することで求められる前向き確率αi(t)と、後ろ向きに伝搬することで求められる後ろ向き確率βi(t)とを統合した確率値を計算するアルゴリズムである。なお、前向き確率αi(t)を計算するフォワードアルゴリズム、もしくは、後ろ向き確率βi(t)を計算するバックワードアルゴリズムのいずれかのみを用いることもできる。
【００９４】
ビタビ法については上述の文献ＡのP.347に、フォワードバックワードアルゴリズムについては上述の文献ＡのP.336に記載されている。
【００９５】
［第１の実験例］
次に、データ処理装置２による、ユーザ活動モデルの学習および予測制御の具体例について説明する。最初に、図９を参照して第１の実験の概要について説明する。
【００９６】
第１の実験では、ユーザがウェアラブルセンサ１としてカメラを携行し、ユーザが視認する画像（映像）のデータが時系列データとして取得される。ユーザは、図９に示される住居内において、（１）リビングでテレビを視聴する、（２）ダイニングで食事する、（３）書斎で考えごとをする、（４）キッチンで料理する、（５）洗面所でメイクする、の活動（行動）をする。また、ユーザは、移動先の部屋で、部屋の照明をつける、テレビのスイッチを入れるなどの操作を制御対象装置３としての照明機器、テレビジョン受像機などに対して行う。
【００９７】
データ処理装置２は、ユーザの活動とともに取得された画像の時系列データに基づいて、ユーザの活動状態をエルゴディックHMMに学習させる。そして、学習後の検証として、ユーザが行動することにより得られる新たな画像の時系列データを入力させ、ユーザ活動認識部１５によるユーザ活動状態の認識と、実際のユーザの活動との比較を行った。なお、ウェアラブルセンサ１としてのカメラからデータ処理装置２が取得するのは画像の時系列データのみであり、ユーザの活動に関するラベル付けのようなものは行わない。ただし、学習後の検証として実際のユーザの活動と認識結果とを比較するため、今回の実験では、取得された各画像に対し、住居内の位置を示す擬似座標を付加した。また、学習後の各状態に対しても、その状態に割り当てられた入力画像の擬似座標の平均値を対応付け、認識結果の各状態を擬似座標で確認できるようにした。
【００９８】
［第１の実験例におけるデータ処理装置２の構成］
図１０は、第１の実験例に用いたデータ処理装置２の構成例を示すブロック図である。
【００９９】
センサ入力部１１−１は、ウェアラブルセンサ１としてのカメラが出力した時系列の画像データをセンサデータとして取得し、前処理部１２−１に供給する。
【０１００】
前処理部１２−１は、センサ入力部１１−１から供給される画像データに対し、画像特徴量を抽出する。即ち、前処理部１２−１は、画像の時系列データを、画像特徴量の時系列データに変換する。さらに前処理部１２−１は、画像特徴量の時系列データの次元数を圧縮し、次元圧縮後の画像特徴量の時系列データを、ユーザ活動モデル学習部１３−１およびユーザ活動認識部１５−１に供給する。
【０１０１】
前処理部１２−１は、抽出する画像特徴量として、例えば、GISTと呼ばれる特徴量を採用することができる。GISTについては、“Context-based vision system for place and object recognition”,A. Torralba, K. P. Murphy, W. T. Freeman and M. A. Rubin，IEEE Intl. Conference on Computer Vision (ICCV), Nice, France, October 2003.に、その詳細が記載されている。
【０１０２】
なお、画像特徴量は、GISTに限定されるものではなく、例えば、HLCA（局所高次相関）や、LBP(Local Binary Patterns)、カラーヒストグラム、エッジヒストグラム等を採用することも可能である。
【０１０３】
HLCAについては、例えば、N. Otsu, T. Kurita, "A new scheme for practical flexible and intelligent vision systems", Proc. IAPR Workshop on Computer Vision, pp.431-435, 1988に、詳細が記載されている。LBPについては、例えば、Ojala T, Pietikainen M & Maenpaa T, "Multiresolution gray-scale and rotation invariant texture classification with Local Binary Patterns", IEEE Transactions on Pattern Analysis and Machine Intelligence 24(7):971-987に、詳細が記載されている（Pietikainen、及び、Maenpaaの"a"は、正確には、"a"の上部に、"・・"を付加した文字）。
【０１０４】
また、前処理部１２−１は、主成分分析(PCA(principal component analysis))を行うことにより、画像特徴量の時系列データの次元圧縮を行うことができる。前処理部１２−１は、PCAの結果に基づき、累積寄与率が、ある程度高い値（例えば、95%等以上の値）となるように、画像特徴量（GIST）の時系列データの次元数を圧縮（制限）することができる。
【０１０５】
ユーザ活動モデル学習部１３−１は、前処理部１２−１から供給される次元圧縮後の画像特徴量の時系列データを、上述したセンサデータx'=x1',x2',・・・,xT'として、スパース制約を与えたエルゴディックHMMのパラメータλを算出する。なお、状態siの初期確率πiは、一様な値に設定することができる。例えば、M個の状態siそれぞれの初期確率πiが、1/Mに設定される。
【０１０６】
ユーザ活動モデルパラメータ記憶部１４−１は、ユーザ活動モデル学習部１３−１によって算出されたパラメータλを記憶し、必要に応じて、ユーザ活動認識部１５およびユーザ活動予測部１６に供給する。
【０１０７】
ユーザ活動認識部１５−１は、学習により得られたユーザ活動モデル（HMM）に対して、ビタビ法を適用し、現在のユーザ活動状態を認識（特定）する。ユーザ活動認識部１５−１は、認識した現在のユーザ活動状態を表す状態IDをユーザ活動予測部１６および対応処理学習部１８に供給する。
【０１０８】
ユーザ活動予測部１６−１は、現在のユーザ活動状態を表す状態IDに基づいて、現在の時刻Tから所望の時間経過後の時刻T＋Nにおけるユーザの活動状態を予測し、予測した活動状態の状態IDを対応処理選択部１９−１に供給する。ここで、ユーザ活動予測部１６−１は、各状態siの時刻T＋１乃至T＋Nにサンプル値x' T+1乃至x' T+Nが観測される確率を１と仮定して時刻T＋Nまでの各状態siの生起確率を計算する。そして、ユーザ活動予測部１６−１は、所定時間経過後の時刻T＋Nにおいて、生起確率が最大となっている状態、または、生起確率が所定の閾値以上となっている状態を、時刻T＋Nにおけるユーザの活動状態であると予測する。
【０１０９】
対応処理取得部１７−１は、各部屋の照明のオン・オフ、テレビのスイッチのオン・オフ、エアコン（エアーコンディショナー）のオン・オフを示す信号を受信することにより取得し、各制御に対応する処理IDとして対応処理学習部１８−１に供給する。
【０１１０】
対応処理学習部１８−１は、対応処理取得部１７−１から処理IDが供給されたとき、学習テーブルの現在のユーザ活動状態を表す状態IDのところの、供給された処理IDの頻度をカウントアップする。これにより、対応処理学習部１８−１は、各状態IDに対する各処理IDの共起頻度をカウントする。
【０１１１】
対応処理選択部１９−１は、ユーザ活動予測部１６−１から所定の状態IDが供給されたとき、供給された状態IDに対して行うべき処理の処理IDを、対応処理学習部１８−１の学習テーブルから選択（決定）する。具体的には、対応処理選択部１９−１は、供給された状態IDに対して、頻度の最も高い処理IDを学習テーブルから選択し、対応処理出力部２０−１に供給する。なお、対応処理選択部１９−１は、供給された状態IDに対して、所定の閾値以上の頻度を有する複数の処理IDを選択するようにしてもよい。
【０１１２】
対応処理出力部２０−１は、対応処理選択部１９−１から供給される処理IDに応じて、制御対象装置３を制御する。例えば、対応処理出力部２０−１は、ユーザが時刻T＋Nにリビングに居ると予測された場合には、リビングの照明とエアコンをオンするための制御信号を、制御対象装置３としての照明機器およびエアコンに送信する。
【０１１３】
以上のデータ処理装置２を用いた第１の実験の実験結果について、図１１乃至図１８を参照して説明する。
【０１１４】
［前処理部１２−１の処理結果］
図１１および図１２は、前処理部１２−１の処理結果を示している。
【０１１５】
図１１は、センサ入力部１１−１から供給された入力画像の例と、前処理部１２−１で抽出された画像特徴量の時系列データ、および、次元圧縮後の画像特徴量の時系列データを示している。なお、入力画像は、紙面の制約上、撮像した画像をイラスト化したものであり、画像の濃淡の表示も省略されている。
【０１１６】
入力画像から抽出された画像特徴量の時系列データ（図１１中央）は、１０００次元程度の次元数が存在するのに対し、主成分分析による次元圧縮後の画像特徴量の時系列データ（図１１右）では、５０次元程度に次元数が圧縮されている。
【０１１７】
図１２は、前処理部１２−１による入力画像の画像特徴量の抽出処理を示している。
【０１１８】
図１２は、グレースケール（８ビットの階調）の入力画像に対して、GISTを計算した例である。即ち、前処理部１２−１は、グレースケールの入力画像に対して、ステアラブルフィルタ（steerable fiter）の出力を５×５に分割して平均化したものを画像特徴量とした。ここで、ステアラブルフィルタのパラメータは、解像度については大、中、小の３段階、微分フィルタについては１次微分、２次微分、３次微分の３段階、方向パラメータは４方向（上、下、右、左）とした。なお、２次微分の微分フィルタには、各軸方向の方向パラメータに加えて全軸方向の方向パラメータも計算できるため、５方向のフィルタ出力となっている。
【０１１９】
［ユーザ活動モデル学習部１３−１の学習結果］
図１３および図１４は、ユーザ活動モデル学習部１３−１による学習の結果得られたHMMを示している。
【０１２０】
図１３および図１４では、黒丸は、サモンマップという手法を用いて、状態遷移確率aijに基づいて遷移確率の大きい状態間ができるだけ近傍に配置されるように決定したHMMの各状態sjの座標(x,y)を表し、状態sjに相当する。ここで、状態数Mは６００としている。
【０１２１】
また、図１３および図１４では、状態siから状態sjへの状態遷移の状態遷移確率aijが0より大である場合（状態siから状態sjへの状態遷移が有効な状態遷移である場合）、状態siに相当する黒丸と、状態sjに相当する黒丸とを、直線（線分）で結んである。したがって、図１３および図１４において、黒丸どうしを接続する直線は、（有効な）状態遷移に相当する。
【０１２２】
なお、図１３および図１４において、状態遷移の方向を表す矢印の図示は、省略してある。
【０１２３】
図１４は、図１３に示した学習後のHMMに対し、（１）リビングでテレビを視聴する、（３）書斎で考えごとをする、（４）キッチンで料理する、などの各状態siに属する入力画像の一部を重ねて示した図である。なお、入力画像は灰色の四角形で表現されている。
【０１２４】
状態si上に配置された入力画像をみると、（１）リビングでテレビを視聴する、（３）書斎で考えごとをする、（４）キッチンで料理する、など、同一のユーザ活動状態が、隣接したHMMの状態に配置されている。即ち、入力画像から認識されるユーザ活動状態が適切に認識され、分類されている。
【０１２５】
HMMによる学習および認識は、画像特徴量に基づくクラスタリングの一種であると言える。しかし、単に画像特徴量を用いたクラスタリングは、画像の類似性にのみ着目するものであるため、画像に類似性がないものの相関は低くなる。一方、HMMによる学習および認識では、画像の特徴量のみならず、時間の前後関係をも含めてクラスタリングするため、ある特徴量をもつ画像の次に必ず所定の特徴量をもつ画像がくる場合には、それらの画像の特徴量自体に類似性がなくても相関が高くなる。従って、HMMを用いた学習により、入力される画像にラベル付けを行わなくても、ユーザ活動状態を適切に認識し、分類することができる。
【０１２６】
［ユーザ活動認識部１５−１の認識結果］
図１５は、ユーザ活動認識部１５−１による認識の結果を示している。
【０１２７】
図１５は、学習に用いていない新たな入力画像をデータ処理装置２に与えたときに、ユーザ活動認識部１５−１が認識した認識結果としての状態siを、黒点として、図９と同様の間取り図上に示したものである。
【０１２８】
なお、勿論、認識処理には、画像データに付加した擬似座標は使用していない。また、認識結果としての状態siに対応する擬似座標は、上述したように、その状態に割り当てられた入力画像の擬似座標の平均値から算出されている。
【０１２９】
図１５Aにおいて、バツ印（×）は、ユーザが「（３）書斎で考えごと」をしているある時刻の入力画像の真値、即ち、入力画像に付加した擬似座標を示している。一方、丸印（○）は、バツ印（×）の入力画像に対するユーザ活動認識部１５−１の認識結果、即ち、バツ印の入力画像を認識した状態siに対応する擬似座標を示している。
【０１３０】
図１５Bにおいて、バツ印（×）は、ユーザが「リビングに移動」をしているある時刻の入力画像の真値、即ち、入力画像に付加した擬似座標を示している。一方、丸印（○）は、バツ印（×）の入力画像に対するユーザ活動認識部１５−１の認識結果、即ち、バツ印の入力画像を認識した状態siに対応する擬似座標を示している。
【０１３１】
図１５Bにおいて、バツ印（×）は、ユーザが「（１）リビングでテレビを視聴」をしているある時刻の入力画像の真値、即ち、入力画像に付加した擬似座標を示している。一方、丸印（○）は、バツ印（×）の入力画像に対するユーザ活動認識部１５−１の認識結果、即ち、バツ印の入力画像を認識した状態siに対応する擬似座標を示している。
【０１３２】
図１５A乃至図１５Cのいずれのユーザ活動状態においても、バツ印と丸印は非常に近く、学習されたHMMにより、ユーザの活動状態を適切に認識することができているということができる。
【０１３３】
［ユーザ活動予測部１６−１の予測結果］
図１６は、ユーザ活動予測部１６−１の予測結果を示している。
【０１３４】
図１６A乃至図１６Cは、いずれも、ユーザ活動予測部１６−１が認識した現在のユーザ活動状態から３分後のユーザの活動の予測結果を、各活動状態の生起確率として示している。
【０１３５】
なお、各活動状態の生起確率は、次のようにして求められている。例えば、「（１）リビングでテレビを視聴している」確率は、状態siに対応させた擬似座標がリビング内の所定の範囲内にある場合を「（１）リビングでテレビを視聴している」と定義し、認識結果の３分後の状態siに対応する擬似座標が、定義した所定の範囲内にある確率を求めた。その他のユーザ活動状態の生起確率についても同様である。
【０１３６】
図１６Aは、現在のユーザ活動状態が「（３）書斎で考えごと」である場合の、３分後に予測されるユーザの活動状態を示している。
【０１３７】
現在のユーザ活動状態が「（３）書斎で考えごと」である場合には、３分後にユーザが、そのまま「（３）書斎で考えごとをしている」確率が４２．９％である。３分後にユーザが「（１）リビングでテレビを視聴している」確率が２４．５％である。３分後にユーザが「（５）洗面所でメイクしている」確率が５．４％である。また、「（４）キッチンで料理をしている」および「（２）ダイニングで食事をしている」確率は、それぞれ、２．６％および０．７％である。
【０１３８】
図１６Bは、現在のユーザ活動状態が「（１）リビングでTV視聴」である場合の、３分後に予測されるユーザの活動状態を示している。
【０１３９】
現在のユーザ活動状態が「（１）リビングでTV視聴」である場合、３分後にユーザが、そのまま「（１）リビングでテレビを視聴している」確率が６３．６％である。３分後にユーザが「（４）キッチンで料理をしている」確率が１２．３％である。３分後にユーザが「（３）書斎で考えごとをしている」確率が８．４％である。また、「（２）ダイニングで食事をしている」および「（５）洗面所でメイクしている」確率は、それぞれ、４．０％および３．１％である。
【０１４０】
図１６Cは、現在のユーザ活動状態が「（４）キッチンで料理」である場合の、３分後に予測されるユーザの活動状態を示している。
【０１４１】
現在のユーザ活動状態が「（４）キッチンで料理」である場合、３分後にユーザが、そのまま「（４）キッチンで料理」確率が２２．２％である。３分後にユーザが「（１）リビングでテレビを視聴している」確率が３８．８％である。３分後にユーザが「（２）ダイニングで食事をしている」確率が１７．９％である。また、「（３）書斎で考えごとをしている」および「（５）洗面所でメイクしている」確率は、それぞれ、８．４％および３．０％である。
【０１４２】
以上のように、ユーザ活動予測部１６−１によれば、学習されたHMMを用いて、現在のユーザ活動状態から、所定時間経過後のユーザの活動状態を生起確率として予測することができる。
【０１４３】
［対応処理学習処理および対応処理選択処理］
図１７は、対応処理学習部１８−１の学習処理により生成される学習テーブルの一部を示している。
【０１４４】
学習テーブルでは、HMMの各状態のときに制御対象装置３で行われた対応処理の頻度が、状態IDと処理IDとを対応付ける形で記憶されている。
【０１４５】
そして、図１８に示されるように、ユーザ活動予測制御処理において、ユーザ活動予測部１６から供給された状態IDが「５」であったとする。この場合、対応処理選択部１９−１は、状態ID「５」に対して頻度の最も高い処理ID「５」を選択して、選択した処理ID「５」を対応処理出力部２０−１に供給する。
【０１４６】
例えば、状態ID「５」が「（１）リビングでテレビを視聴している」であり、処理ID「５」が「テレビのスイッチをオンにする」であるとすると、対応処理選択部１９−１は、「テレビのスイッチをオンにする」旨の信号を対応処理出力部２０−１に供給する。対応処理出力部２０−１は、「テレビのスイッチをオンにする」旨の信号が供給されると、電源をオンするリモートコントロール信号をテレビに送信する。
【０１４７】
以上のように、第１の実験によれば、ウェアラブルセンサ１から取得される画像データを用いて、ユーザの現在の状態を的確に認識するとともに、所望の時間経過後の未来のユーザの状態を確率的に予測することができる。また、予測結果に応じて外部の機器を制御することができる。
【０１４８】
［第２の実験例］
次に、第２の実験例について説明する。データ処理装置２の構成は図１０と同様であるので、データ処理装置２の説明には図１０のデータ処理装置２の符号を引用して説明する。
【０１４９】
第２の実験では、ウェアラブルセンサ１としてGPS受信機が用いられる。また、制御対象装置３には、例えば、携行可能な小型のディスプレイやスピーカが採用される。
【０１５０】
データ処理装置２は、ユーザの行動、具体的にはユーザが移動した移動経路をユーザ活動モデルとしてのエルゴディックHMMに学習させる。そして、データ処理装置２は、現在の時刻Tから所望の時間経過後の時刻T＋Nにおけるユーザの行き先（位置）を予測する。データ処理装置２は、予測した行き先に応じた情報をディスプレイに表示する。例えば、データ処理装置２は、予測した行き先が駅である場合、時刻表をディスプレイに表示させる。また例えば、データ処理装置２は、予測した行き先にユーザがよく行く店舗がある場合、その店舗の詳細情報（営業時間やセール情報など）をディスプレイに表示させる。
【０１５１】
センサ入力部１１−１は、ウェアラブルセンサ１としてのGPS受信機が出力した時系列の位置データをセンサデータとして取得し、前処理部１２−１に供給する。前処理部１２−１は、本実験では何も行わず、供給されたデータをそのまま出力する。しかし、前処理部１２−１には、例えば、ローパスフィルタ処理やGPS信号を受信できないトンネル内のルートを補足する処理などを行わせることができる。
【０１５２】
ユーザ活動モデル学習部１３−１、ユーザ活動モデルパラメータ記憶部１４−１、およびユーザ活動認識部１５−１の処理は、処理対象のセンサデータ（時系列データ）が位置データであること以外、第１の実験例と同様であるので説明を省略する。
【０１５３】
ユーザ活動予測部１６−１は、現在のユーザ活動状態を表す状態IDに基づいて、所望の時間経過後の時刻T＋Nにおけるユーザの活動状態を予測する。第２の実験では、ユーザ活動予測部１６−１は、現在のユーザ活動状態を起点として、状態遷移確率aijに基づいて乱数を用いて試行的に決定した時刻T＋Nまでの各状態siの生起確率を計算する。すなわち、ユーザ活動予測部１６−１は、未来の所望の時刻T＋n（n＝1,2,・・,N）にどの状態siであるかを状態遷移確率aijに基づいて乱数により順次決定しながら時刻T＋Nまでの状態siを決定することを１回以上試行する。そして、ユーザ活動予測部１６−１は、１回以上の試行の結果、所望の時刻T＋Nにおいて生起確率（生起回数）が最大となっている状態、または、生起確率（生起回数）が所定の閾値以上となっている状態を、時刻T＋Nにおけるユーザの活動状態であると予測する。
【０１５４】
なお、第２の実験においても、第1の実験例と同様に、各時刻での各状態siの観測確率を等確率と仮定して、状態遷移確率aijに基づいて時刻T＋Nまでの各状態siの生起確率を計算する方法によって、時刻T＋Nにおけるユーザの活動状態を予測することも可能である。
【０１５５】
対応処理学習部１８−１は、ユーザの現在地に対応する状態の状態IDと、ディスプレイに表示させる情報を示す処理IDとを対応付けた学習テーブルを記憶する。また、対応処理学習部１８−１は、処理IDに紐付けたディスプレイに表示させる情報（ユーザ提示情報）も記憶する。
【０１５６】
対応処理選択部１９−１は、ユーザ活動予測部１６から供給される状態IDに対応する処理IDを学習テーブルから選択（決定）し、選択した処理IDに対応するユーザ提示情報を対応処理学習部１８−１から取得して対応処理出力部２０−１に供給する。
【０１５７】
対応処理出力部２０−１は、対応処理選択部１９−１から供給されるユーザ提示情報を制御対象装置３としてのディスプレイまたはスピーカに出力する。制御対象装置３は、ユーザ提示情報をディスプレイに表示したり、スピーカから音声として出力したりする。
【０１５８】
図１９および図２０は、実験２におけるデータ処理装置２の認識結果および予測結果を示している。
【０１５９】
図１９において、地図上に示される細線の実線、点線、１点鎖線、および２点鎖線は、データ処理装置２に学習させたユーザの移動経路を示している。
【０１６０】
また、図１９において、地図上に示される太線の点線は、学習後に新たに入力したユーザの移動経路（の時系列データ）を示しており、星印が、ユーザの現在地を示している。
【０１６１】
さらに、図１９の太線の実線が、ユーザ活動認識部１５−１による認識結果を示し、太線の１点鎖線が、ユーザ活動予測部１６−１による予測結果を示している。
【０１６２】
一方、図２０では、ユーザ活動モデル学習部１３−１により学習された各状態siが、点線の楕円状の輪で示されている。図２０によれば、ユーザの移動経路のすべてが、学習されたいずれかの状態si（点線の楕円状の輪）に含まれており、HMMが正確にユーザの移動経路を学習できていることがわかる。なお、第２の実験では、状態数Mは１００としている。
【０１６３】
また、図２０では、太線の実線の曲線が、学習後に新たに入力されたユーザの移動経路（の時系列データ）を示しており、それに対してユーザ活動認識部１５−１が認識した各状態siが、太線の実線の楕円状の輪で示されている。
【０１６４】
さらに、図２０では、細線の実線が、ユーザ活動予測部１６−１が所望の時刻T＋Nまでのユーザの移動経路（活動状態）を予測した予測結果を示している。
【０１６５】
図２０の細線の実線の楕円状の輪が、図１９の太線の１点鎖線に対応し、図２０の太線の実線の楕円状の輪が、図１９の太線の実線に対応する。また、図２０の太線の実線の曲線が図１９の太線の点線に対応する。
【０１６６】
図１９および図２０によれば、ユーザ活動予測部１６−１による予測結果として、適切な状態siが選択されていることがわかる。即ち、適切な予測がなされていることがわかる。
【０１６７】
以上の第２の実験では、ウェアラブルセンサ１から取得される位置データを用いて、ユーザの現在の状態（現在地）を的確に認識するとともに、所望の時間経過後の未来のユーザの状態（現在地）を予測することができる。また、予測結果に応じて外部の機器を制御し、ユーザに情報提供することができる。
【０１６８】
以上、本発明を適用したデータ処理装置２によれば、ユーザの現在の行動（状態）をユーザ活動状態として的確に認識するとともに、未来の所望の時刻におけるユーザの行動（状態）を生起確率として予測することができる。そして、予測結果に基づいて、外部の装置を制御したり、ユーザに情報を提示したりすることができる。
【０１６９】
従来、ユーザの行動に応じて電子機器を自動制御するインテリジェントルームを構築する場合には、目的に応じた各種のセンサを居室内に設けることが必要とされていた。本発明によれば、ウェアラブルセンサ１をユーザが身に着けてさえいれば、ユーザの活動状態を認識し、予測して、制御することができるので、簡単な構成でインテリジェントルームの構築が可能である。
【０１７０】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０１７１】
図２１は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０１７２】
コンピュータにおいて、CPU（Central Processing Unit）１０１，ROM（Read Only Memory）１０２，RAM（Random Access Memory）１０３は、バス１０４により相互に接続されている。
【０１７３】
バス１０４には、さらに、入出力インタフェース１０５が接続されている。入出力インタフェース１０５には、入力部１０６、出力部１０７、記憶部１０８、通信部１０９、及びドライブ１１０が接続されている。
【０１７４】
入力部１０６は、キーボード、マウス、マイクロホンなどよりなる。出力部１０７は、ディスプレイ、スピーカなどよりなる。記憶部１０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部１０９は、ネットワークインタフェースなどよりなる。ドライブ１１０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブル記録媒体１１１を駆動する。
【０１７５】
以上のように構成されるコンピュータでは、CPU１０１が、例えば、記憶部１０８に記憶されているプログラムを、入出力インタフェース１０５及びバス１０４を介して、RAM１０３にロードして実行することにより、上述した一連の処理が行われる。
【０１７６】
コンピュータ（CPU１０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体１１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０１７７】
コンピュータでは、プログラムは、リムーバブル記録媒体１１１をドライブ１１０に装着することにより、入出力インタフェース１０５を介して、記憶部１０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部１０９で受信し、記憶部１０８にインストールすることができる。その他、プログラムは、ROM１０２や記憶部１０８に、あらかじめインストールしておくことができる。
【０１７８】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１７９】
なお、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる場合はもちろん、必ずしも時系列的に処理されなくとも、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで実行されてもよい。
【０１８０】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１８１】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１８２】
１  ウェアラブルセンサ，  ２  データ処理装置，  １１  センサ入力部，  １２  前処理部，  １３  ユーザ活動モデル学習部，  １４  ユーザ活動モデルパラメータ記憶部，  １５  ユーザ活動認識部，  １６  ユーザ活動予測部，  １７  対応処理取得部，  １８  対応処理学習部，  １９  対応処理選択部，  ２０  対応処理出力部
【図１】
0005382436.tif 000002
【図２】
0005382436.tif 000003
【図３】
0005382436.tif 000004
【図４】
0005382436.tif 000005
【図５】
0005382436.tif 000006
【図６】
0005382436.tif 000007
【図７】
0005382436.tif 000008
【図８】
0005382436.tif 000009
【図９】
0005382436.tif 000010
【図１０】
0005382436.tif 000011
【図１１】
0005382436.tif 000012
【図１２】
0005382436.tif 000013
【図１３】
0005382436.tif 000014
【図１４】
0005382436.tif 000015
【図１５】
0005382436.tif 000016
【図１６】
0005382436.tif 000017
【図１７】
0005382436.tif 000018
【図１８】
0005382436.tif 000019
【図１９】
0005382436.tif 000020
【図２０】
0005382436.tif 000021
【図２１】
0005382436.tif 000022