(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」等に開示された技術を適用することができる。これらの技術は、座標が既知の４点以上の点をカメラで撮影し、その４点以上の既知の三次元座標値と、カメラで得られる画像から求められる２次元座標値とに基づいて、カメラの相対位置及び相対姿勢を算出するものである。
【００６４】
この実施の形態においても、可動式カメラ１１で立体チャート２を撮影した際場合、２次元受光素子１１１から得られる画像データから、立体チャート２が有する各単位図形の頂点座標を求めることができる。ただし、この場合の頂点座標は、可動式カメラ１１が立体チャート２を撮影した状態における固有のローカル座標系についての座標値となる。
【００６５】
一方、立体チャート２は被写体３０の周囲に配置された状態で固定される。この立体チャート２に固有の３次元座標系（これを、「チャート座標系」と呼ぶ。）を設定すれば、立体チャート２の各単位図形の頂点位置を立体チャート２の設計値に基づいて定めることができる。
【００６６】
可動式カメラ１１で撮影した画像データに基づいてチャートパターンＣＰの少なくとも４点の座標値を求めると、各点の対応関係から、立体チャート２の測定された４点が特定される。このため、チャート座標系における設計上の４点の座標値と、可動式カメラ１１のローカル座標系における４点の座標値とから、可動式カメラ１１の立体チャート２に対する相対的な位置及び姿勢を特定することができる。そして、可動式カメラ１１のローカル座標系と、チャート座標系との関係から、可動式カメラ１１のローカル座標系をチャート座標系に変換するためのパラメータが定義される。
【００６７】
チャート座標系をＸｃ、可動式カメラ１１のローカル座標系をＸｍ、ローカル座標系Ｘｍをチャート座標系Ｘｃに変換するための回転移動行列をＲｃ、平行移動ベクトルをＴｃとすると、
【００６８】
【数１】
0004892793.tif 000002
【００６９】
の式によって可動式カメラ１１のローカル座標系Ｘｍで表現された座標値を、チャート座標系Ｘｃで表現された座標値に変換することが可能である。
【００７０】
すなわち、可動式カメラ１１が立体チャート２を撮影して求められるチャートパターンＣＰの少なくとも４点の座標値と、チャートパターンＣＰの設計値とにより、立体チャート２に対する可動式カメラ１１の相対姿勢及び相対位置を特定することができるので、数１の式における回転移動行列Ｒｃ、平行移動ベクトルＴｃを求めることができ、それによって座標変換式が定義されることになる。
【００７１】
図６は三次元情報生成システム１における座標変換の概念を示す図である。図６に示すように、上記数１の式の座標変換式は、可動式カメラ１１に設定されるローカル座標系Ｘｍから立体チャート２に設定されるチャート座標系Ｘｃに変換する式である。つまり、可動式カメラ１１が立体チャート２を撮影することにより、可動式カメラ１１の立体チャート２に対する相対姿勢及び相対位置が特定されるため、その相対姿勢及び相対位置に基づく数１の式を、ローカル座標系Ｘｍからチャート座標系Ｘｃへの変換式として定義することができる。
【００７２】
また、可動式カメラ１１が姿勢変化装置１１３によって旋回角度θ及び俯仰角度φに姿勢変化した場合と、旋回角度０°及び俯仰角度０°の場合のそれぞれにおいて、可動式カメラ１１による撮影を行った際、各画像から導かれる座標値の座標系は異なる。図６に示すように、可動式カメラ１１が旋回角度０°及び俯仰角度０°にある状態（１１ｂ）で撮影した画像から導かれる座標値は、ローカル座標系Ｘｍｏで表現され、また、可動式カメラ１１が旋回角度θ及び俯仰角度φにある状態（１１ａ）で撮影した画像から導かれる座標値は、ローカル座標系Ｘｍで表現される。これらローカル座標系ＸｍｏとＸｍとは、可動式カメラ１１の姿勢が変化したことによって生じるものであるため、ローカル座標系ＸｍｏとＸｍとの間での座標変換パラメータは予め内部パラメータとして求めておくこともできるし、また演算によって求めることもできる。
【００７３】
ローカル座標系Ｘｍｏをローカル座標系Ｘｍに変換するための回転移動行列をＲ（θ，φ）、平行移動ベクトルをＴ（θ，φ）とすると、
【００７４】
【数２】
0004892793.tif 000003
【００７５】
の式によってローカル座標系Ｘｍｏで表現された座標値を、ローカル座標系Ｘｍで表現された座標値に変換することが可能である。なお、回転移動行列Ｒ（θ，φ）及び平行移動ベクトルＴ（θ，φ）は、それぞれθ，φが決まれば一義に決まるものである。可動式カメラ１１では、角度センサ１２６ｔ，１２６ｐによってレンズ回転角情報、すなわち、θ及びφに関する情報が生成されるため、このレンズ回転角情報を用いれば、回転移動行列Ｒ（θ，φ）及び平行移動ベクトルＴ（θ，φ）を求めることができる。
【００７６】
さらに、可動式カメラ１１が旋回角度０°及び俯仰角度０°である場合に可動式カメラ１１による撮影を行った際、その画像から導かれる座標値の座標系は、被写体用カメラ１３で撮影を行った際の撮影画像から導かれる座標値の座標系とは異なる。図６に示すように、可動式カメラ１１が旋回角度０°及び俯仰角度０°にある状態（１１ｂ）で撮影した画像から導かれる座標値は、ローカル座標系Ｘｍｏで表現され、また、被写体用カメラ１３で撮影した撮影画像から導かれる座標値は、ローカル座標系Ｘｏで表現される。すなわち、可動式カメラ１１が撮影を行う姿勢及び位置と、被写体用カメラ１３が撮影を行う姿勢及び位置とが異なるため、撮影方向が単に同一方向であっても、それぞれの画像から得られる座標値は、異なる座標系についてのものとなる。
【００７７】
ローカル座標系Ｘｏからローカル座標系Ｘｍｏへの座標変換は、可動式カメラ１１を被写体用カメラ１３に固定した場合の設計値等から予め求めておくことができる。しかし、実際の使用時に可動式カメラ１１を被写体用カメラ１３に取り付けると、若干の誤差が生じることも想定されるため、被写体撮影時に、座標変換を行うための変換パラメータを求めるように構成することが好ましい。
【００７８】
例えば、被写体３０の撮影動作を行う前に、可動式カメラ１１の旋回角度及び俯仰角度を０°に設定して予め可動式カメラ１１と被写体用カメラ１３とが同一の立体チャート２を撮影し、それぞれの画像から立体チャート２上の同一の頂点座標を求めることで、被写体用カメラ１３の可動式カメラ１１に対する相対姿勢及び相対位置を特定することができる。そして、その相対姿勢及び相対位置に基づいて座標変換を行うことで、ローカル座標系Ｘｏからローカル座標系Ｘｍｏへの座標変換を行うことができる。
【００７９】
具体的には、ローカル座標系Ｘｏをローカル座標系Ｘｍｏに変換するための回転移動行列をＲｈ、平行移動ベクトルをＴｈとすると、
【００８０】
【数３】
0004892793.tif 000004
【００８１】
の式によってローカル座標系Ｘｍｏで表現された座標値を、ローカル座標系Ｘｍで表現された座標値に変換することが可能である。なお、回転移動行列Ｒｈ及び平行移動ベクトルＴｈは、被写体用カメラ１３の可動式カメラ１１に対する相対姿勢及び相対位置に基づいて定められる、行列及びベクトルである。
【００８２】
このようにして、各座標系間での座標変換が可能になる。そして、被写体用カメラ１３が被写体３０を撮影することに同期して、可動式カメラ１１が複数の立体チャート２のうちの近接立体チャート２を撮影することで、被写体用カメラ１３の撮影画像から導かれる座標値を、近接立体チャート２のチャート座標系で表現した座標値に変換することができる。
【００８３】
具体的には、上記数１〜数３の式より導かれる
【００８４】
【数４】
0004892793.tif 000005
【００８５】
の式により、被写体用カメラ１３のローカル座標系Ｘｏで得られた座標値を、チャート座標系Ｘｃで表現した座標値に変換することができる。
【００８６】
そして被写体用カメラ１３で被写体３０のある側面を撮影する際に、可動式カメラ１１で近接立体チャート２を撮影すれば、可動式カメラ１１が近接立体チャート２を撮影した相対位置及び相対姿勢を特定することができ、また、被写体用カメラ１３と可動式カメラ１１の相対位置及び相対姿勢を特定することができるので、被写体用カメラ１３の外部パラメータが求まることとなり、被写体用カメラ１３から得られる画像から被写体３０の三次元情報を生成することができる。
【００８７】
そして被写体用カメラ１３が被写体３０を撮影する際に、可動式カメラ１１が可動式カメラ１１に最も近い位置にある近接立体チャート２を撮影することにより、可動式カメラ１１が近接立体チャート２を撮影した相対位置及び相対姿勢を高精度に特定することができるのである。
【００８８】
ここで、被写体用カメラ１３で被写体３０のある側面（第１の側面）を撮影する際に、可動式カメラ１１が立体チャート２ａ（図１参照）を撮影対象の立体チャートとし、また、被写体用カメラ１３で被写体３０の別の側面（第２の側面）を撮影する際に、可動式カメラ１１が立体チャート２ｂ（図１参照）を撮影対象の立体チャートとする場合について検討する。
【００８９】
このような場合、被写体用カメラ１３で被写体３０を撮影した際の撮影画像から座標値を求め、さらに上記数４の式に基づいた座標変換を行ったとしても、第１の側面については立体チャート２ａに関するチャート座標系Ｘｃａの座標値に変化され、第２の側面については立体チャート２ｂに関するチャート座標系Ｘｃｂの座標値に変化される。このため、これらの座標値を合成しても正確な被写体３０に関する三次元情報を生成することはできない。
【００９０】
そこで、この実施の形態では、被写体３０の周囲に配置された複数の立体チャート２の相対的位置関係を求め、その相対的位置関係に基づいて、各立体チャートについてのチャート座標系を特定の一つの立体チャートに関するチャート座標系（これを、「基準座標系」と呼ぶ。）に変換させるように構成される。
【００９１】
図７はチャート座標系を基準座標系に変換する座標変換の概念を示す図である。なお、図７の例では、立体チャート２ａのチャート座標系Ｘｃａが基準座標系であるとする。
【００９２】
複数の立体チャート２の相対的位置関係を求める際には、例えば可動式カメラ１１の画角Ｇ１内に複数の立体チャート２が収まるような状態で可動式カメラ１１により複数の立体チャート２を撮影する。
【００９３】
可動式カメラ１１により立体チャート２ａを撮影すると、その画像よりローカル座標系Ｘｍにおける座標値が得られる。一方、立体チャート２ａは既知の構造で形成されるため、チャート座標系（基準座標系）Ｘｃａにおける座標値は設計上既知である。
【００９４】
このため、可動式カメラ１１が立体チャート２ａを撮影して求められるチャートパターンＣＰの少なくとも４点の座標値と、それに対応する４点のチャートパターンＣＰの設計値とにより、立体チャート２ａに対する可動式カメラ１１の相対姿勢及び相対位置を特定することができる。
【００９５】
よって、上述した数１の式と同様に、ローカル座標系Ｘｍから基準座標系Ｘｃａへの座標変換式が、
【００９６】
【数５】
0004892793.tif 000006
【００９７】
のように定義される。なお、数５の式におけるＲｃａ及びＴｃａは、それぞれローカル座標系Ｘｍから基準座標系Ｘｃａへの回転移動行列及び平行移動ベクトルであり、立体チャート２ａに対する可動式カメラ１１の相対姿勢及び相対位置により求めることができる。
【００９８】
同様に、可動式カメラ１１により立体チャート２ｂを撮影すると、その画像よりローカル座標系Ｘｍにおける座標値が得られる。一方、立体チャート２ｂも既知の構造で形成されるため、チャート座標系Ｘｃｂにおける座標値は設計上既知である。
【００９９】
このため、可動式カメラ１１が立体チャート２ｂを撮影して求められるチャートパターンＣＰの少なくとも４点の座標値と、それに対応する４点のチャートパターンＣＰの設計値とにより、立体チャート２ｂに対する可動式カメラ１１の相対姿勢及び相対位置を特定することができる。
【０１００】
よって、上述した数１の式と同様に、ローカル座標系Ｘｍからチャート座標系Ｘｃｂへの座標変換式が、
【０１０１】
【数６】
0004892793.tif 000007
【０１０２】
のように定義される。なお、数６の式におけるＲｃｂ及びＴｃｂは、それぞれローカル座標系Ｘｍから基準座標系Ｘｃｂへの回転移動行列及び平行移動ベクトルであり、立体チャート２ｂに対する可動式カメラ１１の相対姿勢及び相対位置により求めることができる。
【０１０３】
そして、上記数５及び数６の座標変換式に基づいて、チャート座標系Ｘｃｂから基準座標系Ｘｃａへの座標変換式を求めると、
【０１０４】
【数７】
0004892793.tif 000008
【０１０５】
のようになる。この数７の式が、すなわち立体チャート２ａと２ｂとの相対的位置関係を示す式となる。立体チャート２が多数設けられている場合を考慮して、数７の式を一般化すれば、
【０１０６】
【数８】
0004892793.tif 000009
【０１０７】
となる。なお、数８の式において、ｉはｉ番目の立体チャート２（ｉ）を示しており、Ｒｃｉ及びＴｃｉは、それぞれローカル座標系Ｘｍからチャート座標系Ｘｃｉへの回転移動行列及び平行移動ベクトルであり、立体チャート２（ｉ）に対する可動式カメラ１１の相対姿勢及び相対位置により求めることができる。
【０１０８】
そして数４の座標変換式と、数８の座標変換式とにより、被写体用カメラ１３で得られる撮影画像から被写体３０の座標値を求めた場合に、その座標値を基準座標系（すなわち、三次元情報生成システム１におけるワールド座標系）における座標値に変換することができ、被写体３０の三次元画像モデルを適切に構築することが可能になる。
【０１０９】
なお、上記の例では演算原理を容易に理解することができるようにするために、複数の立体チャート２が可動式カメラ１１の画角Ｇ１内に収まるように撮影した場合について説明したが、それに限定されるものではない。
【０１１０】
例えば、立体チャート２が多数設けられている場合には、全ての立体チャート２を画角Ｇ１内に収めるのではなく、２個の立体チャート２が画角Ｇ１内に収まるようにして撮影動作を繰り返し行い、各画像に含まれる２個の立体チャートの相対的位置関係を順次求めていくという方法を採用することができる。２個の立体チャート２が画角Ｇ１内に収まるようにして撮影を行えば、その画像からその２個の立体チャート２の相対的位置関係を簡単に求めることができるという利点がある。
【０１１１】
一方、画角Ｇ１内に収まる立体チャート２の数が増加するほど、画像における各立体チャート２の画像成分は小さくなることが予想される。そしてその場合には各立体チャートの相対的位置関係を求める精度が低下する。このため、１回の撮影時に画角Ｇ１内に収める立体チャート２の数はなるべく少なくすることが好ましい。
【０１１２】
このような観点からすると、複数の立体チャート２の相対的位置関係を求める方法としては、可動式カメラ１１が立体チャート２を１個ずつ個別に撮影することが最も好ましいと言える。例えば、可動式カメラ１１を可動範囲内で姿勢変化させたときに、全ての立体チャート２を個別に撮影することができるのであれば、各立体チャート２を個別に撮影し、各画像を撮影したときの旋回角度と俯仰角度とに基づいた座標変換を施せば、各立体チャート２の相対的位置関係を求めることができる。このとき、可動式カメラ１１は１個の立体チャート２を撮影するので、撮影画像に含まれる立体チャート２の画像成分を大きな状態で撮影することができ、その結果、立体チャート２に対する可動式カメラ１１の位置及び姿勢を高精度に求めることが可能である。
【０１１３】
このようにして複数の立体チャート２の相対的位置関係を予め求めておくことにより、可動式カメラ１１では複数の立体チャート２のうちの一の立体チャートを撮影した際に、その一の立体チャートが可動式カメラ１１に対して最も近い位置にあるか否かを判断することができ、さらに複数の立体チャート２のうちから可動式カメラ１１に最も近い位置にある近接立体チャートを特定することが可能になる。
【０１１４】
＜６．三次元情報生成システム１の動作プロセス＞
次に、三次元情報生成システム１の動作プロセスについて説明する。図８乃至図１３は、三次元情報生成システム１の動作プロセスを示すフローチャートである。
【０１１５】
まず、複数の立体チャート２が被写体３０の周囲に配置される（ステップＳ１）。このときの立体チャート２の配置はランダムでよいが、被写体３０の大きさに応じて、被写体３０の周囲にほぼ均等な間隔で配置されることが好ましい。また、被写体３０の周囲に配置された複数の立体チャート２は、動作プロセスが終了するまで、より厳密にはステップＳ４の被写体撮影処理が終了するまでは固定される。
【０１１６】
次に、複数の立体チャート２の相対的位置関係を算出する処理が行われる（ステップＳ２）。この処理の詳細を図９のフローチャートに示す。
【０１１７】
まず、ユーザは複数の立体チャート２の前に、立体チャート２どうしのオクルージョンが発生しないように、すなわち、ある立体チャート２が他の立体チャート２の影とならないように、カメラシステム１０を設置する（ステップＳ２１）。このとき、カメラシステム１０は固定されるが、可動式カメラ１１は姿勢変化装置１１３の作用によって画角を変更することが可能な状態に設置される。
【０１１８】
そして、ユーザは可動式カメラ１１を手動モードに設定し、被写体用カメラ１３の操作ボタン１６４を操作することで、立体チャート２が可動式カメラ１１の画角に入るように、可動式カメラ１１のレンズ回転角を指定する（ステップＳ２２）。これにより、被写体用カメラ１３から可動式カメラ１１に対して姿勢変化の指示が与えられ、可動式カメラ１１の撮影方向が指示された方向に向き、立体チャート２が可動式カメラ１１の画角内に収まる。なお、このとき１個の立体チャート２が画角内に収まるように撮影方向を指示することが好ましい。
【０１１９】
ユーザは可動式カメラ１１による立体チャート２の撮影指示を行う（ステップＳ２３）。この結果、可動式カメラ１１では撮影動作が行われ、立体チャート２が撮影された画像データが可動式カメラ１１から被写体用カメラ１３に送信される。その際、画像データとともに、レンズ回転角情報も同時に送信される。被写体用カメラ１３では、可動式カメラ１１から受信する画像データ及びレンズ回転角情報をメモリ１６９に格納保存する。
【０１２０】
そして、ユーザは未撮影の立体チャート２が存在するか否かを判断し（ステップＳ２４）、存在する場合はステップＳ２５において、未撮影の立体チャート２が画角内に入るように可動式カメラ１１を設定する。これにより、可動式カメラ１１に姿勢変化が与えられ、１個の未撮影の立体チャート２が可動式カメラ１１の画角内に収まる。
【０１２１】
そしてステップＳ２３〜Ｓ２５の処理を繰り返し行うことにより、被写体３０の周囲に配置された全ての立体チャート２が可動式カメラ１１によって撮影される。ユーザは全ての立体チャート２の撮影が終了すると、その旨の入力を被写体用カメラ１３の操作ボタン１６４より入力する。
【０１２２】
被写体用カメラ１３では、演算部１７０の第１演算部１７１が機能する。そして第１演算部１７１は、メモリ１６９に格納されている可動式カメラ１１から得られた画像データを取得し、各立体チャート２を撮影したときの各立体チャート２に対する可動式カメラ１１の相対位置及び相対姿勢を算出する（ステップＳ２６）。つまり、この処理により、上記数５及び数６の式に示す各パラメータ（回転移動行列及び平行移動ベクトル）が求められることになる。
【０１２３】
次に、第１演算部１７１は、複数の立体チャート２のうちから基準座標系を示す基本立体チャートを一つ選択し、その基本立体チャートに対する可動式カメラ１１の相対位置及び相対姿勢と、他の立体チャートに対する可動式カメラ１１の相対位置及び相対姿勢と、レンズ回転角情報とに基づいて、基本立体チャートに対する他の立体チャートの相対位置及び相対姿勢を算出し、それをメモリ１６９にデータ保存する（ステップＳ２７）。この処理により、上記数７又は数８の式に示す各パラメータが求められることになり、複数の立体チャート２の相対的位置関係が算出されることになる。また、この処理において、複数の立体チャート２の相対的位置関係が求まると、被写体用カメラ１３は可動式カメラ１１に対して相対的位置関係に関する情報を送信する。そして可動式カメラ１１は被写体用カメラ１３より受信する相対的位置関係に関する情報をメモリ１２５に格納する。
【０１２４】
なお、基本立体チャート２の選択は、演算部１７０が複数の立体チャート２のうちから任意の一つを自動選択するように構成してもよいし、ユーザが操作ボタン１６４より指定するように構成してもよい。
【０１２５】
以上で、複数の立体チャート２の相対的な位置関係が求まるだけでなく、複数の立体チャート２が一つの基本立体チャートと、他の立体チャートとに区別され、基本立体チャートに対する他の全ての立体チャートの相対的位置関係が定められたことになり、ステップＳ２の処理を終了する。
【０１２６】
次に、被写体用カメラ１３と可動式カメラ１１との相対位置及び相対姿勢を算出する処理が行われる（図８参照；ステップＳ３）。この処理の詳細を図１０のフローチャートに示す。
【０１２７】
まず、ユーザは、被写体用カメラ１３及び可動式カメラ１１が同一の立体チャート２をそれぞれの画角内に捉えるようにカメラシステム１０の向きを調整する（ステップＳ３１）。
【０１２８】
次にユーザは被写体用カメラ１３及び可動式カメラ１１による同一の立体チャート２の撮影指示を行う（ステップＳ３２）。例えば、ユーザが被写体用カメラ１３のシャッタボタン１６１を押下すれば、カメラシステム１０の被写体用カメラ１３及び可動式カメラ１１が同期して撮影動作を行う。この結果、可動式カメラ１１で立体チャート２を撮影して得られる画像データが可動式カメラ１１から被写体用カメラ１３に送信され、被写体用カメラ１３のメモリ１６９にその画像データが格納される。また、被写体用カメラ１３で立体チャート２を撮影して得られる画像データも被写体用カメラ１３のメモリ１６９に格納される。
【０１２９】
そして、被写体用カメラ１３において演算部１７０の第２演算部１７２が機能し、可動式カメラ１１が立体チャート２を撮影した画像から、可動式カメラ１１の立体チャート２に対する相対位置及び相対姿勢、すなわち可動式カメラ１１の外部パラメータの算出演算が行われる（ステップＳ３３）。また同様に、被写体用カメラ１３が立体チャート２を撮影した画像から、被写体用カメラ１３の立体チャート２に対する相対位置及び相対姿勢、すなわち被写体用カメラ１３の外部パラメータの算出演算が行われる（ステップＳ３３）。演算部１７０は、可動式カメラ１１及び被写体用カメラ１３の各々についての外部パラメータが適切に算出できたか否かを判断する。そして、外部パラメータの算出ができなかった場合は、２つのカメラによる同一の立体チャート２の撮影動作（ステップＳ３２）から繰り返すことになる。一方、外部パラメータが適切に算出できた場合には、ステップＳ３４に進む。
【０１３０】
そして第２演算部１７２は、被写体用カメラ１３及び可動式カメラ１１のそれぞれの外部パラメータと、可動式カメラ１１の撮影時のレンズ回転角とから、２つのカメラの相対位置及び相対姿勢を表現したカメラパラメータを算出する（ステップＳ３４）。つまり、ステップＳ３３で求めた外部パラメータにより、２つのカメラそれぞれの同一の立体チャート２に対する相対的な位置及び姿勢が解明されるため、その関係を用いて２つのカメラどうしの相対的な位置関係を演算によって求めるのである。なお、同一の立体チャート２を撮影する際に、可動式カメラ１１の旋回角度及び俯仰角度が０°であったならば、レンズ回転角を考慮することなく最も簡単に２つのカメラの相対位置及び相対姿勢を表現したカメラパラメータを算出することができる。この処理により、上記数３の変換式に示す各パラメータ又は上記数２と数３との合成変換式に相当する各パラメータが求められることになる。
【０１３１】
以上で、可動式カメラ１１が被写体用カメラ１３に固定された状態での被写体用カメラ１３と可動式カメラ１１との相対位置及び相対姿勢が定められたことになり、ステップＳ３の処理を終了する。
【０１３２】
次に、三次元情報の生成対象である被写体３０を撮影するための被写体撮影処理が行われる（図８参照；ステップＳ４）。この処理の詳細を図１１のフローチャートに示す。
【０１３３】
ステップＳ４１においてユーザはカメラシステム１０を被写体３０周囲の任意の位置に設置し、被写体用カメラ１３を被写体３０に向ける。そして可動式カメラ１１を手動モードに設定して、可動式カメラ１１を複数の立体チャート２のうちの任意の１つに向ける。そして、撮影対象となる１つの立体チャートが可動式カメラ１１の画角内に収まった時点で、ユーザは可動式カメラ１１を自動追尾モードに設定する。
【０１３４】
そして可動式カメラ１１において自動追尾処理が行われる（ステップＳ４２）。この自動追尾処理は、複数の立体チャート２のうちから可動式カメラ１１に最も近い位置にある近接立体チャートを特定し、その近接立体チャートを自動追尾するための処理である。この自動追尾処理の詳細を図１２のフローチャートに示す。
【０１３５】
まず、可動式カメラ１１において２次元受光素子１１１及び画像処理部１２１が機能し、立体チャートの画像取得が行われる（ステップＳ４２０）。画像処理部１２１は撮影動作によって得られた画像データを立体チャート認識部１２７に与える。そして立体チャート認識部１２７は撮影によって得られた画像中にマーカ２０１の画像成分が含まれているか否かを判断し（ステップＳ４２１）、マーカ２０１の画像成分が含まれていない場合には自動追尾が失敗となり、自動追尾処理を抜ける。一方、画像中にマーカ２０１の画像成分が含まれている場合には自動追尾可能な状態であるため、ステップＳ４２２に処理を進める。
【０１３６】
可動式カメラ１１においては自動追尾制御部１２３ａが機能し、現在撮影している立体チャート２（ステップＳ４１（図１１参照）で撮影対象とされた立体チャート２、又は後述するステップＳ４２９で撮影対象とされる立体チャート２）のマーカ２０１を画像中央に位置させるようなカメラ回転角を計算する（ステップＳ４２２）。カメラ制御部１２３は、その計算によって求められたカメラ回転角となるように姿勢変化装置１１３に駆動信号を与える。これにより、可動式カメラ１１は現在撮影している立体チャート２を自動追尾することになる。
【０１３７】
そして自動追尾制御部１２３ａは可動式カメラ１１で撮影して得られる画像に基づいて、現在撮影している立体チャート２（すなわち、自動追尾対象となっている立体チャート２）に対する可動式カメラ１１の相対位置及び相対姿勢を演算する（ステップＳ４２３）。なお、上述したステップＳ２６と同様の処理を、自動追尾制御部１２３ａが行うことによって、現在撮影している立体チャート２に対する可動式カメラ１１の相対位置及び相対姿勢を演算することができる。
【０１３８】
そして自動追尾制御部１２３ａは、現在撮影している立体チャート２に対する可動式カメラ１１の相対位置及び相対姿勢に基づいて、現在撮影している立体チャート２と可動式カメラ１１との距離を算出する（ステップＳ４２４）。
【０１３９】
また、自動追尾制御部１２３ａはメモリ１２５から複数の立体チャート２の相対的位置関係を取得し（ステップＳ４２５）、他の立体チャート２と可動式カメラ１１とのそれぞれ距離を算出する（ステップＳ４２６）。なお、複数の立体チャート２の相対位置関係が求められていれば、一の立体チャートに対する可動式カメラ１１の相対位置及び相対姿勢に基づいて、各立体チャート２と可動式カメラ１１との距離は容易に求めることができる。
【０１４０】
そして自動追尾制御部１２３ａは、現在撮影している立体チャート２が可動式カメラ１１に最も近いか否かを判断し（ステップＳ４２７）、ＹＥＳの場合には、現在撮影している立体チャート２を近接立体チャートと特定して、自動追尾状態を維持したまま自動追尾処理を抜けることになる。
【０１４１】
一方、現在撮影している立体チャート２が可動式カメラ１１に最も近い立体チャート２でないと判断された場合には、ステップＳ４２８に進み、自動追尾制御部１２３ａは、各立体チャート２と可動式カメラ１１との距離に基づいて、複数の立体チャート２のうちから可動式カメラ１１に最も近い位置にある立体チャート（すなわち、近接立体チャート）を選択する（ステップＳ４２８）。
【０１４２】
そして自動追尾制御部１２３ａは、ステップＳ４２８において選択された近接立体チャート２を自動追尾対象として設定し、可動式カメラ１１を近接立体チャート２に向ける（ステップＳ４２９）。具体的には、複数の立体チャート２の相対的位置関係に基づいて、可動式カメラ１１の近接立体チャート２に対する相対位置及び相対姿勢を算出し、可動式カメラ１１が近接立体チャート２を画角内に捉えるように姿勢変化装置１１３を駆動させることにより、近接立体チャート２が自動追尾対象の立体チャートとなる。
【０１４３】
そして再び画像取得が行われ（ステップＳ４２０）、その画像中央に近接立体チャート２のマーカ画像成分が位置するように自動追尾が行われる（ステップＳ４２２）。
【０１４４】
その後、ステップＳ４２７では、近接立体チャート２が可動式カメラ１１によって捉えられた状態であるので、近接立体チャート２の自動追尾状態を維持したまま自動追尾処理を抜けることになる。
【０１４５】
以上で、可動式カメラ１１における自動追尾処理（ステップＳ４２）が終了し、複数の立体チャート２のうちから可動式カメラ１１に最も近い位置にある近接立体チャートが特定され、かつ可動式カメラ１１がその近接立体チャートを自動追尾する状態となる。
【０１４６】
図１１のフローチャートに戻り、次にステップＳ４３に進む。
【０１４７】
ユーザは被写体用カメラ１３で被写体３０を撮影するために被写体用カメラ１３のフレーミング調整等を行う。ユーザはフレーミング調整等を行うためにカメラシステム１０の位置又は姿勢を変化させることも考えられるが、その場合、可動式カメラ１１による近接立体チャート２の自動追尾に失敗することもある。
【０１４８】
そのため、可動式カメラ１１の立体チャート認識部１２７は、近接立体チャート２のマーカ２０１を画角内に捉えているか否かを判断し、自動追尾動作が正常であるか否かを判断する（ステップＳ４３）。そして自動追尾が良好に行われている場合はステップＳ４４に進み、自動追尾が失敗した場合にはステップＳ４１に戻って再び複数の立体チャートのうちの任意の１つの立体チャートが可動式カメラ１１の画角内収まるように手動操作を行った後、自動追尾設定を行う（ステップＳ４１）。
【０１４９】
自動追尾が良好の場合、被写体用カメラ１３によるフレーミング調整が完了すると、ユーザは被写体用カメラ１３のシャッタボタン１６１を押下し、被写体３０の撮影動作を指示する。これに応答して、被写体用カメラ１３では被写体３０の撮影が行われ、同時に可動式カメラ１１では近接立体チャート２の撮影動作が行われる（ステップＳ４４）。
【０１５０】
そして、被写体用カメラ１３で得られた被写体３０の撮影画像がメモリ１６９に格納されるとともに、可動式カメラ１１で近接立体チャートを撮影した画像データ及びレンズ回転角情報もメモリ１６９に格納される。
【０１５１】
そして被写体用カメラ１３において第２演算部１７２が機能する。第２演算部１７２は、メモリ１６９に格納されている可動式カメラ１１で得られた画像を読み出して、複数の立体チャート２のうち、どの立体チャートが近接立体チャートとして撮影されたかを特定する（ステップＳ４５）。
【０１５２】
複数の立体チャート２のうちから１つの近接立体チャートを特定するための一例について説明する。例えば、複数の立体チャート２のチャートパターンＣＰをそれぞれ異なる色で形成しておく。そして可動式カメラ１１から得られた画像における近接立体チャートの色を演算部１７０が判別することにより、複数の立体チャートのうちで近接立体チャートとして撮影された立体チャートを特定することが可能である。
【０１５３】
また、上記のように複数の立体チャート２のそれぞれのチャートパターンＣＰを異なる色で形成することにより、複数の立体チャート２の相対的位置関係を求めた際に、各立体チャート２を特定することができる。
【０１５４】
そして第２演算部１７２は、可動式カメラ１１から得られた近接立体チャート２の画像に基づいて、可動式カメラ１１の近接立体チャート２に対する相対位置及び相対姿勢を求める（ステップＳ４６）。これにより、可動式カメラ１１が近接立体チャートを撮影したときの可動式カメラ１１の外部パラメータが算出されることになる。
【０１５５】
第２演算部１７２は、可動式カメラ１１が自身に最も近い位置にある近接立体チャート２を撮影した画像に基づいて、可動式カメラ１１の外部パラメータを算出するため、他の立体チャート２を撮影した画像に基づいて可動式カメラ１１の外部パラメータを算出する場合に比べて、画像中に含まれる近接立体チャート２のチャートパターンＣＰに関する画像成分が大きくなり、高精度の外部パラメータを算出することが可能である。
【０１５６】
そして第２演算部１７２は、ステップＳ４６で得られた可動式カメラ１１の外部パラメータ（数１の式における各パラメータ）、ステップＳ３４で得られたカメラパラメータ（数３の式における各パラメータ）、及び、ステップＳ４４の撮影時におけるレンズ回転角情報（数２の式における各パラメータ）、に基づいて、近接立体チャートに対する被写体用カメラ１３の相対位置及び相対姿勢を求める（ステップＳ４７）。つまり、被写体用カメラ１３の外部パラメータを求めるのである。これにより、上記数４の式における各パラメータが求まることとなり、被写体３０を撮影した撮影画像から得られる被写体３０の座標値を、近接立体チャートのチャート座標系Ｘｃにおける座標値に変換することが可能になる。
【０１５７】
そして、被写体用カメラ１３で得られる撮影画像と、上記のようにして得られる被写体用カメラ１３の外部パラメータと、複数の立体チャート２のうちのいずれが近接立体チャートとして撮影されたかを示す情報（近接立体チャートを特定する情報）と、を対応づけてメモリ１６９にデータ保存する（ステップＳ４８）。
【０１５８】
ステップＳ４１〜Ｓ４８の処理により、被写体３０を被写体用カメラ１３で撮影したときの撮影画像から得られる画像を、近接立体チャートのチャート座標系に変換するためのパラメータが求められることになる。このような処理を被写体３０の全周を分割撮影して繰り返し行うことにより、被写体３０の全周に関するパラメータが生成されることになる。
【０１５９】
ステップＳ４９では、ユーザがさらに被写体３０の別の側面を撮影すると判断した場合に、ステップＳ４１からの処理が繰り返し行われるようになっている。その場合にも、ステップＳ４２において可動式カメラ１１が近接立体チャート２を特定し、その近接立体チャート２を自動追尾することになる。すなわち、ユーザが被写体３０の周囲を分割撮影するために被写体３０の周囲を移動した場合、ユーザによる撮影の都度、可動式カメラ１１が複数の立体チャート２のうちからの近接立体チャート２を特定して自動追尾を行い、撮影動作を行うように構成されている。
【０１６０】
また、ユーザが被写体３０の全周についての撮影を終了した場合には、操作ボタン１６４に対して所定の入力を行うこと撮影終了を指示する。この撮影終了の指示入力があった場合には、カメラシステム１０は被写体撮影処理（ステップＳ４）を終了する。
【０１６１】
ユーザが被写体３０の周囲を移動しつつ、被写体３０を繰り返し撮影する場合、各撮影時において可動式カメラ１１が撮影する近接立体チャートは異なった立体チャートに指定される。このため、各撮影時に求められる被写体用カメラ１３の外部パラメータは基準とする立体チャートがそれぞれに異なったものとなっている。
【０１６２】
次に、三次元情報生成システム１においては、三次元情報の生成処理が行われる（図８参照；ステップＳ５）。この処理の詳細を図１３のフローチャートに示す。
【０１６３】
被写体用カメラ１３において第２演算部１７２が機能する。そして、第２演算部１７２は、被写体用カメラ１３で被写体３０を撮影して得られた撮影画像と、その撮影時に求められた被写体用カメラ１３の外部パラメータと、その撮影時の近接立体チャートを特定する情報とを、メモリ１６９から読み出す（ステップＳ５１）。
【０１６４】
また、第２演算部１７２は、メモリ１６９にアクセスし、第１演算部１７１がステップＳ２（図８参照）において予め求めておいた複数の立体チャート２の相対的位置関係のうちから、基本立体チャートに対する近接立体チャートの相対位置及び相対姿勢を読み出す（ステップＳ５２）。このとき、第２演算部１７２は、ステップＳ５１で得られる撮影時の近接立体チャートを特定する情報に基づいて、基本立体チャートに対する近接立体チャートの相対位置及び相対姿勢を読み出す。
【０１６５】
ステップＳ５１で得られる、撮影時に求められた被写体用カメラ１３の外部パラメータとは、すなわち、上記の数４の式に示す各パラメータである。また、ステップＳ５２で得られる、基本立体チャートに対する近接立体チャートの相対位置及び相対姿勢とは、すなわち、上記の数７又は数８の式に示す各パラメータである。したがって、これらのパラメータに基づいて演算を行えば、被写体用カメラ１３で被写体３０を撮影した際の撮影画像から得られる被写体３０の座標値を、基本立体チャートの基準座標系で表現される座標値に座標変換することができる。つまり、数４の座標変換式と、数７又は数８の座標変換式との合成変換式を求めることにより、被写体３０の基準座標系（ワールド座標系）における座標値を求めることが可能な変換式を求めることができるのである。
【０１６６】
そして第２演算部１７２は、近接立体チャートの基本立体チャートに対する相対位置及び相対姿勢と、被写体用カメラ１３の外部パラメータとに基づいて、上記の合成変換式を求め、撮影画像に含まれる被写体像の三次元情報を生成する（ステップＳ５３）。
【０１６７】
そして第２演算部１７２は、メモリ１６９に他の撮影画像が有るか否かを調べ、有る場合にはステップＳ５１〜Ｓ５３の処理を繰り返す（ステップＳ５４）。この繰り返しにより、被写体３０の周囲を分割して撮影した場合の全ての画像から、基準座標系（ワールド座標系）における座標値を求めることができ、被写体像の全周に関する三次元情報を生成することが可能になる。
【０１６８】
そして最終的に被写体３０の全周についての三次元情報が生成されると、その三次元情報が出力又は保存されて全ての処理が終了する（ステップＳ５５）。
【０１６９】
なお、上記の動作プロセスにおいて、各手順の順序を若干入れ替えてもよい。例えば、複数の立体チャート２の相対的位置関係を算出する処理（ステップＳ２）を、ステップＳ３の処理の後に行うようにしても構わない。
【０１７０】
以上、説明したように、この実施の形態の三次元情報生成システム１では、被写体３０の周囲に、既知の構造で形成された複数の立体チャート２が配置されている。そして、カメラシステム１０を被写体３０周囲の任意の位置に設置して被写体３０を撮影する際には、可動式カメラ１１が、可動式カメラ１１に最も近い位置にある近接立体チャートを撮影するように構成されている。
【０１７１】
このため、カメラシステム１０の可動範囲を大幅に広げることができるとともに、高い測定精度で三次元画像モデルを構築することが可能である。例えば、被写体３０のサイズが大きい場合には、その被写体サイズに応じて被写体３０の周囲に配置する立体チャートの数を増加させればよいのである。そして、立体チャートの数が増加したとしても、各立体チャート間の相対的位置関係が高精度に求められ、かつ、被写体用カメラ１３の外部パラメータを高精度に求めることができるので、カメラシステム１０の可動範囲を広げつつも、高精度な三次元情報の生成が可能になるのである。
【０１７２】
また、第１演算部１７１が、複数の立体チャート２を予め可動式カメラ１１で撮影した画像に含まれる各立体チャートに基づいて、複数の立体チャート２の相対的位置関係を求めるように構成され、その相対位置関係に基づいて可動式カメラ１１において近接立体チャートが特定されるように構成されている。このため、可動式カメラ１１において撮影対象となっている立体チャートが可動式カメラ１１に最も近い位置にあるか否かを容易に判断することができ、複数の立体チャート２のうちから近接立体チャート２を特定することが可能である。
【０１７３】
そして、第２演算部１７２が、可動式カメラ１１が近接立体チャートを撮影した撮影位置及び撮影姿勢と、可動式カメラ１１と被写体用カメラ１３との相対位置及び相対姿勢と、近接立体チャートと他の立体チャート２との相対的位置関係と、に基づいて、被写体用カメラ１３から得られる撮影画像より、被写体の三次元情報を生成するように構成されているので、被写体３０のサイズが大きい場合であっても、その被写体３０に関する三次元情報を高精度に求めることが可能になる。
【０１７４】
また、この実施の形態の三次元情報生成システム１においては、複数の立体チャート２を予め可動式カメラ１１で撮影した画像に含まれる各立体チャートに基づいて、複数の立体チャート２の相対的位置関係を求めておき、被写体用カメラ１３が被写体３０を撮影する際に、可動式カメラ１１が複数の立体チャート２のうちの任意の一の立体チャートを撮影して得られる画像に基づいて、その一の立体チャートに対する可動式カメラ１１の相対位置及び相対姿勢を求め、そして、その一の立体チャートに対する可動式カメラ１１の相対位置及び相対姿勢と、複数の立体チャート２の相対的位置関係とに基づいて複数の立体チャート２のうちから近接立体チャートを特定するように構成されているため、可動式カメラ１１に最も近い位置にある近接立体チャートを正確に求めることが可能である。
【０１７５】
また、三次元情報生成システム１では、可動式カメラ１１が特定された近接立体チャートを自動追尾するように、可動式カメラ１１に関する撮影姿勢の制御が行われるため、被写体用カメラ１３で被写体３０のフレーミング調整等を行う場合でも可動式カメラ１１が近接立体チャートを捉えることが可能である。
【０１７６】
また、自動追尾の際には、各立体チャート２の所定位置に設けられたマーカ２０１の画像成分が、可動式カメラ１１で得られる画像中の所定位置に移動するように、可動式カメラ１１の撮影姿勢が制御されるため、比較的簡単に、かつ正確に自動追尾を行うことができる。
【０１７７】
そして、可動式カメラ１１が、可動式カメラ１１に最も近い位置にある近接立体チャートを撮影するための制御手段（カメラ制御部１２３）が可動式カメラ１１に設けられるため、可動式カメラ１１が近接立体チャートを捉えるための制御動作が効率化する。
【０１７８】
また、被写体３０の周囲に配置される複数の立体チャート２の相対的位置関係を求める際に、可動式カメラ１１の画角内に少なくとも２つの立体チャート２が収まるようにして撮影すれば、撮影によって得られた画像から簡単に少なくとも２つの立体チャート２の相対的位置関係を求めることができるので、効率的である。
【０１７９】
また、被写体３０の周囲に配置される複数の立体チャート２の相対的位置関係を求める際に、可動式カメラ１１の撮影方向（すなわち撮影姿勢）を変化させつつ、可動式カメラ１１によって複数の立体チャート２を撮影するようにしてもよい。このような撮影を行ったとしても、可動式カメラ１１から得られる各画像と、各画像を撮影した際の可動式カメラ１１の撮影方向（撮影姿勢）と、に基づいて、複数の立体チャート２の相対的位置関係を適切に求めることが可能である。また、上記のような可動式カメラ１１の画角内に少なくとも２つの立体チャート２が収まる撮影形態の場合には、複数の立体チャート２の配置が可動式カメラ１１の画角による制限を受けることになるが、可動式カメラ１１の撮影方向を変化させつつ、可動式カメラ１１によって複数の立体チャート２を撮影する撮影形態の場合には、複数の立体チャート２の配置が可動式カメラ１１の画角による制限を受けることがなく、立体チャート２の配置における自由度が増す。
【０１８０】
＜７．変形例＞
以上、この発明の実施の形態について説明したが、この発明は上記説明した内容のものに限定されるものではない。
【０１８１】
例えば、複数の立体チャート２のうちの可動式カメラ１１に最も近い位置にある近接立体チャートを求めるのは、被写体用カメラ１３で行ってもよいし、カメラシステム１０の外部にあるコンピュータ１５で行ってもよい。
【０１８２】
また、上記説明では、複数の立体チャート２の相対的位置関係を求める際に、可動式カメラ１１で複数の立体チャート２を撮影する形態について説明したが、被写体用カメラ１３で複数の立体チャート２を撮影するようにしても構わない。また、可動式カメラ１１と被写体用カメラ１３との双方のカメラが、互いに異なる立体チャート２を撮影し、それぞれに得られる画像から各立体チャートの相対的位置関係を求めるようにしても構わない。
【０１８３】
また、複数の立体チャート２の相対的位置関係を求めるために、ある立体チャート２に対して可動式カメラ１１を固定し、その可動式カメラ１１によって隣接する他の立体チャート２を撮影するようにしてもよい。この場合は、可動式カメラ１１を立体チャート２に固定したときの可動式カメラ１１の位置及び姿勢が所定の状態となるように取り付けられ、既知であることが必要である。
【０１８４】
また、上記説明では、各立体チャートを他の立体チャートと区別するために各立体チャートに異なる色のチャートパターンＣＰを形成する例について説明したが、例えばマーカ２０１の点灯パターンを各立体チャートごとに変更させたり、各立体チャートに異なる文字パターン等を形成して、それらを判別することによっても、各々の立体チャートを区別することが可能である。
【０１８５】
また、上記説明では、第１演算部１７１及び第２演算部１７２を備える演算部１７０が、被写体用カメラ１３に設けられる例について説明したが、これに限定されるものではなく、可動式カメラ１１に第１演算部１７１が配置されもよいし、演算部１７０の全部又は一部の機能がコンピュータ１５に設けられていてもよい。演算部１７０としての機能がコンピュータ１５に設けられる場合には、可動式カメラ１１で得られる情報及び被写体用カメラ１３で得られる情報の全ては、コンピュータ１５に与えられることになる。そして、演算部１７０の機能を実現する演算プログラムは、コンピュータ１５にインストールされて実行されることになる。
【０１８６】
さらに、上記説明においては、複数の立体チャート２が被写体３０の略上方に吊り下げられる例について説明したが、それに限定されるものでもない。図１４は複数の立体チャートの配置に関する変形例を示す図である。図１４に示すように、複数の立体チャート２（２ｃ〜２ｅ）は被写体３０の周囲床面に配置されていてもよい。この場合でも、上述した演算内容には何ら変更は生じない。
【０１８７】
【発明の効果】
以上説明したように、請求項１に記載の発明によれば、測定動作の際に、複数の姿勢検出用基準物体のうちの可動式カメラに最も近い位置にある近接基準物体を可動式カメラが撮影するように、可動式カメラの撮影姿勢を制御するように構成されるため、被写体を測定する際の可動範囲を広く確保しつつ、かつ、高い測定精度で被写体を測定することが可能になる。
【０１８８】
本願記載の発明によれば、可動式カメラに最も近い位置にある近接基準物体を正確に求めることが可能である。
【０１８９】
請求項２に記載の発明によれば、可動式カメラが近接基準物体を自動追尾するように、可動式カメラの撮影姿勢が制御されるため、可動式カメラが近接基準物体を的確に捉えることが可能である。
【０１９０】
請求項３に記載の発明によれば、可動式カメラでの撮影によって得られる画像に含まれるマーカの画像成分を、画像中の所定位置に導くようにして、可動式カメラの撮影姿勢が制御されるため、比較的簡単に、かつ正確に、可動式カメラが近接基準物体を自動追尾することになる。
【０１９１】
請求項４に記載の発明によれば、被写体を測定した際の測定データを正確に生成することが可能である。
【０１９２】
請求項５に記載の発明によれば、可動式カメラが近接基準物体を捉えるための制御動作を効率化することができる。
【０１９３】
請求項６に記載の発明によれば、被写体の２次元画像を撮影する被写体撮影用カメラをさらに備えるため、被写体を正確に測定することができる。
【０１９４】
請求項７に記載の発明によれば、被写体を測定する際の可動範囲を広く確保しつつ、かつ、高い測定精度で被写体を測定することが可能になる。
【０１９５】
請求項８に記載の発明によれば、可動式カメラによる近接基準物体の自動追尾が比較的簡単に、かつ正確になる。
【０１９６】
請求項９に記載の発明によれば、被写体を正確に測定することが可能である。
【図面の簡単な説明】
【図１】本発明にかかる三次元情報生成システムの一構成例を示す図である。
【図２】立体チャートの側面図である。
【図３】可動式カメラの正面図である。
【図４】可動式カメラの内部機能を示すブロック図である。
【図５】被写体撮影用カメラの内部構成を示すブロック図である。
【図６】三次元情報生成システムにおける座標変換の概念を示す図である。
【図７】チャート座標系を基準座標系に変換する座標変換の概念を示す図である。
【図８】三次元情報生成システムの全体的な動作プロセスを示すフローチャートである。
【図９】三次元情報生成システムの動作プロセスにおける一部の処理を示すフローチャートである。
【図１０】三次元情報生成システムの動作プロセスにおける一部の処理を示すフローチャートである。
【図１１】三次元情報生成システムの動作プロセスにおける一部の処理を示すフローチャートである。
【図１２】三次元情報生成システムの動作プロセスにおける一部の処理を示すフローチャートである。
【図１３】三次元情報生成システムの動作プロセスにおける一部の処理を示すフローチャートである。
【図１４】複数の立体チャートの配置に関する変形例を示す図である。
【符号の説明】
１  三次元情報生成システム
２（２ａ〜２ｅ）  立体チャート
１０  カメラシステム（三次元情報生成装置、測定装置）
１１  可動式カメラ
１３  被写体撮影用カメラ（被写体用カメラ）
１５  コンピュータ
３０  被写体
１１３  姿勢変化装置
１２３  カメラ制御部（制御手段）
１２３ａ  自動追尾制御部
１２７  立体チャート認識部
１６０  制御部
１７０  演算部
１７１  第１演算部（演算手段）
１７２  第２演算部（三次元情報生成手段）
Ｇ１  画角
Ｘｃ，Ｘｍ，Ｘｍｏ，Ｘｏ，Ｘｃｂ，Ｘｘａ  座標系
【図１】
0004892793.tif 000010
【図２】
0004892793.tif 000011
【図３】
0004892793.tif 000012
【図４】
0004892793.tif 000013
【図５】
0004892793.tif 000014
【図６】
0004892793.tif 000015
【図７】
0004892793.tif 000016
【図８】
0004892793.tif 000017
【図９】
0004892793.tif 000018
【図１０】
0004892793.tif 000019
【図１１】
0004892793.tif 000020
【図１２】
0004892793.tif 000021
【図１３】
0004892793.tif 000022
【図１４】
0004892793.tif 000023