(57)【特許請求の範囲】
【請求項１】
コンピュータがあつかう仮想空間に３次元物体の曲面モデルデータを生成する装置であって、
a)前記仮想空間に前記曲面モデルデータを生成するための初期モデルデータを生成する手段と、
b)現実空間に存在する前記３次元物体を計測することにより得られた３次元座標データの集合である測定点群を入力する手段と、
c)現実空間に存在する前記３次元物体を撮影することにより得られた２次元の画像データからシルエットデータを生成する手段と、
d)前記初期モデルデータの複数の点における局所的な前記初期モデルデータと前記測定点群との近似性を示す第１の適合度を算出する第１の算出手段と、
e)前記初期モデルデータの前記複数の点における局所的な前記初期モデルデータと前記シルエットデータとの近似性を示す第２の適合度を算出する第２の算出手段と、
f)前記複数の点についての前記第１の適合度と前記第２の適合度との総和を用いて定義される所定の評価量が小さくなるように前記初期モデルデータの前記複数の点を移動して前記初期モデルデータを変形することにより前記３次元物体の曲面モデルデータを生成する生成手段と、
を備えることを特徴とする３次元物体の表面形状モデリング装置。
【請求項２】
請求項１に記載の３次元物体の表面形状モデリング装置において、
前記生成手段は、
f-1)前記初期モデルデータに、テンソル積スプライン曲面をフィッティングすることにより前記曲面モデルデータを生成する手段、
を含むことを特徴とする３次元物体の表面形状モデリング装置。
【請求項３】
請求項１または請求項２に記載の３次元物体の表面形状モデリング装置において、
前記第１の算出手段は、
d-1)前記仮想空間中における前記初期モデルデータと前記測定点群との距離を近似性の尺度として第１の適合度を算出する手段、
を含み、
前記第２の算出手段は、
e-1)前記仮想空間中における前記初期モデルデータと前記シルエットデータとの距離を近似性の尺度として第２の適合度を算出する手段、
を含むことを特徴とする３次元物体の表面形状モデリング装置。
【請求項４】
請求項３に記載の３次元物体の表面形状モデリング装置において、
前記第２の算出手段は、
e-1-1)仮想空間上における撮影視点と当該撮影視点に対応するシルエットの輪郭部とを通る視線を定義し、各視線と前記初期モデルデータとの３次元空間上における距離を近似性の尺度として第２の適合度を算出する手段、
を含むことを特徴とする３次元物体の表面形状モデリング装置。
【請求項５】
請求項３に記載の３次元物体の表面形状モデリング装置において、
前記第２の算出手段は、
e-1-2)前記初期モデルデータを２次元空間に投影することにより得られる２次元投影データと、前記シルエットデータとの２次元空間上の距離を近似性の尺度として第２の適合度を算出する手段、
を含むことを特徴とする３次元物体の表面形状モデリング装置。
【請求項６】
請求項３ないし請求項５のいずれかに記載の３次元物体の表面形状モデリング装置において、
前記生成手段は、
f-2)前記第１の適合度と前記第２の適合度とを所定の比率で加算した加算量を含む統合適合度を前記評価量として算出する手段と、
f-3)前記統合適合度が最小となる場合に、前記曲面モデルデータの前記３次元物体への近似性が最も高くなると判断する手段と、
を含むことを特徴とする３次元物体の表面形状モデリング装置。
【請求項７】
コンピュータがあつかう仮想空間に３次元物体の曲面モデルデータを生成するプログラムであって、
コンピュータを、
a)前記仮想空間に前記曲面モデルデータを生成するための初期モデルデータを生成する手段、
b)現実空間に存在する前記３次元物体を計測することにより得られた３次元座標データの集合である測定点群を入力する手段、
c)現実空間に存在する前記３次元物体を撮影することにより得られた２次元の画像データからシルエットデータを生成する手段、
d)前記初期モデルデータの複数の点における局所的な前記初期モデルデータと前記測定点群との近似性を示す第１の適合度を算出する第１の算出手段、
e)前記初期モデルデータの前記複数の点における局所的な前記初期モデルデータと前記シルエットデータとの近似性を示す第２の適合度を算出する第２の算出手段、および、
f)前記複数の点についての前記第１の適合度と前記第２の適合度との総和を用いて定義される所定の評価量が小さくなるように前記初期モデルデータの前記複数の点を移動して前記初期モデルデータを変形することにより前記３次元物体の曲面モデルデータを生成する生成手段、
として機能させることを特徴とするプログラム。
【請求項８】
請求項７に記載のプログラムにおいて、
前記生成手段は、
f-1)前記初期モデルデータに、テンソル積スプライン曲面をフィッティングすることにより前記曲面モデルデータを生成する手段、
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３次元物体の表面形状モデリング技術に関する。
【０００２】
【従来の技術および発明が解決しようとする課題】
＜３次元形状入力機により距離画像を直接取得する方法＞
レーザやパターン光を物体に照射し、物体表面で反射してくる光をセンサで捉えることにより立体物の３次元形状データ（距離画像データ）を密にサンプリングして入力する３次元形状入力機が、近年ＣＧや工業デザインの分野において使用されることが多くなってきた（投光を行わないタイプのものもあるが精度がよくない）。この理由の一つは、３次元形状入力機の使用により現実の物体の形状を仮想空間に借りてくることができ、簡便に望む３次元モデルを作成することが可能となるからである。
【０００３】
しかし、上記のような３次元形状入力機は光の物体表面での乱反射特性を利用しているので、黒髪のような表面反射率の低いもの、金属のような表面が鏡面反射を起こすもの、ガラスのような（半）透明なものなどでは、正しく形状が入力できないか、または、データが欠落してしまう（投光を行わないタイプのものでも同様の現象が発生する）。
【０００４】
＜シルエットデータを利用する方法＞
このような場合には、物体の遮蔽輪郭から物体形状を推定するShape from Silhouette法と呼ばれる手法が使用されることが多い。この中でも最もよく使用されている方法の１つはVolume Intersection法と呼ばれ、すべての画像中のシルエット内に収まる３Ｄ空間の領域を求める。この領域をVisual Hullと呼び、これを求める最も一般的な方法は以下のようになる。
【０００５】
図１１に示すように、物体を複数の視点位置から撮影するとともにそのカメラの位置、姿勢などを記録しておく（図では、複数の視点のうち、視点１，２，３を示している）。次に、図１２に示すように、仮想３次元空間中の多数のボクセルと呼ばれる立法形状要素を配置する。なお、図１１、１２は、いずれも便宜的に２次元の模式図として示している。
【０００６】
そして、記録しておいたカメラの位置、姿勢などを使用して、ボクセルをすべての画像に投影し、ボクセルのうち、すべての画像において対象物に対応する領域内に投影されたもののみを連結することにより物体の形状を再構成する。
【０００７】
Shape from Silhouette法で物体形状を再構成する場合、精度を左右するポイントとなるものの１つは、入力する視点の数である。特に自由曲面物体に対しては、各シルエットに対して、実際の物体表面はごく一部でしか接しないため、生成される３Ｄモデルは接する部分を除いて元の形状からやや外側に膨らんだ形状となる。図１３に、膨らんだ形状として認識される部分（偽の情報）を示している。これを解決するためには、数多くの視点数から入力するほかはない。
【０００８】
しかし、数多くの視点から物体の画像を入力するのはユーザへの負担が大きい。回転台やロボットアームなどを用いて自動的に数多くの視点から物体の画像を入力することや、予め多くのカメラを物体の周りに配置しておくことも考えられるが、この方法では、物体の大きさや形状に強い制限が生まれ、また、装置も高価となる。
【０００９】
＜他の従来の方法＞
そこで、曲面モデルを直接シルエットにフィッティングすることにより、シルエットに内接する曲面モデルを生成する方法が、例えばSullivanらによって提案されている。彼らの方法により、スプライン曲面の持つ滑らかである性質を利用してより少ない視点から入力画像を用いて物体の３Ｄ形状を生成可能である。
【００１０】
ここで、Shape from Silhouette法で作成した３Ｄデータに曲面モデルをフィッティングせず、シルエットに直接曲面モデルをフィッティングしていることが重要である。シルエットから滑らかな曲面モデルを生成するナイーブな方法としてShape from Silhouette法で作成した３Ｄデータに曲面モデルをフィッティングすることが考えられるが、入力視点数が少ない場合には大きな歪みを生じてしまう。なぜなら、前述したように、特に少ない視点数のシルエット画像からShape from Silhouette法で作成した３Ｄデータには多くの偽の情報が含まれるからである。
【００１１】
しかし、この方法を使っても、物体表面の中でどの画像にもシルエットとして画像に表れない凹部分は正しく形状が復元できない。つまり、３次元形状入力機により形状データを入力した場合には、上述したように黒髪部分や金属表面などにおいてデータの欠落が生じるといった問題があり、一方、シルエット画像から３Ｄデータを作成した場合には、凹部分を復元できないといった問題が生じるのである。
【００１２】
そこで、特許第2601607号にあるように、３次元形状入力機により形状データを入力すると同時に、シルエット画像から独立に形状を推定し、物体の各部において物体表面の反射率によりどちらか一方を形状情報として選択する方法が提案されている。
【００１３】
しかし、この方法は、シルエットから形状を独立に推定するため、３次元形状入力機により入力した部分との境界で、段差などの歪みを発生し易いという欠点がある。また、この方法では、シルエットから形状データを推定するのに、曲面を使用していないため、精度良く形状を再現しようとすると数多くの視点からの入力が必須である。
【００１４】
段差を発生させないように、３次元形状入力機で測定した形状とそれとは独立にShape from Silhouette法で推定した形状に、同時に曲面をフィッティングしたり、ブレンドしたりすることも考えられるが、前述したように特に少ない視点数のシルエット画像からShape from Silhouette法で作成した３Ｄデータには多くの偽の情報が含まれるため、うまくいかない。
【００１５】
そこで、本発明は以上のような問題点に鑑み、少ない視点からの撮影データを利用しながら、距離画像データによるモデリング方法とシルエットデータによるモデリング方法の両方の長所を生かした曲面モデルの生成技術を提供することを目的とする。
【００１６】
【課題を解決するための手段】
上記課題を解決するため、請求項１の発明は、コンピュータがあつかう仮想空間に３次元物体の曲面モデルデータを生成する装置であって、a)前記仮想空間に前記曲面モデルデータを生成するための初期モデルデータを生成する手段と、b)現実空間に存在する前記３次元物体を計測することにより得られた３次元座標データの集合である測定点群を入力する手段と、c)現実空間に存在する前記３次元物体を撮影することにより得られた２次元の画像データからシルエットデータを生成する手段と、d)前記初期モデルデータの複数の点における局所的な前記初期モデルデータと前記測定点群との近似性を示す第１の適合度を算出する第１の算出手段と、e)前記初期モデルデータの前記複数の点における局所的な前記初期モデルデータと前記シルエットデータとの近似性を示す第２の適合度を算出する第２の算出手段と、f)前記複数の点についての前記第１の適合度と前記第２の適合度との総和を用いて定義される所定の評価量が小さくなるように前記初期モデルデータの前記複数の点を移動して前記初期モデルデータを変形することにより前記３次元物体の曲面モデルデータを生成する生成手段と、を備えることを特徴とする。
【００１７】
請求項２の発明は、請求項１に記載の３次元物体の表面形状モデリング装置において、前記生成手段は、f-1)前記初期モデルデータに、テンソル積スプライン曲面をフィッティングすることにより前記曲面モデルデータを生成する手段、を含むことを特徴とする。
【００１８】
請求項３の発明は、請求項１または請求項２に記載の３次元物体の表面形状モデリング装置において、前記第１の算出手段は、d-1)前記仮想空間中における前記初期モデルデータと前記測定点群との距離を近似性の尺度として第１の適合度を算出する手段、を含み、前記第２の算出手段は、e-1)前記仮想空間中における前記初期モデルデータと前記シルエットデータとの距離を近似性の尺度として第２の適合度を算出する手段、を含むことを特徴とする。
【００１９】
請求項４の発明は、請求項３に記載の３次元物体の表面形状モデリング装置において、前記第２の算出手段は、e-1-1)仮想空間上における撮影視点と当該撮影視点に対応するシルエットの輪郭部とを通る視線を定義し、各視線と前記初期モデルデータとの３次元空間上における距離を近似性の尺度として第２の適合度を算出する手段、を含むことを特徴とする。
【００２０】
請求項５の発明は、請求項３に記載の３次元物体の表面形状モデリング装置において、前記第２の算出手段は、e-1-2)前記初期モデルデータを２次元空間に投影することにより得られる２次元投影データと、前記シルエットデータとの２次元空間上の距離を近似性の尺度として第２の適合度を算出する手段、を含むことを特徴とする。
【００２１】
請求項６の発明は、請求項３ないし請求項５のいずれかに記載の３次元物体の表面形状モデリング装置において、前記生成手段は、f-2)前記第１の適合度と前記第２の適合度とを所定の比率で加算した加算量を含む統合適合度を前記評価量として算出する手段と、f-3)前記統合適合度が最小となる場合に、前記曲面モデルデータの前記３次元物体への近似性が最も高くなると判断する手段と、を含むことを特徴とする。
【００２４】
請求項７の発明は、コンピュータがあつかう仮想空間に３次元物体の曲面モデルデータを生成するプログラムであって、コンピュータを、a)前記仮想空間に前記曲面モデルデータを生成するための初期モデルデータを生成する手段、b)現実空間に存在する前記３次元物体を計測することにより得られた３次元座標データの集合である測定点群を入力する手段、c)現実空間に存在する前記３次元物体を撮影することにより得られた２次元の画像データからシルエットデータを生成する手段、d)前記初期モデルデータの複数の点における局所的な前記初期モデルデータと前記測定点群との近似性を示す第１の適合度を算出する第１の算出手段、e)前記初期モデルデータの前記複数の点における局所的な前記初期モデルデータと前記シルエットデータとの近似性を示す第２の適合度を算出する第２の算出手段、および、f)前記複数の点についての前記第１の適合度と前記第２の適合度との総和を用いて定義される所定の評価量が小さくなるように前記初期モデルデータの前記複数の点を移動して前記初期モデルデータを変形することにより前記３次元物体の曲面モデルデータを生成する生成手段、として機能させることを特徴とする。
【００２５】
請求項８の発明は、請求項７に記載のプログラムにおいて、前記生成手段は、f-1)前記初期モデルデータに、テンソル積スプライン曲面をフィッティングすることにより前記曲面モデルデータを生成する手段、を含むことを特徴とする。
【００２６】
【発明の実施の形態】
以下、図面を参照しつつ本発明の実施の形態について説明する。
【００２７】
｛１．システム構成｝
図１、図２を参照しながら、撮影装置１０および立体チャート２からなる撮影用システム、および、曲面モデル生成プログラムＡＰがインストールされたパーソナルコンピュータ２０（以下、ＰＣ２０とする）の構成について説明する。
【００２８】
撮影装置１０は、３次元物体である被写体１の２次元（２Ｄ）カラー画像と距離画像（３次元座標のデータ群）とを同時取得可能な装置である。本実施の形態においては、図２に示すように、デジタルカメラ兼用レンジカメラを撮影装置１０として利用する。
【００２９】
被写体１が配置される空間内において、被写体１の近傍には、カメラ校正用の立体チャート２が配置されている。立体チャート２は、略角錐状の本体の各側面にチャートパターンＣＰが施された立体物であり、チャート支持具から吊り下げられている。好ましくは、立体チャート２は被写体１の略上方に吊り下げられる。
【００３０】
撮影装置１０は、被写体撮影用カメラ１０ａと可動式カメラ１０ｂとを備えている。さらに、被写体撮影用カメラ１０ａは、デジタルカメラとしての機能を有する２Ｄ撮影部１１と、被写体１の距離画像を取得する３Ｄ測定部１２とを備えている。そして、被写体撮影用カメラ１０ａの上部に、位置・姿勢センサとして機能する可動式カメラ１０ｂが姿勢変更自在に取り付けられている。
【００３１】
可動式カメラ１０ｂは、立体チャート２上のパターンに含まれる複数の単位図形を撮影することにより、立体チャート２と可動式カメラ１０ｂとの相対的な位置姿勢関係を特定し、さらには立体チャート２に対して相対的に固定された絶対座標系における、被写体撮影用カメラ１０ａの位置および姿勢を検出するために使用される。
【００３２】
撮影装置１０では、被写体撮影用カメラ１０ａによって、被写体１の２Ｄカラー画像および距離画像が入力される際に、同時に、立体チャート２を追尾している可動式カメラ１０ｂによって、立体チャート２の画像が撮影される。そして、解析部１５において、被写体撮影カメラ１０ａの撮影した画像と、可動式カメラ１０ｂの撮影した画像との解析処理が行われ、被写体撮影用カメラ１０ａの撮影位置データ４３２および撮影姿勢データ４３３が算出される（これらのデータは、図５に示すように、後でＰＣ１０側に転送される）。なお、可動式カメラ１０ｂに代えて、撮影装置１０に加速度センサ付ジャイロセンサを搭載することにより、位置・姿勢データの検出を行うようにしてもよいし、可動式カメラ１０ｂとジャイロセンサとを併用してもよい。
【００３３】
そして、算出された撮影位置データ４３２および撮影姿勢データ４３３（距離画像データに関して言えば、測定位置データ４３２および測定姿勢データ４３３と呼ぶべきであるが）が、被写体１の２Ｄカラー画像データ４１、距離画像データ４２と組になってメモリ１６に記録される。
【００３４】
このとき、光学ユニット制御データ４３１も同様に一組となってメモリ１６に記録される。光学ユニット制御データ４３１は、被写体撮影用カメラ１０ａの光学ユニット１３から出力される制御信号をデータ化したものであり、被写体撮影用カメラ１０ａのフォーカス、ズームなどの制御情報である。
【００３５】
この光学ユニット制御データ４３１、撮影位置データ４３２、および、撮影姿勢データ４３３を総称して環境データ４３と呼ぶことにする。
【００３６】
ＰＣ２０は、ＣＰＵ２１、メモリ２２等を備えており、ハードディスク２３には、曲面モデル生成プログラムＡＰがインストールされている。曲面モデル生成プログラムＡＰの処理内容については後述するが、撮影装置１０から入力した２Ｄカラー画像データ４１、距離画像データ４２、環境データ４３から、被写体１の３次元モデルを生成する処理を実行するものである。
【００３７】
撮影装置１０からＰＣ２０へのデータの転送方法は特に限定されるものではないが、たとえば、ＩｒＤＡ（Infrared Data Association）規格による赤外線通信などを利用することが可能である。
【００３８】
｛２．曲面モデル作成手順の概要｝
以上の構成からなる３次元モデル生成システムによる曲面モデル作成手順を、図３のフローチャートを用いて説明する。
【００３９】
まず、撮影装置１０を用いて、複数視点から２Ｄカラー画像および距離画像の撮影および測定を行う。撮影装置１０を被写体１の様々な方向に移動させながら、撮影および測定を行うことにより、これら２Ｄカラー画像データ４１、距離画像データ４２と環境データ４３とが一組としてメモリ１６に順次記録される（ステップＳ１）。
【００４０】
次に、撮影装置１０に記録された２Ｄカラー画像データ４１、距離画像データ４２および環境データ４３をＰＣ２０に転送する（ステップＳ２）。
【００４１】
そして、ＰＣ２０において、曲面モデル生成プログラムＡＰを起動させ、２Ｄカラー画像データ４１、距離画像データ４２、環境データ４３を入力データとして処理を実行し、３次元形状モデルである曲面モデルデータ４９を生成する（ステップＳ３）。
【００４２】
｛３．曲面モデル生成プログラムによる処理内容｝
次に、図４のフローチャートおよび図５を参照しながら、曲面モデル生成プログラムＡＰの処理内容について説明する。図５は、曲面モデル生成部３０の機能ブロック構成と各種データの流れを表した図である。曲面モデル生成部３０は、曲面モデル生成プログラムＡＰが、ＰＣ２０のハードウェア資源を利用することにより実現される機能部であり、図では、さらに、その機能構成を分解して示している。
【００４３】
曲面モデル生成部３０は、まず、データ入力部３１により、２Ｄカラー画像データ４１、距離画像データ４２および環境データ４３を入力する（ステップＳ３１）。ここで、光学ユニット制御データ４３１は、事前に作成されている光学ユニット制御データと光学パラメータとの対応テーブルを利用して光学パラメータに変換される。
【００４４】
＜３−１．距離画像データの変換＞
次に、曲面モデル生成部３０の座標変換部３２により距離画像データ４２の座標変換が行われる（ステップＳ３２）。撮影装置１０から出力される距離画像データ４２は、様々な撮影位置および撮影姿勢で測定された３次元座標のデータ群であり、これらは、被写体撮影用カメラ１０ａの位置を基準とした相対座標として記録されたものである。
【００４５】
そこで、座標変換部３１は、環境データ４３に含まれる撮影位置データ４３２、撮影姿勢データ４３３をもとに、距離画像データ４２の相対座標値をワールド座標値に変換するのである。ワールド座標値は、仮想空間上に定義された原点を基準とした座標系であり、様々な撮影位置、撮影姿勢で測定された距離画像データ４２が、ワールド座標値に変換されることにより、これらを統一した座標系で扱うことが可能となる。そして、距離画像データ４２をワールド座標値において統合することで被写体１の３次元形状データを生成することが可能となるのである。このワールド座標値に変換された距離画像データを、距離画像データ４５とする。
【００４６】
＜３−２．シルエットデータの生成＞
次に、曲面モデル生成部３０の画像解析部３３により２Ｄカラー画像データ４１からシルエット画像データ４４の生成処理が行われる（ステップＳ３３）。画像解析部３２は、２Ｄカラー画像データ４１を解析し、物体表面と背景との色差をもとに、物体の輪郭を抽出し、シルエットデータ４４を生成するのである。シルエット画像データ４４は、２値化された画像データであり、たとえば、輪郭の内部を"１"、輪郭の外部を"０"とするようなデータである。
【００４７】
このシルエット画像データ４４は、ある視点（撮影位置）から見た被写体１のシルエット、つまり、被写体１の２次元空間への投影画像である。そして、様々な視点から撮影された２Ｄカラー画像データ４１が、それぞれ、シルエット画像データ４４に変換されることにより、被写体１を各視点からみたシルエットが取得されるのである。
【００４８】
＜３−３．初期モデルデータの生成＞
次に、初期モデル生成部３４によりシルエット画像データ４４を利用して初期モデルデータ４７が生成される（ステップＳ３４）。初期モデルデータ４７は、曲面モデル生成部３０が最終的に出力する曲面モデルデータ４９を生成するための基本となるデータである。つまり、曲面モデル生成部３０は、まず、被写体１の大まかな曲面モデルとして初期モデルデータ４７を生成し、この初期モデルデータ４７を加工することにより、最終的に精度の高い（つまり、現実空間の被写体１により近い）曲面モデルデータ４９を生成するのである。
【００４９】
初期モデルデータ４７の生成処理について図６のフローチャートを参照しながら説明する。本実施の形態においては、Shape from Silhouette法、とくに、Volume Intersection法により物体の大まかな形状データを生成する（ステップＳ３４１）。
【００５０】
上述したようにVolume Intersection法は、仮想３次元空間中に多数のボクセルと呼ばれる立方体形状を配置する。そして、各視点（撮影点）と、当該視点からの撮影により取得されたシルエット画像データ４４の輪郭（外周部）を結ぶ錐体状の領域内のボクセルを抽出する。そして、各錐体状の領域との共通部分に存在するボクセルを連結することにより被写体１の大まかな形状データが生成される。つまり、Volume Intersection法により求められる被写体１の形状データは、多数の立法格子の集合体として仮想空間上に配置されるものである。
【００５１】
なお、各シルエット画像データ４４は、異なる視点（撮影位置）から撮影された２Ｄカラー画像４１から抽出されたデータであるため、これら複数のシルエット画像データ４４を統合して処理するためには、共通の座標系に変換する必要がある。そこで、初期モデル生成部３４は、環境データ４３に含まれる光学ユニット制御データ４３１（光学パラメータ）、撮影位置データ４３２、撮影姿勢データ４３３を利用することによって、各視点を共通のワールド座標系に配置したうえで、上記Volume Intersection法を実行するのである。
【００５２】
Volume Intersection法により物体の大まかな形状データが求まると、次に、そのデータを３角ポリゴンメッシュデータに変換する（ステップＳ３４２）。さらに、後の工程で曲面化を行うために、３角ポリゴンメッシュデータを４角ポリゴンメッシュデータに変換する（ステップＳ３４３）。
【００５３】
３角ポリゴンメッシュデータを４角ポリゴンメッシュデータに変換する方法は、たとえば、Matthias Eck and Hugues Hoppe, "Automatic reconstruction of B-spline surface of arbitrary topological type",SIGGRAPH'96 Proceedings,1996,Pages325−334にあるように隣接する３角形同士を組み合わせて４角形にすることにより行うことができる。
【００５４】
さらに、上記のEckの論文にある方法により、４角形メッシュデータからＢスプライン曲面を生成する（ステップＳ３４４）。この方法を用いるとＢスプライン曲面の制御点は、すべて変換前の４角形メッシュの頂点のアフィン結合で与えられる。
【００５５】
Eckらの方法では、４角形メッシュの各ポリゴンに対して自身の頂点と隣接するポリゴンの頂点のアフィン結合により、スプライン曲面パッチを生成する。このとき、隣り合う曲面パッチ同士が滑らかに接続されるようにアフィン結合係数を定めることにより全体として滑らかなスプライン曲面を生成する。
【００５６】
ベクトルｙがベクトルｘ1，ｘ2，…ｘNのアフィン結合で表されているとは、ベクトルｙが数１式で表されていることをいう。
【００５７】
【数１】
0004635392.tif 000002
【００５８】
Eckの論文では、ｊ番目のＢスプライン曲面の制御点ｙjは、元の４角形メッシュの頂点ｘ1，ｘ2，…ｘNを使って数２式のように表されている。
【００５９】
【数２】
0004635392.tif 000003
【００６０】
Ｂスプライン曲面は、パラメトリック曲面であるテンソル積スプライン曲面の１つであり、Ｂスプライン曲線と同様の方式で定義される自由曲面である。本実施の形態においては、このように、テンソル積スプライン曲面を利用しているので、一般的なＣＡＤやＣＧのソフトウェアによって、本システムにより生成された曲面モデルを容易に読み込むことが可能である。また、スプライン曲線は、制御点を移動させることにより、曲線の曲率または張力をコントロールすることが可能であるが、Ｂスプライン曲線は、制御点の移動により局所的な曲線の制御が可能であるという特徴があるので、曲面モデルの修正作業などが行い易い。
【００６１】
本実施の形態においては、Ｂスプライン曲面を使用したが、陰的多項関数、ベジェ曲面パッチ、グレゴリ−パッチ、ＮＵＲＢＳなどの他の表現の曲面を使用してもよい。
【００６２】
以上の初期モデル生成部３４の処理により、被写体１の初期モデルデータ４７が生成される。なお、本実施の形態においては、初期モデルデータ４７を生成するために、Shape from Silhouette法を利用したが、初期モデルの生成方法は特に限定されるものではない。また、計測データを利用せずに、あらかじめディスク等に蓄積されている所定立体形状サンプルの３Ｄデータをロードして利用するようにしてもよいし、プリミティブを組み合わせること等により初期モデルを作成するようにしてもよい。
【００６３】
以上説明した、距離画像データ４２のワールド座標への変換処理（ステップＳ３２）と、初期モデルデータ４７の生成処理（ステップＳ３４）の処理順序は特に限定されるものではなく、初期モデルデータ４７の生成処理後、距離画像データ４２のワールド座標への変換処理を実行するようにしてもよい。
【００６４】
＜３−４．フィッティング処理＞
次に、ステップＳ３４で求めた初期モデルデータ４７を用いて最終的な３Ｄモデルデータ４９を生成する処理について説明する。具体的には、初期モデルデータ４７と距離画像データ４５との間で、仮想空間における両データの近似性を適合度として求め、また、初期モデルデータ４７とシルエット画像データ４４との間で、仮想空間における両データの近似性を適合度として求め、この２つの適合度の加算量を含む統合適合度をエネルギーとして評価するのである。そして、このエネルギーが最小となるように、初期モデルデータ４７を変形することによって３Ｄモデルデータ４９を生成するのである。３Ｄモデルデータ４９の生成は、初期モデルデータ４７にＢスプライン曲面をフィッティングすることによって行われる（ステップＳ３５）。
【００６５】
ここで、上述した距離画像データ４５との適合度とシルエット画像データ４４との適合度の加算量を含むエネルギーの評価は、次の式を用いる。
【００６６】
【数３】
0004635392.tif 000004
【００６７】
数３式中、Ｊ0は、Sullivanの論文にあるようにシルエット上を通る各視線と、その視線から最も近い曲面モデルデータ４９（初期状態は初期モデルデータ４７）の曲面上の１点との距離の２乗平均である。
【００６８】
具体的な算出方法を図７を参照しながら説明する。視点Ａと当該視点Ａに対応するシルエットＢについて、シルエットＢの輪郭上の点と視点Ａとを結ぶ視線Ｃを考える。この視線Ｃを仮想空間上において初期モデルデータ４７の領域まで延長させると、初期モデルデータ４７の曲面上の各点と各視線Ｃまでの距離ｄを算出することができる。そして、各視線Ｃについて最も近い曲面上の点を選択してその距離ｄを算出し、全視線について、そのような距離ｄの２乗平均を算出するのである。
【００６９】
Sullivanらの方法では、シルエットを通る視線が初期モデルデータ４７の曲面と交差しないとき（図８で示すようなケース）は視線から最も近い曲面上の点Ｐ１を最近点とする。しかし、交差するとき（図９で示すようなケース）は交差する点が常に最近点となってしまうので、これを避けるために、視線からシルエットの外側に向かう法線ｎの方向に最も遠い曲面上の点を最近点Ｐ２として選択する方法がとられているのである。ステップＳ３４１においてボクセルの連結として生成された形状モデルは、シルエットを通る視線と交差することはないが、その形状モデルがステップＳ３４２〜Ｓ３４４において、３角メッシュ、４角メッシュ、Ｂスプライン曲面と変形される際に外側に膨らんで変形される場合がある。このような場合に、視線と初期モデルデータ４７の曲面とが交差する場合が生じるのである。
【００７０】
また、視線に最も近い点の探索は、初期モデルデータ４７の曲面上の全ての点について、あらかじめ３次元座標値を求めておき、その中で最も視線に近いものを選択するという方法により、より簡単に算出することが可能である。
【００７１】
各視線について最も近い曲面上の点を選択する方法として、上記方法は、視線に３次元的に最も近い点を探索する方法をとっているが、画像面上で２次元的に最も近い点を探索する方法でもよい。たとえば、図１０に示すように、初期モデルデータ４７をシルエット画像データ４４と同一の平面上に投影し（この投影されたデータを投影データＥとする）、投影された曲面のシルエット上の点の中から、シルエットの輪郭Ｆ上の点と最も近い点を選択する方法などが考えられる。ただし、この方法をとる場合、視線と３次元的に最も近い点として選択された点とは同じ点が選択されるわけではない。
【００７２】
また、上記方法は、視線と選択された点との３次元的な距離の２乗和を最小とするように評価する方法であるが、画像面上において２次元的な距離（図１０における距離ｄ'）の２乗和を最小とするように評価する方法でもよい。このような方法をとった場合にも似たような効果が得られるが、たとえば、シルエット画像データ４４の中に何枚かのズームアップされた画像が含まれている場合などでは結果に差が生じる。つまり、ズームアップされた画像では、非ズームの場合と比較して、実空間での距離が同じであっても２Ｄ画面上ではその距離に対応する画素数が多くなるために、２次元的な距離を評価する方法においては、ズームアップして撮影したシルエット画像に対しては、曲面モデルデータ４との距離が非ズーム画像よりも大きな測度（measure）で評価されることになり、そのシルエットに合致するように重み付けられてフィッティングされるという効果がある。したがって、被写体１の形状の中で特に精密にフィッティングしたい部分がある場合には、他の部分と比較して２Ｄ画像の取得の際にその部分の撮影倍率を上げるようにすればよいことになる。
【００７３】
また、Ｊ1は、距離画像中の各３Ｄ点とその３Ｄ点から最も近い曲面モデルデータ４９（初期状態は初期モデルデータ４７）の曲面上の１点との距離の２乗平均である。
【００７４】
Ｊ2は、やはり、Sullivanの論文にあるように曲面の各部での曲率を評価したものの和であり、一般にthin-plate energyと呼ばれるものである。そして、エネルギーＪ2が小さくなるように曲面をフィッティングするということは、曲面を滑らかに繋ぐという効果が得られるものであり、特に、距離画像データ４５やシルエット画像データ４４が近くにない曲面部分を、その周りと滑らかに繋ぐ役割がある。
【００７５】
すなわち、エネルギーＪの各成分Ｊ0、Ｊ1、Ｊ2のうち、
(1)  Ｊ0は、曲面モデルデータ４９（初期状態は初期モデルデータ４７）とシルエット画像データ４４との位置ずれに対応する位置エネルギー、
(2)  Ｊ1は、曲面モデルデータ４９（初期状態は初期モデルデータ４７）と距離画像４５との位置ずれに対応する位置エネルギー、
(3)  Ｊ2は、曲面モデルデータ４９（初期状態は初期モデルデータ４７）の弾性エネルギー、
に相当し、それらのエネルギーの総和を最小とするような変分原理に基づいて、曲面モデルデータ４９を決定する。
【００７６】
このように、本実施の形態においては、曲面をフィッティングする評価として、シルエット画像データ４４との距離を近似性の尺度とした適合度と、距離画像データ４５との距離を近似性の尺度とした適合度の両方を評価し、これら適合度の総和が小さくなるように評価しているので、様々な形状、表面特性の被写体１に対しても、より現物に近い形状モデルを被写体１の全周にわたって構成することが可能である。
【００７７】
また、上記Ｊ0，Ｊ1は、それぞれ距離の２乗平均を近似性の尺度として用いているが、近似性の尺度はこれに限定されるものではない。たとえば、距離の絶対値の平均を最小にするような評価をすることも可能である。いずれにしても、ユークリッド空間上における距離を近似性の尺度とし、距離画像とシルエットの双方に対して距離が小さくなるような評価を行うことにより、現実の物体と視覚的に近似した形状モデルを構成することが可能となるのである。
【００７８】
数３式を最小とするＢスプライン曲面のパラメータは、たとえば、山登り法などを用いて反復計算することができる。
【００７９】
ここで、上述したようにＢスプライン曲面の制御点はもとの４角形メッシュデータの頂点のアフィン結合で構成されている。つまり、Ｂスプライン曲面の制御点は元の４角形メッシュの頂点列のアフィン結合として一意に決めることができるので、この曲面の形状を決定する本質的な情報は元の４角形メッシュの頂点列がすべて持っていることとなる。したがって、元の４角形メッシュの頂点列を動かすことのみで、曲面の形状を完全に制御することができるのである。よって、フィッティング処理部３５は、元の４角形メッシュの頂点列を動かすことによりデータにフィットする曲面形状を生成するのである。
【００８０】
なお、λ0λ1λ2は、ユーザ指定の定数である。ユーザはこれらの定数を操作することにより、距離画像データとの評価を重視する、シルエットデータとの評価を重視する、曲率との評価を重視する、といった重み付けをすることができるのである。被写体１に低反射率の部分が多い場合にはシルエットデータとの評価を重視することが効果的であろうし、凹部が多い場合には、距離画像データとの評価を重視することが効果的である。
【００８１】
上記方法により、エネルギーＪが最小となるように変形した曲面モデルデータに対して、再び、シルエット上を通る各視線とその視線から最も近い曲面上の点、および、距離画像中の各３Ｄ点とその３Ｄ点から最も近い曲面上の点を求め直し、さらに、エネルギーＪが最小となるように操作を繰り返す。そして、エネルギーＪが収束したところで処理を終了し曲面モデルデータ４９を出力するのである。
【００８２】
すなわち、エネルギーＪは、曲面モデルデータ上の各制御点をパラメータとする多変数関数であるため、エネルギーＪの全体を最小化するように制御点を動かしたときに、制御点のそれぞれが直接に関係する局所エネルギーのすべてが最小になっているとは限らず、一部の制御点付近の局所エネルギーが変化前よりも高くなったり、制御点と参照画像（シルエット画像や距離画像）との距離を規定する参照画像上の点（図８および図９の例で言えば、点Ｐ１やＰ２：以下「距離定義点」）が、変化前とは別の領域に出現する場合がある。したがって、エネルギーＪを一回だけ最小化してもそれが最適解とは限らないため、エネルギーＪを一回最小化するごとに距離定義点を再定義し、新たな距離定義点に基づいてエネルギーＪの最小化を再度行う、という繰返し演算を、エネルギーＪが収束するまで行って（換言すれば、距離定義点の再定義が不要になるまで行って）、最終的な最適解を得ることになる。
【００８３】
フィッィング処理部３５により曲面モデルデータ４９が生成されると、生成された形状モデルがモニタ２４上に表示される。さらに、ユーザは、必要に応じて、曲面モデルデータ４９に対して修正を加える。また、ユーザは生成された曲面モデルデータ４９を他のＣＧソフトウェア等により自由に修正することが可能である。
【００８４】
本実施の形態にかかる曲面モデル生成プログラムは、主に映像製作などの分野に利用される。最近では、ＷＥＢ上で３Ｄを表示することにより、ＷＥＢ上の３Ｄカタログや３Ｄマニュアルが提供されているが、これら３Ｄデータには、物体の全周について、より現物に近い形状モデルが必要とされる。本実施の形態にかかる曲面モデル生成プログラムを利用することで、物体に表面反射率の低い部分や、凹部が存在する場合でも、少ない視点数から物体の全周について形状モデルを構成することが可能であるので、これらの分野への応用が可能である。
【００８５】
【発明の効果】
以上説明したように、請求項１記載の発明では、３次元物体を計測することにより得られた３次元座標データの集合である測定点群と、３次元物体を撮影することにより得られた２次元のシルエットデータの両方について近似性を総合的に評価することにより、曲面モデルを生成するので、特に、３次元物体の凹部における形状再現性を最大限保ちながらデータ欠落のない３次元形状モデルを少ない入力視点数で生成可能となる。
【００８６】
また、曲面を使用する副次的な効果として、ノイズやキャリブレーションエラーの影響をデータ平滑化により緩和したり、ポリゴンメッシュなどに比べて少ないデータ量で自由曲面を表すなどの効果が得られる。
【００８７】
請求項２記載の発明では、曲面の形態として、テンソル積スプライン曲面を採用したので、一般的なCADやCGソフトウェアで容易に読み込むことができ、それらのソフトウェアを利用して修正を行うことや、解析を行うことが可能となる。
【００８８】
請求項３記載の発明では、初期モデルデータと測定点群との距離を近似性の尺度として第１の適合度を算出し、初期モデルデータとシルエットデータとの距離を近似性の尺度として第２の適合度を算出するので、測定点群とシルエットデータの双方と視覚的に近似した形状モデルを生成することが可能である。
【００８９】
請求項４記載の発明では、シルエット上を通る各視線と初期モデルデータとの距離を近似性の尺度として第２の適合度を算出するので、より再現性の高い３次元モデルを生成可能である。
【００９０】
請求項５に記載の発明では、初期モデルデータとシルエットデータとの２次元の画像面上における距離を近似性の尺度として第２の適合度を算出するので、より再現性の高い３次元モデルを生成可能である。
【００９１】
請求項６記載の発明では、初期モデルデータと測定点群との距離を近似性の尺度とした第１の適合度と、初期モデルデータとシルエットデータとの距離を近似性の尺度とした第２の適合度との加算量を含む統合適合度を評価し、統合適合度が最も小さくなるように曲面モデルを生成するので、２つの適合度を融合した総合評価が可能となる。
【００９３】
請求項７、８記載の発明は、プログラムの発明であり、当該プログラムがコンピュータにおいて実行されることにより、３次元物体の凹部における形状再現性を最大限保ちながらデータ欠落のない３次元形状モデルを少ない入力視点数で生成可能となる。
【図面の簡単な説明】
【図１】３次元形状モデルを生成するシステム全体構成を示す図である。
【図２】撮影システムのイメージ図である。
【図３】曲面モデル作成の全体の手順を示すフローチャートである。
【図４】曲面モデル生成プログラムの機能ブロック構成図と、データの流れを示す図である。
【図５】曲面モデル生成プログラムの処理内容を示すフローチャートである。
【図６】初期モデルデータの生成処理を示すフローチャートである。
【図７】シルエット画像データとの距離を３次元空間上で算出する方法を示す図である。
【図８】視線と曲面とが交差しない場合に定義される距離を示した図である。
【図９】視線と曲面とが交差する場合に定義される距離を示した図である。
【図１０】シルエット画像データとの距離を２次元空間上で算出する方法を示す図である。
【図１１】  Volume Intersection法による形状データの生成方法を示す図である。
【図１２】  visual hull内に存在するボクセルを示す図である。
【図１３】各視線と物体との接点、および、Volume Intersection法によって生成された形状データの偽の情報の存在を示す図である。
【符号の説明】
１    被写体（３次元物体）
１０  撮影装置
２０  ＰＣ
３１  データ入力部
３２  座標変換部
３３  画像解析部
３４  初期モデル生成部
３５  フィッティング処理部
４１  ２Ｄカラー画像データ
４２  距離画像データ
４３  環境データ
４４  シルエット画像データ
４５  （ワールド座標系）距離画像データ
４７  初期モデルデータ
４９  曲面モデルデータ
ＡＰ  曲面モデル生成プログラム
【図１】
0004635392.tif 000005
【図２】
0004635392.tif 000006
【図３】
0004635392.tif 000007
【図４】
0004635392.tif 000008
【図５】
0004635392.tif 000009
【図６】
0004635392.tif 000010
【図７】
0004635392.tif 000011
【図８】
0004635392.tif 000012
【図９】
0004635392.tif 000013
【図１０】
0004635392.tif 000014
【図１１】
0004635392.tif 000015
【図１２】
0004635392.tif 000016
【図１３】
0004635392.tif 000017