JP4590780B2 - カメラ校正用立体チャート、カメラの校正用パラメータの取得方法、カメラの校正用情報処理装置、およびプログラム - Google Patents
カメラ校正用立体チャート、カメラの校正用パラメータの取得方法、カメラの校正用情報処理装置、およびプログラム Download PDFInfo
- Publication number
- JP4590780B2 JP4590780B2 JP2001157822A JP2001157822A JP4590780B2 JP 4590780 B2 JP4590780 B2 JP 4590780B2 JP 2001157822 A JP2001157822 A JP 2001157822A JP 2001157822 A JP2001157822 A JP 2001157822A JP 4590780 B2 JP4590780 B2 JP 4590780B2
- Authority
- JP
- Japan
- Prior art keywords
- camera
- chart
- camera calibration
- unit
- dimensional
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Cameras In General (AREA)
- Stereoscopic And Panoramic Photography (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Studio Devices (AREA)
- Length Measuring Devices By Optical Means (AREA)
Description
【発明の属する技術分野】
本発明は、被写体を複数の方向からカメラで撮影して当該被写体の3次元画像モデルを構築するための技術に関するもので、特に、複数の撮影位置の相対関係を特定するために利用されるカメラ校正用立体チャートと、それを利用したカメラの校正用パラメータを決定するための技術とに関する。
【0002】
【従来の技術】
立体的な被写体を複数の方向から撮影し、それによって得られた複数の画像データを組み合わせることによって、当該被写体の3次元画像モデルを得ることができる。すなわち、複数の方向から被写体を撮影したそれぞれの画像ごとに、カメラの外部パラメータ(カメラの位置や姿勢など)と内部パラメータ(焦点距離など)のデータを得ることができれば、シェープ・フロム・シルエット法によって、被写体のシルエット画像から3次元のモデルを再構成することができる。このシェープ・フロム・シルエット法についての詳細は、W.Niem, "Robust and Fast Modelling of 3D Natural Objects from Multiple Views" SPIE Proceedings Image and Video Proceeding II vol.2182,1994,pp.388-397に開示されている。以下、カメラの外部パラメータと内部パラメータとを「(カメラの)校正パラメータ」と総称するが、この校正パラメータのうち内部パラメータが既知であって内部パラメータによるカメラの校正が完了している場合には、カメラの外部パラメータが求まれば、被写体の3次元画像モデルの構築が可能となる。
【0003】
ところで、このように複数の方向から被写体を撮影するにあたっての1つの方法は、複数のカメラを異なる位置に固定配置して被写体を撮影する固定配置方式である。しかしながら、この固定配置方式では複数のカメラを撮影スタジオ内などに固定的に分散配置しておかねばならないために、撮影設備が大がかりになるだけでなる。
【0004】
そこで、ユーザが1台の手持ちカメラを持って被写体の周りを移動しつつ、複数の方向から被写体を順次に撮影することによって被写体の全周囲の画像を得る移動撮影方式が提案されている。
【0005】
しかしながら、この移動撮影方式でカメラの外部パラメータを決定するには、それぞれの撮影に際してのカメラの位置および姿勢をそのつど特定することが必要となる。
【0006】
このような目的でカメラの外部パラメータを測定する方式については、磁気方式、超音波方式、光学方式などが、従来から提案されている。このうち磁気方式はカメラ位置における地磁気などを検出することによって、また、超音波方式は所定の超音波からの超音波を検知することによって、それぞれカメラの位置や姿勢などを特定する方式である。光学方式には、ステレオカメラを使う方法や、視野よりも大きな校正チャートを設置する方法等がある。
【0007】
これらの方式のうち、磁気方式では、被写体が金属で構成されている場合に精度よ測定することが困難であり、超音波方式は装置が高価になってしまう。
【0008】
これに対して、従来の光学方式としては、不均一マトリクスパターンが描かれた単一の平面チャートを所定位置に配置し、それをカメラで観測することによってその平面チャートとカメラとの位置や姿勢関係を特定する方式が特開2000−270343号に開示されている。これによれば、平面チャートに固定された座標系に対するカメラの位置および姿勢の相対的関係がわかるため、平面チャートと被写体との位置および姿勢関係を固定しておけば、複数の方向から被写体を撮影するたびごとに、平面チャート上のパターンをカメラで観測することにより、その時点でのカメラの位置および姿勢が絶対座標系で特定できることになる。
【0009】
【発明が解決しようとする課題】
しかしながら、平面チャートは、それを観測可能な角度範囲が狭く、当該平面チャートの法線方向から90度を越える方向からは観測できないため、カメラの可動範囲が大きく制限される。また、平面チャートを観測できる範囲内にカメラがあっても、平面チャートの法線方向からカメラの方向が大きくずれているときには平面チャート上のパターンの観測精度が低下し、その結果としてカメラの外部パラメータの決定精度が良くないといった欠点があった。
【0010】
本発明は従来技術における上述の課題を解決するために成されたものであり、光学方式を用いながらも、広い可動範囲を確保しつつ高い測定精度が得られるような、カメラの外部パラメータの取得技術を実現することを目的としている。
【0011】
【課題を解決するための手段】
上記課題を解決するため、請求項1の発明のカメラ校正用チャートは、底面と複数の側面とを有する錐体と、前記複数の側面のそれぞれに表示された複数のチャートと、を備え、前記複数のチャートのそれぞれは、それぞれが既知のサイズを有する複数の単位図形の集合を含み、前記複数の単位図形のそれぞれの幾何学的形状は、前記集合内部と前記複数のチャート間との双方につき、各単位図形と観測位置との相対的位置および相対的姿勢にかかわらず、前記観測位置からの観測によって相互に識別可能にコーディングされていることを特徴とする。
【0012】
請求項2の発明は、請求項1のカメラ校正用立体チャートにおいて、前記複数の単位図形は、前記錐体の底面に近いほどサイズが増大していることを特徴とする。
【0013】
請求項3の発明は、請求項2のカメラ校正用立体チャートにおいて、前記錐体が角錐であり、前記複数のチャートは、各チャートと観測位置との相対的位置および相対的姿勢にかかわらず、前記観測位置からの観測によって相互に識別可能にコーディングされていることを特徴とする。
【0014】
請求項4の発明は、請求項3のカメラ校正用立体チャートにおいて、前記複数の単位図形は、前記錐体の底面に平行な複数の第1の直線と、前記錐体の頂点に相当する位置から放射状に伸びた複数の第2の直線との交差によって形成された複数の台形であり、前記複数の台形のサイズの複比がコーディングされていることを特徴とする。
【0015】
請求項5の発明は、請求項4のカメラ校正用立体チャートにおいて、前記角錐の頂点にマーカが設けられていることを特徴とする。
【0016】
請求項6の発明は、請求項5のカメラ校正用立体チャートにおいて、前記マーカが発光体を含むことを特徴とする。
【0017】
請求項7の発明は、請求項3のカメラ校正用立体チャートにおいて、前記錐体が角錐台であることを特徴とする。
【0018】
請求項8の発明は、請求項1ないし請求項7のいずれかに記載のカメラ校正用立体チャートにおいて、前記複数の単位図形のうち互いに隣接する単位図形には、互いに異なる明度または色相の色が付されていることを特徴とする。
【0019】
請求項9の発明のカメラ校正用チャートは、底面と側面とを有する錐体と、前記側面の1周分にわたって表示されたチャートと、を備え、前記チャートは、それぞれが既知のサイズを有する複数の単位図形の集合を含み、前記複数の単位図形のそれぞれの幾何学的形状は、前記集合内部につき、各単位図形と観測位置との相対的位置および相対的姿勢にかかわらず、前記観測位置からの観測によって相互に識別可能にコーディングされていることを特徴とする。
【0020】
請求項10の発明は、カメラの校正用パラメータを取得する方法であって、請求項1ないし請求項8のいずれかのカメラ校正用立体チャートを、被写体を収容すべき空間内に配置する工程と、前記カメラ校正用立体チャートの前記複数のチャートのうち少なくとも1つのチャートを、前記カメラに付随した観測位置から観測する工程と、観測されたチャートに含まれる少なくとも1つの単位図形を対象単位図形として抽出し、前記対象単位図形を、前記複数のチャートおよび前記複数の単位図形の中で同定する工程と、同定された前記対象単位図形についてあらかじめ特定されている実サイズと、前記観測位置から見た前記対象単位図形の観測サイズとの関係から、前記観測位置と前記カメラ校正用立体チャートとの相対的位置および相対姿勢に依存する前記カメラの校正用パラメータを特定する工程と、を備える。
【0021】
請求項11の発明は、カメラの校正用パラメータを求める装置であって、請求項1ないし請求項8のいずれかのカメラ校正用立体チャートを前記観測位置から観測して得たチャート画像から少なくとも1つの単位図形を対象単位図形として抽出し、前記対象単位図形を、前記複数のチャート相互間および前記複数の単位図形の中で同定する同定手段と、同定された前記対象単位図形についてあらかじめ特定されている実サイズと、前記観測位置から見た前記対象単位図形の観測サイズとの関係から、前記観測位置と前記カメラ校正用立体チャートとの相対的位置および相対姿勢に依存する前記カメラの校正用パラメータを算出する演算手段と、を備える。
【0022】
請求項12の発明のプログラムは、コンピュータを、請求項1ないし請求項8のいずれかのカメラ校正用立体チャートを前記観測位置から観測して得たチャート画像から少なくとも1つの単位図形を対象単位図形として抽出し、前記対象単位図形を、前記複数のチャート相互間および前記複数の単位図形の中で同定する同定手段と、同定された前記対象単位図形についてあらかじめ特定されている実サイズと、前記観測位置から見た前記対象単位図形の観測サイズとの関係から、前記観測位置と前記カメラ校正用立体チャートとの相対的位置および相対姿勢に依存する前記カメラの校正用パラメータを算出する演算手段として機能させることを特徴とする。
【0023】
【発明の実施の形態】
<システム構成の概要>
図1は、本発明の実施形態が適用された撮像演算システム1の構成を示す図であり、図2はこの撮像演算システム1のブロック図である。図1において、撮像演算システム1は、立体的な被写体30の画像を撮像可能な可搬性のカメラシステム10と、被写体30を収容した空間内において、被写体30の近傍に配置されたカメラ校正用の立体チャート2とを備えている。立体チャート2は、後に詳述するように、略角錐状の本体の各側面にチャートパターンが施された立体物であり、チャート支持具250から吊り下げられている。チャート支持具250は台座251から伸びる逆L字状のアーム252を備え、立体チャート2はそのアーム252の先端付近に固定されている。好ましくは、立体チャート2は被写体30の略上方に吊り下げられる。
【0024】
カメラシステム10は、デジタルカメラとしての機能を有する被写体撮影用カメラ(以下、「被写体用カメラ」と略す)13を備えている。また、この被写体用カメラ13の上部には、取付機構12を介して可動式カメラ11が姿勢変更自在に取り付けられている。可動式カメラ11は、立体チャート2の上のパターン(図3参照)に含まれる複数の単位図形UPを撮影することにより、立体チャート2と可動式カメラ11との相対的な位置姿勢関係を特定し、さらには立体チャート2に対して相対的に固定された絶対座標系における、被写体用カメラ13の位置および姿勢を検出するために使用される。
【0025】
図1には示されていないが、図2にあるように、この撮影演算システム1は、たとえばノートブック型の可搬性コンピュータ15を備えていてもよい。コンピュータ15は通信インターフェイス15aを介した無線通信によってカメラシステム10との間でコマンドやデータの授受が可能である。
【0026】
<立体チャートの概要>
図3は立体チャート2の側面図である。立体チャート2は、立体チャート本体203と、この立体チャート本体203の表面上に形成されたチャートパターンCPとを有している。
【0027】
このうち立体チャート本体203は、多角錐形状の表示部204と、角錐台状の支持部205とが一体化されており、内部は中空となっている。チャートパターンCPは、表示部204の各側面T1〜Tn(nは3以上の整数)上に付されたパターンP1〜Pnの集合である。好ましくは、多角錐の側面の数nは、n=3〜36であり、より好ましくはn=6〜12である。各側面T1〜Tnに形成されたそれぞれのパターンP1〜Pnは平面的パターンであるが、パターンP1〜Pnが立体的に配置されることにより、このパターンP1〜Pnの集合としてのチャートパターンCPは立体的パターンとなっている。それぞれのパターンP1〜Pnは、それぞれが単位図形として機能する複数の台形の集合であり、その詳細は後述する。
【0028】
また、表示部204を構成する多角錐の頂点には、可動式カメラ11がチャートパターンCPを追尾(トラッキング)する際に基準点とするマーカ201として、発光ダイオード(LED)が取り付けられており、これによって容易かつ正確に立体チャート2の位置が可動式カメラ11で認識できるようになっている。図3では図示されていないが、立体チャート2の内部には、この発光ダイオードに発光電力を供給するためのマーカ用電源202(図2)が内蔵されている。
【0029】
<可動式カメラ11の概要>
図4は可動式カメラ11の正面図であり、図5は可動式カメラ11のブロック図である。図5に示すように、可動式カメラ11では、レンズユニット110と、このレンズユニット110によって結像した2次元画像を光電変換する2次元受光素子111とが一体となって球状ユニット116に納められている。2次元受光素子111はCCDアレイである。レンズユニット110は、固定レンズ110aとズームレンズ110bとの組み合わせであり、それらの間に絞り/シャッタ機構110eが存在する。
【0030】
図4に示すように、球状ユニット116は姿勢装置113を介して固定部114に連結されており、球状ユニット116に内蔵された各要素とともにパン方向の±約70°の旋回(θ回転)と、チルト方向への±約70°の俯仰(φ回転)とが可能になっている。そして、これらのパン方向の回転駆動とチルト方向の回転駆動とを行うために、複数のピエゾ素子を内蔵した姿勢装置113が球状ユニット116の基部に配置されている。また、ズームレンズ110bの駆動に相当するズーム操作も、上記とは別のピエゾ素子によって行われる。これらのピエゾ素子にノコギリ波信号を与えることにより、ピエゾ素子による駆動の対象要素が寸動し、その繰返しによって対象要素に所要の動きが与えられる。パン方向の旋回角とチルト方向の俯仰角とは、それぞれエンコーダなどの角度センサ126p、126tによって検出され、ズームレンズ110bの駆動量はやはりエンコーダで構成されたセンサ126zによって検出される。これらの駆動機構については、たとえば特開1999−18000号や、特開1999−41504号に開示されている。
【0031】
制御演算部120は、2次元受光素子111からの信号を入力して画像認識などの処理を行う画像処理部121と、この画像処理部121で得られた画像信号を記憶する画像メモリ122とを備えている。また、ズームレンズ110b、姿勢装置113、および絞り/シャッタ機構部110eの駆動信号を発生して、これらに出力するカメラ制御部123が設けられており、画像処理部121およびカメラ制御部123は、通信部124および通信デバイス112を介して、被写体用カメラ13と無線通信が可能である。この通信により画像データが被写体用カメラ13に送信されるほか、各種情報が可動式カメラ11と被写体用カメラ13との間で送受信される。この実施形態の可動式カメラ11では、通信デバイス112として、赤外線通信を行うためのIRDA(Infrared Data Association)インターフェイスに対応した赤外線素子が使用されている。
【0032】
図4に示すように、固定部114に設けられた第1取付溝115aおよび第2取付溝115bは、被写体用カメラ11に固定部114を取り付けるために用いられる。さらに、追尾ボタン117は、可動式カメラ11に立体チャート2を自動的に追尾させるモード(以下、「自動追尾モード」と略す)と被写体用カメラ13からのユーザの指示により追尾させるモード(以下、「手動モード」と略す)とを切り換えるためのボタンである。
【0033】
図6はハードウエア構成から見た可動式カメラ11の情報処理機能の要部を示す図であり、図7は可動式カメラ11におけるデータの流れを示す図である。図6において、可動式カメラ11の制御演算部120はCPU130、ROM131およびRAM132を備えており、後記の各種の動作を実現するプログラム131aはROM131に記憶されている。
【0034】
2次元受光素子111は、画素ごとにRGBのいずれかのフィルタが付設されており、2次元受光素子111上に結像した光は、この2次元受光素子111によってRGB3原色成分ごとに光電変換される。これによって得られた信号がA/D変換部141によってデジタル画像信号に変換され、画像補正部142においてホワイトバランス補正やγ補正等を受ける。補正後の画像信号は画像メモリ122に保存される。図7における第1画像データD1は、この補正後の画像信号に相当する。
【0035】
図7の認識部145、姿勢制御部146は、CPU130、ROM131、RAM132などの機能の一部として実現される。
【0036】
認識部145は、追尾ボタン117からのユーザの指示に応答して能動化され、可動式カメラ11が取得した第1画像データD1の中から、立体チャート2の画像を認識し、第1画像データD1における立体チャート2の画像を追尾するための、追尾データDFを作成する。
【0037】
姿勢制御部146は、手動モードにおいて被写体用カメラ13から受信したユーザの指示に基づき、姿勢装置113を制御する。追尾ボタン117が押下され、自動追尾モードに変更された後においては、後述の処理によって、立体チャート2の像がCCD111上に常に結像されるように、姿勢装置113は制御される。
【0038】
CPU130はさらに、後述する処理によって図7の回転角データDRを作成する機能をも有する。
【0039】
また、被写体用カメラ13のシャッタボタンが押下されると、第1画像データD1と回転角データDRとは、通信部124を介して被写体用カメラ13に送信される。
【0040】
<被写体用カメラ13の概要>
図8は、ハードウエア構成から見た、被写体用カメラ13の情報処理機能の要部を示す図であり、図9は、被写体用カメラ13におけるデータの流れを示す図である。被写体用カメラ13はCPU150、RAM151およびROM152を備えており、後述する被写体用カメラ13の各種の動作を実現するプログラム152aは、ROM152に記憶されている。また、シャッタボタン161、フラッシュ162、背面に設置されたモニタ用カラーディスプレイ163、および操作ボタン群164などの要素も、CPU150と電気的に結合している。
【0041】
図8および図9に示すように、レンズユニット155を介して被写体30から入射した光は、画素ごとにRGBのいずれかのフィルタが付設された、CCDアレイなどの2次元受光素子156上に結像し、2次元受光素子156によってRGB3原色成分ごとに光電変換される。これによって得られた信号が、A/D変換部157によってデジタル画像信号に変換され、画像補正部158においてホワイトバランス補正やγ補正等を受ける。補正後の画像信号は画像メモリ159に記憶される。シャッタボタン161が押下されることにより撮影は実行され、画像メモリ159に記憶された画像信号が、第2画像データD2としてRAM151に保存される。
【0042】
通信部167は、通信デバイス168を介して、可動式カメラ11との間で、可動式カメラ11の各部の制御信号や、取得した画像データ等の各種情報を送受信する。たとえば、手動モードにおいて、ユーザが操作ボタン類164の一部を操作することにより得られた信号を、可動式カメラ11に送信することにより、可動式カメラ11の姿勢装置113を、ユーザの手動によって操作することが可能となる。また、被写体用カメラ13のシャッタボタン161の押下に応答して、被写体用カメラ13と可動式カメラ11の同時撮影を行うことも可能となる。
【0043】
通信デバイス168は、可動式カメラ11と赤外線通信を行うためのIRDA(Infrared Data Association)インターフェイスとしての赤外線素子であり、通信部167によって駆動される。
【0044】
カードスロット165は被写体用カメラ13にメモリカード166を装着するために使用され、このメモリカード166には撮影した画像データ等を保存可能である。
【0045】
図9の抽出部171、演算部173および表示制御部174は、図8のCPU150、RAM151、ROM152等により実現される機能である。
【0046】
抽出部171は、通信部167を介して可動式カメラ11から受信した第1画像データD1から、立体チャート2上の4点の抽出を行い、第1抽出点データDP1を作成する。また、抽出部171は、同様に、被写体用カメラ13により取得された第2画像データD2から立体チャート2上の4点の抽出を行い、第2抽出点データDP2を作成する。
【0047】
演算部173は、第1抽出点データDP1、回転角データDR、および第2抽出点データDP2から、可動式カメラ11と被写体用カメラ13との相対的な位置と姿勢を求め、相対位置データDPSを作成する。さらに、第1抽出点データD1、回転角データDR、および相対位置データDPSから、被写体撮影カメラ13と立体チャート2との相対的な位置と姿勢を求め、撮影データDMを作成する。撮影データDMは、RAM151に保存される。
【0048】
表示制御部174は、操作ボタン群164からのユーザの指示に基づいて、第2画像データD2と、撮影データDMとを、RAM151から取得して、メモリカード166に保存する。また、表示制御部174は、各種データに必要な処理を行ってディスプレイ163に表示させたり、メモリカード166に保存されている各種データをRAM151上に読み出したりする機能をも有する。
【0049】
<カメラ校正の原理>
任意の方向から被写体用カメラ13で被写体30を撮影して画像を得たときには、その撮影を行った際の、立体チャート2またはそれに固定された絶対座標系に対する、被写体用カメラ13の相対的な位置および姿勢を、外部パラメータとして特定しておく必要がある。それは、複数の方向からの撮影で得た各画像を組み合わせて被写体30の3次元画像モデルを構築するあたっては、各画像の空間的相互関係が必要だからである。
【0050】
しかしながら、実際に被写体30を撮影するときには、被写体用カメラ13の画角内に立体チャート2を入れることが困難な場合がある。そこで、
X0:立体チャート2に固定された座標系(絶対座標系);
X1:可動式カメラ11に固定された座標系(第1ローカル座標系);
X2:被写体用カメラ13に固定された座標系(第2ローカル座標系);
τ01:第1ローカル座標系X1から絶対座標系X0への変換関係;
τ02:第2ローカル座標系X2から絶対座標系X0への変換関係;
τ12:第1ローカル座標系X2から第2ローカル座標系X1への変換関係;
とするときに成り立つ、次の関係を利用する(τ01、τ02、τ12および後述のQ0、Q2は図示していない)。
【0051】
数1
τ02 = τ01・τ12
τ01、τ12が既知であれば、τ02が求められる。τ02が求められれば、2次元画像を撮影した被写体用カメラ13の第2ローカル座標系X2における位置・姿勢は、この変換τ02を作用させることにより、絶対座標系X0における位置・姿勢として求められる。絶対座標系における被写体用カメラ13の位置・姿勢を表す行列をQ0、第2ローカル座標系X2における被写体用カメラ13の位置・姿勢を表す行列をQ2とすると、
【0052】
数2
Q0 = {τ01・τ12}Q2 = τ02・Q2
のように求まることになる。
【0053】
したがって、被写体30に対して移動しつつ被写体用カメラ13で被写体30を撮影するつど、その撮影に対応する変換関係τ02を求めて、これを撮影画像に付随させれば、複数の方向で撮影した画像をX0 で組み合わせて被写体30の3次元画像モデルを得ることができる。
【0054】
この原理を実現する具体的プロセス(詳細は後述)は、第1サブプロセスと第2サブプロセスとに大別される。
【0055】
※第1サブプロセス:
これは、2つのカメラ座標系間の変換関係τ12を特定するための、サブプロセスである。
【0056】
まず、立体チャート2を可動式カメラ11と被写体用カメラ13とで同時に撮影し、それらの撮影結果を用いて、それぞれのカメラの外部パラメータ、すなわち絶対座標系X0でのそれぞれのカメラの位置および姿勢を求める。
【0057】
これは、その状態での変換関係τ02、 τ01を特定することに対応する。そして、数1から得られる、
【0058】
数3
τ12 = (τ01)-1 τ02
の関係から、第1ローカル座標系X1と第2ローカル座標系X2との変換関係τ12を得る。
【0059】
また、可動式カメラ11の回転角θ,φの値は、それぞれ角度センサ126p、126tによって検出される既知の値であるから、変換関係τ12から回転角依存部分を分離して、可動式カメラ11が基準姿勢(θ = 0、φ = 0)にあるときの基準変換関係τ12(0,0)を求めることができる。この基準変換関係τ12(0,0)は、カメラシステム10を移動させたり、可動式カメラ11を回転させても不変なオペレータである。変換関係τ12(0,0)が定まると、変換関係τ12は、回転角θ,φを変数として持つことになる。
【0060】
このようにして得られた変換関係τ12は、絶対座標系X0におけるカメラシステム10全体の位置や姿勢に依存しないので、カメラシステム10を他の場所に移動させてもそこでの変換演算に利用できる。
【0061】
※第2サブプロセス:
これは、第1サブプロセスの結果を使用しつつ、被写体30を複数の方向から撮影して画像データを得るとともに、それらの画像データのそれぞれにつき、第2ローカル座標系X2から絶対座標系X0への変換関係τ02に相当する情報を付加していくサブプロセスである。
【0062】
第2サブプロセスでは、被写体用カメラ13で被写体30を撮影すると同時に、可動式カメラ11で立体チャート2を撮影する。可動式カメラ11で撮影した立体チャート2の画像データから、第1ローカル座標系X1から絶対座標系X0への変換関係τ01が特定される。
【0063】
一方、第1サブプロセスによって、第2ローカル座標系X2から第1ローカル座標系X1への変換関係τ12の回転角依存性は特定されているから、被写体30を撮影するときの回転角θ,φの値から、変換関係τ12の具体的内容が特定される。したがって、変換関係τ12およびτ01を合成した変換関係τ02を、数4から得ることができる。
【0064】
数4
τ02 = τ01・τ12
そして、この変換関係τ02を表現する情報を、被写体用カメラ13で得た画像に付随させて記憶する。
【0065】
またこの第2サブプロセスは、複数の方向から被写体30を撮影するつど実行され、それによって、3次元画像モデルを得るための一群の情報が得られることになる。
【0066】
<撮影および校正プロセス>
図10および図11は、上記の原理にしたがった撮影および校正プロセスを示す図である。このうちステップS1からステップS5までは、可動式カメラ11と被写体用カメラ13とで立体チャート2を同時に撮影することによって、両者の相対位置・姿勢を求める、上記第1サブプロセスに対応する。また、ステップS6以後が、実際に被写体30の撮影を行う上記第2サブプロセスに対応する。
【0067】
(1) カメラ間の相対位置の決定(第1サブプロセス):
まず、可動式カメラ11と被写体用カメラ13とのそれぞれが、自身で保持している内部パラメータの情報を読み出し、それらに基づいて内部パラメータの校正を行う(ステップS1)。このような内部パラメータとしては、レンズシステムの焦点距離などがある。たとえば、焦点距離が比較的短いことによって実質的な結像倍率Mが小さい場合、立体チャート2の画像は、その2次元受光素子上に比較的小さいサイズで結像する。また、焦点距離が比較的長いことによって実質的な結像倍率Mが大きい場合、立体チャート2の画像は、その2次元受光素子上に比較的大きいサイズで結像する。このため、2次元受光素子上における画像のサイズを、実質的な結像倍率Mで除算することによって、焦点距離に依存しない基準状態に換算される。このような処理が内部パラメータによるカメラ校正であり、これは被写体用カメラ13内で自動的に行うことができる。
【0068】
このような内部パラメータによる校正が完了した後、ユーザはカメラシステム10を手に持ち、被写体用カメラ13を立体チャート2に向ける。次に、この姿勢を保ちながら、立体チャート2が可動式カメラ13の画角に入るように、レンズユニット110の回転角度を手動で指定する(ステップS2)。この動作の際には、可動式カメラ13の出力画像がディスプレイ163にライブ表示されており、これによってユーザは、立体チャート2が可動式カメラ13の画角に入ったかどうかを視覚的に確認できる。
【0069】
立体チャート2が可動式カメラ11の画角の中に入った後、ユーザが自動追尾ボタン117を押すと、自動追尾プログラムが能動化される。姿勢制御部146から姿勢装置113に駆動出力が与えられて、マーカ201を追尾しつつ、立体チャート2が常に画角の中央にくるように、可動式カメラ11が自動制御されるようになる。ここでユーザがシャッタボタン161を押すと、可動式カメラ11において第1画像データD1が、被写体用カメラ13において第2画像データD2が得られる(ステップS3)。図12に可動式カメラ11と被写体用カメラ13とで同時に得られた画像データの例を示す。このうち、図12(a)が可動式カメラ11の撮像画像例、図12(b)が被写体用カメラ13の撮像画像例である。図12(a)、(b)のいずれにおいても、画像平面をxy直角座標系で定義された平面とし、xy平面に垂直で、画像より手前に向かう方向をz軸としている。なお、第i層という呼び方については、後述する図18での定義に準じている。
【0070】
そして、このステップS3では、たとえば、図12(a)、(b)で共通の4つの格子点C1〜C4の2次元座標値をそれぞれの画像平面上で特定し、それらの2次元座標値を後述するアルゴリズムで処理することによって、可動式カメラ11と被写体用カメラ13とのそれぞれの外部パラメータを算出する。
【0071】
撮影が完了すると、第1画像データD1および姿勢装置113の回転角データDRが、通信によって可動式カメラ11から被写体用カメラ13に送られる。被写体用カメラ13では、これらに基づいて、可動式カメラ11の外部パラメータ、すなわち立体チャート2に対する可動式カメラ11の相対位置と相対姿勢とが計算される。また、第2画像データD2からは、被写体用カメラ13の外部パラメータ、すなわち立体チャート2に対する被写体用カメラ13の相対位置と相対姿勢とが計算される(ステップS4)。なお、この計算に必要な情報が得られない場合には、ステップS3に戻って立体チャート2の撮影を繰り返す。
【0072】
この外部パラメータの算出は、
1) カメラの内部パラメータ、および
2) 絶対座標系に固定された同一平面上にある4点以上の点の3次元座標値、
が既知であり、かつ、
3) これらの点に対応する撮影画像上の点の2次元座標値が算出可能、
という条件の下で行うことができる。この算出に利用することができるアルゴリズムは、たとえば下記の文献に開示されており、以下では「多点解析アルゴリズム」と呼ぶことにする。
【0073】
・L.Quan, Z.Lan, "Linear N-Point Camera Pose Determination", IEEE Trans.PAMI 21(8) 1999:
・高橋、石井、牧野、中静、”人工現実感インターフェースのための単眼画像からのマーカの位置と姿勢の計測"、電子情報論文誌AJ79 1996。
【0074】
次に、ステップS4で得られたそれぞれのカメラ11,13の外部パラメータと、可動式カメラ11の回転角データDRとから、可動式カメラ11と被写体用カメラ13との相対位置・姿勢(以下これらを「カメラ間パラメータPMC」と呼ぶ)が求められる(ステップS5)。
【0075】
ステップS5において用いられる座標変換の様子を図13に示す。図13における各座標系などの定義は以下の通りである。
【0076】
X0 …立体チャート2に対して相対的に固定された3次元直角座標系(絶対座標系);
θ …可動式カメラ11の旋回角;
φ …可動式カメラ11の俯仰角;
X1(θ,φ) …可動式カメラ11からの観測空間に相当する3次元直角座標系(第1ローカル座標系);
X1h …角度θ,φの双方がゼロの場合の第1ローカル座標系;
X2 …被写体用カメラ13からの観測空間に相当する3次元直角座標系(第2ローカル座標系)。
【0077】
ステップS4によってそれぞれのカメラ11,13の外部パラメータが得られるため、絶対座標系X0 における第1ローカル座標系X1(θ,φ)の位置および姿勢が決定され、したがって第1ローカル座標系X1(θ,φ)から絶対座標系X0 への座標変換が、回転行列RC1、および平行移動ベクトルTC1を用いて、
【0078】
数5
X0 = RC1X1(θ、φ)+TC1
のように定まる。同様に、第2ローカル座標系X2から絶対座標系X0 への座標変換が、回転行列RC2 、および平行移動ベクトルTC2を用いて、
【0079】
数6
X0 = RC2X2+TC2
のように定まる。これら数5、数6がそれぞれ、既述した変換関係τ01、τ02 に相当する。
【0080】
回転角θ,φがゼロでないことによる回転変換は、可動式カメラ11の姿勢装置113が有する回転機構の設計データから、回転行列RX(θ,φ)および平行移動ベクトルTX(θ,φ)を用いて、
【0081】
数7
X1 = RX(θ,φ)X1h+TX(θ,φ)
の形式で得られる。第2ローカル座標系X2から、回転角θ,φがともにゼロのときの第1ローカル座標系X1hへの座標変換が、回転行列Rhおよび平行移動ベクトルThを用いて、
【0082】
数8
X1h= RhX2+Th
と表されるとすると、数8が、変換関係τ12(0,0)に相当する。また、数8を数7に代入すると、
【0083】
数9
X1 = Rm(θ,φ)X2+Tm(θ,φ)
が得られる。ただし、
【0084】
数10
Rm(θ,φ) = RX(θ,φ)Rh
Tm(θ,φ) = RX(θ,φ)Th +TX(θ,φ)
である。数9および10が、変換関係τ12 に相当する。
【0085】
したがって、立体チャート2上を可動式カメラ11と被写体用カメラ13とで同時に撮影したそれぞれの画像から、それぞれのカメラの外部パラメータを求めれば、既述した変換関係τ12 に相当するものとしての数9、数10の変換式が特定される。これが図9の相対位置データDPSである。また、角度θ、φの具体的な値は角度センサ126p、126tによって角度データDRとして検出される。
【0086】
(2) 被写体の撮影とカメラの校正(第2サブプロセス):
ステップS5が終了すると、被写体30の撮影を行うため、カメラシステム10を適宜移動させる。このとき、可動式カメラ11は、自動追尾により常に立体チャート2を画角に捉えている(ステップS6)。
【0087】
被写体用カメラ13によって被写体30が、可動式カメラ11によって立体チャート2がそれぞれ撮影可能な状態になったところで、被写体用カメラ13のシャッタボタン161を押下すると、それぞれのカメラで同時に撮影が行われる(ステップS7)。図14に、これらのカメラ11,13で得られた画像例を示す。図14(a)が可動式カメラ11の撮像で得られる画像例であり、図14(b)が被写体用カメラ13の撮像画像例である(楕円によって被写体30の画像を単純化してある)。座標軸の取り方については図12と同様である。図14(a)の状態では、立体チャート2から可動式カメラ11までの距離や方向が図12(a)とは異なっているため、可動式カメラ11は立体チャート2のうち図12(a)とは異なる部分を撮影している。しなしながら、可動式カメラ11がマーカ201を自動追尾していることによって、マーカ201は常に可動式カメラ11の画角内の同一位置に写っている。
【0088】
このとき、可動式カメラ11で得られた画像から、ステップS4と同様に、可動式カメラ11の絶対座標系X0における位置および姿勢(外部パラメータPM1)が求められる(ステップS8)。
【0089】
この可動式カメラ11の外部パラメータPM1と、ステップS5で求めたカメラ間パラメータPMC、およびステップS7における可動式カメラ11回転角θ、φのそれぞれの値θ'、φ'から、被写体用カメラ13の、立体チャート2に対する相対位置・姿勢(すなわち被写体用カメラ13の外部パラメータPM2)が求められる(ステップS9)。
【0090】
撮影後、被写体30の画像データD2とともに、撮影時の被写体用カメラ13の外部パラメータPM2の値が、RAM151、あるいはメモリカード176に記録される(ステップS10)。
【0091】
ステップS6からの撮影処理を、被写体30に対するカメラシステム10の方向を変化させつつ、複数回繰り返す。そして、被写体30の3次元画像モデル を構築するために必要な数の第2画像データD2、およびそれぞれについての外部パラメータPM2の値が得られると、この第2サブプロセスは完了する。外部パラメータPM2は、図9の撮影データDMに相当する。
【0092】
上記のステップS9において用いられる座標変換の様子を、図15に示す。図15において、座標系X0、X1(θ,φ)、X2などの記号の定義は、図13と共通である。被写体撮影時の、可動式カメラ11のカメラ回転角をθ’、φ’とする。
【0093】
可動式カメラ11によって得られる立体チャート2の画像を、多点解析アルゴリズムで解析することにより、絶対座標系X0における可動式カメラ11の位置と姿勢(すなわち可動式カメラ11の外部パラメータPM1)が特定され、それによって可動式カメラ11の第1ローカル座標系X1(θ’,φ’)との変換関係:
【0094】
数11
X0 = RCP1X1(θ',φ')+TCP1
が定まる。
【0095】
また、第1ローカル座標系X1(θ’,φ’)と第2ローカル座標系X2との変換関係は、数9〜数10によって、
【0096】
数12
X1(θ',φ') = Rm(θ',φ')X2+Tm(θ',φ')
Rm(θ',φ') = RX(θ',φ')Rh
Tm(θ',φ') = RX(θ',φ')Th +TX(θ',φ')
で与えられる。
【0097】
よって、数11、数12より、第2ローカル座標系X2で表現された位置および姿勢から、絶対座標系X0での位置および姿勢に変換する変換関係が、
【0098】
数13
X0 = RCP1 Rm(θ',φ')X2+RCP1Tm(θ',φ')+TCP1
のように得られる。
【0099】
数13に現れている諸量のうち、回転行列 RCP1および平行移動ベクトルTCP1は可動式カメラ11についてのものであって、可動式カメラ11の外部パラメータPM1から決定される。また、回転行列Rm(θ',φ')および平行移動ベクトルTm(θ',φ')は、あらかじめ特定しておいた関数形Rm(θ,φ)、Tm(θ,φ)に、角度センサ126p、126tによって検出された角度値θ',φ'を代入して決定される。
【0100】
したがって、数13を、
【0101】
数14
X0 = RCP2X2+TCP2
RCP2 = RCP1 Rm(θ',φ')
TCP2 = RCP1Tm(θ',φ')+TCP1
の形に変形すると、回転行列RCP2および平行移動ベクトルTCP2は、被写体用カメラ13の外部パラメータPM2を表現した内容となっている。それらは撮影データDM(図9)として、第2画像データD2とともに保存され、第2画像データD2に基づいて3次元画像モデルを構築する際に、複数の方向から得られた被写体30の画像を組み合わせるために使用される。この3次元画像モデルの構築は、コンピュータ15で行ってもよく、他の演算システムで行ってもよい。
【0102】
<複比のコーディングによるチャートの識別>
ここからは、立体チャート2の側面のコーディングの方法について説明する。図3に示すように、立体チャート本体203の表示部204は正多角錐であり、その各側面T1〜Tnは同一の二等辺三角形状をしている。その表面には、当該側面を構成する三角形の底面方向DR1(図16参照)に平行な複数の直線L1と、立体チャート2の頂点に相当する頂点x0を通る放射線状の複数の直線L2とが描画されている。これらの直線の交差によって作られる台形形状の単位図形UP(以下これを「単位台形」という)は、画像処理の際に直線の抽出が容易になるよう、交互に異なる明度の色で塗り分けられて高コントラストパターンとされている。典型的には第1の組の単位台形UP1が黒であり、第2の組の単位台形UP2が白である。
【0103】
そして、これらの単位台形UPのサイズが、複比によりコーディングされている。より具体的には、
1) これらの単位台形UPを成す直線群L1の相互間の間隔と、
2) 直線群L1と直線群L2との交点(格子点)の底面方向DR1における間隔と、
のそれぞれを、複比によりコーディングする。図17にこの複比の概念を示すが、複比は任意の視点を通した空間射影によって変化しない値であり、3次元空間に存在する直線上の4点P1〜P4から求められる複比DR:
【0104】
数15
DR=Va/Vb
Va=dis(P0P1)・dis(P2P3)
Vb=dis(P0P2)・dis(P1P3)
ただし、記号dis(P0P1)は点P0と点P1との距離を示す:
は、その直線を視点Oを通して任意の平面上に射影したときに、それら4点P1〜P4に対応する4点P'1〜P'4から求まる複比DR':
【0105】
数16
DR'=Va'/Vb'
Va’=dis(P'0P'1)・dis(P'2P'3)
Vb’=dis(P'0P'2)・dis(P'1P'3)
と等しいことが知られている。
【0106】
この性質を利用すると、図3および図16に示したような単位台形UPを成す直線群L1相互の間隔を、各単位台形UPを形成する層ごとに複比でコーディングし、かつ底面方向DR1での格子点相互の間隔を、各側面T1〜Tnごとに異なる複比でコーディングしておくと、立体チャート2を可動式カメラ11や被写体用カメラ13で撮影した画像に含まれている各単位台形UPが、立体チャート2の側面T1〜Tnのうちのどの側面に存在する、どの単位台形であるかを、一意的に識別できるようになる。以下にその一例を示す。
【0107】
図16では、底面に垂直な方向(頂点方向DR2)に配列する直線L1の間隔が、複比によってコーディングされた例を示している。複数の単位台形のうち、互いに連続する3つの単位台形の高さの複比が、3つの単位台形の組ごとに異なるようにコーディングされている。
【0108】
すなわち、立体チャート2の頂点x0を端点として、底辺に平行な直線x1、x2…が定義されており、「第i層」を、「直線xiと直線x(i+1)との間の領域」として定義するとき、第i層〜第(i+3)層(i=1,2,…)の、頂点方向DR2方向のそれぞれの位置の複比DRiが、
【0109】
数17
DRi=Vai/(Vbi・Vb(i+1))
Vai=dis(xix(i+1))・dis(x(i+2)x(i+3))
Vbi=dis(xix(i+1))+dis(x(i+1)x(i+2))
Vb(i+1)=dis(x(i+1)x(i+2))+dis(x(i+2)x(i+3))
ないしは、これを書き換えて、
【0110】
数18
DRi=Vai/VBi
Vai=dis(xix(i+1))・dis(x(i+2)x(i+3))
VBi=dis(xix(i+2))+dis(x(i+1)x(i+3))
と定義され、それぞれの複比DRiが図18に示すような値とされている。それぞれの単位台形は、角錐体の底面に近いほどサイズ(幅および高さ)が増大している。
【0111】
また、この実施形態では、頂点方向DR2の直線x1、x2・・・の間隔の移動平均は、頂点からの距離に略比例するように決められている。すなわち、図18から各層の位置は、「17.000、22.500、31.000…」であって、それらの差は
5.500(=22.500−17.000)
8.500(=31.000−22.500)
…
となっており、これら一連の差のうち連続した4つの移動平均は図19のようになる。図19からわかるように、各層の位置の差(層の厚さ)の移動平均は漸増しているが、「移動平均/(頂点からの層の)位置」すなわち比例係数に相当する値の変動は、約20%以内である。したがって、移動平均は、頂点からの距離にほぼ比例している。
【0112】
一方、頂点を中心として放射状に伸びる直線y1、y2…と、上記直線x1、x2…の交点の、底面方向DR1についての間隔については、立体チャート2の各側面T1〜Tnが相互に識別できるように決定しておく。図20に、立体チャート2が六角錐である場合の例を示す。図16および図20においてa、b、c、dは底辺における直線y1、y2…間の間隔である。
【0113】
この例では、
【0114】
数19
DRα=(a・c)/{(a+b)・(b+c)}
DRβ=(b・d)/{(b+c)・(c+d)}
として定義される2種類の複比DRα、複比DRβのそれぞれが、
1) それぞれの側面Tj(j=1〜6)の中では、直線x1、x2…のいずれにおいても、直線y1、y2…とのそれぞれの交点の列について共通であり、かつ
2) 異なる側面の相互では互いに異なる、
ように、それらの値がコーディングされている。
【0115】
<撮影箇所の同定>
図21は、可動式カメラ11や被写体用カメラ13による立体チャート2の撮影において、立体チャート2のどの部分が撮影されているのかを同定するプロセスを示すフローチャートである。図22は、直線のグルーピングについての説明図である。
【0116】
※直線のグルーピング:
まず、撮像された画像の濃淡のエッジを抽出する(ステップS91)。エッジを抽出する方法は、Sobelオペレータなど様々な手法が知られており、たとえば、長尾真著「画像認識論」コロナ社,1983に開示されたアルゴリズムを使用する。図22(a)の画像について、エッジを抽出した例が図22(b)である。
【0117】
次に、抽出されたエッジから直線を抽出する(ステップS92)。直線を抽出する方法は、HOUGH変換が一般的な手法として知られており、たとえば上記長尾真の文献に記載された方法を用いてエッジ画像から複数の直線を抽出し、撮像上の2次元平面における直線の式を決定できる。図22の(b)について、エッジを抽出した例が図22(c)である。
【0118】
抽出された複数の直線は、直線の性質ごとに以下のような複数のグループにグルーピングされる(ステップS93)。
【0119】
・平行な直線群(以下これをαiとする。iは傾きが同じ直線群を表す);
・αiに属する各々の直線の端点を通る直線(これをβとする);
・αiに交差する直線群(以下これをγiとする。iは交差する直線群αiのiと対応している)。
【0120】
図22(c)の例では、各直線が、傾きの異なる2つの直線群α1、α2と、これらに対応する直線群γ1およびγ2、さらに交差直線βにグルーピングされることになる。
【0121】
さらに、交差直線βおよびγiは1点で交わっていることから、この交点が立体チャート2のマーカ201に相当する。これより、立体チャート2を成す錐の辺に相当する直線が直線β、底面に平行な直線が直線αi、錐の側面を通る直線が直線γiであると判断することができる。これにより、画像上の単位台形のそれぞれに関連する交点の複比を算出する。
【0122】
※撮影箇所の同定:
まず、撮影を行う前に、立体チャート2の各側面T1〜Tnにおける直線群について、絶対座標系X0で表した交点(格子点)の座標と、それらの交点の間隔から計算される複比のデータとを、RAM151(図8)にあらかじめ記憶しておく。そして、カメラ11または13によって立体チャート2を撮影した際に、それによって得られた画像から、頂点方向DR2に連続する3つの層、ないしは単位台形を特定して、それらの高さから複比を算出する。
【0123】
図23に、立体チャート2の同じ側面を、異なる距離から撮影したときの画像例を示す。図23(a)は遠距離から、図23(b)は近距離から撮影した例である。単位台形の頂点方向DR2の間隔は、頂点からの距離に略比例している。
【0124】
直線の間隔についての複比を計算するには、同一直線上で連続する4点が観測できればよい。すなわち、画角内にあり、かつ複比を精度よく計算するのに十分な間隔で連続する4つの直線が、それらと交差する他の1直線との関係で観測できればよいことになる。多数の直線が画像中に存在する場合は、たとえば次の直線と所定の閾値間隔以上の間隔を持ち、かつ頂点(マーカ201)の直上側において、頂点に最も近い位置で配列している4直線を選択する。そしてその4本の直線と、頂点方向DR2に沿って伸びる1つの直線との4交点を抽出し、それらの間隔の複比を計算する。この抽出において得られるデータのうち、可動式カメラ11の撮影で得られるものが図9の第1抽出点データDP1であり、被写体用カメラ13の撮影で得られるものが第2抽出点データDP2である。
【0125】
図23(a)では、それぞれが底面方向DR1に伸び、かつ第7層から第9層のそれぞれの上下を規定する4直線x7〜x10を、また、図23(b)では第3層から第5層のそれぞれの上下を規定する4直線x3〜x6を、この4直線として選択できる。このようにして4直線を選択することにより、いずれの画像においても、十分に複比の算出が可能となる。複数の側面が撮影されていれば、たとえば最も画像中心に近い側面を選択する。
【0126】
また、立体チャート2が角錐形状であるため、種々の方向から立体チャート2の撮影を行っても、自動追尾によりマーカ201を検出していれば、少なくとも1つの側面を十分に観測することが可能である。
【0127】
このようにして選択された4直線で挟まれるエリアに存在する、複数の単位台形のうちの1つを、対象単位台形(対象単位図形)として選択する。対象単位台形は、たとえば上記の4直線の中の中間側の2直線で挟まれ、かつ画面の中央に最も近い単位台形を選択するというような選択規則によって選ぶことができる。図23の例では、たとえば単位台形UPA、UPBを対象単位台形として選択することができる。
【0128】
そして、上記4直線につき、頂点方向DR2について画像上の間隔から複比を対象複比として求め、RAM151にあらかじめ記憶しておいた各側面の直線間隔の複比の値(図18)を、対象複比と比較して照合する。これにより、その4直線が、立体チャート2の何層目から何層目を規定する4直線であり、かつ対象単位台形が、立体チャート2のどの単位台形であるかを特定することができる(ステップS94)。
【0129】
ところで、角錐体の底面に近いほど、単位台形の頂点方向のサイズを増大させていることによって、以下のような利点がある。
【0130】
まず、比較的近い距離から立体チャート2を撮影することによって、比較的少数の単位台形だけが画像内に存在する場合(図23(b))には、マーカ201に近い単位台形が比較的大きく撮影される。
【0131】
逆に、比較的遠い距離から立体チャート2を撮影することによって、各単位台形の撮影サイズが比較的小さくなる場合には、角錐の底面に近い、実サイズが大きな単位台形が画像内に存在するため(図23(a))、それは画像上の観測サイズとしてあまり小さくならない。
【0132】
したがって、近距離からの撮影の場合と、遠距離からの撮影の場合との双方において、常に画像処理における精度を確保するために十分なサイズを持つ単位図形が画像に含まれていることになり、その結果、撮影距離にあまり依存せずに演算精度を高くできる。これが、角錐体の底面に近いほど、単位台形の頂点方向のサイズを増大させていることの利点である。
【0133】
対照単位台形が同定されたことによって、立体チャート2に対するカメラの相対位置・姿勢、すなわち絶対座標系X0における外部パラメータの算出が可能となる(ステップS95)。以下にこれを説明する。
【0134】
まず、RAM151には、図20に示す角錐の側面T1〜Tnごとの距離a、b、c、dの複比と、角錐の各側面T1〜Tnが絶対座標系X0のどの方向に向いているかの情報とが、互いに関連づけられ、テーブルとしてあらかじめ記憶されている。したがって、上記4直線のうちの1つ(たとえば図23(a)の例では、対象単位台形の辺のうち頂点に近い辺が属する直線x7)上で底面方向DR1に連続する4交点の画像上の座標を特定し、それらの間隔の複比を計算して上記テーブルと照合することにより、対象単位台形が属する側面を、その時点でカメラにほぼ正対している観測側面として同定する。そして観測側面が側面T1〜Tnのうちのいずれかであるかによって、立体チャート2に対するカメラの相対姿勢を絶対座標系X0において知ることができる。
【0135】
立体チャート2に対するカメラの相対姿勢をさらに詳細に知るには、たとえば対象単位台形の4頂点の座標値から、その対象単位図形の外周を規定する4辺の長さの比を求める。この比は、絶対座標系における対象単位台形の法線方向からカメラの撮像軸線がどれだけ傾いているかによって変化する。したがって、この比から当該側面の法線方向からのカメラの撮像軸線の方向を特定できる。
【0136】
対象単位台形が特定され、立体チャート2に対するカメラの相対姿勢が求められると、あらかじめRAM151に記憶させておいた各単位台形の実サイズ情報のうち、その対象単位台形に対応する単位台形の実サイズ情報を読み出す。そしてその対象単位台形について、画像上のサイズとその実サイズとの比率rを求める。比率rは、立体チャート2とカメラとの距離L、および立体チャート2に対するカメラの相対姿勢の関数であるが、相対姿勢は上記のように求められることから、距離Lは結局、比率rの関数f(r)として表現できることになる。よって、この関数f(r)に相当する演算式または数値テーブルを記憶しておくことにより、比率rから距離Lが計算できる。距離Lと、立体チャート2に対するカメラの相対姿勢とから、立体チャート2に対するカメラの相対位置が求められる。
【0137】
以上のように、本実施形態に係る立体チャート2を撮影することによって、カメラの位置および姿勢の校正のための校正パラメータのうち、外部パラメータを正確に取得することができる。
【0138】
<変形例>
◎1つの対象単位図形だけでなく、複数の対象単位図形を選択してそれぞれにつき外部パラメータを計算し、得られた複数の外部パラメータを平均化すれば外部パラメータの計算精度がさらに向上する。
【0139】
◎上記の実施形態では、被写体用カメラ13においてカメラの外部パラメータの計算を行っており、被写体用カメラ13が校正用情報処理装置として機能する。その代わりに、コンピュータ15(図2)が双方のカメラ11,13と通信し、このコンピュータ15によって、各々のカメラ11,13の同期制御や、画像データの演算処理、およびデータの保存を行うことができる。この場合にはコンピュータ15がカメラの校正用情報処理装置として機能する。
【0140】
◎可動式カメラ11において画像データの演算処理を行って外部パラメータを算出し、コンピュータ15または被写体用カメラ13と通信する構成をとってもよい。これらの装置間の情報伝達を、通信ケーブルを介して行ってもよい。
【0141】
◎上記実施形態では、可動式カメラ11の外部パラメータの算出は、被写体用カメラ13が撮影を行った際にのみ実行されているが、可動式カメラ11がリアルタイムに捉えている立体チャート2の画像から、立体チャート2のどこを捉えているのかを逐次求めて、外部パラメータをリアルタイムで算出してもよい。この場合、画像上における立体チャート2の頂点の位置を、リアルタイムで把握することからマーカ201を省略できる。
【0142】
◎また、上記の実施形態において、画像から抽出された直線をグルーピングした後に直線の交点、すなわち単位台形の格子点座標を求めているが、コーナー抽出オペレータにおいて格子点の座標を抽出した後、格子点を通る直線を決定してもよい。あるいは、立体チャート2上の直線をどのように射影すれば、得られたエッジ画像と合致するかを、繰り返し演算処理を行うことで求め、それによって外部パラメータを算出してもよい。
【0143】
◎上記の実施形態において4直線の抽出を行うに際しては、立体チャート2の頂点は、必ずしも必須ではない。そこで、立体チャート2として、角錐体のうち頂点を含む部分を底面に平行な平面で切り落としてできる立体、たとえば図24(a)のような角錐台形状の立体を用いることができる。
【0144】
◎隣接する単位台形は、互いに異なる色相で塗り分けられていてもよい。
【0145】
◎可動式カメラ11と被写体カメラ13とは、連結機構を介して間接的に連結してもよい。
【0146】
◎立体チャート2は、床上に配置することもできる。このときには角錐体の底面を下に向けることが好ましい。
【0147】
◎立体チャート2は、正多角錐ではない多角錐(非等多角錐)でもよい。もっとも、正多角錐を使用することにより、周囲の各方向からの単位図形の観測精度が同程度となるという利点がある。
【0148】
◎図24(b)のように、立体チャート2として円錐を用いることもできる。この場合にはチャートは単一の側面としての曲面上に描かれるため、単位台形の識別に際して曲線間の間隔の複比を求めるように構成する。また、円錐の場合には側面は1つであるため、側面相互の区別は不要であり、側面に沿って一周する範囲の各単位台形の辺の複比をすべて異なるように構成する。円錐の場合にはその周囲のすべての方向につき同精度で単位図形の観測が可能である。
【0149】
◎可動式カメラ11の手動による操作を、被写体用カメラ13の操作キーにより行える装置構成であってもよい。
【0150】
◎マーカ201に発光性を持たせず、蛍光塗料を塗布したものなどであってもよく、単なる頂点であっても追尾(トラッキング)に使用することができる。
【0151】
【発明の効果】
以上、説明したように、請求項1ないし請求項8の発明によれば、単位図形が各方向に存在しており、立体チャートをどの方向から観測しても少なくとも1つの単位図形がその正面に近い方向から観測できるとともに、コーディングによって、その単位図形が錐体のどの側面のどの位置に形成された単位図形であるかを識別できるようになっているため、カメラの校正パラメータ測定において広い可動範囲を確保しつつ高い測定精度が得られる。
【0152】
特に、請求項2の発明では、錐体の底面に近いほどサイズが増大しているため、頂点側を中心としてチャートの画像を撮影することにより、立体チャートとカメラとの距離にかかわらず、画像中の単位図形のサイズを比較的大きくできる。
【0153】
特に、請求項3の発明では、各錐を使用していることにより、各側面が平面となり、その画像処理が容易である。
【0154】
特に、請求項4の発明では、台形の高さの複比によってコーディングされているため、比較的簡単なアルゴリズムで単位図形を同定できる。
【0155】
特に、請求項5の発明では、角錐の頂点にマーカが設けられているためにその追尾が容易かつ正確である。
【0156】
特に、請求項6の発明では、マーカが発光体を含むため、その追尾が特に容易かつ正確である。
【0157】
特に、請求項8の発明では、隣接する単位図形には、互いに異なる明度または色相の色が付されているため、その画像認識が容易である。
【0158】
請求項9の発明によれば、側面が1つの錐体につき単位図形が各方向に存在しており、立体チャートをどの方向から観測しても少なくとも1つの単位図形がその正面に近い方向から観測できるとともに、コーディングによって、その単位図形が錐体のどの位置に形成された単位図形であるかを識別できるようになっているため、カメラの校正パラメータ測定において広い可動範囲を確保しつつ高い測定精度が得られる。
【0159】
また、請求項10ないし請求項12の発明によれば、請求項1ないし請求項8の立体チャートを利用して、広い可動範囲を確保しつつ高い測定精度でカメラの校正パラメータを測定可能である。
【図面の簡単な説明】
【図1】本実施形態に係る校正用チャートを用いた撮像演算システムの構成例を示す図である。
【図2】図1の撮像演算システムのブロック図である。
【図3】本実施形態に係る校正用立体チャートの側面の例を示す図である。
【図4】チャート撮影用可動式カメラの正面図である。
【図5】チャート撮影用可動式カメラのブロック図である。
【図6】チャート撮影用可動式カメラの情報処理機能の要部を示す図である。
【図7】チャート撮影用可動式カメラのデータの流れを示す図である。
【図8】被写体撮影用デジタルカメラの情報処理機能の要部を示す図である。
【図9】チャート撮影用可動式カメラのデータの流れを示す図である。
【図10】本実施形態に係るカメラ校正用チャートを用いた撮影および校正の手順のうち、第1サブプロセスに相当する手順を示す図である。
【図11】本実施形態に係るカメラ校正用チャートを用いた撮影および校正の手順のうち、第2サブプロセスに相当する手順を示す図である。
【図12】チャート撮影用可動式カメラと被写体撮影デジタル用カメラが、同時に本発明に係るカメラ校正用チャートを撮影したときの、各々の撮像例を示す図である。
【図13】チャート撮影用可動式カメラに対する、被写体撮影用デジタルカメラの相対位置・姿勢を算出する際に用いる、座標変換の様子を示す図である。
【図14】被写体撮影用デジタルカメラが被写体を撮影するときの、チャート撮影用可動式カメラと被写体撮影用デジタルカメラの撮像例を示す図である。
【図15】チャート撮影用可動式カメラに対する、被写体撮影用デジタルカメラの相対位置・姿勢を算出する際に用いる、座標変換の様子を示す図である。
【図16】本実施形態に係る立体チャートの側面において、単位台形のサイズが、複比によってコーディングされた例を示す図である。
【図17】複比が射影により変化しないことを説明する図である。
【図18】コーディングに用いられる複比の例を示す図である。
【図19】図18から得られる直線の間隔の移動平均が、頂点からの距離にほぼ比例していることを示す図である。
【図20】本実施形態に係る立体チャートを六角錐とした場合に、各面に用いられるコーディングの例を示す図である。
【図21】本実施形態に係る立体チャートを撮影した画像から、立体チャート上の撮影箇所を同定する手順を示す図である。
【図22】本実施形態に係る立体チャートの撮像における、直線の抽出の例を示す図である。
【図23】本実施形態に係る立体チャートの同じ側面を、異なる距離から撮影したときの撮像の例を示す図である。
【図24】本実施形態の変形例である立体チャートの例を示す図である。
【符号の説明】
1 撮像演算システム
2 校正用立体チャート
11 可動式カメラ
13 被写体用カメラ
30 被写体
201 マーカ
UP 単位台形(単位図形)
Claims (12)
- 底面と複数の側面とを有する錐体と、
前記複数の側面のそれぞれに表示された複数のチャートと、
を備え、
前記複数のチャートのそれぞれは、それぞれが既知のサイズを有する複数の単位図形の集合を含み、
前記複数の単位図形のそれぞれの幾何学的形状は、前記集合内部と前記複数のチャート間との双方につき、各単位図形と観測位置との相対的位置および相対的姿勢にかかわらず、前記観測位置からの観測によって相互に識別可能にコーディングされていることを特徴とするカメラ校正用立体チャート。 - 請求項1のカメラ校正用立体チャートにおいて、
前記複数の単位図形は、前記錐体の底面に近いほどサイズが増大していることを特徴とするカメラ校正用立体チャート。 - 請求項2のカメラ校正用立体チャートにおいて、
前記錐体が角錐であり、
前記複数のチャートは、各チャートと観測位置との相対的位置および相対的姿勢にかかわらず、前記観測位置からの観測によって相互に識別可能にコーディングされていることを特徴とするカメラ校正用立体チャート。 - 請求項3のカメラ校正用立体チャートにおいて、
前記複数の単位図形は、前記錐体の底面に平行な複数の第1の直線と、前記錐体の頂点に相当する位置から放射状に伸びた複数の第2の直線との交差によって形成された複数の台形であり、
前記複数の台形のサイズの複比がコーディングされていることを特徴とするカメラ校正用立体チャート。 - 請求項4のカメラ校正用立体チャートにおいて、
前記角錐の頂点にマーカが設けられていることを特徴とするカメラ校正用立体チャート。 - 請求項5のカメラ校正用立体チャートにおいて、
前記マーカが発光体を含むことを特徴とするカメラ校正用立体チャート。 - 請求項3のカメラ校正用立体チャートにおいて、
前記錐体が角錐台であることを特徴とするカメラ校正用立体チャート。 - 請求項1ないし請求項7のいずれかに記載のカメラ校正用立体チャートにおいて、
前記複数の単位図形のうち互いに隣接する単位図形には、互いに異なる明度または色相の色が付されていることを特徴とするカメラ校正用立体チャート。 - 底面と側面とを有する錐体と、
前記側面の1周分にわたって表示されたチャートと、
を備え、
前記チャートは、それぞれが既知のサイズを有する複数の単位図形の集合を含み、
前記複数の単位図形のそれぞれの幾何学的形状は、前記集合内部につき、各単位図形と観測位置との相対的位置および相対的姿勢にかかわらず、前記観測位置からの観測によって相互に識別可能にコーディングされていることを特徴とするカメラ校正用立体チャート。 - カメラの校正用パラメータを取得する方法であって、
請求項1ないし請求項8のいずれかのカメラ校正用立体チャートを、被写体を収容すべき空間内に配置する工程と、
前記カメラ校正用立体チャートの前記複数のチャートのうち少なくとも1つのチャートを、前記カメラに付随した観測位置から観測する工程と、
観測されたチャートに含まれる少なくとも1つの単位図形を対象単位図形として抽出し、前記対象単位図形を、前記複数のチャートおよび前記複数の単位図形の中で同定する工程と、
同定された前記対象単位図形についてあらかじめ特定されている実サイズと、前記観測位置から見た前記対象単位図形の観測サイズとの関係から、前記観測位置と前記カメラ校正用立体チャートとの相対的位置および相対姿勢に依存する前記カメラの校正用パラメータを特定する工程と、
を備えることを特徴とするカメラの校正用パラメータの取得方法。 - カメラの校正用パラメータを求める装置であって、
請求項1ないし請求項8のいずれかのカメラ校正用立体チャートを前記観測位置から観測して得たチャート画像から少なくとも1つの単位図形を対象単位図形として抽出し、前記対象単位図形を、前記複数のチャート相互間および前記複数の単位図形の中で同定する同定手段と、
同定された前記対象単位図形についてあらかじめ特定されている実サイズと、前記観測位置から見た前記対象単位図形の観測サイズとの関係から、前記観測位置と前記カメラ校正用立体チャートとの相対的位置および相対姿勢に依存する前記カメラの校正用パラメータを算出する演算手段と、
を備えることを特徴とするカメラの校正用情報処理装置。 - コンピュータを、
請求項1ないし請求項8のいずれかのカメラ校正用立体チャートを前記観測位置から観測して得たチャート画像から少なくとも1つの単位図形を対象単位図形として抽出し、前記対象単位図形を、前記複数のチャート相互間および前記複数の単位図形の中で同定する同定手段と、
同定された前記対象単位図形についてあらかじめ特定されている実サイズと、前記観測位置から見た前記対象単位図形の観測サイズとの関係から、前記観測位置と前記カメラ校正用立体チャートとの相対的位置および相対姿勢に依存する前記カメラの校正用パラメータを算出する演算手段として機能させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001157822A JP4590780B2 (ja) | 2001-05-25 | 2001-05-25 | カメラ校正用立体チャート、カメラの校正用パラメータの取得方法、カメラの校正用情報処理装置、およびプログラム |
US10/151,184 US7423666B2 (en) | 2001-05-25 | 2002-05-20 | Image pickup system employing a three-dimensional reference object |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001157822A JP4590780B2 (ja) | 2001-05-25 | 2001-05-25 | カメラ校正用立体チャート、カメラの校正用パラメータの取得方法、カメラの校正用情報処理装置、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002354506A JP2002354506A (ja) | 2002-12-06 |
JP4590780B2 true JP4590780B2 (ja) | 2010-12-01 |
Family
ID=19001625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001157822A Expired - Fee Related JP4590780B2 (ja) | 2001-05-25 | 2001-05-25 | カメラ校正用立体チャート、カメラの校正用パラメータの取得方法、カメラの校正用情報処理装置、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4590780B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3735344B2 (ja) | 2002-12-27 | 2006-01-18 | オリンパス株式会社 | キャリブレーション装置、キャリブレーション方法、及びキャリブレーション用プログラム |
KR101205428B1 (ko) | 2008-08-05 | 2012-11-27 | 아이신세이끼가부시끼가이샤 | 타겟 위치 특정 장치 |
JP5339124B2 (ja) | 2008-09-30 | 2013-11-13 | アイシン精機株式会社 | 車載カメラの校正装置 |
TWI424259B (zh) * | 2009-07-14 | 2014-01-21 | Chung Shan Inst Of Science | 相機擺置角度校正法 |
JP5327381B2 (ja) * | 2010-04-22 | 2013-10-30 | コニカミノルタ株式会社 | 情報処理装置、プログラム、および情報処理システム |
KR101801168B1 (ko) | 2016-04-28 | 2017-11-27 | 아진산업(주) | 3차원 정렬 오차 측정용 입체형 캘리브레이터와, 이를 이용한 3차원 정렬 오차 산출 방법 |
JP6630881B2 (ja) * | 2016-09-15 | 2020-01-15 | 株式会社五合 | 情報処理装置、カメラ、移動体、移動体システム、情報処理方法およびプログラム |
KR101978830B1 (ko) * | 2017-12-19 | 2019-05-15 | 전자부품연구원 | 이종 센서의 감지 결과 정합 시스템 및 방법 |
CN114782623A (zh) * | 2022-04-02 | 2022-07-22 | 北京达佳互联信息技术有限公司 | 一种物体建模方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0843026A (ja) * | 1994-07-29 | 1996-02-16 | Mazda Motor Corp | キャリブレーション装置及びホログラム |
JP2001082941A (ja) * | 1999-09-16 | 2001-03-30 | Gen Tec:Kk | キャリブレーション用3次元パターン |
JP2002288645A (ja) * | 2001-03-26 | 2002-10-04 | Minolta Co Ltd | 3次元入力のための撮影システム |
-
2001
- 2001-05-25 JP JP2001157822A patent/JP4590780B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0843026A (ja) * | 1994-07-29 | 1996-02-16 | Mazda Motor Corp | キャリブレーション装置及びホログラム |
JP2001082941A (ja) * | 1999-09-16 | 2001-03-30 | Gen Tec:Kk | キャリブレーション用3次元パターン |
JP2002288645A (ja) * | 2001-03-26 | 2002-10-04 | Minolta Co Ltd | 3次元入力のための撮影システム |
Also Published As
Publication number | Publication date |
---|---|
JP2002354506A (ja) | 2002-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7423666B2 (en) | Image pickup system employing a three-dimensional reference object | |
JP4282216B2 (ja) | 3次元位置姿勢センシング装置 | |
JP5586765B2 (ja) | カメラキャリブレーション結果検証装置および方法 | |
CN101542538B (zh) | 用来对光进行建模的方法与系统 | |
US20160134860A1 (en) | Multiple template improved 3d modeling of imaged objects using camera position and pose to obtain accuracy | |
US6493095B1 (en) | Optional 3D digitizer, system and method for digitizing an object | |
JP5093053B2 (ja) | 電子カメラ | |
US20090237508A1 (en) | Method and apparatus for providing immersive surveillance | |
EP3069100B1 (en) | 3d mapping device | |
CN109840950B (zh) | 得到真实尺寸3d模型的方法、勘测装置 | |
US20210374978A1 (en) | Capturing environmental scans using anchor objects for registration | |
JP4590780B2 (ja) | カメラ校正用立体チャート、カメラの校正用パラメータの取得方法、カメラの校正用情報処理装置、およびプログラム | |
JP6963295B2 (ja) | 3次元情報取得装置 | |
JPWO2004094943A1 (ja) | モーションキャプチャ方法、モーションキャプチャ装置、及びモーションキャプチャ用マーカ | |
JP2001148025A (ja) | 位置検出装置及びその方法、平面姿勢検出装置及びその方法 | |
JP2023546739A (ja) | シーンの3次元モデルを生成するための方法、装置、およびシステム | |
Oreifej et al. | Automatic generation of 3d thermal maps of building interiors | |
JP2017528714A (ja) | 3次元座標の光学測定のための方法および3次元測定デバイスの制御 | |
JP2003023562A (ja) | 画像撮影システムおよびカメラシステム | |
CN111735414A (zh) | 一种基于全景三维成像的面积计量系统及计量方法 | |
JP4665350B2 (ja) | 測定装置 | |
JP2003021505A (ja) | 画像撮影システム、及び、可動式撮影装置 | |
JP4892793B2 (ja) | 測定装置及び測定方法 | |
JP4892792B2 (ja) | 測定装置及び測定方法 | |
JP2009199247A (ja) | 対象物認識装置、指示装置およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20050613 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080425 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080606 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100611 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100615 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100715 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100817 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100830 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130924 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |