説明

大規模カメラネットワークの較正

本開示は、複数のノード(12)を含み、各ノードは、指向性を有するセンサ(18)と、通信モジュール(14)と、指向性を有するセンサ(18)から較正オブジェクト(20)のローカルな測定値を受信し、通信モジュール(14)を介して近傍ノード(12)から較正オブジェクト(20)の追加的な測定値を受信し、ローカルな及び追加的な測定値に応じて較正パラメータの初期集合を推定し、通信モジュール(14)を介して近傍ノード(12)から較正パラメータの追加的なセットを受信し、較正パラメータの追加的な集合に応じて較正パラメータの更新された集合を再帰的に推定するよう構成されたプロセッサ(16)とを有する、センサネットワーク(10)に関する。カメラノード(12)の大規模ネットワーク(10)を構成する更なるシステム及び方法が開示されている。

【発明の詳細な説明】
【技術分野】
【0001】
本願の開示は、概して指向性を有するセンサネットワークの較正に関する。特に、本願の開示は、カメラベースのセンサの大規模ネットワークを構成するシステム及び方法に関する。
【背景技術】
【0002】
指向性を有するセンサのネットワークの較正は、多くの技術を用いて行うことができる。
カメラベースのセンサの大規模ネットワークを構成する1つの公知の方法は、各センサから画像特徴データを受信し、次にネットワーク全体についての較正誤差の最小化を行う単一の中央集中プロセッサを必要とする。この単一プロセッサ法は、(例えば、50個よりも少ないセンサを有する)小規模ネットワークを構成するときは正確であるが、(例えば、50個よりも多くのセンサを有する)より大きなネットワークに拡大されたときには適していない。
【0003】
カメラネットワークを較正するための位置推定アルゴリズム法は、非特許文献1に記載されており、その開示内容全体はその文献に明示的に含まれている。この位置推定アルゴリズム法は、基本的には動いている目標物及びカメラノードの位置を推定する。この方法では、原点と単位長さとを定義するために2つの基準ノードを選択する。次に、方法は、ネットワーク上のセンサについて、基準ノードに対する位置及び姿勢を見つける。この位置推定アルゴリズム法は、(例えば、5つのカメラベースのセンサといった)非常に小規模なネットワークを用いて2次元(2D)空間では動作が既に検証されている。
【0004】
カメラネットワークを較正する分散位置推定アルゴリズム法は、非特許文献2に記載されており、その開示全体をここに明示的に援用する。この分散位置推定アルゴリズム法は、ネットワーク上の各カメラについての位置推定値を繰り返し改良する。この方法は、位置推定に必要な画像特徴が既に取得されていること、および、画像特徴間の対応は既知であることを仮定する。この分散位置推定アルゴリズムは、静的なネットワークの位置推定を可能とするが、位置推定に必要な画像特徴がまだ出現していない場合がある動的なネットワークにおいては動作しない。
【0005】
カメラネットワークを構成する自動較正プロトコル法は、非特許文献3に記載されており、その開示全体をここに明示的に援用する。この自動較正プロトコル法は、グローバルポジショニングシステム(GPS)及び発光ダイオード(LED)を具備した較正装置を用いる。カメラの位置及び姿勢は、構成装置から受信したデータ及びカメラから受信した画像座標データを用いて計算される。較正を必要とする各カメラについて、較正装置はユーザによって各カメラの前方に配置され、装置及びカメラから取得されたデータは、較正されようとしているカメラの位置及び姿勢を計算するのに用いられる。
【0006】
カメラネットワークを較正するための分散較正アルゴリズム法は非特許文献4に記載されており、その開示全体をここに明示的に援用する。この分散較正アルゴリズム法は、ネットワーク上で任意の2つのカメラ間の通信が可能であると仮定する。その通信は、各カメラが他のカメラと通信しうる有線ネットワークを通じて、あるいは、各カメラが無線ネットワークの範囲内でのみ任意のカメラと通信しうる無線ネットワークを通じて行うことができる。無線ネットワークの実施態様は、ネットワーク上の全てのカメラが無線ネットワークの範囲内にあると仮定する。
【0007】
カメラネットワークを較正するための同時位置推定・追跡法は、非特許文献5に記載されており、その開示全体をここに明示的に援用する。この同時位置推定・追跡法は、目標となるオブジェクトの軌跡を決定するとともにカメラの位置を決定するために、幾つかの天井取り付け型カメラを用いる。この方法は、カメラの3つの外部パラメータ (x, y, θ) のみを考慮する。カメラは天井取り付け型であるため、地面からの高さのパラメータ(z)は、較正前にネットワーク上の全てのカメラによって知られているからである。
【0008】
上述の較正法はいずれも制限を有する。例えば、較正プロセス中に人間の介在をしなければならないこと、較正アルゴリズムの要件を満たすためにカメラの位置決めに制約を課さなければならないことなどがある。さらに、これらの方法はそれぞれ、必要なデータや計算を扱うのにかなりの計算能力を必要とし、および/または、各カメラが任意の他のカメラと通信可能とするための強力な通信基盤を必要とする。すなわち、これらの従来の方法には、概して、カメラ較正におけるいわゆるスケーラビリティーの問題がある。すなわち、ネットワーク上のカメラの数が増すにつれ、カメラ対の間、または、中央サーバとカメラとの間で、より多くの情報が交換されることにより、通信ネットワークトラヒックは著しく増加するものである。同時に、カメラ較正に必要な計算タスクもまた著しく増加する。更に、カメラ設定にローカルな変化が必要となったときでさえ、従来の較正法では、一般的にネットワーク全体に関する構成パラメータまでもの変更が必要であった。上述の従来のアプローチでは、これらの課題を解決するための大規模カメラネットワークに適した通信及び計算上の効率性が提供されていないわけである。従って、これらの従来の較正法では、実際には比較的小規模の(例えば高々50台よりも少ないカメラを有する)カメラネットワークしか扱うことができない。
【0009】
更なる較正技術及び背景となる原理は、非特許文献6、非特許文献7、非特許文献8、非特許文献9、非特許文献10、非特許文献11、非特許文献12、非特許文献13、非特許文献14、非特許文献15、非特許文献16、非特許文献17、非特許文献18、非特許文献19、非特許文献20、非特許文献21に記載されている。上記に列挙した各参考文献に関して、その開示全体をここに明示的に援用する。この列挙したものは、全ての関連する従来技術についての完全な調査が行われたこと、又は上記に列挙したものよりも良い参考文献が存在しないことを表明することを意図したものではなく、いかなるかかる表明も推定されるべきでない。
【0010】
<関連する出願への相互参照>
本願は、合衆国法典第35巻第119条(e)の下で、2009年5月15日に出願された米国仮特許出願第61/178,727号に基づく優先権を主張し、その内容を本願に援用する。
【先行技術文献】
【非特許文献】
【0011】
【非特許文献1】Lee et al., “Collaborative Self-Localization Techniques for Wireless Image Sensor Networks,” Proc. Asilomar Conf. on Signals, Sys., & Computers (2005)
【非特許文献2】Mantzel et al., “Distributed Camera Network Localization,” Proc. Asilomar Conf. on Signals, Sys., & Computers (2004)
【非特許文献3】Liu et al., “A Self-Calibration Protocol for Camera Sensor Networks,” Technical Rep., Dept. Computer Sci., Univ. of Mass. (2005)
【非特許文献4】Devarajan et al., “Distributed Metric Calibration of Large Camera Networks,” Proc. Int’l Conf. on Broadband Networks (2004)
【非特許文献5】Funiak et al., “Distributed Localization of Networked Camera,” Int’l Conf. on Info. Processing Sensor Networks 34-42 (2006)
【非特許文献6】R. Hartley et al., Multiple View Geometry in Computer Vision (2004)
【非特許文献7】O. Faugeras, Three-Dimensional Computer Vision (1993)
【非特許文献8】P. Baker et al. “Calibration of a Multicamera Network,” Proc. Omnidirectional Vision & Camera Networks (2003)
【非特許文献9】S. Capkun et al., “GPS-Free Positioning in Mobile Ad-Hoc Networks,” 5 Cluster Computing 157-66 (2002)
【非特許文献10】A. Galstyan et al. “Distributed Online Localization in Sensor Networks Using a Moving Target,” Proc. Int’l Symp. on Info. Processing Sensor Networks 61-70 (2004)
【非特許文献11】R. Hartley, “In Defense of the Eight-Point Algorithm,” 19 IEEE Transactions on Pattern Analysis & Machine Intelligence 580-93 (1997)
【非特許文献12】R. Iyengar et al., “Scalable and Distributed GPS Free Positioning for Sensor Networks,” Proc. IEEE Int’l Conf. on Comm. 338-42 (2003)
【非特許文献13】M. Lourakis et al., “The Design and Implementation of a Generic Sparse Bundle Adjustment Software Package Based on the Levenberg-Marquardt Algorithm,” Technical Rep. 340, Inst. Computer Sci. − FORTH (2004)
【非特許文献14】H. Medeiros et al., “Online Distributed Calibration of a Large Network of Wireless Cameras Using Dynamic Clustering,” ACM/IEEE Int’l Conf. on Distributed Smart Cameras (2008)
【非特許文献15】M. Pollefeys et al., “Self-calibration and Metric Reconstruction in Spite of Varying and Unknown Intrinsic Camera Parameters,” 32 Int’l J. Computer Vision 7-25 (1999)
【非特許文献16】M. Rahimi et al., “Cyclops: In Situ Image Sensing and Interpretation in Wireless Sensor Networks,” Proc. Int’l Conf. on Embedded Networked Sensor Sys. 192-204 (2005)
【非特許文献17】C. Savarese et al., “Locationing in Distributed Ad-Hoc Wireless Sensor Networks,” Proc. IEEE Int’l Conf. on Acoustics, Speech, & Signal Processing 2037-40 (2001)
【非特許文献18】A. Savvides et al., “Dynamic Fine-Grained Localization in Ad-Hoc Networks of Sensors,” Proc. Int’l Conf. on Mobile Computing & Networking 166-79 (2001)
【非特許文献19】T. Svoboda et al., “A Convenient Multi-Camera Self-Calibration for Virtual Environments,” 14 PRESENCE: Teleoperators & Virtual Env’ts 407-22 (2005)
【非特許文献20】B. Triggs et al., “Bundle Adjustment−A Modern Synthesis,” Vision Algorithms: Theory & Practice, Lecture Notes Computer Sci. 153-77 (2000)
【非特許文献21】J. Weng et al., “Motion and Structure from Two Perspective Views: Algorithms, Error Analysis, and Error Estimation,” 11 IEEE Transactions on Pattern Analysis & Machine Intelligence 451-76 (1989)
【発明の概要】
【0012】
本発明は、通信と計算のいずれに関しても効率的な大規模カメラネットワーク較正、並びに、いかなる動的再構成においても堅牢性を提供する。言い換えると、本発明は、カメラ較正のスケーラビリティの問題を解決するものである。より具体的には、カメラの数が増えたとき、本開示によるカメラ較正に必要な通信及び計算は著しくは増加しない。更に、カメラ設定にローカルな変化が生じても、較正パラメータの変更はネットワークのローカル領域内で行うことが可能となる。本発明は、単独で又は任意の組合せで特許性のある事項を構成しうる添付の請求項に記載の1つ又はそれ以上の特徴及び/以下の特徴を含みうる。
【0013】
1つの側面によれば、本発明の方法は、複数の指向性を有するセンサノードにより較正オブジェクトをセンシングすることと、複数の指向性を有するセンサノード間で較正オブジェクトに関する測定データを交換することと、交換された測定データに応じて複数の指向性を有するセンサノードの各々について較正パラメータの初期集合を推定することと、複数の指向性を有するセンサノード間で較正パラメータの初期集合を交換することと、交換された較正パラメータの初期集合に応じて複数の指向性を有するセンサノードの各々について較正パラメータの更新された集合を推定することと、を含みうる。
【0014】
他の実施態様では、較正パラメータの初期集合を推定するステップ及び較正パラメータの更新された集合を推定するステップは、複数の指向性を有するセンサノードの各々によって分散して実行される。複数の指向性を有するセンサノードによる較正オブジェクトのセンシングは、複数のカメラノードにより少なくとも2つの顕著な特徴を有する較正オブジェクトを同時に観察することを含んでもよい。
【0015】
他の実施態様では、較正オブジェクトに関する測定データの交換は、複数の指向性を有するセンサノードの各々がその全ての1ホップ通信近傍へ測定データをブロードキャストし、全ての1ホップ通信近傍から測定データを受信することを含んでもよい。更なる他の実施形態では、較正オブジェクトに関する測定データの交換は、指向性を有するセンサノードの動的クラスタを形成し、動的クラスタのクラスタヘッドに測定データを集めることを含んでもよい。かかる実施形態では、クラスタヘッドは、クラスタヘッドが動的クラスタから離れた後の動的クラスタ内の複数の指向性を有するセンサノードの各々について較正パラメータの初期集合を推定する段階を行ってもよい。
【0016】
幾つかの実施形態では、複数の指向性を有するセンサノードの各々についての較正パラメータの初期集合の推定は、測定データのうち較正オブジェクトに関する8つ以上の対応するデータ点を有する指向性を有するセンサノードの各ペアの間の相対位置ベクトル及び対応する共分散を決定することを含んでもよい。較正パラメータの初期集合の交換は、複数の指向性を有するセンサノードの各々がその較正パラメータの集合をその全ての1ホップ通信近傍へブロードキャストし、全ての1ホップ通信近傍から受信することを含んでもよい。複数の指向性を有するセンサノードの各々の較正パラメータの更新された集合を推定することは、再帰最小二乗法を用いて複数の指向性を有するセンサノードの各々について較正パラメータの初期集合をリファインすることを含んでもよい。
【0017】
他の実施形態では、本発明の方法は、複数の指向性を有するセンサノードの各々についての較正パラメータの更新された集合をグローバル座標系に合うよう調整することを更に含みうる。複数の指向性を有するセンサノードの各々についての較正パラメータの更新された集合を調整することは、複数の指向性を有するセンサノードのローカル座標系を互いに動的に位置合わせすることを含んでもよい。更なる他の実施形態の方法は、バンドル調整スキームを用いて較正パラメータの更新された集合をリファインすることを更に含んでもよい。
【0018】
幾つかの実施形態では、本発明の方法は、それぞれの指向性を有するセンサノードが所定の較正精度レベルを達成するまで、較正パラメータの初期集合を交換するステップ及び較正パラメータの更新された集合を推定するステップを再帰的に実行することを更に含んでもよい。2つの連続して推定された較正パラメータの集合の間の差が所定の値よりも小さいとき、それぞれの指向性を有するセンサノードは、所定の較正精度レベルを達成しうる。幾つかの実施形態では、方法は、それぞれの指向性を有するセンサノードが所定の較正精度レベルを達成したことを操作者に報告することを更に含んでもよい。かかる実施形態では、本方法は、較正オブジェクトを、所定の較正精度レベルをまだ達成していない指向性を有するセンサノードの視野領域に配置することを更に含んでもよい。
【0019】
他の側面によれば、有形で機械読み取り可能な媒体が、複数の命令から構成されており、その命令が実行されることにより、複数の指向性を有するセンサノードにおいて、上記のいずれかの方法を行わせるようにしてもよい。
【0020】
更なる他の実施形態によれば、センサネットワークは、複数のノードを含む。各ノードは、指向性を有するセンサと、通信モジュールと、指向性を有するセンサから較正オブジェクトのローカルな測定値を受信し、通信モジュールを介して近傍ノードから較正オブジェクトの追加的な測定値を受信し、ローカルな及び追加的な測定値に応じて較正パラメータの初期集合を推定し、通信モジュールを介して近傍ノードから較正パラメータの追加的なセットを受信し、較正パラメータの追加的な集合に応じて較正パラメータの更新された集合を再帰的に推定するよう構成されたプロセッサとを有してもよい。
【0021】
幾つかの実施形態では、複数のノードの各々の指向性を有するセンサはカメラである。他の実施形態では、複数のノードの各々の通信モジュールは無線ラジオである。更なる他の実施形態では、センサネットワークは、複数のノードとそれらの通信モジュールを介して通信し、複数のノードに関する較正情報を表示するよう較正されたユーザインタフェースを更に含んでもよい。ユーザインタフェースは、複数のノードの各々によって達成される較正精度レベルの表示を含んでもよい。ユーザインタフェースはまた、複数のノードの各々が所定の較正精度レベルを達成したかどうかの表示を含んでもよい。幾つかの実施形態では、ユーザインタフェースは、グローバル座標系に対する複数のノードの相対的な位置及び姿勢を示すグラフィック表示部を含んでもよい。
【0022】
更なる特徴は、単独で、又は、上記において列挙したもの及び請求項に列挙したものを含む他の特徴との組合せで、特許性のある事項を構成してもよく、現在わかっている本発明を実施する最良の態様を例示する実施態様の以下の詳細な説明を考慮して当業者によって明らかとなろう。
【0023】
以下、添付の図面を参照して詳述する。
【図面の簡単な説明】
【0024】
【図1】較正オブジェクトを観察する3つのカメラノードを含む例示的なネットワークを示す図である。
【図2A】互いに既知の距離を置いて配置された2つの顕著な特徴を有する較正オブジェクトの一実施態様を示す図である。
【図2B】互いに既知の距離を置いて配置された3つの顕著な特徴を有する較正オブジェクトの他の実施態様を示す図である。
【図3】ワールド座標系に対する2つのカメラ投影モデルの外部カメラパラメータを示す図である。
【図4】図1及び図2Aの較正オブジェクトを観察しているカメラノード i を含む例示的なネットワークを示す図である。
【図5】通信近傍及び視野近傍の両方である2つのカメラノードの2次元概略図を示す図である。
【図6】通信近傍及び視野近傍の両方である5つのカメラノードの2次元概略図を示す図である。
【図7】カメラノードの機能モジュールの一実施例を示す図である。
【図8】図7の機能モジュールのうちの1つによって実行されるプロセスの一実施例を示す図である。
【図9】図7の機能モジュールのうちの1つによって実行されるプロセスの一実施例を示す図である。
【図10】図7の機能モジュールのうちの1つによって実行されるプロセスの一実施例を示す図である。
【図11】図7の機能モジュールのうちの1つによって実行されるプロセスの一実施例を示す図である。
【図12】図7の機能モジュールのうちの1つによって実行されるプロセスの一実施例を示す図である。
【図13】例示的な再帰的推定手続きの実施中の2つの異なる時点における3つのカメラノードを含む例示的なネットワークを示す簡略化された図である。
【図14】図7のモジュールによって実行される動作の一実施例を示す簡略化された図である。
【図15】図7の機能モジュールのうちの1つによって実行されるプロセスの一実施例を示す図である。
【図16】推定された較正パラメータの精度についてユーザインタフェースを用いて通信する4つのカメラノードを含む例示的なネットワークを示す図である。
【図17】カメラノードの機能モジュールの他の実施例を示す図である。
【図18】図17の機能モジュールによって実行されるプロセスの一実施態様を示す図である。
【図19】人間である操作者が図2Aの較正オブジェクトをネットワーク全体に亘って物理的に動かしている図16のネットワークの一実施態様を示す図である。
【図20】移動ロボット装置が図2Aの較正オブジェクトをネットワーク全体に亘って物理的に動かしている図16のネットワークの他の実施態様を示す図である。
【図21】グラフィック表示部及びテキスト表示部を有する図16のユーザインタフェースの一実施態様を示す図である。
【図22】バンドル調整手続きを含む図10のプロセスの修正された形を示す図である。
【図23】カメラノードの機能モジュールの他の実施態様を示す図である。
【図24】図23のモジュールによって実行される動作の一実施態様を示す簡略化された図である。
【発明を実施するための形態】
【0025】
本開示の概念は、様々な修正又は変形された形式がされる余地があるが、その具体的な実施態様について、例として図示し、以下詳述する。しかしながら、本開示の概念を開示された特定の形式に限定することを意図したものではなく、むしろ、添付の請求項によって定義される発明の趣旨及び範囲にある全ての変更物、均等物、および代替物に及ぶことを意図したものである。
【0026】
以下の説明において、論理実装、命令コード、オペランドを特定する手段、資源の分割/共有/複製実装、システム構成要素の種類及び相互関係、論理分割/統合の選択といった多くの具体的な詳細は、本開示のより完全な理解を与えるために記載されることがある。しかしながら、当業者によれば、開示のその実施態様は、かかる具体的な細部なしで実現されうることが認められるべきである。他の例では、本発明を不明瞭なものとしないよう、制御構造、ゲートレベル回路、及び完全なソフトウエア命令シーケンスについては詳述されていない。当業者は、ここに含まれる記載により、必要以上の実験を行うことなく適切な機能を実施することが可能となろう。
【0027】
開示のシステム及び方法の実施態様は、ハードウエア、ファームウエア、ソフトウエア、またはそれらの任意の組合せにおいて実施されることがある。指向性を有するセンサ ネットワークにおいて実施される開示のシステム及び方法の実施態様は、コンポーネント間の1以上のポイント・ツー・ポイント相互接続及び/又はコンポーネント間の1以上のバス・ベースド相互接続を含むことがある。開示のシステム及び方法の実施態様は、1以上のプロセッサによって読み出され、実行されうる有形で機械読み取り可能な媒体に記憶された命令としても実施されることがある。有形の機械読み取り可能な媒体は、機械(例えばプロセッサ)によって読み出し可能な形式の情報を記憶又は送信する任意の機構を含むことがある。例えば、有形の機械読み取り可能な媒体は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶、光記憶、フラッシュメモリ、及び/又は他の種類のメモリ装置である。
【0028】
本開示は、分散アルゴリズムを用いて指向性を有するセンサの大規模ネットワークを較正するシステム及び方法を記載する。これらのシステム及び方法の第1の実施態様は、ピア・ツー・ピア分散ネットワークアプローチを用いる。第2の実施態様は、指向性を有するセンサの動的クラスタリングを用いる。第3の実施態様は、各カメラの較正精度を評価し、較正プロセスをいつ止めるべきかを決定する。システム及び方法の第4の実施態様は、較正プロセスに関するフィードバックを与えるためにユーザインタフェースを利用する。第5の実施態様は、バンドル調整技術を用いた較正リファインメントステップを含む。第6の実施態様は、代替的なモジュールアプローチを含む。
【0029】
本願明細書に記載の各実施態様では、個々のカメラ・ベースのセンサ12(例えば「カメラノード」)のネットワーク10を用いる。ここで図1を参照するに、各カメラノード12は、例えば、通信モジュール14、マイクロプロセッサ及びメモリ回路16、並びに、画像センサモジュール18を含みうる。他の実施態様では、カメラノード12の外部の計算装置(一般的にはマイクロプロセッサ、メモリ及び通信回路を含む)が画像センサ18から未加工画像データを受信し、処理してもよい。画像センサ18は、例えば、CCDカメラ、CMOSカメラ、及び/又は、他の適当な代替物を含みうる。通信モジュール14は、無線又は有線のネットワークの隣接するカメラノード12が通信パワー及びジオメトリに関して通信リンクによって定義されうるかぎり、無線通信機能、あるいは有線通信機能、あるいはその両方を有しうる。
【0030】
各カメラノード12の画像センサ18は、未加工画像を捕捉し、回路16の関連付けられたマイクロプロセッサへ未加工画像を送信しうる。次に、回路16の各マイクロプロセッサは、画像センサ18によって捕捉された画像を回路16のメモリに格納すること、格納された画像を処理して画像中のオブジェクトに関連付けられた分析データを生成すること、関連付けられた通信モジュール14を制御して隣接カメラノード12との間で情報を送信及び受信すること、並びに、カメラノード12の全体機能を制御することを含むが、これらに限られない一連のタスクを実行しうる。カメラノード12によって実行されるこれらのタスクのうちのいくつかについて、以下、図7乃至図15を参照して詳述する。
【0031】
ネットワーク10におけるカメラノード12の較正のために、既知の距離26だけ離れた少なくとも2つの顕著な特徴22、24を含む較正オブジェクト20を使用することができる。図1に示すように、各カメラノード12は、較正オブジェクト20の未加工画像を捕捉し、次に未加工画像は、較正オブジェクト20に関する画像座標を得るべく回路16のマイクロプロセッサによって処理することができる。以下説明するように、既知の距離26は、カメラノード12の各ペアワイズ(pairwise)較正における正しいスケールを計算するのに用いられる。図2Aに示すように、較正オブジェクト20の一実施態様は、青色LED22(即ち、第1の顕著な特徴)と、青色LED22から既知の距離26(d)だけ離れて位置する赤色LED24(即ち、第2の顕著な特徴)とを含む。図2Bに示す他の実施態様では、較正オブジェクト30は、互いに既知の距離38だけ離れた青色LED32(即ち、第1の顕著な特徴)、赤色LED34(即ち、第2の顕著な特徴)、および緑色LED36(即ち、第3の顕著な特徴)を含みうる。図2Bの実施態様では、特徴間の距離38は、互いに同じであるか、又は異なっていてもよいことが意図される。
【0032】
本開示では、ネットワーク10上の各カメラノード12はその画像センサ18の固有のカメラパラメータ(例えば、焦点距離、主点、歪みパラメータ等)が既知であることを想定する。しかしそのように想定せずに、これらの固有の特性はカメラノード12間の対応する画像点を用いて推定されてもよい。固有のカメラ特性は、例えば、各カメラノード12に含まれているマイクロプロセッサ及びメモリ回路16に格納されうる。更に、本開示では、各カメラノード12には較正オブジェクト20に関する情報が予めプログラムされていると想定する。ネットワーク10のカメラノード12を較正する処理は、一般的に、ワールド座標系に対する各個々のカメラの位置及び姿勢を推定することを含む。本開示において、かかるパラメータ(即ち、位置及び姿勢)は「外部カメラパラメータ」と称される。カメラが3次元(3D)空間に置かれているとき、各個々のカメラに対する外部カメラパラメータの有効な個数は6つ(即ち、いわゆる6自由度)である。ワールド座標系は、代表カメラノードを選択し、選択されたカメラノードの座標系としてワールド座標系を定義することによって、あるいは、ワールド座標系を、既に環境に対して適用されている既存のワールド座標系と位置合わせすることによって定義されうる。本開示の実施態様は、ワールド座標系が夫々のカメラ(例えば、カメラノード1)の座標系と一致する前者の選択肢を利用する。他の実施態様は、ワールド座標系、またはグローバル座標系を定義するために後者の選択肢を利用してもよいことが考えられる。
【0033】
カメラ較正処理は、一般的には、カメラノードi の座標系(i番目のカメラ座標系、ただし、i = 1, 2, …, Nであり、Nはネットワーク10上のカメラノード12の数)がどのようにワールド座標系に関連しているかを推定すること、すなわち、i番目のカメラ座標系からワールド座標系への変換の位置及び姿勢のパラメータを推定することを含む。図3に、ワールド座標系がOXYZにより定義され、i番目のカメラ座標系がCiXiYiZiによって定義される例を示す。(xi,yi,zi)をi番目のカメラ座標系における点の3D座標として用い、(xw,yw,zw)をワールド座標系における同じ点の3D座標として用いると、(xw,yw,zw)と(xi,yi,zi)の間の関係は、以下の式、

