【国等の委託研究の成果に係る記載事項】(出願人による申告)平成25年度、支出負担行為担当官 総務省大臣官房会計課企画官、情報通信技術の研究開発 脳の仕組みを活かしたイノベーション創成型研究開発「高精度脳情報センシング技術・脳情報伝送技術、実時間脳情報抽出・解読技術 及び脳情報解読に基づく生活支援機器制御技術」に関する委託研究、産業技術力強化法第19条の適用を受ける特許出願
(58)【調査した分野】(Int.Cl.,DB名)
前記組の候補の姿勢不変な特徴量は、前記組の候補が含む対象物の数、前記組の候補の移動方向および前記組の候補の幾何学的な中心位置に対する各対象物の位置とを含む、請求項1または2記載のキャリブレーション装置。
前記投票手段は、前記マッチングされた前記第1の組の候補と前記第2の組の候補の前記対象物を除いて、前記相対位置関係により変換される位置がマッチングしていると判断される対象物の総数をコンシステンシメトリックとするとき、前記コンシステンシメトリックにより重みづけされた投票を行う、請求項5記載のキャリブレーション装置。
前記ロバスト推定手段は、RANSAC(random sample consensus)により、前記第二次相対位置関係の推定を行う、請求項2記載のキャリブレーション装置。
【発明を実施するための形態】
【0034】
以下、本発明の実施の形態の複数の距離センサが設置されている場合に、各距離センサの位置および方向を校正するためのキャリブレーション装置、キャリブレーション方法およびキャリブレーションプログラムについて、図に従って説明する。なお、以下の実施の形態において、同じ符号を付した構成要素および処理工程は、同一または相当するものであり、必要でない場合は、その説明は繰り返さない。
【0035】
また、以下の説明では、距離センサとして、2次元的なスキャンを行うレーザレンジファインダを例として説明するが、本発明は、このような距離センサに限らず、他の方式により、対象物までの距離を測定するための測距センサについても適用可能であり、また、測距センサによる距離の計測が、3次元的に行われる場合にも適用可能である。
【0036】
(実施の形態の説明)
図1は、本実施の形態の計測システム1000の構成を説明するための図である。
【0037】
図1では、所定の領域内、たとえば、ショッピングセンターの一部の領域に、複数の距離計測センサ10.1〜10.n(n:2以上の自然数)を配置した状態を示す。
図1においては、2つの距離センサ10.1および10.2を代表的に示す。また、計測システム1000においては、対象の追跡および特定処理を実行するための計測演算装置100も配置される。ここで、距離計測センサとしては、非接触で二点間の距離を計る計測機器であればよいが、以下では、距離計測センサ10.1〜10.nは、上述のとおり、それぞれ、レーザレンジファインダであるものとして説明する。
【0038】
図1において、所定の観測領域のショッピングセンター内の一部の領域において、人間p1〜p7が歩行している。このうち、歩行者p1およびp2は、1つのグループとして移動しており、歩行者p3〜p5も1つのグループとして移動しているものとする。
【0039】
また、計測演算装置100は、特に限定されないが、汎用のコンピュータで実現することが可能であり、レーザレンジファインダ10.1〜10.nとは、所定の規格のインターフェイスを介して接続される。
図1の例では、1台の計測演算装置100にすべてのレーザレンジファインダ10.1〜10.nを接続するようにしてあるが、LANのようなネットワークで接続される2台以上のコンピュータで処理を分担するようにしてもよい。その場合には、たとえば、いずれか1台のコンピュータが統括コンピュータとして機能すればよい。
【0040】
さらに、
図1の例では、所定の観測領域における対象を追跡するために、n個のレーザレンジファインダ10.1〜10.nを設けるようにしてあるが、これは単なる例示である。したがって、領域の大きさ、形状、障害物の位置や個数に応じて、レーザレンジファインダの数は適宜変更される。レーザレンジファインダ10.1〜10.nは、建物などの観測領域内の移動対象を検出可能な位置に配置され、レーザレンジファインダ 10.1〜10.nの各々は、少なくとも2つ以上のレーザレンジファインダ10.1〜10.nの検出領域が重なるように配置される。
【0041】
レーザレンジファインダ10.1〜10.nは、レーザーを照射し、物体に反射して戻ってくるまでの時間から当該物体ための距離を計測するものである。たとえば、トランスミッタ(図示せず)から照射したレーザーを回転ミラー(図示せず)で反射させて、前方を扇状に一定角度(たとえば、0.5度)ずつスキャンする。
【0042】
ここで、レーザレンジファインダ10.1〜10.nの計測範囲は、半径Rの半円形状(扇形)で示される。つまり、レーザレンジファインダ10.1〜10.nは、その正面方向を中心とした場合に、左右それぞれについて所定の角度、たとえば、90°の方向を所定の距離(R)以内で計測可能である。
【0043】
また、使用しているレーザーは、日本工業規格 JIS C 6802 「レーザー製品の安全基準」におけるクラス1レーザーであり、人の眼に対して影響を及ぼさない安全なレベルであるものとする。
【0044】
図2は、上述のような観測対象となる所定の領域におけるLRFによる測距データの一例を示す図である。
【0045】
図2において、上段の
図2aは、距離センサにより計測された生データを示し、下段の
図2bは、背景となる固定物を除いて、移動中の対象物の検出結果を示す図である。
【0046】
図2aにおいては、距離センサは、円ないし半円で示されている。
【0047】
図2bにおいては、背景となる固定物は、灰色で示されており、検出された移動中の対象物を丸で示し、丸に負荷された直線により移動方向が示される。人間の腰の高さで移動する物体を検出しているので、移動中の対象物は、人であると推定される。また、後に説明するような方法で、この測定の時間ステップにおいて、グループとして移動していると特定された対象物は、点線の円で囲まれている。以下では、このように、環境中で、人の社会的な関係性の故にグループとして移動しているとみなされる群を、「社会的グループ(social group)」と呼ぶ。
【0048】
[ハードウェアブロック]
図3は、計測演算装置100のハードウェア構成を説明するためのブロック図である。
【0049】
図3に示されるように、計測演算装置100は、外部記録媒体64に記録されたデータを読み取ることができるドライブ装置52と、バス66に接続された中央演算装置(CPU:Central Processing Unit)56と、ROM(Read Only Memory) 58と、RAM(Random Access Memory)60と、不揮発性記憶装置54と、レーザレンジファインダ10.1〜10.nからの測距データを取込むためのデータ入力インタフェース(以下、データ入力I/F)68とを含んでいる。
【0050】
外部記録媒体64としては、たとえば、CD−ROM、DVD−ROMのような光ディスクやメモリカードを使用することができる。ただし、記録媒体ドライブ52の機能を実現する装置は、光ディスクやフラッシュメモリなどの不揮発性の記録媒体に記憶されたデータを読み出せる装置であれば、対象となる記録媒体は、これらに限定されない。また、不揮発性記憶装置54の機能を実現する装置も、不揮発的にデータを記憶し、かつ、ランダムアクセスできる装置であれば、ハードディスクのような磁気記憶装置を使用してもよいし、フラッシュメモリなどの不揮発性半導体メモリを記憶装置として用いるソリッドステートドライブ(SSD:Solid State Drive)を用いることもできる。
【0051】
このような計測演算装置100の主要部は、コンピュータハードウェアと、CPU56により実行されるソフトウェアとにより実現される。一般的にこうしたソフトウェアは、マスクROMやプログラマブルROMなどにより、計測演算装置100製造時に記録されており、これが実行時にRAM60に読みだされる構成としてもよいし、ドライブ装置52により記録媒体64から読取られて不揮発性記憶装置54に一旦格納され、実行時にRAM60に読みだされる構成としてもよい。または、当該装置がネットワークに接続されている場合には、ネットワーク上のサーバから、一旦、不揮発性記憶装置54にコピーされ、不揮発性記憶装置54からRAM60に読出されてCPU56により実行される構成であってもよい。
【0052】
図3に示したコンピュータのハードウェア自体およびその動作原理は一般的なものである。したがって、本発明の最も本質的な部分の1つは、不揮発性記憶装置54等の記録媒体に記憶されたソフトウェアである。
【0053】
[システムの機能ブロック]
図4は、本実施の形態の計測演算装置100において、上述したCPU56がソフトウェアを実行するにより実現する機能を示す機能ブロック図である。
【0054】
以下に説明するとおり、本実施の形態の計測演算装置100では、レーザレンジファインダ10.1〜10.nからの出力(距離データ)に基づいて、トラッキングモジュール5630が、対象物(人)のトラッキングを行う。この対象物のトラッキングは、たとえば、パーティクルフィルタなどの技術を用いて、対象の位置および速度を推定することにより実行される。
【0055】
このような対象物(人)のトラッキングの処理については、たとえば、以下の文献に開示があるとおり、周知な方法で実行することが可能である。
【0056】
文献 : 特開2013−64671号公報明細書
以下では、このような対象物(人)のトラッキングの処理を行う前提として、複数の距離センサのそれぞれの位置および向きを、複数の距離センサからなるセンサネットワークの座標系において、校正するための処理の構成を説明する。
【0057】
なお、
図4に示した機能ブロックのうちのCPU56が実現する機能ブロックとしては、ソフトウェアでの処理に限定されるものではなく、その一部または全部がハードウェアにより実現されてもよい。
【0058】
図4を参照して、レーザレンジファインダ10.1〜10.nからの測距信号は、データキャプチャ処理部5602により制御されてデジタルデータとして入力され、キャプチャデータ記録処理部5604により、たとえば、不揮発性記憶装置54のような記憶装置に、各レーザレンジファインダごとに時系列のデータとして格納される。時系列にデータを取得する際に、計測演算装置100の制御の下に、データの取り込みが行われる時刻を示すデータを、以下では、「タイムスタンプ」と呼ぶ。特に限定されないが、タイムスタンプのデータは、レーザレンジファインダ10.1〜10.nからの測距データの各々に関連付けられて、不揮発性記憶装置54に格納される。
【0059】
ここで、各タイムスタンプの付された測距データから、以下に説明するように、各レーザレンジファインダの測定対象の中に、グループ候補が存在するか否かを判定する時間間隔のことを、「タイムステップ」と呼ぶ。以下では、簡単のために、タイムステップは、各タイムスタンプが付されるのと同一のタイミングであるものとして説明する。ただし、タイムステップは、タイムスタンプの時間間隔の所定の倍数であってもよい。
【0060】
後に詳しく説明するように、計測演算装置100は、さらに、記憶装置に格納された時系列のデータに基づいて、たとえば、各レーザレンジファインダの測定対象の中から、人に対応する移動対象物を抽出する人位置抽出部5608と、各レーザレンジファインダにおいて移動測定対象の中からグループとして特定できるグループ候補を識別する社会的グループ識別部5610と、レーザレンジファインダの各ペアごとに、一致する(マッチングする)グループを特定し、特定されたマッチングするグループの位置および向きによりレーザレンジファインダの各ペアの相対位置を算出するグループ比較部5612と、レーザレンジファインダの各ペアごとに、マッチングしたグループについて、投票処理により、レーザレンジファインダのペアの相対的な位置関係についての一次相対センサ位置評価を取得するための一般化ハフ変換処理部5614と、ロバスト推定により、一次相対センサ位置評価に対応するレーザレンジファインダのペアに対して共通に観測される対象物について、外れ値を除外して相対位置の再評価を行い、各ペアから共通に観測される対象物に対する位置の誤差を最小とする二次相対センサ位置評価を算出するためのRAN
SAC処理部5616と、二次相対センサ位置評価において、位置の誤差が最小となった各ペアから共通に観測される対象物の位置に基づいて、後に説明する拘束条件行列を生成して、各ペアから共通に観測される対象物について、複数のレーザレンジファインダをセンサネットワークとしてみたときに、そのネットワークにおいて定義される座標系(以下、「ネットワーク座標系」)での位置の誤差が最小となるように、各レーザレンジファインダのネットワーク座標系での位置および向きを校正し、校正結果を記憶装置54に格納するネットワーク位置特定部5620とを備える。
【0061】
計測演算装置100は、さらに、記憶装置54に格納された各レーザレンジファインダの位置および向きに基づいて、各レーザレンジファインダの位置および向きをフロアマップ(測定領域に対応する地図)などと整合させて、検出された移動対象物をグローバル座標系で表示するための画像出力制御部5640とを含む。
【0062】
以下、計測演算装置100によるレーザレンジファインダのネットワーク座標系における位置および向きの校正処理について、さらに詳しく説明する。
(センサの位置の特定のための必要条件および拘束条件)
校正のための前提となる事項をまず説明する。
【0063】
以下では、各レーザレンジファインダは、固定位置にあるものとする。
【0064】
このとき、レーザレンジファインダの性質により、あるセンサが、直接、他のセンサの相対的位置を検知することはできない。
【0065】
この場合の校正処理において、利用可能なデータは、各距離センサからの現在および履歴(時系列)としての距離のスキャンデータである。
【0066】
校正のための手続きは、さらに観測されている社会環境に干渉せずに、非侵襲性を可能にする手法であることが望ましい。
【0067】
たとえば、混雑した商業エリアに大きな目標物を置くことは、消費者または配送の流れを妨害し、製品表示を妨害し、あるいは、ビジネスが養おうとしているムードや雰囲気を台無しにするかもしれない。
【0068】
環境で自然に見つかった目標を使用することは、例えば、データ収集が進行中に、1つのセンサを取り除いたような場合でも、最小の労力で、しかも、いつでも、すばやくシステムを再校正することを可能にする。
【0069】
そこで、本実施の形態のキャリブレーション方法では、センサ位置を測定するための特徴物として環境を通って移動する歩行者自身の移動パターンを使用する。
【0070】
上述した特許文献2(特開2012−88135号)に開示された技術では、歩行者の観測に基づいた自動的なセンサ較正のための方法が提案されている。ここで、観測は、軌道形状の比較により、センサ間でマッチングされる。
【0071】
この技術は、いくつかの局所的に異なる方向を向いた部分領域を備えた領域内のように、歩行の軌跡が、移動に応じて著しく変わる環境に対しては有効である。しかしながら、人々が離れた目的地を持っている長い廊下および大きな社会的空間では、上記の技術を適用しようすることは、必ずしも、効果的でない。これらの環境では、大多数の軌道は、局所的には直線に相似しており、軌道形状のみに基づいて、それらを区別することが困難だからである。
【0072】
したがって、本実施の形態のキャリブレーションの方法では、異なるセンサからの同じ人々についての観測の信頼できる整合を可能にする、軌道形状以外の区別可能な特徴を特定する。
【0073】
また、大きな領域で、同時に多くの人々が観測されることになると、重い計算負荷が要求されることになる。そこで、本実施の形態のキャリブレーション方法では、センサ間の観測のマッチングの手続きは、計算負荷を低減する構成となっている。
(本実施の形態のキャリブレーション手続き)
(歩行者の運動のパターン)
本実施の形態のキャリブレーション方法では、歩行者自身の移動軌道を使用するのではなく、歩行者の運動の中で現れてくる移動パターンの特徴を使用する。
【0074】
複数の観測点からそのようなパターンを観測することができる場合、それらはセンサ位置の較正の中で使用することができる特徴の候補になる。
【0075】
このような歩行者の移動パターンを利用することにすれば、以下の利点がある。
【0076】
第1に、大多数の歩行者の軌道がジオメトリーにおいて類似するような場合にも、センサ間で共有される観測を識別することが可能となる。
【0077】
第2に、全ての歩行者の移動軌跡を計算の対象とするわけではないので、歩行者の数が大きい場合、計算上の負荷を低下させるために、探索空間を縮小することが可能となる。
【0078】
(社会的グループ)
多くの環境の中で、一般に観測される歩行者の移動の1つの特徴は社会的グループの形成である。
【0079】
つまり、ある社会的な関係を持った歩行者が、ともに歩いている場合、このようなグループが形成される。
【0080】
たとえば、親と子ども、友達のグループ、恋人同士あるいはビジネス同僚のチームといった人々からグループが成るかどうかにかかわらず、それは、歩行の流れにかかる外力にかかわらず、そのメンバーが接近していることとグループのメンバーがともに一定の範囲内にとどまるために、歩行する速度を調整するという事実によって、識別することができる。
【0081】
以下では、センサ間の観測のマッチングをとるために、特徴ベクトルとして、歩行者個々の軌道ではなく、社会的グループを利用することで、計算の効率化およびノイズへの頑強性を有するキャリブレーションを実現する方法について、説明する。
【0082】
まず、グループには個々の軌道より多くの識別可能な特徴があるので、誤ったマッチングを検出する可能性を小さくすることができる。
【0083】
次に、社会的グループは、時間に対して安定しており、よりよいノイズ除去のための時系列データをフィルタリングする機会を提供する。
【0084】
最後に、単一の時刻フレーム内の瞬間のデータ(1つのタイムスタンプに対応する測距データ)に基づいて、社会的グループは容易に検知でき、十分な軌道の整合をとるより、計算上単純な手続きである。
(校正アルゴリズム)
図5は、本実施の形態のキャリブレーション方法の流れを説明するためのフローチャートである。
【0085】
図5を参照して、人位置抽出部5608は、生のスキャンデータおよび各センサからの背景モデルを使用して、移動対象物の位置(基本的に歩行者位置に対応するので、以下、単に、「歩行者位置」と呼ぶことにする)を識別し、各センサからの相対的な歩行者の位置データを出力する(S100)。ただし、典型的には、この位置データにはノイズが多い。
【0086】
このような人の位置の抽出は、たとえば、タイムスタンプに対応する測距データごとに実行される。
【0087】
次に、社会的グループ識別部5610は、後に説明するように、同一時刻(同一タイムスタンプ)において各センサで検出された歩行者位置について、それら歩行者位置の近接の程度および運動方向の一致(運動方向のコヒーレンス)の程度に基づいて、各センサから観測される社会的グループ候補を識別する(S200)。
【0088】
続いて、グループ比較部5612は、レーザレンジファインダの各ペアごとに、運動方向によってグループを標準化して、メンバーの相対的位置を比較し、一致する(マッチングする)グループ候補を特定し、特定されたマッチングするグループ候補の位置および向きによりレーザレンジファインダの各ペアの予備的な相対位置関係の評価(「予備的なセンサ・オフセット仮説」)を算出する(S300)。ここで、グループが「一致する(マッチングする)」とは、レーザレンジファインダのペアから観測されているグループ候補が同一のグループであると特定されることをいう。
【0089】
さらに、一般化ハフ変換処理部5614は、レーザレンジファインダのペアの一方を基準としたときに、レーザレンジファインダのペアの他方の位置および向きを、基準となるレーザレンジファインダのローカル座標において、複数のタイムステップに渡って同一のグループであると判断される固有グループについて「予備的なセンサ・オフセット仮説」を平均することで、「センサ・オフセット仮説」を算出する。そして、ローカル座標に設定されるビンに、レーザレンジファインダのペアについての固有グループの全てについて、センサ・オフセット仮説の投票を蓄積し、最も高いスコアとなったビンを選択する(S310)。したがって、「センサ・オフセット仮説」とは、基準となるレーザレンジファインダのローカル座標において、他方のレーザレンジファインダの位置および向きにより表現される。また、最も高いスコアとなったビンに対応するセンサ・オフセット仮説が、一次相対センサ位置評価となる。「一次相対センサ位置評価」とは、固有のグループごとのセンサ・オフセット仮説に基づいて、そのような固有のグループを共通に観測するレーザレンジファインダの各ペアに対して、後に詳しく説明するようなビンへの投票処理により決定されるものであり、レーザレンジファインダの各ペアごとに算出されるものである。
【0090】
そして、RAN
SAC処理部5616は、ロバスト推定により、一次相対センサ位置評価に対応するレーザレンジファインダのペアに対して共通に観測される対象物について、外れ値を除外して相対位置の再評価を行い、各ペアから共通に観測される対象物に対する位置の誤差を最小とする二次相対センサ位置評価を算出する。なお、ロバスト推定であれば、外れ値を除外して誤差の影響を最小にするように、一次相対センサ位置評価から、相対位置評価の再調整により二次相対センサ位置評価を算出する方法は、RANSAC以外の他の方法であってもよい。
【0091】
最後に、ネットワーク位置特定部5620は、二次相対センサ位置評価において、位置の誤差が最小となった、各ペアから共通に観測される正対応の対象物の位置に基づいて、後に説明する拘束条件行列を生成して、各ペアから共通に観測される対象物の位置の誤差が最小となるように、最小自乗最小化を使用して拘束条件行列を解き、センサネットワーク全体のなかでの各レーザレンジファインダの位置および向きを校正し、校正結果を記憶装置54に格納する(S400)。
【0092】
以下、
図5のフローチャートの各ステップの処理について、より詳しく説明する。
(歩行者位置の検出)
図6は、レーザレンジファインダにより実際に観測されるデータを示す図である。
【0093】
まず、
図5のステップS100の歩行者位置の検出の処理について説明する。
【0094】
図6(a)に示されるように、背景スキャンは、環境中で固定された部分をモデル化するために構築される。
図6(a)では、背景領域(バックグラウンド領域)は、灰色で示され、2人の歩行者が検出される。
【0095】
いくつかのスキャンにわたって、1組の観測距離が、各スキャン角度ごとに収集され、観測時間にわたって最も頻繁に観測された距離が、背景モデルを構築するために使用される。
【0096】
(スキャンデータからの人間の位置の抽出)
図6(b)に示されるように、各データスキャンは、人間の位置を抽出するためにセグメントに分けられる。
【0097】
本システムは、プロセスの単純化のために、腰の高さのスキャンを使用する。
【0098】
好ましくは、スキャンデータに対しては、外れ値を削除し、かつスキャンデータを滑らかにするために中央値フィルタが使用されてもよい。
【0099】
その結果、スキャンデータにおいて、たとえば、フォアグラウンドで、幅30cmを超える連続的なセグメントが抽出される。深さ30cm以上の不連続は、セグメント境界と見なされる。
【0100】
一方で、所定の幅以下の小さなギャップは、同様の距離にあるセグメント間で削除される。また、所定のセグメントの長さの範囲、たとえば、幅5cmから80cmまでの間のセグメントは、人が存在する位置の候補と考えられる。
【0101】
このような人位置の候補となるセグメントに対して、楕円形状モデル(たとえば、長軸=55cmおよび短軸=25cm)を使用して、体の中心位置が、観測される体の幅の関数として決定される。
図6(b)では、簡単のために、人位置が丸で示される。
【0102】
このステップS100からは、レーザレンジファインダのローカル座標での人の相対的な位置のリストが出力される。
【0103】
図7は、
図5に示したフローチャートを、機能ブロックとして書き直した図であり、
図8は、
図7の各機能ブロックが出力するデータの例を示す図である。
【0104】
図7を参照して、N個のレーザレンジファインダからなるセンサネットワークを考えたときに、上述したステップS100の手続きにより、人の相対的な位置のリストが生成される。ここで、人の相対的な位置のリストは、レーザレンジファインダごとに生成されるので、ここでは、N個のリストが生成されることになる。「人の相対的な位置のリスト(以下、「人位置リスト」)」は、
図8に示すように、1つのレーザレンジファインダに対して、測定された時刻を表すタイムスタンプと、そのレーザレンジファインダで検出された歩行者の位置のロカール座標(ここでは、極座標で、(r、θ))が含まれる。
【0105】
図7に戻って、続いて、「各センサのグループ検知処理」では、N個のレーザレンジファインダに対して、人位置リストに基づいて、レーザレンジファインダごとにグループ候補の検知が行われる。これは、
図4の社会的グループ識別部5610の処理または
図5のステップS200の処理に対応する。検知されたグループ候補は、レーザレンジファインダにそれぞれ対応するN個のグループリストとして出力される。ここで、グループリストは、たとえば、同一のタイムスタンプに対応する距離データの中で検知される。
図8(b)に示すように、「グループリスト」は、レーザレンジファインダごとに、1つのグループ(または、後に説明するサブグループ)について、測定された時刻を表すタイムスタンプと、検出されたグループのメンバーの数と、グループの移動速度の絶対値|v|と、グループの幾何学的中心からの各メンバーの位置(ここでは、極座標で、(r、θ))をmメンバー分含む。ここで、極座標の中心は、上述のとおり、グループの幾何学的中心であるので、たとえば、各メンバーを同じ重みで考慮したときの重心を用いることができ、極座標の方向成分の基準は、グループの移動速度の方向とすることができる。
【0106】
再び、
図7に戻って、「センサペア分析処理」では、グループリストに基づいて、レーザレンジファインダの各ペアごとに、ペアに共通に観測されるグループを特定し、かつ、レーザレンジファインダのペア間の相対的な位置関係が特定される。特定された相対的な位置関係により、最も位置誤りが小さくなるように、レーザレンジファインダのペアから共通に観測される歩行者の位置が特定される。この「センサペア分析」は、
図5のステップS300〜S320の処理に対応する。センサペア分析では、N個のレーザレンジファインダの可能なペアの組み合わせについて実行されるので、N*(N−1)/2個の「共通に観測される対象物のリスト」が出力される。たとえば、レーザレンジファインダが4個の場合は、可能なペアの組み合わせは、6(=4*3/2)通りある。
図8(c)に示すように、「共通に観測される対象物のリスト」には、共通に観測される対象物ごとに、ペアをなす一方のレーザレンジファインダのローカル座標での共通に観測される対象物の位置座標と、ペアをなす他方のレーザレンジファインダのローカル座標での同一の対象物の位置座標との組が、含まれる。
【0107】
再び、
図7に戻って、最後に、「ネットワーク全体の校正処理」では、「共通に観測される対象物のリスト」に基づいて、後に説明するような拘束条件行列を生成して、この拘束条件行列による条件式を最小自乗法により解くことで、N個のレーザレンジファインダのセンサネットワーク全体におけるそれぞれの位置および向きを求めることで、校正処理が実行される。この「ネットワーク全体の構成処理」は、
図4のネットワーク位置特定部5620の処理または
図5のステップS400に対応する。
【0108】
「ネットワーク全体の構成処理」では、センサネットワーク全体における各レーザレンジファインダの位置および向きを表す「センサ位置リスト」が出力される。
図8(d)に示されるように、「センサ位置リスト」には、レーザレンジファインダごとのセンサネットワーク全体における位置および方向が、含まれる。特に限定されないが、「センサネットワーク全体における位置および方向の決定」とは、たとえば、いずれか1つの距離センサ、たとえば、第1番目の距離センサの位置を基準としたときに、センサネットワーク内の他の距離センサの相対位置および相対的な向きを全て決定することを意味する。この後、このようにして決定された「各距離センサのセンサネットワーク全体における位置および方向」をフロアマップなどと整合させることで、各距離センサにより検出される対象物の位置が、グローバル座標において特定されることになる。
【0109】
以下、
図7に示される各処理の機能ブロックごとにその処理について、説明する。
【0110】
(姿勢不変な特徴の検知)
本実施の形態では、上述したとおり、歩行者の流れの中で形成される社会的グループを、姿勢不変な特徴として採用する。
【0111】
社会的グループは、個々の歩行者軌道よりも、多くの特徴を記述できるものであり、それらは時間にわたって安定している。
【0112】
(姿勢不変な特徴としての社会的グループ)
姿勢不変な特徴として社会的グループを使用するために、異なる位置のレーザレンジファインダによって観測された時にも、不変に測定可能な特性の記述ベクトルを定義する。
【0113】
この記述ベクトルは、グループのメンバーの数nと、その動きベクトルの絶対値|v|(vがセンサ相対座標で定義されることに注目すると、姿勢不変な特性としてその大きさだけを使用することができる)と、グループの形状の幾何学的な記述とを含んでいる。
グループの形状は、そのメンバーの位置のリストとして姿勢不変な方法に記述することができる。つまり、グループ(または後に説明するサブグループ)の幾何学的な中心(重心)に対する各メンバーの位置で表される。
【0114】
この各メンバーの位置の情報は、ベクトルの集合M={m1,m2,…,mn}として記憶措置54に格納される。このベクトルの集合M={m1,m2,…,mn}は、グループの幾何学的な中心を原点としてグループの運動の方向にそのX軸を有するような極座標系中の各メンバーの位置について記述するとして格納される。
【0115】
(社会的グループの検知)
図9は、
図7の「各センサのグループ検知処理」について説明するためのフローチャートである。
【0116】
すなわち、各センサでのグループ検知処理のためには、検知された人と人との間の距離が、所定の距離、たとえば、1.5m未満であること、および運動の方向がそろっていること(運動の方向が、所定の角度範囲内(たとえば、±30°内)で一致すること)で、歩行者の組を社会的グループであると特定する。
【0117】
たとえば、初期値として、タイムステップは、t=0に設定し、処理対象の人Hを特定するためのワーキング変数も、0番目に設定されているものとする。
【0118】
図9を参照して、CPU56は、「各センサのグループ検知処理」が開始されると、処理の対象となるタイムステップを次に進めるとともに、グループリストをリセットする(S2002)。
【0119】
次に、CPU56は、現在の処理対象のタイムステップの「人位置リスト」における次の人Hを対象に設定し(S2004)、人Hがすでに特定されているグループ候補と、1.5m以内の距離であり、かつ、移動の方向が±30°内で一致しているかを判断する(S2006)。
【0120】
CPU56は、距離および移動の方向が条件を満たす場合(S2006でYes)は、人Hを現在のグループリスト内の対応するグループ候補のメンバーとして加える(S2008)。
【0121】
一方で、CPU56は、距離および移動の方向が条件を満たさない場合(S2006でNo)は、人Hが、観測されている他の人と、1.5m以内の距離であり、かつ、移動の方向が±30°内で一致しているかを判断する(S2010)。
【0122】
CPU56は、距離および移動の方向が条件を満たす場合(S2010でYes)は、現在のグループリスト内に新たなグループ候補を生成する(S2012)。
【0123】
一方で、CPU56は、距離および移動の方向が条件を満たさない場合(S2010でNo)は、現在の「人位置リスト」内にさらに人が登録されているときは(S2014でYes)、処理をS2004に復帰させる。
【0124】
CPU56は、距離および移動の方向が条件を満たさない場合(S2010でNo)で、現在の「人位置リスト」内にもう人が登録されていないときは(S2014でNo)、まだ、観測されたタイムステップがあるかを判断する(S2016)。
【0125】
CPU56は、タイムステップがまだある場合(S2016でYes)は、処理をステップS2002に復帰させる。
【0126】
一方、CPU56は、タイムステップがもうない場合(S2016でNo)は、グループリストに挙げられている各グループについて、グループのサブグループと、各サブグループの記述ベクトルを算出する(S2020)。
【0127】
その結果、CPU56は、すべてのタイムステップについて、レーザレンジファインダごとのグループリストを出力する。グループリストとは、各タイムステップでの1つの距離センサごとに観測される全てのグループのリストである。
【0128】
(オクルージョンの影響を避けるためのサブグループの列挙)
以下では、上述した「サブグループ」について、さらに説明する。
【0129】
グループの何人かのメンバーは、他者によってレーザレンジファインダの見通し範囲から遮蔽(オクルージョンと呼ぶ)されるかもしれない。
【0130】
したがって、あるグループは、1つのレーザレンジファインダに対して3人のメンバーを有するものの、別のレーザレンジファインダに対しては、2人だけを有するように観測されるかもしれない。
【0131】
この可能性に対処するために、CPU56は、レーザレンジファインダのペア間でのマッチングを行う候補として使用するために、観測されたグループを構成するサブグループを、すべて列挙する。
【0132】
図10は、可能なオクルージョンに対応するサブグループと、グループの記述ベクトルを示す図である。
【0133】
図10(a)は、レーザレンジファインダS1で観測されるグループを示し、
図10(b)は、観測されたグループの可能なサブグループの列挙を示す。以下では、マッチング処理などで、単に、「グループ」と呼ぶ場合、そのグループについてのサブグループも含んでいる。また、あるグループのサブグループと他のグループ、または、あるグループのサブグループと他のグループのサブグループがマッチングした場合でも、「グループがマッチングした」と呼ぶものとする。
【0134】
3人のグループについては、オクルージョンの可能性によって、元の3人のグループ、3人のうちの2人の第1のグループ、3人のうちの2人の第2のグループが、サブグループとして列挙される。3人から2人を選ぶ組み合わせは、3通りあるが、残りの1通りは、オクルージョンでは生じ得ないので、列挙の対象としない。
【0135】
そして、
図10(c)に示すように、CPU56は、各サブグループについて、上述した記述ベクトルを算出する。
【0136】
たとえば、レーザレンジファインダS1とレーザレンジファインダS2のペアから3人のグループを観測している場合、1人のメンバーがセンサS2の視点から遮蔽される場合に、
図10(b)に示すように、3つの可能なサブグループを列挙しておくことによって、レーザレンジファインダS2によって観測されたグループおよびレーザレンジファインダS1によって観測されたグループのサブグループの間のマッチングを特定することが可能となる。
【0137】
図11は、
図7に示した「センサペア分析処理」を説明するための機能ブロック図である。
【0138】
図11では、レーザレンジファインダS1とレーザレンジファインダS2のペアについての処理を例示的に示す。
【0139】
図11を参照して、相対位置関係評価処理では、レーザレンジファインダS1についてのグループリストと、レーザレンジファインダS2についてのグループリストを入力として、レーザレンジファインダS1とレーザレンジファインダS2との粗な相対位置関係評価の結果を出力する。
【0140】
「相対位置関係評価処理」は、
図5のステップS300〜S310に対応する。また、「粗な相対位置関係評価」の結果を、「第一次相対位置関係」と呼ぶ。
【0141】
RANSAC処理では、第一次相対位置関係と、レーザレンジファインダS1についての人位置リストとレーザレンジファインダS2についての人位置リストを入力として、「共通に観測される対象物のリスト」を出力する。
【0142】
RANSAC処理は、
図4のRAN
SAC処理部5616の処理または
図5のステップS320の処理に対応する。
【0143】
図12は、
図11に示した相対位置関係評価処理を説明するための機能ブロック図である。
【0144】
グループ比較処理(S300−1)では、レーザレンジファインダS1についてのグループリストと、レーザレンジファインダS2についてのグループリストを入力として、レーザレンジファインダS1とレーザレンジファインダS2のペアについて「一致するグループのリスト」を出力する。
【0145】
センサオフセット算出処理(S300−2)は、一致するグループのリストを入力として、各タイムスステップでのレーザレンジファインダのペアについての「予備的な相対位置関係の評価」を出力する。この場合、「予備的な相対位置関係の評価」は、一致するグループのペアごとに算出される。なお、「相対位置関係」は、特に限定されないが、レーザレンジファインダのペアの一方の位置を基準として、この基準のレーザレンジファインダの座標系での他のレーザレンジファインダの位置と向きとを意味する。この意味で、「相対位置関係」を「センサオフセット」とも呼ぶ。
【0146】
グループ比較処理(S300−1)とセンサオフセット算出処理(S300−2)との組み合わせが、
図5のステップS300に対応する。
【0147】
粗な相対位置関係評価処理は、「予備的な相対位置関係の評価」を入力として、「粗な相対位置関係評価」の結果、すなわち「第一次相対位置関係」を出力する。
【0148】
図13は、CPU56がグループ比較処理(S300−1)で行う処理を説明するためのフローチャートである。
【0149】
図13では、距離センサS1と距離センサS2とのペアについてグループを比較する処理を説明する。ここでは、各タイムステップにおいて、距離センサS1のグループリスト中の各グループが、距離センサS2のグループリスト中の各グループと比較される。このような比較は、全ての距離センサにおいて実行される。
【0150】
上述したように、グループの記述ベクトルは、メンバーの人数nと、その速度ベクトルの大きさ|v|と、メンバー・ベクトルMの集合とからなる。
【0151】
2つのグループ(サブグループ)間のマッチングの尤度を評価するにあたり、最初に、同一の人数のグループ、すなわち、n1=n2の場合だけを考慮する。なお、グループの人数だけでなく、グループ速度の大きさの差の大きさに基づいて、すなわち、||v1|−|v2||<Vthresholdとの条件で、フィルタリングしてもよい。ここで、Vthresholdは、所定のしきい値である。
【0152】
ここでは、グループの人数によるフィルタリングのみを行うものとして説明する。
【0153】
まず、初期的な設定としては、グループの選択を行う際のグループを指定するワーキング変数、およびグループ内のメンバーを指定するためのワーキング変数は、ともに、0に設定されるものとする。
【0154】
図13を参照して、CPU56は、グループ比較処理が開始されると、レーザレンジファインダS1についてのグループリストと、レーザレンジファインダS2についてのグループリストを入力として、次のグループの比較処理を行う(S3102)。ここで、比較対象となるグループをグループG1およびグループG2とする。ここでは、グループとは、サブグループも含むものとする。
【0155】
続いて、CPU56は、比較するグループのメンバーの人数が等しいかを判断する(S3104)。等しくない場合は、処理は、ステップS3102に復帰する。
【0156】
一方、等しい場合(S3104でYes)は、比較されている2つのグループ(G1,G2)については、グループG1の第i番目のメンバーをm
iG1とし、対応するグループG2のメンバーをm
iG2として定義し、そのメンバー間の距離di =| m
iG1−m
iG2 |を計算する(S3106)。
【0157】
ここでは、上述のとおり、グループの運動方向を基準(X軸)とする極座標で表現した場合、たとえば、X軸から左回りに、グループのメンバーに番号が対応付けられているものとし、同一の番号のメンバーについて、距離を計算するものとする。
【0158】
続いて、CPU56は、距離di =| m
iG1−m
iG2 |< d
thresoldであるかを判断する(S3108)。
【0159】
ここで、d
thresoldは、所定のしきい値である。
【0160】
距離がしきい値よりも小さくない場合(S3108でNo)、処理は、ステップS3102に復帰する。
【0161】
一方、距離がしきい値よりも小さい場合(S3108でYes)、CPU56は、グループ内のさらに次のメンバーがいるかを判断する(S3110)。
【0162】
次のメンバーがいる場合、処理は、ステップS3106に復帰する。
【0163】
一方、次のメンバーがいない場合、CPU56は、グループが一致したものとして、そのグループを「一致するグループのリスト」に加え、処理は、ステップS3102に復帰する。
【0164】
全てのグループについて、比較が終了すると、「一致するグループのリスト」が出力される。
【0165】
なお、「グループの運動方向を基準(X軸)とする極座標で表現した場合、たとえば、X軸から左回りに、グループのメンバーに番号が対応付けられている」として説明したが、運動方向の検知に誤差があると、この番号づけがずれてしまう可能性もある。そこで、2つのグループについて、まず、最近接なメンバーのペアを決め、この最近接なメンバーを起点として、番号づけをすることとしてもよい。
【0166】
図14は、2つの異なる距離センサ、“L”および“N”の視点から観測される、2つのグループの例を示す図である。
【0167】
観測された人々は、「*」で示され、遮蔽された人々は「?」で示される。
【0168】
図14では、オクルージョンにより、2人の歩行者が距離センサNからは観測できない。
【0169】
図15は、
図14で示した各距離センサから観測されるグループの記述ベクトルを示す図である。
【0170】
図15では、距離センサLから観測されるグループの人数が3人のグループ2について、サブグループが列挙されている状態を示す。
【0171】
距離センサNから観測される人数が2人の「グループ3」は、距離センサLによって観測される人数が3人の「グループ2」の「サブグループ2c」とマッチングされうる。
【0172】
(相対位置関係についての仮説の生成)
図16は、センサオフセット算出処理(S300−2)の処理を説明するためのフローチャートである。
【0173】
このセンサオフセット算出処理では、
図13の処理において、一致すると判断されたグループについての記述ベクトルが入力される。
【0174】
前提として、距離センサS1によって観測された、あるグループG1の観測
S1G1、および、距離センサS2によって観測された、同一のグループに対する観測
S2G1については、変換マトリックス
S1S2H
G1の形で、センサオフセットの仮説を定義することができるものとする。すなわち、変換マトリックス
S1S2H
G1とは、同じグループG1が、距離センサS1と距離センサS2から観測されるということに基づいて、センサS1の位置を基準として、センサS2のローカル座標からセンサS1のローカル座標への変換を行う行列に対応する。
【0175】
図16を参照して、センサオフセット算出処理が開始されると、CPU56は、距離センサS1によって観測された、あるグループの観測
S1G1、および、センサS2によって観測された、その同一グループの観測
S2G1について、回転オフセット
S1θ
S2を、運動方向
S1θ
G1および
S1θ
G1の差として算出する(S3202)。
【0176】
続いて、CPU56は、2つのセンサ間の並進移動のオフセットを、グループの中心位置(
S1x
G1、
S1y
G1)および(
S2x
G1、
S2y
G1)の差として算出する(S3204)。
【0177】
算出された変換マトリックス
S1S2H
G1を、センサS1とセンサS2との間の予備的な相対位置関係の評価(「予備的なセンサオフセット仮説」)として出力する。
特定できる。
【0178】
(ハフ変換投票法によるクラスター識別(S310))
図12におけるグループ比較処理(S300−1)とセンサオフセット算出処理(S300−2)について説明したので、以下では、次のステップである「粗な相対位置関係評価処理(S310)」について説明する。
【0179】
「粗な相対位置関係評価処理(S310)」は、同一のセンサペアについて、グループ間のマッチングに対応する相対的なセンサオフセットをクラスターに分け、最も尤度の高いセンサオフセット(「粗な相対位置関係評価」の結果、すなわち「第一次相対位置関係」)を決定するために、以下に説明するような「一般化されたハフ変換」を使用する。
【0180】
このような処理を実行するために、距離センサS1を基準として、その距離センサS1のローカル座標である(x,y,θ)空間に、離散的なアキュムレーター・グリッド(投票処理のための格子状の区画、以下、各区画をビンと呼ぶ)を定義し、識別された各社会的グループマッチングについて、そのグループによって決定される予備的な相対位置関係の評価(「予備的なセンサ・オフセット仮説」)に対応するビンに投票処理を行う。
【0181】
図17は、「粗な相対位置関係評価処理(S310)」の処理を説明するための機能ブロック図である。
【0182】
図17を参照して、まず、「固有なグループのマッチング処理(S3102)」では、予備的な相対位置関係の評価(「予備的なセンサ・オフセット仮説」)を入力として、後に説明する手順で、複数のタイムステップにわたって、同一の固有なグループとして移動しているグループ候補を特定する。各タイムステップでの予備的な相対位置関係の評価を、この固有なグループについて、複数の時間ステップにわたって平均することにより、ローカル座標でのセンサオフセット仮説を算出する。すなわち、「ローカル座標でのセンサオフセット仮説」とは、(x,y,θ)空間において、固有グループについて平均された距離センサS2の位置および方向を示し、これに対応する変換マトリックスを
S1S2H´
Gnで表す。
【0183】
続いて、「コンシステンシメトリック算出処理(S3104)」では、各ローカル座標でのセンサオフセット仮説の正しさを示す尤度を、コンシステンシメトリックC(x,y,θ)として算出する。
【0184】
この尤度の評価のために、コンシステンシメトリックC(x,y,θ)は、距離センサS1およびS2の人位置リストも使用して、後に説明するように、2つのセンサの観測履歴に基づいて算出される。
【0185】
さらに、「アキュムレーター・グリッドへの投票処理(S3106)」では、後に説明するように、コンシステンシメトリックC(x,y,θ)に従って投票の数に重みを加えて、アキュムレーター・グリッドへの投票する処理が実行される。このような重みづけを行った投票により、ノイズに対する感度を下げる(ノイズに対する耐性を上げる)ことができる。投票の結果、最も投票数の多かった「ローカル座標でのセンサオフセット仮説」が、「粗な相対位置関係評価」の結果(「第一次相対位置関係」)として出力される。
【0186】
なお、
図17では、固有なグループを各タイムステップのグループ候補間のマッチングを行うことにより特定するものとしているが、たとえば、周知な方法により、各歩行者の移動軌跡を求めてから、その移動軌跡の近接の程度により、固有のグループを特定することとしてもよい。
【0187】
図18は、「固有なグループのマッチング処理(S3102)」の概念を説明するための図である。
【0188】
図18を参照して、距離センサS1についてのタイムステップT=tにおける観測とタイムステップT=t+1とが、以下の手続きにより比較される。
【0189】
すなわち、グループ(サブグループ)G1とG2とは、以下の条件が満たされるとき、同一の固有なグループであると判断される。
【0190】
1)2つのグループのメンバーの数が等しい。
【0191】
2)グループG1内の第i番目のメンバーm
iG1は、対応するグループG2のメンバーm
iG2と以下の条件のときに、一致する(マッチングする)とする。
【0192】
2−1)メンバーをm
iG1は、メンバーをm
iG2と最近接である(距離が最も近い)。
【0193】
2−2)メンバーをm
iG1とメンバーをm
iG2との距離が所定のしきい値以下である。
【0194】
以上のような手続きにより、同一の固有なグループが抽出され、この固有なグループの移動履歴にわたっての平均処理により、「ローカル座標でのセンサオフセット仮説」が算出される。
【0195】
図19は、「コンシステンシメトリック算出処理(S3104)」の概念を説明するための図である。
【0196】
ここでは、記録データ中の各タイムステップに対して、距離センサS1により検知された対象物の1組の2次元位置
S1p
1と、距離センサS2によって検知された対象物の1組の2次元位置
S2p
2、および固有グループGnについての共通の観測に基づいた変換マトリックス
S1S2H´
Gnで表される変換(「ローカル座標でのセンサオフセット仮説」)とを考える。
【0197】
S1S2H´
Gn・
S2p
2という積を算出することにより、距離センサS1の座標系での1組の位置
S1p
2を得る。したがって、1組の位置
S1p
2は、直接に位置
S1p
1と比較することができ、センサオフセット仮説が正しい場合、それらは互いに重なることになる。
【0198】
「コンシステンシメトリック算出処理(S3104)」では、このようにして互いに重なるといえる対象物の位置がいくつあるかを数え上げることにより算出される。
【0199】
そこで、まず、このような重なりがあるかを判断する対象となる観測ペアを見つけるために、互いに運動方向がしきい値角度以内、すなわち、|
S1θ
(i)p2−
S1θ
(j)p1|<θmatchの運動方向を有する観測ペアのみが、マッチングの候補であると考えるというような歩行者の運動方向によるフィルタリングを行う。
【0200】
位置
S1p
2の中で上記フィルタリングで残った各位置(つまり、上記のフィルタリングにより判断対象の候補であるとされた各位置)については、このような位置
S1p
2の中のすべてのポイントについて、位置
S1p
1に対して最近接探索が行なわれる。
【0201】
たとえば、計算上の効率のために、k−d木を、この探索に使用してもよい。
【0202】
位置
S1p
2(i)からその最近接の位置
S1p
1(j)までの距離および2番目に近い近接位置
S1p
1(k)が計算される。
【0203】
そして、以下のユークリッド距離の比率が所定の値、たとえば、0.8以下である場合、最近接位置がマッチングしていると考えられる、すなわち、以下の式がなり立つ場合は、2つの位置は、重なっている(マッチングしている)と判断される。
【0204】
【数1】
経験上、このような判断は、所定の値を0.8とする場合、正しいマッチングの5%未満を廃棄するに過ぎない一方、誤りのマッチングの90%を除去する。
【0205】
そして、コンシステンシメトリックC(x,y,θ)は、変換マトリックス
S1S2H´
Gnを算出するのに使用したグループGn自体に含まれている観測位置を除いて、距離センサS1で観測された位置
S1p
1と距離センサS1で観測された位置を変換した位置
S1p
2の間でマッチングしている位置の総数として定義される。
【0206】
変換マトリックス
S1S2H´
Gnが、センサ間の真のオフセットから遠い場合は、メトリックCはより0に近くなり、真に近い場合は、メトリックCは高くなる。
【0207】
図20は、「アキュムレーター・グリッドへの投票処理(S3106)」の概念を説明するための図である。
【0208】
図20では、説明の簡単のために、「ローカル座標でのセンサオフセット仮説」を、(x,y,θ)空間のうち、(x,y)座標だけで表現している。
【0209】
(x,y)空間には、
図20に示すようなビンが設定されている。
【0210】
図19の処理で算出したコンシステンシメトリックC(x,y,θ)を用いて、各仮説に対して、アキュムレーター・ビンにC票の投票が加えられる。
【0211】
最後に、最多得点のアキュムレーター・ビンに対応する(あるいは、1つの最多得票のビンがない場合、すべての最多得票ビンと関連するペアの組を結合して得られる)仮説が、「粗な相対位置関係評価」の結果(「第一次相対位置関係」)として出力される。
(ロバスト推定による外れ値の除去)
図21は、
図11に示したRAN
SAC処理(S320)を説明するためのフローチャートである。
【0212】
一旦、少なくとも1つのビンが、あるしきい値の個数の異なったグループ(たとえば、5個以上とするのが望ましい)からのデータを含んでいるだけの十分なデータが集められたならば、センサペアは一定程度信頼できる「粗な相対位置関係評価」の結果(粗なセンサオフセット仮説)を持つと考えられる。
【0213】
一旦、すべてのセンサのそれぞれが、少なくとも1つの信頼できる「粗なセンサオフセット仮説」を有するようになれば、RANSAC(ランダム・サンプル・コンセンサス)技術が、外れ値を除外することで、各仮説を再調整するために使用される。
【0214】
各センサペアについては、「粗な相対位置関係評価処理(S310)」で得られた最良の「粗なセンサオフセット仮説」および観測ペアの対応する組を使用して以下の処理を実行する。
【0215】
図19に示されたように、この最良の「粗なセンサオフセット仮説」であっても、わずかに正しくない可能性を包含しているので、観測ペアの組は誤りのマッチング(コンシステンシメトリックに寄与しない観測位置のペア)を含んで決定されている可能性がある。
【0216】
そこで、RANSAC処理の目的は、一層、センサオフセット仮説および対応する観測ペアのセットの再調整を行うことによって、これらの誤りのマッチングを除外することである。
【0217】
最良の「粗なセンサオフセット仮説」を表す変換マトリックスをHで表すことにする。変換マトリックスHが距離センサペアS1およびS2に対応するものであるとき、変換マトリックスをHにより、距離センサS2のローカル座標の位置は、距離センサS1のローカル座標の位置に変換される。
【0218】
図21を参照して、RANSAC処理が開始されると、CPU56は、最良の「粗なセンサオフセット仮説」に基づいて、各センサペアについて、変換マトリックスHを算出する(S3302)。
【0219】
続いて、CPU56は、現在の計算の対象となっているセンサペアのうちの1つの距離センサS1についての人位置リストから、ランダムに所定人数分のサブセットを選択する(S3304)。
【0220】
さらに、CPU56は、距離センサS2で観測される人位置をマトリックスHにより距離センサS1についてのローカル座標系での位置として求め、距離センサS1についての人位置リストの選択されたサブセットの各位置に対して、距離センサS2についての人位置リストから距離として最近接な人の位置を抽出する(S3306)。このようにして抽出された人の位置のペアを「共通に観測される対象物」と呼ぶ。
【0221】
次に、CPU56は、「共通に観測される対象物」の各位置に最も適合するように、センサオフセットの仮説(変換マトリックスH´で表される)を算出する(S3308)。たとえば、変換マトリックスH´での変換を利用して、「共通に観測される対象物」の位置の誤差が最も小さくなるように、最小自乗法などを使用して、変換マトリックスH´を算出できる。
【0222】
続いて、CPU56は、サブセットとして抽出された以外の人位置について、変換マトリックスH´により、最近接マッチングが成立するか否かに応じて、正対応(inlier)および誤対応(outlier:外れ値)であるかに分類する(S3310)。特に限定されないが、最近接マッチであるか否かは、コンシステンシメトリックの算出の際に使用したのと、同様の手続きで決定することができる。あるいは、単に、対象物の距離の差が、所定のしきい値よりも小さいかを判断することにより、最近接マッチングであると判断してもよい。
【0223】
次に、CPU56は、正対応とされた観測ペアだけを用いて、これら正対応の観測ペアについて、変換マトリックスH”で変換された正対応の「共通に観測される対象物」の位置の誤差が最も小さくなるように、再調整された変換マトリックスH”を算出する(S3312)。さらに、変換マトリックスH”を用いて計算される正対応の観測ペアについての位置の誤差の和εを算出する。
【0224】
続いて、所定の回数だけ、ステップS3304〜S3312までの処理を繰り返したかが判定され(S3314)、所定回数だけ反復していない場合は、処理は、ステップS3304に復帰する。
【0225】
一方、すでに、所定回数だけ反復している場合は、CPU56は、位置の誤差の和εが最も小さい正対応の観測ペアの組を、対象となるセンサペアについての「共通に観測される対象物のリスト」として生成する。
【0226】
ここで、位置の誤差の和εが最も小さくなる変換マトリックスH”であらわされるセンサオフセットの仮説のことを、「第二次相対位置関係」と呼ぶ。
【0227】
このようなRANSAC処理は、すべてのセンサペアに対して繰り返される。
(ネットワーク拘束条件の同時解を算出する手続きとセンサ位置の校正)
図22は、
図7に示した「ネットワーク全体の校正処理」を説明するための機能ブロック図である。
【0228】
「ネットワーク全体の校正処理」は、各センサペアごとに、RANSAC処理で得られた「位置の誤差の和εが最も小さい正対応の観測ペアの組」の位置を拘束条件行列へと組み合わせて、その行列をネットワーク中のすべてのセンサの相対位置に対して解く。
【0229】
拘束条件行列を構築するために、n番目の距離センサのネットワーク座標系での位置を(xn, yn)とし、方向をθnとする。
【0230】
距離センサnのローカル座標系からネットワーク座標系(センサネットワーク全体についての座標系)へ変換することは、以下の式(1)の同次変換マトリックスによって表わされる、−θnの回転をおよび−xnおよび−ynの並進運動を要求する。
【0231】
ここで、ネットワーク座標系の原点としては、たとえば、距離センサ1の位置をとるものとする。
【0232】
【数2】
すべての距離センサnの座標および方向は、パラメーター・ベクトルβ=[x1, y1, θ1,…,xn, yn, θn]
Tとして表わすことができる。
【0233】
センサnのローカル座標での各人の観測、
npは、ここで、以下のようにネットワーク座標系に変換することができる:
【0234】
【数3】
各センサ・ペアごとに、対応する共有される観測のペア{
1p,
2p}を考慮する。このペアは、ネットワーク座標系では、同じ位置を表現するものである。従って、そのペアの間のネットワーク座標系での位置の誤差は最小化されるべきである:
たとえば、距離センサ1と距離センサ2で、以下のように与えられた共通の観測の位置を考える。
【0235】
【数4】
このような共通の観測に対して、以下のような誤り関数を最小化することが必要になる。
【0236】
【数5】
次に、単一の拘束条件行列へこれら各センサペアの拘束条件を組み合わせる。
【0237】
以下のような1つの6行1列の共有される観測ベクトルを考える。
【0238】
【数6】
このような観測ベクトルに対して、ネットワーク座標系での位置の誤差は、以下の式のように表される。
【0239】
【数7】
距離センサ1と距離センサ2のペアについて、m個の共通の観測の位置に対しては、以下のように位置の誤差をまとめることができる。
【0240】
【数8】
この式に現れる要素を3m行6列の差分マトリックスとして、以下のように定義する。
【0241】
【数9】
また、共有の観測行列を以下のように定義する。
【0242】
【数10】
他のセンサ・ペアからの観測を組み合わせれば、以下のようになる:
【0243】
【数11】
そして、式(2)において、最小自乗法によってε(β)を最小化するβの最適値を見つけるために、たとえば、レーベンバーグ・マーカート法(Levenberg-Marquardt Method)を使用する。
【0244】
このようにして、各距離センサのネットワーク座標系での位置の情報が求められることになる。
【0245】
さらに、実際には、上記のようにして求めたネットワーク座標系でのセンサ位置は、現実のフロアの地図とは、方向と位置について不定な関係にある。したがって、フロアの地図または、フロアの上面からの写真などと、上記のネットワーク座標系でのセンサ位置とを、たとえばディスプレイ上で重ねて表示した上で最終的に、手動でマッチングすることで、フロア地図と各距離センサのネットワーク座標系での位置とを整合させることができる。
(評価実験)
対照環境の中での実地調査の情報と比較して、アルゴリズムのパフォーマンスを評価するために、センサ位置の校正確度を測定した。
【0246】
さらに、3つの公の場所の中で、本実施の形態の技術を使用することにより達成されるトラッキング精度を測定した。
【0247】
両方の解析は、記録された生のセンサ・データを使用して、オフラインで行なわれた。
(センサ位置決め精度)
図23は、センサ位置の位置決め精度の確認を行った場所のフロアマップである。
【0248】
実地調査に対する基準を提供するために、
図23に示されるように、実験室の廊下の部分の正確に測定された位置に、4つのセンサをセット・アップする。
【0249】
距離センサは、予定された通りの位置にできるだけ正確に設置された。
【0250】
センサ・アングルを整列させるために、参照ポールが原点に置かれ、参照ポールがレーザレンジファインダによって検知された中心スキャン点と一致するまで、センサは手動で回転された。
【0251】
その後、センサの正確なオフセットは、高精度レーザー測距デバイスを使用して、測定された。また、参照ポールおよび壁検知を整列させるために、センサ・アングルはソフトウェアで微調整された。
【0252】
5つの試行が実行され、この試行では、5人の歩行者が、2人または3人のグループで廊下を通って10回歩いた。
【0253】
各センサからのデータは、その後、オフラインで再現され、本実施の形態のシステムを使用して校正された。
【0254】
図24は、このような試行の結果を示す図である。
【0255】
図24に示されるように、4つのセンサについて、平均すると、34mmの平均並進誤差および0.51度の平均角度誤差という結果が得られた。
(トラッキング精度の評価)
センサ位置評価の精度は、本実施の形態の較正技術の重要な評価であるが、最終的な目的は、多数のセンサからの歩行者位置の整合的な推定値の取得を可能にすることである。
本実施の形態の技術によって可能になったトラッキング精度のレベルを評価するために、公共の空間でのシステムの3つのテストが行なわれた。
【0256】
各場所については、個別のデータ・セットが、較正と評価に使用された。
【0257】
ただし、トラッキング精度の評価にあたっては、歩行者の位置の絶対的な実地調査の情報は利用可能ではなかった。したがって、コンシステンシ評価は、以下に説明するような異なるセンサからの位置評価の重心に基づいて行う。
【0258】
異なるセンサからのすべての観測で計算された重心位置をp^
(i)(t)で、センサsによって観測された時刻tにおける人iの評価位置をp
s(i)(t)で表わす。
【0259】
ある位置の人iを観測することができるセンサの数S
(i)(t)は、その配置および動的に生じるオクルージョンに依存する。
【0260】
以下の式(3)に示すようにして、重心からの平均誤差εを計算する。
【0261】
【数12】
1組の基準となる歩行者は、異なるセンサからの対応する軌道を手動で識別することにより得られた。150人の基準歩行者が各環境に対して識別された。
【0262】
各基準歩行者に対して、歩行者が少なくとも2つのセンサによって同時に観測された各時間ステップでε
(i)(t)を評価した。
【0263】
空間の場所の関数としてトラッキングの一致の程度を視覚化するために、空間を所定の解像度でグリッドに分割した。
【0264】
各グリッドは、それぞれ、重心がそのグリッド内に存在する全てのデータ位置に渡る平均の誤差ε
(i)(t)を割り当てられ、その結果は、各環境ごとに以下に示される。
【0265】
比較においては、スキャンデータの目視に基づいて最善の努力をした手動較正に対する精度の結果も含めた。それは、この技術を開発する前に、利用可能な典型的な校正精度である。
(結果)
(直線状の廊下)
分析した最初の環境は、ディアモール大阪の長さおよそ50mおよび幅7mの廊下である。
【0266】
図25は、このような第1の環境の上面図(
図25(a))と写真(
図25(b))である。
【0267】
ディアモール大阪は、大阪のいくつかの列車および地下鉄の駅の間に位置する地下のショッピング街である。
【0268】
この環境は、直線の廊下に沿って並べられた16個のセンサ(
図25(a)では半円で示す)でカバーされる領域がよく重なるような幾何学的に単純な領域である。
【0269】
毎分27.6人の歩行者が、この環境に入ってくることが検知された。
【0270】
図26は、すべてのグリッド上の平均誤差と、校正の精度の結果を示す図である。
【0271】
図26(a)は、ディアモールの精度解析の中で使用される歩行者の軌道を示し、
図26(b)は、マニュアル較正での空間内の誤差を示し、
図26(c)は、自動校正からの空間内の誤差を示す。
【0272】
自動校正により、空間内の誤差が低減しているのがわかる。
(多数のエントランスを備えた大きなスペース)
図27は、第2の環境として採用した場所の上面図(
図27(a))および写真(
図27(b))である。
【0273】
図27に示されるように、第2の環境は、大阪ウォーターフロントの小売り、卸販売貿易の複合体である、アジア太平洋トレード・センター(ATC)である。この環境は、大きな吹き抜けの空間つながる廊下から成り、その最も広いポイントで長さ60mおよび幅25m以上のスペースであった。
【0274】
毎分平均31.8人の歩行者が、この環境に入ってきた。
【0275】
センサネットワークは、19個のセンサから成りました。
【0276】
図28は、すべてのグリッド上の平均誤差と共に、校正精度の結果を示す図である。
【0277】
図28(a)は、ATCでの精度解析の中で使用される歩行者の軌道を示し、
図28(b)は、マニュアル較正での空間内の誤差を示し、
図28(c)は、自動校正からの空間内の誤差を示す。
【0278】
ここでも、自動校正により、空間内の誤差が低減しているのがわかる。
【0279】
さらに、第3の環境として、スパーマーケット内のフロアでも同様の実験を行い、第1および第2の環境と同様の結果が得られた。
【0280】
(アルゴリズムのステップの解析)
図29は、アルゴリズムの各ステップの相対的有効性を示す図である。
【0281】
このような相対的な有効性を示すために、
図29(a)は、ハフ変換ステップ後、
図29(b)は、RANSAC処理後、
図29(c)は最終較正後おける、それぞれ対応するセンサ・オフセット仮説に基づいた、1つの時間フレーム内の、2つのセンサによって検知された人間の位置のアラインメントを示す。
【0282】
最終構成後では、2つのセンサでの観測位置がほとんど重なっていることがわかる。
【0283】
本実施の形態のキャリブレーションのアルゴリズムでは、センサペアによる人間の観測間の1組のマッチングを生成するために、各センサ・オフセット仮説が使用され、1組の人間の観測は、拘束条件行列を生成するために最終的には使用される。
【0284】
最終較正の精度は、この拘束条件行列中の誤ったマッチングを除去できるかに強く依存している。
【0285】
そこで、アルゴリズムのステップがそれぞれどのように誤りのマッチングを減少させるか示すために、較正プロセスの3つのステージに対して、各ステップで生成された正確な人間観測マッチングの割合を示す混同行列を算出した。
【0286】
校正を行うのに使用されたデータセットからとられた、基準歩行者の実地調査の軌道の別のセットに基づいて、グループマッチング、一般化ハフ変換およびRANSACについてこのような混同行列を算出した。
【0287】
図30は、このような第1〜第3の環境にいて、それぞれ評価された混同行列を示す図である。
【0288】
一般化されたハフ変換の後でも、90%以上の割合で人位置のマッチングが取れており、RANSAC処理の後では、いずれの環境でも、99%以上の割合で、人位置のマッチングが取れていることがわかる。
【0289】
これらの結果が示すように、各処理ステップはそれぞれ最終較正の精度に寄与して、本質的に誤検出の数を減らすことがわかる。
【0290】
この実施の形態のキャリブレーション装置、キャリブレーション方法およびキャリブレーションプログラムによれば、ある領域内に複数の距離センサが設置されている場合に、たとえば、環境に物理的な目標物を置いて手動で距離センサを整列させるというような、各距離センサの位置および方向を校正するための作業負荷を軽減することが可能である。
【0291】
また、この実施の形態のキャリブレーション装置、キャリブレーション方法およびキャリブレーションプログラムによれば、ある領域内に複数の距離センサが設置されている場合に、測定対象となる領域の人間の活動に、影響を与えることなく、距離センサの位置および方向を校正することが可能である。
【0292】
あるいは、この実施の形態のキャリブレーション装置、キャリブレーション方法およびキャリブレーションプログラムによれば、人の移動軌跡の形状が全て似通ったものとなってしまい、複数の人が同時に歩行しているような環境であっても、距離センサの位置および方向を校正することが可能である。
【0293】
今回開示された実施の形態は、本発明を具体的に実施するための構成の例示であって、本発明の技術的範囲を制限するものではない。本発明の技術的範囲は、実施の形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲の文言上の範囲および均等の意味の範囲内での変更が含まれることが意図される。