| 【発明の名称】 |
キャリブレーション方法及び装置、並びにキャリブレーション用データ生成方法 |
| 【発明者】 |
【氏名】大木 光晴
|
| 【要約】 |
【課題】従来、キャリブレーションを行うときには、大きさ4メートル×3メートル程度の正方格子模様を使用したが、精密に作成することは困難であった。このため、ある程度歪んだ正方格子模様しか用意することができず、結果的に、精度の良いキャリブレーションを行うことができなかった。
【解決手段】二つのカメラ1及び2と、セオドライト4と同一の空間上には、正方格子模様の書かれた平板5を位置させる。この平板5は、従来の平板とは大きさを異ならせ、例えば1.5メートル×1メートル程度である。小さい平板なので精密な正方格子模様を描くことができる。セオドライト4は、平板5の少なくとも2ヶ所の設置場所での3次元座標位置を測定する。そして、上記二つのカメラ1及び2が上記正方格子模様を撮像して得た画像データと、上記セオドライト4で測定した3次元座標位置を用いてキャリブレーションを行う。 |
【特許請求の範囲】
【請求項1】 物体を撮像する撮像装置から得られる2次元画像から、前記物体の3次元空間における位置情報を求めるための前記撮像装置のキャリブレーションを行うキャリブレーション方法において、上記撮像装置が上記物体を撮像する範囲の3次元空間内で設置替えされる基準物体上に描かれた模様の、少なくとも2ヶ所の設置場所での3次元座標位置と、上記撮像装置が上記基準物体上の上記模様を撮像して得た画像データとに基づいて、上記撮像装置のキャリブレーションを行うことを特徴とするキャリブレーション方法。 【請求項2】 上記撮像装置のスクリーン上の各位置に投影される上記模様の3次元座標位置を求めることで、上記撮像装置のスクリーンの各位置に投影される3次元空間上の点群を算出することを特徴とする請求項1記載のキャリブレーション方法。 【請求項3】 上記基準物体には、正方格子模様が描かれていることを特徴とする請求項1記載のキャリブレーション方法。 【請求項4】 上記3次元座標位置を測定する位置情報測定機として、セオドライトを用いることを特徴とする請求項1記載のキャリブレーション方法。 【請求項5】 上記3次元座標位置を測定する位置情報測定機として、トータルステーションを用いることを特徴とする請求項1記載のキャリブレーション方法。 【請求項6】 上記点群は、直線上の点の集合であることを特徴とする請求項2記載のキャリブレーション方法。 【請求項7】 物体を撮像する撮像装置から得られる2次元画像から、前記物体の3次元空間における位置情報を求めるための前記撮像装置のキャリブレーションを行うキャリブレーション装置において、上記撮像装置が上記物体を撮像する範囲の3次元空間内で設置替えされる模様の描かれた基準物体と、上記基準物体上に描かれた模様の3次元座標位置を測定する3次元位置情報測定手段とを備え、上記基準物体が上記3次元空間内で配置替えされる少なくとも2ヶ所での上記3次元位置情報測定手段による上記模様の3次元座標位置と、上記撮像装置が上記基準物体上の上記模様を撮像して得た画像データとに基づいて、上記撮像装置のキャリブレーションを行うことを特徴とするキャリブレーション装置。 【請求項8】 上記撮像装置のスクリーン上の各位置に投影される上記模様の3次元座標位置を求めることで、上記撮像装置のスクリーンの各位置に投影される3次元空間上の点群を算出することを特徴とする請求項7記載のキャリブレーション装置。 【請求項9】 上記基準物体には、正方格子模様が描かれていることを特徴とする請求項7記載のキャリブレーション装置。 【請求項10】 上記3次元位置情報測定手段は、セオドライトであることを特徴とする請求項7記載のキャリブレーション装置。 【請求項11】 上記3次元位置情報測定手段は、トータルステーションであることを特徴とする請求項7記載のキャリブレーション装置。 【請求項12】 上記点群は、直線上の点の集合であることを特徴とする請求項8記載のキャリブレーション装置。 【請求項13】 物体を撮像する撮像装置から得られる2次元画像から、前記物体の3次元空間における位置情報を求めるための前記撮像装置のキャリブレーション用データを生成するキャリブレーション用データ生成方法において、3次元位置情報測定機により複数回測定された模様の描かれた基準物体の3次元位置情報を示すデータを受信し、上記撮像装置により複数回撮影された上記模様を示す画像データを受信し、上記両データに基づいて、上記撮像装置のスクリーンの各位置に投影される3次元空間上のキャリブレーション用データを生成することを特徴とするキャリブレーション用データ生成方法。 【請求項14】 上記3次元位置情報測定機は、セオドライトであることを特徴とする請求項13記載のキャリブレーション用データ生成方法。 【請求項15】 上記3次元位置情報測定機は、トータルステーションであることを特徴とする請求項13記載のキャリブレーション用データ生成方法。 【請求項16】 上記3次元空間上のキャリブレーション用データは、上記撮像装置のスクリーンの各位置に投影される直線上の点の集合であることを特徴とする請求項13記載のキャリブレーション用データ生成方法。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は、物体を撮像する撮像装置から得られる2次元画像から、前記物体の3次元空間における位置情報を求めるための前記撮像装置のキャリブレーションを行うキャリブレーション方法及び装置、並びに上記撮像装置のキャリブレーション用データを生成するキャリブレーション用データ生成方法に関する。 【0002】 【従来の技術】ビデオカメラ(以下、適宜、単にカメラという)を例えば2台などの複数台用いて、いわゆるステレオカメラを構成し、各カメラにより、3次元空間内の物体を撮像して、その撮像の結果得られる2次元画像から、物体の3次元空間における位置情報を得る3次元位置情報検出装置として、ステレオカメラシステムが、従来より知られている。 【0003】ステレオカメラシステムについては、例えば、奥富正敏、金出武雄「複数の基線長を利用したステレオマッチング」、電子情報通信学会論文誌D-II、Vol.J75-D-II.NO.8,pp.1317-1327,1992年8月などに、その詳細が開示されている。 【0004】ステレオカメラシステムでは、3次元空間の位置情報を得ようとする対象の物体(対象物体)を、複数のカメラで撮影した時に、各カメラにおける、例えばCCDなどの光電変換素子の受光面(以下、適宜、スクリーンという)上に投射される対象物体の位置情報から、その対象物体の3次元空間における位置情報を特定できる。従って、3次元空間内のある位置に存在する物体の位置情報と、その位置に対象物体があるときに、その対象物体が各カメラのスクリーン上に投影される位置情報との対応関係(位置情報対応関係)を、予め求めておく必要がある。この位置情報対応関係を求めることをキャリブレーションといい、キャリブレーション装置により求められる。 【0005】図8は、従来のキャリブレーションを行うためのキャリブレーション装置の外観斜視図である。この図8において、パイプ106及び107は、3次元空間において、同一平面に含まれて、かつ平行になるように配置されており、台車108は、このパイプ106及び107に沿って滑らかに移動することができるように設置されている。そして、台車108には、第1のカメラ101と第2のカメラ102とが金具103により一体化されたステレオカメラが取り付けられている。 【0006】パイプ106及び107には目盛が記されており、台車108がスライドした量が測定できるようになっている。台車108がスライドする方向と垂直に、正方格子模様が書かれた平板109が設置されている。正方格子の横方向をX軸、縦方向をY軸とし、スライドする方向、即ち正方格子に対して垂直方向をZ軸とする。この平板109よりカメラ側が、Z>0である。このような、X軸、Y軸及びZ軸よりなる3次元座標をワールド座標と定義する。 【0007】キャリブレーションの測定は、上記ステレオカメラを載せた台車108の位置をずらして、平板109を2箇所から撮影して行われる。図9は、2箇所から撮影した場合の説明図であり、図8の装置を真上から見た図である。 【0008】先ず、第1のカメラ101、第2のカメラ102を、ある位置P1に固定して、平板109を、正方格子模様が映るように撮影し、その後、第1のカメラ101、第2のカメラ102を台車108のスライドにより他の位置P2に距離Mだけ移動し、再度、平板109を撮影する。ここで、最初のステレオカメラの位置と、正方格子模様までの距離をLとする。なお、この図9では、第1のカメラ101、第2のカメラ102を、平板109から遠ざかる方向にスライドさせているが、そのスライド方向は、逆であってもよい。 【0009】このように、第1のカメラ101、第2のカメラ102よりなるステレオカメラをスライドして平板109を撮影することにより得られた2次元画像は、図10に示すように、ステレオカメラを固定して、平板109をスライドしても得ることができる。 【0010】すなわち、図10に示すように、第1のカメラ101、第2のカメラ102を、ある位置P1に固定して、平板109を、その正方格子模様が映るように撮影し、その後、平板109をZ軸に沿って、上記カメラ101、及び102から遠ざかる方向に、距離Mだけ、スライドさせ、その位置で、再度、平板109を撮影することによっても、同様の2次元画像を得ることができる。 【0011】この図10において、距離Mだけ遠ざける前の平板109上に描かれた正方格子(第1の正方格子Q1)の左下隅を原点とし、ワールド座標の原点とすると、この平板109の第1の正方格子Q1において、(i,j)の位置はワールド座標において(i,j、0)となる。また、長さMだけスライドさせた後の平板109の正方格子(第2の正方格子Q2)において(i,j)の位置はワールド座標において(i,j、−M)となる。 【0012】図11は、第1のカメラ101と平板109上の第1の正方格子Q1と第2の正方格子Q2を示した図である。第1のカメラ101の光学中心がO1であり、例えばCCD122などの受光面となるスクリーン上に対象物体の位置情報が投影される。例えば、CCD122上の座標位置(h,k)には、第1の正方格子Q1における座標位置(p,q)が写し出され、かつ、第2の正方格子Q2における座標位置(r,s)が写し出されたとする。なお、各正方格子の各縦線、横線の交点以外の場所は、補間により、その座標を求めることが可能である。 【0013】これをワールド座標を用いて、説明し直すと、CCD122上の座標位置(h,k)には、3次元上の座標位置(p,q,0)と(r,s,−M)が写し出される。すなわち、2次元上の座標位置(h,k)と3次元上の座標位置(p,q,0)と(r,s,−M)とを結ぶ直線をNとすると、この直線N上の点は、全て、CCD122上の座標位置(h,k)に写し出されることが分かる。 【0014】したがって、直線Nは、3次元空間における物体の位置情報(ここでは、ワールド座標系における座標)と、その物体を撮像して得られる2次元画像の位置情報(ここでは、CCD122上の2次元座標系における座標)との対応関係(位置情報対応関係)を表すことになる。 【0015】この直線Nは、(x−r)/(p−r)=(y−s)/(q−s)=(z+M)/Mとして求めることができる。 【0016】直線Nを求めるのと同様にして、CCD122上の2次元座標系における他の座標位置についても、そこに投射される3次元空間上の点の集合としての直線を求める。さらに、同様のことを、第2のカメラ102についても行う。 【0017】以上のようにして、第1のカメラ101、第2のカメラ102についての直線すべてを求めることで、ステレオカメラシステムのキャリブレーションを終了する。 【0018】このようにしてキャリブレーションが行われたステレオカメラシステムでは、次のようにして、3次元空間にある物体の位置情報を求めることができる。 【0019】先ず、ステレオカメラで物体を撮影する。例えば、図12に示す物体127は、第1のカメラ101のスクリーン122の位置(a,b)、第2のカメラ102のスクリーン128の位置(c,d)に写されたとする。上記キャリブレーション装置におけるキャリブレーション(初期設定)において、位置(a,b)及び(c,d)に対応する、ワールド座標系における直線130及び131は求まっているので、ワールド座標系におけるこれらの直線の交点を求めることは可能である。この交点の座標が、その物体のワールド座標系における位置である。このようにして、キャリブレーションされたステレオカメラを用いることで、対象物体の3次元上での位置を求めることが出来る。 【0020】これをまとめると、以下のようになる。まず、対象物体127が、第1のカメラ101及び第2のカメラ102のスクリーン122及びスクリーン128上で、どの位置に投影されたかを測定する。次に、各投影位置に対応する直線130及び直線131の交点を、ワールド座標系において計算する。この交点の座標がワールド座標系での、即ち、3次元上での物体の位置である。 【0021】ところで、図8に示したキャリブレーション装置では、第1のカメラ101及び第2のカメラ102と、平板109までの距離Lを数メートルとすると、平板109に書かれている正方格子模様の大きさは4メートル×3メートル程度必要となる。なぜなら、もし正方格子模様が小さいとカメラで撮影した際に、図11のCCD(スクリーン)122上の周辺部分には正方格子模様が投影されず、周辺部分の画素に対応する直線Nが求められなくなってしまうからである。 【0022】 【発明が解決しようとする課題】しかし、上述のような大きさ4メートル×3メートル程度の正方格子模様を、精密に作成することは困難であった。このため、ある程度歪んだ正方格子模様しか用意することができず、結果的に、精度の良いキャリブレーションを行うことができなかった。 【0023】本発明は、上記実情に鑑みてなされたものであり、精密作成が可能な程度の大きさの正方格子模様が描かれた基準物体を用いて、精度の良いキャリブレーションを行うことができるキャリブレーション方法及び装置の提供を目的とする。 【0024】また、本発明は、上記実情に鑑みてなされたものであり、精密作成が可能な程度の大きさの正方格子模様が描かれた基準物体を用いて、精度の良いキャリブレーション用データを生成することのできるキャリブレーション用データ生成方法の提供を目的とする。 【0025】 【課題を解決するための手段】本発明に係るキャリブレーション方法は、上記課題を解決するために、撮像装置が物体を撮像する範囲の3次元空間内で設置替えされる基準物体上に描かれた模様の、少なくとも2ヶ所の設置場所での3次元座標位置と、上記撮像装置が上記基準物体上の上記模様を撮像して得た画像データとに基づいて、上記撮像装置のキャリブレーションを行う。 【0026】具体的には、上記撮像装置のスクリーン上の各位置に投影される上記模様の3次元座標位置を求めることで、上記撮像装置のスクリーンの各位置に投影される3次元空間上の点群を算出する。 【0027】この場合、上記基準物体としては、比較的に小さい、例えば1.5メートル×1メートル程度の正方格子模様の描かれた平板を使用する。そして、この平板を移動させて、上記正方格子模様の3次元位置情報を3次元位置情報測定手段によって測定し、上記撮像装置で上記正方格子模様を撮影する、という操作を繰り返すことにより、上記撮像装置のスクリーンの部分ごとにキャリブレーションを行うことにしたので、従来のように大きな正方格子模様を不要とした。 【0028】本発明に係るキャリブレーション装置は、上記課題を解決するために、撮像装置が物体を撮像する範囲の3次元空間内で設置替えされる模様の描かれた基準物体と、上記基準物体上に描かれた模様の3次元座標位置を測定する3次元位置情報測定手段とを備え、上記基準物体が上記3次元空間内で配置替えされる少なくとも2ヶ所での上記3次元情報測定手段による上記模様の3次元座標位置と、上記撮像装置が上記基準物体上の上記模様を撮像して得た画像データとに基づいて、上記撮像装置のキャリブレーションを行う。 【0029】具体的には、上記撮像装置のスクリーン上の各位置に投影される上記模様の3次元座標位置を求めることで、上記撮像装置のスクリーンの各位置に投影される3次元空間上の点群を算出する。 【0030】また、本発明に係るキャリブレーション用データ作成方法は、上記課題を解決するために、3次元位置情報測定機により複数回測定された模様の描かれた基準物体の3次元位置情報を示すデータを受信し、上記撮像装置により複数回撮影された上記模様を示す画像データを受信し、上記両データに基づいて、上記撮像装置のスクリーンの各位置に投影される3次元空間上のキャリブレーション用データを生成する。 【0031】 【発明の実施の形態】以下、本発明に係るキャリブレーション方法及び装置の実施の形態について図面を参照しながら説明する。 【0032】先ず、上記キャリブレーション方法の実施の形態について説明する。この実施の形態は、2台のカメラにより構成されたステレオカメラのキャリブレーションを行うキャリブレーション方法であり、図1に示すようなステレオカメラと、3次元位置測定機4と、平板5とを用いて実現される。 【0033】このキャリブレーション方法により、キャリブレーションを行うステレオカメラは、第1のカメラ1と、第2のカメラ2が金具3によって一体化して取り付けられている。すなわち、二つのカメラの位置関係は固定されている。 【0034】上記図8に示した従来の装置においては、上記二つのカメラを移動させてキャリブレーションを行ったが、上記キャリブレーション方法においては、上記ステレオカメラを固定しておく。例えば、図示を省略する固定された三脚などに上記二つのカメラを取り付けておけば良い。 【0035】この二つのカメラと同一空間上には、図1に示すように、3次元位置情報測定機である、セオドライト(theodolite)4を位置させる。このセオドライト4は、自分自身を原点とした3次元座標系(以下、この座標系を基準とするので、ワールド座標系と呼ぶことにする。)を用いて、対象物体の位置を測定する機械である。この機械については後述する。したがって、図1には、このセオドライト4を中心として、ワールド座標系を書き込んである。 【0036】また、二つのカメラ1及び2と、上記セオドライト4と同一の空間上には、正方格子模様の書かれた上記平板5も位置させる。この平板5は、従来の平板とは大きさを異ならせ、例えば1.5メートル×1メートル程度である。小さい平板なので、精密な正方格子模様を描くことができる。しかし、この平板5上の正方格子模様は小さいため、上記二つのカメラ1及び2で撮影した場合、各カメラのスクリーン全体に正方格子模様が写ることはない。 【0037】図2には図1に示した各構成部を用いて実行される、キャリブレーション方法の具体例を説明するための図を示す。この図2は上記図1に示した各部を真上から見た図である。この図2中において、破線6及び破線7で囲まれた領域が、第1のカメラ1及び第2のカメラ2とにより撮影される範囲である。ここでは、セオドライト4を省略しているが、図中のワールド座標系の原点に位置しているものとする。また、ワールド座標系のY軸は、紙面に対して垂直である。 【0038】先ず、正方格子模様の平板5を、例えば、図2の5−1に示す場所に設置する。そして、セオドライト4により、5−1に設置されたときの正方格子模様の位置を測定する。これにより、5−1に設置されたときの正方格子模様内の各点の位置は、ワールド座標系において、どの位置にあるかが分かる。 【0039】次に、この状態で、第1のカメラ1及び第2のカメラ2により撮影を行う。そして、各カメラのスクリーン上で、正方格子模様が投影されている位置についてのみ、以下の処理を行う。 【0040】「スクリーン上のある位置」に投影されている「正方格子模様の位置(ワールド座標系における位置)」を調べ、その「正方格子模様の位置」を、その「スクリーン上の位置」に対応する3次元上の位置として登録しておく。この登録は、正方格子模様が投影されている全ての「スクリーン上の位置」について行う。 【0041】次に、正方格子模様の平板5を、例えば、図2の5−2に示す場所に設置する。そして、セオドライト4により、5−2に設置されたときの正方格子模様の位置を測定する。これにより、5−2に設置されたときの正方格子模様内の各点の位置は、ワールド座標系において、どの位置にあるかが分かる。 【0042】次に、この状態で、第1のカメラ1及び第2のカメラ2により撮影を行う。そして、各カメラのスクリーン上で、正方格子模様が投影されている位置についてのみ、以下の処理を行う。 【0043】「スクリーン上のある位置」に投影されている「正方格子模様の位置(ワールド座標系における位置)」を調べ、その「正方格子模様の位置」を、その「スクリーン上の位置」に対応する3次元上の位置として登録しておく。この登録は、正方格子模様が投影されている全ての「スクリーン上の位置」について行う。 【0044】同様に、正方格子模様の平板5を、例えば、図2の5−3、5−4、5−5に示す場所に設置して、それぞれ、正方格子模様の位置を測定して、投影されている「正方格子模様の位置」を各「スクリーン上の位置」に対応する位置として登録しておく。 【0045】ここで、注意すべきことは、各「スクリーン上の位置」には、二つ以上の「正方格子模様の位置」が登録されていることである。もし、一つしか登録されていない、あるいは、なにも登録されていない「スクリーン上の位置」がある場合には、その「スクリーン上の位置」に正方格子模様が投影されるように、平板を移動して、正方格子模様の位置を測定して、投影されている「正方格子模様の位置」を各「スクリーン上の位置」に対応する位置として登録する操作を、もう一度行う。 【0046】さて、キャリブレーションとは、ワールド座標系のどの直線が、各「スクリーン上の位置」に投影されるかを調べることである。 【0047】上述のように、正方格子模様の平板5を移動させて複数回撮影することで、各「スクリーン上の位置」には、二つ以上の「正方格子模様の位置(ワールド座標系における位置)」が登録されている。ここで、図3に示すように、第1のカメラ1のスクリーン9上のある1つの位置について注目してみる。この点を(e,f)とする。(e,f)に対応する二つ以上の「正方格子模様の位置(ワールド座標系における位置)」が登録されている。これは、上記複数の「正方格子模様の位置(ワールド座標系における)」にある点は、全て、(e,f)に投影されることを意味している。したがって、上記複数の「正方格子模様の位置(ワールド座標系における位置)」を結ぶ直線上の点は、全て、(e,f)に投影されることになる。そこで、(e,f)に対応して登録されている上記複数の「正方格子模様の位置(ワールド座標系における位置)」を結ぶ直線を求める。求まった直線が、(e,f)に対応する直線である。 【0048】第1のカメラ1の(e,f)以外のスクリーン9上の全ての位置、及び、第2のカメラ2のスクリーン上の全ての位置に対して、同様に、対応する直線を求める。これで、キャリブレーションは終了する。 【0049】これにより、上記ステレオカメラで対象物体を撮影して、その対象物体の3次元上での位置を求めることができる。具体的な説明は、上記図12を使用して述べたの同じである。 【0050】さて、ここで、もう一度、上記(e,f)に対応する直線の求め方について、図3を用いて詳しく説明しなおす。図3において、第1のカメラ1の光学中心が8である。例えばCCD等の受光面となるスクリーン9上には対象物体の位置情報が投影される。スクリーン9上の位置(e,f)には、例えば、正方格子模様の平板5を5−1に設置したときと、5−3に設置したときに、正方格子模様が投影されていたとする。 【0051】平板5を5−1に設置した場合の撮像画像から、(e,f)に投影された点は、正方格子模様上のどの位置であるか分かる。これを点Aとする。ちなみに、点Aが、正方格子の各縦線、横線の交点以外の場所であっても、補間により、その位置を求めることが可能である。さて、平板5を5−1に設置したときの、正方格子模様の位置は、ワールド座標系を基準にして測定されている。したがって、点Aがワールド座標系において、どの位置にあるか分かっている。例えば、(P,Q,R)とする。 【0052】そして、平板5を5−3に設置した場合の撮像画像から、(e,f)に投影された点は、正方格子模様上のどの位置であるか分かる。これを点A’とする。ちなみに、点A’が、正方格子の各縦線、横線の交点以外の場所であっても、補間により、その位置を求めることが可能である。さて、平板5を5−3に設置したときの、正方格子模様の位置は、ワールド座標系を基準にして測定されている。したがって、点A’がワールド座標系において、どの位置にあるか分かっている。例えば、(S,T,U)とする。 【0053】したがって、スクリーン上の位置(e,f)には、(P,Q,R)の点と(S,T,U)の点が写し出されることが分かる。故に、ワールド座標系の直線N(図3の10)上の点は、全て、スクリーン9上の(e,f)に写し出されることが分かる。ただし、直線Nは、(X−S)/(P−S)=(Y−T)/(Q−T)=(ZーU)/(R−U)である。ここで、図3においても、図2と同じ符号を用いて示しておく。 【0054】このようにして、ワールド座標系におけるどのような直線上の点が、第1のカメラ1のスクリーン9上の位置(e,f)に投影されるかを求めることができる。 【0055】以下、3次元位置情報測定機である図1のセオドライト4について説明する。 【0056】セオドライトとは、自分自身を中心として、どちらの角度方向に物体があるかを測定できる機械である。図4は、セオドライト4の説明図である。対象物体11にセオドライト4の照準を合わせると、セオドライト4を中心とした座標軸(図示してある)に対して、XZ平面との角度(図中のθ)と、XZ平面からY軸への仰角(図中のφ)が求めることができる。つまり、原点から対象物体への単位方向ベクトル(sinθ×cosφ,sinφ,cosθ×cosφ)が分かる。 【0057】セオドライト4を利用して、図5に示すように正方格子模様の位置を測定する。図5において、セオドライトは図示を省略しているが、座標軸の原点にある。正方格子の各縦線、横線の交点に記号を付ける。すなわち、図に示すように、左はじをA00、A00の右隣りをA10、A00の上をA01というように番号付けする。 【0058】A00からA10へのベクトルをHベクトルとする。A00からA01へのベクトルをVベクトルとする。正方格子の間隔はどこでも一定なので、各交点Aijとその右隣りとの交点との位置関係はHベクトルとなり、その上方の交点との位置関係はVベクトルとなる。ここで、HベクトルやVベクトルは、図中に示す3次元座標系(セオドライトを中心とした3次元座標系における3次元ベクトルである。セオドライトを利用してA00に照準を合わせ、原点からA00への単位方向ベクトル(N00ベクトル)を求める。他の交点Aijについても、照準を合わせ、原点からAijへの単位方向ベクトル(Nijベクトル)を求める。ここで、原点からA00あるいはAijまでの距離を、K00あるいはKijと置くと、次の(1)式或いは(2)式が導かれる。 【0059】 A00の3次元上での位置=K00×N00 ・・・(1) Aijの3次元上での位置=Kij×Nij ・・・(2) A00から右にi個、上にj個行った交点がAijであるから、A00とAijとの位置関係は、i×(Hベクトル)+j×(Vベクトル)となり、次の(3)式が導かれる。 【0060】 Kij×Nij=K00×N00+i×H+j×V ・・・(3) さらに、正方格子の一辺の長さを、次の(4)式のように、例えば10cmとする。 【0061】 |H|=|V|=10cm ・・・(4) この一辺の長さは、正方格子模様を直接、定規などで測ることにより知ることができる。 【0062】複数の(i,j)の組についての(3)式と、(4)式より、Hベクトルの値、Vベクトルの値、Kijの値を計算できる。 【0063】セオドライトを利用して求まったNijベクトルと、上記計算により求められたKijを、上記(2)式に代入して、Aijの位置を求める。交点(Aij)以外の正方格子模様の位置は、交点の位置から補間して求める。 【0064】以上のようにして、セオドライトを用いることで、セオドライトを基準とした座標系(ワールド座標系)における正方格子模様の位置を求めることができる。 【0065】次に、上記キャリブレーション方法を適用した本発明に係るキャリブレーション装置の実施の形態を図6及び図7を用いて説明する。図6は、本発明に係るキャリブレーション装置の実施の形態のブロック図である。図7は、図6に構成を示したキャリブレーション装置の動作を説明するためのフローチャートである。 【0066】図6において、上記図1と同様の構成部については同符号を付し説明を省略する。例えばキーボートのような入力装置13は、セオドライト4で得られた「正方格子模様の位置(ワールド座標系を基準とした3次元位置)」を入力できる。信号処理装置14は、第1のカメラ1及び第2のカメラ2より得られる画像データと、入力装置13より入力される「正方格子模様の位置」より、ワールド座標系のどの直線が、どの「スクリーン上の位置」に投影されるかを計算する部分である。メモリ15は、信号処理装置14により得られた「スクリーン上の位置」と「ワールド座標系の直線」との対応関係を格納しておく記憶部分である。 【0067】先ず、図7のステップS1で、図6に示すように第1のカメラ1及び第2のカメラ2及びセオドライト4の位置をセットする。さらに、正方格子模様の平板5を置く。セオドライト4の位置がワールド座標系の原点となる。 【0068】次に、ステップS2でセオドライト4により、正方格子模様の位置(ワールド座標を基準とした3次元位置)を測定する。この測定方法は、図5及び(1)式〜(4)式を用いて説明したとおりである。この測定結果は、入力装置13により入力され、信号処理装置14へと供給される。 【0069】次に、ステップS3で、第1のカメラ1及び第2のカメラ2により撮影を行う。撮影された結果である画像データは、信号処理装置14に送られる。そして、各カメラのスクリーン上で、正方格子模様が投影されている位置についてのみ、信号処理装置14で、以下の処理を行う。 【0070】すなわち、「スクリーン上のある位置」に投影されている「正方格子模様の位置(ワールド座標系における位置)」を調べ、その「正方格子模様の位置」を、その「スクリーン上の位置」に対応する3次元上の位置として登録しておく。 【0071】次に、ステップS4で各「スクリーン上の位置」には、二つ以上の「正方格子模様の位置」が登録されているかを、信号処理装置14において調べる。もし、登録されていない場合には、ステップS5に進む。登録されている場合には、ステップS6に進む。 【0072】ステップS5では、一つしか登録されていない、或いは、何も登録されていない「スクリーン上の位置」に正方格子模様が投影されるように平板を動かす。そして、ステップS2に戻る。 【0073】ステップS6に進む段階においては、各「スクリーン上の位置」には、二つ以上の「正方格子模様の位置(ワールド座標系における位置)」が登録されている。ステップS6では、登録されている「正方格子模様の位置(ワールド座標系における位置)」を通る3次元空間上の直線を、信号処理装置14において求める。そして、この直線を、その「スクリーン上の位置」に対応する直線として、メモリ15に記憶させる。 【0074】このメモリ15に記憶された直線は、物体を撮像する撮像装置から得られる2次元画像から、前記物体の3次元空間における位置情報を求めるための前記撮像装置のキャリブレーション用データである。 【0075】このキャリブレーション用データは、3次元位置情報測定機により複数回測定された模様の描かれた基準物体の3次元位置情報を示すデータを受信し、上記撮像装置により複数回撮影された上記模様を示す画像データを受信し、上記両データに基づいたキャリブレーション用データ生成方法により生成されると言い換えることもできる。 【0076】以上で、キャリブレーションは終わる。キャリブレーションが終了した後、実際には、上記ステレオカメラで物体を撮影する。撮影された結果である画像データは、信号処理装置14に送られる。ある対象物体が、第1のカメラのスクリーンのある位置と、第2のカメラのスクリーンのある位置に投影されたとする。このとき、信号処理装置14では、第1のカメラ1のスクリーンのその位置と、第2のカメラ2のスクリーンのその位置に対応する直線を、メモリ15より読み出し、この二つの直線の交点を信号処理装置14において計算する。そして、この計算結果である3次元座標を、その対象物体のワールド座標(3次元座標系)における位置として出力する。このようにして、キャリブレーションが終了した後、ステレオカメラによる対象物体の立体視は行われる。 【0077】また、上記説明では、セオドライトを用いて、正方格子模様の各点の位置を測定したが、別の測定機としてトータルステーション等を使用して測定してもよい。トータルステーションは、セオドライトと同様にある基準の座標系に対し、どちらの角度方向に物体があるかを測定できるだけでなく、その物体までの距離も測定できる。したがって、正方格子模様上の各点までの方向と距離が分かるので、各点の3次元上での位置が求まる。このようにトータルステーションをしようして、正方格子模様の各点の位置を測定してもよい。 【0078】さらに、単体のカメラのキャリブレーションも、本発明を適用することで可能である。単体のカメラのキャリブレーションとは、そのカメラのスクリーン(CCD面)上の各位置の映像は、ワールド座標系から見てどちらの方角から来た光であるかを求めることである。すなわち、ワールド座標系におけるある直線上に存在する物体は全て、スクリーン上ある一点に投影されるが、このスクリーン上の点と直線との関係を求めることが、単体のカメラのキャリブレーションである。この場合、上記キャリブレーションしたい単体のカメラを第1のカメラと考え、第1のカメラとして本発明のキャリブレーション装置に設置し、第2のカメラは設置せずに、キャリブレーションを行う。これにより、第1のカメラのみのキャリブレーションを行うことができる。 【0079】 【発明の効果】本発明に係るキャリブレーション方法及び装置は、撮像装置が物体を撮像する範囲の3次元空間内で設置替えされる基準物体上に描かれた模様の、少なくとも2ヶ所の設置場所での3次元座標位置と、上記撮像装置が上記基準物体上の上記模様を撮像して得た画像データとに基づいて、上記撮像装置のキャリブレーションを行うので、精密作成が可能な程度の大きさの正方格子模様が描かれた基準物体を用いて、精度の良いキャリブレーションを行うことができる。 【0080】また、本発明に係るキャリブレーション用データ生成方法は、3次元位置情報測定機により複数回測定された模様の描かれた基準物体の3次元位置情報を示すデータを受信し、上記撮像装置により複数回撮影された上記模様を示す画像データを受信し、上記両データに基づいて、上記撮像装置のスクリーンの各位置に投影される3次元空間上のキャリブレーション用データを生成するので、精密作成が可能な程度の大きさの正方格子模様が描かれた基準物体を用いて、精度の良いキャリブレーション用データを生成できる。
|
| 【出願人】 |
【識別番号】000002185 【氏名又は名称】ソニー株式会社
|
| 【出願日】 |
平成9年(1997)10月17日 |
| 【代理人】 |
【弁理士】 【氏名又は名称】小池 晃 (外2名)
|
| 【公開番号】 |
特開平11−118425 |
| 【公開日】 |
平成11年(1999)4月30日 |
| 【出願番号】 |
特願平9−285896 |
|