によって表わされ、式中、Rw,iは、(3自由度の回転パラメータを含む)回転行列を表わし、tw,iは、(残りの3自由度の位置パラメータを含む)並進ベクトルを表わす。このような一組の回転パラメータ及び位置パラメータ(6次元パラメータ)は、「外部カメラパラメータ」の一例である。本開示ではワールド座標系とi番目のカメラ座標系の関係を表わすために上述の6次元パラメータを用いるが、当業者によれば、外部カメラパラメータを表わす多くの可能な変形例が利用されうることが認められるであろう。例えば、制約のある環境(例えば、一定の高さ)にカメラノード12が置かれている場合、位置パラメータは2自由度の2次元ベクトルによって表わされうる。
【0034】
ここで図3に戻ると、図中、OXYZはワールド座標系を表わし、CiXiYiZiはi番目のカメラの座標系を表わしており、ワールド座標系に対するj番目のオブジェクト点の同次座標ベクトルは、

と表わされ、i番目のカメラにおいて測定されるj番目のオブジェクトを表わす同次画像座標ベクトルは、

と表わされる。

であることを示しており、式中、Piはi番目のカメラの3×4投影行列である。式2は、投影行列Piを更に分解することにより、

と書き直すことができ、式中、Aiは、カメラノードiの外部パラメータ(例えば、焦点距離、主点等)を符号化する3×3の上三角行列であり、Ri,w及びti,wは、それぞれ、ワールド座標系からi番目のカメラの座標系への3D変換(または3D変位)を記述する3×3回転行列及び並進ベクトルである。
【0035】
回転行列は、より簡潔には単位四元数

