(57)【特許請求の範囲】
【請求項１】
処理部は、３次元物体を表す３次元形状モデルデータに基づいて、３次元物体を包み込む多面体の各面の中心視点から該３次元物体を撮影した際の視点毎の２次元仮想画像データを取得するステップと、
処理部は、取得された各々の視点毎の仮想画像データから、画像の中心又は重心を基準として所定角度ごとのエッジまでの距離を表す仮想距離プロファイルを作成するステップと、
処理部は、作成された各々の視点毎の仮想距離プロファイルに基づき、仮想画像データについての所定段階の仮想距離ヒストグラムを作成するステップと、
処理部は、実カメラにより３次元形状モデルデータに対応した実物体を撮影した実画像を入力するステップと、
処理部は、得られた実画像からから、画像の中心又は重心を基準として所定角度ごとのエッジまでの距離を表す実距離プロファイルを作成するステップと、
処理部は、作成された実距離プロファイルに基づき、実画像データについての所定段階の実距離ヒストグラムを作成するステップと、
処理部は、各々の視点毎の仮想距離ヒストグラムと実距離ヒストグラムとを比較して、一致程度の高い所定数の仮想距離ヒストグラム候補を抽出し、その候補に関するカメラ位置を含むデータをメモリに記憶する距離ヒストグラムマッチングステップと、
処理部は、抽出された仮想距離ヒストグラムに対応する仮想距離プロファイルをメモリから読出し、該仮想距離プロファイルと実距離プロファイルとを比較して、マッチングする仮想距離プロファイル候補を抽出し、その候補に関するカメラ回転角を含むデータをメモリに記憶する距離プロファイルマッチングステップと、
処理部は、抽出された候補をメモリから読出し、仮想画像及び実画像の形状を表わす仮想シルエット画像及び実シルエット画像に基づき、一致する候補を選択することで、実カメラの位置及び回転角を決定するシルエット画像マッチングステップと
を含むテクスチャマッピング方法。
【請求項２】
前記距離プロファイルマッチングステップは、
処理部は、それぞれの各視点毎の仮想距離プロファイルを所定角度ごとにシフトした複数の仮想距離プロファイルを作成するステップと、
処理部は、複数の仮想距離プロファイルと実距離プロファイルとの各要素を比較してマッチングを行い、所定数の候補を抽出するステップと
を含むことを特徴とする請求項１に記載のテクスチャマッピング方法。
【請求項３】
前記シルエット画像マッチングステップは、
処理部は、仮想距離プロファイル及び実距離プロファイルから仮想画像及び実画像の形状を表す仮想シルエット画像及び実シルエット画像を作成するステップと、
処理部は、仮想距離プロファイルの平均値と実距離プロフィルの平均値との比により、仮想シルエット画像又は実シルエット画像に倍率を掛け正規化するステップと、
処理部は、仮想シルエット画像又は実シルエット画像に対し、前記距離プロファイルマッチングステップで得られたカメラ回転角に相当するシフト量で回転処理を行うステップと、
処理部は、仮想シルエット画像と実シルエット画像の一致する程度の高い候補を選択し、そのときのカメラ位置及び回転角を決定するステップと
を含む請求項１又は２に記載のテクスチャマッピング方法。
【請求項４】
前記シルエット画像マッチングステップは、
処理部は、カメラの移動変位量及び回転変位量に従ってカメラ位置に対応する視点を該当する多面体内で移動するステップと、
処理部は、移動された位置における仮想及び実シルエット画像を比較して一致する程度が高い移動量及び変位量を求めることでカメラパラメータを決定し、メモリにそれを記憶するステップ
をさらに含む請求項１乃至３のいずれかに記載のテクスチャマッピング方法。
【請求項５】
処理部は、カメラ位置及び回転角をメモリから読出し、撮影した実画像をテクスチャとして３次元形状モデルデータにマッピングするマッピングステップをさらに含むことを特徴とする請求項１乃至４のいずれかに記載のテクスチャマッピング方法。
【請求項６】
処理部は、作成した仮想距離プロファイルを、仮想距離プロファイルの平均値が所定値になるように正規化するステップをさらに含む請求項１乃至５のいずれかに記載のテクスチャマッピング方法。
【請求項７】
処理部は、距離ヒストグラムを作成する際、所定以上の距離データについては最上位段階の要素に含める又はその距離データを廃棄することを特徴とする請求項１乃至６のいずれかに記載のテクスチャマッピング方法。
【請求項８】
処理部は、３次元物体を表す３次元形状モデルデータに基づいて、３次元物体を包み込む多面体の各面の中心視点から該３次元物体を撮影した際の視点毎の２次元仮想画像データを取得するステップと、
処理部は、取得された各々の視点毎の仮想画像データから、画像の中心又は重心を基準として所定角度ごとのエッジまでの距離を表す仮想距離プロファイルを作成するステップと、
処理部は、作成された各々の視点毎の仮想距離プロファイルに基づき、仮想画像データについての所定段階の仮想距離ヒストグラムを作成するステップと、
処理部は、実カメラにより３次元形状モデルデータに対応した実物体を撮影した実画像を入力するステップと、
処理部は、得られた実画像からから、画像の中心又は重心を基準として所定角度ごとのエッジまでの距離を表す実距離プロファイルを作成するステップと、
処理部は、作成された実距離プロファイルに基づき、実画像データについての所定段階の実距離ヒストグラムを作成するステップと、
処理部は、各々の視点毎の仮想距離ヒストグラムと実距離ヒストグラムとを比較して、一致程度の高い所定数の仮想距離ヒストグラム候補を抽出し、その候補に関するカメラ位置を含むデータをメモリに記憶する距離ヒストグラムマッチングステップと、
処理部は、抽出された仮想距離ヒストグラムに対応する仮想距離プロファイルをメモリから読出し、該仮想距離プロファイルと実距離プロファイルとを比較して、マッチングする仮想距離プロファイル候補を抽出し、その候補に関するカメラ回転角を含むデータをメモリに記憶する距離プロファイルマッチングステップと、
処理部は、抽出された候補をメモリから読出し、仮想画像及び実画像の形状を表わす仮想シルエット画像及び実シルエット画像に基づき、一致する候補を選択することで、実カメラの位置及び回転角を決定するシルエット画像マッチングステップと
をコンピュータに実行させるためのテクスチャマッピング処理プログラム。
【請求項９】
処理部は、３次元物体を表す３次元形状モデルデータに基づいて、３次元物体を包み込む多面体の各面の中心視点から該３次元物体を撮影した際の視点毎の２次元仮想画像データを取得するステップと、
処理部は、取得された各々の視点毎の仮想画像データから、画像の中心又は重心を基準として所定角度ごとのエッジまでの距離を表す仮想距離プロファイルを作成するステップと、
処理部は、作成された各々の視点毎の仮想距離プロファイルに基づき、仮想画像データについての所定段階の仮想距離ヒストグラムを作成するステップと、
処理部は、実カメラにより３次元形状モデルデータに対応した実物体を撮影した実画像を入力するステップと、
処理部は、得られた実画像からから、画像の中心又は重心を基準として所定角度ごとのエッジまでの距離を表す実距離プロファイルを作成するステップと、
処理部は、作成された実距離プロファイルに基づき、実画像データについての所定段階の実距離ヒストグラムを作成するステップと、
処理部は、各々の視点毎の仮想距離ヒストグラムと実距離ヒストグラムとを比較して、一致程度の高い所定数の仮想距離ヒストグラム候補を抽出し、その候補に関するカメラ位置を含むデータをメモリに記憶する距離ヒストグラムマッチングステップと、
処理部は、抽出された仮想距離ヒストグラムに対応する仮想距離プロファイルをメモリから読出し、該仮想距離プロファイルと実距離プロファイルとを比較して、マッチングする仮想距離プロファイル候補を抽出し、その候補に関するカメラ回転角を含むデータをメモリに記憶する距離プロファイルマッチングステップと、
処理部は、抽出された候補をメモリから読出し、仮想画像及び実画像の形状を表わす仮想シルエット画像及び実シルエット画像に基づき、一致する候補を選択することで、実カメラの位置及び回転角を決定するシルエット画像マッチングステップと
をコンピュータに実行させるためのテクスチャマッピング処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、テクスチャマッピング方法、テクスチャマッピング処理プログラム及びそのプログラムを記録したコンピュータ読取り可能な記録媒体に係る。本発明は、特に、３次元物体の画像をコンピュータに取り入れ、その幾何学的な形状測定技術と表面の色や模様を含むテクスチャーの張り付け技術に関する３次元コンピュータグラフィックス、３次元画像生成に用いられるテクスチャマッピング技術に関する。
【０００２】
【従来の技術】
一般に、３次元コンピュータ・グラフィックス（ＣＧ）を生成するには、３次元物体の表面形状とそのテクスチャ（テクスチャとは、例えば、表面の色、模様、材質などの感じ）を得る必要がある。３次元ＣＧと生成するために、３次元物体の実物が存在する場合、光学系スキャナを用いる手法がある。光学系スキャナの多くは、カメラとスリット投光器を物体の周囲に回転させるか、カメラを固定して物体を回転させて、物体表面のデータを取得する。このような光学系スキャナの中には物体表面の形状とテクスチャを同時に取得できるものもあり、３次元ＣＧデータを容易に再現することができる。
【０００３】
一方、物体表面の形状のみを取得するような比較的安価な光学系スキャナもあり、これを用いるとある程度正確な表面形状を得ることができる。このような手段で取得した表面形状にはテクスチャが一切含まれていないので、表面テクスチャを得る必要がある。
【０００４】
【発明が解決しようとする課題】
上述のように、３次元実物（３次元物体）をコンピュータに取り入れ、コンピュータグラフィックスに用いるとき、その幾何学的な形状と表面の色や模様を含むテクスチャが必要である。しかしながら、幾何学的形状の測定とテクスチャの張り付け（マッピング）との両方を行える装置は極めて高価であるし、また装置の大きさにより、取り扱う対象物体の大きさを限定してしまう場合もある。そこで、幾何学的な形状のみを測定する装置で形状を測定しておき、次に、テクスチャをデジタルカメラにより取得し、その画像を張り付ける方法が提案されている。しかし、画像一枚あたり現状では、３分から５分程度時間がかかり、画像１０枚程度で３０分から１時間かかるため、実用性に乏しい。
【０００５】
本発明は、以上の点に鑑み、高速処理（例えば、画像一枚あたり２０秒程度以下）を行えるようにし、実用性を十分に確立したテクスチャマッピング方法、テクスチャマッピング処理プログラム及びそのプログラムを記録したコンピュータ読取り可能な記録媒体を提供することを目的とする。
【０００６】
また、本発明は、デジタルカメラで実物を多方向から撮影して形状だけ与えられている物体の輪郭に基づいて、その物体の表面に正確にテクスチャ画像をマッピングすることを目的とし、また、その為に、物体とカメラの相互位置関係を正確且つ高速に求める多段的探索法を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明の解決手段によると、
処理部は、３次元物体を表す３次元形状モデルデータに基づいて、３次元物体を包み込む多面体の各面の中心視点から該３次元物体を撮影した際の視点毎の２次元仮想画像データを取得するステップと、
処理部は、取得された各々の視点毎の仮想画像データから、画像の中心又は重心を基準として所定角度ごとのエッジまでの距離を表す仮想距離プロファイルを作成するステップと、
処理部は、作成された各々の視点毎の仮想距離プロファイルに基づき、仮想画像データについての所定段階の仮想距離ヒストグラムを作成するステップと、
処理部は、実カメラにより３次元形状モデルデータに対応した実物体を撮影した実画像を入力するステップと、
処理部は、得られた実画像からから、画像の中心又は重心を基準として所定角度ごとのエッジまでの距離を表す実距離プロファイルを作成するステップと、
処理部は、作成された実距離プロファイルに基づき、実画像データについての所定段階の実距離ヒストグラムを作成するステップと、
処理部は、各々の視点毎の仮想距離ヒストグラムと実距離ヒストグラムとを比較して、一致程度の高い所定数の仮想距離ヒストグラム候補を抽出し、その候補に関するカメラ位置を含むデータをメモリに記憶する距離ヒストグラムマッチングステップと、
処理部は、抽出された仮想距離ヒストグラムに対応する仮想距離プロファイルをメモリから読出し、該仮想距離プロファイルと実距離プロファイルとを比較して、マッチングする仮想距離プロファイル候補を抽出し、その候補に関するカメラ回転角を含むデータをメモリに記憶する距離プロファイルマッチングステップと、
処理部は、抽出された候補をメモリから読出し、仮想画像及び実画像の形状を表わす仮想シルエット画像及び実シルエット画像に基づき、一致する候補を選択することで、実カメラの位置及び回転角を決定するシルエット画像マッチングステップと
を含むテクスチャマッピング方法及びテクスチャマッピング方法、テクスチャマッピング処理プログラム及びそのプログラムを記録したコンピュータ読取り可能な記録媒体が提供される。
【０００８】
【発明の実施の形態】
１．概説
本発明の実施の形態は、デジタルカメラで実物を多方向から撮影して、形状だけ与えられている物体表面に正確にテクスチャ画像をマッピングするものである。そのためには、物体とカメラの相互位置関係を正確に求める必要がある。本発明の実施の形態では、デジタルカメラにより撮影した画像から物体の輪郭を求めて、カメラの正確な位置を多段的に探索する。
【０００９】
具体的には、デジタルカメラ及びコンピュータを用いて次の通りの処理を実行する。
（１）３次元物体の３次元形状モデルデータに基づき、３次元物体を包み込む多面体（例えば、３２０面体）の各面の中心から、物体を撮影した時のイメージ（物体の輪郭）を取得する。次に、取得されたそのシルエット画像からエッジまでの距離ヒストグラムと距離プロファイルを作成する。
（２）実際にデジタルカメラで３次元物体の撮影を行い、３次元物体の輪郭について計算された距離ヒストグラムと、上記（１）で作成されたモデルデータの距離ヒストグラムとのマッチングを行い、カメラ位置をある程度の範囲内に確定する。ここでは、一例として、検索範囲は２０／３２０（６％）程度に限定される。
（３）輪郭の中心から距離プロファイルを用いて、実画像とモデルデータ画像とのマッチングを行い、さらにカメラ位置の範囲を狭める。ここでは、一例として、その範囲を２０／７，２００程度に狭める。
（４）狭められたカメラ位置の候補（ここでは、一例として２０個）から、実画像とモデルデータ画像とのシルエットマッチングにより、１個に狭める。
（５）最後に残ったものについて、予め定められた角度（ここでは、一例として、９度）の立体角内でのシルエットマッチングを行い、カメラの位置、方向を正確に決定する。
【００１０】
以上の方法によりカメラ位置、方向が可能となり、一般のパソコンでも、例えば、１枚当たり２０秒以下で画像貼り付けを行う事が可能となり、全所要時間が３分程度に短縮され、十分実用に供することが可能となる。この時間は市販されているコンピュータおよびグラフィックスカードにより決定されているが、この分野での進展はめざましく、今後さらに大幅に短縮が可能である。
【００１１】
２．ハードウェア
図１に、テクスチャマッピング装置の概要図の一例を示す。この装置は、パーソナルコンピュータ１、カメラ２を備え、例えば、モデル３についてテクスチャマッピングによりＣＧ画像を作成する。
【００１２】
図２に、テクスチャマッピング装置のブロック構成図を示す。
パーソナル・コンピュータ（ＰＣ）１は、ジオメトリエンジン搭載グラフィックカードを有する処理部１１、ＩＥＥＥ１３９４インターフェース等のカメラ２とのインターフェース１２、中間結果、最終結果、入力データ、出力データ等の各種データ及びプログラムを記憶するメモリ１３、各種データを入力するための入力部１４、ディスプレイを含む各種データを出力するための出力部１５を備える。なお、処理部１１のグラフィックカードは、例えば、３次元形状モデルデータから、そのモデルを撮影したときの２次元画像を得るためのものである。
カメラ２は、例えば、ＩＥＥＥ１３９４接続可能なデジタルカメラまたは、ビデオカメラである。
【００１３】
図３に、入出力データファイルの説明図を示す。入力データファイルには、３次元形状モデルデータ及び撮影画像データが含まれる。３次元形状モデルデータは、３次元物体を表すポリゴンデータであり、例えば、頂点座標、面構成データ（浮動小数点フォーマット）等で表現される。撮影画像データは、カメラ２の出力であり、２次元画像データである。一方、出力データファイルは、３次元形状モデルデータに撮影画像データによるテクスチャを貼り付けることによってテクスチャマッピング処理を行った３次元データである。
【００１４】
図４に、距離プロファイル及び距離ヒストグラムデータファイルの説明図を示す。図（Ａ）のように、３次元形状モデルデータについては、ここでは１〜３２０の視点から仮想カメラで撮影した２次元モデルイメージについてのデータが記憶される。即ち、各視点毎の仮想距離プロファイル及び仮想距離ヒストグラムが記憶される。一方、図４（Ｂ）のように、カメラ２で撮影された実際の３次元物体の２次元画像について、適宜与えられる番号ごとの、実距離プロファイル及び実距離ヒストグラムが記憶される。
【００１５】
これら、距離プロファイル及びヒストグラムについては後述する。また、上述した、入力データファイル、出力データファイル距離プロファイル及び距離ヒストグラムデータファイルは、メモリ１３に記憶される。
【００１６】
３．ソフトウェア
図５に、実光学系と仮想光学系の説明図を示す。
図（Ａ）は実光学系であり、実物体を実際の実カメラで撮影する場合の光学系を表す。また、図（Ｂ）は、仮想光学系であり、コンピュータ上で３次元モデルを仮想カメラで撮影する場合の光学系を表す。
本発明の実施の形態では、実光学系と仮想光学系の物理尺度を同一にしておき、実カメラにより撮影したときと全く同じ位置・方向に仮想カメラをおいたとき得られる３次元物体の２次元投影像を、実カメラから得られた２次元画像で置き換え、それを３次元物体に逆投影することにより、テクスチャを持つ（マッピングされた）３次元モデルを作成することができる。
【００１７】
以下に、テクスチャマッピング方法について説明する。
図６に、テクスチャマッピング方法のフローチャートを示す。この方法は、前処理とピクチャ処理を含む。
【００１８】
（１）  前処理
（ステップＳ１０１）
コンピュータ１の処理部１１は、メモリ１２の入力データファイル中から３次元物体を表すポリゴンデータである。３次元形状モデルデータを読み込む。
（ステップＳ１０３）
つぎに、コンピュータ１の処理部１１は、３次元形状モデルデータを用い、３次元物体を包み込む多面体（この例では、３２０面体）の各面の中心から３次元物体を撮影したときの２次元画像（仮想画像）を得て、仮想画像について距離プロファイル及び距離ヒストグラムを求める。
【００１９】
図７に、物体の周囲に配置した３２０個の撮影点についての説明図を示す。図示のように、処理部１１は、正２０面体を分割して得られる３２０面体の各三角面の中心に視点（カメラ位置）を配置する。処理部１１は、ＰＣ１の処理部１１内部に搭載されているビデオカード（グラフィックカード）を用いて、その３次元形状モデルデータの２次元イメージを取得し、その２次元イメージ（シルエット画像）から距離プロファイル、ヒストグラムを以下に詳述するように作成する。
【００２０】
図８に、距離プロファイル及び距離ヒストグラム作成についてのフローチャートを示す。これはステップＳ１０３に相当する。
【００２１】
（１−１）エッジ及びシルエットの抽出（Ｓ１５１）
処理部１１は、メモリ１３から読み出した３次元形状モデルデータに基づき、３２０の視点から３次元物体を投影したときの（２次元）仮想画像をレンダリングして得る。さらに、仮想画像からシルエットのエッジを抽出する。
【００２２】
（１−２）距離プロファイルの作成（Ｓ１５３）
処理部１１は、仮想画像の中心（重心）から所定角度（ここでは、１度）ごとに物体のエッジまでの距離を測る。さらに、処理部１１は、角度に対する測定した距離を表した距離プロファイルを作成し、メモリ１３の仮想光学系の距離プロファイル及び距離ヒストグラムデータファイルに記憶する。
【００２３】
以下に例を示す。
図９は、単純な輪郭線をもつシルエットの例である。処理部１１は、図の矢印のように、重心から輪郭線までの距離を測定する。
【００２４】
図１０に、図９の輪郭線から作成した距離プロファイルを示す。縦軸が距離、横軸が角度を示す。
図１１は、複雑な輪郭線をもつシルエットの例である。
図１２に、図１１の輪郭線から作成した距離プロファイルを示す。
【００２５】
（１−３）正規化（Ｓ１５５）
つぎに、処理部１１は、上記（１−２）で作成した距離プロファイルを正規化する。
正規化の方法は，距離プロファイルの平均値を所定値（例えば、１００００）になるようにする。
図１３に、距離プロファイルの正規化についての説明図を示す。処理部１１は、図示のように、距離プロファイルの平均値を一定の値（１００００）にする操作を行う。
【００２６】
（１−４）距離ヒストグラムの作成（Ｓ１５７）
処理部１１は、正規化した距離プロファイルを一定距離（例えば、２０００）ごとにサンプリング点をカウントしていき、所定段階（この例では、１０段階）での距離ヒストグラムを作成し、メモリ１３の仮想光学系の距離プロファイル及び距離ヒストグラムデータファイルにそれを記憶する。なお、所定距離以上については、最終段階に含めるようにしてもよいし（この例では、１００００以上については１０番目の要素に含める）、また、除いてもよい。
【００２７】
なお、処理部１１は、各ステップにおいて、２次元イメージ、シルエット画像、エッジ、エッジまでの距離、距離プロファイル、正規化、ヒストグラムに関する各情報を必要に応じて適宜メモリ１３に書き込み又はメモリ１３から読み出しする。
【００２８】
（２）ピクチャ処理
（ステップＳ２０１）
つぎに、処理部１１は、カメラ２により、必要に応じて背景に青や緑のシートを敷いて、物体を撮影し、Ｉ／Ｆ１２を経てデータを取り込む。取り込まれた実画像データは、適宜メモリ１３の入力データファイルに撮影画像データとして記憶される。
【００２９】
（ステップＳ２０３）
処理部１１は、取り込まれた実画像データに基づき、撮影画像の背景を除去する処理を行なう。
【００３０】
（ステップＳ２０５）
つぎに処理部１１は、撮影画像から、物体のエッジを抽出して実画像についての距離プロファイル（実距離プロファイル）を作成し、さらにその距離ヒストグラム（実距離ヒストグラム）を作成し、メモリ１３の実光学系の距離プロファイル及び距離ヒストグラムデータファイルにそれを記憶する。これらの処理は上述と同様である。
【００３１】
（ステップＳ２０７）ヒストグラムマッチング
処理部１１は、前処理で作成した仮想光学系の仮想距離ヒストグラムと、ステップＳ２０５で作成した実光学系の実距離ヒストグラムをメモリ１３から読み出す。処理部１１は、これらの距離ヒストグラム同士を比較して一致するもの（一致する程度の高いもの）を取り出す。このヒストグラムの比較では、処理部１１は、ｚ方向の回転については考慮しなくてよいため、高速に比較することができる。処理部１１は、抽出したヒストグラムに関するデータをメモリ１３に記憶する。例えば、選択された候補の視点番号をメモリ１３の適宜の中間ファイルに記憶してもよいし、距離プロファイル及び距離ヒストグラムを含めて記憶してもよい。ここで、例えば、３２０の候補から約２０に減らすことになる。
【００３２】
候補を選択するための具体的手法としては、例えば、次式の総和ｓｊにより類似度を計算し、類似度の高いものを所定数（この例では約２０個）選択する。こうして、カメラ位置が決定される。
【００３３】
【数１】
0003910811.tif 000002
【００３４】
ここで、Ｈ（ｍ）（ｍ＝１〜１０）は、実光学系の１０レベルの実距離ヒストグラム、ｈｊ  （ｍ）（ｍ＝１〜１０，ｊ＝１〜３２０）は、仮想光学系の３２０視点による１０レベルの仮想距離ヒストグラムである。
【００３５】
（Ｓ２０９）距離プロファイルマッチング
つぎに処理部１１は、ステップＳ２０７におけるヒストグラムの比較で一致したものについて、メモリ１３からその候補を読み出し、距離プロファイル同士を比較する。この例では、距離プロファイルの数は２０に減っているが、それぞれの仮想距離プロファイルは、所定角度を１度とすると、１度ごとに３６０度要素があるため、比較するパターンは２０×３６０通りある。
【００３６】
図１４に、距離プロファイルマッチングのフローチャートを示す。
処理部１１は、実距離プロファイル及び仮想距離プロファイル候補を読出し、実光学系の入力画像の実距離プロファイルＦ（ｉ）（ｉ  ＝１．．．３６０）と、仮想光学系の３次元形状モデルデータについて所定角度毎の仮想距離プロファイルＧｊ，ｋ（ｉ）（ｊ＝１〜２０、ｉ，ｋ＝１〜３６０）を求める（Ｓ３０１）。マッチング方法としては、処理部１１は、これらを求めた仮想距離プロファイルの各要素を以下のように比較する。
【００３７】
処理部１１は、初期値として、Ｓ＝０とし（Ｓ３０２）、ｉを、１から３６０まで、次式の条件を判定（Ｓ３０３、Ｓ３０５、Ｓ３０９）する。
｜Ｆ（ｉ）−  Ｇｊ，ｋ（ｉ）｜＜１００
処理部１１は、この条件に合致したらＳをカウントアップする（Ｓ３０７）。処理部１１は、それぞれのＳ値を視点番号に対応して、メモリ１３に記憶し（Ｓ３１１）、これを各要素ｊ，ｋについて求める（Ｓ３１３）。処理部１１は、ここで得られたＳの値により、類似度の順序づけを行う。即ち、Ｓが大きければマッチングの程度が大きいことを示す。
【００３８】
こうして、処理部１１は候補を選択し、選択された上位候補について、視点番号、回転角を含めたデータをメモリ１３に記憶する。この例では、処理部１１は、７２００通りから上位の２０候補を選択する。ここでは、一例として、比較の閾値として１００を用いたが（これは、常に距離プロファイルの平均１００００の１％の値）、これに限られず適宜の値を決定することができる。こうして処理部１１は、カメラ２の回転角を決定する。
【００３９】
（Ｓ２１１）シルエットマッチング
つぎに処理部１１は、ステップＳ２０９で求めた上位の仮想距離プロファイルの候補（ここでは、２０個）について、シルエットのマッチング処理を行い、最終的に順位付けを行う。
図１５に、シルエットマッチングのフローチャートを示す。
まず、処理部１１は、メモリ１３から仮想距離プロファイルの候補と回転角、実距離プロファイルを読み出し、仮想画像及び実画像の形状、即ち、仮想シルエット及び実シルエットを作成する（Ｓ３５１）。カメラ２の位置の決定方法は、まず、仮想の距離プロファイルを作成した仮想カメラ位置は既知であるため、この位置情報を用いる。しかし、仮想カメラと実カメラによる実際の撮影位置は必ずしも一致していいないため、処理部１１は、仮想カメラの位置を実際の撮影位置に近づける処理（正規処理）を行う（Ｓ３５３）。ここで必要となるのが、正規化されていない仮想カメライメージの仮想距離プロファイルの平均値と、実カメラによる入力画像の実距離プロファイルの平均値である。処理部１１は、仮想距離プロファイルの平均値を実距離プロファイルの平均値に近づける（一致させる）処理を行うことで、実際の物体と視点との距離を推定することができる。その処理部１１は、処理に用いられるシルエットの拡大又は縮小の倍率を以下のように計算する。
倍率＝（入力画像の実距離プロファイルの平均値）／（仮想イメージの仮想距離プロファイルの平均値）
【００４０】
次に、処理部１１は、シルエットのｚ軸方向の回転について、ステップＳ２０９で求めた回転角に相当するシフト量だけｚ軸に対して回転処理を行う（Ｓ３５５）。このとき、シルエットマッチングは、レンダリングされた仮想画像と入力された実画像とのＸＯＲ（排他的論理和）をとり、一致しなかったピクセルを数え、そのピクセル数が少ないシフト量を適当な値として定める（Ｓ３５７）。
【００４１】
このようにして、例えば１つ（又は少数）の候補としてカメラ位置、回転角が決定される。処理部１１は、決定した候補について、カメラ位置、回転角、視点番号を含むデータをメモリ１３に記憶する（Ｓ３５９）。
（Ｓ２１２）カメラパラメータのためのシルエットマッチング
【００４２】
仮想カメラは、物体と取り囲む３２０面体の各面の中心に配置されたものなので、必ずしも実カメラの位置が、その中心とは一致しない。そこで、つぎに、処理部１１は、ステップＳ２１１で最も一致したものをカメラ位置及び回転角の候補としてカメラパラメータを詳細に定める。
ここでは、６つの制御パラメータとして、３つの移動量（ベクトル）Ｔｘ，Ｔｙ，Ｔｚと３つの回転角Ｒｘ，Ｒｙ，Ｒｚを定める。そのために、処理部１１は、一例として以下のように、ポリゴンの３次元形状モデルデータをＸＹＺ軸に対して移動／回転させながら、シンプレックス法を用いて収束するまで繰り返す。
【００４３】
図１６に、カメラパラメータのためのシルエットマッチングのフローチャートを示す。
（２−１）カメラの６つのパラメータである移動量・回転量の初期値、初期ピクセル数ｄをセットする（Ｓ３２１）。
（２−２）移動、回転変位量ｕｔ，ｕｒに従って視点を移動する（Ｓ３２３）。
（２−３）レンダリングして、シルエット画像を得る（Ｓ３２５）。
（２−４）ＸＯＲをとり、一致しなかったピクセルの数Ｄを数える（Ｓ３２７）。
（２−５）Ｄが前の値よりも小さい場合、そのときの変位量を記録する（Ｓ３２９、Ｓ３３１）。
（２−６）Ｄがもっとも小さくなるまで、上記（２−２）〜（２−５）を繰り返す（Ｓ３３３）。
（２−７）変位量ｕｔ，ｕｒの値を半分にして、ｕｔ，ｕｒの値が十分小さくなるまで（２−２）に戻り、以上の操作を繰り返す（Ｓ３３５、Ｓ３３７）。
（２−８）処理部１１は以上のようにして、６つのカメラパラメータを定め、詳細な撮影位置を推定し、それに関する視点、カメラパラメータを含むデータをメモリ１３に記憶する（Ｓ３３９）。
【００４４】
（Ｓ２１５）テクスチャマッピング
次に、撮影した複数の２次元画像を、テクスチャとして形状データにマッピングする方法について述べる。
まず、３次元から２次元への投影変換については、テクスチャマッピングでは、処理部１１は、形状データを構成する三角形ポリゴンごとに行う。処理部１１は、得られた画像とマッチングをとったあと、そのカメラパラメータを用いてまず各ポリゴンを既に述べた角度条件と隠れ条件により改めて可視条件について判定する。処理部１１は、可視ポリゴンの端点を撮影画像上にマップした領域は三角ポリゴンとなり、これをテクスチャとして切り出す。このマッピングは３次元座標から２次元座標への投影変換を用いる（石井繁夫、「続Ｃ言語による３Ｄグラフィックス入門」、技術評論社、１９９０参照）。切りとられたテクスチャは投影逆変換により、３次元としてのポリゴン上にマップされる。処理部１１は、メモリ１３の出力データファイルに３次元物体を表すポリゴンデータにテクスチャを貼り付けたデータを記憶する。
【００４５】
このとき一つのポリゴンに２個のテクスチャが与えられた場合（一つの表面が２視点から可視）があり、その場合処理部１１は、次のブレンディング処理を行う。
図１７に、ブレンディング処理の説明図を示す。
２ブレンディング処理では、ポリゴンＰが２枚のテクスチャＱ１、Ｑ２に投影され、その投影面積がＡ１、Ａ２であった場合、それぞれのテクスチャの重みＷ１、Ｗ２は以下の式により与える。
【００４６】
【数２】
0003910811.tif 000003
【００４７】
ブレンディング処理はＣＧ言語ＯｐｅｎＧＬのｇｌＢｌｅｎｄ−ｆｕｎｃを用いて行われる。これらの重みがこの関数の混合比アルファ値となる。３個以上ある場合は３個ブレンディングしてもよいし、ポリゴン法線と視線の角度が小さい２個をとることも考えられる。
【００４８】
４．実例
以下に、本実施の形態を用いたテクスチャマッピング処理の実例を示す。
図１８は、三次元形状データ（恐竜）の説明図を示す。図（ａ）は、元のデータであり、図（ｂ）は、ポリゴン数を減らしたデータである。
【００４９】
図１９は、実例（恐竜）の撮影画像から作成したシルエット画像の図である。このように、圧縮処理を実行することにより、一層高速な処理を達成することができる。
図２０に、図１９のシルエット画像から作成した距離プロファイルの図を示す。
図２１に、図２０の距離プロファイルから作成したヒストグラムの図を示す。ここでは１０段階のヒストグラムとしている。
【００５０】
図２２は、実例（恐竜）の他の撮影画像から作成したシルエット画像の図である。
図２３に、図２２のシルエット画像から作成した距離プロファイルの図を示す。
図２４に、図２３の距離プロファイルから作成したヒストグラムの図を示す。
【００５１】
図２５に、テクスチャマッピング結果の図を示す。図（ａ）は、１枚画像をテクスチャマッピングしたものであり、図（ｂ）は２枚画像をテクスチャマッピングしたもの、図（ｃ）は、１２枚画像をテクスチャマッピングしたものである。
この実例では、前処理については６０秒以下で実行された。１０レベルヒストグラムマッチングは、０．０１秒以下、次の距離プロファイルマッチングは、０．８秒以下であった。さらに、次のシルエットマッチングは３秒程であり、最後のカメラパラメータ計算は１０〜１５秒程であった。またテクスチャー合成及び表示は１秒以下であり、テクスチャマッピングの全処理が７０秒程で実現できた。このように、通常のパーソナルコンピュータを用いて高速処理・リアルタイム処理が実現され、さらに高速のＰＣを用いて半分以下に処理時間を短縮できる。
【００５２】
本発明のテクスチャマッピング方法又はテクスチャマッピング装置・システムは、その各手順をコンピュータに実行させるためのテクスチャマッピング処理プログラム、テクスチャマッピング処理プログラムを記録したコンピュータ読み取り可能な記録媒体、テクスチャマッピング処理プログラムを含みコンピュータの内部メモリにロード可能なプログラム製品、そのプログラムを含むサーバ等のコンピュータ、等により提供されることができる。
【００５３】
以上のように、画像のマッピング処理には、従来の方法では高価なワークステーションでも３０分から１時間要した時間が、本発明によると、安価なパソコンで、例えば、１０分の一以上一枚あたり３分から５分の所要時間を２０秒以下に削減することができる。
【００５４】
【発明の効果】
本発明は、以上のように、高速処理（例えば、画像一枚あたり２０秒程度以下）を行えるようにし、実用性を十分に確立したテクスチャマッピング方法、テクスチャマッピング処理プログラム及びそのプログラムを記録したコンピュータ読取り可能な記録媒体を提供することができる。
【００５５】
また、本発明によると、デジタルカメラで実物を多方向から撮影して形状だけ与えられている物体の輪郭に基づいて、その物体の表面に正確にテクスチャ画像をマッピングすることができ、また、その為に、物体とカメラの相互位置関係を正確且つ高速に求める多段的探索法を提供することができる。
【図面の簡単な説明】
【図１】テクスチャマッピング装置の概要図。
【図２】テクスチャマッピング装置のブロック構成図。
【図３】入出力データファイルの説明図。
【図４】距離プロファイル及び距離ヒストグラムデータファイルの説明図。
【図５】実光学系と仮想光学系の説明図。
【図６】テクスチャマッピング方法のフローチャート。
【図７】物体の周囲に配置した３２０個の撮影点についての説明図。
【図８】距離プロファイル及び距離ヒストグラム作成についてのフローチャート。
【図９】単純な輪郭線をもつシルエットの例。
【図１０】図９の輪郭線から作成した距離プロファイル。
【図１１】図１１は、複雑な輪郭線をもつシルエットの例。
【図１２】図１１の輪郭線から作成した距離プロファイル。
【図１３】距離プロファイルの正規化についての説明図。
【図１４】距離プロファイルマッチングのフローチャート。
【図１５】シルエットマッチングのフローチャート。
【図１６】カメラパラメータのためのシルエットマッチングのフローチャート。
【図１７】ブレンディング処理の説明図。
【図１８】三次元形状データ（恐竜）の説明図。
【図１９】実例（恐竜）の撮影画像から作成したシルエット画像の図。
【図２０】図１９のシルエット画像から作成した距離プロファイルの図。
【図２１】図２０の距離プロファイルから作成したヒストグラムの図。
【図２２】実例（恐竜）の他の撮影画像から作成したシルエット画像の図。
【図２３】図２２のシルエット画像から作成した距離プロファイルの図。
【図２４】図２３の距離プロファイルから作成したヒストグラムの図。
【図２５】テクスチャマッピング結果の図。
【符号の説明】
１          パソコン
２          カメラ
１１        処理部
１２        Ｉ／Ｆ
１３        メモリ
１４        入力部
１５        出力部
【図１】
0003910811.tif 000004
【図２】
0003910811.tif 000005
【図３】
0003910811.tif 000006
【図４】
0003910811.tif 000007
【図５】
0003910811.tif 000008
【図６】
0003910811.tif 000009
【図７】
0003910811.tif 000010
【図８】
0003910811.tif 000011
【図９】
0003910811.tif 000012
【図１０】
0003910811.tif 000013
【図１１】
0003910811.tif 000014
【図１２】
0003910811.tif 000015
【図１３】
0003910811.tif 000016
【図１４】
0003910811.tif 000017
【図１５】
0003910811.tif 000018
【図１６】
0003910811.tif 000019
【図１７】
0003910811.tif 000020
【図１８】
0003910811.tif 000021
【図１９】
0003910811.tif 000022
【図２０】
0003910811.tif 000023
【図２１】
0003910811.tif 000024
【図２２】
0003910811.tif 000025
【図２３】
0003910811.tif 000026
【図２４】
0003910811.tif 000027
【図２５】
0003910811.tif 000028