(57)【要約】【課題】ある物体が写っている単一の二次元画像からその物体の三次元形状を推定することができる技術を提供すること。【解決手段】複数の物体に共通の照明基底データと該照明基底データに対応する三次元形状情報を予め準備する。ある物体の二次元画像に最も類似する画像を表す照明基底データと照明基底データの重みと照明ベクトルとの組み合わせを求める。照明基底データと照明基底データの重みから定まるある物体の照明基底を偏微分して相対形状情報を求める。二次元画像と相対形状情報との間の特徴点の位置関係を求める。位置関係を利用して三次元形状情報を補正してある物体の三次元形状情報とする。【選択図】図３
2008016054.tif 000002
【特許請求の範囲】
【請求項１】
複数の物体に共通の照明基底データと該照明基底データに対応する三次元形状情報を予め準備し、
ある物体の二次元画像に最も類似する画像を表す前記照明基底データと前記照明基底データの重みと照明ベクトルとの組み合わせを求め、
前記照明基底データと前記照明基底データの重みから定まる前記ある物体の照明基底を偏微分して相対形状情報を求め、
前記二次元画像と前記相対形状情報との間の特徴点の位置関係を求め、
前記位置関係を利用して前記三次元形状情報を補正して前記ある物体の三次元形状情報とすることを特徴とする三次元形状推定方法。
【請求項２】
前記複数の物体に共通の照明基底データは、前記複数の物体に共通の三次元形状情報から生成されることを特徴とする請求項１に記載の三次元形状推定方法。
【請求項３】
前記物体は人間の顔であることを特徴とする請求項１に記載の三次元形状推定方法。
【請求項４】
複数の物体に共通の照明基底データと該照明基底データに対応する三次元形状情報を予め準備し、
ある物体の二次元画像に最も類似する画像を表す前記照明基底データと前記照明基底データの重みと照明ベクトルとの組み合わせを求め、
前記照明基底データと前記照明基底データの重みから定まる前記ある物体の照明基底を偏微分して相対形状情報を求め、
前記二次元画像と前記相対形状情報との間の特徴点の位置関係を求め、
前記位置関係を利用して前記三次元形状情報を補正して前記ある物体の三次元形状情報とすることをコンピュータに実行させる三次元形状推定プログラム。
【請求項５】
前記複数の物体に共通の照明基底データは、前記複数の物体に共通の三次元形状情報から生成されることを特徴とする請求項４に記載の三次元形状推定プログラム。
【請求項６】
前記物体は人間の顔であることを特徴とする請求項４に記載の三次元形状推定プログラム。
【請求項７】
複数の物体に共通の照明基底データと該照明基底データに対応する三次元形状情報が格納された記憶装置と、
ある物体の二次元画像に最も類似する画像を表す前記照明基底データと前記照明基底データの重みと照明ベクトルとの組み合わせを求め、前記照明基底データと前記照明基底データの重みから定まる前記ある物体の照明基底を偏微分して相対形状情報を求める相対形状分析装置と、
前記二次元画像と前記相対形状情報との間の特徴点の位置関係を求める特徴点位置探索装置と、
前記位置関係を利用して前記三次元形状情報を補正して前記ある物体の三次元形状情報とする絶対形状分析装置と
を備えることを特徴とする三次元形状推定システム。
【請求項８】
前記複数の物体に共通の照明基底データは、前記複数の物体に共通の三次元形状情報から生成されることを特徴とする請求項７に記載の三次元形状推定システム。
【請求項９】
前記物体は人間の顔であることを特徴とする請求項７に記載の三次元形状推定システム。
【請求項１０】
複数の物体に共通の照明基底データと該照明基底データに対応する三次元形状情報が格納された記憶手段と、
ある物体の二次元画像に最も類似する画像を表す前記照明基底データと前記照明基底データの重みと照明ベクトルとの組み合わせを求め、前記照明基底データと前記照明基底データの重みから定まる前記ある物体の照明基底を偏微分して相対形状情報を求める相対形状分析手段と、
前記二次元画像と前記相対形状情報との間の特徴点の位置関係を求める特徴点位置探索手段と、
前記位置関係を利用して前記三次元形状情報を補正して前記ある物体の三次元形状情報とする絶対形状分析手段と
を備えることを特徴とする三次元形状推定装置。
【請求項１１】
前記複数の物体に共通の照明基底データは、前記複数の物体に共通の三次元形状情報から生成されることを特徴とする請求項１０に記載の三次元形状推定装置。
【請求項１２】
前記物体は人間の顔であることを特徴とする請求項１０に記載の三次元形状推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ある物体が写っている二次元画像からその物体の三次元形状を推定するシステム、その方法、及びそのプログラムに関する。また、本発明は、ある物体が写っている二次元画像から、照明条件の異なる二次元画像、あるいは照明条件及びその物体の向きが異なる二次元画像を生成するシステム、その方法、及びそのプログラムに関する。
【背景技術】
【０００２】
二次元画像から物体の三次元形状を構成・推定する一般的な技術として、例えば、特開平１１−２４２７４５号公報（特許文献１）に開示された技術が知られている。この技術によれば、２台以上のカメラで撮影されたステレオ／多眼画像や、可視光や赤外光で照射された既知パタンが撮影されたパタン照射画像などが用いられる。対象の形状が限定されている場合には、その形状による制約を利用することによって、一つの画像からその対象の三次元形状を推定することも可能である。例えば、建物のように鉛直線と水平線が直角に交差する場合や、平面上に繰り返し模様などの特定パタンが描かれている場合、消失点原理や複比などの幾何学情報を用いることによって、対象の三次元形状を計算できることもある。しかしながら、「顔」の場合、すなわち、形状に平面や球体のような定型的な幾何的な制約がなく、色・輝度にも特定パタンがない対象に関しては、上述の一般的なステレオ／多眼画像やパタン照射画像などが用いられている。
【０００３】
しかしながら、このような方法によれば、複数台のカメラ（ステレオ／多眼カメラ）やパタン光を照射するパタン照射器、赤外光などの光を検出するためのカメラなど、通常のカメラ撮影とは異なる計測専用の装置が必要となる。このことは、コストの増大や、計測ができる環境が制約されるといった問題を引き起こす。更に、撮影時のカメラの位置やパタン照射器の照射位置といった計測時の情報を保存しておく必要がある。このことは、計測環境が制約されることや、あらかじめ計測を目的にした環境で撮影された画像しか用いることができないといった問題を引き起こす。「顔」は、計測を考慮せずに単一の画像として撮像されることが多い。従って、この従来技術では、このような単一の顔画像から顔の三次元形状を推定することは不可能である。
【０００４】
上記に関連して、特開２００１−８４３６２号公報（特許文献２）に開示された技術によれば、表面反射率が略一定である部分を含む３次元形状を有する物体が、実質的な単一光源下において撮影される。この撮影により得られる画像に基づいて、上記光源の方向と上記物体の３次元形状とが推定される。また、特開平５−２６６１７３号公報（特許文献３）に開示された顔分類システムは、顔を３次元フレームの２次元表示内に位置させる第１手段と、該表示内の顔を検出する第２手段と、顔の特徴ベクトルを発生させる第３手段と、今検出された顔の特徴ベクトルを先に検出された顔の特徴ベクトルと比較し今検出された顔が先に検出された顔に一致するかを決定する第４手段とを備える。また、国際公開ＷＯ−０２／００７０９５−Ａ１（特許文献４）には、時系列的に取り込まれる入力画像から人物の顔の向きを逐次推定する顔の３次元方向追跡装置が開示されている。
【０００５】
顔は平面や球体のような定型的な幾何学形状を有していないが、目や口といった特徴点の概略的な配置やトポロジカルな形状は同じである。標準的な顔からの特徴点の配置のずれの大小によって、個々の異なる顔形状が生成され得る。更に、撮影された顔画像に関しては、圧倒的に正面を向いた画像が多いので、顔画像においてもトポロジカルな形状の制約はある。このような観点から、複数の人物の三次元顔形状から得られる学習型のモデルを用いることによって、単一の顔画像から三次元顔形状の推定が行われている（非特許文献１）。しかしながら、この方法によれば、顔画像と学習モデルを合わせるために、顔画像中の特徴点を手動で指定する必要があった。
【０００６】
【特許文献１】特開平１１−２４２７４５号公報
【特許文献２】特開２００１−８４３６２号公報
【特許文献３】特開平５−２６６１７３号公報
【特許文献４】国際公開ＷＯ−０２／００７０９５−Ａ１
【非特許文献１】T. Vetter et al., "A Morphable Model For The Synthesis of 3D Faces", ACM Conf. SIGGRAPH 99, pp. 187-194, 1999.
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の１つの目的は、特別な計測装置を用いることなく、ある物体が写っている単一の二次元画像からその物体の三次元形状を推定することができる技術を提供することにある。
【課題を解決するための手段】
【０００８】
複数の物体に共通の照明基底データと該照明基底データに対応する三次元形状情報を予め準備する。ある物体の二次元画像に最も類似する画像を表す照明基底データと照明基底データの重みと照明ベクトルとの組み合わせを求め、照明基底データと照明基底データの重みから定まるある物体の照明基底を偏微分して相対形状情報を求める。二次元画像と相対形状情報との間の特徴点の位置関係を求める。位置関係を利用して三次元形状情報を補正して上記ある物体の三次元形状情報とする。
【発明の効果】
【０００９】
本発明によれば、特別な計測装置を用いることなく、ある物体が写っている単一の二次元画像からその物体の三次元形状を推定することが可能となる。よって、コストが低減される。
【発明を実施するための最良の形態】
【００１０】
添付図面を参照して、本発明による三次元形状推定システム、三次元形状推定プログラム、三次元形状推定方法、画像生成システム、画像生成プログラム、及び画像生成方法を説明する。
【００１１】
まず、本発明の実施の形態の説明で用いられる概念を説明する。本発明の実施の形態においては、三次元形状が推定される対象物体として、人間の「顔」が例示される。
【００１２】
図１は、ある顔の三次元形状を表現する「形状関数」を説明するための図である。このような物体の三次元形状は、例えば、レンジファインダによって計測することが可能である。レンジファインダは、物体の形状（相対位置情報）や色情報を取得してコンピュータに取り込む装置である。レンジファインダによって、物体表面の正面座標ｘ，ｙ及び奥行きの座標ｚが得られる。すなわち、顔の三次元形状は、図１に示されるようにｘｙｚ座標系で表され、その三次元形状を表現する「形状関数ｚ」は、次の式で与えられる。
【００１３】
【数１】
2008016054.tif 000003
【００１４】
また、この形状関数ｚの偏微分形は、次の式で与えられる。
【００１５】
【数２】
2008016054.tif 000004
【００１６】
この関数群（ｆｘ，ｆｙ）は、形状関数ｚの微分情報を示し、物体表面の曲率といった物体の相対的な形状を表現するためのパラメータとなる。そのため、この関数群（ｆｘ，ｆｙ）は、以下、「相対形状関数」と参照される。
【００１７】
また、図２は、ある顔の二次元画像を示す概略図である。この二次元画像は、ｘｙ平面上で表現され、図２においては、顔の横方向がｘ方向、顔の縦方向がｙ方向に対応している。また、ｘ、ｙ方向の画素数は、それぞれｗ，ｈで与えられる。つまり、この二次元画像の総画素数ｓは、ｓ＝ｗ×ｈで与えられる。
【００１８】
顔の二次元画像は、輝度情報や色情報を含んでいる。この輝度・色情報は、顔の形状の反射によって決まるため、顔の位置、姿勢が同じであれば、複数の照明を宛てて撮影することによって、顔形状を推定することが可能となる。このような考え方の一つに、Peter N. Belhumeur et al., "What Is the Set of Images of an Object Under All Possible Illumination Conditions ?", International Journal of Computer Vision, Vol. No.28, pp. 245-260, 1998、に記載されてる「照明基底（illumination basis）」がある。この照明基底（測地照明基底、ＧＩＢ：Geodesic Illumination Basis）は、顔表皮各位置における、照明変動の記述子である。
【００１９】
まず、二次元画像のｉ番目の画素Ｐｉにおける、顔表面の拡散反射率（diffuse reflectance）がａｉで与えられ、法線ベクトルｎｉがｎｉ＝（ｎｉ,ｘ，ｎｉ,ｙ，ｎｉ,ｚ）で与えられるとする。また、その画素Ｐｉでの照明方向を示す照明輝度ベクトルｓが、ｓ＝（ｓｘ，ｓｙ，ｓｚ）で与えられるとする。この時、その画素Ｐｉでの「輝度Ｘｉ」は、次の式で与えられる。
【００２０】
【数３】
2008016054.tif 000005
ここで、ベクトルｂｉは、次の式で与えられる。
【００２１】
【数４】
2008016054.tif 000006
【００２２】
よって、二次元画像に含まれる全ての画素ｐｉに対する輝度Ｘｉを示す「輝度ベクトルＸ」は、次の式で与えられる。
【００２３】
【数５】
2008016054.tif 000007
【００２４】
これらの式において、拡散反射率ａｉと法線ベクトルｎｉ、すなわちベクトルｂｉは、物体の形状・性質にだけ依存し、照明の強度・方向には依存しない。照明を変えたときに変動するのは、照明強度ベクトルｓである。照明を変えたときに作成される二次元画像の輝度ベクトルＸの集合Ｉは、次のように表される。
【００２５】
【数６】
2008016054.tif 000008
ここで、Ｂは、次のように表される
【００２６】
【数７】
2008016054.tif 000009
【００２７】
つまり、Ｂｘ＝｛ｂｉ,ｘ｝＝（ｂ０,ｘ，・・・，ｂｓ,ｘ）であり、Ｂｙ＝｛ｂｉ,ｙ｝＝（ｂ０,ｙ，・・・，ｂｓ,ｙ）であり、Ｂｚ＝｛ｂｉ,ｚ｝＝（ｂ０,ｚ，・・・，ｂｓ,ｚ）である。そして、このＢが「照明基底」と参照される。つまり、照明基底（反射情報）は、照明変動の記述子であり、照明変動に対する輝度の変化を表すことができる。また、上述のように、画像の輝度は、照明と顔形状によって決まる。従って、この照明基底（反射情報）を、顔形状に関連するパラメータであるということもできる。本発明においては、この「照明基底」という概念が用いられる。
【００２８】
本発明は、図２に示されたある「二次元画像」から、最終的に、図１に示された「三次元形状（形状関数ｆ（ｘ，ｙ））」を精度良く推定することを目的とする。また、本発明は、図２に示されたある「二次元画像」から、照明条件の異なる二次元画像、あるいは、照明条件及び顔の向きが異なる二次元画像を生成することを目的とする。このような技術は、例えば、顔個人認証技術などのセキュリティ分野、美容・整形の分野、アミューズメントの分野等に適用することが可能である。以下に、本発明の構成及び動作が詳細に記述される。
【００２９】
（第１の実施の形態）
図３は、本発明の第１の実施の形態に係る三次元形状推定システムの構成を示すブロック図である。この三次元形状推定システム１は、相対形状分析装置１０、特徴点位置探索装置２０、及び絶対形状分析装置３０を備えている。相対形状分析装置１０は、ある顔の二次元画像を示す顔画像データ５０を受け取り、輝度情報及び予め蓄積された学習反射情報に基づいて、その顔の相対形状関数（ｆｘ，ｆｙ）を推定する。推定された相対形状関数（ｆｘ，ｆｙ）を示す相対形状データ５１は、特徴点位置探索装置２０及び絶対形状分析装置３０に出力される。特徴点位置探索装置２０は、顔画像データ５０及び相対形状データ５１を受け取り、両目、鼻などの顔の「特徴点」を自動的に検出する。その「特徴点」の位置を示す特徴点位置データ５２は、絶対形状分析装置３０に出力される。絶対形状分析装置３０は、相対形状関数（ｆｘ，ｆｙ）、特徴点の位置及び予め蓄積された学習形状データに基づいて、その顔の形状関数ｆ（ｘ，ｙ）を推定する。推定された形状関数ｆ（ｘ，ｙ）を示す三次元絶対形状データ５３は、絶対形状分析装置３０から出力される。このように、本実施の形態に係る三次元形状推定システム１によれば、顔画像データ５０（図２参照）から、三次元絶対形状データ５３（図１参照）が得られる。
【００３０】
以下、各装置の構成・動作が詳細に説明される。
【００３１】
図４は、本発明に係る相対形状分析装置１０の構成を示すブロック図である。この相対形状分析装置１０は、入力部１１、学習データ作成部１２、記憶部１３、相対形状算出部１４、及び出力部１５を備えている。記憶部１３には、相対形状データ５１及び一般化照明基底データ６１が格納される。この一般化照明基底データ（第１学習データ）６１は、複数の人物の顔（複数の同種の物体）に対する一般化された照明基底を示し、あらかじめ学習により蓄積される。学習データ作成部１２は、この一般化照明基底データ６１を作成するためのユニットであり、ＣＰＵとコンピュータプログラムによって実現される。相対形状算出部１４は、相対形状データ５１を作成するためのユニットであり、ＣＰＵとコンピュータプログラムによって実現される。記憶部１３としては、ハードディスクドライブやメモリが例示される。
【００３２】
まず、一般化照明基底データ６１の作成が行われる。図５は、その一般化照明基底データ６１を作成する際の相対形状分析装置１０の動作、すなわち学習データ作成部１２の動作を示すフローチャートである。
【００３３】
ステップＳ１０１：
まず、複数の人物の顔に対して様々な方向から照明が照射され、撮影が行われる。これにより、テクスチャ付きの複数の三次元形状データ６０が得られる。この複数人の顔の三次元形状データ６０が、入力部１１を介して学習データ作成部１２に入力される。
【００３４】
ステップＳ１０２：
次に、学習データ作成部１２は、上述の式（６）に基づいて、三次元形状データ６０から各人の顔の照明基底Ｂを算出する。
【００３５】
ステップＳ１０３：
次に、学習データ作成部１２は、主成分分析などの方法によって、複数の人物の顔の照明基底Ｂを成分Ａ１，Ａ２，…Ａｎに分解する。これにより、一般的な顔の照明基底（一般化照明基底）Ｂを、次のように記述することが可能となる。
【００３６】
【数８】
2008016054.tif 000010
ここで、β１，β２，…βｍは、個人ごとに異なるパラメータである。
【００３７】
ステップＳ１０４：
学習データ作成部１２は、上記ステップＳ１０３で求められた一般化照明基底Ｂを示す一般化照明基底データ６１を、記憶部１３に出力し格納する。
【００３８】
次に、ある人物の顔の二次元画像を示す顔画像データ５０から、その人物の顔の相対形状関数（ｆｘ，ｆｙ）を示す相対形状データ５１を推定する方法が示される。この人物の顔の向きは既知であるが、この人物の照明基底Ｂは未知である。図６は、相対形状分析装置１０の相対形状算出部１４の動作を示すフローチャートである。
【００３９】
ステップＳ１１１：
まず、ある人物の顔の二次元画像を示す顔画像データ５０（図２参照）が、入力部１１を介して相対形状算出部１４に入力される。
【００４０】
ステップＳ１１２：
二次元顔画像は、輝度情報と色情報を有している。よって、相対形状算出部１４は、顔画像データ５０から、上述の式（５）に示される輝度ベクトルＸ＝｛Ｘｉ｝を抽出することができる。
【００４１】
ステップＳ１１３：
次に、相対形状算出部１４は、記憶部１３から一般化照明基底データ６１を読み出し、一般化照明基底Ｆ（β１，β２，…βｍ，Ａ１，Ａ２，…Ａｎ）を取得する。これら輝度ベクトルＸ、一般化照明基底Ｆ、及び照明強度ベクトルｓを用いて、相対形状算出部１４は、次式で表される汎関数Ｅ１を作成する。
【００４２】
【数９】
2008016054.tif 000011
【００４３】
ステップＳ１１４：
次に、相対形状算出部１４は、この汎関数Ｅ１が最小となるパラメータβ１，β２，…βｍを求める。計算が非線形になる場合、相対形状算出部１４は、山登り法など反復計算法を用いてそれらパラメータを計算する。そして、相対形状算出部１４は、求められたパラメータβ１，β２，…βｍの場合の照明基底Ｆ（β１，β２，…βｍ，Ａ１，Ａ２，…Ａｎ）を、この顔の照明基底Ｂ＊とする。このように、一般化照明基底データ（第１学習データ）６１を用いることによって、ある顔の二次元画像からその顔の照明基底Ｂ＊が算出される。
【００４４】
ステップＳ１１５：
照明基底Ｂ＊は、上記式（７）で表されることもできる。本発明によれば、相対形状算出部１４は、この照明基底Ｂ＊に基づき、この顔に関する相対形状関数（ｆｘ，ｆｙ）を次の式によって算出する。
【００４５】
【数１０】
2008016054.tif 000012
【００４６】
このように、ある顔の二次元画像からその顔の相対形状関数（ｆｘ，ｆｙ）が算出される。式（２）に示されたように、この相対形状関数（ｆｘ，ｆｙ）は、形状関数ｆ（ｘ，ｙ）の偏微分を表す。以上の処理は、照明基底に基づく方法のみならず、画像と相対形状である微分情報を結びつけるあらゆるモデルに対して有効である。
【００４７】
ステップＳ１１６：
相対形状算出部１４は、求められた相対形状関数（ｆｘ，ｆｙ）を示す相対形状データ５１を、出力部１５を介して、特徴点位置探索装置２０及び絶対形状分析装置３０に出力する。また、相対形状算出部１４は、その相対形状データ１５を、記憶部１３に格納してもよい。
【００４８】
以上に示されたように、本発明に係る相対形状分析装置１０によれば、ある物体が写っている単一の二次元画像から、その物体の照明基底Ｂを推定することが可能となる。また、その単一の二次元画像から、その物体の相対形状関数（ｆｘ，ｆｙ）を推定することが可能となる。ここで、その物体を、ステレオ／多眼カメラ等の特別な撮影装置で撮影する必要はない。よって、コストが削減される。また、撮影時の情報を保存しておく必要はなく、その二次元画像の撮影環境に対する制約もない。
【００４９】
図７は、本発明に係る特徴点位置探索装置２０の構成を示すブロック図である。この特徴点位置探索装置２０は、入力部２１、特徴点抽出部２２、記憶部２５、及び出力部２６を備えている。特徴点抽出部２２は、色・輝度特徴点抽出部２３と形状特徴点抽出部２４を含んでいる。記憶部２５には、ある顔における複数の「特徴点」の位置を示す特徴点位置データ５２が格納される。特徴点抽出部２２は、この特徴点位置データ５２を作成するためのユニットであり、ＣＰＵとコンピュータプログラムによって実現される。記憶部２５としては、ハードディスクドライブやメモリが例示される。
【００５０】
顔の「特徴点」とは、目の中心、鼻の頂点、鼻の下など、顔の特徴的な点のことである。この特徴点は、色や輝度に特徴がある「色・輝度特徴点（第１特徴点）」と、形状に特徴がある「形状特徴点（第２特徴点）」を含む。色・輝度特徴点としては、目や口が例示される。例えば、唇は周囲より強い赤み成分を有しており、東洋人の場合であれば目は黒い。よって、これらは画像に含まれる色・輝度情報から抽出することが可能である。一方、形状特徴点としては、鼻や鼻の下が例示される。これらは形状に特徴があるので、相対形状関数（ｆｘ，ｆｙ）を用いて抽出することが可能である。
【００５１】
図８は、本発明に係る特徴点位置探索装置２０の動作を示すフローチャートである。
ステップＳ２０１：
上述の顔画像データ５０及び相対形状分析装置１０によって得られた相対形状データ５１が、入力部２１を介して特徴点抽出部２２に入力される。
【００５２】
ステップＳ２０２：
まず、色・輝度特徴点抽出部２３が、顔画像データ５０に含まれる色・輝度情報を用いることによって、「色・輝度特徴点」を抽出する。この色・輝度特徴点の位置に関する情報は、形状特徴点抽出部２４に出力される。
【００５３】
ステップＳ２０３：
次に、鼻などの形状特徴点の抽出が行われる。図９は、側面から見た時のある顔の輪郭、すなわち、あるｘ座標における形状関数ｚ＝ｆ（ｙ）を示している。ここで、そのあるｘ座標は、両目の中心に対応しているものとする。図９に示されるように、目の位置ａ１から＋ｙ方向にある形状関数ｚ＝ｆ（ｙ）で、最初の極小点が鼻の頂点の位置ａ２に対応すると考えられる。また、最初の極大点が鼻の下の位置ａ３に対応すると考えられる。更に、次の極小点が、唇の頂点の位置ａ４に対応すると考えられる。よって、このような極小点・極大点を探索すればよい。ここで、顔の形状関数ｆ（ｘ，ｙ）は、未だ得られていない。従って、形状特徴点抽出部２４は、次の式に基づいて、顔表面の曲率Ｈを計算する。
【００５４】
【数１１】
2008016054.tif 000013
【００５５】
ここで、（ｆｘ，ｆｙ）は、相対形状データ５１から知ることができる。また、ｆｘｘ，ｆｙｙ，ｆｘｙは、形状関数ｆ（ｘ，ｙ）の二階偏微分であり、相対形状データ５１が示す相対形状関数（ｆｘ，ｆｙ）から知ることができる。つまり、形状特徴点抽出部２４は、曲率Ｈを計算することができる。また、両目の位置ａ１は、色・輝度特徴点抽出部２３によって得られた色・輝度特徴点情報から知ることができる。従って、形状特徴点抽出部２４は、両目の中心位置ａ１から＋ｙ方向で、曲率Ｈの最大点を鼻の頂点の位置ａ２として決定する。同様に、鼻の下の位置ａ３や、唇頂点の位置ａ４も決定される。このようにして、形状特徴点抽出部２４は、顔の二次元画像及び相対形状関数（ｆｘ，ｆｙ）に基づいて、「形状特徴点」を抽出する。
【００５６】
ステップＳ２０４：
特徴点抽出部２２は、上記ステップＳ２０２、Ｓ２０３で得られた色・輝度特徴点と形状特徴点の位置を示す特徴点位置データ５２を出力する。この特徴点位置データ５２は、出力部２６を介して絶対形状分析装置３０に出力される。また、この特徴点位置データ５２は、記憶部２５に格納されてもよい。
【００５７】
以上に示されたように、本発明に係る特徴点位置装置２０によれば、ある物体が写っている単一の二次元画像から、その物体の特徴点を自動的に見つけることが可能となる。それは、相対形状分析装置１０によって推定された相対形状関数（ｆｘ，ｆｙ）に基づいて、形状特徴点を抽出することができるからである。顔画像中の特徴点を手動で指定する必要はなくなる。
【００５８】
図１０は、本発明に係る絶対形状分析装置３０の構成を示すブロック図である。この絶対形状分析装置３０は、入力部３１、学習データ作成部３２、記憶部３３、絶対形状算出部３４、及び出力部３５を備えている。記憶部３３には、三次元絶対形状データ５３及び三次元形状学習データ６２が格納される。この三次元形状学習データ（第２学習データ）６２は、複数の人物の顔（複数の同種の物体）の三次元形状に関する情報を示し、あらかじめ学習により蓄積される。学習データ作成部３２は、この三次元形状学習データ６２を作成するためのユニットであり、ＣＰＵとコンピュータプログラムによって実現される。絶対形状算出部３４は、三次元絶対形状データ５３を作成するためのユニットであり、ＣＰＵとコンピュータプログラムによって実現される。記憶部３３としては、ハードディスクドライブやメモリが例示される。
【００５９】
まず、三次元形状学習データ６２の作成が行われる。図１１は、その三次元形状学習データ６２を作成する際の絶対形状分析装置３０の動作、すなわち学習データ作成部３２の動作を示すフローチャートである。
【００６０】
ステップＳ３０１：
まず、レンジファインダ等の三次元形状計測機器を用いることによって、複数の人物の顔の三次元形状データ（形状関数ｚ＝ｆ（ｘ，ｙ））が取得される。取得された三次元形状データにおいて、正面はｘｙ面で表され、奥行きやｚ方向で表される（図１参照）。この複数人の顔の三次元形状データ６０が、入力部３１を介して学習データ作成部３２に入力される。
【００６１】
ステップＳ３０２：
次に、学習データ作成部３２は、取得した複数の三次元形状データのそれぞれにおいて、特徴点を見つける。具体的には、学習データ作成部３２は、上述の特徴点抽出部２２と同様の方法で、特徴点の位置を探索する。すなわち、特徴点抽出部２２が抽出する部位と同じ部位が抽出される。ここで、各々の顔の形状関数ｚ＝ｆ（ｘ，ｙ）がわかっているので、学習データ作成部３２は、その形状関数ｚを用いて特徴点の位置を探索してもよい。あるいは、この学習データの作成は事前に一度だけ行われるものなので、ユーザが手動で行ってもよい。このステップにおいて、一人一人の顔について、複数の特徴点の位置が決定される。
【００６２】
ステップＳ３０３：
次に、学習データ作成部３２は、抽出された複数の特徴点（部位）のうち一点を「基点Ｏ」として設定する。この「基点Ｏ」は、全ての三次元顔形状の座標を固定するための基準点（原点）であり、全ての顔で共通に設定される。例えば、この基点Ｏとして、顔の中心付近に存在する鼻の下が選択される。
【００６３】
ステップＳ３０４：
次に、学習データ作成部３２は、基点Ｏ以外の複数の特徴点の、基点Ｏに対する相対位置を計算する。例えば、図１２は、ある人物の顔を示している。この顔において、両目の中心（Ｐ１，Ｐ２）、鼻の下、口の左右両端（Ｐ３，Ｐ４）の５点が特徴点として抽出されている。また、そのうち鼻の下が、基点Ｏとして選択されている。この時、基点（原点）Ｏに対する特徴点Ｐ１〜Ｐ４のそれぞれの相対位置、すなわち、基点Ｏを原点とする座標系における特徴点Ｐ１〜Ｐ４のぞれぞれの座標が計算される。この計算は、全ての三次元形状データ６０に対して実行される。その後、学習データ作成部３２は、全ての顔に対する相対位置の平均値（平均相対位置）を、各特徴点（Ｐ１，Ｐ２，Ｐ３，Ｐ４）に対して計算する。つまり、各特徴点の座標の平均値が計算され、特徴点Ｐ１〜Ｐ４のそれぞれに対する４つの平均相対位置が算出される。
【００６４】
ステップＳ３０５：
次に、学習データ作成部３２は、全ての顔に対して、複数の特徴点がそれぞれの平均相対位置と一致するように、形状関数ｆ（ｘ，ｙ）を座標変換する。具体的には、各特徴点の周辺領域の拡大／縮小が行われる。例えば、図１２において、基点Ｏを通る座標軸ｕｖによって、顔が４つの領域Ｒ１〜Ｒ４に区分けされている。領域Ｒ１〜Ｒ４のそれぞれは、特徴点Ｐ１〜Ｐ４のそれぞれを含んでいる。この時、複数の特徴点Ｐ１〜Ｐ４がそれぞれの平均相対位置と一致するような拡大／縮小率で、領域Ｒ１〜Ｒ４のそれぞれが拡大／縮小される。例えば、基点Ｏと特徴点Ｐ１との間の距離をＯＰ１、基点Ｏと領域Ｒ１内の任意の点Ｘ１との間の距離をＯＸ１とする。また、基点Ｏから特徴点Ｐ１の平均相対位置への距離をＯＰ１’とする。また、領域Ｒ１内の任意の点Ｘ１が、拡大／縮小操作によって点Ｘ１’に移動し、基点Ｏと点Ｘ１’との間の距離がＯＸ１’であるとする。この時、距離ＯＰ１、ＯＰ１’、ＯＸ１、ＯＸ１’の間には、以下の関係が成り立つ。
【００６５】
【数１２】
2008016054.tif 000014
【００６６】
逆に、式（１２）の関係が成り立つように、点Ｘ１が点Ｘ１’に移動されればよい。このようにして、領域Ｒ１〜Ｒ４の拡大／縮小が行われる。すなわち、全ての顔の形状関数ｆ（ｘ，ｙ）に対して座標変換処理が行われる。この座標変換によって生成される関数は、以下、「修正形状関数ｚ’」と参照される。修正形状関数ｚ’は、次の式で与えられる。
【００６７】
【数１３】
2008016054.tif 000015
【００６８】
また、修正形状関数ｚ’＝ｇ（ｘ，ｙ）の偏微分は、相対形状関数（ｆｘ，ｆｙ）に対応して、「修正相対形状関数（ｇｘ，ｇｙ）」と参照される。この修正相対形状関数（ｇｘ，ｇｙ）は、次の式で与えられる。
【００６９】
【数１４】
2008016054.tif 000016
尚、実際には、画像処理と同じく微分は差分に近似して計算される。
【００７０】
ステップＳ３０６：
次に、学習データ作成部３２は、全ての顔の修正形状関数ｇ（ｘ，ｙ）を用いて成分分析を行い、成分分析データを作成する。上記ステップＳ３０５で得られた全ての修正形状関数ｇ（ｘ，ｙ）においては、基点Ｏを含めた複数の特徴点が一致している。これらを一致させて主成分分析などの成分分析が行われる。例えば、ｎ個の修正形状関数ｚ’があるとする。このうち第１番目の修正形状関数ｇ（ｘ，ｙ）の、あるデータ（画素）の位置ｘ，ｙにおける値をｚｋ１で表す。ここで、ｋは、二次元上の画素の位置を一次元で表すためのパラメータであり、ｋ＝ｙ×ｗ＋ｘ（ｗは、ｘ方向の画素数；図２参照）で表される。また、第ｎ番目の修正形状関数ｇ（ｘ，ｙ）のその位置ｋでの値は、ｚｋｎで表される。この時、その位置（画素）ｋに対して、次の式で表されるｎ次のベクトルＺｋが定義される。
【００７１】
【数１５】
2008016054.tif 000017
【００７２】
このベクトルＺｋを画素数ｓ（ｓ＝ｗ×ｈ；図２参照）だけ並べることによって、次の式で表されるｓ×ｎ行列Ｚが得られる。
【００７３】
【数１６】
2008016054.tif 000018
【００７４】
この行列Ｚを特異値分解することによって、次の式が得られる。
【００７５】
【数１７】
2008016054.tif 000019
【００７６】
ここで、Ｕｚはｓ×ｎ行列であり、Ｖｚｔはｎ×ｎ行列であり、Ｓｚはｎ×ｎ対角行列である。こうして得られた行列Ｕｚの列ベクトルをして主成分を得ることができる。
【００７７】
ステップＳ３０７：
同様に、学習データ作成部３２は、全ての顔の修正相対形状関数（ｇｘ，ｇｙ）を用いて成分分析を行い、成分分析データを作成する。第１番目の修正相対形状関数ｇｘのある位置（画素）ｋにおける値をｄｋ１で表す。また、第ｎ番目の修正相対形状関数ｇｘのその位置ｋにおける値をｄｋｎで表す。また、第１番目の修正相対形状関数ｇｙのその位置ｋにおける値をｅｋ１で表す。また、第ｎ番目の修正相対形状関数ｇｙのその位置ｋにおける値をｅｋｎで表す。この時、その位置ｋに対して、次の式で表されるｎ次のベクトルＤｋ，Ｅｋが定義される。
【００７８】
【数１８】
2008016054.tif 000020
【００７９】
これらベクトルＤｋ，Ｅｋを画素数ｓ（ｓ＝ｗ×ｈ）だけ並べることによって、次の式で表されるｓ×ｎ行列Ｄ及びｓ×ｎ行列Ｅが得られる。
【００８０】
【数１９】
2008016054.tif 000021
【００８１】
これら行列Ｄ，Ｅを特異値分解することによって、次の式が得られる。
【００８２】
【数２０】
2008016054.tif 000022
【００８３】
【数２１】
2008016054.tif 000023
【００８４】
ここで、Ｕｄ，Ｕｅはｓ×ｎ行列であり、Ｖｄｔ，Ｖｅｔはｎ×ｎ行列であり、Ｓｄ，Ｓｅはｎ×ｎ対角行列である。こうして得られた行列Ｕｄ，Ｕｅの列ベクトルをして主成分を得ることができる。
【００８５】
ステップＳ３０８：
学習データ作成部３２は、このようにして得られた修正形状関数ｇ（ｘ，ｙ）に関する情報Ｕｚ、修正相対形状関数（ｇｘ，ｇｙ）に関する情報Ｕｄ，Ｕｅ、及び各特徴点の平均相対位置を示すデータを、三次元形状学習データ６２として記憶部３３に格納する。
【００８６】
次に、上述のある人物に関する相対形状データ５１及び特徴点位置データ５２から、その人物の顔の形状関数ｆ（ｘ，ｙ）を示す三次元絶対形状データ５３を推定する方法が示される。図１３は、絶対形状分析装置３０の絶対形状算出部３４の動作を示すフローチャートである。
【００８７】
ステップＳ３１１：
まず、相対形状分析装置１０によって作成された相対形状データ５１及び特徴点位置探索装置２０によって作成された特徴点位置データ５２が、入力部３１を介して絶対形状算出部３４に入力される。
【００８８】
ステップＳ３１２：
次に、絶対形状算出部３４は、特徴点位置データ５２に示される複数の特徴点の位置に基づいて、相対形状データ５１に示される相対形状関数（ｆｘ，ｆｙ）中に特徴点を設定する。また、絶対形状算出部３４は、それら複数の特徴点の中から１つを「基点」として設定する。この基点は、上述のステップＳ３０３で設定された基点と同じ場所を示す。更に、絶対形状算出部３４は、基点Ｏ以外の複数の特徴点の、基点Ｏに対する相対位置を計算する。これにより、処理中の人物の顔における複数の特徴点のそれぞれについて相対位置が得られる。
【００８９】
ステップＳ３１３：
次に、絶対形状算出部３４は、記憶部３３に格納された三次元学習データ６２を読み込み、各特徴点の「平均相対位置」を取得する。そして、絶対形状算出部３４は、複数の特徴点がそれぞれの平均相対位置と一致するように、相対形状関数（ｆｘ，ｆｙ）を座標変換する。具体的には、上述のステップＳ３０５と同様の方法で、各特徴点の周辺領域の拡大／縮小が行われる。この座標変換処理によって、相対形状データ５１に示される相対形状関数（ｆｘ，ｆｙ）から、処理中の顔に関する修正相対形状関数ｚ’＝（ｇｘ，ｇｙ）が算出される（式（１４）参照）。
【００９０】
ステップＳ３１４：
次に、絶対形状算出部３４は、三次元学習データ６２から、複数人の修正形状関数ｇ（ｘ，ｙ）に関する情報Ｕｚ、修正相対形状関数（ｇｘ，ｇｙ）に関する情報Ｕｄ，Ｕｅを取得する。これら学習データと上記ステップＳ３１３で算出された修正相対形状関数（ｇｘ，ｇｙ）に基づいて、絶対形状算出部３４は、処理中の顔に関する修正形状関数ｇ（ｘ，ｙ）を算出する。具体的には、ある位置ｋ（ｋ＝ｙ×ｗ＋ｘ）における修正相対形状関数（ｇｘ，ｇｙ）の値をそれぞれｇｘ（ｋ）及びｇｙ（ｋ）とする時、絶対形状算出部３４は、次の式で与えられる列ベクトルＧ及びｎ次の列ベクトルｃを作成する。
【００９１】
【数２２】
2008016054.tif 000024
【００９２】
【数２３】
2008016054.tif 000025
【００９３】
これら列ベクトルＧ、列ベクトルｃ及び上記三次元形状学習データ６２が示す情報Ｕｄ，Ｕｅを用いることによって、次の式で与えられる汎関数Ｅ２が定義される。
【００９４】
【数２４】
2008016054.tif 000026
【００９５】
そして、絶対形状算出部３４は、この汎関数Ｅ２が最小になるｎ次の列ベクトルｃを計算する。更に、その算出された列ベクトルｃと上記三次元形状学習データ６２が示す情報Ｕｚとを用いて、次の式で与えられるｓ次の列ベクトルＧ２が得られる。
【００９６】
【数２５】
2008016054.tif 000027
【００９７】
ここでｓ（ｓ＝ｗ×ｈ）は画素数であり、ｇ（ｋ）は上記位置ｋ（ｋ＝ｙ×ｗ＋ｘ）における修正形状関数ｇ（ｘ，ｙ）の値である。すなわち、上記式（２５）によって、処理中の顔の修正形状関数ｇ（ｘ，ｙ）が算出される。
【００９８】
ステップＳ３１５：
次に、絶対形状算出部３４は、得られた修正形状関数ｇ（ｘ，ｙ）における複数の特徴点の位置が、特徴点位置データ５２が示す元の位置に戻るように、その修正形状関数ｇ（ｘ，ｙ）を座標変換する。具体的には、上述のステップＳ３０５と逆の処理で、各特徴点の周辺領域の拡大／縮小が行われる。この座標変換処理によって、修正形状関数ｇ（ｘ，ｙ）から、処理中の顔に関する形状関数ｆ（ｘ，ｙ）が算出される。すなわち、処理中の顔の三次元形状が推定される。
【００９９】
ステップＳ３１６：
絶対形状算出部３４は、このようにして得られた形状関数ｆ（ｘ，ｙ）を示す三次元絶対形状データ５３を、出力部３５を介して出力する。また、絶対形状算出部３４は、その三次元絶対形状データ５３を、記憶部３３に格納してもよい。このように、絶対形状分析装置３０は、三次元形状学習データ６２と特徴点位置データ５２を参照することによって、相対形状データ５１に示されたある顔の相対形状関数（ｆｘ，ｆｙ）を、その顔の形状関数ｆ（ｘ，ｙ）に変換する。
【０１００】
以上に説明されたように、本発明に係る三次元形状推定システム１及び三次元形状推定方法によれば、ある顔画像データ５０から三次元絶対形状データ５３を得ることが可能となる。すなわち、ある物体が写っている単一の二次元画像から、その物体の三次元形状を推定することが可能となる。ここで、その物体を、ステレオ／多眼カメラ等の特別な撮影装置で撮影しておく必要はない。よって、コストが削減される。また、撮影時の情報を保存しておく必要はなく、その二次元画像の撮影環境に対する制約もなくなる。その処理途中においては、その二次元画像から、その物体の照明基底Ｂや相対形状関数（ｆｘ，ｆｙ）が推定される。また、手動で指定することなく、その物体の特徴点を自動的に見つけることが可能となる。
【０１０１】
（第２の実施の形態）
第１の実施の形態による機能は、コンピュータシステム及びコンピュータプログラムによって実現することも可能である。図１４は、本発明の第２の実施の形態に係る三次元形状推定システムの構成を示すブロック図である。この三次元形状推定システム１’は、記憶装置７０、演算処理装置７１、入力装置７２、表示装置７３、データ入出力インターフェース７４、及び三次元形状推定プログラム８０を備えている。
【０１０２】
記憶装置７０は、ハードディスクドライブ（ＨＤＤ）やＲＡＭ等のメモリである。この記憶装置７０には、上述の顔画像データ５０、相対形状データ５１、特徴点位置データ５２、三次元絶対形状データ５３、一般化照明基底データ６１、及び三次元形状学習データ６２が格納される。演算処理装置７１は、各装置に接続され、データのやりとりや各種演算を実行する。
【０１０３】
入力装置７２としては、キーボードやマウスが例示される。ユーザは、この入力装置７２を用いることによって、データを入力したり各種コマンドを指定することができる。また、表示装置７３はディスプレイであり、この表示装置７３によって各種情報がユーザに通知される。ユーザは、通知された情報に基づいて、新たなコマンドを入力したりデータを入力したりできる。データ入出力インターフェース７４は、顔画像データ５０や三次元形状データ６０の入力に用いられる。そのため、データ入出力インターフェース７４は、レンジファインダやデジタルカメラ等の撮像装置、ＣＤ／ＤＶＤドライブ、他の端末などに接続される。
【０１０４】
三次元形状推定プログラム８０は、演算処理装置７１によって実行されるソフトウェアプログラムである。この三次元形状推定プログラム８０は、相対形状分析部８１、特徴点位置探索部８２、絶対形状分析部８３、及び学習データ作成部８４を含んでいる。これらプログラム群は、記憶装置７０に格納されていてもよい。これらプログラムが演算処理装置７１によって実行されることにより、第１の実施の形態において提供された機能と同じ機能が実現される。
【０１０５】
具体的には、三次元形状推定プログラム８０の相対形状分析部８１の命令に従い、演算処理装置７１は、顔画像データ５０から相対形状データ５１を作成する。これは、図４における相対形状算出部１４の機能と同じである（図６参照）。また、三次元形状推定プログラム８０の特徴点位置探索部８２の命令に従い、演算処理装置７１は、顔画像データ５０及び相対形状データ５１から特徴点位置データ５２を作成する。これは、図７における特徴点抽出部２２の機能と同じである（図８参照）。また、三次元形状推定プログラム８０の絶対形状分析部８３の命令に従い、演算処理装置７１は、相対形状データ５１及び特徴点位置データ５２から三次元絶対形状データ５３を作成する。これは、図１０における絶対形状算出部３４の機能と同じである（図１３参照）。また、三次元形状推定プログラム８０の学習データ作成部８４の命令に従い、演算処理装置７１は、一般化照明基底データ６１や三次元形状学習データ６２を作成する。これは、図４や図１０における学習データ作成部１２、３２の機能と同じである（図５、図１１参照）。
【０１０６】
以上に示された三次元形状推定システム１’及び三次元形状推定プログラム８０によれば、ある物体が写っている単一の二次元画像からその物体の三次元形状を推定することが可能となる。ここで、特別な計測装置を用いる必要はないので、コストが低減される。また、その単一の二次元画像から、その物体の照明基底Ｂや相対形状関数ｆｘ，ｆｙを推定することが可能となる。更に、その単一の二次元画像から、その物体の特徴点を自動的に見つけることが可能となる。
【０１０７】
（第３の実施の形態）
図１５は、本発明の第３の実施の形態に係る画像生成システムの構成を示すブロック図である。この画像生成システム１００は、相対形状分析装置１１０、特徴点位置探索装置１２０、絶対形状分析装置１３０、及び画像生成装置１４０を備えている。この画像生成システム１００は、ある顔の二次元画像を示す顔画像データ５０（図２参照）から、異なる照明条件を有する二次元画像（照明変換画像）、あるいは異なる照明条件と異なる顔の向きを有する二次元画像（回転変換画像）を示す変換画像データ５５を作成する。
【０１０８】
本実施の形態における相対形状分析装置１１０は、第１の実施の形態における相対形状分析装置１０と同様の構成を有する。つまり、この相対形状分析装置１１０は、顔画像データ５０から相対形状データ５１を作成し、その相対形状データ５１を特頂点位置探索装置１２０及び絶対形状分析装置１３０に出力する。また、本実施の形態において、相対形状分析装置１１０は、上記ステップＳ１１４で算出される照明基底Ｂを示す照明基底データ５４を、画像生成装置１４０に出力する。
【０１０９】
本実施の形態における特徴点位置探索装置１２０は、第１の実施の形態における特徴点位置探索装置２０と同様の構成を有する。つまり、この特徴点位置探索装置１２０は、顔画像データ５０と相対形状データ５１から特徴点位置データ５２を作成し、その特徴点位置データ５２を絶対形状分析装置１３０に出力する。
【０１１０】
本実施の形態における絶対形状分析装置１３０は、第１の実施の形態における絶対形状分析装置３０と同様の構成を有する。つまり、この絶対形状分析装置１３０は、相対形状データ５１と特徴点位置データ５２から三次元絶対形状データ５３を作成する。本実施の形態において、その三次元絶対形状データ５３は、画像生成装置１４０に出力される。
【０１１１】
画像生成装置１４０は、三次元絶対形状データ５３及び照明基底データ５４を受け取り、変換画像データ５５を作成する。図１６は、本実施の形態における画像生成装置１４０の構成を示すブロック図である。この画像生成装置１４０は、入力部１４１、画像生成部１４２、記憶部１４５、及び出力部１４６を備えている。画像生成部１４２は、二次元画像変換部１４３と三次元画像変換部１４４を含んでいる。記憶部１４５には、変換画像データ５５が格納される。画像生成部１４２は、この変換画像データ５５を作成するためのユニットであり、ＣＰＵとコンピュータプログラムによって実現される。記憶部１４５としては、ハードディスクドライブやメモリが例示される。
【０１１２】
図１７は、本発明に係る画像生成装置１４０の動作を示すフローチャートである。
ステップＳ４０１：
まず、相対形状分析装置１１０から照明基底データ５４が、また、絶対形状分析装置１３０から三次元絶対形状データ５３が、入力部１４１を介して画像生成部１４２に入力される。
【０１１３】
ステップＳ４０２：
二次元画像変換部１４３は、上記式（６）のように、照明基底データ５４が示すある人物の照明基底Ｂに、任意の照明強度ベクトルｓを掛け合わせる。これによって、顔画像データ５０が示す二次元顔画像とは異なる照明条件の下での二次元顔画像（照明変換画像）が得られる。二次元画像変換部１４３は、この照明変換画像を示す照明変換画像データ５６を出力する。
【０１１４】
回転変換画像が必要でない場合（ステップＳ４０３；Ｎｏ）、作成された照明変換画像データ５６は、変換画像データ５５として、出力部１４６を介して出力される（ステップＳ４０６）。また、その照明変換画像データ５６は、変換画像データ５５として、記憶部１４５に格納されてもよい。このように、本実施の形態によれば、相対形状分析装置１１０と画像生成装置１４０だけで、照明条件の異なる照明変換画像を作成することが可能となる。
【０１１５】
ステップＳ４０４：
回転変換画像が必要な場合（ステップＳ４０３；Ｙｅｓ）、三次元画像変換部１４４は、三次元絶対形状データ５３に加えて、上記ステップＳ４０２で作成された照明変換画像データ５６を受け取る。つまり、三次元画像変換部１４４は、処理中の顔に関する、「推定された三次元形状（形状関数ｆ（ｘ，ｙ））」と「照明条件の異なる照明変換画像」を取得する。そして、三次元画像変換部１４４は、その照明変換画像とその三次元形状を組み合わせる、すなわち、その照明変換画像をその三次元形状に張り合わせる。これによって、「照明条件の異なる新たな三次元形状」が作成される。
【０１１６】
ステップＳ４０５：
次に、三次元画像変換部１４４は、その新たな三次元形状を三次元的に回転させ、顔の向きを所望の向きに設定する。これによって、元の二次元画像と異なる照明条件・顔の向きを有する二次元画像（回転変換画像）が得られる。三次元画像変換部１４４は、この回転変換画像を示す回転変換データ５７を出力する。
【０１１７】
ステップＳ４０６：
画像生成部１４２は、このようにして作成された照明変換画像データ５６及び回転変換画像データ５７の少なくとも１つを、変換画像データ５５として出力する。その変換画像データ５５は、出力部１４６を介して外部に出力される、あるいは記憶部１４５に格納される。
【０１１８】
以上に説明されたように、本発明に係る画像生成システム１００及び画像生成方法によれば、ある物体が写っている単一の二次元画像から、その物体の向きや照明条件が異なる画像を生成することが可能となる。
【０１１９】
（第４の実施の形態）
第３の実施の形態による機能は、コンピュータシステム及びコンピュータプログラムによって実現することも可能である。図１８は、本発明の第４の実施の形態に係る画像生成システムの構成を示すブロック図である。この画像生成システム１００’は、記憶装置１７０、演算処理装置１７１、入力装置１７２、表示装置１７３、データ入出力インターフェース１７４、及び画像生成プログラム１８０を備えている。
【０１２０】
記憶装置１７０は、ハードディスクドライブ（ＨＤＤ）やＲＡＭ等のメモリである。この記憶装置１７０には、上述の顔画像データ５０、相対形状データ５１、特徴点位置データ５２、三次元絶対形状データ５３、照明基底データ５４、変換画像データ５５、一般化照明基底データ６１、及び三次元形状学習データ６２が格納される。演算処理装置７１は、各装置に接続され、データのやりとりや各種演算を実行する。
【０１２１】
入力装置１７２としては、キーボードやマウスが例示される。ユーザは、この入力装置１７２を用いることによって、データを入力したり各種コマンドを指定することができる。また、表示装置１７３はディスプレイであり、この表示装置１７３によって各種情報がユーザに通知される。ユーザは、通知された情報に基づいて、新たなコマンドを入力したりデータを入力したりできる。データ入出力インターフェース１７４は、顔画像データ５０や三次元形状データ６０の入力に用いられる。そのため、データ入出力インターフェース１７４は、レンジファインダやデジタルカメラ等の撮像装置、ＣＤ／ＤＶＤドライブ、他の端末などに接続される。
【０１２２】
画像生成プログラム１８０は、演算処理装置１７１によって実行されるソフトウェアプログラムである。この画像生成プログラム１８０は、相対形状分析部１８１、特徴点位置探索部１８２、絶対形状分析部１８３、画像生成部１８４、及び学習データ作成部１８５を含んでいる。これらプログラム群は、記憶装置１７０に格納されていてもよい。これらプログラムが演算処理装置１７１によって実行されることにより、第３の実施の形態において提供された機能と同じ機能が実現される。
【０１２３】
具体的には、画像生成プログラム１８０の相対形状分析部１８１の命令に従い、演算処理装置１７１は、顔画像データ５０から相対形状データ５１及び照明基底データ５４を作成する。これは、図１５における相対形状分析装置１１０の機能と同じである。また、画像生成プログラム１８０の特徴点位置探索部１８２の命令に従い、演算処理装置１７１は、顔画像データ５０及び相対形状データ５１から特徴点位置データ５２を作成する。これは、図１５における特徴点位置探索装置１２０の機能と同じである。また、画像生成プログラム１８０の絶対形状分析部１８３の命令に従い、演算処理装置１７１は、相対形状データ５１及び特徴点位置データ５２から三次元絶対形状データ５３を作成する。これは、図１５における絶対形状分析装置１３０の機能と同じである。また、画像生成プログラム１８０の画像生成部１８４の命令に従い、演算処理装置１７１は、照明基底データ５４及び三次元絶対形状データ５３から変換画像データ５５を作成する。これは、図１５における画像生成装置１４０の機能と同じである。また、画像生成プログラム１８０の学習データ作成部１８５の命令に従い、演算処理装置１７１は、一般化照明基底データ６１や三次元形状学習データ６２を作成する。これは、図４や図１０における学習データ作成部１２、３２と同じ機能である。
【０１２４】
以上に説明されたように、本発明に係る画像生成システム１００’及び画像生成プログラム１８０によれば、ある物体が写っている単一の二次元画像から、その物体の向きや照明条件が異なる画像を生成することが可能となる。
【０１２５】
以上に説明された本発明は、特に、顔個人認証技術などのセキュリティ分野、美容・整形の分野、アミューズメントの分野等において利用されることが期待される。
【図面の簡単な説明】
【０１２６】
【図１】図１は、ある顔の三次元形状を表現する形状関数を説明するための図である。
【図２】図２は、ある顔の二次元画像を示す概略図である。
【図３】図３は、本発明の第１の実施の形態に係る三次元形状推定システムの構成を示すブロック図である。
【図４】図４は、本発明に係る相対形状分析装置の構成を示すブロック図である。
【図５】図５は、本発明に係る相対形状分析装置の動作を示すフローチャートである。
【図６】図６は、本発明に係る相対形状分析装置の動作を示すフローチャートである。
【図７】図７は、本発明に係る特徴点位置探索装置の構成を示すブロック図である。
【図８】図８は、本発明に係る特徴点位置探索装置の動作を示すフローチャートである。
【図９】図９は、本発明に係る特徴点位置探索装置の動作を説明するための図である。
【図１０】図１０は、本発明に係る絶対形状分析装置の構成を示すブロック図である。
【図１１】図１１は、本発明に係る絶対形状分析装置の動作を示すフローチャートである。
【図１２】図１２は、本発明に係る絶対形状分析装置の動作を説明するための図である。
【図１３】図１３は、本発明に係る絶対形状分析装置の動作を示すフローチャートである。
【図１４】図１４は、本発明の第２の実施の形態に係る三次元形状推定システムの構成を示すブロック図である。
【図１５】図１５は、本発明の第３の実施の形態に係る画像生成システムの構成を示すブロック図である。
【図１６】図１６は、本発明に係る画像生成装置の構成を示すブロック図である。
【図１７】図１７は、本発明に係る画像生成装置の動作を示すフローチャートである。
【図１８】図１８は、本発明の第４の実施の形態に係る画像生成システムの構成を示すブロック図である。
【符号の説明】
【０１２７】
１    三次元形状推定システム
１０    相対形状分析装置
１２    学習データ作成部
１３    記憶部
１４    相対形状算出部
２０    特徴点位置探索装置
２２    特徴点抽出部
２３    色・輝度特徴点抽出部
２４    形状特徴点抽出部
２５    記憶部
３０    絶対形状分析装置
３２    学習データ作成部
３３    記憶部
３４    絶対形状算出部
５０    顔画像データ
５１    相対形状データ
５２    特徴点位置データ
５３    三次元絶対形状データ
５４    照明基底データ
５５    変換画像データ
５６    照明変換画像データ
５７    回転変換画像データ
６０    三次元形状データ
６１    一般化照明基底データ
６２    三次元形状学習データ
７０    記憶装置
７１    演算処理装置
７２    入力装置
７３    表示装置
７４    データ入出力インターフェース
８０    三次元形状推定プログラム
８１    相対形状分析部
８２    特徴点位置探索部
８３    絶対形状分析部
８４    学習データ作成部
１００    画像生成システム
１１０    相対形状分析装置
１２０    特徴点位置探索装置
１３０    絶対形状分析装置
１４０    画像生成装置
１４２    画像生成部
１４３    二次元画像変換部
１４４    三次元画像変換部
１４５    記憶部
１７０    記憶装置
１７１    演算処理装置
１７２    入力装置
１７３    表示装置
１７４    データ入出力インターフェース
１８０    画像生成プログラム
１８１    相対形状分析部
１８２    特徴点位置探索部
１８３    絶対形状分析部
１８４    画像生成部
１８５    学習データ作成部
【図１】
2008016054.tif 000028
【図２】
2008016054.tif 000029
【図３】
2008016054.tif 000030
【図４】
2008016054.tif 000031
【図５】
2008016054.tif 000032
【図６】
2008016054.tif 000033
【図７】
2008016054.tif 000034
【図８】
2008016054.tif 000035
【図９】
2008016054.tif 000036
【図１０】
2008016054.tif 000037
【図１１】
2008016054.tif 000038
【図１２】
2008016054.tif 000039
【図１３】
2008016054.tif 000040
【図１４】
2008016054.tif 000041
【図１５】
2008016054.tif 000042
【図１６】
2008016054.tif 000043
【図１７】
2008016054.tif 000044
【図１８】
2008016054.tif 000045