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