(57)【特許請求の範囲】
【請求項１】
物体を測定する測定装置において、
３次元上の既知の形状を有する基準物体を撮影するための第１の撮影装置と、
前記第１の撮影装置で撮影された基準物体画像に基づいて前記測定装置の姿勢を算出する姿勢検出手段と、
前記第１の撮影装置で撮影された画像を表示する表示手段と、
物体の２次元画像を撮影する第２の撮影装置と、
を備え、
前記表示手段は、前記第１の撮影装置で撮影された画像と、前記第２の撮影装置で撮影された画像とを選択的に表示することを特徴とする測定装置。
【請求項２】
物体を測定する測定装置において、
３次元上の既知の形状を有する基準物体を撮影するための第１の撮影装置と、
前記第１の撮影装置で撮影された基準物体画像に基づいて前記測定装置の姿勢を算出する姿勢検出手段と、
前記第１の撮影装置により、前記基準物体が撮影可能な状態であるかどうかを検出する検出手段と、
前記検出手段による検出結果を告知する手段と、
を備えることを特徴とする測定装置。
【請求項３】
物体を測定する測定装置において、
３次元上の既知の形状を有する基準物体を撮影するための第１の撮影装置と、
前記第１の撮影装置で撮影された基準物体画像に基づいて前記測定装置の姿勢を算出する姿勢検出手段と、
前記第１の撮影装置により、前記基準物体が撮影可能な状態であるかどうかを検出する検出手段と、
前記検出手段により、前記基準物体の撮影が可能な状態でないことが検出されると、前記測定装置の測定動作を禁止する禁止手段と、
を備えることを特徴とする測定装置。
【請求項４】
請求項１乃至３のいずれかに記載の測定装置において、
前記第１の撮影装置は、撮影方向可変であることを特徴とする測定装置。
【請求項５】
請求項４に記載の測定装置において、
前記第１の撮影装置は、前記基準物体を自動追尾するように撮影方向を制御する制御手段を備えることを特徴とする測定装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、空間内に固定された立体チャートと可動式撮影装置の撮影位置との相対関係を特定するための技術に関する。
【０００２】
【従来の技術】
人物や物体の空間内における相対位置と相対姿勢を求める技術が、仮想現実（バーチャルリアリティ）の分野等において求められている。例えば、「L.Quan, Z.Lan, "Linear N-Point Camera Pose Determination", IEEE Trans.PAMI 21(8) 1999」、および「高橋、石井、牧野、中静、”人工現実感インターフェースのための単眼画像からのマーカの位置と姿勢の計測"、電子情報論文誌AJ79  1996」にそれらを求めるアルゴリズムが開示されている。これらの技術によれば、基準となる物体を撮影した場合、その撮影した画像を用いて撮影位置の空間に対する相対位置と相対姿勢を求めることができる。以下、ここで開示されているアルゴリズムを「多点解析アルゴリズム」と呼ぶことにする。
【０００３】
また、立体的な被写体を複数の方向から撮影し、それによって得られた複数の画像データを組み合わせることによって、当該被写体の３次元画像モデルを得るという技術が知られている。すなわち、複数の方向から被写体を撮影したそれぞれの画像ごとに、カメラの外部パラメータ（カメラの位置や姿勢等）と内部パラメータ（焦点距離等）のデータを得ることができれば、シェープ・フロム・シルエット法によって、被写体のシルエット画像から３次元のモデルを再構成することができる。このシェープ・フロム・シルエット法についての詳細は、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に開示されている。以下、カメラの外部パラメータと内部パラメータとを「（カメラの）校正パラメータ」と総称するが、この校正パラメータのうち内部パラメータが既知であって内部パラメータによるカメラの校正が完了している場合には、カメラの外部パラメータが求まれば、被写体の３次元画像モデルの構築が可能となる。
【０００４】
ところで、このように複数の方向から被写体を撮影するにあたっての１つの方法は、複数のカメラを異なる位置に固定配置して被写体を撮影する固定配置方式である。しかしながら、この固定配置方式では複数のカメラを撮影スタジオ内などに固定的に分散配置しておかねばならないために、撮影設備が大がかりになる。
【０００５】
そこで、ユーザが１台の手持ちカメラを持って被写体の周りを移動しつつ、複数の方向から被写体を順次に撮影することによって被写体の全周囲の画像を得る移動撮影方式が提案されている。
【０００６】
しかしながら、この移動撮影方式でカメラの外部パラメータを決定するには、それぞれの撮影に際してのカメラの位置および姿勢をそのつど特定することが必要となる。
【０００７】
このような目的でカメラの外部パラメータを測定する方式について不均一マトリクスパターンが描かれた単一の平面チャートを所定位置に配置し、それをカメラで観測することによってその平面チャートとカメラとの位置や姿勢関係を、「多点解析アルゴリズム」を用いて特定する方式が特開２０００−２７０３４３に開示されている。
【０００８】
これによれば、平面チャートに固定された座標系に対するカメラの位置および姿勢の相対的関係がわかるため、平面チャートと被写体との位置および姿勢関係を固定しておけば、複数の方向から被写体を撮影するたびごとに、平面チャート上のパターンをカメラで観測することにより、その時点でのカメラの位置および姿勢が絶対座標系で特定できることになる。
【０００９】
【発明が解決しようとする課題】
ところが、特開２０００−２７０３４３公報の技術では、撮影している時点では、取得された画像が演算処理を行うための精度を有しているか否かが不明であるため、そのままの状態で撮影を続けることの可否判断ができず、無駄な撮影が行われるという問題があった。
【００１０】
本発明は従来技術における上述の課題を解決するために成されたものであり、ユーザに負担をかけることなく、適切な画像データが得られないような無駄な撮影を防止することを目的としている。
【００１１】
【課題を解決するための手段】
請求項１に記載の発明は、物体を測定する測定装置において、３次元上の既知の形状を有する基準物体を撮影するための第１の撮影装置と、前記第１の撮影装置で撮影された基準物体画像に基づいて前記測定装置の姿勢を算出する姿勢検出手段と、前記第１の撮影装置で撮影された画像を表示する表示手段と、物体の２次元画像を撮影する第２の撮影装置と、を備えており、前記表示手段は、前記第１の撮影装置で撮影された画像と、前記第２の撮影装置で撮影された画像とを選択的に表示する。
【００１３】
請求項２に記載の発明は、物体を測定する測定装置において、３次元上の既知の形状を有する基準物体を撮影するための第１の撮影装置と、前記第１の撮影装置で撮影された基準物体画像に基づいて前記測定装置の姿勢を算出する姿勢検出手段と、前記第１の撮影装置により、前記基準物体が撮影可能な状態であるかどうかを検出する検出手段と、前記検出手段による検出結果を告知する手段と、を備えている。
【００１４】
請求項３に記載の発明は、物体を測定する測定装置において、３次元上の既知の形状を有する基準物体を撮影するための第１の撮影装置と、前記第１の撮影装置で撮影された基準物体画像に基づいて前記測定装置の姿勢を算出する姿勢検出手段と、前記第１の撮影装置により、前記基準物体が撮影可能な状態であるかどうかを検出する検出手段と、前記検出手段により、前記基準物体の撮影が可能な状態でないことが検出されると、前記測定装置の測定動作を禁止する禁止手段と、を備えている。
【００１５】
請求項４に記載の発明は、請求項１乃至３のいずれかに記載の測定装置において、前記第１の撮影装置は、撮影方向可変であることを特徴としている。
【００１６】
請求項５に記載の発明は、請求項４に記載の測定装置において、前記第１の撮影装置は、前記基準物体を自動追尾するように撮影方向を制御する制御手段を備えている。
【００１７】
【発明の実施の形態】
以下、本発明の好適な実施の形態について、添付の図面を参照しつつ、詳細に説明する。
【００１８】
＜１．  実施の形態＞
＜システム構成の概要＞
図１は、本発明の実施形態が適用された画像撮影システム１の構成を示す図であり、図２はこの画像撮影システム１のブロック図である。図１において、画像撮影システム１は、立体的な被写体３０の画像を撮像可能な可搬性のカメラシステム１０と、被写体３０を収容した空間内において、被写体３０の近傍に配置されたカメラ校正用の立体チャート２とを備えている。立体チャート２は、３次元上の既知の形状を有する基準物体であり、例えば後に詳述するように、略角錐状の本体の各側面にチャートパターンが施された立体物で形成される。この立体チャート２はチャート支持具２５０から吊り下げられている。チャート支持具２５０は台座２５１から伸びる逆Ｌ字状のアーム２５２を備え、立体チャート２はそのアーム２５２の先端付近に固定されている。好ましくは、立体チャート２は被写体３０の略上方に吊り下げられる。
【００１９】
カメラシステム１０は物体を測定する測定装置として機能するものであり、デジタルカメラとしての機能を有する被写体撮影用カメラ（以下、「被写体用カメラ」と略す）１３を備えている。この被写体用カメラ（第２の撮影装置）１３は、後述する各種演算機能をも有する。また、この被写体用カメラ１３の上部には、取付機構１２を介して可動式カメラ（第１の撮影装置）１１が姿勢変更自在に取り付けられている。可動式カメラ１１は、立体チャート２の上のパターン（図３参照）に含まれる複数の単位図形ＵＰを撮影することにより、立体チャート２と可動式カメラ１１との相対的な位置姿勢関係を特定し、さらには立体チャート２に対して相対的に固定された絶対座標系における、被写体用カメラ１３の位置および姿勢を検出するために使用される。
【００２０】
図１には示されていないが、図２にあるように、この画像撮影システム１は、例えば、ノートブック型の可搬性コンピュータ１５を備えていてもよい。コンピュータ１５は通信インターフェイス１５ａを介した無線通信によってカメラシステム１０との間でコマンドやデータの授受が可能である。
【００２１】
＜立体チャートの概要＞
図３は立体チャート２の側面図である。立体チャート２は、立体チャート本体２０３と、この立体チャート本体２０３の表面上に形成されたチャートパターンＣＰとを有している。
【００２２】
このうち立体チャート本体２０３は、多角錐形状の表示部２０４と、角錐台状の支持部２０５とが一体化されており、内部は中空となっている。チャートパターンＣＰは、表示部２０４の各側面Ｔ1〜Ｔn（ｎは３以上の整数）上に付されたパターンＰ1〜Ｐnの集合である。好ましくは、多角錐の側面の数ｎは、ｎ＝３〜３６であり、より好ましくはｎ＝６〜１２である。各側面Ｔ1〜Ｔnに形成されたそれぞれのパターンＰ1〜Ｐnは平面的パターンであるが、パターンＰ1〜Ｐnが立体的に配置されることにより、このパターンＰ1〜Ｐnの集合としてのチャートパターンＣＰは立体的パターンとなっている。それぞれのパターンＰ1〜Ｐnは、それぞれが単位図形として機能する複数の台形の集合であり、その詳細は後述する。
【００２３】
また、表示部２０４を構成する多角錐の頂点には、可動式カメラ１１がチャートパターンＣＰを追尾（トラッキング）する際に基準点とするマーカ２０１として、発光ダイオード（ＬＥＤ）が取り付けられており、これによって容易かつ正確に立体チャート２の位置が可動式カメラ１１で認識できるようになっている。図３では図示されていないが、立体チャート２の内部には、この発光ダイオードに発光電力を供給するためのマーカ用電源２０２（図２）が内蔵されている。
【００２４】
＜可動式カメラ１１の概要＞
図４は可動式カメラ１１の正面図であり、図５は可動式カメラ１１のブロック図である。図５に示すように、可動式カメラ１１では、レンズユニット１１０と、このレンズユニット１１０によって結像した２次元画像を光電変換する２次元受光素子１１１とが一体となって球状ユニット１１６に納められている。２次元受光素子１１１はＣＣＤアレイである。レンズユニット１１０は、固定レンズ１１０ａとズームレンズ１１０ｂとの組み合わせであり、それらの間に絞り／シャッタ機構部１１０ｅが存在する。
【００２５】
図４に示すように、球状ユニット１１６は姿勢装置１１３を介して固定部１１４に連結されており、球状ユニット１１６に内蔵された各要素とともに固定部１１４に対してパン方向の±約７０°の旋回（θ回転）と、チルト方向への±約７０°の俯仰（φ回転）とが可能になっている。そして、これらのパン方向の回転駆動とチルト方向の回転駆動とを行うために、複数のピエゾ素子を内蔵した姿勢装置１１３が球状ユニット１１６の基部に配置されている。また、ズームレンズ１１０ｂの駆動に相当するズーム操作も、上記とは別のピエゾ素子によって行われる。これらのピエゾ素子にノコギリ波信号を与えることにより、ピエゾ素子による駆動の対象要素が寸動し、その繰返しによって対象要素に所要の動きが与えられる。パン方向の旋回角とチルト方向の俯仰角とは、それぞれエンコーダなどの角度センサ１２６ｐ、１２６ｔによって検出され、ズームレンズ１１０ｂの駆動量はやはりエンコーダで構成されたセンサ１２６ｚによって検出される。これらの駆動機構については、たとえば特開平１１−１８０００や、特開平１１−４１５０４に開示されている。
【００２６】
制御演算部１２０は、２次元受光素子１１１からの信号を入力して画像認識などの処理を行う画像処理部１２１と、この画像処理部１２１で得られた画像信号を記憶する画像メモリ１２２とを備えている。また、ズームレンズ１１０ｂ、姿勢装置１１３、および絞り／シャッタ機構部１１０ｅの駆動信号を発生して、これらに出力するカメラ制御部１２３が設けられており、画像処理部１２１およびカメラ制御部１２３は、通信部１２４および通信デバイス１１２を介して、被写体用カメラ１３と無線通信が可能である。この通信により画像データが被写体用カメラ１３に送信されるほか、各種情報が可動式カメラ１１と被写体用カメラ１３との間で送受信される。この実施形態の可動式カメラ１１では、通信デバイス１１２として、赤外線通信を行うためのＩＲＤＡ（Infrared Data Association）インターフェイスに対応した赤外線素子が使用されている。
【００２７】
図４に示すように、固定部１１４に設けられた第１取付溝１１５ａおよび第２取付溝１１５ｂは、被写体用カメラ１３に固定部１１４を取り付けるために用いられる。さらに、追尾ボタン１１７は、可動式カメラ１１に立体チャート２を自動的に追尾させるモード（以下、「自動追尾モード」と略す）と被写体用カメラ１３からのユーザの指示により追尾させるモード（以下、「手動モード」と略す）とを切り換えるためのボタンである。
【００２８】
図６はハードウエア構成から見た可動式カメラ１１の情報処理機能の要部を示す図であり、図７は可動式カメラ１１におけるデータの流れを示す図である。図６において、可動式カメラ１１の制御演算部１２０はＣＰＵ１３０、ＲＯＭ１３１およびＲＡＭ１３２を備えており、後記の各種の動作を実現するプログラム１３１ａはＲＯＭ１３１に記憶されている。
【００２９】
２次元受光素子１１１は、画素ごとにＲＧＢのいずれかのフィルタが付設されており、２次元受光素子１１１上に結像した光は、この２次元受光素子１１１によってＲＧＢ３原色成分ごとに光電変換される。これによって得られた信号がＡ／Ｄ変換部１４１によってデジタル画像信号に変換され、画像補正部１４２においてホワイトバランス補正やγ補正等を受ける。補正後の画像信号は画像メモリ１２２に保存される。図７における第１画像データＤ１は、この補正後の画像信号に相当する。
【００３０】
図７の認識部１４５、姿勢制御部１４６は、ＣＰＵ１３０、ＲＯＭ１３１、ＲＡＭ１３２などの機能の一部として実現される。
【００３１】
認識部１４５は、追尾ボタン１１７からのユーザの指示に応答して能動化され、可動式カメラ１１が取得した第１画像データＤ１の中から、立体チャート２の画像を認識し、第１画像データＤ１における立体チャート２の画像を追尾するための、追尾データＤＦを作成する。
【００３２】
姿勢制御部１４６は、手動モードにおいて被写体用カメラ１３から受信したユーザの指示に基づき、姿勢装置１１３を制御する。追尾ボタン１１７が押下され、自動追尾モードに変更された後においては、後述の処理によって、立体チャート２の像が２次元受光素子１１１上に常に結像されるように、姿勢装置１１３は制御される。
【００３３】
ＣＰＵ１３０はさらに、後述する処理によって図７の回転角データＤＲを作成する機能をも有する。
【００３４】
また、被写体用カメラ１３のシャッタボタンが押下されると、第１画像データＤ１と回転角データＤＲとは、通信部１２４を介して被写体用カメラ１３に送信され、各種演算に用いられる。すなわち、可動式カメラ１１は、被写体用カメラ１３のシャッタボタンに連動して第１画像データＤ１の取得を行うことができるよう制御されている。
【００３５】
＜被写体用カメラ１３の概要＞
図８は、ハードウエア構成から見た、被写体用カメラ１３の情報処理機能の要部を示す図であり、図９は、被写体用カメラ１３におけるデータの流れを示す図である。被写体用カメラ１３はＣＰＵ１５０、ＲＡＭ１５１およびＲＯＭ１５２を備えており、後述する被写体用カメラ１３の各種の動作を実現するプログラム１５２ａは、ＲＯＭ１５２に記憶されている。また、シャッタボタン１６１、フラッシュ１６２、背面に設置されたモニタ用カラーディスプレイ１６３、および操作ボタン類１６４などの要素も、ＣＰＵ１５０と電気的に結合している。
【００３６】
図８および図９に示すように、レンズユニット１５５を介して被写体３０から入射した光は、画素ごとにＲＧＢのいずれかのフィルタが付設された、ＣＣＤアレイなどの２次元受光素子１５６上に結像し、２次元受光素子１５６によってＲＧＢ３原色成分ごとに光電変換される。これによって得られた信号が、Ａ／Ｄ変換部１５７によってデジタル画像信号に変換され、画像補正部１５８においてホワイトバランス補正やγ補正等を受ける。補正後の画像信号は画像メモリ１５９に記憶される。シャッタボタン１６１が押下されることにより撮影は実行され、画像メモリ１５９に記憶された画像信号が、第２画像データＤ２としてＲＡＭ１５１に保存される。
【００３７】
通信部１６７は、通信デバイス１６８を介して、可動式カメラ１１との間で、可動式カメラ１１の各部の制御信号や、取得した画像データ等の各種情報を送受信する。たとえば、手動モードにおいて、ユーザが操作ボタン類１６４の一部を操作することにより得られた信号を、可動式カメラ１１に送信することにより、可動式カメラ１１の姿勢装置１１３を、ユーザの手動によって操作することが可能となる。また、被写体用カメラ１３のシャッタボタン１６１の押下に応答して、被写体用カメラ１３と可動式カメラ１１の同時撮影を行うことも可能となる。
【００３８】
通信デバイス１６８は、可動式カメラ１１と赤外線通信を行うためのＩＲＤＡ（Infrared Data Association）インターフェイスとしての赤外線素子であり、通信部１６７によって駆動される。
【００３９】
カードスロット１６５は被写体用カメラ１３にメモリカード１６６を装着するために使用され、このメモリカード１６６には撮影した画像データ等を保存可能である。また、スピーカ１６９は、ユーザに対して警告のためのビープ音を鳴らす場合等の音源としての機能を有する。
【００４０】
図９の抽出部１７１、演算部１７３および表示制御部１７４は、図８のＣＰＵ１５０、ＲＡＭ１５１、ＲＯＭ１５２等により実現される機能である。
【００４１】
抽出部１７１は、通信部１６７を介して可動式カメラ１１から受信した第１画像データＤ１から、立体チャート２上の４点の抽出を行い、第１抽出点データＤＰ１を作成する。また、抽出部１７１は、同様に、被写体用カメラ１３により取得された第２画像データＤ２から立体チャート２上の４点の抽出を行い、第２抽出点データＤＰ２を作成する。
【００４２】
演算部１７３は、第１抽出点データＤＰ１、回転角データＤＲ、および第２抽出点データＤＰ２から、可動式カメラ１１と被写体用カメラ１３との相対的な位置と姿勢を求め、相対位置データＤＰＳを生成する。さらに、第１抽出点データＤＰ１、回転角データＤＲ、および相対位置データＤＰＳから、被写体用カメラ１３と立体チャート２との相対的な位置と姿勢を求め、撮影データＤＭを作成する。撮影データＤＭは、ＲＡＭ１５１に保存される。
【００４３】
表示制御部１７４は、操作ボタン類１６４からのユーザの指示に基づいて、第２画像データＤ２と、撮影データＤＭとを、ＲＡＭ１５１から取得して、メモリカード１６６に保存する。また、表示制御部１７４は、可動式カメラ１１および被写体用カメラの画像に必要な処理を行って切替えながらディスプレイ１６３に表示させたり、メモリカード１６６に保存されている各種データをＲＡＭ１５１上に読み出したりする機能をも有する。
【００４４】
＜カメラ校正の原理＞
任意の方向から被写体用カメラ１３で被写体３０を撮影して画像を得たときには、その撮影を行った際の、立体チャート２またはそれに固定された絶対座標系に対する、被写体用カメラ１３の相対的な位置および姿勢を、外部パラメータとして特定しておく必要がある。それは、複数の方向からの撮影で得た各画像を組み合わせて被写体３０の３次元画像モデルを構築するあたっては、各画像の空間的相互関係が必要だからである。
【００４５】
しかしながら、実際に被写体３０を撮影するときには、被写体用カメラ１３の画角内に立体チャート２を入れることが困難な場合がある。そこで、
Ｘ0：立体チャート２に固定された座標系（絶対座標系）；
Ｘ1：可動式カメラ１１に固定された座標系（第１ローカル座標系）；
Ｘ2：被写体用カメラ１３に固定された座標系（第２ローカル座標系）；
τ01：第１ローカル座標系Ｘ1から絶対座標系Ｘ0への変換関係；
τ02：第２ローカル座標系Ｘ2から絶対座標系Ｘ0への変換関係；
τ12：第２ローカル座標系Ｘ2から第１ローカル座標系Ｘ1への変換関係；
とするときに成り立つ、次の関係を利用する。（τ01、τ02、τ12および後述のＱ0、Ｑ2は図示していない）
τ02    = τ01・τ12  ・・・  （数１）
変換関係τ01、τ12が既知であれば、変換関係τ02が求められる。変換関係τ02が求められれば、２次元画像を撮影した被写体用カメラ１３の第２ローカル座標系Ｘ2における位置・姿勢は、この変換関係τ02を作用させることにより、絶対座標系Ｘ0における位置・姿勢として求められる。絶対座標系における被写体用カメラ１３の位置・姿勢を表す行列をＱ0、第２ローカル座標系Ｘ2における被写体用カメラ１３の位置・姿勢を表す行列をＱ2とすると、
Ｑ0   = ｛τ01・τ12｝Ｑ2 = τ02・Ｑ2  ・・・  （数２）
のように求まることになる。
【００４６】
したがって、被写体３０に対して移動しつつ被写体用カメラ１３で被写体３０を撮影するつど、その撮影に対応する変換関係τ02を求めて、これを撮影画像に付随させれば、複数の方向で撮影した画像をＸ0で組み合わせて被写体３０の３次元画像モデルを得ることができる。
【００４７】
この原理を実現する具体的プロセス（詳細は後述）は、第１サブプロセスと第２サブプロセスとに大別される。
【００４８】
※第１サブプロセス：
これは、２つのカメラ座標系間の変換関係τ12を特定するための、サブプロセスである。
【００４９】
まず、立体チャート２を可動式カメラ１１と被写体用カメラ１３とで同時に撮影し、それらの撮影結果を用いて、それぞれのカメラの外部パラメータ、すなわち絶対座標系Ｘ0でのそれぞれのカメラの位置および姿勢を求める。
【００５０】
これは、その状態での変換関係τ02、τ01を特定することに対応する。そして、数１から得られる、
τ12  = （τ01）-1  τ02    ・・・  （数３）
の関係から、第１ローカル座標系Ｘ1と第２ローカル座標系Ｘ2との変換関係τ12を得る。
【００５１】
また、可動式カメラ１１の回転角θ,φの値は、それぞれ角度センサ１２６ｐ、１２６ｔによって検出される既知の値であるから、変換関係τ12から回転角依存部分を分離して、可動式カメラ１１が基準姿勢（θ = ０、φ = ０）にあるときの基準変換関係τ12(0,0)を求めることができる。この基準変換関係τ12(0,0)は、カメラシステム１０を移動させたり、可動式カメラ１１を回転させても不変なオペレータである。基準変換関係τ12(0,0)が定まると、変換関係τ12は、回転角θ,φを変数として持つことになる。
【００５２】
このようにして得られた変換関係τ12は、絶対座標系Ｘ0におけるカメラシステム１０全体の位置や姿勢に依存しないので、カメラシステム１０を他の場所に移動させてもそこでの変換演算に利用できる。
【００５３】
※第２サブプロセス：
これは、第１サブプロセスの結果を使用しつつ、被写体３０を複数の方向から撮影して画像データを得るとともに、それらの画像データのそれぞれにつき、第２ローカル座標系Ｘ2から絶対座標系Ｘ0への変換関係τ02に相当する情報を付加していくサブプロセスである。
【００５４】
第２サブプロセスでは、被写体用カメラ１３で被写体３０を撮影すると同時に、可動式カメラ１１で立体チャート２を撮影する。可動式カメラ１１で撮影した立体チャート２の画像データから、第１ローカル座標系Ｘ1から絶対座標系Ｘ0への変換関係τ01が特定される。
【００５５】
一方、第１サブプロセスによって、第２ローカル座標系Ｘ2から第１ローカル座標系Ｘ1への変換関係τ12の回転角依存性は特定されているから、被写体３０を撮影するときの回転角θ,φの値から、変換関係τ12の具体的内容が特定される。したがって、変換関係τ12およびτ01を合成した変換関係τ02を、数４から得ることができる。
【００５６】
τ02   = τ01・τ12  ・・・  （数４）
そして、この変換関係τ02を表現する情報を、被写体用カメラ１３で得た画像に付随させて記憶する。
【００５７】
またこの第２サブプロセスは、複数の方向から被写体３０を撮影するつど実行され、それによって、３次元画像モデルを得るための一群の情報が得られることになる。
【００５８】
＜撮影および校正プロセス＞
図１０および図１１は、上記の原理にしたがった撮影および校正プロセスを示す図である。このうちステップＳ１からステップＳ８までは、可動式カメラ１１と被写体用カメラ１３とで立体チャート２を同時に撮影することによって、両者の相対位置・姿勢を求める、上記第１サブプロセスに対応する。また、ステップＳ１１以後が、実際に被写体３０の撮影を行う上記第２サブプロセスに対応する。
【００５９】
（１）  カメラ間の相対位置の決定（第１サブプロセス）：
まず、可動式カメラ１１と被写体用カメラ１３とのそれぞれが、自身で保持している内部パラメータの情報を読み出す（ステップＳ１）。なお、内部パラメータは受光素子の各画素の視線方向を特定するためのパラメータであり、レンズシステムの焦点距離、レンズ光軸と受光素子の位置関係、画素ピッチなどである。これらのパラメータは予め校正されている。
【００６０】
この後、自動追尾設定処理を行う（ステップＳ２）。図１２は、自動追尾設定処理の詳細を示した流れ図である。まず、可動式カメラ１１の動作モードを自動的に手動モードに切替え（ステップＳ３１）、カメラ制御部１２３が、可動式カメラ１１の第１画像データＤ１を被写体用カメラ１３のディスプレイ１６３に表示させる（ステップＳ３２）よう通信部１２４を介して被写体用カメラ１３に指示を与える。ユーザの手動操作により可動式カメラ１１を立体チャート２に向ける（ステップＳ３３）。
【００６１】
これにより、ユーザからの手動操作により可動式カメラ１１による立体チャート２の撮影を可能とすることができるとともに、手動モードになった場合に可動式カメラ１１の画像を表示するよう切替えることができ、自動追尾に失敗した場合等において、ユーザはディスプレイ１６３に表示される画像を見ながら、改めて立体チャート２を撮影できる状態に調整することができる。なお、ステップＳ３１の手動モードへの切替えは、ユーザが追尾ボタン１１７を押下することにより指示されてもよい。また、手動操作はユーザが被写体用カメラ１３の操作ボタン類１６４を操作することにより行われてもよい。その際には、ディスプレイ１６３には可動式カメラ１１の姿勢装置１１３の回転角を示すインディケータが表示される等してもよい。
【００６２】
立体チャート２を画角に捉えると、認識部１４５が第１画像データＤ１に画像認識を行い、マーカ２０１の位置を検出する（ステップＳ３４）。さらに、可動式カメラ１１が立体チャート２の撮影可能状態にあるか否かを判定し（ステップＳ３５）、撮影可能状態でないと判定された場合には、被写体用カメラ１３のスピーカ１６９に指示することによりビープ音を鳴らして警告を発し（ステップＳ３６）、ステップＳ３３からの処理を繰り返す。なお、撮影可能状態にあるとは、撮影した第１画像データＤ１から立体チャート２上の４点抽出（後述する）ができ、かつ検出したマーカ２０１の位置に基づいて生成される追尾データＤＦにより、可動式カメラ１１が立体チャート２の自動追尾が可能であることをいう。また、警告はビープ音に限られるものではない。例えば、被写体用カメラ１３のディスプレイ１６３に警告表示を行ってもよく、可動式カメラ１１が立体チャート２の撮影をすることができない状態になっていることをユーザが知りうる方法であればなんでもよい。
【００６３】
一方、撮影可能状態であると判定された場合は、認識部１４５は、被写体用カメラ１３のディスプレイに撮影可能状態にあることを表示させる（ステップＳ３７）よう通信部１２４を介して被写体用カメラ１３に指示を与え、ユーザが追尾ボタン１１７を押下することにより、可動式カメラ１１が自動追尾モードに切替えられる（ステップＳ３８）。
【００６４】
自動追尾モードに切替わると、まず、カメラ制御部１２３が被写体用カメラ１３の第２画像データＤ２をディスプレイ１６３に表示する（ステップＳ３９）よう通信部１２４を介して被写体用カメラ１３に指示を与え、さらに、被写体用カメラ１３による撮影を許可する（ステップＳ４０）指示を与える。なお、ステップＳ３８は、ステップＳ３５において撮影可能状態と判定されたことにより、自動的に行われてもよい。
【００６５】
図１３は、被写体用カメラ１３のディスプレイ１６３に撮影可能状態を表示する例を示した図である。ディスプレイ１６３には被写体用カメラ１３が取得した第２画像データＤ２に基づいて、画像３００が表示されている。それと同時に撮影可能状態を示すメッセージ３０１が表示され、ユーザは可動式カメラ１１が自動追尾状態にあり、立体チャート２の撮影可能状態にあることを把握することができる。
【００６６】
図１４は、可動式カメラ１１の自動追尾モードにおける動作の詳細を示す図である。可動式カメラ１１は、図１２に示す自動追尾設定処理が行われているとき以外は図１４に示す自動追尾モードの動作を繰り返すようにされている。
【００６７】
まず、画像補正部１４２から第１画像データＤ１が取得されると（ステップＳ４１）、認識部１４５は、画像認識によりマーカ２０１の位置を検出する（ステップＳ４２）。
【００６８】
次に、認識部１４５は、直前のマーカ２０１の位置と比較し、マーカ２０１が第１画像データＤ１の中央に撮影されるように、変動量と移動方向とを求めて追尾データＤＦを生成する（ステップＳ４３）。さらに、撮影可能状態であるか否かを判定し（ステップＳ４４）、撮影可能状態でない場合はビープ音を鳴らして警告を発し（ステップＳ４５）、被写体用カメラ１３の撮影を禁止し（ステップＳ４６）、自動追尾設定処理（ステップＳ４７）を行い、自動的に可動式カメラ１１を手動モードに切替える（図１２：ステップＳ３１）。
【００６９】
これにより、自動追尾モードにおいて、取得した第１画像データＤ１から後述の処理に必要な立体チャート２の４点抽出ができない場合や、自動追尾に失敗した場合には、認識部１４５により撮影不可能状態であることが検出され、ユーザに警告を発するとともに、被写体用カメラ１３による撮影を禁止して、自動追尾モードを手動モードに自動的に切替えることができ、画像撮影システム１の操作環境の向上を図ることができる。
【００７０】
一方、撮影可能状態である場合は、被写体用カメラ１３のディスプレイに撮影可能状態にあることを表示させる（ステップＳ４８）よう通信部１２４を介して被写体用カメラ１３に指示を与える。さらに、姿勢制御部１４６が追尾データＤＦに基づいて姿勢装置１１３を制御する（ステップＳ４９）。
【００７１】
これにより、可動式カメラ１１が立体チャート２の画像を第１画像データＤ１として取得することができる。また、可動式カメラ１１が移動した場合であっても可動式カメラ１１が立体チャート２を撮影可能となるように姿勢装置１１３を制御することができ、後述の処理に必要な立体チャート２が常に画角の中央に撮影されている第１画像データＤ１を、ユーザが意識することなく撮影することができる。その際には、立体チャート２が撮影可能状態であることを被写体用カメラ１３のディスプレイ１６３に表示することにより、ユーザにその旨を示すこともできる。
【００７２】
可動式カメラ１１が自動追尾モードになると、ユーザが被写体用カメラ１３を立体チャート２に向けてシャッタボタン１６１を押すことにより、可動式カメラ１１において第１画像データＤ１が、被写体用カメラ１３において第２画像データＤ２が得られる（ステップＳ３）。図１５に可動式カメラ１１と被写体用カメラ１３とで同時に得られた画像データの例を示す。このうち、図１５（ａ）が可動式カメラ１１の撮像画像例、図１５（ｂ）が被写体用カメラ１３の撮像画像例である。図１５（ａ）、（ｂ）のいずれにおいても、画像平面をｘｙ直交座標系で定義された平面とし、ｘｙ平面に垂直で、画像より手前に向かう方向をｚ軸としている。なお、第ｉ層という呼び方については、後述する図２１での定義に準じている。
【００７３】
撮影が完了すると、第１画像データＤ１および姿勢装置１１３の回転角データＤＲが、通信によって可動式カメラ１１から被写体用カメラ１３に送られ、図１５（ａ）、（ｂ）で共通の４つの格子点Ｃ１〜Ｃ４の２次元座標値をそれぞれの画像平面上で特定し（第１抽出点データＤＰ１および第２抽出点データＤＰ２を作成することに相当する。）、それらの２次元座標値を前述の多点アルゴリズムで処理することによって、第１画像データＤ１および立体チャート２を撮影した第２画像データＤ２に基づいて、可動式カメラ１１、および被写体用カメラ１３の撮影位置と立体チャート２との相対位置および相対姿勢に依存するそれぞれのカメラの外部パラメータを計算することができる。
【００７４】
この外部パラメータの算出は、
1)  カメラの内部パラメータ、および
2)  絶対座標系に固定された同一平面上にある４点以上の点の３次元座標値、
が既知であり、かつ、
3)  これらの点に対応する撮影画像上の点の２次元座標値が算出可能、
という条件の下で行うことができる。なお、可動式カメラ１１の外部パラメータを外部パラメータＰＭ１、立体チャート２を撮影したときの被写体用カメラ１３の外部パラメータを外部パラメータＰＭ２とする。
【００７５】
外部パラメータＰＭ２が算出できない場合（ステップＳ４においてＮｏ）は、被写体用カメラ１３による立体チャート２の再撮影の要求をディスプレイ１６３に表示し（ステップＳ５）、ステップＳ３を繰り返す。また、外部パラメータＰＭ１が算出できない場合は、被写体用カメラ１３の撮影を禁止して（ステップＳ７）、自動追尾設定処理（ステップＳ２）をやり直す。
【００７６】
次に、ステップＳ４およびステップＳ６で得られた被写体用カメラ１３および可動式カメラ１１のそれぞれの外部パラメータと、可動式カメラ１１の回転角データＤＲとから、可動式カメラ１１と被写体用カメラ１３との相対位置・姿勢（相対位置データＤＰＳ）が求められる（ステップＳ８）。
【００７７】
ステップＳ８において用いられる座標変換の様子を図１６に示す。図１６における各座標系などの定義は以下の通りである。
【００７８】
X0  …立体チャート２に対して相対的に固定された３次元直交座標系（絶対座標系）；
θ  …可動式カメラ１１の旋回角；
φ  …可動式カメラ１１の俯仰角；
X1(θ,φ)  …可動式カメラ１１からの観測空間に相当する３次元直交座標系（第１ローカル座標系）；
X1h  …角度θ,φの双方がゼロの場合の第１ローカル座標系；
X2  …被写体用カメラ１３からの観測空間に相当する３次元直交座標系（第２ローカル座標系）。
【００７９】
ステップＳ４およびＳ６によって被写体用カメラ１３および可動式カメラ１１のそれぞれの外部パラメータが得られるため、絶対座標系X0における第１ローカル座標系X1(θ,φ)の位置および姿勢が決定され、したがって第１ローカル座標系X1(θ,φ)から絶対座標系X0 への座標変換が、回転行列RC1、および平行移動ベクトルTC1を用いて、
X0 = RC1X1（θ、φ）+TC1  ・・・  （数５）
のように定まる。同様に、第２ローカル座標系X2から絶対座標系X0への座標変換が、回転行列RC2、および平行移動ベクトルTC2を用いて、
X0 = RC2X2+TC2  ・・・  （数６）
のように定まる。これら数５、数６がそれぞれ、既述した変換関係τ01、τ02 に相当する。
【００８０】
回転角θ,φがゼロでないことによる回転変換は、可動式カメラ１１の姿勢装置１１３が有する回転機構の設計データから、回転行列RX(θ,φ）および平行移動ベクトルTX(θ,φ）を用いて、
X1 = RX(θ,φ）X1h+TX(θ,φ）  ・・・  （数７）
の形式で得られる。第２ローカル座標系X2から、回転角θ,φがともにゼロのときの第１ローカル座標系X1hへの座標変換が、回転行列Rhおよび平行移動ベクトルThを用いて、
X1h  = RhX2+Th  ・・・  （数８）
と表されるとすると、数８が、変換関係τ12(0,0)に相当する。また、数８を数７に代入すると、
X1 = Rm(θ,φ）X2+Tm(θ,φ）  ・・・  （数９）
が得られる。ただし、
Rm(θ,φ） = RX(θ,φ）Rh  ・・・  （数１０）
Tm(θ,φ） = RX(θ,φ）Th  +TX(θ,φ）  ・・・  （数１１）
である。数９ないし数１１が、変換関係τ12に相当する。
【００８１】
したがって、立体チャート２上を可動式カメラ１１と被写体用カメラ１３とで同時に撮影したそれぞれの画像から、第１抽出点データＤＰ１と第２抽出点データＤＰ２とを求め、さらにそれぞれのカメラの外部パラメータを求めれば、既述した変換関係τ12 に相当するものとしての数９ないし数１１の変換式が特定される。これが図８の相対位置データＤＰＳである。また、角度θ、φの具体的な値は角度センサ１２６ｐ、１２６ｔによって回転角データＤＲとして検出される。
【００８２】
（２）  被写体の撮影とカメラの校正（第２サブプロセス）：
ステップＳ８が終了すると、被写体３０の撮影を行うため、カメラシステム１０を適宜移動させつつ被写体３０に向ける（ステップＳ１１）。このとき、可動式カメラ１１は、自動追尾により常に立体チャート２を画角に捉えている（図１４）。
【００８３】
被写体用カメラ１３によって被写体３０が、可動式カメラ１１によって立体チャート２がそれぞれ撮影可能な状態になったところで、被写体用カメラ１３のシャッタボタン１６１を押下すると、それぞれのカメラで同時に撮影が行われる（ステップＳ１２）。図１７に、可動式カメラ１１および被写体用カメラ１３で得られた画像例を示す。図１７（ａ）が可動式カメラ１１の撮像で得られる画像例であり、図１７（ｂ）が被写体用カメラ１３の撮像画像例である（楕円によって被写体３０の画像を単純化してある）。座標軸の取り方については図１５と同様である。図１７（ａ）の状態では、立体チャート２から可動式カメラ１１までの距離や方向が図１５（ａ）とは異なっているため、可動式カメラ１１は立体チャート２のうち図１５（ａ）とは異なる部分を撮影している。しかしながら、可動式カメラ１１がマーカ２０１を自動追尾していることによって、マーカ２０１は常に可動式カメラ１１の画角内の同一位置に写っている。
【００８４】
このとき、可動式カメラ１１で得られた画像から、ステップＳ６と同様に、可動式カメラ１１の絶対座標系X0における位置および姿勢（外部パラメータＰＭ１）が求められる（ステップＳ１３）。
【００８５】
外部パラメータＰＭ１が算出できない場合（ステップＳ１３においてＮｏ）は、ビープ音による警告を発し（ステップＳ１４）、被写体用カメラ１３の撮影を禁止し（ステップＳ１５）、自動追尾設定処理（図１２）を再度行う（ステップＳ１６）。
【００８６】
これにより、第１画像データＤ１に基づいて可動式カメラ１１の撮影位置と立体チャート２との相対位置および相対姿勢に依存する可動式カメラ１１の校正用の外部パラメータＰＭ１を計算することができない場合に、被写体用カメラ１３の撮影を禁止することができ、外部パラメータＰＭ１が算出不能であるために後述の処理ができない場合に、不要となる被写体３０の撮影を行わないようにすることができる。
【００８７】
この可動式カメラ１１の外部パラメータＰＭ１と、ステップＳ８で求めた相対位置データＤＰＳ、およびステップＳ５１における可動式カメラ１１回転角θ、φのそれぞれの値θ'、φ'から、被写体用カメラ１３の、立体チャート２に対する相対位置・姿勢（すなわち被写体用カメラ１３の外部パラメータ）が求められる（ステップＳ１７）。
【００８８】
上記のステップＳ１７において用いられる座標変換の様子を、図１８に示す。図１８において、座標系X0、X1(θ,φ)、X2などの記号の定義は、図１６と共通である。被写体撮影時の、可動式カメラ１１のカメラ回転角をθ’、φ’とする。
【００８９】
可動式カメラ１１によって得られる立体チャート２の画像を、多点解析アルゴリズムで解析することにより、絶対座標系X0における可動式カメラ１１の位置と姿勢（すなわち可動式カメラ１１の外部パラメータＰＭ１）が特定され、それによって可動式カメラ１１の第１ローカル座標系X1(θ’,φ’)との変換関係：
X0 = RCP1X1(θ',φ')+TCP1  ・・・  （数１２）
が定まる。
【００９０】
また、第１ローカル座標系X1(θ’,φ’)と第２ローカル座標系X2との変換関係は、数９ないし数１１によって、
X1(θ',φ'） = Rm(θ',φ'）X2+Tm(θ',φ'）  ・・・  （数１３）
Rm(θ',φ'） = RX(θ',φ'）Rh  ・・・  （数１４）
Tm(θ',φ'） = RX(θ',φ'）Th  +TX(θ',φ'）  ・・・  （数１５）
で与えられる。
【００９１】
よって、数１２ないし数１５により、第２ローカル座標系X2で表現された位置および姿勢から、絶対座標系X0での位置および姿勢に変換する変換関係が、
X0 = RCP1 Rm(θ',φ'）X2+RCP1Tm(θ',φ'）+TCP1  ・・・  （数１６）
のように得られる。
【００９２】
数１６に現れている諸量のうち、回転行列RCP1および平行移動ベクトルTCP1は可動式カメラ１１についてのものであって、可動式カメラ１１の外部パラメータＰＭ１から決定される。また、回転行列Rm(θ',φ'）および平行移動ベクトルTm(θ',φ'）は、あらかじめ特定しておいた関数形Rm(θ,φ）、Tm(θ,φ）に、角度センサ１２６ｐ、１２６ｔによって検出された角度値θ',φ'を代入して決定される。
【００９３】
したがって、数１６を、
X0 = RCP2X2+TCP2  ・・・  （数１７）
RCP2 = RCP1 Rm(θ',φ'）  ・・・  （数１８）
TCP2 = RCP1Tm(θ',φ'）+TCP1  ・・・  （数１９）
の形に変形すると、回転行列RCP2および平行移動ベクトルTCP2は、被写体用カメラ１３の外部パラメータ（以下、「撮影データＤＭ」と称する。）を表現した内容となっている。
【００９４】
これにより、被写体用カメラ１３の撮影位置と立体チャート２との相対位置および相対姿勢に依存する被写体用カメラ１３の校正用の撮影データＤＭを計算することができ、前述のシェープ・フロム・シルエット法によって被写体３０の３次元画像モデルを構築することができる。この３次元画像モデルの構築は、コンピュータ１５で行ってもよく、他の演算システムで行ってもよい。
【００９５】
撮影データＤＭを生成することができない場合（ステップＳ１８においてＮｏ）は、被写体用カメラ１３による再撮影を要求する表示をディスプレイ１６３に表示し（ステップＳ１９）、ステップＳ１２からの処理を繰り返す。
【００９６】
これにより、撮影データＤＭの計算ができなかった場合に、ユーザに再撮影を要求することができ、必要なデータが得られなかったことをユーザが知得することにより、再度その位置からの撮影を行う等、効率的なデータ収集が可能となる。
【００９７】
撮影データＤＭが求まると、被写体３０の画像データＤ２とともに、撮影時の被写体用カメラ１３の撮影データＤＭが、ＲＡＭ１５１、あるいはメモリカード１６６に記録される（ステップＳ２０）。
【００９８】
その後、次の撮影を行うか否かの判定を行い（ステップＳ２１）、必要な数の第２画像データＤ２、およびそれぞれについての撮影データＤＭが得られると、この第２サブプロセスは完了する。
【００９９】
＜複比のコーディングによるチャートの識別＞
ここからは、立体チャート２の側面のコーディングの方法について説明する。図３に示すように、立体チャート本体２０３の表示部２０４は正多角錐であり、その各側面Ｔ1〜Ｔnは同一の二等辺三角形状をしている。その表面には、当該側面を構成する三角形の底面方向ＤＲ１（図１９参照）に平行な複数の直線Ｌ１と、立体チャート２の頂点に相当する頂点x0を通る放射線状の複数の直線Ｌ２とが描画されている。これらの直線の交差によって作られる台形形状の単位図形ＵＰ（以下これを「単位台形」という）は、画像処理の際に直線の抽出が容易になるよう、交互に異なる明度の色で塗り分けられて高コントラストパターンとされている。典型的には第１の組の単位台形ＵＰ１が黒であり、第２の組の単位台形ＵＰ２が白である。
【０１００】
そして、これらの単位台形ＵＰのサイズが、複比によりコーディングされている。より具体的には、
1)  これらの単位台形ＵＰを成す直線群Ｌ１の相互間の間隔と、
2)  直線群Ｌ１と直線群Ｌ２との交点（格子点）の底面方向ＤＲ１における間隔と、
のそれぞれを、複比によりコーディングする。図２０にこの複比の概念を示すが、複比は任意の視点を通した空間射影によって変化しない値であり、３次元空間に存在する直線上の４点Ｐ1〜Ｐ4から求められる複比ＤＲ：
ＤＲ＝Ｖａ／Ｖｂ  ・・・  （数２０）
Ｖａ＝dis(Ｐ0Ｐ1)・dis(Ｐ2Ｐ3)  ・・・  （数２１）
Ｖｂ＝dis(Ｐ0Ｐ2)・dis(Ｐ1Ｐ3)  ・・・  （数２２）
ただし、記号dis(Ｐ0Ｐ1)は点Ｐ0と点Ｐ1との距離を示す：
は、その直線を視点Ｏを通して任意の平面上に射影したときに、それら４点Ｐ1〜Ｐ4に対応する４点Ｐ'1〜Ｐ'4から求まる複比ＤＲ'：
ＤＲ'＝Ｖａ'／Ｖｂ'  ・・・  （数２３）
Ｖａ’＝dis(Ｐ'0Ｐ'1)・dis(Ｐ'2Ｐ'3)  ・・・  （数２４）
Ｖｂ’＝dis(Ｐ'0Ｐ'2)・dis(Ｐ'1Ｐ'3)  ・・・  （数２５）
と等しいことが知られている。
【０１０１】
この性質を利用すると、図３および図１９に示したような単位台形ＵＰを成す直線群Ｌ１相互の間隔を、各単位台形ＵＰを形成する層ごとに複比でコーディングし、かつ底面方向ＤＲ１での格子点相互の間隔を、各側面Ｔ1〜Ｔnごとに異なる複比でコーディングしておくと、立体チャート２を可動式カメラ１１や被写体用カメラ１３で撮影した画像に含まれている各単位台形ＵＰが、立体チャート２の側面Ｔ1〜Ｔnのうちのどの側面に存在する、どの単位台形であるかを、一意的に識別できるようになる。以下にその一例を示す。
【０１０２】
図１９では、底面に垂直な方向（頂点方向ＤＲ２）に配列する直線Ｌ１の間隔が、複比によってコーディングされた例を示している。複数の単位台形のうち、互いに連続する３つの単位台形の高さの複比が、３つの単位台形の組ごとに異なるようにコーディングされている。
【０１０３】
すなわち、立体チャート２の頂点x0を端点として、底辺に平行な直線ｘ1、ｘ2…が定義されており、「第ｉ層」を、「直線ｘiと直線ｘ(i+1)との間の領域」として定義するとき、第ｉ層〜第(i+3)層（ｉ＝1,2,…）の、頂点方向ＤＲ２方向のそれぞれの位置の複比ＤＲiが、
ＤＲi＝Ｖａi／（Ｖｂi・Ｖｂ(i+1)）  ・・・  （数２６）
Ｖａi＝dis(xix(i+1))・dis(x(i+2)x(i+3))  ・・・  （数２７）
Ｖｂi＝dis(xix(i+1))＋dis(x(i+1)x(i+2))  ・・・  （数２８）
Ｖｂ（i+1）＝dis(x(i+1)x(i+2))＋dis(x(i+2)x(i+3)）  ・・・  （数２９）
ないしは、これを書き換えて、
ＤＲi＝Ｖａi／ＶBi  ・・・  （数３０）
Ｖａi＝dis(xix(i+1))・dis(x(i+2)x(i+3))  ・・・  （数３１）
ＶBi＝dis(xix(i+2))＋dis(x(i+1)x(i+3)）  ・・・  （数３２）
と定義され、それぞれの複比ＤＲiが図２１に示すような値とされている。それぞれの単位台形は、角錐体の底面に近いほどサイズ（幅および高さ）が増大している。
【０１０４】
また、この実施形態では、頂点方向ＤＲ２の直線ｘ1、ｘ2・・・の間隔の移動平均は、頂点からの距離に略比例するように決められている。すなわち、図２１から各層の位置は、「17.000、22.500、31.000…」であって、それらの差は
5.500（＝22.500−17.000）
8.500（＝31.000−22.500）
…
となっており、これら一連の差のうち連続した４つの移動平均は図２２のようになる。図２２からわかるように、各層の位置の差（層の厚さ）の移動平均は漸増しているが、「移動平均／（頂点からの層の）位置」すなわち比例係数に相当する値の変動は、約２０％以内である。したがって、移動平均は、頂点からの距離にほぼ比例している。
【０１０５】
一方、頂点を中心として放射状に伸びる直線ｙ1、ｙ2…と、上記直線ｘ1、ｘ2…の交点の、底面方向ＤＲ１についての間隔については、立体チャート２の各側面Ｔ1〜Ｔnが相互に識別できるように決定しておく。図２２に、立体チャート２が六角錐である場合の例を示す。図１９および図２２においてａ、ｂ、ｃ、ｄは底辺における直線ｙ1、ｙ2…間の間隔である。
【０１０６】
この例では、
ＤＲα＝（ａ・ｃ）／｛（ａ＋ｂ）・（ｂ＋ｃ）｝  ・・・  （数３３）
ＤＲβ＝（ｂ・ｄ）／｛（ｂ＋ｃ）・（ｃ＋ｄ）｝  ・・・  （数３４）
として定義される２種類の複比ＤＲα、複比ＤＲβのそれぞれが、
1)  それぞれの側面Ｔj（ｊ＝1〜6）の中では、直線ｘ1、x2…のいずれにおいても、直線ｙ1、ｙ2…とのそれぞれの交点の列について共通であり、かつ
2)  異なる側面の相互では互いに異なる、
ように、それらの値がコーディングされている。
【０１０７】
＜撮影箇所の同定＞
図２４は、可動式カメラ１１や被写体用カメラ１３による立体チャート２の撮影において、立体チャート２のどの部分が撮影されているのかを同定するプロセスを示すフローチャートである。図２５は、直線のグルーピングについての説明図である。
【０１０８】
※直線のグルーピング：
まず、撮像された画像の濃淡のエッジを抽出する（ステップＳ９１）。エッジを抽出する方法は、Sobelオペレータなど様々な手法が知られており、たとえば、長尾真著「画像認識論」コロナ社，1983に開示されたアルゴリズムを使用する。図２５（ａ）の画像について、エッジを抽出した例が図２５（ｂ）である。
【０１０９】
次に、抽出されたエッジから直線を抽出する（ステップＳ９２）。直線を抽出する方法は、HOUGH変換が一般的な手法として知られており、たとえば上記長尾真の文献に記載された方法を用いてエッジ画像から複数の直線を抽出し、撮像上の２次元平面における直線の式を決定できる。図２５の（ｂ）について、エッジを抽出した例が図２５（ｃ）である。
【０１１０】
抽出された複数の直線は、直線の性質ごとに以下のような複数のグループにグルーピングされる（ステップＳ９３）。
【０１１１】
・平行な直線群（以下これをαiとする。iは傾きが同じ直線群を表す）；
・αiに属する各々の直線の端点を通る直線（これをβとする）；
・αiに交差する直線群（以下これをγiとする。iは交差する直線群αiのiと対応している）。
【０１１２】
図２５（ｃ）の例では、各直線が、傾きの異なる２つの直線群α1、α2と、これらに対応する直線群γ1およびγ2、さらに交差直線βにグルーピングされることになる。
【０１１３】
さらに、交差直線βおよびγiは１点で交わっていることから、この交点が立体チャート２のマーカ２０１に相当する。これより、立体チャート２を成す錐の辺に相当する直線が直線β、底面に平行な直線が直線αi、錐の側面を通る直線が直線γiであると判断することができる。これにより、画像上の単位台形のそれぞれに関連する交点の複比を算出する。
【０１１４】
※撮影箇所の同定：
まず、撮影を行う前に、立体チャート２の各側面Ｔ1〜Ｔnにおける直線群について、絶対座標系X0で表した交点（格子点）の座標と、それらの交点の間隔から計算される複比のデータとを、ＲＡＭ１５１（図８）にあらかじめ記憶しておく。そして、可動式カメラ１１または被写体用カメラ１３によって立体チャート２を撮影した際に、それによって得られた画像から、頂点方向ＤＲ２に連続する３つの層、ないしは単位台形を特定して、それらの高さから複比を算出する。
【０１１５】
図２６に、立体チャート２の同じ側面を、異なる距離から撮影したときの画像例を示す。図２６（ａ）は遠距離から、図２６（ｂ）は近距離から撮影した例である。単位台形の頂点方向ＤＲ２の間隔は、頂点からの距離に略比例している。
【０１１６】
直線の間隔についての複比を計算するには、同一直線上で連続する４点が観測できればよい。すなわち、画角内にあり、かつ複比を精度よく計算するのに十分な間隔で連続する４つの直線が、それらと交差する他の１直線との関係で観測できればよいことになる。多数の直線が画像中に存在する場合は、たとえば次の直線と所定の閾値間隔以上の間隔を持ち、かつ頂点（マーカ２０１）の直上側において、頂点に最も近い位置で配列している４直線を選択する。そしてその４本の直線と、頂点方向ＤＲ２に沿って伸びる１つの直線との４交点を抽出し、それらの間隔の複比を計算する。この抽出において得られるデータのうち、可動式カメラ１１の撮影で得られるものが図８の第１抽出点データＤＰ１であり、被写体用カメラ１３の撮影で得られるものが第２抽出点データＤＰ２である。
【０１１７】
図２６（ａ）では、それぞれが底面方向ＤＲ１に伸び、かつ第７層から第９層のそれぞれの上下を規定する４直線ｘ7〜ｘ10を、また、図２６（ｂ）では第３層から第５層のそれぞれの上下を規定する４直線ｘ3〜ｘ6を、この４直線として選択できる。このようにして４直線を選択することにより、いずれの画像においても、十分に複比の算出が可能となる。複数の側面が撮影されていれば、たとえば最も画像中心に近い側面を選択する。
【０１１８】
また、立体チャート２が角錐形状であるため、種々の方向から立体チャート２の撮影を行っても、自動追尾によりマーカ２０１を検出していれば、少なくとも１つの側面を十分に観測することが可能である。
【０１１９】
このようにして選択された４直線で挟まれるエリアに存在する、複数の単位台形のうちの１つを、対象単位台形（対象単位図形）として選択する。対象単位台形は、たとえば上記の４直線の中の中間側の２直線で挟まれ、かつ画面の中央に最も近い単位台形を選択するというような選択規則によって選ぶことができる。図２６の例では、たとえば単位台形ＵＰA、ＵＰBを対象単位台形として選択することができる。
【０１２０】
そして、上記４直線につき、頂点方向ＤＲ２について画像上の間隔から複比を対象複比として求め、ＲＡＭ１５１にあらかじめ記憶しておいた各側面の直線間隔の複比の値（図２１）を、対象複比と比較して照合する。これにより、その４直線が、立体チャート２の何層目から何層目を規定する４直線であり、かつ対象単位台形が、立体チャート２のどの単位台形であるかを特定することができる（ステップＳ９４）。
【０１２１】
ところで、角錐体の底面に近いほど、単位台形の頂点方向のサイズを増大させていることによって、以下のような利点がある。
【０１２２】
まず、比較的近い距離から立体チャート２を撮影することによって、比較的少数の単位台形だけが画像内に存在する場合（図２６（ｂ））には、マーカ２０１に近い単位台形が比較的大きく撮影される。
【０１２３】
逆に、比較的遠い距離から立体チャート２を撮影することによって、各単位台形の撮影サイズが比較的小さくなる場合には、角錐の底面に近い、実サイズが大きな単位台形が画像内に存在するため（図２６（ａ））、それは画像上の観測サイズとしてあまり小さくならない。
【０１２４】
したがって、近距離からの撮影の場合と、遠距離からの撮影の場合との双方において、常に画像処理における精度を確保するために十分なサイズを持つ単位図形が画像に含まれていることになり、その結果、撮影距離にあまり依存せずに演算精度を高くできる。これが、角錐体の底面に近いほど、単位台形の頂点方向のサイズを増大させていることの利点である。
【０１２５】
対照単位台形が同定されたことによって、立体チャート２に対するカメラの相対位置・姿勢、すなわち絶対座標系X0における外部パラメータの算出が可能となる（ステップＳ９５）。以下にこれを説明する。
【０１２６】
まず、ＲＡＭ１５１には、図２３に示す角錐の側面Ｔ1〜Ｔnごとの距離ａ、ｂ、ｃ、ｄの複比と、角錐の各側面Ｔ1〜Ｔnが絶対座標系X0のどの方向に向いているかの情報とが、互いに関連づけられ、テーブルとしてあらかじめ記憶されている。したがって、上記４直線のうちの１つ（たとえば図２６（ａ）の例では、対象単位台形の辺のうち頂点に近い辺が属する直線ｘ7）上で底面方向ＤＲ１に連続する４交点の画像上の座標を特定し、それらの間隔の複比を計算して上記テーブルと照合することにより、対象単位台形が属する側面を、その時点でカメラにほぼ正対している観測側面として同定する。そして観測側面が側面Ｔ1〜Ｔnのうちのいずれかであるかによって、立体チャート２に対するカメラの相対姿勢を絶対座標系X0において知ることができる。
【０１２７】
立体チャート２に対するカメラの相対姿勢をさらに詳細に知るには、たとえば対象単位台形の４頂点の座標値から、その対象単位図形の外周を規定する４辺の長さの比を求める。この比は、絶対座標系における対象単位台形の法線方向からカメラの撮像軸線がどれだけ傾いているかによって変化する。したがって、この比から当該側面の法線方向からのカメラの撮像軸線の方向を特定できる。
【０１２８】
対象単位台形が特定され、立体チャート２に対するカメラの相対姿勢が求められると、あらかじめＲＡＭ１５１に記憶させておいた各単位台形の実サイズ情報のうち、その対象単位台形に対応する単位台形の実サイズ情報を読み出す。そしてその対象単位台形について、画像上のサイズとその実サイズとの比率ｒを求める。比率ｒは、立体チャート２とカメラとの距離Ｌ、および立体チャート２に対するカメラの相対姿勢の関数であるが、相対姿勢は上記のように求められることから、距離Ｌは結局、比率ｒの関数ｆ（ｒ）として表現できることになる。よって、この関数ｆ（ｒ）に相当する演算式または数値テーブルを記憶しておくことにより、比率ｒから距離Ｌが計算できる。距離Ｌと、立体チャート２に対するカメラの相対姿勢とから、立体チャート２に対するカメラの相対位置が求められる。
【０１２９】
以上のように、本実施形態に係る立体チャート２を被写体を撮影するカメラと別のカメラを用いて画角の中央に撮影することによって、カメラの位置および姿勢の校正のための校正パラメータのうち、外部パラメータを正確に取得することができる。また、取得した画像データから必要な演算ができない場合には、その都度、ユーザに知得されるよう警告等を行うとともに、表示の切替えや可動式カメラ１１のモードの切替えを自動的に行うことにより、必要な操作をするようユーザに促し、ユーザの負担の軽減および無駄な撮影の防止をすることができる。
【０１３０】
＜２．  変形例＞
以上、本発明の実施の形態について説明してきたが、本発明は上記実施の形態に限定されるものではなく様々な変形が可能である。
【０１３１】
例えば、１つの対象単位図形だけでなく、複数の対象単位図形を選択してそれぞれにつき外部パラメータを計算し、得られた複数の外部パラメータを平均化すれば外部パラメータの計算精度がさらに向上する。
【０１３２】
可動式カメラ１１において画像データの演算処理を行って外部パラメータを算出し、コンピュータ１５または被写体用カメラ１３と通信する構成をとってもよい。これらの装置間の情報伝達を、通信ケーブルを介して行う、あるいはメモリカードのような記憶媒体を介してデータの転送を行ってもよい。
【０１３３】
上記実施の形態では、可動式カメラ１１の外部パラメータの算出は、被写体用カメラ１３が撮影を行った際にのみ実行されているが、可動式カメラ１１がリアルタイムに捉えている立体チャート２の画像から、立体チャート２のどこを捉えているのかを逐次求めて、外部パラメータをリアルタイムで算出してもよい。この場合、画像上における立体チャート２の頂点の位置を、リアルタイムで把握することからマーカ２０１を省略できる。
【０１３４】
マーカ２０１に発光性を持たせず、蛍光塗料を塗布したものなどであってもよく、単なる頂点であっても追尾（トラッキング）に使用することができる。
【０１３５】
本実施の形態における可動式カメラ１１と被写体用カメラ１３とは、連結機構を介して間接的に連結してもよい。
【０１３６】
また、被写体用カメラ１３の外部パラメータＰＭ２が算出できなかった場合の再撮影の要求は、ディスプレイ１６３への表示に限られるものではなく、音声案内等によって行われてもよい。
【０１３７】
また、上記実施の形態に係る画像処理等をＣＰＵに実行させるプログラムは、必ずしもＲＯＭに予め書き込まれていなくてもよい。例えば、事前に読取装置等を介して記録媒体からプログラムが読み出され、記憶された後、実行されてもよい。
【０１３８】
また、上記実施の形態では一連の画像処理が全てＣＰＵによるソフトウェア的処理で実行されているが、それらの処理の一部または全部を専用の回路により実現することも可能である。
【０１３９】
また、上記の実施例では、チャートに描かれたパターン上の４点を検出することにより、カメラの姿勢を求めるようにしているが、これに限らず、以下のようにカメラ姿勢を検出するようにしてもよい。
【０１４０】
形状が既知である物体（例えば四角錐）を上記実施例のチャートの代わりに配置しておく。カメラには、カメラ座標系にその形状のモデルデータを有し、撮影された画像と撮像面に等価な面に投影したモデル画像とが一致するときのモデルの姿勢を求めることによりカメラ姿勢を検出する。
【０１４１】
また、上記説明においては、２次元画像を撮影する場合の構成について説明したが、それに限定するものでもなく、その他の測定装置（例えば、３次元測定装置）等にも上記の技術を適用することは可能である。
【０１４２】
【発明の効果】
請求項１、４及び５に記載の発明では、操作のために必要な画像を表示することができ、ユーザの操作性を向上することができる。
【０１４３】
請求項１、４及び５に記載の発明では、表示手段が、第１の撮影装置で撮影された画像と、第２の撮影装置で撮影された画像とを選択的に表示するため、ユーザの操作性がより向上する。
【０１４４】
請求項２、４及び５に記載の発明では、第１の撮影装置により、基準物体が撮影可能な状態であるかどうかを検出して、その検出結果を告知するように構成されるため、ユーザに必要な操作を知らせることができ、無駄な撮影が続けられることを防止することができる。
【０１４５】
請求項３、４及び５に記載の発明では、第１の撮影装置による基準物体の撮影が可能な状態でないことが検出されると、測定装置の測定動作を禁止するように構成されるため、測定動作が禁止されている間、ユーザに無駄な撮影を行わないようにすることができる。
【図面の簡単な説明】
【図１】本実施の形態に係る校正用チャートを用いた画像撮影システムの構成例を示す図である。
【図２】図１の画像撮影システムのブロック図である。
【図３】本実施の形態に係る校正用立体チャートの側面の例を示す図である。
【図４】チャート撮影用可動式カメラの正面図である。
【図５】チャート撮影用可動式カメラのブロック図である。
【図６】チャート撮影用可動式カメラの情報処理機能の要部を示す図である。
【図７】チャート撮影用可動式カメラのデータの流れを示す図である。
【図８】被写体撮影用デジタルカメラの情報処理機能の要部を示す図である。
【図９】被写体撮影用カメラのデータの流れを示す図である。
【図１０】本実施の形態に係るカメラ校正用チャートを用いた撮影および校正の手順のうち、第１サブプロセスに相当する手順を示す図である。
【図１１】本実施の形態に係るカメラ校正用チャートを用いた撮影および校正の手順のうち、第２サブプロセスに相当する手順を示す図である。
【図１２】自動追尾設定処理の動作を示す流れ図である。
【図１３】被写体用カメラに表示される撮影可能状態の例を示した図である。
【図１４】可動式カメラにおける自動追尾モードの動作を示す流れ図である。
【図１５】チャート撮影用可動式カメラと被写体撮影デジタル用カメラが、同時に本発明に係るカメラ校正用チャートを撮影したときの、各々の撮像例を示す図である。
【図１６】チャート撮影用可動式カメラに対する、被写体撮影用デジタルカメラの相対位置・姿勢を算出する際に用いる、座標変換の様子を示す図である。
【図１７】被写体撮影用デジタルカメラが被写体を撮影するときの、チャート撮影用可動式カメラと被写体撮影用デジタルカメラの撮像例を示す図である。
【図１８】チャート撮影用可動式カメラに対する、被写体撮影用デジタルカメラの相対位置・姿勢を算出する際に用いる、座標変換の様子を示す図である。
【図１９】本実施の形態に係る立体チャートの側面において、単位台形のサイズが、複比によってコーディングされた例を示す図である。
【図２０】複比が射影により変化しないことを説明する図である。
【図２１】コーディングに用いられる複比の例を示す図である。
【図２２】図２１から得られる直線の間隔の移動平均が、頂点からの距離にほぼ比例していることを示す図である。
【図２３】本実施の形態に係る立体チャートを六角錐とした場合に、各面に用いられるコーディングの例を示す図である。
【図２４】本実施の形態に係る立体チャートを撮影した画像から、立体チャート上の撮影箇所を同定する手順を示す図である。
【図２５】本実施の形態に係る立体チャートの撮像における、直線の抽出の例を示す図である。
【図２６】本実施の形態に係る立体チャートの同じ側面を、異なる距離から撮影したときの撮像の例を示す図である。
【符号の説明】
１  画像撮影システム
１０  カメラシステム（測定装置）
１１  可動式カメラ（第１の撮影装置）
１１０  レンズユニット
１１０ａ  固定レンズ
１１０ｂ  ズームレンズ
１１０ｅ  絞り／シャッタ機構部
１１１  ２次元受光素子
１１２  通信デバイス
１１３  姿勢装置
１１４  固定部
１１５ａ  第１取付溝
１１５ｂ  第２取付溝
１１６  球状ユニット
１１７  追尾ボタン
１２  取付機構
１２６ｐ，１２６ｔ  角度センサ
１２６ｚ  センサ
１３  被写体撮影用カメラ（第２の撮影装置）
１５  コンピュータ
１５５  レンズユニット
１５６  ２次元受光素子
２  立体チャート
２０１  マーカ
２０２  マーカ用電源
２０３  立体チャート本体
２０４  表示部
２０５  支持部
２５０  チャート支持具
２５１  台座
２５２  アーム
３０  被写体
３００  画像
３０１  メッセージ
【図１】
0004665350.tif 000002
【図２】
0004665350.tif 000003
【図３】
0004665350.tif 000004
【図４】
0004665350.tif 000005
【図５】
0004665350.tif 000006
【図６】
0004665350.tif 000007
【図７】
0004665350.tif 000008
【図８】
0004665350.tif 000009
【図９】
0004665350.tif 000010
【図１０】
0004665350.tif 000011
【図１１】
0004665350.tif 000012
【図１２】
0004665350.tif 000013
【図１３】
0004665350.tif 000014
【図１４】
0004665350.tif 000015
【図１５】
0004665350.tif 000016
【図１６】
0004665350.tif 000017
【図１７】
0004665350.tif 000018
【図１８】
0004665350.tif 000019
【図１９】
0004665350.tif 000020
【図２０】
0004665350.tif 000021
【図２１】
0004665350.tif 000022
【図２２】
0004665350.tif 000023
【図２３】
0004665350.tif 000024
【図２４】
0004665350.tif 000025
【図２５】
0004665350.tif 000026
【図２６】
0004665350.tif 000027