(57)【特許請求の範囲】
【請求項１】
互いに視点の異なる複数の画像を入力する手段と、
入力された複数の画像のそれぞれに対して解像度変換を行い、解像度の異なる複数の画像を生成する手段と、
解像度の低い画像を用いて互いに視点の異なる画像間の対応付けを行い、低解像度の３次元データの再構成を行う手段と、
再構成された低解像度の３次元データに対して標準モデルをフィッティングする手段と、フィッティングの結果に基づいて、前記標準モデル上で設定されている特定の領域を前記画像よりも解像度の高い画像上に投影する手段と、
解像度の高い画像上に投影された領域上にある高解像度画像を用いて互いに視点の異なる画像間の対応付けを行い、高解像度の３次元データの再構成を行う手段と、
前記特定の領域の低解像度の３次元データを高解像度の３次元データによって置き換える手段と、
を備えたことを特徴とする３次元形状データの生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、高精度な３次元形状データを高速で生成する装置に関する。
【０００２】
【従来の技術】
近年において、映画やゲームなどに３次元ＣＧ（３次元コンピュータグラフィックス）の技術がしばしば用いられている。３次元ＣＧでは、仮想的な３次元空間内に３次元モデルやライトを配置して動かすので、表現の自由度が高い。
【０００３】
従来より、光切断法などによる非接触型の３次元計測装置が実用化されており、これを用いて計測を行うことにより、対象物の３次元形状データを作成することができる。
【０００４】
また、２台のカメラを用いて対象物についての複数の画像を取得し、これらの画像から３次元形状データを生成するステレオ撮像装置が知られている。ステレオ撮像装置は、外部パラメータ（カメラの位置、姿勢）と内部パラメータ（焦点距離、画素ピッチ）が校正された複数のカメラから構成される。得られた複数の画像について互いの対応点を検索（探索または検出ともいう）し、三角測量の原理で距離を測定する。対応点の検索方法として、相関法または勾配法などがある。
【０００５】
【発明が解決しようとする課題】
上のようにして作成された３次元形状データは、全体の解像度が一様である。そのため、データ量が多すぎて処理に時間がかかったり、データ量が少なすぎて精度が悪かったりする。
【０００６】
例えば、ステレオ撮像装置による場合に、得られる距離精度、つまり対象物の形状の精度は、対応点の検索精度に依存する。対応点の精度は、画像の解像度が高いほど高くなる。しかし、対応点の精度または解像度が高くなるほど、処理時間が増加する。それに応じて、得られる３次元形状データのデータ量も大きくなる。
【０００７】
通常、モデリングされる物体には複雑な形状特徴を持つ部分と複雑でない形状特徴を持つ部分とが混在する。例えば人間の頭部を例にとると、目、鼻、口、耳などは複雑な形状特徴を持っているが、頬や額は比較的単純な形状特徴しか持っていない。
【０００８】
従来において、このような複雑な形状特徴部分と単純な形状特徴部分とが混在する物体をモデリングする場合に、複雑な形状をモデリングするに必要な精度で撮影または計測を行い、得られた３次元データを各部分の３次元特徴に応じて削減することにより、データ量の削減を図っていた。
【０００９】
しかし、このような従来の手法おいては、まず高精度の３次元データを生成し、次にデータ削減処理を行うため、全体の処理時間が増大するという問題があった。
【００１０】
本発明は、上述の問題に鑑みてなされたもので、複雑な形状特徴を持つ領域の精度を高精度に保つことができ、しかも処理時間を低減することのできる３次元形状データの生成装置を提供することを目的とする。
【００１３】
本発明に係る装置は、互いに視点の異なる複数の画像を入力する手段と、入力された複数の画像のそれぞれに対して解像度変換を行い、解像度の異なる複数の画像を生成する手段と、解像度の低い画像を用いて互いに視点の異なる画像間の対応付けを行い、低解像度の３次元データの再構成を行う手段と、再構成された低解像度の３次元データに対して標準モデルをフィッティングする手段と、フィッティングの結果に基づいて、前記標準モデル上で設定されている特定の領域を前記画像よりも解像度の高い画像上に投影する手段と、解像度の高い画像上に投影された領域上にある高解像度画像を用いて互いに視点の異なる画像間の対応付けを行い、高解像度の３次元データの再構成を行う手段と、前記特定の領域の低解像度の３次元データを高解像度の３次元データによって置き換える手段とを備える。
【００１４】
【発明の実施の形態】
図１は本発明に係るモデリング装置１を示すブロック図である。
本実施形態においては、互いに視点の異なる２台のカメラで人の頭部を撮影し、得られた２枚の画像に基づいて頭部の３次元モデル（３次元形状データ）ＭＬを生成する。
【００１５】
図１に示すように、モデリング装置１は、処理装置１０、磁気ディスク装置１１、媒体ドライブ装置１２、ディスプレイ装置１３、キーボード１４、マウス１５、スキャナー１６、およびカメラＣＭａ，ＣＭｂなどからなる。
【００１６】
処理装置１０は、ＣＰＵ、ＲＡＭ、ＲＯＭ、ビデオＲＡＭ、入出力ポート、および各種コントローラなどからなる。ＲＡＭおよびＲＯＭなどに記憶されたプログラムをＣＰＵが実行することにより、以下に説明する種々の機能が処理装置１０上に実現される。
【００１７】
磁気ディスク装置１１には、ＯＳ（Operating System) 、３次元モデルＭＬを生成するためのモデリングプログラムＰＲ、その他のプログラム、標準モデル（標準モデルデータ）ＤＳ、２次元画像（２次元画像データ）ＦＴ、生成された３次元モデルＭＬ、その他のデータなどが格納されている。これらのプログラムおよびデータは、適時、処理装置１０のＲＡＭにローディングされる。
【００１８】
なお、モデリングプログラムＰＲには、解像度多重化処理、特徴領域抽出処理、対応点検索処理、位置合わせ処理、変形処理、モデリング処理、およびその他の処理のためのプログラムが含まれる。
【００１９】
媒体ドライブ装置１２は、ＣＤ−ＲＯＭ（ＣＤ）、フロッピィディスクＦＤ、光磁気ディスク、コンパクトフラッシュなどの半導体メモリＨＭ、その他の記録媒体にアクセスし、データまたはプログラムの読み書きを行う。記録媒体の種類に応じて適切なドライブ装置が用いられる。上に述べたモデリングプログラムＰＲは、これら記録媒体からインストールすることも可能である。標準モデルＤＳおよび２次元画像ＦＴなども、記録媒体を介して入力することが可能である。
【００２０】
ディスプレイ装置１３の表示面ＨＧには、上に述べた種々のデータ、およびモデリングプログラムＰＲにより生成された３次元モデルＭＬ、その他のデータまたは画像が表示される。
【００２１】
キーボード１４およびマウス１５は、処理装置１０にデータを入力しまたは指令を与えるために用いられる。
スキャナー１６は、文字または画像などをスキャンし、それらを画像データに変換する。本実施形態では、カメラＣＭａ，ＣＭｂで撮影した画像を２次元画像ＦＴに変換する。
【００２２】
カメラＣＭａ，ＣＭｂは、レンズの主点が互いに所定の距離だけ離れて配置される。被写体である対象物について、互いに視点の異なる２枚の画像を撮影する。
【００２３】
カメラＣＭａ，ＣＭｂとして、２台のカメラを適当に配して用いてもよく、２台のカメラを一体にしたカメラを用いてもよく、また、１台のカメラを移動させて複数回の撮影を行うようにしてもよい。
【００２４】
カメラＣＭａ，ＣＭｂとしてデジタルカメラを用いた場合には、２次元画像ＦＴを直接的に取得することが可能である。得られた２次元画像ＦＴは、半導体メモリＨＭを介して、またはＲＳ−２３２Ｃ、ＵＳＢなどのインタフェースを介して、磁気ディスク装置１１に取り込める。
【００２５】
モデリング装置１は、パーソナルコンピュータまたはワークステーションなどを用いて構成することが可能である。上に述べたプログラムおよびデータは、ネットワークＮＷを介して受信することにより取得することも可能である。
【００２６】
次に、モデリング装置１の全体の処理の流れについて、モデリング装置１を機能的に示すブロック図およびフローチャートを参照しながら説明する。
図２はモデリング装置１を機能的に示すブロック図、図３は多重解像度化部２２ａの構成を示すブロック図、図４は対応点検索部２４の構成を示すブロック図、図５は人の頭部についての特徴領域の抽出処理の様子を示す図である。
【００２７】
なお、カメラＣＭａで撮影した画像ＦＳａを基準画像とする。ＡＤコンバータ２１ａ，２１ｂ、または解像度多重化部２２ａ，２２ｂは、それぞれ互いに同じ構成である。したがって、それらの一方のみについて説明する。また、それらの一方または両方を指して、「ＡＤコンバータ２１」「解像度多重化部２２」と記載することがある。
【００２８】
図２において、カメラＣＭａ，ＣＭｂで撮影された画像ＦＳａ，ＦＳｂは、それぞれＡＤコンバータ２１ａ，２１ｂで量子化され、２次元画像ＦＴａ，ＦＴｂが生成される。これら２次元画像ＦＴａ，ＦＴｂは、高解像度画像である。
【００２９】
２次元画像ＦＴａ，ＦＴｂから、解像度多重化部２２ａ，２２ｂによって、それぞれ低解像度画像が生成される。
すなわち、図３に示すように、入力された２次元画像ＦＴａは、メモリ２２１に記憶される。解像度変換部２２２により低解像度に変換され、メモリ２２３に記憶される。入力される複数の２次元画像ＦＴａについて、それぞれ、記憶および変換が行われる。これによって、２次元画像ＦＴａ，ＦＴｂは、解像度が多重化される。
【００３０】
なお、解像度変換部２２２において、例えば、メモリ２２１に記憶された２次元画像ＦＴａに対して、縦横ともに２分の１の縮小処理を行う。これによって、解像度が２分の１に変換される。縦横ともに３分の１の縮小処理を行うと解像度は３分の１に変換される。その他、種々の適当な解像度に変換することが可能である。
【００３１】
したがって、メモリ２２１には複数の高解像度画像ＦＨａが、メモリ２２３には複数の低解像度画像ＦＬａが、それぞれ記憶される。必要な画像が指定されると、メモリ２２１，２２３の所定の領域からは、それに対応する高解像度画像ＦＨａおよび低解像度画像ＦＬａが読み出される。読み出された画像は、特徴領域抽出部２３および対応点検索部２４に出力される。
【００３２】
特徴領域抽出部２３では、基準であるカメラＣＭａから得られた高解像度画像ＦＨａから、２次元画像処理技術を用いて、高精度な３次元モデルが必要な領域と低精度でよい領域とが分離され、抽出される。
【００３３】
すなわち、図５（Ａ）に示す高解像度画像ＦＨから、人の頭部（顔領域）のみを抽出し、図５（Ｂ）に示す頭部画像ＦＡ１を得る。頭部画像ＦＡ１から、高い精度を要する領域である、目、鼻、口の各領域を抽出し、図５（Ｃ）に示す高精度領域画像ＦＡ２を得る。
【００３４】
このように、２次元画像から、人の顔領域、および目、鼻、口といった顔部品の領域を抽出する技術は公知である。領域の抽出を、それら公知の技術を用いて自動的に行ってもよく、またオペレータがマニュアル操作によって行ってもよい。
【００３５】
また、図５（Ｄ）に示す領域ＡＲ１は、高精度領域と低精度領域の両方を含んだ領域である。領域ＡＲ１は、図５（Ｂ）に示す頭部画像ＦＡ１と同じ領域である。
【００３６】
図５（Ｅ）に示す領域ＡＲ２は、高精度領域である。領域ＡＲ２は、図５（Ｃ）に示す高精度領域画像ＦＡ２と同じ領域である。図５（Ｆ）に示す領域ＡＲ３は、低精度領域である。領域ＡＲ３は、図５（Ｄ）に示す領域ＡＲ１から図５（Ｅ）に示す領域ＡＲ２を差し引いた残りの領域である。
【００３７】
なお、高精度領域としては、顔の表情の表現に重要な役割を果たす部分が選ばれる。高精度領域は、本発明における「特徴領域」および「特定の領域」に相当する。
【００３８】
図２に戻って、対応点検索部２４では、抽出された領域にしたがって対応点検索を行う。低精度領域である領域ＡＲ３においては、低解像度画像ＦＬを用いた対応点検索を行い、高精度領域である領域ＡＲ２においては、高解像度画像ＦＨを用いた対応点検索を行う。対応点検索を行った結果である対応点データＦＣを３次元再構成部２５に出力する。これについては後で詳述する。
【００３９】
３次元再構成部２５では、対応点データＦＣから、三角測量の原理による公知の技術を用いて、各対応点からなる点群の３次元位置データＦＤを求める。
サーフィスモデル生成部２６では、３次元位置データＦＤを、３次元形状表示に適したサーフィスモデル（３次元モデルＭＬ）に変換する。これは、モデリング技術として公知である。サーフィスモデル生成部２６からは、３次元モデルＭＬが出力される。
【００４０】
図４において、対応点検索部２４には、低解像度対応点検索部２４１、高解像度対応点検索部２４２、および対応点メモリ２４３が設けられる。
低解像度対応点検索部２４１において、互いに視差の異なる低解像度画像ＦＬａ，ＦＬｂの間の対応付けが、低精度領域（ＡＲ３）および高精度領域（ＡＲ２）の両領域において行われる。
【００４１】
対応点検索の手法として、ブロック相関法または勾配方程式を解く手法など、種々の公知の手法が用いられる。対応点検索によって、基準となる入力画像である低解像度画像ＦＬａの各画素に対して、対応点検索の対象となる入力画像である低解像度画像ＦＬｂ上の画像座標が対応付けられる。このとき、対応付けられた低解像度画像ＦＬｂ上の画像座標は、手法の相違によって、画素単位（ピクセル単位）の場合と、画素単位より小さい単位（サブピクセル単位）の場合とがある。いずれの場合であっても、その精度は、入力画像の画素精度つまり解像度に比例する。
【００４２】
低解像度対応点検索部２４１による対応点検索が終わると、その結果が対応点メモリ２４３に記憶される。
高解像度対応点検索部２４２において、高解像度画像ＦＨａ，ＦＨｂの間の対応付けが、高精度領域（ＡＲ２）において行われる。このとき、対応点メモリ２４３に記憶された低解像度対応点検索部２４１による対応点検索が、初期値として用いられる。これにより、高解像度対応点検索部２４２における対応点検索が、より正確に高速に行われる。
【００４３】
高解像度対応点検索部２４２による対応点検索が終わると、その領域についての結果が、低解像度対応点検索部２４１による対応点検索の結果と置き換えて対応点メモリ２４３に記憶される。
【００４４】
このようにして、低精度領域においては、低解像度画像ＦＬに基づいて対応点検索が行われ、低解像度で低精度の対応点が得られる。高精度領域においては、高解像度画像ＦＨに基づいて対応点検索が行われ、高解像度で高精度の対応点が得られる。
【００４５】
対応点メモリ２４３には、低精度の対応点と高精度の対応点とを合成した対応点データＦＣが記憶される。
なお、低精度の対応点と高精度の対応点とを合成することなく、それぞれ別個に対応点メモリ２４３に記憶しておいてもよい。
【００４６】
このようにして得られた対応点から、上に述べたように３次元再構成部２５によって３次元位置を再構成し、３次元位置データＦＤを求める。これにより、必要な領域の精度を高精度に保ちながら、処理速度の高速化とデータ量の削減が図られる。
【００４７】
また、高解像度の対応点検索を行う場合に、低解像度の対応点検索の結果をその対応点検索の初期値として用いることにより、処理速度および精度のさらなる向上が図られる。
【００４８】
また、図４に示す対応点検索部２４では、低解像度対応点検索部２４１と高解像度対応点検索部２４２とを別個に設けたが、これらを共通の１つの対応点検索部とし、それを切り替えて使用する構成としてもよい。
【００４９】
また、解像度多重化部２２において、説明を簡略化するため解像度を多重化する段階を２段階としたが、３段階以上に拡張してもよい。
次に、他の実施形態のモデリング装置１Ｂについて説明する。
【００５０】
図６はモデリング装置１Ｂを機能的に示すブロック図である。
図６に示すモデリング装置１Ｂにおいては、図１に示すモデリング装置１と同じハードウエア構成を用い、機能的にも共通の部分が多い。したがって、図２のモデリング装置１と同様の機能を有する部分には同一の符号を付して説明を省略しまたは簡略化する。
【００５１】
モデリング装置１Ｂにおいては、人の頭部について、３次元再構成部２５によって得られた３次元位置データＦＤに対して、予め準備した標準モデルＤＳをフィッティングする。最初に、低解像度の３次元位置データＦＤＬを生成し、低解像度の３次元位置データＦＤＬに対して、モデルフィッティング部２７によってフィッティングを行う。
【００５２】
次に、高精度領域抽出部２８において、低解像度でのフィッティングによって得られた変形パラメータを用いて、高精度領域を抽出する。そのため、標準モデルＤＳには、目、鼻、口などの高精度領域について、それらがどこにあるかが予め設定されている。
【００５３】
抽出した高精度領域について、対応点検索部２４において対応点検索を行う。高精度領域についての対応点検索の結果を用いて、３次元再構成部２５によって高解像度の３次元位置データＦＤＨを生成する。また、得られた高解像度の３次元位置データＦＤＨを、先に得られた低解像度の３次元位置データＦＤＬの該当する部分と置き替えてもよい。そして、高解像度の３次元位置データＦＤＨに対し、モデルフィッティング部２７によって、低解像でフィッティングした標準モデルＤＳを再度フィッティングする。
【００５４】
なお、モデルフィッティング部２７でのフィッティングに当たっては、標準モデルＤＳを３次元形状データＤＴに対して位置合わせし（初期フィッティング）、その後に変形する。フィッティングの手法として、公知の手法およびその他の手法を用いることができる。
【００５５】
このように、３次元位置データＦＤに対して標準モデルＤＳを変形してあてはめ、その変形パラメータを用いて３次元モデルＭＬを表現するというモデルフィッティング手法を用いる。これにより、対象物の撮影時の光源の影響や自己遮蔽（オクルージョン）に起因する３次元位置データＦＤの部分的な欠損を補うことができる。
【００５６】
また、出力データは変形パラメータのみで良いので、モデリングデータの圧縮も同時に可能である。
図７はモデリング装置１Ｂの処理動作を示すフローチャートである。
【００５７】
図７において、カメラＣＭａ，ＣＭｂでステレオ画像を撮影する（＃１１）。得られた２次元画像ＦＴの解像度を多重化する（＃１２）。
基準となる入力画像から顔領域の位置を抽出する（＃１３）。この顔領域について、低解像度画像ＦＬを用いて対応点を検索し（＃１４）、得られた低解像度且つ低精度の対応点を用いて、３次元再構成を行う（＃１５）。
【００５８】
得られた低解像度かつ低精度の３次元位置データＦＤＬに対して、標準モデルＤＳをフィッティングする。
まず、３次元位置データＦＤに対して、標準モデルＤＳの初期フィッティングを行う（＃１６）。初期フィッティングでは、標準モデルＤＳの位置、姿勢、および大きさを、３次元位置データＦＤにできる限り沿うように全体的に変化させ、３次元位置データＦＤにあてはめる。次に、標準モデルＤＳを、３次元位置データＦＤの各部に沿うように変形させ、３次元位置データＦＤにさらにあてはめる（＃１７）。
【００５９】
ステップ＃１６および１７でのフィッティングの結果、標準モデルＤＳが低精度の３次元位置データＦＤＬに変形されてあてはめられる。これによって、標準モデルＤＳ上の各点を２次元画像上に投影した場合の画像座標が求められることになる。
【００６０】
標準モデルＤＳには、目、口、鼻などのような高精度を必要とする顔部品の領域の位置が予め指定されている。これらの標準モデルＤＳ上の高精度領域を、基準となる入力画像上に投影し、投影した領域を高精度領域として抽出する（＃１８）。
【００６１】
高精度領域について、高解像度画像ＦＨを用いて対応点検索を行う（＃１９）。得られた高解像度且つ高精度の対応点を用いて、該当領域について、高解像度かつ高精度の３次元再構成を行う（＃２０）。
【００６２】
３次元再構成によって得られた高精度の３次元位置データＦＤＨを用いて、ステップ＃１５で得られた３次元位置データＦＤＬの該当領域を置き換える（＃２１）。
【００６３】
これによって、高精度領域においては高解像度且つ高精度であり、その他の領域（低精度領域）においては低解像度且つ低精度である３次元位置データＦＤＭが得られる。この３次元位置データＦＤＭに対して、再び標準モデルＤＳを位置決合わせし（＃２２）、変形する（＃２３）。
【００６４】
このとき、ステップ＃１６および１７における初期フィッティングと変形の結果を、ステップ＃２３での変形の初期値として用いることによって、変形処埋の重複の発生を防止できる。
【００６５】
このように、高精度領域を抽出し、高精度領域のみについて高解像度の対応付けおよび３次元再構成を行う。したがって、処理速度が高速化できる。また、フィッティングにおいても、領域毎に最適化された解像度の３次元位置データＦＤに対して変形処理が行われるので、処理速度の高速化が図られる。
【００６６】
上の実施形態において、モデリング装置１，１Ｂの構成、回路、個数、処理内容、処理順序、処理タイミングなどは、本発明の趣旨に沿って適宜変更することができる。
【００６７】
【発明の効果】
本発明によると、複雑な形状特徴を持つ領域の精度を高精度に保つことができ、しかも処理時間を低減することができる。
【図面の簡単な説明】
【図１】本発明に係るモデリング装置を示すブロック図である。
【図２】モデリング装置を機能的に示すブロック図である。
【図３】多重解像度化部の構成を示すブロック図である。
【図４】対応点検索部の構成を示すブロック図である。
【図５】人の頭部についての特徴領域の抽出処理の様子を示す図である。
【図６】他の実施形態のモデリング装置を機能的に示すブロック図である。
【図７】他の実施形態のモデリング装置の処理動作を示すフローチャートである。
【符号の説明】
１  モデリング装置（３次元形状データの生成装置）
２２  解像度多重化部
２３  特徴領域抽出部
２４  対応点検索部
２５  ３次元再構成部
２７  モデルフィッティング部
ＣＭａ，ＣＭｂ  カメラ
ＦＤ  ３次元位置データ（３次元データ）
【図１】
0004419320.tif 000002
【図２】
0004419320.tif 000003
【図３】
0004419320.tif 000004
【図４】
0004419320.tif 000005
【図５】
0004419320.tif 000006
【図６】
0004419320.tif 000007
【図７】
0004419320.tif 000008