によって表わすことができ、式中、

である。単位四元数qに対応する回転行列R は、以下の式、

によって表わされる。従って、カメラノードiの外部較正パラメータは、

と表わすことができ、式中、qw,i及びtw,iは、それぞれ、i番目のカメラ座標系からワールド座標系への変換を記述する四元数ベクトル及び並進ベクトルである。同様に、j番目のカメラからi番目のカメラへの相対変換パラメータは、pi,jと表わされてもよい。較正パラメータベクトルpw,iに対応する4×4の同次変換行列H は、以下の式、

によって表わされる。最後に、各カメラパラメータpi,jについて、本開示は、その対応する共分散行列をΣi,jと表わす。画像の測定が測定誤差を伴っているとき、推定プロセスを通じて計算されたパラメータ中にどのくらいの誤差が予想されるかを求めることが可能である。共分散行列は、このような推定誤差を統計的に記述するのにしばしば用いられる。
【0036】
一対のカメラ間の相対的な位置及び姿勢を見つけることは、コンピュータビジョンの分野では周知の課題である。2つのカメラ(カメラノード1及びカメラノード2)によって可視のn個のオブジェクト点が存在すると想定すると、2つのカメラ間の基本行列Fは、以下の式、

によって定義することができ、式中、jは、j=1,2,,,,,nのオブジェクト点に対する添え字である。オブジェクト点の少なくとも8対のマッチした画像座標が与えられているとき、Hartley et al.,(上述において引用)に記載のように、基本行列Fは、式(7)を解くことによって決定されてもよい。次に、基本行列Fは、各カメラの外部パラメータ(即ち、式3における行列A)とともに、(例えば、上述において引用したWeng et al., に記載された手順を用いて)未知のスケールに至るまでj番目のカメラとi番目のカメラの間の相対的な位置及び姿勢パラメータpj,i を計算するのに使用されうる。
【0037】
各カメラ対によって得られる対応する画像測定値が多くなればなるほど、式7はより正確に解くことができ、より正確に外部カメラパラメータを推定することができる。しかし、多数の測定値を収集し処理することは、大量のメモリと計算パワーを必要とし、大規模ネットワーク10上のカメラノード12の能力をかなり超えてしまうであろう。オンラインカメラ較正法、即ち、カメラパラメータが、十分なデータが得られると計算され、次にカメラによって追加的な測定値が捕捉されるとリファインされることを可能とする方法は、これらの課題を克服しうる。ネットワーク上の各カメラ対の相対的な位置及び姿勢を決定することに加え、較正はまた、グローバル座標系(即ち、ワールド座標系)に対する各カメラの位置及び姿勢を決定すべきである。前者の決定が本質的にはローカライズされている(即ち、各カメラ対は、夫々のパラメータを計算するうえで他のカメラからの情報を必要としない)一方で、後者の決定はその性質上、中央集中化されている。言い換えると、グローバル座標系に対する各カメラの位置及び姿勢の計算は、ネットワーク上の各カメラがグローバル基準系を認識していることを必要とする。カメラ較正に対するスケーラブルなアプローチを維持するために、本開示では、グローバル較正問題を扱うための分散アルゴリズムを実施する。
【0038】
本開示において、Nは、ネットワーク上の全てのカメラノードの集合であると定義する。ネットワーク上の各個々のカメラノードは、カメラノードi,(i∈N)と示される。例えば、図1は、3つのカメラノード12を有するネットワーク10を示す。カメラノードiの近傍であり、カメラノードiと直接(即ち、「1ホップ(one-hop)」)通信が可能であるものを、以下、「通信近傍(communication neighbors)」と称し、Siと示すものとする。図1に示すように、「カメラノード2」は「カメラノード1」及び「カメラノード3」である2つの1ホップ近傍を有する。カメラノードiと重なり合う視体積(viewing volume)を共有する通信近傍を、本願では「視近傍(vision neighbors)」と称し、Viと示すものとする。従って、(Vi⊆Si⊂N)となる。カメラノードi及びその近傍を含む分散カメラノード12のネットワーク10の例を図4及び図5に示す。図4に示すように、カメラノード12は、部屋、廊下、建物といった屋内環境又は屋外環境に設置されうる。カメラノードiは、有線及び/又は無線のネットワークを介して通信しうる幾つかの通信近傍を有する。図5は、わかりやすいように二次元で表示されており、視野が重なり合っている2つの通信近傍であるカメラノードi及びカメラノードkを示す。換言すれば、カメラノードi及びカメラノードkは、視近傍でもある。図6は、やはり二次元で示されており、幾つかの通信近傍及び視近傍を有するカメラノードiを示す。上述のように、ネットワーク10上の各カメラノード12について、グローバル座標系に対する位置及び姿勢はカメラパラメータベクトルpw,i (例えば、単位四元数として符号化された回転及び3次元並進ベクトルを含む7次元ベクトル、したがって、6自由度)によって指定されてもよく、各近傍(k∈Vi)の位置及び姿勢はカメラパラメータベクトルpi,kによって定義されてもよい。これらのカメラパラメータは、全てのカメラノードi∈Nについての較正パラメータ

