JP4892792B2 - 測定装置及び測定方法 - Google Patents
測定装置及び測定方法 Download PDFInfo
- Publication number
- JP4892792B2 JP4892792B2 JP2001203375A JP2001203375A JP4892792B2 JP 4892792 B2 JP4892792 B2 JP 4892792B2 JP 2001203375 A JP2001203375 A JP 2001203375A JP 2001203375 A JP2001203375 A JP 2001203375A JP 4892792 B2 JP4892792 B2 JP 4892792B2
- Authority
- JP
- Japan
- Prior art keywords
- camera
- subject
- photographing
- reference object
- chart
- 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
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Input (AREA)
- Image Processing (AREA)
Description
【発明の属する技術分野】
本発明は、被写体を複数の方向からカメラで撮影して当該被写体の三次元画像モデルを構築するための技術に関する。
【0002】
【従来の技術】
立体的な被写体を複数の方向から撮影し、それによって得られた複数の画像データを組み合わせることによって、当該被写体の三次元画像モデルを得ることができる。すなわち、複数の方向から被写体を撮影したそれぞれの画像ごとに、カメラの外部パラメータ(カメラの位置や姿勢など)と内部パラメータ(焦点距離など)のデータを得ることができれば、シェープ・フロム・シルエット法によって、被写体のシルエット画像から三次元のモデルを再構成することができる。このシェープ・フロム・シルエット法についての詳細は、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に開示されている。以下、カメラの外部パラメータと内部パラメータとを「(カメラの)校正パラメータ」と総称するが、この校正パラメータのうち内部パラメータが既知であって内部パラメータによるカメラの校正が完了している場合には、カメラの外部パラメータが求まれば、被写体の三次元画像モデルの構築が可能となる。
【0003】
ところで、このように複数の方向から被写体を撮影するにあたっての1つの方法は、複数のカメラを異なる位置に固定配置して被写体を撮影する固定配置方式である。しかしながら、この固定配置方式では複数のカメラを撮影スタジオ内などに固定的に分散配置しておかねばならないために、撮影設備が大がかりになるだけである。
【0004】
そこで、ユーザが1台の手持ちカメラを持って被写体の周りを移動しつつ、複数の方向から被写体を順次に撮影することによって被写体の全周囲の画像を得る移動撮影方式が提案されている。この移動撮影方式でカメラの外部パラメータを決定するには、それぞれの撮影時にカメラの位置及び姿勢を特定することが必要となる。
【0005】
この場合の、カメラの外部パラメータを測定する方式の一つとして、平面チャートと使用した光学方式によるものが、従来から提案されている。
【0006】
【発明が解決しようとする課題】
しかしながら、平面チャートは、それを観測可能な角度範囲が狭く、当該平面チャートの法線方向から90度を越える方向からは観測できないため、カメラの可動範囲が大きく制限されるという問題を有している。また、平面チャートを観測できる範囲内にカメラがあっても、平面チャートの法線方向からカメラの方向が大きくずれているときには平面チャート上のパターンの観測精度が低下し、その結果としてカメラの外部パラメータの決定精度が良くないといった欠点もある。
【0007】
特に、被写体が平面チャートに比べて十分に大きい物体である場合には、従来の光学方式では正確な外部パラメータを得ることができず、被写体の三次元画像モデルを構築することができないという問題が顕著となる。
【0008】
そこで、本発明は上記課題に鑑みてなされたものであって、光学方式を用いながらも、広い可動範囲を確保しつつ高い測定精度で三次元画像モデルを構築することの可能な測定装置を実現することを目的としている。
【0009】
【課題を解決するための手段】
上記目的を達成するために、請求項1に記載の発明は、被写体の周囲に、物体単体の画像により撮影時のカメラの座標が得られる既知の形状を有する複数の姿勢検出用基準物体が配置された状態で、前記被写体を測定する測定装置であって、前記被写体を撮影する被写体撮影用カメラと、前記被写体撮影用カメラに姿勢変更自在に取り付けられた基準物体撮影用カメラと、前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な姿勢関係を特定するセンサと、前記複数の姿勢検出用基準物体を予め前記基準物体撮影用カメラで撮影した画像に基づいて、前記複数の姿勢検出用基準物体の相対的位置関係を求める第1演算手段と、前記被写体撮影用カメラの撮影動作に同期して前記基準物体撮影用カメラの撮影が行われるように制御する制御手段と、前記基準物体撮影用カメラで撮影された撮影時の前記姿勢検出用基準物体の画像から得られる前記基準物体用カメラと前記姿勢検出用基準物体との相対的な位置及び姿勢関係と、前記センサから得られる前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な姿勢関係と、に基づいて得られる、前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な位置及び姿勢を用いて、前記被写体撮影用カメラで撮影された前記被写体の画像から前記被写体の三次元情報を求める第2演算手段と、を備えることを特徴とする。
【0010】
請求項2に記載の発明は、請求項1に記載の測定装置において、前記第1演算手段が、前記基準物体撮影用カメラの画角内に少なくとも2つの前記姿勢検出用基準物体が収まるようにして撮影された画像に含まれる各姿勢検出用基準物体に基づいて、前記少なくとも2つの姿勢検出用基準物体の相対的位置関係を求めることを特徴としている。
【0012】
請求項3に記載の発明は、請求項1または請求項2に記載の測定装置において、前記基準物体撮影用カメラが、前記測定装置に対して撮影方向を可変に固定されていることを特徴としている。
【0013】
請求項4に記載の発明は、請求項3に記載の測定装置において、前記制御手段が、前記基準物体撮影用カメラが少なくとも1つの前記姿勢検出用基準物体を撮影するように、前記基準物体撮影用カメラの前記撮影方向を制御する撮影方向制御手段を有することを特徴としている。
【0014】
請求項5に記載の発明は、請求項1乃至請求項4のいずれかに記載の測定装置において、前記測定装置が、被写体の3次元形状を測定する装置であり、複数回の測定で得られた3次元形状が各測定時の姿勢に基づいて合成されることを特徴としている。
【0016】
請求項6に記載の発明は、被写体の周囲に、物体単体の画像により撮影時のカメラの座標が得られる既知の形状を有する複数の姿勢検出用基準物体が配置された状態で、前記被写体を測定する測定方法であって、前記複数の姿勢検出用基準物体を予め基準物体撮影用カメラで撮影し、その画像に基づいて、前記複数の姿勢検出用基準物体の相対的位置関係を求める第1演算工程と、前記被写体を撮影する被写体撮影用カメラの撮影動作に同期して、前記複数の姿勢検出用基準物体のうちの少なくとも1つを前記基準物体撮影用カメラで撮影する工程と、前記基準物体撮影用カメラで撮影された撮影時の前記姿勢検出用基準物体の画像から得られる前記基準物体用カメラと前記姿勢検出用基準物体との相対的な位置及び姿勢関係と、前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な姿勢関係を特定するセンサから得られる前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な姿勢関係と、に基づいて得られる、前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な位置及び姿勢を用いて、前記被写体撮影用カメラで撮影された前記被写体の画像から前記被写体の三次元情報を求める第2演算工程と、を備えることを特徴とする。
【0018】
【発明の実施の形態】
以下、この発明の実施の形態について図面を参照しつつ詳細に説明する。
【0019】
<1.三次元情報生成システムの構成>
図1は、本発明にかかる三次元情報生成システム1の一構成例を示す図である。この三次元情報生成システム1は、立体的な被写体30の画像を撮像可能な可搬性のカメラシステム10と、被写体30を収容した空間内において、被写体30の近傍に配置されたカメラ校正用の複数の立体チャート2と、を備えている。
なお、図1においては、複数の立体チャート2として、2つの立体チャート2a,2bが設けられる例を示している。
【0020】
各立体チャート2は、後に詳述するように、略角錐状の本体の各側面にチャートパターンが施された立体物であり、姿勢検出用基準物体である。各立体チャート2は、チャート支持具250から吊り下げられている。チャート支持具250は台座251から伸びる逆L字状のアーム252を備え、各立体チャート2はそのアーム252の先端付近に固定されている。好ましくは、各立体チャート2は被写体30の略上方に吊り下げられる。
【0021】
カメラシステム10は、デジタルカメラとしての機能を有する被写体撮影用カメラ(以下、「被写体用カメラ」と略す)13を備えて構成される三次元情報生成装置であり、被写体を測定する測定装置としても機能する。また、この被写体用カメラ13の上部には、基準物体撮影用カメラとして機能する可動式カメラ11が姿勢変更自在に取り付けられている。可動式カメラ11は、立体チャート2のチャートパターン(図2参照)に含まれる複数の単位図形UPを撮影することにより、立体チャート2と可動式カメラ11との相対的な位置姿勢関係を特定し、さらには立体チャート2に対する被写体用カメラ13の位置および姿勢を検出するために使用される。
【0022】
なお図1に示すように、この三次元情報生成システム1は、たとえばノートブック型等のコンピュータ15を備えていてもよい。その場合、コンピュータ15は、通信インタフェースを介した無線若しくは有線のデータ通信、又は、メモリカード等の記録媒体を介したデータ交換等によってカメラシステム10との間でコマンドやデータの授受が可能なように構成される。
【0023】
<2.立体チャートの構成>
図2は各立体チャート2の側面図である。立体チャート2は、立体チャート本体203と、この立体チャート本体203の表面上に形成されたチャートパターンCPとを有している。
【0024】
このうち立体チャート本体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は、それぞれが単位図形として機能する複数の台形の集合であり、各単位図形の形状は設計値に基づいて高精度に形成される。したがって、各単位図形の頂点位置は既知となる。
【0025】
また、表示部204を構成する多角錐の頂点には、可動式カメラ11がチャートパターンCPを追尾(トラッキング)する際に基準点とするマーカ201として、発光ダイオード(LED)が取り付けられており、立体チャート2の内部に設けられたマーカ用電源がマーカ201を点灯させることにより、可動式カメラ11が容易かつ正確に立体チャート2の位置を認識することができるように構成されている。
【0026】
<3.可動式カメラ11の構成>
図3は可動式カメラ11の正面図であり、図4は可動式カメラ11の内部機能を示すブロック図である。図3及び図4に示すように、可動式カメラ11では、レンズユニット110と、このレンズユニット110によって結像した2次元画像を光電変換する2次元受光素子111とが一体となって球状ユニット116に納められている。2次元受光素子111は複数の画素が受光面に配列されたCCDアレイ等によって構成される。レンズユニット110は、固定レンズ110aとズームレンズ110bとの組み合わせであり、それらの間に絞り/シャッタ機構部110eが存在する。
【0027】
図3に示すように、球状ユニット116は姿勢変化装置113を介して固定部114に連結されており、球状ユニット116に内蔵された各要素とともにパン方向の±約70°の旋回(θ回転)と、チルト方向への±約70°の俯仰(φ回転)とが可能になっている。そして、これらのパン方向の回転駆動とチルト方向の回転駆動とを行うために、複数のピエゾ素子を内蔵した姿勢変化装置113が球状ユニット116の基部に配置されている。また、ズームレンズ110bの駆動に相当するズーム操作も、上記とは別のピエゾ素子によって行われる。これらのピエゾ素子にノコギリ波信号を与えることにより、ピエゾ素子による駆動の対象要素が寸動し、その繰り返しによって対象要素に所要の動きが与えられる。パン方向の旋回角とチルト方向の俯仰角とは、それぞれエンコーダなどの角度センサ126p、126tによって検出され、ズームレンズ110bの駆動量はやはりエンコーダで構成されたセンサ126zによって検出される。これらの駆動機構については、例えば特開平11−18000号公報や、特開平11−41504号公報に開示されている。
【0028】
球状ユニット116は、上記のように姿勢変化装置113によって被写体用カメラ13に対する位置及び姿勢が可動範囲内の任意の状態となるように駆動される。
【0029】
また、可動式カメラ11は、2次元受光素子111で得られる画像信号を入力して画像処理等のデータ処理を行うとともに、姿勢変化装置113を制御するためのデータ処理部120と、追尾ボタン117とを備えている。
【0030】
データ処理部120は、2次元受光素子111からの信号を入力して画像認識などの処理を行う画像処理部121と、この画像処理部121で得られた画像信号を記憶する画像メモリ122とを備えている。また、ズームレンズ110b、姿勢変化装置113、および絞り/シャッタ機構部110eの駆動信号を発生して、これらに出力するカメラ制御部123が設けられており、画像処理部121およびカメラ制御部123は、通信部124および通信デバイス112を介して、被写体用カメラ13と無線通信が可能である。この通信により画像データが被写体用カメラ13に送信されるほか、各種情報が可動式カメラ11と被写体用カメラ13との間で送受信される。この実施形態の可動式カメラ11では、通信デバイス112として、赤外線通信を行うためのIRDA(Infrared Data Association)インタフェースに対応した赤外線素子が使用されている。
【0031】
図3に示すように、固定部114に設けられた第1取付溝115aおよび第2取付溝115bは、被写体用カメラ13に固定部114を取り付けるために用いられる。被写体用カメラ13に固定部114が取り付けられることで、被写体用カメラ13に対して可動式カメラ11を固定することができ、例えば可動式カメラ11の旋回角及び俯仰角が0°であるとしたときの可動式カメラ11と被写体用カメラ13との相対的な位置及び姿勢関係が所定の状態に設定されることになる。
【0032】
さらに、追尾ボタン117は、可動式カメラ11に立体チャート2を自動的に追尾させるモード(以下、「自動追尾モード」と略す)と被写体用カメラ13からのユーザの指示により追尾させるモード(以下、「手動モード」と略す)とを切り換えるためのボタンである。
【0033】
次に、上記のように構成された可動式カメラ11における動作について説明する。
【0034】
2次元受光素子111は、画素ごとにR(赤)、G(緑)、B(青)のいずれかのフィルタが付設されており、2次元受光素子111上に結像した光は、この2次元受光素子111によってRGBの各色成分ごとに光電変換される。2次元受光素子111によって得られる画像信号は、画像処理部121においてA/D変換されてデジタル信号である画像データに変換され、さらにホワイトバランス補正やγ補正等の各種画像処理を受ける。
【0035】
ユーザが追尾ボタン117を押し込み操作して自動追尾モードを設定した場合、画像処理部121は画像データを解析してマーカ201を検出し、例えばマーカ201の画像成分が画像中心に対してどの程度ずれているかを示す信号をカメラ制御部123に与える。この結果、カメラ制御部123は、マーカ201の画像成分を画像中心に移動させるための姿勢変化装置113の駆動量(すなわち追尾データ)を求め、その駆動量に基づいて姿勢変化装置113を駆動制御するように構成される。これにより、立体チャート2の像が2次元受光素子111に常に結像されるように、姿勢変化装置113が制御される。
【0036】
一方、手動モードでは、カメラ制御部123は被写体用カメラ13から受信するユーザの指示に基づき、姿勢変化装置113を制御する。
【0037】
また、カメラ制御部123は、各センサ126t,126p,126zでの検出結果を入力するように構成され、角度センサ126t,126pから入力する情報に基づいてレンズ回転角情報を生成し、またセンサ126zから入力する情報に基づいてズーム情報を生成する。カメラ制御部123は、これらの情報を通信部124を介して被写体用カメラ13に送出するように構成される。
【0038】
そして、被写体用カメラ13のシャッタボタンが押下されると、可動式カメラ11は、撮影コマンドを被写体用カメラ13から受信し、その撮影コマンドの受信に応答して、2次元受光素子111による撮影動作を行って画像データの生成を行う。そして、そのときに得られる画像データとレンズ回転角情報とを、通信部124を介して被写体用カメラ13に送信するように構成される。
【0039】
<4.被写体用カメラ13の構成>
次に、被写体用カメラ13の構成について説明する。図5は、被写体用カメラ13の内部構成を示すブロック図である。図5に示すように、被写体用カメラ13は、レンズユニット155、2次元受光素子156、画像処理部157、画像メモリ158、制御部160、シャッタボタン161、フラッシュ162、ディスプレイ163、操作ボタン164、カードスロット165、メモリカード166、通信部167、通信デバイス168、メモリ169、及び、演算部170を備えて構成される。また、演算部170は第1演算部171及び第2演算部172を備えて構成される。
【0040】
被写体30からの光は、レンズユニット155を介して被写体用カメラ13に入射し、2次元受光素子156に結像される。2次元受光素子156は複数の画素が受光面に配列されたCCDアレイ等によって構成される。2次元受光素子156は、各画素ごとに受光する光を光電変換する。2次元受光素子156の受光面側には画素ごとにRGBのいずれかのフィルタが付設されており、2次元受光素子156の光電変換機能によって画素ごとにRGBの各色成分を有する画像信号が生成される。
【0041】
画像処理部157は2次元受光素子156からの画像信号をA/D変換してデジタル信号である画像データを生成する。また、画像処理部157は、画像データに対して、さらにホワイトバランス補正やγ補正等の各種画像処理を施す。画像処理部157において生成される画像データは、半導体メモリ等によって構成される画像メモリ158に格納される。
【0042】
シャッタボタン161はユーザが撮影を指示するためのボタンであり、フラッシュ162は被写体30を撮影する際に被写体30を照明するものである。また、ディスプレイ163はユーザインタフェースとなる操作案内画面や撮影した被写体画像を表示する表示器であり、操作ボタン164はユーザが可動式カメラ11の位置及び姿勢を手動操作で変化させるための入力操作等を行うためのボタンである。さらにカードスロット165には着脱自在のメモリカード166を装着することが可能となっており、メモリカード166を介してコンピュータ15とのデータ交換を行うことが可能となっている。通信部167は通信デバイス168を介して可動式カメラ11とのデータ通信を行う機能を有する。そして、メモリ169は、可動式カメラ11から入力した画像データやレンズ回転角情報等の演算部170による演算対象データを一時的に格納しておくための記憶部である。また、メモリ169には、可動式カメラ11の内部パラメータ(焦点距離等)に関する情報が予め格納される。
【0043】
制御部160はCPUによって構成され、上記の各部を動作制御するように構成される。ユーザがシャッタボタン161を押下した際には、制御部160は2次元受光素子156及び画像処理部157による撮影動作を制御する。また、制御部160はユーザによるシャッタボタン161の押下操作に応答して撮影コマンドを生成し、被写体用カメラ13と同期をとるために通信部167を介して可動式カメラ11に撮影コマンドを送信する。
【0044】
そして、制御部160は、被写体用カメラ13における撮影動作によって画像メモリ158に格納されている撮影画像データをメモリ169に格納するとともに、撮影コマンド送信後に可動式カメラ11から受信する画像データ及びレンズ回転角情報をメモリ169に格納する。
【0045】
また、演算部170もCPUによって構成され、所定の演算プログラムを実行することにより、第1演算部171及び第2演算部172として機能する。そのような演算プログラムは、製造段階で予めメモリ等に格納されていてもよいし、後に外部装置から入力するものであっても構わない。
【0046】
第1演算部171は、可動式カメラ11で複数の立体チャート2を予め撮影した画像データを入力した際に、その画像データに含まれる各立体チャート2の画像成分に基づいて、複数の立体チャート2の相対的位置関係を求める演算機能(第1の演算手段)を実現する。
【0047】
また、第2演算部172は、被写体用カメラ13が被写体30を撮影するのに同期して、可動式カメラ11が複数の立体チャートのうちの少なくとも1つの立体チャート(これを「撮影対象立体チャート」と呼ぶ。)を撮影した際に、可動式カメラ11から得られる画像データに基づいて、可動式カメラ11の撮影対象立体チャートに対する撮影位置及び撮影姿勢を求める。そして、第2演算部172は、さらに、可動式カメラ11の撮影対象立体チャートに対する撮影位置及び撮影姿勢と、可動式カメラ11と被写体用カメラ13との相対位置及び相対姿勢と、撮影対象立体チャートと他の立体チャート2との相対的位置関係と、に基づいて、被写体用カメラ13から得られる撮影画像より、被写体30の三次元情報を求める演算機能(第2の演算手段)を実現する。
【0048】
また、制御部160は可動式カメラ11が手動モードであるか自動追尾モードであるかを判断し、手動モードである場合には、ユーザが操作ボタン164の一部を操作することにより得られた信号を、通信部167を介して可動式カメラ11に送信出力する。これにより、可動式カメラ11の姿勢変化装置113を、ユーザの手動操作によって制御させることが可能となる。
【0049】
<5.三次元情報生成の原理>
上記のように構成された三次元情報生成システム1において、被写体30の三次元情報を生成する際のデータ演算の原理について説明する。
【0050】
カメラの内部パラメータ(焦点距離や画素密度等)が既知である場合、2次元受光素子に結像する被写体像の各点が、カメラの撮影空間においてどのような位置にあるかを、演算によって求めることができる。例えば、被写体像のある1点が2次元受光素子の1画素に結像されている場合、2次元受光素子における結像位置等で2次元座標値を求めることができる。
【0051】
このため、既知の構造で形成された立体チャート2を可動式カメラ11で撮影することにより、可動式カメラ11の外部パラメータ、すなわち可動式カメラ11の立体チャート2に対する相対的な位置及び姿勢を特定することができる。
【0052】
一般に、カメラの外部パラメータの算出は、カメラの内部パラメータが既知であり、絶対座標系に固定された同一平面上にある4点以上の点の3次元座標値が既知であり、かつ、上記4点以上の点に対応する撮影画像上の点の2次元座標値が算出可能であるという条件の下で行うことができる。
【0053】
このような算出手法については、例えば、文献「L.Quan, Z.Lan, "Linear N-Point Camera Pose Determination," IEEE Trans.PAMI 21 (8) 1999」や文献「高橋、石井、牧野、中静、”人工現実感インターフェースのための単眼画像からのマーカの位置と姿勢の計測"、電子情報論文誌AJ79 1996」等に開示された技術を適用することができる。これらの技術は、座標が既知の4点以上の点をカメラで撮影し、その4点以上の既知の三次元座標値と、カメラで得られる画像から求められる2次元座標値とに基づいて、カメラの相対位置及び相対姿勢を算出するものである。
【0054】
この実施の形態においても、可動式カメラ11で立体チャート2を撮影した場合、2次元受光素子111から得られる画像データから、立体チャート2が有する各単位図形の頂点座標を求めることができる。ただし、この場合の頂点座標は、可動式カメラ11が立体チャート2を撮影した状態における固有のローカル座標系についての座標値となる。
【0055】
一方、立体チャート2は被写体30の周囲に配置された状態で固定される。この立体チャート2に固有の3次元座標系(これを、「チャート座標系」と呼ぶ。)を設定すれば、立体チャート2の各単位図形の頂点位置を立体チャート2の設計値に基づいて定めることができる。
【0056】
可動式カメラ11で撮影した画像データに基づいてチャートパターンCPの少なくとも4点の座標値を求めると、各点の対応関係から、立体チャート2の測定された4点が特定される。このため、チャート座標系における設計上の4点の座標値と、可動式カメラ11のローカル座標系における4点の座標値とから、可動式カメラ11の立体チャート2に対する相対的な位置及び姿勢を特定することができる。そして、可動式カメラ11のローカル座標系と、チャート座標系との関係から、可動式カメラ11のローカル座標系をチャート座標系に変換するためのパラメータが定義される。
【0057】
チャート座標系をXc、可動式カメラ11のローカル座標系をXm、ローカル座標系Xmをチャート座標系Xcに変換するための回転移動行列をRc、平行移動ベクトルをTcとすると、
【0058】
【数1】
【0059】
の式によって可動式カメラ11のローカル座標系Xmで表現された座標値を、チャート座標系Xcで表現された座標値に変換することが可能である。
【0060】
すなわち、可動式カメラ11が立体チャート2を撮影して求められるチャートパターンCPの少なくとも4点の座標値と、チャートパターンCPの設計値とにより、立体チャート2に対する可動式カメラ11の相対姿勢及び相対位置を特定することができるので、数1の式における回転移動行列Rc、平行移動ベクトルTcを求めることができ、それによって座標変換式が定義されることになる。
【0061】
図6は三次元情報生成システム1における座標変換の概念を示す図である。図6に示すように、上記数1の式の座標変換式は、可動式カメラ11に設定されるローカル座標系Xmから立体チャート2に設定されるチャート座標系Xcに変換する式である。つまり、可動式カメラ11が立体チャート2を撮影することにより、可動式カメラ11の立体チャート2に対する相対姿勢及び相対位置が特定されるため、その相対姿勢及び相対位置に基づく数1の式を、ローカル座標系Xmからチャート座標系Xcへの変換式として定義することができる。
【0062】
また、可動式カメラ11が姿勢変化装置113によって旋回角度θ及び俯仰角度φに姿勢変化した場合と、旋回角度0°及び俯仰角度0°の場合のそれぞれにおいて、可動式カメラ11による撮影を行った際、各画像から導かれる座標値の座標系は異なる。図6に示すように、可動式カメラ11が旋回角度0°及び俯仰角度0°にある状態(11b)で撮影した画像から導かれる座標値は、ローカル座標系Xmoで表現され、また、可動式カメラ11が旋回角度θ及び俯仰角度φにある状態(11a)で撮影した画像から導かれる座標値は、ローカル座標系Xmで表現される。これらローカル座標系XmoとXmとは、可動式カメラ11の姿勢が変化したことによって生じるものであるため、ローカル座標系XmoとXmとの間での座標変換パラメータは予め内部パラメータとして求めておくこともできるし、また演算によって求めることもできる。
【0063】
ローカル座標系Xmoをローカル座標系Xmに変換するための回転移動行列をR(θ,φ)、平行移動ベクトルをT(θ,φ)とすると、
【0064】
【数2】
【0065】
の式によってローカル座標系Xmoで表現された座標値を、ローカル座標系Xmで表現された座標値に変換することが可能である。なお、回転移動行列R(θ,φ)及び平行移動ベクトルT(θ,φ)は、それぞれθ,φが決まれば一義に決まるものである。可動式カメラ11では、角度センサ126t,126pによってレンズ回転角情報、すなわち、θ及びφに関する情報が生成されるため、このレンズ回転角情報を用いれば、回転移動行列R(θ,φ)及び平行移動ベクトルT(θ,φ)を求めることができる。
【0066】
さらに、可動式カメラ11が旋回角度0°及び俯仰角度0°である場合に可動式カメラ11による撮影を行った際、その画像から導かれる座標値の座標系は、被写体用カメラ13で撮影を行った際の撮影画像から導かれる座標値の座標系とは異なる。図6に示すように、可動式カメラ11が旋回角度0°及び俯仰角度0°にある状態(11b)で撮影した画像から導かれる座標値は、ローカル座標系Xmoで表現され、また、被写体用カメラ13で撮影した撮影画像から導かれる座標値は、ローカル座標系Xoで表現される。すなわち、可動式カメラ11が撮影を行う姿勢及び位置と、被写体用カメラ13が撮影を行う姿勢及び位置とが異なるため、撮影方向が単に同一方向であっても、それぞれの画像から得られる座標値は、異なる座標系についてのものとなる。
【0067】
ローカル座標系Xoからローカル座標系Xmoへの座標変換は、可動式カメラ11を被写体用カメラ13に固定した場合の設計値等から予め求めておくことができる。しかし、実際の使用時に可動式カメラ11を被写体用カメラ13に取り付けると、若干の誤差が生じることも想定されるため、被写体撮影時に、座標変換を行うための変換パラメータを求めるように構成することが好ましい。
【0068】
例えば、被写体30の撮影動作を行う前に、可動式カメラ11の旋回角度及び俯仰角度を0°に設定して予め可動式カメラ11と被写体用カメラ13とが同一の立体チャート2を撮影し、それぞれの画像から立体チャート2上の同一の頂点座標を求めることで、被写体用カメラ13の可動式カメラ11に対する相対姿勢及び相対位置を特定することができる。そして、その相対姿勢及び相対位置に基づいて座標変換を行うことで、ローカル座標系Xoからローカル座標系Xmoへの座標変換を行うことができる。
【0069】
具体的には、ローカル座標系Xoをローカル座標系Xmoに変換するための回転移動行列をRh、平行移動ベクトルをThとすると、
【0070】
【数3】
【0071】
の式によってローカル座標系Xmoで表現された座標値を、ローカル座標系Xmで表現された座標値に変換することが可能である。なお、回転移動行列Rh及び平行移動ベクトルThは、被写体用カメラ13の可動式カメラ11に対する相対姿勢及び相対位置に基づいて定められる、行列及びベクトルである。
【0072】
このようにして、各座標系間での座標変換が可能になる。そして、被写体用カメラ13が被写体30を撮影することに同期して、可動式カメラ11が複数の立体チャート2のうちの撮影対象立体チャート2を撮影することで、被写体用カメラ13の撮影画像から導かれる座標値を、撮影対象立体チャート2のチャート座標系で表現した座標値に変換することができる。
【0073】
具体的には、上記数1〜数3の式より導かれる
【0074】
【数4】
【0075】
の式により、被写体用カメラ13のローカル座標系Xoで得られた座標値を、チャート座標系Xcで表現した座標値に変換することができる。
【0076】
ところで、この実施の形態では、被写体30の周囲に複数の立体チャート2が配置されることは既述したとおりである。そして、被写体用カメラ13で被写体30を撮影する際に、可動式カメラ11が複数の立体チャート2のうちのいずれを撮影対象立体チャート2とするかは、任意である。そのため、被写体用カメラ13で被写体30のある側面(第1の側面)を撮影する際に、可動式カメラ11が立体チャート2a(図1参照)を撮影対象立体チャートとし、また、被写体用カメラ13で被写体30の別の側面(第2の側面)を撮影する際に、可動式カメラ11が立体チャート2b(図1参照)を撮影対象立体チャートとすることも考えられる。
【0077】
このような場合、被写体用カメラ13で被写体30を撮影した際の撮影画像から座標値を求め、さらに上記数4の式に基づいた座標変換を行ったとしても、第1の側面については立体チャート2aに関するチャート座標系Xcaの座標値に変化され、第2の側面については立体チャート2bに関するチャート座標系Xcbの座標値に変化される。このため、これらの座標値を合成しても正確な被写体30に関する三次元情報を生成することはできない。
【0078】
そこで、この実施の形態では、被写体30の周囲に配置された複数の立体チャート2の相対的位置関係を求め、その相対的位置関係に基づいて、各立体チャートについてのチャート座標系を特定の一つの立体チャートに関するチャート座標系(これを、「基準座標系」と呼ぶ。)に変換させるように構成される。
【0079】
図7はチャート座標系を基準座標系に変換する座標変換の概念を示す図である。なお、図7の例では、立体チャート2aのチャート座標系Xcaが基準座標系であるとする。
【0080】
複数の立体チャート2の相対的位置関係を求める際には、例えば可動式カメラ11の画角G1内に複数の立体チャート2が収まるような状態で可動式カメラ11により複数の立体チャート2を撮影する。
【0081】
可動式カメラ11により立体チャート2aを撮影すると、その画像よりローカル座標系Xmにおける座標値が得られる。一方、立体チャート2aは既知の構造で形成されるため、チャート座標系(基準座標系)Xcaにおける座標値は設計上既知である。
【0082】
このため、可動式カメラ11が立体チャート2aを撮影して求められるチャートパターンCPの少なくとも4点の座標値と、それに対応する4点のチャートパターンCPの設計値とにより、立体チャート2aに対する可動式カメラ11の相対姿勢及び相対位置を特定することができる。
【0083】
よって、上述した数1の式と同様に、ローカル座標系Xmから基準座標系Xcaへの座標変換式が、
【0084】
【数5】
【0085】
のように定義される。なお、数5の式におけるRca及びTcaは、それぞれローカル座標系Xmから基準座標系Xcaへの回転移動行列及び平行移動ベクトルであり、立体チャート2aに対する可動式カメラ11の相対姿勢及び相対位置により求めることができる。
【0086】
同様に、可動式カメラ11により立体チャート2bを撮影すると、その画像よりローカル座標系Xmにおける座標値が得られる。一方、立体チャート2bも既知の構造で形成されるため、チャート座標系Xcbにおける座標値は設計上既知である。
【0087】
このため、可動式カメラ11が立体チャート2bを撮影して求められるチャートパターンCPの少なくとも4点の座標値と、それに対応する4点のチャートパターンCPの設計値とにより、立体チャート2bに対する可動式カメラ11の相対姿勢及び相対位置を特定することができる。
【0088】
よって、上述した数1の式と同様に、ローカル座標系Xmからチャート座標系Xcbへの座標変換式が、
【0089】
【数6】
【0090】
のように定義される。なお、数6の式におけるRcb及びTcbは、それぞれローカル座標系Xmから基準座標系Xcbへの回転移動行列及び平行移動ベクトルであり、立体チャート2bに対する可動式カメラ11の相対姿勢及び相対位置により求めることができる。
【0091】
そして、上記数5及び数6の座標変換式に基づいて、チャート座標系Xcbから基準座標系Xcaへの座標変換式を求めると、
【0092】
【数7】
【0093】
のようになる。この数7の式が、すなわち立体チャート2aと2bとの相対的位置関係を示す式となる。立体チャート2が多数設けられている場合を考慮して、数7の式を一般化すれば、
【0094】
【数8】
【0095】
となる。なお、数8の式において、iはi番目の立体チャート2(i)を示しており、Rci及びTciは、それぞれローカル座標系Xmからチャート座標系Xciへの回転移動行列及び平行移動ベクトルであり、立体チャート2(i)に対する可動式カメラ11の相対姿勢及び相対位置により求めることができる。
【0096】
そして数4の座標変換式と、数8の座標変換式とにより、被写体用カメラ13で得られる撮影画像から被写体30の座標値を求めた場合に、その座標値を基準座標系(すなわち、三次元情報生成システム1におけるワールド座標系)における座標値に変換することができ、被写体30の三次元画像モデルを適切に構築することが可能になる。
【0097】
なお、上記の例では演算原理を容易に理解することができるようにするために、複数の立体チャート2が可動式カメラ11の画角G1内に収まるように撮影した場合について説明したが、それに限定されるものではない。
【0098】
例えば、立体チャート2が多数設けられている場合には、全ての立体チャート2を画角G1内に収めるのではなく、2個の立体チャート2が画角G1内に収まるようにして撮影動作を繰り返し行い、各画像に含まれる2個の立体チャートの相対的位置関係を順次求めていくという方法を採用することができる。2個の立体チャート2が画角G1内に収まるようにして撮影を行えば、その画像からその2個の立体チャート2の相対的位置関係を簡単に求めることができるという利点がある。
【0099】
一方、画角G1内に収まる立体チャート2の数が増加するほど、画像における各立体チャート2の画像成分は小さくなることが予想される。そしてその場合には各立体チャートの相対的位置関係を求める精度が低下する。このため、1回の撮影時に画角G1内に収める立体チャート2の数はなるべく少なくすることが好ましい。
【0100】
このような観点からすると、複数の立体チャート2の相対的位置関係を求める方法としては、可動式カメラ11が立体チャート2を1個ずつ個別に撮影することが最も好ましいと言える。例えば、可動式カメラ11を可動範囲内で姿勢変化させたときに、全ての立体チャート2を個別に撮影することができるのであれば、各立体チャート2を個別に撮影し、各画像を撮影したときの旋回角度と俯仰角度とに基づいた座標変換を施せば、各立体チャート2の相対的位置関係を求めることができる。このとき、可動式カメラ11は1個の立体チャート2を撮影するので、撮影画像に含まれる立体チャート2の画像成分を大きな状態で撮影することができ、その結果、立体チャート2に対する可動式カメラ11の位置及び姿勢を高精度に求めることが可能である。
【0101】
<6.三次元情報生成システム1の動作プロセス>
次に、三次元情報生成システム1の動作プロセスについて説明する。図8乃至図12は、三次元情報生成システム1の動作プロセスを示すフローチャートである。
【0102】
まず、複数の立体チャート2が被写体30の周囲に配置される(ステップS1)。このときの立体チャート2の配置はランダムでよいが、被写体30の大きさに応じて、被写体30の周囲にほぼ均等な間隔で配置されることが好ましい。また、被写体30の周囲に配置した複数の立体チャート2は動作プロセスが終了するまで、より厳密にはステップS4の被写体撮影処理が終了するまでは固定される。
【0103】
次に、複数の立体チャート2の相対的位置関係を算出する処理が行われる(ステップS2)。この処理の詳細を図9のフローチャートに示す。
【0104】
まず、ユーザは複数の立体チャート2の前に、立体チャート2どうしのオクルージョンが発生しないように、すなわち、ある立体チャート2が他の立体チャート2の影とならないように、カメラシステム10を設置する(ステップS21)。このとき、カメラシステム10は固定されるが、可動式カメラ11は姿勢変化装置113の作用によって画角を変更することが可能な状態に設置される。
【0105】
そして、ユーザは可動式カメラ11を手動モードに設定し、被写体用カメラ13の操作ボタン164を操作することで、立体チャート2が可動式カメラ11の画角に入るように、可動式カメラ11のレンズ回転角を指定する(ステップS22)。これにより、被写体用カメラ13から可動式カメラ11に対して姿勢変化の指示が与えられ、可動式カメラ11の撮影方向が指示された方向に向き、立体チャート2が可動式カメラ11の画角内に収まる。なお、このとき1個の立体チャート2が画角内に収まるように撮影方向を指示することが好ましい。
【0106】
ユーザは可動式カメラ11による立体チャート2の撮影指示を行う(ステップS23)。この結果、可動式カメラ11では撮影動作が行われ、立体チャート2が撮影された画像データが可動式カメラ11から被写体用カメラ13に送信される。その際、画像データとともに、レンズ回転角情報も同時に送信される。被写体用カメラ13では、可動式カメラ11から受信する画像データ及びレンズ回転角情報をメモリ169に格納保存する。
【0107】
そして、ユーザは未撮影の立体チャート2が存在するか否かを判断し(ステップS24)、存在する場合はステップS25において、未撮影の立体チャート2が画角内に入るように可動式カメラ11を設定する。これにより、可動式カメラ11に姿勢変化が与えられ、1個の未撮影の立体チャート2が可動式カメラ11の画角内に収まる。
【0108】
そしてステップS23〜S25の処理を繰り返し行うことにより、被写体30の周囲に配置された全ての立体チャート2が可動式カメラ11によって撮影される。ユーザは全ての立体チャート2の撮影が終了すると、その旨の入力を被写体用カメラ13の操作ボタン164より入力する。
【0109】
被写体用カメラ13では、演算部170の第1演算部171が機能する。そして第1演算部171は、メモリ169に格納されている可動式カメラ11から得られた画像データを取得し、各立体チャート2を撮影したときの各立体チャート2に対する可動式カメラ11の相対位置及び相対姿勢を算出する(ステップS26)。つまり、この処理により、上記数5及び数6の式に示す各パラメータ(回転移動行列及び平行移動ベクトル)が求められることになる。
【0110】
次に、第1演算部171は、複数の立体チャート2のうちから基準座標系を示す基本立体チャートを一つ選択し、その基本立体チャートに対する可動式カメラ11の相対位置及び相対姿勢と、他の立体チャートに対する可動式カメラ11の相対位置及び相対姿勢と、レンズ回転角情報とに基づいて、基本立体チャートに対する他の立体チャートの相対位置及び相対姿勢を算出し、それをメモリ169にデータ保存する(ステップS27)。この処理により、上記数7又は数8の式に示す各パラメータが求められることになる。なお、基本立体チャート2の選択は、演算部170が複数の立体チャート2のうちから任意の一つを自動選択するように構成してもよいし、ユーザが操作ボタン164より指定するように構成してもよい。
【0111】
以上で、複数の立体チャート2が一つの基本立体チャートと、他の立体チャートとに区別され、基本立体チャートに対する他の全ての立体チャートの相対的位置関係が定められたことになり、ステップS2の処理を終了する。
【0112】
次に、被写体用カメラ13と可動式カメラ11との相対位置及び相対姿勢を算出する処理が行われる(図8参照;ステップS3)。この処理の詳細を図10のフローチャートに示す。
【0113】
まず、ユーザは、被写体用カメラ13及び可動式カメラ11が同一の立体チャート2をそれぞれの画角内に捉えるようにカメラシステム10の向きを調整する(ステップS31)。
【0114】
次にユーザは被写体用カメラ13及び可動式カメラ11による同一の立体チャート2の撮影指示を行う(ステップS32)。例えば、被写体用カメラ13のシャッタボタン161を押下すれば、カメラシステム10の被写体用カメラ13及び可動式カメラ11が同期して撮影動作を行う。この結果、可動式カメラ11で立体チャート2を撮影して得られる画像データが可動式カメラ11から被写体用カメラ13に送信され、被写体用カメラ13のメモリ169にその画像データが格納される。また、被写体用カメラ13で立体チャート2を撮影して得られる画像データも被写体用カメラ13のメモリ169に格納される。
【0115】
そして、被写体用カメラ13において演算部170の第2演算部172が機能し、可動式カメラ11が立体チャート2を撮影した画像から、可動式カメラ11の立体チャート2に対する相対位置及び相対姿勢、すなわち可動式カメラ11の外部パラメータの算出演算が行われる(ステップS33)。また同様に、被写体用カメラ13が立体チャート2を撮影した画像から、被写体用カメラ13の立体チャート2に対する相対位置及び相対姿勢、すなわち被写体用カメラ13の外部パラメータの算出演算が行われる(ステップS33)。演算部170は、可動式カメラ11及び被写体用カメラ13の各々についての外部パラメータが適切に算出できたか否かを判断する。そして、外部パラメータの算出ができなかった場合は、2つのカメラによる同一の立体チャート2の撮影動作(ステップS32)から繰り返すことになる。一方、外部パラメータが適切に算出できた場合には、ステップS34に進む。
【0116】
そして第2演算部172は、被写体用カメラ13及び可動式カメラ11のそれぞれの外部パラメータと、可動式カメラ11の撮影時のレンズ回転角とから、2つのカメラの相対位置及び相対姿勢を表現したカメラパラメータを算出する(ステップS34)。つまり、ステップS33で求めた外部パラメータにより、2つのカメラのそれぞれが同一の立体チャート2に対する相対的な位置及び姿勢が解明されるため、その関係を用いて2つのカメラどうしの相対的な位置関係を演算によって求めるのである。なお、同一の立体チャート2を撮影する際に、可動式カメラ11の旋回角度及び俯仰角度が0°であったならば、レンズ回転角を考慮することなく最も簡単に2つのカメラの相対位置及び相対姿勢を表現したカメラパラメータを算出することができる。この処理により、上記数3の変換式に示す各パラメータ又は上記数2と数3との合成変換式に相当する各パラメータが求められることになる。
【0117】
以上で、可動式カメラ11が被写体用カメラ13に固定された状態での被写体用カメラ13と可動式カメラ11との相対位置及び相対姿勢が定められたことになり、ステップS3の処理を終了する。
【0118】
次に、三次元情報の生成対象である被写体30を撮影するための被写体撮影処理が行われる(図8参照;ステップS4)。この処理の詳細を図11のフローチャートに示す。
【0119】
ステップS41においてユーザはカメラシステム10を被写体30周囲の任意の位置に設置し、被写体用カメラ13を被写体30に向ける。そして可動式カメラ11を手動モードに設定して、可動式カメラ11を複数の立体チャート2のうちの任意の1つ(撮影対象立体チャート)に向ける。このとき撮影対象立体チャートとしては、複数の立体チャート2のうちでカメラシステム10に最も近いものを選択することが好ましい。最も近いの立体チャートを撮影対象立体チャートとすることで、可動式カメラ11の撮影対象立体チャートに対する相対位置及び相対姿勢を高精度に求めることができるからである。そして、撮影対象立体チャートが可動式カメラ11の画角内に収まった時点で、ユーザは可動式カメラ11を自動追尾モードに設定する。
【0120】
ユーザは被写体用カメラ13で被写体30を撮影するために被写体用カメラ13のフレーミング調整等を行う。この間、可動式カメラ11では撮影対象立体チャート2を自動追尾して、可動式カメラ11の画角内に常に撮影対象立体チャートを捉えるように動作する。
【0121】
そして、自動追尾が良好に行われている場合はステップS43に進み、自動追尾が失敗した場合にはステップS41に戻って再び撮影対象立体チャートが可動式カメラ11の画角内収まるように手動操作を行う(ステップS42)。
【0122】
被写体用カメラ13によるフレーミング調整が完了すると、ユーザは被写体用カメラ13のシャッタボタン161を押下し、被写体30の撮影動作を指示する。これに応答して、被写体用カメラ13では被写体30の撮影が行われ、同時に可動式カメラ11では撮影対象立体チャート2の撮影動作が行われる(ステップS43)。
【0123】
そして、被写体用カメラ13で得られた被写体30の撮影画像がメモリ169に格納されるとともに、可動式カメラ11で撮影対象立体チャートを撮影した画像データ及びレンズ回転角情報もメモリ169に格納される。
【0124】
そして被写体用カメラ13において第2演算部172が機能する。第2演算部172は、メモリ169に格納されている可動式カメラ11で得られた画像を読み出して、複数の立体チャート2のうち、どの立体チャートが撮影対象立体チャートとして撮影されたかを特定する(ステップS44)。
【0125】
複数の立体チャート2のうちから撮影対象立体チャートを特定するための一例について説明する。例えば、複数の立体チャート2のチャートパターンCPをそれぞれ異なる色で形成しておく。そして可動式カメラ11から得られた画像における撮影対象立体チャートの色を演算部170が判別することにより、複数の立体チャートのうちで撮影対象立体チャートとして撮影された立体チャートを特定することが可能である。
【0126】
また、上記のように複数の立体チャート2のそれぞれのチャートパターンCPを異なる色で形成することにより、複数の立体チャート2の相対的位置関係を求めた際に、各立体チャート2を特定することができる。
【0127】
そして第2演算部172は、可動式カメラ11から得られた撮影対象立体チャート2の画像に基づいて、可動式カメラ11の撮影対象立体チャート2に対する相対位置及び相対姿勢を求める(ステップS45)。これにより、可動式カメラ11が撮影対象立体チャートを撮影したときの可動式カメラ11の外部パラメータが算出されることになる。
【0128】
そして第2演算部172は、ステップS45で得られた可動式カメラ11の外部パラメータ(数1の式における各パラメータ)、ステップS34で得られたカメラパラメータ(数3の式における各パラメータ)、及び、ステップS43の撮影時におけるレンズ回転角情報(数2の式における各パラメータ)、に基づいて、被写体用カメラ13の撮影対象立体チャートに対する相対位置及び相対姿勢を求める(ステップS46)。つまり、被写体用カメラ13の外部パラメータを求めるのである。これにより、上記数4の式における各パラメータが求まることとなり、被写体30を撮影した撮影画像から得られる被写体30の座標値を、撮影対象立体チャートのチャート座標系Xcにおける座標値に変換することが可能になる。
【0129】
そして、被写体用カメラ13で得られる撮影画像と、上記のようにして得られる被写体用カメラ13の外部パラメータと、特定された撮影対象立体チャートと、を対応づけてメモリ169にデータ保存する。
【0130】
ステップS41〜S47の処理により、被写体30を被写体用カメラ13で撮影したときの撮影画像から得られる画像を、撮影対象立体チャートのチャート座標系に変換するためのパラメータが求められることになる。このような処理を被写体30の全周を分割撮影して繰り返し行うことにより、被写体30の全周に関するパラメータが生成されることになる。
【0131】
ステップS48では、ユーザがさらに被写体30の別の側面を撮影すると判断した場合に、ステップS41からの処理が繰り返し行われるようになっている。また、ユーザが被写体30の全周について撮影動作を行った場合には、操作ボタン164に対して所定の入力を行うこと撮影終了を指示する。この撮影終了の指示入力があった場合には、カメラシステム10は被写体撮影処理(ステップS4)を終了する。
【0132】
ただし、ユーザが被写体30の周囲を移動しつつ、被写体30を繰り返し撮影する場合、各撮影時において可動式カメラ11が撮影する撮影対象立体チャートは異なった立体チャートに指定される。このため、各撮影時に求められる被写体用カメラ13の外部パラメータは基準とする立体チャートがそれぞれに異なったものとなっている。
【0133】
次に、三次元情報生成システム1においては、三次元情報の生成処理が行われる(図8参照;ステップS5)。この処理の詳細を図12のフローチャートに示す。
【0134】
被写体用カメラ13において第2演算部172が機能する。そして、第2演算部172は、被写体用カメラ13で被写体30を撮影して得られた撮影画像と、その撮影時に求められた被写体用カメラ13の外部パラメータと、その撮影時の撮影対象立体チャートを特定する情報とを、メモリ169から読み出す(ステップS51)。
【0135】
また、第2演算部172は、メモリ169にアクセスし、第1演算部171がステップS2において予め求めておいた複数の立体チャート2の相対的位置関係のうちから、基本立体チャートに対する撮影対象立体チャートの相対位置及び相対姿勢を読み出す(ステップS52)。このとき、第2演算部172は、ステップS51で得られる撮影時の撮影対象立体チャートを特定する情報に基づいて、基本立体チャートに対する撮影対象立体チャートの相対位置及び相対姿勢を読み出す。
【0136】
ステップS51で得られる、撮影時に求められた被写体用カメラ13の外部パラメータとは、すなわち、上記の数4の式に示す各パラメータである。また、ステップS52で得られる、基本立体チャートに対する撮影対象立体チャートの相対位置及び相対姿勢とは、すなわち、上記の数7又は数8の式に示す各パラメータである。したがって、これらのパラメータに基づいて演算を行えば、被写体用カメラ13で被写体30を撮影した際の撮影画像から得られる被写体30の座標値を、基本立体チャートの基準座標系で表現される座標値に座標変換することができる。つまり、数4の座標変換式と、数7又は数8の座標変換式との合成変換式を求めることにより、被写体30の基準座標系(ワールド座標系)における座標値を求めることが可能な変換式を求めることができるのである。
【0137】
そして第2演算部172は、撮影対象立体チャートの基本立体チャートに対する相対位置及び相対姿勢と、被写体用カメラ13の外部パラメータとに基づいて、上記の合成変換式を求め、撮影画像に含まれる被写体像の三次元情報を生成する(ステップS53)。
【0138】
そして第2演算部172は、メモリ169に他の撮影画像が有るか否かを調べ、有る場合にはステップS51〜S53の処理を繰り返す(ステップS54)。この繰り返しにより、被写体30の周囲を分割して撮影した場合の全ての画像から、基準座標系(ワールド座標系)における座標値を求めることができ、被写体像の全周に関する三次元情報を生成することが可能になる。
【0139】
そして最終的に被写体30の全周についての三次元情報が生成されると、その三次元情報が出力又は保存されて全ての処理が終了する(ステップS55)。
【0140】
なお、上記の動作プロセスにおいて、各手順の順序を若干入れ替えてもよい。例えば、複数の立体チャート2の相対的位置関係を算出する処理(ステップS2)を、ステップS3の処理やステップS4の処理の後に行うようにしても構わない。
【0141】
以上、説明したように、この実施の形態の三次元情報生成システム1では、被写体30の周囲に、既知の構造で形成された複数の立体チャート2が配置されている。そして、第1演算部171が、複数の立体チャート2を予め可動式カメラ11で撮影した画像に含まれる各立体チャートに基づいて、複数の立体チャート2の相対的位置関係を求めるように構成され、第2演算部172が、可動式カメラ11が撮影対象立体チャートを撮影した撮影位置及び撮影姿勢と、可動式カメラ11と被写体用カメラ13との相対位置及び相対姿勢と、撮影対象立体チャートと他の立体チャート2とについての相対的位置関係と、に基づいて、被写体用カメラ13から得られる撮影画像より、被写体の三次元情報を生成するように構成されている。
【0142】
このため、カメラシステム10の可動範囲を大幅に広げることができるとともに、高い測定精度で三次元画像モデルを構築することが可能である。つまり、被写体30のサイズが大きい場合には、その被写体サイズに応じて被写体30の周囲に配置する立体チャートの数を増加させればよいのである。そして、立体チャートの数が増加したとしても、各立体チャート間の相対的位置関係が高精度に求められるので、カメラシステム10の可動範囲を広げつつも、高精度な三次元情報の生成が可能になるのである。
【0143】
また、被写体30の周囲に配置される複数の立体チャート2の相対的位置関係を求める際に、可動式カメラ11の画角内に少なくとも2つの立体チャート2が収まるようにして撮影すれば、撮影によって得られた画像から簡単に少なくとも2つの立体チャート2の相対的位置関係を求めることができるので、効率的である。
【0144】
また、被写体30の周囲に配置される複数の立体チャート2の相対的位置関係を求める際に、可動式カメラ11の撮影方向(すなわち撮影姿勢)を変化させつつ、可動式カメラ11によって複数の立体チャート2を撮影するようにしてもよい。このような撮影を行ったとしても、可動式カメラ11から得られる各画像と、各画像を撮影した際の可動式カメラ11の撮影方向(撮影姿勢)と、に基づいて、複数の立体チャート2の相対的位置関係を適切に求めることが可能である。また、上記のような可動式カメラ11の画角内に少なくとも2つの立体チャート2が収まる撮影形態の場合には、複数の立体チャート2の配置が可動式カメラ11の画角による制限を受けることになるが、可動式カメラ11の撮影方向を変化させつつ、可動式カメラ11によって複数の立体チャート2を撮影する撮影形態の場合には、複数の立体チャート2の配置が可動式カメラ11の画角による制限を受けることがなく、立体チャート2の配置における自由度が増す。
【0145】
<7.変形例>
以上、この発明の実施の形態について説明したが、この発明は上記説明した内容のものに限定されるものではない。
【0146】
例えば、上記説明では、複数の立体チャート2の相対的位置関係を求める際に、可動式カメラ11で複数の立体チャート2を撮影する形態について説明したが、被写体用カメラ13で複数の立体チャート2を撮影するようにしても構わない。また、可動式カメラ11と被写体用カメラ13との双方のカメラが、互いに異なる立体チャート2を撮影し、それぞれに得られる画像から各立体チャートの相対的位置関係を求めるようにしても構わない。
【0147】
また、複数の立体チャート2の相対的位置関係を求めるために、ある立体チャート2に対して可動式カメラ11を固定し、その可動式カメラ11によって隣接する他の立体チャート2を撮影するようにしてもよい。この場合は、可動式カメラ11を立体チャート2に固定したときの可動式カメラ11の位置及び姿勢が所定の状態となるように取り付けられ、既知であることが必要である。
【0148】
また、上記説明では、各立体チャートを他の立体チャートと区別するために各立体チャートに異なる色のチャートパターンCPを形成する例について説明したが、例えばマーカ201の点灯パターンを各立体チャートごとに変更させたり、各立体チャートに異なる文字パターン等を形成して、それらを判別することによっても、各々の立体チャートを区別することが可能である。
【0149】
また、上記説明では、第1演算部171及び第2演算部172を備える演算部170が、被写体用カメラ13に設けられる例について説明したが、これに限定されるものではなく、可動式カメラ11に第1演算部171が配置されもよいし、演算部170の全部又は一部の機能がコンピュータ15に設けられていてもよい。演算部170としての機能がコンピュータ15に設けられる場合には、可動式カメラ11で得られる情報及び被写体用カメラ13で得られる情報の全ては、コンピュータ15に与えられることになる。そして、演算部170の機能を実現する演算プログラムは、コンピュータ15にインストールされて実行されることになる。
【0150】
さらに、上記説明においては、複数の立体チャート2が被写体30の略上方に吊り下げられる例について説明したが、それに限定されるものでもない。図13は複数の立体チャートの配置に関する変形例を示す図である。図13に示すように、複数の立体チャート2(2c〜2e)は被写体30の周囲床面に配置されていてもよい。この場合でも、上述した演算内容には何ら変更は生じない。
【0151】
【発明の効果】
以上説明したように、請求項1乃至請求項6に記載の各発明によれば、被写体の周囲に配置された複数の姿勢検出用基準物体の相対的位置関係が求められるため、被写体を撮影する際にいずれかの姿勢検出用基準物体を同時に撮影しておけば、被写体を適切に測定することができる。このため、測定装置の被写体周囲における可動範囲を広く確保することができ、かつ、高い測定精度で被写体を測定することが可能になる。
また、基準物体撮影用カメラの特徴を利用して被写体の周囲に配置された複数の姿勢検出用基準物体の相対的位置関係を求めることができ、複数の立体チャートの配置における自由度が増す。
【0152】
そして特に、請求項2に記載の発明によれば、被写体の周囲に配置された複数の姿勢検出用基準物体の相対的位置関係を簡単に求めることができ、演算効率も向上する。
【0154】
また、請求項3に記載の発明によれば、基準物体撮影用カメラが測定装置に対して撮影方向を可変に固定されているので、被写体周囲に配置された任意の姿勢検出用基準物体を測定することができ、複数の姿勢検出用基準物体の相対的位置関係を適切に求めることができる。
【0155】
また、請求項4に記載の発明によれば、基準物体撮影用カメラが少なくとも1つの姿勢検出用基準物体を撮影するように、基準物体撮影用カメラの撮影方向が制御されるため、被写体の周囲における測定装置の配置に自由度が増す。
【0156】
さらに、請求項5に記載の発明によれば、測定装置が被写体の3次元形状を測定する装置であり、複数回の測定で得られた3次元形状が各測定時の姿勢に基づいて合成されるため、測定装置によって被写体の周囲に関する3次元形状が正確に測定される。
【図面の簡単な説明】
【図1】本発明にかかる三次元情報生成システムの一構成例を示す図である。
【図2】立体チャートの側面図である。
【図3】可動式カメラの正面図である。
【図4】可動式カメラの内部機能を示すブロック図である。
【図5】被写体撮影用カメラの内部構成を示すブロック図である。
【図6】三次元情報生成システムにおける座標変換の概念を示す図である。
【図7】チャート座標系を基準座標系に変換する座標変換の概念を示す図である。
【図8】三次元情報生成システムの全体的な動作プロセスを示すフローチャートである。
【図9】三次元情報生成システムの動作プロセスにおける一部の処理を示すフローチャートである。
【図10】三次元情報生成システムの動作プロセスにおける一部の処理を示すフローチャートである。
【図11】三次元情報生成システムの動作プロセスにおける一部の処理を示すフローチャートである。
【図12】三次元情報生成システムの動作プロセスにおける一部の処理を示すフローチャートである。
【図13】複数の立体チャートの配置に関する変形例を示す図である。
【符号の説明】
1 三次元情報生成システム
2(2a〜2e) 立体チャート(姿勢検出用基準物体)
10 カメラシステム(三次元情報生成装置、測定装置)
11 可動式カメラ(基準物体撮影用カメラ)
13 被写体撮影用カメラ(被写体カメラ)
15 コンピュータ
30 被写体
113 姿勢変化装置
160 制御部(制御手段)
170 演算部
171 第1演算部(第1の演算手段)
172 第2演算部(第2の演算手段)
G1 画角
Xc,Xm,Xmo,Xo,Xcb,Xxa 座標系
Claims (6)
- 被写体の周囲に、物体単体の画像により撮影時のカメラの座標が得られる既知の形状を有する複数の姿勢検出用基準物体が配置された状態で、前記被写体を測定する測定装置であって、
前記被写体を撮影する被写体撮影用カメラと、
前記被写体撮影用カメラに姿勢変更自在に取り付けられた基準物体撮影用カメラと、
前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な姿勢関係を特定するセンサと、
前記複数の姿勢検出用基準物体を予め前記基準物体撮影用カメラで撮影した画像に基づいて、前記複数の姿勢検出用基準物体の相対的位置関係を求める第1演算手段と、
前記被写体撮影用カメラの撮影動作に同期して前記基準物体撮影用カメラの撮影が行われるように制御する制御手段と、
前記基準物体撮影用カメラで撮影された撮影時の前記姿勢検出用基準物体の画像から得られる前記基準物体用カメラと前記姿勢検出用基準物体との相対的な位置及び姿勢関係と、前記センサから得られる前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な姿勢関係と、に基づいて得られる、前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な位置及び姿勢を用いて、前記被写体撮影用カメラで撮影された前記被写体の画像から前記被写体の三次元情報を求める第2演算手段と、
を備えることを特徴とする測定装置。 - 請求項1に記載の測定装置において、
前記第1演算手段は、前記基準物体撮影用カメラの画角内に少なくとも2つの前記姿勢検出用基準物体が収まるようにして撮影された画像に含まれる各姿勢検出用基準物体に基づいて、前記少なくとも2つの姿勢検出用基準物体の相対的位置関係を求めることを特徴とする測定装置。 - 請求項1または請求項2に記載の測定装置において、
前記基準物体撮影用カメラは、前記測定装置に対して撮影方向を可変に固定されていることを特徴とする測定装置。 - 請求項3に記載の測定装置において、
前記制御手段は、前記基準物体撮影用カメラが少なくとも1つの前記姿勢検出用基準物体を撮影するように、前記基準物体撮影用カメラの前記撮影方向を制御する撮影方向制御手段を有することを特徴とする測定装置。 - 請求項1乃至請求項4のいずれかに記載の測定装置において、
前記測定装置は、被写体の3次元形状を測定する装置であり、
複数回の測定で得られた3次元形状が各測定時の姿勢に基づいて合成されることを特徴とする測定装置。 - 被写体の周囲に、物体単体の画像により撮影時のカメラの座標が得られる既知の形状を有する複数の姿勢検出用基準物体が配置された状態で、前記被写体を測定する測定方法であって、
前記複数の姿勢検出用基準物体を予め基準物体撮影用カメラで撮影し、その画像に基づいて、前記複数の姿勢検出用基準物体の相対的位置関係を求める第1演算工程と、
前記被写体を撮影する被写体撮影用カメラの撮影動作に同期して、前記複数の姿勢検出用基準物体のうちの少なくとも1つを前記基準物体撮影用カメラで撮影する工程と、
前記基準物体撮影用カメラで撮影された撮影時の前記姿勢検出用基準物体の画像から得られる前記基準物体用カメラと前記姿勢検出用基準物体との相対的な位置及び姿勢関係と、前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な姿勢関係を特定するセンサから得られる前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な姿勢関係と、に基づいて得られる、前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な位置及び姿勢を用いて、前記被写体撮影用カメラで撮影された前記被写体の画像から前記被写体の三次元情報を求める第2演算工程と、
を備えることを特徴とする測定方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001203375A JP4892792B2 (ja) | 2001-07-04 | 2001-07-04 | 測定装置及び測定方法 |
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 |
---|---|---|---|
JP2001203375A JP4892792B2 (ja) | 2001-07-04 | 2001-07-04 | 測定装置及び測定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003014421A JP2003014421A (ja) | 2003-01-15 |
JP4892792B2 true JP4892792B2 (ja) | 2012-03-07 |
Family
ID=19040022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001203375A Expired - Fee Related JP4892792B2 (ja) | 2001-05-25 | 2001-07-04 | 測定装置及び測定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4892792B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5108392B2 (ja) * | 2007-06-15 | 2012-12-26 | 株式会社コスモプラニング | 軌道変位測定システム |
JP6282098B2 (ja) * | 2013-11-29 | 2018-02-21 | キヤノン株式会社 | キャリブレーション装置及び方法 |
JP7506565B2 (ja) * | 2020-09-14 | 2024-06-26 | 株式会社Screenホールディングス | 画像処理装置、検査装置およびプログラム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4610005A (en) * | 1980-06-19 | 1986-09-02 | Dresser Industries, Inc. | Video borehole depth measuring system |
FR2770317B1 (fr) * | 1997-10-24 | 2000-12-08 | Commissariat Energie Atomique | Procede d'etalonnage de la position et de l'orientation d'origine d'une ou plusieurs cameras mobiles et son application a la mesure de position tridimentionnelle d'objets fixes |
JP3792901B2 (ja) * | 1998-07-08 | 2006-07-05 | キヤノン株式会社 | カメラ制御システム及びその制御方法 |
JP2000102036A (ja) * | 1998-09-22 | 2000-04-07 | Mr System Kenkyusho:Kk | 複合現実感提示システム、複合現実感提示方法、マン・マシーンインタフェース装置、およびマン・マシーンインタフェース方法 |
JP2000172878A (ja) * | 1998-12-09 | 2000-06-23 | Sony Corp | 情報処理装置および情報処理方法、並びに提供媒体 |
JP4315545B2 (ja) * | 1999-10-19 | 2009-08-19 | Hoya株式会社 | 3次元画像検出システムと3次元画像検出装置 |
JP2001241928A (ja) * | 2000-03-01 | 2001-09-07 | Sanyo Electric Co Ltd | 形状測定装置 |
JP4136859B2 (ja) * | 2003-01-10 | 2008-08-20 | キヤノン株式会社 | 位置姿勢計測方法 |
-
2001
- 2001-07-04 JP JP2001203375A patent/JP4892792B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003014421A (ja) | 2003-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4425278B2 (ja) | パノラマ又はモザイク機能を有するデジタルカメラ | |
US9549168B2 (en) | Hand held portable three dimensional scanner | |
US7423666B2 (en) | Image pickup system employing a three-dimensional reference object | |
JP4715527B2 (ja) | 撮影装置、撮影画像の画像処理方法及びプログラム | |
JP4983905B2 (ja) | 撮像装置、3dモデリングデータ生成方法、および、プログラム | |
JP5999336B2 (ja) | 撮像装置及び撮像処理方法並びにプログラム | |
JP4010753B2 (ja) | 形状計測システムと撮像装置と形状計測方法及び記録媒体 | |
JP5434339B2 (ja) | 撮像制御装置、撮像システム、撮像方法、プログラム | |
KR20140122344A (ko) | 카메라의 가이드 제공 방법 및 그 전자 장치 | |
JP2009025225A (ja) | 立体撮像装置および立体撮像装置の制御方法並びにプログラム | |
JP5347802B2 (ja) | 構図制御装置、撮像システム、構図制御方法、プログラム | |
JP2003075137A (ja) | 撮影システム並びにそれに用いられる撮像装置および3次元計測用補助ユニット | |
CN112634376A (zh) | 标定方法及装置、标定设备和存储介质 | |
JP5248951B2 (ja) | カメラ装置、画像撮影支援装置、画像撮影支援方法、及び画像撮影支援プログラム | |
JP4892792B2 (ja) | 測定装置及び測定方法 | |
WO2005088962A1 (ja) | 追尾装置、及びモーションキャプチャ装置 | |
JP4892793B2 (ja) | 測定装置及び測定方法 | |
JP4590780B2 (ja) | カメラ校正用立体チャート、カメラの校正用パラメータの取得方法、カメラの校正用情報処理装置、およびプログラム | |
JPH1023465A (ja) | 撮像方法及び装置 | |
JP2003023562A (ja) | 画像撮影システムおよびカメラシステム | |
JP2005168054A (ja) | 撮像装置及びその撮像データの利用装置 | |
JP2017215851A (ja) | 画像処理装置および画像処理方法、造形システム | |
JP2003021512A (ja) | 測定装置の校正用パラメータ取得方法、校正用情報処理装置、およびプログラム | |
CN114208153B (zh) | 不使用防抖的多重拍摄图像捕获 | |
JPH09294224A (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: 20101109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101116 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110607 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110727 |
|
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: 20111122 |
|
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: 20111205 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150106 Year of fee payment: 3 |
|
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 |