(57)【特許請求の範囲】
【請求項１】
物体を撮像する撮像装置から得られる２次元画像から、前記物体の３次元空間における位置情報を求めるための前記撮像装置のキャリブレーションを行うキャリブレーション方法において、
上記撮像装置が上記物体を撮像する範囲の３次元空間内で設置替えされる基準物体上に描かれた模様の、少なくとも２ヶ所の設置場所での３次元座標位置と、上記撮像装置が上記基準物体上の上記模様を撮像して得た画像データとに基づいて、上記撮像装置のキャリブレーションの処理を行うとき、
上記撮像装置のスクリーンの全位置に対して、上記３次元座標位置が複数個登録されるまで、上記処理を繰り返すこと
を特徴とするキャリブレーション方法。
【請求項２】
上記撮像装置のスクリーン上の各位置に投影される上記模様の３次元座標位置を求めることで、上記撮像装置のスクリーンの各位置に投影される３次元空間上の点群を算出することを特徴とする請求項１記載のキャリブレーション方法。
【請求項３】
物体を撮像する撮像装置から得られる２次元画像から、前記物体の３次元空間における位置情報を求めるための前記撮像装置のキャリブレーションを行うキャリブレーション装置において、
上記撮像装置が上記物体を撮像する範囲の３次元空間内で設置替えされる模様の描かれた基準物体と、
上記基準物体上に描かれた模様の３次元座標位置を測定する３次元位置情報測定手段とを備え、
上記撮像装置のスクリーンの全位置に対して上記３次元座標位置が複数個登録されるまで、上記撮像装置が上記基準物体上の上記模様を撮像して得た画像データと上記３次元画像位置に基づいて繰り返しキャリブレーションを行うこと
を特徴とするキャリブレーション装置。
【請求項４】
物体を撮像する撮像装置から得られる２次元画像から、前記物体の３次元空間における位置情報を求めるための前記撮像装置のキャリブレーション用データを生成するキャリブレーション用データ生成方法において、
３次元位置情報測定機により複数回測定された模様の描かれた基準物体の３次元位置情報を示すデータを受信し、上記撮像装置により複数回撮影された上記模様を示す画像データを受信し、上記撮像装置のスクリーンの全位置に対して上記３次元座標位置が複数個登録されるまで、上記３次元座標位置と上記画像データに基づいて上記撮像装置のスクリーンの各位置に投影される３次元空間上のキャリブレーション用データを生成すること
を特徴とするキャリブレーション用データ生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、物体を撮像する撮像装置から得られる２次元画像から、前記物体の３次元空間における位置情報を求めるための前記撮像装置のキャリブレーションを行うキャリブレーション方法及び装置、並びに上記撮像装置のキャリブレーション用データを生成するキャリブレーション用データ生成方法に関する。
【０００２】
【従来の技術】
ビデオカメラ（以下、適宜、単にカメラという）を例えば２台などの複数台用いて、いわゆるステレオカメラを構成し、各カメラにより、３次元空間内の物体を撮像して、その撮像の結果得られる２次元画像から、物体の３次元空間における位置情報を得る３次元位置情報検出装置として、ステレオカメラシステムが、従来より知られている。
【０００３】
ステレオカメラシステムについては、例えば、奥富正敏、金出武雄「複数の基線長を利用したステレオマッチング」、電子情報通信学会論文誌D-II、Vol.J75-D-II.NO.8,pp.1317-1327,1992年8月などに、その詳細が開示されている。
【０００４】
ステレオカメラシステムでは、３次元空間の位置情報を得ようとする対象の物体（対象物体）を、複数のカメラで撮影した時に、各カメラにおける、例えばＣＣＤなどの光電変換素子の受光面（以下、適宜、スクリーンという）上に投射される対象物体の位置情報から、その対象物体の３次元空間における位置情報を特定できる。従って、３次元空間内のある位置に存在する物体の位置情報と、その位置に対象物体があるときに、その対象物体が各カメラのスクリーン上に投影される位置情報との対応関係（位置情報対応関係）を、予め求めておく必要がある。この位置情報対応関係を求めることをキャリブレーションといい、キャリブレーション装置により求められる。
【０００５】
図８は、従来のキャリブレーションを行うためのキャリブレーション装置の外観斜視図である。この図８において、パイプ１０６及び１０７は、３次元空間において、同一平面に含まれて、かつ平行になるように配置されており、台車１０８は、このパイプ１０６及び１０７に沿って滑らかに移動することができるように設置されている。そして、台車１０８には、第１のカメラ１０１と第２のカメラ１０２とが金具１０３により一体化されたステレオカメラが取り付けられている。
【０００６】
パイプ１０６及び１０７には目盛が記されており、台車１０８がスライドした量が測定できるようになっている。台車１０８がスライドする方向と垂直に、正方格子模様が書かれた平板１０９が設置されている。正方格子の横方向をＸ軸、縦方向をＹ軸とし、スライドする方向、即ち正方格子に対して垂直方向をＺ軸とする。この平板１０９よりカメラ側が、Ｚ＞０である。このような、Ｘ軸、Ｙ軸及びＺ軸よりなる３次元座標をワールド座標と定義する。
【０００７】
キャリブレーションの測定は、上記ステレオカメラを載せた台車１０８の位置をずらして、平板１０９を２箇所から撮影して行われる。図９は、２箇所から撮影した場合の説明図であり、図８の装置を真上から見た図である。
【０００８】
先ず、第１のカメラ１０１、第２のカメラ１０２を、ある位置Ｐ1に固定して、平板１０９を、正方格子模様が映るように撮影し、その後、第１のカメラ１０１、第２のカメラ１０２を台車１０８のスライドにより他の位置Ｐ2に距離Ｍだけ移動し、再度、平板１０９を撮影する。ここで、最初のステレオカメラの位置と、正方格子模様までの距離をＬとする。なお、この図９では、第１のカメラ１０１、第２のカメラ１０２を、平板１０９から遠ざかる方向にスライドさせているが、そのスライド方向は、逆であってもよい。
【０００９】
このように、第１のカメラ１０１、第２のカメラ１０２よりなるステレオカメラをスライドして平板１０９を撮影することにより得られた２次元画像は、図１０に示すように、ステレオカメラを固定して、平板１０９をスライドしても得ることができる。
【００１０】
すなわち、図１０に示すように、第１のカメラ１０１、第２のカメラ１０２を、ある位置Ｐ1に固定して、平板１０９を、その正方格子模様が映るように撮影し、その後、平板１０９をＺ軸に沿って、上記カメラ１０１、及び１０２から遠ざかる方向に、距離Ｍだけ、スライドさせ、その位置で、再度、平板１０９を撮影することによっても、同様の２次元画像を得ることができる。
【００１１】
この図１０において、距離Ｍだけ遠ざける前の平板１０９上に描かれた正方格子（第１の正方格子Ｑ1）の左下隅を原点とし、ワールド座標の原点とすると、この平板１０９の第１の正方格子Ｑ1において、（ｉ，ｊ）の位置はワールド座標において（ｉ，ｊ、０）となる。また、長さＭだけスライドさせた後の平板１０９の正方格子（第２の正方格子Ｑ2）において（ｉ，ｊ）の位置はワールド座標において（ｉ，ｊ、−Ｍ）となる。
【００１２】
図１１は、第１のカメラ１０１と平板１０９上の第１の正方格子Ｑ1と第２の正方格子Ｑ2を示した図である。第１のカメラ１０１の光学中心がＯ1であり、例えばＣＣＤ１２２などの受光面となるスクリーン上に対象物体の位置情報が投影される。例えば、ＣＣＤ１２２上の座標位置（ｈ，ｋ）には、第１の正方格子Ｑ1における座標位置（ｐ，ｑ）が写し出され、かつ、第２の正方格子Ｑ2における座標位置（ｒ，ｓ）が写し出されたとする。なお、各正方格子の各縦線、横線の交点以外の場所は、補間により、その座標を求めることが可能である。
【００１３】
これをワールド座標を用いて、説明し直すと、ＣＣＤ１２２上の座標位置（ｈ，ｋ）には、３次元上の座標位置（ｐ，ｑ，０）と（ｒ，ｓ，−Ｍ）が写し出される。すなわち、２次元上の座標位置（ｈ，ｋ）と３次元上の座標位置（ｐ，ｑ，０）と（ｒ，ｓ，−Ｍ）とを結ぶ直線をＮとすると、この直線Ｎ上の点は、全て、ＣＣＤ１２２上の座標位置（ｈ，ｋ）に写し出されることが分かる。
【００１４】
したがって、直線Ｎは、３次元空間における物体の位置情報（ここでは、ワールド座標系における座標）と、その物体を撮像して得られる２次元画像の位置情報（ここでは、ＣＣＤ１２２上の２次元座標系における座標）との対応関係（位置情報対応関係）を表すことになる。
【００１５】
この直線Ｎは、
（ｘ−ｒ）／（ｐ−ｒ）＝（ｙ−ｓ）／（ｑ−ｓ）＝（ｚ＋Ｍ）／Ｍ
として求めることができる。
【００１６】
直線Ｎを求めるのと同様にして、ＣＣＤ１２２上の２次元座標系における他の座標位置についても、そこに投射される３次元空間上の点の集合としての直線を求める。さらに、同様のことを、第２のカメラ１０２についても行う。
【００１７】
以上のようにして、第１のカメラ１０１、第２のカメラ１０２についての直線すべてを求めることで、ステレオカメラシステムのキャリブレーションを終了する。
【００１８】
このようにしてキャリブレーションが行われたステレオカメラシステムでは、次のようにして、３次元空間にある物体の位置情報を求めることができる。
【００１９】
先ず、ステレオカメラで物体を撮影する。例えば、図１２に示す物体１２７は、第１のカメラ１０１のスクリーン１２２の位置（ａ，ｂ）、第２のカメラ１０２のスクリーン１２８の位置（ｃ，ｄ）に写されたとする。上記キャリブレーション装置におけるキャリブレーション（初期設定）において、位置（ａ，ｂ）及び（ｃ，ｄ）に対応する、ワールド座標系における直線１３０及び１３１は求まっているので、ワールド座標系におけるこれらの直線の交点を求めることは可能である。この交点の座標が、その物体のワールド座標系における位置である。このようにして、キャリブレーションされたステレオカメラを用いることで、対象物体の３次元上での位置を求めることが出来る。
【００２０】
これをまとめると、以下のようになる。まず、対象物体１２７が、第１のカメラ１０１及び第２のカメラ１０２のスクリーン１２２及びスクリーン１２８上で、どの位置に投影されたかを測定する。次に、各投影位置に対応する直線１３０及び直線１３１の交点を、ワールド座標系において計算する。この交点の座標がワールド座標系での、即ち、３次元上での物体の位置である。
【００２１】
ところで、図８に示したキャリブレーション装置では、第１のカメラ１０１及び第２のカメラ１０２と、平板１０９までの距離Ｌを数メートルとすると、平板１０９に書かれている正方格子模様の大きさは４メートル×３メートル程度必要となる。なぜなら、もし正方格子模様が小さいとカメラで撮影した際に、図１１のＣＣＤ（スクリーン）１２２上の周辺部分には正方格子模様が投影されず、周辺部分の画素に対応する直線Ｎが求められなくなってしまうからである。
【００２２】
【発明が解決しようとする課題】
しかし、上述のような大きさ４メートル×３メートル程度の正方格子模様を、精密に作成することは困難であった。このため、ある程度歪んだ正方格子模様しか用意することができず、結果的に、精度の良いキャリブレーションを行うことができなかった。
【００２３】
本発明は、上記実情に鑑みてなされたものであり、精密作成が可能な程度の大きさの正方格子模様が描かれた基準物体を用いて、精度の良いキャリブレーションを行うことができるキャリブレーション方法及び装置の提供を目的とする。
【００２４】
また、本発明は、上記実情に鑑みてなされたものであり、精密作成が可能な程度の大きさの正方格子模様が描かれた基準物体を用いて、精度の良いキャリブレーション用データを生成することのできるキャリブレーション用データ生成方法の提供を目的とする。
【００２５】
【課題を解決するための手段】
本発明に係るキャリブレーション方法は、上記課題を解決するために、物体を撮像する撮像装置から得られる２次元画像から、前記物体の３次元空間における位置情報を求めるための前記撮像装置のキャリブレーションを行うキャリブレーション方法において、上記撮像装置が上記物体を撮像する範囲の３次元空間内で設置替えされる基準物体上に描かれた模様の、少なくとも２ヶ所の設置場所での３次元座標位置と、上記撮像装置が上記基準物体上の上記模様を撮像して得た画像データとに基づいて、上記撮像装置のキャリブレーションの処理を行うとき、上記撮像装置のスクリーンの全位置に対して、上記３次元座標位置が複数個登録されるまで、上記処理を繰り返す。
【００２６】
具体的には、上記撮像装置のスクリーン上の各位置に投影される上記模様の３次元座標位置を求めることで、上記撮像装置のスクリーンの各位置に投影される３次元空間上の点群を算出する。
【００２７】
この場合、上記基準物体としては、比較的に小さい、例えば１．５メートル×１メートル程度の正方格子模様の描かれた平板を使用する。そして、この平板を移動させて、上記正方格子模様の３次元位置情報を３次元位置情報測定手段によって測定し、上記撮像装置で上記正方格子模様を撮影する、という操作を繰り返すことにより、上記撮像装置のスクリーンの部分ごとにキャリブレーションを行うことにしたので、従来のように大きな正方格子模様を不要とした。
【００２８】
本発明に係るキャリブレーション装置は、上記課題を解決するために、物体を撮像する撮像装置から得られる２次元画像から、前記物体の３次元空間における位置情報を求めるための前記撮像装置のキャリブレーションを行うキャリブレーション装置において、上記撮像装置が上記物体を撮像する範囲の３次元空間内で設置替えされる模様の描かれた基準物体と、上記基準物体上に描かれた模様の３次元座標位置を測定する３次元位置情報測定手段とを備え、上記撮像装置のスクリーンの全位置に対して上記３次元座標位置が複数個登録されるまで、上記撮像装置が上記基準物体上の上記模様を撮像して得た画像データと上記３次元画像位置に基づいて繰り返しキャリブレーションを行う。
【００２９】
具体的には、上記撮像装置のスクリーン上の各位置に投影される上記模様の３次元座標位置を求めることで、上記撮像装置のスクリーンの各位置に投影される３次元空間上の点群を算出する。
【００３０】
また、本発明に係るキャリブレーション用データ作成方法は、上記課題を解決するために、物体を撮像する撮像装置から得られる２次元画像から、前記物体の３次元空間における位置情報を求めるための前記撮像装置のキャリブレーション用データを生成するキャリブレーション用データ生成方法において、３次元位置情報測定機により複数回測定された模様の描かれた基準物体の３次元位置情報を示すデータを受信し、上記撮像装置により複数回撮影された上記模様を示す画像データを受信し、上記撮像装置のスクリーンの全位置に対して上記３次元座標位置が複数個登録されるまで、上記３次元座標位置と上記画像データに基づいて上記撮像装置のスクリーンの各位置に投影される３次元空間上のキャリブレーション用データを生成する。
【００３１】
【発明の実施の形態】
以下、本発明に係るキャリブレーション方法及び装置の実施の形態について図面を参照しながら説明する。
【００３２】
先ず、上記キャリブレーション方法の実施の形態について説明する。この実施の形態は、２台のカメラにより構成されたステレオカメラのキャリブレーションを行うキャリブレーション方法であり、図１に示すようなステレオカメラと、３次元位置測定機４と、平板５とを用いて実現される。
【００３３】
このキャリブレーション方法により、キャリブレーションを行うステレオカメラは、第１のカメラ１と、第２のカメラ２が金具３によって一体化して取り付けられている。すなわち、二つのカメラの位置関係は固定されている。
【００３４】
上記図８に示した従来の装置においては、上記二つのカメラを移動させてキャリブレーションを行ったが、上記キャリブレーション方法においては、上記ステレオカメラを固定しておく。例えば、図示を省略する固定された三脚などに上記二つのカメラを取り付けておけば良い。
【００３５】
この二つのカメラと同一空間上には、図１に示すように、３次元位置情報測定機である、セオドライト（theodolite）４を位置させる。このセオドライト４は、自分自身を原点とした３次元座標系（以下、この座標系を基準とするので、ワールド座標系と呼ぶことにする。）を用いて、対象物体の位置を測定する機械である。この機械については後述する。したがって、図１には、このセオドライト４を中心として、ワールド座標系を書き込んである。
【００３６】
また、二つのカメラ１及び２と、上記セオドライト４と同一の空間上には、正方格子模様の書かれた上記平板５も位置させる。この平板５は、従来の平板とは大きさを異ならせ、例えば１．５メートル×１メートル程度である。小さい平板なので、精密な正方格子模様を描くことができる。しかし、この平板５上の正方格子模様は小さいため、上記二つのカメラ１及び２で撮影した場合、各カメラのスクリーン全体に正方格子模様が写ることはない。
【００３７】
図２には図１に示した各構成部を用いて実行される、キャリブレーション方法の具体例を説明するための図を示す。この図２は上記図１に示した各部を真上から見た図である。この図２中において、破線６及び破線７で囲まれた領域が、第１のカメラ１及び第２のカメラ２とにより撮影される範囲である。ここでは、セオドライト４を省略しているが、図中のワールド座標系の原点に位置しているものとする。また、ワールド座標系のＹ軸は、紙面に対して垂直である。
【００３８】
先ず、正方格子模様の平板５を、例えば、図２の５−１に示す場所に設置する。そして、セオドライト４により、５−１に設置されたときの正方格子模様の位置を測定する。これにより、５−１に設置されたときの正方格子模様内の各点の位置は、ワールド座標系において、どの位置にあるかが分かる。
【００３９】
次に、この状態で、第１のカメラ１及び第２のカメラ２により撮影を行う。そして、各カメラのスクリーン上で、正方格子模様が投影されている位置についてのみ、以下の処理を行う。
【００４０】
「スクリーン上のある位置」に投影されている「正方格子模様の位置（ワールド座標系における位置）」を調べ、その「正方格子模様の位置」を、その「スクリーン上の位置」に対応する３次元上の位置として登録しておく。この登録は、正方格子模様が投影されている全ての「スクリーン上の位置」について行う。
【００４１】
次に、正方格子模様の平板５を、例えば、図２の５−２に示す場所に設置する。そして、セオドライト４により、５−２に設置されたときの正方格子模様の位置を測定する。これにより、５−２に設置されたときの正方格子模様内の各点の位置は、ワールド座標系において、どの位置にあるかが分かる。
【００４２】
次に、この状態で、第１のカメラ１及び第２のカメラ２により撮影を行う。そして、各カメラのスクリーン上で、正方格子模様が投影されている位置についてのみ、以下の処理を行う。
【００４３】
「スクリーン上のある位置」に投影されている「正方格子模様の位置（ワールド座標系における位置）」を調べ、その「正方格子模様の位置」を、その「スクリーン上の位置」に対応する３次元上の位置として登録しておく。この登録は、正方格子模様が投影されている全ての「スクリーン上の位置」について行う。
【００４４】
同様に、正方格子模様の平板５を、例えば、図２の５−３、５−４、５−５に示す場所に設置して、それぞれ、正方格子模様の位置を測定して、投影されている「正方格子模様の位置」を各「スクリーン上の位置」に対応する位置として登録しておく。
【００４５】
ここで、注意すべきことは、各「スクリーン上の位置」には、二つ以上の「正方格子模様の位置」が登録されていることである。もし、一つしか登録されていない、あるいは、なにも登録されていない「スクリーン上の位置」がある場合には、その「スクリーン上の位置」に正方格子模様が投影されるように、平板を移動して、正方格子模様の位置を測定して、投影されている「正方格子模様の位置」を各「スクリーン上の位置」に対応する位置として登録する操作を、もう一度行う。
【００４６】
さて、キャリブレーションとは、ワールド座標系のどの直線が、各「スクリーン上の位置」に投影されるかを調べることである。
【００４７】
上述のように、正方格子模様の平板５を移動させて複数回撮影することで、各「スクリーン上の位置」には、二つ以上の「正方格子模様の位置（ワールド座標系における位置）」が登録されている。ここで、図３に示すように、第１のカメラ１のスクリーン９上のある１つの位置について注目してみる。この点を（ｅ，ｆ）とする。（ｅ，ｆ）に対応する二つ以上の「正方格子模様の位置（ワールド座標系における位置）」が登録されている。これは、上記複数の「正方格子模様の位置（ワールド座標系における）」にある点は、全て、（ｅ，ｆ）に投影されることを意味している。したがって、上記複数の「正方格子模様の位置（ワールド座標系における位置）」を結ぶ直線上の点は、全て、（ｅ，ｆ）に投影されることになる。そこで、（ｅ，ｆ）に対応して登録されている上記複数の「正方格子模様の位置（ワールド座標系における位置）」を結ぶ直線を求める。求まった直線が、（ｅ，ｆ）に対応する直線である。
【００４８】
第１のカメラ１の（ｅ，ｆ）以外のスクリーン９上の全ての位置、及び、第２のカメラ２のスクリーン上の全ての位置に対して、同様に、対応する直線を求める。これで、キャリブレーションは終了する。
【００４９】
これにより、上記ステレオカメラで対象物体を撮影して、その対象物体の３次元上での位置を求めることができる。具体的な説明は、上記図１２を使用して述べたの同じである。
【００５０】
さて、ここで、もう一度、上記（ｅ，ｆ）に対応する直線の求め方について、図３を用いて詳しく説明しなおす。図３において、第１のカメラ１の光学中心が８である。例えばＣＣＤ等の受光面となるスクリーン９上には対象物体の位置情報が投影される。スクリーン９上の位置（ｅ，ｆ）には、例えば、正方格子模様の平板５を５−１に設置したときと、５−３に設置したときに、正方格子模様が投影されていたとする。
【００５１】
平板５を５−１に設置した場合の撮像画像から、（ｅ，ｆ）に投影された点は、正方格子模様上のどの位置であるか分かる。これを点Ａとする。ちなみに、点Ａが、正方格子の各縦線、横線の交点以外の場所であっても、補間により、その位置を求めることが可能である。さて、平板５を５−１に設置したときの、正方格子模様の位置は、ワールド座標系を基準にして測定されている。したがって、点Ａがワールド座標系において、どの位置にあるか分かっている。例えば、（Ｐ，Ｑ，Ｒ）とする。
【００５２】
そして、平板５を５−３に設置した場合の撮像画像から、（ｅ，ｆ）に投影された点は、正方格子模様上のどの位置であるか分かる。これを点Ａ’とする。ちなみに、点Ａ’が、正方格子の各縦線、横線の交点以外の場所であっても、補間により、その位置を求めることが可能である。さて、平板５を５−３に設置したときの、正方格子模様の位置は、ワールド座標系を基準にして測定されている。したがって、点Ａ’がワールド座標系において、どの位置にあるか分かっている。例えば、（Ｓ，Ｔ，Ｕ）とする。
【００５３】
したがって、スクリーン上の位置（ｅ，ｆ）には、（Ｐ，Ｑ，Ｒ）の点と（Ｓ，Ｔ，Ｕ）の点が写し出されることが分かる。故に、ワールド座標系の直線Ｎ（図３の１０）上の点は、全て、スクリーン９上の（ｅ，ｆ）に写し出されることが分かる。ただし、直線Ｎは、（Ｘ−Ｓ）／（Ｐ−Ｓ）＝（Ｙ−Ｔ）／（Ｑ−Ｔ）＝（ＺーＵ）/（Ｒ−Ｕ）である。ここで、図３においても、図２と同じ符号を用いて示しておく。
【００５４】
このようにして、ワールド座標系におけるどのような直線上の点が、第１のカメラ１のスクリーン９上の位置（ｅ，ｆ）に投影されるかを求めることができる。
【００５５】
以下、３次元位置情報測定機である図１のセオドライト４について説明する。
【００５６】
セオドライトとは、自分自身を中心として、どちらの角度方向に物体があるかを測定できる機械である。図４は、セオドライト４の説明図である。対象物体１１にセオドライト４の照準を合わせると、セオドライト４を中心とした座標軸（図示してある）に対して、ＸＺ平面との角度（図中のθ）と、ＸＺ平面からＹ軸への仰角（図中のφ）が求めることができる。つまり、原点から対象物体への単位方向ベクトル（ｓｉｎθ×ｃｏｓφ，ｓｉｎφ，ｃｏｓθ×ｃｏｓφ）が分かる。
【００５７】
セオドライト４を利用して、図５に示すように正方格子模様の位置を測定する。図５において、セオドライトは図示を省略しているが、座標軸の原点にある。正方格子の各縦線、横線の交点に記号を付ける。すなわち、図に示すように、左はじをＡ00、Ａ00の右隣りをＡ10、Ａ00の上をＡ01というように番号付けする。
【００５８】
Ａ00からＡ10へのベクトルをＨベクトルとする。Ａ00からＡ01へのベクトルをＶベクトルとする。正方格子の間隔はどこでも一定なので、各交点Ａijとその右隣りとの交点との位置関係はＨベクトルとなり、その上方の交点との位置関係はＶベクトルとなる。ここで、ＨベクトルやＶベクトルは、図中に示す３次元座標系（セオドライトを中心とした３次元座標系における３次元ベクトルである。セオドライトを利用してＡ00に照準を合わせ、原点からＡ00への単位方向ベクトル（Ｎ00ベクトル）を求める。他の交点Ａijについても、照準を合わせ、原点からＡijへの単位方向ベクトル（Ｎijベクトル）を求める。ここで、原点からＡ00あるいはＡijまでの距離を、Ｋ00あるいはＫijと置くと、次の（１）式或いは（２）式が導かれる。
【００５９】
Ａ00の３次元上での位置＝Ｋ00×Ｎ00        ・・・（１）
Ａijの３次元上での位置＝Ｋij×Ｎij        ・・・（２）
Ａ00から右にｉ個、上にｊ個行った交点がＡijであるから、Ａ00とＡijとの位置関係は、ｉ×（Ｈベクトル）＋ｊ×（Ｖベクトル）となり、次の（３）式が導かれる。
【００６０】
Ｋij×Ｎij＝Ｋ00×Ｎ00＋ｉ×Ｈ＋ｊ×Ｖ        ・・・（３）
さらに、正方格子の一辺の長さを、次の（４）式のように、例えば１０ｃｍとする。
【００６１】
｜Ｈ｜＝｜Ｖ｜＝１０ｃｍ               ・・・（４）
この一辺の長さは、正方格子模様を直接、定規などで測ることにより知ることができる。
【００６２】
複数の（ｉ，ｊ）の組についての（３）式と、（４）式より、Ｈベクトルの値、Ｖベクトルの値、Ｋijの値を計算できる。
【００６３】
セオドライトを利用して求まったＮijベクトルと、上記計算により求められたＫijを、上記（２）式に代入して、Ａijの位置を求める。交点（Ａij）以外の正方格子模様の位置は、交点の位置から補間して求める。
【００６４】
以上のようにして、セオドライトを用いることで、セオドライトを基準とした座標系（ワールド座標系）における正方格子模様の位置を求めることができる。
【００６５】
次に、上記キャリブレーション方法を適用した本発明に係るキャリブレーション装置の実施の形態を図６及び図７を用いて説明する。図６は、本発明に係るキャリブレーション装置の実施の形態のブロック図である。図７は、図６に構成を示したキャリブレーション装置の動作を説明するためのフローチャートである。
【００６６】
図６において、上記図１と同様の構成部については同符号を付し説明を省略する。例えばキーボートのような入力装置１３は、セオドライト４で得られた「正方格子模様の位置（ワールド座標系を基準とした３次元位置）」を入力できる。信号処理装置１４は、第１のカメラ１及び第２のカメラ２より得られる画像データと、入力装置１３より入力される「正方格子模様の位置」より、ワールド座標系のどの直線が、どの「スクリーン上の位置」に投影されるかを計算する部分である。メモリ１５は、信号処理装置１４により得られた「スクリーン上の位置」と「ワールド座標系の直線」との対応関係を格納しておく記憶部分である。
【００６７】
先ず、図７のステップＳ１で、図６に示すように第１のカメラ１及び第２のカメラ２及びセオドライト４の位置をセットする。さらに、正方格子模様の平板５を置く。セオドライト４の位置がワールド座標系の原点となる。
【００６８】
次に、ステップＳ２でセオドライト４により、正方格子模様の位置（ワールド座標を基準とした３次元位置）を測定する。この測定方法は、図５及び（１）式〜（４）式を用いて説明したとおりである。この測定結果は、入力装置１３により入力され、信号処理装置１４へと供給される。
【００６９】
次に、ステップＳ３で、第１のカメラ１及び第２のカメラ２により撮影を行う。撮影された結果である画像データは、信号処理装置１４に送られる。そして、各カメラのスクリーン上で、正方格子模様が投影されている位置についてのみ、信号処理装置１４で、以下の処理を行う。
【００７０】
すなわち、「スクリーン上のある位置」に投影されている「正方格子模様の位置（ワールド座標系における位置）」を調べ、その「正方格子模様の位置」を、その「スクリーン上の位置」に対応する３次元上の位置として登録しておく。
【００７１】
次に、ステップＳ４で各「スクリーン上の位置」には、二つ以上の「正方格子模様の位置」が登録されているかを、信号処理装置１４において調べる。もし、登録されていない場合には、ステップＳ５に進む。登録されている場合には、ステップＳ６に進む。
【００７２】
ステップＳ５では、一つしか登録されていない、或いは、何も登録されていない「スクリーン上の位置」に正方格子模様が投影されるように平板を動かす。そして、ステップＳ２に戻る。
【００７３】
ステップＳ６に進む段階においては、各「スクリーン上の位置」には、二つ以上の「正方格子模様の位置（ワールド座標系における位置）」が登録されている。ステップＳ６では、登録されている「正方格子模様の位置（ワールド座標系における位置）」を通る３次元空間上の直線を、信号処理装置１４において求める。そして、この直線を、その「スクリーン上の位置」に対応する直線として、メモリ１５に記憶させる。
【００７４】
このメモリ１５に記憶された直線は、物体を撮像する撮像装置から得られる２次元画像から、前記物体の３次元空間における位置情報を求めるための前記撮像装置のキャリブレーション用データである。
【００７５】
このキャリブレーション用データは、３次元位置情報測定機により複数回測定された模様の描かれた基準物体の３次元位置情報を示すデータを受信し、上記撮像装置により複数回撮影された上記模様を示す画像データを受信し、上記両データに基づいたキャリブレーション用データ生成方法により生成されると言い換えることもできる。
【００７６】
以上で、キャリブレーションは終わる。
キャリブレーションが終了した後、実際には、上記ステレオカメラで物体を撮影する。撮影された結果である画像データは、信号処理装置１４に送られる。ある対象物体が、第１のカメラのスクリーンのある位置と、第２のカメラのスクリーンのある位置に投影されたとする。このとき、信号処理装置１４では、第１のカメラ１のスクリーンのその位置と、第２のカメラ２のスクリーンのその位置に対応する直線を、メモリ１５より読み出し、この二つの直線の交点を信号処理装置１４において計算する。そして、この計算結果である３次元座標を、その対象物体のワールド座標（３次元座標系）における位置として出力する。このようにして、キャリブレーションが終了した後、ステレオカメラによる対象物体の立体視は行われる。
【００７７】
また、上記説明では、セオドライトを用いて、正方格子模様の各点の位置を測定したが、別の測定機としてトータルステーション等を使用して測定してもよい。トータルステーションは、セオドライトと同様にある基準の座標系に対し、どちらの角度方向に物体があるかを測定できるだけでなく、その物体までの距離も測定できる。したがって、正方格子模様上の各点までの方向と距離が分かるので、各点の３次元上での位置が求まる。このようにトータルステーションをしようして、正方格子模様の各点の位置を測定してもよい。
【００７８】
さらに、単体のカメラのキャリブレーションも、本発明を適用することで可能である。単体のカメラのキャリブレーションとは、そのカメラのスクリーン（ＣＣＤ面）上の各位置の映像は、ワールド座標系から見てどちらの方角から来た光であるかを求めることである。すなわち、ワールド座標系におけるある直線上に存在する物体は全て、スクリーン上ある一点に投影されるが、このスクリーン上の点と直線との関係を求めることが、単体のカメラのキャリブレーションである。この場合、上記キャリブレーションしたい単体のカメラを第１のカメラと考え、第１のカメラとして本発明のキャリブレーション装置に設置し、第２のカメラは設置せずに、キャリブレーションを行う。これにより、第１のカメラのみのキャリブレーションを行うことができる。
【００７９】
【発明の効果】
本発明に係るキャリブレーション方法は、撮像装置が物体を撮像する範囲の３次元空間内で設置替えされる基準物体上に描かれた模様の、少なくとも２ヶ所の設置場所での３次元座標位置と、上記撮像装置が上記基準物体上の上記模様を撮像して得た画像データとに基づいて、上記撮像装置のキャリブレーションの処理を行うとき、上記撮像装置のスクリーンの全位置に対して、上記３次元座標位置が複数個登録されるまで、上記処理を繰り返すので、精密作成が可能な程度の大きさの正方格子模様が描かれた基準物体を用いて、精度の良いキャリブレーションを行うことができる。
また、本発明に係るキャリブレーション装置は、撮像装置が物体を撮像する範囲の３次元空間内で設置替えされる模様の描かれた基準物体と、上記基準物体上に描かれた模様の３次元座標位置を測定する３次元位置情報測定手段とを備え、上記撮像装置のスクリーンの全位置に対して上記３次元座標位置が複数個登録されるまで、上記撮像装置が上記基準物体上の上記模様を撮像して得た画像データと上記３次元画像位置に基づいて繰り返しキャリブレーションを行うので、精密作成が可能な程度の大きさの正方格子模様が描かれた基準物体を用いて、精度の良いキャリブレーションを行うことができる。
【００８０】
また、本発明に係るキャリブレーション用データ生成方法は、３次元位置情報測定機により複数回測定された模様の描かれた基準物体の３次元位置情報を示すデータを受信し、上記撮像装置により複数回撮影された上記模様を示す画像データを受信し、上記撮像装置のスクリーンの全位置に対して上記３次元座標位置が複数個登録されるまで、上記３次元座標位置と上記画像データに基づいて上記撮像装置のスクリーンの各位置に投影される３次元空間上のキャリブレーション用データを生成するので、精密作成が可能な程度の大きさの正方格子模様が描かれた基準物体を用いて、精度の良いキャリブレーション用データを生成できる。
【図面の簡単な説明】
【図１】本発明に係るキャリブレーション方法の実施の形態を説明するための図である。
【図２】上記図１に示した各構成部を用いて実行される、キャリブレーション方法の具体例を説明するための図である。
【図３】上記キャリブレーション方法の原理を説明するための図である。
【図４】上記キャリブレーション方法で用いるセオドライトを説明するための図である。
【図５】上記キャリブレーション方法においてセオドライトを使用して正方格子模様の位置を測定する原理を説明するための図である。
【図６】本発明に係るキャリブレーション装置の実施の形態のブロック図である。
【図７】上記図６に示した実施の形態の動作を説明するためのフローチャートである。
【図８】従来のキャリブレーション装置の構成図である。
【図９】上記図８に示した従来のキャリブレーション装置にてステレオカメラをスライドさせた様子を示す図である。
【図１０】上記図９に示した図と等価な図である。
【図１１】従来のキャリブレーション装置におけるキャリブレーション方法の説明図である。
【図１２】キャリブレーションされたステレオカメラでのステレオ視に関する説明図である。
【符号の説明】
１  第１のカメラ、２  第２のカメラ、４  セオドライト、５  正方格子模様の描かれた平板、１３  入力装置、１４  信号処理装置、１５  メモリ
【図１】
0003728900.tif 000002
【図２】
0003728900.tif 000003
【図３】
0003728900.tif 000004
【図４】
0003728900.tif 000005
【図５】
0003728900.tif 000006
【図６】
0003728900.tif 000007
【図７】
0003728900.tif 000008
【図８】
0003728900.tif 000009
【図９】
0003728900.tif 000010
【図１０】
0003728900.tif 000011
【図１１】
0003728900.tif 000012
【図１２】
0003728900.tif 000013