(57)【要約】    【構成】位置検出システム１００は、ＬＲＦ１２およびメモリ２２を備え、検出領域（Ｆ）内に存在する人間をＬＲＦ１２によってセンシングすることで位置を検出し、検出された位置データをメモリ２２のバッファに蓄積する。また、人間Ａおよび人間Ｂの位置履歴データに基づいて、すれ違い行動が行われていると判断された場合、すれ違いモデル毎にすれ違い軌跡ＣＴと一致する確率Ｐが算出される。そして、プロセッサ２０は、確率Ｐの値が最も大きいすれ違いモデルＣＭに従って人間Ｂの移動方向を決め、第１所定時間後の人間Ｂの移動距離を求めることで、人間Ｂの将来位置を算出する。    【効果】すれ違い行動が行われると、そのすれ違い行動と最も似ているすれ違いモデルを選択することで、人間の将来の位置を予測することができる。【選択図】図１
2011220904.tif 000002
【特許請求の範囲】
【請求項１】
空間内に存在する実体を環境センサによってセンシングすることで、前記空間内における各実体の位置を検出する、位置検出システムであって、
検出された前記各実体の位置データを履歴として蓄積する位置データ蓄積手段、
１の実体を含む所定領域内に他の実体が特定時間存在するような、前記１の実体と前記他の実体とのすれ違い行動が行われたかを、前記位置データ蓄積手段によって蓄積した前記１の実体および他の実体の位置データの履歴に基づいて判断する判断手段、および
前記判断手段によってすれ違い行動が行われたと判断されたとき、前記１の実体および他の実体の位置データの履歴に基づいて、前記他の実体における第１所定時間後の位置を予測する第１予測手段をさらに備える、位置検出システム。
【請求項２】
入口と出口とを有する空間内に存在する実体を環境センサによってセンシングすることで、前記空間内における各実体の位置を検出する、位置検出システムであって、
検出された前記各実体の位置データを履歴として蓄積する位置データ蓄積手段、
各実体とそれらに関連して付与された識別情報を含むテーブルを記憶する記憶手段、
前記出口を経由しないで前記空間内で第１実体が消滅したとき、前記第１実体の識別情報を記憶する第１識別情報記憶手段、
前記入口を経由しないで前記空間内で第２実体が発生したとき、前記第２実体の識別情報を記憶する第２識別情報記憶手段、
前記第１実体が消滅した第１時刻と前記第２実体が発生した第２時刻との時間差を第２所定時間として算出する時間算出手段、
第３実体を含む所定領域内に第１実体が特定時間存在するような、前記第３実体と前記第１実体とのすれ違い行動が行われたとき、前記第１実体および第３実体の位置データの履歴に基づいて、前記第１実体における第２所定時間後の位置を予測する第２予測手段、および
前記第２予測手段によって予測された前記第１実体の位置と、前記第２実体が発生した位置との距離が所定距離以下であるとき、前記テーブルにおいて前記第２実体の識別情報を前記第１実体の識別情報に置き換える置換手段をさらに備える、位置検出システム。
【請求項３】
前記位置予測システムは、すれ違い行動における前記他の実体の軌跡を表す、複数の軌跡モデルを記憶しており、
前記第１予測手段または第２予測手段は、すれ違い行動を行う２つの実体の位置データの履歴に基づいて、前記複数のモデルの中から１つの軌跡モデルを選択する選択手段、および前記選択手段によって選択された前記１つの軌跡モデルに基づいて、実体の位置を算出する位置算出手段を含む、請求項１または２記載の位置検出システム。
【請求項４】
空間内に存在する実体を環境センサによってセンシングすることで、前記空間内における各実体の位置を検出する、位置検出システムのプロセッサを、
検出された前記各実体の位置データを履歴として蓄積する位置データ蓄積手段、
１の実体を含む所定領域内に他の実体が特定時間存在するような、前記１の実体と前記他の実体とのすれ違い行動が行われたかを、前記位置データ蓄積手段によって蓄積した前記１の実体および他の実体の位置データの履歴に基づいて判断する判断手段、および
前記判断手段によってすれ違い行動が行われたと判断されたとき、前記１の実体および他の実体の位置データの履歴に基づいて、前記他の実体における所定時間後の位置を予測する予測手段として機能させる、位置検出プログラム。
【請求項５】
空間内に存在する実体を環境センサによってセンシングすることで、前記空間内における各実体の位置を検出する、位置検出システムの位置検出方法であって、
検出された前記各実体の位置データを履歴として蓄積し、
１の実体を含む所定領域内に他の実体が特定時間存在するような、前記１の実体と前記他の実体とのすれ違い行動が行われたかを、蓄積した前記１の実体および他の実体の位置データの履歴に基づいて判断し、そして
すれ違い行動が行われたと判断されたとき、前記１の実体および他の実体の位置データの履歴に基づいて、前記他の実体における所定時間後の位置を予測する、位置検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、位置検出システムに関し、特にたとえば、人間の行動から将来の位置を予測する、位置検出システムに関する。
【背景技術】
【０００２】
非特許文献１のシステムは、ショッピングモール内の人々の位置を複数のＬＲＦ（Laser Range Finder）によって検出し、人々の位置のデータを蓄積する。そして、このシステムは、蓄積した人々の位置に基づいて、人々の大局行動を推定したり、ショッピングモール内に存在するロボットの行動を決定したりできる。
【非特許文献１】Takayuki Kanda, Dylan F. Glas, Masahiro Shiomi, Hiroshi Ishiguro and Norihiro Hagita, "Who will be the customer? : A social robot that anticipates people's behavior from their trajectories" (Tenth International Conference on Ubiquitous Computing (UbiComp 2008), pp. 380 - 389, 2008)
【発明の概要】
【発明が解決しようとする課題】
【０００３】
近年、人々の位置のデータを蓄積することで、人の行動を推定したり、非特許文献１のように人々の大局行動を推定したりするシステムが開発されている。ところが、人々がすれ違う際の行動に注目して、人々の行動や、将来位置を予測するシステムは開発されていない。
【０００４】
それゆえに、この発明の主たる目的は、新規な、位置検出システムを提供することである。
【０００５】
この発明の他の目的は、すれ違い行動に基づいて将来の位置を予測することができる、位置検出システムを提供することである。
【課題を解決するための手段】
【０００６】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために記述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【０００７】
第１の発明は、空間内に存在する実体を環境センサによってセンシングすることで、空間内における各実体の位置を検出する、位置検出システムであって、検出された各実体の位置データを履歴として蓄積する位置データ蓄積手段、１の実体を含む所定領域内に他の実体が特定時間存在するような、１の実体と他の実体とのすれ違い行動が行われたかを、位置データ蓄積手段によって蓄積した１の実体および他の実体の位置データの履歴に基づいて判断する判断手段、および判断手段によってすれ違い行動が行われたと判断されたとき、１の実体および他の実体の位置データの履歴に基づいて、他の実体における第１所定時間後の位置を予測する第１予測手段をさらに備える、位置検出システムである。
【０００８】
第１の発明では、位置検出システム（１００）は、空間内に存在する、人間などの実体をＬＲＦ（１２）などの環境センサによってセンシングすることで、各実体の座標位置を検出する。位置データ蓄積手段（２０，Ｓ５）は、たとえば３６０秒分の位置データの履歴をバッファに蓄積する。たとえば、第１の発明では、１の実体を中心とした所定半径（５m）で定義される所定領域（ホット領域ＨＴ）内で、他の実体が特定時間（３秒より長く、１０秒より短い時間）存在している状態を、すれ違い行動と言う。そして、判断手段（２０，Ｓ２９，Ｓ３１）は、１の実体と他の実体との間で、すれ違い行動が行われたかを、１の実体および他の実体の位置データの履歴に基づいて判断する。第１予測手段（２０，Ｓ５１）は、１の実体および他の実体の間ですれ違い行動が行われたとき、それらの実体の位置データの履歴に基づいて、他の実体における第１所定時間後の位置を予測する。
【０００９】
第１の発明によれば、すれ違い行動が行われると、そのすれ違い行動に基づいて、実体の将来の位置を予測することができる。
【００１０】
第２の発明は、入口と出口とを有する空間内に存在する実体を環境センサによってセンシングすることで、空間内における各実体の位置を検出する、位置検出システムであって、検出された各実体の位置データを履歴として蓄積する位置データ蓄積手段、各実体とそれらに関連して付与された識別情報を含むテーブルを記憶する記憶手段、出口を経由しないで空間内で第１実体が消滅したとき、第１実体の識別情報を記憶する第１識別情報記憶手段、入口を経由しないで空間内で第２実体が発生したとき、第２実体の識別情報を記憶する第２識別情報記憶手段、第１実体が消滅した第１時刻と第２実体が発生した第２時刻との時間差を第２所定時間として算出する時間算出手段、第３実体を含む所定領域内に第１実体が特定時間存在するような、第３実体と第１実体とのすれ違い行動が行われたとき、第１実体および第３実体の位置データの履歴に基づいて、第１実体における第２所定時間後の位置を予測する第２予測手段、および第２予測手段によって予測された第１実体の位置と、第２実体が発生した位置との距離が所定距離以下であるとき、テーブルにおいて第２実体の識別情報を第１実体の識別情報に置き換える置換手段をさらに備える、位置検出システムである。
【００１１】
第２の発明では、位置検出システム（１００）は、入口と出口とを有する空間内に存在する各実体を環境センサ（１２）によってセンシングすることで各実体の位置を検出し、検出された各実体の位置データは位置データ蓄積手段（２０，Ｓ５）によってバッファに蓄積される。入口と出口とは、明確な位置が決まっておらず、空間と外との境界が出口であり、入り口でもある。各実体には、たとえばそれらを識別するための識別情報（人間ＩＤ）が付与される。また、記憶手段（２２）はその識別情報を含むテーブルを記憶する。第１識別情報記憶手段（２０，Ｓ１０９）は、空間と外との境界以外の空間内で第１実体が消滅したとき、第１実体の識別情報を記憶する。第２識別情報記憶手段（２０，Ｓ１２１）は、空間と外との境界以外の空間内で第２実体が発生したとき、第２実体の識別情報を記憶する。たとえば、第１実体が消滅してから、３秒後に第２実体が発生していれば、時間算出手段（２０，Ｓ１３９）は第２所定時間（途切時間）を３秒として算出する。たとえば、第２の発明でも、第３実体（人間Ｂまたは人間Ｃ）を中心とした所定半径で定義される所定領域内で、第１実体（人間Ａ）が特定時間存在している状態を、すれ違い行動と言う。そして、第２予測手段（２０，Ｓ１４３）は、このようなすれ違い行動が行われたとき、第１実体において、消滅してから第２所定時間後の位置を予測する。また、予測された第１実体の位置と第２実体の発生した位置との距離が所定距離（閾値Ｔｂ）以下であれば、第１実体と第２実体とが同一であると考えることができる。そのため、置換手段（２０，Ｓ１６１）は、予測された第１実体の位置と第２実体の発生した位置との距離が所定距離以下であれば、識別情報が含まれるテーブルにおいて、第２実体の識別情報を第１実体の識別情報に置き換える。
【００１２】
第２の発明によれば、位置検出システムの内部エラーによって実体の位置の検出が一時的に中断しても、すれ違い行動に基づいて位置を予測することで、識別情報を補完することができる。
【００１３】
第３の発明は、第１の発明または第２の発明に従属し、位置検出システムは、すれ違い行動における他の実体の軌跡を表す、複数の軌跡モデルを記憶しており、第１予測手段または第２予測手段は、すれ違い行動を行う２つの実体の位置データの履歴に基づいて、複数のモデルの中から１つの軌跡モデルを選択する選択手段、および選択手段によって選択された１つの軌跡モデルに基づいて、実体の位置を算出する位置算出手段を含む。
【００１４】
第３の発明では、位置検出システムは、すれ違い行動が行われたときの実体の軌跡を表す、複数の軌跡モデル（すれ違いモデル）を記憶する。また、複数の軌跡モデルは、たとえば隠れマルコフモデル（以下、ＨＭＭ(Hidden Markov Model)と言う。）の手法に基づいてモデル化されている。選択手段（２０，Ｓ８１）は、たとえば、すれ違い行動を行う２つの実体の位置データの履歴に基づいてすれ違い行動における軌跡を求め、その軌跡と各軌跡モデルとが一致する確率を算出することで、最も確率が高い軌跡モデルを選択する。位置算出手段（２０，Ｓ８７）は、選択された１つの軌跡モデルに基づいてすれ違い行動における移動の方向を決め、移動距離を求めることで、実体の将来の位置を算出する。
【００１５】
第３の発明によれば、ＨＭＭの手法などによってすれ違い行動の軌跡をモデル化することで、実体の将来の位置を予測することできる。
【００１６】
第４の発明は、空間内に存在する実体を環境センサ（１２）によってセンシングすることで、空間内における各実体の位置を検出する、位置検出システム（１００）のプロセッサ（２０）を、検出された各実体の位置データを履歴として蓄積する位置データ蓄積手段（Ｓ５）、１の実体を含む所定領域内に他の実体が特定時間存在するような、１の実体と他の実体とのすれ違い行動が行われたかを、位置データ蓄積手段によって蓄積した１の実体および他の実体の位置データの履歴に基づいて判断する判断手段（Ｓ２９，Ｓ３１）、および判断手段によってすれ違い行動が行われたと判断されたとき、１の実体および他の実体の位置データの履歴に基づいて、他の実体における所定時間後の位置を予測する予測手段（Ｓ５１）として機能させる、位置検出プログラムである。
【００１７】
第４の発明でも、第１の発明と同様に、すれ違い行動が行われると、そのすれ違い行動に基づいて、実体の将来の位置を予測することができる。
【００１８】
第５の発明は、空間内に存在する実体を環境センサ（１２）によってセンシングすることで、空間内における各実体の位置を検出する、位置検出システム（１００）の位置検出方法であって、検出された各実体の位置データを履歴として蓄積し（Ｓ５）、１の実体を含む所定領域内に他の実体が特定時間存在するような、１の実体と他の実体とのすれ違い行動が行われたかを、蓄積した１の実体および他の実体の位置データの履歴に基づいて判断し（Ｓ２９，Ｓ３１）、そしてすれ違い行動が行われたと判断されたとき、１の実体および他の実体の位置データの履歴に基づいて、他の実体における所定時間後の位置を予測する（Ｓ５１）、位置検出方法である。
【００１９】
第５の発明でも、第１の発明と同様に、すれ違い行動が行われると、そのすれ違い行動に基づいて、実体の将来の位置を予測することができる。
【発明の効果】
【００２０】
この発明によれば、すれ違い行動が行われると、そのすれ違い行動に基づいて、実体の将来の位置を予測することができる。
【００２１】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００２２】
【図１】図１はこの発明の一実施例の位置検出システムの概要を示す図解図である。
【図２】図２は図１に示す中央制御装置の電気的な構成の一例を示す図解図である。
【図３】図３は図１および図２に示すＬＲＦの計測領域を示す図解図である。
【図４】図４は図１および図２に示すＬＲＦを利用して取得された実体の移動軌跡の一例を示す図解図である。
【図５】図５は図２に示すメモリに蓄積された実体の位置履歴データの構成の一例を示す図解図である。
【図６】図６は図２に示すメモリに記憶されたＩＤテーブルの構成の一例を示す図解図である。
【図７】図７は図４に示す人間同士のすれ違い行動の軌跡の一例を示す図解図である。
【図８】図８は図４に示す人間同士のすれ違い行動における距離および移動速度の変化を示すグラフである。
【図９】図９は複数の人間同士のすれ違い行動の軌跡の一例を示す図解図である。
【図１０】図１０は図９に示す複数の人間同士のすれ違い行動の軌跡における、複数の平均軌跡の一例を示す図解図である。
【図１１】図１１は図９に示す複数の人間同士のすれ違い行動の軌跡に基づく、すれ違いモデルを示す図解図である。
【図１２】図１２は図１１に示す、１つのすれ違いモデルに基づく将来位置の予測の一例を示す図解図である。
【図１３】図１３は図１に示す人間に付与された人間ＩＤの補完の一例を示す図解図である。
【図１４】図１４は図２に示すメモリのメモリマップの一例を示す図解図である。
【図１５】図１５は図１に示す中央制御装置のプロセッサの位置検出処理を示すフロー図である。
【図１６】図１６は図１に示す中央制御装置のプロセッサの予測制御処理の一部を示すフロー図である。
【図１７】図１７は図１に示す中央制御装置のプロセッサの予測制御処理の一部であって、図１６に後続するフロー図である。
【図１８】図１８は図１に示す中央制御装置のプロセッサのすれ違い行動予測処理を示すフロー図である。
【図１９】図１９は図１に示す中央制御装置のプロセッサのＩＤ補完処理の一部を示すフロー図である。
【図２０】図２０は図１に示す中央制御装置のプロセッサのＩＤ補完処理の一部であって、図１９に後続するフロー図である。
【図２１】図２１は図１に示す中央制御装置のプロセッサのＩＤ補完処理の他の一部であって、図１９および図２０に後続するフロー図である。
【発明を実施するための形態】
【００２３】
図１を参照して、位置検出システム１００は、中央制御装置１０およびＬＲＦ１２（環境センサ）から構成されている。中央制御装置１０は、ＬＲＦ１２ａ，１２ｂを含む、複数のＬＲＦ１２と接続される。また、ＬＲＦ１２ａ，１２ｂは人間Ａ，Ｂ，Ｃが行動できる場所（環境）に設置される。そして、中央制御装置１０はＬＲＦ１２ａ，１２ｂを利用して、人間Ａ，Ｂ，Ｃをセンシングすることで、複数の人間の位置を検出する。たとえば、人間が行動できる場所とは、会社のフロア、博物館、ショッピングモールまたはアトラクション会場などである。
【００２４】
なお、システムの管理者は、このような場所で、ＬＲＦ１２ａ，１２ｂなどを容易に設置することができる。また、ここでは簡単のため人間を３人しか示していないが、中央制御装置１０は１人以上の人間や、複数の自律移動型のロボット（以下、単に「ロボット」と言う。）などを同時に検出することができる。さらに、本実施例では、ＬＲＦ１２によってセンシングされる、人間およびロボットなどをまとめて実体と言うこともある。
【００２５】
図２は、中央制御装置１０の電気的な構成を示すブロック図である。図２を参照して、中央制御装置１０は、ＬＲＦ１２ａ−１２ｆおよびプロセッサ２０を含む。プロセッサ２０は、ＲＴＣ(Real Time Clock)２０ａを含んでおり、検出した位置データに対して、ＲＴＣ２０ａから得られた時刻データを対応付けて、メモリ２２のバッファに蓄積する。
【００２６】
プロセッサ２０は、先述したＬＲＦ１２ａおよびＬＲＦ１２ｂに加えて、ＬＲＦ１２ｃ，ＬＲＦ１２ｄ，ＬＲＦ１２ｅおよびＬＲＦ１２ｆともそれぞれ接続される。さらに、プロセッサ２０は、記憶手段であるメモリ２２とも接続される。なお、プロセッサ２０は、マイクロコンピュータ或いはCPUとも呼ばれることもある。
【００２７】
ＬＲＦ１２は、レーザーを照射し、物体（実体も含む）に反射して戻ってくるまでの時間から当該物体ための距離を計測するものである。たとえば、トランスミッタ（図示せず）から照射したレーザーを回転ミラー（図示せず）で反射させて、前方を扇状に一定角度（たとえば、０．５度）ずつスキャンする。ここで、ＬＲＦ１２としては、HOKUYO社製のレーザーレンジファインダ（型式  UTM-30LX）を用いることができる。このレーザーレンジファインダを用いた場合には、距離８mを±６cm程度の誤差で計測可能である。
【００２８】
メモリ２２は、図示は省略をするが、HDD,SSD(Solid State Drive),ROMおよびRAMを含む。ROM，SSDおよびHDDには、中央制御装置１０の動作を制御するための制御プログラムが予め記憶される。たとえば、人間の検出に必要なプログラムなどが記録される。また、RAMは、ワークメモリやバッファメモリとして用いられる。
【００２９】
次にＬＲＦ１２について詳細に説明する。図３を参照して、ＬＲＦ１２の計測範囲は、半径Ｒ（Ｒ≒８m）の半円形状（扇形）で示される。つまり、ＬＲＦ１２は、その正面方向を中心とした場合に、左右９０°の方向を所定の距離（Ｒ）以内で計測可能である。
【００３０】
また、使用しているレーザーは、日本工業規格  JIS C 6802「レーザー製品の安全基準」におけるクラス１レーザーであり、人の眼に対して影響を及ぼさない安全なレベルである。なお、ＬＲＦ１２のサンプリングレートを３７Hzとした。これは、移動したり、停止したりする実体の位置を連続して検出するためである。
【００３１】
さらに、先述したように、ＬＲＦ１２は、様々な場所に配置される。具体的には、ＬＲＦ１２ａ−１２ｆの各々は、計測領域が重なるように配置され、図示は省略するが、床面から約１１０cmの高さに固定される。この高さは、人間の胴体と腕（両腕）とを検出可能とするためであり、たとえば、日本人の成人の平均身長から算出される。したがって、遠隔操作装置１４を設ける場所（地域ないし国）や人間の年齢ないし年代（たとえば、子供，大人）に応じて、ＬＲＦ１２を固定する高さを適宜変更するようにしてよい。なお、本実施例では、設定されるＬＲＦ１２は６台としたが、２台以上であれば、任意の台数のＬＲＦ１２を設置してもよい。
【００３２】
このような構成の中央制御装置１０では、プロセッサ２０がＬＲＦ１２からの出力（距離データ）に基づいて、パーティクルフィルタを用いて、人間の現在位置の変化を推定する。たとえば、ＬＲＦ１２によってスキャンされると、人間が存在しない可視領域、人間が存在する陰領域および人間のエッジが検出される。また、実空間に対応する仮想空間に対してパーティクルを均等にばら撒き、ＬＲＦ１２毎に尤度を求める。さらに、ＬＲＦ１２毎の尤度を統合することで、各パーティクルが更新される。そして、更新された各パーティクルによって人間の現在位置の変化が推定される。なお、尤度は、可視領域では一定値とし、陰領域では一定値とエッジの尤度との和となる。
【００３３】
このようにして推定された現在位置の変化に基づいて、人間の位置を求め、その位置を示すデータ（位置データ）がバッファに蓄積される。また、本実施例では、バッファに蓄積された全ての位置データをまとめて「位置履歴データ」と言う。
【００３４】
なお、パーティクルフィルタを利用した人物追跡については、特開２００８−６１０５号公報に詳細が開示されている。
【００３５】
図４は、ＬＲＦ１２ａ−１２ｆが設置された或る環境の地図を示す図解図である。図４を参照して、地図が表す場所は或るショッピングモールである。ＬＲＦ１２ａ，１２ｃ，１２ｄの３台は地図の上側の位置に対応して設置されており、ＬＲＦ１２ｂ，１２ｅ，１２ｆの３台は地図の下側の位置に対応して設定されている。そして、２台以上のＬＲＦ１２の計測領域が重なる領域は、検出領域Ｆとして示され、図４では斜線の領域である。なお、検出領域Ｆにおける位置（座標）は、図４における左下を原点とする平面座標系で示される。
【００３６】
また、図４では、検出領域Ｆ（空間）内で検出された人間Ａ，Ｂ，Ｃの移動軌跡Ｍａ，Ｍｂ，Ｍｃを示す。つまり、人間Ａの位置データの履歴は移動軌跡Ｍａで示され、人間Ｂの位置データの履歴は移動軌跡Ｍｂで示され、人間Ｃの位置データの履歴は移動軌跡Ｍｃで示される。なお、検出領域Ｆでは、明確に入口と出口とは決められていない。そのため、検出領域Ｆと外の領域との境界が入口であり、出口でもある。
【００３７】
図５は位置履歴データの構成を示す図解図である。図５を参照して、各位置データは、位置を検出した時刻（Ｔ）および検出領域Ｆの平面座標を示す数値（ｘ，ｙ）から構成される。そして、各位置履歴データは、人間毎に分けて蓄積される。たとえば、メモリ２２のバッファには、人間Ａの位置履歴データ、人間Ｂの位置履歴データおよび人間Ｃの位置履歴データが蓄積される。
【００３８】
なお、位置データは、一定時間（たとえば、３６０秒）が経つと古いデータから削除（上書き）される。つまり、位置履歴データがメモリ２２の容量を圧迫することは無い。
【００３９】
図６はメモリ２２に記憶されている、ＩＤテーブルの構成を示す図解図である。図６を参照して、ＩＤテーブルは、検出された人間に付与されるＩＤ（以下、人間ＩＤと言う。）および検出領域Ｆの平面座標を示す数値（Ｅｘ，Ｅｙ）から構成される。また、平面座標の各数値は、各位置履歴データの最新の座標に、随時更新される。たとえば、ＩＤテーブルにおいて人間ＩＤが「００」の座標（Ｅｘ１，Ｅｙ１）は、位置履歴データにおける、人間Ａ（人間ＩＤ：００）の最新の座標（ｘ５，ｙ５）に更新される。なお、上記の人間ＩＤは「識別情報」と呼ばれることもある。
【００４０】
図７は、ホット領域ＨＴにおける、人間Ａおよび人間Ｂのすれ違いを示す図解図である。また、このホット領域ＨＴとは、人間同士がすれ違う際に移動方向が変化する領域を意味し、半径５mの広さを持つ。図７を参照して、この図のホット領域ＨＴは人間Ａの位置を中心ＨＯとして含む。また、すれ違い軌跡ＣＴは人間Ｂと対応しており、左中央を始点として人間Ａに対する人間Ｂの相対的な位置の変化を示す。このすれ違い軌跡ＣＴは、図４における人間Ａと人間Ｂとのすれ違い行動が行われている間に蓄積された、２人の位置履歴データに基づいて描画される。
【００４１】
そして、本実施例では、このホット領域ＨＴにおいて、すれ違い軌跡ＣＴを描画するための位置履歴データの量から「すれ違い時間（特定時間）」を求め、そのすれ違い時間に基づいて、すれ違い行動が行われたか否かを判断する。なお、本実施例では、ホット領域ＨＴにおいて、すれ違い時間が３秒より長く、１０秒未満であれば、すれ違い行動が行われたと判断する。
【００４２】
たとえば、人間Ａと人間Ｂとが一緒に歩いている場合には、人間Ａと人間Ｂとの位置関係が大きく変化することは無いため、すれ違い時間は長くなり、すれ違い行動が行われたと判断されない。また、人間Ｂが人間Ａのホット領域ＨＴに偶然入った場合には、すれ違い時間はかなり短くなり、すれ違い行動が行われたとは判断されない。
【００４３】
なお、人間Ａだけが移動しており、人間Ｂが停止していても、人間Ｂの位置は変化するため、すれ違い軌跡ＣＴは描画される。
【００４４】
図８は、人間Ａと人間Ｂとのすれ違い行動が行われている間の距離および移動速度の変化を示すグラフである。図８を参照して、左縦軸は人間Ａと人間Ｂとの距離（mm）を示し、右縦軸は人間Ａおよび人間Ｂの移動速度（mm/s）を示し、横軸はすれ違い行動が行われている間の時間（秒：s）を示す。また、グラフ中の実線は人間Ａと人間Ｂとの距離の変化を示し、点線は人間Ａの移動速度の変化を示し、一点鎖線は人間Ｂの移動速度の変化を示す。そして、各線の変化に着目すると、人間Ａと人間Ｂとがすれ違うときには、２人の距離は大きく変化するが、各人間の移動速度はほとんど変化しないことが分かる。つまり、すれ違い行動が行われている間は、人間Ａおよび人間Ｂの移動速度はほとんど変化しないため、すれ違い行動における移動方向を特定することで、すれ違っている人間Ｂの将来位置を予測できることが分かる。
【００４５】
そこで、本実施例では、多数のすれ違い軌跡ＣＴに基づいて、典型的なすれ違い軌跡を表す、すれ違いモデルを構築する。そして、すれ違い行動が行われていると判断されたときに、そのときのすれ違い軌跡ＣＴに最も似ている（一致する）すれ違いモデルを選択することで、すれ違いにおける将来位置を予測する。
【００４６】
まず初めに、すれ違いモデルの構築について説明する。図９（Ａ），（Ｂ）を参照して、すれ違いモデルを構築するためのすれ違い軌跡ＣＴは、ホット領域ＨＴにおいて、始点が緑色（図では薄い灰色）で示され、終点が赤色（図では濃い灰色）で示される。また、人間は様々な方向ですれ違うため、図９（Ａ）では、ホット領域ＨＴにおける各すれ違い軌跡ＣＴの始点および終点は全方向（３６０度）に散らばる。そこで、各すれ違い軌跡ＣＴの始点がホット領域ＨＴの右中央となるように、各すれ違い軌跡ＣＴを回転させる正規化を行う。
【００４７】
図９（Ｂ）を参照して、正規化された複数のすれ違い軌跡ＣＴの始点は右中央に集中するが、終点は様々な方向に散らばっている。これにより、各すれ違い軌跡ＣＴは、一定の角度毎に分類可能なことが分かる。
【００４８】
本実施例では、各すれ違い軌跡ＣＴをk-means法によってクラスタリング（結合）することで、各すれ違い軌跡を分類する。k-means法によって各すれ違い軌跡ＣＴをクラスタリングするためには、まず、すれ違い軌跡ＣＴ毎に、他のすれ違い軌跡ＣＴとの距離ＴＤを計測する必要がある。そのため、一方のすれ違い軌跡ＣＴをｔ１、他方のすれ違い軌跡ＣＴをｔ２、各すれ違い軌跡ＣＴを構成する点をｐ、すれ違い軌跡ＣＴの点ｐの数をｎ、点同士の距離をＰＤとしたとき、数１に従う式によって距離ＴＤが算出される。なお、各すれ違い軌跡ＣＴは５００ms毎に分割されるため、５００ｍｓ毎の点ｐで距離が算出される。そして、分割に基づく点の数ｎは、全すれ違い軌跡ＣＴにおいて、同じになるように設定される。
【００４９】
【数１】
2011220904.tif 000003
【００５０】
また、k-means法における「ｋ」は「７２」とする。これは、ホット領域ＨＴにおいて５度毎にグループを作成すると、７２グループ（＝３６０÷５）になるからである。そして、各グループにおける平均に最も近いすれ違い軌跡ＣＴを、k-means法の初期重心とし、最終的な重心をグループ毎に算出する。
【００５１】
具体的には、各グループの重心である、平均軌跡ＡＴと各すれ違い軌跡ＣＴとの距離を数１に従う式に基づいて求め、算出された距離に基づいて１つのグループに含まれる歩行軌跡を分類する。このとき、或るグループに含まれるすれ違い軌跡ＣＴが他のグループに分類された場合には、そのグループの新しい重心、つまり平均軌跡ＡＴを算出する。そして、k-means法では、他のグループにすれ違い軌跡ＣＴが分類されなくなるまで、新しい重心を算出し続ける。また、平均軌跡ＡＴは数２に従う式で示される。
【００５２】
【数２】
2011220904.tif 000004
【００５３】
さらに、各グループに含まれるすれ違い軌跡ＣＴの数をＭとしたとき、グループ内のすれ違い軌跡ＣＴを構成する点ｐにおける、平均の点Ａｐｉは、数３に従う式に基づいて算出される。なお、平均の点Ａｐｉは、各すれ違い軌跡ＣＴにおける、５００ms毎の点ｐｉが平均されたものである。
【００５４】
【数３】
2011220904.tif 000005
【００５５】
図１０（Ａ）−図１０（Ｄ）は、或るグループにおける平均軌跡ＡＴ１−平均軌跡ＡＴ４を示す図解図である。図１０（Ａ）を参照して、軌跡グループＧ１をクラスタリングすることで、短い距離でホット領域ＨＴの外に向かう平均軌跡ＡＴ１が算出される。また、図１０（Ｂ）を参照して、軌跡グループＧ２をクラスタリングすることで、始点から右方向（図では上方向）に進む平均軌跡ＡＴ２が算出される。さらに、図１０（Ｃ）を参照して、軌跡グループＧ３をクラスタリングすることで、始点から左方向（図では下方向）に進む平均軌跡ＡＴ３が算出される。そして、図１０（Ｄ）を参照して、軌跡グループＧ４をクラスタリングすることで、始点から反対方向（図では左方向）に進む平均軌跡ＡＴ４が算出される。
【００５６】
このようにして、クラスタリングされた各平均軌跡ＡＴは、「left to right」のＨＭＭの手法に従い、すれ違いモデルとして構築（モデル化）される。また、構築されたすれ違いモデルのうち、モデルを構築するためのすれ違い軌跡ＣＴの数が１０個未満のモデルは、典型的なすれ違い軌跡を表しているとは言えないため、削除する。そして、削除されずに残ったすれ違いモデルに対応する、６４個の典型的なすれ違いを図１１に示す。
【００５７】
なお、ＨＭＭの手法に従ってモデル化することで、５００ms毎の位置の変化を確率的に表現できるようになる。また、各すれ違いモデルには、それぞれを識別するための識別番号が割り振られる。
【００５８】
次に、すれ違いモデルを特定し、将来位置の予測について説明する。たとえば、人間Ａと人間Ｂとがすれ違い行動を行ったと判断されると、ホット領域ＨＴにけるすれ違い軌跡ＣＴと各すれ違いモデルとが一致する確率Ｐが、数４に従う式で算出される。
【００５９】
【数４】
2011220904.tif 000006
【００６０】
数４において、関数Ｘは二変量正規分布関数を表し、数５に従う式で示される。また、初期状態確率πはＨＭＭにおける初期状態の確率であり、すれ違い軌跡ＣＴの点ｐが１番目（ｉ＝１）である場合に「１」となり、他の点では「０」となる。なお、上付き添え字「Ｔ」は、転置行列であることを示す数学記号であることに留意されたい。
【００６１】
【数５】
2011220904.tif 000007
【００６２】
さらに、数５における、行列μは数６に従う式で示され、分散共分散行列と呼ばれる正定値対称行列Σは数７に従う式で示される。そして、これらをまとめて、関数Ν（μ，Σ）として表すことができる。
【００６３】
【数６】
2011220904.tif 000008
【００６４】
【数７】
2011220904.tif 000009
【００６５】
なお、変数ａおよび変数ｂはすれ違い軌跡ＣＴおよびすれ違いモデルを示し、「σ」は下付き添え字（ａ，ｂ）の標準偏差を示し、「σ２」は下付き添え字の分散を示す。また、本実施例では、「σａｂ」を「０」する。さらに、確率Ｐは、ＨＭＭにおける「Forward-Backward」のアルゴリズムに従って算出される。
【００６６】
このようにして、各すれ違いモデルに対する確率Ｐが算出されると、確率Ｐの値が最も大きいすれ違いモデルが選択される。そして、選択されたすれ違いモデルを利用することで、人間の移動方向を特定できるため、第１所定時間（たとえば、４秒）後の将来位置を算出することができる。
【００６７】
図１２を参照して、中心ＨＯが人間Ａに対応し、すれ違い軌跡ＣＴに人間Ｂが対応し、現在位置ＮＰが人間Ｂの現在の位置を示す。また、全てのすれ違い軌跡ＣＴの平均移動速度をＳａ、検出領域Ｆ内に存在する全ての人間（人間Ａ−人間Ｃ）の平均移動速度をＳｈとしたとき、第１所定時間後の人間Ｂの移動距離は、数８の式に従って算出される。
【００６８】
【数８】
2011220904.tif 000010
【００６９】
そして、選択されたすれ違いモデルＣＭが示す移動方向および現在位置ＮＰに対する移動距離に基づいて、将来位置ＦＰを算出することができる。このように、本実施例では、ＨＭＭの手法によってすれ違いモデルを構築することで、人間の将来位置を予測できる。
【００７０】
なお、ホット領域ＨＴの中心ＨＯは、常に同じ人間を示すものではなく、人間Ｂおよび人間Ｃも中心ＨＯとなりえる。たとえば、人間Ａを中心ＨＯとして人間Ｂの将来位置が予測できる場合には、人間Ｂを中心ＨＯとして人間Ａの将来位置を予測することも可能である。
【００７１】
また、将来位置を予測することで、人間ＩＤを補完することができる。たとえば、図１３（Ａ）を参照して、中央制御装置１０の内部エラーが原因で、時刻Ｔに人間ＩＤ「００」の人間Ａの追跡が中断すると、人間Ａの位置履歴データ上では、検出領域Ｆの内部で人間Ａが検出領域Ｆの出口を経由せずに消滅したことになる。しかし、実際には人間Ａが消滅することは無いため、たとえば３秒後には人間Ａの追跡は再開される。つまり、人間Ａが検出領域Ｆの入り口を経由せずに発生したことになる。
【００７２】
ところが、図１３（Ｂ）に示すように、位置検出システム１００は、人間Ａを、検出領域Ｆ内で新たに出現（発生）した人間として判断し、人間Ａに対して新しい人間ＩＤ「０７」を付与してしまう。つまり、人間Ａ（第２実体）には、別の人間ＩＤが付与される。
【００７３】
そこで、人間ＩＤが「００」の人間Ａと、その人間Ａが消滅する直前にすれ違い行動を行った人間Ｂ（第３実体）とのすれ違い行動に基づいて、人間Ａの将来位置を予測することで人間Ａの人間ＩＤを補完する。
【００７４】
図１３（Ｃ）を参照して、人間ＩＤが「００」の人間Ａ（第１実体）が消滅してから発生するまでの時間が３秒であるため、ここでは、人間Ａが消滅した位置（消滅位置）から３秒後の位置を予測する。そして、図１３（Ｄ）に示すように、予測された位置と、人間ＩＤが「０７」の人間Ａ（第２実体）が発生した位置（発生位置）とが、所定距離（たとえば、１m）以内であれば、位置検出システム１００は、人間Ａの人間ＩＤを「００」に上書きする。つまり、ＩＤテーブルにおいて、人間ＩＤが「０７」と記録されている欄において、「０７」が「００」に置き換えられる。
【００７５】
このように、位置検出システムの内部エラーによって実体の位置の検出が一時的に中断しても、すれ違い行動に基づいて位置を予測することで、人間ＩＤを補完することができる。
【００７６】
なお、本実施例では、消滅する直前にすれ違った人間を人間Ｂとしたが、人間Ｃであってもよいし、図示しない他の人間であってもよい。
【００７７】
図１４は、図２に示すメモリ２２のメモリマップ３００の一例を示す図解図である。図１４に示すように、メモリ２２はプログラム記憶領域３０２およびデータ記憶領域３０４を含む。プログラム記憶領域３０２には、中央制御装置１０を動作させるためのプログラムとして、位置検出プログラム３１０、予測制御プログラム３１２、ＩＤ補完プログラム３１４およびすれ違い行動予測プログラム３１６などが記憶される。
【００７８】
位置検出プログラム３１０は、検出領域Ｆ内で検出された人間の位置データを、後述する位置履歴バッファ３３０に蓄積するためのプログラムである。予測制御プログラム３１２は、すれ違い行動を行った人間を判別するためのプログラムである。ＩＤ補完プログラム３１４は、検出領域Ｆ内で人間が消滅した時などに、人間ＩＤを補完するためのプログラムである。すれ違い行動予測プログラム３１６は、予測制御プログラム３１２およびＩＤ補完プログラム３１４のサブルーチンであり、すれ違い行動に基づいて将来位置を予測するためのプログラムである。
【００７９】
なお、図示は省略するが、中央制御装置１０を動作させるためのプログラムとしては、ＬＲＦ１２の電源や動作状態を制御するためのプログラムなどを含む。
【００８０】
また、データ記憶領域３０４には、位置履歴バッファ３３０、選択結果バッファ３３２、確率バッファ３３４、予測結果バッファ３３６およびＩＤバッファ３３８などが設けられる。また、データ記憶領域３０４には、すれ違いモデルデータ３４０、平均移動速度データ３４２およびＩＤテーブルデータ３４４が記憶される。
【００８１】
位置履歴バッファ３３０は、図５に示す位置履歴データが蓄積されるバッファである。選択結果バッファ３３２は、予測制御プログラム３１２が実行されているときに、将来位置が予測される人間の人間ＩＤを記憶するバッファである。確率バッファ３３４は、数４に従う式によって算出された確率Ｐが、すれ違いモデル毎に記録されるバッファである。予測結果バッファ３３６は、すれ違い行動予測プログラム３１６によって予測された将来位置が記憶されるバッファである。ＩＤバッファ３３８は、ＩＤ補完プログラム３１４が実行されたときに、たとえば人間Ａとすれ違った人間の人間ＩＤを記憶するためのバッファである。
【００８２】
すれ違いモデルデータ３４０は、複数のすれ違い軌跡ＣＴから構築された、すれ違いモデルを含むデータである。平均移動速度データ３４２は、先述した平均移動速度Ｓａを示すデータである。ＩＤテーブルデータ３４４は、図６に示すＩＤテーブルのデータである。
【００８３】
なお、図示は省略するが、データ記憶領域３０４には、ＬＲＦ１２が出力する生データが記憶されるバッファや、将来位置を予測するために行う計算の結果が記憶されるバッファなどが設けられると共に、中央制御装置１０の動作に必要な他のカウンタやフラグなども設けられる。
【００８４】
以下、中央制御装置１０によって実行される本願発明のフロー図について説明する。プロセッサ２０は、「Linux（登録商標）」または「Windows（登録商標）」などのOSの制御下で、図１５に示す位置検出処理、図１６および図１７に示す予測制御処理、図１８に示すすれ違い行動予測処理、図１９、図２０および図２１に示すＩＤ補完処理などを含む複数のタスクを並列的に実行する。
【００８５】
図１５は位置検出処理を示すフロー図である。たとえば、検出領域Ｆ内で人間が検出されると、位置検出処理が実行される。そして、プロセッサ２０は、ステップＳ１では現在時刻を記録する。つまり、ＲＴＣ２０ａから時刻データを取得する。続いて、ステップＳ３では、各人間の位置を検出する。つまり、検出領域Ｆ内に存在する、全ての人間の位置を検出する。
【００８６】
続いて、ステップＳ５では、検出された位置に現在時刻を対応付けてバッファに蓄積し、ステップＳ１に戻る。つまり、ステップＳ５では、ステップＳ１で取得された時刻データと検出された位置とを対応付けて、位置履歴バッファ３３０に蓄積する。また、位置データを記録する際には、検出した人間の人間ＩＤに基づいて記録する。たとえば、人間Ａの位置を検出した場合には、人間Ａの人間ＩＤに対応する位置履歴データに、新しく検出した位置データが蓄積される。また、ステップＳ５の処理を実行するプロセッサ２０は、位置データ蓄積手段として機能する。
【００８７】
なお、検出領域Ｆ内で新しい人間が検出された際には、新たな人間ＩＤが付与され、新しい位置履歴データが作成される。
【００８８】
図１６は予測制御処理を示すフロー図である。たとえば、中央制御装置１０の電源がオンにされると、プロセッサ２０は、ステップＳ１１で人間を検出しているか否かを判断する。つまり、位置履歴データに新しい位置データが追加されているか否かを判断する。ステップＳ１１で“ＮＯ”であれば、つまり人間が検出されていなければ、予測制御処理を終了する。
【００８９】
また、ステップＳ１１で“ＹＥＳ”であれば、つまり人間が検出されていれば、ステップＳ１３で人間ＩＤの最大値を変数Ｌに設定する。たとえば、検出領域Ｆ内に３人の人間が存在していれば、人間ＩＤの最大値は２となるため、変数Ｌには「２」が設定される。続いて、ステップＳ１５では、変数Ｉｘを初期化する。この変数Ｉｘは、人間ＩＤを指定するための変数である。そのため、変数Ｉｘが初期化されると「０」が設定される。なお、以下の説明では、人間ＩＤが「Ｉｘ」の人間は「人間Ｉｘ」と記述する。たとえば、人間ＩＤが「００」の人間は「人間０」と記述される。これは、図面でも同じである。
【００９０】
続いて、ステップＳ１７では、変数Ｉｘが「Ｌ＋１」と一致するか否かを判断する。つまり、人間ＩＤを示す変数Ｉｘが人間ＩＤの最大値よりも大きい値と一致するか否かを判断する。以下、ステップＳ１７と同様の判断ステップについては、詳細な説明を省略する。
【００９１】
ステップＳ１７で“ＮＯ”であれば、つまり変数Ｉｘが人間ＩＤの最大値よりも大きい値と一致しなければ、ステップＳ１９で人間Ｉｘの位置データをｓｎ秒分取得する。たとえば、定数ｓｎが１０であれば、現時刻から１０秒前までの位置データを、人間Ｉｘの位置履歴データから取得する。続いて、ステップＳ２１では、変数Ｉｘをインクリメントし、ステップＳ１７に戻る。つまり、次の人間ＩＤを指定するために、変数Ｉｘはインクリメントされる。
【００９２】
ステップＳ１７で“ＹＥＳ”であれば、つまり全員のｓｎ秒分の位置データが取得できれば、ステップＳ２３で変数Ｉｘを初期化し、ステップＳ２５で変数Ｉｙを「Ｉｘ＋１」に設定する。つまり、ステップＳ２７以降の処理で、各人間ＩＤを指定するために、変数Ｉｘは再度「０」に設定される。また、変数Ｉｙも、変数Ｉｘと同様に、人間ＩＤを指定するための変数である。そして、ステップＳ２７以降の処理で、人間毎にすれ違い行動が行われたか否かを判断するために、変数Ｉｙには変数Ｉｘよりも１つ大きい値が設定される。
【００９３】
なお、変数Ｉｘと同様、人間ＩＤが「Ｉｙ」の人間は「人間Ｉｙ」と記述する。また、変数Ｉｘが「０」であれば、変数Ｉｙは「１（＝０＋１）」となる。
【００９４】
続いて、図１７に示す、ステップＳ２７では、変数Ｉｘが「Ｌ＋１」と一致するか否かを判断する。ステップＳ２７で“ＹＥＳ”であれば、つまりステップＳ２９−Ｓ４３の処理によって各人間に対してすれ違い行動が行われたかを判断し終えていれば、ステップＳ４５に進む。一方、ステップＳ２７で“ＮＯ”であれば、つまり各人間に対してすれ違い行動が行われたかの判断が終了していなければ、ステップＳ２９でｓｎ秒間の人間Ｉｘと人間Ｉｙとの距離の変化を算出する。たとえば、人間０（人間Ａ）および人間１（人間Ｂ）であれば、図８に示す距離の変化グラフのように、ｓｎ秒間の距離の変化を算出する。
【００９５】
続いて、ステップＳ３１では、すれ違っているか否かを判断する。つまり、ステップＳ２９で算出されたｓｎ秒間の距離の変化に基づいて、すれ違い行動が行われているか否かを判断する。具体的には、算出されたｓｎ秒間の距離の変化において、２人の距離が５m以下のまま、３秒より長く１０秒未満継続しているか否かを判断する。ステップＳ３１で“ＮＯ”であれば、つまりすれ違い行動が行われていなければ、ステップＳ３７に進む。一方、ステップＳ３１で“ＹＥＳ”であれば、つまりすれ違い行動が行われていれば、ステップＳ３３に進む。なお、ステップＳ２９，Ｓ３１の処理を実行するプロセッサ２０は判断手段として機能する。
【００９６】
ステップＳ３３では、第１距離配列[Ｉｘ][Ｉｙ]に最短距離を記録する。たとえば、図８に示す距離の変化が算出されていれば、第１距離配列[０][１]には、谷の底の値である「９００mm」が最短距離として記録される。続いて、ステップＳ３５では時刻配列[Ｉｘ][Ｉｙ]にすれ違い時刻を記録する。つまり、ステップＳ３５では、時刻配列[Ｉｘ][Ｉｙ]には、すれ違い行動を行う２人の距離が最も短くなった時、つまり最短距離における時刻が記録される。たとえば、時刻配列[０][１]には、人間Ａと人間Ｂとの距離が「９００mm」となったときの時刻が記録される。なお、予測制御処理が終了すると、第１距離配列および時刻配列は初期化される。
【００９７】
続いて、ステップＳ３７では、変数Ｉｙをインクリメントする。つまり、ホット領域ＨＴ内を移動する人間において、次の人間ＩＤを指定するために、変数Ｉｙがインクリメントされる。続いて、ステップＳ３９では、変数Ｉｙが「Ｌ＋１」と一致するか否かを判断する。つまり、人間ＩＤを示す変数Ｉｙが人間ＩＤの最大値よりも大きい値と一致するか否かを判断する。ステップＳ３９で“ＮＯ”であれば、つまり人間Ｉｘと他の人間とのすれ違い行動が全て判断されていなければ、ステップＳ２９に戻る。一方、ステップＳ３９で“ＹＥＳ”であれば、つまり人間Ｉｘと他の人間とのすれ違い行動が全て判断されていれば、ステップＳ４１に進む。
【００９８】
続いて、ステップＳ４１で変数Ｉｘをインクリメントし、ステップＳ４３で変数Ｉｙに「Ｉｘ＋１」を設定して、ステップＳ２７に戻る。つまり、ホット領域ＨＴの中心ＨＯとなる人間の人間ＩＤを変更するために変数Ｉｘがインクリメントされる。また、変数Ｉｙは、ステップＳ２５の処理と同様に、人間毎にすれ違い行動が行われたか否かを判断するために、変数Ｉｘよりも１つ大きい値が設定される。たとえば、変数Ｉｘが「１」に設定されていれば、変数Ｉｙは「２」に設定される。
【００９９】
また、各人間に対してすれ違い行動が行われたかを判断し終えていれば、ステップＳ４５で変数Ｉｘを初期化する。つまり、ステップＳ４７以降の処理で、各人間のすれ違い行動を予測するために、変数Ｉｘは「０」に設定される。続いて、ステップＳ４７では、人間Ｉｘとの距離が最も短く、かつ閾値Ｔａ以下の人間Ｉｙを選択する。たとえば、変数Ｉｘが「０」であれば、人間０（人間Ａ）との距離が最も短い人間Ｉｙを、第１距離配列[０][０]…第１距離配列[０][Ｉｙ]の中から選択する。また、選択された人間Ｉｙの人間ＩＤは選択結果バッファ３３２に記憶される。なお、閾値Ｔａは、たとえば１０００mm（＝１m）である。
【０１００】
続いて、ステップＳ４９では、ステップＳ４７で、条件を満たす人間Ｉｙを選択できたか否かを判断する。つまり、選択結果バッファ３３２に人間ＩＤが記録されているか否かを判断する。ステップＳ４９で“ＮＯ”であれば、つまりステップＳ４７で条件を満たす人間Ｉｙが選択されていなければ、ステップＳ５５に進む。一方、ステップＳ４９で“ＹＥＳ”であれば、つまりステップＳ４７で条件を満たす人間Ｉｙが選択されており、選択結果バッファ３３２に人間ＩＤが記録されていれば、ステップＳ５１ですれ違い行動予測処理を実行する。なお、このすれ違い行動予測処理については、図１８に示すフロー図を用いて後述するため、ここでの詳細な説明は省略する。また、ステップＳ５１の処理を実行するプロセッサ２０は、第１予測手段として機能する。
【０１０１】
続いて、ステップＳ５３では、選択された人間Ｉｙに対応する距離を閾値Ｔａより大きい値に設定する。たとえば、変数Ｉｘが「０」、変数Ｉｙが「１」であれば、人間１に対応する距離を閾値Ｔａより大きい値に設定する。具体的には、第１距離配列[０][１]に閾値Ｔａより大きい値（たとえば、２０００）が設定される。なお、本実施例では、変数Ｉｙが「Ｉｘ＋１」と設定されていることから、変数Ｌが２である場合、第１距離配列[１][１]および第１距離配列[２][１]が利用されることは無いが、それらの配列にも閾値Ｔａより大きい値が設定される。
【０１０２】
続いて、ステップＳ５５では、変数Ｉｘをインクリメントする。つまり、他の人間のすれ違い行動を予測するために、変数Ｉｘがインクリメントされる。続いて、ステップＳ５７では、変数Ｉｘが「Ｌ＋１」と一致するか否かを判断する。ステップＳ５７で“ＮＯ”であれば、つまり全ての人間の将来位置を予測できるか判断していなければ、ステップＳ４７に戻る。なお、ステップＳ４７に戻る場合に、選択結果バッファ３３２は初期化される。一方、ステップＳ５７で“ＹＥＳ”であれば、つまり全ての人間の将来位置を予測できるか判断し終えていれば、予測制御処理を終了する。
【０１０３】
なお、予測制御処理の処理時間は、およそ３３msであるため、３３ms毎に繰り返し実行されてもよい。
【０１０４】
図１８には、すれ違い行動予測プログラム３１６の処理を示すフロー図が示される。たとえば、ステップＳ５１の処理が実行されると、プロセッサ２０は、変数ｈｎを初期化する。この変数ｈｎは各すれ違いモデルに割り振られた識別番号を指定するための変数である。そのため、ステップＳ５１では、最初の１番目のすれ違いモデルを指定する値（たとえば、「１」）に設定される。なお、以下の説明では、識別番号が「ｈｎ」のすれ違いモデルに対応する確率は、「確率Ｐｈｎ」と記述する。これは、図面でも同じである。
【０１０５】
続いて、ステップＳ７３では、人間Ｉｘと選択された人間Ｉｙとのすれ違い軌跡ＣＴおよびｈｎ番目のすれ違いモデルに基づいて、確率Ｐｈｎを算出する。たとえば、変数ｈｎが「１」である場合に、１番目のすれ違いモデルと、図１２に示す人間Ａ（人間０）および人間Ｂ（人間１）の位置データに基づくすれ違い軌跡ＣＴとが一致する確率Ｐｈｎは、数４に示す式に従って算出される。なお、算出された確率Ｐｈｎは、対応するすれ違いモデルの識別番号と対応付けられて、確率バッファ３３４に記憶される。
【０１０６】
続いて、ステップＳ７５では、変数ｈｎをインクリメントする。つまり、次のすれ違いモデルと、人間Ｉｘと選択された人間Ｉｙとのすれ違い軌跡ＣＴとの確率Ｐｈｎを算出するために、変数ｈｎはインクリメントされる。続いて、ステップＳ７７では、変数ｈｎが最大値を超えたか否かを判断する。たとえば、すれ違いモデルの総数は６４個であるため、変数ｈｎがその総数を超えたか否かを判断する。ステップＳ７７で“ＮＯ”であれば、つまり全てのすれ違いモデルに対応する確率Ｐｈｎが算出されていなければ、ステップＳ７３に戻る。一方、ステップＳ７７で“ＹＥＳ”であれば、つまり全てのすれ違いモデルに対応する確率Ｐｈｎが算出されていれば、ステップＳ７９に進む。なお、すれ違いモデルの総数は、適用される環境によって変化するため、他の実施例では総数が６４個でなくてもよい。
【０１０７】
続いて、ステップＳ７９では、算出された確率Ｐｈｎの中から最も大きい確率Ｐｈｎを特定する。つまり、確率バッファ３３４に記憶されている、全ての確率Ｐｈｎの中から、最も値が大きい確率Ｐｈｎを特定する。続いて、ステップＳ８１では、最も大きい確率Ｐｈｎに対応するすれ違いモデルを選択する。たとえば、確率Ｐ３０の値が最も大きければ、識別番号が３０のすれ違いモデルが選択される。なお、ステップＳ８１の処理を実行するプロセッサ２０は選択手段として機能する。
【０１０８】
続いて、ステップＳ８３では、平均移動速度Ｓａを読み出す。つまり、平均移動速度Ｓａが、平均移動速度データ３４２に基づいて読み出される。続いて、各人間の平均移動速度Ｓｈを算出する。たとえば、検出領域Ｆ内に人間Ａ，人間Ｂ，人間Ｃが存在していれば、それらの人間の平均移動速度Ｓｈが算出される。
【０１０９】
続いて、ステップＳ８７では、選択されたすれ違いモデル、平均移動速度Ｓａおよび平均移動速度Ｓｈに基づいて、人間Ｉｙの将来位置を算出する。そして、ステップＳ８７の処理が終了すれば、すれ違い行動予測処理を終了して、予測制御処理に戻る。たとえば、ステップＳ８７では、まず数８に示す式に従って、所定時間後の人間Ｉｙの移動距離を算出する。さらに、ステップＳ８７では、図１２にあるように、選択されたすれ違いモデルＣＭに基づいて、第１所定時間（または第２所定時間）後の人間Ｉｙの将来位置ＦＰを算出する。そして、このようにして算出された人間Ｉｙの将来位置は、予測結果バッファ３３６に記憶される。なお、ステップＳ８７の処理を実行するプロセッサ２０は位置算出手段として機能する。
【０１１０】
図１９にはＩＤ補完処理の一部を示すフロー図が示される。また、ＩＤ補完処理の説明では、図１５−図１８で既に説明したステップについては、詳細な説明を省略する。
【０１１１】
たとえば、ＩＤ補完処理を実行する命令が発行されると、プロセッサ２０はステップＳ１０１で停止命令か否かを判断する。たとえば、中央制御措置１０に対してＩＤ補完処理を終了させる操作が行われたか否かを判断する。ステップＳ１０１で“ＹＥＳ”であれば、停止命令が発行されれば、ＩＤ補完処理は終了する。一方、ステップＳ１０１で“ＮＯ”であれば、つまり停止命令が発行されていなければ、ステップＳ１０３で人間ＩＤの最大値を変数Ｌに設定する。続いて、ステップＳ１０５では、変数Ｉｘ、変数ａを初期化する。つまり、ステップＳ１０５では、変数Ｉｘは「０」に設定される。また、変数ａは、後述する消滅配列Ｈ１の配列を指定するための変数であるため、同じく「０」が設定される。
【０１１２】
続いて、ステップＳ１０７では、人間Ｉｘが消滅したか否かを判断する。たとえば、ステップＳ１０７では、図１３に示すように、人間Ａが出口（検出領域Ｆと外の領域との境界）を経由せずに、検出領域Ｆ内で人間Ｉｘが消滅したか否かを判断する。また、具体的には、境界の座標を事前に決めておき、各位置履歴データにおいて、最新の位置データが追跡されなくなり、かつ最後の位置データがその境界の座標を示していないか否かを判断する。ステップＳ１０７で“ＹＥＳ”であれば、つまり人間Ｉｘが消滅していれば、ステップＳ１０９で変数Ｉｘを消滅配列Ｈ１[ａ]に記憶する。つまり、検出領域Ｆ内で消滅した人間Ｉｘの人間ＩＤを消滅配列Ｈ１[ａ]に記憶する。たとえば、変数ａが「１」であり、人間Ａが検出領域Ｆ内で消滅していれば、消滅配列Ｈ１[１]には、人間ＩＤ「０」が記憶される。
【０１１３】
なお、以下の説明では、消滅配列Ｈ１[ａ]に記憶された人間ＩＤに対応する人間は「人間Ｈ１[ａ]」と記述する。たとえば、消滅配列Ｈ１[１]に記憶される人間ＩＤが「０」であれば、「人間Ｈ１[１]」は人間ＩＤが「０」の人間Ａを示す。
【０１１４】
続いて、ステップＳ１１１では、変数Ｉｘおよび変数ａをインクリメントする。つまり、次の人間ＩＤを指定するために変数Ｉｘがインクリメントされ、消滅配列Ｈ１における次の配列を指定するために変数ａがインクリメントされる。
【０１１５】
また、ステップＳ１０７で“ＮＯ”であれば、つまり人間Ｉｘが消滅していなければ、ステップＳ１１３で変数Ｉｘをインクリメントし、ステップＳ１１５に進む。ステップＳ１１５では、変数Ｉｘが「Ｌ＋１」と一致するか否かを判断し、“ＮＯ”であれば、ステップＳ１０７に戻る。一方、ステップＳ１１５で“ＹＥＳ”であれば、ステップＳ１１７に進む。
【０１１６】
続いて、図２０を参照して、ステップＳ１１７では変数Ｉｘおよび変数ｂを初期化する。この変数ｂは、後述する発生配列Ｈ２の配列を指定するための変数であり、ステップＳ１１７では「０」が設定される。続いて、ステップＳ１１９では、人間Ｉｘが発生したか否かを判断する。たとえば、図１３に示すように、人間Ａが入口（検出領域Ｆと外の領域との境界）を経由せずに、検出領域Ｆ内で人間Ｉｘが発生したか否かを判断する。また、具体的には、各位置履歴データにおいて、最初の位置データが事前に決められた境界の座標と一致していないか否かを判断する。
【０１１７】
ステップＳ１１９で“ＹＥＳ”であれば、つまり人間Ｉｘが発生していれば、ステップＳ１２１で変数Ｉｘを発生配列Ｈ２[ｂ]に記憶する。つまり、ステップＳ１２１では、検出領域Ｆ内で発生した人間Ｉｘの人間ＩＤを発生配列Ｈ２[ｂ]に記憶する。たとえば、変数ｂが０であり、変数Ｉｘが「７」であれば、人間７の人間ＩＤが発生配列Ｈ２[０]に記憶される。また、以下の説明では、発生配列Ｈ２[ｂ]に記憶された人間ＩＤと対応する人間は「人間Ｈ２[ｂ]」と記述する。続いて、ステップＳ１２３では、変数Ｉｘおよび変数ｂをインクリメントする。つまり、発生配列Ｈ２における次の配列を指定するために、変数ｂはインクリメントされる。
【０１１８】
なお、ステップＳ１０９の処理を実行するプロセッサ２０は、第１識別情報記憶手段として機能し、ステップＳ１２１の処理を実行するプロセッサ２０は、第２識別情報記憶手段として機能する。
【０１１９】
また、ステップＳ１１９で“ＮＯ”であれば、つまり人間Ｉｘが発生していなければ、ステップＳ１２５で変数Ｉｘをインクリメントして、ステップＳ１２７で変数Ｉｘが「Ｌ＋１」と一致するか否かを判断する。ステップＳ１２７で“ＮＯ”であればステップＳ１１９に戻り、“ＹＥＳ”であれば、ステップＳ１２９に進む。
【０１２０】
続いて、ステップＳ１２９では、人間が消滅または発生した否かを判断する。つまり、変数ａおよび変数ｂが初期化された値より大きいか否かを判断する。ステップＳ１２９で“ＮＯ”であれば、つまり検出領域Ｆ内で人間が発生または消滅していなければ、ＩＤ補完処理を終了する。一方、ステップＳ１２９で“ＹＥＳ”であれば、つまり検出領域Ｆ内で人間が発生または消滅していれば、ステップＳ１３１で変数ｊを初期化する。この変数ｊは、変数ａと同様、消滅配列Ｈ１の配列を指定するための変数であり、「０」に設定される。
【０１２１】
続いて、図２１を参照して、ステップＳ１３３では、変数ｊが「ａ＋１」と一致するか否かを判断する。つまり、変数ｊが、ステップＳ１３３の処理が実行される時点で、消滅した人間の総数を示す変数ａよりも大きい値と一致するか否かを判断する。ステップＳ１３３で“ＹＥＳ”であれば、つまり変数ｊが消滅した人間の総数よりも大きければ、ステップＳ１５５に進む。一方、ステップＳ１３３で“ＮＯ”であれば、つまり変数ｊが消滅した人間の総数以下であれば、ステップＳ１３５で人間Ｈ１[ｊ]とすれ違った人間の人間ＩＤを記憶する。つまり、すれ違い行動を予測するために、消滅した人間Ｈ１[ｊ]とすれ違った人間の人間ＩＤを、ＩＤバッファ３３８に記憶する。
【０１２２】
続いて、ステップＳ１３７では変数ｋを初期化する。この変数ｋは変数ｂと同様、発生配列Ｈ２の配列を指定するための変数であり、「０」に設定される。続いて、ステップＳ１３９では、人間Ｈ１[ｊ]が消滅してから人間Ｈ２[ｋ]が発生するまでの途切れ時間を算出する。たとえば、図１３（Ａ），（Ｂ）を参照して、人間Ｈ１[ｊ]および人間Ｈ２[ｋ]が人間０および人間７である場合に、人間０の位置履歴データにおいて最後の位置データが記録された時刻と、人間７の位置履歴データにおいて最初の位置データが記録された時刻との時間差が途切時間（第２所定時間）として算出される。なお、ステップＳ１３９の処理を実行するプロセッサ２０は、時間算出手段として機能する。
【０１２３】
続いて、ステップＳ１４１では、途切時間がＤｎ（たとえば、１０秒）秒以内か否かを判断する。たとえば、人間０および人間７の途切時間が１０秒以内であるか否かを判断する。ステップＳ１４１で“ＹＥＳ”であれば、つまり途切時間がＤｎ秒以内であれば、ステップＳ１４３ですれ違い行動予測処理を実行する。このすれ違い行動予測処理については、すでに説明しているため詳細な説明は省略するが、ここでは、人間Ｈ１[ｊ]が消滅してから、第２所定時間後の将来位置が予測される。なお、ステップＳ１４１の処理を実行するプロセッサ２０は第２予測手段として機能する。
【０１２４】
続いて、ステップＳ１４５では、第２距離配列[ｊ][ｋ]に人間Ｈ２[ｋ]が発生した位置と人間Ｈ１[ｊ]の将来位置との距離が記録される。たとえば、図１３（Ｃ）を参照して、変数ｊが「０」であり、変数ｋが「１」であり、人間Ｈ１[０]が人間０であり、人間Ｈ２[１]が人間７であれば、人間０の将来位置と人間７との距離が第２距離配列[０][１]に記録される。
【０１２５】
なお、ステップＳ１４１で“ＮＯ”であれば、つまり途切時間がＤｎ秒より大きければ、ステップＳ１４７で第２距離配列[ｊ][ｋ]に、閾値Ｔｂ（たとえば、１０００mm）より大きい値（たとえば、２０００）を記録する。つまり、人間Ｈ１[ｊ]が人間Ｈ２[ｋ]と同一であることは無いため、人間Ｈ１[ｊ]と人間Ｈ２[ｋ]との距離を、この後の処理で利用する閾値Ｔｂよりも大きい値として記録する。つまり、ステップＳ１５９以降の処理で誤って人間ＩＤが上書きされないようにする。
【０１２６】
続いて、ステップＳ１４９では、変数ｋをインクリメントする。つまり、発生配列Ｈ２における次の配列を指定するために変数ｋがインクリメントされる。続いて、ステップＳ１５１では、変数ｋが「ｂ＋１」と一致するか否かを判断する。つまり、変数ｋが、発生した人間の総数を示す変数ｂよりも大きい値と一致するか否かを判断する。ステップＳ１５１で“ＮＯ”であれば、つまり変数ｋが発生した人間の総数以下であれば、ステップＳ１３９に戻る。一方、ステップＳ１５１で“ＹＥＳ”であれば、つまり変数ｋが発生した人間の総数より大きい値と一致すれば、ステップＳ１５３で変数ｊをインクリメントし、ステップＳ１３３に戻る。つまり、ステップＳ１５３では、他の人間ＩＤを指定するために、変数ｊはインクリメントされる。
【０１２７】
また、消滅した全ての人間に対して、ステップＳ１３３−Ｓ１５３の処理が行われると、ステップＳ１５５で変数ｊを初期化する。つまり、ステップＳ１５７以降の処理で人間ＩＤを上書きするために、再度変数ｊは初期化される。続いて、ステップＳ１５７では、人間Ｈ１[ｊ]と最も距離が近い人間を選択する。つまり、ステップＳ１５７では、第２距離配列[ｊ][０]…第２距離配列[ｊ][ｂ]の中から、最も小さい値が記録された第２距離配列を選択する。たとえば、変数ｊが「０」であれば、人間Ｈ１[０]は人間０を示す。そして、第２距離配列[０][０]…第２距離配列[０][ｂ]のうち、第２距離配列[０][１]に最も小さい値が記録されていれば、人間Ｈ２[１]（Ｈ２[１]＝７：人間７）が選択される。そして、選択された人間７の人間ＩＤは、選択結果バッファ３３２に記憶される。
【０１２８】
続いて、ステップＳ１５９では、距離が閾値Ｔｂ以下であるか否かを判断する。たとえば、ステップＳ１５７で選択された人間７と人間０（人間Ｈ１[ｊ＝０]）との距離が閾値Ｔｂ以下であるか否かを判断する。また、具体的には、上記の第２距離配列[０][１]の値が閾値Ｔｂ以下であるか否かを判断する。ステップＳ１５９で“ＮＯ”であれば、つまり距離が閾値Ｔｂより大きければ、ステップＳ１６３に進む。一方、ステップＳ１５９で“ＹＥＳ”であれば、たとえば、人間７と人間０との距離が閾値Ｔｂ以下であれば、ステップＳ１６１で人間ＩＤを上書きする。たとえば、図６に示すＩＤテーブルの人間ＩＤの列において、「０７」の欄が「０１」に上書きされる。つまり、ＩＤテーブルの人間ＩＤの列において、「０７」が「０１」に置き換えられる。なお、ステップＳ１６１の処理を実行するプロセッサ２０は、置換手段として機能する。
【０１２９】
続いて、ステップＳ１６３では、変数ｊをインクリメントし、ステップＳ１６５で変数ｊが「ａ＋１」と一致するか否かを判断する。また、ステップＳ１６５で“ＮＯ”であれば、ステップＳ１５７に戻り、“ＹＥＳ”であればＩＤ補完処理を終了する。つまり、消滅した他の人間についても、上述した処理を実行する。
【０１３０】
なお、ＩＤ補完処理は、人間の消滅が検出されれば実行されてもよいし、システムの管理者によって任意のタイミングで実行されてもよいし、一定の時間（３３ms）毎に実行されてもよい。
【０１３１】
この実施例によれば、位置検出システム１００は、ＬＲＦ１２およびメモリ２２を備え、検出領域Ｆ内に存在する人間をＬＲＦ１２によってセンシングすることで位置を検出し、検出された位置データをメモリ２２のバッファに蓄積する。また、人間Ａおよび人間Ｂの位置履歴データに基づいて、すれ違い行動が行われていると判断された場合、すれ違いモデル毎にすれ違い軌跡ＣＴと一致する確率Ｐが算出される。そして、プロセッサ２０は、確率Ｐの値が最も大きいすれ違いモデルＣＭに従って人間Ｂの移動方向を決め、第１所定時間後の人間Ｂの移動距離を求めることで、人間Ｂの将来位置を算出することができる。
【０１３２】
このように、すれ違い行動が行われると、そのすれ違い行動と最も似ているすれ違いモデルを選択することで、人間の将来の位置を予測する。
【０１３３】
なお、位置検出システム１００は、人間Ａ−人間Ｃなどに、検出領域Ｆ周辺の情報を提供する（リコメンドする）ロボットを含んでいてもよい。また、このロボットが含まれる場合に、ロボットと人間とのすれ違い行動において、人間の将来位置を予測することで、ロボットによるリコメンドの有無を決定したり、ロボットが人間に提供する情報を選択したりできるようにしてもよい。これにより、ロボットは周囲に存在する人間の行動に即座に対応できるようになり、さらに提供する情報の内容を的確に選択できるようになる。
【０１３４】
たとえば、ロボットに対して前後方向または左右方向に有る物（店舗、施設およびイベント）を、ロボットの移動に合わせて教示すれば、ロボットは人間が進む方向に有る物の情報を、すれ違う人間に提供できるようになる。
【０１３５】
この場合、ロボットに接近するすれ違い行動か、ロボットから離れるすれ違い行動かをさらに判断することで、提供する情報をさらに適確に判断できるようにしてもよい。また、人間がロボットの前で停止する事も考えられるため、すれ違い行動の定義（時間や距離）を変更することで、ロボットの前で停止した場合でも情報を提供できるようにしてもよい。
【０１３６】
また、すれ違い行動が行われたか否かを判断する条件（２人の距離およびすれ違い時間）に、移動速度の分散を加えてもよい。たとえば、他の実施例では、２人の距離が３m以下のまま、１秒より長く５秒未満継続しており、移動速度の分散が１未満である場合に、すれ違い行動が行われたと判断されてもよい。
【０１３７】
また、本実施例における予測制御処理では、ホット領域ＨＴの中心に最も近い人間の将来位置を予測していたが、他の実施例では、最初にすれ違った人間、最後にすれ違った人間、移動速度が最も速い人間および移動速度が最も遅い人間の将来位置を予測してもよい。さらに、人間の体型や、年齢、性別なども識別できる場合には、それらの情報に基づいて将来位置を予測する人間を選択してもよい。
【０１３８】
また、本実施例では、平均軌跡ＡＴを算出するために、約一万個のすれ違い軌跡ＣＴを利用したが、さらに多くのすれ違い軌跡ＣＴを用いてもよい。
【０１３９】
また、他の実施例では、すれ違いモデルを構築せずに、クラスタリングされた複数の平均軌跡ＡＴを利用してすれ違い行動を予測してもよい。この場合、予測に利用する平均軌跡ＡＴは、ＤＰマッチング、ＲＭＳ(Root Mean Square)または相関係数などの手法を利用して選択される。
【０１４０】
また、他の実施例では、各人間の位置データは、床センサ、各人間が携帯する通信端末と基地局との近距離無線通信における電波強度、補正用ＧＰＳ基地局とその基地局を利用するＧＰＳ端末などを利用して検出されてもよい。
【０１４１】
また、本実施例の数値（所定距離、特定時間、第１所定時間、第２所定時間、定数ｓｎ、定数Ｄｎ、閾値Ｔａ、閾値Ｔｂなど）は、位置検出システム１００が設置される環境に応じて、任意に変更（チューニング）されてもよい。
【符号の説明】
【０１４２】
１０  …中央制御装置
１２ａ−１２ｆ  …ＬＲＦ
２０  …プロセッサ
２２  …メモリ
１００  …位置検出システム
【図１】
2011220904.tif 000011
【図２】
2011220904.tif 000012
【図３】
2011220904.tif 000013
【図４】
2011220904.tif 000014
【図５】
2011220904.tif 000015
【図６】
2011220904.tif 000016
【図７】
2011220904.tif 000017
【図８】
2011220904.tif 000018
【図１１】
2011220904.tif 000019
【図１２】
2011220904.tif 000020
【図１３】
2011220904.tif 000021
【図１４】
2011220904.tif 000022
【図１５】
2011220904.tif 000023
【図１６】
2011220904.tif 000024
【図１７】
2011220904.tif 000025
【図１８】
2011220904.tif 000026
【図１９】
2011220904.tif 000027
【図２０】
2011220904.tif 000028
【図２１】
2011220904.tif 000029
【図９】
2011220904.tif 000030
【図１０】
2011220904.tif 000031