(57)【特許請求の範囲】
【請求項１】
顔が写された画像における顔の特徴的な点である特徴点として、前記画像における目および口の両端を示す前記特徴点を少なくとも取得する特徴点取得手段と、
前記特徴点取得手段により取得された前記特徴点に基づいて、前記画像における少なくとも目および口の近傍の所定箇所に追加特徴点を算出する追加特徴点算出手段と、
前記特徴点および前記追加特徴点を利用して、所定の三次元的な顔形状の表面を平面に展開した展開画像の顔における前記特徴点および前記追加特徴点に対応する箇所に一致するように前記画像を変形する変形手段と
を備える画像処理装置。
【請求項２】
前記追加特徴点算出手段は、前記画像における目の輪郭側の端から輪郭に向かって所定距離で離れた位置にある点、および、目の両端から口に対して近づく方向に所定距離で離れた位置にある点を、追加特徴点として算出する
請求項１に記載の画像処理装置。
【請求項３】
前記追加特徴点算出手段は、前記画像における口の両端から目に対して近づく方向に所定距離で離れた位置にある点、前記画像における口の両端から目に対して遠ざかる方向に所定距離で離れた位置にある点、および、前記画像における口の一方の端から他方の端に対して反対側に所定距離で離れた位置にある点を、追加特徴点として算出する
請求項１に記載の画像処理装置。
【請求項４】
前記特徴点取得手段は、前記画像における顔の輪郭を少なくとも特徴点として取得し、
前記特徴点に基づいて、前記変形手段により変形された画像における前記顔の輪郭よりも外側の部分を肌色に置き換えてテクスチャ画像を生成する肌色置換手段
をさらに備える請求項１に記載の画像処理装置。
【請求項５】
前記特徴点および前記追加特徴点のいずれかにより定義される所定の領域から、前記画像に写されている顔の肌色を抽出する肌色抽出手段
をさらに備え、
前記肌色置換手段は、前記肌色抽出手段により抽出された肌色で、前記顔の輪郭よりも外側の部分を置き換える
請求項４に記載の画像処理装置。
【請求項６】
前記テクスチャ画像を、所定の顔形状に貼り付けた顔モデルを生成する顔モデル生成手段を
さらに備え、
前記顔モデル生成手段は、前記テクスチャ画像に所定の画像を合成して得られる新たなテクスチャ画像を前記顔形状に貼り付ける
請求項４に記載の画像処理装置。
【請求項７】
画像処理装置が、
顔が写された画像における顔の特徴的な点である特徴点として、前記画像における目および口の両端を示す前記特徴点を少なくとも取得し、
前記特徴点に基づいて、前記画像における少なくとも目および口の近傍の所定箇所に追加特徴点を算出し、
前記特徴点および前記追加特徴点を利用して、所定の三次元的な顔形状の表面を平面に展開した展開画像の顔における前記特徴点および前記追加特徴点に対応する箇所に一致するように前記画像を変形する
ステップを含む画像処理方法。
【請求項８】
画像処理装置のコンピュータが実行するプログラムにおいて、
顔が写された画像における顔の特徴的な点である特徴点として、前記画像における目および口の両端を示す前記特徴点を少なくとも取得し、
前記特徴点に基づいて、前記画像における少なくとも目および口の近傍の所定箇所に追加特徴点を算出し、
前記特徴点および前記追加特徴点を利用して、所定の三次元的な顔形状の表面を平面に展開した展開画像の顔における前記特徴点および前記追加特徴点に対応する箇所に一致するように前記画像を変形する
ステップを含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理方法、並びにプログラムに関し、特に、顔形状に正確に貼り付けることができるテクスチャ画像を生成することができるようにした画像処理装置および画像処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、ゲームや映画などのコンピュータグラフィックによる映像の制作には、三次元の顔モデルが利用されている。
【０００３】
三次元の顔モデルは、例えば、図１に示すように、顔の形状を三次元的に表現する形状データに基づく顔形状と、その顔形状の表面に貼られるテクスチャ画像から構成されている。また、テクスチャ画像は、立体的な曲面の形状を展開したものであるので、一般的に、通常の撮像装置で正面を向く顔を撮像した画像とは異なり、歪んだ形により顔を表現した画像となっている。
【０００４】
例えば、特許文献１には、顔形状とテクスチャ画像とを同時に取得する方法が開示されている。このように顔形状とテクスチャ画像とを同時に取得することで、テクスチャ画像を取得した方向から顔形状にテクスチャ画像を貼り付けることで、顔形状にテクスチャ画像を正確に貼り付けることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１０７１４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、予めモデリングされている顔形状に、任意の顔のテクスチャ画像を貼り付ける場合には、顔の形状とテクスチャ画像の顔パーツとが一致していないため、顔形状にテクスチャ画像を正確に貼り付けることは困難であった。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、顔形状に正確に貼り付けることができるテクスチャ画像を生成することができるようにするものである。
【課題を解決するための手段】
【０００８】
本発明の一側面の画像処理装置は、顔が写された画像における顔の特徴的な点である特徴点として、前記画像における目および口の両端を示す前記特徴点を少なくとも取得する特徴点取得手段と、前記特徴点取得手段により取得された前記特徴点に基づいて、前記画像における少なくとも目および口の近傍の所定箇所に追加特徴点を算出する追加特徴点算出手段と、前記特徴点および前記追加特徴点を利用して、所定の三次元的な顔形状の表面を平面に展開した展開画像の顔における前記特徴点および前記追加特徴点に対応する箇所に一致するように前記画像を変形する変形手段とを備える。
【０００９】
本発明の一側面の画像処理方法またはプログラムは、顔が写された画像における顔の特徴的な点である特徴点として、前記画像における目および口の両端を示す前記特徴点を少なくとも取得し、前記特徴点に基づいて、前記画像における少なくとも目および口の近傍の所定箇所に追加特徴点を算出し、前記特徴点および前記追加特徴点を利用して、所定の三次元的な顔形状の表面を平面に展開した展開画像の顔における前記特徴点および前記追加特徴点に対応する箇所に一致するように前記画像を変形するステップを含む。
【００１０】
本発明の一側面においては、顔が写された画像における顔の特徴的な点である特徴点として、画像における目および口の両端を示す特徴点が少なくとも取得され、特徴点に基づいて、画像における少なくとも目および口の近傍の所定箇所に追加特徴点が算出され、特徴点および追加特徴点を利用して、所定の三次元的な顔形状の表面を平面に展開した展開画像の顔における特徴点および追加特徴点に対応する箇所に一致するように画像が変形される。
【発明の効果】
【００１１】
本発明の一側面によれば、顔形状に正確に貼り付けることができるテクスチャ画像を生成することができる。
【図面の簡単な説明】
【００１２】
【図１】三次元の顔モデルの構成について説明する図である。
【図２】本発明を適用した画像処理システムの一実施の形態の構成例を示すブロック図である。
【図３】ユーザの顔を撮像して顔モデルを表示する処理を説明するフローチャートである。
【図４】変形画像を生成する処理について説明する図である。
【図５】顔領域に設定される特徴点について説明する図である。
【図６】顔領域に設定される追加特徴点について説明する図である。
【図７】変形画像生成処理を説明するフローチャートである。
【図８】立体的な顔形状を示す図である。
【図９】顔形状の表面が平面になるように展開されたテクスチャ画像を示す図である。
【図１０】テクスチャ画像を複数の三角形の領域に分割する処理について説明する図である。
【図１１】三角形の領域を変形する処理について説明する図である。
【図１２】画像変形処理を説明するフローチャートである。
【図１３】特徴点だけに基づく処理と、特徴点および追加特徴点に基づく処理との結果を比較する図である。
【図１４】肌色抽出領域の一例を示す図である。
【図１５】マスクを施す処理について説明する図である。
【図１６】肌色マスク処理を説明するフローチャートである。
【図１７】マスクデータを生成する処理を説明するフローチャートである。
【図１８】マスクデータを生成する処理について説明する図である。
【図１９】顔モデルを表示する表示画面の例を示す図である。
【図２０】髪の三次元形状を組み合わせた顔モデルの例を示す図である。
【図２１】帽子の三次元形状を組み合わせた顔モデルの例を示す図である。
【図２２】異なるユーザの顔が反映された顔モデルを説明する図である。
【図２３】異なるユーザの顔が反映された顔モデルを説明する図である。
【図２４】異なるユーザの顔が反映された顔モデルを説明する図である。
【図２５】フェイスペインティングを演出した顔モデルを示す図である。
【図２６】隈取の化粧が施された顔モデルを示す図である。
【図２７】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００１４】
図２は、本発明を適用した画像処理システムの一実施の形態の構成例を示すブロック図である。なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【００１５】
図２において、画像処理システムは、画像処理装置１１に、撮像装置１２、入力装置１３、および表示装置１４が接続されて構成されている。
【００１６】
撮像装置１２は、レンズおよび絞りなどからなる光学系と、CCD（Charge Coupled Device）やCMOS（Complementary Metal-Oxide Semiconductor）センサなどの撮像部とを備えて構成される。撮像装置１２は、撮像部の受光面に光学系を介して結像された光学的な被写体の画像を撮像し、その結果得られる画像のデータを画像処理装置１１に供給する。
【００１７】
入力装置１３は、ボタン、スイッチ、または表示装置１４に重ねて設けられるタッチパネルなどからなり、ユーザの操作に応じた信号を画像処理装置１１に供給する。
【００１８】
表示装置１４は、LCD（Liquid Crystal Display）や有機EL（Electro Luminescence）ディスプレイなどからなり、画像処理装置１１から供給される画像のデータに従って、各種の画像を表示する。
【００１９】
画像処理装置１１は、記憶部２１、変形画像生成部２２、肌色マスク処理部２３、三次元処理部２４、および制御部２５を備えて構成される。
【００２０】
記憶部２１は、撮像装置１２により撮像された画像のデータや、変形画像生成部２２および肌色マスク処理部２３により生成されるテクスチャ画像のデータなどを記憶する。また、記憶部２１には、画像処理装置１１において画像処理を行うのに必要な様々なデータ、例えば、顔の形状を三次元的に表現する形状データなどが予め記憶されている。
【００２１】
変形画像生成部２２は、制御部２５の制御に従って、記憶部２１に記憶されている画像のデータを読み出し、その画像に写されている顔を、テクスチャ画像における顔の構成に合わせて変形させた変形画像を生成する変形画像生成処理を行う。
【００２２】
変形画像生成部２２は、特徴点検出部３１、追加特徴点算出部３２、および画像変形処理部３３を備えて構成されている。特徴点検出部３１は、図５を参照して後述するように、画像に写されている顔から特徴点を検出し、追加特徴点算出部３２は、図６を参照して後述するように、画像に写されている顔から追加特徴点を算出する。画像変形処理部３３は、図８乃至１１を参照して後述するように、特徴点および追加特徴点を利用して、画像に写されている顔を変形する画像変形処理を行って変形画像を生成する。
【００２３】
肌色マスク処理部２３は、制御部２５の制御に従って、変形画像生成部２２により生成された変形画像における背景（顔の輪郭より外側の部分）を、画像中の顔から抽出した肌色に置き換える肌色マスク処理を行う。このように、変形画像に肌色マスク処理が施されることにより、ユーザの顔が写された画像からテクスチャ画像が生成され、肌色マスク処理部２３は、テクスチャ画像のデータを記憶部２１に記憶させる。
【００２４】
肌色マスク処理部２３は、肌色抽出部４１、マスク処理部４２、マスクデータ生成部４３を備えて構成されている。肌色抽出部４１は、図１４を参照して後述するように、追加特徴点により定義される所定の領域から肌色を抽出する。マスク処理部４２は、図１５および１６を参照して後述するように、変形画像の一部を肌色に置き換えるマスク処理を施す。マスクデータ生成部４３は、図１７および１８を参照して後述するように、マスク処理部４２がマスク処理に使用するマスクデータを生成する。
【００２５】
三次元処理部２４は、制御部２５の制御に従って、変形画像生成部２２および肌色マスク処理部２３により生成されたテクスチャ画像を、記憶部２１に記憶されている形状データに基づく顔形状に貼り付けて顔モデルを生成する処理を行う。また、三次元処理部２４は、三次元的な形状で表現されている顔モデルを、表示装置１４に表示するための二次元的な画像に変換する処理を行い、その処理の結果得られる画像のデータを表示装置１４に供給して、顔モデルを表示させる。
【００２６】
制御部２５は、CPU（Central Processing Unit）や、ROM（Read Only Memory）、RAM（Random Access Memory）、フラッシュメモリ（例えば、EEPROM（Electronically Erasable and Programmable Read Only Memory））などを備えて構成されている。そして、制御部２５は、CPUがROMまたはフラッシュメモリに記憶されているプログラムをRAMにロードして実行することで、画像処理装置１１の各部を制御する。
【００２７】
次に、図３は、図２の画像処理システムが、ユーザの顔を撮像して顔モデルを表示する処理を説明するフローチャートである。
【００２８】
例えば、ユーザが撮像装置１２に正対した状態で、自身の正面の顔を撮像するように入力装置１３を操作すると処理が開始され、ステップＳ１１において、撮像装置１２は、ユーザの操作に応じたタイミングで撮像した画像を画像処理装置１１に供給する。
【００２９】
ステップＳ１１の処理後、処理はステップＳ１２に進み、変形画像生成部２２は、ステップＳ１１で撮像装置１２により撮像された画像を処理の対象として、変形画像を生成する変形画像生成処理（後述の図７）を行う。変形画像生成処理では、処理の対象となる画像（以下、適宜、原画像と称する）に写されている顔の領域が、テクスチャ画像における顔の構成に合わせて変形されて変形画像が生成される。変形画像生成部２２は、変形画像生成処理において生成した変形画像を肌色マスク処理部２３に供給し、処理はステップＳ１３に進む。
【００３０】
ステップＳ１３において、肌色マスク処理部２３は、変形画像生成部２２から供給された変形画像における背景を、原画像に写されている顔から抽出された肌色に置き換える肌色マスク処理（後述の図１６）を行い、テクスチャ画像を生成する。肌色マスク処理部２３は、肌色マスク処理により生成したテクスチャ画像を記憶部２１に記憶させ、処理はステップＳ１４に進む。
【００３１】
ステップＳ１４において、三次元処理部２４は、記憶部２１に記憶されている顔形状およびテクスチャ画像を読み出し、顔形状にテクスチャ画像を貼り付けて顔モデルを生成する。三次元処理部２４は、生成した顔モデルを表示装置１４に表示するための二次元的な画像に変換し、その結果得られる画像のデータを表示装置１４に供給して、処理はステップＳ１５に進む。
【００３２】
ステップＳ１５において、表示装置１４は、ステップＳ１４で三次元処理部２４から供給されたデータに基づく画像、即ち、ユーザの顔が写された画像から生成されたテクスチャ画像により表現された顔モデルの画像を表示し、処理は終了する。
【００３３】
次に、図４を参照して、変形画像生成部２２が変形画像を生成する処理について説明する。
【００３４】
例えば、変形画像生成部２２の特徴点検出部３１は、ユーザの顔が写された原画像６１から、その顔の特徴的な点である特徴点を検出する。さらに、追加特徴点算出部３２は、特徴点検出部３１により検出された特徴点を基に追加特徴点を算出する。これにより、画像６２に示すように、原画像６１に対して丸印（○）で示される特徴点と、三角印（△）で示される追加特徴点が設定される。
【００３５】
その後、変形画像生成部２２の画像変形処理部３３は、原画像６１から検出および算出された特徴点および追加特徴点が、テクスチャ画像を貼り付ける対象となる立体的な顔形状の表面を展開したテクスチャ画像（後述の図９）に設定されている特徴点および追加特徴点に、それぞれ一致するように原画像６１を変形する画像変形処理を行い、変形画像６３が生成される。
【００３６】
次に、図５および図６を参照して、原画像から検出および算出される特徴点および追加特徴点について説明する。
【００３７】
図５には、原画像において顔が写っている領域として認識された矩形の顔領域が示されており、その顔領域上に特徴点が丸印で示されている。
【００３８】
一般的に、顔の輪郭、眉の位置、目の境界、鼻の境界、口の境界において色の変化が大きくなる傾向があり、特徴点検出部３１は、原画像の色の変化に基づいて、色の変化が大きな点を網羅するように特徴点を検出する。そして、特徴点検出部３１は、図５に示すように、５５箇所の特徴点Ｐ０乃至Ｐ５４を顔領域に対して設定する。
【００３９】
例えば、特徴点検出部３１は、特徴点Ｐ０乃至Ｐ１１を顔の輪郭に設定し、特徴点Ｐ１２乃至Ｐ１４を右眉に設定し、特徴点Ｐ１５乃至Ｐ２３を右目に設定する。また、特徴点抽出部３１は、特徴点Ｐ２４乃至Ｐ２６を左眉に設定し、特徴点Ｐ２７乃至Ｐ３５を左目に設定し、特徴点Ｐ３６乃至Ｐ４０を鼻に設定し、特徴点Ｐ４１乃至Ｐ５４を口に設定する。
【００４０】
なお、特徴点抽出部３１が特徴点を検出する技術は一般に公開されており、その技術を利用して特徴点を自動的に設定する他、例えば、ユーザが、表示装置１４に表示された顔領域に対して、入力装置１３を操作して対話的に特徴点を入力し、その入力された特徴点を特徴点抽出部３１が取得して顔領域に設定してもよい。
【００４１】
次に、図６には、図５に示された特徴点に加えて、追加特徴点算出部３２が設定する１２箇所の追加特徴点Ｐｘ０乃至Ｐｘ１１が示されている。
【００４２】
追加特徴点算出部３２は、特徴点抽出部３１により設定された特徴点Ｐ０乃至Ｐ５４のうちの、所定の特徴点を基に追加特徴点を算出して顔領域に設定する。図６の例では、追加特徴点算出部３２は、目尻の横に追加特徴点Ｐｘ０およびＰｘ６を設定し、頬内の目の下に追加特徴点Ｐｘ１，Ｐｘ２，Ｐｘ８，Ｐｘ７を設定し、頬内の口角の上に追加特徴点Ｐｘ３およびＰｘ９を設定し、頬内の口角の横に追加特徴点Ｐｘ４およびＰｘ１０を設定し、頬内の口角の下に追加特徴点Ｐｘ５およびＰｘ１１を設定している。
【００４３】
例えば、追加特徴点算出部３２は、右目の目尻の横に設定される追加特徴点Ｐｘ０を、右目の右端の特徴点Ｐ１５および右目の左端の特徴点Ｐ１９から算出する。特徴点および追加特徴点は、顔領域の左上を原点（０，０）として正規化された値で求められる。例えば、追加特徴点Ｐｘ０のＸＹ座標Ｐｘ０（Ｘ，Ｙ）は、特徴点Ｐ１５のＸＹ座標をＰ１５（Ｘ，Ｙ）とし、特徴点Ｐ１９のＸＹ座標をＰ１９（Ｘ，Ｙ）とすると、Ｐｘ０（Ｘ，Ｙ）＝Ｐ１５（Ｘ，Ｙ）＋（Ｐ１５（Ｘ，Ｙ）−Ｐ１９（Ｘ，Ｙ））／２により算出される。このように、追加特徴点Ｐｘ０は、右目の横幅の半分の長さだけ、右目の右端から外側（輪郭側）に向かって延ばした位置に定義されている。
【００４４】
また、追加特徴点算出部３２は、頬内の目の下に設定される追加特徴点Ｐｘ１を、右目の右端の特徴点Ｐ１５および口の右端の特徴点Ｐ４１から算出する。即ち、追加特徴点Ｐｘ１のＸＹ座標Ｐｘ１（Ｘ，Ｙ）は、特徴点Ｐ１５のＸＹ座標をＰ１５（Ｘ，Ｙ）とし、特徴点Ｐ４１のＸＹ座標をＰ４１（Ｘ，Ｙ）とすると、Ｐｘ１（Ｘ，Ｙ）＝Ｐ１５（Ｘ，Ｙ）＋（Ｐ４１（Ｘ，Ｙ）−Ｐ１５（Ｘ，Ｙ））×１／４により算出される。このように、追加特徴点Ｐｘ１は、右目の右端と口の右端との間の長さの１／４の長さだけ、右目の右端から口の右端側に向かう位置に定義されている。
【００４５】
以下、同様に、追加特徴点Ｐｘ２は、右目の左端と口の右端との間の長さの１／４の長さだけ、右目の左端から口の右端側に向かう位置に定義されている。追加特徴点Ｐｘ３は、右目の横幅の中央の点と口の右端との間の長さの３／４の長さだけ、右目の横幅の中央の点から口の右端側に向かう位置に定義されている。また、追加特徴点Ｐｘ４は、口の両端の長さの１／４の長さだけ、口の右端から外側（口の左端に対して反対側）に向かって伸ばした位置に定義されている。また、追加特徴点Ｐｘ５は、右目の左端と口の右端との間の長さの１／４の長さだけ、口の右端から、右目の左端の反対側に向かって伸ばした位置に定義されている。
【００４６】
また、追加特徴点Ｐｘ６乃至Ｐｘ１１は、顔の右側に設定されている追加特徴点Ｐｘ０乃至５に対してそれぞれ左右対象となるように、顔の左側に定義されている。
【００４７】
このように、追加特徴点Ｐｘ０乃至Ｐｘ１１が定義されている位置は、顔領域上で色の変化が小さい位置であるため、特徴点のように、色の変化に基づいて自動的に検出することは困難である。また、ユーザが入力装置１３を操作して追加特徴点を設定するとしても、顔領域から追加特徴点の位置を判断することが困難であり、追加特徴点を確実に設定することは難しい。これに対し、画像処理装置１１では、追加特徴点算出部３２が、特徴点から追加特徴点を算出するので、色の変化が小さい位置であっても、追加特徴点を確実に定義することができる。
【００４８】
次に、図７は、図３のステップＳ１２における変形画像生成処理を説明するフローチャートである。
【００４９】
ステップＳ２１において、変形画像生成部２２では、図３のステップＳ１１で撮像装置１２から供給された原画像に対して顔認識処理が行われ、ユーザの顔が映されている領域である顔領域が認識される。そして、特徴点検出部３１は、図５を参照して説明したように、顔領域から特徴点Ｐ０乃至Ｐ５４を検出し、処理はステップＳ２２に進む。
【００５０】
ステップＳ２２において、追加特徴点算出部３２は、ステップＳ２１で特徴点検出部３１が検出した特徴点Ｐ０乃至Ｐ５４を基に、図６を参照して説明したように、追加特徴点Ｐｘ０乃至Ｐｘ１１を算出する。
【００５１】
ステップＳ２２の処理後、処理はステップＳ２３に進み、画像変形処理部３３は、特徴点Ｐ０乃至Ｐ５４および追加特徴点Ｐｘ０乃至Ｐｘ１１を利用して、原画像の顔を変形する画像変形処理（後述の図１２）を行う。
【００５２】
ステップＳ２４において、変形画像生成部２２は、ステップＳ２３の画像変形処理で画像変形処理部３３により生成された変形画像を出力し、制御部２５は、変形画像生成部２２から出力された変形画像を記憶部２１に記憶させ、処理は終了する。
【００５３】
次に、図８乃至図１２を参照して、画像変形処理部３３による画像変形処理について説明する。
【００５４】
図８には、ユーザの顔が写された画像から生成されたテクスチャ画像を貼り付ける対象となる立体的な顔形状が示されている。
【００５５】
図８において、顔形状７１は、三次元的な形状の表面を規定する複数の曲線により表されている。顔形状７１では、目や口などの形状が複雑な部分に各曲線が交差する点である頂点が多く設定されており、複雑な部分の形状が、実際の顔の形状に近くなるように設計（モデリング）されている。
【００５６】
また、図８に示すように、顔形状７１には、正面から見たときに、図５で説明した特徴点に対応する箇所に丸印（○）が示されており、図６で説明した追加特徴点に対応する箇所に三角印（△）が示されている。ここで、顔形状７１の正面方向から特徴点および追加特徴点が設定されているのは、本実施の形態において、原画像に正面の顔が写っていることを想定して、特徴点および追加特徴点を定義しているからである。例えば、横顔が写っている原画像に対して処理を行う場合には、その横顔に合わせて、横顔に対する特徴点および追加特徴点を定義し、顔形状７１を横から見たときの特徴点および追加特徴点を定義する必要がある。
【００５７】
図９には、顔形状７１の表面（曲面）が平面になるように展開されたテクスチャ画像（展開画像）が示されている。
【００５８】
テクスチャ画像７２は、立体的な曲面を平面に展開したものであるので、ユーザの顔を正面から撮像した画像と比較して歪んだように表現される。また、テクスチャ画像７２には、顔形状７１に示されていた特徴点および追加特徴点にそれぞれ対応する箇所に、丸印（○）および三角印（△）が示されている。
【００５９】
ここで、ユーザの顔が写された原画像からテクスチャ画像を生成するには、原画像上の各点が、テクスチャ画像７２上の対応する各点に一致するように、原画像を変形する（各点を写像する）処理を行うことになる。即ち、ユーザの顔が写された画像から生成されるテクスチャ画像を貼り付ける対象となる三次元的な顔形状７１の表面が平面に展開されたテクスチャ画像７２は、原画像を変形するためのテンプレート的なテクスチャ画像である。従って、テクスチャ画像７２上の特徴点および追加特徴点は、画像変形処理において、原画像に設定された特徴点および追加特徴点を移動させる際の目標となる点である。なお、図９に示すようなテクスチャ画像７２そのものが必要になるのではなく、少なくとも、原画像の特徴点および追加特徴点の移動の目標となる点（テクスチャ画像７２上の特徴点および追加特徴点）が定義されていれば画像変形処理を行うことができる。
【００６０】
以下、適宜、テンプレートとなるテクスチャ画像７２を目標として、原画像を変形する画像変形処理において、原画像から検出および算出された特徴点および追加特徴点を変形対象点と称し、テクスチャ画像７２上の特徴点および追加特徴点を目標点と称する。
【００６１】
また、画像変形処理部３３は、画像変形処理において、目標点を頂点としてテクスチャ画像７２を複数の三角形の領域に分割するとともに、変形対象点を頂点として原画像の顔領域を複数の三角形の領域に分割し、それぞれ対応する三角形の領域ごとに変形を行う。
【００６２】
次に、図１０を参照して、画像変形処理部３３が、テクスチャ画像７２を複数の三角形の領域に分割する処理について説明する。
【００６３】
画像７３には、図９のテクスチャ画像７２に設定されている目標点が示されている。ここで、目標点は、特徴点および追加特徴点と同様に６７箇所（図４および図５参照）に設定されている。画像変形処理部３３は、これらの６７箇所の目標点に、テクスチャ画像７２の四隅の点を加えた７１箇所の点を、テクスチャ画像７２を分割する三角形の頂点になる点として特定する。
【００６４】
そして、画像変形処理部３３は、画像７４に示すように、全ての頂点の間をそれぞれ結ぶ線分を求め、それらの線分を短い順に選択して、選択した線分を三角形の辺として使用するか否かを判定する。
【００６５】
例えば、画像変形処理部３３は、選択した線分が他の線分と交差している場合、その選択した線分を、三角形の辺として使用しないと判定する。一方、画像変形処理部３３は、選択した線分が他の線分と交差していない場合、その選択した線分を、三角形の辺として使用すると判定する。また、画像変形処理部３３は、選択した線分が他の線分と交差していても、選択した線分に交差している線分が三角形の辺として使用しないと既に判定されている場合、その選択した線分を、三角形の辺として使用すると判定する。
【００６６】
画像変形処理部３３は、このような判定を全ての線分に対して行い、全ての頂点（目標点および四隅の点）を結ぶ線分のうちの三角形の辺として使用する線分を決定する。これにより、画像７５に示すような複数の三角形の領域でテクスチャ画像７２が分割される。
【００６７】
また、画像変形処理部３３は、原画像の顔領域上の変形対象点および顔領域の四隅の点により、テクスチャ画像７２を分割した複数の三角形に対応させて、原画像の顔領域を複数の三角形の領域で分割する。即ち、例えば、テクスチャ画像７２において特徴点Ｐ７，Ｐ８，Ｐ４１を頂点とした三角形が形成された場合、画像変形処理部３３は、原画像の顔領域における特徴点Ｐ７，Ｐ８，Ｐ４１を頂点とした三角形を形成する。
【００６８】
なお、テクスチャ画像を複数の三角形で分割する方法は、このような方法に限られるものではなく、他の方法（アルゴリズム）を利用してテクスチャ画像を複数の三角形で分割してもよい。また、テクスチャ画像（図９）は、顔形状上の特徴点および追加特徴点に基づいて目標点が予め決められているので、複数の三角形の辺となる線分を示す情報（三角形の集合の情報）を求め、目標点を示す情報とともに記憶部２１に記憶させておくようにしてもよい。
【００６９】
次に、画像変形処理部３３は、原画像の顔領域における三角形の領域を、それぞれ対応するテクスチャ画像７２における三角形の領域に変形する処理を行う。図１１を参照して、三角形の領域を変形する処理について説明する。
【００７０】
図１１には、テクスチャ画像７２上の目標点Ａ，Ｂ，Ｃを頂点とした三角形ＡＢＣと、原画像の顔領域上の変形対象点Ａ’，Ｂ’，Ｃ’を頂点とした三角形Ａ’Ｂ’Ｃ’が示されている。
【００７１】
まず、目標点Ａから目標点Ｂを指すベクトルをベクトルＶABとし、目標点Ａから目標点Ｃを指すベクトルをベクトルＶACとすると、三角形ＡＢＣ上の任意の点Ｐは、Ｐ＝Ａ＋α×ＶAB＋β×ＶACで表現される。但し、ベクトルＶABの割合を示す変数αは、α＝（点ＰのＹ座標×ベクトルＶACのＸ成分−点ＰのＸ座標×ベクトルＶACのＹ成分）／（ベクトルＶACのＸ成分×ベクトルＶABのＹ成分−ベクトルＶACのＹ成分×ベクトルＶABのＸ成分）で求められる。また、ベクトルＶACの割合を示す変数βは、β＝（点ＰのＸ座標×ベクトルＶABのＹ成分−点ＰのＹ座標×ベクトルＶABのＸ成分）／（ベクトルＶACのＸ成分×ベクトルＶABのＹ成分−ベクトルＶACのＹ成分×ベクトルＶABのＸ成分）で求められる。
【００７２】
同様に、変形対象点Ａ’から変形対象点Ｂ’を指すベクトルをベクトルＶA'B'とし、変形対象点Ａ’から変形対象点Ｃ’を指すベクトルをベクトルＶA'C'とすると、三角形Ａ’Ｂ’Ｃ’上の任意の点Ｐ’は、Ｐ’＝Ａ’＋α’×ＶA'B'＋β’×ＶA'C'で表現される。
【００７３】
ここで、目標点Ａ，Ｂ，Ｃおよび点Ｐの関係と、変形対象点Ａ’，Ｂ’，Ｃ’および点Ｐ’の関係とを同一にするために、α’＝αかつβ’＝βとする。これにより、点Ｐに対する点Ｐ’の座標が求められるため、三角形ＡＢＣ内の全ての点Ｐに対して、三角形Ａ’Ｂ’Ｃ’内のそれぞれ対応する点Ｐ’の画素を参照することで、三角形Ａ’Ｂ’Ｃ’の領域が三角形ＡＢＣの領域に変形される。
【００７４】
このように三角形の領域を変換する処理を、原画像の顔領域上の全ての三角形の領域に対して行うことで、変形対象点を目標点に写像するように、原画像の顔領域が変形される。
【００７５】
次に、図１２は、図７のステップＳ２３における画像変形処理を説明するフローチャートである。
【００７６】
ステップＳ３１において、画像変形処理部３３は、図１０の画像７３に示したように、特徴点および追加特徴点に四隅を加えた７１箇所の点を、原画像を分割する三角形の頂点になる点として特定する。
【００７７】
ステップＳ３１の処理後、処理はステップＳ３２に進み、画像変形処理部３３は、図１０の画像７４に示したように、全ての頂点の間をそれぞれ結ぶ線分を求め、処理はステップＳ３３に進む。
【００７８】
ステップＳ３３において、画像変形処理部３３は、ステップＳ３２で求めた線分を短い順にソートし、三角形の辺として使用するか否かの判定を行っていない線分を、短い順に選択して、処理はステップＳ３４に進む。
【００７９】
ステップＳ３４において、画像変形処理部３３は、ステップＳ３３で選択した線分を、原画像を分割する三角形の辺として使用するか否かを判定する。
【００８０】
ステップＳ３４において、画像変形処理部３３が、対象の線分を三角形の辺として使用すると判定した場合、処理はステップＳ３５に進み、画像変形処理部３３は、その線分を三角形の辺の対象として設定する（線分を残す）。一方、ステップＳ３４において、画像変形処理部３３が、対象の線分を三角形の辺として使用しないと判定した場合、処理はステップＳ３６に進み、画像変形処理部３３は、その線分を三角形の辺の対象から除外する（線分を削除する）。
【００８１】
ステップＳ３５またはＳ３６の処理後、処理はステップＳ３７に進み、画像変形処理部３３は、ステップＳ３２で求めた全ての線分に対して、三角形の辺として使用するか否かの判定を行ったか否かを判定する。
【００８２】
ステップＳ３７において、画像変形処理部３３が、全ての線分に対して三角形の辺として使用するか否かの判定を行っていないと判定した場合、処理はステップＳ３３に戻り、次の長さの線分が選択され、以下、同様の処理が繰り返される。
【００８３】
一方、ステップＳ３７において、画像変形処理部３３が、全ての線分に対して三角形の辺として使用するか否かの判定を行ったと判定した場合、処理はステップＳ３８に進む。即ち、この場合、図１０の画像７５に示すような複数の三角形で原画像が分割されている。
【００８４】
ステップＳ３８において、画像変形処理部３３は、図１１を参照して説明したように、三角形の領域単位で原画像を変形し、処理は終了する。
【００８５】
以上のように、変形画像生成部２２では、顔の特徴的な点である特徴点を検出し、特徴点を元に特徴追加点を算出して、特徴点および追加特徴点を利用して画像を変換する処理が行われる。これにより、形状が複雑な部分と簡単な部分とが異なる三角形の領域で分割されるので、テクスチャ画像を顔形状に貼り付ける際に、形状に対して画像がずれることを抑制し、テクスチャ画像を顔形状に正確に貼り付けることができる。即ち、顔形状の各部分と、テクスチャ画像の顔パーツとを一致させることができる。
【００８６】
つまり、一般的に、三次元的に表現される顔形状においては、目や口などの形状が複雑な部分には頂点が密に割り当てられるのに対し、頬や顎などの形状が単純な部分には頂点が疎に割り当てられている。例えば、図８の顔形状７１に示されているように、形状が複雑な部分では、形状が単純な部分よりも曲線の交点（頂点）が多く設定されている。
【００８７】
上述したように、三角形の領域ごとに画像を変形する処理では、三角形の内部においては、頂点の疎密にかかわらず線形変換が行われるので、三角形内部において頂点の密度が偏っている場合には、頂点の密度が高い部分が、頂点の密度の低い部分に伸びるように変形が行われる。従って、例えば、特徴点だけで三角形の領域に分割した場合には、頂点の密度が高い部分が、頂点の密度の低い部分に伸びるような変形による影響が大きく現れる。
【００８８】
これに対し、変形画像生成部２２では、複雑な形状である目や口の近傍に追加特徴点を設定することで、特徴点および追加特徴点で三角形の領域に分割することにより、口や目の近傍において、頂点の密度が高い領域を含み、かつ、頂点の密度が低い領域を含まないように三角形による分割を行うことができる。これにより、頂点の密度が高い部分が、頂点の密度の低い部分に伸びるような変形による影響が現れるのを抑制することができる。
【００８９】
例えば、図１３を参照して、特徴点だけに基づく処理と、特徴点および追加特徴点に基づく処理との結果を比較して、効果を説明する。
【００９０】
図１３Ａには、特徴点だけが設定されたテクスチャ画像と、特徴点を頂点とした三角形の領域ごとの変形により生成されたテクスチャ画像を顔形状に貼り付けた顔モデルとが示されている。図１３Ｂには、特徴点および追加特徴点が設定されたテクスチャ画像と、特徴点および追加特徴点を頂点とした三角形の領域ごとの変形により生成されたテクスチャ画像を顔形状に貼り付けた顔モデルとが示されている。
【００９１】
例えば、図１３Ａのテクスチャ画像では、口の端から輪郭までの領域が１つの三角形で分割されており、この三角形の領域内では、口に近いほど頂点の密度が高くなるように、密度の分布に偏りが生じている。従って、顔モデルの画像に示すように、口元の画像が輪郭側に引き伸ばされるように、テクスチャ画像が顔モデルに貼り付けられてしまう。また、目元についても、同様に、目元の画像が輪郭側に引き伸ばされて、テクスチャ画像が顔モデルに貼り付けられてしまう。
【００９２】
これに対し、図１３Ｂのテクスチャ画像では、口の端から輪郭までの領域が３つの三角形で分割されており、頂点の密度が高い口の近傍の領域と、頂点の密度が低い頬の領域とが異なる三角形により分割されている。従って、顔モデルの画像に示すように、口元の画像が輪郭側に引き伸ばされることがなく、テクスチャ画像が顔モデルに貼り付けられている。また、目元についても、同様である。
【００９３】
このように、変形画像生成部２２では、画像変形処理部３３が、頂点の密度が高い部分が頂点の密度の低い部分に伸びるような変形による影響が現れることを抑制した変形画像を生成することができる。換言すれば、変形画像生成部２２では、追加特徴点算出部３２が、頂点の密度が高い部分と、頂点の密度の低い部分とを分別することができるように、追加特徴点を設定することができる。
【００９４】
ところで、図４に示したように、原画像６０には、ユーザの顔だけでなく背景も写し込まれており、ユーザの顔の輪郭よりも外側の部分に背景が写り込んだ変形画像６３が生成される。このように背景が写り込んだ変形画像６３を顔形状に貼り付けた場合、顔の輪郭よりも外側の部分に背景が貼り付けられた顔モデルが生成されてしまう。
【００９５】
そこで、画像処理装置１１では、肌色マスク処理部２３が、変形画像生成部２２が生成した変形画像に対して、顔の輪郭よりも外側の部分が肌色となるような肌色マスク処理を行う。肌色マスク処理部２３では、肌色抽出部４１が、変形画像生成部２２により生成された変形画像において、追加特徴点算出部３２により算出された追加特徴点に基づいて設定される肌色抽出領域から肌色を抽出する。
【００９６】
図１４には、肌色抽出部４１に設定されている肌色抽出領域の一例が示されている。
【００９７】
図１４のテクスチャ画像に示すように、肌色抽出部４１には、追加特徴点Ｐｘ１乃至Ｐｘ３で囲われた三角形の領域と、追加特徴点Ｐｘ７乃至Ｐｘ９で囲われた三角形の領域とが、肌色抽出領域として設定されている。そして、肌色抽出部４１は、この２つの三角形の領域内の色の平均値を算出することで、肌色マスク処理で使用する肌色を求める。なお、図１４には、テクスチャ画像において追加特徴点により定義される肌色抽出領域が示されているが、追加特徴点算出部３２は原画像に対して追加特徴点を設定しており、肌色抽出部４１は、図１４に示されている追加特徴点に対応する原画像上の追加特徴点により定義される肌色抽出領域から肌色を求める。即ち、肌色抽出部４１は、原画像の肌色抽出領域から肌色を抽出する。
【００９８】
図１４に示すような追加特徴点に基づいて肌色抽出領域を設定することで、目や、鼻、口などの顔パーツが含まれないとともに、髭や髪なども含まれない領域から肌色を抽出することができる。例えば、肌色抽出領域に顔パーツや、髭、髪などが含まれている場合には、肌色抽出領域内の色の平均値を算出したときに、顔パーツの影や、髭、髪の色が含まれる色が抽出されてしまう。
【００９９】
これに対し、追加特徴点Ｐｘ１乃至Ｐｘ３で囲われた三角形の領域と、追加特徴点Ｐｘ７乃至Ｐｘ９で囲われた三角形の領域を肌色抽出領域と設定することで、ユーザの肌の色に近い肌色を安定的に抽出することができる。
【０１００】
ここで、例えば、特開２００１−１０９９０７号公報には、肌色を抽出するために、顔輪郭の少し内側の両頬あたりの領域を固定的に定義し、あらゆる顔に対しても共有してその領域から肌色を抽出する技術が開示されている。つまり、目や、鼻、口などの顔パーツの位置は個人ごとに異なるため、どのような顔においても顔パーツが含まれないようにするためには、それぞれの顔パーツから比較的に離れている領域、即ち、顔輪郭の少し内側の頬周辺の領域に肌色抽出領域を設定することになるが、この領域は髭の影響を受ける可能性があり、安定して肌色を抽出することは困難である。
【０１０１】
これに対し、肌色抽出部４１が肌色を抽出する肌色抽出領域は、髭の影響を受け難い部分であり、かつ、目や、鼻、口などの顔パーツが含まれない部分である。即ち、本実施の形態では、追加特徴点に基づいて肌色抽出領域を設定しているので、それぞれの顔パーツが含まれないような肌色抽出領域を確実に設定することができる。従って、追加特徴点Ｐｘ１乃至Ｐｘ３で囲われた三角形の領域と、追加特徴点Ｐｘ７乃至Ｐｘ９で囲われた三角形の領域を肌色抽出領域と設定することで、従来よりも、髭や顔パーツの影響を受けることなく、肌色を確実に抽出することができる。
【０１０２】
なお、図１４に示したような追加特徴点Ｐｘ１乃至Ｐｘ３で囲われた三角形の領域と、追加特徴点Ｐｘ７乃至Ｐｘ９で囲われた三角形の領域を肌色抽出領域と設定するのは一例であり、これらの追加特徴点とは別の特徴点または追加特徴点により結ばれる領域を肌色抽出領域と設定してもよい。
【０１０３】
そして、肌色マスク処理部２３では、マスク処理部４２が、肌色抽出部４１により抽出された肌色で、変形画像生成部２２が生成した変形画像の顔の輪郭よりも外側の部分にマスクを施す処理を行う。
【０１０４】
図１５を参照して、マスク処理部４２がマスクを施す処理について説明する。
【０１０５】
図１５の上側には、変形画像生成部２２が生成した変形画像、マスク処理で用いられるマスクデータ、および、肌色抽出部４１により抽出された肌色抽出結果が示されており、図１５の下側には、マスク処理を施した結果得られるテクスチャ画像が示されている。
【０１０６】
マスクデータは、変形画像生成部２２により生成された変形画像において、その変形画像の画素値を使用する度合いを0.0〜1.0の連続した値で表現したデータである。マスクデータの値が1.0に設定されている画素では、マスク処理の対象とされる変形画像の画素値がそのまま使用され、マスクデータの値が0.0に設定されている画素では、マスク処理の対象とされる変形画像の画素値は使用されず、肌色抽出結果の画素値に置き換えられる。図１４のマスクデータでは、マスクデータの値0.0が黒色で表現され、マスクデータの値1.0が白色で表現されている。
【０１０７】
また、マスクデータの黒色の領域と白色の領域との境界では、テクスチャ画像の顔の輪郭から外側に向かって徐々に肌色に置き換えられるように、マスクデータの値が徐々に変化している。
【０１０８】
なお、肌色マスク処理で使用されるマスクデータは、事前に用意されているものを使用してもよいし、後述するようにマスクデータ生成部４３が生成したものを使用してもよい。
【０１０９】
また、マスクデータは、顔形状に基づいたテクスチャ画像７２（図９）の座標系において定義されているので、テクスチャ画像７２をテンプレートとして画像を変形して生成される変形画像であれば、どのような顔が写された画像から生成された変形画像であっても、マスクデータを共通して使用することができる。即ち、変形画像生成部２２により生成される変形画像であれば、輪郭上の特徴点は、テクスチャ画像７２の輪郭上の目標点に写像されているので、どのような顔が写された画像から生成された変形画像であっても、図１５に示すようなマスクデータにより、輪郭より外側の部分を、肌色に確実に置き換えることができる。
【０１１０】
このようなマスクデータを用いて変形画像にマスク処理を施すことで、変形画像における背景の部分が肌色抽出結果の色に置き換えられて、図１５の下側に示すようなテクスチャ画像が得られる。
【０１１１】
次に、図１６は、図３のステップＳ１３の肌色マスク処理を説明するフローチャートである。
【０１１２】
ステップＳ４１において、肌色抽出部４１は、制御部２５を介して記憶部２１に記憶されている原画像を読み出すとともに、図７のステップＳ２２で追加特徴点算出部３２が原画像に設定した追加特徴点のうちの、肌色抽出領域を定義する追加特徴点（図１４参照）を取得して、その追加特徴点により定義される原画像における肌色抽出領域内の色の平均値を算出して肌色を抽出する。
【０１１３】
ステップＳ４２において、マスク処理部４２は、制御部２５を介して記憶部２１に記憶されているマスクデータを読み出し、そのマスクデータに従って、背景の部分を肌色に置き換えるマスク処理を行って、テクスチャ画像を生成する。
【０１１４】
マスク処理において、マスク処理部４２は、変形画像上の全ての画素に対して、ｐ’＝ｐ×ｍ＋ｓ×（１−ｍ）の演算を行い、テクスチャ画像上の全ての画素値を算出する。但し、この式において、ｐは、変形画像の画素値であり、ｐ’は、テクスチャ画像の画素値であり、ｓは、肌色抽出結果の画素値であり、ｍは、マスクデータの値である。
【０１１５】
ステップＳ４３において、マスク処理部４２は、ステップＳ４２のマスク処理の結果得られるテクスチャ画像を出力して、制御部２５を介して記憶部２１に記憶させ、処理は終了する。
【０１１６】
以上のように、肌色マスク処理では、顔の輪郭よりも外側の部分（背景）を、顔から抽出した肌色に置き換えることができる。
【０１１７】
なお、肌色マスク処理で使用されるマスクデータは、事前に用意してあるものを使用する他、マスクデータ生成部４３が生成したものを使用してもよい。
【０１１８】
マスクデータ生成部４３は、例えば、図９に示したようなテクスチャ画像からマスクデータを自動的に生成することができる。マスクデータを自動的に生成する方法のひとつとして、テクスチャ画像に設定されている輪郭を規定する特徴点を結んだ閉領域を定義し、閉領域の内側（非マスク領域）の値に1.0を割り当て、閉領域の外側（マスク領域）の値に0.0を割り当てる方法がある。しかしながら、この方法では、マスク領域と非マスク領域との境界で急激に色が変化するマスクデータが生成されるため、そのようなマスクデータを用いた場合には不自然なテクスチャ画像となることがある。即ち、図１５のマスクデータに示したように、マスク領域と非マスク領域との境界においてなだらかに値が変化するようなマスクデータが好ましい。
【０１１９】
そこで、例えば、マスク領域の値に0.0を割り当て、非マスク領域の値に1.0を割り当てることにより得られたマスクに対しボカシを加えることで、マスク領域と非マスク領域との境界においてなだらかに値が変化するようなマスクデータを得ることができる。ところが、このようにして得られたマスクデータでは、マスク領域と非マスク領域の境界からマスク領域に向かっても値がなだらかに変化するので、顔の輪郭の近くにある背景が、テクスチャ画像に反映されることになる。
【０１２０】
即ち、マスク領域と非マスク領域の境界よりもマスク領域側では値を0.0にして、確実にマスクが施され、その境界から非マスク領域側に向かって、徐々に値が1.0になるようなマスクデータが望ましい。
【０１２１】
そこで、図１７および図１８を参照して、マスクデータ生成部４３が、上述のようなマスクデータを生成する処理について説明する。
【０１２２】
ステップＳ５１において、マスクデータ生成部４３は、所定の目標点を結んだ閉領域を、基準となるマスク領域として決定する。例えば、マスクデータ生成部４３は、図１８に示すテクスチャ画像８１に示すように、顔の輪郭に対応する目標点を結んだ閉領域の外側をマスク領域とする。そして、マスクデータ生成部４３は、マスク領域の値を0.0に割り当て、非マスク領域の値を1.0に割り当てる。これにより、基準マスクデータ８２に示すようなデータが生成される。
【０１２３】
ステップＳ５２において、マスクデータ生成部４３は、基準マスクデータ８２に対してマスク領域を拡張する（非マスク領域に向かって拡げる）処理を行う。
【０１２４】
まず、マスクデータ生成部４３は、例えば、距離変換を利用する方法によりマスク領域を拡張する。距離変換とは、２値（０または１）で表される画像中の各画素に対して、それぞれの画素の位置から値が０である画素の位置までの最短の距離を、各画素の距離値とする変換方法である。このような距離変換により、基準マスクデータ８２に示されている各画素の値は、距離変換データ８３に示すような値となる。距離変換データ８３では、距離値の小さな部分が黒色で表され、距離値の大きな部分が白色で現されている。
【０１２５】
そして、例えば、マスク領域を１０ピクセルだけ拡張させる場合には、マスクデータ生成部４３は、距離変換データ８３を閾値１０で２値化し、距離値が１０より大きな部分の値に1.0を割り当て、距離値が１０以下の部分に0.0を割り当てる。このように閾値１０で２値化することで、拡張マスクデータ８４が生成される。拡張マスクデータ８４は、距離変換の定義より、基準マスクデータ８２のマスク領域を１０ピクセルだけ拡張したデータとなる。
【０１２６】
なお、マスク領域を拡張する方法としては、距離変換を利用する方法に限られるものではなく、例えば、モルフォロジー変換を利用する方法などを用いることができる。
【０１２７】
ステップＳ５３において、マスクデータ生成部４３は、マスク領域と非マスク領域との境界をぼかすために、拡張マスクデータ８４に対して拡張した量を半径とするボカシ処理を行い、処理は終了する。ボカシ処理には、単純な平滑化フィルタやガウシアンフィルタなどを用いることができる。これにより、マスク領域と非マスク領域との境界がぼかされたマスクデータ８５が生成される。
【０１２８】
例えば、拡張マスクデータ８４は、基準マスクデータ８２に対して１０ピクセルで拡張したものなので、マスクデータ生成部４３は半径１０のボカシを行う。このようにボカシを行う半径を設定することで、マスクデータ８５は、基準マスクデータ８２での境界までは到達しないとともに、基準マスクデータ８２でマスク領域と設定した領域は確実にマスクされ、かつ、マスク領域から非マスク領域に向かって徐々に値が1.0になるようなデータとなる。
【０１２９】
このようにして生成されたマスクデータ８５を使用して、マスク処理部４２がマスク処理を行うことで、顔の輪郭よりも外側では確実に肌色のマスクが施され、顔の輪郭から内側に向かって徐々に顔の画像となるようなテクスチャ画像を生成することができる。
【０１３０】
以上のようにして画像処理装置１１では、ユーザの顔が写された画像からテクスチャ画像が生成され、そのテクスチャ画像により表現された顔モデルが生成されて、表示装置１４に顔モデルが表示される。
【０１３１】
図１９には、表示装置１４に顔モデルを表示する表示画面の例が示されている。
【０１３２】
図１９に示されている表示画面９１では、撮像装置１２により撮像された画像９２が左下に表示され、その画像を原画像として生成されたテクスチャ画像９３が画像９２の上側に表示される。そして、そのテクスチャ画像９３が貼り付けられた顔モデル９４を表示する顔モデル表示領域９５が、表示画面９０の中央から右側の約２／３の領域に設けられている。
【０１３３】
また、画像処理装置１１では、髪の毛のパーツや、帽子やメガネなどの様々なアクセサリのパーツなどの三次元的な形状データが、顔形状の形状データとは別に記憶部２１に記憶されている。そして、三次元処理部２４は、生成した顔モデルに対して、髪の毛やアクセサリなどのパーツを組み合わせた画像を生成することができる。
【０１３４】
例えば、図２０には、図１９の表示画面９１の顔モデル表示領域９５に表示されていた顔モデル９４に、髪の三次元形状を組み合わせた顔モデル９４Ａが表示されている。また、図２１には、図１９の表示画面９１の顔モデル表示領域９５に表示されていた顔モデル９４に、帽子の三次元形状を組み合わせた顔モデル９４Ｂが表示されている。
【０１３５】
また、画像処理装置１１では、例えば、異なるユーザの顔が写された画像を使用することで、それぞれ異なる顔モデルを生成することができる。即ち、画像処理装置１１では、同一の顔形状に対してテクスチャ画像を置き換えるだけで、様々な顔モデルを容易に生成することができる。
【０１３６】
図２２乃至図２４には、それぞれ異なるユーザの顔が写された画像から生成されたテクスチャ画像を、同一の顔形状に貼り付けて生成される顔モデルが示されている。図２２乃至図２４では、上から順に、各ユーザの顔が写された画像（原画像）、それらの画像から生成したテクスチャ画像、それぞれのテクスチャ画像が貼り付けられた顔モデルが示されている。
【０１３７】
図２２には、髭を生やしたユーザの顔が写された原画像から、そのユーザの顔の特徴が反映された顔モデルが生成され、髭を生やした顔モデルが示されている。図２３には、眉の釣り上がったユーザの顔の特徴が反映された眉の釣り上がった顔モデルが示されており、図２４には、眉の垂れ下がったユーザの顔の特徴が反映された眉の垂れ下がった顔モデルが示されている。このように、同一の顔形状を使用しても、それぞれユーザの顔の特徴が顔モデルに反映される。
【０１３８】
画像処理装置１１では、テクスチャ画像を貼り付ける対象となる顔形状の表面を展開したテクスチャ画像に合うように原画像を変形するので、原画像に写されている人物が異なっていても、それぞれの原画像から生成されたテクスチャ画像の各パーツが、顔形状の各パーツに合わされるように、テクスチャ画像を顔形状に貼り付けることができる。即ち、単一の顔形状に対して、テクスチャ画像を容易に置き換えることができる。
【０１３９】
従って、図２２乃至図２４に示すように、単一の顔形状に対して、テクスチャ画像を切り替えて使用することで、それぞれのユーザの顔が反映された顔モデルを表示することができる。
【０１４０】
また、画像処理装置１１では、変形画像生成部２２および肌色マスク処理部２３により生成されたテクスチャ画像上に、任意の図形を描画した画像を貼り付けて生成される新たなテクスチャ画像を、顔形状に貼り付けることができる。これにより、顔モデルの表面に、その図形を貼り付けたような効果を演出することができる。
【０１４１】
図２５には、両目の下側にラインを引き、左頬に日の丸を配置したフェイスペインティングを演出した顔モデルが示されている。
【０１４２】
図２５のフェイスペイント画像１０１には、ラインおよび日の丸が描かれており、ラインおよび日の丸が描かれている領域以外は透過領域とされている。例えば、ラインおよび日の丸は、テクスチャ画像に設定されている特徴点および追加特徴点に基づいて、ペインティングされる対象の領域に配置されるように位置が決定されて描かれている。
【０１４３】
このようなフェイスペイント画像１０１を、変形画像生成部２２および肌色マスク処理部２３により生成されたテクスチャ画像１０２の上に重ね合わされるように合成すること（ブレンド処理）で、フェイスペイントされたテクスチャ画像１０３が生成される。そして、三次元処理部２４が、フェイスペイントされたテクスチャ画像１０３を顔形状に貼り付ける処理を行うことで、フェイスペインティングされた効果が得られる顔モデル１０４が生成される。
【０１４４】
また、画像処理装置１１では、フェイスペイント画像１０１以外にも、様々なデザインが描かれたフェイスペイント画像を用意することで、ユーザは、好みのデザインのフェイスペイント画像を選択して、自身の顔が写された画像から生成されたテクスチャ画像に重ね合わせ、好みのデザインでフェイスペインティングされた顔モデルを生成することができる。また、それぞれ異なるユーザの顔が写された画像から生成されたテクスチャ画像に対しても、それぞれ様々なデザインのフェイスペイント画像を適用して、フェイスペイント画像を使いまわすことができる。
【０１４５】
例えば、図２６には、隈取の化粧が描かれたフェイスペイント画像が適用された顔モデルが示されている。
【０１４６】
図２６において、フェイスペイント画像１１０には、隈取の化粧が描かれており、その化粧が描かれている領域以外は透過領域とされている。そして、フェイスペイント画像１１０を、テクスチャ画像１１２の上に重ね合わせるように合成することで隈取の化粧が施されテクスチャ画像１１３が生成され、テクスチャ画像１１３が顔形状に貼り付けられて、隈取の化粧が施された効果が得られる顔モデル１１４が生成される。このように、フェイスペイント画像を切り替えることで、顔モデルに対して様々なデザインのフェイスペイントを演出することができる。
【０１４７】
また、顔モデル１０４では、フェイスペイント画像１０１および１１０のように、ペイント部分と透過部分とがはっきりと区別されているため、ペンキや絵の具でペイントしたような効果が現れるが、ペイント部分が半透明に設定されたフェイスペイント画像を用いてもよい。例えば、半透過に設定された赤色が唇部分に描かれたフェイスペイント画像をテクスチャ画像に合成することで、口紅の効果を得ることができる。また、口紅の他にも、チークやアイシャドウなどが描かれた半透明の画像がテクスチャ画像に重ね合わされるように合成ことで、顔に化粧を施す効果を得ることができる。
【０１４８】
また、本実施の形態においては、テクスチャ画像を生成するために撮像装置１２により撮像された画像を処理の対象として行われる処理について説明したが、例えば、既に撮像済みで記憶部２１に記憶されている画像や、撮像装置１２により撮像される動画像中の１つのフレームを処理の対象としてもよい。
【０１４９】
さらに、特徴点検出部３１および追加特徴点算出部３２は、撮像装置１２により撮像される動画像の各フレームの顔領域から特徴点および追加特徴点を検出および算出する処理を行い、検出結果の良好であったフレームを原画像として選択してもよい。
【０１５０】
例えば、目、鼻、口に特徴点が定義されているとき、目、鼻、口の位置関係に基づいて、画像に写される顔が正面を向いているか否かを判定することができる。そして、正面を向いた顔が写された画像を処理の対象として想定している場合に、この判定結果に基づいて、正面を向いていない顔が写された画像は、処理の対象に用いないと判断することができる。そして、この場合、例えば、ユーザに対して顔の向きを指示すること、具体的には、「もっと右を向いてください」や、「もっと左を向いてください」などというメッセージを提示（表示または音声出力）し、顔が正面を向くように誘導することができる。
【０１５１】
また、特徴点検出部３１により自動的に特徴点を検出することができたとしても、検出された特徴点の位置が、必ずしも、所望の位置で正確に検出されない場合がある。そのような場合を考慮して、特徴点の互いの位置関係（既知の情報）に基づいて、例えば、目の特徴点は口の特徴点よりも上側の位置にあるという位置関係や、目、鼻、口などの顔パーツの特徴点は、輪郭の特徴点を結ぶ閉領域の内側にあるという位置関係などに基づいて、検出された特徴点の検出結果が良好であるか否かを判定することができる。
【０１５２】
以上のように、画像処理装置１１では、顔が写されている画像から検出および算出された特徴点および追加特徴点を利用して画像を変形してテクスチャ画像を生成するので、予め作成されている顔形状に対して正確に貼り付けることができるテクスチャ画像を生成することができる。これにより、例えば、既存の顔形状を修正することなく、ユーザの顔の画像から作成されたテクスチャ画像が貼り付けられた顔モデルを生成することができる。また、任意のユーザの顔を反映させた顔モデルを生成することができる。
【０１５３】
例えば、近年、ゲームや映画などの様々な分野で顔モデルが利用されており、画像処理装置１１では、そのような既に作成されている顔モデルに対してユーザの顔を反映させることができる。即ち、ゲームや映画の中の人物の顔だけを、ユーザの顔に置き換えることができる。これにより、例えば、ユーザは、自分の顔が反映されたキャラクタのゲームをプレイすることができ、ゲームに感情移入し易くなる。また、既存の顔形状に対して、テクスチャを切り替える処理をより容易に行うことができる。
【０１５４】
また、例えば、多数のアバタが同時に表示されるようなアバタコミュニケーションスペースなどを運営する処理において、三次元的な顔形状を個人ごとに用意すると、画像処理やデータ量などの観念から処理が困難になることが予想される。このようなアバタコミュニケーションスペースにおいて、共通の顔形状を使用し、テクスチャ画像だけユーザごとに用意することで、処理を容易に行うことができる。また、数種類の顔形状を用意しておき、ユーザに顔形状を選択させたり、ユーザの顔画像から類似する顔形状を自動的に選択したりしてもよい。このようにすることで、ユーザごとに顔形状を用意する場合よりも、処理を容易に行うことができる。
【０１５５】
なお、本実施の形態では、顔形状の表面が平面になるように展開されたテクスチャ画像を用いた説明を行っているが、例えば、テクスチャ画像の生成方法によっては、ユーザの顔を正面から撮像した画像と比較して歪んでいないテクスチャ画像を生成することができる。そのような歪んでいないテクスチャ画像に対しても、個人ごとに顔パーツそれぞれの位置が異なるため、テクスチャ画像の目や口などが、三次元的な顔形状の目や口などの位置に正確に配置されるようにするためには、本発明を適用した画像処理装置１１による処理が有効となる。
【０１５６】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１５７】
図２７は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０１５８】
コンピュータにおいて、CPU（Central Processing Unit）２０１，ROM（Read Only Memory）２０２，RAM（Random Access Memory）２０３は、バス２０４により相互に接続されている。
【０１５９】
バス２０４には、さらに、入出力インタフェース２０５が接続されている。入出力インタフェース２０５には、キーボード、マウス、マイクロホンなどよりなる入力部２０６、ディスプレイ、スピーカなどよりなる出力部２０７、ハードディスクや不揮発性のメモリなどよりなる記憶部２０８、ネットワークインタフェースなどよりなる通信部２０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア２１１を駆動するドライブ２１０が接続されている。
【０１６０】
以上のように構成されるコンピュータでは、CPU２０１が、例えば、記憶部２０８に記憶されているプログラムを、入出力インタフェース２０５及びバス２０４を介して、RAM２０３にロードして実行することにより、上述した一連の処理が行われる。
【０１６１】
コンピュータ（CPU２０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア２１１に記録して、あるいは、ローカルエリアネットワーク、インタネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【０１６２】
そして、プログラムは、リムーバブルメディア２１１をドライブ２１０に装着することにより、入出力インタフェース２０５を介して、記憶部２０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部２０９で受信し、記憶部２０８にインストールすることができる。その他、プログラムは、ROM２０２や記憶部２０８に、あらかじめインストールしておくことができる。
【０１６３】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０１６４】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１６５】
１１  画像処理装置，  １２  撮像装置，  １３  入力装置，  １４  表示装置，  ２１  記憶部，  ２２  変形画像生成部，  ２３  肌色マスク処理部，  ２４  三次元処理部，  ２５  制御部，  ３１  特徴点検出部，  ３２  追加特徴点算出部，  ３３  画像変形処理部，  ４１  肌色抽出部，  ４２  マスク処理部，  ４３  マスクデータ生成部
【図１】
0005463866.tif 000002
【図２】
0005463866.tif 000003
【図３】
0005463866.tif 000004
【図４】
0005463866.tif 000005
【図５】
0005463866.tif 000006
【図６】
0005463866.tif 000007
【図７】
0005463866.tif 000008
【図８】
0005463866.tif 000009
【図９】
0005463866.tif 000010
【図１０】
0005463866.tif 000011
【図１１】
0005463866.tif 000012
【図１２】
0005463866.tif 000013
【図１３】
0005463866.tif 000014
【図１４】
0005463866.tif 000015
【図１５】
0005463866.tif 000016
【図１６】
0005463866.tif 000017
【図１７】
0005463866.tif 000018
【図１８】
0005463866.tif 000019
【図１９】
0005463866.tif 000020
【図２０】
0005463866.tif 000021
【図２１】
0005463866.tif 000022
【図２２】
0005463866.tif 000023
【図２３】
0005463866.tif 000024
【図２４】
0005463866.tif 000025
【図２５】
0005463866.tif 000026
【図２６】
0005463866.tif 000027
【図２７】
0005463866.tif 000028