(57)【特許請求の範囲】
【請求項１】
対象物についての３次元形状モデルを評価する方法であって、
対象物についての互いに視点の異なる複数の撮影画像を準備しておき、
前記３次元形状モデル上の点を前記撮影画像上に投影し、前記点に対応する前記各撮影画像上の画素を特定し、
前記３次元形状モデル上のそれぞれの点について、各点に対応する前記撮影画像上の各画素の画素値のばらつきを評価する、
ことを特徴とする３次元形状モデルの評価方法。
【請求項２】
前記３次元形状モデル上の各点において、それぞれの点に対応する前記撮影画像上の各画素の画素値のばらつきを表示する、
請求項１記載の３次元形状モデルの評価方法。
【請求項３】
対象物についての互いに視点の異なる複数の撮影画像に基づいて、当該対象物の３次元形状モデルを生成する方法であって、
仮想空間内に初期状態の３次元形状モデルを配置するステップ、
前記３次元形状モデル上の点を前記撮影画像上に投影し、前記点に対応する前記各撮影画像上の画素を特定するステップ、
前記３次元形状モデル上のそれぞれの点について、各点に対応する前記撮影画像上の各画素の画素値のばらつきを評価するステップ、および、
前記各画素の画素値のばらつきが小さくなるように前記３次元形状モデルを変形するステップ、
を有してなることを特徴とする３次元形状モデルの生成方法。
【請求項４】
前記撮影画像によるシルエット内に収まる仮想空間内の共通領域に基づいて３次元形状モデルを生成し、生成した３次元形状モデルを初期状態の３次元形状モデルとして配置する、
請求項３記載の３次元形状モデルの生成方法。
【請求項５】
前記３次元形状モデル上の各点に対応する前記撮影画像上の画素を特定するに際し、前記３次元形状モデルの他の部分で遮蔽されて前記撮影画像に投影されない場合、および撮影画像の外に投影される場合には、その視点の撮影画像については対応する画素がないとし、画素の画素値のばらつきの評価から除外する、
請求項３記載の３次元形状モデルの生成方法。
【請求項６】
前記３次元形状モデル上の点に対応する前記撮影画像上の画素が対象物のシルエット内にない場合には、ペナルティーとして画素の画素値のばらつきを増加させる、
請求項３記載の３次元形状モデルの生成方法。
【請求項７】
対象物についての３次元形状モデルを評価する装置であって、
対象物についての互いに視点の異なる複数の撮影画像上に前記３次元形状モデル上の点を投影する手段と、
前記点に対応する前記各撮影画像上の画素を特定する手段と、
前記３次元形状モデル上のそれぞれの点について、各点に対応する前記撮影画像上の各画素の画素値のばらつきを評価する手段と、
を有することを特徴とする３次元形状モデルの評価装置。
【請求項８】
対象物についての互いに視点の異なる複数の撮影画像に基づいて当該対象物の３次元形状モデルを生成するためのコンピュータプログラムであって、
仮想空間内に初期状態の３次元形状モデルを配置するステップ、
前記３次元形状モデル上の点を前記撮影画像上に投影し、前記点に対応する前記各撮影画像上の画素を特定するステップ、および、
前記３次元形状モデル上のそれぞれの点について、各点に対応する前記撮影画像上の各画素の画素値のばらつきを評価するステップ、
をコンピュータに実行させるコンピュータプログラム。
【請求項９】
請求項８記載のコンピュータプログラムが記録されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、対象物についての互いに視点の異なる複数の撮影画像を用いて３次元形状モデルを評価する方法および装置、３次元形状モデルの生成方法および装置、並びにコンピュータプログラムに関する。
【０００２】
【従来の技術】
近年において、非接触型の３次元形状入力装置が、ＣＧや工業デザインの分野でしばしば用いられる。３次元形状入力装置は、レーザやパターン光を対象物（物体）に照射し、対象物の表面で反射した光をセンサで捉えることにより、対象物の３次元形状を密にサンプリングして入力する。３次元形状入力装置によって、対象物の現実の形状を仮想空間内に持ってくることができ、所望の３次元形状モデルを簡便に作成することが可能である。
【０００３】
上に述べた３次元形状入力装置は、対象物の表面における光の乱反射特性を利用している。そのため、頭部の黒髪のように表面反射率の低いもの、金属のように表面が鏡面反射をおこすもの、ガラスのように透明または半透明のものなどは、形状が正しく入力できないか、 またはデータが欠落することがある。また、レーザまたはパターン光の投光機が必要であるため、装置が高価である。
【０００４】
これに対して、対象物を複数台のカメラで同時に撮影し、または１台のカメラで順次撮影し、投光を行わずに多視点から撮像した画像を用いて３次元形状モデルを作成する方法がある。この方法によると、画像中のテクスチャの類似性により、画像間で対応する点を自動的に求める必要がある。この対応点検出は、対象物の表面のテクスチャ、形状、照明条件に大きく影響を受けるため、精度はあまりよくない。このため、精度を上げるためにユーザが対応点を指定するものもある。それでも、滑らかな形状で緩やかに変化するテクスチャまたは繰り返しパターンのテクスチャを持つ対象物などでは、対応点を正しく与えることが難しい。また、表面の反射率が低いもの、表面が鏡面反射をおこすもの、透明または半透明のものでは、３次元形状入力装置と同様の欠点がある。
【０００５】
対応点を与えることが難しい対象物に対しては、対象物の遮蔽輪郭から形状を推定するシルエット法（Shape from Silhouette 法）と呼称される手法が適用可能である。その中でも最もよく使用される方法の１つはVolume lntersection 法と呼称される。これは、図１１に示すように、すべての画像中のシルエット内に収まる３次元空間内の共通領域を求める。この共通領域をVisual Hull と呼ぶ。これを求める最も一般的な方法は、図１２に示すように、仮想３次元空間内に多数のボクセルＶＸと呼ばれる立方形状要素を配置する。これらボクセルＶＸのうち、すべての画像において対象物に対応する領域内に投影されるもののみを連結することによって、対象物の形状を再構成する。しかし、この方法では、対象物の表面のうちシルエットとしてどの画像にも表れない凹部は形状が正しく復元できない。
【０００６】
形状が正しく再現されないことの問題は、ディスプレイ上にレンダリング表示を行う際に顕著に現れる。つまり、形状が正しくない部分では、入力されたカラー画像を貼り合わせて生成されたテクスチャデータが、貼り合わせた部分でボケたり、段差や歪みが生じてしまうという問題である。換言すれば、テクスチャが複雑でない対象物の表面の部分では、貼り合わされたテクスチャの歪みなどは目立ち難く、形状の歪みはレンダリング表示された画像にあまり影響を及ぼさない、と言うことである。この観点から、Snowらは新しい試みとして、仮想空間内の格子点のうち、多視点から得られた画像の対応する画素間での画素値のばらつきの小さいサブセットを滑らかに繋いで連結する手法を提案している。しかし、その方法では、形状の精度は格子間の幅に依存する。精度を上げようと格子点を増やすと、データ量が多くなると同時に実行速度も急激に低下する。また、復元されたデータをレンダリングしたシルエットの形状は格子のエイリアシングのためぎざぎざとなってしまう。
【０００７】
【発明が解決しようとする課題】
上に述べたように、３次元形状モデルを生成する方法として、従来から種々の方法が提案されている。しかし、いずれの方法でも上に述べたような問題があり、高品質なレンダリングに適した３次元形状モデルを簡便に生成することはできなかった。
【０００８】
本発明は、上述の問題に鑑みてなされたもので、高品質なレンダリングに適した３次元形状モデルを簡便に生成することを可能とする３次元形状モデルの評価方法および生成方法並びに装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明に係る評価方法は、対象物についての互いに視点の異なる複数の撮影画像を準備しておき、３次元形状モデル上の点を前記撮影画像上に投影し、前記点に対応する前記各撮影画像上の画素を特定し、前記３次元形状モデル上のそれぞれの点について、各点に対応する前記撮影画像上の各画素の画素値のばらつきを評価する。
【００１０】
画素値のばらつきを評価するに際して、色のばらつきを評価する。３次元形状モデル上の各点において、それぞれの点に対応する前記撮影画像上の各画素の画素値のばらつきを表示する。
【００１１】
本発明に係る生成方法は、仮想空間内に初期状態の３次元形状モデルを配置するステップ、前記３次元形状モデル上の点を前記撮影画像上に投影し、前記点に対応する前記各撮影画像上の画素を特定するステップ、前記３次元形状モデル上のそれぞれの点について、各点に対応する前記撮影画像上の各画素の画素値のばらつきを評価するステップ、および、前記各画素の画素値のばらつきが小さくなるように前記３次元形状モデルを変形するステップを有する。
【００１２】
好ましくは、前記撮影画像によるシルエット内に収まる仮想空間内の共通領域に基づいて３次元形状モデルを生成し、生成した３次元形状モデルを初期状態の３次元形状モデルとして配置する。
【００１３】
また、前記３次元形状モデル上の各点に対応する前記撮影画像上の画素を特定するに際し、前記３次元形状モデルの他の部分で遮蔽されて前記撮影画像に投影されない場合、および撮影画像の外に投影される場合には、その視点の撮影画像については対応する画素がないとし、画素の画素値のばらつきの評価から除外する。
【００１４】
また、前記３次元形状モデル上の点に対応する前記撮影画像上の画素が対象物のシルエット内にない場合には、ペナルティーとして画素の画素値のばらつきを増加させる。
【００１５】
本発明に係る評価装置は、対象物についての互いに視点の異なる複数の撮影画像上に前記３次元形状モデル上の点を投影する手段と、前記点に対応する前記各撮影画像上の画素を特定する手段と、前記３次元形状モデル上のそれぞれの点について、各点に対応する前記撮影画像上の各画素の画素値のばらつきを評価する手段とを有する。
【００１６】
本発明に係る生成装置は、仮想空間内に初期状態の３次元形状モデルを配置する手段と、前記３次元形状モデル上の点を前記撮影画像上に投影し、前記点に対応する前記各撮影画像上の画素を特定する手段と、前記３次元形状モデル上のそれぞれの点について、各点に対応する前記撮影画像上の各画素の画素値のばらつきを評価する手段と、前記各画素の画素値のばらつきが小さくなるように前記３次元形状モデルを変形する手段と、を有してなる。
【００１７】
好ましくは、前記撮影画像による対象物のシルエットと前記３次元形状モデルとの適合度を評価する手段と、前記シルエットと前記３次元形状モデルとの適合度によって３次元形状モデルを変形させる手段とをさらに有する。
【００１８】
【発明の実施の形態】
図１は本実施形態に係る３次元形状モデルの生成装置１のブロック図、図２は対象物Ｑの撮影の様子を説明する図、図３は対象物Ｑの３次元モデルＭＬＳ上の点を画像ＦＴに投影する様子を説明する図、図４は画像ＦＴ上に投影された点ＰＴに対応する画素ＧＳを示す図、図５は画像ＦＴ上の各画素の画素値のばらつきを評価する様子を示す図である。
【００１９】
図１において、生成装置１は、装置本体１０、磁気ディスク装置１１、媒体ドライブ装置１２、ディスプレイ装置１３、キーボード１４、およびマウス１５などからなる。
【００２０】
装置本体１０は、ＣＰＵ、ＲＡＭ、ＲＯＭ、ビデオＲＡＭ、入出力ポート、および各種コントローラなどからなる。ＲＡＭおよびＲＯＭなどに記憶されたプログラムをＣＰＵが実行することにより、以下に説明する種々の機能が実現される。
【００２１】
磁気ディスク装置１１には、ＯＳ（Operating System) 、３次元モデル（３次元形状モデル）ＭＬを生成しまたは評価するためのモデリングプログラムＰＲ、その他のプログラム、入力されまたは生成された３次元データ（３次元形状データ）ＤＴ，ＤＴＳ、画像（２次元画像データ）ＦＴ、生成された３次元モデルＭＬ、その他のデータなどが格納されている。これらのプログラムおよびデータは、適時、装置本体１０のＲＡＭにローディングされる。
【００２２】
なお、モデリングプログラムＰＲには、初期化処理、モデル配置処理、投影処理、画素特定処理、ばらつき評価処理、変形処理、マッピング処理、およびその他の処理のためのプログラムが含まれる。
【００２３】
媒体ドライブ装置１２は、ＣＤ−ＲＯＭ（ＣＤ）、フロッピィディスクＦＤ、光磁気ディスク、コンパクトフラッシュ（登録商標）などの半導体メモリＨＭ、その他の記録媒体にアクセスし、データまたはプログラムの読み書きを行う。記録媒体の種類に応じて適切なドライブ装置が用いられる。上に述べたモデリングプログラムＰＲは、これら記録媒体からインストールすることも可能である。３次元データＤＴおよび画像ＦＴなども記録媒体を介して入力することが可能である。
【００２４】
ディスプレイ装置１３の表示面ＨＧには、上に述べた種々のデータ、３次元データＤＴ、画像ＦＴ、モデリングプログラムＰＲによる処理過程の画像、生成された３次元モデルＭＬ、３次元モデル上の各点に対応する画像上の各画素の画素値のばらつき、その他のデータまたは画像が表示される。
【００２５】
キーボード１４およびマウス１５は、ディスプレイ装置１３に表示された画像ＦＴおよび３次元データＤＴに対して、ユーザが種々の指定を行うために用いられる他、装置本体１０に種々のデータを入力しまたは指令を与えるために用いられる。
【００２６】
装置本体１０には、対象物（被写体）Ｑである物体を種々の視線で撮影しまたは種々の視点から撮影して画像ＦＴを入力するためのデジタルカメラＤＣが接続される。デジタルカメラＤＣには、その位置および姿勢を検出して位置姿勢情報ＳＡを出力する位置姿勢センサＳＥ１が設けられている。位置姿勢情報ＳＡは、画像ＦＴとともにデジタルカメラＤＣ内に一旦記憶され、まとめて生成装置１に転送される。位置姿勢センサＳＥ１として、例えば加速度センサ付ジャイロセンサなどが用いられる。
【００２７】
図２において、対象物Ｑは、デジタルカメラＤＣによって、その周囲の視点ＶＰ１〜５から撮影される。これにより、画像ＦＴ１〜５が取得される。画像ＦＴ１〜５は、生成装置１の磁気ディスク装置１１に一旦格納される。
【００２８】
装置本体１０において、入力された画像ＦＴによるシルエット内に収まる仮想空間内の共通領域に基づいて、３次元データＤＴＳ１が生成される。具体的には、入力された各画像ＦＴから対象物Ｑの輪郭を切り出すことにより、シルエット画像ＦＳが生成され、このシルエット画像ＦＳに基づいて、シルエット法によって３次元データＤＴＳ１が生成される。
【００２９】
また、視差のある２枚の画像ＦＴに基づいて３次元再構成を行い、３次元データＤＴＳ２を生成することも可能である。生成された３次元データＤＴＳ１，ＤＴＳ２は、本発明における初期状態の３次元形状モデルＭＬＳとして用いることが可能である。
【００３０】
また、装置本体１０には、対象物を撮影してその３次元データＤＴＳ３を入力するための３次元入力装置（３次元計測装置）を接続することも可能である。そのような３次元入力装置は、例えば光切断法によって対象物Ｑの３次元データＤＴＳ３を非接触で計測する。また、３次元入力装置から、３次元データＤＴＳ３ではなく、３次元データＤＴＳ３を生成するための元となるデータを出力し、装置本体１０によって３次元データＤＴＳ３を演算によって求めてもよい。このような３次元データＤＴＳ３も、本発明における初期状態の３次元モデル（３次元形状モデル）ＭＬＳとして用いることが可能である。
【００３１】
図３に示すように、初期状態の３次元モデルＭＬＳは、装置本体１０のメモリ空間（仮想空間）ＶＳ１内に配置される。仮想空間ＶＳ１において、初期状態の３次元モデルＭＬＳは、高品質なレンダリングに適した３次元モデルであるか否か、または対象物についての正確な３次元モデルであるか否かが評価される。また、その評価結果がディスプレイ装置１３の表示面ＨＧに表示される。さらに、その評価結果に基づいて、３次元モデルＭＬＳが変形される。そして、変形された３次元モデルＭＬＳについて、再度、評価および変形が行われ、これが繰り返され、最終的な３次元モデルＭＬが生成される。
【００３２】
生成装置１は、パーソナルコンピュータまたはワークステーションなどを用いて構成することが可能である。上に述べたプログラムおよびデータは、ネットワークＮＷを介して受信して取得することも可能である。
【００３３】
次に、３次元モデルの評価方法および変形処理について説明する。
図３において、仮想空間ＶＳ１において、３次元モデルＭＬＳに対し、各画像ＦＴ１〜５はそれぞれが撮影された視点ＶＰ１〜５と一致するように配置される。この状態で、３次元モデルＭＬＳ上のサンプリングされた点ＰＴが、各画像ＦＴ１〜５上に投影される。
【００３４】
例えば、図４に示すように、３次元モデルＭＬＳ上の点ＰＴ１が、画像ＦＴ１，２に投影される。画像ＦＴ１，２において、それぞれ投影された点ＰＴ１を含む画素ＧＳ１１、ＧＳ２１が、互いに対応する画素として特定される。これが、３次元モデルＭＬＳ上の多数の点、例えば３次元モデルＭＬＳを構成する各構成点について行われる。
【００３５】
なお、画像ＦＴ上の点ＰＴに対応する画素ＧＳとして、２つ以上の画素ＧＳが特定される場合もある。そのような場合には、画素値として、それらの画素の画素値の平均または２乗平均などを用いればよい。また、投影すべき点ＰＴが３次元モデルＭＬＳの他の部分で遮蔽される場合には、その画像ＦＴについては対応する点つまり対応する画素ＧＳがないものと扱えばよい。
【００３６】
対応する画素ＧＳが特定されると、それらの画素ＧＳの画素値が取得される。画素値として、例えばその画素の濃度値が用いられる。画像ＦＴがカラーである場合には、三原色の各色の濃度値が用いられる。
【００３７】
取得された画素値について、それらのばらつきが求められる。ばらつきとして、例えば、画素値の差が求められ、さらにその差についての、絶対値、平均値、または２乗平均値などが求められる。それらが評価される。評価に際して、例えば、ばらつきの大きさが評価される。そして、ばらつきが最小となるように、３次元モデルＭＬＳが変形される。
【００３８】
なお、例えば、画像ＦＴがカラーであった場合に、カラーのばらつきを評価する。カラーのばらつきとして、三原色の各色の濃度値のばらつきを評価する。または、各画素ＧＳのカラーの色相を比較し、その相違の大きさを評価する。
【００３９】
図５において、対象物Ｑの表面ＳＦＱが破線で示され、対象物Ｑについての３次元モデルＭＬＳの表面ＳＦＭが実線で示されている。３次元モデルＭＬＳの表面ＳＦＭ上の１つの点ＰＴａに対応する各画像ＦＴ１，２上の画素ＧＳ１１、ＧＳ２１が特定され、それら各画素の濃度値ＧＳＴ１１，ＧＳＴ２１が取得される。
【００４０】
これら濃度値ＧＳＴ１１，ＧＳＴ２１がもし一致したとした場合には、３次元モデルＭＬＳの表面ＳＦＭ上の点ＰＴａは、対象物Ｑの表面上の点を正しく反映していると結論付けることができる。その理由は、２つの画像ＦＴ１，２は、対象物Ｑについての実際の表面を撮影したものであるため、表面上の１つの点に対応する画素の濃度値は、完全拡散反射面であると仮定すればほぼ一致するからである。
【００４１】
ところが、図５に示す場合には、対象物Ｑの表面ＳＦＱは凹部となっており、この凹部は３次元モデルＭＬＳに正しく反映されていない。この現象は、シルエット法または立体写真法などの手法を用いて対象物Ｑから３次元モデルＭＬＳを生成した場合にしばしば起こり得る。
【００４２】
そうすると、３次元モデルＭＬＳの表面ＳＦＭ上の点ＰＴａに対応する画素ＧＳ１１、ＧＳ２１は、実際には対象物Ｑの表面ＳＦＱ上における点ＰＴａ１，ＰＴａ２に対応する画素ということになる。しかし、点ＰＴａ１と点ＰＴａ２での表面反射率が異なる場合には、画素ＧＳ１１の濃度値ＧＳＴ１１と画素ＧＳ２１の濃度値ＧＳＴ２１も異なって現れるので、レンダリングの際に矛盾を発生し、レンダリング画像のボケや歪みの原因となる。なお、点ＰＴａ１と点ＰＴａ２での表面反射率が同じであれば、３次元モデルＭＬＳが、表面ＳＦＱを正しく反映していないにも係わらず、レンダリングの際に矛盾を発生しにくい。
【００４３】
これら、濃度値ＧＳＴ１１と濃度値ＧＳＴ２１とを比較することにより、３次元モデルＭＬＳの表面ＳＦＭと対象物Ｑの実際の表面ＳＦＱとの一致度合いを評価することができる。
【００４４】
したがって、対応する画素ＧＳの濃度値ＧＳＴの差により、レンダリングの際の矛盾の度合いを評価することができる。
ユーザが評価の程度を知る１つの手法として、３次元モデルＭＬＳをプレイ装置１３の表示面ＨＧに表示するとともに、表示された３次元モデルＭＬＳ上に、各点に対応する画素の濃度値ＧＳＴのばらつきを表示する。例えば、濃度値ＧＳＴの差に応じた濃度またはカラーの画像を表示する。または、濃度値ＧＳＴの差の値を、画像上に数値で表示する。また、ユーザが画面上で３次元モデルＭＬＳ上の任意の１点を指定したときに、その点に対応する画素のカラーの差をカラーヒストグラムなどによって表示する（図９参照）。
【００４５】
濃度値ＧＳＴ１１と濃度値ＧＳＴ２１とにばらつきがある場合に、そのばらつきが少なくなる方向に３次元モデルＭＬＳの表面ＳＦＭを変形する。
図５において、変形された表面ＳＦＭ２が鎖線で示されている。この表面ＳＦＭ２上の点ＰＴｂについて、上と同様に対応する画素ＧＳを求め、それらの濃度値を比較する。そして、そのばらつきが少なくなる方向に、再度、３次元モデルＭＬＳの表面ＳＦＭを変形する。これを繰り返すことによって、正確な３次元モデルＭＬが生成される。
【００４６】
上に述べたように、本実施形態では、対象物Ｑを異なる視点位置から撮像した画像に適合するように、つまり３次元モデルＭＬＳの各部が滑らかとなるように、拘束された曲面モデルまたはポリゴンメッシュモデルを変形する。その際に、３次元モデルＭＬＳ上の各点に投影される各画像ＦＴ上の対応点間のカラーなどのばらつきを調べ、カラーなどのばらつきが最小となるように変形する。これにより、任意位相の滑らかな３次元モデルＭＬが生成される。生成された３次元モデルＭＬに、カラー画像を貼り合わせ、テクスチャを張りつける。
【００４７】
これによって、通常の多視点画像から３次元モデルを生成する方法では難しかった、緩やかに変化するテクスチャまたは繰り返しパターンのテクスチャを持つ対象物Ｑに対しても、品質の高いテクスチャ付きの曲面モデルを安定的に生成することができる。
【００４８】
さらに、シルエットから対象物Ｑの３次元モデルを得る方法と組み合わせることにより、任意位相の対象物Ｑに対応可能となるとともに、シルエット形状を正確に表示可能となる。
【００４９】
なお、本実施形態では、カラーが均一である表面領域においては、表面形状が正しく復元されない場合も発生する。しかし、生成されるテクスチャ（カラー）は、正しい形状のものと同じかまたは同等のものとなるので、表示面ＨＧにレンダリング表示したときに目立たないという利点がある。
【００５０】
また、表示面ＨＧにカラーのばらつきを表示することにより、レンダリングの際の矛盾の生じ易い部分をユーザが容易に視認できる。また、デジタルカメラＤＣの位置が正しく校正されていない画像ＦＴを特定することができる。その結果、ユーザは、３次元モデルＭＬＳを修正し、またはカメラ位置を修正することを容易に行うことができる。
【００５１】
次に、生成装置１における３次元モデルＭＬの生成処理の全体について、フローチャートを参照して説明する。
図６は３次元モデルの生成処理を示すフローチャートである。
【００５２】
図６において、仮想空間ＶＳ１内に、初期状態の３次元モデルＭＬＳを配置する（＃１）。３次元モデルＭＬＳ上の点を画像ＦＴ上に投影し、点に対応する各画像ＦＴ上の画素ＧＳを特定する（＃２）。３次元モデルＭＬＳ上のそれぞれの点について、各点に対応する画像ＦＴ上の各画素ＧＳの画素値のばらつきを評価する（＃３）。各画素ＧＳの画素値のばらつきが最小となるように３次元モデルＭＬＳを変形する（＃４）。ステップ＃２以降を繰り返し、ばらつきが所定よりも小さくなったと評価されると終了する（＃５）。
【００５３】
さらに詳しく説明する。
図７は３次元モデルＭＬＳとシルエット画像による視線との関係を説明する図、図８はシルエット画像上の距離を示す図、図９は３次元モデル上に表示されたカラーヒストグラムの例を示す図、図１０は３次元モデルの生成処理を示すフローチャートである。
【００５４】
まず、デジタルカメラＤＣによって、対象物Ｑを複数の視点位置から撮影し、得られたカラーの画像ＦＴをカメラ内の記憶部に記憶する（＃１１）。その際に、各画像ＦＴを撮影したときのデジタルカメラＤＣの位置および姿勢についての情報（位置姿勢情報ＳＡ）を、デジタルカメラＤＣに取り付けられた位置姿勢センサＳＥ１により取得し、絞り、焦点距離、撮影角などの光学ユニット制御信号とともにカメラ内の記憶部に記憶する。
【００５５】
それぞれの視点位置で得られた画像ＦＴ、位置姿勢情報ＳＡ、および光学ユニット制御信号をセットにして、生成装置１に転送する（＃１２）。生成装置１において、入力されたそれらの情報および信号は、磁気ディスク装置１１に一旦格納され、モデリングプログラムＰＲによってＲＡＭ上に読み込まれる。制御信号光学パラメータと光学パラメータとの対応表が予め作成されており、各光学ユニット制御信号は、その読み込み時に、対応表に基づいて光学パラメータに変換される。
【００５６】
各画像ＦＴについて対象物Ｑの領域を求め、その境界をシルエットとして記録しておく（＃１３）。各画像中で対象物Ｑの領域を求めるには、例えば、ユーザがマウス１５を用いて領域境界をなぞればよい。または、「Ｓｎａｋｅ」と呼称される曲線モデルをエッジ画像にフィットさせて自動抽出してもよい。「Ｓｎａｋｅ」については、Ｒ. Cipolla and A. Blake, "The Dynamic Analysis of Apparent Contours," Proc. Third ICCV, 1990 を参照することができる。
【００５７】
ボリュームインターセクション（Volume Intersection ）法により、対象物Ｑの大まかな３次元形状を求め、その結果を３角ポリゴンメッシュに変換する（＃１４）。つまり、例えば、画像ＦＴから得られたシルエットに基づいて、ボリュームデータを生成し、そのボリュームデータを、ボリューム表現形式から境界表現形式に変換して３角ポリゴンメッシュデータを得る。
【００５８】
３角ポリゴンメッシュを間引きし、より粗い解像度の３角ポリゴンメッシュに変換する（＃１５）。これによってデータ量を低減する。この間引き処理は、例えば、William J. Schroeder, Jonathan A. Zarge and William E. Lorensen, "Decimation of Triangle Meshes", SIGGRAPH'92 Proceedings, 1992, Pages 65-70にあるように、平坦な部分から順次頂点を削除していくことにより行うことができる。
【００５９】
３角ポリゴンメッシュを４角ポリゴンメッシュに変換する（＃１６）。これは、例えば、Matthias Eck and Hugues Hoppe, "Automatic reconstruction of B-spline surfaces of arbitrary topological type", SIGGRAPH'96 Proceedings, 1996, Pages 325-334にあるように、隣接する３角形同士を組み合わせて４角形にすることにより行うことができる。これによって、各ポリゴンを指定するデータにおける頂点の数が、３つであったものが４つとなる。
【００６０】
ステップ＃１６の処理の例として説明したEck の論文にある方法によって、ベース４角形メッシュからＢスプライン曲面を生成する（＃１７）。この方法を用いると、Ｂスプライン曲面の制御点は、すべて元の４角形メッシュの頂点のアフィン結合で与えられる。これによって初期状態の３次元モデルＭＬＳが生成される。３次元モデルＭＬＳは、仮想空間ＶＳ１内に配置される。
【００６１】
なお、本実施形態では、Ｂスプライン曲面を使用したが、陰的多項関数、ベジェ曲面パッチ、グレゴリ−パッチ、ＮＵＲＢＳ、細分割曲面などの他の表現の曲面を使用してもよい。
【００６２】
そして、フィッティングを行う（＃１８）。フィッティングでは、次の（１）式で定義されるエネルギーＪを最小とするように、各シルエット画像または各画像に、曲面をフィッティングする。
【００６３】
【数１】
0004035978.tif 000002
【００６４】
ここで、λ0 , λ1 , αuu, αuv, αvvは、ユーザ指定の定数である。
また、Ｊ0 は、Sullivanらの方法（Steve Sullivan and Jean Ponce,"Automatic Model Construction and Pose Estimation From Photographs Using Triangular Splines," IEEE Trans. PAMI, 20(10), pp.1091-1097, 1998. ）にあるように、ｉ番目のシルエット上のｊ番目の点を通る各視線ｌijと、その視線から最も近い曲面上の点（座標はＰijで与えられる）との距離の２乗和である。つまり、Ｊ0 を示す式の絶対値記号の内部の式は、図７に示される距離ｒに対応する。ただし、各視線ｌijの上の任意の１点の座標ｘは、各画像のカメラ視点座標ｏi および視点からの視線の単位方向ベクトルv ijを用いて、次の（２）式のように表されるものとする。
【００６５】
【数２】
0004035978.tif 000003
【００６６】
また、（１）式におけるＪ1 は、曲面上の各点での各画像対応画素のカラーベクトルの共分散行列の大きさの和である。上の（１）式において、このＪ1 で示される項は、本実施形態に特有のものである。つまり、Ｊ1 の式に示されるσが、上に述べた３次元モデルＭＬＳ上の各点に対応する画像ＦＴ上の各画素の画素値のばらつきを表す。
【００６７】
ここで、曲面上のｋ番目の点での各画像対応画素のカラーベクトルの共分散行列の大きさは、ｉ番目の画像中で対応する画素のカラーベクトルｃkiを用いて、次の（３）式のように表される。
【００６８】
【数３】
0004035978.tif 000004
【００６９】
但し、Ｆk は、曲面上のｋ番目の点が３次元モデルの他の部分で遮蔽されずに画像上に投影される画像のうち、対象物Ｑのシルエット内に投影される画像番号の集合である。
【００７０】
また、ｅ2 は、曲面上のｋ番目の点が物体のシルエット外に投影されることに対するペナルティであり、つぎの（４）式のように表される。
【００７１】
【数４】
0004035978.tif 000005
【００７２】
但し、Ｂk は、曲面上のｋ番目の点が３次元モデルの他の部分で遮蔽されずに画像上に投影される画像のうち、対象物Ｑのシルエット外に投影される画像番号の集合である。
【００７３】
Ｊ1 を最小化することにより、曲面モデルは物体の各部で対応する画素のカラーがなるべく矛盾しないように形状を変形する。
また、（１）式におけるＪ2 は、Sullivanらの方法にあるように曲面上の各点での２次微分の大きさの２乗和であり、シルエットデータが近くにない部分や対応する画素のない部分で曲面モデルをその周りと滑らかに繋ぐ役割を持っている。このとき、Ｂスプラインの制御点をもとの４角形メッシュの頂点のアフィン結合で構成しているので、実際の独立なパラメータはもとの４角形メッシュの頂点座標列である。すなわち、曲面上のｋ番目の点の座標ｐk およびその点での２次微分ベクトルｓuuk , ｓuvk , ｓvvk は、ベースポリゴンメッシュの頂点座標ｑ1 ，…，ｑN を使って、次の（５）式のように表すことができる。
【００７４】
【数５】
0004035978.tif 000006
【００７５】
ここで、β* klは、曲面上の点に対応するＢスプライン関数パラメータから定められる定数である。
よって、曲面をフィッティングするということは、Ｊを最小にするＢスプライン曲面を生成するようにベース４角形メッシュを求める、ということと同じである。
【００７６】
Ｊを最小にするベース４角形メッシュは、Powellの２次収束法などの方法で求めることができる。
本実施形態では、Ｊ0 は、図７に示すように３次元の仮想空間ＶＳ１内において各視線に最も近い曲面上の点の３次元距離ｒの２乗平均とした。しかし、図８に示すように、各画像ＦＴの面上で、対象物Ｑのシルエット上の点に最も近い曲面のシルエット上の点の画像距離の２乗和を用いてもよい。
【００７７】
また、本実施形態では、Ｂスプライン曲面をモデルとしたが、ポリゴンメッシュをモデルとしてもよい。この場合は、ステップ＃１５〜１７を省略することができる。また、ステップ＃１８におけるＪ2 は、例えば、ポリゴンメッシュのエッジをばねで結んだと仮定してそのばねエネルギーとして定義すればよい。
【００７８】
上のステップ＃１８の処理で変形された曲面モデルに対して、シルエット上を通る各視線とその視線から最も近い曲面上の点、および対象物Ｑの表面上の各点に対応する画像点を求め直し、ステップ＃１８の処理を繰り返す。これを収束するまで繰り返す（＃１９）。
【００７９】
対象物Ｑの表面上の各点のカラーを、ステップ＃１８の処理で求めた平均のカラーベクトルｍk に設定する（＃２０）。
テクスチャをマップした曲面モデルを、仮想カメラから見た画像としてレンダリング表示する（＃２１）。
【００８０】
ユーザが必要に応じて指定を行うことにより、曲面上の各点でのカラーのばらつきを表示する（＃２２）。これは、曲面上の各点のカラーベクトルの共分散行列の大きさをマッピングしたカラーベクトル（赤：大／青：小）を、曲面上の各点のテクスチャのカラーベクトルと置き換えてレンダリング表示することにより行われる。また、ユーザが曲面上の任意の１点を指定することにより、図９に示すように、各画像でその点に対応するシルエット内の画素のカラーヒストグラムを表示することができる。
【００８１】
ステップ＃２１および２２での表示によって、３次元モデルにおける入力された画像ＦＴに対する一致度の悪い部分を特定し、その部分をユーザが手動で変形させたり、その部分の曲面パッチの粗さを変更する（＃２３）。
【００８２】
上に述べた実施形態において、ボリューム表現形式から境界表現形式に変換するに際して、例えば公知の零等値面抽出法などを用いることができる。つまり、隣接する頂点（格子点）を結ぶ辺上の零等値面に対応する点を算出し、それらの点を連結した三角ポリゴンを生成することにより、ポリゴンメッシュに変換することができる。
【００８３】
上の実施形態において、デジタルカメラＤＣおよび生成装置１の全体または各部の構成、形状、寸法、個数、材質、対象物Ｑの種類、画像の内容などは、本発明の趣旨に沿って適宜変更することができる。
【００８４】
【発明の効果】
本発明によると、高品質なレンダリングに適した３次元形状モデルを簡便に生成することが可能となる。
【００８５】
請求項１および２の発明によると、対象物についての３次元形状モデルを正しく評価し、高品質なレンダリングに適した３次元形状モデルであるか否かを容易に知ることができる。
【図面の簡単な説明】
【図１】本実施形態に係る３次元形状モデルの生成装置のブロック図である。
【図２】対象物の撮影の様子を説明する図である。
【図３】対象物の３次元モデル上の点を画像に投影する様子を説明する図である。
【図４】画像上に投影された点に対応する画素を示す図である。
【図５】  画像上の各画素の画素値のばらつきを評価する様子を示す図である。
【図６】３次元モデルの生成処理を示すフローチャートである。
【図７】  ３次元モデルとシルエット画像による視線との関係を説明する図である。
【図８】シルエット画像上の距離を示す図である。
【図９】３次元モデル上に表示されたカラーヒストグラムの例を示す図である。
【図１０】３次元モデルの生成処理を示すフローチャートである。
【図１１】シルエット法により共通領域を求める例を示す図である。
【図１２】共通領域のボクセルの例を示す図である。
【符号の説明】
１  生成装置（３次元形状モデルの評価装置、生成装置）
１０  装置本体
１１  磁気ディスク装置
１３  ディスプレイ装置
ＦＴ  画像（撮影画像）
ＧＳ  画素
ＭＬＳ  ３次元モデル（初期状態の３次元形状モデル）
ＭＬ  ３次元モデル（３次元形状モデル）
ＤＣ  デジタルカメラ
Ｑ  対象物
【図１】
0004035978.tif 000007
【図２】
0004035978.tif 000008
【図３】
0004035978.tif 000009
【図４】
0004035978.tif 000010
【図５】
0004035978.tif 000011
【図６】
0004035978.tif 000012
【図７】
0004035978.tif 000013
【図８】
0004035978.tif 000014
【図９】
0004035978.tif 000015
【図１０】
0004035978.tif 000016
【図１１】
0004035978.tif 000017
【図１２】
0004035978.tif 000018