(57)【特許請求の範囲】
【請求項１】
被写体の周囲に、物体単体の画像により撮影時のカメラの座標が得られる既知の形状を有する複数の姿勢検出用基準物体が配置された状態で、前記被写体を測定する測定装置であって、
前記被写体を撮影する被写体撮影用カメラと、
前記被写体撮影用カメラに姿勢変更自在に取り付けられた基準物体撮影用カメラと、
前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な姿勢関係を特定するセンサと、
前記複数の姿勢検出用基準物体を予め前記基準物体撮影用カメラで撮影した画像に基づいて、前記複数の姿勢検出用基準物体の相対的位置関係を求める第１演算手段と、
前記被写体撮影用カメラの撮影動作に同期して前記基準物体撮影用カメラの撮影が行われるように制御する制御手段と、
前記基準物体撮影用カメラで撮影された撮影時の前記姿勢検出用基準物体の画像から得られる前記基準物体用カメラと前記姿勢検出用基準物体との相対的な位置及び姿勢関係と、前記センサから得られる前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な姿勢関係と、に基づいて得られる、前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な位置及び姿勢を用いて、前記被写体撮影用カメラで撮影された前記被写体の画像から前記被写体の三次元情報を求める第２演算手段と、
を備えることを特徴とする測定装置。
【請求項２】
請求項１に記載の測定装置において、
前記第１演算手段は、前記基準物体撮影用カメラの画角内に少なくとも２つの前記姿勢検出用基準物体が収まるようにして撮影された画像に含まれる各姿勢検出用基準物体に基づいて、前記少なくとも２つの姿勢検出用基準物体の相対的位置関係を求めることを特徴とする測定装置。
【請求項３】
請求項１または請求項２に記載の測定装置において、
前記基準物体撮影用カメラは、前記測定装置に対して撮影方向を可変に固定されていることを特徴とする測定装置。
【請求項４】
請求項３に記載の測定装置において、
前記制御手段は、前記基準物体撮影用カメラが少なくとも１つの前記姿勢検出用基準物体を撮影するように、前記基準物体撮影用カメラの前記撮影方向を制御する撮影方向制御手段を有することを特徴とする測定装置。
【請求項５】
請求項１乃至請求項４のいずれかに記載の測定装置において、
前記測定装置は、被写体の３次元形状を測定する装置であり、
複数回の測定で得られた３次元形状が各測定時の姿勢に基づいて合成されることを特徴とする測定装置。
【請求項６】
被写体の周囲に、物体単体の画像により撮影時のカメラの座標が得られる既知の形状を有する複数の姿勢検出用基準物体が配置された状態で、前記被写体を測定する測定方法であって、
前記複数の姿勢検出用基準物体を予め基準物体撮影用カメラで撮影し、その画像に基づいて、前記複数の姿勢検出用基準物体の相対的位置関係を求める第１演算工程と、
前記被写体を撮影する被写体撮影用カメラの撮影動作に同期して、前記複数の姿勢検出用基準物体のうちの少なくとも１つを前記基準物体撮影用カメラで撮影する工程と、
前記基準物体撮影用カメラで撮影された撮影時の前記姿勢検出用基準物体の画像から得られる前記基準物体用カメラと前記姿勢検出用基準物体との相対的な位置及び姿勢関係と、前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な姿勢関係を特定するセンサから得られる前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な姿勢関係と、に基づいて得られる、前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な位置及び姿勢を用いて、前記被写体撮影用カメラで撮影された前記被写体の画像から前記被写体の三次元情報を求める第２演算工程と、
を備えることを特徴とする測定方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、被写体を複数の方向からカメラで撮影して当該被写体の三次元画像モデルを構築するための技術に関する。
【０００２】
【従来の技術】
立体的な被写体を複数の方向から撮影し、それによって得られた複数の画像データを組み合わせることによって、当該被写体の三次元画像モデルを得ることができる。すなわち、複数の方向から被写体を撮影したそれぞれの画像ごとに、カメラの外部パラメータ（カメラの位置や姿勢など）と内部パラメータ（焦点距離など）のデータを得ることができれば、シェープ・フロム・シルエット法によって、被写体のシルエット画像から三次元のモデルを再構成することができる。このシェープ・フロム・シルエット法についての詳細は、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に開示されている。以下、カメラの外部パラメータと内部パラメータとを「（カメラの）校正パラメータ」と総称するが、この校正パラメータのうち内部パラメータが既知であって内部パラメータによるカメラの校正が完了している場合には、カメラの外部パラメータが求まれば、被写体の三次元画像モデルの構築が可能となる。
【０００３】
ところで、このように複数の方向から被写体を撮影するにあたっての１つの方法は、複数のカメラを異なる位置に固定配置して被写体を撮影する固定配置方式である。しかしながら、この固定配置方式では複数のカメラを撮影スタジオ内などに固定的に分散配置しておかねばならないために、撮影設備が大がかりになるだけである。
【０００４】
そこで、ユーザが１台の手持ちカメラを持って被写体の周りを移動しつつ、複数の方向から被写体を順次に撮影することによって被写体の全周囲の画像を得る移動撮影方式が提案されている。この移動撮影方式でカメラの外部パラメータを決定するには、それぞれの撮影時にカメラの位置及び姿勢を特定することが必要となる。
【０００５】
この場合の、カメラの外部パラメータを測定する方式の一つとして、平面チャートと使用した光学方式によるものが、従来から提案されている。
【０００６】
【発明が解決しようとする課題】
しかしながら、平面チャートは、それを観測可能な角度範囲が狭く、当該平面チャートの法線方向から９０度を越える方向からは観測できないため、カメラの可動範囲が大きく制限されるという問題を有している。また、平面チャートを観測できる範囲内にカメラがあっても、平面チャートの法線方向からカメラの方向が大きくずれているときには平面チャート上のパターンの観測精度が低下し、その結果としてカメラの外部パラメータの決定精度が良くないといった欠点もある。
【０００７】
特に、被写体が平面チャートに比べて十分に大きい物体である場合には、従来の光学方式では正確な外部パラメータを得ることができず、被写体の三次元画像モデルを構築することができないという問題が顕著となる。
【０００８】
そこで、本発明は上記課題に鑑みてなされたものであって、光学方式を用いながらも、広い可動範囲を確保しつつ高い測定精度で三次元画像モデルを構築することの可能な測定装置を実現することを目的としている。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、請求項１に記載の発明は、被写体の周囲に、物体単体の画像により撮影時のカメラの座標が得られる既知の形状を有する複数の姿勢検出用基準物体が配置された状態で、前記被写体を測定する測定装置であって、前記被写体を撮影する被写体撮影用カメラと、前記被写体撮影用カメラに姿勢変更自在に取り付けられた基準物体撮影用カメラと、前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な姿勢関係を特定するセンサと、前記複数の姿勢検出用基準物体を予め前記基準物体撮影用カメラで撮影した画像に基づいて、前記複数の姿勢検出用基準物体の相対的位置関係を求める第１演算手段と、前記被写体撮影用カメラの撮影動作に同期して前記基準物体撮影用カメラの撮影が行われるように制御する制御手段と、前記基準物体撮影用カメラで撮影された撮影時の前記姿勢検出用基準物体の画像から得られる前記基準物体用カメラと前記姿勢検出用基準物体との相対的な位置及び姿勢関係と、前記センサから得られる前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な姿勢関係と、に基づいて得られる、前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な位置及び姿勢を用いて、前記被写体撮影用カメラで撮影された前記被写体の画像から前記被写体の三次元情報を求める第２演算手段と、を備えることを特徴とする。
【００１０】
請求項２に記載の発明は、請求項１に記載の測定装置において、前記第１演算手段が、前記基準物体撮影用カメラの画角内に少なくとも２つの前記姿勢検出用基準物体が収まるようにして撮影された画像に含まれる各姿勢検出用基準物体に基づいて、前記少なくとも２つの姿勢検出用基準物体の相対的位置関係を求めることを特徴としている。
【００１２】
請求項３に記載の発明は、請求項１または請求項２に記載の測定装置において、前記基準物体撮影用カメラが、前記測定装置に対して撮影方向を可変に固定されていることを特徴としている。
【００１３】
請求項４に記載の発明は、請求項３に記載の測定装置において、前記制御手段が、前記基準物体撮影用カメラが少なくとも１つの前記姿勢検出用基準物体を撮影するように、前記基準物体撮影用カメラの前記撮影方向を制御する撮影方向制御手段を有することを特徴としている。
【００１４】
請求項５に記載の発明は、請求項１乃至請求項４のいずれかに記載の測定装置において、前記測定装置が、被写体の３次元形状を測定する装置であり、複数回の測定で得られた３次元形状が各測定時の姿勢に基づいて合成されることを特徴としている。
【００１６】
請求項６に記載の発明は、被写体の周囲に、物体単体の画像により撮影時のカメラの座標が得られる既知の形状を有する複数の姿勢検出用基準物体が配置された状態で、前記被写体を測定する測定方法であって、前記複数の姿勢検出用基準物体を予め基準物体撮影用カメラで撮影し、その画像に基づいて、前記複数の姿勢検出用基準物体の相対的位置関係を求める第１演算工程と、前記被写体を撮影する被写体撮影用カメラの撮影動作に同期して、前記複数の姿勢検出用基準物体のうちの少なくとも１つを前記基準物体撮影用カメラで撮影する工程と、前記基準物体撮影用カメラで撮影された撮影時の前記姿勢検出用基準物体の画像から得られる前記基準物体用カメラと前記姿勢検出用基準物体との相対的な位置及び姿勢関係と、前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な姿勢関係を特定するセンサから得られる前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な姿勢関係と、に基づいて得られる、前記被写体撮影用カメラと前記基準物体撮影用カメラとの相対的な位置及び姿勢を用いて、前記被写体撮影用カメラで撮影された前記被写体の画像から前記被写体の三次元情報を求める第２演算工程と、を備えることを特徴とする。
【００１８】
【発明の実施の形態】
以下、この発明の実施の形態について図面を参照しつつ詳細に説明する。
【００１９】
＜１．三次元情報生成システムの構成＞
図１は、本発明にかかる三次元情報生成システム１の一構成例を示す図である。この三次元情報生成システム１は、立体的な被写体３０の画像を撮像可能な可搬性のカメラシステム１０と、被写体３０を収容した空間内において、被写体３０の近傍に配置されたカメラ校正用の複数の立体チャート２と、を備えている。
なお、図１においては、複数の立体チャート２として、２つの立体チャート２ａ，２ｂが設けられる例を示している。
【００２０】
各立体チャート２は、後に詳述するように、略角錐状の本体の各側面にチャートパターンが施された立体物であり、姿勢検出用基準物体である。各立体チャート２は、チャート支持具２５０から吊り下げられている。チャート支持具２５０は台座２５１から伸びる逆Ｌ字状のアーム２５２を備え、各立体チャート２はそのアーム２５２の先端付近に固定されている。好ましくは、各立体チャート２は被写体３０の略上方に吊り下げられる。
【００２１】
カメラシステム１０は、デジタルカメラとしての機能を有する被写体撮影用カメラ（以下、「被写体用カメラ」と略す）１３を備えて構成される三次元情報生成装置であり、被写体を測定する測定装置としても機能する。また、この被写体用カメラ１３の上部には、基準物体撮影用カメラとして機能する可動式カメラ１１が姿勢変更自在に取り付けられている。可動式カメラ１１は、立体チャート２のチャートパターン（図２参照）に含まれる複数の単位図形ＵＰを撮影することにより、立体チャート２と可動式カメラ１１との相対的な位置姿勢関係を特定し、さらには立体チャート２に対する被写体用カメラ１３の位置および姿勢を検出するために使用される。
【００２２】
なお図１に示すように、この三次元情報生成システム１は、たとえばノートブック型等のコンピュータ１５を備えていてもよい。その場合、コンピュータ１５は、通信インタフェースを介した無線若しくは有線のデータ通信、又は、メモリカード等の記録媒体を介したデータ交換等によってカメラシステム１０との間でコマンドやデータの授受が可能なように構成される。
【００２３】
＜２．立体チャートの構成＞
図２は各立体チャート２の側面図である。立体チャート２は、立体チャート本体２０３と、この立体チャート本体２０３の表面上に形成されたチャートパターンＣＰとを有している。
【００２４】
このうち立体チャート本体２０３は、多角錐形状の表示部２０４と、角錐台状の支持部２０５とが一体化されており、内部は中空となっている。チャートパターンＣＰは、表示部２０４の各側面Ｔ１〜Ｔｎ（ｎは３以上の整数）上に付されたパターンＰ１〜Ｐｎの集合である。好ましくは、多角錐の側面の数ｎは、ｎ＝３〜３６であり、より好ましくはｎ＝６〜１２である。各側面Ｔ１〜Ｔｎに形成されたそれぞれのパターンＰ１〜Ｐｎは平面的パターンであるが、パターンＰ１〜Ｐｎが立体的に配置されることにより、このパターンＰ１〜Ｐｎの集合としてのチャートパターンＣＰは立体的パターンとなっている。それぞれのパターンＰ１〜Ｐｎは、それぞれが単位図形として機能する複数の台形の集合であり、各単位図形の形状は設計値に基づいて高精度に形成される。したがって、各単位図形の頂点位置は既知となる。
【００２５】
また、表示部２０４を構成する多角錐の頂点には、可動式カメラ１１がチャートパターンＣＰを追尾（トラッキング）する際に基準点とするマーカ２０１として、発光ダイオード（ＬＥＤ）が取り付けられており、立体チャート２の内部に設けられたマーカ用電源がマーカ２０１を点灯させることにより、可動式カメラ１１が容易かつ正確に立体チャート２の位置を認識することができるように構成されている。
【００２６】
＜３．可動式カメラ１１の構成＞
図３は可動式カメラ１１の正面図であり、図４は可動式カメラ１１の内部機能を示すブロック図である。図３及び図４に示すように、可動式カメラ１１では、レンズユニット１１０と、このレンズユニット１１０によって結像した２次元画像を光電変換する２次元受光素子１１１とが一体となって球状ユニット１１６に納められている。２次元受光素子１１１は複数の画素が受光面に配列されたＣＣＤアレイ等によって構成される。レンズユニット１１０は、固定レンズ１１０ａとズームレンズ１１０ｂとの組み合わせであり、それらの間に絞り／シャッタ機構部１１０ｅが存在する。
【００２７】
図３に示すように、球状ユニット１１６は姿勢変化装置１１３を介して固定部１１４に連結されており、球状ユニット１１６に内蔵された各要素とともにパン方向の±約７０°の旋回（θ回転）と、チルト方向への±約７０°の俯仰（φ回転）とが可能になっている。そして、これらのパン方向の回転駆動とチルト方向の回転駆動とを行うために、複数のピエゾ素子を内蔵した姿勢変化装置１１３が球状ユニット１１６の基部に配置されている。また、ズームレンズ１１０ｂの駆動に相当するズーム操作も、上記とは別のピエゾ素子によって行われる。これらのピエゾ素子にノコギリ波信号を与えることにより、ピエゾ素子による駆動の対象要素が寸動し、その繰り返しによって対象要素に所要の動きが与えられる。パン方向の旋回角とチルト方向の俯仰角とは、それぞれエンコーダなどの角度センサ１２６ｐ、１２６ｔによって検出され、ズームレンズ１１０ｂの駆動量はやはりエンコーダで構成されたセンサ１２６ｚによって検出される。これらの駆動機構については、例えば特開平１１−１８０００号公報や、特開平１１−４１５０４号公報に開示されている。
【００２８】
球状ユニット１１６は、上記のように姿勢変化装置１１３によって被写体用カメラ１３に対する位置及び姿勢が可動範囲内の任意の状態となるように駆動される。
【００２９】
また、可動式カメラ１１は、２次元受光素子１１１で得られる画像信号を入力して画像処理等のデータ処理を行うとともに、姿勢変化装置１１３を制御するためのデータ処理部１２０と、追尾ボタン１１７とを備えている。
【００３０】
データ処理部１２０は、２次元受光素子１１１からの信号を入力して画像認識などの処理を行う画像処理部１２１と、この画像処理部１２１で得られた画像信号を記憶する画像メモリ１２２とを備えている。また、ズームレンズ１１０ｂ、姿勢変化装置１１３、および絞り／シャッタ機構部１１０ｅの駆動信号を発生して、これらに出力するカメラ制御部１２３が設けられており、画像処理部１２１およびカメラ制御部１２３は、通信部１２４および通信デバイス１１２を介して、被写体用カメラ１３と無線通信が可能である。この通信により画像データが被写体用カメラ１３に送信されるほか、各種情報が可動式カメラ１１と被写体用カメラ１３との間で送受信される。この実施形態の可動式カメラ１１では、通信デバイス１１２として、赤外線通信を行うためのＩＲＤＡ（Infrared Data Association）インタフェースに対応した赤外線素子が使用されている。
【００３１】
図３に示すように、固定部１１４に設けられた第１取付溝１１５ａおよび第２取付溝１１５ｂは、被写体用カメラ１３に固定部１１４を取り付けるために用いられる。被写体用カメラ１３に固定部１１４が取り付けられることで、被写体用カメラ１３に対して可動式カメラ１１を固定することができ、例えば可動式カメラ１１の旋回角及び俯仰角が０°であるとしたときの可動式カメラ１１と被写体用カメラ１３との相対的な位置及び姿勢関係が所定の状態に設定されることになる。
【００３２】
さらに、追尾ボタン１１７は、可動式カメラ１１に立体チャート２を自動的に追尾させるモード（以下、「自動追尾モード」と略す）と被写体用カメラ１３からのユーザの指示により追尾させるモード（以下、「手動モード」と略す）とを切り換えるためのボタンである。
【００３３】
次に、上記のように構成された可動式カメラ１１における動作について説明する。
【００３４】
２次元受光素子１１１は、画素ごとにＲ（赤）、Ｇ（緑）、Ｂ（青）のいずれかのフィルタが付設されており、２次元受光素子１１１上に結像した光は、この２次元受光素子１１１によってＲＧＢの各色成分ごとに光電変換される。２次元受光素子１１１によって得られる画像信号は、画像処理部１２１においてＡ／Ｄ変換されてデジタル信号である画像データに変換され、さらにホワイトバランス補正やγ補正等の各種画像処理を受ける。
【００３５】
ユーザが追尾ボタン１１７を押し込み操作して自動追尾モードを設定した場合、画像処理部１２１は画像データを解析してマーカ２０１を検出し、例えばマーカ２０１の画像成分が画像中心に対してどの程度ずれているかを示す信号をカメラ制御部１２３に与える。この結果、カメラ制御部１２３は、マーカ２０１の画像成分を画像中心に移動させるための姿勢変化装置１１３の駆動量（すなわち追尾データ）を求め、その駆動量に基づいて姿勢変化装置１１３を駆動制御するように構成される。これにより、立体チャート２の像が２次元受光素子１１１に常に結像されるように、姿勢変化装置１１３が制御される。
【００３６】
一方、手動モードでは、カメラ制御部１２３は被写体用カメラ１３から受信するユーザの指示に基づき、姿勢変化装置１１３を制御する。
【００３７】
また、カメラ制御部１２３は、各センサ１２６ｔ，１２６ｐ，１２６ｚでの検出結果を入力するように構成され、角度センサ１２６ｔ，１２６ｐから入力する情報に基づいてレンズ回転角情報を生成し、またセンサ１２６ｚから入力する情報に基づいてズーム情報を生成する。カメラ制御部１２３は、これらの情報を通信部１２４を介して被写体用カメラ１３に送出するように構成される。
【００３８】
そして、被写体用カメラ１３のシャッタボタンが押下されると、可動式カメラ１１は、撮影コマンドを被写体用カメラ１３から受信し、その撮影コマンドの受信に応答して、２次元受光素子１１１による撮影動作を行って画像データの生成を行う。そして、そのときに得られる画像データとレンズ回転角情報とを、通信部１２４を介して被写体用カメラ１３に送信するように構成される。
【００３９】
＜４．被写体用カメラ１３の構成＞
次に、被写体用カメラ１３の構成について説明する。図５は、被写体用カメラ１３の内部構成を示すブロック図である。図５に示すように、被写体用カメラ１３は、レンズユニット１５５、２次元受光素子１５６、画像処理部１５７、画像メモリ１５８、制御部１６０、シャッタボタン１６１、フラッシュ１６２、ディスプレイ１６３、操作ボタン１６４、カードスロット１６５、メモリカード１６６、通信部１６７、通信デバイス１６８、メモリ１６９、及び、演算部１７０を備えて構成される。また、演算部１７０は第１演算部１７１及び第２演算部１７２を備えて構成される。
【００４０】
被写体３０からの光は、レンズユニット１５５を介して被写体用カメラ１３に入射し、２次元受光素子１５６に結像される。２次元受光素子１５６は複数の画素が受光面に配列されたＣＣＤアレイ等によって構成される。２次元受光素子１５６は、各画素ごとに受光する光を光電変換する。２次元受光素子１５６の受光面側には画素ごとにＲＧＢのいずれかのフィルタが付設されており、２次元受光素子１５６の光電変換機能によって画素ごとにＲＧＢの各色成分を有する画像信号が生成される。
【００４１】
画像処理部１５７は２次元受光素子１５６からの画像信号をＡ／Ｄ変換してデジタル信号である画像データを生成する。また、画像処理部１５７は、画像データに対して、さらにホワイトバランス補正やγ補正等の各種画像処理を施す。画像処理部１５７において生成される画像データは、半導体メモリ等によって構成される画像メモリ１５８に格納される。
【００４２】
シャッタボタン１６１はユーザが撮影を指示するためのボタンであり、フラッシュ１６２は被写体３０を撮影する際に被写体３０を照明するものである。また、ディスプレイ１６３はユーザインタフェースとなる操作案内画面や撮影した被写体画像を表示する表示器であり、操作ボタン１６４はユーザが可動式カメラ１１の位置及び姿勢を手動操作で変化させるための入力操作等を行うためのボタンである。さらにカードスロット１６５には着脱自在のメモリカード１６６を装着することが可能となっており、メモリカード１６６を介してコンピュータ１５とのデータ交換を行うことが可能となっている。通信部１６７は通信デバイス１６８を介して可動式カメラ１１とのデータ通信を行う機能を有する。そして、メモリ１６９は、可動式カメラ１１から入力した画像データやレンズ回転角情報等の演算部１７０による演算対象データを一時的に格納しておくための記憶部である。また、メモリ１６９には、可動式カメラ１１の内部パラメータ（焦点距離等）に関する情報が予め格納される。
【００４３】
制御部１６０はＣＰＵによって構成され、上記の各部を動作制御するように構成される。ユーザがシャッタボタン１６１を押下した際には、制御部１６０は２次元受光素子１５６及び画像処理部１５７による撮影動作を制御する。また、制御部１６０はユーザによるシャッタボタン１６１の押下操作に応答して撮影コマンドを生成し、被写体用カメラ１３と同期をとるために通信部１６７を介して可動式カメラ１１に撮影コマンドを送信する。
【００４４】
そして、制御部１６０は、被写体用カメラ１３における撮影動作によって画像メモリ１５８に格納されている撮影画像データをメモリ１６９に格納するとともに、撮影コマンド送信後に可動式カメラ１１から受信する画像データ及びレンズ回転角情報をメモリ１６９に格納する。
【００４５】
また、演算部１７０もＣＰＵによって構成され、所定の演算プログラムを実行することにより、第１演算部１７１及び第２演算部１７２として機能する。そのような演算プログラムは、製造段階で予めメモリ等に格納されていてもよいし、後に外部装置から入力するものであっても構わない。
【００４６】
第１演算部１７１は、可動式カメラ１１で複数の立体チャート２を予め撮影した画像データを入力した際に、その画像データに含まれる各立体チャート２の画像成分に基づいて、複数の立体チャート２の相対的位置関係を求める演算機能（第１の演算手段）を実現する。
【００４７】
また、第２演算部１７２は、被写体用カメラ１３が被写体３０を撮影するのに同期して、可動式カメラ１１が複数の立体チャートのうちの少なくとも１つの立体チャート（これを「撮影対象立体チャート」と呼ぶ。）を撮影した際に、可動式カメラ１１から得られる画像データに基づいて、可動式カメラ１１の撮影対象立体チャートに対する撮影位置及び撮影姿勢を求める。そして、第２演算部１７２は、さらに、可動式カメラ１１の撮影対象立体チャートに対する撮影位置及び撮影姿勢と、可動式カメラ１１と被写体用カメラ１３との相対位置及び相対姿勢と、撮影対象立体チャートと他の立体チャート２との相対的位置関係と、に基づいて、被写体用カメラ１３から得られる撮影画像より、被写体３０の三次元情報を求める演算機能（第２の演算手段）を実現する。
【００４８】
また、制御部１６０は可動式カメラ１１が手動モードであるか自動追尾モードであるかを判断し、手動モードである場合には、ユーザが操作ボタン１６４の一部を操作することにより得られた信号を、通信部１６７を介して可動式カメラ１１に送信出力する。これにより、可動式カメラ１１の姿勢変化装置１１３を、ユーザの手動操作によって制御させることが可能となる。
【００４９】
＜５．三次元情報生成の原理＞
上記のように構成された三次元情報生成システム１において、被写体３０の三次元情報を生成する際のデータ演算の原理について説明する。
【００５０】
カメラの内部パラメータ（焦点距離や画素密度等）が既知である場合、２次元受光素子に結像する被写体像の各点が、カメラの撮影空間においてどのような位置にあるかを、演算によって求めることができる。例えば、被写体像のある１点が２次元受光素子の１画素に結像されている場合、２次元受光素子における結像位置等で２次元座標値を求めることができる。
【００５１】
このため、既知の構造で形成された立体チャート２を可動式カメラ１１で撮影することにより、可動式カメラ１１の外部パラメータ、すなわち可動式カメラ１１の立体チャート２に対する相対的な位置及び姿勢を特定することができる。
【００５２】
一般に、カメラの外部パラメータの算出は、カメラの内部パラメータが既知であり、絶対座標系に固定された同一平面上にある４点以上の点の３次元座標値が既知であり、かつ、上記４点以上の点に対応する撮影画像上の点の２次元座標値が算出可能であるという条件の下で行うことができる。
【００５３】
このような算出手法については、例えば、文献「L.Quan, Z.Lan, "Linear N-Point Camera Pose Determination," IEEE Trans.PAMI 21 (8) 1999」や文献「高橋、石井、牧野、中静、”人工現実感インターフェースのための単眼画像からのマーカの位置と姿勢の計測"、電子情報論文誌AJ79  1996」等に開示された技術を適用することができる。これらの技術は、座標が既知の４点以上の点をカメラで撮影し、その４点以上の既知の三次元座標値と、カメラで得られる画像から求められる２次元座標値とに基づいて、カメラの相対位置及び相対姿勢を算出するものである。
【００５４】
この実施の形態においても、可動式カメラ１１で立体チャート２を撮影した場合、２次元受光素子１１１から得られる画像データから、立体チャート２が有する各単位図形の頂点座標を求めることができる。ただし、この場合の頂点座標は、可動式カメラ１１が立体チャート２を撮影した状態における固有のローカル座標系についての座標値となる。
【００５５】
一方、立体チャート２は被写体３０の周囲に配置された状態で固定される。この立体チャート２に固有の３次元座標系（これを、「チャート座標系」と呼ぶ。）を設定すれば、立体チャート２の各単位図形の頂点位置を立体チャート２の設計値に基づいて定めることができる。
【００５６】
可動式カメラ１１で撮影した画像データに基づいてチャートパターンＣＰの少なくとも４点の座標値を求めると、各点の対応関係から、立体チャート２の測定された４点が特定される。このため、チャート座標系における設計上の４点の座標値と、可動式カメラ１１のローカル座標系における４点の座標値とから、可動式カメラ１１の立体チャート２に対する相対的な位置及び姿勢を特定することができる。そして、可動式カメラ１１のローカル座標系と、チャート座標系との関係から、可動式カメラ１１のローカル座標系をチャート座標系に変換するためのパラメータが定義される。
【００５７】
チャート座標系をＸｃ、可動式カメラ１１のローカル座標系をＸｍ、ローカル座標系Ｘｍをチャート座標系Ｘｃに変換するための回転移動行列をＲｃ、平行移動ベクトルをＴｃとすると、
【００５８】
【数１】
0004892792.tif 000002
【００５９】
の式によって可動式カメラ１１のローカル座標系Ｘｍで表現された座標値を、チャート座標系Ｘｃで表現された座標値に変換することが可能である。
【００６０】
すなわち、可動式カメラ１１が立体チャート２を撮影して求められるチャートパターンＣＰの少なくとも４点の座標値と、チャートパターンＣＰの設計値とにより、立体チャート２に対する可動式カメラ１１の相対姿勢及び相対位置を特定することができるので、数１の式における回転移動行列Ｒｃ、平行移動ベクトルＴｃを求めることができ、それによって座標変換式が定義されることになる。
【００６１】
図６は三次元情報生成システム１における座標変換の概念を示す図である。図６に示すように、上記数１の式の座標変換式は、可動式カメラ１１に設定されるローカル座標系Ｘｍから立体チャート２に設定されるチャート座標系Ｘｃに変換する式である。つまり、可動式カメラ１１が立体チャート２を撮影することにより、可動式カメラ１１の立体チャート２に対する相対姿勢及び相対位置が特定されるため、その相対姿勢及び相対位置に基づく数１の式を、ローカル座標系Ｘｍからチャート座標系Ｘｃへの変換式として定義することができる。
【００６２】
また、可動式カメラ１１が姿勢変化装置１１３によって旋回角度θ及び俯仰角度φに姿勢変化した場合と、旋回角度０°及び俯仰角度０°の場合のそれぞれにおいて、可動式カメラ１１による撮影を行った際、各画像から導かれる座標値の座標系は異なる。図６に示すように、可動式カメラ１１が旋回角度０°及び俯仰角度０°にある状態（１１ｂ）で撮影した画像から導かれる座標値は、ローカル座標系Ｘｍｏで表現され、また、可動式カメラ１１が旋回角度θ及び俯仰角度φにある状態（１１ａ）で撮影した画像から導かれる座標値は、ローカル座標系Ｘｍで表現される。これらローカル座標系ＸｍｏとＸｍとは、可動式カメラ１１の姿勢が変化したことによって生じるものであるため、ローカル座標系ＸｍｏとＸｍとの間での座標変換パラメータは予め内部パラメータとして求めておくこともできるし、また演算によって求めることもできる。
【００６３】
ローカル座標系Ｘｍｏをローカル座標系Ｘｍに変換するための回転移動行列をＲ（θ，φ）、平行移動ベクトルをＴ（θ，φ）とすると、
【００６４】
【数２】
0004892792.tif 000003
【００６５】
の式によってローカル座標系Ｘｍｏで表現された座標値を、ローカル座標系Ｘｍで表現された座標値に変換することが可能である。なお、回転移動行列Ｒ（θ，φ）及び平行移動ベクトルＴ（θ，φ）は、それぞれθ，φが決まれば一義に決まるものである。可動式カメラ１１では、角度センサ１２６ｔ，１２６ｐによってレンズ回転角情報、すなわち、θ及びφに関する情報が生成されるため、このレンズ回転角情報を用いれば、回転移動行列Ｒ（θ，φ）及び平行移動ベクトルＴ（θ，φ）を求めることができる。
【００６６】
さらに、可動式カメラ１１が旋回角度０°及び俯仰角度０°である場合に可動式カメラ１１による撮影を行った際、その画像から導かれる座標値の座標系は、被写体用カメラ１３で撮影を行った際の撮影画像から導かれる座標値の座標系とは異なる。図６に示すように、可動式カメラ１１が旋回角度０°及び俯仰角度０°にある状態（１１ｂ）で撮影した画像から導かれる座標値は、ローカル座標系Ｘｍｏで表現され、また、被写体用カメラ１３で撮影した撮影画像から導かれる座標値は、ローカル座標系Ｘｏで表現される。すなわち、可動式カメラ１１が撮影を行う姿勢及び位置と、被写体用カメラ１３が撮影を行う姿勢及び位置とが異なるため、撮影方向が単に同一方向であっても、それぞれの画像から得られる座標値は、異なる座標系についてのものとなる。
【００６７】
ローカル座標系Ｘｏからローカル座標系Ｘｍｏへの座標変換は、可動式カメラ１１を被写体用カメラ１３に固定した場合の設計値等から予め求めておくことができる。しかし、実際の使用時に可動式カメラ１１を被写体用カメラ１３に取り付けると、若干の誤差が生じることも想定されるため、被写体撮影時に、座標変換を行うための変換パラメータを求めるように構成することが好ましい。
【００６８】
例えば、被写体３０の撮影動作を行う前に、可動式カメラ１１の旋回角度及び俯仰角度を０°に設定して予め可動式カメラ１１と被写体用カメラ１３とが同一の立体チャート２を撮影し、それぞれの画像から立体チャート２上の同一の頂点座標を求めることで、被写体用カメラ１３の可動式カメラ１１に対する相対姿勢及び相対位置を特定することができる。そして、その相対姿勢及び相対位置に基づいて座標変換を行うことで、ローカル座標系Ｘｏからローカル座標系Ｘｍｏへの座標変換を行うことができる。
【００６９】
具体的には、ローカル座標系Ｘｏをローカル座標系Ｘｍｏに変換するための回転移動行列をＲｈ、平行移動ベクトルをＴｈとすると、
【００７０】
【数３】
0004892792.tif 000004
【００７１】
の式によってローカル座標系Ｘｍｏで表現された座標値を、ローカル座標系Ｘｍで表現された座標値に変換することが可能である。なお、回転移動行列Ｒｈ及び平行移動ベクトルＴｈは、被写体用カメラ１３の可動式カメラ１１に対する相対姿勢及び相対位置に基づいて定められる、行列及びベクトルである。
【００７２】
このようにして、各座標系間での座標変換が可能になる。そして、被写体用カメラ１３が被写体３０を撮影することに同期して、可動式カメラ１１が複数の立体チャート２のうちの撮影対象立体チャート２を撮影することで、被写体用カメラ１３の撮影画像から導かれる座標値を、撮影対象立体チャート２のチャート座標系で表現した座標値に変換することができる。
【００７３】
具体的には、上記数１〜数３の式より導かれる
【００７４】
【数４】
0004892792.tif 000005
【００７５】
の式により、被写体用カメラ１３のローカル座標系Ｘｏで得られた座標値を、チャート座標系Ｘｃで表現した座標値に変換することができる。
【００７６】
ところで、この実施の形態では、被写体３０の周囲に複数の立体チャート２が配置されることは既述したとおりである。そして、被写体用カメラ１３で被写体３０を撮影する際に、可動式カメラ１１が複数の立体チャート２のうちのいずれを撮影対象立体チャート２とするかは、任意である。そのため、被写体用カメラ１３で被写体３０のある側面（第１の側面）を撮影する際に、可動式カメラ１１が立体チャート２ａ（図１参照）を撮影対象立体チャートとし、また、被写体用カメラ１３で被写体３０の別の側面（第２の側面）を撮影する際に、可動式カメラ１１が立体チャート２ｂ（図１参照）を撮影対象立体チャートとすることも考えられる。
【００７７】
このような場合、被写体用カメラ１３で被写体３０を撮影した際の撮影画像から座標値を求め、さらに上記数４の式に基づいた座標変換を行ったとしても、第１の側面については立体チャート２ａに関するチャート座標系Ｘｃａの座標値に変化され、第２の側面については立体チャート２ｂに関するチャート座標系Ｘｃｂの座標値に変化される。このため、これらの座標値を合成しても正確な被写体３０に関する三次元情報を生成することはできない。
【００７８】
そこで、この実施の形態では、被写体３０の周囲に配置された複数の立体チャート２の相対的位置関係を求め、その相対的位置関係に基づいて、各立体チャートについてのチャート座標系を特定の一つの立体チャートに関するチャート座標系（これを、「基準座標系」と呼ぶ。）に変換させるように構成される。
【００７９】
図７はチャート座標系を基準座標系に変換する座標変換の概念を示す図である。なお、図７の例では、立体チャート２ａのチャート座標系Ｘｃａが基準座標系であるとする。
【００８０】
複数の立体チャート２の相対的位置関係を求める際には、例えば可動式カメラ１１の画角Ｇ１内に複数の立体チャート２が収まるような状態で可動式カメラ１１により複数の立体チャート２を撮影する。
【００８１】
可動式カメラ１１により立体チャート２ａを撮影すると、その画像よりローカル座標系Ｘｍにおける座標値が得られる。一方、立体チャート２ａは既知の構造で形成されるため、チャート座標系（基準座標系）Ｘｃａにおける座標値は設計上既知である。
【００８２】
このため、可動式カメラ１１が立体チャート２ａを撮影して求められるチャートパターンＣＰの少なくとも４点の座標値と、それに対応する４点のチャートパターンＣＰの設計値とにより、立体チャート２ａに対する可動式カメラ１１の相対姿勢及び相対位置を特定することができる。
【００８３】
よって、上述した数１の式と同様に、ローカル座標系Ｘｍから基準座標系Ｘｃａへの座標変換式が、
【００８４】
【数５】
0004892792.tif 000006
【００８５】
のように定義される。なお、数５の式におけるＲｃａ及びＴｃａは、それぞれローカル座標系Ｘｍから基準座標系Ｘｃａへの回転移動行列及び平行移動ベクトルであり、立体チャート２ａに対する可動式カメラ１１の相対姿勢及び相対位置により求めることができる。
【００８６】
同様に、可動式カメラ１１により立体チャート２ｂを撮影すると、その画像よりローカル座標系Ｘｍにおける座標値が得られる。一方、立体チャート２ｂも既知の構造で形成されるため、チャート座標系Ｘｃｂにおける座標値は設計上既知である。
【００８７】
このため、可動式カメラ１１が立体チャート２ｂを撮影して求められるチャートパターンＣＰの少なくとも４点の座標値と、それに対応する４点のチャートパターンＣＰの設計値とにより、立体チャート２ｂに対する可動式カメラ１１の相対姿勢及び相対位置を特定することができる。
【００８８】
よって、上述した数１の式と同様に、ローカル座標系Ｘｍからチャート座標系Ｘｃｂへの座標変換式が、
【００８９】
【数６】
0004892792.tif 000007
【００９０】
のように定義される。なお、数６の式におけるＲｃｂ及びＴｃｂは、それぞれローカル座標系Ｘｍから基準座標系Ｘｃｂへの回転移動行列及び平行移動ベクトルであり、立体チャート２ｂに対する可動式カメラ１１の相対姿勢及び相対位置により求めることができる。
【００９１】
そして、上記数５及び数６の座標変換式に基づいて、チャート座標系Ｘｃｂから基準座標系Ｘｃａへの座標変換式を求めると、
【００９２】
【数７】
0004892792.tif 000008
【００９３】
のようになる。この数７の式が、すなわち立体チャート２ａと２ｂとの相対的位置関係を示す式となる。立体チャート２が多数設けられている場合を考慮して、数７の式を一般化すれば、
【００９４】
【数８】
0004892792.tif 000009
【００９５】
となる。なお、数８の式において、ｉはｉ番目の立体チャート２（ｉ）を示しており、Ｒｃｉ及びＴｃｉは、それぞれローカル座標系Ｘｍからチャート座標系Ｘｃｉへの回転移動行列及び平行移動ベクトルであり、立体チャート２（ｉ）に対する可動式カメラ１１の相対姿勢及び相対位置により求めることができる。
【００９６】
そして数４の座標変換式と、数８の座標変換式とにより、被写体用カメラ１３で得られる撮影画像から被写体３０の座標値を求めた場合に、その座標値を基準座標系（すなわち、三次元情報生成システム１におけるワールド座標系）における座標値に変換することができ、被写体３０の三次元画像モデルを適切に構築することが可能になる。
【００９７】
なお、上記の例では演算原理を容易に理解することができるようにするために、複数の立体チャート２が可動式カメラ１１の画角Ｇ１内に収まるように撮影した場合について説明したが、それに限定されるものではない。
【００９８】
例えば、立体チャート２が多数設けられている場合には、全ての立体チャート２を画角Ｇ１内に収めるのではなく、２個の立体チャート２が画角Ｇ１内に収まるようにして撮影動作を繰り返し行い、各画像に含まれる２個の立体チャートの相対的位置関係を順次求めていくという方法を採用することができる。２個の立体チャート２が画角Ｇ１内に収まるようにして撮影を行えば、その画像からその２個の立体チャート２の相対的位置関係を簡単に求めることができるという利点がある。
【００９９】
一方、画角Ｇ１内に収まる立体チャート２の数が増加するほど、画像における各立体チャート２の画像成分は小さくなることが予想される。そしてその場合には各立体チャートの相対的位置関係を求める精度が低下する。このため、１回の撮影時に画角Ｇ１内に収める立体チャート２の数はなるべく少なくすることが好ましい。
【０１００】
このような観点からすると、複数の立体チャート２の相対的位置関係を求める方法としては、可動式カメラ１１が立体チャート２を１個ずつ個別に撮影することが最も好ましいと言える。例えば、可動式カメラ１１を可動範囲内で姿勢変化させたときに、全ての立体チャート２を個別に撮影することができるのであれば、各立体チャート２を個別に撮影し、各画像を撮影したときの旋回角度と俯仰角度とに基づいた座標変換を施せば、各立体チャート２の相対的位置関係を求めることができる。このとき、可動式カメラ１１は１個の立体チャート２を撮影するので、撮影画像に含まれる立体チャート２の画像成分を大きな状態で撮影することができ、その結果、立体チャート２に対する可動式カメラ１１の位置及び姿勢を高精度に求めることが可能である。
【０１０１】
＜６．三次元情報生成システム１の動作プロセス＞
次に、三次元情報生成システム１の動作プロセスについて説明する。図８乃至図１２は、三次元情報生成システム１の動作プロセスを示すフローチャートである。
【０１０２】
まず、複数の立体チャート２が被写体３０の周囲に配置される（ステップＳ１）。このときの立体チャート２の配置はランダムでよいが、被写体３０の大きさに応じて、被写体３０の周囲にほぼ均等な間隔で配置されることが好ましい。また、被写体３０の周囲に配置した複数の立体チャート２は動作プロセスが終了するまで、より厳密にはステップＳ４の被写体撮影処理が終了するまでは固定される。
【０１０３】
次に、複数の立体チャート２の相対的位置関係を算出する処理が行われる（ステップＳ２）。この処理の詳細を図９のフローチャートに示す。
【０１０４】
まず、ユーザは複数の立体チャート２の前に、立体チャート２どうしのオクルージョンが発生しないように、すなわち、ある立体チャート２が他の立体チャート２の影とならないように、カメラシステム１０を設置する（ステップＳ２１）。このとき、カメラシステム１０は固定されるが、可動式カメラ１１は姿勢変化装置１１３の作用によって画角を変更することが可能な状態に設置される。
【０１０５】
そして、ユーザは可動式カメラ１１を手動モードに設定し、被写体用カメラ１３の操作ボタン１６４を操作することで、立体チャート２が可動式カメラ１１の画角に入るように、可動式カメラ１１のレンズ回転角を指定する（ステップＳ２２）。これにより、被写体用カメラ１３から可動式カメラ１１に対して姿勢変化の指示が与えられ、可動式カメラ１１の撮影方向が指示された方向に向き、立体チャート２が可動式カメラ１１の画角内に収まる。なお、このとき１個の立体チャート２が画角内に収まるように撮影方向を指示することが好ましい。
【０１０６】
ユーザは可動式カメラ１１による立体チャート２の撮影指示を行う（ステップＳ２３）。この結果、可動式カメラ１１では撮影動作が行われ、立体チャート２が撮影された画像データが可動式カメラ１１から被写体用カメラ１３に送信される。その際、画像データとともに、レンズ回転角情報も同時に送信される。被写体用カメラ１３では、可動式カメラ１１から受信する画像データ及びレンズ回転角情報をメモリ１６９に格納保存する。
【０１０７】
そして、ユーザは未撮影の立体チャート２が存在するか否かを判断し（ステップＳ２４）、存在する場合はステップＳ２５において、未撮影の立体チャート２が画角内に入るように可動式カメラ１１を設定する。これにより、可動式カメラ１１に姿勢変化が与えられ、１個の未撮影の立体チャート２が可動式カメラ１１の画角内に収まる。
【０１０８】
そしてステップＳ２３〜Ｓ２５の処理を繰り返し行うことにより、被写体３０の周囲に配置された全ての立体チャート２が可動式カメラ１１によって撮影される。ユーザは全ての立体チャート２の撮影が終了すると、その旨の入力を被写体用カメラ１３の操作ボタン１６４より入力する。
【０１０９】
被写体用カメラ１３では、演算部１７０の第１演算部１７１が機能する。そして第１演算部１７１は、メモリ１６９に格納されている可動式カメラ１１から得られた画像データを取得し、各立体チャート２を撮影したときの各立体チャート２に対する可動式カメラ１１の相対位置及び相対姿勢を算出する（ステップＳ２６）。つまり、この処理により、上記数５及び数６の式に示す各パラメータ（回転移動行列及び平行移動ベクトル）が求められることになる。
【０１１０】
次に、第１演算部１７１は、複数の立体チャート２のうちから基準座標系を示す基本立体チャートを一つ選択し、その基本立体チャートに対する可動式カメラ１１の相対位置及び相対姿勢と、他の立体チャートに対する可動式カメラ１１の相対位置及び相対姿勢と、レンズ回転角情報とに基づいて、基本立体チャートに対する他の立体チャートの相対位置及び相対姿勢を算出し、それをメモリ１６９にデータ保存する（ステップＳ２７）。この処理により、上記数７又は数８の式に示す各パラメータが求められることになる。なお、基本立体チャート２の選択は、演算部１７０が複数の立体チャート２のうちから任意の一つを自動選択するように構成してもよいし、ユーザが操作ボタン１６４より指定するように構成してもよい。
【０１１１】
以上で、複数の立体チャート２が一つの基本立体チャートと、他の立体チャートとに区別され、基本立体チャートに対する他の全ての立体チャートの相対的位置関係が定められたことになり、ステップＳ２の処理を終了する。
【０１１２】
次に、被写体用カメラ１３と可動式カメラ１１との相対位置及び相対姿勢を算出する処理が行われる（図８参照；ステップＳ３）。この処理の詳細を図１０のフローチャートに示す。
【０１１３】
まず、ユーザは、被写体用カメラ１３及び可動式カメラ１１が同一の立体チャート２をそれぞれの画角内に捉えるようにカメラシステム１０の向きを調整する（ステップＳ３１）。
【０１１４】
次にユーザは被写体用カメラ１３及び可動式カメラ１１による同一の立体チャート２の撮影指示を行う（ステップＳ３２）。例えば、被写体用カメラ１３のシャッタボタン１６１を押下すれば、カメラシステム１０の被写体用カメラ１３及び可動式カメラ１１が同期して撮影動作を行う。この結果、可動式カメラ１１で立体チャート２を撮影して得られる画像データが可動式カメラ１１から被写体用カメラ１３に送信され、被写体用カメラ１３のメモリ１６９にその画像データが格納される。また、被写体用カメラ１３で立体チャート２を撮影して得られる画像データも被写体用カメラ１３のメモリ１６９に格納される。
【０１１５】
そして、被写体用カメラ１３において演算部１７０の第２演算部１７２が機能し、可動式カメラ１１が立体チャート２を撮影した画像から、可動式カメラ１１の立体チャート２に対する相対位置及び相対姿勢、すなわち可動式カメラ１１の外部パラメータの算出演算が行われる（ステップＳ３３）。また同様に、被写体用カメラ１３が立体チャート２を撮影した画像から、被写体用カメラ１３の立体チャート２に対する相対位置及び相対姿勢、すなわち被写体用カメラ１３の外部パラメータの算出演算が行われる（ステップＳ３３）。演算部１７０は、可動式カメラ１１及び被写体用カメラ１３の各々についての外部パラメータが適切に算出できたか否かを判断する。そして、外部パラメータの算出ができなかった場合は、２つのカメラによる同一の立体チャート２の撮影動作（ステップＳ３２）から繰り返すことになる。一方、外部パラメータが適切に算出できた場合には、ステップＳ３４に進む。
【０１１６】
そして第２演算部１７２は、被写体用カメラ１３及び可動式カメラ１１のそれぞれの外部パラメータと、可動式カメラ１１の撮影時のレンズ回転角とから、２つのカメラの相対位置及び相対姿勢を表現したカメラパラメータを算出する（ステップＳ３４）。つまり、ステップＳ３３で求めた外部パラメータにより、２つのカメラのそれぞれが同一の立体チャート２に対する相対的な位置及び姿勢が解明されるため、その関係を用いて２つのカメラどうしの相対的な位置関係を演算によって求めるのである。なお、同一の立体チャート２を撮影する際に、可動式カメラ１１の旋回角度及び俯仰角度が０°であったならば、レンズ回転角を考慮することなく最も簡単に２つのカメラの相対位置及び相対姿勢を表現したカメラパラメータを算出することができる。この処理により、上記数３の変換式に示す各パラメータ又は上記数２と数３との合成変換式に相当する各パラメータが求められることになる。
【０１１７】
以上で、可動式カメラ１１が被写体用カメラ１３に固定された状態での被写体用カメラ１３と可動式カメラ１１との相対位置及び相対姿勢が定められたことになり、ステップＳ３の処理を終了する。
【０１１８】
次に、三次元情報の生成対象である被写体３０を撮影するための被写体撮影処理が行われる（図８参照；ステップＳ４）。この処理の詳細を図１１のフローチャートに示す。
【０１１９】
ステップＳ４１においてユーザはカメラシステム１０を被写体３０周囲の任意の位置に設置し、被写体用カメラ１３を被写体３０に向ける。そして可動式カメラ１１を手動モードに設定して、可動式カメラ１１を複数の立体チャート２のうちの任意の１つ（撮影対象立体チャート）に向ける。このとき撮影対象立体チャートとしては、複数の立体チャート２のうちでカメラシステム１０に最も近いものを選択することが好ましい。最も近いの立体チャートを撮影対象立体チャートとすることで、可動式カメラ１１の撮影対象立体チャートに対する相対位置及び相対姿勢を高精度に求めることができるからである。そして、撮影対象立体チャートが可動式カメラ１１の画角内に収まった時点で、ユーザは可動式カメラ１１を自動追尾モードに設定する。
【０１２０】
ユーザは被写体用カメラ１３で被写体３０を撮影するために被写体用カメラ１３のフレーミング調整等を行う。この間、可動式カメラ１１では撮影対象立体チャート２を自動追尾して、可動式カメラ１１の画角内に常に撮影対象立体チャートを捉えるように動作する。
【０１２１】
そして、自動追尾が良好に行われている場合はステップＳ４３に進み、自動追尾が失敗した場合にはステップＳ４１に戻って再び撮影対象立体チャートが可動式カメラ１１の画角内収まるように手動操作を行う（ステップＳ４２）。
【０１２２】
被写体用カメラ１３によるフレーミング調整が完了すると、ユーザは被写体用カメラ１３のシャッタボタン１６１を押下し、被写体３０の撮影動作を指示する。これに応答して、被写体用カメラ１３では被写体３０の撮影が行われ、同時に可動式カメラ１１では撮影対象立体チャート２の撮影動作が行われる（ステップＳ４３）。
【０１２３】
そして、被写体用カメラ１３で得られた被写体３０の撮影画像がメモリ１６９に格納されるとともに、可動式カメラ１１で撮影対象立体チャートを撮影した画像データ及びレンズ回転角情報もメモリ１６９に格納される。
【０１２４】
そして被写体用カメラ１３において第２演算部１７２が機能する。第２演算部１７２は、メモリ１６９に格納されている可動式カメラ１１で得られた画像を読み出して、複数の立体チャート２のうち、どの立体チャートが撮影対象立体チャートとして撮影されたかを特定する（ステップＳ４４）。
【０１２５】
複数の立体チャート２のうちから撮影対象立体チャートを特定するための一例について説明する。例えば、複数の立体チャート２のチャートパターンＣＰをそれぞれ異なる色で形成しておく。そして可動式カメラ１１から得られた画像における撮影対象立体チャートの色を演算部１７０が判別することにより、複数の立体チャートのうちで撮影対象立体チャートとして撮影された立体チャートを特定することが可能である。
【０１２６】
また、上記のように複数の立体チャート２のそれぞれのチャートパターンＣＰを異なる色で形成することにより、複数の立体チャート２の相対的位置関係を求めた際に、各立体チャート２を特定することができる。
【０１２７】
そして第２演算部１７２は、可動式カメラ１１から得られた撮影対象立体チャート２の画像に基づいて、可動式カメラ１１の撮影対象立体チャート２に対する相対位置及び相対姿勢を求める（ステップＳ４５）。これにより、可動式カメラ１１が撮影対象立体チャートを撮影したときの可動式カメラ１１の外部パラメータが算出されることになる。
【０１２８】
そして第２演算部１７２は、ステップＳ４５で得られた可動式カメラ１１の外部パラメータ（数１の式における各パラメータ）、ステップＳ３４で得られたカメラパラメータ（数３の式における各パラメータ）、及び、ステップＳ４３の撮影時におけるレンズ回転角情報（数２の式における各パラメータ）、に基づいて、被写体用カメラ１３の撮影対象立体チャートに対する相対位置及び相対姿勢を求める（ステップＳ４６）。つまり、被写体用カメラ１３の外部パラメータを求めるのである。これにより、上記数４の式における各パラメータが求まることとなり、被写体３０を撮影した撮影画像から得られる被写体３０の座標値を、撮影対象立体チャートのチャート座標系Ｘｃにおける座標値に変換することが可能になる。
【０１２９】
そして、被写体用カメラ１３で得られる撮影画像と、上記のようにして得られる被写体用カメラ１３の外部パラメータと、特定された撮影対象立体チャートと、を対応づけてメモリ１６９にデータ保存する。
【０１３０】
ステップＳ４１〜Ｓ４７の処理により、被写体３０を被写体用カメラ１３で撮影したときの撮影画像から得られる画像を、撮影対象立体チャートのチャート座標系に変換するためのパラメータが求められることになる。このような処理を被写体３０の全周を分割撮影して繰り返し行うことにより、被写体３０の全周に関するパラメータが生成されることになる。
【０１３１】
ステップＳ４８では、ユーザがさらに被写体３０の別の側面を撮影すると判断した場合に、ステップＳ４１からの処理が繰り返し行われるようになっている。また、ユーザが被写体３０の全周について撮影動作を行った場合には、操作ボタン１６４に対して所定の入力を行うこと撮影終了を指示する。この撮影終了の指示入力があった場合には、カメラシステム１０は被写体撮影処理（ステップＳ４）を終了する。
【０１３２】
ただし、ユーザが被写体３０の周囲を移動しつつ、被写体３０を繰り返し撮影する場合、各撮影時において可動式カメラ１１が撮影する撮影対象立体チャートは異なった立体チャートに指定される。このため、各撮影時に求められる被写体用カメラ１３の外部パラメータは基準とする立体チャートがそれぞれに異なったものとなっている。
【０１３３】
次に、三次元情報生成システム１においては、三次元情報の生成処理が行われる（図８参照；ステップＳ５）。この処理の詳細を図１２のフローチャートに示す。
【０１３４】
被写体用カメラ１３において第２演算部１７２が機能する。そして、第２演算部１７２は、被写体用カメラ１３で被写体３０を撮影して得られた撮影画像と、その撮影時に求められた被写体用カメラ１３の外部パラメータと、その撮影時の撮影対象立体チャートを特定する情報とを、メモリ１６９から読み出す（ステップＳ５１）。
【０１３５】
また、第２演算部１７２は、メモリ１６９にアクセスし、第１演算部１７１がステップＳ２において予め求めておいた複数の立体チャート２の相対的位置関係のうちから、基本立体チャートに対する撮影対象立体チャートの相対位置及び相対姿勢を読み出す（ステップＳ５２）。このとき、第２演算部１７２は、ステップＳ５１で得られる撮影時の撮影対象立体チャートを特定する情報に基づいて、基本立体チャートに対する撮影対象立体チャートの相対位置及び相対姿勢を読み出す。
【０１３６】
ステップＳ５１で得られる、撮影時に求められた被写体用カメラ１３の外部パラメータとは、すなわち、上記の数４の式に示す各パラメータである。また、ステップＳ５２で得られる、基本立体チャートに対する撮影対象立体チャートの相対位置及び相対姿勢とは、すなわち、上記の数７又は数８の式に示す各パラメータである。したがって、これらのパラメータに基づいて演算を行えば、被写体用カメラ１３で被写体３０を撮影した際の撮影画像から得られる被写体３０の座標値を、基本立体チャートの基準座標系で表現される座標値に座標変換することができる。つまり、数４の座標変換式と、数７又は数８の座標変換式との合成変換式を求めることにより、被写体３０の基準座標系（ワールド座標系）における座標値を求めることが可能な変換式を求めることができるのである。
【０１３７】
そして第２演算部１７２は、撮影対象立体チャートの基本立体チャートに対する相対位置及び相対姿勢と、被写体用カメラ１３の外部パラメータとに基づいて、上記の合成変換式を求め、撮影画像に含まれる被写体像の三次元情報を生成する（ステップＳ５３）。
【０１３８】
そして第２演算部１７２は、メモリ１６９に他の撮影画像が有るか否かを調べ、有る場合にはステップＳ５１〜Ｓ５３の処理を繰り返す（ステップＳ５４）。この繰り返しにより、被写体３０の周囲を分割して撮影した場合の全ての画像から、基準座標系（ワールド座標系）における座標値を求めることができ、被写体像の全周に関する三次元情報を生成することが可能になる。
【０１３９】
そして最終的に被写体３０の全周についての三次元情報が生成されると、その三次元情報が出力又は保存されて全ての処理が終了する（ステップＳ５５）。
【０１４０】
なお、上記の動作プロセスにおいて、各手順の順序を若干入れ替えてもよい。例えば、複数の立体チャート２の相対的位置関係を算出する処理（ステップＳ２）を、ステップＳ３の処理やステップＳ４の処理の後に行うようにしても構わない。
【０１４１】
以上、説明したように、この実施の形態の三次元情報生成システム１では、被写体３０の周囲に、既知の構造で形成された複数の立体チャート２が配置されている。そして、第１演算部１７１が、複数の立体チャート２を予め可動式カメラ１１で撮影した画像に含まれる各立体チャートに基づいて、複数の立体チャート２の相対的位置関係を求めるように構成され、第２演算部１７２が、可動式カメラ１１が撮影対象立体チャートを撮影した撮影位置及び撮影姿勢と、可動式カメラ１１と被写体用カメラ１３との相対位置及び相対姿勢と、撮影対象立体チャートと他の立体チャート２とについての相対的位置関係と、に基づいて、被写体用カメラ１３から得られる撮影画像より、被写体の三次元情報を生成するように構成されている。
【０１４２】
このため、カメラシステム１０の可動範囲を大幅に広げることができるとともに、高い測定精度で三次元画像モデルを構築することが可能である。つまり、被写体３０のサイズが大きい場合には、その被写体サイズに応じて被写体３０の周囲に配置する立体チャートの数を増加させればよいのである。そして、立体チャートの数が増加したとしても、各立体チャート間の相対的位置関係が高精度に求められるので、カメラシステム１０の可動範囲を広げつつも、高精度な三次元情報の生成が可能になるのである。
【０１４３】
また、被写体３０の周囲に配置される複数の立体チャート２の相対的位置関係を求める際に、可動式カメラ１１の画角内に少なくとも２つの立体チャート２が収まるようにして撮影すれば、撮影によって得られた画像から簡単に少なくとも２つの立体チャート２の相対的位置関係を求めることができるので、効率的である。
【０１４４】
また、被写体３０の周囲に配置される複数の立体チャート２の相対的位置関係を求める際に、可動式カメラ１１の撮影方向（すなわち撮影姿勢）を変化させつつ、可動式カメラ１１によって複数の立体チャート２を撮影するようにしてもよい。このような撮影を行ったとしても、可動式カメラ１１から得られる各画像と、各画像を撮影した際の可動式カメラ１１の撮影方向（撮影姿勢）と、に基づいて、複数の立体チャート２の相対的位置関係を適切に求めることが可能である。また、上記のような可動式カメラ１１の画角内に少なくとも２つの立体チャート２が収まる撮影形態の場合には、複数の立体チャート２の配置が可動式カメラ１１の画角による制限を受けることになるが、可動式カメラ１１の撮影方向を変化させつつ、可動式カメラ１１によって複数の立体チャート２を撮影する撮影形態の場合には、複数の立体チャート２の配置が可動式カメラ１１の画角による制限を受けることがなく、立体チャート２の配置における自由度が増す。
【０１４５】
＜７．変形例＞
以上、この発明の実施の形態について説明したが、この発明は上記説明した内容のものに限定されるものではない。
【０１４６】
例えば、上記説明では、複数の立体チャート２の相対的位置関係を求める際に、可動式カメラ１１で複数の立体チャート２を撮影する形態について説明したが、被写体用カメラ１３で複数の立体チャート２を撮影するようにしても構わない。また、可動式カメラ１１と被写体用カメラ１３との双方のカメラが、互いに異なる立体チャート２を撮影し、それぞれに得られる画像から各立体チャートの相対的位置関係を求めるようにしても構わない。
【０１４７】
また、複数の立体チャート２の相対的位置関係を求めるために、ある立体チャート２に対して可動式カメラ１１を固定し、その可動式カメラ１１によって隣接する他の立体チャート２を撮影するようにしてもよい。この場合は、可動式カメラ１１を立体チャート２に固定したときの可動式カメラ１１の位置及び姿勢が所定の状態となるように取り付けられ、既知であることが必要である。
【０１４８】
また、上記説明では、各立体チャートを他の立体チャートと区別するために各立体チャートに異なる色のチャートパターンＣＰを形成する例について説明したが、例えばマーカ２０１の点灯パターンを各立体チャートごとに変更させたり、各立体チャートに異なる文字パターン等を形成して、それらを判別することによっても、各々の立体チャートを区別することが可能である。
【０１４９】
また、上記説明では、第１演算部１７１及び第２演算部１７２を備える演算部１７０が、被写体用カメラ１３に設けられる例について説明したが、これに限定されるものではなく、可動式カメラ１１に第１演算部１７１が配置されもよいし、演算部１７０の全部又は一部の機能がコンピュータ１５に設けられていてもよい。演算部１７０としての機能がコンピュータ１５に設けられる場合には、可動式カメラ１１で得られる情報及び被写体用カメラ１３で得られる情報の全ては、コンピュータ１５に与えられることになる。そして、演算部１７０の機能を実現する演算プログラムは、コンピュータ１５にインストールされて実行されることになる。
【０１５０】
さらに、上記説明においては、複数の立体チャート２が被写体３０の略上方に吊り下げられる例について説明したが、それに限定されるものでもない。図１３は複数の立体チャートの配置に関する変形例を示す図である。図１３に示すように、複数の立体チャート２（２ｃ〜２ｅ）は被写体３０の周囲床面に配置されていてもよい。この場合でも、上述した演算内容には何ら変更は生じない。
【０１５１】
【発明の効果】
以上説明したように、請求項１乃至請求項６に記載の各発明によれば、被写体の周囲に配置された複数の姿勢検出用基準物体の相対的位置関係が求められるため、被写体を撮影する際にいずれかの姿勢検出用基準物体を同時に撮影しておけば、被写体を適切に測定することができる。このため、測定装置の被写体周囲における可動範囲を広く確保することができ、かつ、高い測定精度で被写体を測定することが可能になる。
また、基準物体撮影用カメラの特徴を利用して被写体の周囲に配置された複数の姿勢検出用基準物体の相対的位置関係を求めることができ、複数の立体チャートの配置における自由度が増す。
【０１５２】
そして特に、請求項２に記載の発明によれば、被写体の周囲に配置された複数の姿勢検出用基準物体の相対的位置関係を簡単に求めることができ、演算効率も向上する。
【０１５４】
また、請求項３に記載の発明によれば、基準物体撮影用カメラが測定装置に対して撮影方向を可変に固定されているので、被写体周囲に配置された任意の姿勢検出用基準物体を測定することができ、複数の姿勢検出用基準物体の相対的位置関係を適切に求めることができる。
【０１５５】
また、請求項４に記載の発明によれば、基準物体撮影用カメラが少なくとも１つの姿勢検出用基準物体を撮影するように、基準物体撮影用カメラの撮影方向が制御されるため、被写体の周囲における測定装置の配置に自由度が増す。
【０１５６】
さらに、請求項５に記載の発明によれば、測定装置が被写体の３次元形状を測定する装置であり、複数回の測定で得られた３次元形状が各測定時の姿勢に基づいて合成されるため、測定装置によって被写体の周囲に関する３次元形状が正確に測定される。
【図面の簡単な説明】
【図１】本発明にかかる三次元情報生成システムの一構成例を示す図である。
【図２】立体チャートの側面図である。
【図３】可動式カメラの正面図である。
【図４】可動式カメラの内部機能を示すブロック図である。
【図５】被写体撮影用カメラの内部構成を示すブロック図である。
【図６】三次元情報生成システムにおける座標変換の概念を示す図である。
【図７】チャート座標系を基準座標系に変換する座標変換の概念を示す図である。
【図８】三次元情報生成システムの全体的な動作プロセスを示すフローチャートである。
【図９】三次元情報生成システムの動作プロセスにおける一部の処理を示すフローチャートである。
【図１０】三次元情報生成システムの動作プロセスにおける一部の処理を示すフローチャートである。
【図１１】三次元情報生成システムの動作プロセスにおける一部の処理を示すフローチャートである。
【図１２】三次元情報生成システムの動作プロセスにおける一部の処理を示すフローチャートである。
【図１３】複数の立体チャートの配置に関する変形例を示す図である。
【符号の説明】
１  三次元情報生成システム
２（２ａ〜２ｅ）  立体チャート（姿勢検出用基準物体）
１０  カメラシステム（三次元情報生成装置、測定装置）
１１  可動式カメラ（基準物体撮影用カメラ）
１３  被写体撮影用カメラ（被写体カメラ）
１５  コンピュータ
３０  被写体
１１３  姿勢変化装置
１６０  制御部（制御手段）
１７０  演算部
１７１  第１演算部（第１の演算手段）
１７２  第２演算部（第２の演算手段）
Ｇ１  画角
Ｘｃ，Ｘｍ，Ｘｍｏ，Ｘｏ，Ｘｃｂ，Ｘｘａ  座標系
【図１】
0004892792.tif 000010
【図２】
0004892792.tif 000011
【図３】
0004892792.tif 000012
【図４】
0004892792.tif 000013
【図５】
0004892792.tif 000014
【図６】
0004892792.tif 000015
【図７】
0004892792.tif 000016
【図８】
0004892792.tif 000017
【図９】
0004892792.tif 000018
【図１０】
0004892792.tif 000019
【図１１】
0004892792.tif 000020
【図１２】
0004892792.tif 000021
【図１３】
0004892792.tif 000022