(57)【要約】【課題】３次元ポリゴンモデルの各ポリゴンに割り当てるカメラ視点の不連続又は散在を抑制することができる画像処理装置を提供することを課題とする。【解決手段】画像処理装置は、被写体の形状を表す３次元ポリゴンモデルの各ポリゴンに割り当てるテクスチャとして、同一の被写体が撮影された複数のカメラ視点の中から１つのカメラ視点をポリゴン毎に選択する第１の選択手段と、前記選択したポリゴンのうちの再選択条件を満たすポリゴンに対しては、対象ポリゴンの周辺ポリゴンについて選択されたカメラ視点を基に、前記複数のカメラ視点の中から１つのカメラ視点を選択し直す第２の選択手段と、前記ポリゴン毎に選択されたカメラ視点の画像を各ポリゴンにテクスチャとして割り当てる割り当て手段とを有する。【選択図】図９
2019046378.tif 000002
【特許請求の範囲】
【請求項１】
被写体の形状を表す３次元ポリゴンモデルの各ポリゴンに割り当てるテクスチャとして、同一の被写体が撮影された複数のカメラ視点の中から１つのカメラ視点をポリゴン毎に選択する第１の選択手段と、
前記選択したポリゴンのうちの再選択条件を満たすポリゴンに対しては、対象ポリゴンの周辺ポリゴンについて選択されたカメラ視点を基に、前記複数のカメラ視点の中から１つのカメラ視点を選択し直す第２の選択手段と、
前記ポリゴン毎に選択されたカメラ視点の画像を各ポリゴンにテクスチャとして割り当てる割り当て手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記第２の選択手段は、前記周辺ポリゴンのうちの前記再選択条件を満たさないポリゴンについて選択されたカメラ視点を基に、前記複数のカメラ視点の中から１つのカメラ視点を選択し直すことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第２の選択手段は、前記周辺ポリゴンのうちの前記再選択条件を満たさないポリゴンについて選択されたカメラ視点と、前記周辺ポリゴンのうちの前記第２の選択手段により選択されたポリゴンのカメラ視点を基に、前記複数のカメラ視点の中から１つのカメラ視点を選択し直すことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記再選択条件は、同一のカメラ視点が選択されかつ隣接しているポリゴンの数が閾値以下であるポリゴン群に属しているポリゴンである条件であることを特徴とする請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記第１の選択手段は、前記ポリゴン毎に、前記複数のカメラ視点の各々の評価値を取得し、前記評価値が最上位であるカメラ視点を選択し、
前記再選択条件は、前記複数のカメラ視点の評価値のうちの上位２個の評価値の差又は比が閾値以下であるポリゴンである条件であることを特徴とする請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項６】
前記再選択条件は、同一のカメラ視点が選択されたポリゴン群の境界周辺のポリゴンである条件であることを特徴とする請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項７】
前記第２の選択手段は、最多のカメラ視点を選択することを特徴とする請求項１〜６のいずれか１項に記載の画像処理装置。
【請求項８】
前記第１の選択手段は、前記ポリゴン毎に、前記複数のカメラ視点の各々の評価値を取得し、前記評価値が最上位であるカメラ視点を選択し、
前記第２の選択手段は、
前記周辺ポリゴンのうちの前記再選択条件を満たさないポリゴンの数が前記周辺ポリゴンの数の半数以上である場合には、前記周辺ポリゴンのうちの前記再選択条件を満たさないポリゴンについて選択されたカメラ視点のうちの最多のカメラ視点を選択し、
前記周辺ポリゴンのうちの前記再選択条件を満たさないポリゴンの数が前記周辺ポリゴンの数の半数以上でない場合には、前記対象ポリゴンに隣接するポリゴン又は前記周辺ポリゴンのうちの前記再選択条件を満たさないポリゴンについて選択されたカメラ視点のうちの前記評価値が最上位のカメラ視点を選択することを特徴とする請求項２に記載の画像処理装置。
【請求項９】
前記第１の選択手段は、前記ポリゴン毎に、前記複数のカメラ視点の各々の評価値を取得し、前記評価値が最上位であるカメラ視点を選択し、
前記第２の選択手段は、
前記周辺ポリゴンのうちの前記再選択条件を満たさないポリゴンと前記周辺ポリゴンのうちの前記第２の選択手段により選択されたポリゴンの数が前記周辺ポリゴンの数の半数以上である場合には、前記周辺ポリゴンのうちの前記再選択条件を満たさないポリゴンと前記周辺ポリゴンのうちの前記第２の選択手段により選択されたポリゴンについて選択されたカメラ視点のうちの最多のカメラ視点を選択し、
前記周辺ポリゴンのうちの前記再選択条件を満たさないポリゴンの数が前記周辺ポリゴンの数の半数以上でない場合には、前記対象ポリゴンに隣接するポリゴン又は前記周辺ポリゴンのうちの前記再選択条件を満たさないポリゴンについて選択されたカメラ視点のうちの前記評価値が最上位のカメラ視点を選択することを特徴とする請求項３に記載の画像処理装置。
【請求項１０】
前記第１の選択手段は、前記ポリゴン毎に、前記複数のカメラ視点の各々の評価値を取得し、前記評価値が最上位であるカメラ視点を選択し、
前記第２の選択手段は、
前記周辺ポリゴンのうちの前記再選択条件を満たさないポリゴンの各々についての複数の上位の評価値の差が全て閾値より小さい場合には、前記周辺ポリゴンのうちの前記再選択条件を満たさないポリゴンの各々についての複数の上位の評価値のカメラ視点を基に、カメラ視点を選択し、
前記周辺ポリゴンのうちの前記再選択条件を満たさないポリゴンの各々についての複数の上位の評価値の差の中で閾値より小さくないものある場合には、前記対象ポリゴンに隣接するポリゴン又は前記周辺ポリゴンのうちの前記再選択条件を満たさないポリゴンについて選択されたカメラ視点のうちの前記評価値が最上位のカメラ視点を選択することを特徴とする請求項２に記載の画像処理装置。
【請求項１１】
第１の選択手段により、被写体の形状を表す３次元ポリゴンモデルの各ポリゴンに割り当てるテクスチャとして、同一の被写体が撮影された複数のカメラ視点の中から１つのカメラ視点をポリゴン毎に選択する第１の選択ステップと、
第２の選択手段により、前記選択したポリゴンのうちの再選択条件を満たすポリゴンに対しては、対象ポリゴンの周辺ポリゴンについて選択されたカメラ視点を基に、前記複数のカメラ視点の中から１つのカメラ視点を選択し直す第２の選択ステップと、
割り当て手段により、前記ポリゴン毎に選択されたカメラ視点の画像を各ポリゴンにテクスチャとして割り当てる割り当てステップと
を有することを特徴とする画像処理方法。
【請求項１２】
コンピュータを、請求項１〜１０のいずれか１項に記載された画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、立体形状である対象物を複数の撮影点から撮影して得られたテクスチャ画像を用いて、指定された任意の仮想視点から見える映像を生成する任意視点映像生成装置が開示されている。ブレンドテクスチャ画像選択手段は、テクスチャ画像の各撮影点の３次元位置及び視線方向と、仮想視点の３次元位置及び視線方向とに基づいて、各テクスチャ画像に優先順位を付与し、優先順位に従って混合する複数のテクスチャ画像を選択する。ブレンドテクスチャ画像生成手段は、ブレンドテクスチャ画像選択手段により選択された複数のテクスチャ画像の各撮影点における３次元位置及び視線方向と、仮想視点の３次元位置及び視線方向とに基づいて、混合する各テクスチャ画像のブレンド率を決定する。そして、ブレンドテクスチャ画像生成手段は、ブレンド率に従って複数のテクスチャ画像を混合してブレンドテクスチャ画像を生成する。内挿映像生成手段は、ブレンドテクスチャ画像生成手段により生成されたブレンドテクスチャ画像を３次元モデルにテクスチャマッピングし、仮想視点から見える対象物の２次元の内挿映像を生成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２０４８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１では、３次元モデルの形状の精度が低い場合、複数のテクスチャ画像を混合してブレンドテクスチャ画像を生成し、ブレンドテクスチャ画像を３次元モデルにテクスチャマッピングすると、テクスチャ画像が不連続になる場合がある。
【０００５】
本発明の目的は、３次元ポリゴンモデルの各ポリゴンに割り当てるカメラ視点の不連続又は散在を抑制することができる画像処理装置、画像処理方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００６】
本発明の画像処理装置は、被写体の形状を表す３次元ポリゴンモデルの各ポリゴンに割り当てるテクスチャとして、同一の被写体が撮影された複数のカメラ視点の中から１つのカメラ視点をポリゴン毎に選択する第１の選択手段と、前記選択したポリゴンのうちの再選択条件を満たすポリゴンに対しては、対象ポリゴンの周辺ポリゴンについて選択されたカメラ視点を基に、前記複数のカメラ視点の中から１つのカメラ視点を選択し直す第２の選択手段と、前記ポリゴン毎に選択されたカメラ視点の画像を各ポリゴンにテクスチャとして割り当てる割り当て手段とを有する。
【発明の効果】
【０００７】
本発明によれば、３次元ポリゴンモデルの各ポリゴンに割り当てるカメラ視点の不連続又は散在を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】テクスチャ付き３Ｄポリゴンの生成方法を示す図である。
【図２】３Ｄポリゴンとテクスチャの対応付けを示す図である。
【図３】テクスチャ付き３Ｄポリゴンを表現するためのデータを示す図である。
【図４】三角形の表方向の組を示す図である。
【図５】マルチカメラを示す図である。
【図６】テクスチャマッピング装置の構成例を示すブロック図である。
【図７】テクスチャマッピング装置の処理方法を示すフローチャートである。
【図８】テクスチャマッピング部の構成例を示すブロック図である。
【図９】テクスチャマッピング部の処理を示すフローチャートである。
【図１０】カメラ視点の再選択方法を説明するための図である。
【図１１】カメラ視点の再選択方法を示すフローチャートである。
【図１２】カメラ視点の再選択方法を説明するための図である。
【図１３】テクスチャマッピング装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【０００９】
（第１の実施形態）
図１（Ａ）〜（Ｃ）は、本発明の第１の実施形態によるテクスチャマッピング装置の処理を説明するための図であり、テクスチャ付き３次元ポリゴンモデル（３Ｄポリゴンモデル）の生成方法を示す。３Ｄポリゴンモデルを構成するポリゴンは、例えば三角形である。以下、三角形ポリゴンにテクスチャを付加した３Ｄポリゴンモデルを説明する。なお、ポリゴンは、三角形に限定されない。図１（Ａ）は、３Ｄポリゴンモデルであり、例えば三角形ポリゴンモデルの形状を示す。図１（Ｂ）は、テクスチャを示す。図１（Ｃ）は、テクスチャ付き３Ｄポリゴンモデルを示す。テクスチャマッピング装置は、図１（Ａ）の３Ｄポリゴンモデルと図１（Ｂ）のテクスチャを組み合わせ、各ポリゴンにテクスチャを描画する視点を決める。そして、テクスチャマッピング装置は、３Ｄレンダリング処理により、図１（Ｃ）のように入力視点からのテクスチャ付き３Ｄポリゴンモデルの画像を生成する。
【００１０】
テクスチャマッピング装置は、実写の画像を基に、カメラ視点の配置の制約を受けずに自由な仮想視点から被写体を観測し、レンダリングし、テクスチャ付き３Ｄポリゴンモデルを生成することができる。テクスチャマッピング装置は、被写体の３Ｄポリゴンモデルにカメラ視点画像を投影し、テクスチャ画像と共に３Ｄポリゴンモデルの頂点とテクスチャ画像上の座標を対応付けるＵＶマップを生成する。そして、テクスチャマッピング装置は、レンダリングすることにより、所望の仮想視点のテクスチャ付き３Ｄポリゴンモデルの画像を生成する。
【００１１】
テクスチャマッピング技術は、テクスチャ生成タイミングにより、（１）仮想視点を決める前にテクスチャを生成する方法と、（２）仮想視点を決めた後にテクスチャを生成する方法に分類される。（１）の方法は、仮想視点に最適化したマッピングを行うことができる。（２）の方法は、視点決定後の処理がレンダリングのみであるため、ユーザに対してインタラクティブな視点操作を提供しやすい。本実施形態のテクスチャマッピング装置は、形状の精度が高くない３Ｄ形状モデルをベースとするユーザインタラクティブな自由視点画像として提供することを目的とし、上記の（２）の方法により、テクスチャを生成する。
【００１２】
図２（Ａ）〜（Ｃ）は、図１（Ａ）の３Ｄポリゴンモデルと図１（Ｂ）のテクスチャの対応付けを説明するための図である。図２（Ａ）は、図１（Ａ）の３Ｄポリゴンの形状を表現するための要素として、三角形Ｔ０〜Ｔ１１及びこれらを構成する頂点Ｖ０〜Ｖ１１を表したものである。図２（Ｂ）は、図１（Ｂ）のテクスチャ画像上で、図２（Ａ）の形状の頂点Ｖ０〜Ｖ１１に対応する位置Ｐ０〜Ｐ１３を表している。図２（Ｃ）は、図２（Ａ）と図２（Ｂ）を対応づけるための情報であり、各三角形Ｔ０〜Ｔ１１に対してそれらを構成する３Ｄ空間上の頂点ＩＤとテクスチャ画像空間上のテクスチャ頂点ＩＤの対応表を示す。テクスチャマッピング装置は、図２（Ｃ）の表を基に、図１（Ａ）の形状に図１（Ｂ）のテクスチャを付与することができる。図２（Ａ）の座標は、ｘｙｚ軸の３Ｄ空間座標で表現され、図２（Ｂ）の座標は、ｕｖ軸の２次元（２Ｄ）画像空間座標で表現される。図２（Ｃ）の頂点Ｖ０〜Ｖ４、Ｖ７〜Ｖ１１のように、多くの場合、頂点とテクスチャ頂点は１対１の対応となっており、インデックス番号を一致させて表現することができる。ところが、頂点Ｖ５がテクスチャ頂点Ｐ５とＰ１２に対応するといったように、３Ｄ空間上では一つの頂点であっても画像空間上の異なる位置に対応する頂点が存在する。このようなテクスチャの対応関係も処理できるように、頂点ＩＤとテクスチャ頂点ＩＤは独立に管理される。
【００１３】
図３（Ａ）は、上記のテクスチャ付き３Ｄポリゴンを表現するために使用するデータを示す図である。図３（Ａ）は、図２（Ａ）に対応する頂点座標一覧表のデータである。図３（Ｂ）は、図２（Ｂ）に対応するテクスチャ頂点座標一覧表のデータである。図３（Ｃ）は、図２（Ｃ）に対応し、三角形と頂点とテクスチャ頂点の対応表のデータである。図３（Ｄ）は、図１（Ｂ）に対応するテクスチャ画像である。
【００１４】
頂点ＩＤの並びには、面の表方向を定義する役割がある。三角形Ｔ０は３個の頂点から成り、その順序は６通り存在する。この頂点を左から順にたどった際の回転方向に対して右ねじの法則に従う方向を表方向と定義することが多い。図４（Ａ）及び（Ｂ）は、頂点の記述順序と三角形の表方向の組を表したものである。図４（Ａ）は、紙面に対して裏から表の方向が三角形の表となる。図４（Ｂ）は、紙面に対して表から裏の方向が三角形の表となる。
【００１５】
以上で、テクスチャ付き３Ｄポリゴンのデータ表現の説明を終える。本実施形態は、上記で説明したデータ表現に限定されることなく、例えば四角形以上のポリゴン表現を用いてもよい。また、本実施形態は、形状とテクスチャの対応関係の表現にインデックスを用いず、直接座標を記述する場合や、三角形の表方向の定義が逆なもの等、様々なケースに対して適用可能である。
【００１６】
図５は、マルチカメラを示す図である。本実施形態のテクスチャマッピング装置は、図５に示すマルチカメラから得られた画像を基に、３Ｄポリゴンに対してテクスチャマッピングを行う（テクスチャを付与する）。図５のマルチカメラでは、カメラＡ〜Ｈの視点が円の中心に位置する注視点に対して隣接カメラの成す角が均等になるように配置されている。カメラＡ〜Ｈの各々は、注視点において被写体が同程度の解像度で撮像されるように設定されている。カメラＩの視点は、その他のカメラＡ〜Ｈの視点よりも高解像に撮影されるように設定されている。本実施形態のテクスチャマッピング装置は、このように被写体とカメラＡ〜Ｉの距離やカメラＡ〜Ｉの設定が異なるものが混在する複雑な構成を持つマルチカメラにおいて、好適なテクスチャマッピングを行うことを目的とする。
【００１７】
図６は、テクスチャマッピング装置の構成例を示す図である。テクスチャマッピング装置は、画像処理装置であり、カメラ視点画像撮像部６０１と、カメラパラメータ取得部６０３と、カメラ視点情報格納部６０９とを有する。さらに、テクスチャマッピング装置は、３Ｄポリゴン取得部６０５と、３Ｄポリゴン格納部６０６と、テクスチャマッピング部６０７と、テクスチャ付き３Ｄポリゴン格納部６０８とを有する。カメラ視点情報格納部６０９は、カメラ視点画像格納部６０２と、カメラパラメータ格納部６０４とを有する。
【００１８】
カメラ視点画像撮像部６０１は、図５のカメラＡ〜Ｉを有し、各カメラＡ〜Ｉで同期をとりながら画像の撮影を行い、撮影した画像をカメラ視点画像格納部６０２に格納する。カメラ視点画像撮像部６０１は、キャリブレーションマーカなどが映ったキャリブレーション用画像、被写体の存在しない背景画像、及び被写体を含むテクスチャマッピング用のカメラ視点画像をカメラ視点画像格納部６０２に格納する。カメラパラメータ取得部６０３は、カメラ視点画像撮像部６０１から供給されるカメラパラメータを初期値として、カメラ視点画像格納部６０２に格納されているキャリブレーション用画像を用いて、カメラパラメータを取得する。そして、カメラパラメータ取得部６０３は、取得したカメラパラメータをカメラパラメータ格納部６０４に格納する。
【００１９】
３Ｄポリゴン取得部６０５は、３Ｄ空間上の被写体の形状を表す３Ｄポリゴンモデルを取得し、３Ｄポリゴン格納部６０６に３Ｄポリゴンモデルを格納する。３Ｄポリゴン取得部６０５は、ｖｉｓｕａｌ  ｈｕｌｌアルゴリズムを適用してボクセル情報を取得し、３Ｄポリゴンモデルを再構成する。ただし、３Ｄポリゴンモデルの取得方法は、任意のものでよく、例えばボクセル情報を直接３Ｄポリゴンモデルに変換してもよい。その他にも、３Ｄポリゴンモデルの取得方法は、赤外線センサを用いて取得されるデプスマップから得られる点群にＰＳＲ（ｐｏｉｓｓｏｎ  ｓｕｒｆａｃｅ  ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ）を適用してもよい。点群の取得方法は、ＰＭＶＳ（Ｐａｔｃｈ−ｂａｓｅｄ  Ｍｕｌｔｉ−ｖｉｅｗ  Ｓｔｅｒｅｏ）に代表される画像特徴を利用したステレオマッチングによって得られるものであってもよい。テクスチャマッピング部６０７は、格納部６０２、６０４及び６０６から、被写体が映ったカメラ視点画像、カメラパラメータ、及び３Ｄポリゴンモデルをそれぞれ読み出し、３Ｄポリゴンへのテクスチャマッピングを行い、テクスチャ付き３Ｄポリゴンを生成する。そして、テクスチャマッピング部６０７は、生成されたテクスチャ付き３Ｄポリゴンをテクスチャ付き３Ｄポリゴン格納部６０８に格納する。
【００２０】
図７は、図６のテクスチャマッピング装置の画像処理方法を示すフローチャートである。ステップＳ７０１において、カメラパラメータ取得部６０３は、カメラ視点画像格納部６０２に格納されているキャリブレーション用画像を用いてキャリブレーションを行い、全カメラＡ〜Ｉの視点のカメラパラメータを取得する。カメラパラメータは、外部パラメータ及び内部パラメータを有する。外部パラメータは、カメラの位置・姿勢を有する。内部パラメータは、焦点距離・光学中心を有する。内部パラメータとしての焦点距離は、一般的な光学分野のピンホールモデルにおけるレンズ中心とカメラセンサ面の距離そのものではなく、レンズ中心とカメラセンサ面の距離を画素ピッチ（１画素当たりのセンササイズ）で割ったもので表す。カメラパラメータ取得部６０３は、取得したカメラパラメータをカメラパラメータ格納部６０４に格納する。
【００２１】
次に、ステップＳ７０２において、カメラ視点画像撮像部６０１は、同時刻のカメラＡ〜Ｉのカメラ視点画像を取得し、カメラＡ〜Ｉのカメラ視点画像をカメラ視点画像格納部６０２に格納する。次に、ステップＳ７０３において、３Ｄポリゴン取得部６０５は、ステップＳ７０２で取得したカメラ視点画像と同時刻の３Ｄポリゴンモデルを取得し、３Ｄポリゴンモデルを３Ｄポリゴン格納部６０６に格納する。次に、ステップＳ７０４において、テクスチャマッピング部６０７は、テクスチャマッピングにより、３Ｄポリゴンモデルにテクスチャ（カメラ視点画像）を付与し、テクスチャ付き３Ｄポリゴンモデルを取得する。そして、テクスチャマッピング部６０７は、テクスチャ付き３Ｄポリゴンモデルをテクスチャ付き３Ｄポリゴン格納部６０８に格納する。
【００２２】
図８は、図６のテクスチャマッピング部６０７の構成例を示すブロック図である。テクスチャマッピング部６０７は、ｕｖ座標取得部８０１と、視点評価部８０２と、視点選択部８０３と、テクスチャ生成部８０４とを有する。ｕｖ座標取得部８０１は、カメラパラメータ格納部６０３から読み出したカメラパラメータを用いて、３Ｄポリゴン格納部６０６に格納されている３Ｄポリゴンの各頂点について、それぞれのカメラ視点画像に投影した際のｕｖ座標を取得する。視点評価部８０２は、３Ｄポリゴンの各三角形について、その三角形にテクスチャを付与する元となるカメラ視点を選択するための基準となる、評価値を全てのカメラ視点について算出する。視点選択部８０３は、各三角形に対して、全カメラ視点の評価値の中で評価値が最大のカメラ視点を選択する。視点選択部８０３は、３Ｄポリゴンモデルの各三角形（ポリゴン）に割り当てるテクスチャとして、同一の被写体が撮影された複数のカメラ視点の中から１つのカメラ視点を三角形毎（ポリゴン毎）に選択する。テクスチャ生成部８０４は、各三角形に対して選択されたカメラ視点の画像の一部を一つのテクスチャ画像に集約し、三角形がテクスチャ上の必要な位置を参照できるようにテクスチャ画像上のｕｖ座標を算出する。そして、テクスチャ生成部８０４は、割り当て手段であり、三角形毎に選択されたカメラ視点の画像を各三角形にテクスチャとして割り当て、図３（Ａ）〜（Ｄ）のような形式でテクスチャ付き３Ｄポリゴン格納部６０８に格納する。
【００２３】
図９（Ａ）は、テクスチャマッピング部６０７の処理を示すフローチャートである。ステップＳ９０１において、テクスチャマッピング部６０７は、格納部６０２、６０４及び６０６から、カメラ視点画像、カメラパラメータ及び３Ｄポリゴンをそれぞれ入力する。次に、ステップＳ９０２において、ｕｖ座標取得部８０１は、３Ｄポリゴンの全ての頂点について、全てのカメラ視点画像に投影した際のｕｖ座標を算出する。この時、被写体がカメラ視点画像の画角の外にあることが分かった場合はｕｖ座標にエラー値（負の値など）を設定しておくことで、この後の処理でそのカメラ視点画像を使用不可とするフラグとして利用することができる。
【００２４】
次に、ステップＳ９０３において、視点評価部８０２は、全てのポリゴンについて、全てのカメラ視点の評価値を算出する。評価値は、その値が大きい程、そのカメラ視点が選択されやすい。例えば、評価値は、ポリゴンとカメラの間の距離の逆数である。なお、評価値は、これに限定されず、ポリゴンの法線ベクトルとポリゴンのカメラ方向ベクトルとのなす角と、前述した距離の逆数との積でもよい。評価値は、選択するカメラ視点の優先順位を決めることができるものであれば何でもよい。
【００２５】
次に、ステップＳ９０４において、視点選択部８０３は、上記の評価値に基づき、各々のポリゴンにテクスチャを割り当てるカメラ視点を選択する。ステップＳ９０４の処理の詳細は、後に、図９（Ｂ）を参照しながら説明する。次に、ステップＳ９０５において、テクスチャ生成部８０４は、選択されたカメラ視点の画像を基に、テクスチャ画像及びテクスチャ画像上のｕｖ座標を生成し、各ポリゴンに割り当てる。
【００２６】
図９（Ｂ）は、図９（Ａ）のステップＳ９０４の処理の詳細を示すフローチャートである。以下、視点選択部８０３が、評価値に基づいて各ポリゴンに割り当てるカメラ視点を選択する方法の詳細を説明する。
【００２７】
ステップＳ９０６において、視点選択部８０３は、全てのポリゴンについて、全てのカメラ視点の各々の評価値を視点評価部８０２から取得する。次に、ステップＳ９０７において、視点選択部８０３は、各ポリゴンについて、評価値が最大（最上位）のカメラ視点を仮選択する。次に、ステップＳ９０８において、視点選択部８０３は、再選択条件を満たす再選択領域を検出する。具体的には、視点選択部８０３は、同一のカメラ視点が仮選択されかつ隣接しているポリゴンの集合を同一カメラ視点ポリゴン群とする。そして、視点選択部８０３は、同一カメラ視点ポリゴン群に属しているポリゴンの数が閾値Ｎ（例えばＮ＝３２）個以下である同一カメラ視点ポリゴン群の領域を再選択領域として検出する。次に、ステップＳ９０９において、視点選択部８０３は、再選択領域内の各ポリゴンに割り当てるカメラ視点を再選択する。ステップＳ９０９の処理の詳細は、後に、図９（Ｃ）及び図１０を参照しながら説明する。
【００２８】
図９（Ｃ）は、図９（Ｂ）のステップＳ９０９の処理の詳細を示すフローチャートである。図１０は、３Ｄポリゴンモデルを構成するポリゴンを表しており、各ポリゴンの中に描かれた数字は仮選択のカメラ視点の番号である。
【００２９】
ステップＳ９１０において、視点選択部８０３は、再選択領域１００１の中から処理対象とする着目ポリゴン（対象ポリゴン）１００２を取得する。このとき、視点選択部８０３は、再選択領域１００１の中の端にあるポリゴンを優先的に着目ポリゴン１００２として取得する。次に、ステップＳ９１１において、視点選択部８０３は、着目ポリゴン１００２及びその周辺ポリゴン１００３の仮選択のカメラ視点を取得する。例えば、周辺ポリゴン１００３は、着目ポリゴン１００２の各頂点を共有する全てのポリゴンである。
【００３０】
次に、ステップＳ９１２において、視点選択部８０３は、周辺ポリゴン１００３のうちの再選択領域１００１に含まれないポリゴンの中でカメラ視点が仮選択されているポリゴンの数が、周辺ポリゴン１００３のポリゴン数の半数以上であるか否かを判定する。図１０の場合、上記の仮選択されているポリゴンの数は７個であり、周辺ポリゴン１００３のポリゴン数は１３個である。視点選択部８０３は、仮選択されているポリゴンの数が半数以上であると判定した場合には、ステップＳ９１３に処理を進め、仮選択されているポリゴンの数が半数以上でないと判定した場合には、ステップＳ９１４に処理を進める。
【００３１】
ステップＳ９１３において、視点選択部８０３は、周辺ポリゴン１００３の上記の仮選択されているカメラ視点の中で多数決判定を行い、最多のカメラ視点を、着目ポリゴン１００２に割り当てるカメラ視点として選択し、ステップＳ９１５に処理を進める。図１０を例にすると、周辺ポリゴン１００３のうちの再選択領域１００１に含まれないポリゴンの中でカメラ視点が仮選択されているポリゴンの数は７個である。その内訳は、カメラ視点（１）が仮選択されているポリゴンの数が５個であり、カメラ視点（２）が仮選択されているポリゴンの数が２個である。この場合、視点選択部８０３は、着目ポリゴン１００２に割り当てるカメラ視点として、最多のカメラ視点（１）を選択する。
【００３２】
ステップＳ９１４において、視点選択部８０３は、着目ポリゴン１００２に隣接する３個のポリゴンのうちの再選択領域１００１に含まれないポリゴンのうち、評価値が最大のポリゴンの仮選択のカメラ視点を着目ポリゴン１００２のカメラ視点として選択する。なお、評価値の最大は、評価値の最上位でもよい。ここで、着目ポリゴン１００２に隣接する３個のポリゴンが全て再選択領域１００１に含まれる場合がある。その場合、視点選択部８０３は、周辺ポリゴン１００３のうちの再選択領域１００１に含まれないポリゴンのうち、評価値が最大（最上位）のポリゴンの仮選択のカメラ視点を、着目ポリゴン１００２に割り当てるカメラ視点として選択する。その後、視点選択部８０３は、ステップＳ９１５に処理を進める。
【００３３】
ステップＳ９１５において、視点選択部８０３は、再選択領域１００１内の全ポリゴンについて処理が完了したか否かを判定する。視点選択部８０３は、全ポリゴンについて処理が完了していないと判定した場合には、ステップＳ９１０に処理を戻し、再選択領域１００１内の他のポリゴンについての処理を繰り返す。視点選択部８０３は、全ポリゴンについて処理が完了したと判定した場合には、再選択領域１００１に含まれないポリゴンのカメラ視点の仮選択を真の選択にし、ステップＳ９０９の処理を終了する。
【００３４】
以上のように、ステップＳ９０７では、視点選択部８０３は、３Ｄポリゴンモデルの各ポリゴンに割り当てるテクスチャとして、同一の被写体が撮影された複数のカメラ視点の中から１つのカメラ視点をポリゴン毎に選択する。ステップＳ９０８では、視点選択部８０３は、ステップＳ９０７で選択したポリゴンのうちの再選択条件を満たすカメラ視点の再選択領域のポリゴンを検出する。ステップＳ９０９では、視点選択部８０３は、再選択領域のポリゴンに対しては、着目ポリゴンの周辺ポリゴンについて選択されたカメラ視点を基に、複数のカメラ視点の中から１つのカメラ視点を選択し直す。
【００３５】
なお、ステップＳ９１２〜Ｓ９１４では、視点選択部８０３は、過去のステップＳ９１３又はＳ９１４で選択したカメラ視点を考慮して、処理を行ってもよい。ステップＳ９１２では、視点選択部８０３は、周辺ポリゴン１００３の中で、上記の仮選択されたポリゴンの数（７個）とステップＳ９１３又はＳ９１４で選択されたポリゴンの数の合計が、周辺ポリゴン１００３のポリゴン数の半数以上であるか否かを判定する。ステップＳ９１３では、視点選択部８０３は、周辺ポリゴン１００３の中の上記の仮選択されている７個のカメラ視点とステップＳ９１３又はＳ９１４で選択されているカメラ視点の中で最多のカメラ視点を、着目ポリゴン１００２のカメラ視点として選択する。ステップＳ９１４では、視点選択部８０３は、着目ポリゴン１００２に隣接する３個のポリゴンのうちの再選択領域１００１に含まれないポリゴンとステップＳ９１３又はＳ９１４で選択されたポリゴンのうち、評価値が最大のポリゴンのカメラ視点を選択する。なお、評価値の最大は、評価値の最上位でもよい。
【００３６】
テクスチャマッピング装置は、上記の処理により、３Ｄポリゴンモデルに対してテクスチャを与えるカメラ視点を選択する際に、実際の形状に対して３Ｄポリゴンモデルに誤差を含む場合であっても、適切なテクスチャマッピングを行うことができる。なお、ステップＳ９０８では、同一カメラ視点ポリゴン群に属しているポリゴンの数がＮ（例えばＮ＝３２）個以下である領域を再選択領域として検出したが、再選択領域の検出方法はこれに限定されるものではない。例えば、視点選択部８０３は、各ポリゴンについて、複数のカメラ視点の評価値のうちの上位２個の評価値の差又は比が閾値以下であるポリゴン群を再選択領域として選択してもよい。また、視点選択部８０３は、同一のカメラ視点が仮選択されたポリゴン群の境界周辺のポリゴン群を再選択領域として検出してもよい。また、視点選択部８０３は、局所領域における各ポリゴンの法線ベクトルの類似度から３Ｄポリゴンモデルの歪度を算出し、歪度が大きいポリゴンを優先的にカメラ視点の再選択領域としてもよい。
【００３７】
また、視点選択部８０３は、着目ポリゴン１００２の各頂点を共有する全てのポリゴンを周辺ポリゴン１００３として取得したが、周辺ポリゴン１００３の取得方法はこれに限定されるものではない。例えば、視点選択部８０３は、着目ポリゴンを中心に隣接数がＭ（例えばＭ＝１２）個以下のポリゴンを周辺ポリゴンとして取得してもよい。
【００３８】
（第２の実施形態）
第１の実施形態では、視点選択部８０３は、３Ｄポリゴンモデルの全ポリゴンに割り当てるカメラ視点を仮選択した後、再選択領域を検出し、再選択領域内のポリゴンに割り当てるカメラ視点を再選択する。このとき、視点選択部８０３は、処理対象である着目ポリゴンの周辺ポリゴンに仮選択されているカメラ視点の情報だけを用いて、着目ポリゴンのカメラ視点を再選択していた。本発明の第２の実施形態では、カメラ視点の評価値と仮選択したカメラ視点の連続性を用いて再選択領域内のポリゴンに割り当てるカメラ視点を再選択する方法について説明する。なお、本実施形態では、第１の実施形態のステップＳ９０９の処理の差異についてのみ説明する。以下、本実施形態が第１の実施形態と異なる点を説明する。本実施形態では、視点選択部８０３は、図９（Ｃ）の代わりに、図１１の処理を行う。
【００３９】
図１１は、図９（Ｂ）のステップＳ９０９の処理の詳細を示すフローチャートである。図１２（Ａ）は、３Ｄポリゴンモデルを構成するポリゴンを表しており、各ポリゴンの中に描かれた文字は三角形ポリゴンの番号である。図１２（Ｂ）は、カメラ視点の再選択の一例を示す。
【００４０】
ステップＳ１１０１において、視点選択部８０３は、再選択領域１２０１から処理対象とする着目ポリゴン１２０２を取得し、着目ポリゴン１２０２の周辺ポリゴン１２０３を取得する。このとき、視点選択部８０３は、再選択領域１２０１の端にあるポリゴンを優先的に着目ポリゴン１２０２として取得する。
【００４１】
次に、ステップＳ１１０２において、視点選択部８０３は、周辺ポリゴン１２０３のうちの再選択領域１２０１に含まれないポリゴンＴ１〜Ｔ７毎に、全てのカメラ視点の評価値を大きい順にソートし、上位Ｘ個の評価値Ｖａｌ１〜Ｖａｌ３を取得する。例えば、Ｘ個は、３個である。
【００４２】
次に、ステップＳ１１０３において、視点選択部８０３は、ステップＳ１１０２で取得したポリゴンＴ１〜Ｔ７の各々についての上位３個の評価値Ｖａｌ１〜Ｖａｌ３の差が全て閾値より小さいか否かを判定する。視点選択部８０３は、上記の差が全て閾値より小さいと判定した場合には、ステップＳ１１０４に処理を進め、上記の差の中で閾値より小さくないものがあると判定した場合には、ステップＳ１１０５に処理を進める。例えば、視点選択部８０３は、ポリゴンＴ１〜Ｔ７のそれぞれについて、最も大きい評価値Ｖａｌ１とそれ以外の評価値Ｖａｌ２、Ｖａｌ３との差分絶対値を取り、その差分絶対値が全て閾値ｔｈより小さいと判定した場合には、ステップＳ１１０４に処理を進める。すなわち、視点選択部８０３は、ポリゴンＴ１〜Ｔ７のすべてについて、｜Ｖａｌ１−Ｖａｌ２｜＜ｔｈかつ｜Ｖａｌ１−Ｖａｌ３｜＜ｔｈを満たす場合に、ステップＳ１１０４に処理を進める。
【００４３】
ステップＳ１１０４において、視点選択部８０３は、周辺ポリゴン１２０３のうちの再選択領域１２０１に含まれないポリゴンＴ１〜Ｔ７について同じカメラ視点の連続性を優先し、最も連続しているカメラ視点を着目ポリゴン１２０２のカメラ視点として選択する。図１２（Ｂ）を例にすると、視点選択部８０３は、ポリゴンＴ１〜Ｔ７について、上位２個の評価値Ｖａｌ１と評価値Ｖａｌ２のカメラ視点が最も連続するように、カメラ視点（２）を、着目ポリゴン１２０２に割り当てるカメラ視点として選択する。例えば、視点選択部８０３は、ポリゴンＴ１〜Ｔ７の各々についての上位２個の評価値Ｖａｌ１及びＶａｌ２のカメラ視点の中で最多のカメラ視点（２）を選択する。その後、視点選択部８０３は、ステップＳ１１０６に処理を進める。
【００４４】
ステップＳ１１０５では、視点選択部８０３は、着目ポリゴン１２０２に隣接する３個のポリゴンのうちの再選択領域１２０１に含まれないポリゴンのうち、評価値が最大（最上位）のカメラ視点を、着目ポリゴン１２０２に割り当てるカメラ視点として選択する。ここで、着目ポリゴン１２０２に隣接する３個のポリゴンが全て再選択領域１２０１に含まれる場合がある。その場合、視点選択部８０３は、周辺ポリゴン１２０３のうちの再選択領域１２０１に含まれないポリゴンのうち、評価値が最大（最上位）のポリゴンの仮選択のカメラ視点を、着目ポリゴン１２０２に割り当てるカメラ視点として選択する。その後、視点選択部８０３は、ステップＳ１１０６に処理を進める。
【００４５】
ステップＳ１１０６において、視点選択部８０３は、再選択領域１２０１内の全ポリゴンについて処理が完了したか否かを判定する。視点選択部８０３は、全ポリゴンについて処理が完了していないと判定した場合には、ステップＳ１１０１に処理を戻し、再選択領域１２０１内の他のポリゴンについての処理を繰り返す。視点選択部８０３は、全ポリゴンについて処理が完了したと判定した場合には、再選択領域１２０１に含まれないポリゴンのカメラ視点の仮選択を真の選択にし、ステップＳ９０９の処理を終了する。
【００４６】
テクスチャマッピング装置は、上記の処理により、３Ｄポリゴンモデルに対してテクスチャを与えるカメラ視点を選択する際に、実際の形状に対して３Ｄポリゴンモデルに誤差を含む場合であっても、適切なテクスチャマッピングを行うことができる。なお、ステップＳ１１０３及びＳ１１０４では、視点選択部８０３は、ポリゴンＴ１〜Ｔ７についての評価値Ｖａｌ１〜Ｖａｌ３の差が全て閾値ｔｈより小さいか否かを判定し、小さい場合に連続性を優先してカメラ視点を選択する。この選択方法は、これに限定されるものではない。例えば、視点選択部８０３は、ポリゴンＴ１〜Ｔ７についての評価値Ｖａｌ１〜Ｖａｌ３の差が閾値より小さいポリゴンのみを用いて最も連続するカメラ視点を選択してもよい。
【００４７】
また、３Ｄポリゴンモデルの全ポリゴンについてカメラ視点を再選択するよりも、本実施形態は、カメラ視点の再選択領域を検出し、再選択領域内のポリゴンについてのみカメラ視点の再選択を行うことで、無駄な計算コストを削減することができる。
【００４８】
（第３の実施形態）
図１３は、本発明の第３の実施形態によるテクスチャマッピング装置のハードウェア構成例を示す図であり、図６のテクスチャマッピング装置のうちのカメラ視点画像撮像部６０１以外の部分に対応する。テクスチャマッピング装置は、図６のカメラパラメータ取得部６０３と、カメラ視点情報格納部６０９と、３Ｄポリゴン取得部６０５と、３Ｄポリゴン格納部６０６と、テクスチャマッピング部６０７と、テクスチャ付き３Ｄポリゴン格納部６０８の機能を有する。以下、図１３と図６の対応関係を説明する。外部記憶装置１３０７及びＲＡＭ１３０２は、図６のカメラ視点情報格納部６０９と、３Ｄポリゴン格納部６０６と、テクスチャ付き３Ｄポリゴン格納部６０８に対応する。また、ＣＰＵ１３０１がＲＡＭ１３０２内のプログラムを実行することにより、図６のカメラパラメータ取得部６０３と、３Ｄポリゴン取得部６０５と、テクスチャマッピング部６０７の機能を実現する。すなわち、図６のカメラパラメータ取得部６０３と、３Ｄポリゴン取得部６０５と、テクスチャマッピング部６０７は、ハードウェアで構成しても良いが、ＣＰＵ１３０１が実行するソフトウェア（コンピュータプログラム）として実装しても良い。この場合、このソフトウェアは、ＰＣ（パーソナルコンピュータ）等、一般のコンピュータのＲＡＭ１３０２にインストールされることになる。そして、このコンピュータのＣＰＵ１３０１がこのインストールされたソフトウェアを実行することで、このコンピュータは、上述のテクスチャマッピング装置の機能を実現することになる。即ち、このコンピュータは、上述のテクスチャマッピング装置に適用することができる。第１の実施形態のテクスチャマッピング装置に適用可能なコンピュータのハードウェア構成例について、図１３のブロック図を用いて説明する。
【００４９】
ＣＰＵ１３０１は、ＲＡＭ１３０２又はＲＯＭ１３０３に格納されているコンピュータプログラム又はデータを用いて、コンピュータ全体の制御を行うと共に、テクスチャマッピング装置が行うものとして説明した上述の各処理を実行する。
【００５０】
ＲＡＭ１３０２は、コンピュータ読み取り可能な記憶媒体の一例である。ＲＡＭ１３０２は、外部記憶装置１３０７、記憶媒体ドライブ１３０８、又はネットワークインタフェース１３０９からロードされたコンピュータプログラムやデータを一時的に記憶するためのエリアを有する。更に、ＲＡＭ１３０２は、ＣＰＵ１３０１が各種の処理を実行する際に用いるワークエリアを有する。すなわち、ＲＡＭ１３０２は、各種のエリアを適宜提供することができる。ＲＯＭ１３０３は、コンピュータ読み取り可能な記憶媒体の一例であり、コンピュータの設定データや、ブートプログラムなどを格納する。
【００５１】
キーボード１３０４及びマウス１３０５は、コンピュータの操作者が操作することで、各種の指示をＣＰＵ１３０１に対して入力することができる。表示装置１３０６は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ１３０１による処理結果を画像や文字などで表示することができる。
【００５２】
外部記憶装置１３０７は、コンピュータ読み取り記憶媒体の一例であり、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置１３０７には、ＯＳ（オペレーティングシステム）や、図９（Ａ）〜（Ｃ）に示した各処理をＣＰＵ１３０１に実現させるためのコンピュータプログラムやデータ、上記の各種テーブル、データベース等が保存されている。外部記憶装置１３０７に保存されているコンピュータプログラムやデータは、ＣＰＵ１３０１による制御に従って適宜ＲＡＭ１３０２にロードされ、ＣＰＵ１３０１による処理対象となる。
【００５３】
記憶媒体ドライブ１３０８は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体に記録されているコンピュータプログラムやデータを読み出し、読み出したコンピュータプログラムやデータを外部記憶装置１３０７やＲＡＭ１３０２に出力する。なお、外部記憶装置１３０７に保存されているものとして説明した情報の一部若しくは全部をこの記憶媒体に記録させておき、この記憶媒体ドライブ１３０８に読み取らせても良い。
【００５４】
Ｉ／Ｆ１３０９は、外部から頂点インデックス等を入力したり、符号データを出力したりするためのインタフェースであり、一例として示すのであればＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）である。バス１３１０は、上述の各部を繋ぐバスである。
【００５５】
上述の構成において、本コンピュータの電源がオンになると、ＣＰＵ１３０１はＲＯＭ１３０３に格納されているブートプログラムに従って、外部記憶装置１３０７からＯＳをＲＡＭ１３０２にロードする。この結果、キーボード１３０４及びマウス１３０５を介した情報入力操作が可能となり、表示装置１３０６にＧＵＩを表示することが可能となる。ユーザが、キーボード１３０４やマウス１３０５を操作し、外部記憶装置１３０７に格納されたテクスチャマッピングアプリケーションの起動指示を入力すると、ＣＰＵ１３０１はこのプログラムをＲＡＭ１３０２にロードし、実行する。これにより、本コンピュータがテクスチャマッピング装置として機能することになる。
【００５６】
なお、ＣＰＵ１３０１が実行するテクスチャマッピングアプリケーションプログラムは、図６のカメラパラメータ取得部６０３と、３Ｄポリゴン取得部６０５と、テクスチャマッピング部６０７に相当する関数を備えることになる。ここでの処理結果は、外部記憶装置１３０７に保存される。このコンピュータは、第１及び第２の実施形態に係るテクスチャマッピング装置に適用可能である。
【００５７】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００５８】
第１〜第３の実施形態のテクスチャマッピング装置は、カメラの内部パラメータや、カメラと被写体の距離等、撮影条件の異なるカメラが混在するマルチカメラにおいて、３Ｄポリゴンモデルに対してカメラ視点画像を割り当てることでテクスチャを付与する。テクスチャマッピング装置は、３Ｄポリゴンモデルが被写体の形状に対して誤差を含む場合でも、各ポリゴンに対してテクスチャを割り当てるカメラ視点を適切に選択することができるので、テクスチャのマッピングの歪を低減することができる。視点選択部８０３は、３Ｄポリゴンモデルの各ポリゴンに割り当てるカメラ視点の不連続又は散在を再選択領域として検出し、再選択領域のポリゴンに割り当てるカメラ視点を選択し直す。これにより、各ポリゴンに割り当てるカメラ視点の不連続又は散在を抑制し、テクスチャのマッピングの歪を低減することができる。
【００５９】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００６０】
８０１  ｕｖ座標取得部、８０２  視点評価部、８０３  視点選択部、８０４  テクスチャ生成部
【図１】
2019046378.tif 000003
【図２】
2019046378.tif 000004
【図３】
2019046378.tif 000005
【図４】
2019046378.tif 000006
【図５】
2019046378.tif 000007
【図６】
2019046378.tif 000008
【図７】
2019046378.tif 000009
【図８】
2019046378.tif 000010
【図９】
2019046378.tif 000011
【図１０】
2019046378.tif 000012
【図１１】
2019046378.tif 000013
【図１２】
2019046378.tif 000014
【図１３】
2019046378.tif 000015