(57)【要約】【課題】パターン投影法により対象物の三次元形状を求める際、髪の毛などの黒い領域ではステレオ処理が困難である。【解決手段】マスク生成部４０は、対象物の基準画像２４においてステレオ処理に不向きな領域を特定し、マスクパターン２８を作成する。概略形状生成部４４は、対象物のシルエット画像２６を用いて、対象物の概略形状データ３４を生成する。画像記憶部２２には、対象物にパターンを照射して異なる視点位置から撮影した複数のパターン照射画像３０が格納される。マスク投影部４２は、概略形状データ３４にもとづいてマスクパターン２８をパターン照射画像３０に投影する。ステレオ処理部４６は、投影されたマスクパターン２８をステレオ処理の対象から外して、複数のパターン照射画像３０をステレオ処理し、対象物の詳細形状データ３６を生成する。【選択図】        図２
2004264937.tif 000002
【特許請求の範囲】
【請求項１】
対象物のステレオ処理に不向きな領域を特定してマスクを作成し、そのマスクにもとづいて前記対象物のステレオ用画像から前記不向きな領域に対応する領域以外の領域に対してステレオ処理を施して前記対象物の三次元モデルを生成することを特徴とする三次元モデリング方法。
【請求項２】
前記対象物の特徴を的確に捉えた基準画像から作成されたマスクを、前記基準画像とは撮影方向の異なる前記ステレオ用画像に投影することにより前記不向きな領域に対応する領域を特定することを特徴とする請求項１に記載の三次元モデリング方法。
【請求項３】
前記基準画像は、前記対象物を正面から撮影した画像であることを特徴とする請求項２に記載の三次元モデリング方法。
【請求項４】
前記対象物の三次元概略形状をもとに前記マスクを前記ステレオ用画像に投影することを特徴とする請求項２または３に記載の三次元モデリング方法。
【請求項５】
前記ステレオ用画像は、パターンの照射された前記対象物の画像であり、前記マスクの投影された領域内であっても、照射された前記パターンが良好な状態で撮影されている領域についてはステレオ処理の対象から除外しないことを特徴とする請求項２から４のいずれかに記載の三次元モデリング方法。
【請求項６】
前記ステレオ用画像は、パターンの照射された前記対象物の画像であり、前記マスクの投影された領域外であっても、照射された前記パターンが良好な状態で撮影されていない領域についてはステレオ処理の対象から除外することを特徴とする請求項２から４のいずれかに記載の三次元モデリング方法。
【請求項７】
前記マスクを複数のステレオ用画像の一つに投影した後に、その投影されたマスクを新たなマスクとして、別のステレオ用画像に投影することを繰り返すことにより、前記マスクを前記複数のステレオ用画像に連鎖的に投影することを特徴とする請求項２から６のいずれかに記載の三次元モデリング方法。
【請求項８】
前記ステレオ用画像に投影された前記マスクと前記ステレオ用画像との整合性を評価して、投影された前記マスクを修正することを特徴とする請求項２から７のいずれかに記載の三次元モデリング方法。
【請求項９】
前記ステレオ用画像は、パターンの照射された前記対象物の画像であり、前記対象物の概略形状をもとに前記マスクをいったんパターンが照射されていない前記対象物の画像に投影し、前記パターンが照射されていない前記対象物の画像との整合性を評価して、投影された前記マスクを修正してから前記ステレオ用画像に投影することを特徴とする請求項２から７のいずれかに記載の三次元モデリング方法。
【請求項１０】
対象物の複数のステレオ用画像を記憶する画像記憶部と、
前記対象物のステレオ処理に不向きな領域を指定したマスクを入力するマスク入力部と、
前記マスクを前記複数のステレオ用画像に投影するマスク投影部と、
投影された前記マスクにより指定される領域を除外して前記ステレオ用画像をステレオ処理して前記対象物の詳細形状データを生成するステレオ処理部とを含むことを特徴とする三次元モデリング装置。
【請求項１１】
前記マスクは、対象物の特徴を的確に捉えた基準画像から生成されたものであり、前記マスク投影部は、前記マスクを前記複数のステレオ用画像の一つに投影した後に、その投影されたマスクを新たなマスクとして、別のステレオ用画像に投影することを繰り返すことにより、前記マスクを前記複数のステレオ用画像に連鎖的に投影することを特徴とする請求項１０に記載の三次元モデリング装置。
【請求項１２】
前記ステレオ用画像は、パターンの照射された前記対象物の画像であり、前記マスク投影部は、前記対象物の概略形状をもとに前記マスクをいったんパターンが照射されていない前記対象物の画像に投影し、前記パターンが照射されていない前記対象物の画像との整合性を評価して、投影された前記マスクを修正してから前記ステレオ用画像に投影することを特徴とする請求項１０または１１に記載の三次元モデリング装置。
【請求項１３】
前記マスク投影部は、前記対象物の概略形状をもとに前記マスクを前記ステレオ用画像に投影し、前記ステレオ用画像との整合性を評価して、投影された前記マスクを修正することを特徴とする請求項１０または１１に記載の三次元モデリング装置。
【請求項１４】
前記ステレオ用画像は、パターンの照射された前記対象物の画像であり、前記マスク投影部は、前記マスクの投影された領域内もしくはその周辺領域における前記パターンの形状の良否を評価して、投影された前記マスクを修正することを特徴とする請求項１３に記載の三次元モデリング装置。
【請求項１５】
投影された前記マスクにより除外された領域については前記対象物の概略形状データで代用して、前記ステレオ処理部により生成される前記詳細形状データに統合することにより、前記対象物の三次元モデルを生成する三次元モデル生成部をさらに含むことを特徴とする請求項１０から１４のいずれかに記載の三次元モデリング装置。
【請求項１６】
対象物の基準画像において特定されるステレオ処理に不向きな領域をマスクとして生成するステップと、
前記マスクを対象物の概略形状にもとづいて前記対象物のステレオ用画像に投影するステップと、
前記マスクの投影された領域を除外して前記ステレオ用画像をステレオ処理して前記対象物の詳細形状を生成するステップとをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、三次元モデリング技術に関し、特に対象物を撮影した画像から三次元形状を生成する三次元モデリング方法および装置に関する。
【０００２】
【従来の技術】
対象物の画像から対象物の形状を表す三次元モデルを生成する方法として、対象物のシルエット情報から三次元形状を推定するシルエット法や、対象物にパターン光を投影して撮影した画像から三次元形状を求めるパターン投影法などがある。
【０００３】
シルエット法では、視点位置を変えて対象物の複数の画像を撮影し、それらの画像毎に対象物のシルエット像を求める。対象物の存在する三次元空間に対して、それぞれの視点位置からシルエット像を投影し、全てのシルエット像が投影された空間を物体領域として抽出することで、対象物の三次元形状を推定することができる。
【０００４】
パターン投影法では、カラーパターンやモノクロパターンを対象物に照射して異なる視点位置から撮影した複数のステレオ用画像を用いてステレオ処理を行う。対象物に投影されたパターンにもとづいて、物体表面上の点に対応づけられる複数のステレオ用画像上の点を精度良く求めることができる。ステレオ処理では、こうして得られる対応点の三次元座標を、カメラの視点位置とステレオ用画像上での対応点の位置の関係から三角測量の原理で求めることができる。
【０００５】
また、これらの方法を組み合わせた方法として、対象物のシルエット画像から得た対象物の概略形状をベースにして、ステレオ処理により得られた詳細形状を組み合わせ、対象物の三次元モデルを生成する方法が提案されている（たとえば、特許文献１参照）。
【０００６】
【特許文献１】
特開２００１−２４３４６８号公報  （全文、第１−２１図）
【０００７】
【発明が解決しようとする課題】
シルエット法では、対象物の局所的な凹領域を識別することができないため、対象物の三次元形状を正確に再現することはできない。また、パターン投影法では、髪の毛のような黒色の領域はパターンの投影像を十分に撮影することができないため、ステレオ処理により誤対応が発生する可能性が高い。また、ステレオ用画像上の対応関係を求めることができず、三次元形状を求めることができない場合がある。シルエット法とパターン投影法を組み合わせた方法では、髪の毛の間から地肌がまばらに見えている場合、地肌が見えている部分のみについてパターン投影法で三次元位置が求まるため、ステレオ処理で得られる三次元形状が凹凸になるという問題が生じる。
【０００８】
本発明はこうした状況に鑑みてなされたもので、その目的は、対象物の三次元形状を正確に取得することのできる三次元モデリング技術の提供にある。
【０００９】
【課題を解決するための手段】
本発明のある態様は三次元モデリング方法に関する。この方法は、対象物のステレオ処理に不向きな領域を特定してマスクを作成し、そのマスクにもとづいて前記対象物のステレオ用画像から前記不向きな領域に対応する領域以外の領域に対してステレオ処理を施して前記対象物の三次元モデルを生成する。
【００１０】
前記対象物の特徴を的確に捉えた基準画像から作成されたマスクを、前記基準画像とは撮影方向の異なる前記ステレオ用画像に投影することにより前記不向きな領域に対応する領域を特定してもよい。基準画像は、ステレオ用画像とは別に撮影された対象物の画像であっても、ステレオ用画像の内の一枚であってもよい。基準画像は、ステレオ処理に不向きな領域を特定しやすい画像であり、たとえば、対象物を正面から撮影した画像などである。
【００１１】
前記対象物の三次元概略形状をもとに前記マスクを前記ステレオ用画像に投影してもよい。概略形状をもとに投影するため、マスクの投影位置には誤差が生じることがあり、投影されたマスクを適宜修正してもよい。前記ステレオ用画像が、パターンの照射された前記対象物の画像である場合、前記マスクの投影された領域内であっても、照射された前記パターンが良好な状態で撮影されている領域についてはステレオ処理の対象から除外しないように、投影されたマスクからその領域を削ってもよい。また逆に、前記マスクの投影された領域外であっても、照射された前記パターンが良好な状態で撮影されていない領域についてはステレオ処理の対象から除外するように、投影されたマスクにその領域を加えてもよい。
【００１２】
本発明の別の態様は三次元モデリング装置に関する。この装置は、対象物の複数のステレオ用画像を記憶する画像記憶部と、前記対象物のステレオ処理に不向きな領域を指定したマスクを入力するマスク入力部と、前記マスクを前記複数のステレオ用画像に投影するマスク投影部と、投影された前記マスクにより指定される領域を除外して前記ステレオ用画像をステレオ処理して前記対象物の詳細形状データを生成するステレオ処理部とを含む。
【００１３】
前記マスクは、対象物の特徴を的確に捉えた基準画像から生成されたものであり、前記マスク投影部は、前記マスクを前記複数のステレオ用画像の一つに投影した後に、その投影されたマスクを新たなマスクとして、別のステレオ用画像に投影することを繰り返すことにより、前記マスクを前記複数のステレオ用画像に連鎖的に投影してもよい。少なくとも１枚の基準画像からマスクパターンを生成すれば、これを視点位置の異なるステレオ用画像に連鎖的に投影することができる。
【００１４】
前記ステレオ用画像は、パターンの照射された前記対象物の画像であり、前記マスク投影部は、前記対象物の概略形状をもとに前記マスクをいったんパターンが照射されていない前記対象物の画像に投影し、前記パターンが照射されていない前記対象物の画像との整合性を評価して、投影された前記マスクを修正してから前記ステレオ用画像に投影してもよい。前記マスク投影部は、前記対象物の概略形状をもとに前記マスクを前記ステレオ用画像に投影し、前記ステレオ用画像との整合性を評価して、投影された前記マスクを修正してもよい。パターンが照射されていない画像は、たとえば対象物のテクスチャ画像であってもよい。概略形状をもとにした投影のため、マスクの投影位置に誤差が生じ、投影されたマスクが投影された領域のテクスチャ画像やステレオ用画像と整合していないことがある。すなわちテクスチャ画像やステレオ用画像上ではマスクされるべきでない領域がマスクされていたり、テクスチャ画像やステレオ用画像上でマスクされるべき領域がマスクされていないという事態が生じうる。このような不整合の具合を評価して、投影されたマスクの微調整を行ってもよい。特に、前記ステレオ用画像が、パターンの照射された前記対象物の画像である場合、前記マスクの投影された領域内もしくはその周辺領域において前記パターンの形状の良否、すなわちステレオ処理のしやすいパターンが撮影されているかどうかなどを評価して、投影された前記マスクを修正してもよい。
【００１５】
投影された前記マスクにより除外された領域については前記対象物の概略形状データで代用して、前記ステレオ処理部により生成される前記詳細形状データに統合することにより、前記対象物の三次元モデルを生成する三次元モデル生成部をさらに含んでもよい。ステレオ処理に不向きな領域については、ステレオ処理によって無理に詳細形状を求めようとすると、誤対応などにより正確な詳細形状データが得られず、かえって誤った形状が生成されるが、この三次元モデル生成部によれば、そのような領域については概略形状で代用するため、不正確な三次元モデルが生成されるのを防ぐことができる。
【００１６】
本発明のさらに別の態様はコンピュータプログラムに関する。このプログラムは、対象物の基準画像において特定されるステレオ処理に不向きな領域をマスクとして生成するステップと、前記マスクを対象物の概略形状にもとづいて前記対象物のステレオ用画像に投影するステップと、前記マスクの投影された領域を除外して前記ステレオ用画像をステレオ処理して前記対象物の詳細形状を生成するステップとをコンピュータに実行させる。
【００１７】
前記ステレオ用画像は、パターンの照射された前記対象物の画像であり、前記マスクの投影された領域内であっても、照射された前記パターンが良好な状態で撮影されている領域についてはステレオ処理の対象から除外しないように、投影されたマスクを修正するステップをさらに含んでもよい。また逆に、前記マスクの投影された領域外であっても、照射された前記パターンが良好な状態で撮影されていない領域についてはステレオ処理の対象から除外するように、投影されたマスクを修正するステップをさらに含んでもよい。
【００１８】
前記投影するステップにおいて、前記マスクを複数のステレオ用画像の一つに投影した後に、その投影されたマスクを新たなマスクとして、別のステレオ用画像に投影することを繰り返すことにより、前記マスクを前記複数のステレオ用画像に連鎖的に投影してもよい。前記ステレオ用画像に投影された前記マスクと前記ステレオ用画像との整合性を評価して、投影された前記マスクを修正するステップをさらに含んでもよい。
【００１９】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【００２０】
【発明の実施の形態】
図１は、実施の形態に係る三次元モデリングシステムの構成図である。対象物１０の周囲に設けられたカメラ１２ａ〜ｌ（以下、カメラ１２と総称する）によって異なる視点位置から対象物１０が撮影される。パターン照射装置１４は対象物にカラーパターンを照射する。パターン照射装置１４によりカラーパターンが照射された状態で、異なる視点位置から対象物１０の複数の画像が撮影されて、三次元モデリング装置２０に取り込まれる。以下、これらの画像をパターン照射画像と呼ぶ。また、カラーパターンが照射されていない状態でも、異なる視点位置から対象物１０の複数の画像が撮影されて、三次元モデリング装置２０に取り込まれる。以下、これらの画像をパターン未照射画像と呼ぶ。
【００２１】
なお、対象物１０が小型の静止物体であるような場合には、回転台に対象物１０を乗せて対象物１０を回転させながら１つのカメラ１２から複数の画像を撮影してもよい。また、何らかの駆動装置によって１つのカメラ１２を対象物１０の周囲に移動させて複数の画像を撮影してもよい。また、パターン照射画像を撮影するカメラ１２と、パターン未照射画像を撮影するカメラ１２とを別々に設けてもよく、またパターン照射画像が撮影される視点位置と、パターン未照射画像が撮影される視点位置とは一致していなくてもよい。
【００２２】
図２は、三次元モデリング装置２０の機能構成図である。これらの構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされた三次元モデリング機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【００２３】
画像記憶部２２には、図１のカメラ１２により撮影された対象物１０の基準画像２４が格納される。基準画像２４は、たとえば対象物１０を正面から撮影した画像であり、マスク生成部４０は、この基準画像２４からステレオ処理に不向きな領域を特定し、マスクパターン２８を作成して画像記憶部２２に格納する。ステレオ処理に不向きな領域とは、人体頭部を撮影する場合は、髪の毛や眉毛のような黒色の領域であり、画像のカラー情報や人体頭部のモデルなどにもとづいて自動的に抽出してもよく、ユーザが画像上で領域を指定することにより手動で特定してもよい。
【００２４】
カメラ１２により撮影された対象物１０のパターン未照射画像から対象物１０のシルエット画像２６が生成され、画像記憶部２２に格納される。概略形状生成部４４は、異なる視点位置からの複数のシルエット画像２６を用いて、対象物１０の概略形状データ３４を生成し、三次元モデル記憶部３２に格納する。
【００２５】
画像記憶部２２には、さらに、カメラ１２により異なる視点位置から撮影された対象物１０の複数のパターン照射画像３０が格納される。マスク投影部４２は、画像記憶部２２からマスクパターン２８を読み出し、三次元モデル記憶部３２に格納された対象物１０の概略形状データ３４を利用してマスクパターン２８をパターン照射画像３０に投影し、パターン照射画像３０上で投影されたマスクパターン２８を必要に応じて修正する。
【００２６】
ステレオ処理部４６は、画像記憶部２２に格納された複数のパターン照射画像３０を利用してステレオ処理を行い、対象物１０の詳細形状データ３６を生成し、三次元モデル記憶部３２に格納する。このとき、マスク投影部４２により投影されたマスクパターン２８で指定されたパターン照射画像３０上の領域はステレオ処理の対象から除外される。
【００２７】
三次元モデル生成部４８は、ステレオ処理の対象から除外された領域の三次元形状については概略形状データ３４で代用し、それ以外の領域については詳細形状データ３６を利用することにより、概略形状データ３４と詳細形状データ３６を統合して対象物１０の正確な三次元モデルデータ３８を生成し、三次元モデル記憶部３２に格納する。
【００２８】
図３は、三次元モデリング装置２０による三次元モデル生成手順を説明するフローチャートである。三次元モデル生成手順の大まかな流れは、キャリブレーション（Ｓ１０）、概略形状計算（Ｓ２０）、詳細形状計算（Ｓ３０）、および三次元モデルデータ生成（Ｓ４０）の４ステップからなる。
【００２９】
キャリブレーションステップＳ１０では、カメラ１２の焦点距離とＣＣＤサイズの比で決まる画角情報やレンズ歪みなどの内部パラメータ、カメラ１２の視点位置や向きなどの外部パラメータを求める。
【００３０】
概略形状計算ステップＳ２０の詳細な手順を図４に示す。まず、カメラ１２によって異なる視点位置から撮影された対象物１０の複数の画像のそれぞれに対し、対象物１０のシルエットを抽出する処理を行う（Ｓ５０）。シルエットの抽出には、たとえば、ブルーバックを用いたクロマキー法や、予め背景画像データを入力しておき、上記対象物１０の画像データと背景画像データとの差分処理からシルエットを得る背景差分法などを用いることができる。こうして得られた対象物１０の複数のシルエット画像２６から、対象物１０の概略形状データ３４を生成する（Ｓ５２）。さらに、対象物１０の基準画像２４において、ステレオ処理に不向きな領域を特定し、マスクパターン２８を生成する（Ｓ５４）。
【００３１】
概略形状計算ステップＳ２０で得られた概略形状データ３４では、対象物１０の細かい形状は表現されていない。たとえば、シルエット輪郭として観測できない局所的な凹形状の領域は、概略形状データ３４では単に埋まった状態で抽出されている。このような凹形状をより正確に求めるために、次の詳細形状計算ステップＳ３０が行われる。
【００３２】
詳細形状計算ステップＳ３０の詳細な手順を図５に示す。まず、概略形状データ３４を用いて、マスクパターン２８をパターン照射画像３０に投影する（Ｓ５６）。概略形状データ３４によりマスクパターン２８で指定された領域の三次元位置が定まるため、マスクパターン２８を、異なる視点位置から撮影されたパターン照射画像３０の対応する領域に投影することができる。
【００３３】
次に、後述するように、パターン照射画像３０から抽出したライン形状にもとづいて、パターン照射画像３０に投影されたマスクパターン２８を適宜修正する処理を行う（Ｓ５８）。これはマスクパターン２８が概略形状データ３４によって投影されることから生じる誤差を補正するために行われる。
【００３４】
次に、投影されたマスクパターン２８で指定された領域をステレオ処理の対象から外す処理を行う（Ｓ６０）。こうしてステレオ処理に不向きな領域が除外された状態のパターン照射画像３０をステレオ処理することにより、対象物１０の詳細形状データ３６を生成する（Ｓ６２）。パターン照射画像３０を撮影したカメラ１２の位置はキャリブレーションステップＳ１０において予め求められているため、三角測量の原理から対象物１０の奥行き情報を正確に求め、概略形状データ３４では表現されていない詳細形状データ３６を取得することができる。
【００３５】
図３に戻り、三次元モデルデータ生成ステップＳ４０では、シルエット法で得られた概略形状データ３４に、パターン投影法によって得られた詳細形状データ３６を組み合わせて統合し、対象物１０の最終的な三次元モデルデータ３８を生成する。ステレオ処理の対象から除外された領域については詳細形状データ３６が得られていないが、その領域については、概略形状データ３４で代用するか、髪の毛の領域であれば、あらかじめ用意された髪の毛の形状データで代用するなど、既存の形状モデルを利用する。
【００３６】
本実施の形態では、対象物１０の三次元形状をボクセルで表現する。ボクセル表現を利用して三次元モデルを生成する手順を詳しく説明する。図６は、ボクセル表現を利用する場合の概略形状計算ステップＳ２０の詳細な手順を示す。まず、図４のステップＳ５０と同様の方法でシルエット画像２６を抽出する（Ｓ７０）。次に、対象物１０が存在すると予測される三次元空間をボクセル空間として設定する（Ｓ７２）。ボクセル空間とは、非常に小さなボクセルの集まりで三次元空間を表現するものである。各ボクセルをそれぞれのシルエット画像２６に投影し、全てのシルエット画像２６上に、あるいは一定枚数以上のシルエット画像２６上に投影されたもののみを対象物１０の概略形状として抽出することにより、物体の概略形状データ３４をボクセルの集合として表現する（Ｓ７４）。
【００３７】
次に、概略形状データ３４を構成しているボクセルを基準画像２４に投影する（Ｓ７６）。基準画像２４上でステレオ処理から除外すべきマスク領域に投影されるボクセルをマスク対象のボクセルとして特定する（Ｓ７８）。マスク対象のボクセルにはマスク対象であることを示すフラグなどを設定しておく。
【００３８】
図７は、ボクセル表現を利用する場合の詳細形状計算ステップＳ３０の詳細な手順を示す。まず、概略形状データ３４を構成しているボクセルをパターン照射画像３０に投影する（Ｓ８０）。投影されたボクセルが、パターン照射画像３０上の同じ点に投影される他のボクセルよりも、そのパターン照射画像３０を撮影したカメラ１２の視点位置に近いかどうかを調べる（Ｓ８２）。すなわち、投影されたボクセルが概略形状データ３４を構成しているボクセルの中で最も手前のものであるかどうかを調べ、もしそうであれば（Ｓ８２のＹ）、そのボクセルがマスク対象のボクセルであるかどうかを調べる（Ｓ８４）。もし、マスク対象のボクセルであれば（Ｓ８４のＹ）、そのボクセルがパターン照射画像３０に投影された領域をステレオ処理の対象から外す処理を行う（Ｓ８６）。マスク対象のボクセルでなければ（Ｓ８４のＮ）、特にステレオ処理の対象から外す必要はない。
【００３９】
投影されたボクセルが最も手前のものではない場合（Ｓ８２のＮ）、その投影されたボクセルについてはマスク対象であるかどうかを調べる必要はなく、したがってステレオ対象から外す処理も不要である。
【００４０】
こうして、マスク対象に設定されたボクセルに対応するパターン照射画像３０上の領域をステレオ処理の対象から除外した上で、ステレオ処理が行われ、詳細形状データ３６がボクセル表現で生成される（Ｓ８８）。なお、ボクセル表現の場合も、図５のステップＳ５８と同様に、マスク対象のボクセルをパターン照射画像３０に投影することにより得られるマスク領域を、パターン照射画像３０のパターンのライン形状にもとづいて修正する処理を行ってもよい。
【００４１】
図８は、対象物１０の基準画像２４をもとに作成されたマスクパターン２８の例を説明する図である。髪の毛、眉毛、ひげなどカラーパターンを照射してもパターンが撮影されにくい黒色の部分がマスクパターン２８として抽出されている。人物の場合、基準画像２４として正面から見た画像を用いるのが好ましい。なぜなら、正面画像の場合、人間の顔の左右対称性や、髪の毛や眉毛などの位置がある程度決まっていることなどの知識を利用して、より正確にマスクパターン２８を特定することができるからである。
【００４２】
図９は、マスクパターン２８をパターン照射画像３０に投影した例を説明する図である。カラーパターンの照射により対象物１０の詳細な三次元形状にしたがった縞模様が撮影される。ここでは、カラーパターンのエッジのみを点線のラインで表示している。そのパターン照射画像３０上に図８で説明したマスクパターン２８が実線で示したように投影されている。図１０は、同じマスクパターン２８を別のパターン照射画像３０に投影した例を説明する図である。
【００４３】
図１１は、ボクセル表現を利用してマスクパターン２８を投影する方法を説明する図である。対象物８０を第１のカメラの視点位置８２から見た場合の錐体領域８４において、対象物８０の表面のボクセル群８６がマスクパターンで指定された領域に対応するものであるとする。このボクセル群８６をマスク対象に設定すると同時に、錐体領域８４内で第１のカメラの視点位置８２からは見えない位置にある対象物８０の反対表面のボクセル群８８もマスク対象に設定する。したがって、第２のカメラの視点位置９０から見た場合、錐体領域９２内に、２つのマスク対象のボクセル群８６、８８が存在することになる。
【００４４】
図１１のマスクパターン２８の投影方法を実際の例を用いて説明する。図１３は、人物の基準画像２４から作成されたマスクパターン２８の例であり、図１４は、そのマスクパターン２８を投影したパターン照射画像３０の例である。本来、図１３のマスクパターン２８を投影すると、図１４のもみあげ部分Ａにはマスクパターンが生成されるが、後頭部Ｅにはマスクパターンは生成されないはずである。しかし、図１１で説明したように、このような基準画像２４では見えていない位置にもマスク対象のボクセルを設定するため、後頭部Ｅにもマスクパターンが形成されることになる。人体頭部の髪の毛のように、後ろ側にもマスクすべき領域があることがわかっている場合には、このようにしてマスクパターンを正面からは見えない反対側にも拡張して投影することが有効である。
【００４５】
図１２は、図５のステップＳ５８で説明した、投影されたマスクパターン２８の修正処理を説明する図である。対象物７４には凹部があるが、シルエット法では点線で示した概略形状７６が得られているとする。第１のカメラの視点位置７０から撮影された画像５０の点６１は、対象物７４の概略形状７６においては座標位置６２に対応づけられ、真の座標位置６０からずれている。第１のカメラの視点位置７０から撮影された画像５０の点６１を、第２のカメラの視点位置７２から撮影された画像５２に概略形状７６にもとづいて投影すると、投影位置６６が求まる。この概略形状７６による投影位置６６は、真の座標位置６０の投影位置６４からずれている。このように概略形状７６にもとづいて投影すると、投影位置に誤差が生じる。したがって、基準画像２４から生成したマスクパターン２８を他の視点位置から撮影されたパターン照射画像３０に投影すると、マスクパターン２８の投影位置に誤差が生じることがありうる。
【００４６】
このような投影位置の誤差をなくすために、パターン照射画像３０のカラーパターンの縞模様のラインを抽出し、そのライン形状にもとづいてマスクパターン２８の修正を行う。再び図１４の例を用いて説明する。図１４において、顔の皮膚の部分Ｂに照射されたカラーパターンのライン形状はきれいな縞であるのに対して、もみあげ部分Ａに照射されたカラーパターンのライン形状は乱れている。このライン形状の違いにより、仮に投影されたマスクパターン２８に位置ずれがあったとしても修正が可能である。すなわち、投影されたマスクパターン２８内の領域であっても、カラーパターンのライン形状がきれいな縞で現れている箇所については、投影誤差によるものと判断し、その箇所をマスクパターン２８から外すように、マスクパターン２８を修正する。また逆に投影されたマスクパターン２８外の領域であっても、カラーパターンのライン形状が乱れている箇所については、投影誤差によるものと判断し、その箇所をマスクパターン２８に含めるように、マスクパターン２８を修正する。
【００４７】
また、図１４において、もみあげ部分Ａや耳より上の部分Ｃに比べると、耳の部分Ｄではライン形状が比較的きれいに現れているため、マスクパターン２８が誤って耳に重なるように投影された場合でも、マスクパターン２８を修正することが可能である。実際のところ図１３の正面画像である基準画像２４からは、人物の横顔がわからないため、耳に髪の毛がかぶさっているかどうかは不明であり、図１１で説明したように、マスクパターン２８は見えていない部分にも投影されるため、この例ではマスクパターン２８は耳にかぶさるように投影されてしまう。しかし、図１４のようにカラーパターンのライン形状が耳の部分Ｄできれいな縞模様になっている場合は、髪の毛が耳にかぶさっていないと判断することができ、耳の部分Ｄに投影されたマスクパターン２８の領域を削除する修正が可能である。
【００４８】
なお、耳より上の部分Ｃでカラーパターンのラインが少なくなっているのは、髪の毛の黒色により照射されたパターン光が吸収されてしまい、カラーパターン像が十分に撮影されないからである。
【００４９】
以上の説明では、マスク投影部４２は、基準画像２４から作成されたマスクパターン２８を複数のパターン照射画像３０のそれぞれに直接投影した。基準画像２４とパターン照射画像３０の間で視点位置が大きく異なる場合、すなわちそれぞれを撮影したカメラ１２の光軸の成す角度が大きい場合、基準画像２４から生成したマスクパターン２８をパターン照射画像３０に投影すると、投影誤差が大きく現れてしまう。これに対して、基準画像２４を撮影した視点位置に隣接する視点位置で撮影されたパターン照射画像３０にマスクパターン２８を投影した場合は、投影誤差が小さくなることが期待できる。また、このとき、前述のマスクパターン２８の修正をより正確に行うことができる。
【００５０】
そこで、マスク投影部４２は、基準画像２４に隣接するパターン照射画像３０にマスクパターン２８を投影し、その投影されたマスクパターン２８をさらに次の隣接するパターン照射画像３０に投影するといった具合に、カメラ１２の視点位置の移動に合わせて連鎖的にマスクパターン２８を投影してもよい。
【００５１】
さらに、投影されたマスクパターン２８の投影誤差は前述のように照射されたカラーパターンのライン形状で事後的に修正することができるため、マスク投影部４２は、マスクパターン２８を連鎖的に隣接するパターン照射画像３０に投影する際、修正後のマスクパターン２８を次のパターン照射画像３０に投影するようにしてもよい。
【００５２】
図１５（ａ）〜（ｇ）は、マスクパターン２８を修正しながら連鎖的に投影する様子を説明する図である。図１５（ａ）は、図１のカメラ１２ａの位置で撮影された基準画像２４から生成されたマスクパターン２８である。図１５（ｂ）は、図１の隣接するカメラ１２ｂの位置で撮影されたパターン照射画像３０に投影されたマスクパターン２８を示す。図１５（ｃ）は、図１５（ｂ）のマスクパターン２８を修正したものである。図１５（ｄ）は、この修正されたマスクパターン２８を図１の次の隣接するカメラ１２ｃの位置で撮影されたパターン照射画像３０に投影したものである。図１５（ａ）の最初のマスクパターン２８を直接投影するのに比べ、カメラ１２の視点位置の違いが小さいため、投影による誤差を小さく抑えることができ、投影の正確さが増す。図１５（ｅ）は、図１５（ｄ）のマスクパターン２８を修正したものである。図１５（ｆ）は、図１５（ｄ）の修正されたマスクパターン２８を図１のさらに次の隣接するカメラ１２ｄの位置で撮影されたパターン照射画像３０に投影したものであり、図１５（ｇ）はその投影されたマスクパターン２８を修正したものである。
【００５３】
このように、カメラ１２の視点位置の変化に合わせて、マスクパターン２８を修正しながら連鎖的に隣接するパターン照射画像３０に投影することによって、より精度のよいマスクパターン２８の投影が可能となる。もっとも基準画像２４として正面から撮影した画像だけでなく、側面から撮影した画像も用いて、異なる視点位置から見た場合のマスクパターン２８を最初から複数用意しておくことで精度の改善を図ることもできるが、その場合は、複数のマスクパターン２８を用意するのに手間がかかる。マスクパターン２８を修正しながら連鎖投影する方法は、マスクパターン２８を作成する作業量を抑えつつ、精度を確保することができる。
【００５４】
以上述べたように、本実施の形態によれば、ステレオ処理の除外領域を少なくとも１枚の基準画像で特定し、ステレオ処理の効率化のためにカラーパターンなどが照射された複数のステレオ用画像に投影することによって、ステレオ処理に不都合な領域を自動的に除外することができる。カラーパターンを照射した画像からは物体本来の色情報を得ることができないので、除外領域を自動的に特定することが困難であり、また、全てのカメラアングルについてカラーパターンを照射しない画像を用意して除外領域を抽出するのは計算コストが大きい。本実施の形態では、少数のパターン未照射画像から特定した除外領域を、パターン照射画像に投影することによって、この問題を解決している。
【００５５】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００５６】
そのような変形例として、上記の説明では、まずシルエット法により対象物の概略形状を求めてから、対象物の詳細形状を求めることとしたが、本発明は、必ずしも概略形状を求めることを前提とはしない。たとえば、対象物の概略形状が既存の三次元モデルで与えられており、それをもとにステレオ処理により詳細形状を求めて、既存の三次元モデルを修正していくことで対象物の三次元形状を生成してもよい。その場合でも、本発明のステレオ処理に不向きな領域を除外する方法や、投影されたマスクパターンを修正する方法を適用することができる。またマスクパターンは、対象物の画像から抽出する以外に、既存の三次元モデルにもとづいて与えられてもよい。たとえば、人体頭部の三次元モデルを作成する場合は、髪の毛などの除外領域をある程度想定することができるため、必ずしも実写にもとづいて除外領域を抽出しなくてもよい。
【００５７】
また、上記の説明では、マスクパターンをパターンの照射されたステレオ用画像に投影したが、マスクパターンをパターンの照射されていないテクスチャ画像に投影し、投影されたマスクパターンを修正してもよい。この場合、輝度値もしくは色情報を用いることにより、投影されたマスクパターンを本来の除外すべき領域に近づけることが容易になる。
【００５８】
【発明の効果】
本発明によれば、対象物の三次元形状を正確に取得することができる。
【図面の簡単な説明】
【図１】実施の形態に係る三次元モデリングシステムの構成図である。
【図２】図１の三次元モデリング装置の機能構成図である。
【図３】図１の三次元モデリング装置による三次元モデル生成手順を説明するフローチャートである。
【図４】図３の概略形状計算ステップの詳細な手順を説明するフローチャートである。
【図５】図３の詳細形状計算ステップの詳細な手順を説明するフローチャートである。
【図６】ボクセル表現を利用する場合の図３の概略形状計算ステップの詳細な手順を説明するフローチャートである。
【図７】ボクセル表現を利用する場合の図３の詳細形状計算ステップの詳細な手順を説明するフローチャートである。
【図８】対象物の基準画像をもとに作成されたマスクパターンの例を説明する図である。
【図９】図８のマスクパターンをパターン照射画像に投影した例を説明する図である。
【図１０】図８のマスクパターンを別のパターン照射画像に投影した例を説明する図である。
【図１１】ボクセル表現を利用してマスクパターンを投影する方法を説明する図である。
【図１２】図５の投影されたマスクパターンの修正処理を説明する図である。
【図１３】人物の基準画像から作成されたマスクパターンの例を説明する図である。
【図１４】図１３のマスクパターンを投影したパターン照射画像の例を説明する図である。
【図１５】マスクパターンを修正しながら連鎖的に投影する様子を説明する図である。
【符号の説明】
１０  対象物、  １２  カメラ、  １４  パターン照射装置、  ２０  三次元モデリング装置、  ２２  画像記憶部、  ２４  基準画像、  ２６  シルエット画像、  ２８  マスクパターン、  ３０  パターン照射画像、  ３２  三次元モデル記憶部、  ３４  概略形状データ、  ３６  詳細形状データ、  ３８  三次元モデルデータ、  ４０  マスク生成部、  ４２  マスク投影部、  ４４  概略形状生成部、  ４６  ステレオ処理部、  ４８  三次元モデル生成部。
【図１】
2004264937.tif 000003
【図２】
2004264937.tif 000004
【図３】
2004264937.tif 000005
【図４】
2004264937.tif 000006
【図５】
2004264937.tif 000007
【図６】
2004264937.tif 000008
【図７】
2004264937.tif 000009
【図８】
2004264937.tif 000010
【図９】
2004264937.tif 000011
【図１０】
2004264937.tif 000012
【図１１】
2004264937.tif 000013
【図１２】
2004264937.tif 000014
【図１３】
2004264937.tif 000015
【図１４】
2004264937.tif 000016
【図１５】
2004264937.tif 000017