(57)【特許請求の範囲】
【請求項１】
指向性を有する複数のセンサノード（１２）により較正オブジェクト（２０）をセンシングすることと、
前記指向性を有する複数のセンサノード(１２）間で前記較正オブジェクト（２０）に関する測定データを交換することと、
前記交換された測定データに応じて前記指向性を有する複数のセンサノード（１２）の各々について較正パラメータの初期集合を推定することと、
前記指向性を有する複数のセンサノード（１２）間で前記較正パラメータの初期集合を交換することと、
前記交換された較正パラメータの初期集合に応じて前記指向性を有する複数のセンサノード（１２）の各々について較正パラメータの更新された集合を推定することと、を含み、
前記較正パラメータの初期集合は、前記較正パラメータの初期集合を推定する前記センサノード（１２）と近傍の前記センサノード（１２）との相対的な位置または姿勢を示すものであり、
前記センサノード（１２）は、前記較正パラメータの更新された集合を、前記推定した較正パラメータの初期集合と前記交換された較正パラメータの初期集合とに基づいて推定する、方法。
【請求項２】
前記較正パラメータの初期集合を推定するステップ及び前記較正パラメータの更新された集合を推定するステップは、前記複数の指向性を有するセンサノード（１２）の各々によって分散して実行される、請求項１記載の方法。
【請求項３】
前記複数の指向性を有するセンサノード（１２）による較正オブジェクト（２０）のセンシングは、複数のカメラノード（１２）により少なくとも２つの顕著な特徴（２２、２４）を有する較正オブジェクト（２０）を同時に観察することを含む、請求項１記載の方法。
【請求項４】
前記較正オブジェクト（２０）に関する測定データの交換は、前記複数の指向性を有するセンサノード（１２）の各々がその全ての１ホップ通信近傍（１２）へ測定データをブロードキャストし、前記全ての１ホップ通信近傍（１２）から測定データを受信することを含む、請求項１記載の方法。
【請求項５】
前記較正オブジェクト（２０）に関する測定データの交換は、指向性を有するセンサノード（１２）のクラスタを動的に形成し、前記クラスタのクラスタメンバから前記クラスタのクラスタヘッドに測定データを集め、前記集めた測定データを前記クラスタヘッドから前記クラスタメンバにブロードキャストし、前記クラスタヘッドが前記較正オブジェクト（２０）を見失うと、前記クラスタの異なるセンサノードに前記クラスタヘッドの役割を割り当てることを含む、請求項１記載の方法。
【請求項６】
前記クラスタヘッドは、前記クラスタヘッドが前記クラスタから離れた後の前記クラスタ内の前記複数の指向性を有するセンサノード（１２）の各々について較正パラメータの初期集合を推定する段階を行う、請求項５記載の方法。
【請求項７】
前記複数の指向性を有するセンサノード（１２）の各々についての前記較正パラメータの初期集合の推定は、前記測定データのうち前記較正オブジェクト(２０）に関する８つ以上の対応するデータ点を有する指向性を有するセンサノード（１２）の各ペアの間の相対位置ベクトル及び対応する共分散を決定することを含む、請求項１記載の方法。
【請求項８】
前記較正パラメータの初期集合の交換は、前記複数の指向性を有するセンサノード（１２）の各々がその較正パラメータの集合をその全ての１ホップ通信近傍（１２）へブロードキャストし、前記全ての１ホップ通信近傍（１２）から受信することを含む、請求項１記載の方法。
【請求項９】
前記複数の指向性を有するセンサノード（１２）の各々の前記較正パラメータの更新された集合を推定することは、再帰最小二乗法を用いて前記複数の指向性を有するセンサノード（１２）の各々について前記較正パラメータの初期集合をリファインすることを含む、請求項１記載の方法。
【請求項１０】
前記複数の指向性を有するセンサノード（１２）の各々についての前記較正パラメータの更新された集合はローカル座標系に合っており、前記較正パラメータの更新された集合をグローバル座標系に合うよう調整することを更に含む、請求項１記載の方法。
【請求項１１】
前記複数の指向性を有するセンサノード（１２）の各々についての前記較正パラメータの更新された集合を調整することは、前記複数の指向性を有するセンサノード（１２）のローカル座標系を互いに動的に位置合わせすることを含む、請求項１０記載の方法。
【請求項１２】
バンドル調整スキームを用いて前記較正パラメータの初期集合をリファインすることを更に含む、請求項１記載の方法。
【請求項１３】
前記それぞれの指向性を有するセンサノード（１２）が所定の較正精度レベルを達成するまで、前記較正パラメータの初期集合を交換するステップ及び較正パラメータの更新された集合を推定するステップを再帰的に実行することを更に含む、請求項１記載の方法。
【請求項１４】
２つの連続して推定された較正パラメータの集合の間の差が所定の値よりも小さいとき、前記それぞれの指向性を有するセンサノード（１２）は、所定の較正精度レベルを達成する、請求項１３記載の方法。
【請求項１５】
前記それぞれの指向性を有するセンサノード（１２）が所定の較正精度レベルを達成したことを操作者（７０）に報告することを更に含む、請求項１３記載の方法。
【請求項１６】
前記較正オブジェクト（２０）を、前記所定の較正精度レベルをまだ達成していない指向性を有するセンサノード（１２）の視野領域に配置することを更に含む、請求項１５記載の方法。
【請求項１７】
実行されることにより、複数の指向性を有するセンサノード（１２）に請求項１乃至１６のうちいずれか一項記載の方法を行わせる複数の命令を含む、有形な機械読み取り可能な媒体。
【請求項１８】
複数のノード（１２）を含み、各ノードは、指向性を有するセンサ（１８）と、通信モジュール（１４）と、前記指向性を有するセンサ（１８）から較正オブジェクト（２０）のローカルな測定値を受信し、前記通信モジュール（１４）を介して近傍ノード（１２）から前記較正オブジェクト（２０）の追加的な測定値を受信し、前記ローカルな及び追加的な測定値に応じて較正パラメータの初期集合を推定し、前記通信モジュール（１４）を介して近傍ノード（１２）から較正パラメータの追加的なセットを受信し、前記較正パラメータの追加的な集合に応じて較正パラメータの更新された集合を再帰的に推定するよう構成されたプロセッサ（１６）とを有し、
前記較正パラメータの初期集合は、前記較正パラメータの初期集合を推定する前記ノード（１２）と近傍の前記センサノード（１２）との相対的な位置または姿勢を示すものであり、
前記ノード（１２）は、前記較正パラメータの更新された集合を、前記推定した較正パラメータの初期集合と前記交換された較正パラメータの初期集合とに基づいて推定する、
センサネットワーク（１０）。
【請求項１９】
前記複数のノード（１２）の各々の前記指向性を有するセンサ（１８）はカメラ（１８）である、請求項１８記載のセンサネットワーク。
【請求項２０】
前記複数のノード（１２）の各々の前記通信モジュール（１４）は無線ラジオである、請求項１８記載のセンサネットワーク。
【請求項２１】
前記複数のノード（１２）とそれらの通信モジュール（１４）を介して通信し、前記複数のノード（１２）に関する較正情報を表示するよう構成されたユーザインタフェース（７２）を更に含む、請求項１８記載のセンサネットワーク。
【請求項２２】
前記ユーザインタフェースは、前記複数のノード（１２）の各々によって達成される前記較正精度レベルの表示(９４、９６、９８）を含む、請求項２１記載のセンサネットワーク。
【請求項２３】
前記ユーザインタフェースは、前記複数のノード（１２）の各々が所定の較正精度レベルを達成したかどうかの表示(９４、９６、９８）を含む、請求項２２記載のセンサネットワーク。
【請求項２４】
前記ユーザインタフェースは、グローバル座標系に対する前記複数のノード（１２）の相対的な位置及び姿勢を示すグラフィック表示部（９２）を含む、請求項２１記載のセンサネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本願の開示は、概して指向性を有するセンサネットワークの較正に関する。特に、本願の開示は、カメラベースのセンサの大規模ネットワークを構成するシステム及び方法に関する。
【背景技術】
【０００２】
指向性を有するセンサのネットワークの較正は、多くの技術を用いて行うことができる。  
カメラベースのセンサの大規模ネットワークを構成する１つの公知の方法は、各センサから画像特徴データを受信し、次にネットワーク全体についての較正誤差の最小化を行う単一の中央集中プロセッサを必要とする。この単一プロセッサ法は、（例えば、５０個よりも少ないセンサを有する）小規模ネットワークを構成するときは正確であるが、（例えば、５０個よりも多くのセンサを有する）より大きなネットワークに拡大されたときには適していない。
【０００３】
カメラネットワークを較正するための位置推定アルゴリズム法は、非特許文献１に記載されており、その開示内容全体はその文献に明示的に含まれている。この位置推定アルゴリズム法は、基本的には動いている目標物及びカメラノードの位置を推定する。この方法では、原点と単位長さとを定義するために２つの基準ノードを選択する。次に、方法は、ネットワーク上のセンサについて、基準ノードに対する位置及び姿勢を見つける。この位置推定アルゴリズム法は、（例えば、５つのカメラベースのセンサといった）非常に小規模なネットワークを用いて２次元（２D）空間では動作が既に検証されている。
【０００４】
カメラネットワークを較正する分散位置推定アルゴリズム法は、非特許文献２に記載されており、その開示全体をここに明示的に援用する。この分散位置推定アルゴリズム法は、ネットワーク上の各カメラについての位置推定値を繰り返し改良する。この方法は、位置推定に必要な画像特徴が既に取得されていること、および、画像特徴間の対応は既知であることを仮定する。この分散位置推定アルゴリズムは、静的なネットワークの位置推定を可能とするが、位置推定に必要な画像特徴がまだ出現していない場合がある動的なネットワークにおいては動作しない。
【０００５】
カメラネットワークを構成する自動較正プロトコル法は、非特許文献３に記載されており、その開示全体をここに明示的に援用する。この自動較正プロトコル法は、グローバルポジショニングシステム（ＧＰＳ）及び発光ダイオード（ＬＥＤ）を具備した較正装置を用いる。カメラの位置及び姿勢は、構成装置から受信したデータ及びカメラから受信した画像座標データを用いて計算される。較正を必要とする各カメラについて、較正装置はユーザによって各カメラの前方に配置され、装置及びカメラから取得されたデータは、較正されようとしているカメラの位置及び姿勢を計算するのに用いられる。
【０００６】
カメラネットワークを較正するための分散較正アルゴリズム法は非特許文献４に記載されており、その開示全体をここに明示的に援用する。この分散較正アルゴリズム法は、ネットワーク上で任意の２つのカメラ間の通信が可能であると仮定する。その通信は、各カメラが他のカメラと通信しうる有線ネットワークを通じて、あるいは、各カメラが無線ネットワークの範囲内でのみ任意のカメラと通信しうる無線ネットワークを通じて行うことができる。無線ネットワークの実施態様は、ネットワーク上の全てのカメラが無線ネットワークの範囲内にあると仮定する。
【０００７】
カメラネットワークを較正するための同時位置推定・追跡法は、非特許文献５に記載されており、その開示全体をここに明示的に援用する。この同時位置推定・追跡法は、目標となるオブジェクトの軌跡を決定するとともにカメラの位置を決定するために、幾つかの天井取り付け型カメラを用いる。この方法は、カメラの３つの外部パラメータ (x, y, θ) のみを考慮する。カメラは天井取り付け型であるため、地面からの高さのパラメータ(z)は、較正前にネットワーク上の全てのカメラによって知られているからである。
【０００８】
上述の較正法はいずれも制限を有する。例えば、較正プロセス中に人間の介在をしなければならないこと、較正アルゴリズムの要件を満たすためにカメラの位置決めに制約を課さなければならないことなどがある。さらに、これらの方法はそれぞれ、必要なデータや計算を扱うのにかなりの計算能力を必要とし、および／または、各カメラが任意の他のカメラと通信可能とするための強力な通信基盤を必要とする。すなわち、これらの従来の方法には、概して、カメラ較正におけるいわゆるスケーラビリティーの問題がある。すなわち、ネットワーク上のカメラの数が増すにつれ、カメラ対の間、または、中央サーバとカメラとの間で、より多くの情報が交換されることにより、通信ネットワークトラヒックは著しく増加するものである。同時に、カメラ較正に必要な計算タスクもまた著しく増加する。更に、カメラ設定にローカルな変化が必要となったときでさえ、従来の較正法では、一般的にネットワーク全体に関する構成パラメータまでもの変更が必要であった。上述の従来のアプローチでは、これらの課題を解決するための大規模カメラネットワークに適した通信及び計算上の効率性が提供されていないわけである。従って、これらの従来の較正法では、実際には比較的小規模の（例えば高々５０台よりも少ないカメラを有する）カメラネットワークしか扱うことができない。
【０００９】
更なる較正技術及び背景となる原理は、非特許文献６、非特許文献７、非特許文献８、非特許文献９、非特許文献１０、非特許文献１１、非特許文献１２、非特許文献１３、非特許文献１４、非特許文献１５、非特許文献１６、非特許文献１７、非特許文献１８、非特許文献１９、非特許文献２０、非特許文献２１に記載されている。上記に列挙した各参考文献に関して、その開示全体をここに明示的に援用する。この列挙したものは、全ての関連する従来技術についての完全な調査が行われたこと、又は上記に列挙したものよりも良い参考文献が存在しないことを表明することを意図したものではなく、いかなるかかる表明も推定されるべきでない。
【００１０】
＜関連する出願への相互参照＞
本願は、合衆国法典第３５巻第１１９条（ｅ）の下で、２００９年５月１５日に出願された米国仮特許出願第６１／１７８，７２７号に基づく優先権を主張し、その内容を本願に援用する。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】Lee et al., “Collaborative Self-Localization Techniques for Wireless Image Sensor Networks,” Proc. Asilomar Conf. on Signals, Sys., & Computers (2005)
【非特許文献２】Mantzel et al., “Distributed Camera Network Localization,” Proc. Asilomar Conf. on Signals, Sys., & Computers (2004)
【非特許文献３】Liu et al., “A Self-Calibration Protocol for Camera Sensor Networks,” Technical Rep., Dept.  Computer Sci., Univ. of Mass. (2005)
【非特許文献４】Devarajan et al., “Distributed Metric Calibration of Large Camera Networks,” Proc. Int’l Conf. on Broadband Networks (2004)
【非特許文献５】Funiak et al., “Distributed Localization of Networked Camera,” Int’l Conf. on Info. Processing Sensor Networks 34-42 (2006)
【非特許文献６】R. Hartley et al., Multiple View Geometry in Computer Vision (2004)
【非特許文献７】O. Faugeras, Three-Dimensional Computer Vision (1993)
【非特許文献８】P. Baker et al. “Calibration of a Multicamera Network,” Proc. Omnidirectional Vision & Camera Networks (2003)
【非特許文献９】S. Capkun et al., “GPS-Free Positioning in Mobile Ad-Hoc Networks,” 5 Cluster Computing 157-66 (2002)
【非特許文献１０】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)
【非特許文献１１】R. Hartley, “In Defense of the Eight-Point Algorithm,” 19 IEEE Transactions on Pattern Analysis & Machine Intelligence 580-93 (1997)
【非特許文献１２】R. Iyengar et al., “Scalable and Distributed GPS Free Positioning for Sensor Networks,” Proc. IEEE Int’l Conf. on Comm. 338-42 (2003)
【非特許文献１３】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)
【非特許文献１４】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)
【非特許文献１５】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)
【非特許文献１６】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)
【非特許文献１７】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)
【非特許文献１８】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)
【非特許文献１９】T. Svoboda et al., “A Convenient Multi-Camera Self-Calibration for Virtual Environments,” 14 PRESENCE: Teleoperators & Virtual Env’ts 407-22 (2005)
【非特許文献２０】B. Triggs et al., “Bundle Adjustment−A Modern Synthesis,” Vision Algorithms: Theory & Practice, Lecture Notes Computer Sci. 153-77 (2000)
【非特許文献２１】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)
【発明の概要】
【００１２】
本発明は、通信と計算のいずれに関しても効率的な大規模カメラネットワーク較正、並びに、いかなる動的再構成においても堅牢性を提供する。言い換えると、本発明は、カメラ較正のスケーラビリティの問題を解決するものである。より具体的には、カメラの数が増えたとき、本開示によるカメラ較正に必要な通信及び計算は著しくは増加しない。更に、カメラ設定にローカルな変化が生じても、較正パラメータの変更はネットワークのローカル領域内で行うことが可能となる。本発明は、単独で又は任意の組合せで特許性のある事項を構成しうる添付の請求項に記載の１つ又はそれ以上の特徴及び／以下の特徴を含みうる。
【００１３】
１つの側面によれば、本発明の方法は、複数の指向性を有するセンサノードにより較正オブジェクトをセンシングすることと、複数の指向性を有するセンサノード間で較正オブジェクトに関する測定データを交換することと、交換された測定データに応じて複数の指向性を有するセンサノードの各々について較正パラメータの初期集合を推定することと、複数の指向性を有するセンサノード間で較正パラメータの初期集合を交換することと、交換された較正パラメータの初期集合に応じて複数の指向性を有するセンサノードの各々について較正パラメータの更新された集合を推定することと、を含みうる。
【００１４】
他の実施態様では、較正パラメータの初期集合を推定するステップ及び較正パラメータの更新された集合を推定するステップは、複数の指向性を有するセンサノードの各々によって分散して実行される。複数の指向性を有するセンサノードによる較正オブジェクトのセンシングは、複数のカメラノードにより少なくとも２つの顕著な特徴を有する較正オブジェクトを同時に観察することを含んでもよい。
【００１５】
他の実施態様では、較正オブジェクトに関する測定データの交換は、複数の指向性を有するセンサノードの各々がその全ての１ホップ通信近傍へ測定データをブロードキャストし、全ての１ホップ通信近傍から測定データを受信することを含んでもよい。更なる他の実施形態では、較正オブジェクトに関する測定データの交換は、指向性を有するセンサノードの動的クラスタを形成し、動的クラスタのクラスタヘッドに測定データを集めることを含んでもよい。かかる実施形態では、クラスタヘッドは、クラスタヘッドが動的クラスタから離れた後の動的クラスタ内の複数の指向性を有するセンサノードの各々について較正パラメータの初期集合を推定する段階を行ってもよい。
【００１６】
幾つかの実施形態では、複数の指向性を有するセンサノードの各々についての較正パラメータの初期集合の推定は、測定データのうち較正オブジェクトに関する８つ以上の対応するデータ点を有する指向性を有するセンサノードの各ペアの間の相対位置ベクトル及び対応する共分散を決定することを含んでもよい。較正パラメータの初期集合の交換は、複数の指向性を有するセンサノードの各々がその較正パラメータの集合をその全ての１ホップ通信近傍へブロードキャストし、全ての１ホップ通信近傍から受信することを含んでもよい。複数の指向性を有するセンサノードの各々の較正パラメータの更新された集合を推定することは、再帰最小二乗法を用いて複数の指向性を有するセンサノードの各々について較正パラメータの初期集合をリファインすることを含んでもよい。
【００１７】
他の実施形態では、本発明の方法は、複数の指向性を有するセンサノードの各々についての較正パラメータの更新された集合をグローバル座標系に合うよう調整することを更に含みうる。複数の指向性を有するセンサノードの各々についての較正パラメータの更新された集合を調整することは、複数の指向性を有するセンサノードのローカル座標系を互いに動的に位置合わせすることを含んでもよい。更なる他の実施形態の方法は、バンドル調整スキームを用いて較正パラメータの更新された集合をリファインすることを更に含んでもよい。
【００１８】
幾つかの実施形態では、本発明の方法は、それぞれの指向性を有するセンサノードが所定の較正精度レベルを達成するまで、較正パラメータの初期集合を交換するステップ及び較正パラメータの更新された集合を推定するステップを再帰的に実行することを更に含んでもよい。２つの連続して推定された較正パラメータの集合の間の差が所定の値よりも小さいとき、それぞれの指向性を有するセンサノードは、所定の較正精度レベルを達成しうる。幾つかの実施形態では、方法は、それぞれの指向性を有するセンサノードが所定の較正精度レベルを達成したことを操作者に報告することを更に含んでもよい。かかる実施形態では、本方法は、較正オブジェクトを、所定の較正精度レベルをまだ達成していない指向性を有するセンサノードの視野領域に配置することを更に含んでもよい。
【００１９】
他の側面によれば、有形で機械読み取り可能な媒体が、複数の命令から構成されており、その命令が実行されることにより、複数の指向性を有するセンサノードにおいて、上記のいずれかの方法を行わせるようにしてもよい。
【００２０】
更なる他の実施形態によれば、センサネットワークは、複数のノードを含む。各ノードは、指向性を有するセンサと、通信モジュールと、指向性を有するセンサから較正オブジェクトのローカルな測定値を受信し、通信モジュールを介して近傍ノードから較正オブジェクトの追加的な測定値を受信し、ローカルな及び追加的な測定値に応じて較正パラメータの初期集合を推定し、通信モジュールを介して近傍ノードから較正パラメータの追加的なセットを受信し、較正パラメータの追加的な集合に応じて較正パラメータの更新された集合を再帰的に推定するよう構成されたプロセッサとを有してもよい。
【００２１】
幾つかの実施形態では、複数のノードの各々の指向性を有するセンサはカメラである。他の実施形態では、複数のノードの各々の通信モジュールは無線ラジオである。更なる他の実施形態では、センサネットワークは、複数のノードとそれらの通信モジュールを介して通信し、複数のノードに関する較正情報を表示するよう較正されたユーザインタフェースを更に含んでもよい。ユーザインタフェースは、複数のノードの各々によって達成される較正精度レベルの表示を含んでもよい。ユーザインタフェースはまた、複数のノードの各々が所定の較正精度レベルを達成したかどうかの表示を含んでもよい。幾つかの実施形態では、ユーザインタフェースは、グローバル座標系に対する複数のノードの相対的な位置及び姿勢を示すグラフィック表示部を含んでもよい。
【００２２】
更なる特徴は、単独で、又は、上記において列挙したもの及び請求項に列挙したものを含む他の特徴との組合せで、特許性のある事項を構成してもよく、現在わかっている本発明を実施する最良の態様を例示する実施態様の以下の詳細な説明を考慮して当業者によって明らかとなろう。
【００２３】
以下、添付の図面を参照して詳述する。
【図面の簡単な説明】
【００２４】
【図１】較正オブジェクトを観察する３つのカメラノードを含む例示的なネットワークを示す図である。
【図２Ａ】互いに既知の距離を置いて配置された２つの顕著な特徴を有する較正オブジェクトの一実施態様を示す図である。
【図２Ｂ】互いに既知の距離を置いて配置された３つの顕著な特徴を有する較正オブジェクトの他の実施態様を示す図である。
【図３】ワールド座標系に対する２つのカメラ投影モデルの外部カメラパラメータを示す図である。
【図４】図１及び図２Ａの較正オブジェクトを観察しているカメラノード i を含む例示的なネットワークを示す図である。
【図５】通信近傍及び視野近傍の両方である２つのカメラノードの２次元概略図を示す図である。
【図６】通信近傍及び視野近傍の両方である５つのカメラノードの２次元概略図を示す図である。
【図７】カメラノードの機能モジュールの一実施例を示す図である。
【図８】図７の機能モジュールのうちの１つによって実行されるプロセスの一実施例を示す図である。
【図９】図７の機能モジュールのうちの１つによって実行されるプロセスの一実施例を示す図である。
【図１０】図７の機能モジュールのうちの１つによって実行されるプロセスの一実施例を示す図である。
【図１１】図７の機能モジュールのうちの１つによって実行されるプロセスの一実施例を示す図である。
【図１２】図７の機能モジュールのうちの１つによって実行されるプロセスの一実施例を示す図である。
【図１３】例示的な再帰的推定手続きの実施中の２つの異なる時点における３つのカメラノードを含む例示的なネットワークを示す簡略化された図である。
【図１４】図７のモジュールによって実行される動作の一実施例を示す簡略化された図である。
【図１５】図７の機能モジュールのうちの１つによって実行されるプロセスの一実施例を示す図である。
【図１６】推定された較正パラメータの精度についてユーザインタフェースを用いて通信する４つのカメラノードを含む例示的なネットワークを示す図である。
【図１７】カメラノードの機能モジュールの他の実施例を示す図である。
【図１８】図１７の機能モジュールによって実行されるプロセスの一実施態様を示す図である。
【図１９】人間である操作者が図２Ａの較正オブジェクトをネットワーク全体に亘って物理的に動かしている図１６のネットワークの一実施態様を示す図である。
【図２０】移動ロボット装置が図２Ａの較正オブジェクトをネットワーク全体に亘って物理的に動かしている図１６のネットワークの他の実施態様を示す図である。
【図２１】グラフィック表示部及びテキスト表示部を有する図１６のユーザインタフェースの一実施態様を示す図である。
【図２２】バンドル調整手続きを含む図１０のプロセスの修正された形を示す図である。
【図２３】カメラノードの機能モジュールの他の実施態様を示す図である。
【図２４】図２３のモジュールによって実行される動作の一実施態様を示す簡略化された図である。
【発明を実施するための形態】
【００２５】
本開示の概念は、様々な修正又は変形された形式がされる余地があるが、その具体的な実施態様について、例として図示し、以下詳述する。しかしながら、本開示の概念を開示された特定の形式に限定することを意図したものではなく、むしろ、添付の請求項によって定義される発明の趣旨及び範囲にある全ての変更物、均等物、および代替物に及ぶことを意図したものである。
【００２６】
以下の説明において、論理実装、命令コード、オペランドを特定する手段、資源の分割／共有／複製実装、システム構成要素の種類及び相互関係、論理分割／統合の選択といった多くの具体的な詳細は、本開示のより完全な理解を与えるために記載されることがある。しかしながら、当業者によれば、開示のその実施態様は、かかる具体的な細部なしで実現されうることが認められるべきである。他の例では、本発明を不明瞭なものとしないよう、制御構造、ゲートレベル回路、及び完全なソフトウエア命令シーケンスについては詳述されていない。当業者は、ここに含まれる記載により、必要以上の実験を行うことなく適切な機能を実施することが可能となろう。
【００２７】
開示のシステム及び方法の実施態様は、ハードウエア、ファームウエア、ソフトウエア、またはそれらの任意の組合せにおいて実施されることがある。指向性を有するセンサ ネットワークにおいて実施される開示のシステム及び方法の実施態様は、コンポーネント間の１以上のポイント・ツー・ポイント相互接続及び／又はコンポーネント間の１以上のバス・ベースド相互接続を含むことがある。開示のシステム及び方法の実施態様は、１以上のプロセッサによって読み出され、実行されうる有形で機械読み取り可能な媒体に記憶された命令としても実施されることがある。有形の機械読み取り可能な媒体は、機械（例えばプロセッサ）によって読み出し可能な形式の情報を記憶又は送信する任意の機構を含むことがある。例えば、有形の機械読み取り可能な媒体は、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶、光記憶、フラッシュメモリ、及び／又は他の種類のメモリ装置である。
【００２８】
本開示は、分散アルゴリズムを用いて指向性を有するセンサの大規模ネットワークを較正するシステム及び方法を記載する。これらのシステム及び方法の第１の実施態様は、ピア・ツー・ピア分散ネットワークアプローチを用いる。第２の実施態様は、指向性を有するセンサの動的クラスタリングを用いる。第３の実施態様は、各カメラの較正精度を評価し、較正プロセスをいつ止めるべきかを決定する。システム及び方法の第４の実施態様は、較正プロセスに関するフィードバックを与えるためにユーザインタフェースを利用する。第５の実施態様は、バンドル調整技術を用いた較正リファインメントステップを含む。第６の実施態様は、代替的なモジュールアプローチを含む。
【００２９】
本願明細書に記載の各実施態様では、個々のカメラ・ベースのセンサ１２（例えば「カメラノード」）のネットワーク１０を用いる。ここで図１を参照するに、各カメラノード１２は、例えば、通信モジュール１４、マイクロプロセッサ及びメモリ回路１６、並びに、画像センサモジュール１８を含みうる。他の実施態様では、カメラノード１２の外部の計算装置（一般的にはマイクロプロセッサ、メモリ及び通信回路を含む）が画像センサ１８から未加工画像データを受信し、処理してもよい。画像センサ１８は、例えば、ＣＣＤカメラ、ＣＭＯＳカメラ、及び／又は、他の適当な代替物を含みうる。通信モジュール１４は、無線又は有線のネットワークの隣接するカメラノード１２が通信パワー及びジオメトリに関して通信リンクによって定義されうるかぎり、無線通信機能、あるいは有線通信機能、あるいはその両方を有しうる。
【００３０】
各カメラノード１２の画像センサ１８は、未加工画像を捕捉し、回路１６の関連付けられたマイクロプロセッサへ未加工画像を送信しうる。次に、回路１６の各マイクロプロセッサは、画像センサ１８によって捕捉された画像を回路１６のメモリに格納すること、格納された画像を処理して画像中のオブジェクトに関連付けられた分析データを生成すること、関連付けられた通信モジュール１４を制御して隣接カメラノード１２との間で情報を送信及び受信すること、並びに、カメラノード１２の全体機能を制御することを含むが、これらに限られない一連のタスクを実行しうる。カメラノード１２によって実行されるこれらのタスクのうちのいくつかについて、以下、図７乃至図１５を参照して詳述する。
【００３１】
ネットワーク１０におけるカメラノード１２の較正のために、既知の距離２６だけ離れた少なくとも２つの顕著な特徴２２、２４を含む較正オブジェクト２０を使用することができる。図１に示すように、各カメラノード１２は、較正オブジェクト２０の未加工画像を捕捉し、次に未加工画像は、較正オブジェクト２０に関する画像座標を得るべく回路１６のマイクロプロセッサによって処理することができる。以下説明するように、既知の距離２６は、カメラノード１２の各ペアワイズ(pairwise)較正における正しいスケールを計算するのに用いられる。図２Ａに示すように、較正オブジェクト２０の一実施態様は、青色ＬＥＤ２２（即ち、第１の顕著な特徴）と、青色ＬＥＤ２２から既知の距離２６（ｄ）だけ離れて位置する赤色ＬＥＤ２４（即ち、第２の顕著な特徴）とを含む。図２Ｂに示す他の実施態様では、較正オブジェクト３０は、互いに既知の距離３８だけ離れた青色ＬＥＤ３２（即ち、第１の顕著な特徴）、赤色ＬＥＤ３４（即ち、第２の顕著な特徴）、および緑色ＬＥＤ３６（即ち、第３の顕著な特徴）を含みうる。図２Ｂの実施態様では、特徴間の距離３８は、互いに同じであるか、又は異なっていてもよいことが意図される。
【００３２】
本開示では、ネットワーク１０上の各カメラノード１２はその画像センサ１８の固有のカメラパラメータ（例えば、焦点距離、主点、歪みパラメータ等)が既知であることを想定する。しかしそのように想定せずに、これらの固有の特性はカメラノード１２間の対応する画像点を用いて推定されてもよい。固有のカメラ特性は、例えば、各カメラノード１２に含まれているマイクロプロセッサ及びメモリ回路１６に格納されうる。更に、本開示では、各カメラノード１２には較正オブジェクト２０に関する情報が予めプログラムされていると想定する。ネットワーク１０のカメラノード１２を較正する処理は、一般的に、ワールド座標系に対する各個々のカメラの位置及び姿勢を推定することを含む。本開示において、かかるパラメータ（即ち、位置及び姿勢）は「外部カメラパラメータ」と称される。カメラが３次元（３Ｄ）空間に置かれているとき、各個々のカメラに対する外部カメラパラメータの有効な個数は６つ（即ち、いわゆる６自由度）である。ワールド座標系は、代表カメラノードを選択し、選択されたカメラノードの座標系としてワールド座標系を定義することによって、あるいは、ワールド座標系を、既に環境に対して適用されている既存のワールド座標系と位置合わせすることによって定義されうる。本開示の実施態様は、ワールド座標系が夫々のカメラ（例えば、カメラノード１）の座標系と一致する前者の選択肢を利用する。他の実施態様は、ワールド座標系、またはグローバル座標系を定義するために後者の選択肢を利用してもよいことが考えられる。
【００３３】
カメラ較正処理は、一般的には、カメラノードi の座標系（i番目のカメラ座標系、ただし、i = １, ２, …, Ｎであり、Ｎはネットワーク１０上のカメラノード１２の数）がどのようにワールド座標系に関連しているかを推定すること、すなわち、ｉ番目のカメラ座標系からワールド座標系への変換の位置及び姿勢のパラメータを推定することを含む。図３に、ワールド座標系がOXYZにより定義され、i番目のカメラ座標系がCiXiYiZiによって定義される例を示す。（xi,yi,zi）をi番目のカメラ座標系における点の３Ｄ座標として用い、（xw,yw,zw）をワールド座標系における同じ点の３Ｄ座標として用いると、（xw,yw,zw）と（xi,yi,zi）の間の関係は、以下の式、
0005973910.tif 000002
によって表わされ、式中、Rw,iは、（３自由度の回転パラメータを含む）回転行列を表わし、tw,iは、（残りの３自由度の位置パラメータを含む）並進ベクトルを表わす。このような一組の回転パラメータ及び位置パラメータ（６次元パラメータ）は、「外部カメラパラメータ」の一例である。本開示ではワールド座標系とi番目のカメラ座標系の関係を表わすために上述の６次元パラメータを用いるが、当業者によれば、外部カメラパラメータを表わす多くの可能な変形例が利用されうることが認められるであろう。例えば、制約のある環境（例えば、一定の高さ）にカメラノード１２が置かれている場合、位置パラメータは２自由度の２次元ベクトルによって表わされうる。
【００３４】
ここで図３に戻ると、図中、OXYZはワールド座標系を表わし、CiXiYiZiはi番目のカメラの座標系を表わしており、ワールド座標系に対するj番目のオブジェクト点の同次座標ベクトルは、
0005973910.tif 000003
と表わされ、i番目のカメラにおいて測定されるj番目のオブジェクトを表わす同次画像座標ベクトルは、
0005973910.tif 000004
と表わされる。  
0005973910.tif 000005
であることを示しており、式中、Piはi番目のカメラの３×４投影行列である。式２は、投影行列Piを更に分解することにより、
0005973910.tif 000006
と書き直すことができ、式中、Aiは、カメラノードｉの外部パラメータ（例えば、焦点距離、主点等）を符号化する３×３の上三角行列であり、Ri,w及びti,wは、それぞれ、ワールド座標系からi番目のカメラの座標系への３Ｄ変換（または３Ｄ変位）を記述する３×３回転行列及び並進ベクトルである。
【００３５】
回転行列は、より簡潔には単位四元数
0005973910.tif 000007
によって表わすことができ、式中、
0005973910.tif 000008
である。単位四元数qに対応する回転行列R は、以下の式、
0005973910.tif 000009
によって表わされる。従って、カメラノードiの外部較正パラメータは、
0005973910.tif 000010
と表わすことができ、式中、qw,i及びtw,iは、それぞれ、i番目のカメラ座標系からワールド座標系への変換を記述する四元数ベクトル及び並進ベクトルである。同様に、j番目のカメラからi番目のカメラへの相対変換パラメータは、pi,jと表わされてもよい。較正パラメータベクトルpw,iに対応する４×４の同次変換行列H は、以下の式、
0005973910.tif 000011
によって表わされる。最後に、各カメラパラメータpi,jについて、本開示は、その対応する共分散行列をΣi,jと表わす。画像の測定が測定誤差を伴っているとき、推定プロセスを通じて計算されたパラメータ中にどのくらいの誤差が予想されるかを求めることが可能である。共分散行列は、このような推定誤差を統計的に記述するのにしばしば用いられる。
【００３６】
一対のカメラ間の相対的な位置及び姿勢を見つけることは、コンピュータビジョンの分野では周知の課題である。２つのカメラ（カメラノード１及びカメラノード２）によって可視のｎ個のオブジェクト点が存在すると想定すると、２つのカメラ間の基本行列Fは、以下の式、
0005973910.tif 000012
によって定義することができ、式中、jは、j=１,２,,,,,nのオブジェクト点に対する添え字である。オブジェクト点の少なくとも８対のマッチした画像座標が与えられているとき、Hartley et al.,（上述において引用）に記載のように、基本行列Fは、式（７）を解くことによって決定されてもよい。次に、基本行列Fは、各カメラの外部パラメータ（即ち、式３における行列A）とともに、（例えば、上述において引用したWeng et al., に記載された手順を用いて）未知のスケールに至るまでj番目のカメラとi番目のカメラの間の相対的な位置及び姿勢パラメータpj,i を計算するのに使用されうる。
【００３７】
各カメラ対によって得られる対応する画像測定値が多くなればなるほど、式７はより正確に解くことができ、より正確に外部カメラパラメータを推定することができる。しかし、多数の測定値を収集し処理することは、大量のメモリと計算パワーを必要とし、大規模ネットワーク１０上のカメラノード１２の能力をかなり超えてしまうであろう。オンラインカメラ較正法、即ち、カメラパラメータが、十分なデータが得られると計算され、次にカメラによって追加的な測定値が捕捉されるとリファインされることを可能とする方法は、これらの課題を克服しうる。ネットワーク上の各カメラ対の相対的な位置及び姿勢を決定することに加え、較正はまた、グローバル座標系（即ち、ワールド座標系）に対する各カメラの位置及び姿勢を決定すべきである。前者の決定が本質的にはローカライズされている（即ち、各カメラ対は、夫々のパラメータを計算するうえで他のカメラからの情報を必要としない）一方で、後者の決定はその性質上、中央集中化されている。言い換えると、グローバル座標系に対する各カメラの位置及び姿勢の計算は、ネットワーク上の各カメラがグローバル基準系を認識していることを必要とする。カメラ較正に対するスケーラブルなアプローチを維持するために、本開示では、グローバル較正問題を扱うための分散アルゴリズムを実施する。
【００３８】
本開示において、Nは、ネットワーク上の全てのカメラノードの集合であると定義する。ネットワーク上の各個々のカメラノードは、カメラノードi,（i∈N）と示される。例えば、図１は、３つのカメラノード１２を有するネットワーク１０を示す。カメラノードiの近傍であり、カメラノードiと直接（即ち、「１ホップ（one-hop）」）通信が可能であるものを、以下、「通信近傍（communication neighbors）」と称し、Siと示すものとする。図１に示すように、「カメラノード２」は「カメラノード１」及び「カメラノード３」である２つの１ホップ近傍を有する。カメラノードiと重なり合う視体積（viewing volume）を共有する通信近傍を、本願では「視近傍（vision neighbors）」と称し、Viと示すものとする。従って、（Vi⊆Si⊂N）となる。カメラノードi及びその近傍を含む分散カメラノード１２のネットワーク１０の例を図４及び図５に示す。図４に示すように、カメラノード１２は、部屋、廊下、建物といった屋内環境又は屋外環境に設置されうる。カメラノードiは、有線及び／又は無線のネットワークを介して通信しうる幾つかの通信近傍を有する。図５は、わかりやすいように二次元で表示されており、視野が重なり合っている２つの通信近傍であるカメラノードi及びカメラノードkを示す。換言すれば、カメラノードi及びカメラノードkは、視近傍でもある。図６は、やはり二次元で示されており、幾つかの通信近傍及び視近傍を有するカメラノードiを示す。上述のように、ネットワーク１０上の各カメラノード１２について、グローバル座標系に対する位置及び姿勢はカメラパラメータベクトルpw,i （例えば、単位四元数として符号化された回転及び３次元並進ベクトルを含む７次元ベクトル、したがって、６自由度）によって指定されてもよく、各近傍（k∈Vi）の位置及び姿勢はカメラパラメータベクトルpi,kによって定義されてもよい。これらのカメラパラメータは、全てのカメラノードi∈Nについての較正パラメータ
0005973910.tif 000013
の集合の推定を可能とする。これらの較正パラメータ Pi は、上述の１ホップ通信リンクを通じて各カメラノード１２からその通信近傍へ送られる。
【００３９】
図７に示すように、ネットワーク１０上の各カメラノード１２は、本開示による較正方法を実行するためにいくつかの機能モジュール４０乃至４８を含む。幾つかの実施態様では、これらのモジュールは、カメラノード１２のマイクロプロセッサ及びメモリ回路１６内に格納され実行されるソフトウエアコンポーネントとして実施されうる（図１に図示）。他の実施例では、モジュールは、ハードウエア、ファームウエア、又は、ソフトウエア、ファームウエア、及びハードウエアの組合せとして実施されうる。図７の実施態様では、モジュール構造は、測定値センシングモジュール４０、測定値交換モジュール４２、推定値初期化モジュール４４、推定値交換モジュール４６、推定値統合モジュール４８を含む。このモジュール構造は、分散処理を可能とし、各カメラノード１２が単にその通信近傍と通信することによりネットワーク１０の較正パラメータを個々に推定することを可能とする。従って、この構造は、大規模カメラネットワークの較正のためのスケーラブルかつ堅牢なシステムを提供する。より詳細には、較正に必要な計算はネットワーク１０上のカメラノード１２の数には影響されない。モジュール４０乃至４８の動作を詳述する前に、それらの全般的な相互作用の概要について述べる。
【００４０】
測定値センシングモジュール４０は、較正オブジェクト２０、３０を含む画像を捕捉するたびに、測定値交換モジュール４２及び推定値初期化モジュール４４の両方へ、画像中の較正オブジェクト２０、３０の顕著な特徴２２、２４、３２乃至３６の位置を渡す。測定値交換モジュール４２は、自己のカメラノード１２の測定値センシングモジュール４０及び他のカメラノード１２の測定値センシングモジュール４０から、較正オブジェクト２０、３０に関する測定データを受信する。測定値交換モジュール４２は、自己のカメラノード１２の測定値センシングモジュール４０から測定データを受信すると、測定データを通信近傍へ送信する。測定値交換モジュール４２が他のカメラノード１２から測定データを受信すると、測定値交換モジュール４２は、測定データを自己のカメラノード１２内の推定値初期化モジュール４４へ送る。
【００４１】
推定値初期化モジュール４４は、自己のカメラノードi及びその通信近傍にあるカメラノード１２の各々の両方からの測定データを分析することにより、自己のカメラノードiに関連づけられるカメラ較正パラメータの初期集合を推定する。例えば、カメラノードi及びカメラノードkからの測定データが略同時に検出されたとき（即ち、較正オブジェクト２０、３０がグローバル座標系において略同じ位置にあるとき）、この測定データは、カメラノードi及びkの相対的な位置及び姿勢の初期推定値を計算するのに使用されうる。推定値初期化モジュール４４によって計算されたこの初期推定値は、推定値交換モジュール４６及び推定値統合モジュール４８へ渡される。
【００４２】
カメラノード１２のペアの相対的な位置及び姿勢の推定値を受け取ると、推定値交換モジュール４６は、カメラ較正パラメータの初期集合をその通信近傍へ送信する。更に、推定値交換モジュール１２は、他のカメラノード１２の推定値交換モジュール４６からカメラ較正パラメータの初期集合を受け取り、これらのカメラ較正パラメータのセットを自己のカメラノード１２内の推定値統合モジュール４８へ渡す。このようにして、様々なカメラノード１２の推定値交換モジュール４６は、較正パラメータの初期集合を交換する。推定値統合モジュール４８は、交換された較正パラメータの初期集合に応じて、複数のカメラノード１２の各々についてのカメラ較正パラメータの更新された集合を推定する。より具体的には、推定値統合モジュールは、自己のカメラノード１２から得られた較正パラメータとその通信近傍から得られた較正パラメータとを統合する。
【００４３】
ここでモジュール４０乃至４８の動作についての詳細な説明に進むと、測定値センシングモジュール４０の機能は、捕捉された画像中の較正オブジェクト２０、３０を検出すること、較正オブジェクト２０、３０の顕著な特徴２２、２４、３２乃至３６の画像位置の形式で測定データを生成すること、この生成された測定データをカメラノード１２の測定値交換モジュール４２及び推定値初期化モジュール４４へ送ることである。測定値センシングモジュール４０によって実行されるプロセス５０は、Measurement-Sensing ( )と名付けられた以下のアルゴリズム１に概要が示されており、図８のフローチャートとしても示されている。カメラノード１２は、その画像センサ１８で未加工画像を捕捉した後、未加工画像を回路１６のメモリに格納する。回路１６のマイクロプロセッサは、次に、較正オブジェクト２０が存在するかを判定すべく、格納された未加工画像を取り出し、（やはりメモリに格納されたプログラムを用いて）画像処理を実行する。較正オブジェクト２０が存在するとき、マイクロプロセッサは、各顕著な特徴２２、２４の重心に対応する画像位置を計算する。例として、これらの画像位置は、色検出アルゴリズムといった単純な画像処理技術を用いて計算されてもよい。いったんカメラノード１２が較正オブジェクト２０を検出すると、回路１６のマイクロプロセッサは、未加工画像から得られる較正情報を用いて測定値タプル(tuple：組) ziを構築する。  
0005973910.tif 000014
最後に、タプルは、測定値交換モジュール４２及び推定値初期化モジュール４４に渡される。
【００４４】
0005973910.tif 000015
【００４５】
図８に示すように、プロセス５０は、カメラノード１２が未加工画像を捕捉することから始まる。次に、捕捉された画像中で較正オブジェクト（例えば、２−ＬＥＤ較正オブジェクト２０）を探す。カメラノード１２によって較正オブジェクトが見つからない場合、プロセス５０は終了する。較正オブジェクトjが検出された場合は、プロセス５０は代わりに画像が捕捉されたときの
0005973910.tif 000016
【００４６】
測定値交換モジュール４２の機能は、カメラノードＩＤ及び測定値タプルからなるメッセージを送信および受信することにより、カメラノードiとその通信近傍との間で測定データを交換することである。測定値交換モジュール４２によって実行されるプロセス５２は、Measurement-Exchange-by-Peer-to-Peer ( )と名付けられた以下のアルゴリズム２に概要が示されており、図９のフローチャートとしても示されている。測定値交換モジュール４２は、メッセージが受信されるまで休止状態にある。  
0005973910.tif 000017
メッセージnがモジュール４２によって受け取られると、プロセス５２が開始する。  
メッセージ内のカメラノードＩＤが、同一のカメラノード１２の測定値センシングモジュール４０から発せられたことを示す場合、すなわちｉｎ＝ｉである場合、メッセージはノードの通信近傍へブロードキャストされる。そうでない場合は、メッセージnは、カメラノード１２の推定値初期化モジュール４４へ渡される。
【００４７】
0005973910.tif 000018
【００４８】
推定値初期化モジュール４４の機能は、カメラノード１２の通信近傍とのペアワイズカメラパラメータを推定することである。推定値初期化モジュール４４によって実行されるプロセス５４は、Estimate-Initialization ( )と名付けられた以下のアルゴリズム３に概要が示されており、図１０のフローチャートとしても示されている。推定値初期化モジュール４４は、メッセージが受信されるまで休止状態にある。  
0005973910.tif 000019
表わされるカメラノードＩＤ及び測定値タプルからなるメッセージnを受け取った場合、プロセス５４が開始される。カメラノードiは、較正オブジェクト２０に関する測定値を収集し続けるため、Ziによって指定される測定値タプルの集合を構成する。Zi は、数学的には以下のように定義することができる。  
0005973910.tif 000020
ネットワーク上の各カメラノード１２は、自己のローカル測定値集合Ziだけでなく、その通信近傍、k∈Sｉから受信する測定値集合Zkも蓄積する。各カメラノードiにおいて、測定値センシングモジュール４０から新しいタプルを受け取ると、タプルはZiに追加される。近傍ノードからメッセージを受信すると、メッセージ内のタプルは、タプルの集合Zkに追加される。通信近傍の各ペアについて、両方のカメラノード１２が互いについてのローカル較正情報を計算する。プロセス４５のこのタプル収集ステップの間、
0005973910.tif 000021
の条件を満たすコンパニオン測定値を有する場合であり、式中、f(.,.) は記述とタイムスタンプのペアの間の差を測定するための関数であり、eは所定の閾値である。  
0005973910.tif 000022
と定義することができる。
【００４９】
カメラノードi及びカメラノードkからの組み合わされたタプルの集合は、
0005973910.tif 000023
で表わせる組み合わされたタプルのスタックへと集積されてもよい。各カメラノード１２の中に十分な数の測定値が集積されると、近傍のカメラノード１２から得られる多数の対応する測定値もまた集積されてもよい。式７に示すように、未知のスケールに至るまでの２つのカメラ間の相対較正パラメータを計算するために、ペアのカメラ間の８つ又はそれ以上の対応する画像点が使用されうる。従って、少なくとも８つの対応する測定値を有する各近傍カメラノード１２について、近傍カメラノード１２の相対的な位置及び姿勢を計算するためにペアワイズ較正が実行されうる。より具体的には、対応する画像座標の集合Ci,kを用いて、相対較正パラメータ
0005973910.tif 000024
（ハット記号 ^ は未知のスケールを示す）を推定することが可能である。  
0005973910.tif 000025
【００５０】
更に、各カメラノード１２ではペアの顕著な特徴２２、２４の間の距離２６が既知であることがわかっているため、各ペアワイズ(pairwise)較正について正しいスケールが計算されうる。  
0005973910.tif 000026
におけるカメラノードi及びカメラノードkについてのカメラパラメータ推定値に基づき、未知のスケールを用いたステレオ三角測量法を用いて、Ci,kにおける対応する測定値の夫々の３Ｄ座標が計算されうる。この三角測量法により得られる２つの顕著な特徴２２及び２４の再構成された３Ｄ座標は、２つの顕著な特徴２２及び２４の距離が既知であるため、距離制約を満たさねばならない。従って、ペアワイズカメラパラメータ
0005973910.tif 000027
に関連づけられたスケールを推定すること、したがって、ペアワイズカメラパラメータ
0005973910.tif 000028
を推定することが可能となるわけである。
【００５１】
いったんペアワイズカメラパラメータが推定されると、共分散行列を用いてペアワイズカメラパラメータにどれだけの推定誤差が含まれているかを評価することができる。画像測定値は、測定誤差としてのノイズを含んでいることがある。例えば、顕著な特徴２２及び２４に関連づけられた画像測定値は、共分散行列により特徴付けられる測定誤差も含みうる。画像測定値から計算された推定値もまた共分散行列によって特徴付けられてもよい。上述において引用された文献Faugerasの第５章には、パラメータ推定のための共分散行列表現の分析が記載されている。
【００５２】
ペアワイズ(pairwise)カメラパラメータの場合、推定されたパラメータ
0005973910.tif 000029
の共分散行列は、その共分散行列Σi,kによって表わされてもよい。各ペアワイズ較正が完了した後、以下の一連の計算を用いて、較正パラメータベクトル pi,kに対応する共分散Σi,kが推定されうる。  
0005973910.tif 000030
式１２の行列の左上の部分は、Σi,kの相対位置パラメータの共分散に対応する。いったん較正推定ベクトルpi,k及びそのコンパニオン共分散行列Σi,kの推定値がわかると、以下に説明するように、推定ベクトルpi,k及びコンパニオン共分散行列Σi,kの両方を再帰的に更新することができる。
【００５３】
アルゴリズム３は、プロセス５４を実施するためにネットワーク１０上の各カメラノード１２によって実行されうる例示的なペアワイズ推定の手続きを概略的に示す。プロセス５４において、各カメラノードi は、それにより十分な対応する画像点（例えば、８よりも大きい数である場合）を有するその近傍カメラノードkの各々に対する相対位置パラメータ及び対応する共分散行列（pi,k,Σi,k）を計算する。最後に、これらの初期パラメータ推定値は、カメラノード１２の推定値交換モジュール４６及び推定値統合モジュール４８へ渡される。
【００５４】

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