の集合の推定を可能とする。これらの較正パラメータ Pi は、上述の1ホップ通信リンクを通じて各カメラノード12からその通信近傍へ送られる。
【0039】
図7に示すように、ネットワーク10上の各カメラノード12は、本開示による較正方法を実行するためにいくつかの機能モジュール40乃至48を含む。幾つかの実施態様では、これらのモジュールは、カメラノード12のマイクロプロセッサ及びメモリ回路16内に格納され実行されるソフトウエアコンポーネントとして実施されうる(図1に図示)。他の実施例では、モジュールは、ハードウエア、ファームウエア、又は、ソフトウエア、ファームウエア、及びハードウエアの組合せとして実施されうる。図7の実施態様では、モジュール構造は、測定値センシングモジュール40、測定値交換モジュール42、推定値初期化モジュール44、推定値交換モジュール46、推定値統合モジュール48を含む。このモジュール構造は、分散処理を可能とし、各カメラノード12が単にその通信近傍と通信することによりネットワーク10の較正パラメータを個々に推定することを可能とする。従って、この構造は、大規模カメラネットワークの較正のためのスケーラブルかつ堅牢なシステムを提供する。より詳細には、較正に必要な計算はネットワーク10上のカメラノード12の数には影響されない。モジュール40乃至48の動作を詳述する前に、それらの全般的な相互作用の概要について述べる。
【0040】
測定値センシングモジュール40は、較正オブジェクト20、30を含む画像を捕捉するたびに、測定値交換モジュール42及び推定値初期化モジュール44の両方へ、画像中の較正オブジェクト20、30の顕著な特徴22、24、32乃至36の位置を渡す。測定値交換モジュール42は、自己のカメラノード12の測定値センシングモジュール40及び他のカメラノード12の測定値センシングモジュール40から、較正オブジェクト20、30に関する測定データを受信する。測定値交換モジュール42は、自己のカメラノード12の測定値センシングモジュール40から測定データを受信すると、測定データを通信近傍へ送信する。測定値交換モジュール42が他のカメラノード12から測定データを受信すると、測定値交換モジュール42は、測定データを自己のカメラノード12内の推定値初期化モジュール44へ送る。
【0041】
推定値初期化モジュール44は、自己のカメラノードi及びその通信近傍にあるカメラノード12の各々の両方からの測定データを分析することにより、自己のカメラノードiに関連づけられるカメラ較正パラメータの初期集合を推定する。例えば、カメラノードi及びカメラノードkからの測定データが略同時に検出されたとき(即ち、較正オブジェクト20、30がグローバル座標系において略同じ位置にあるとき)、この測定データは、カメラノードi及びkの相対的な位置及び姿勢の初期推定値を計算するのに使用されうる。推定値初期化モジュール44によって計算されたこの初期推定値は、推定値交換モジュール46及び推定値統合モジュール48へ渡される。
【0042】
カメラノード12のペアの相対的な位置及び姿勢の推定値を受け取ると、推定値交換モジュール46は、カメラ較正パラメータの初期集合をその通信近傍へ送信する。更に、推定値交換モジュール12は、他のカメラノード12の推定値交換モジュール46からカメラ較正パラメータの初期集合を受け取り、これらのカメラ較正パラメータのセットを自己のカメラノード12内の推定値統合モジュール48へ渡す。このようにして、様々なカメラノード12の推定値交換モジュール46は、較正パラメータの初期集合を交換する。推定値統合モジュール48は、交換された較正パラメータの初期集合に応じて、複数のカメラノード12の各々についてのカメラ較正パラメータの更新された集合を推定する。より具体的には、推定値統合モジュールは、自己のカメラノード12から得られた較正パラメータとその通信近傍から得られた較正パラメータとを統合する。
【0043】
ここでモジュール40乃至48の動作についての詳細な説明に進むと、測定値センシングモジュール40の機能は、捕捉された画像中の較正オブジェクト20、30を検出すること、較正オブジェクト20、30の顕著な特徴22、24、32乃至36の画像位置の形式で測定データを生成すること、この生成された測定データをカメラノード12の測定値交換モジュール42及び推定値初期化モジュール44へ送ることである。測定値センシングモジュール40によって実行されるプロセス50は、Measurement-Sensing ( )と名付けられた以下のアルゴリズム1に概要が示されており、図8のフローチャートとしても示されている。カメラノード12は、その画像センサ18で未加工画像を捕捉した後、未加工画像を回路16のメモリに格納する。回路16のマイクロプロセッサは、次に、較正オブジェクト20が存在するかを判定すべく、格納された未加工画像を取り出し、(やはりメモリに格納されたプログラムを用いて)画像処理を実行する。較正オブジェクト20が存在するとき、マイクロプロセッサは、各顕著な特徴22、24の重心に対応する画像位置を計算する。例として、これらの画像位置は、色検出アルゴリズムといった単純な画像処理技術を用いて計算されてもよい。いったんカメラノード12が較正オブジェクト20を検出すると、回路16のマイクロプロセッサは、未加工画像から得られる較正情報を用いて測定値タプル(tuple:組) ziを構築する。

最後に、タプルは、測定値交換モジュール42及び推定値初期化モジュール44に渡される。
【0044】

【0045】
図8に示すように、プロセス50は、カメラノード12が未加工画像を捕捉することから始まる。次に、捕捉された画像中で較正オブジェクト(例えば、2−LED較正オブジェクト20)を探す。カメラノード12によって較正オブジェクトが見つからない場合、プロセス50は終了する。較正オブジェクトjが検出された場合は、プロセス50は代わりに画像が捕捉されたときの

【0046】
測定値交換モジュール42の機能は、カメラノードID及び測定値タプルからなるメッセージを送信および受信することにより、カメラノードiとその通信近傍との間で測定データを交換することである。測定値交換モジュール42によって実行されるプロセス52は、Measurement-Exchange-by-Peer-to-Peer ( )と名付けられた以下のアルゴリズム2に概要が示されており、図9のフローチャートとしても示されている。測定値交換モジュール42は、メッセージが受信されるまで休止状態にある。

メッセージnがモジュール42によって受け取られると、プロセス52が開始する。
メッセージ内のカメラノードIDが、同一のカメラノード12の測定値センシングモジュール40から発せられたことを示す場合、すなわちi=iである場合、メッセージはノードの通信近傍へブロードキャストされる。そうでない場合は、メッセージnは、カメラノード12の推定値初期化モジュール44へ渡される。
【0047】

【0048】
推定値初期化モジュール44の機能は、カメラノード12の通信近傍とのペアワイズカメラパラメータを推定することである。推定値初期化モジュール44によって実行されるプロセス54は、Estimate-Initialization ( )と名付けられた以下のアルゴリズム3に概要が示されており、図10のフローチャートとしても示されている。推定値初期化モジュール44は、メッセージが受信されるまで休止状態にある。

表わされるカメラノードID及び測定値タプルからなるメッセージnを受け取った場合、プロセス54が開始される。カメラノードiは、較正オブジェクト20に関する測定値を収集し続けるため、Ziによって指定される測定値タプルの集合を構成する。Zi は、数学的には以下のように定義することができる。

ネットワーク上の各カメラノード12は、自己のローカル測定値集合Ziだけでなく、その通信近傍、k∈Sから受信する測定値集合Zkも蓄積する。各カメラノードiにおいて、測定値センシングモジュール40から新しいタプルを受け取ると、タプルはZiに追加される。近傍ノードからメッセージを受信すると、メッセージ内のタプルは、タプルの集合Zkに追加される。通信近傍の各ペアについて、両方のカメラノード12が互いについてのローカル較正情報を計算する。プロセス45のこのタプル収集ステップの間、

の条件を満たすコンパニオン測定値を有する場合であり、式中、f(.,.) は記述とタイムスタンプのペアの間の差を測定するための関数であり、eは所定の閾値である。

と定義することができる。
【0049】
カメラノードi及びカメラノードkからの組み合わされたタプルの集合は、

で表わせる組み合わされたタプルのスタックへと集積されてもよい。各カメラノード12の中に十分な数の測定値が集積されると、近傍のカメラノード12から得られる多数の対応する測定値もまた集積されてもよい。式7に示すように、未知のスケールに至るまでの2つのカメラ間の相対較正パラメータを計算するために、ペアのカメラ間の8つ又はそれ以上の対応する画像点が使用されうる。従って、少なくとも8つの対応する測定値を有する各近傍カメラノード12について、近傍カメラノード12の相対的な位置及び姿勢を計算するためにペアワイズ較正が実行されうる。より具体的には、対応する画像座標の集合Ci,kを用いて、相対較正パラメータ

(ハット記号 ^ は未知のスケールを示す)を推定することが可能である。

【0050】
更に、各カメラノード12ではペアの顕著な特徴22、24の間の距離26が既知であることがわかっているため、各ペアワイズ(pairwise)較正について正しいスケールが計算されうる。

におけるカメラノードi及びカメラノードkについてのカメラパラメータ推定値に基づき、未知のスケールを用いたステレオ三角測量法を用いて、Ci,kにおける対応する測定値の夫々の3D座標が計算されうる。この三角測量法により得られる2つの顕著な特徴22及び24の再構成された3D座標は、2つの顕著な特徴22及び24の距離が既知であるため、距離制約を満たさねばならない。従って、ペアワイズカメラパラメータ

に関連づけられたスケールを推定すること、したがって、ペアワイズカメラパラメータ

