(57)【特許請求の範囲】
【請求項１】
所定の範囲に対して距離の測定を行う距離測定部と、
前記距離測定部によって測定された距離の分布に基づいて人を検出する人処理部と、
前記人処理部によって検出された人毎に識別子を付与するトラッキング部と、
人に対して挙手の開始と終了を促すことにより設定される第１期間において、測定された距離に含まれる高さ方向の値である人データ高さに基づいて、人の反応を推定する状況推定部と、
を備え、
前記状況推定部は、前記トラッキング部によって識別子を付与された人毎の前記人データ高さを前記第１期間に複数回測定し、複数の前記人データ高さが所定の範囲内にある識別子を抽出し、抽出された識別子に対応する人の反応を推定する動作推定装置。
【請求項２】
前記状況推定部は、
各人毎に人が挙手を行っていない第２期間における前記人データ高さの平均値または最大値と人の体格データに基づき設定される挙手閾値を算出し、前記第１期間において前記挙手閾値より大きい前記人データ高さが計測された回数が所定の回数より多い人を抽出し、抽出された人の反応を推定する請求項１に記載の動作推定装置。
【請求項３】
前記状況推定部は、
前記第１期間において、前記挙手閾値を超えた前記人データ高さが計測された回数と、挙手を行ったか否かを対応付けた分布を示す情報に基づいて、所定の回数を決定する請求項２に記載の動作推定装置。
【請求項４】
前記人処理部は、
複数の前記所定の範囲を２つ以上の領域に分割し、分割した各々領域に対して人の体格データに基づいて前記人を検出する距離の分布の閾値を選択し、測定された前記距離の分布に基づき人を検出する請求項１から請求項３のいずれか１項に記載の動作推定装置。
【請求項５】
前記距離測定部は、
異なる所定の範囲に対して距離の測定を行う複数の当該距離測定部、を備え、
前記人処理部は、
前記距離測定部それぞれによって測定された前記距離のクラスタリングを行って人クラスタデータそれぞれを生成する複数のクラスタリング部と、
前記複数のクラスタリング部によって生成された人クラスタデータを統合するクラスタデータ統合部と、
を備える請求項１から請求項４のいずれか１項に記載の動作推定装置。
【請求項６】
前記距離測定部は、
異なる所定の範囲に対して距離の測定を行う複数の当該距離測定部を備え、
前記人処理部は、
複数の前記距離測定部それぞれによって測定された前記距離を、２つ以上の前記所定の範囲について統合する測距データ統合部と、
前記測距データ統合部によって統合された結果に基づいて、測定された前記距離をクラスタに分類し、分類した前記クラスタに基づいて人を検出するクラスタリング部と、
を備え、
前記トラッキング部は、
前記クラスタリング部によって検出された人毎に識別子を付与する請求項１から請求項５のいずれか１項に記載の動作推定装置。
【請求項７】
前記距離測定部は、
異なる所定の範囲に対して距離の測定を行う複数の当該距離測定部を備え、
前記人処理部は、
複数の前記距離測定部それぞれによって測定された前記距離を、２つ以上の前記所定の範囲について統合する測定データ統合部と、
統合した２つ以上の前記所定の範囲を前記所定の領域の形状及び個数が同じもしくは異なるｍ（ｍは２以上の整数）個の領域に再分割する分割部と、
前記ｍ個の領域それぞれについて、前記ｍ個の各領域に含まれる測定された前記距離をクラスタに分類し、分類した前記クラスタに基づいて人を検出するｍ個のクラスタリング部と、
前記ｍ個のクラスタリング部それぞれによって検出された結果を統合するクラスタデータ統合部と、
を備え、
前記トラッキング部は、
前記統合された結果に基づいて検出した人毎に識別子を付与する請求項１から請求項５のいずれか１項に記載の動作推定装置。
【請求項８】
前記トラッキング部は、
所定の時刻に検出された前記人に対応する人データの位置に基づいて、前記所定の時刻に後続する時刻において人を検出する請求項１から請求項７のいずれか１項に記載の動作推定装置。
【請求項９】
前記第２期間は、
人に対して挙手の終了を促すことによって設けられた期間であり、
前記状況推定部は、
前記第２期間における各人に対応する人データ毎に前記人データ高さに基づいて挙手を判定するための上限閾値を算出し、人が挙手を行っている第３期間において、挙手閾値より大きく且つ前記上限閾値より小さい前記人データ高さが計測された回数が所定の回数より多い人データを抽出し、抽出された人データに対応する人の反応を推定する請求項２または請求項３に記載の動作推定装置。
【請求項１０】
前記トラッキング部は、
所定の時刻に後続する時刻に測定された前記距離の情報に、前記所定の時刻に検出された前記人に対応する人データの位置の周辺に仮想的に測定された距離情報を示す仮想距離情報を生成し、
前記距離のクラスタリングを行って人クラスタデータそれぞれを生成するクラスタリング部は、
前記後続する時刻に測定された前記距離の情報に前記仮想距離情報を混合した混合距離情報を生成し、
前記人処理部は、
前記混合距離情報に基づいて、後続する時刻における人を検出し、
前記トラッキング部は、
前記人処理部によって検出された人毎に識別子を付与する請求項１から請求項９のいずれか１項に記載の動作推定装置。
【請求項１１】
前記トラッキング部は、
人が前記位置から所定の範囲にいる時間に応じて、所定の時刻に検出された前記人に対応する人データの位置の周辺における前記仮想距離情報の密度を変化させる請求項１０に記載の動作推定装置。
【請求項１２】
前記トラッキング部は、
人が前記位置から所定の範囲にいる時間に応じて、所定の時刻に検出された前記人データの周辺における前記仮想距離情報を、中心が密になるように散布する請求項１０または請求項１１に記載の動作推定装置。
【請求項１３】
前記人処理部は、
前記距離のクラスタリングを行って人クラスタデータそれぞれを生成するクラスタリング部によって分類されたクラスタの間の距離に基づいて、クラスタ毎に周辺のクラスタとの密集度を算出する密集度計算部と、
前記密集度計算部によって算出された密集度が疎なクラスタについて、当該クラスタの領域に含まれる高さの測定値から前記人の体格データに基づき設定される閾値を当該クラスタ毎に算出し、算出した閾値以上の前記高さの測定値を持つ測定点を抽出し、抽出した前記測定点について再度クラスタリング処理を行って前記クラスタの中に当該クラスタより小さい小クラスタを１つ以上生成する再クラスタリング部と、
を備え、
前記状況推定部は、
当該クラスタの中にある前記小クラスタの個数に基づいて、人の反応を推定する請求項６または請求項７に記載の動作推定装置。
【請求項１４】
前記人処理部は、
分割した各々領域に対して、人に対して挙手の開始または終了を促すことを示す信号を出力するロボットに近い領域に対して、前記人の体格データとして子供の体格データを選択する請求項４に記載の動作推定装置。
【請求項１５】
人に対して挙手の開始または終了を促すことを示す信号を出力し、推定された人の反応に基づいて、ロボットの行動を制御する制御部、を備える請求項１から請求項１４のいずれか１項に記載の動作推定装置。
【請求項１６】
請求項１から請求項１５のうちのいずれか１項に記載の動作推定装置と、
ロボットが出力する信号と出力する順番とが関連付けられて記憶されている記憶部と、
人に対して挙手の開始または終了を促すことを示す信号を出力し、前記動作推定装置によって推定された人の反応に基づいて、前記ロボットの行動を制御する制御部と、
を備えるロボット。
【請求項１７】
距離測定部が、所定の範囲に対して距離の測定を行う距離測定手順と、
人処理部が、前記距離測定手順によって測定された距離の分布に基づいて人を検出する人処理手順と、
トラッキング部が、前記人処理手順によって検出された人毎に識別子を付与するトラッキング手順と、
状況推定部が、人に対して挙手の開始と終了を促すことにより設定される第１期間において、測定された距離に含まれる高さ方向の値である人データ高さに基づいて、前記トラッキング手順によって識別子を付与された人毎の前記人データ高さを前記第１期間に複数回測定し、複数の前記人データ高さが所定の範囲内にある識別子を抽出し、抽出された識別子に対応する人の反応を推定する状況推定手順と、
を含む動作推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動作推定装置、ロボット、及び動作推定方法に関する。
【背景技術】
【０００２】
腕、手、指、足、頭などの身体の各部分の動きによって意志や感情が表現されるジェスチャーを認識する装置（以下、ジェスチャー認識装置という）が提案されている。
【０００３】
このようなジェスチャー認識装置では、画像センサによって生成された検知対象エリアに存在する物体までの距離値を画素値とする画像に基づいて、検知対象エリアに存在する人の特定部位を抽出する。そして、ジェスチャー認識装置では、抽出された特定部位の形状の時系列データに基づいて、特定空間での所定のジェスチャーを認識することが提案されている。なお、特定部位とは、例えば人の手の手首より先の部分であり、所定のジェスチャーとは、例えば、画像センサに向けて手がかざされる動作である（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−９９７４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術では、検知対象エリアに人が一人しかいない場合のみが想定されている。このため、特許文献１に記載の技術では、検出対象エリアに複数の人がいる場合、隣接する人同士の距離が近いと、隣接している人を分離して認識できない場合がある。このため、特許文献１に記載の技術では、検知対象エリアに複数の人がいる場合、検知対象エリアにいる複数の人のジェスチャーを認識することができないという課題があった。
【０００６】
本発明は、上記の問題点に鑑みてなされたものであって、検知対象エリアにいる複数の人の動作の検出精度を向上することができる動作推定装置、ロボット、及び動作推定方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
（１）上記目的を達成するため、本発明の一態様に係る動作推定装置は、所定の範囲に対して距離の測定を行う距離測定部と、前記距離測定部によって測定された距離の分布に基づいて人を検出する人処理部と、前記人処理部によって検出された人毎に識別子を付与するトラッキング部と、人に対して挙手の開始と終了を促すことにより設定される第１期間において、測定された距離に含まれる高さ方向の値である人データ高さに基づいて、人の反応を推定する状況推定部と、を備え、前記状況推定部は、前記トラッキング部によって識別子を付与された人毎の前記人データ高さを前記第１期間に複数回測定し、複数の前記人データ高さが所定の範囲内にある識別子を抽出し、抽出された識別子に対応する人の反応を推定する。
【０００８】
（２）また、本発明の一態様に係る動作推定装置において、前記状況推定部は、各人毎に人が挙手を行っていない第２期間における前記人データ高さの平均値または最大値と人の体格データに基づき設定される挙手閾値を算出し、前記第１期間において前記挙手閾値より大きい前記人データ高さが計測された回数が所定の回数より多い人を抽出し、抽出された人の反応を推定するようにしてもよい。
【０００９】
（３）また、本発明の一態様に係る動作推定装置において、前記状況推定部は、前記第１期間において、前記挙手閾値を超えた前記人データ高さが計測された回数と、挙手を行ったか否かを対応付けた分布を示す情報に基づいて、所定の回数を決定するようにしてもよい。
【００１０】
（４）また、本発明の一態様に係る動作推定装置において、前記人処理部は、複数の前記所定の範囲を２つ以上の領域に分割し、分割した各々領域に対して人の体格データに基づいて前記人を検出する距離の分布の閾値を選択し、測定された前記距離の分布に基づき人を検出するようにしてもよい。
【００１１】
（５）また、本発明の一態様に係る動作推定装置において、前記距離測定部は、異なる所定の範囲に対して距離の測定を行う複数の当該距離測定部、を備え、前記人処理部は、前記距離測定部それぞれによって測定された前記距離のクラスタリングを行って人クラスタデータそれぞれを生成する複数のクラスタリング部と、前記複数のクラスタリング部によって生成された人クラスタデータを統合するクラスタデータ統合部と、を備えるようにしてもよい。
【００１２】
（６）また、本発明の一態様に係る動作推定装置において、前記距離測定部は、異なる所定の範囲に対して距離の測定を行う複数の当該距離測定部を備え、前記人処理部は、複数の前記距離測定部それぞれによって測定された前記距離を、２つ以上の前記所定の範囲について統合する測距データ統合部と、前記測距データ統合部によって統合された結果に基づいて、測定された前記距離をクラスタに分類し、分類した前記クラスタに基づいて人を検出するクラスタリング部と、を備え、前記トラッキング部は、前記クラスタリング部によって検出された人毎に識別子を付与するようにしてもよい。
【００１３】
（７）また、本発明の一態様に係る動作推定装置において、前記距離測定部は、異なる所定の範囲に対して距離の測定を行う複数の当該距離測定部を備え、前記人処理部は、複数の前記距離測定部それぞれによって測定された前記距離を、２つ以上の前記所定の範囲について統合する測定データ統合部と、統合した２つ以上の前記所定の範囲を前記所定の領域の形状及び個数が同じもしくは異なるｍ（ｍは２以上の整数）個の領域に再分割する分割部と、前記ｍ個の領域それぞれについて、前記ｍ個の各領域に含まれる測定された前記距離をクラスタに分類し、分類した前記クラスタに基づいて人を検出するｍ個のクラスタリング部と、前記ｍ個のクラスタリング部それぞれによって検出された結果を統合するクラスタデータ統合部と、を備え、前記トラッキング部は、前記統合された結果に基づいて検出した人毎に識別子を付与するようにしてもよい。
【００１４】
（８）また、本発明の一態様に係る動作推定装置において、前記トラッキング部は、所定の時刻に検出された前記人に対応する人データの位置に基づいて、前記所定の時刻に後続する時刻において人を検出するようにしてもよい。
【００１５】
（９）また、本発明の一態様に係る動作推定装置において、前記第２期間は、人に対して挙手の終了を促すことによって設けられた期間であり、前記状況推定部は、前記第２期間における各人に対応する人データ毎に前記人データ高さに基づいて挙手を判定するための上限閾値を算出し、人が挙手を行っている第３期間において、挙手閾値より大きく且つ前記上限閾値より小さい前記人データ高さが計測された回数が所定の回数より多い人データを抽出し、抽出された人データに対応する人の反応を推定するようにしてもよい。
【００１６】
（１０）また、本発明の一態様に係る動作推定装置において、前記トラッキング部は、所定の時刻に後続する時刻に測定された前記距離の情報に、前記所定の時刻に検出された前記人に対応する人データの位置の周辺に仮想的に測定された距離情報を示す仮想距離情報を生成し、前記距離のクラスタリングを行って人クラスタデータそれぞれを生成するクラスタリング部は、前記後続する時刻に測定された前記距離の情報に前記仮想距離情報を混合した混合距離情報を生成し、前記人処理部は、前記混合距離情報に基づいて、後続する時刻における人を検出し、前記トラッキング部は、前記人処理部によって検出された人毎に識別子を付与するようにしてもよい。
【００１７】
（１１）また、本発明の一態様に係る動作推定装置において、前記トラッキング部は、人が前記位置から所定の範囲にいる時間に応じて、所定の時刻に検出された前記人に対応する人データの位置の周辺における前記仮想距離情報の密度を変化させるようにしてもよい。
（１２）また、本発明の一態様に係る動作推定装置において、前記トラッキング部は、人が前記位置から所定の範囲にいる時間に応じて、所定の時刻に検出された識別子前記人データの周辺における前記仮想距離情報を、中心が密になるように散布するようにしてもよい。
【００１８】
（１３）また、本発明の一態様に係る動作推定装置において、前記人処理部は、前記距離のクラスタリングを行って人クラスタデータそれぞれを生成するクラスタリング部によって分類されたクラスタの間の距離に基づいて、クラスタ毎に周辺のクラスタとの密集度を算出する密集度計算部と、前記密集度計算部によって算出された密集度が疎なクラスタについて、当該クラスタの領域に含まれる高さの測定値から前記人の体格データに基づき設定される閾値を当該クラスタ毎に算出し、算出した閾値以上の前記高さの測定値を持つ測定点を抽出し、抽出した前記測定点について再度クラスタリング処理を行って前記クラスタの中に当該クラスタより小さい小クラスタを１つ以上生成する再クラスタリング部と、を備え、前記状況推定部は、当該クラスタの中にある前記小クラスタの個数に基づいて、人の反応を推定するようにしてもよい。
【００１９】
（１４）また、本発明の一態様に係る動作推定装置において、前記人処理部は、分割した各々領域に対して、人に対して挙手の開始または終了を促すことを示す信号を出力するロボットに近い領域に対して、前記人の体格データとして子供の体格データを選択するようにしてもよい。
【００２０】
（１５）また、本発明の一態様に係る動作推定装置において、人に対して挙手の開始または終了を促すことを示す信号を出力し、推定された人の反応に基づいて、ロボットの行動を制御する制御部、を備えるようにしてもよい。
【００２１】
（１６）上記目的を達成するため、本発明の一態様に係るロボットは、（１）から（１５）のうちのいずれか１つに記載の動作推定装置と、ロボットが出力する信号と出力する順番とが関連付けられて記憶されている記憶部と、人に対して挙手の開始または終了を促すことを示す信号を出力し、前記動作推定装置によって推定された人の反応に基づいて、前記ロボットの行動を制御する制御部と、を備える。
【００２２】
（１７）上記目的を達成するため、本発明の一態様に係る動作推定方法は、距離測定部が、所定の範囲に対して距離の測定を行う距離測定手順と、人処理部が、前記距離測定手順によって測定された距離の分布に基づいて人を検出する人処理手順と、トラッキング部が、前記人処理手順によって検出された人毎に識別子を付与するトラッキング手順と、状況推定部が、人に対して挙手の開始と終了を促すことにより設定される第１期間において、測定された距離に含まれる高さ方向の値である人データ高さに基づいて、前記トラッキング手順によって識別子を付与された人毎の前記人データ高さを前記第１期間に複数回測定し、複数の前記人データ高さが所定の範囲内にある識別子を抽出し、抽出された識別子に対応する人の反応を推定する状況推定手順と、を含む。
【発明の効果】
【００２３】
上述した（１）、（２）、（３）、（５）、（９）、（１５）、（１６）、（１７）の構成では、身長差がある親子などが近接している場合であっても、挙手検出の誤検出を低減させることができる。この結果、本実施形態では、挙手検出の精度を向上させることができる。
【００２４】
また、上述した（４）、（１４）の構成では、ロボットに近い位置に子供達が集まりやすい、などの人の分布の特徴を反映することで、領域を分割して、分割した領域毎に処理を行えるため、クラスタリングの誤統合・分割による人の誤検出により人の高さ測定値や人の位置が変化するのを低減することができるので、挙手動作の検出精度を向上させることができる。
【００２５】
また、上述した（６）、（７）の構成では、複数の距離測定部を用いて距離の測定を行う場合、各々の距離測定部の測定範囲の限度に近いような周辺部においても、クラスタリングによる人の検出精度を向上させることができる。また、（６）、（７）の構成では、統合処理におけるクラスタの位置のずれを抑制することができるので、トラッキングの精度を向上させることができる。
また、上述した（７）の構成では、クラスタリング処理に係るコストを分散することができる。
【００２６】
また、上述した（８）、（１０）、（１１）、（１２）の構成では、クラスタリング処理の誤統合や誤分割を低減することができるので、挙手動作の検出精度を向上させることができる。また、クラスタの重心位置が安定するため、人のトラッキング精度を向上させることができる。
【００２７】
また、上述した（１３）の構成では、手の挙げ方が低い人であっても、挙手の検出精度を向上させることができる。
【図面の簡単な説明】
【００２８】
【図１】第１実施形態に係るシステムの概略構成及びシステムで用いられる測距点を説明する図である。
【図２】第１実施形態に係るロボットの概略のブロック図である。
【図３】第１実施形態に係るクラスタリング処理、及び人クラスタデータを生成する処理手順のフローチャートである。
【図４】第１実施形態に係るクラスタデータ統合部によって行われる統合処理手順のフローチャートである。
【図５】第１実施形態に係る音声信号を出力する期間、人ｈｕが手を挙げるタイミング、人ｈｕが手を下げるタイミング、手挙げ計測期間、及び手下げ計測期間を説明する図である。
【図６】２人が近接している状況と、従来手法でクラスタリング処理を行った例を説明する図である。
【図７】従来手法でクラスタリング処理を行った場合の各測定時刻に対する２人の高さ情報の変化の一例を説明する図である。
【図８】第１実施形態に係るヒストグラム処理部が行う処理の一例を説明する図である。
【図９】第１実施形態に係るヒストグラム処理部が行う処理手順のフローチャートである。
【図１０】第１実施形態に係る第３期間で高さ情報が挙手閾値を超えた回数とＩＤ数との関係の一例を説明する図である。
【図１１】第１実施形態に係るロボットによる挙手検出の処理手順のフローチャートである。
【図１２】２人が近接している状況と、従来手法でクラスタリング処理を行った例を説明する図である。
【図１３】従来手法でクラスタリング処理を行った後にトラッキング処理を行った場合の各測定時刻に対する２人の人データ高さ情報の変化の一例を説明する図である。
【図１４】第２実施形態に係るヒストグラム処理部が行う処理手順のフローチャートである。
【図１５】第３実施形態に係るロボットの概略のブロック図である。
【図１６】実際の会場で撮像した画像のイメージ図である。
【図１７】図１６に示した領域を異なるウォード法の閾値でクラスタリング処理を行いトラッキングした結果の一例を説明する図である。
【図１８】第４実施形態に係るロボットの概略のブロック図である。
【図１９】各ＬＲＦセンサの測定範囲と測距点を説明する図である。
【図２０】第４実施形態に係る複数のＬＲＦセンサの測距点の統合した一例を説明する図である。
【図２１】第４実施形態に係るロボットによる挙手検出の処理手順のフローチャートである。
【図２２】第５実施形態に係るロボットの概略のブロック図である。
【図２３】第５実施形態に係る仮想領域の一例を説明する図である。
【図２４】第５実施形態に係るロボットによる挙手検出の処理手順のフローチャートである。
【図２５】フレーム間でクラスタリング処理を行った結果が変化する例を説明する図である。
【図２６】第６実施形態に係るロボットの概略のブロック図である。
【図２７】第６実施形態に係る種粒子と種粒子の散布例とを説明する図である。
【図２８】第６実施形態に係るロボットによる挙手検出の処理手順のフローチャートである。
【図２９】観客の挙手の状態を説明する図である。
【図３０】第７実施形態に係るロボットの概略のブロック図である。
【図３１】第７実施形態に係るロボットの変形例の概略のブロック図である。
【図３２】第７実施形態に係る密集度を説明する図である。
【図３３】第７実施形態に係る再クラスタリング処理の一例を説明する図である。
【図３４】第７実施形態に係るクラスタの密集度を説明するイメージ図である。
【図３５】第７実施形態に係るロボットによる挙手検出の処理手順のフローチャートである。
【発明を実施するための形態】
【００２９】
まず、本発明の概要を説明する。
例えば、イベント会場において、人型のロボットがステージ上で司会進行を行う場合がある。このような状況では、予めロボットに、シナリオ、動作、及び音声信号などを記憶させておき、記憶させた動作を行わせながら、シナリオに応じたタイミングで記憶されている音声信号を再生させる場合がある。このようなロボットの動作では、ロボットがシナリオに応じた音声を発しているだけなので、会場にいる人（以下、観客とも言う）と、ロボットとのコミュニケーションが取りにくい場合がある。
このため、本実施形態では、会場にいる人達の反応に応じて、ロボットが次に行う動作や、出力する音声信号を選択することで、ロボットと人とのコミュニケーションを豊かにする。本実施形態では、ロボットが、会場にいる人による挙手を推定して、推定した結果に基づいて多数決を行うことで、提示した話題の中から話題の選択を行う。
【００３０】
以下、図面を参照しながら本発明の実施形態について説明する。
【００３１】
［第１実施形態］
＜システムの概略構成、測距点＞
まず、システムの概略構成、システムで用いられる測距点について説明する。
図１は、本実施形態に係るシステムの概略構成及びシステムで用いられる測距点を説明する図である。図１では、紙面に向かって左右方向をｘ軸方向、奥行き方向をｙ軸方向、高さ方向をｚ軸方向とする。
図１に示す例におけるシステムは、ロボット１と２つのＬＲＦセンサ２−１、２−２とで構成されている。なお、図１に示した測距点は、ＬＲＦセンサ２−１、２−２によって測定された複数の測距点のうちの１部を示したものである。
【００３２】
ロボット１は、例えばステージ（不図示）上で司会進行を行い、会場（不図示）に存在している人に対して複数の質問への挙手を促し、複数の質問に対する挙手判定を行う。
ＬＲＦセンサ２−１とＬＲＦセンサ２−２は、レーザ照射により対象との距離を測定する。レーザが対象に当たり距離を測定した点のことを測距点と呼び、測距点は、例えば、人の頭頂部、耳、服の襟、肩などに対応する。測距点には、ｘｙ平面における位置を示す情報と、高さを示す情報とが含まれている。
【００３３】
２つのＬＲＦセンサ２−１とＬＲＦセンサ２−２は、検出対象の空間の天井に距離Ｌ１の間隔で設置されている。なお、ＬＲＦセンサ２−１、２−２のうちの１つを特定しない場合は、単にＬＲＦセンサ２という。符号１１１が示す領域は、ＬＲＦセンサ２−１の検出可能な領域（以下、検出領域という）を示し、符号１１２が示す領域は、ＬＲＦセンサ２−２の検出領域を示している。また、図１に示した例では、所定の高さ以上の測距点を示している。図１に示す例では、２つのＬＲＦセンサ２の検出領域には、人ｈｕ１と人ｈｕ２とが存在している。
【００３４】
また、図１に示す例では、ＬＲＦセンサ２−１の検出領域１１１に人ｈｕ１が存在し、ＬＲＦセンサ２−２の検出領域１１２に人ｈｕ１及び人ｈｕ２が存在している。
測距点１２１〜１２６は、人ｈｕ１に対する測距点である。測距点１３１〜１３６は、人ｈｕ２に対する測距点である。また、図１に示す例では、人ｈｕ１の前方向からＬＲＦセンサ２−１が照射した光が照射され、人ｈｕ１の後方向からＬＲＦセンサ２−２が照射した光が照射されている例である。
そして、図１に示す例では、測距点１２１〜１２３がＬＲＦセンサ２−１によって測定された測距点であり、測距点１２４〜１２６及び１３１〜１３６がＬＲＦセンサ２−２によって測定された測距点である。なお、上述したように、図１に示した測距点は、測定された複数の測距点のうちの一部である。
また、図１において、投影点１４１〜１４６は、測距点１２１〜１２６をｘｙ平面に投影した点であり、投影点１５１〜１５６は、測距点１３１〜１３６をｘｙ平面に投影した点である。
【００３５】
＜ロボット１の構成＞
次に、ロボット１の構成について説明する。
図２は、本実施形態に係るロボット１の概略のブロック図である。
図２に示すように、ロボット１は、処理部１０、及び動作推定装置２０を含んで構成される。ロボット１は、ｎ（ｎは１以上の整数）個のＬＲＦ（Ｌａｓｅｒ  Ｒａｎｇｅ  Ｆｉｎｄｅｒ；レーザレンジファインダー）センサ２−１〜２−ｎ（距離測定部）に無線または有線で接続される。なお、ＬＲＦセンサ２−１〜２−ｎのうちいずれか１つを特定しない場合は、ＬＲＦセンサ２という。なお、本実施形態では、動作推定装置２０をロボット１が備える例を説明するが、これに限られない。例えば、イベント会場等で用いられるガイドシステム等が動作推定装置２０を備えるようにしてもよい。
【００３６】
ＬＲＦセンサ２は、レーザ光を照射しながら、検知対象の空間を所定のピッチでスキャンして、物体に反射して戻ってくるまでの時間を測定することで、物体との距離と方向を測距点として検出する３次元の測域センサである。複数のＬＲＦセンサ２それぞれは、検出した測距点の情報（以下、測距点情報という）を、ロボット１に無線または有線によって送信する。複数のＬＲＦセンサ２それぞれは、検知対象の空間の一部が重なるように、人を俯瞰できる位置、例えば検知対象の空間の天井や壁などに設置される。レーザ光の波長は、例えば９０５ｎｍ、７８５ｎｍ等である。また、１つのＬＲＦセンサ２のスキャン範囲は、例えば、水平面おいて２７０度であり、ステップ角度が０．２５度、ステップ数が１０８０ステップである。なお、本実施形態では、センサの例として、ＬＲＦセンサ２を用いる例を説明するが、これに限られず、距離や方向を測定できるセンサであれば他のセンサであってもよい。
【００３７】
まず、処理部１０の構成について説明する。
処理部１０は、ロボット１の動作等、各種の制御を行う。処理部１０は、記憶部１０１、制御部１０２、及び音声出力部１０３を備える。
記憶部１０１には、ロボット１の制御に関する情報、音声出力データ、シナリオ情報等が記憶されている。なお、シナリオ情報とは、所定の動作を所定の時間に行うことが記述されている情報である。
【００３８】
制御部１０２は、記憶部１０１に記憶されているシナリオ情報を読み出し、読み出したシナリオ情報に基づいて、対応する音声信号を音声出力部１０３から出力させる。また、制御部１０２は、音声信号を出力させるタイミングでトリガー信号ｄ４を生成し、生成したトリガー信号ｄ４を動作推定装置２０の状況推定部２２０に出力する。なお、トリガー信号ｄ４には、手を挙げることを促す音声信号を出力することを示す情報、手を下げることを促す音声信号を出力することを示す情報、第２期間を示す情報、および第３期間を示す情報が含まれている。第２期間および第３期間については、後述する。また、制御部１０２は、動作推定装置２０から入力される検出結果を示す情報ｄ５に基づいて、シナリオ情報の中から次に行う処理を選択する。
音声出力部１０３は、制御部１０２の処理に応じて音声信号を出力し、例えばスピーカーである。
【００３９】
次に、動作推定装置２０の構成について説明する。
動作推定装置２０は、人処理部２１０、トラッキング部２１３、状況推定部２２０、及び記憶部２３０を備える。人処理部２１０は、ｎ個のクラスタリング部２１１−１〜２１１−ｎ、及びクラスタデータ統合部２１２を備える。また、状況推定部２２０は、ヒストグラム処理部２２１を備える。クラスタリング部２１１−１〜２１１−ｎのうちいずれか１つを特定しない場合は、クラスタリング部２１１という。また、ＬＲＦセンサ２−１〜２−ｎそれぞれは、対応するクラスタリング部２１１−１〜２１１−ｎに無線または有線を介して接続されている。また、動作推定装置２０は、ＬＲＦセンサ２を含んで構成されていてもよい。
【００４０】
クラスタリング部２１１は、ＬＲＦセンサ２から入力された測距点情報を用いて、測距点毎のｘｙｚ軸方向それぞれの成分を算出する。なお、本実施形態では、クラスタリング部２１１が、ＬＲＦセンサ２から入力された測距点情報を用いて、測距点毎のｘｙｚ軸方向それぞれの成分を算出する例を説明したが、これに限られない。センサ２が、測距点毎のｘｙｚ軸方向それぞれの成分を算出し、算出した測距点毎のｘｙｚ軸方向それぞれの成分をクラスタリング部２１１に出力するようにしてもよい。
なお、図２に示した例では、クラスタリング部２１１がｎ個の例を示したが、これに限られない。１つのＬＲＦセンサ２で所定の領域の測距点を測定できる場合、クラスタリング部２１１は１個でよい。
【００４１】
クラスタリング部２１１は、算出した測距点毎のｘ軸方向の成分（以下、ｘ軸成分ともいう）とｙ軸方向の成分（以下、ｙ軸成分ともいう）とを用いて、測距点をｘｙ平面に投影する。投影された測距点を、投影点という。そして、クラスタリング部２１１は、ｘｙ平面に投影した複数の投影点を周知の手法を用いてクラスタに分類する（クラスタリング（ｃｌｕｓｔｅｒｉｎｇ）するともいう）。クラスタリング部２１１は、測距点を、例えば最短距離法などの階層的手法を用いて、分類を行う。なお、分類されたクラスタは、人毎の測距点の集合に相当する。クラスタに含まれる情報は、投影点のｘｙ座標に、ｚ軸方向の成分（以下、ｚ軸成分ともいう）が対応付けられている。そして、クラスタリング部２１１は、分類したクラスタ毎の重心位置を算出し、算出した重心位置を、人クラスタデータ位置とする。クラスタリング部２１１は、分類したクラスタ毎に高さの最大値を抽出し、抽出した最大値を、人クラスタデータ高さとする。そして、クラスタリング部２１１は、クラスタ毎に、人クラスタデータ位置と人クラスタデータ高さとを関連づけて人クラスタデータｄ１を生成し、生成した人クラスタデータｄ１をクラスタデータ統合部２１２に出力する。
【００４２】
クラスタデータ統合部２１２には、クラスタリング部２１１−１〜２１１−ｎそれぞれから人クラスタデータｄ１が入力される。クラスタデータ統合部２１２は、入力された人クラスタデータｄ１のうち、所定の範囲内に存在するクラスタデータｄ１同士を統合する。なお、所定の領域とは、例えば１人のクラスタとみなせる範囲である。この範囲内にある人クラスタデータ位置の人クラスタデータｄ１を、クラスタデータ統合部２１２は統合する。クラスタデータ統合部２１２は、統合したクラスタの重心位置の位置情報と、統合したクラスタのうちｚ方向成分の最大値である高さ情報とを関連付けた統合された人クラスタデータｄ２を、トラッキング部２１３に出力する。なお、クラスタデータｄ１同士を統合する理由は、図１で説明した人ｈｕ１のように、複数のクラスタリング部で重複して検出された、同一人物を示すクラスタを統合するためである。
【００４３】
なお、複数のクラスタリング部で重複して検出された人の測距点がない場合、人クラスタデータｄ１の統合がクラスタデータ統合部２１２によって行われないので、人クラスタデータｄ１と人クラスタデータｄ２は全く等しい。また、クラスタリング部２１１が１個の場合も人クラスタデータｄ１の統合は行われないので、人クラスタデータｄ１と人クラスタデータｄ２は全く等しい。なお、以下の説明において、クラスタデータ統合部２１２が出力する人クラスタデータｄ２は、人クラスタデータｄ１の統合が行われなかった場合であっても、統合された人クラスタデータｄ２という。
【００４４】
トラッキング部２１３には、クラスタデータ統合部２１２によって統合された人クラスタデータｄ２が入力される。トラッキング部２１３は、統合された人クラスタデータｄ２の重心位置である位置情報に基づいて、所定の時間間隔毎にトラッキング処理を行う。トラッキング部２１３は、統合された人クラスタデータｄ２の位置情報と高さ情報に、トラッキング処理を行った結果得られたＩＤを加え、位置情報と高さ情報とＩＤをクラスタ毎に関連付けた人データｄ３を生成する。なお、トラッキング処理が行われ、ＩＤが付与された後の位置情報を人データ位置といい、高さ情報を人データ高さという。なお、トラッキング処理を行った結果、同じ人物（クラスタ）には時系列を通じて同じＩＤが割り当てられ、それにより人の移動を示す情報が得られる。トラッキング部２１３は、生成した人毎の人データｄ３を状況推定部２２０に出力する。
ここで、トラッキング処理とは、人クラスタデータの位置（含む高さ）の推移を時系列で追尾する処理である。トラッキング部２１３は、例えば時刻ｔ１（図５）の時点の人クラスタデータに対して識別子（以下、ＩＤという）の初期値を割り当てる。その後、トラッキング部２１３は、サンプリング時間Δｔ（フレームともいう）毎に、時刻ｔと時刻ｔ＋Δｔの人クラスタデータの位置を比較し、両時刻間の移動量が所定の範囲内にある場合、前のサンプリング時間（フレーム）と同じＩＤを割り当てる。ここで、所定の範囲とは、例えば、サンプリング時間Δｔに人が歩いて移動したときに、人クラスタデータが移動可能な範囲等である。なお、トラッキング部２１３は、入力された人クラスタデータｄ２内に、トラッキング処理を行っているＩＤを付与された人クラスタデータ位置から所定の範囲内に存在する人クラスタデータが、予め定められた時間の間、連続して含まれていない場合、そのＩＤに対応する人が、所定の領域に存在しなくなったと判断し、そのＩＤに対応する人データを削除する。
【００４５】
状況推定部２２０には、制御部１０２からシナリオ情報に基づくトリガー信号ｄ４が入力される。
ヒストグラム処理部２２１は、入力されたトリガー信号ｄ４に応じて、トラッキング部２１３から入力された人データｄ３を用いて、所定の期間（例えば第２期間と第３期間）、ＩＤ毎にヒストグラム作成処理を行う。なお、ヒストグラム作成処理については、後述する。ヒストグラム処理部２２１は、ヒストグラム作成処理によって算出した所定の期間において、人データｄ３に含まれる人データ高さのうち、手を挙げていると判定するための高さ方向の閾値（以下、挙手閾値という）を越えている人データ高さの回数を計測する。ヒストグラム処理部２２１は、挙手閾値を越えている人データ高さの回数（または個数）を、ＩＤ毎に記憶部２３０に記憶させる。なお、挙手閾値は、身長の値に例えば所定の値を加算した値である。所定の値は、人の体格データに基づいて決定された予め定められた値であり、例えば１０（ｃｍ）である。ここで、人の体格データとは、例えば、身長に対する、挙手した際の肩峰点から橈骨茎突点までの長さなどである。なお、これらの人の体格データは、国や地域ごとに設定されていてもよい。そして、人の体格データは、記憶部２３０に記憶されていてもよい。
【００４６】
状況推定部２２０は、ＩＤ毎に、記憶部２３０から人データ高さの回数を読み出す。状況推定部２２０は、記憶部２３０から判定閾値を読み出す。状況推定部２２０は、人データ高さの回数と判定閾値とを比較して、高さ測定値の回数が判定閾値より多い場合に人が手を挙げていると推定する。状況推定部２２０は、比較した結果、人データ高さの回数が判定閾値より少ない場合に人が手を挙げていないと推定する。なお、判定閾値は、実測値に基づいて作成された挙手を行っているか否かの分布に基づいて決定される。なお、判定閾値は、予め定められた値であってもよい。判定閾値については、後述する。
また、状況推定部２２０は、上述した推定をトリガー信号ｄ４に応じて所定回数行い、その中で手を挙げている人数が最も多いときを推定することで、多数決判定を行う。状況推定部２２０は、多数決判定した結果を、検出結果を示す情報ｄ５として、処理部１０に出力する。
【００４７】
記憶部２３０には、挙手閾値で使用する所定の値と、判定閾値とが記憶されている。また、記憶部２３０には、挙手閾値を越えている高さ測定値の回数が、ＩＤ毎に記憶される。
【００４８】
次に、クラスタリング処理、及び人クラスタデータｄ１の生成の処理手順を説明する。
図３は、本実施形態に係るクラスタリング処理、及び人クラスタデータを生成する処理手順のフローチャートである。
（ステップＳ１）クラスタリング部２１１は、対応するＬＲＦセンサ２から入力された測距点情報のうち、ｚ軸成分の値が所定の値以上の測距点を、各測距点の情報に含まれるｘ軸成分とｙ軸成分を用いて、ｘｙ平面に投影する。クラスタリング部２１１は、処理をステップＳ２に進める。
【００４９】
（ステップＳ２）クラスタリング部２１１は、ｘｙ平面に投影した投影点をクラスタに分類する。クラスタリング部２１１は、処理をステップＳ３に進める。
（ステップＳ３）クラスタリング部２１１は、分類したクラスタ毎に、クラスタ内に含まれる投影点の重心位置を算出し、算出した重心位置をクラスタにおける人クラスタデータ位置とする。クラスタリング部２１１は、処理をステップＳ４に進める。
【００５０】
（ステップＳ４）クラスタリング部２１１は、分類したクラスタ毎に、クラスタ内に含まれる投影点に対応する測距点のうち、ｚ軸成分（高さ）の最大値を抽出し、抽出した最大値をクラスタにおける人クラスタデータ高さとする。クラスタリング部２１１は、処理をステップＳ５に進める。
（ステップＳ５）クラスタリング部２１１は、クラスタ毎の人クラスタデータ位置と、人クラスタデータ高さとを関連づけて、クラスタ毎の人クラスタデータｄ１を生成する。
【００５１】
次に、図１を用いて、クラスタリング処理、及び人クラスタデータｄ１を生成する処理の具体例を、図３を参照して説明する。
クラスタリング部２１１−１は、入力された測距点１２１〜１２３をｘｙ平面に投影し、投影点１４１〜１４３の情報を生成する。クラスタリング部２１１−２は、入力された測距点１２４〜１２６及び１３１〜１３６をｘｙ平面に投影し、投影点１４４〜１４６及び１５１〜１５６の情報を生成する（ステップＳ１）。
【００５２】
次に、クラスタリング部２１１−１は、投影点１４１〜１４３を第１１のクラスタに分類する。また、クラスタリング部２１１−２は、投影点１４４〜１４６を第２１のクラスタに分類し、投影点１５１〜１５３を第２２のクラスタに分類する（ステップＳ２）。
クラスタリング部２１１−１は、クラスタリングされた投影点１４１〜１４３の重心位置を人クラスタデータ位置として算出する。クラスタリング部２１１−２は、クラスタリングされた投影点１４４〜１４６の重心位置を人クラスタデータ位置として算出し、投影点１５１〜１５３の重心位置を人クラスタデータ位置として算出する（ステップＳ３）。
【００５３】
次に、クラスタリング部２１１−１は、第１１のクラスタに含まれる投影点１４１〜１４３に対応する測距点１２１〜１２３のうち、ｚ軸成分の最大値である測距点１２１のｚ軸成分を抽出する。クラスタリング部２１１−２は、第２１のクラスタに含まれる投影点１４４〜１４６に対応する測距点１２４〜１２６のうち、ｚ軸成分の最大値である測距点１２４のｚ軸成分の最大値として抽出する。また、クラスタリング部２１１−２は、第２２のクラスタに含まれる投影点１５１〜１５６に対応する測距点１３１〜１３６のうち、ｚ軸成分の最大値である測距点１３２のｚ軸成分を抽出する（ステップＳ４）。
【００５４】
次に、クラスタリング部２１１−１は、第１１のクラスタにおける人クラスタデータ位置と人クラスタデータ高さとを関連づけて人クラスタデータｄ１（１１）を生成する。なお、下付き添え字（ｎｍ）において、ｎはクラスタリング部２１１−ｎの番号ｎに対応し、ｍは、各クラスタリング部２１１が分類したクラスタの数ｍに対応する。クラスタリング部２１１−２は、第２１のクラスタにおける人クラスタデータ位置と人クラスタデータ高さとを関連づけて人クラスタデータｄ１（２１）を生成する。また、クラスタリング部２１１−２は、第２のクラスタにおける人クラスタデータ位置と人クラスタデータ高さとを関連づけて人クラスタデータｄ１（２２）を生成する（ステップＳ５）。
【００５５】
＜クラスタデータ統合部２１２によって行われる第１統合処理＞
次に、クラスタデータ統合部２１２によって行われる統合処理について説明する。
図４は、本実施形態に係るクラスタデータ統合部２１２によって行われる統合処理手順のフローチャートである。なお、以下の例は、クラスタリング部２１１が２つ以上の場合を説明する。
【００５６】
（ステップＳ１０１）クラスタデータ統合部２１２は、クラスタリング部２１１−１〜２１１−ｎから入力される複数の人クラスタデータｄ１を統合する。クラスタデータ統合部２１２は、処理をステップＳ１０２に進める。
（ステップＳ１０２）クラスタデータ統合部２１２は、統合したクラスタ毎の重心位置を、統合後のクラスタの位置情報とし、統合したクラスタ毎の高さ情報のうち最も高い値を、統合後の高さ情報とする。次に、クラスタデータ統合部２１２は、位置情報と高さ情報を関連付けた人クラスタデータｄ２を統合後のクラスタ毎に生成し、生成した人クラスタデータｄ２をトラッキング部２１３に出力する。クラスタデータ統合部２１２は、処理をステップＳ１０３に進める。
【００５７】
（ステップＳ１０３）トラッキング部２１３は、クラスタデータ統合部２１２から入力された統合された人クラスタデータｄ２の位置（含む高さ）に基づいて、所定の時間間隔毎にトラッキング処理を行う。トラッキング部２１３は、まず、入力された人クラスタデータ毎にＩＤを割り当てる。次に、トラッキング部２１３は、トラッキング処理を行った結果、同一の人物と見なせる人クラスタデータに前のフレームで割り当てたＩＤと同じＩＤを付与する。
（ステップＳ１０４）トラッキング部２１３は、時系列でトラッキング処理を行った結果得られたＩＤと、人データ位置と、人データ高さとを人毎に関連付けて人データｄ３を生成し、生成した人データｄ３を状況推定部２２０に出力する。
【００５８】
次に、クラスタデータ統合部２１２によって行われる統合処理の具体例を、図１、図４を参照して説明する。
クラスタデータ統合部２１２は、クラスタリング部２１１−１から入力される人クラスタデータｄ１（１１）と、クラスタリング部２１１−２とから入力される人クラスタデータｄ１（２１）とを、位置を示す情報が所定の範囲内にあると判別して統合する（ステップＳ１０１）。なお、人クラスタデータｄ１（１１）は投影点１４１〜１４３によるクラスタである。人クラスタデータｄ１（２１）は投影点１４４〜１４６によるクラスタである。
次に、クラスタデータ統合部２１２は、人クラスタデータｄ１（１１）とｄ１（２１）との重心位置を、統合後のクラスタ位置を示す位置情報とし、人クラスタデータｄ１（１１）とｄ１（２２）の高さのうち高い方の値を、統合後のクラスタの高さを示す高さ情報とし、位置情報と高さ情報を関連付けた人クラスタデータｄ２−１を生成する（ステップＳ１０２）。
【００５９】
また、クラスタデータ統合部２１２は、クラスタリング部２１１−２から入力される人クラスタデータｄ１（２２）と、位置を示す情報が所定の範囲内にある人クラスタデータが他にないと判別する。なお、人クラスタデータｄ１（２２）は投影点１５１〜１５６によるクラスタである。この場合、クラスタデータ統合部２１２は、人クラスタデータｄ１（２２）に他の人クラスタデータを統合しない（ステップＳ１０１）。この場合、クラスタデータ統合部２１２は、人クラスタデータｄ１（２２）を、そのまま人クラスタデータｄ２―２として出力する（ステップＳ１０２）。
【００６０】
次に、トラッキング部２１３は、クラスタデータ統合部２１２から入力された人クラスタデータｄ２−１とｄ２−２を用いて、人クラスタデータ毎に、所定の時間間隔毎にトラッキング処理を行う。トラッキング部２１３は、まず、入力された人クラスタデータｄ２−１にＩＤ１を割り当て、入力された人クラスタデータｄ２−２にＩＤ２を割り当てる。次に、トラッキング部２１３は、時系列でトラッキング処理を行った結果、同一の人物と見なせる人クラスタデータに前のフレームで割り当てたＩＤと同じＩＤを付与する（ステップＳ１０３）。次に、トラッキング部２１３は、トラッキング処理を行った結果得られたＩＤと、人データ位置と人データ高さとを含む人データとを人毎に関連付けて、ＩＤ１とＩＤ２の人データｄ３を生成する（ステップＳ１０４）。
【００６１】
＜計測期間の説明＞
次に、音声信号を出力する期間、人ｈｕが手を挙げるタイミング、人ｈｕが手を下げるタイミング、手挙げ期間、手下げ期間を説明する。
図５は、本実施形態に係る音声信号を出力する期間、人ｈｕが手を挙げるタイミング、人ｈｕが手を下げるタイミング、手挙げ計測期間、及び手下げ計測期間を説明する図である。図５において、横軸は時間を表し、縦軸は人データ高さ（ｍ）を表している。なお、図５に示す例では、ロボット１が『Ａ』という話題について聞きたい人がいるか挙手を行わせている場合を示している。なお、『Ａ』は、例えば、ロボット１が説明する各話題の内の１つである。
【００６２】
まず、制御部１０２が、音声信号を出力する期間、すなわちロボット１の発話期間について説明する。
時刻ｔ１〜ｔ２の期間は、ロボット１が挙手を促す発話「Ａについて聞きたい人は、手を挙げてください」を行う発話期間である。
時刻ｔ２〜ｔ５の期間は、ロボット１が発話しない無発話期間である。
時刻ｔ５〜ｔ７の期間は、ロボット１が手下げを促す発話「ハイ分かりました、手を下げてください」を行う発話期間である。なお、発話期間は、発話の内容に応じて異なる。
【００６３】
次に、人ｈｕが手を挙げるタイミング、人ｈｕが手を下げるタイミングの一例を説明する。図５において、符号ｇ１に示す折れ線は、一人の人ｈｕの測距点のうち、各時刻におけるｚ軸成分の最大値を示している。
図５の符号ｇ１に示す例において、時刻ｔ０〜ｔ３の期間は、人ｈｕが手を挙げていない。
人ｈｕは、時刻ｔ３のとき手を挙げ始め、時刻ｔ４のとき最大値のｚ２となる。図５の符号ｇ１に示す例に示すように、人ｈｕは、手を挙げることを促す発話が終了しても、なかなか手を挙げない場合もある。また、手を挙げ始めるタイミングは、人によって大きく異なる。
時刻ｔ６のとき、人ｈｕは、手を下げる発話に促されて手を下げ始める。図５の符号ｇ１に示す例に示すように、手を下げるように促されても直ちに手を下げない場合があるが、手を挙げるのに要した時間よりも少ない時間で手を下げる。また、手を挙げる際と異なり、手を下げるタイミングは、どの人もほぼ同じであり、皆一斉に手を下げる傾向があることが実験により得られている。そのため本手法では、手を下ろした時の高さを確実に計測するため、手を下ろすよう発話した後に、手下げ時の高さを計測する。
【００６４】
次に、手挙げ期間、手下げ期間について説明する。
手挙げを測定する期間（以下、手挙げ期間という）（第３期間）は、手を下げることを促した時刻ｔ５から所定の時刻、例えば３秒間前の期間であり、図５に示す例では時刻ｔ１〜ｔ５の期間である。ヒストグラム処理部２２１は、手挙げ期間、挙手中の人データ高さを計測し、人データ高さが挙手閾値以上となる回数を計測する。
また、手下げを測定する期間（以下、手下げ期間という）（第２期間）は、手を下げることを促した時刻ｔ５から所定の時刻、例えば４秒後の時刻ｔ８〜ｔ９の期間である。手下げ期間は、例えば１秒間である。この期間は、手を下げることを促した後、人ｈｕが確実に手を下げていると想定される期間である。ヒストグラム処理部２２１は、手下げ期間、手を下ろした際の人データ高さを計測する。ヒストグラム処理部２２１は、手下げ期間、各人データ高さの平均値を算出し、算出した平均値から各人データ毎の挙手閾値を算出する。または、ヒストグラム処理部２２１は、手下げ期間の人データの高さの最大値ｚ１を計測し、この最大値から挙手閾値を算出してもよい。そして、ヒストグラム処理部２２１は、算出した挙手閾値を、手挙げ期間の計測に使用する。なお、手下げ期間は、手を下げることを促した発話が終了した時刻ｔ７以降が好ましい。
なお、ロボット１が挙手の開始を促してから挙手の終了を促すことによって設定される時刻ｔ１〜時刻ｔ９までの期間を第１期間と定義する。
【００６５】
＜誤った検出例の説明＞
次に、２人が近接している場合について、図６及び図７を用いて説明する。
図６は、２人が近接している状況と、従来手法でクラスタリング処理を行った例を説明する図である。図７は、従来手法でクラスタリング処理を行った場合の各測定時刻に対する２人の高さ情報の変化の一例を説明する図である。図７に示す期間、図６に示した人ｈｕ１及び人ｈｕ２の２人とも挙手をしていない例である。また、図７に示す高さ情報は、トラッキング処理後の人データにおける情報である。
【００６６】
図６の符号ｇ１０１が示す図は、図７の時刻ｔ１２のときの人ｈｕ１と人ｈｕ２との状態を説明する図である。図６の符号ｇ１０２が示す図は、図７の時刻ｔ１４のときの人ｈｕ１及び人ｈｕ２の状態を説明する図である。また、図６に示す例では、２人の人ｈｕ１と人ｈｕ２とが存在している例であり、人ｈｕ１は、母親であり、人ｈｕ２は、その子供である。
【００６７】
図７において、横軸は時刻（ｍｓｅｃ）、縦軸は人データ高さ（ｍ）である。図７において、曲線ｇ２０１は、測定時刻に対する図６の人ｈｕ１に該当する人データ高さの変化を表し、曲線ｇ２０２は、測定時刻に対する図６の人ｈｕ２に該当する人データ高さの変化を表す。なお、図６及び図７は、実測されたデータ及び、そのデータを処理した結果の一例である。
【００６８】
図６の符号ｇ１１０が示す図は、時刻ｔ１２（図７）のときの従来手法でクラスタリング処理を行った結果を説明する図である。符号ｇ１２０が示す図は、時刻ｔ１４（図７）のときの従来手法でクラスタリング処理を行った結果を説明する図である。なお、符号ｇ１１０と符号ｇ１２０とが示す図それぞれは、測距点をｘｙ平面（図１）に投影してクラスタリング処理を行った後の図である。
【００６９】
まず、時刻ｔ１２（図７）のときについて説明する。
図６の符号ｇ１０１が示す図に示す例では、人ｈｕ１の頭（または顔）の位置と人ｈｕ２の頭（または顔）の位置とが、矢印ｇ１０３が示すように約７０（ｃｍ）離れている。図６の符号ｇ１１０が示す図において、符号ｇ１１１が示す領域は、人ｈｕ１に分類された人クラスタデータｄ１であり、符号ｇ１１２が示す領域は、人ｈｕ２に分類された人クラスタデータである。また、符号ｇ１１０が示す図において、点ｇ１１３は、人ｈｕ１に分類された人クラスタデータにおけるｚ軸方向の最大値の位置を示し、点ｇ１１４は、人ｈｕ２に分類された人クラスタデータにおけるｚ軸方向の最大値の位置を示す。点ｇ１１３は、人ｈｕ１の頭頂部の位置に対応し、点ｇ１１４は、人ｈｕ２の頭頂部の位置に対応する。符号ｇ１１０が示す図において、人ｈｕ１及び人ｈｕ２それぞれの人クラスタデータは、破線ｇ１１５に示す位置で分離されている。なお、この位置を、クラスタの分割位置と定義する。
【００７０】
次に、時刻ｔ１４（図７）のときについて説明する。
図６の符号ｇ１０２が示す図の例では、人ｈｕ２が人ｈｕ１に近づいたため、人ｈｕ１の頭（または顔）の位置と人ｈｕ２の頭（または顔）の位置とが、矢印ｇ１０４が示すように約４０（ｃｍ）しか離れていない。図６の符号ｇ１２０が示す図において、符号ｇ１２１が示す領域は、人ｈｕ１に分類された人クラスタデータであり、符号ｇ１２２が示す領域は、人ｈｕ２に分類された人クラスタデータである。また、符号ｇ１２０が示す図において、点ｇ１２３は、人ｈｕ２に分類された人クラスタデータにおけるｚ軸方向の最大値の位置を示す。点ｇ１２４は、人ｈｕ１に分類された人クラスタデータにおけるｚ軸方向の最大値の位置を示す。点ｇ１２３及び点ｇ１２４は、人ｈｕ１の頭頂部や肩等の位置に対応する。すなわち、符号ｇ１２０が示す図の例では、人ｈｕ２に分類された人クラスタデータには、人ｈｕ１の測距点と人ｈｕ２の測距点とが含まれてしまっている。この結果、符号ｇ１２０が示す図の例では、人ｈｕ２の高さ情報が、人ｈｕ１の高さ情報として誤って検出される。
符号ｇ１２０が示す図において、人ｈｕ２が人ｈｕ１に近づいたため、人ｈｕ１及び人ｈｕ２それぞれの人クラスタデータは、分類されるべき位置である破線ｇ１２５に示すクラスタの分割位置で分離されていない。
【００７１】
次に、人ｈｕ１と人ｈｕ２の状態と、ｈｕ１と人ｈｕ２に該当する人データ高さの時間変化について説明する。
図７において、時刻ｔ１１〜ｔ１５の期間は、手挙げ期間（第３期間）であり、時刻ｔ１６〜ｔ１７の期間は、手下げ期間（第２期間）である。
時刻ｔ１１より前の時刻のとき、制御部１０２は、音声信号「Ａについて聞きたい人は、手を挙げてください」を、音声出力部１０３からの出力を開始する。
時刻ｔ１２のとき、図７の曲線ｇ２０１に示すように、人ｈｕ１の人データ高さとして測定された値は約１．５２（ｍ）である。また、図７の曲線ｇ２０２に示すように、人ｈｕ２の人データ高さ情報として測定された値は約１．０８（ｍ）である。
【００７２】
時刻ｔ１３のとき、人ｈｕ１が動いたため、図７の曲線ｇ２０１に示すように、人ｈｕ１の人データ高さ情報として測定された値は約１．６２（ｍ）である。また、図７の曲線ｇ２０２に示すように、人ｈｕ２の人データ高さ情報として測定された値は約１．０８（ｍ）である。
【００７３】
時刻ｔ１４のとき、人ｈｕ１が動き、さらに人ｈｕ２が人ｈｕ１に近づいたため、図７の曲線ｇ２０１に示すように、人ｈｕ１の人データ高さ情報として測定された値は約１．６０（ｍ）である。また、図７の曲線ｇ２０２に示すように、人ｈｕ２の人データ高さ情報として測定された値は約１．４５（ｍ）である。高さ情報として測定された値である１．４５（ｍ）は、人ｈｕ２が挙手したことによる高さではなく、人ｈｕ１の肩の高さである。しかしながら、人ｈｕ２が人ｈｕ１に近づいたため、クラスタリング処理が適切に行えなかった結果、本来は人ｈｕ１に分類されるべきだった測距点が人ｈｕ２に分類された。この測距点が人ｈｕ２に分類された測距点の中で高さの最高点となったため、最終的にこの測距点が人ｈｕ２の人データ高さとして誤って測定された。
このように、従来手法のクラスタリング処理を行った場合は、手挙げ期間（第３期間）における人ｈｕ１の最大の高さは、時刻ｔ１３のときの約１．６２（ｍ）であり、手挙げ期間（第３期間）における人ｈｕ２の最大の高さは、時刻ｔ１４のときの約１．４５（ｍ）であると計測された。
【００７４】
図７の曲線ｇ２０１に示すように、手下げ期間（第２期間）における人ｈｕ１の人データ高さの平均値は約１．５６（ｍ）である。また、図７の曲線ｇ２０２に示すように、手下げ期間（第２期間）における人ｈｕ２の人データ高さの平均値は約１．０８（ｍ）である。
【００７５】
従来手法でクラスタリング処理を行った図７に示した例において、手挙げ期間（第３期間）の人データ高さの最大値と、手下げ期間（第２期間）の人データ高さの平均値との差が、所定の値である１０（ｃｍ）以上ある場合に挙手を行っていると状況推定部２２０が推定する場合を説明する。
挙手を行っていない手下げ期間（第２期間）の平均値を、各人の身長の値とすると、人ｈｕ１の身長の値は、約１．５６（ｍ）であり、人ｈｕ２の身長の値は、約１．０８（ｍ）である。この身長の値に所定の値を加算した値を挙手閾値とすると、人ｈｕ１の挙手閾値は１．６６（ｍ）であり、人ｈｕ２の挙手閾値は１．１８（ｍ）である。
【００７６】
人ｈｕ１の第３期間の人データ高さの最大値は、時刻ｔ１３のときの約１．６２（ｍ）である。状況推定部２２０は、人データ高さの最大値の１．６２（ｍ）が挙手閾値の１．６６（＝１．５６（ｍ）＋１０ｃｍ）（ｍ）に満たないため、人ｈｕ１が、挙手を行っていないと推定する。
人ｈｕ２の第３期間の人データ高さの最大値は、時刻ｔ１４のときの約１．４５（ｍ）ある。状況推定部２２０は、人データ高さの最大値の１．４５（ｍ）が挙手閾値の１．１８（ｍ）を超えるため、人ｈｕ２が、実際には挙手を行っていないのにも関わらず、挙手を行っていると誤って推定する。
【００７７】
以上のように、図６及び図７を用いて説明したように、従来手法を用いてクラスタリング処理を行った場合、人同士が所定の距離以内に近づくと、クラスタの生成とクラスタの分離とを適切に行えないことがある。そして、クラスタの分離が適切に行えない場合、人毎の高さを適切に測定できない場合が発生し、状況推定部２２０は、挙手を行っているか否かを誤って推定してしまうことがあった。
【００７８】
＜ヒストグラム処理部２２１が行う処理の説明＞
本実施形態では、上述した誤った推定を防ぐため、以下に説明するように、ヒストグラム処理部２２１が処理した結果に基づいて、状況推定部２２０は、挙手を行っているか否かを推定する。
【００７９】
図８は、本実施形態に係るヒストグラム処理部２２１が行う処理の一例を説明する図である。図８において、横軸は時刻、縦軸は人データ高さである。また、図８において、点ｇ３０１は、ＩＤ１と識別された人の人データ高さであり、点ｇ３０２は、ＩＤ２と識別された人の人データ高さである。手挙げ期間は、第３期間であり、手下げ期間は、第２期間を表している。また、破線ｇ３１１は、ＩＤ１と認識された人の第２期間における人データ高さの平均値であり、破線ｇ３１２は、ＩＤ２と認識された人の第２期間における人データ高さの平均値である。矢印ｇ３２１及び矢印ｇ３２２は、挙手を判定するための所定の値である。所定の値は、例えば１０（ｃｍ）である。破線ｇ３３１は、破線ｇ３１１に示した平均値に矢印ｇ３２１の所定の値を加算した値（挙手閾値）を示す破線であり、破線ｇ３３２は、破線ｇ３１２に示した平均値に矢印ｇ３２２の所定の値を加算した挙手閾値を示す破線である。
【００８０】
図９は、本実施形態に係るヒストグラム処理部２２１が行う処理手順のフローチャートである。なお、本実施形態では、以下に説明する処理を、ヒストグラム作成処理をいう。なお、以下の説明では、トラッキング処理を図８の時刻ｔ２１で開始しているとする。
【００８１】
（ステップＳ２０１）ヒストグラム処理部２２１は、ステップＳ２０２〜Ｓ２０６の処理を人毎に行う。
（ステップＳ２０２）ヒストグラム処理部２２１は、第３期間と第２期間を含む第１期間である時刻ｔ２１〜ｔ２４（図８）の間の人データ高さを取得する。
（ステップＳ２０３）ヒストグラム処理部２２１は、ステップＳ２０１で第１期間の間、トラッキングできた人データについて、第２期間における人データ高さの平均値を算出する。
【００８２】
（ステップＳ２０４）ヒストグラム処理部２２１は、ステップＳ２０２で算出した人データ高さの平均値に、所定の値（例えば１０（ｃｍ））を加算して挙手閾値を算出する。
（ステップＳ２０５）ヒストグラム処理部２２１は、第３期間において、ＩＤ毎に人データ高さがステップＳ２０３で算出した挙手閾値を超えた回数を計測する。
（ステップＳ２０６）ヒストグラム処理部２２１は、計測した人データ高さが挙手閾値を超えた回数をＩＤ毎に記憶部２３０に記憶させる。
（ステップＳ２０７）ヒストグラム処理部２２１は、全ての人に対してステップＳ２０２〜Ｓ２０６の処理を終了した後、ヒストグラム作成処理を終了する。なお、ヒストグラム処理部２２１は、第３期間と第２期間とが発生する毎に、上記の処理を繰り返して行う。
【００８３】
なお、図９のステップＳ２０４では、ヒストグラム処理部２２１は、第３期間において、人データ高さが挙手閾値を超えた回数を計測する例を説明したが、これに限られない。ヒストグラム処理部２２１は、第３期間〜第２期間を含む第１期間において、人データ高さが挙手閾値を超えた回数を計測するようにしてもよい。
【００８４】
図８に示す例では、第３期間において人データ高さが挙手閾値を超えた回数は、ＩＤ１が７回であり、ＩＤ２が２回である。
ヒストグラム処理部２２１は、会場にいる全ての人について、上述した処理を行う。そして、状況推定部２２０は、ヒストグラム処理部２２１が計測した第３期間に人データ高さが挙手閾値を超えた回数に基づいて、挙手を行った人と挙手を行っていない人とを分類する。
【００８５】
図１０は、本実施形態に係る第３期間で高さ情報が挙手閾値を超えた回数とＩＤ数との関係の一例を説明する図である。なお、図１０に示す図は、会場の様子を撮影した画像を用いて、挙手をしている人と挙手をしていない人とを、人間が目視によって数えた結果の一例である。
図１０において、符号ｇ３５０が示す図は、挙手をしている人の分布と、挙手をしていない人の分布とが理想的な例である。符号ｇ３５０が示す図において、曲線ｇ３５１は、挙手をしていない人に対応するＩＤの個数と、第３期間で人データ高さが挙手閾値を超えた回数との関係を示すものである。また、曲線ｇ３５２は、挙手をした人に対応するＩＤの個数と、第３期間で人データ高さが挙手閾値を超えた回数との関係を示すものである。
【００８６】
符号ｇ３５０の図の例では、挙手をしていない人の第３期間で人データ高さが挙手閾値を超えた回数は、０〜ｋ１（回）に分布している。また、挙手をした人の第３期間で人データ高さが挙手閾値を超えた回数は、ｋ３〜ｋ４（回）に分布している。符号ｇ３５０の図の例では、符号ｇ３５１の挙手をしていない人の分布と、符号ｇ３５２の挙手をしている人の分布とが、ｋ１〜ｋ３（回）の間を有して分離している。このため、例えば、ｋ１（回）とｋ３（回）との平均値であるｋ２（回）を、挙手をしているか否かの判定閾値とすることができる。状況推定部２２０は、このように設定された判定閾値を用いて、人が挙手を行っているか否かを判定する。なお、判定閾値は、予め記憶部２３０に記憶されている。
【００８７】
図１０において、符号ｇ３６０が示す図は、挙手をしている人の分布と、挙手をしていない人の分布とが近接している例である。符号ｇ３６０が示す図において、曲線ｇ３６１は、挙手をしていない人に対応するＩＤの個数と、第３期間で人データ高さが挙手閾値を超えた回数との関係を示すものである。また、曲線ｇ３６２は、挙手をした人に対応するＩＤの個数と、第３期間で人データ高さが挙手閾値を超えた回数との関係を示すものである。
【００８８】
符号ｇ３６０の図の例では、挙手をしていない人の第３期間で人データ高さが挙手閾値を超えた回数は、０〜ｋ１３（回）に分布している。また、挙手をした人の第３期間で人データ高さが挙手閾値を超えた回数は、ｋ１１〜ｋ１４（回）に分布している。符号ｇ３６０の図の例では、符号ｇ３６１の挙手をしていない人の分布と、符号ｇ３６２の挙手をしている人の分布とが、ｋ１１〜ｋ１３（回）の間、重なっている。このような場合、ｋ１１（回）とｋ１３（回）との間の値を判定閾値に設定すると、人が挙手を行っているか否かの判定を誤る場合があり得る。このため、例えば、このような場合には、以下の判定基準のうち、少なくとも１つを用いることができる。
・判定基準１：ｋ１１（回）以下なら挙手していないと判定
・判定基準２：ｋ１３（回）以上なら挙手をしていると判定
例えば、誤って挙手をカウントしたくない場合（以下、ＦＡという）は、ｋ１３を閾値にするようにしてもよい。また、挙手を行っているのにカウントされないことを無くしたい場合（以下、ＦＮという）は、ｋ１１を閾値にするようにしてもよい。ＦＡとＦＮをともに減らしたい場合は、曲線の交点ｋ１２を閾値にするようにしてもよい。このように、閾値は、ｋ１１〜ｋ１３の間の値であればよい。
状況推定部２２０は、このような判定基準に基づいて設定された判定閾値を用いて、人が挙手を行っているか否かを判定する。
【００８９】
図１０に示したような分布は、会場内の密集度、人と人との関係等によって左右される。例えば、会場全体に人が密集していなくても、親子や恋人同士等が存在している領域では、２人の距離が近くなり、図１０の符号ｇ３６０で説明した判定閾値を用いる方がよい場合もある。このため、状況推定部２２０は、図６の符号ｇ１１０及びｇ１２０に示した図において、第３期間及び第２期間を含む第１期間の間、各人データのｘｙ座標の分布に基づいて、図１０の符号ｇ３６０を用いて説明した判定閾値のうち、いずれかの判定閾値を用いるようにしてもよい。
【００９０】
次に、ロボット１による挙手検出の処理手順を説明する。
図１１は、本実施形態に係るロボット１による挙手検出の処理手順のフローチャートである。
（ステップＳ３０１）制御部１０２は、記憶部１０１に記憶されているシナリオ情報を読み出す。制御部１０２は、処理をステップＳ３０２に進める。
（ステップＳ３０２）制御部３０２は、読み出したシナリオ情報に基づいて、音声信号を音声出力部１０３から出力させる。制御部１０２は、処理をステップＳ３０３に進める。
【００９１】
（ステップＳ３０３）クラスタリング部２１１は、ＬＲＦセンサ２から入力された測距点情報の中から、ｚ軸成分の値が所定の値以上の測距点を抽出する。クラスタリング部２１１は、処理をステップＳ３０４に進める。
（ステップＳ３０４）クラスタリング部２１１は、ステップＳ３０３で抽出した測距点の情報を用いて、人クラスタデータを生成する。クラスタリング部２１１は、処理をステップＳ３０５に進める。
【００９２】
（ステップＳ３０５）クラスタデータ統合部２１２は、ステップＳ３０４で生成された人クラスタデータを用いて統合処理を行う。次に、クラスタデータ統合部２１２は、クラスタ同士の統合を行った場合、統合したクラスタの重心位置を、統合後のクラスタデータの位置（人クラスタデータ位置）とし、統合したクラスタの高さの最高値を、統合後のクラスタデータの高さ（人クラスタデータ高さ）とする。次に、クラスタデータ統合部２１２は、人クラスタデータ位置と人クラスタデータ高さを関連付けた人クラスタデータｄ２をクラスタ毎に生成し、生成した人クラスタデータｄ２をトラッキング部２１３に出力する。クラスタデータ統合部２１２は、処理をステップＳ３０６に進める。
【００９３】
（ステップＳ３０６）トラッキング部２１３は、クラスタデータ統合部２１２から入力された人クラスタデータｄ２を用いて、人クラスタデータ位置を元に、所定の時間間隔毎にトラッキング処理を行う。トラッキング部２１３は、まず、入力された人クラスタデータ毎にＩＤを割り当てる。次に、トラッキング部２１３は、時系列でトラッキング処理を行った結果、同一の人物と見なせる人クラスタデータに最初に割り当てたＩＤと同じＩＤを付与する。次に、トラッキング部２１３は、トラッキング処理を行った結果得られたＩＤと、人データ位置と、人データ高さとを人毎に関連付けて人データｄ３を生成し、生成した人データｄ３を状況推定部２２０に出力する。トラッキング部２１３は、処理をステップＳ３０７に進める。
【００９４】
（ステップＳ３０７）状況推定部２２０は、第３期間と第２期間とを含む第１期間が経過したか否かを判別する。状況推定部２２０は、第３期間と第２期間とを含む第１期間が経過したと判別した場合（ステップＳ３０７；ＹＥＳ）、ステップＳ３０８に進み、第３測期間と第２期間とを含む第１期間が経過していないと判別した場合（ステップＳ３０７；ＮＯ）、ステップＳ３１２に進む。
【００９５】
（ステップＳ３１２）状況推定部２２０は、発話が終了していないか否かを判別する。状況推定部２２０は、発話が終了していないと判別した場合（ステップＳ３１２；ＹＥＳ）、ステップＳ３０２に戻り、発話が終了していると判別した場合（ステップＳ３１２；ＮＯ）、ステップＳ３０３に戻る。
【００９６】
（ステップＳ３０８）ヒストグラム処理部２２１は、図９のステップＳ２０１〜Ｓ２０７のヒストグラム作成処理を行う。ヒストグラム処理部２２１は、処理をステップＳ３０９に進める。
（ステップＳ３０９）状況推定部２２０は、ステップＳ３０８で処理された結果と、記憶部２３０に記憶されている判定閾値とを用いて、手を挙げた人数を推定する。状況推定部２２０は、処理をステップＳ３１０に進める。
【００９７】
（ステップＳ３１０）状況推定部２２０は、シナリオ情報に基づいて、質問の提示を所定回数終了したか否か判別する。状況推定部２２０は、質問の提示を所定回数終了したと判別した場合（ステップＳ３１０；ＹＥＳ）、ステップＳ３１１に進み、質問の提示を所定回数終了していないと判別した場合（ステップＳ３１０；ＮＯ）、ステップＳ３０２に戻る。
【００９８】
（ステップＳ３１１）状況推定部２２０は、シナリオ情報に基づいて、所定の質問が所定回数提示された後、ステップＳ３０９で推定された質問毎の推定結果に基づいて、多数決判定を行う。状況推定部２２０は、ステップＳ３０９で推定された質問毎の手を挙げた人数を比較し、最も人数が多い質問を選択する。
以上で、挙手検出の処理を終了する。
【００９９】
例えば、身長差のある親子などの２人が近接した場合、図６を用いて説明したように、一方の人の測距点が他者の測距点と一緒にクラスタリングされてしまうことがあるので、クラスタの分割位置がずれる。そして、クラスタの分割位置がずれるため、クラスタ毎の高さ測定値及びそのｘｙ平面における位置が誤って検出されてしまうことがあった。
【０１００】
このため、本実施形態では、実測されたデータを用いて、ヒストグラム処理部２２１が作成した挙手を行った人と挙手を行ってない人との第３期間における挙手閾値を超えた回数の分布に基づいて、判定閾値を設定するようにした。そして、本実施形態では、このように設定された判定閾値を用いて、人が挙手を行っているか否かを推定するようにした。これにより、本実施形態では、挙手が促されている期間に、近接する人同士が近づいたり離れたりした場合、クラスタリング処理が適切にできていない期間があっても、第３期間に挙手閾値より大きい高さ測定値が計測された回数が、判定閾値より多い人データについて挙手を行っていると推定することができる。そして、本実施形態では、挙手が促されている期間に、近接する人同士が近づいたり離れたりした場合、クラスタリング処理が適切にできていない期間があっても、第３期間に挙手閾値より大きい高さ測定値が計測された回数が、判定閾値より少ない人データについて挙手を行っていないと推定することができる。この結果、本実施形態によれば、誤った推定を低減することができるので、検知対象エリアにいる複数の人の動作の推定精度を向上することができる。
【０１０１】
以上のように、本実施形態の動作推定装置（例えば動作推定装置２０）は、所定の範囲に対して距離（例えば人に対する三次元方向の各値）の測定を行う距離測定部（例えばＬＲＦセンサ２）と、距離測定部によって測定された距離の分布に基づいて人を検出する人処理部（例えばクラスタリング部２１１、クラスタリング統合部２１２）と、人処理部によって検出された人毎に識別子（例えばＩＤ）を付与するトラッキング部（例えばトラッキング部２１３）と、人に対して挙手の開始と終了を促すことにより設定される第１期間において、測定された距離に含まれる高さ方向の値である人データ高さに基づいて、人の反応を推定する状況推定部（例えば状況推定部２２０）と、を備え、状況推定部は、トラッキング部によって識別子を付与された人毎の人データ高さを第１期間に複数回測定し、複数の人データ高さが所定の範囲内にある識別子を抽出し、抽出された識別子に対応する人の反応を推定する。
また、本実施形態の動作推定装置（例えば動作推定装置２０）は、人に対して挙手の開始または終了を促すことを示す信号を出力し、推定された人の反応に基づいて、ロボットの行動を制御する制御部（例えば制御部１０２）を備える。
【０１０２】
この構成によって、本実施形態の動作推定装置２０では、身長差がある親子などが近接している場合であっても、挙手検出の誤検出を低減させることができる。この結果、本実施形態の動作推定装置２０では、挙手検出の精度を向上させることができる。
【０１０３】
また、本実施形態の動作推定装置（例えば動作推定装置２０）において、状況推定部（例えば状況推定部２２０）は、各人毎に人が挙手を行っていない第２期間における人データ高さの平均値または最大値と人の体格データに基づき設定される挙手閾値を算出し、第１期間において挙手閾値より大きい高さ測定値が計測された回数が所定の回数より多い人を抽出し、抽出された人の反応を推定する。
また、本実施形態の動作推定装置（例えば動作推定装置２０）において、状況推定部（例えば状況推定部２２０）は、第１期間において、挙手閾値を超えた人データ高さが計測された回数と、挙手を行ったか否かを対応付けた分布を示す情報に基づいて、所定の回数（例えば判定閾値）を決定する。
【０１０４】
この構成によって、本実施形態の動作推定装置２０では、挙手を促されている最中に、親子などが近接したり離れたりした場合であっても、挙手検出の誤検出を低減させることができる。この結果、本実施形態の動作推定装置２０では、挙手検出の精度を向上させることができる。
【０１０５】
また、本実施形態の動作推定装置（例えば動作推定装置２０）において、距離測定部（例えばＬＲＦセンサ２）は、異なる所定の範囲に対して距離の測定を行う複数の当該距離測定部（例えばＬＲＦセンサ２−１〜２−ｎ）、を備え、人処理部（例えば人処理部２１０）は、距離測定部それぞれによって測定された距離のクラスタリングを行って人クラスタデータそれぞれを生成する複数のクラスタリング部（例えばクラスタリング部２１１−１〜２１１−ｎ）と、複数のクラスタリング部によって生成された人クラスタデータを統合するクラスタデータ統合部（例えばクラスタデータ統合部２１２）と、を備える。
【０１０６】
この構成によって、本実施形態の動作推定装置２０では、複数のＬＲＦセンサ２によって測定された測距点を、各クラスタリング部２１１でクラスタリング処理を行う。そして、本実施形態では、クラスタリング処理によって生成された人クラスタデータをクラスタデータ統合部２１２によって統合する。本実施形態では、このように生成された人クラスタデータを用いてトラッキング処理と人が挙手を行っているか否かの推定を行う。これにより、本実施形態では、１つのＬＲＦセンサ２では測定しきれなかった人についても他のＬＲＦセンサ２の測距点を用いて測定することができるので、挙手検出の精度を向上させることができる。
【０１０７】
なお、本実施形態では、記憶部２３０に判定閾値を予め記憶させておく例を説明したが、これに限られない。例えば、動作推定装置２０は、シナリオに応じた質問を行う前に、リハーサルを行って、この時に取得した測距点の情報をクラスタリング処理、ヒストグラム処理することで判定閾値を設定し、設定した判定閾値を記憶部２３０に記憶させ、または記憶部２３０に記憶されている中から選択するようにしてもよい。
【０１０８】
［第２実施形態］
第１実施形態では、身長差のある人同士が近接した場合であっても、誤った推定を低減できる例を説明した。本実施形態では、挙手が他者の上に被ることで、クラスタの分離が失敗するような場合であっても、誤った推定を低減できる例を説明する。
なお、本実施形態に係るロボット１の概略のブロック図は、図１と同様である。
【０１０９】
＜誤った検出例の説明＞
まず、２人が近接していて、一方の人の挙手が他者の上に被る場合について、図１２及び図１３を用いて説明する。
図１２は、２人が近接している状況と、従来手法でクラスタリング処理を行った例を説明する図である。図１３は、従来手法でクラスタリング処理を行った後にトラッキング処理を行った場合の各測定時刻に対する２人の人データ高さ情報の変化の一例を説明する図である。また、図１２に示す例では、２人の人ｈｕ１と人ｈｕ２とが存在している例であり、人ｈｕ１は、母親であり、人ｈｕ２は、その子供である。
図１３において、横軸は時刻（ｍｓｅｃ）、縦軸は人データ高さ（ｍ）である。曲線ｇ２１１は、測定時刻に対する人ｈｕ１の人データ高さの変化を表し、曲線ｇ２１２は、測定時刻に対する人ｈｕ２の人データ高さの変化を表す。なお、図１２及び図１３は、実測されたデータ及び、そのデータを処理した結果の一例である。第１実施形態と同様に、手挙げ期間（時刻ｔ２１〜ｔ２４）は、第３期間であり、手下げ期間（時刻ｔ２５〜ｔ２７）は、第２期間である。
【０１１０】
図１２の符号ｇ１３１が示す図は、図１３の時刻ｔ２３のときの人ｈｕ１と人ｈｕ２との状態を説明する図である。符号ｇ１３２が示す図は、図１３の時刻ｔ２６のときの人ｈｕ１と人ｈｕ２との状態を説明する図である。
【０１１１】
図１２の符号ｇ１４０が示す図は、時刻ｔ２３（図１３）のときの従来手法でクラスタリング処理を行った結果を説明する図である。符号ｇ１５０が示す図は、時刻ｔ２６（図１３）のときの従来手法でクラスタリング処理を行った結果を説明する図である。なお、符号ｇ１４０と符号ｇ１５０とが示す図それぞれは、測距点をｘｙ平面（図２）に投影してクラスタリング処理を行った後の図である。
【０１１２】
まず、時刻ｔ２３（図１３）のときについて説明する。
図１２の符号ｇ１３１が示す図に示す例では、人ｈｕ１の頭頂の位置と人ｈｕ２の頭頂の位置との間とが、矢印ｇ１３３が示すように約３１（ｃｍ）離れている。図１２の符号ｇ１４０が示す図において、符号ｇ１４１が示す領域は、人ｈｕ１に分類された人クラスタデータであり、符号ｇ１４２が示す領域は、人ｈｕ２に分類された人クラスタデータである。また、符号ｇ１４０が示す図において、点ｇ１４３は、人ｈｕ１に分類された人クラスタデータにおけるｚ軸方向の最大値の位置を示し、点ｇ１４４は、人ｈｕ２に分類された人クラスタデータにおけるｚ軸方向の最大値の位置を示す。点ｇ１４３は、人ｈｕ１の頭頂部の位置に対応し、点ｇ１４４は、人ｈｕ２の頭頂部の位置ではなく人ｈｕ１の手先の位置に対応する。このため、符号ｇ１４０が示す図において、符号ｇ１４５が示す領域は、人ｈｕ１の腕に相当する測距点である。すなわち、人ｈｕ１の挙手が真上に行われていず、人ｈｕ２の頭部等に被っている。このため人ｈｕ１の腕に相当する測距点が人ｈｕ２側にクラスタリングされ、点ｇ１４４は、人ｈｕ２のｚ軸方向の最大値として検出されてしまう。
【０１１３】
次に、時刻ｔ２６（図１３）のときについて説明する。
図１２の符号ｇ１３２が示す図の例では、人ｈｕ１が手を下げた（手下げともいう）ため、人ｈｕ１の手や腕が人ｈｕ２の頭部等に被っていない。符号ｇ１５０が示す図において、符号ｇ１５１が示す領域は、人ｈｕ１に分類された人クラスタデータであり、符号ｇ１５２が示す領域は、人ｈｕ２に分類された人クラスタデータである。また、符号ｇ１５０が示す図において、点ｇ１５３は、人ｈｕ１の頭頂部の位置に対応し、点ｇ１５４は、人ｈｕ２の頭頂部の位置に対応する。このように、人ｈｕ１が手を下げている時刻ｔ２６において、各クラスタのｚ軸方向の最大値は正しく検出されている。
【０１１４】
次に、人ｈｕ１と人ｈｕ２の状態と、人データ高さの時間変化について、図１３を用いて説明する。
時刻ｔ２１より前の時刻のとき、制御部１０２は、音声信号「Ａについて聞きたい人は、手を挙げてください」を、音声出力部１０３からの出力を開始する。これに応じて、人ｈｕ１が挙手を行う。
【０１１５】
時刻ｔ２１〜ｔ２４の期間が、手挙げ期間（第３期間）である。
時刻ｔ２１〜ｔ２２の間、曲線ｇ２１１が示すように、人ｈｕ１の挙手によるｚ軸方向の最大値は、人ｈｕ１の人データ高さとして検出される。時刻ｔ２１〜ｔ２２のとき、図１３の曲線ｇ２１１に示すように、人ｈｕ１の人データ高さの値は約１．７８（ｍ）である。また、図１３の曲線ｇ２１２に示すように、人ｈｕ２の人データ高さの値は約１．２７（ｍ）である。
【０１１６】
時刻ｔ２２〜ｔ２４の間、曲線ｇ２１１が示すように、人ｈｕ１の挙手によるｚ軸方向の最大値は、挙手した手が人ｈｕ２に被っているため、人ｈｕ２の人データ高さとして検出される。時刻ｔ２２〜ｔ２４のとき、図１３の曲線ｇ２１１に示すように、人ｈｕ１の人データ高さの値は約１．７３〜１．５１（ｍ）である。また、図１３の曲線ｇ２１２に示すように、人ｈｕ２の人データ高さの値は約１．８２〜１．２１（ｍ）である。
【０１１７】
手下げ期間（第２期間）の間は、手を下げることが促された後の期間であり、この期間、図１２のように、人ｈｕ１は、手を下げている。このため、図１２の曲線ｇ２１１に示すように、人ｈｕ１の人データ高さの値は、例えば時刻ｔ２６のときの約１．５５（ｍ）である。また、図１２の曲線ｇ２１２に示すように、人ｈｕ２の人データ高さの値は時刻ｔ２６のときの約１．２８（ｍ）である。
【０１１８】
時刻ｔ２５〜ｔ２７のときの時系列における人データ高さの平均値は、各人の身長に相当する。この測定結果によれば、身長１．２８（ｍ）の人ｈｕ２が時刻ｔ２１〜ｔ２４の間で手を挙げたとき、人データ高さの最大値が１．８２（ｍ）になっていることになる。第３期間の最大値と第２期間の平均値との差が５４（ｃｍ）もある測定結果は、人間の体格を考えた場合現実的ではない。
【０１１９】
このため、本実施形態では、第２期間のとき、状況推定部２２０は、人毎に人データ高さの平均値を算出する。人ｈｕ２を例にすると、図１３において、破線ｇ２２１は、人ｈｕ２の第２期間における時系列の人データ高さの平均値を示すものである。また、矢印ｇ２２２は、挙手を判定するための所定の値の上限値、例えば２０（ｃｍ）である。また、破線ｇ２２３は、人ｈｕ２の挙手を判定するための上限値（以下、上限閾値という）を示すものである。さらに、矢印ｇ２２４が示す範囲は、上限閾値以上のため、人ｈｕ２が挙手を行ったときにあり得ない人データ高さの範囲である。
なお、上限値は、挙手閾値を算出するための所定の値（例えば１０（ｃｍ））より大きな値である。そして、上限値は、人の身長に応じて設定するようにしてもよい。例えば、身長と上限値とを関連付けて、記憶部２３０に記憶させておいてもよい。
また、本実施形態でも、第２期間の間の人データ高さの最大値を人の高さと見なすようにしてもよい。
【０１２０】
図１３の例において、状況推定部２２０は、第３期間の間、人ｈｕ２の人データ高さから、上限閾値以下である人データ高さのみを採用する。そして、状況推定部２２０は、さらに、人ｈｕ２の人データ高さが、挙手閾値以下の人データ高さのうちの高さ情報が挙手閾値を超えている場合に、人ｈｕ２が挙手を行っていると推定する。
【０１２１】
図１４は、本実施形態に係るヒストグラム処理部２２１が行う処理手順のフローチャートである。
（ステップＳ４０１）ヒストグラム処理部２２１は、ステップＳ４０４〜Ｓ４０８の処理を人毎に行う。
（ステップＳ４０２）ヒストグラム処理部２２１は、第１期間の人データ高さを取得する。
【０１２２】
（ステップＳ４０３）ヒストグラム処理部２２１は、第２期間における人データ高さの平均値を算出する。
（ステップＳ４０４）ヒストグラム処理部２２１は、上限閾値と挙手閾値を算出する。なお、上限閾値は、ステップＳ４０２で算出した平均値に上限値を加算して求める。
【０１２３】
（ステップＳ４０５）ヒストグラム処理部２２１は、第３期間における上限閾値以下の人データ高さのうちの最大値を求める。
（ステップＳ４０６）ヒストグラム処理部２２１は、ステップＳ４０６で求めた人データ高さの最大値が、挙手閾値より大きいか否かを判別する。ヒストグラム処理部２２１は、人データ高さの最大値が挙手閾値より大きいと判別した場合（ステップＳ４０６；ＹＥＳ）、ステップＳ４０７に処理を進め、ヒストグラム処理部２２１は、人データ高さの最大値が挙手閾値より大きくないと判別した場合（ステップＳ４０６；ＮＯ）、処理をステップＳ４０８に進める。
【０１２４】
（ステップＳ４０７）ヒストグラム処理部２２１は、人データ高さの最大値が挙手閾値より大きいと判別した人について、挙手を行っていると推定する。
（ステップＳ４０８）ヒストグラム処理部２２１は、ステップＳ４０７で挙手を行っていると推定した人データのＩＤを記憶部２３０に記憶させる。
（ステップＳ４０９）ヒストグラム処理部２２１は、全ての人についてステップＳ４０５〜Ｓ３０８の処理が終了した場合、処理を終了する。
なお、ヒストグラム処理部２２１は、第１期間、第２期間、及び第３期間が発生する毎に、上記の処理を繰り返して行う。
【０１２５】
なお、上述した例では、ステップＳ４０１〜Ｓ４０９の処理をヒストグラム処理部２２１が行う例を説明したが、状況推定部２２０が行ってもよい。
【０１２６】
例えば、２人が近接している場合、図１２を用いて説明したように、挙手を行った人が、手を真上に挙げないと、近接している人の上に被ることがある。この場合、従来技術では、図１２及び図１３を用いて説明したように、挙手をした人の高さの測定値が他者の高さの測定値として測定されてしまう場合があった。このような場合、従来技術では、挙手を行っていない人が、挙手を行っていると誤って判別されることがあった。一方、本実施形態によれば、上限閾値と高さ情報とを比較するようにしたので、挙手を行っている手が、他者の上に被るような場合であっても、近接している２人に身長差がある場合に限り、挙手の誤検出を低減することができる。
【０１２７】
以上のように、本実施形態の動作推定装置（例えば動作推定装置２０）において、第２期間は、人に対して挙手の終了を促すことによって設けられた期間であり、状況推定部（例えば状況推定部２２０）は、第２期間における各人データ毎に高さ情報に基づいて挙手を判定するための上限閾値を算出し、人が挙手を行っている第３期間において、挙手閾値より大きく且つ上限閾値より小さい高さ情報が計測された回数が所定の回数より多い人データを抽出し、抽出された人データに対応する人の反応を推定する。
【０１２８】
この構成によって、本実施形態の動作推定装置２０は、第２期間の高さ情報の平均値に上限値を加算して、各人毎に高さ情報の上限閾値を算出する。そして、本実施形態では、第３期間において、人毎に高さ情報の計測結果から算出した上限閾値を越えている高さの測定値を取り除くことで、挙手を行っていないのに行っていると判定する誤判定を防ぐようにした。この結果、本実施形態によれば、挙手による手が、他者に被るような場合であっても、挙手の誤検出を低減することができる。
また、身長差がある親子などが近接することで、一方の頭頂部や顔などが、他者に被った場合であっても、本実施形態によれば、挙手の誤検出を低減することができる。
【０１２９】
［第２実施形態に第１実施形態を適用した例］
なお、本実施形態の手法に第１実施形態の手法を適用してもよい。以下に、本実施形態の手法に第１実施形態の手法を適用した例を説明する。
状況推定部２２０は、挙手閾値を超えた人データ高さの回数に基づいて、人が挙手を行っているか推定するようにしてもよい。この場合、状況推定部２２０は、例えば、第２実施形態で説明した手法によって人データ高さが上限閾値より小さい高さ情報が、挙手閾値より大きい回数をカウントするようにしてもよい。そして、状況推定部２２０は、カウントした値が予め定められている判定閾値以上の場合に挙手を行ったと判定する第１実施形態の手法を用いるようにしてもよい。
【０１３０】
［第３実施形態］
本実施形態では、クラスタリング部が、階層的クラスタリングの手法を用いてクラスタリング処理を行う例を説明する。
【０１３１】
図１５は、本実施形態に係るロボット１Ａの概略のブロック図である。
図１５に示すように、ロボット１Ａは、処理部１０、及び動作推定装置２０Ａを含んで構成される。ロボット１Ａは、ｎ（ｎは１以上の整数）個のＬＲＦセンサ２−１〜２−ｎ（距離測定部）に無線または有線で接続される。処理部１０の構成は、第１実施形態の図１の構成と同じである。また、ロボット１（図１）と同様の機能を有する機能部には、同じ符号を用いて説明を省略する。
【０１３２】
動作推定装置２０Ａは、人処理部２１０Ａ、トラッキング部２１３、状況推定部２２０Ａ、及び記憶部２３０を備える。人処理部２１０Ａは、ｎ個のクラスタリング部２１１Ａ−１〜２１１Ａ−ｎ、及びクラスタデータ統合部２１２を備える。また、状況推定部２２０Ａは、ヒストグラム処理部２２１を備える。なお、クラスタリング部２１１Ａ−１〜２１１Ａ−ｎのうちいずれか１つを特定しない場合は、クラスタリング部２１１Ａという。
【０１３３】
クラスタリング部２１１Ａは、ＬＲＦセンサ２から入力された検出結果を用いて、例えば所定の周期毎に測距点をクラスタに分類する。クラスタリング部２１１Ａは、分類したクラスタ毎の重心位置を算出し、算出した重心位置を、人クラスタデータ位置とする。クラスタリング部２１１Ａは、分類したクラスタ毎に高さの最大値を抽出し、抽出した最大値を、人クラスタデータ高さとする。そして、クラスタリング部２１１Ａは、クラスタ毎に、人クラスタデータ位置と人クラスタデータ高さとを関連づけて人クラスタデータｄ１を生成し、生成した人クラスタデータｄ１をクラスタデータ統合部２１２に出力する。
【０１３４】
クラスタリング部２１１Ａは、クラスタリング処理において、クラスタ間の距離（類似度）を、ウォード（Ｗａｒｄ）法を用いて求める。ここでウォード法とは、クラスタ内の各値からクラスタ中心までの距離の平方和を最小にするように併合する手法である。さらに、クラスタリング部２１１Ａは、予め設定されている領域に応じて、ウォード法の閾値を選択する。または、クラスタリング部２１１Ａは、状況推定部２２０Ａから入力された領域情報に基づいて、領域毎にウォード法の閾値を選択する。ここで、領域は、例えば予め定められた等間隔の格子状の領域である。なお、領域は、最前列、中央、及び後方等の領域であってもよい。また、格子の大きさは、縦と横それぞれが例えば５０ｃｍである。
トラッキング部２１３は、動作推定装置２０と同様の処理を行う。
【０１３５】
状況推定部２２０Ａは、トラッキング部２１３から入力された人データｄ３を用いて、領域毎の観客の密集度を推定する。状況推定部２２０Ａは、例えば、所定の時間、トラッキング部２１３によって人をトラッキングした後、トラッキングした期間の各人に対応するクラスタの面積、及びトラッキングされたクラスタの面積の変化を算出する。状況推定部２２０Ａは、一つあたりのクラスタの面積が所定の値より大きい場合、観客が密集していると推定する。または、状況推定部２２０Ａは、後述する図１７の符号ｇ４１０の図の符号ｇ４１１が示す領域から符号ｇ４２０の図の符号ｇ４２１が示す領域のように、面積の変化が所定の比率、または差分より大きい場合に、観客が密集していると推定する。または、状況推定部２２０Ａは、従来手法で得られた人データ同士の距離から密集を判断するようにしてもよい。状況推定部２２０Ａは、推定した観客の状態を示す領域情報ｄ６をクラスタリング部２１１Ａに出力する。
【０１３６】
＜第３実施形態の処理の例＞
図１６の符号ｇ４０１は、会場の最前列にいる観客の状態を説明する図である。なお、図１６は、実際の会場で撮像した画像のイメージ図である。図１６に示す例では、最前列に、人ｈｕ１〜人ｈｕ６が存在している。また、図１６に示す例では、人ｈｕ１〜人ｈｕ６は、子供達である。
図１６に示す例のように、ステージに近い領域、すなわち最前列には、人ｈｕ１〜人ｈｕ６のように子供がいることが多い。また、図１６に示す例のように、大人は、２列目以降にいる場合が多い。このように、本実施形態では、経験則に基づいて、いくつかの領域に会場を分割し、分割した領域毎に適切なウォード法の閾値をクラスタリング部２１１Ａが選択する。
【０１３７】
図１７は、図１６に示した領域を異なるウォード法の閾値でクラスタリング処理を行いトラッキングした結果の一例を説明する図である。
図１７において、符号ｇ４１０、ｇ４２０、及びｇ４３０が示す図は、ウォード法の閾値を２．０（ｍ２）でクラスタリング処理を行った結果である。符号ｇ４１０が示す図は、時刻ｔ３１のときの図、符号ｇ４２０が示す図は、時刻ｔ３１より後の時刻である時刻ｔ３２のときの図、符号ｇ４３０が示す図は、時刻ｔ３２より後の時刻である時刻ｔ３３のときの図である。
また、符号ｇ４４０、ｇ４５０、及びｇ４６０が示す図は、ウォード法の閾値を０．６（ｍ２）でクラスタリング処理を行った結果である。符号ｇ４４０が示す図は、時刻ｔ３１のときの図、符号ｇ４５０が示す図は、時刻ｔ３２のときの図、符号ｇ４６０が示す図は、時刻ｔ３３のときの図である。
また、図１７において、点ｇ４７１は、各クラスタのｚ軸方向の最大値の位置を表している。
【０１３８】
まず、ウォード法の閾値を２．０（ｍ２）でクラスタリング処理を行った結果を説明する。
時刻ｔ３１の符号ｇ４１０の図において、符号ｇ４１１が示す領域では、図１６に示した人ｈｕ１と人ｈｕ２とのクラスタを、分離できていない。また、符号４１２が示す領域では、図１６に示した人ｈｕ３とその後ろにいる人とのクラスタを、分離できていない。さらに、符号４１３が示す領域では、図１６に示した人ｈｕ５と人ｈｕ６のクラスタとを、分離できていない。このため、符号ｇ４１０に示す図の例では、人のトラッキングも正しく行うことが出来ない。
【０１３９】
時刻ｔ３２の符号ｇ４２０の図において、符号ｇ４２１が示す領域では、図１６に示した人ｈｕ１と人ｈｕ２と人ｈｕ３と人ｈｕ３に対応する人の後ろにいる人とのクラスタを、分離できていない。また、符号４２２が示す領域では、図１６に示した人ｈｕ４と人ｈｕ５のクラスタを、分離できていない。このように、符号ｇ４２０に示す図の例では、クラスタの分離が失敗している。そのため、符号ｇ４２０に示す図の例では、人のトラッキングも正しく行うことが出来ない。
【０１４０】
時刻ｔ３３の符号ｇ４３０の図において、符号ｇ４３１が示す領域では、図１６に示した人ｈｕ１と人ｈｕ２とのクラスタを、分離できていない。さらに、符号ｇ４３２が示す領域では、図１６に示した人ｈｕ３と人ｈｕ４とのクラスタを、分離できていない。このように、符号ｇ４３０に示す図の例では、クラスタの分離が失敗している。そのため、符号ｇ４３０に示す図の例では、人のトラッキングも正しく行うことが出来ない。
【０１４１】
次に、ウォード法の閾値を０．６（ｍ２）でクラスタリング処理を行った結果を説明する。
時刻ｔ３１の符号ｇ４４０の図において、符号ｇ４４１が示す領域は、図１６に示した人ｈｕ１のクラスタであり、符号ｇ４４２が示す領域は、図１６に示した人ｈｕ２のクラスタである。また、符号ｇ４４３が示す領域は、図１６に示した人ｈｕ３のクラスタであり、符号ｇ４４４が示す領域は、図１６に示した人ｈｕ４のクラスタである。さらに、符号ｇ４４５が示す領域は、図１６に示した人ｈｕ５のクラスタであり、符号ｇ４４６が示す領域は、図１６に示した人ｈｕ６のクラスタである。このように、符号ｇ４４０に示す図の例では、人ｈｕ１〜人ｈｕ６のクラスタを、適切に分離できている。このため人のトラッキングも正しく行うことが出来る。
【０１４２】
時刻ｔ３２の符号ｇ４５０の図においても、符号ｇ４５１〜４５６が示す領域のように、人ｈｕ１〜人ｈｕ６のクラスタを、適切に分離できている。このように、符号ｇ４５０に示す図の例では、クラスタの分離が成功していて、人のトラッキングを正しく行うことが出来る。
【０１４３】
時刻ｔ３３の符号ｇ４６０の図においても、符号ｇ４６１〜４６６が示す領域のように、人ｈｕ１〜人ｈｕ６のクラスタを、適切に分離できている。このように、符号ｇ４６０に示す図の例では、クラスタの分離が成功していて、人のトラッキングを正しく行うことが出来る。
以上のように、ウォード法の閾値を領域毎に適切に選択することで、クラスタリング及び人のトラッキングの失敗を低減できる場合がある。
【０１４４】
次に、会場を領域に分割する例を説明する。
（Ｉ）分割手法１：経験則に基づいて、複数の領域に分割する。
例えば、図１６を用いて説明したように、会場の最前列と、それ以外の領域に分割する。ここで、領域の分割に関する情報は、予めクラスタリング部２１１Ａに記憶されている。なお、領域の分割に関する情報は、記憶部２３０に記憶されていてもよい。
（ＩＩ）分割手法２：身長の値に応じて、複数の領域に分割する。
例えば、第２実施形態で説明したように、ヒストグラム処理部２２１が、第２期間に人データ毎の身長の値を推定し、推定した身長の値に基づいて、複数の領域に分割するようにしてもよい。
（ＩＩＩ）分割手法３：領域の状態に応じて、領域を複数に分割する。
上述したように、状況推定部２２０Ａが、領域における人の密集度などの状態に応じて、領域を分割する。
【０１４５】
以上のように、本実施形態の動作推定装置（例えば動作推定装置２０Ａ）において、人処理部（例えばクラスタリング部２１１Ａ、クラスタリング統合部２１２）は、複数の所定の範囲を２つ以上の領域に分割し、分割した各々領域に対して人の体格データに基づいて人を検出する距離の分布の閾値を選択し、測定された距離の分布に基づき人を検出する。
また、本実施形態の動作推定装置（例えば動作推定装置２０Ａ）において、人処理部（例えば、人処理部２１０Ａ）は、分割した各々領域に対して、人に対して挙手の開始または終了を促すことを示す信号を出力するロボット（例えばロボット１Ａ）に近い領域に対して、人の体格データとして子供の体格データを選択する。
【０１４６】
この構成によって、本実施形態では、例えば、子供達が密集している領域や、大人達が密集している領域などの各領域に応じて、適切なウォード法の閾値を選択することができる、この結果、本実施形態によれば、クラスタの誤った統合を低減することができ、さらに人毎のトラッキングの失敗を低減することができる。
【０１４７】
なお、本実施形態では、ウォード法の閾値の例として、０．６（ｍ２）と２．０（ｍ２）を用いる例を説明したが、これに限られない。ウォード法の閾値は、性別、年齢、国別、地域別等の体格データに基づいて選択されるようにしてもよい。そして、これらの閾値は、予めクラスタリング部２１１Ａまたは記憶部２３０に記憶されているようにしてもよい。また、本実施形態では、ウォード法の閾値を選択する例を説明したが、クラスタリング処理において、閾値を有する他の手法の閾値を選択するようにしてもよい。
【０１４８】
また、本実施形態においても、ヒストグラム処理部２２１は、第１実施形態で説明したヒストグラムを用いた手法、第２実施形態で説明した挙手高さ判別の閾値を設定する手法のうち少なくとも１つを用いるようにしてもよい。
これにより、子供の後や横に身長差がある人物が存在する場合に、近接した人同士が接近したり、挙手が他者の上に被さったりした場合であっても、挙手の誤判定を低減することができる。
【０１４９】
［第４実施形態］
第１実施形態〜第３実施形態では、複数のクラスタリング部２１１（または２１１Ａ）それぞれが、クラスタリング処理を行って人クラスタデータを生成し、生成された人クラスタデータをクラスタデータ統合部２１２が統合する例を説明した。本実施形態では、ＬＲＦセンサ２から入力された検出結果を先に統合し、統合した情報に対してクラスタリング処理（人検出）を行う例を説明する。
【０１５０】
図１８は、本実施形態に係るロボット１Ｂの概略のブロック図である。
図１８に示すように、ロボット１Ｂは、処理部１０、及び動作推定装置２０Ｂを含んで構成される。ロボット１Ｂは、ｎ（ｎは１以上の整数）個のＬＲＦセンサ２−１〜２−ｎ（距離測定部）に無線または有線で接続される。処理部１０の構成は、第１実施形態の図１の構成と同じである。また、ロボット１（図１）と同様の機能を有する機能部には、同じ符号を用いて説明を省略する。
【０１５１】
動作推定装置２０Ｂは、人処理部２１０Ｂ、トラッキング部２１３、状況推定部２２０Ｂ、及び記憶部２３０を備える。人処理部２１０Ｂは、測距データ統合部２１４、及びクラスタリング部２１１Ｂを備える。
【０１５２】
測距データ統合部２１４は、ｎ個のＬＲＦセンサ２から入力された測距値を統合し、統合した統合情報ｄ７をクラスタリング部２１１Ｂに出力する。統合情報ｄ７は、測定対象となる会場全体を１つの領域とした測距点の情報が統合されたものである。
【０１５３】
クラスタリング部２１１Ｂは、測距データ統合部２１４から入力された統合情報ｄ７を、例えば所定の周期毎に測距点を分類する。クラスタリング部２１１Ｂは、分類したクラスタ毎の重心位置を算出し、算出した重心位置を、人クラスタデータ位置とする。クラスタリング部２１１Ｂは、分類したクラスタ毎に、クラスタに含まれる測距点の高さの最大値を抽出し、抽出した最大値を、人クラスタデータ高さとする。クラスタリング部２１１Ｂは、人クラスタデータ位置と人クラスタデータ高さを関連付けたクラスタ毎の人クラスタデータｄ１’を生成し、生成したクラスタ毎の人クラスタデータｄ１’をトラッキング部２１３に出力する。
【０１５４】
トラッキング部２１３には、人クラスタデータ位置と人クラスタデータ高さを関連付けたクラスタ毎の人クラスタデータｄ１’が入力される。トラッキング部２１３は、入力された人クラスタデータ毎に、所定の時間間隔毎に時系列でトラッキング処理を行う。トラッキング部２１３は、トラッキング処理を行った結果得られるＩＤと、人データ位置と、人データ高さとを人毎に関連付けて人データｄ２を生成する。なお、トラッキング処理を行った結果、同じ人物には時系列を通じて同じＩＤが割り当てられ、それにより人の移動を示す情報が得られる。トラッキング部２１３は、生成した人毎の人データｄ２を状況推定部２２０Ｂに出力する。なお、トラッキング部２１３は、ＬＲＦセンサ２の測定範囲外に人が移動してトラッキングができなくなった場合など、トラッキングできなくなったＩＤに対応する人データを削除する。
【０１５５】
状況推定部２２０Ｂは、トラッキング部２１３から入力された人データｄ２を用いて、手挙げ期間（第３期間）（図５）のｚ軸方向の最大値を検出する。状況推定部２２０Ｂは、人データｄ２を用いて、手下げ期間（第２期間）（図５）のｚ軸方向の平均値を算出する。状況推定部２２０Ｂは、検出した第３期間の最大値と、算出した第２期間の平均値との差を算出し、算出した差が挙手閾値以上であるか否かに基づいて、人毎に挙手を行っているか否かを推定する。
また、状況推定部２２０Ｂは、上述した推定をトリガー信号ｄ４に応じて所定回数行い、その中で最も手を挙げている人数が多いときを推定することで、多数決判定を行う。状況推定部２２０Ｂは、多数決判定した結果を、検出結果を示す情報ｄ５として、処理部１０に出力する。
【０１５６】
図１９は、各ＬＲＦセンサ２の測定範囲と測距点を説明する図である。なお、図１９に示す例では、３つのＬＲＦセンサ２−１〜２−３を用いて、会場全体を測定した例である。図１９に示す例では、１つのＬＲＦセンサ２の測定する領域の大きさは、約４（ｍ）×４（ｍ）である。図１９において、横軸はｘ軸の座標、縦軸はｙ軸の座標を表す。符号ｇ５０１が示す領域は、ＬＲＦセンサ２−１が測定した領域を表し、符号ｇ５０２が示す領域は、ＬＲＦセンサ２−２が測定した領域を表す。また、符号ｇ５０３が示す領域は、ＬＲＦセンサ２−３が測定した領域を表す。
【０１５７】
破線楕円ｇ５１１が示す領域には、符号ｇ５０１の領域と符号ｇ５０２の領域とが重なる領域が含まれる。ＬＲＦセンサ２が測定可能な領域の周辺部では、測距点がまばらになる。また、測距光が人物に対して斜め上方から照射されるため、ＬＲＦセンサ２の測定可能な領域の周辺部において、符号ｇ５１１が示す領域のように、１つのＬＲＦセンサ２では、１人の人に対する測距点のうち、一部の測距点、例えば体の片側側面の測距点しか測定できない場合もある。これらの理由により、ＬＲＦセンサ２毎にクラスタリング処理を行うと、実際の人の位置とズレた人クラスタデータが生成される場合がある。
このように作成された人クラスタデータを、クラスタデータ統合部２１２（図１）が統合し、統合されて生成された人データを用いてトラッキング部２１３（図１）がトラッキングを行った場合、トラッキングを失敗する場合もある。トラッキングを失敗した場合は、例えばＩＤ１と認識していた人データに、誤って他のＩＤに割り当ててしまう場合もある。
【０１５８】
図２０は、本実施形態に係る複数のＬＲＦセンサ２の測距点の統合した一例を説明する図である。図２０において、横軸はｘ軸の座標、縦軸はｙ軸の座標を表す。
符号ｇ５２１が示す領域は、ＬＲＦセンサ２−１〜２−３が測定した結果を統合した領域である。
本実施形態では、図２０に示したように、複数のＬＲＦセンサ２の測定結果を統合した後に、全てのＬＲＦセンサ２の測定結果を用いてクラスタリング処理を行う。
【０１５９】
図２１は、本実施形態に係るロボット１Ｂによる挙手検出の処理手順のフローチャートである。
（ステップＳ５０１〜Ｓ５０２）制御部１０２は、ステップＳ５０１〜Ｓ５０２の処理を、ステップＳ３０１〜Ｓ３０２（図１１）の処理と同様に行う。処理後、制御部１０２は、処理をステップＳ５０３に進める。
【０１６０】
（ステップＳ５０３）測距データ統合部２１４は、ｎ個のＬＲＦセンサ２から入力された測距値を統合し、統合した統合情報ｄ７をクラスタリング部２１１Ｂに出力する。測距データ統合部２１４は、処理をステップＳ５０４に進める。
【０１６１】
（ステップＳ５０４）クラスタリング処理において、クラスタリング部２１１Ｂは、測距データ統合部２１４から入力された統合情報ｄ７の中から、ｚ軸成分の値が所定の値以上の測距点を抽出する。クラスタリング部２１１Ｂは、処理をステップＳ５０５に進める。
（ステップＳ５０５）クラスタリング部２１１Ｂは、ステップＳ５０４で抽出された測距点を、例えば所定の周期毎に測距点を分類するクラスタリング処理を行って、人毎の人クラスタデータｄ１’を生成する。次に、クラスタリング部２１１Ｂは、生成した人クラスタデータｄ１’をトラッキング部２１３に出力する。クラスタリング部２１１Ｂは、処理をステップＳ５０６に進める。
【０１６２】
（ステップＳ５０６）トラッキング部２１３は、クラスタリング部２１１Ｂから入力された情報ｄ１’を用いて、人クラスタデータ毎に、所定の時間間隔毎にトラッキング処理を行う。トラッキング部２１３は、まず、入力された人クラスタデータ毎にＩＤを割り当てる。次に、トラッキング部２１３は、トラッキング処理を行った結果、同一の人物と見なせる人クラスタデータに最初に割り当てたＩＤと同じＩＤを付与する。次に、トラッキング部２１３は、トラッキング処理を行った結果得られたＩＤと、位置情報と、高さ情報とを人毎に関連付けて人データｄ２を生成する。トラッキング部２１３は、処理をステップＳ５０７に進める。
【０１６３】
（ステップＳ５０７）状況推定部２２０Ｂは、第３期間（図５）と第２期間（図５）とを含む第１期間が経過したか否かを判別する。状況推定部２２０Ｂは、第３期間と第２期間とを含む第１期間が経過したと判別した場合（ステップＳ５０７；ＹＥＳ）、ステップＳ５０８に進み、第３期間と第２期間とを含む第１期間が経過していないと判別した場合（ステップＳ５０７；ＮＯ）、ステップＳ５１１の処理に進む。
【０１６４】
（ステップＳ５１１）状況推定部２２０Ｂは、発話が終了していないか否かを判別する。状況推定部２２０Ｂは、発話が終了していないと判別した場合（ステップＳ５１１；ＹＥＳ）、ステップＳ５０２に戻り、発話が終了していると判別した場合（ステップＳ５１１；ＮＯ）、ステップＳ５０３に戻る。
【０１６５】
（ステップＳ５０８）状況推定部２２０Ｂは、第３期間の人データ高さの最大値を検出する。次に、状況推定部２２０Ｂは、第２期間の人データ高さの平均値を算出する。次に、状況推定部２２０Ｂは、検出した第３期間の最大値と、算出した第２期間の平均値との差を算出し、算出した差が挙手閾値以上である場合に挙手を行っていると推定する。また、状況推定部２２０Ｂは、算出した差が挙手閾値未満である場合に挙手を行っていないと推定する。
【０１６６】
（ステップＳ５０９）状況推定部２２０Ｂは、シナリオ情報に基づいて、質問の提示を所定回数終了したか否か判別する。状況推定部２２０Ｂは、質問の提示を所定回数終了したと判別した場合（ステップＳ５０９；ＹＥＳ）、ステップＳ５１０に進み、質問の提示を所定回数終了していないと判別した場合（ステップＳ５０９；ＮＯ）、ステップＳ５０２に戻る。
【０１６７】
（ステップＳ５１０）状況推定部２２０Ｂは、シナリオ情報に基づいて、所定の質問が所定回数提示された後、ステップＳ５０８で推定された質問毎の推定結果に基づいて、多数決判定を行う。状況推定部２２０Ｂは、ステップＳ５０８で推定された質問毎の手を挙げた人数を比較し、最も人数が多い質問を選択する。
以上で、挙手検出の処理を終了する。
【０１６８】
なお、本実施形態では、状況推定部２２０Ｂが、第３期間と第２期間との人データ高さの差が挙手閾値以上の場合、挙手を行っていると推定する例を説明したが、これに限られない。例えば、状況推定部２２０Ｂは、第１実施形態と同様にヒストグラム処理部２２１を備え、人データに対して、ヒストグラム処理を行うようにしてもよい。
【０１６９】
以上のように、本実施形態の動作推定装置（例えば動作推定装置２０Ｂ）において、距離測定部（例えばＬＲＦセンサ２）は、異なる所定の範囲に対して距離の測定を行う複数の当該距離測定部（例えばＬＲＦセンサ２−１〜２−ｎ）を備え、人処理部（例えば人処理部２０１Ｂ）は、複数の距離測定部それぞれによって測定された距離を、２つ以上の所定の範囲について統合する測距データ統合部（例えば測距データ統合部２１４）と、測距データ統合部によって統合された結果に基づいて、測定された距離をクラスタに分類し、分類したクラスタに基づいて人を検出するクラスタリング部（例えばクラスタリング部２１１Ｂ）と、を備え、トラッキング部は、クラスタリング部によって検出された人毎に識別子を付与する。
【０１７０】
この構成によって、本実施形態では、個々のＬＲＦセンサ２の測定可能な領域の周辺部における測定結果について、他のＬＲＦセンサ２の測定結果を用いて補うことができる。これにより、本実施形態では、ＬＲＦセンサ２の測定可能な領域の周辺部における測定結果について、クラスタリング処理の精度を向上させることができる、また、本実施形態によれば、測距値を測距データ統合部２１４によって統合した後に、クラスタリング部２１１Ｂがクラスタリング処理を行うので、クラスタデータ統合処理におけるクラスタの位置のズレを抑制することができる。
この結果、本実施形態によれば、近接する人同士の誤統合を低減することができる。また、本実施形態では、正しく統合できずに、１人に対して２つのクラスタが生成されることを低減することができる。このように、本実施形態によれば、クラスタリング処理による誤動作を低減することができる。
【０１７１】
また、本実施形態においても、状況推定部２２０Ｂがヒストグラム処理部２２１を備えヒストグラム処理部２２１が、第１実施形態で説明したヒストグラムを用いた手法、第２実施形態で説明した挙手高さ判別の上限閾値を設定する手法、第３実施形態で説明した手法のうち少なくとも１つを用いるようにしてもよい。
これにより、子供の後や横に大人がいる場合など、近接した身長差のある人同士が接近したり、挙手が他者の上に被さった場合であっても、挙手の誤判定を低減することができる。
【０１７２】
［第５実施形態］
第４実施形態では、全てのＬＲＦセンサ２の測定結果を統合した後に、クラスタリング処理を行う例を説明した。本実施形態では、全てのＬＲＦセンサ２の測定結果を統合した後に、測定結果を再分割する。そして、再分割したデータ毎にクラスタリング処理を行い、クラスタリング処理後にクラスタデータを再度統合する例を説明する。
【０１７３】
図２２は、本実施形態に係るロボット１Ｃの概略のブロック図である。
図２２に示すように、ロボット１Ｃは、処理部１０、及び動作推定装置２０Ｃを含んで構成される。ロボット１Ｃは、ｎ（ｎは１以上の整数）個のＬＲＦセンサ２−１〜２−ｎ（距離測定部）に無線または有線で接続される。処理部１０の構成は、第１実施形態の図１の構成と同じである。また、ロボット１（図１）と同様の機能を有する機能部には、同じ符号を用いて説明を省略する。
【０１７４】
動作推定装置２０Ｃは、人処理部２１０Ｃ、トラッキング部２１３、状況推定部２２０Ｂ、及び記憶部２３０を備える。人処理部２１０Ｃは、測距データ統合部２１４、測距データ分割部２１５、クラスタリング部２１１Ｃ−１〜２１１Ｃ−ｍ（ｍは１以上の整数）、及びクラスタデータ統合部２１２を備える。なお、クラスタリング部２１１Ｃ−１〜２１１Ｃ−ｍのうちいずれか１つを特定しない場合は、クラスタリング部２１１Ｃという。
【０１７５】
測距データ統合部２１４は、ｎ個のＬＲＦセンサ２から入力された測距値を統合し、統合した統合情報ｄ７を測距データ分割部２１５に出力する。
【０１７６】
測距データ分割部２１５は、測距データ統合部２１４から入力された統合情報ｄ７を、所定の面積を有するｍ個（ｍは１以上の整数）の領域に分割する。分割時、測距データ分割部２１５は、各領域が重なるように領域を設定してもよい。なお、分割される領域の数は、ＬＲＦセンサ２の数より多くてもよく、少なくてもよく、同じでもよい。このように、分割された領域を、仮想センサによる仮想領域と定義する。また、仮想領域に含まれる測距点は、仮想センサ（不図示）が測定した測距点であると定義する。仮想領域が重なるように設定する理由は、仮想センサの周辺部におけるクラスタリング処理を行った結果が、正しく人の形状をクラスタリングできない場合があることを補うためである。
測距データ分割部２１５は、仮想領域毎の測距点の情報ｄ８−１〜ｄ８−ｍを、対応するクラスタリング部２１１Ｃ−１〜２１１Ｃ−ｍに出力する。
【０１７７】
クラスタリング部２１１Ｃ−１〜２１１Ｃ−ｍそれぞれは、測距データ分割部２１５から入力された仮想領域毎の測距点の情報ｄ８−１〜ｄ８−ｍに対してクラスタリング処理を行って、人クラスタデータｄ１−１〜ｄ１−ｍを生成する。具体的には、クラスタリング部２１１Ｃは、仮想領域毎に、クラスタ毎の重心位置を算出し、算出した重心位置を、人クラスタデータ位置とする。また、クラスタリング部２１１Ｃは、仮想領域毎に、クラスタ毎にクラスタに含まれる測距点の高さの最大値を抽出し、抽出した最大値を、人クラスタデータ高さとする。クラスタリング部２１１Ｃは、人クラスタデータ位置と人クラスタデータ高さを関連付けたクラスタ毎の人クラスタデータｄ１−１〜ｄ１−ｍを生成し、生成したクラスタ毎の人クラスタデータｄ１−１〜ｄ１−ｍをクラスタデータ統合部２１２に出力する。
例えば、クラスタリング部２１１Ｃ−１は、第１の仮想領域の測距点の情報ｄ８−１に対してクラスタリング処理を行い、クラスタリング部２１１Ｃ−ｍは、第ｍの仮想領域の測距点の情報ｄ８−ｍに対してクラスタリング処理を行う。
【０１７８】
クラスタデータ統合部２１２は、クラスタリング部２１１Ｃ−１〜２１１Ｃ−ｍそれぞれから入力された人クラスタデータｄ１−１〜ｄ１−ｍを統合して、クラスタ毎の人クラスタデータｄ２を生成する。クラスタデータ統合部２１２は、生成したクラスタ毎の人クラスタデータｄ２をトラッキング部２１３に出力する。具体的には、クラスタデータ統合部２１２は、複数のクラスタリング部で重複して検出された同一人物に由来するクラスタを統合する際、統合するクラスタの人クラスタデータ位置の重心位置を算出し、算出した重心位置を、統合後の人クラスタデータ位置とする。また、クラスタデータ統合部２１２は、統合するクラスタの人クラスタデータ高さの最大値を抽出し、抽出した最大値を、統合後の人クラスタデータ高さとする。クラスタデータ統合部２１２は、人クラスタデータ位置と人クラスタデータ高さを関連付けたクラスタ毎の人クラスタデータｄ２生成し、生成したクラスタ毎の人クラスタデータｄ２をトラッキング部２１３に出力する。
トラッキング部２１３は、動作推定装置２０と同様の処理を行う。
【０１７９】
状況推定部２２０Ｂは、トラッキング部２１３から入力された人データｄ３を用いて、手挙げ期間（第３期間）（図５）の人データ高さの最大値を検出する。状況推定部２２０Ｂは、人データｄ１０を用いて、手下げ期間（第２期間）（図５）の人データ高さの平均値を算出する。状況推定部２２０Ｂは、検出した第３期間の最大値と、算出した第２期間の平均値との差を算出し、算出した差が挙手閾値以上であるか否かに基づいて、人毎に挙手を行っているか否かを推定する。
また、状況推定部２２０Ｂは、上述した推定をトリガー信号ｄ４に応じて所定回数行い、その中で最も手を挙げている人数が多いときを推定することで、多数決判定を行う。状況推定部２２０Ｂは、多数決判定した結果を、検出結果を示す情報ｄ５として、処理部１０に出力する。
【０１８０】
次に、仮想領域について説明する。
図２３は、本実施形態に係る仮想領域の一例を説明する図である。図２３において、横軸はｘ軸の座標、縦軸はｙ軸の座標を表す。符号ｇ５３１が示す領域は、第１の仮想領域を表し、符号ｇ５３２が示す領域は、第２の仮想領域を表し、符号ｇ５３３が示す領域は、第３の仮想領域を表す。
図２３に示す例の各仮想領域は、人データの分布に基づいている。各仮想領域は、符号ｇ５３１〜ｇ５３３が示す領域のように、１人の人から得られた測距点の集合を分断しないような領域であることが望ましい。このため、仮想領域の形状は、四角形に限らず、人データの分布に基づいた形状であれば、円、楕円、多角形等の形状であってもよい。この場合であっても、また、仮想領域の大きさは、クラスタリング部２１６Ｃの個数に応じて、分割された大きさであってもよい。
【０１８１】
次に、挙手検出の処理手順を説明する。
図２４は、本実施形態に係るロボット１Ｃによる挙手検出の処理手順のフローチャートである。
（ステップＳ６０１〜Ｓ６０２）制御部１０２は、ステップＳ６０１〜Ｓ６０２の処理を、ステップＳ３０１〜Ｓ３０２（図１１）の処理と同様に行う。処理後、制御部１０２は、処理をステップＳ６０３に進める。
【０１８２】
（ステップＳ６０３）測距データ統合部２１４は、ｎ個のＬＲＦセンサ２から入力された測距値を統合して統合情報ｄ７を生成し、統合した統合情報ｄ７を測距データ分割部２１５に出力する。測距データ統合部２１４は、処理をステップＳ６０４に進める。
【０１８３】
（ステップＳ６０４）測距データ分割部２１５は、測距データ統合部２１４から入力された統合情報ｄ７を、所定の面積を有するｍ個の仮想領域に分割し、分割した仮想領域毎の測距点の情報ｄ８−１〜ｄ８−ｍを、対応するクラスタリング部２１１Ｃ−１〜２１１Ｃ−ｍに出力する。測距データ分割部２１５は、処理をステップＳ６０５に進める。
【０１８４】
（ステップＳ６０５）クラスタリング部２１１Ｃ−１〜２１１Ｃ−ｍそれぞれは、測距データ分割部２１５から入力された仮想領域毎の測距点の情報ｄ８−１〜ｄ８−ｍを用いてクラスタリング処理を行って人クラスタデータｄ１−１〜ｄ１−ｍを生成する。次に、クラスタリング部２１１Ｃ−１〜２１１Ｃ−ｍそれぞれは、生成した人クラスタデータｄ１−１〜ｄ１−ｍを、クラスタデータ統合部２１２に出力する。クラスタリング部２１１Ｃは、処理をステップＳ６０６に進める。
【０１８５】
（ステップＳ６０６）クラスタデータ統合部２１２は、クラスタリング部２１１Ｃ−１〜２１１Ｃ−ｍそれぞれから入力された人クラスタデータｄ１−１〜ｄ１−ｍを統合し、クラスタ毎の人クラスタデータｄ２を生成する。続いて、クラスタデータ統合部２１２は、生成したクラスタ毎の人クラスタデータｄ２をトラッキング部２１３に出力する。クラスタデータ統合部２１２は、処理をステップＳ６０７に進める。
【０１８６】
（ステップＳ６０７）トラッキング部２１３は、入力された人クラスタデータ毎に、所定の時間間隔毎にトラッキング処理を行う。トラッキング部２１３は、トラッキング処理を行った結果得られるＩＤと、人データ位置と、人データ高さとを人毎に関連付けて人データｄ３を生成し、生成した人毎の人データｄ３を状況推定部２２０Ｂに出力する。トラッキング部２１３は、処理をステップＳ６０８に進める。
【０１８７】
（ステップＳ６０８）状況推定部２２０Ｂは、第３期間と第２期間とを含む第１期間が経過したか否かを判別する。状況推定部２２０Ｂは、第３期間と第２期間とを含む第１期間が経過したと判別した場合（ステップＳ６０８；ＹＥＳ）、ステップＳ６０９に進み、第３期間と第２期間とを含む第１期間が経過していないと判別した場合（ステップＳ６０８；ＮＯ）、ステップＳ６１２の処理に進む。
【０１８８】
（ステップＳ６１２）状況推定部２２０Ｂは、発話が終了していないか否かを判別する。状況推定部２２０Ｂは、発話が終了していないと判別した場合（ステップＳ６１２；ＹＥＳ）、ステップＳ６０２に戻り、発話が終了していると判別した場合（ステップＳ６１２；ＮＯ）、ステップＳ６０３に戻る。
【０１８９】
（ステップＳ６０９）状況推定部２２０Ｂは、ステップＳ６０９の処理を、ステップＳ３０９（図１１）の処理と同様に行う。
（ステップＳ６１０）状況推定部２２０Ｂは、シナリオ情報に基づいて、質問の提示を所定回数終了したか否か判別する。状況推定部２２０Ｂは、質問の提示を所定回数終了したと判別した場合（ステップＳ６１０；ＹＥＳ）、ステップＳ６１１に進み、質問の提示を所定回数終了していないと判別した場合（ステップＳ６１０；ＮＯ）、ステップＳ６０２に戻る。
（ステップＳ６１１）状況推定部２２０Ｂは、ステップＳ６１１の処理を、ステップＳ３１１（図１１）の処理と同様に行う。
以上で、挙手検出の処理を終了する。
【０１９０】
なお、本実施形態では、状況推定部２２０Ｂが、第３期間と第２期間との人データ高さの差が挙手閾値以上の場合、挙手を行っていると推定する例を説明したが、これに限られない。状況推定部２２０Ｂは、第１実施形態と同様に状況推定部２２０Ｂがヒストグラム処理部２２１を備え、ヒストグラム処理部２２１（図１）が、人データに対して、ヒストグラム処理を行うようにしてもよい。
【０１９１】
以上のように、本実施形態の動作推定装置（例えば動作推定装置２０Ｃ）において、距離測定部（例えばＬＲＦセンサ２）は、異なる所定の範囲に対して距離の測定を行う複数の当該距離測定部（例えばＬＲＦセンサ２−１〜２−ｎ）を備え、人処理部（例えば人統合部２１０Ｃ）は、複数の距離測定部それぞれによって測定された距離を、２つ以上の所定の範囲について統合する測定データ統合部（例えば測距データ統合部２１４）と、統合した２つ以上の所定の範囲を所定の領域の形状及び個数が同じもしくは異なるｍ（ｍは２以上の整数）個の領域に再分割する分割部（例えば測距データ分割部２１５）と、ｍ個の領域それぞれについて、ｍ個の各領域に含まれる測定された距離をクラスタに分類し、分類したクラスタに基づいて人を検出するｍ個のクラスタリング部（例えばクラスタリング部２１１Ｃ）と、ｍ個のクラスタリング部それぞれによって検出された結果を統合するクラスタデータ統合部（例えばクラスタデータ統合部２１２）と、を備え、トラッキング部（例えばトラッキング部２１３）は、統合された結果に基づいて検出した人毎に識別子を付与する。
【０１９２】
この構成によって、本実施形態によれば、第４実施形態の効果に加えて、人クラスタデータの生成処理を複数のクラスタリング部２１６Ｃで行うようにしたので、この演算処理を分散することができる。この結果、本実施形態によれば、人クラスタデータの生成処理にかかる負荷を削減することができる。
【０１９３】
また、この構成によって、第４実施形態と同様に、本実施形態によれば、近接する人同士の誤統合を低減することができる。また、本実施形態では、正しく統合できずに、１人に対して２つのクラスタが生成されることを低減することができる。このように、本実施形態によれば、クラスタリング処理による誤動作を低減することができる。
【０１９４】
また、本実施形態においても、状況推定部２２０Ｂがヒストグラム処理部２２１（図１）を備える場合、ヒストグラム処理部２２１は、第１実施形態で説明したヒストグラムを用いた手法、第２実施形態で説明した挙手高さ判別の上限閾値を設定する手法、第３実施形態で説明した手法のうち少なくとも１つを用いるようにしてもよい。
これにより、子供の後や横に大人がいる場合など、近接した身長差のある人同士が接近したり、挙手が他者の上に被さった場合であっても、挙手の誤判定を低減することができる。
【０１９５】
［第６実施形態］
まず、従来手法を用いてクラスタリング処理を行った場合に起きる問題点を説明する。
第３実施形態で図１７を用いて説明したように、従来手法を用いてクラスタリング処理を行った場合、人が密集状態のとき、クラスタの分割位置が変化してトラッキング処理の失敗につながる場合がある。
図２５は、フレーム間でクラスタリング処理を行った結果が変化する例を説明する図である。図２５において、符号ｇ６００が示す図は、会場の一部の領域における観客の状態を説明する図である。符号ｇ６００の図の例では、人ｈｕ１〜人ｈｕ４が存在している。
【０１９６】
図２５の符号６１０が示す図は、フレームｆ１のときの測距点を示す図である。符号６１０が示す図において、横軸はｘ軸の座標、縦軸はｙ軸の座標を表す。なお、フレームとは、任意の時間間隔の検出タイミングである。
図２５の符号ｇ６２０が示す図は、フレームｆ２のときの測距点に対して従来手法を用いてクラスタリング処理を行った結果の図であり、符号ｇ６３０が示す図は、フレームｆ３のときの測距点に対して従来手法を用いてクラスタリング処理を行った結果の図である。なお、フレームｆ２とｆ３とは、時刻が互いに異なるフレームである。
【０１９７】
符号ｇ６２０の図において、符号ｇ６２１は、符号ｇ６００の図における人ｈｕ３のクラスタである。符号ｇ６２２は、符号ｇ６００の図における人ｈｕ１と人ｈｕ２とのクラスタである。符号ｇ６２３は、符号ｇ６００の図における人ｈｕ４のクラスタである。このように、符号ｇ６２０の図に示す例では、２人を分離できず、１つのクラスタと推定した例である。
【０１９８】
符号ｇ６３０の図において、符号ｇ６３１〜ｇ６３４それぞれは、符号ｇ６００の図における人ｈｕ１〜人ｈｕ４のクラスタである。すなわち、フレームｆ３においては、４人の観客を正しく分離できている。
図２５に示したように、フレーム毎にクラスタを分離した結果が変化した場合、トラッキング処理が不安定になる。
【０１９９】
次に、本実施形態の本実施形態に係るロボット１Ｄの構成について説明する。
図２６は、本実施形態に係るロボット１Ｄの概略のブロック図である。
図２６に示すように、ロボット１Ｄは、処理部１０、及び動作推定装置２０Ｄを含んで構成される。ロボット１Ｄは、ｎ（ｎは１以上の整数）個のＬＲＦセンサ２−１〜２−ｎ（距離測定部）に無線または有線で接続される。処理部１０の構成は、第１実施形態の図１の構成と同じである。また、ロボット１（図１）と同様の機能を有する機能部には、同じ符号を用いて説明を省略する。
【０２００】
動作推定装置２０Ｄは、人処理部２１０Ｄ、トラッキング部２１３Ｄ、状況推定部２２０Ｂ、及び記憶部２３０を備える。人処理部２１０Ｄは、ｎ個のクラスタリング部２１１Ｄ−１〜２１１Ｄ−ｎ、及びクラスタデータ統合部２１２を備える。また、トラッキング部２１３Ｄは、人粒子散布部２１３１を備える。クラスタリング部２１１Ｄ−１〜２１１Ｄ−ｎのうちいずれか１つを特定しない場合は、クラスタリング部２１１Ｄという。
【０２０１】
クラスタリング部２１１Ｄは、ＬＲＦセンサ２から入力された測距点の情報と、人粒子散布部２１３１から入力される散布された人粒子ｄ１０とを用いて、例えば所定の周期毎に測距点をクラスタに分類する。クラスタリング部２１１Ｄは、分類したクラスタ毎の重心位置を算出し、算出した重心位置を、人クラスタデータ位置とする。クラスタリング部２１１Ｄは、分類したクラスタ毎に、クラスタに含まれる測距点の高さの最大値を抽出し、抽出した最大値を、人クラスタデータ高さとする。そして、クラスタリング部２１１Ｄは、クラスタ毎に、人クラスタデータ位置と人クラスタデータ高さとを関連づけて人クラスタデータｄ１’を生成し、生成した人クラスタデータｄ１’をクラスタデータ統合部２１２に出力する。
【０２０２】
クラスタデータ統合部２１２は、クラスタリング部２１１Ｄ−１〜２１１Ｄ−ｎそれぞれから入力された人クラスタデータｄ１’を統合する。クラスタデータ統合部２１２は、複数のクラスタリング部で重複して検出された同一人物に由来するクラスタを統合する際、統合するクラスタの人クラスタデータ位置の重心を統合後の人クラスタデータ位置とする。また、クラスタデータ統合部２１２は、統合するクラスタの人クラスタデータ高さの最高値を、統合後の人クラスタデータ高さとする。クラスタデータ統合部２１２は、クラスタ毎に人クラスタデータ位置と人クラスタデータ高さとを関連づけて人クラスタデータｄ２を生成し、生成した人クラスタデータｄ２をトラッキング部２１３Ｄに出力する。
【０２０３】
トラッキング部２１３Ｄには、人クラスタデータ位置と人クラスタデータ高さを関連付けたクラスタ毎の人クラスタデータｄ２が、クラスタデータ統合部２１２から入力される。トラッキング部２１３Ｄは、入力された人クラスタデータ毎に、所定の時間間隔毎にトラッキング処理を行う。トラッキング部２１３Ｄは、トラッキング処理を行った結果得られたＩＤと、人データ位置と、人データ高さとを人毎に関連付けて人データｄ３を生成する。トラッキング部２１３Ｄは、生成した人毎の人データｄ３を状況推定部２２０Ｂに出力する。なお、トラッキング部２１３Ｄは、ＬＲＦセンサ２の測定範囲外に人が移動してトラッキングができなくなった場合など、トラッキングできなくなったＩＤに対応する人データを削除する。
【０２０４】
人粒子散布部２１３１は、ＩＤが割り当てられた人データ位置の周辺に散布する種粒子の位置及び数を算出し、種粒子を算出した人データ位置に対応するクラスタリング部２１１Ｄに算出した種粒子ｄ９を出力する。人粒子散布部２１３１は、算出する種粒子の数を、後述するように、例えば人の存在時間に応じて増やすようにする。なお、種粒子については後述する。
【０２０５】
なお、上述した種粒子はｘｙ座標のみでｚ座標情報を持たない。種粒子は、クラスタリングのみに使われる。また、クラスタデータの高さ情報は、種粒子は無視して測距点中の最高の高さが用いられる。
【０２０６】
次に、種粒子と種粒子の散布例とを説明する。
図２７は、本実施形態に係る種粒子と種粒子の散布例とを説明する図である。符号ｇ７００〜ｇ７７０が示す画像において、横軸はｘ軸座標、縦軸はｙ軸座標である。なお、図２７に示す例では、検出する領域に、３人の観客がいる例である。また、図２７において、フレームｆ２は、フレームｆ１の次のフレームであり、フレームｆ３は、フレームｆ２の次のフレームであり、フレームｆ４は、フレームｆ３の次のフレームである。また、符号ｇ７００、ｇ７２０、ｇ７４０及びｇ７６０の図において、点ｇ７８１は、測距点を表し、三角印ｇ７８２は、種粒子を表す。
【０２０７】
図２７の符号ｇ７００が示す画像は、フレームｆ１のときの測距点の図である。符号ｇ７００の図において、符号ｇ７０１、ｇ７０２、ｇ７０３が示す領域は、クラスタリング部２１１Ｄによって分類された測距点の集まり（クラスタ）である。
【０２０８】
図２７の符号ｇ７１０が示す画像は、クラスタリング部２１１Ｄが、矢印ｇ７９１が示すように、符号ｇ７００の画像の全ての測距点に対して、クラスタリング処理を行ってクラスタを生成し、さらにクラスタデータ統合部２１２がクラスタを統合し、生成した各人クラスタデータの位置を示した画像である。符号ｇ７１０が示す画像において、点ｇ７１１は、トラッキング部２１３ＤによってＩＤ１が割り当てられた人クラスタデータの重心位置、すなわち、ＩＤ１が割り当てられた人の位置を示している。符号ｇ７１０が示す図において、点ｇ７１２は、トラッキング部２１３ＤによってＩＤ２が割り当てられた人クラスタデータの重心位置を示し、点ｇ７１３は、トラッキング部２１３ＤによってＩＤ３が割り当てられた人クラスタデータの重心位置を示している。
【０２０９】
人粒子散布部２１３１は、矢印ｇ７９２が示すように、ＩＤが割り当てられた人データ毎の位置情報が示す位置（クラスタの重心位置）の周辺に種粒子を散布する位置を算出する。そして、人粒子散布部２１３１は、符号ｇ７２０の図のように、フレームｆ１のときに算出した位置を元に、フレームｆ２の測距点に対し種粒子を散布する。
図２７の符号ｇ７２０が示す画像は、フレームｆ２のときの測距点に種粒子を散布した図である。符号ｇ７２０の画像において、符号ｇ７２１が示す領域は、例えばＩＤ１が割り当てられた人に対応する種粒子が散布された領域である。符号ｇ７２２が示す領域は、例えばＩＤ２が割り当てられた人に対応する種粒子が散布された領域である。符号ｇ７２３が示す領域は、例えばＩＤ３が割り当てられた人に対応する種粒子が散布された領域である。
このように、種粒子とは、実測された測距点に対してクラスタリング処理を行った後、各クラスタの重心位置の周辺に散布する仮想的な測距点（以下、仮想測距点ともいう）である。
【０２１０】
図２７の符号ｇ７３０が示す画像は、矢印ｇ７９３が示すように、符号ｇ７２０の画像の全ての測距点と、散布された全ての種粒子とに対してクラスタリング部２１１Ｄがクラスタリング処理を行い、さらにクラスタデータ統合部２１２がクラスタを統合し、生成した各人クラスタデータの位置を示した画像である。符号ｇ７３０が示す画像において、点ｇ７３１は、トラッキング部２１３Ｄによって引き続きＩＤ１が付与された人クラスタデータの重心位置（人の位置）を示している。符号ｇ７３０が示す画像において、点ｇ７３２は、トラッキング部２１３Ｄによって引き続きＩＤ２が付与された人クラスタデータの重心位置（人の位置）を示している。点ｇ７３３は、トラッキング部２１３Ｄによって引き続きＩＤ３が付与された人クラスタデータの重心位置（人の位置）を示している。
【０２１１】
人粒子散布部２１３１は、矢印ｇ７９４が示すように、ＩＤが割り当てられた人データ毎の位置情報が示す位置の周辺に種粒子を散布する位置を算出する。なお、人粒子散布部２１３１は、人が所定の範囲にいる存在時間に応じて、種粒子の密度を増やしてもよい。すなわち、トラッキング部２１３Ｄがトラッキングを行った結果、そのＩＤの人が所定の範囲内にいる場合、そのＩＤに対応する人が移動していない、または余り移動していないと人粒子散布部２１３１が判定する。そして、人粒子散布部２１３１は、符号ｇ７４０が示す画像のように、フレームｆ２のときに算出した位置を元に、密度を増やした種粒子を、フレームｆ３の測距点に対して散布する。例えば、フレームｆ２のときのＩＤ１に対する種粒子の数が例えば５個だった場合、人粒子散布部２１３１は、フレームｆ３のときのＩＤ１に対する種粒子の数を９個に増やす。
または、人粒子散布部２１３１は、会場内に各ＩＤが割り当てられた人データが発生してからの経過時間で散布密度に重みをつけるようにしてもよい。例えば、人粒子散布部２１３１は、１フレームで５個、２フレームで７個、３フレーム以上なら９個に増やすようにしてもよい。
【０２１２】
図２７の符号ｇ７４０が示す画像は、フレームｆ３のときの測距点に種粒子を散布した図である。符号ｇ７４０の画像において、符号ｇ７４１が示す領域は、例えばＩＤ１が割り当てられた人に対応する種粒子が散布された領域である。符号ｇ７４２が示す領域は、例えばＩＤ２が割り当てられた人に対応する種粒子が散布された領域である。符号ｇ７４３が示す領域の図は、例えばＩＤ３が割り当てられた人に対応する種粒子が散布された領域である。
【０２１３】
図２７の符号ｇ７５０が示す画像は、矢印ｇ７９５が示すように、符号ｇ７４０の画像の全ての測距点と、散布された全ての種粒子とに対してクラスタリング部２１１Ｄがクラスタリング処理を行い、さらにクラスタデータ統合部２１２がクラスタを統合し、生成した各人クラスタデータの位置を示した画像である。符号ｇ７５０が示す画像において、点ｇ７５１は、トラッキング部２１３Ｄによって引き続きＩＤ１が付与された人クラスタデータの重心位置を示している。符号ｇ７５０が示す画像において、点ｇ７５２は、トラッキング部２１３Ｄによって引き続きＩＤ２が付与された人クラスタデータの重心位置を示している。点ｇ７５３は、トラッキング部２１３Ｄによって引き続きＩＤ３が付与された人クラスタデータの重心位置を示している。
【０２１４】
人粒子散布部２１３１は、矢印ｇ７９６が示すように、ＩＤが割り当てられた人データ毎の位置情報が示す位置の周辺に種粒子を散布する位置を算出する。人粒子散布部２１３１は、人が所定の範囲にいる存在時間に応じて、種粒子の密度をさらに増やす。そして、人粒子散布部２１３１は、符号ｇ７６０の画像のように、フレームｆ３のときに算出した位置を元に、密度を増やした種粒子を、フレームｆ４の測距点に対して散布する。例えば、フレームｆ３のときの種粒子の数がＩＤ毎に例えば９個だった場合、人粒子散布部２１３１は、フレームｆ４のときの種粒子のＩＤ毎の数を、例えば１３個に増やす。
【０２１５】
図２７の符号ｇ７６０が示す画像は、フレームｆ４のときの測距点に種粒子を散布した図である。符号ｇ７６０の画像において、符号ｇ７６１が示す領域は、例えばＩＤ１が割り当てられた人に対応する種粒子が散布された領域である。符号ｇ７６２が示す領域は、例えばＩＤ２が割り当てられた人に対応する種粒子が散布された領域である。符号ｇ７６３が示す領域は、例えばＩＤ３が割り当てられた人に対応する種粒子が散布された領域である。
なお、符号ｇ７４０及び符号ｇ７６０の画像において、種粒子は、人データ位置、すなわち各クラスタに含まれる測距点の重心位置に向かって密度が高くなるように配置されている。
【０２１６】
図２７の符号ｇ７７０が示す画像は、矢印ｇ７９７が示すように、符号ｇ７６０の図の全ての測距点と、散布された全ての種粒子とに対してクラスタリング部２１１Ｄがクラスタリング処理を行い、さらにクラスタデータ統合部２１２がクラスタを統合し、生成した各人クラスタデータの位置を示した画像である。符号ｇ７７０が示す画像において、点ｇ７７１は、トラッキング部２１３Ｄによって引き続きＩＤ１が付与された人クラスタデータの重心位置を示している。符号ｇ７７０が示す画像において、点ｇ７７２は、トラッキング部２１３Ｄによって引き続きＩＤ２が付与された人クラスタデータの重心位置を示している。点ｇ７７３は、トラッキング部２１３Ｄによって引き続きＩＤ３が付与された人クラスタデータの重心位置を示している。
【０２１７】
なお、図２７を用いた例では、人粒子散布部２１３１が、種粒子の数を、５個、９個、１３個と増やしていく例を示したが、増やす数はこれに限られず、人の存在時間に応じて種粒子の密度が増せば良い。
また、図２７を用いた例では、種粒子の密度を人の存在時間に応じて増し、この種粒子を、１つ前のフレームにおける位置情報が示す位置に対して散布する例を説明したが、これに限られない。
人粒子散布部２１３１は、過去数フレームの位置情報が示す位置に対して、人の存在時間に応じて重み付けした粒子密度で、種粒子を散布するようにしてもよい。すなわち、人粒子散布部２１３１は、例えば、フレームｆ４の測距データに対し、フレームｆ３における位置に１３個、フレームｆ２における位置に９個、フレームｆ１における位置に５個というように、過去の移動履歴に応じて種粒子を散布してもよい。このように、経過時間が大きい過去のフレームにおける位置ほど、散布密度を下げるように重み付けをするようにしてもよい。
【０２１８】
次に、挙手検出の処理手順を説明する。
図２８は、本実施形態に係るロボット１Ｄによる挙手検出の処理手順のフローチャートである。
（ステップＳ７０１〜Ｓ７０３）制御部１０２は、ステップＳ７０１〜Ｓ７０３の処理を、ステップＳ３０１〜Ｓ３０３（図１１）の処理と同様に行う。処理後、制御部１０２は、処理をステップＳ７０４に進める。
【０２１９】
（ステップＳ７０４）クラスタリング部２１１Ｄは、フレームが第１番目のフレームであるか否かを判別する。クラスタリング部２１１Ｄは、第１番目のフレームであると判別した場合（ステップＳ７０４；ＹＥＳ）、ステップＳ７０５に進み、第１番目のフレームではないと判別した場合（ステップＳ７０４；ＮＯ）、ステップＳ７０６に進む。
【０２２０】
（ステップＳ７０５）クラスタリング部２１１Ｄは、ステップＳ７０３で抽出した測距点の情報を用いて、人クラスタデータを生成する。クラスタリング部２１１Ｄは、処理をステップＳ７０７に進める。
（ステップＳ７０６）クラスタリング部２１１Ｄは、二番目以降のフレームの場合、ステップＳ７０３で抽出した測距点の情報と、人粒子散布部２１３１によって散布された種粒子を用いて、人クラスタデータを生成する。クラスタリング部２１１Ｄは、処理をステップＳ７０７に進める。
【０２２１】
（ステップＳ７０７）クラスタデータ統合部２１２は、Ｓ７０５もしくはＳ７０６でクラスタリング部２１１Ｄによって生成された人クラスタデータｄ１’の統合処理を行う。次に、クラスタデータ統合部２１２は、統合後の人クラスタデータｄ２を生成し、生成した人クラスタデータｄ２をトラッキング部２１３Ｄに出力する。クラスタデータ統合部２１２は、処理をステップＳ７０８に進める。
【０２２２】
（ステップＳ７０８）トラッキング部２１３Ｄは、クラスタデータ統合部２１２から入力された人クラスタデータｄ２を用いて、人データ毎に、所定の時間間隔毎にトラッキング処理を行う。トラッキング部２１３Ｄは、まず、入力された人データ毎にＩＤを付与する。次に、トラッキング部２１３Ｄは、人クラスタデータ位置を元に時系列でトラッキング処理を行った結果、同一の人物と見なせる人データに前のフレームで付与したＩＤと同じＩＤを付与する。次に、トラッキング部２１３Ｄは、トラッキング処理を行った結果得られたＩＤと、人データ位置と、人データ高さとを人毎に関連付けて人データｄ３を生成し、生成した人データｄ３を状況推定部２２０Ｂに出力する。トラッキング部２１３Ｄは、処理をステップＳ７０９に進める。
【０２２３】
（ステップＳ７０９）人粒子散布部２１３１は、トラッキング処理を続けて行えた人の存在時間に応じて密度を増すように、種粒子を散布する位置と個数を、ＩＤ毎に算出する。次に、人粒子散布部２１３１は、算出した種粒子を散布する位置と個数を示す情報ｄ９を、対応するクラスタリング部２１１Ｄに出力する。人粒子散布部２１３１は、処理をステップＳ７１０に進める。
【０２２４】
（ステップＳ７１０）状況推定部２２０Ｂは、第３期間と第２期間とを含む第１期間が経過したか否かを判別する。状況推定部２２０Ｂは、第３期間と第２期間とを含む第１期間が経過したと判別した場合（ステップＳ７１０；ＹＥＳ）、ステップＳ７１１に進み、第３測期間と第２期間とを含む第１期間が経過していないと判別した場合（ステップＳ７１０；ＮＯ）、ステップＳ７１４の処理に進む。
【０２２５】
（ステップＳ７１４）状況推定部２２０Ｂは、発話が終了していないか否かを判別する。状況推定部２２０Ｂは、発話が終了していないと判別した場合（ステップＳ７１４；ＹＥＳ）、ステップＳ７０２に戻り、発話が終了していると判別した場合（ステップＳ７１４；ＮＯ）、ステップＳ７０３に戻る。
【０２２６】
（ステップＳ７１１）状況推定部２２０Ｂは、ステップＳ７０８でトラッキング部２１３Ｄによって生成された人データと、記憶部２３０に記憶されている判定閾値とを用いて、手を挙げた人数を推定する。状況推定部２２０Ｂは、処理をステップＳ３１０に進める。
（ステップＳ７１２）状況推定部２２０Ｂは、シナリオ情報に基づいて、質問の提示を所定回数終了したか否か判別する。状況推定部２２０Ｂは、質問の提示を所定回数終了したと判別した場合（ステップＳ７１２；ＹＥＳ）、ステップＳ７１３に進み、質問の提示を所定回数終了していないと判別した場合（ステップＳ７１２；ＮＯ）、ステップＳ７０２に戻る。
（ステップＳ７１３）状況推定部２２０Ｂは、ステップＳ７１３の処理を、ステップＳ３１１（図１１）の処理と同様に行う。
以上で、挙手検出の処理を終了する。
【０２２７】
なお、本実施形態では、クラスタリング部２１１Ｄとクラスタデータ統合部２１２との代わりに、第４実施形態で説明した測距データ統合部２１４（図１８）とクラスタリング部２１６（図１８）とを備えるようにしてもよい。この場合、クラスタリング部２１６は、測距データ統合部２１４から入力された統合情報と、トラッキング部２１３Ｄが備える人粒子散布部２１３１が算出した種粒子とを用いて、例えば所定の周期毎に測距点を分類するようにしてもよい。
【０２２８】
さらに、クラスタリング部２１１Ｄとクラスタデータ統合部２１２との代わりに、図２２に示したように測距データ統合部２１４、測距データ分割部２１５、クラスタリング部２１１Ｃ、及びクラスタデータ統合部２１２を備えるようにしてもよい。この場合も、トラッキング部２１３Ｄが備える人粒子散布部２１３１は、生成した人粒子をクラスタリング部２１１Ｃ−ｎに入力する。
【０２２９】
以上のように、本実施形態の動作推定装置（例えば動作推定装置２０Ｄ）において、トラッキング部（例えばトラッキング部２１３Ｄ）は、所定の時刻に検出された人データの位置に基づいて、所定の時刻に後続する時刻において人を検出する。
また、本実施形態の動作推定装置（例えば動作推定装置２０Ｄ）において、トラッキング部（例えばトラッキング部２１３Ｄ、人粒子散布部２１３１）は、所定の時刻に後続する時刻に測定された距離の情報に、所定の時刻に検出された人に対応する人データの位置の周辺に仮想的に測定された距離情報を示す仮想距離情報（例えば種粒子）を生成し、距離のクラスタリングを行って人クラスタデータそれぞれを生成するクラスタリング部（例えばクラスタリング部２１１Ｄ）は、後続する時刻に測定された距離の情報に仮想距離情報を混合した混合距離情報を生成し、人処理部（例えば人処理部２１０Ｄ）は、混合距離情報に基づいて、後続する時刻における人を検出し、トラッキング部は、人処理部によって検出された人毎に識別子（例えばＩＤ）を付与する。
【０２３０】
また、本実施形態の動作推定装置（例えば動作推定装置２０Ｄ）において、トラッキング部（例えばトラッキング部２１３Ｄ、人粒子散布部２１３１）は、人が位置から所定の範囲にいる時間に応じて、所定の時刻に検出された人データの位置の周辺における仮想距離情報（例えば種粒子）の密度を変化させる。
また、本実施形態の動作推定装置（例えば動作推定装置２０Ｄ）において、トラッキング部（例えばトラッキング部２１３Ｄ、人粒子散布部２１３１）は、人が位置から所定の範囲にいる時間に応じて、所定の時刻に検出された人データの位置の周辺における仮想距離情報（例えば種粒子）を、中心が密になるように仮想点を散布する。
【０２３１】
この構成によって、本実施形態によれば、人の位置の履歴に応じた種粒子を生成し、この種粒子も用いてクラスタリング処理を行うようにした。これにより、クラスタリング処理の誤りを低減することができる。また、本実施形態によれば、クラスタの重心位置（人の位置）を安定させることができるので、トラッキングの精度を行動させることができる。
【０２３２】
この結果、本実施形態によれば、近接した人が接近することで複数の人が１つのクラスタに誤統合され、クラスタの位置が変化することで発生する、トラッキング処理のミスを低減することができる。さらに、本実施形態によれば、前期近接した人に身長差があった場合、クラスタの誤統合や誤分割によりクラスタの高さが変化することで発生する、挙手検出の誤検出を低減することができる。
【０２３３】
なお、本実施形態では、測定された測距点に基づいて、人の位置を算出し、算出した位置の周辺に種粒子を散布する例を説明したが、これに限られない。
人粒子散布部２１３１は、人がトラッキングされた結果、人が移動していると推定された場合、次のフレームのとき、その人が移動する位置を推定し、推定した位置の周辺に種粒子を散布するようにしてもよい。
【０２３４】
また、本実施形態においても、状況推定部２２０Ｂがヒストグラム処理部２２１（図１）を備え、ヒストグラム処理部２２１は、第１実施形態で説明したヒストグラムを用いた手法、第２実施形態で説明した挙手高さ判別の閾値を設定する手法、第３実施形態で説明した手法、第４実施形態で説明した手法、第５実施形態で説明した手法のうち少なくとも１つを用いるようにしてもよい。
これにより、子供の後や横に大人がいる場合など、近接した身長差のある人同士が接近したり、挙手が他者の上に被さった場合であっても、挙手の誤判定を低減することができる。
【０２３５】
［第７実施形態］
本実施形態では、観客が、手の上げ方が低い挙手を行った場合であっても、挙手の判定の精度を向上することができる動作推定装置について説明する。
【０２３６】
図２９は、観客の挙手の状態を説明する図である。図２９に示す例では、人ｈｕ１と人ｈｕ２とが存在している。図２９の符号ｇ９００が示す図は、人ｈｕ１が、上腕と前腕と手とを肩から高さｈ２まで挙げて挙手を行っている例の図である。また、符号ｇ９１０が示す図は、人ｈｕ１が、前腕と手とを肩から高さｈ１まで挙げて挙手を行っている例の図である。なお、高さｈ１は、高さｈ２より低い高さである。符号ｇ９１０の図のように、挙手の高さが低い場合、例えば第１実施形態で説明したように、手挙げ期間（第３期間）における人データ高さの最大値と、手下げ期間（第２期間）における人データ高さの平均値との差が、挙手閾値以上にならない場合がある。このような場合、動作推定装置２０は、人ｈｕ１が、挙手を行っていないと誤って推定してしまう場合があった。
【０２３７】
図３０は、本実施形態に係るロボット１Ｅの概略のブロック図である。
図３０に示すように、ロボット１Ｅは、処理部１０、及び動作推定装置２０Ｅを含んで構成される。ロボット１Ｅは、ｎ（ｎは１以上の整数）個のＬＲＦセンサ２−１〜２−ｎ（距離測定部）に無線または有線で接続される。処理部１０の構成は、第１実施形態の図１の構成と同じである。また、ロボット１（図１）と同様の機能を有する機能部には、同じ符号を用いて説明を省略する。
【０２３８】
制御部１０２は、トリガー信号ｄ４をクラスタリング部２１１Ｃに出力する。
【０２３９】
動作推定装置２０Ｅは、人処理部２１０Ｅ、トラッキング部２１３Ｅ、状況推定部２２０Ｅ、及び記憶部２３０Ｅを備える。人処理部２１０Ｅは、測距データ統合部２１４、クラスタリング部２１１Ｃ、密集度計算部２１７、及び再クラスタリング部２１８を備える。
【０２４０】
測距データ統合部２１４は、ｎ個のＬＲＦセンサ２から入力された測距点を統合して統合情報ｄ７を生成し、統合した統合情報ｄ７をクラスタリング部２１１Ｃに出力する。
【０２４１】
クラスタリング部２１１Ｃは、測距データ統合部２１４から入力された統合された測距点の情報ｄ７に対して、クラスタリング処理を行い、人クラスタデータを生成する。なお、人クラスタデータには、クラスタ毎に人クラスタデータ位置、人クラスタデータ高さが含まれる。クラスタリング部２１１Ｃは、クラスタ毎に、制御部１０２から入力されるトリガー信号ｄ４に基づいて、第２期間において、各クラスタの高さの平均値を求め、求めた平均値を各クラスタが由来する各人の身長とする。その後、クラスタリング部２１１Ｃは、各人の身長と人の体格データに基づき閾値（例えば肩峰高）を求める。クラスタリング部２１１Ｃは、クラスタに含まれる測距点の内、肩峰高以上の測距点を抽出する。クラスタリング部２１１Ｃは、生成した人クラスタデータに抽出した肩峰高以上の測距点を加えた人クラスタデータｄ１’を密集度計算部２１７に出力する。
【０２４２】
記憶部２３０Ｅには、挙手閾値を算出するための所定の値と判定閾値とが記憶されている。記憶部２３０Ｅには、密集度閾値が記憶されている。また、記憶部２３０Ｅには、予め身長と肩峰高など統計データ（人の体格データ）が記憶されている。
【０２４３】
密集度計算部２１７は、クラスタリング部２１１Ｃから入力された人クラスタデータｄ１’を用いて、クラスタ毎の密集度を周知の手法によって計算する。密集度計算部２１７は、計算した密集度が、記憶部２３０Ｅに記憶されている密集度判定閾値ｄ１３より大きいクラスタの場合に、そのクラスタの密集度が疎であると判別する。なお、密集度判定閾値は、例えば予め実測により、利用者が設定する。密集度計算部２１７は、密集度が疎であると判定した場合、入力された人クラスタデータｄ１’を人クラスタデータｄ１０として、再クラスタリング部２１８に出力する。密集度計算部２１７は、密集度が密であると判定した場合、入力された人クラスタデータｄ１’から測距点データを除き、さらに０の小クラスタ数を付加した人クラスタデータｄ１１を、トラッキング部２１３Ｅに出力する。すなわち、トラッキング部２１３Ｅに入力される人クラスタデータｄ１１には、０の小クラスタ数、人クラスタデータ位置、人クラスタデータ高さが含まれる。
【０２４４】
再クラスタリング部２１８は、密集度計算部２１７から入力された人クラスタデータｄ１０に対して、人クラスタデータ毎に再度、クラスタリング処理（以下、再クラスタリング処理という）を行い、再人クラスタデータｄ１２を生成する。再クラスタリング処理では、例えば閾値を小さくしてウォード法を用いて、再度クラスタの分類を行って小クラスタを再クラスタリング部２１８が生成する。再クラスタリング部２１８は、クラスタリング部２１１Ｃが生成した人クラスタデータｄ１’に、再クラスタリング処理によって生成した小クラスタの数（以下、小クラスタ数という）を付加する。ここで、人クラスタ内の小クラスタ数は、１以上の値である。再クラスタリング部２１８は、生成した再人クラスタデータｄ１２を、トラッキング部２１３Ｅに出力する。再人クラスタデータｄ１２には、１以上の値の小クラスタ数、人クラスタデータ位置、人クラスタデータ高さが含まれる。
【０２４５】
トラッキング部２１３Ｅには、密集度計算部２１７から人クラスタデータｄ１１、または再クラスタリング部２１８から再人クラスタデータｄ１２のうち、いずれか一方がクラスタ毎に入力される。すなわち、トラッキング部２１３Ｅには、再クラスタリング処理された人クラスデータまたは再クラスタリング処理されていない人クラスデータのうち、いずれか一方がクラスタ毎に入力される。また、ある人物の人クラスタデータが、人クラスタデータｄ１１として検出されるか再人クラスタデータｄ１２として検出されるかは、フレーム毎に異なる場合がある。再クラスタリング処理を行っていない場合、人クラスタデータｄ１１内の小クラスタ数は０であり、再クラスタリング処理を行っている場合、人クラスタデータｄ１２内の小クラスタ数は１以上の値である。トラッキング部２１３Ｅは、人クラスタデータｄ１１と再人クラスタデータｄ１２を用いて、所定の時間間隔毎にトラッキング処理を行う。トラッキング部２１３Ｅは、まず、入力された人クラスタデータ毎にＩＤを付与する。次に、トラッキング部２１３Ｅは、人クラスタデータの位置を元に時系列でトラッキング処理を行った結果、同一の人物と見なせる人クラスタデータに前のフレームに付与したＩＤと同じＩＤを付与する。次に、トラッキング部２１３Ｅは、小クラスタ数と、トラッキング処理を行った結果得られたＩＤと、位置情報と、高さ情報とを人毎に関連付けて人データｄ３’を生成し、生成した人データｄ３’を状況推定部２２０Ｅに出力する。
【０２４６】
状況推定部２２０Ｅには、制御部１０２からシナリオ情報に基づくトリガー信号ｄ４が入力される。
状況推定部２２０Ｅは、第３期間のとき、トラッキング部２１３Ｅから入力された人データｄ３を用いて、人データ毎に小クラスタ数を検出する。状況推定部２２０Ｅは、検出した人データ毎の小クラスタ数に基づいて、人データ毎に挙手を行っているか否かの推定を行う。ここで、小クラスタ数が０の人データは、密集度が密なため再クラスタリングを行わなかった人クラスタデータから生成されたものであり、この場合、状況推定部２２０Ｅは、第３期間の高さ情報最大値と第２期間の高さ情報の平均値とを比較して挙手の判定を行う。一方、小クラスタ数が１以上の人データは、密集度が疎なため再クラスタリングを実施した人クラスタデータから生成されたものであり、この場合、状況推定部２２０Ｅは、第３期間における小クラスタ数が２つ以上の時に挙手をしたものと判定する。
状況推定部２２０Ｅは、上述した推定をトリガー信号ｄ４に応じて所定回数行い、その中で最も手を挙げている人数が多いときを推定することで、多数決判定を行う。状況推定部２２０Ｅは、多数決判定した結果を、検出結果を示す情報ｄ５として、処理部１０に出力する。
【０２４７】
＜領域内全てのクラスタに対して再クラスタを行う手法＞
なお、上述した例では、クラスタ毎に再クラスタを行う例を説明したが、これに限られない。密集度計算部２１７は、複数のＬＲＦセンサ２が測定可能な各領域に含まれる全てのクラスタに対して密集度を計算するようにしてもよい。そして、再クラスタリング部２１８は、領域毎の密集度に応じて、その領域内のクラスタに対して再クラスタリングを行うようにしてもよい。
この場合、密集度計算部２１７は、クラスタリング部２１１Ｃから入力された人クラスタデータｄ１’を用いて、複数のＬＲＦセンサ２が測定可能な領域内毎に観客の密集度を計算する。密集度計算部２１７は、各領域内における直近の観客同士の距離を計算し、計算した距離が、記憶部２３０Ｅに記憶されている密集度判定閾値より大きい場合に、この領域における密集度が疎であると判別する。なお、密集度判定閾値は、例えば予め実測により、利用者が設定する。密集度計算部２１７は、密集度が疎であると判定した場合、入力された人クラスタデータｄ１’に肩峰高以上の測距点を除いた測距点データを加えた情報を人クラスタデータｄ１０として、再クラスタリング部２１８に出力する。
【０２４８】
以上、本実施形態の動作推定装置（例えば動作推定装置２０Ｅ）において、人処理部（例えば人処理部２１０Ｅ）は、距離のクラスタリングを行って人クラスタデータそれぞれを生成するクラスタリング部（例えばクラスタリング部２１１Ｃ）によって分類されたクラスタの間の距離に基づいて、クラスタ毎に周辺のクラスタとの密集度を算出する密集度計算部（例えば密集度計算部２１７）と、密集度計算部によって算出された密集度が疎なクラスタについて、当該クラスタの領域に含まれる高さの測定値から人の体格データに基づき設定される閾値を当該クラスタ毎に算出し、算出した閾値以上の高さ情報を持つ測定点を抽出し、抽出した測定点について再度クラスタリング処理を行ってクラスタの中に当該クラスタより小さい小クラスタを１つ以上生成する再クラスタリング部（例えば再クラスタリング部２１８）と、を備え、状況推定部（例えば状況推定部２２０Ｅ）は、当該クラスタの中にある前記小クラスタの個数に基づいて、人の反応を推定する。
【０２４９】
この構成によって、本実施形態によれば、密集度が疎の場合に、各クラスタに含まれる測距点から、各人の肩峰高以上の測距点を抽出し、その測距点を再クラスタリングするようにした。これにより、本実施形態によれば、人が挙手を行ったとき、人の頭部のクラスタと手のクラスタとの２つの小クラスタを得ることができる。この結果、本実施形態によれば、手を低く挙げて挙手を行った場合であっても、人が挙手を行っていることを推定することができる。
また、本実施形態によれば、手が前方や横方向または斜め方向などに挙げられて挙手の高さがが十分な高さではない場合であっても、再クラスタリング部２１８によって２つのクラスタに分離できる。この結果、本実施形態によれば、手が前方や横方向または斜め方向などに挙げられて挙手の高さがが十分な高さではない場合であっても、人が挙手を行っていることを推定することができる。
【０２５０】
＜図３０の変形例＞
次に、図３０の変形例を説明する。
図３１は、本実施形態に係るロボット１Ｆの変形例の概略のブロック図である。
図３１に示すように、ロボット１Ｅは、処理部１０、及び動作推定装置２０Ｆを含んで構成される。ロボット１Ｅは、ｎ（ｎは１以上の整数）個のＬＲＦセンサ２−１〜２−ｎ（距離測定部）に無線または有線で接続される。処理部１０の構成は、第１実施形態の図１の構成と同じである。また、ロボット１（図１）と同様の機能を有する機能部には、同じ符号を用いて説明を省略する。
【０２５１】
制御部１０２は、トリガー信号ｄ４をクラスタリング部２１１Ｃ−１〜２１１Ｃ−ｍに出力する。
【０２５２】
動作推定装置２０Ｆは、人処理部２１０Ｆ、トラッキング部２１３Ｆ、状況推定部２２０Ｆ、及び記憶部２３０Ｆを備える。人処理部２１０Ｆは、測距データ統合部２１４、測距データ分割部２１５、クラスタリング部２１１Ｃ−１〜２１１Ｃ−ｍ（ｍは１以上の整数）、密集度計算部２１７−１〜２１７−ｍ、再クラスタリング部２１８−１〜２１８−ｍ、及びクラスタデータ統合部２１２Ｆを備える。
【０２５３】
なお、クラスタリング部２１１Ｃ−１〜２１１Ｃ−ｍのうちいずれか１つを特定しない場合は、クラスタリング部２１１Ｃという。密集度計算部２１７−１〜２１７−ｍのうちいずれか１つを特定しない場合は、密集度計算部２１７という。再クラスタリング部２１８−１〜２１８−ｍのうちいずれか１つを特定しない場合は、再クラスタリング部２１８という。また、人クラスタデータｄ１−１〜ｄ１−ｍのうちいずれか１つを特定しない場合は、人クラスタデータｄ１という。また、再クラスタリング処理が行われた再人クラスタデータｄ１１−１〜ｄ１１−ｍのうちいずれか１つを特定しない場合は、再人クラスタデータｄ１１という。
【０２５４】
測距データ統合部２１４の動作は、図２２を用いて説明した動作推定装置２０Ｃと同様である。
測距データ分割部２１５は、測距データ統合部２１４から入力された統合情報ｄ７を、所定の面積を有するｍ個の仮想領域に分割し、分割した仮想領域毎の測距点の情報ｄ１４−１〜ｄ１４−ｍを、対応するクラスタリング部２１１Ｃ−１〜２１１Ｃ−ｍに出力する。
【０２５５】
クラスタリング部２１１Ｃ−１〜２１１Ｃ−ｍそれぞれは、測距データ分割部２１５から入力された仮想領域毎の測距点の情報ｄ１４−１〜ｄ１４−ｍに対して、クラスタリング処理を行って人クラスタデータｄ１’−１〜ｄ１’−ｍを生成する。なお、人クラスタデータには、クラスタ毎に人クラスタデータ位置、人クラスタデータ高さが含まれる。
例えば、クラスタリング部２１１Ｃ−１は、クラスタ毎に、制御部１０２から入力されるトリガー信号ｄ４に基づいて、第２期間において、第１の仮想領域の測距点の情報ｄ１４−１に対して各クラスタ高さの平均値を求め、求めた平均値を各クラスタが由来する各人の身長とする。その後、クラスタリング部２１１Ｃ−１は、各人の身長と人の体格データに基づき閾値（例えば肩峰高）を求める。クラスタリング部２１１Ｃ−１は、クラスタに含まれる測距点の内、肩峰高以上の測距点を抽出する。また、クラスタリング部２１１Ｃ−ｍは、トリガー信号ｄ４に基づいて、第２期間において、第ｍの仮想領域の測距点の情報ｄ１４−ｍに対して各クラスタ高さの平均値を求め、求めた平均値を各クラスタが由来する各人の身長とする。その後、クラスタリング部２１１Ｃ−ｍは、各人の身長と人の体格データに基づき閾値（例えば肩峰高）を求める。クラスタリング部２１１Ｃ−ｍは、クラスタに含まれる測距点の内、肩峰高以上の測距点を抽出する。
クラスタリング部２１１Ｃそれぞれは、生成した人クラスタデータに抽出した肩峰高以上の測距点を加えたクラスタデータｄ１’を密集度計算部２１７に出力する。
【０２５６】
記憶部２３０Ｆには、挙手閾値を算出するための所定の値と判定閾値とが記憶されている。記憶部２３０Ｆには、密集度閾値が記憶されている。また、記憶部２３０Ｆには、予め身長と肩峰高さとの比などの統計データ（人の体格データ）が記憶されている。
【０２５７】
密集度計算部２１７は、対応するクラスタリング部２１１Ｃから入力された人クラスタデータｄ１’を用いて、分割された各領域においてクラスタ毎に密集度を周知の手法によって計算する。密集度計算部２１７は、計算した密集度が、記憶部２３０Ｆに記憶されている密集度判定閾値より大きい場合、そのクラスタの密集度が疎であると判別する。なお、密集度判定閾値は、例えば予め実測により、利用者が設定する。密集度計算部２１７は、密集度が疎であると判定した場合、入力された人クラスタデータｄ１’を人クラスタデータｄ１０として、対応する再クラスタリング部２１８に出力する。すなわち、人クラスタデータｄ１０には、肩峰高以上の測距点データが含まれる。密集度計算部２１７は、密集度が密であると判定した場合、入力された人クラスタデータｄ１’から測距点データを除き、さらに０の小クラスタ数を付加した人クラスタデータｄ１１をクラスタデータ統合部２１２Ｆに出力する。すなわち、クラスタデータ統合部２１２Ｆに入力される人クラスタデータｄ１１には、０の小クラスタ数、人クラスタデータ位置、人クラスタデータ高さが含まれる。
【０２５８】
図３２は、本実施形態に係る密集度を説明する図である。なお、図３２は、測距点をｘｙ平面（図２）に投影した図である。図３２において、符号ｇ９２０が示す図は、分割された領域に人ｈｕ１と人ｈｕ２とがいる例の図である。また、符号ｇ９２２が示す領域は、人ｈｕ１に対応する第１の人クラスタデータであり、符号ｇ９２１が示す領域は、人ｈｕ２に対応する第２の人クラスタデータである。点ｇ９２４は、人ｈｕ１の人クラスタデータにおけるｚ軸方向の最大値の位置を示す点であり、点ｇ９２３は、人ｈｕ２の人クラスタデータにおけるｚ軸方向の最大値の位置を示す点である。矢印ｇ９２６は、人ｈｕ１と人ｈｕ２との重心位置間の距離を表している。
【０２５９】
図３１に戻って、動作推定装置２０Ｆの説明を続ける。
再クラスタリング部２１８は、対応する密集度計算部２１７から入力された人クラスタデータｄ１０に対して、人クラスタデータ毎に再クラスタリング処理を行い、再人クラスタデータｄ１２を生成する。なお、再クラスタリング部２１８は、再クラスタリング処理では、再クラスタリング部２１８が、例えば閾値を小さくしてウォード法を用いて、再度クラスタの分類を行って小クラスタを生成し、生成した小クラスタ数を再人クラスタデータｄ１２に付加する。再クラスタリング部２１８は、生成した再人クラスタデータｄ１２をクラスタデータ統合部２１２Ｆに出力する。再人クラスタデータｄ１２には、小クラスタ数、人クラスタデータ位置、人クラスタデータ高さが含まれる。
【０２６０】
なお、図３１に示した変形例においても、密集度計算部２１７は、複数のＬＲＦセンサ２が測定可能な領域毎に、密集度を計算するようにしてもよい。そして、再クラスタリング部２１８は、密集度に応じて、再クラスタリングを行うようにしてもよい。
【０２６１】
クラスタデータ統合部２１２Ｆには、密集度計算部２１７から人クラスタデータｄ１１、または再クラスタリング部２１８から再人クラスタデータｄ１２のいずれか一方がクラスタ毎に入力される。クラスタデータ統合部２１２Ｆは、入力された人クラスタデータｄ１１と再人クラスタデータｄ１２を全て使って統合処理を行う。この際、統合後のクラスタデータの小クラスタ数は、統合前のクラスタデータが持つ小クラスタ数の中の最大値とする。クラスタデータ統合部２１２Ｆは、統合した人クラスタデータｄ２をトラッキング部２１３Ｆに出力する。
【０２６２】
トラッキング部２１３Ｆには、クラスタデータ統合部２１２Ｆから統合人クラスタデータｄ２が入力される。トラッキング部２１３Ｆは、統合人クラスタデータｄ２に含まれる人クラスタデータを用いて、人クラスタデータ毎に、所定の時間間隔毎にトラッキング処理を行う。トラッキング部２１３Ｆは、まず、入力された人クラスタデータ毎にＩＤを割り当てる。次に、トラッキング部２１３Ｆは、人クラスタデータの位置を元に時系列でトラッキング処理を行った結果、同一の人物と見なせる人クラスタデータに前のフレームに付与したＩＤと同じＩＤを付与する。次に、トラッキング部２１３Ｆは、トラッキング処理を行った結果得られたＩＤ、位置情報と、高さ情報とを人毎に関連付けて人データｄ３’を生成し、生成した人データｄ３’を状況推定部２２０Ｆに出力する。なお、人データｄ３’には、再クラスタリング部２１８で付与された小クラスタ数が含まれている。なお、再クラスタリング処理が行われていない場合、小クラスタ数は０である。
【０２６３】
状況推定部２２０Ｆには、制御部１０２からシナリオ情報に基づくトリガー信号ｄ４が入力される。
状況推定部２２０Ｆは、手挙げ期間（第３期間）のとき、トラッキング部２１３Ｆから入力された人データｄ３’を用いて、人データ毎に小クラスタ数を検出する。状況推定部２２０Ｆは、検出した人データ毎の小クラスタ数に基づいて、人データ毎に挙手を行っているか否かの推定を行う。第３期間において小クラスタ数が０の場合、状況推定部２２０Ｆは、第３期間の人データ高さの最大値と手下げ期間（第２期間）の人データ高さの平均値とを比較して挙手の判定を行う。また、第３期間において小クラスタ数が２以上の場合、状況推定部２２０Ｆは、第３期間の小クラスタ数に基づいて挙手をしたものと判定する。
状況推定部２２０Ｆは、上述した推定をトリガー信号ｄ４に応じて所定回数行い、その中で最も手を挙げている人数が多いときを推定することで、多数決判定を行う。状況推定部２２０Ｆは、多数決判定した結果を、検出結果を示す情報ｄ５として、処理部１０に出力する。
【０２６４】
図３３は、本実施形態に係る再クラスタリング処理の一例を説明する図である。なお、図３３に示す例は、図に示した領域の密集度が疎である場合の例である。また、図３３に示す例では、領域に９人の人が存在している例である。
図３３の符号９３０が示す画像は、クラスタリング部２１６Ｃによってクラスタリング処理された結果を示す画像である。符号９３０が示す画像において、符号ｇ９３１〜ｇ９３９が示す領域それぞれは、１人として測距点の集まりであるクラスタである。
【０２６５】
図３３の符号９４０が示す画像は、再クラスタリング部２１８によって、抽出された肩峰高以上の測距点を示す画像である。符号９４０が示す画像において、符号ｇ９４１〜ｇ９４９が示す領域それぞれは、人クラスタデータ毎に抽出された肩峰高以上の測距点を示す領域である。
【０２６６】
図３３の符号９５０が示す画像は、再クラスタリング部２１８によって、再クラスタリング処理された後のクラスタを示す画像である。符号９５０が示す画像において、符号ｇ９４１〜ｇ９４９が示す領域それぞれは、人クラスタデータ毎に抽出された肩峰高以上の測距点を示す領域である。符号９５０が示す画像において、符号ｇ９５１〜ｇ９５９が示す領域それぞれは、人クラスタデータ毎に再クラスタリング処理された測距点を示す領域である。
【０２６７】
符号９５０が示す画像において、符号ｇ９４１、ｇ９４３、ｇ９４４、ｇ９４６及びｇ９４９に示す領域では、再クラスタリング処理を行った後の小クラスタ数は、１つずつである。一方、符号ｇ９４２、ｇ９４５、ｇ９４７及びｇ９４８に示す領域では、再クラスタリング処理を行った後の小クラスタ数は、２つずつである。例えば、符号ｇ９４２に示す領域では、再クラスタリング処理後、符号ｇ９５２−１とｇ９５２−２とに示す領域の小クラスタに分離される。
【０２６８】
図３３の符号９５０が示す画像において、再人クラスタデータに小クラスタ数が１つの場合は、頭部を中心とした測距点によってクラスタが構成されている。一方、再人クラスタデータの小クラスタ数が２つ以上の場合、２つの小クラスタは、頭部を中心とした測距点によって構成される小クラスタと、手の測距点によって構成される小クラスタとである。すなわち、１つの再人クラスタデータの中に２つ以上の小クラスタがある場合は、頭部と手との小クラスタがあることを意味している。このため、状況推定部２２０Ｆは、１つの人クラスタデータの中にある小クラスタの数が１つであるか２つ以上であるかによって、人が挙手を行っているか否かを判定する。
【０２６９】
なお、図３３の符号９５０が示す画像では、再クラスタリング処理と小クラスタを説明するために、人クラスタデータを示す領域と、小クラスタデータを示す領域とを同じ画像上に示した。
【０２７０】
次に、再クラスタ処理を行う際の密集度の例について説明する。
図３４は、本実施形態に係るクラスタの密集度を説明するイメージ図である。図３４において、破線の楕円ｇ９６１、ｇ９７１、及びｇ９８１で囲まれた領域は、クラスタデータを示す領域（以下、単にクラスタという）を表している。また、点ｇ９６２、ｇ９７２、及びｇ９８２は、クラスタｇ９６１、ｇ９７１、及びｇ９８１の中心を表している。
図３４に示す例において、クラスタｇ９６１と小クラスタｇ９７１との距離はＬ１であり、クラスタｇ９７１と小クラスタｇ９８１との距離はＬ２である。距離Ｌ１は距離Ｌ２より大きく、かつ所定の値より大きい。このように、本実施形態では、クラスタの中心間の距離が所定の値より大きい場合を密集度が疎であるという。また、本実施形態では、クラスタの中心間の距離が所定の値より小さい場合を密集度が密であるという。すなわち、図３４に示す例において、クラスタｇ９６１とクラスタｇ９７１との中心間の距離より、クラスタｇ９７１とクラスタｇ９８１との中心間の距離の方が密である。
【０２７１】
次に、挙手検出の処理手順を説明する。
図３５は、本実施形態に係るロボット１Ｆによる挙手検出の処理手順のフローチャートである。
（ステップＳ９０１〜Ｓ９０２）制御部１０２は、ステップＳ９０１〜Ｓ９０２の処理を、ステップＳ３０１〜Ｓ３０２（図１１）の処理と同様に行う。処理後、制御部１０２は、処理をステップＳ９０３に進める。
【０２７２】
（ステップＳ９０３）測距データ統合部２１４は、ｎ個のＬＲＦセンサ２から入力された検出結果を統合し、統合した統合情報ｄ６を測距データ分割部２１５に出力する。測距データ統合部２１４は、処理をステップＳ９０４に進める。
【０２７３】
（ステップＳ９０４）測距データ分割部２１５は、測距データ統合部２１４から入力された統合情報ｄ６を、所定の面積を有するｍ個の仮想領域に分割し、分割した仮想領域毎の測距点ｄ１４−１〜ｄ１４−ｍを、対応するクラスタリング部２１１Ｃ−１〜２１１Ｃ−ｍに出力する。測距データ分割部２１５は、処理をステップＳ９０５に進める。
【０２７４】
（ステップＳ９０５）クラスタリング部２１１Ｃ−１〜２１１Ｃ−ｍそれぞれは、測距データ分割部２１５から入力された仮想領域毎の測距点ｄ１４−１〜ｄ１４−ｍの情報に対して、制御部１０２から入力されるトリガー信号ｄ４に基づいて、第２期間において、クラスタリング処理を行って人クラスタデータｄ１’を生成する。次に、クラスタリング部２１１Ｃ−１〜２１１Ｃ−ｍそれぞれは、生成した人クラスタデータｄ１’−１〜ｄ１’−ｍを、対応する密集度計算部２１７−１〜２１７−ｍに出力する。クラスタリング部２１１Ｃは、処理をステップＳ９０６に進める。
【０２７５】
（ステップＳ９０６）密集度計算部２１７−１〜２１７−ｍそれぞれは、対応するクラスタリング部２１１Ｃ−１〜２１１Ｃ−ｍから入力された人クラスタデータｄ１’−１〜ｄ１’−ｍを用いて、クラスタ毎に密集度を計算する。密集度計算部２１７は、処理をステップＳ９０７に進める。
【０２７６】
（ステップＳ９０７）密集度計算部２１７は、計算した密集度が疎であるか否かを判別する。密集度計算部２１７は、密集度が疎であると判別した場合（ステップＳ９０７；ＹＥＳ）、人クラスタデータｄ１’を人クラスタデータｄ１０として、対応する再クラスタリング部２１８に出力して、処理をステップＳ９０８に進める。または、密集度計算部２１７は、密集度が疎ではないと判別した場合（ステップＳ９０７；ＮＯ）、人クラスタデータｄ１’から測距点データを除き、さらに０の小クラスタ数を付加した人クラスタデータｄ１１としてクラスタデータ統合部２１２Ｆに出力して、処理をステップＳ９０９に進める。
【０２７７】
（ステップＳ９０８）再クラスタリング部２１８は、再クラスタリング処理を行って、小クラスタを生成する。再クラスタリング部２１８は、次に、生成した小クラスタデータ数を付加した再人クラスタデータｄ１２を生成し、生成した再人クラスタデータｄ１２をクラスタデータ統合部２１２Ｆに出力する。再クラスタリング部２１８は、処理をステップＳ９０９に進める。
【０２７８】
（ステップＳ９０９）クラスタデータ統合部２１２Ｆには、密集度計算部２１７から人クラスタデータｄ１１、または再クラスタリング部２１８から再人クラスタデータｄ１２のうち、どちらかがクラスタ毎に入力される。クラスタデータ統合部２１２Ｆは、入力された人クラスタデータｄ１１と再人クラスタデータｄ１２を全て使って統合処理を行う。複数のクラスタリング部で重複して検出された同一人物に由来するクラスタを統合する際は、統合後のクラスタデータの小クラスタ数は、統合前のクラスタデータが持つ小クラスタ数の中の最大値とする。次に、クラスタデータ統合部２１２Ｆは、生成した統合人クラスタデータｄ２をトラッキング部２１３Ｆに出力する。クラスタデータ統合部２１２Ｆは、処理をステップＳ９１０に進める。
【０２７９】
（ステップＳ９１０）トラッキング部２１３Ｆは、入力された統合人クラスタデータｄ２に含まれる人クラスタデータを用いて、人データ毎に、所定の時間間隔毎にトラッキング処理を行う。次に、トラッキング部２１３Ｆは、小クラスタ数と、トラッキング処理を行った結果得られたＩＤと、位置情報と、高さ情報とを人毎に関連付けて人データｄ３’を生成し、生成した人データｄ３’を状況推定部２２０Ｆに出力する。
【０２８０】
（ステップＳ９１１）状況推定部２２０Ｆは、手挙げ期間（第３期間）（図５）と手下げ期間（第２期間）（図５）とを含む第１期間が経過したか否かを判別する。状況推定部２２０Ｆは、第３期間と第２期間とを含む第１期間が経過したと判別した場合（ステップＳ９１１；ＹＥＳ）、ステップＳ９１１に進み、第３期間と第２期間とを含む第１期間が経過していないと判別した場合（ステップＳ９１１；ＮＯ）、ステップＳ９１５の処理に進む。
【０２８１】
（ステップＳ９１５）状況推定部２２０Ｆは、発話が終了していないか否かを判別する。状況推定部２２０Ｆは、発話が終了していないと判別した場合（ステップＳ９１５；ＹＥＳ）、ステップＳ９０２に戻り、発話が終了していると判別した場合（ステップＳ９１５；ＮＯ）、ステップＳ９０３に戻る。
【０２８２】
（ステップＳ９１２）状況推定部２２０Ｆは、第３期間における小クラスタ数を、人データ毎に検出する。次に、状況推定部２２０Ｆは、検出した人データ毎の小クラスタ数が０の場合、すなわち再クラスタリング処理が行われなかった場合、第３期間の高さ情報の最大値と第２期間の高さ情報の平均値とを比較して挙手の判定を行う。状況推定部２２０Ｆは、検出した人データ毎の小クラスタ数が１つの場合、人が挙手を行っていないと推定する。または、状況推定部２２０Ｆは、検出した人データ毎の小クラスタの数が２つ以上の場合、人が挙手を行っていると推定する。次に、状況推定部２２０Ｆは、第１期間に手を挙げた人数を推定する。状況推定部２２０Ｆは、処理をステップＳ９１３に進める。
【０２８３】
（ステップＳ９１３）状況推定部２２０Ｆは、シナリオ情報に基づいて、質問の提示を所定回数終了したか否か判別する。状況推定部２２０Ｆは、質問の提示を所定回数終了したと判別した場合（ステップＳ９１３；ＹＥＳ）、ステップＳ９１４に進み、質問の提示を所定回数終了していないと判別した場合（ステップＳ９１３；ＮＯ）、ステップＳ９０２に戻る。
【０２８４】
（ステップＳ９１４）状況推定部２２０Ｆは、シナリオ情報に基づいて、所定の質問が所定回数提示された後、ステップＳ９１２で推定された質問毎の推定結果に基づいて、多数決判定を行う。状況推定部２２０Ｆは、ステップＳ９１２で推定された質問毎の手を挙げた人数を比較し、最も人数が多い質問を選択する。
以上で、挙手検出の処理を終了する。
【０２８５】
本実施形態によれば、密集度が疎の場合に、クラスタ毎に肩峰高以上の測距点を抽出し、その測距点を再クラスタリングするようにした。これにより、本実施形態によれば、人が挙手を行ったとき、人の頭部のクラスタと手のクラスタとの２つの小クラスタを得ることができる。この結果、本実施形態によれば、手を低く挙げて挙手を行った場合であっても、人が挙手を行っていることを推定することができる。
また、本実施形態によれば、手が前方や横方向または斜め方向などに挙げられて挙手の高さがが十分な高さではない場合であっても、再クラスタリング部２１８によって２つのクラスタに分離できる。この結果、本実施形態によれば、手が前方や横方向または斜め方向などに挙げられて挙手の高さがが十分な高さではない場合であっても、人が挙手を行っていることを推定することができる。
【０２８６】
なお、携帯電話やデジタルカメラによって撮影を行っている人の場合、液晶画面を見ながら撮影を行う場合が多いため、手を低く挙げた挙手と同様の測距点が得られてしまう。これに対して、動作推定装置２０Ｆが、第1期間に限らずクラスタリングと再クラスタリングを実施することで、各人データの小クラスタ数を継続して観測する。続けて、動作推定装置２０Ｆが、第３期間と第２期間に関係なく小クラスタ数が２つ以上だった人データに関しては挙手ではなく携帯電話やカメラを使用していたものとして挙手の誤判定を防ぐようにしてもよい。
【０２８７】
なお、本実施形態では、状況推定部２２０Ｆが第３期間のときの小クラスタの数を検出する例を説明したが、これに限られない。例えば、状況推定部２２０Ｆは、第３期間及び第２期間を含む期間に、小クラスタの数を検出するようにしてもよい。
さらに、状況推定部２２０Ｆは、第３期間と第２期間との人データ毎の小クラスタ数の変化に基づいて、人が挙手を行っているか否かを推定するようにしてもよい。
【０２８８】
また、本実施形態においても、状況推定部２２０Ｆがヒストグラム処理部２２１（図１）を備え、ヒストグラム処理部２２１は、第１実施形態で説明したヒストグラムを用いた手法、第３実施形態で説明した手法、第４実施形態で説明した手法、第５実施形態で説明した手法のうち少なくとも１つを用いるようにしてもよい。
【０２８９】
なお、第１実施形態〜第７実施形態で説明した検出領域は、例えば１つの会場に限られない。検出領域は複数であってもよい。この場合、動作推定装置（２０、２０Ａ、２０Ｂ、２０Ｃ、２０Ｄ、２０Ｅ、２０Ｆ）は、例えば会場毎に手を挙げている人数を推定し、全ての会場で推定した結果を状況推定部（２２０、２２０Ａ、２２０Ｂ、２２０Ｅ、２２０Ｆ）が判別して多数決処理を行うようにしてもよい。そして、これらの会場は、離れていてもよく、会場が離れている場合は、複数の動作推定装置（２０、２０Ａ、２０Ｂ、２０Ｃ、２０Ｄ、２０Ｅ、２０Ｆ）が処理結果を、例えば無線回線を介して、１つの動作推定装置（２０、２０Ａ、２０Ｂ、２０Ｃ、２０Ｄ、２０Ｅ、２０Ｆ）に送信し、全ての処理結果を受信した動作推定装置（２０、２０Ａ、２０Ｂ、２０Ｃ、２０Ｄ、２０Ｅ、２０Ｆ）が処理を行うようにしてもよい。動作推定装置（２０、２０Ａ、２０Ｂ、２０Ｃ、２０Ｄ、２０Ｅ、２０Ｆ）が受信する処理結果は、例えばＬＲＦセンサ２による測距点の情報であってもよく、各会場に設置される動作推定装置（２０、２０Ａ、２０Ｂ、２０Ｃ、２０Ｄ、２０Ｅ、２０Ｆ）によって処理された人データ及び測距点の情報であってもよい。
【０２９０】
このように、離れた複数の会場にロボット（１、１Ａ、１Ｂ、１Ｃ、１Ｄ、１Ｅ、１Ｆ）を設置し、同期を行って処理を行う場合、ロボット（１、１Ａ、１Ｂ、１Ｃ、１Ｄ、１Ｅ、１Ｆ）が出力する音声信号は、国や地域に合わせたものであってもよい。
【０２９１】
なお、第１実施形態〜第７実施形態では、人が質問に対して手を挙げたり下げたりする例を説明したがこれに限られない。例えば、検出領域にいる複数が、頭頂部より高い高さにプラカード等を挙げたり下げたりする場合であっても、上述した処理によって多数決処理を行うことができる。
【０２９２】
なお、本発明における動作推定装置（２０、２０Ａ、２０Ｂ、２０Ｃ、２０Ｄ、２０Ｅ、２０Ｆ）、処理部１０の制御部１０２の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより挙手の推定を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０２９３】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０２９４】
１、１Ａ、１Ｂ、１Ｃ、１Ｄ、１Ｅ、１Ｆ…ロボット、２、２−１〜２−ｎ…ＬＲＦセンサ、１０…処理部、２０、２０Ａ、２０Ｂ、２０Ｃ、２０Ｄ、２０Ｅ、２０Ｆ…動作推定装置、２１０、２１０Ａ、２１０Ｂ、２１０Ｃ、２１０Ｄ、２１０Ｅ、２１０Ｆ…人処理部、２１１、２１１Ａ、２１１Ｂ、２１１Ｃ、２１１Ｄ、２１１−１〜２１１−ｎ、２１１Ａ−１〜２１１Ａ−ｎ、２１１Ｃ−１〜２１１Ｃ−ｎ、２１１Ｄ−１〜２１１Ｄ−ｎ…クラスタリング部、２１２、２１２Ｆ…クラスタデータ統合部、２１３、２１３Ｄ、２１３Ｅ、２１３Ｆ…トラッキング部、２１３１…人粒子散布部、２１４…測定データ統合部、２１５…測距データ分割部、２１６、２１６Ｃ、２１６Ｃ−１〜２１６Ｃ−ｍ…クラスタリング部、２１７、２１７−１〜２１７−ｍ…密集度計算部、２１８、２１８−１〜２１８−ｍ…再クラスタリング部、２２０、２２０Ａ、２２０Ｂ、２２０Ｅ、２２０Ｆ…状況推定部、２２１…ヒストグラム処理部、２３０、２３０Ｅ、２３０Ｆ…記憶部、１０１…記憶部、１０２…制御部、１０３…音声出力部、ｄ１、ｄ１’…人クラスタデータ、ｄ３、ｄ３’ …人データ、ｄ１２…再人クラスタデータ、ｄ４…トリガー信号、ｄ５…検出結果を示す情報
【図１】
0006455310.tif 000002
【図２】
0006455310.tif 000003
【図３】
0006455310.tif 000004
【図４】
0006455310.tif 000005
【図５】
0006455310.tif 000006
【図６】
0006455310.tif 000007
【図７】
0006455310.tif 000008
【図８】
0006455310.tif 000009
【図９】
0006455310.tif 000010
【図１０】
0006455310.tif 000011
【図１１】
0006455310.tif 000012
【図１２】
0006455310.tif 000013
【図１３】
0006455310.tif 000014
【図１４】
0006455310.tif 000015
【図１５】
0006455310.tif 000016
【図１６】
0006455310.tif 000017
【図１７】
0006455310.tif 000018
【図１８】
0006455310.tif 000019
【図１９】
0006455310.tif 000020
【図２０】
0006455310.tif 000021
【図２１】
0006455310.tif 000022
【図２２】
0006455310.tif 000023
【図２３】
0006455310.tif 000024
【図２４】
0006455310.tif 000025
【図２５】
0006455310.tif 000026
【図２６】
0006455310.tif 000027
【図２７】
0006455310.tif 000028
【図２８】
0006455310.tif 000029
【図２９】
0006455310.tif 000030
【図３０】
0006455310.tif 000031
【図３１】
0006455310.tif 000032
【図３２】
0006455310.tif 000033
【図３３】
0006455310.tif 000034
【図３４】
0006455310.tif 000035
【図３５】
0006455310.tif 000036