(57)【特許請求の範囲】
【請求項１】
コンピュータに、
移動体の位置を示す位置情報と該移動体が前記位置に存在した時間を示す時間情報とを対応づけて記憶部に記憶する記憶手順と、
前記位置情報および前記時間情報に基づいて、複数の移動体の移動軌跡を移動体毎に算出する移動軌跡算出手順と、
前記移動軌跡算出手順により算出された複数の移動軌跡のうち、移動軌跡の長さが他の移動軌跡の長さと比較して長い移動軌跡を示す基準移動軌跡を特定する移動軌跡特定手順と、
前記基準移動軌跡の特徴に類似する他の移動軌跡を統合することで、複数の移動体の移動推移を検出する移動推移検出手順と
を実行させることを特徴とする移動体検出プログラム。
【請求項２】
前記記憶部に記憶された前記位置情報および前記時間情報に基づいて、移動体の加速度を算出し、該加速度が減少した時点での前記移動体の位置を検出する位置検出手順を更にコンピュータに実行させることを特徴とする請求項１に記載の移動体検出プログラム。
【請求項３】
前記移動推移検出手順において検出された複数の移動体の移動軌跡と、前記位置検出手順において検出された移動体の位置とが重なる位置を検出する重なり位置検出手順を更にコンピュータに実行させることを特徴とする請求項２に記載の移動体検出プログラム。
【請求項４】
一定の時間間隔毎に、一時的な各移動体の移動方向をそれぞれ算出し、各移動体の位置から前記移動方向への直線がそれぞれ重複する領域または各移動体の位置から前記移動方向とは正反対の方向への直線がそれぞれ重複する領域を検出する重複領域検出手順を更にコンピュータに実行させることを特徴とする請求項１、２または３に記載の移動体検出プログラム。
【請求項５】
移動体の位置を示す位置情報と該移動体が前記位置に存在した時間を示す時間情報とを対応づけて記憶する記憶部と、
前記位置情報および前記時間情報に基づいて、複数の移動体の移動軌跡を移動体毎に算出する移動軌跡算出部と、
前記移動軌跡算出部により算出された複数の移動軌跡のうち、移動軌跡の長さが他の移動軌跡の長さと比較して長い移動軌跡を示す基準移動軌跡を特定する移動軌跡特定部と、
前記基準移動軌跡の特徴に類似する他の移動軌跡を統合することで、複数の移動体の移動推移を検出する移動推移検出部と
を備えたことを特徴とする移動体検出装置。
【請求項６】
前記記憶部に記憶された前記位置情報および前記時間情報に基づいて、移動体の加速度を算出し、該加速度が減少した時点での前記移動体の位置を検出する位置検出部を更に備えたことを特徴とする請求項５に記載の移動体検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体検出プログラムおよび移動体検出装置に関する。
【背景技術】
【０００２】
サービスロボットは、サービスエリア内で各種の案内や荷物の運搬作業などを行う。例えば、このサービスエリアは、商業施設、博物館、駅等の公共の空間に対応する。近年では、サービスロボットの行動を効率化させるために、サービスエリア内の人の密度や、一定時間内の人の移動の流れを検知し、サービスロボットがサービスを行う場合の最適な場所や向きを調整するための技術が求められている。また、一時的に発生するサービスエリア内のイベントの場所を検知する技術も求められている。
【０００３】
なお、人の移動を検知する技術としては、人の移動情報を含む画像データを所定のサイズに分割し、所定のサイズに分割された領域毎に移動速度を集計して表示することで、対象物に対する人の移動特性を容易に把握することを可能にするというものがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−８５３６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般的に、サービスロボットがサービスを行う場合には、個人の移動の流れを検知するよりも複数人の移動の流れを統合して検知したほうが都合がよい。しかし、人の移動を個別に追跡する技術は存在していたが、複数人の移動の流れを統合して検知する技術は存在していない。
【０００６】
また、上記従来技術のように、所定のサイズに分割された領域毎に移動速度を集計する場合には、正確に人の移動特性を検知することができないという問題がある。図２４〜図２７は、従来技術の問題を説明するための図である。
【０００７】
図２４に示すように、分割された領域が大きすぎる場合には、複数の速度ベクトルが同一の領域内に含まれてしまう。図２４に示す例では、領域１に速度ベクトル１ａ〜１ｃが含まれている。このように、同一の領域に複数の速度ベクトルが含まれている場合には、各速度ベクトル１ａ〜１ｃは平均化されて、速度ベクトル１ｄとなる。このように、速度ベクトルを平均化すると、領域に対応する移動速度の精度が低下してしまう。
【０００８】
また、同一の領域の各速度ベクトルの方向が真逆の場合には、速度ベクトルを平均化することで、移動速度の精度が著しく低下する。図２５に示すように、同じ領域１に２人の人が逆方向に移動している場合の速度ベクトルは、それぞれ速度ベクトル１ｅ、１ｆとなる。各人物の移動速度は速く、一方の人の移動速度はもう一方の人の移動速度よりも若干速いものとする。この速度ベクトル１ｅ、１ｆを平均化すると、速度ベクトル１ｇとなる。この場合には、速度ベクトル１ｅ、１ｆが大きなものであるにもかかわらず、平均した速度ベクトル１ｇが小さなものとなってしまうため、領域１内の人の移動速度は遅いと判定されていまい、移動速度の精度が著しく低下する。
【０００９】
これに対して、分割された領域が小さすぎる場合には、速度ベクトルが含まれない領域が発生してしまい、連続性が失われてしまう。図２６に示す例では、領域２ｂ、２ｄ〜２ｉに速度ベクトルが存在しておらず、連続性が失われている。
【００１０】
上記のように、正確に人の移動を検知するためには、人の移動速度を考慮して、分割するサイズを調整しなければならないが、そのような対応策は講じられていない。なお、仮に人の移動速度を考慮して、分割するサイズを調整しても、人の移動軌跡を推定することは困難な場合がある。
【００１１】
図２７に示すように、各領域に速度ベクトル３ａ〜３ｄがそれぞれ含まれている場合には、隣接領域の速度ベクトルのつながりのパターンが複数パターン存在し、一意に移動軌跡を特定することができない。例えば、速度ベクトル３ａと３ｂとがつながり、速度ベクトル３ｃと３ｄとがつながるとした場合には、人の移動軌跡はそれぞれ移動軌跡３ｅ、３ｆとなる。これに対して、速度ベクトル３ａと３ｄとがつながり、速度ベクトル３ｂと３ｃとがつながるとした場合には、人の移動軌跡はそれぞれ移動軌跡３ｇ、３ｈとなる。どちらの移動軌跡が正しいのかを判断するには、経験則等に頼るほかなく、精度よく移動軌跡を検出できているとは言い難かった。
【００１２】
開示の技術は、上記に鑑みてなされたものであって、複数人の移動推移を検出することができる移動体検出プログラムおよび移動体検出装置を提供することを目的とする。なお、上記課題は、サービスロボットだけではなく、公共の空間を監視する監視システムなどにも同様に生ずる課題である。
【課題を解決するための手段】
【００１３】
本願の開示する移動体検出プログラムは、コンピュータに、移動体の位置を示す位置情報と該移動体が前記位置に存在した時間を示す時間情報とを対応づけて記憶部に記憶する記憶手順と、前記位置情報および前記時間情報に基づいて、複数の移動体の移動軌跡を移動体毎に算出する移動軌跡算出手順と、前記移動軌跡算出手順により算出された複数の移動軌跡のうち、移動軌跡の長さが他の移動軌跡の長さと比較して長い移動軌跡を示す基準移動軌跡を特定する移動軌跡特定手順と、前記基準移動軌跡の特徴に類似する他の移動軌跡を統合することで、複数の移動体の移動推移を検出する移動推移検出手順とを実行させることを要件とする。
【発明の効果】
【００１４】
本願の開示する移動体検出プログラムの一つの態様によれば、複数人の移動推移を検出することができるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１は、本実施例１にかかる移動体検出装置の構成を示す図である。
【図２】図２は、本実施例２にかかるサービスロボットの構成を示す図である。
【図３】図３は、ＬＲＦの処理を説明するための図である。
【図４】図４は、記憶部および制御部の構成を示す機能ブロック図である。
【図５】図５は、原始データのデータ構造を示す図である。
【図６】図６は、移動軌跡統合部の処理を説明するための図である。
【図７】図７は、移動軌跡スプラインの一例を示す図である。
【図８】図８は、移動軌跡スプラインリストのデータ構造を示す図である。
【図９】図９は、最短距離の平均値を説明するための図である。
【図１０】図１０は、流れリストのデータ構造を示す図である。
【図１１】図１１は、全体の流れの算出を説明するための図である。
【図１２】図１２は、移動軌跡統合部が算出した全体の流れを示す図である。
【図１３】図１３は、注目場所検出部の処理を説明するための図である。
【図１４】図１４は、減速座標点リストのデータ構造を示す図である。
【図１５】図１５は、注目度の高い場所を説明するための図である。
【図１６】図１６は、注目場所検出部のその他の処理を説明するための図である。
【図１７】図１７は、リアルタイム行動認識部の処理を説明するための図（１）である。
【図１８】図１８は、リアルタイム行動認識部の処理を説明するための図（２）である。
【図１９】図１９は、本実施例２にかかる制御部の処理手順を示すフローチャートである。
【図２０】図２０は、移動軌跡統合部の処理手順を示すフローチャートである。
【図２１】図２１は、注目場所検出部の処理手順を示すフローチャートである。
【図２２】図２２は、リアルタイム行動認識部の処理手順を示すフローチャートである。
【図２３】図２３は、本実施例にかかる制御部を構成するコンピュータのハードウェア構成を示す図である。
【図２４】図２４は、従来技術の問題を説明するための図（１）である。
【図２５】図２５は、従来技術の問題を説明するための図（２）である。
【図２６】図２６は、従来技術の問題を説明するための図（３）である。
【図２７】図２７は、従来技術の問題を説明するための図（４）である。
【発明を実施するための形態】
【００１６】
以下に、本願の開示する移動体検出プログラムおよび移動体検出装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１７】
図１は、本実施例１にかかる移動体検出装置の構成を示す図である。図１に示すように、この移動体検出装置５０は、記憶部５１、移動軌跡算出部５２、移動軌跡特定部５３、移動推移検出部５４を有する。
【００１８】
記憶部５１は、移動体の位置を示す位置情報と該移動体が前記位置に存在した時間を示す時間情報とを対応づけて記憶する。移動軌跡算出部５２は、位置情報および時間情報に基づいて、複数の移動体の移動軌跡を移動体毎に算出する。
【００１９】
移動軌跡特定部５３は、移動軌跡算出部５２により算出された複数の移動軌跡のうち、移動軌跡の長さが他の移動軌跡の長さと比較して長い移動軌跡を示す基準移動軌跡を特定する。移動推移検出部５４は、移動軌跡特定部５３が特定した基準移動軌跡の特徴に類似する他の移動軌跡を統合することで、複数の移動体の移動推移を検出する。
【００２０】
上記の移動体検出装置５０は、複数の移動体の移動軌跡のうち、各移動軌跡の長さに基づいて基準移動軌跡を特定し、基準移動軌跡の特徴に類似する他の移動軌跡を統合する。このため、本実施例１にかかる移動体検出装置５０は、移動体全体の移動の移動推移を検出することができる。
【００２１】
なお、図１に示した移動軌跡算出部５２、移動軌跡特定部５３、移動推移検出部５４は、後述する図４の移動軌跡統合部１７２に対応する。また、記憶部５１は、後述する図４の記憶部１６０に対応する。
【実施例２】
【００２２】
図２は、本実施例２にかかるサービスロボットの構成を示す図である。図２に示すように、このサービスロボットは、リアルタイムクロック１１０、カメラ１２０ａ、ＬＲＦ１２０ｂ、人検知部１３０、駆動部１４０、通知部１５０、記憶部１６０、制御部１７０を有する。
【００２３】
リアルタイムクロック１１０は、現在の時間データを順次生成し、生成した時間データを人検知部１３０、制御部１７０に出力する装置である。カメラ１２０ａは、画像を順次撮影し、撮影した画像データを人検知部１３０に出力する装置である。
【００２４】
ＬＲＦ（Laser  Range  Finder）１２０ｂは、検索範囲内の物体の座標を検出する装置である。ＬＲＦ１２０ｂは、検出した物体の座標データを人検知部１３０に出力する。以下において、ＬＲＦ１２０ｂが、物体の座標を検出する処理の一例について説明する。図３は、ＬＲＦの処理を説明するための図である。
【００２５】
図３のＸｇ軸およびＹｇ軸は、所定の位置を基準とした座標軸であり、この座標軸系をグローバル座標軸系とする。図３のＸｒ軸およびＹｒ軸は、サービスロボット１００を基準とした座標軸であり、この座標軸をローカル座標軸系とする。図３の検索範囲５は、ＬＲＦ１２０ｂのレーザーの照射範囲に対応する。
【００２６】
ＬＲＦ１２０ｂは、水平方向にレーザーを照射し、照射したレーザーが物体に当たって反射してくる時間を測定することにより、サービスロボット１００と物体との距離およびサービスロボット１００と物体との角度を計測する。ＬＲＦ１２０ｂは、計測した距離および角度から、ローカル座標軸上の物体の座標を算出する。そして、ＬＲＦ１２０ｂは、グローバル座標軸上のサービスロボット１００の座標と、ローカル座標軸上の物体の座標とを加算することで、グローバル座標軸上の物体の座標を算出する。ＬＲＦ１２０ｂは、グローバル座標軸上の物体の座標データを人検知部１３０に出力する。
【００２７】
人検知部１３０は、ＬＲＦ１２０ｂから各物体の座標データを取得し、取得した座標データのうち、人の座標データを検出する処理部である。例えば、人検知部１３０は、人の画像の特徴を含むテンプレートを保持しており、かかるテンプレートとカメラ１２０ａからの画像データとを比較することで、サービスロボット１００の前方に人が存在するか否かを判定する。
【００２８】
例えば、人検知部１３０は、サービスロボット１００の前方に人が存在していると判定している間に、ＬＲＦ１２０ｂから取得した物体の座標データを、人の座標データとして検出し、ＩＤ（Identification）を付与する。そして、人検知部１３０は、ＩＤと、座標データと、この座標データを取得した時間データとを対応づけたデータを制御部１７０に出力する。
【００２９】
駆動部１４０は、制御部１７０からの制御命令に応答して、サービスロボット１００を駆動する装置である。例えば、駆動部１４０には、図示しない車輪などが取り付けられており、駆動部１４０はこの車輪を駆動させることで、サービスロボット１００を移動させる。通知部１５０は、制御部１７０から出力される各種のデータを上位アプリケーションに通知する処理部である。
【００３０】
記憶部１６０は、制御部１７０が各種の処理を実行するために利用するデータを記憶する記憶装置である。この記憶部１６０は、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。
【００３１】
制御部１７０は、サービスエリア内の複数人の移動の流れ、複数人に注目される位置、一時的に複数人に影響を与えるイベントの位置を検知する制御装置である。この制御部１７０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）や、ＦＰＧＡ（Field  Programmable  Gate  Array）などの集積装置に対応する。または、この制御部１７０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の電子回路に対応する。
【００３２】
次に、図２に示した記憶部１６０および制御部１７０の具体的な構成について説明する。図４は、記憶部および制御部の構成を示す機能ブロック図である。図４に示すように、記憶部１６０は、原始データ１６１、移動軌跡スプラインリスト１６２、流れリスト１６３、減速座標点リスト１６４、交点リスト１６５を記憶する。制御部１７０は、原始データ登録部１７１、移動軌跡統合部１７２、注目場所検出部１７３、リアルタイム行動認識部１７４、駆動制御部１７５を有する。
【００３３】
原始データ登録部１７１は、人検知部１３０から人のＩＤと人の座標データと時間データとを取得し、取得した情報を基にして原始データ１６１を生成する処理部である。図５は、原始データのデータ構造を示す図である。図５に示すように、この原始データ１６１は、タイムスタンプ、ＩＤ（Identification）、ｘ座標、ｙ座標、ｘ方向の速度、ｙ方向の速度を有する。
【００３４】
このうち、ＩＤは人を一意に識別する情報である。ｘ座標は、グローバル座標軸上の人のｘ座標を示す。ｙ座標は、グローバル座標軸上の人のｙ座標を示す。タイムスタンプは、ｘ座標、ｙ座標に人が存在した時点での時間を示す。ｘ方向の速度は、タイムスタンプの示す時間において、人のｘ方向の速度を示す。ｙ方向の速度は、タイムスタンプの示す時間において、人のｙ方向の速度を示す。
【００３５】
例えば、原始データ登録部１７１は、前後のｘ座標の差分値を、前後のタイムスタンプの差分値で除算することで、ｘ方向の速度を算出する。原始データ登録部１７１は、前後のｙ座標の差分値を、前後のタイムスタンプの差分値で除算することで、ｙ方向の速度を算出する。
【００３６】
移動軌跡統合部１７２は、複数人の移動軌跡を統合することで、複数人全体の移動の流れを抽出する処理部である。複数人の全体の移動の流れは、複数人の全体の移動推移と同様の意味である。図６は、移動軌跡統合部の処理を説明するための図である。図６に示すように、移動軌跡統合部１７２は、原始データ１６１のｘ座標、ｙ座標を基にして、ＩＤ毎に移動軌跡スプラインを算出する（ステップＳ１０）。ここで、移動軌跡スプラインは、人の移動軌跡に対応する。
【００３７】
移動軌跡統合部１７２は、移動軌跡スプラインを算出した後に、類似する移動軌跡スプライン毎に移動軌跡スプラインを分類する（ステップＳ１１）。そして、移動軌跡統合部１７２は、分類した移動軌跡スプライン毎に平均化を行い、平均化を行った後の軌跡を複数人の流れとして検出する（ステップＳ１２）。
【００３８】
ここで、図６のステップＳ１０に示した移動軌跡統合部１７２の処理について説明する。移動軌跡統合部１７２は、最小二乗法を利用して、ｘ、ｙ座標の近似曲線を算出することで、移動軌跡スプラインデータを算出する。図７は、移動軌跡スプラインの一例を示す図である。図７の曲線１Ａは、ＩＤ「○○」に対応する移動軌跡スプラインであり、曲線２Ａは、ＩＤ「××」に対応する移動軌跡スプラインである。
【００３９】
移動軌跡統合部１７２は、原始データ１６１に記憶された全てのＩＤに対する移動軌跡スプラインを算出した後に、各移動軌跡スプラインを移動軌跡スプラインリスト１６２に登録する。図８は、移動軌跡スプラインリストのデータ構造を示す図である。図８に示すように、この移動軌跡スプラインリスト１６２は、人のＩＤ毎に移動軌跡スプラインを記憶している。また、移動軌跡スプラインリスト１６２は、始点の座標、終点の座標もあわせて記憶している。なお、移動軌跡スプラインリスト１６２に記憶された移動軌跡スプラインは、連続するｘ、ｙ座標のデータでもよいし、上記最小二乗法で求めた近似式であってもよい。
【００４０】
次に、図６のステップＳ１１に示した移動軌跡統合部１７２の処理について説明する。まず、移動軌跡統合部１７２は、移動軌跡スプラインリスト１６２に記憶された各移動軌跡スプラインを、長いものから順に並べ替え、一番長い移動軌跡スプラインを取り出す。移動軌跡統合部１７２は、取り出した移動軌跡スプラインを、移動軌跡スプラインリスト１６２から削除する。以下の説明において、移動軌跡スプラインリスト１６２に記憶された複数の移動軌跡スプラインのうち、最も長い移動軌跡スプラインを参照スプラインと表記する。
【００４１】
移動軌跡統合部１７２は、参照スプラインと移動軌跡スプラインリスト１６２に記憶された残りの移動軌跡スプラインとを順次比較して、方向差、最短距離の平均値、分散を求め、参照スプラインに類似する移動軌跡スプラインを判定する。
【００４２】
まず、方向差について説明する。移動軌跡統合部１７２は、参照スプラインの始点から終点への方向と、移動軌跡スプラインの始点から終点への方向との差分を求めることで、方向差を算出する。
【００４３】
続いて、最短距離の平均値について説明する。移動軌跡統合部１７２は、移動軌跡スプラインを所定のサンプル数だけサンプリングする。そして、移動軌跡統合部１７２は、サンプリングした移動軌跡スプラインのｎ番目の座標から参照スプラインまでの最短距離を算出する。例えば、サンプル数をＳｉとすると、ｎは、１〜Ｓｉまでの整数となる。移動軌跡統合部１７２は、各最短距離の合計値をＳｉで除算することで、最短距離の平均値を算出する。
【００４４】
図９は、最短距離の平均値を説明するための図である。図９では、参照スプライン１Ｂ、移動軌跡スプライン２Ｂ、３Ｂを用いて説明する。また、サンプル数を３とする。移動軌跡統合部１７２は、参照スプライン１Ｂと移動軌跡スプライン２Ｂとの最短距離の平均値を求める場合には、距離１Ｃ、２Ｃ、３Ｃを加算した値を３で除算する。移動軌跡統合部１７２は、参照スプライン１Ｂと、移動軌跡スプライン３Ｂとの最短距離の平均値を求める場合には、距離１Ｄ、２Ｄ、３Ｄを加算した値を３で除算する。
【００４５】
続いて、分散について説明する。まず、移動軌跡統合部１７２は、上記最短距離の平均値を算出する手法と同様にして、平均値を算出する。そして、移動軌跡統合部１７２は、各最短距離から平均値を除算した値をそれぞれ二乗し、二乗した値を合計する。移動軌跡統合部１７２は、合計した値を平均値の二乗で除算することで、分散を算出する。
【００４６】
移動軌跡統合部１７２は、参照スプライン毎に方向差が第１閾値未満、かつ、最短距離の平均値が第２閾値未満、かつ、分散が第３閾値未満となる移動軌跡スプラインを検出する。上記条件を満たす移動軌跡スプラインは、参照スプラインに類似するものとなる。移動軌跡統合部１７２は、参照スプラインと該参照スプラインに類似する移動軌跡スプラインとを対応づけて、流れリスト１６３に記憶する。
【００４７】
図１０は、流れリストのデータ構造を示す図である。図１０に示すように、この流れリスト１６３は、参照スプラインを一意に識別する参照スプラインＩＤ、参照スプライン、移動軌跡スプラインを有する。
【００４８】
次に、図６のステップＳ１２に示した移動軌跡統合部１７２の処理について説明する。移動軌跡統合部１７２は、流れリスト１６３を参照し、参照スプラインＩＤ毎に、参照スプラインと各移動軌跡スプラインとを平均化することで、全体の流れを算出する。図１１は、全体の流れの算出を説明するための図である。例えば、ある参照スプラインＩＤには、参照スプライン４Ａと、移動軌跡スプライン４Ｂとが存在したとする。この場合には、移動軌跡統合部１７２は、各スプライン４Ａ、４Ｂの各座標ｘ、ｙの値に対して最小二乗法を適用することで、全体の流れ４Ｃを算出する。
【００４９】
図１２は、移動軌跡統合部が算出した全体の流れを示す図である。図１２に示す例では、移動軌跡スプライン５Ｂ、５Ｃ、参照スプライン５Ａが平均化されることで、全体の流れ５Ｄが得られる。また、移動軌跡スプライン６Ａ、参照スプライン６Ｂが平均化されることで、全体の流れ６Ｃが得られる。移動軌跡統合部１７２は、全体の流れのデータを駆動制御部１７５に出力する。
【００５０】
なお、移動軌跡統合部１７２は、平均化を行う場合に、参照スプラインの長さとその他の移動軌跡スプラインの長さに基づいて、サンプル数を調整してもよい。例えば、移動軌跡統合部１７２は、参照スプラインのサンプル数Ｓｍａｘを決める。そして、移動軌跡統合部１７２は、他の移動軌跡スプラインの長さをＳＰｉ、参照スプラインの長さをＳＰｍａｘとした場合、他の移動軌跡スプラインのサンプル数Ｓｉを、式（１）により算出する。
【００５１】
Ｓｉ＝ＳＰｍａｘ／ＳＰｉ×Ｓｍａｘ・・・（１）
式（１）に示すように、参照スプラインが長いほど他の移動軌跡スプラインのサンプル数が多くなり、全体の流れを算出する場合の計算に大きく影響する。
【００５２】
図４の説明に戻る。注目場所検出部１７３は、注目度の高い場所を人が通過する際に、人の移動速度が減速することを利用して、注目度の高い場所を検出する処理部である。図１３は、注目場所検出部の処理を説明するための図である。図１３の縦軸は速度を示し、横軸は時間を示す。曲線７Ａは、人物ａの時間と速度との関係を示すものであり、曲線７Ｂは、人物ｂの時間と速度との関係を示すものであり、曲線７Ｃは、人物ｃの時間と速度との関係を示すものである。各曲線７Ａ〜７Ｃは、原始データ１６１のタイムスタンプと、ｘ、ｙ方向の速度から求めることができる。各人物ａ〜ｃには所定のＩＤが割り振られているものとする。
【００５３】
まず、注目場所検出部１７３は、各人の減速する時間帯を抽出する。人が減速することは、人の加速度がマイナスになることに等しい。このため、注目場所検出部１７３は、原始データ１６１に基づいて、人毎の加速度を算出し、算出した加速度がマイナスとなる時間帯を抽出する。図１３に示す例では、人物ａが減速する時間帯は８Ａとなり、人物ｂが減速する時間帯は８Ｂとなり、人物ｃが減速する時間帯は８Ｃとなる。
【００５４】
注目場所検出部１７３は、各人が減速した時間帯を抽出した後に、この減速した時間帯に対応する各人の移動軌跡を移動軌跡スプラインリスト１６２から取得する。そして、注目場所検出部１７３は、減速した時間帯の移動軌跡を等間隔にサンプリングし、サンプリングしたｘ、ｙ座標点および移動方向を対応づけて減速座標点リスト１６４に登録する。なお、注目場所検出部１７３は、移動軌跡の始点および終点の関係から移動方向を算出するものとする。
【００５５】
図１４は、減速座標点リストのデータ構造を示す図である。図１４に示すように、この減速座標点リスト１６４は、ＩＤ、移動方向、減速座標点とを対応づけて記憶する。ＩＤは、人を一意に識別するものであり、減速座標点は、減速した時間帯の移動軌跡を等間隔にサンプリングした場合のｘ、ｙ座標に対応する。
【００５６】
注目場所検出部１７３は、ＩＤ毎の減速座標点を利用して、階級ＤＸ、ＤＹで２Ｄヒストグラムを作成する。そして、注目場所検出部１７３は、ヒストグラムの度数が高い順で場所を抽出し、度数が所定の度数以上となる領域を注目度の高い場所として抽出する。図１５は、注目度の高い場所を説明するための図である。
【００５７】
図１５において、場所９Ａは、人物ａが減速した時間帯８Ａに移動した領域であり、場所９Ｂは、人物ｂが減速した時間帯８Ｂに移動した領域であり、場所９Ｃは、人物ｃが減速した時間帯８Ｃに移動した領域である。例えば、各人物ａ〜ｃが移動したｘ、ｙ座標を基にヒストグラムを作成すると、場所９Ｄに対応する領域の度数が所定の度数以上となる。この場合には、注目場所検出部１７３は、場所９Ｄを注目度の高い場所として判定する。例えば、興味深い展示品９Ｅが場所９Ｄ付近に存在している可能性が高い。
【００５８】
また、注目場所検出部１７３は、ＩＤ毎の移動方向を利用して、階級ＤＡでヒストグラムを作成する。そして、注目場所検出部１７３は、ヒストグラムの度数が一番高い移動方向を、注目度の高い場所に対する移動方向として判定する。注目場所検出部１７３は、注目度の高い場所と、注目度の高い場所に対する移動方向のデータを、駆動制御部１７５に出力する。
【００５９】
なお、注目度が高くなくても、障害物が存在する場合には、人の移動速度が減少するものと考えられる。このため、注目場所検出部１７３は、障害物の存在する場所情報を保持しておき、この場所情報に含まれる注目度の高い場所を除いた後に、残りの注目度の高い場所のデータを駆動制御部１７５に出力してもよい。
【００６０】
ところで、上記の注目場所検出部１７３の処理では、ヒストグラムを利用して、注目度の高い場所を検出していたが、これに限定されるものではない。注目場所検出部１７３は、カーネル密度推定方法を用いることで、注目度の高い場所を検出してもよい。図１６は、注目場所検出部のその他の処理を説明するための図である。
【００６１】
図１６の横軸は時間を示す。縦軸は、各曲線に応じて異なる値を示す。具体的には、曲線１０Ａに対しては、縦軸は位置に対応する。曲線１０Ｂに対しては、縦軸は速度に対応する。曲線１０Ｃに対しては、縦軸は加速度に対応する。注目場所検出部１７３は、曲線１０Ａ、１０Ｂは、原始データ１６１を基に作成する。また、注目場所検出部１７３は、前後の速度と前後の時間差に基づいて、時間毎の加速度を算出し、曲線１０Ｃを作成する。
【００６２】
注目場所検出部１７３は、曲線１０Ｃの加速度の推移に着目し、加速度が減少する時間を減速開始時間Ｔｎｉとして特定する。また、注目場所検出部１７３は、曲線１０Ｃの加速度の推移に着目し、加速度が減少した後に、加速度が増加する時間を減速完了時間Ｔｎｊとして特定する。
【００６３】
そして、注目場所検出部１７３は、減速開始時間Ｔｎｉおよび減速完了時間Ｔｎｊの間の位置を特定する。図１６に示す例では、減速開始時間Ｔｎｉおよび減速完了時間Ｔｎｊの間の位置範囲は、位置範囲１０Ｄとなる。注目場所検出部１７３は、位置範囲１０Ｄを間隔ＤＴでサンプリングを行い、サンプリング結果となるｘ、ｙ座標を減速座標点リスト１６４に登録する。注目場所検出部１７３は、その他の人についても上記処理を実行することで、人が減速した位置範囲をそれぞれ算出する。そして、注目場所検出部１７３は、各位置範囲をサンプリングして、サンプリング結果を減速座標点リスト１６４に登録する。
【００６４】
なお、注目場所検出部１７３が減速開始時間Ｔｎｉ、減速完了時間Ｔｎｊを特定する方法は下記のとおりとなる。注目場所検出部１７３は、曲線１０Ｃの開示時間をＴｎ０とし、ｄｔの時間間隔で、曲線１０Ｃを微分する。微分した値をJerkとする。そして、注目場所検出部１７３は、Jerkがマイナスとなる時間帯を減速時間帯とし、この減速時間帯の開始時間を減速開始時間Ｔｎｉ、減速時間帯の終了時間を減速完了時間Ｔｎｊとする。
【００６５】
注目場所検出部１７３がサンプリングを行う場合の分解能は、運用によって適宜切り替えられる。例えば、注目場所の検出に高い精度が求められる場合には、サンプリング間隔は短い間隔に設定される。このように、サンプリング間隔を短くすることで、注目場所の検出精度が向上する。これに対して、注目場所の検出に高い精度が求められない場合には、サンプリング間隔は長い間隔に設定される。このように、サンプリング間隔を長くすることで、計算コストを削減することができる。
【００６６】
図４の説明に戻る。リアルタイム行動認識部１７４は、ある時間Ｔｎにおいて瞬間的に発生するイベントの位置を検出する処理部である。リアルタイム行動認識部１７４は、人検知部１３０から人のＩＤと人の座標データと時間データとを取得し、ＩＤ毎に人の移動速度を算出する。例えば、リアルタイム行動認識部１７４は、前後の座標の差を前後の時間の差で除算することで、移動速度を順次算出する。
【００６７】
リアルタイム行動認識部１７４は、時間Ｔｎの人の位置を通り、移動速度の向きと同方向の直線を算出する。リアルタイム行動認識部１７４は、人毎に上記直線をそれぞれ算出する。そして、リアルタイム行動認識部１７４は、各直線の交点を算出し、算出した交点の座標を、瞬間的に発生するイベントの位置として検出する。リアルタイム行動認識部１７４は、各直線の交点を交点リスト１６５に登録する。また、リアルタイム行動認識部１７４は、イベントの位置のデータを駆動制御部１７５に出力する。
【００６８】
図１７は、リアルタイム行動認識部の処理を説明するための図（１）である。図１７において、１１Ａ、１１Ｂ、１１Ｃは、時間Ｔｎにおける人物ａ、ｂ、ｃの位置を示す。１２Ａ、１２Ｂ、１２Ｃは、時間Ｔｎにおける人物ａ、ｂ、ｃの移動速度の向きを示す。直線１３Ａは、位置１１Ａを通り、向き１２Ａと同方向の直線であり、直線１３Ｂは、位置１１Ｂを通り、向き１２Ｂと同方向の直線であり、直線１３Ｃは、位置１１Ｃを通り、向き１２Ｃと同方向の直線である。直線１３Ａ、１３Ｂ、１３Ｃの交点は交点１４Ａとなる。この場合には、リアルタイム行動認識部１７４は、交点１４Ａを、瞬間的に発生するイベントの位置として検出する。
【００６９】
図１７に示す例では、各人が交点に向かっている場合について説明したが、交点から人が離れる場合にも、交点に対応する位置に何かしらのイベントが発生したものと考えられる。図１８は、リアルタイム行動認識部の処理を説明するための図（２）である。図１８において、１１Ｄ、１１Ｅ、１１Ｆは、時間Ｔｎにおける人物ｄ、ｅ、ｆの位置を示す。１２Ｄ、１２E、１２Ｆは、時間Ｔｎにおける人物ｄ、ｅ、ｆの移動速度の向きを示す。直線１３Ｄは、位置１１Ｄを通り、向き１２Ｄと同方向の直線であり、直線１３Ｅは、位置１１Ｅを通り、向き１２Ｅと同方向の直線であり、直線１３Ｆは、位置１１Ｆを通り、向き１２Ｆと同方向の直線である。直線１３Ｄ、１３Ｂ、１３Ｃの交点は交点１４Ｂとなる。この場合には、リアルタイム行動認識部１７４は、交点１４Ｂを、瞬間的に発生するイベントの位置として検出する。
【００７０】
なお、リアルタイム行動認識部１７４は、各直線の交点を算出した後に、一定範囲内に存在する交点の数が閾値以上となる場合に、この一定範囲内の位置を、瞬間的に発生するイベントの位置として検出してもよい。上記交点は、２本の直線の交点でもよいし、３本以上の直線の交点でもよい。
【００７１】
図４の説明に戻る。駆動制御部１７５は、移動軌跡統合部１７２から取得する複数人の流れ、注目場所検出部１７３から取得する注目度の高い場所、リアルタイム行動認識部１７４から取得する瞬間的に発生するイベントの位置を基にして、駆動部１４０を駆動させる処理部である。例えば、駆動制御部１７５は、複数人の流れに添うようにサービスロボット１００が移動するように、制御命令を駆動部１４０に出力する。また、駆動制御部１７５は、サービスロボット１００が注目度の高い位置に移動するように、制御命令を駆動部１４０に出力する。また、駆動制御部１７５は、サービスロボット１００が、瞬間的に発生するイベントの位置に移動するように、制御命令を駆動部１４０に出力する。
【００７２】
次に、図２に示した制御部１７０の処理手順について説明する。図１９は、本実施例２にかかる制御部の処理手順を示すフローチャートである。図１９に示す処理は、例えば、サービスロボット１００が起動したことを契機として実行される。図１９に示すように、制御部１７０は、検知サイクルをＣｉに設定する（ステップＳ１０１）。Ｃｉの値は例えば１００ｍｓである。
【００７３】
制御部１７０は、人のＩＤ、座標、速度をタイムスタンプ付きで記憶部１６０に保存する（ステップＳ１０２）。また、制御部１７０は、移動軌跡スプラインを作成し、記憶部１６０に保存する（ステップＳ１０３）。
【００７４】
制御部１７０は、一定時間内のデータを統計する場合には（ステップＳ１０４，Ｙｅｓ）、一定時間内の複数人の流れ、注目度の高い場所を検出し、検出結果を出力し（ステップＳ１０５）、ステップＳ１０６に移行する。ここで一定時間は、例えば、１０分程度の時間である。
【００７５】
一方、制御部１７０は、一定時間内のデータを統計しない場合には（ステップＳ１０４，Ｎｏ）、リアルタイム行動認識を行うか否かを判定する（ステップＳ１０６）。制御部１７０は、リアルタイム行動認識を行う場合には（ステップＳ１０６，Ｙｅｓ）、リアルタイム行動認識を実行し、実行結果を出力し（ステップＳ１０７）、ステップＳ１０８に移行する。
【００７６】
一方、制御部１７０は、リアルタイム行動認識を行わない場合には（ステップＳ１０６，Ｎｏ）、処理を終了するか否かを判定する（ステップＳ１０８）。制御部１７０は、処理を終了する場合には（ステップＳ１０８，Ｙｅｓ）、処理を終了する。制御部１７０は、処理を継続する場合には（ステップＳ１０８，Ｎｏ）、Ｃｉに１を加算し（ステップＳ１０９）、ステップＳ１０１に再度移行する。
【００７７】
次に、図４に示した移動軌跡統合部１７２の処理手順について説明する。図２０は、移動軌跡統合部の処理手順を示すフローチャートである。図２０に示す処理は、例えば、原始データ登録部１７１により、原始データ１６１が生成されたことを契機に実行される。
【００７８】
図２０に示すように、移動軌跡統合部１７２は、移動軌跡スプラインリスト１６２を作成し、この移動軌跡スプラインリスト１６２を空に設定する（ステップＳ２０１）。また、移動軌跡統合部１７２は、所定時間内の全ての人の移動軌跡スプラインを移動軌跡スプラインリスト１６２に追加する（ステップＳ２０２）。
【００７９】
移動軌跡統合部１７２は、移動軌跡スプラインの長さに基づいて移動軌跡スプラインリスト１６２をソートする（ステップＳ２０３）。移動軌跡統合部１７２は、各移動軌跡スプラインの始点、終点の位置で方向を計算し、計算結果を保存する（ステップＳ２０４）。
【００８０】
移動軌跡統合部１７２は、移動軌跡スプラインリスト１６２に含まれる移動軌跡スプラインのうち、一番長い移動軌跡スプラインｉを取得する（ステップＳ２０５）。そして、移動軌跡統合部１７２は、移動軌跡スプラインｉを参照スプラインとし、流れリスト１６３を作成する（ステップＳ２０６）。
【００８１】
移動軌跡統合部１７２は、移動軌跡スプラインｉとの方位差が第１閾値未満となる移動軌跡スプラインｊを取得する（ステップＳ２０７）。移動軌跡統合部１７２は、移動軌跡スプラインｊを等間隔にＮ点サンプリングし、移動軌跡スプラインｉとの最短距離を計算する（ステップＳ２０８）。
【００８２】
移動軌跡統合部１７２は、最短距離の平均値および分散が閾値以上の場合には（ステップＳ２０９，Ｎｏ）、ｊに１を加算し（ステップＳ２１０）、ステップＳ２０７に移行する。一方、移動軌跡統合部１７２は、最短距離の平均値および分散が閾値未満の場合には（ステップＳ２０９，Ｙｅｓ）、移動軌跡スプラインｉの流れリスト１６３に移動軌跡スプラインｊを追加する。また、移動軌跡統合部１７２は、移動軌跡スプラインｉを移動軌跡スプラインリスト１６２から削除する（ステップＳ２１１）。なお、上記のように、最短距離の平均値と比較される閾値は、第２閾値であり、分散と比較される閾値は第３閾値である。
【００８３】
移動軌跡統合部１７２は、移動軌跡スプラインｉとの方位差が第１閾値未満となる移動軌跡スプラインが存在する場合には（ステップＳ２１２，Ｙｅｓ）、ステップＳ２１０に移行する。一方、移動軌跡統合部１７２は、移動軌跡スプラインｉとの方位差が第１閾値未満となる移動軌跡スプラインが存在しない場合には（ステップＳ２１２，Ｎｏ）、移動軌跡スプラインリスト１６２が空であるか否かを判定する（ステップＳ２１３）。
【００８４】
移動軌跡統合部１７２は、移動軌跡スプラインリスト１６２が空ではない場合には（ステップＳ２１３，Ｎｏ）、ｉに１を加算し（ステップＳ２１４）、ステップＳ２０５に移動する。
【００８５】
一方、移動軌跡統合部１７２は、移動軌跡スプラインリスト１６２が空の場合には（ステップＳ２１３，Ｙｅｓ）、流れリスト１６３に含まれる全ての移動軌跡スプラインを、重みを考慮して平均化する（ステップＳ２１５）。そして、移動軌跡統合部１７２は、平均化した移動軌跡スプラインを該当流れモデルに設定し、駆動制御部１７５に出力する（ステップＳ２１６）。
【００８６】
次に、図４に示した注目場所検出部１７３の処理手順について説明する。図２１は、注目場所検出部の処理手順を示すフローチャートである。図２１に示す処理は、例えば、原始データ登録部１７１により、原始データ１６１が生成されたことを契機に実行される。
【００８７】
注目場所検出部１７３は、所定時間内の全ての人の移動位置の軌跡、速度の軌跡、加速度の軌跡を取得する（ステップＳ３０１）。また、注目場所検出部１７３は、減速座標点リスト１６４を生成する（ステップＳ３０２）。
【００８８】
注目場所検出部１７３は、Ｎ番目の人が減速する時間帯[Ｔｎｉ、Ｔｎｊ]を抽出し（ステップＳ３０３）、時間帯[Ｔｎｉ、Ｔｎｊ]内の移動軌跡を取得し、間隔ＤＴにて移動軌跡をリサンプリングする（ステップＳ３０４）。
【００８９】
注目場所検出部１７３は、リサンプリングしたＸ、Ｙ座標点および移動方向を減速座標点リスト１６４に追加する（ステップＳ３０５）。注目場所検出部１７３は、登録が完了してない場合には（ステップＳ３０６，Ｎｏ）、再度ステップＳ３０３に移行する。
【００９０】
一方、注目場所検出部１７３は、登録が完了した場合には（ステップＳ３０６，Ｙｅｓ）、減速座標点リスト１６４のＸ、Ｙ座標点を利用して、階級ＤＸ、ＤＹで２Ｄヒストグラムを作成する（ステップＳ３０７）。
【００９１】
注目場所検出部１７３は、ヒストグラムの度数がＮ以上となる場所を判定し（ステップＳ３０８）、判定した場所において、移動方向のヒストグラムを作成する（ステップＳ３０９）。そして、注目場所検出部１７３は、ヒストグラムの最も高い度数の角度を該当場所の移動方向として判定する（ステップＳ３１０）。
【００９２】
次に、図４に示したリアルタイム行動認識部１７４の処理手順について説明する。図２２は、リアルタイム行動認識部の処理手順を示すフローチャートである。図２２に示す処理は、例えば、人検知部１３０から、人のＩＤ、座標データ、時間データを取得したことを契機に実行される。
【００９３】
リアルタイム行動認識部１７４は、検知サイクルで検知した全ての人の位置、速度を取得し（ステップＳ４０１）、各人の位置を通り、速度と同方向の直線を作成する（ステップＳ４０２）。
【００９４】
リアルタイム行動認識部１７４は、直線ｉと直線ｉ以外の直線との交点のＸ，Ｙ座標を算出し（ステップＳ４０３）、交点リスト１６５に登録する（ステップＳ４０４）。リアルタイム行動認識部１７４は、登録が完了していない場合には（ステップＳ４０５，Ｎｏ）、ｉに１を加算し（ステップＳ４０６）、ステップＳ４０３に移行する。
【００９５】
一方、リアルタイム行動認識部１７４は、登録が完了した場合には（ステップＳ４０５，Ｙｅｓ）、交点リスト１６５のＸ，Ｙ座標を利用し、階級ＤＲで２Ｄヒストグラムを作成する（ステップＳ４０７）。リアルタイム行動認識部１７４は、ヒストグラムの度数が閾値Ｎを超えた場合に、その階級の平均値をイベントの発生位置として検出する（ステップＳ４０８）。
【００９６】
上述してきたように、サービスロボット１００に含まれる制御部１７０は、複数の人の移動軌跡スプラインのうち、最も長い移動軌跡スプラインを参照スプラインとして特定する。そして、制御部１７０は、参照スプラインの特徴に類似する他の移動スプラインを統合することで複数人の流れを検出する。このように、複数人の流れを検出することができるので、例えば、サービスロボット１００は、単一の人の動きに影響されず、サービスを行う場合の最適な位置に移動することができる。
【００９７】
また、制御部１７０は、人の速度を算出し、速度が減速した時点での人の位置を検出する。一般的に、人は注目度の高い場所にさしかかると、移動する速度が減速するものと考えられる。このため、制御部１７０は、注目度の高い場所を検出することができるので、サービスロボット１００は、注目度の高い場所に移動して、サービスを提供することができる。
【００９８】
また、制御部１７０は、人が移動するたびに、一時的な各人の移動方向をそれぞれ算出し、算出した各移動方向と同方向の直線に基づいて、各人の移動に影響を与える位置を検出する。このため、制御部１７０は、リアルタイムに各人に注目される場所を検出することができ、サービスロボット１００は、注目される場所に移動することで、サービスを適切に実行することができる。
【００９９】
ところで、上記実施例２では、制御部１７０がサービスエリア内の複数人の移動の流れ、複数人に注目される位置、一時的に複数人に与えるイベントの位置を検出し、該当場所にサービスロボット１００を移動させる場合について説明した。しかし、制御部１７０の機能をサービスロボット１００以外の装置に適用することも可能である。例えば、制御部１７０の機能をカメラを制御する監視システムに適用し、複数人の移動の流れ、複数人に注目される位置、一時的に複数人に与えるイベントの位置を検出した場合に、該当場所の方向にカメラを向けて監視を行うようにしてもよい。
【０１００】
また、上記実施例２では、ＬＲＦ１２０ｂをサービスロボット１００に搭載する場合について説明したが、これに限定されるものではない。例えば、ＬＲＦ１２０ｂをサービスロボット１００以外の所定の位置に設置してもよい。
【０１０１】
また、駆動制御部１７５は、移動軌跡統合部１７２から取得する複数人の移動推移と、注目場所検出部１７３から取得する注目度の高い場所とを比較し、複数人の移動推移と注目度の高い場所とが重なる領域を検出してもよい。例えば、駆動制御部１７５は、検出した領域に向けてサービスロボット１００が移動するように、制御命令を駆動部１４０に出力する。
【０１０２】
なお、上記の制御部１７０は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、制御部１７０等の各機能を搭載することによって実現することもできる。
【０１０３】
図２３は、本実施例にかかる制御部を構成するコンピュータのハードウェア構成を示す図である。このコンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、ユーザからのデータの入力を受け付ける入力装置２０２と、ネットワークを介して他のコンピュータとの間でデータの授受を行うネットワークインターフェース装置２０３とを有する。また、コンピュータ２００は、カメラ２０４と、ＬＲＦ２０５と、リアルタイムクロック２０６とを有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ（Random  Access  Memory）２０７と、ハードディスク装置２０８とを有する。各装置２０１〜２０８は、バス２０９に接続される。
【０１０４】
そして、ハードディスク装置２０８は、図２に示した人検知部１３０、制御部１７０と同様の機能を有する検出プログラム２０８ａを記憶する。また、ハードディスク装置２０８は、図２の記憶部１６０に記憶されたデータに対応する各種データ２０８ｂを記憶する。
【０１０５】
ＣＰＵ２０１は、検出プログラム２０８ａを読み出してＲＡＭ２０７に展開する。そうすると、検出プログラム２０８ａは、検出プロセス２０７ａとして機能するようになる。この検出プロセス２０７ａは、図２の人検知部１３０、制御部１７０に対応する。なお、ＣＰＵ２０１は、ハードディスク装置２０８に記憶された各種データ２０８ｂを読み出して、ＲＡＭ２０７に記憶させる。
【０１０６】
検出プロセス２０７ａは、各種データ２０７ｂ、および、カメラ２０４、ＬＲＦ２０５、リアルタイムクロック２０６からのデータを利用して、複数人の移動の流れ、注目度の高い場所、一時的に発生するイベントの位置を検出する。
【０１０７】
なお、検出プログラム２０８ａは、必ずしもハードディスク装置２０８に格納されている必要はない。コンピュータ２００は、ＣＤ−ＲＯＭ等の記憶媒体に記憶された検出プログラム２０８ａを読み出して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等にこの検出プログラム２０８ａを記憶させておき、コンピュータ２００が検出プログラム２０８ａを読み出して実行するようにしてもよい。
【０１０８】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１０９】
（付記１）コンピュータに、
移動体の位置を示す位置情報と該移動体が前記位置に存在した時間を示す時間情報とを対応づけて記憶部に記憶する記憶手順と、
前記位置情報および前記時間情報に基づいて、複数の移動体の移動軌跡を移動体毎に算出する移動軌跡算出手順と、
前記移動軌跡算出手順により算出された複数の移動軌跡のうち、移動軌跡の長さが他の移動軌跡の長さと比較して長い移動軌跡を示す基準移動軌跡を特定する移動軌跡特定手順と、
前記基準移動軌跡の特徴に類似する他の移動軌跡を統合することで、複数の移動体の移動推移を検出する移動推移検出手順と
を実行させることを特徴とする移動体検出プログラム。
【０１１０】
（付記２）前記記憶部に記憶された前記位置情報および前記時間情報に基づいて、移動体の加速度を算出し、該加速度が減少した時点での前記移動体の位置を検出する位置検出手順を更にコンピュータに実行させることを特徴とする付記１に記載の移動体検出プログラム。
【０１１１】
（付記３）前記移動推移検出手順において検出された複数の移動体の移動軌跡と、前記位置検出手順において検出された移動体の位置とが重なる位置を検出する重なり位置検出手順を更にコンピュータに実行させることを特徴とする付記２に記載の移動体検出プログラム。
【０１１２】
（付記４）一定の時間間隔毎に、一時的な各移動体の移動方向をそれぞれ算出し、各移動体の位置から前記移動方向への直線がそれぞれ重複する領域または各移動体の位置から前記移動方向とは正反対の方向への直線がそれぞれ重複する領域を検出する重複領域検出手順を更にコンピュータに実行させることを特徴とする付記１、２または３に記載の移動体検出プログラム。
【０１１３】
（付記５）移動体の位置を示す位置情報と該移動体が前記位置に存在した時間を示す時間情報とを対応づけて記憶する記憶部と、
前記位置情報および前記時間情報に基づいて、複数の移動体の移動軌跡を移動体毎に算出する移動軌跡算出部と、
前記移動軌跡算出部により算出された複数の移動軌跡のうち、移動軌跡の長さが他の移動軌跡の長さと比較して長い移動軌跡を示す基準移動軌跡を特定する移動軌跡特定部と、
前記基準移動軌跡の特徴に類似する他の移動軌跡を統合することで、複数の移動体の移動推移を検出する移動推移検出部と
を備えたことを特徴とする移動体検出装置。
【０１１４】
（付記６）前記記憶部に記憶された前記位置情報および前記時間情報に基づいて、移動体の加速度を算出し、該加速度が減少した時点での前記移動体の位置を検出する位置検出部を更に備えたことを特徴とする付記５に記載の移動体検出装置。
【０１１５】
（付記７）前記移動推移検出部において検出された複数の移動体の移動軌跡と、前記位置検出部において検出された移動体の位置とが重なる位置を検出する重なり位置検出部を更に備えたことを特徴とする付記６に記載の移動体検出装置。
【０１１６】
（付記８）一定の時間間隔毎に、一時的な各移動体の移動方向をそれぞれ算出し、各移動体の位置から前記移動方向への直線がそれぞれ重複する領域または各移動体の位置から前記移動方向とは正反対の方向への直線がそれぞれ重複する領域を検出する重複領域検出部を更に備えたことを特徴とする付記５、６または７に記載の移動体検出装置。
【０１１７】
（付記９）移動体検出装置が、
移動体の位置を示す位置情報と該移動体が前記位置に存在した時間を示す時間情報とを対応づけて記憶部に記憶する記憶ステップと、
前記位置情報および前記時間情報に基づいて、複数の移動体の移動軌跡を移動体毎に算出する移動軌跡算出ステップと、
前記移動軌跡算出ステップにより算出された複数の移動軌跡のうち、移動軌跡の長さが他の移動軌跡の長さと比較して長い移動軌跡を示す基準移動軌跡を特定する移動軌跡特定ステップと、
前記基準移動軌跡の特徴に類似する他の移動軌跡を統合することで、複数の移動体の移動推移を検出する移動推移検出ステップと
を含んだことを特徴とする移動体検出方法。
【０１１８】
（付記１０）前記記憶部に記憶された前記位置情報および前記時間情報に基づいて、移動体の加速度を算出し、該加速度が減少した時点での前記移動体の位置を検出する位置検出ステップを更に含んだことを特徴とする付記９に記載の移動体検出方法。
【０１１９】
（付記１１）前記移動推移検出ステップにおいて検出された複数の移動体の移動軌跡と、前記位置検出ステップにおいて検出された移動体の位置とが重なる位置を検出する重なり位置検出ステップを更に含んだことを特徴とする付記１０に記載の移動体検出方法。
【０１２０】
（付記１２）一定の時間間隔毎に、一時的な各移動体の移動方向をそれぞれ算出し、各移動体の位置から前記移動方向への直線がそれぞれ重複する領域または各移動体の位置から前記移動方向とは正反対の方向への直線がそれぞれ重複する領域を検出する重複領域検出ステップを更に含んだことを特徴とする付記９、１０または１１に記載の移動体検出方法。
【符号の説明】
【０１２１】
５０    移動体検出装置
５１    記憶部
５２    移動軌跡算出部
５３    移動軌跡特定部
５４    移動推移検出部
【図１】
0005445319.tif 000002
【図２】
0005445319.tif 000003
【図３】
0005445319.tif 000004
【図４】
0005445319.tif 000005
【図５】
0005445319.tif 000006
【図６】
0005445319.tif 000007
【図７】
0005445319.tif 000008
【図８】
0005445319.tif 000009
【図９】
0005445319.tif 000010
【図１０】
0005445319.tif 000011
【図１１】
0005445319.tif 000012
【図１２】
0005445319.tif 000013
【図１３】
0005445319.tif 000014
【図１４】
0005445319.tif 000015
【図１５】
0005445319.tif 000016
【図１６】
0005445319.tif 000017
【図１７】
0005445319.tif 000018
【図１８】
0005445319.tif 000019
【図１９】
0005445319.tif 000020
【図２０】
0005445319.tif 000021
【図２１】
0005445319.tif 000022
【図２２】
0005445319.tif 000023
【図２３】
0005445319.tif 000024
【図２４】
0005445319.tif 000025
【図２５】
0005445319.tif 000026
【図２６】
0005445319.tif 000027
【図２７】
0005445319.tif 000028