【００５５】
推定値交換モジュール４６の機能は、推定されたペアワイズカメラパラメータを含むメッセージを送ること及び受け取ることによりカメラノード１２及びその通信近傍において計算された推定値を交換することである。推定値交換モジュール４６によって実行されるプロセス５６は、Estimate-Exchange ( )と名付けられた以下のアルゴリズム４に概要が示されており、図１１のフローチャートとしても示されている。推定値交換モジュール４６は、メッセージを受け取るまで休止状態にある。カメラノードＩＤのペア（iｎ,k）及び
0005973910.tif 000031
によって表わされるペアワイズカメラパラメータ推定値からなるメッセージnを受け取ると、プロセス５６が開始する。メッセージ内のカメラノードＩＤが、同じカメラノード１２の推定値統合モジュール４８から生じたことを示す場合、即ちiｎ＝iの場合、メッセージnはノードの通信近傍k∈Siへブロードキャストされる。そうでない場合、メッセージnは、カメラノード１２の中の推定値統合モジュール４８へ渡される。
【００５６】
0005973910.tif 000032
【００５７】
推定値統合モジュール４８の機能は、受け取った推定されたペアワイズカメラパラメータを用いてカメラノード１２の各ペアについて相対カメラ較正情報を更新することである。推定値統合モジュール４８によって実行されるプロセス５８は、Estimate-Integration ( ) と名付けられた以下のアルゴリズム５に概要が示されており、図１２のフローチャートとしても示されている。推定値統合モジュール４８は、メッセージを受け取るまでは休止状態にある。カメラノードＩＤのペア(i, k)及びペアワイズカメラパラメータ推定値からなるメッセージnであってn＝（i,k,pi,k,Σi,k）によって表わされるもの、あるいは、カメラノードＩＤ(k, i)のペア及びペアワイズカメラパラメータ推定値からなるメッセージnであって、n＝（k,i,pk,i,Σk,i）によって表わされるもののいずれかが受け取られると、ペアワイズカメラパラメータ推定値の統合が行われる。
【００５８】
プロセス５８は、測定値の中のノイズを減少させるために較正パラメータの再帰的推定が用いられるパラメータのリファインメントを含む。メッセージn＝（i,k,pi,k,Σi,k）が受け取られると、カメラノード(i, k)のペアについてのペアワイズカメラパラメータは、（pi,k,Σi,k）を用いて更新される。そうではなく、メッセージn＝（k,i,pk,i,Σk,i）が受け取られるとカメラノード(i, k)のペアワイズカメラパラメータは、n＝（k,i,pk,i,Σk,i）を逆にしたものを用いて更新される。プロセス５８におけるこのパラメータのリファインメントは、各カメラノード１２によって実行される。このローカルな較正は、各カメラノード１２において独立に行われるため、２つの近傍のカメラノード 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への同次変換行列である。２つのカメラ内におけるこれらの推定値の統合は、較正結果の精度を改善することができる。
【００５９】
プロセス５８のパラメータリファインメントにおける較正推定値の統合は、より多くの測定値が、ローカルに取得されるか、あるいは近傍のカメラノード１２から受け取られると、ネットワーク１０上のカメラノード１２が新しい較正推定値を計算することができるので、オンライン較正法の精度を更に改善することができる。例示的な実施態様では、以前の推定値(p（t-1）,Σ（t-1））を新しい推定値(p′(t),Σ′(t))と統合し、正確な推定値(p(t),Σ(t))を得るため、重み付き最小二乗法が用いられ、以下の再帰的な方程式群：
0005973910.tif 000033
が用いられる。ガウスノイズ仮定の下では、式１４のp(t)は、各カメラノード１２の実際のカメラ特性の不偏推定量である。
【００６０】
本開示においてここまでに説明した計算は、各カメラノード１２に対して、その近傍の相対的な位置及び姿勢を与えるだけである。このローカル位置情報は、ネットワーク１０上の残りのカメラノード１２に対するローカル座標系（即ち、i番目のカメラ座標系）から定義される。上述のIyengar 他の文献に記載のように、ローカル位置情報をグローバルな共通座標系に関連づけるために、基準インデックスを使用することができる。例示的な実施態様において、ネットワーク１０上の各カメラノード１２は、初期的には、その基準インデックス（w）を、その自己のノードＩＤ（ノードＩＤはシステム構成中に設定されている）に設定する。従って、各カメラノード１２は、初期的には、w=i, pw,i=０,および H(pw,i)=Iに設定すると考えることができる。しかし、カメラノードiが、基準インデックスの値が小さい較正パラメータを近傍カメラノードkから受信したときは、カメラノードiはその基準インデックスをカメラノードkの基準インデックスへと変更し、従ってカメラノードiの基準座標系をカメラノードkの座標系に変換する。いったんこの手順による較正が完了すると、ネットワーク１０上の全てのカメラノード１２の基準座標系は、最も低いＩＤを有するノードの座標系となる（即ち、第１のカメラ座標系がワールド座標系となる）。従って、全てのカメラノード系のカメラパラメータをワールド座標系に対して推定することが可能である。グローバル座標系を決定するために、他の順序づけスキーム（例えば、一番低い基準インデックスではなく一番高い基準インデックスを使用するなど）が使用されうる。
【００６１】

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

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

アルゴリズム６                                                              
Peer-to-Peer-Calibration ()
While 1
Measurement-Sensing ()                    //アルゴリズム１の呼び出し
If Measurement-Exchange ()がメッセージを受け取る then
//アルゴリズム２の呼び出し
Estimate-Initialization()            //アルゴリズム３の呼び出し
End if
If Estimate-Exchange()がメッセージを受け取る then
//アルゴリズム４の呼び出し
Estimate-Integration()              //アルゴリズム５の呼び出し
End if
End while

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

アルゴリズム８                                                              
Cluster-Based-Calibration ()
While １
Measurement-Sensing ()                // アルゴリズム１の呼び出し
If Measurement-Exchange: Cluster-Based ()がメッセージを受け取る then
// アルゴリズム７の呼び出し
If Estimate-Initialization ()がメッセージを受け取る then
// アルゴリズム３の呼び出し
If Estimate-Exchange()がメッセージを受け取る then
// アルゴリズム４の呼び出し
Estimate-Integration()    // アルゴリズム５の呼び出し
End if
End if
End if
End while

【００７４】
本開示による指向性を有するセンサの大規模ネットワークを較正するシステム及び方法の第３の実施態様は、ネットワーク１０上の各カメラノード１２の較正精度を計算する手続きを更に含む。この手続きは、上述の第１又は第２の実施態様のいずれかと共に使用されてもよい。本実施態様では、推定値統合モジュール４８（図７に図示）がカメラ較正パラメータの更新された推定値を生成するたびに、カメラノード１２はその推定された較正パラメータが所定の精度レベルを達成したかどうかを判定する。
【００７５】
第３の実施態様では、この所定の精度レベルは、推定値統合モジュール４８によって生成された２つの連続する推定値の間で、推定された比較パラメータに比較的小さい改善のみが達成されたときに満たされる。言い換えると、新しい情報を取得した（そしてその較正パラメータを再帰的にリファインした）後にカメラノード１２によって推定された較正パラメータが以前に推定された較正パラメータと非常に似ている場合は、カメラノード１２は、追加的な情報を得ることでは更なる改善は期待できないと結論付けることができ、その特定のカメラノードの較正は終了されうる。１つの例示的な評価基準は、反復の添え字をt-１（以前の反復の添え字）及びt（現在の反復の添え字）とすると、以下の式、
0005973910.tif 000036
で表わすことができる。  
0005973910.tif 000037
他の実施態様では、所与の精度レベルがカメラノード１２によって達成されているかを判定するために、他の評価基準が使用されてもよいことが認められてもよい。更に、第３の実施態様では、各カメラノード１２による精度評価手続きの実行が伴っているが、各カメラノード１２が情報をユーザインタフェース７２へ送信し、次にそれが精度評価の手続きの一部又は全部を実行することも考えられる。
【００７６】
本実施態様の１つの利点は、精度評価ステップにより、各個々のカメラノード１２が、自己の較正の手続きを終わらせたかどうかについて決定することを可能とすることである。カメラノード１２は、その較正が適切な精度を達成したと決定すると、新しいパラメータの推定を止めてもよく、それにより電力と計算資源を節約することができる。較正精度の手続きはまた、第４の実施態様に記載するような反復的な較正プロセスを可能とする。
【００７７】
ここで概して図１６乃至図２１を参照するに、本開示による指向性を有するセンサの大規模ネットワークを構成するシステム及び方法の第４の実施態様は、較正プロセスに関するフィードバックを与えるためにユーザインタフェースを利用する。図１６に示す例示的なシステムは、カメラノード１２のネットワーク１０、較正オブジェクト２０（いずれも図１と略同様）、及び人間である操作者７０（一般的には較正オブジェクト２０の配置及び／又は移動も制御する）へ較正プロセスに関する情報を与えるユーザインタフェース７２を含む。ユーザインタフェース７２は、いかなる種類の計算装置であってもよい（例えば、パーソナルコンピュータ、ワークステーション、ラップトップコンピュータ、ハンドヘルドコンピュータ、携帯型インターネット装置、携帯電話機、パーソナルデータアシスタント等）。ユーザインタフェース７２は、例示的に、ユーザインタフェース７２がカメラノード１２の通信範囲内にあるときに、各カメラノード１２の通信モジュール１４と個々に、かつ、独立に（例えば無線で）通信するよう構成される。各カメラノード１２は、他の情報のうちでも特に、そのカメラノードの構成パラメータの精度に関する値又は決定をユーザインタフェース７２へ送信しうる。
【００７８】
第４の実施態様のカメラノード１２は、図７を参照して説明したのと同様のモジュール４０乃至４８を含むが、図１７に示すユーザ対話モジュール７４を更に含む。ユーザ対話モジュールの機能は、ユーザインタフェース７２と通信し、ネットワーク１０の較正に関する命令を受信し、１またはそれ以上のカメラノード１２の較正パフォーマンスに関する情報を人間である操作者７０へ提供することである。いくつかの実施態様では、この情報は、推定値統合モジュール４８によってカメラノード１２について計算される較正精度またはその何らかの表示を含みうる。カメラノード１２の他のモジュール４０乃至４８と協働してユーザ対話モジュール７４によって実行されるプロセス８０は、図１８中にフローチャートとして示されている。この第４の実施態様の対話較正プロセス８０は、ネットワーク１０のカメラノード１２が較正に関連するフィードバックを人間である操作者７０に与えることを可能とする。以下詳述するように、操作者７０は、カメラノード１２へ追加的な有用な情報を与え（それにより閉ループ系を形成し）、較正がいつ完了したかを決定するよう、較正オブジェクト２０の配置をより良く制御するためにこのフィードバック情報を利用してもよい。
【００７９】
プロセス８０は、１またはそれ以上のカメラノード１２が較正オブジェクト２０の１つ又はそれ以上の画像を捕捉しうるよう、較正オブジェクト２０が１つ又はそれ以上のカメラノード１２の視界に配置されるステップ８２から開始する。いくつかの実施態様では、較正オブジェクト２０は、図１９に示すように、ネットワーク１０全体にわたって人間である操作者７０によって物理的に運ばれてもよい。他の実施態様では、較正オブジェクト２０は、図２０に示すように、ネットワーク１０全体にわたって移動ロボット装置７６によって運ばれてもよい。較正オブジェクト２０が１つ又はそれ以上のカメラノード１２の視野に配置されるように移動ロボット装置７６をネットワーク１０内の所望の位置へ動かすべく、かかる移動ロボット装置７６の動きは操作者７０によって従来の制御器を用いて制御されてもよい。また、ネットワーク１０が、移動ロボット装置７６が所与の時間においてどこで最も必要とされているかを自動的に決定し、装置７６をその領域へ移動させるようにコマンドを送ることが考えられる。他の実施態様では、較正オブジェクト２０は、可視の認識可能な特徴（例えば、ヘッドライト）と共に移動する自動車といった他のオブジェクトに適用されてもよい。
【００８０】
ステップ８２の後、プロセス８０は、分散較正プロセスへ進む。ステップ８４における分散較正プロセスの間、各カメラノード１２は、カメラノード１２及びその通信範囲内にある任意の近傍のカメラノード１２についての較正パラメータを生成するよう第１、第２、又は第３の実施態様のいずれかによる較正手続きを実行する。上述のように、較正プロセスは、一般的には、各カメラノード１２が、較正オブジェクト２０が存在するときはその１つ又はそれ以上の画像を捕捉すること、測定値センシングモジュール４０を用いてこれらの画像を処理すること、測定値交換モジュール４２を用いて測定値を共用すること、推定値初期化モジュール４４を用いて較正パラメータの初期ペアワイズ推定値を決定すること、推定値交換モジュール４６を用いて初期推定値を共用すること、及び、推定値統合モジュール４８を用いて較正パラメータを統合することにより、推定された較正パラメータを再帰的に更新することを含む。
【００８１】
ステップ８４の後、プロセス８０は、カメラノード１２がその推定された較正パラメータが所望の精度レベルを達成したかを判定するステップ８６へ進む。いくつかの実施例では、プロセス８０は、ユーザ対話モジュール７４がインタフェース７２から精度計算の要求を受信するまで休止されたままであってもよい。ステップ８６において、ユーザ対話モジュール７４は、推定値統合モジュール４８へ精度計算要求を送る。すると、推定値統合モジュール４８は、カメラノード１２の較正精度を評価し、この値をユーザ対話モジュール７４へ返す。ステップ８６のいくつかの実施態様では、ユーザ対話モジュール７４は、所定の精度レベルが達成されたかを判定する。ステップ８６の他の実施態様では、人間である操作者７０が精度レベルに満足しているかを判定しうるよう、ユーザ対話モジュール７４は、精度計算をユーザインタフェースへ送る。かかる実施例では、ユーザインタフェース７２は、操作者７０からの応答を評価のためにユーザ対話モジュール７４へ送り返す。
【００８２】
ステップ８６の後、プロセス８０は、正のフィードバックステップ８８又は負のフィードバックステップ９０のいずれかへ進む。ステップ８６において、カメラノード１２が 所望の精度レベルを達成したと決定すると（内部的にまたはユーザインタフェース７２からのフィードバックを介して）、プロセス８０は正のフィードバックステップ８８へ進む。ステップ８８において、カメラノード１２は、ユーザインタフェース７２に適当な信号を送り、ユーザインタフェース７２に、カメラノード１２に対する対話較正プロセス８０が完了したことを操作者７０に通知させる。一方、カメラノード１２が所望の精度レベルを達成しなかったと決定すると、プロセス８０は負のフィードバックステップ９０へ進む。ステップ９０において、カメラノード１２は、ユーザインタフェース７２に適当な信号を送り、ユーザインタフェース７２に、カメラノード１２に対する対話較正プロセス８０が継続されるべきであることを操作者７０に通知させる。ステップ９０におけるこの負のフィードバックは、ユーザが較正オブジェクト２０を十分に較正されていないカメラノード１２の視野へと動かすことを可能とする。この動作は、図１８中、ステップ８２へ戻ることによって示されている。
【００８３】
図２１は、本開示の第４の実施態様で使用されうる例示的なユーザインタフェース７２を示す図である。ユーザインタフェース７２は、一般的には、グラフィック表示部９２及びテキスト表示部９４を含む。他の実施態様では、ユーザインタフェース７２は、これらの表示部９２、９４のうちの１つのみを有するか、又は更なる表示部又は要素を含んでもよい。ユーザインタフェース７２のテキスト表示部９４は、カメラノードＩＤをリストした列及び各カメラノード１２の較正状態をリストした行を含むパフォーマンステーブルとして具現化される。例えば、図２１のユーザインタフェース７２は、カメラノード「１」及びカメラノード「２」の較正が完了したこと（即ち、プロセス８０のステップ８８）を状態「done」で示し、一方、カメラノード「３」及びカメラノード「４」の較正が完了していないこと（即ち、プロセス８０のステップ９０）を状態「−」により示す。
【００８４】
図２１に示すユーザインタフェース７２のグラフィック表示部９２は、（例えば関連するカメラアイコン９６の色を変化させることにより）各カメラノード１２が所定の測定精度を達成したかを表示するようにも動作可能であるが、ユーザインタフェース７２の操作者７０に対して更なる情報を伝えることができる。２値の「完了」／「未完了」判定に加えて、各カメラアイコン９６は、特定のカメラノード１２に対する相対的な精度レベル（又は、逆にいうと、誤差）を示す関連づけられた精度アイコン９８を有しうる。図２１の例示的なユーザインタフェース７２では、精度アイコン９８は、所望の精度レベルを示す水平線を伴う可変高さのバーとして具現化されている。かかる精度アイコン９８は、どのカメラノード１２が更なる較正情報を必要としているかを、操作者７０が知ることを可能とする。更に、カメラノード１２はまた、夫々の較正パラメータを含むメッセージをユーザインタフェース７２へ送りうる。かかる実施態様では、図２１に示すように、このデータは、ユーザインタフェース７２が、グラフィック表示部９２上のグローバル座標系に対するネットワーク１０上の各カメラノード１２の相対的な位置及び姿勢を動的に再構成することを可能とする。
【００８５】
第４の実施態様のユーザインタフェース７２（並びに、較正サイクル停止規則）は、上述の較正システム及び方法の第１、第２または第３の実施態様のいずれかとともに使用されうる。システムは適切な条件が満たされたときにユーザと通信し、較正プロセスがより効率的に完了することを可能とするため、ユーザインタフェース７２は、構成に必要な時間を短縮させることができる。第４の実施態様はまた、較正オブジェクト２０によって必要とされる（すなわち、十分に較正された領域から離れ、ネットワーク１０の新しい領域又はあまり探索されていない領域へ向かい、これらの領域におけるカメラノードの較正を改善させる）移動の量を減少させることを可能とする。最後に、ネットワーク１０がそのように接続されているのであれば、ユーザインタフェース７２は、インターネットを介した較正パラメータの監視を可能とする。
【００８６】
本実施態様で記載したように、ユーザ対話は、較正のための画像が捕捉されている間に操作者７０が較正パフォーマンスを評価することを可能とする。言い換えると、操作者７０は、環境における多数のカメラノード１２の較正がどの程度正確に、また、どの程度うまく実行されているかを監視することができる。例えば、いずれかのカメラノード１２が十分に正確な推定されたカメラパラメータを有していない場合は、操作者７０は、かかるカメラノード１２の近くで較正オブジェクト２０を移動させること、及び、推定値をさらに統合することによって、オンラインで監視し、カメラパラメータを更新することができる。さらに、操作者７０は、オンラインで各カメラノード１２についての精度測定値を見ることにより較正のパフォーマンスレベルを得ることができる。十分な精度が達成されたことをユーザがユーザインタフェース７２を通じて知らせたとき、操作者７０は較正オブジェクトを移動させるのを止めることができる。従って、この第４の実施態様のユーザインタフェース７２は、多数のカメラノード１２を含む分散カメラネットワーク１０の場合であっても、全体の較正に必要な時間を減少させうる。
【００８７】
指向性を有するセンサの大規模ネットワークを較正するシステム及び方法の第５の実施態様は、本開示によれば、バンドル調整を実行する修正された推定値初期化モジュール４８を含む。この修正された推定値初期化モジュール４８の機能は、バンドル調整手続きを用いて、通信近傍内のペアワイズカメラパラメータを推定することである。初期較正が得られた後、バンドル調整は、観察された画像点と較正パラメータが推定されることによる画像点の推定された位置の間の誤差の最小化を実行することにより、較正パラメータのリファインメントを可能とする。この最小化は、カメラ較正パラメータ及び観察された点に対して同時に行われうる。この手続きは、（全ての不確定性はガウシアンであると仮定すると）パラメータの分散の最尤推定値を計算することに対応するため、上述のようにパラメータの共分散行列が用いられる。
【００８８】
修正された推定値統合モジュール４８によって実行されるプロセス１００は、Estimate-Integration-with-Bundle-Adjustment ( )と名付けられた以下のアルゴリズム９に概要が示されており、図２２のフローチャートとしても示されている。全ての近傍k∈Viについて較正パラメータpi,kが得られ、対応する共分散行列が得られた後、全ての利用可能なデータを用いてカメラパラメータの最適化を行うために非線形最適化スキーム（即ち、バンドル調整）が用いられてもよい。関数hは、較正パラメータpを用いたカメラの画像平面への３Ｄ座標Mjの再投影を示すのに使用されうる（すなわち、m=h(p,M)）。バンドル調整スキームは、全ての３Ｄ点及びカメラパラメータに関して再投影誤差を最小化するよう作用し、以下の式、
0005973910.tif 000038
で表わすことができ、重み付け正規方程式、すなわち、 
0005973910.tif 000039
を反復的に解くことによって達成でき、式中、Jはhのヤコビ行列であり、Σmは測定値ベクトルの共分散行列であり、δは反復のたびに求められるパラメータベクトルの更新値であり、εは再投影誤差ベクトルである。  
0005973910.tif 000040
この大きな非線形最適化問題に対する効率的な実施スキームが利用可能である一方で、ある種のカメラ・ベースのセンサについては計算上の要求が厳しすぎ、幾つかの実施態様はバンドル調整を用いることができない。しかしながら、ペアワイズカメラパラメータの推定にバンドル調整を加えることにより、第５の実施態様は、第１の実施態様よりも高い較正精度を与える。
【００８９】
0005973910.tif 000041
【００９０】
本開示による指向性を有するセンサの大規模ネットワークを較正するシステム及び方法の第６の実施態様は、センサノード１２内で、測定値交換モジュール４２及び推定値交換モジュール４６が「測定」及び「推定」のフローをそれぞれ制御することを担っている修正されたモジュール構造を含む。特に、測定値センシングモジュール４０において生成された測定値は常に、他のセンサノード１２の推定値初期化モジュール４４又は測定値交換モジュール４２へ測定値を転送することを担っている測定値交換モジュール４２へ送られる。同様に、推定値初期化モジュール４４及び推定値統合モジュール４８において生成又は更新された推定値は、常に推定値交換モジュール４６へ送られる。第６の実施態様では、プロセス５０乃至５６（第１の実施態様を参照して上述した）が、以下のアルゴリズム１０乃至１３に例示されるように修正される。図２４は、第６の実施態様により動作するカメラノードiとカメラノードkの対話を例示する。図２４から（図１４と対比して）わかるように、測定値の通信は測定値交換モジュール４２を通じて生じ、推定値の通信は推定値交換モジュール４６を通じて生ずる。この実施態様の１つの利点は、第１の実施態様よりも簡単な機能および容易な実施である。特に、測定値センシングモジュール４０はその測定値を１つの場所へ渡すだけであり、推定値初期化モジュール４４は推定値を１つの場所へ渡すだけである。
【００９１】
0005973910.tif 000042
【００９２】
0005973910.tif 000043
【００９３】

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

【００９４】
0005973910.tif 000044
【００９５】
本開示は、図面及び上述の説明において図示され記載されたが、かかる図示及び記載は、例示的なものであり、制限的な性質でないと考えられるべきであり、実施態様のみが図示され記載されていること、および、本開示の趣旨の範囲にある全ての変更及び修正の保護が要求されることが理解される。例えば、本開示のシステム及び方法は、屋内環境及び屋外環境の両方を含む様々な環境に適用されうる。屋内環境では、カメラノードは、私有又は公共の建築物又は車両の壁、天井又は任意の他の部分に取り付けられうる。屋外環境では、カメラノードは、街路、道路、駅、港、空港、キャンパス等の任意の部分に取り付けられうる。
【００９６】
ここに記載の装置、システム、及び方法の様々な特徴から生ずる本開示の複数の利点がある。本開示の装置、システム、及び方法の他の実施態様は、そのような特徴の利点の少なくともいくつかから利益を受ける全ての特徴を記載していないかもしれない。当業者は、本発明の１つ又はそれ以上の特徴を組み込んだ、添付の請求項によって定義される本開示の趣旨及び範囲内にある装置、システム及び方法の自己の実施を容易に考え出すであろう。
【図１】
0005973910.tif 000045
【図２Ａ】
0005973910.tif 000046
【図２Ｂ】
0005973910.tif 000047
【図３】
0005973910.tif 000048
【図４】
0005973910.tif 000049
【図５】
0005973910.tif 000050
【図６】
0005973910.tif 000051
【図７】
0005973910.tif 000052
【図８】
0005973910.tif 000053
【図９】
0005973910.tif 000054
【図１０】
0005973910.tif 000055
【図１１】
0005973910.tif 000056
【図１２】
0005973910.tif 000057
【図１３】
0005973910.tif 000058
【図１４】
0005973910.tif 000059
【図１５】
0005973910.tif 000060
【図１６】
0005973910.tif 000061
【図１７】
0005973910.tif 000062
【図１８】
0005973910.tif 000063
【図１９】
0005973910.tif 000064
【図２０】
0005973910.tif 000065
【図２１】
0005973910.tif 000066
【図２２】
0005973910.tif 000067
【図２３】
0005973910.tif 000068
【図２４】
0005973910.tif 000069