を推定することが可能となるわけである。
【0051】
いったんペアワイズカメラパラメータが推定されると、共分散行列を用いてペアワイズカメラパラメータにどれだけの推定誤差が含まれているかを評価することができる。画像測定値は、測定誤差としてのノイズを含んでいることがある。例えば、顕著な特徴22及び24に関連づけられた画像測定値は、共分散行列により特徴付けられる測定誤差も含みうる。画像測定値から計算された推定値もまた共分散行列によって特徴付けられてもよい。上述において引用された文献Faugerasの第5章には、パラメータ推定のための共分散行列表現の分析が記載されている。
【0052】
ペアワイズ(pairwise)カメラパラメータの場合、推定されたパラメータ

の共分散行列は、その共分散行列Σi,kによって表わされてもよい。各ペアワイズ較正が完了した後、以下の一連の計算を用いて、較正パラメータベクトル pi,kに対応する共分散Σi,kが推定されうる。

式12の行列の左上の部分は、Σi,kの相対位置パラメータの共分散に対応する。いったん較正推定ベクトルpi,k及びそのコンパニオン共分散行列Σi,kの推定値がわかると、以下に説明するように、推定ベクトルpi,k及びコンパニオン共分散行列Σi,kの両方を再帰的に更新することができる。
【0053】
アルゴリズム3は、プロセス54を実施するためにネットワーク10上の各カメラノード12によって実行されうる例示的なペアワイズ推定の手続きを概略的に示す。プロセス54において、各カメラノードi は、それにより十分な対応する画像点(例えば、8よりも大きい数である場合)を有するその近傍カメラノードkの各々に対する相対位置パラメータ及び対応する共分散行列(pi,ki,k)を計算する。最後に、これらの初期パラメータ推定値は、カメラノード12の推定値交換モジュール46及び推定値統合モジュール48へ渡される。
【0054】

アルゴリズム3(プロセス54)
Estimate-Initialization ( )
If 送信側のカメラノードID(=k)及び測定値タプルからなるメッセージを
受け取る, then
自己のカメラノードiと送信側のカメラノードkのペアについて測定値タプルを
測定値タプルスタックCi,kに追加する。
If 測定値タプルスタックCi,kが十分なデータを含む, then
自己のカメラノードi及び送信側のカメラノードkについてペアワイズカメラ
パラメータ(pi,ki,k)の較正を実行する。
カメラノードIDのペア(i,k)及びペアワイズカメラパラメータ推定値
(pi,ki,k)からなるメッセージを自己のカメラノード内の2つの
推定値交換モジュール及び推定値統合モジュールへ渡す。
End if
End if

【0055】
推定値交換モジュール46の機能は、推定されたペアワイズカメラパラメータを含むメッセージを送ること及び受け取ることによりカメラノード12及びその通信近傍において計算された推定値を交換することである。推定値交換モジュール46によって実行されるプロセス56は、Estimate-Exchange ( )と名付けられた以下のアルゴリズム4に概要が示されており、図11のフローチャートとしても示されている。推定値交換モジュール46は、メッセージを受け取るまで休止状態にある。カメラノードIDのペア(i,k)及び

によって表わされるペアワイズカメラパラメータ推定値からなるメッセージnを受け取ると、プロセス56が開始する。メッセージ内のカメラノードIDが、同じカメラノード12の推定値統合モジュール48から生じたことを示す場合、即ちi=iの場合、メッセージnはノードの通信近傍k∈Siへブロードキャストされる。そうでない場合、メッセージnは、カメラノード12の中の推定値統合モジュール48へ渡される。
【0056】

