(57)【特許請求の範囲】
【請求項１】
立体形状である被写体をその周囲に配置した複数のカメラで撮影した複数のカメラ画像に基づいて、前記被写体の三次元形状データを生成する三次元モデリング装置であって、
前記複数のカメラ画像から、前記被写体に外接するその被写体の概形形状を計測する概形形状計測手段と、
この概形形状計測手段によって計測された前記概形形状の近傍を探索範囲として、前記複数のカメラの中で、順次基準となる基準カメラを切り換えて撮影した基準カメラ画像と、前記基準カメラの左右に隣接する隣接カメラで撮影した隣接カメラ画像とにおいて、前記基準カメラと前記左右の隣接カメラとの間隔に基づいて求められる前記被写体までの距離と前記概形形状の表面までの距離との誤差と、ブロックマッチングの誤差とを重み付け加算した量が最小となるブロックを探索することで、前記基準カメラ画像内の被写体画像に対応する対応点を探索する対応点探索手段と、
前記複数のカメラから、前記対応点探索手段によって探索された前記被写体の対応点までの距離に基づいて、前記被写体の三次元形状データを生成する三次元形状データ生成手段と、
を備えていることを特徴とする三次元モデリング装置。
【請求項２】
前記概形形状計測手段は、前記カメラの光学主点位置を頂点とし、その光学主点位置から前記カメラ画像内の被写体形状を仮想的に前記被写体方向に逆投影し、断面が前記被写体形状となる錐体領域が、前記複数のカメラ画像分重なりあった重複領域を前記被写体の概形形状とすることを特徴とする請求項１に記載の三次元モデリング装置。
【請求項３】
前記三次元形状データ生成手段は、前記カメラと前記被写体の被写体表面の各対応点との距離を、前記被写体が存在する仮想的な三次元空間座標に対応付けることで、前記被写体の内部に位置する三次元空間座標単位格子点を判定し、その内部に位置する単位格子点の集合を前記被写体の三次元形状データとすることを特徴とする請求項１又は請求項２に記載の三次元モデリング装置。
【請求項４】
立体形状である被写体をその周囲に配置した複数のカメラで撮影した複数のカメラ画像に基づいて、前記被写体の三次元形状データを生成する三次元モデリング方法であって、
前記複数のカメラ画像から、前記被写体に外接するその被写体の概形形状を計測する概形形状計測ステップと、
この概形形状計測ステップによって計測された前記概形形状の近傍を探索範囲として、前記複数のカメラの中で、順次基準となる基準カメラを切り換えて撮影した基準カメラ画像と、前記基準カメラの左右に隣接する隣接カメラで撮影した隣接カメラ画像とにおいて、前記基準カメラと前記左右の隣接カメラとの間隔に基づいて求められる前記被写体までの距離と前記概形形状の表面までの距離との誤差と、ブロックマッチングの誤差とを重み付け加算した量が最小となるブロックを探索することで、前記基準カメラ画像内の被写体画像に対応する対応点を探索する対応点探索ステップと、
前記複数のカメラから、前記対応点探索ステップによって探索された前記被写体の対応点までの距離に基づいて、前記被写体の三次元形状データを生成する三次元形状データ生成ステップと、
を含むことを特徴とする三次元モデリング方法。
【請求項５】
立体形状である被写体をその周囲に配置した複数のカメラで撮影した複数のカメラ画像に基づいて、前記被写体の三次元形状データを生成するために、コンピュータを、
前記複数のカメラ画像から、前記被写体に外接するその被写体の概形形状を計測する概形形状計測手段、
この概形形状計測手段によって計測された前記概形形状の近傍を探索範囲として、前記複数のカメラの中で、順次基準となる基準カメラを切り換えて撮影した基準カメラ画像と、前記基準カメラの左右に隣接する隣接カメラで撮影した隣接カメラ画像とにおいて、前記基準カメラと前記左右の隣接カメラとの間隔に基づいて求められる前記被写体までの距離と前記概形形状の表面までの距離との誤差と、ブロックマッチングの誤差とを重み付け加算した量が最小となるブロックを探索することで、前記基準カメラ画像内の被写体画像に対応する対応点を探索する対応点探索手段、
前記複数のカメラから、前記対応点探索手段によって探索された前記被写体の対応点までの距離に基づいて、前記被写体の三次元形状データを生成する三次元形状データ生成手段、
として機能させることを特徴とする三次元モデリングプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多視点カメラを用いて被写体の三次元形状データを生成する三次元モデリング装置及びその方法及びそのプログラムに関する。
【０００２】
【従来の技術】
従来、立体形状である被写体から三次元形状データを生成する三次元モデリング手法は、被写体の周囲に複数のカメラを配置（多視点カメラ）して、そのカメラから入力された複数のカメラ画像に基づいて、個々のカメラ画像の被写体に対応する点をブロックマッチング法によって探索し、その探索された点と、それぞれのカメラとの距離を算出して、この探索された点の各カメラの距離情報を統合することで、被写体の三次元形状データを生成していた。本手法によれば、カメラの台数を増やすことで、高精度の三次元モデリングを行うことができるものである。なお、この手法は、「Peter Rander,“A Multi-Camera Method for 3D Digitization of Dynamic, Real-World Events,”CMU-RI-TR-98-12,March 1998.」（以下、先行技術１）で開示されている。
【０００３】
また、他の三次元モデリング手法では、被写体の周囲に複数のカメラを配置して、カメラから入力されたカメラ画像の被写体領域の形状である被写体シルエットを、カメラの光学主点位置から仮想的に被写体方向に逆投影した、前記光学主点位置を頂点とし、断面が前記被写体シルエットとなる錐体領域を形成する。そして、カメラ毎に形成された前記錐体領域の重複領域（論理積）を被写体の概形とし、その概形の形状を三次元形状データとしていた。この手法は、ブロックマッチング法よりも高速に三次元形状データを求めることができる。なお、この手法は視体積交差法と呼ばれ、「Ｗｕ他，“３次元ビデオ映像の能動的実時間撮影と対話的編集・表示”，信学技報 PRMU2001-187,Feb.2001.」（以下、先行技術２）で開示されている。
【０００４】
【発明が解決しようとする課題】
しかし、前記従来の技術における多眼カメラを利用した三次元モデリング手法、例えば、前記先行技術１では、個々のカメラで撮影したカメラ画像の被写体に対応する点を探索するときに、ブロックマッチング法によってカメラ画像全体（被写体が存在する空間全体）を探索領域とするため、膨大な演算量を必要とし、探索時間が長くかかってしまうという問題がある。また、高精度の三次元モデリングを行うためにカメラの台数を増やすと、さらに多くの演算量及び探索時間を要してしまうという問題がある。
【０００５】
また、前記先行技術２の視体積交差法では、生成される形状データは近似形状のデータであり、原理的に誤差を生じやすい。特に被写体の表面が滑らかな曲面であったり、凹面の形状である場合は、その形状を平面で近似してしまうため、誤差が大きくなってしまうという問題がある。
【０００６】
本発明は、以上のような問題点に鑑みてなされたものであり、多眼カメラを利用した三次元形状データの生成に際して、三次元モデリングの精度を落とさず、演算量を抑制して高速に行うことを可能にした三次元モデリング装置及びその方法及びそのプログラムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明は、前記目的を達成するために創案されたものであり、まず、請求項１に記載の三次元モデリング装置は、以下の構成にかかるものとした。
すなわち、立体形状である被写体をその周囲に配置した複数のカメラで撮影した複数のカメラ画像に基づいて、前記被写体の三次元形状データを生成する三次元モデリング装置であって、前記複数のカメラ画像から、前記被写体に外接するその被写体の概形形状を計測する概形形状計測手段と、この概形形状計測手段によって計測された前記概形形状の近傍を探索範囲として、前記複数のカメラの中で、順次基準となる基準カメラを切り換えて撮影した基準カメラ画像と、前記基準カメラの左右に隣接する隣接カメラで撮影した隣接カメラ画像とにおいて、前記基準カメラと前記左右の隣接カメラとの間隔に基づいて求められる前記概形形状の表面までの距離と前記被写体までの距離との誤差と、ブロックマッチングの誤差とを重み付け加算した量が最小となるブロックを探索することで、前記基準カメラ画像内の被写体画像に対応する対応点を探索する対応点探索手段と、前記複数のカメラから、前記対応点探索手段によって探索された前記被写体の対応点までの距離に基づいて、前記被写体の三次元形状データを生成する三次元形状データ生成手段と、を備える構成とした。
【０００８】
かかる構成によれば、三次元モデリング装置は、概形形状計測手段によって、被写体の周囲に配置した複数のカメラで被写体を撮影した複数のカメラ画像から、その被写体の概形となる形状を計測する。例えば、視体積交差法等の技術を用いることで前記被写体を内包し、その被写体に外接する形状を計測する。
【０００９】
そして、三次元モデリング装置は、対応点探索手段によって、概形形状計測手段により計測された概形形状内を探索範囲として、基準カメラとそれに隣接するカメラで撮影したカメラ画像毎に被写体領域内の対応する点を探索する。そして、三次元形状データ生成手段によって、各カメラから被写体表面までの距離に基づいて、被写体の三次元形状データを生成する。なお、この基準カメラは固定したものではなく、被写体の周囲のカメラを順次切り換えて、各カメラが順番に基準カメラとなる。
これによって、三次元モデリング装置は、被写体の概形形状を探索範囲として限定し、隣接したカメラ画像から、その限定された範囲内で被写体の対応点を探索する。
【００１０】
また、請求項２に記載の三次元モデリング装置は、請求項１に記載の三次元モデリング装置において、概形形状計測手段が、カメラの光学主点位置を頂点とし、その光学主点位置からカメラ画像内の被写体形状を仮想的に被写体方向に逆投影し、断面が前記被写体形状となる錐体領域が、複数のカメラ画像分重なりあった重複領域を前記被写体の概形形状とする構成とした。
【００１１】
かかる構成によれば、三次元モデリング装置は、概形形状計測手段によって、カメラの光学主点位置からカメラ画像内の被写体形状を仮想的に被写体方向に逆投影した錐体領域をカメラの台数分生成し、その各々の錐体領域の重なりあった領域、すなわち論理積をとることで被写体に外接する被写体の概形形状を求めることができる。
【００１２】
さらに、請求項３に記載の三次元モデリング装置は、請求項１又は請求項２に記載の三次元モデリング装置において、三次元形状データ生成手段が、前記カメラと被写体表面の各対応点との距離を、前記被写体が存在する仮想的な三次元空間座標に対応付けることで、前記被写体の内部に位置する三次元空間座標単位格子点を判定し、その内部に位置する単位格子点の集合を前記被写体の三次元形状データとする構成とした。
【００１３】
かかる構成によれば、三次元モデリング装置は、三次元形状データ生成手段によって、各カメラ画像の被写体領域内のカメラから被写体表面までの画素毎の距離を被写体が存在する仮想的な三次元空間座標に対応付けることで、被写体表面の近傍にある三次元空間座標上の格子点が被写体内に存在する点かどうかを判定して被写体の三次元形状データを生成する。
【００１４】
また、請求項４に記載の三次元モデリング方法は、立体形状である被写体をその周囲に配置した複数のカメラで撮影した複数のカメラ画像に基づいて、前記被写体の三次元形状データを生成する三次元モデリング方法であって、前記複数のカメラ画像から、前記被写体に外接するその被写体の概形形状を計測する概形形状計測ステップと、この概形形状計測ステップによって計測された前記概形形状の近傍を探索範囲として、前記複数のカメラの中で、基準となる基準カメラを切り換えて撮影した基準カメラ画像と、前記基準カメラの左右に隣接する隣接カメラで撮影した隣接カメラ画像とにおいて、前記基準カメラと前記左右の隣接カメラとの間隔に基づいて求められる前記被写体までの距離と前記概形形状の表面までの距離との誤差と、ブロックマッチングの誤差とを重み付け加算した量が最小となるブロックを探索することで、前記基準カメラ画像内の被写体画像に対応する対応点を探索する対応点探索ステップと、前記複数のカメラから、前記対応点探索ステップによって探索された前記被写体の対応点までの距離に基づいて、前記被写体の三次元形状データを生成する三次元形状データ生成ステップと、を含むことを特徴とする。
【００１５】
この方法によれば、三次元モデリング方法は、概形形状計測ステップによって、被写体の周囲に配置した複数のカメラで被写体を撮影した複数のカメラ画像から、その被写体の概形となる形状を算出する。例えば、視体積交差法等の技術を用いることで前記被写体を内包し、その被写体に外接する形状を算出する。
【００１６】
次に、対応点探索ステップによって、概形形状計測ステップにより計測された概形形状内を探索範囲として、隣接するカメラで撮影したカメラ画像毎に被写体の対応する点を探索する。そして、三次元形状データ生成ステップによって、カメラから被写体表面までの距離に基づいて、被写体の三次元形状データを生成する。
【００１７】
さらに、請求項５に記載の三次元モデリングプログラムは、立体形状である被写体をその周囲に配置した複数のカメラで撮影した複数のカメラ画像に基づいて、前記被写体の三次元形状データを生成するために、コンピュータを、以下の手段によって機能させる構成とした。
すなわち、前記複数のカメラ画像から、前記被写体に外接するその被写体の概形形状を計測する概形形状計測手段、この概形形状計測手段によって計測された前記概形形状の近傍を探索範囲として、前記複数のカメラの中で、順次基準となる基準カメラを切り換えて撮影した基準カメラ画像と、前記基準カメラの左右に隣接する隣接カメラで撮影した隣接カメラ画像とにおいて、前記基準カメラと前記左右の隣接カメラとの間隔に基づいて求められる前記被写体までの距離と前記概形形状の表面までの距離との誤差と、ブロックマッチングの誤差とを重み付け加算した量が最小となるブロックを探索することで、前記基準カメラ画像内の被写体画像に対応する対応点を探索する対応点探索手段、前記複数のカメラから、前記対応点探索手段によって探索された前記被写体の対応点までの距離に基づいて、前記被写体の三次元形状データを生成する三次元形状データ生成手段、とした。
【００１８】
かかる構成によれば、三次元モデリングプログラムは、概形形状計測手段によって、被写体の周囲に配置した複数のカメラで被写体を撮影した複数のカメラ画像から、その被写体の概形となる形状を計測する。例えば、視体積交差法等の技術を用いることで前記被写体を内包し、その被写体に外接する形状を計測する。
【００１９】
そして、三次元モデリングプログラムは、対応点探索手段によって、概形形状計測手段によって計測された概形形状内を探索範囲として、基準カメラとそれに隣接するカメラで撮影したカメラ画像毎に被写体領域内の対応する点を探索する。そして、三次元形状データ生成手段によって、カメラから被写体表面までの距離に基づいて、被写体の三次元形状データを生成する。
【００２０】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
（三次元モデリング装置の構成）
【００２１】
まず、本発明に係る三次元モデリング装置の構成について説明する。図１は、本発明の実施の形態に係る三次元モデリング装置の構成を示すブロック図である。図１に示すように、三次元モデリング装置１は、カメラパラメータ測定手段２と、概形形状計測手段３と、詳細形状計測手段４とを含む構成とした。
【００２２】
この三次元モデリング装置１は、複数のカメラＣＡで立体形状である被写体を撮影した複数のカメラ画像に基づいて、前記被写体の三次元形状データを生成させる装置である。ここではカメラＣＡの数を９台（ＣＡ1，ＣＡ2，ＣＡ3，…，ＣＡ9）としたときの例を示している。なお、カメラＣＡの配置は、人物等の被写体を中心とした円周上に等間隔に配置する。（図２参照）
なお、切り換えスイッチＳＷは、カメラＣＡの入力の切り換えを行い、三次元モデリング装置１のカメラ切り換え手段（図示せず）によって、切り換えられるものとする。
【００２３】
カメラパラメータ測定手段２は、予めカメラＣＡからカメラ位置等を校正するためのカメラ校正パターンを入力しておき、そのカメラ校正パターンを基準として定義される三次元座標と二次元のカメラ座標との座標変換を行うことにより、現在のカメラＣＡの位置や、角度等のカメラパラメータを測定するものである。このカメラパラメータ測定手段２で測定されたカメラパラメータは、概形形状測定手段３や詳細形状測定手段４に入力され、各形状等の算出に用いられる。なお、既知パターン（カメラ校正パターン）からカメラパラメータを求める手法は、「Roger Y.Tsai,“Multiframe Image Point Matching and 3-D Surface Reconstruction,”IEEE Trans.PAMI,Vol.PAMI-5,No.2,pp.159-173,March 1983.」を用いることができる。
【００２４】
概形形状計測手段３は、カメラＣＡ（ＣＡ1，ＣＡ2，ＣＡ3，…，ＣＡ9）から入力される複数のカメラ画像から、被写体に外接する概形形状を計測するものである。この概形形状計測手段３は、シルエット抽出部３１と、外接形状算出部３２とを備えて構成されている。
【００２５】
シルエット抽出部３１は、個々のカメラ画像から被写体以外の背景領域を除去し、被写体領域のみを切り出した被写体シルエット（被写体形状）を抽出するものである。このシルエット抽出部３１で抽出された被写体シルエットは、外接形状算出部３２へ出力される。
【００２６】
ここで、カメラ画像を被写体領域と背景領域とに分離するには、予め被写体が存在しない状態で背景のみを撮影しておき、被写体が存在する状態のカメラ画像との差分をとり被写体の領域のみを抽出する、いわゆる背景差分法によって行う。あるいは、均一な特定色の背景（クロマキーバック）の中に被写体を配置し、この背景色以外の領域を抽出するクロマキー手法によって行うことも可能である。
【００２７】
外接形状算出部３２は、シルエット抽出部３１で抽出された被写体シルエットを、カメラＣＡ（ＣＡ1，ＣＡ2，ＣＡ3，…，ＣＡ9）で撮影したカメラ画像分入力し、その複数の被写体シルエットから、被写体の概形形状を算出するものである。ここで抽出された概形形状は、詳細形状計測手段４へ出力され、さらに詳細な形状が算出される。
【００２８】
ここで、図３を参照して、複数の被写体シルエットから、被写体の概形形状を算出する方法について説明する。図３は、被写体Ｍの概形形状ＡＭを推定する視体積交差法を説明するための説明図である。なお、ここでは説明を簡略化するためにカメラＣＡを２台（ＣＡ1，ＣＡ2）としている。
【００２９】
この視体積交差法は、カメラＣＡ1で撮影したカメラ画像Ｇの被写体シルエットＳを、カメラＣＡ1の光学主点位置Ｖから仮想的に被写体Ｍ方向に逆投影して形成される光学主点位置Ｖを頂点として、断面が被写体シルエットＳとなる錐体Ｔ1の形状（錐体領域）を算出し、同様にカメラＣＡ2のカメラ画像から算出される錐体Ｔ2の形状とが重なる重複領域（論理積）を概形形状ＡＭとするものである。なお、この概形形状ＡＭは、被写体Ｍに外接し、被写体Ｍの概略の形状を表わしている。
図１に戻って説明を続ける。
【００３０】
詳細形状計測手段４は、概形形状計測手段３の外接形状算出部３２から出力される概形形状と、カメラＣＡ（ＣＡ1，ＣＡ2，ＣＡ3，…，ＣＡ9）から入力される複数のカメラ画像とに基づいて、詳細な被写体の形状を算出し、その被写体の三次元形状データを生成するものである。この詳細形状計測手段４は、対応点探索部４１と、格子点距離算出部４２と、距離判定部４３と、ソリッドモデル生成部４４とを備えて構成されている。
【００３１】
対応点探索部４１は、隣り合う３台のカメラＣＡから入力されるカメラ画像に基づいて、その各々のカメラ画像内の被写体領域を特定の大きさのブロックで探索し、そのブロックの中央画素に対応する被写体表面までの距離を画素毎に算出するものである。ここで算出されたカメラＣＡから被写体表面までの距離（被写体表面距離）は被写体表面距離蓄積手段（図示せず）に蓄積され、距離判定部４３によって参照される。
【００３２】
この対応点探索部４１は、３台のカメラ（例えばＣＡ1，ＣＡ2，ＣＡ3）において、中央のカメラＣＡ2を基準カメラ、右のカメラＣＡ1を隣接カメラとしてブロックマッチングを行い、さらに中央のカメラＣＡ2を基準カメラ、左のカメラＣＡ3を隣接カメラとし、中央からの距離の探索パラメータとしてブロックマッチングを行う。そして、各々のブロックマッチングの誤差量（各ブロックの差分）の和が最小となるときのブロックの距離を推定距離とする。また、この基準カメラをＣＡ1，ＣＡ2，ＣＡ3…，ＣＡ9と順次切り換えることで、各々のカメラＣＡのカメラ画像におけるブロックの推定距離を求める。
【００３３】
このように、基準カメラ１台に対して、それに隣接する左右の隣接カメラを用いてブロックマッチングを行うことで、被写体の重なり等のオクルージョンが発生した状況であっても、その認識結果の誤りを軽減することができる。
【００３４】
ここで、図４及び図５を参照して、ブロックマッチング法について説明する。図４は、あるカメラを基準カメラとして被写体Ｍを撮影した基準カメラ画像（ａ）と、その基準カメラに隣接する隣接カメラで同じ被写体Ｍを撮影した隣接カメラ画像（ｂ）の画像内容を表わしている。
【００３５】
図４に示すように基準カメラ画像（ａ）の特定の大きさを持ったブロック（探索ブロックＢ）の領域を、隣接カメラ画像（ｂ）で探索し、そのブロックデータの差分が最小となるようなブロックを探索結果ブロックＢｒとする。そして、探索ブロックＢと探索結果ブロックＢｒの位置の差分を推定視差ベクトルＶｅとする。
【００３６】
なお、推定視差ベクトルＶｅの大きさを視差量（disparity）といい、前記基準カメラと前記隣接カメラとのカメラ間隔をＤとすると、各々のカメラから被写体Ｍまでの距離（depth）は（１）式で求めることができる。
【００３７】
depth＝Ｄ／disparity  …（１）
【００３８】
また、図４に示すように、一対のステレオカメラを使う場合には、視差ベクトルを探索パラメータとすることが一般的であるが、本発明の場合には、２対のステレオカメラを使うので、共通の探索パラメータとして、中央カメラからの距離を用いている。このため、ブロックの差分を計算する時には（１）式により画面上での視差に変換して計算する。
【００３９】
また、この探索結果ブロックＢｒを求める方法を図５を参照して説明する。図５は、視体積交差法による概形と真の被写体との関係を示す図である。図５に示すように、概形の形状の表面（概形表面ＡＣ）は、被写体Ｍの表面（被写体表面ＭＣ）に外接している。ここでブロックマッチングによるブロックデータの差分（誤差量）をError_matching、カメラの光学主点位置Ｖから当該ブロックの被写体Ｍまでの距離をw、光学主点位置Ｖから概形表面ＡＣまでの距離をedge、そして、前記wと前記edgeの誤差に対する重み付け係数をkとして、（２）式のような誤差判定式を用い、その値（Error_total）が最小となるようなブロックを探索結果ブロックＢｒとする。
【００４０】
Error_total＝Error_matching＋k（w−edge）2  …（２）
【００４１】
なお、探索ブロックＢの探索範囲Ｆは、概形形状計測手段３（図１参照）で計測された被写体の概形形状に基づいた限定した領域とすることができる。
図１に戻って説明を続ける。
【００４２】
格子点距離算出部４２は、被写体を含んだ仮想的な三次元座標空間（世界座標）の単位格子点（格子点世界座標）を画像座標に変換し、カメラＣＡから単位格子点までの距離（格子点距離）を求めるものである。この格子点距離算出部４２によって求められた格子点距離は格子点距離蓄積手段（図示せず）に蓄積される。なお、この格子点距離は、距離判定部４３によって参照される。なお、この格子点世界座標は、その格子点の間隔等が外部から入力されるものとする。
【００４３】
距離判定部４３は、対応点探索部４１によって求められた被写体表面距離と、格子点距離算出部４２によって求められた格子点距離とを比較判定することで、単位格子点が被写体の内部に存在する点であるか外部に存在する点であるかを判定するものである。この距離判定部４３による判定結果である被写体内部格子点位置及び被写体外部格子点位置が、被写体内外格子点位置蓄積手段（図示せず）に蓄積され、ソリッドモデル生成部４４によって参照される。
【００４４】
なお、この距離判定部４３による判定は、被写体表面距離（ｄ＿ｓｕｒｆａｃｅ）と格子点距離（ｄ＿ｇｒｉｄ）との関係が以下の（３）式を満たす場合は、単位格子点が被写体の外部にあると判定し、（４）式を満たす場合は、単位格子点が被写体の内部にあると判定する。
【００４５】
ｄ＿ｓｕｒｆａｃｅ＞ｄ＿ｇｒｉｄ  …（３）
【００４６】
ｄ＿ｓｕｒｆａｃｅ≦ｄ＿ｇｒｉｄ  …（４）
【００４７】
ソリッドモデル生成部４４（三次元形状データ生成手段）は、距離判定部４３で判定された被写体内部格子点位置及び被写体外部格子点位置に基づいて、被写体の三次元形状データであるソリッドモデルを生成するものである。このソリッドモデル生成部４４は、被写体の三次元形状を、被写体の内部に存在する単位格子点に基づいて被写体の実体部分を定義した固体（ソリッド）として定義するものである。
【００４８】
ここで、図６を参照して、ソリッドモデルの概念について説明する。図６は、ソリッドモデルの概念を示した図である。
図６に示したように、被写体Ｍは、カメラの光学主点位置Ｖから見てカメラ画像Ｇ上に被写体シルエットＳとして平面的に撮影される。そして、三次元座標単位格子点は、カメラパラメータにより画像座標へ変換され、カメラから格子点までの距離（距離情報Ｒ）が求められ、カメラから格子点までの距離と、同じ画像座標におけるカメラから被写体表面までの距離とを比較することでソリッドモデルが求められる。このように、個々のソリッドが距離情報Ｒに基づいてデータ化されることで、被写体Ｍは、三次元のソリッドデータとして生成される。
【００４９】
以上、本発明に係る三次元モデリング装置１の構成について説明したが、三次元モデリング装置１は、コンピュータにおいて各手段を各機能プログラムとして実現することも可能であり、各機能プログラムを結合して三次元モデリングプログラムとして動作させることも可能である。
【００５０】
（三次元モデリング装置の動作）
次に、図１、図７及び図８を参照して、三次元モデリング装置１の動作について説明する。図７及び図８は、三次元モデリング装置１の動作を示すフローチャートである。
【００５１】
［初期ステップ］
まず最初に、カメラパラメータ測定手段２によって、カメラＣＡの位置、角度等のカメラパラメータを測定する（ステップＳ１）。
【００５２】
［概形形状計測ステップ］
シルエット抽出部３１によって、カメラＣＡから入力されたカメラ画像から、背景差分法（あるいはクロマキー手法等）により、被写体以外の背景領域を除去し、被写体領域のみを切り出した被写体シルエット（被写体形状）を抽出する（ステップＳ２）。
【００５３】
次に、外接形状算出部３２によって、この被写体シルエットを、カメラＣＡの光学主点位置から仮想的に被写体方向に逆投影して形成される、光学主点位置を頂点として断面が被写体シルエットとなる錐体の形状（錐体領域）を、カメラＣＡの台数分算出する（ステップＳ３）。
【００５４】
そして、カメラＣＡの台数分の錐体の形状（錐体領域）が重なりあう領域（論理積）を被写体の概形形状として算出して（ステップＳ４）、対応点探索ステップ（ステップＳ５）へ進む。なお、このステップＳ４で算出された概形形状は、被写体に外接し、被写体の概略の形状を表わしている。
【００５５】
［対応点探索ステップ］
対応点探索部４１によって、カメラＣＡの中から基準となる基準カメラ（例えばカメラＣＡ１）を設定し（ステップＳ５）、その基準カメラに隣接する２台のカメラ（例えばＣＡ９，ＣＡ２）の各々のカメラ画像から、被写体の概形形状を探索範囲として、ブロックマッチングを行い各画素毎にカメラＣＡの光学主点位置から被写体表面までの距離を算出する（ステップＳ６）。
【００５６】
そして、全てのカメラＣＡを基準カメラとして動作したかどうかを判定し（ステップＳ７）、全てのカメラＣＡを基準カメラとしていない場合（Ｎｏ）は、ステップＳ５へ戻って、基準カメラをカメラＣＡ1からカメラＣＡ9まで切り換えることで、各カメラ（ＣＡ1，ＣＡ2，ＣＡ3…，ＣＡ9）から被写体表面までの距離を算出する。
一方、全てのカメラＣＡを基準カメラとして動作した場合（Ｙｅｓ）は、三次元形状データ生成ステップ（ステップＳ８）へ進む。
【００５７】
［三次元形状データ生成ステップ］
格子点距離算出部４２によって、仮想的な三次元座標空間（世界座標）の単位格子点（格子点世界座標）を画像座標に変換し、カメラＣＡから単位格子点までの距離（格子点距離）を格子点距離蓄積手段（図示せず）に蓄積する（ステップＳ８）。
【００５８】
そして、距離判定部４３によって、ステップＳ６で求めた被写体表面距離と、ステップＳ８で求めた格子点距離とを比較判定し、その判定結果である被写体内部格子点位置及び被写体外部格子点位置を、被写体内外格子点位置蓄積手段（図示せず）に蓄積する（ステップＳ９）。
【００５９】
そして、被写体内部格子点位置及び被写体外部格子点位置に基づいて、ソリッドモデル生成部４４が被写体の実体部分を固体（ソリッド）として定義した三次元形状データであるソリッドモデルを生成する（ステップＳ１０）。
【００６０】
なお、ステップＳ８内の単位格子点を画像座標に変換する動作は、初期ステップにおいて、予め実行しておいてもよい。
【００６１】
以上の各ステップによって、複数のカメラ（多視点カメラ）で被写体を撮影したカメラ画像から、被写体の概形形状を算出し、その概形形状の近傍に被写体の真の表面が存在することから、その概形形状を被写体形状の探索範囲とすることで、より詳細な形状を測定することができる。
【００６２】
【発明の効果】
以上説明したとおり、本発明に係る三次元モデリング装置及びその方法及びそのプログラムでは、以下に示す優れた効果を奏する。
【００６３】
請求項１、請求項４又は請求項５に記載の発明によれば、三次元モデリング装置、三次元モデリング方法又は三次元モデリングプログラムは、まず、被写体の概形形状を測定し、その概形形状を基に詳細な形状を計測するため、従来の三次元モデリング手法に比べて、演算量を抑制して高速に三次元形状データを生成することができる。さらに、被写体の表面形状が滑らかな曲面であったり、凹面の形状であっても、正確にその形状を反映した三次元形状データを生成することができる。
【００６４】
請求項２に記載の発明によれば、三次元モデリング装置は、従来の視体積交差法により、被写体の概形形状のみを計測し、その概形形状を詳細な形状を計測するための探索領域として活用することができるため、従来の視体積交差法による三次元モデリング装置に比べて、誤差を軽減することができる。
【００６５】
請求項３に記載の発明によれば、三次元モデリング装置は、被写体の形状が三次元空間座標上にマッピングされ、その三次元空間座標の格子点が被写体の内部にある点か、外部にある点かの簡単な判定を行い、被写体の表面形状だけでなく、被写体の内部に属する三次元座標点をすべて抽出することができるため、三次元のソリッドデータを効率良く生成することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る三次元モデリング装置の全体構成を示すブロック図である。
【図２】被写体を中心とした円周上に配置されたカメラの配置例を示す配置図である。
【図３】視体積交差法を説明するための説明図である。
【図４】ブロックマッチング法を説明するための説明図である。
【図５】視体積交差法による概形と被写体との関係を示す関係図である。
【図６】ソリッドモデルの概念を説明するための説明図である。
【図７】本発明に係る三次元モデリング装置の動作を示すフローチャート（１／２）である。
【図８】本発明に係る三次元モデリング装置の動作を示すフローチャート（２／２）である。
【符号の説明】
１……三次元モデリング装置
２……カメラパラメータ測定手段
３……概形形状測定手段
３１……シルエット抽出部
３２……外接形状算出部
４……詳細形状計測手段
４１……対応点探索部（対応点探索手段）
４２……格子点距離算出部
４３……距離判定部
４４……ソリッドモデル生成部（三次元形状データ生成手段）
ＣＡ……カメラ
【図１】
0004014140.tif 000002
【図２】
0004014140.tif 000003
【図３】
0004014140.tif 000004
【図４】
0004014140.tif 000005
【図５】
0004014140.tif 000006
【図６】
0004014140.tif 000007
【図７】
0004014140.tif 000008
【図８】
0004014140.tif 000009