(57)【要約】  第２のカメラに対する第１のカメラの相対位置を決定する方法であり、該方法は、  前記第１のカメラに対する少なくとも第１、第２及び第３の基準点の位置を決定するステップと、  前記第２のカメラに対する前記それぞれ基準点の第１、第２及び第３の距離を決定するステップと、  前記少なくとも第１乃至第３の基準点の位置と前記第１乃至第３の距離を用いて前記第１のカメラに対する第２のカメラの相対位置を計算するステップと、を具える。
2010521914.tif 000002
【特許請求の範囲】
【請求項１】
第２のカメラに対する第１のカメラの相対位置を決定する方法であって、
前記第１のカメラに対する少なくとも第１、第２及び第３の基準点の位置を決定するステップと、
前記第２のカメラに対する前記それぞれ基準点の第１、第２及び第３の距離を決定するステップと、
前記少なくとも第１乃至第３の基準点の位置と前記第１乃至第３の距離を用いて前記第１のカメラに対する第２のカメラの相対位置を計算するステップと、
を具えることを特徴とする方法。
【請求項２】
第１のカメラと、第２のカメラと、制御ノードとを具え、前記制御ノードは、前記第１のカメラに対する第１、第２及び第３の基準点の位置を受信するように前記第１のカメラに結合され且つ前記第２のカメラに対する前記それぞれの基準点の第１、第２及び第３の距離を受信するように前記第２のカメラに結合され、前記制御ノードは、更に、前記第１乃至第３の基準点の位置と前記第１乃至第３の距離に基づいて前記第１のカメラに対する第２のカメラの相対位置を計算するように構成されていることを特徴とするカメラ装置。
【請求項３】
前記カメラはスマートカメラであることを特徴とする請求項２記載のカメラ装置。
【請求項４】
前記制御ノードはさらに第１のカメラに対する第２のカメラの相対的な向きを計算するように構成されていることを特徴とする請求項２記載のカメラ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第２のカメラに対する第１のカメラの相対位置を決定する方法に関する。
本発明はさらに第１のカメラ、第２のカメラ及び制御ノードを具えるカメラ装置に関する。
【背景技術】
【０００２】
最近の技術的進歩は、撮影シーンの高レベル描写及び解析を提供する新世代のスマートカメラを可能にしている。これらのデバイスは、人及び動物の検出、監視、モーション解析及び顔認識を含む多種多様なアプリケーションをサポートしている。このようなスマートカメラは例えば非特許文献１に記載されている。
【０００３】
多数の有利な地点から収集したイメージの全利点を得るためには、このようなスマートカメラがシーン内において互いにどのような位置及び向きに配置されるか知ることが有益である。
【先行技術文献】
【特許文献】
【０００４】
【非特許文献１】W. Wolf他、「Smart cameras as embedded system」、Computer, vol.35, no.9, pp.48-53, 2006
【発明の概要】
【０００５】
本発明の目的は、別個の位置検出装置を使用することなく第１及び第２のカメラの相対位置を決定する方法を提供することにある。本発明の他の目的は、第１のカメラ、第２のカメラ及び別個の位置検出装置を用いることなく第１及び第２のカメラの相対位置を決定し得る制御ノードを備えるカメラ装置を提供することにある。
【０００６】
本発明によれば、これらの目的は請求項１に記載の方法及び請求項２に記載のカメラ装置により達成される。
【０００７】
本発明は、複数のカメラが少なくとも３つの共通基準点が観測される共通視野を有するならば、複数のカメラの相対位置を計算できるという洞察に基づくものである。相対位置を決定するためには、複数のカメラの最初の一つのカメラに対する基準点の相対位置(ｘ1,ｙ1)；(ｘ2,ｙ2)；(ｘ3,ｙ3)を知り、他のカメラに対するこれらの基準点の相対距離ｄ1,ｄ2,ｄ3を知れば十分である。
【０００８】
基準点の相対位置はデプス及び角度情報を用いて得ることができる。デプス及び角度はステレオカメラを用いて得ることができる。カメラに対してデプスｄi及び角度θiを有する基準点の相対位置は、
ｘi＝ｄi cos(θi)
ｙi＝ｄi sin(θi)
により得ることができる。
【０００９】
基準点が静止点であるか、順次の時刻における移動オブジェクの観測点であるかは重要ではない。一実施例では、基準点は例えば空間内に配置された明るいスポットとする。また、空間内を移動する単一スポットが異なる時点で異なる基準点を構成するようにすることもできる。また、基準点は、パターン認識アルゴリズムを用いて、空間内の特徴として検出することもできる。
【００１０】
第１のカメラに対する基準点(ｘ1,ｙ1)；(ｘ2,ｙ2)；(ｘ3,ｙ3)及び第２のカメラに対するデプス情報ｄ1,ｄ2,ｄ3を知ることにより、カメラ相互の相対位置は次のように計算することができる。
【００１１】
この計算においては、方程式を簡単化するために下記の補助項が導入される。
ａ1＝２ｘ2−２ｘ1
ｂ1＝２ｙ2−２ｙ1
ｃ1＝ｘ22＋ｙ22−ｄ22−ｘ12−ｙ12−ｄ12
ａ2＝２ｘ3−２ｘ1
ｂ2＝２ｙ3−２ｙ1
ｃ2＝ｘ32＋ｙ32−ｄ32−ｘ12−ｙ12−ｄ12
【００１２】
第２のカメラの位置（ｘc,ｙc）は今や次の方程式を用いて計算することができる。
【数１】
2010521914.tif 000003
【００１３】
また、補助項はそれらをｘc及びｙcの方程式に代入することにより避けることもできる。
【００１４】
カメラによって撮影された画像内の特徴をカメラに結合された中央ノード内で認識することができる。しかし、好適実施例では、カメラはスマートカメラとする。この例は、カメラと中央ノードとの間の通信に比較的小さい帯域幅が必要とされるのみである利点を有する。
【００１５】
好適実施例では、カメラ装置は第１及び第２のカメラの相対的な向きを計算するように構成する。相対的向きは付加的に使用することができる。
【図面の簡単な説明】
【００１６】
【図１】共通の視野を有するカメラの配置を図式的に示す。
【図２】第１のカメラの位置及び向きを用いるワールド空間の定義を示す。
【図３】第１のカメラのローカル空間を示す。
【図４】原点に配置され且つｘ軸に一致するビュー方向を有する第１のカメラを有するワールド空間を示す。
【図５】１つの基準点の基準座標及びカメラとこの基準点との間の１つの距離に基づいて決定されるカメラの可能な位置の一連の解を示す。
【図６】２つの基準点の基準座標及びカメラとこれらの基準点との間の２つの距離に基づいて決定されるカメラの可能な位置の複数の解を示す。
【図７】３つの基準点の基準座標及びカメラとこれらの基準点との間の３つの距離に基づいて決定されるカメラの可能な位置の解を示す。
【発明を実施するための形態】
【００１７】
本発明の以下の詳細な説明において、本発明の全ての理解を与えるために多くの具体的な詳細が説明されている。しかし、本発明はこれらの具体的な詳細の説明なしでも実施可能である。また、本発明の特徴が不明確にならないように周知の方法、手順及び／又はコンポーネントは詳細に説明されていない。
【００１８】
図１は、オブジェクト認識可能な３つのカメラＣ１，Ｃ２，Ｃ３と中央ノードを含む４つのノードのネットワーク例を示す。このノードはネットワークの他のノードと同期し、データを受信し、センサの２Ｄマップを作成する責任を持つ。本例では、ラメらＣ１，Ｃ２，Ｃ３はオブジェクト認識可能なスマートカメラである。スマートカメラは、検出したオブジェクトの特徴並びにこれらのオブジェクトの特徴が検出されたデプス及び角度を中央ノードＣ４に報告する。しかし、別の実施例では、カメラはビデオ情報を中央ノードに送り、中央ノードがカメラから受信したビデオ情報を用いてオブジェク認識を実行する。オブジェクト認識は、背景から明確に区別される簡単な形のオブジェクト、例えば明るい光スポットを用いる場合に比較的簡単にすることができる。
【００１９】
図１に、２つのエリアＡ１，Ａ２が示されている。エリアＡ１は全てのカメラで見えるるが、エリアＡ２はカメラＣ１及びＣ３でしか見えない。黒いパスはエリア内を移動するオブジェクトであり、スポット（t0,t1,…,t5）はオブジェクトの位置が検出された時刻である。アルゴリズムの説明においてこの図が参照される。検出されるオブジェクトは例えば室内を歩く人の顔である。
【００２０】
何の制限も加えることなく、全てのカメラが、各時刻t0,t1,…,t5において、検出された顔の視野角及びデプスの測定を既に行い、この情報の全てが既に中央ノードに送出され、格納されているものと仮定する。このデータは表１に示される。
【表１】
2010521914.tif 000004
【００２１】
表１は、カメラノードに格納されたデータを示す。各カメラＣiに対して、時刻ｔj毎に、該カメラに対するオブジェクトのデプスｄCi,tjと角度θCi,tjが格納される。カメラが撮影を行い、その視野（ＦＯＶ）内に顔を検出しない場合には、値０を格納することによってこの場合が指定される。
【００２２】
ネットワークの２Ｄマップを作成するためには、カメラの相対位置を知る必要がある。この情報を見つけるために、第１のステップは、位置(0,0)の原点Ｏを有するカーテシアン平面を指定する。この原点は一つのカメラの位置と関連する。この原点及びカメラから受信したデータを用いて、中央ノードは他のカメラの相対位置を得ることができる。計算を開始するために選ばれた第１のカメラは、図２に示されるように正のｘ軸に向けて点(0,0)に置かれる。
【００２３】
中央ノードは、位置決定表２に示されるように、どのカメラがネットワーク内で既に位置決定されているかを指定する表を作成する。この例は、アルゴリズムの開始時における位置決定表を示し、どのカメラもまだカーテシアン平面内において決定された位置及び向きを有しない。
【表２】
2010521914.tif 000005
【００２４】
カメラＣiが位置決定される場合、カーテシアン平面内の位置（ｘCi,ｙCi）及び向きφCiが知られ、「位置決定済み」欄に値「yes」がセットされる。そうでない場合は「位置」及び「向き」欄は無意味であり、「位置決定済み」の値は「no」にセットされる。
【００２５】
データを受信し位置決定表を作成した後、中央ノードは以下の反復アルゴリズムを実行する。
ステップ１：第１のステップにおいて、アルゴリズムはマップ内の位置決定されていないカメラのサーチを開始する。サーチされるカメラは、（アルゴリズムの説明後に証明されるように）既に位置決定された別のカメラと少なくとも３つの点を共有しなければならない。どのカメラもまだ位置決定されていない場合には、一つのカメラを基準として選択して図２にすでに示すようなカーテシアン平面を決定する。この決定によれば、カーテシアン平面の原点は選択した基準カメラの位置であり、x軸の方向は基準カメラの向きと一致する。
【００２６】
制御フローは次にステップ２を続ける。
全てのスマートカメラが位置決定される場合、アルゴリズムは終了し、さもなければ、前記要件を満足するカメラＣiが選択され、アルゴリズムはステップ３に戻る。これらの条件の一つも満足されない場合には、オブジェクの点の別のストリームが取られ、全アルゴリズムが繰り返される。
【００２７】
ステップ２：第２のステップは、座標をローカル空間(カメラ空間)（ローカル空間ではオブジェクの点がカメラのローカル原点に対して規定される(図３)）からワールド空間（カーテシアン平面）（ワールド空間では頂点がマップ内の全てのカメラに共通の原点に対して規定される (図４)）に変化させる。
【００２８】
今、選択されたカメラＣiの位置が固定であり、カメラＣiで見えるオブジェクの位置をカーテシアン座標系において固定することができるとする。これらの座標は表３に示されるようにワールド空間テーブルに保存される。これらの位置（ｘtj,ｙtj）は簡単に計算される。実際には、ローカル空間とワールド空間の間のデプスは、カメラＣiが両空間の原点に位置するために、同じままである。また、角度も、カメラＣiの向きはワールド空間内において零に等しい（φｃi=０）ため、ローカル空間の場合と同じである。それゆえ、
ｘtj＝ｄCi,tj cos(θCi,tj)
ｙtj＝ｄCi,tj sin(θCi,tj)
である。
【００２９】
【表３】
2010521914.tif 000006
【００３０】
制御フローは次にステップ３を続ける。
ステップ３：カメラＣnがワールド空間上で少なくとも３つのワールド空間座標を観測する。これらの点は時刻ｔi,ｔj,ｔkに関するものとすると、テーブル３から次の座標が取られる。」
（ｘti,ｙti）；（ｘtj,ｙtj）；（ｘtk,ｙtk）
【００３１】
得られる方程式は次の補助項を用いることによって簡単化される。
ａ1＝２ｘtj−２ｘti
ｂ1＝２ｙtj−２ｙti
ｃ1＝ｘtj2＋ｙtj2−ｄCn,tj2−ｘti2−ｙti2−ｄCn,ti2
ａ2＝２ｘtk−２ｘti
ｂ2＝２ｙtk−２ｙti
ｃ2＝ｘtk2＋ｙtk2−ｄCn,tk2−ｘti2−ｙti2−ｄCn,ti2
【００３２】
指数ｎを有するカメラの位置（ｘCn,ｙCn）は今や次の方程式： 
【数２】
2010521914.tif 000007
を用いて計算することができる。
【００３３】
次に、カメラｎの向きφCnは、次の方程式により計算することができる(確認されたい)。式３と式４の間に非対称がある。
【数３】
2010521914.tif 000008
【００３４】
関数arctan(y/x)はルックアップテーブル(LuT)として実装するのが好ましいが、例えば連続展開によって計算することもできる。
ｘ＝０の場合、arctan(y/x)はｙが正でればπ/２、負であれば−π/２に等しい。
【００３５】
次に、方程式(1)、(2)、(5)により得られた値は位置決定テーブル２に格納され、制御フローはステップ１を続ける。
【００３６】
図５、６及び７を参照すると、本発明による方法の証明が与えられる。
【００３７】
図５は、１つの点（ｘti,ｙti）及びこの点とカメラＣnとの間の相対距離は空間内のカメラの位置を特定するには十分でないことを示す。実際上、距離ｄCn,tiを満足する点は方程式６で表わされる円周上の点である。
(ｘ−ｘti)2＋(ｙ−ｙti)2 ＝ｄCn,ti                                （６）
【００３８】
図６に示すように２つの基準点（ｘti,ｙti），（ｘtj,ｙtj）が使用可能である場合には、次の連立方程式により２つの解が与えられる。
(ｘ−ｘti)2＋(ｙ−ｙti)2 ＝ｄCn,ti                                      (7a)
(ｘ−ｘtj)2＋(ｙ−ｙtj)2 ＝ｄCn,tj                                      (7b)
【００３９】
図７に示されるように、３つの基準点（ｘti,ｙti），（ｘtj,ｙtj），（ｘtk,ｙtk）が使用可能である場合には、唯一の解を得ることができる。
【００４０】
唯一の解は、次の３つの連立方程式から得られる。
(ｘ−ｘti)2＋(ｙ−ｙti)2 ＝ｄCn,ti    (8a)
(ｘ−ｘtj)2＋(ｙ−ｙtj)2 ＝ｄCn,tj                                      (8b)
(ｘ−ｘtk)2＋(ｙ−ｙtk)2 ＝ｄCn,tk                                      (8c)
【００４１】
このシステムは計算的に費用がかかるかもしれないが、次のように簡単化することができる。図７に示すように、方程式(8a)から方程式(8b)を減算すると直線Ａが得られる。方程式8bから方程式8cを減算すると直線Ｂが得られる。
【００４２】
この場合には、次の２つの線形連立方程式を解けば十分である。
x(2xtj−2xti)＋y(2ytj−2yti)＋xti2+yti2−xtj2−ytj2―ｄCn,ti2−ｄCn,tj2＝0          (9a)
x(2xtk−2xtj)＋y(2ytk−2ytj)＋xtj2+ytj2−xtk2−ytk2―ｄCn,tj2−ｄCn,tk2＝0          (9b)
【００４３】
一例として、これらの基準点は移動するオブジェクの特徴部の順次の位置とする。特徴部は例えば前記オブジェクの質量中心又は隅部とすることができる。
【００４４】
この計算のためには３つの点で十分であるが、計算はもっと多数の点に基づくものとすることもできる。例えば、相対位置の第１の部分計算を第１、第２および第３の基準点に基づいて行う。次に、第２の部分計算を第２、第３及び第４の基準点に基づいて行う。次に、第１及び第２の部分計算から得られた結果を平均化して最終結果を得ることができる。
【００４５】
また、第１及び第２の部分計算は独立した基準点の組を用いることもできる。
【００４６】
更に別の実施例では、前記計算は相対位置の逐次改善推定とし、毎回３つの基準点を用いて部分計算によりカメラの相対位置の推定を繰り返し、次に増大推定回数で平均値を計算することができる。
【００４７】
更に別の実施例では、カメラは相対的に移動していてもよい。この場合には、相対位置は周期的な時間間隔で再推定する。正確さに応じて周期的推定結果を時間的に平均化することができる。
【００４８】
例えば、時刻“i”の点における順次の推定が（ｘc,i,ｙc,i）である場合、平均値は、
【数４】
2010521914.tif 000009
とすることができる。
【００４９】
当業者は、カメラに対する基準点の座標及び距離を決定する精度及びカメラの相対位置の変化速度が与えられれば、Ｍの最適値を選択できる。例えば、カメラの相対位置が比較的ゆっくり変化する場合には、比較的大きな値のＭを選択することができる。
【００５０】
また、平均位置（ｘc,k,ｙc,k）は、部分計算された座標対（ｘc,i,ｙc,i）から反復処理：
(ｘc,k,ｙc,k)＝α(ｘc,k-1,ｙc,k-1）＋(１−α)(ｘc,i,ｙc,i)
によって計算することもできる。
【００５１】
同様に、当業者は、カメラに対する基準点の座標及び距離を決定する精度及びカメラの相対位置の変化速度が与えられれば、αの最適値を選択できる。例えば、カメラの相対位置が比較的ゆっくり変化する場合には、比較的大きな値のαを選択することができる。
【００５２】
本発明の実施例では高さ情報が無視されている。代案では、２つのカメラの相対位置を３Ｄ情報を用いて計算することができる。この場合には、カメラの相対位置は4つの基準点を用いて同様の方法で決定することができる。
【００５３】
本発明による方法は任意の数のカメラに提供可能である。一群のカメラが一連のカメラとみなせ、順次の各対が３つの基準点を共有する場合には、一群のカメラの相対位置を計算することができる。
【００５４】
本発明の保護範囲はここに記載の実施例に限定されない。システムの各部はハードウェア、ソフトウェア又はその組み合わせで実現できる。例えば、カメラ位置を計算するアルゴリズムは汎用プロセッサ又は専用のハードウェアで実行することができる。請求項中の参照番号もまた本発明の保護範囲を決して限定するものではない。用語「具える」は請求項に記載された部分以外の部分を除外するものではない。単数形で述べる要素は複数の要素を除外するものではない。本発明の一部を構成する手段は専用のハードウェアの形態に又はプログラムされた汎用プロセッサの形態に実装することができる。本発明の要旨は新規な特徴の各々又はそれらの組み合わせにある。
【図１】
2010521914.tif 000010
【図２】
2010521914.tif 000011
【図３】
2010521914.tif 000012
【図４】
2010521914.tif 000013
【図５】
2010521914.tif 000014
【図６】
2010521914.tif 000015
【図７】
2010521914.tif 000016
【国際調査報告】
2010521914.tif 000017
2010521914.tif 000018
2010521914.tif 000019