【0057】
推定値統合モジュール48の機能は、受け取った推定されたペアワイズカメラパラメータを用いてカメラノード12の各ペアについて相対カメラ較正情報を更新することである。推定値統合モジュール48によって実行されるプロセス58は、Estimate-Integration ( ) と名付けられた以下のアルゴリズム5に概要が示されており、図12のフローチャートとしても示されている。推定値統合モジュール48は、メッセージを受け取るまでは休止状態にある。カメラノードIDのペア(i, k)及びペアワイズカメラパラメータ推定値からなるメッセージnであってn=(i,k,pi,ki,k)によって表わされるもの、あるいは、カメラノードID(k, i)のペア及びペアワイズカメラパラメータ推定値からなるメッセージnであって、n=(k,i,pk,ik,i)によって表わされるもののいずれかが受け取られると、ペアワイズカメラパラメータ推定値の統合が行われる。
【0058】
プロセス58は、測定値の中のノイズを減少させるために較正パラメータの再帰的推定が用いられるパラメータのリファインメントを含む。メッセージn=(i,k,pi,ki,k)が受け取られると、カメラノード(i, k)のペアについてのペアワイズカメラパラメータは、(pi,ki,k)を用いて更新される。そうではなく、メッセージn=(k,i,pk,ik,i)が受け取られるとカメラノード(i, k)のペアワイズカメラパラメータは、n=(k,i,pk,ik,i)を逆にしたものを用いて更新される。プロセス58におけるこのパラメータのリファインメントは、各カメラノード12によって実行される。このローカルな較正は、各カメラノード12において独立に行われるため、2つの近傍のカメラノード i 及び k, ただしi∈Vk及びk∈Viは各々が、他方についての自己の推定値を有する(即ち、カメラノードi において計算されたpi,kとカメラノードkにおいて計算されたpi,k)。理論的には、これら二つの変換は、互いに逆変換の関係にあるH(pi,k)=H(pk,i-1。しかし実際には測定ノイズのためこの等号関係は成立しえない。H(pi,k)は、pi,kから計算されるカメラ座標kからiへの同次変換行列である。2つのカメラ内におけるこれらの推定値の統合は、較正結果の精度を改善することができる。
【0059】
プロセス58のパラメータリファインメントにおける較正推定値の統合は、より多くの測定値が、ローカルに取得されるか、あるいは近傍のカメラノード12から受け取られると、ネットワーク10上のカメラノード12が新しい較正推定値を計算することができるので、オンライン較正法の精度を更に改善することができる。例示的な実施態様では、以前の推定値(p(t-1),Σ(t-1))を新しい推定値(p′(t),Σ′(t))と統合し、正確な推定値(p(t),Σ(t))を得るため、重み付き最小二乗法が用いられ、以下の再帰的な方程式群:

が用いられる。ガウスノイズ仮定の下では、式14のp(t)は、各カメラノード12の実際のカメラ特性の不偏推定量である。
【0060】
本開示においてここまでに説明した計算は、各カメラノード12に対して、その近傍の相対的な位置及び姿勢を与えるだけである。このローカル位置情報は、ネットワーク10上の残りのカメラノード12に対するローカル座標系(即ち、i番目のカメラ座標系)から定義される。上述のIyengar 他の文献に記載のように、ローカル位置情報をグローバルな共通座標系に関連づけるために、基準インデックスを使用することができる。例示的な実施態様において、ネットワーク10上の各カメラノード12は、初期的には、その基準インデックス(w)を、その自己のノードID(ノードIDはシステム構成中に設定されている)に設定する。従って、各カメラノード12は、初期的には、w=i, pw,i=0,および H(pw,i)=Iに設定すると考えることができる。しかし、カメラノードiが、基準インデックスの値が小さい較正パラメータを近傍カメラノードkから受信したときは、カメラノードiはその基準インデックスをカメラノードkの基準インデックスへと変更し、従ってカメラノードiの基準座標系をカメラノードkの座標系に変換する。いったんこの手順による較正が完了すると、ネットワーク10上の全てのカメラノード12の基準座標系は、最も低いIDを有するノードの座標系となる(即ち、第1のカメラ座標系がワールド座標系となる)。従って、全てのカメラノード系のカメラパラメータをワールド座標系に対して推定することが可能である。グローバル座標系を決定するために、他の順序づけスキーム(例えば、一番低い基準インデックスではなく一番高い基準インデックスを使用するなど)が使用されうる。
【0061】

アルゴリズム5(プロセス58)
Estimate-Integration ( )
Whenメッセージ n を受け取る。
IfメッセージnはカメラノードIDのペア(i,k)及びペアワイズカメラ
パラメータ推定値からなる、即ち、n=(i,k,pi,ki,k
である,then
ペアワイズカメラパラメータ推定値(pi,ki,k)をカメラノードの
ペア(i, k)について更新する。
Else if メッセージnはカメラノードIDのペア(k, i)及び
ペアワイズカメラパラメータ推定値、即ち、
n=(k,i,pk,ik,i), then
ペアワイズカメラパラメータ推定値(pi,ki,k)を反対にした
カメラノードのペア(k, i)について更新する。
If 所与の推定量が自己のカメラノードiのワールドカメラパラメータを
更新するのに適用可能である, then
自己のカメラノードiのワールドカメラパラメータを更新する。
End if
End if

【0062】
アルゴリズム2の再帰的推定手続きにおける2つの異なる時点の間の例示的なネットワーク10(カメラノード「0」、カメラノード「1」とカメラノード「2」を含む)の図は、図13にも示されている。図13の左側には、カメラノード1が既にp0,1 (カメラノード0に対するその相対位置パラメータ)を計算し、カメラノード2が既にp1,2 (カメラノード1に対するその相対位置パラメータ)を計算した時点のネットワーク10の状態が図示されている。同じ時点において、カメラノード1は、原点に対するその相対位置をpw,1 = p0,1 と定義している。カメラノード1は、カメラノード2から測定値を受信すると、 p2,1 (カメラノード2に対するその相対位置パラメータ)を計算し、これらの新しいパラメータを原点に対する自己の相対位置 pw,1と共にブロードキャスト(broadcast)する。カメラノード2は、カメラノード1から p2,1 及び pw,1 を受信した後、式9及び式10、並びに、逆変換 H(p2,1)-1 に基づいて、自己の推定値 p1,2 を更新する。次に、カメラノード2は、送信側(即ち、カメラノード1)のノードIDが自己のノードIDよりも低いことを確認し、そのグローバル位置ベクトルpw,2 を同次変換 H(pw,1)H(p1,2)に対応するパラメータベクトルによって置き換える。図3の右側には、この時点におけるネットワーク10の状態が示されている。
【0063】
測定値センシングモジュール40、測定値交換モジュール42、推定値初期化モジュール44、推定値交換モジュール46、及び推定値統合モジュール48によって実行されるプロセス50乃至58は、自律的かつ反復的に実行されうる。図14に示す一実施態様では、捕捉された画像の中の較正オブジェクト20を測定値センシングモジュール40が検出するたびに、ピア・ツー・ピア分散較正法の反復が行われてもよい。2つの異なるカメラノードi及びkにおいて起こるイベントは、図14中にタイムライン上のドットによって示されている。白抜きのドットは、所与のイベント(左欄に名称を記載)の始まりを表わし、黒のドットはイベントの終わりを表わす。図14はまた、2つのカメラモジュール間の情報授受(interaction)を垂直の矢印として示す。1つのノード12の中のドットから出て他のノード12の中のドットへ入る垂直な矢印は、ノード12間で渡されるメッセージを表わす。図14に示す例は、明瞭性のため、カメラノードiにおいて起こるイベントに注目しているが、ノードkにおいても同様のイベントのシーケンスが起こる。
【0064】
最初に、カメラノードiは、測定値センシングモジュール40で較正オブジェクトのセンシングを行い、オブジェクト情報を推定値初期化モジュール44へ送る。次に、カメラノードkは、オブジェクトの最近取得された測定値を測定値交換モジュール42を介してカメラノードiへ送り、測定値交換モジュール42はこの測定値を、2つのノード12間の相対較正パラメータが計算される推定値初期化モジュール44へ渡す。次に、これらのパラメータは、推定値統合モジュール48へ渡される。その後、カメラノードkは、自己の推定パラメータを推定値交換モジュール46を介してカメラノードiへ送信する(上述のように、ノード k によって行われる計算は、簡単化のために省略される)。推定値交換モジュール46は、受信した推定値を推定値統合モジュール48へ渡す。そこでは、カメラノードkから受信した推定値、及びカメラノードiにより以前に計算された推定値に基づいて、リファインされた推定値が計算される。Peer-to-Peer-Calibration ()と名付けられたアルゴリズム6は、本実施態様の逐次実行の例を示す。上述のように、本実施態様は、分散して実施される。従って、アルゴリズム6においてモジュール40乃至48が呼び出される順序は変更されてもよい。
【0065】

アルゴリズム6
Peer-to-Peer-Calibration ()
While 1
Measurement-Sensing () //アルゴリズム1の呼び出し
If Measurement-Exchange ()がメッセージを受け取る then
//アルゴリズム2の呼び出し
Estimate-Initialization() //アルゴリズム3の呼び出し
End if
If Estimate-Exchange()がメッセージを受け取る then
//アルゴリズム4の呼び出し
Estimate-Integration() //アルゴリズム5の呼び出し
End if
End while

【0066】
第1の実施態様によって実施されるこのピア・ツー・ピア分散ネットワークアプローチは、その完全に分散した性質により、堅牢かつスケーラブルな実施を可能とする。ネットワーク10の一部が故障した場合であっても、較正パラメータはネットワーク10の残りについて推定されうる。更に、計算上の要件は、ネットワーク10上のカメラノード12の数に依存しないため、このピア・ツー・ピア分散ネットワークアプローチを用いるネットワーク10のスケーラビリティが改善される。較正オブジェクトを新しい領域へ移動させ、新しい領域内での較正結果の累積を可能とすることにより、ネットワーク10に別のカメラノード12を追加することができるため、ネットワーク10の拡大は負担とならない。更に、カメラ設定のローカルな変更が生じたとしても、較正の修正(リビジョン)は(カメラのローカル通信近傍内でローカルに処理することによって)ローカルな領域内でのみ行われることができる。最後に、このピア・ツー・ピア分散ネットワークアプローチは、新しい観察が利用可能となると、推定された較正パラメータをネットワーク10が連続的に改善することを可能とする。
【0067】
本開示による指向性を有するセンサの大規模ネットワークを較正するシステム及び方法の第2の実施態様は、センサノードの動的クラスタリングを利用するものである。クラスタ・ベースの分散較正アプローチを用いることにより、第1の実施態様(ピア・ツー・ピア分散較正)に示す較正アプローチを更に改善することが可能である。クラスタ・ベースの分散較正は、各個々のノードがその近傍からのメッセージをリスンしている時間を減らすことにより、エネルギー消費を減少させる。クラスタ・ベースの分散較正は、イベント・ドリブン・クラスタリング・プロトコルを用いて種々のノードに役割を割り当てるよう動作する。いったんクラスタが形成されると、(イベント・ドリブン・クラスタリング・プロトコルによって割り当てられた)クラスタヘッドのみがクラスタメンバからの測定値を受け取り、できれば不必要なエネルギー使用を回避しつつ、それらの相対位置を計算する役割を担う。
【0068】
第2の実施態様において使用されてもよい1つのイベント・ドリブン・クラスタリング・プロトコルは、その開示内容全体として「Clustering Protocol for Directional Sensor Networks」なる名称の米国特許出願第12/236,238号明細書に記載されている。そのなかに記載されているように、このプロトコルは、較正オブジェクトが検出されると、較正オブジェクトを検出するカメラノードが、1回のホップで通信することができるクラスタを形成し、それらのうちからクラスタヘッドを自己選出するよう構成される。較正オブジェクトが1回のホップで通信できないカメラノードによって検出できる場合、多数のシングル・ホップ・クラスタが形成される。1つよりも多くの較正オブジェクトが検出される場合、較正オブジェクトの可視の特徴に基づいて多数のクラスタが形成される。1つまたは複数の較正オブジェクトが移動すると、適当なクラスタには較正オブジェクトを検出する新しいカメラノードが加わり、較正オブジェクトを失うカメラノードは対応するクラスタを離れ、クラスタヘッドが較正オブジェクトを見失うと、クラスタヘッドの役割は別のカメラノードに自己割り当てされる。
【0069】
第2の実施態様はまた、測定値センシングモジュール40、測定値交換モジュール42、推定値初期化モジュール44、推定値交換モジュール46、及び推定値統合モジュール 48(図7に図示)を用いる。しかしながら、イベント・ドリブン・クラスタリング・プロトコルにより、これらのモジュール40乃至48によって実行されるプロセス50乃至58は、(第1の実施態様について)上述したものから変更されている。例えば、クラスタヘッドのみが測定値を収集し、Estimate-Initialization()(プロセス54)を実行する。カメラノード12の動的クラスタリングは、カメラネットワークのエネルギー効率を改善する一方で、ピア・ツー・ピア分散ネットワークの利益を提供する。幾つかの実施態様では、任意の所与の時間において較正プロセスに関わっていないカメラノード12は、一時的にターンオフされてもよい。第2の実施態様のこの特徴は、特にバッテリ駆動式のセンサネットワークにおいて、動作寿命の改善をもたらすことができる。
【0070】
第2の実施態様において、クラスタに属する全てのカメラノード12は、較正オブジェクト20に関する情報を取得する。クラスタが形成された後、クラスタの各メンバは、測定値センシングモジュール40を用いて較正オブジェクト20の顕著な特徴22、24の

クラスタヘッドは、較正オブジェクト20がその視野を出て、クラスタヘッドの役割が他のカメラノード12に割り当てられるまで、これらの受信された測定値だけでなく自己のローカル測定値も格納する。Measurement Exchange: Cluster-Based () と名付けられたアルゴリズム7は、第2の実施態様において(上述のプロセス52の代わりに)分散ローカル較正プロセスを実施するよう、各カメラノード12の測定値交換モジュール42によって実行されうる例示的なクラスタ・ベースの測定値交換プロセス60の概要を示す。図15は、アルゴリズム7をフローチャート形式で表わす。
【0071】

【0072】
クラスタヘッドは、アクティブなクラスタを出ると、次に推定値初期化プロセス54および推定値統合プロセス58を行う。第2の実施態様では、かかるカメラノード12は自己の測定値センシングモジュール40によって生成された測定値及び他のクラスタメンバからの自己の測定値交換モジュール42によって受信した対応する測定値を用いて、上述のプロセス54とほぼ同様に、ローカルな較正手続きによってこれらのクラスタメンバに対するその相対位置パラメータ pi,k を計算する。新しいパラメータ推定値、近傍のカメラノード12によって計算されたパラメータ推定値、および、グローバル基準指数は、上述のプロセス58とほぼ同様に再帰推定手続きによって統合される。Cluster-Based-Calibration ()と名付けられたアルゴリズム8は、第2の実施態様による完全なクラスタ・ベースの較正手続きの概要を示す。
【0073】

アルゴリズム8
Cluster-Based-Calibration ()
While 1
Measurement-Sensing () // アルゴリズム1の呼び出し
If Measurement-Exchange: Cluster-Based ()がメッセージを受け取る then
// アルゴリズム7の呼び出し
If Estimate-Initialization ()がメッセージを受け取る then
// アルゴリズム3の呼び出し
If Estimate-Exchange()がメッセージを受け取る then
// アルゴリズム4の呼び出し
Estimate-Integration() // アルゴリズム5の呼び出し
End if
End if
End if
End while

【0074】
本開示による指向性を有するセンサの大規模ネットワークを較正するシステム及び方法の第3の実施態様は、ネットワーク10上の各カメラノード12の較正精度を計算する手続きを更に含む。この手続きは、上述の第1又は第2の実施態様のいずれかと共に使用されてもよい。本実施態様では、推定値統合モジュール48(図7に図示)がカメラ較正パラメータの更新された推定値を生成するたびに、カメラノード12はその推定された較正パラメータが所定の精度レベルを達成したかどうかを判定する。
【0075】
第3の実施態様では、この所定の精度レベルは、推定値統合モジュール48によって生成された2つの連続する推定値の間で、推定された比較パラメータに比較的小さい改善のみが達成されたときに満たされる。言い換えると、新しい情報を取得した(そしてその較正パラメータを再帰的にリファインした)後にカメラノード12によって推定された較正パラメータが以前に推定された較正パラメータと非常に似ている場合は、カメラノード12は、追加的な情報を得ることでは更なる改善は期待できないと結論付けることができ、その特定のカメラノードの較正は終了されうる。1つの例示的な評価基準は、反復の添え字をt-1(以前の反復の添え字)及びt(現在の反復の添え字)とすると、以下の式、

で表わすことができる。

他の実施態様では、所与の精度レベルがカメラノード12によって達成されているかを判定するために、他の評価基準が使用されてもよいことが認められてもよい。更に、第3の実施態様では、各カメラノード12による精度評価手続きの実行が伴っているが、各カメラノード12が情報をユーザインタフェース72へ送信し、次にそれが精度評価の手続きの一部又は全部を実行することも考えられる。
【0076】
本実施態様の1つの利点は、精度評価ステップにより、各個々のカメラノード12が、自己の較正の手続きを終わらせたかどうかについて決定することを可能とすることである。カメラノード12は、その較正が適切な精度を達成したと決定すると、新しいパラメータの推定を止めてもよく、それにより電力と計算資源を節約することができる。較正精度の手続きはまた、第4の実施態様に記載するような反復的な較正プロセスを可能とする。
【0077】
ここで概して図16乃至図21を参照するに、本開示による指向性を有するセンサの大規模ネットワークを構成するシステム及び方法の第4の実施態様は、較正プロセスに関するフィードバックを与えるためにユーザインタフェースを利用する。図16に示す例示的なシステムは、カメラノード12のネットワーク10、較正オブジェクト20(いずれも図1と略同様)、及び人間である操作者70(一般的には較正オブジェクト20の配置及び/又は移動も制御する)へ較正プロセスに関する情報を与えるユーザインタフェース72を含む。ユーザインタフェース72は、いかなる種類の計算装置であってもよい(例えば、パーソナルコンピュータ、ワークステーション、ラップトップコンピュータ、ハンドヘルドコンピュータ、携帯型インターネット装置、携帯電話機、パーソナルデータアシスタント等)。ユーザインタフェース72は、例示的に、ユーザインタフェース72がカメラノード12の通信範囲内にあるときに、各カメラノード12の通信モジュール14と個々に、かつ、独立に(例えば無線で)通信するよう構成される。各カメラノード12は、他の情報のうちでも特に、そのカメラノードの構成パラメータの精度に関する値又は決定をユーザインタフェース72へ送信しうる。
【0078】
第4の実施態様のカメラノード12は、図7を参照して説明したのと同様のモジュール40乃至48を含むが、図17に示すユーザ対話モジュール74を更に含む。ユーザ対話モジュールの機能は、ユーザインタフェース72と通信し、ネットワーク10の較正に関する命令を受信し、1またはそれ以上のカメラノード12の較正パフォーマンスに関する情報を人間である操作者70へ提供することである。いくつかの実施態様では、この情報は、推定値統合モジュール48によってカメラノード12について計算される較正精度またはその何らかの表示を含みうる。カメラノード12の他のモジュール40乃至48と協働してユーザ対話モジュール74によって実行されるプロセス80は、図18中にフローチャートとして示されている。この第4の実施態様の対話較正プロセス80は、ネットワーク10のカメラノード12が較正に関連するフィードバックを人間である操作者70に与えることを可能とする。以下詳述するように、操作者70は、カメラノード12へ追加的な有用な情報を与え(それにより閉ループ系を形成し)、較正がいつ完了したかを決定するよう、較正オブジェクト20の配置をより良く制御するためにこのフィードバック情報を利用してもよい。
【0079】
プロセス80は、1またはそれ以上のカメラノード12が較正オブジェクト20の1つ又はそれ以上の画像を捕捉しうるよう、較正オブジェクト20が1つ又はそれ以上のカメラノード12の視界に配置されるステップ82から開始する。いくつかの実施態様では、較正オブジェクト20は、図19に示すように、ネットワーク10全体にわたって人間である操作者70によって物理的に運ばれてもよい。他の実施態様では、較正オブジェクト20は、図20に示すように、ネットワーク10全体にわたって移動ロボット装置76によって運ばれてもよい。較正オブジェクト20が1つ又はそれ以上のカメラノード12の視野に配置されるように移動ロボット装置76をネットワーク10内の所望の位置へ動かすべく、かかる移動ロボット装置76の動きは操作者70によって従来の制御器を用いて制御されてもよい。また、ネットワーク10が、移動ロボット装置76が所与の時間においてどこで最も必要とされているかを自動的に決定し、装置76をその領域へ移動させるようにコマンドを送ることが考えられる。他の実施態様では、較正オブジェクト20は、可視の認識可能な特徴(例えば、ヘッドライト)と共に移動する自動車といった他のオブジェクトに適用されてもよい。
【0080】
ステップ82の後、プロセス80は、分散較正プロセスへ進む。ステップ84における分散較正プロセスの間、各カメラノード12は、カメラノード12及びその通信範囲内にある任意の近傍のカメラノード12についての較正パラメータを生成するよう第1、第2、又は第3の実施態様のいずれかによる較正手続きを実行する。上述のように、較正プロセスは、一般的には、各カメラノード12が、較正オブジェクト20が存在するときはその1つ又はそれ以上の画像を捕捉すること、測定値センシングモジュール40を用いてこれらの画像を処理すること、測定値交換モジュール42を用いて測定値を共用すること、推定値初期化モジュール44を用いて較正パラメータの初期ペアワイズ推定値を決定すること、推定値交換モジュール46を用いて初期推定値を共用すること、及び、推定値統合モジュール48を用いて較正パラメータを統合することにより、推定された較正パラメータを再帰的に更新することを含む。
【0081】
ステップ84の後、プロセス80は、カメラノード12がその推定された較正パラメータが所望の精度レベルを達成したかを判定するステップ86へ進む。いくつかの実施例では、プロセス80は、ユーザ対話モジュール74がインタフェース72から精度計算の要求を受信するまで休止されたままであってもよい。ステップ86において、ユーザ対話モジュール74は、推定値統合モジュール48へ精度計算要求を送る。すると、推定値統合モジュール48は、カメラノード12の較正精度を評価し、この値をユーザ対話モジュール74へ返す。ステップ86のいくつかの実施態様では、ユーザ対話モジュール74は、所定の精度レベルが達成されたかを判定する。ステップ86の他の実施態様では、人間である操作者70が精度レベルに満足しているかを判定しうるよう、ユーザ対話モジュール74は、精度計算をユーザインタフェースへ送る。かかる実施例では、ユーザインタフェース72は、操作者70からの応答を評価のためにユーザ対話モジュール74へ送り返す。
【0082】
ステップ86の後、プロセス80は、正のフィードバックステップ88又は負のフィードバックステップ90のいずれかへ進む。ステップ86において、カメラノード12が 所望の精度レベルを達成したと決定すると(内部的にまたはユーザインタフェース72からのフィードバックを介して)、プロセス80は正のフィードバックステップ88へ進む。ステップ88において、カメラノード12は、ユーザインタフェース72に適当な信号を送り、ユーザインタフェース72に、カメラノード12に対する対話較正プロセス80が完了したことを操作者70に通知させる。一方、カメラノード12が所望の精度レベルを達成しなかったと決定すると、プロセス80は負のフィードバックステップ90へ進む。ステップ90において、カメラノード12は、ユーザインタフェース72に適当な信号を送り、ユーザインタフェース72に、カメラノード12に対する対話較正プロセス80が継続されるべきであることを操作者70に通知させる。ステップ90におけるこの負のフィードバックは、ユーザが較正オブジェクト20を十分に較正されていないカメラノード12の視野へと動かすことを可能とする。この動作は、図18中、ステップ82へ戻ることによって示されている。
【0083】
図21は、本開示の第4の実施態様で使用されうる例示的なユーザインタフェース72を示す図である。ユーザインタフェース72は、一般的には、グラフィック表示部92及びテキスト表示部94を含む。他の実施態様では、ユーザインタフェース72は、これらの表示部92、94のうちの1つのみを有するか、又は更なる表示部又は要素を含んでもよい。ユーザインタフェース72のテキスト表示部94は、カメラノードIDをリストした列及び各カメラノード12の較正状態をリストした行を含むパフォーマンステーブルとして具現化される。例えば、図21のユーザインタフェース72は、カメラノード「1」及びカメラノード「2」の較正が完了したこと(即ち、プロセス80のステップ88)を状態「done」で示し、一方、カメラノード「3」及びカメラノード「4」の較正が完了していないこと(即ち、プロセス80のステップ90)を状態「−」により示す。
【0084】
図21に示すユーザインタフェース72のグラフィック表示部92は、(例えば関連するカメラアイコン96の色を変化させることにより)各カメラノード12が所定の測定精度を達成したかを表示するようにも動作可能であるが、ユーザインタフェース72の操作者70に対して更なる情報を伝えることができる。2値の「完了」/「未完了」判定に加えて、各カメラアイコン96は、特定のカメラノード12に対する相対的な精度レベル(又は、逆にいうと、誤差)を示す関連づけられた精度アイコン98を有しうる。図21の例示的なユーザインタフェース72では、精度アイコン98は、所望の精度レベルを示す水平線を伴う可変高さのバーとして具現化されている。かかる精度アイコン98は、どのカメラノード12が更なる較正情報を必要としているかを、操作者70が知ることを可能とする。更に、カメラノード12はまた、夫々の較正パラメータを含むメッセージをユーザインタフェース72へ送りうる。かかる実施態様では、図21に示すように、このデータは、ユーザインタフェース72が、グラフィック表示部92上のグローバル座標系に対するネットワーク10上の各カメラノード12の相対的な位置及び姿勢を動的に再構成することを可能とする。
【0085】
第4の実施態様のユーザインタフェース72(並びに、較正サイクル停止規則)は、上述の較正システム及び方法の第1、第2または第3の実施態様のいずれかとともに使用されうる。システムは適切な条件が満たされたときにユーザと通信し、較正プロセスがより効率的に完了することを可能とするため、ユーザインタフェース72は、構成に必要な時間を短縮させることができる。第4の実施態様はまた、較正オブジェクト20によって必要とされる(すなわち、十分に較正された領域から離れ、ネットワーク10の新しい領域又はあまり探索されていない領域へ向かい、これらの領域におけるカメラノードの較正を改善させる)移動の量を減少させることを可能とする。最後に、ネットワーク10がそのように接続されているのであれば、ユーザインタフェース72は、インターネットを介した較正パラメータの監視を可能とする。
【0086】
本実施態様で記載したように、ユーザ対話は、較正のための画像が捕捉されている間に操作者70が較正パフォーマンスを評価することを可能とする。言い換えると、操作者70は、環境における多数のカメラノード12の較正がどの程度正確に、また、どの程度うまく実行されているかを監視することができる。例えば、いずれかのカメラノード12が十分に正確な推定されたカメラパラメータを有していない場合は、操作者70は、かかるカメラノード12の近くで較正オブジェクト20を移動させること、及び、推定値をさらに統合することによって、オンラインで監視し、カメラパラメータを更新することができる。さらに、操作者70は、オンラインで各カメラノード12についての精度測定値を見ることにより較正のパフォーマンスレベルを得ることができる。十分な精度が達成されたことをユーザがユーザインタフェース72を通じて知らせたとき、操作者70は較正オブジェクトを移動させるのを止めることができる。従って、この第4の実施態様のユーザインタフェース72は、多数のカメラノード12を含む分散カメラネットワーク10の場合であっても、全体の較正に必要な時間を減少させうる。
【0087】
指向性を有するセンサの大規模ネットワークを較正するシステム及び方法の第5の実施態様は、本開示によれば、バンドル調整を実行する修正された推定値初期化モジュール48を含む。この修正された推定値初期化モジュール48の機能は、バンドル調整手続きを用いて、通信近傍内のペアワイズカメラパラメータを推定することである。初期較正が得られた後、バンドル調整は、観察された画像点と較正パラメータが推定されることによる画像点の推定された位置の間の誤差の最小化を実行することにより、較正パラメータのリファインメントを可能とする。この最小化は、カメラ較正パラメータ及び観察された点に対して同時に行われうる。この手続きは、(全ての不確定性はガウシアンであると仮定すると)パラメータの分散の最尤推定値を計算することに対応するため、上述のようにパラメータの共分散行列が用いられる。
【0088】
修正された推定値統合モジュール48によって実行されるプロセス100は、Estimate-Integration-with-Bundle-Adjustment ( )と名付けられた以下のアルゴリズム9に概要が示されており、図22のフローチャートとしても示されている。全ての近傍k∈Viについて較正パラメータpi,kが得られ、対応する共分散行列が得られた後、全ての利用可能なデータを用いてカメラパラメータの最適化を行うために非線形最適化スキーム(即ち、バンドル調整)が用いられてもよい。関数hは、較正パラメータpを用いたカメラの画像平面への3D座標Mjの再投影を示すのに使用されうる(すなわち、m=h(p,M))。バンドル調整スキームは、全ての3D点及びカメラパラメータに関して再投影誤差を最小化するよう作用し、以下の式、

で表わすことができ、重み付け正規方程式、すなわち、

を反復的に解くことによって達成でき、式中、Jはhのヤコビ行列であり、Σmは測定値ベクトルの共分散行列であり、δは反復のたびに求められるパラメータベクトルの更新値であり、εは再投影誤差ベクトルである。

この大きな非線形最適化問題に対する効率的な実施スキームが利用可能である一方で、ある種のカメラ・ベースのセンサについては計算上の要求が厳しすぎ、幾つかの実施態様はバンドル調整を用いることができない。しかしながら、ペアワイズカメラパラメータの推定にバンドル調整を加えることにより、第5の実施態様は、第1の実施態様よりも高い較正精度を与える。
【0089】

【0090】
本開示による指向性を有するセンサの大規模ネットワークを較正するシステム及び方法の第6の実施態様は、センサノード12内で、測定値交換モジュール42及び推定値交換モジュール46が「測定」及び「推定」のフローをそれぞれ制御することを担っている修正されたモジュール構造を含む。特に、測定値センシングモジュール40において生成された測定値は常に、他のセンサノード12の推定値初期化モジュール44又は測定値交換モジュール42へ測定値を転送することを担っている測定値交換モジュール42へ送られる。同様に、推定値初期化モジュール44及び推定値統合モジュール48において生成又は更新された推定値は、常に推定値交換モジュール46へ送られる。第6の実施態様では、プロセス50乃至56(第1の実施態様を参照して上述した)が、以下のアルゴリズム10乃至13に例示されるように修正される。図24は、第6の実施態様により動作するカメラノードiとカメラノードkの対話を例示する。図24から(図14と対比して)わかるように、測定値の通信は測定値交換モジュール42を通じて生じ、推定値の通信は推定値交換モジュール46を通じて生ずる。この実施態様の1つの利点は、第1の実施態様よりも簡単な機能および容易な実施である。特に、測定値センシングモジュール40はその測定値を1つの場所へ渡すだけであり、推定値初期化モジュール44は推定値を1つの場所へ渡すだけである。
【0091】

【0092】

【0093】

アルゴリズム12(修正されたプロセス54)
Estimate-Initialization ( )
If 送信側カメラノードID(=k)及び測定値タプルからなるメッセージを
受け取る, then
自己のカメラノードi及び送信側カメラノードkのペアについて
測定値タプルスタックCi,kに測定値タプルを追加する。
If 測定値タプルスタックCi,kが十分なデータを含む, then
自己のカメラノードi及び送信側カメラノードkについて
ペアワイズカメラパラメータ(pi,ki,k)の較正を実行する。
カメラノードIDのペア(i,k)及びペアワイズカメラパラメータ
推定値(pi,ki,k)からなるメッセージを自己のカメラノード中
の2推定値交換モジュールへ渡す。
End if
End if

【0094】

【0095】
本開示は、図面及び上述の説明において図示され記載されたが、かかる図示及び記載は、例示的なものであり、制限的な性質でないと考えられるべきであり、実施態様のみが図示され記載されていること、および、本開示の趣旨の範囲にある全ての変更及び修正の保護が要求されることが理解される。例えば、本開示のシステム及び方法は、屋内環境及び屋外環境の両方を含む様々な環境に適用されうる。屋内環境では、カメラノードは、私有又は公共の建築物又は車両の壁、天井又は任意の他の部分に取り付けられうる。屋外環境では、カメラノードは、街路、道路、駅、港、空港、キャンパス等の任意の部分に取り付けられうる。
【0096】
ここに記載の装置、システム、及び方法の様々な特徴から生ずる本開示の複数の利点がある。本開示の装置、システム、及び方法の他の実施態様は、そのような特徴の利点の少なくともいくつかから利益を受ける全ての特徴を記載していないかもしれない。当業者は、本発明の1つ又はそれ以上の特徴を組み込んだ、添付の請求項によって定義される本開示の趣旨及び範囲内にある装置、システム及び方法の自己の実施を容易に考え出すであろう。

【特許請求の範囲】
【請求項1】
複数の指向性を有するセンサノード(12)により較正オブジェクト(20)をセンシングすることと、
前記複数の指向性を有するセンサノード(12)間で前記較正オブジェクト(20)に関する測定データを交換することと、
前記交換された測定データに応じて前記複数の指向性を有するセンサノード(12)の各々について較正パラメータの初期集合を推定することと、
前記複数の指向性を有するセンサノード(12)間で前記較正パラメータの初期集合を交換することと、
前記交換された較正パラメータの初期集合に応じて前記複数の指向性を有するセンサノード(12)の各々について較正パラメータの更新された集合を推定することと、を含む方法。
【請求項2】
前記較正パラメータの初期集合を推定するステップ及び前記較正パラメータの更新された集合を推定するステップは、前記複数の指向性を有するセンサノード(12)の各々によって分散して実行される、請求項1記載の方法。
【請求項3】
前記複数の指向性を有するセンサノード(12)による較正オブジェクト(20)のセンシングは、複数のカメラノード(12)により少なくとも2つの顕著な特徴(22、24)を有する較正オブジェクト(20)を同時に観察することを含む、請求項1記載の方法。
【請求項4】
前記較正オブジェクト(20)に関する測定データの交換は、前記複数の指向性を有するセンサノード(12)の各々がその全ての1ホップ通信近傍(12)へ測定データをブロードキャストし、前記全ての1ホップ通信近傍(12)から測定データを受信することを含む、請求項1記載の方法。
【請求項5】
前記較正オブジェクト(20)に関する測定データの交換は、指向性を有するセンサノード(12)の動的クラスタを形成し、前記動的クラスタのクラスタヘッドに測定データを集めることを含む、請求項1記載の方法。
【請求項6】
前記クラスタヘッドは、前記クラスタヘッドが前記動的クラスタから離れた後の前記動的クラスタ内の前記複数の指向性を有するセンサノード(12)の各々について較正パラメータの初期集合を推定する段階を行う、請求項5記載の方法。
【請求項7】
前記複数の指向性を有するセンサノード(12)の各々についての前記較正パラメータの初期集合の推定は、前記測定データのうち前記較正オブジェクト(20)に関する8つ以上の対応するデータ点を有する指向性を有するセンサノード(12)の各ペアの間の相対位置ベクトル及び対応する共分散を決定することを含む、請求項1記載の方法。
【請求項8】
前記較正パラメータの初期集合の交換は、前記複数の指向性を有するセンサノード(12)の各々がその較正パラメータの集合をその全ての1ホップ通信近傍(12)へブロードキャストし、前記全ての1ホップ通信近傍(12)から受信することを含む、請求項1記載の方法。
【請求項9】
前記複数の指向性を有するセンサノード(12)の各々の前記較正パラメータの更新された集合を推定することは、再帰最小二乗法を用いて前記複数の指向性を有するセンサノード(12)の各々について前記較正パラメータの初期集合をリファインすることを含む、請求項1記載の方法。
【請求項10】
前記複数の指向性を有するセンサノード(12)の各々についての前記較正パラメータの更新された集合をグローバル座標系に合うよう調整することを更に含む、請求項1記載の方法。
【請求項11】
前記複数の指向性を有するセンサノード(12)の各々についての前記較正パラメータの更新された集合を調整することは、前記複数の指向性を有するセンサノード(12)のローカル座標系を互いに動的に位置合わせすることを含む、請求項10記載の方法。
【請求項12】
バンドル調整スキームを用いて前記較正パラメータの更新された集合をリファインすることを更に含む、請求項1記載の方法。
【請求項13】
前記それぞれの指向性を有するセンサノード(12)が所定の較正精度レベルを達成するまで、前記較正パラメータの初期集合を交換するステップ及び較正パラメータの更新された集合を推定するステップを再帰的に実行することを更に含む、請求項1記載の方法。
【請求項14】
2つの連続して推定された較正パラメータの集合の間の差が所定の値よりも小さいとき、前記それぞれの指向性を有するセンサノード(12)は、所定の較正精度レベルを達成する、請求項13記載の方法。
【請求項15】
前記それぞれの指向性を有するセンサノード(12)が所定の較正精度レベルを達成したことを操作者(70)に報告することを更に含む、請求項13記載の方法。
【請求項16】
前記較正オブジェクト(20)を、前記所定の較正精度レベルをまだ達成していない指向性を有するセンサノード(12)の視野領域に配置することを更に含む、請求項15記載の方法。
【請求項17】
実行されることにより、複数の指向性を有するセンサノード(12)に請求項1乃至16のうちいずれか一項記載の方法を行わせる複数の命令を含む、有形な機械読み取り可能な媒体。
【請求項18】
複数のノード(12)を含み、各ノードは、指向性を有するセンサ(18)と、通信モジュール(14)と、前記指向性を有するセンサ(18)から較正オブジェクト(20)のローカルな測定値を受信し、前記通信モジュール(14)を介して近傍ノード(12)から前記較正オブジェクト(20)の追加的な測定値を受信し、前記ローカルな及び追加的な測定値に応じて較正パラメータの初期集合を推定し、前記通信モジュール(14)を介して近傍ノード(12)から較正パラメータの追加的なセットを受信し、前記較正パラメータの追加的な集合に応じて較正パラメータの更新された集合を再帰的に推定するよう構成されたプロセッサ(16)とを有する、
センサネットワーク(10)。
【請求項19】
前記複数のノード(12)の各々の前記指向性を有するセンサ(18)はカメラ(18)である、請求項18記載のセンサネットワーク。
【請求項20】
前記複数のノード(12)の各々の前記通信モジュール(14)は無線ラジオである、請求項18記載のセンサネットワーク。
【請求項21】
前記複数のノード(12)とそれらの通信モジュール(14)を介して通信し、前記複数のノード(12)に関する較正情報を表示するよう構成されたユーザインタフェース(72)を更に含む、請求項18記載のセンサネットワーク。
【請求項22】
前記ユーザインタフェースは、前記複数のノード(12)の各々によって達成される前記較正精度レベルの表示(94、96、98)を含む、請求項21記載のセンサネットワーク。
【請求項23】
前記ユーザインタフェースは、前記複数のノード(12)の各々が所定の較正精度レベルを達成したかどうかの表示(94、96、98)を含む、請求項22記載のセンサネットワーク。
【請求項24】
前記ユーザインタフェースは、グローバル座標系に対する前記複数のノード(12)の相対的な位置及び姿勢を示すグラフィック表示部(92)を含む、請求項21記載のセンサネットワーク。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate


【公表番号】特表2012−526995(P2012−526995A)
【公表日】平成24年11月1日(2012.11.1)
【国際特許分類】
【出願番号】特願2012−511047(P2012−511047)
【出願日】平成22年5月14日(2010.5.14)
【国際出願番号】PCT/US2010/034937
【国際公開番号】WO2010/132791
【国際公開日】平成22年11月18日(2010.11.18)
【出願人】(598063203)パーデュー・リサーチ・ファウンデーション (59)
【氏名又は名称原語表記】PURDUE RESEARCH FOUNDATION
【出願人】(000000376)オリンパス株式会社 (11,466)
【Fターム(参考)】