(57)【要約】【課題】  顔をリアルにアニメーション化する。【解決手段】          複数の異なる光源で１つの顔を照射し、記照射からレンジマップデータを測定し、照射からイメージデータを測定し、汎用顔テンプレートをレンジマップデータに適用して、レンジマップデータに関連するノイズを拒絶し、レンジマップデータから３次元面を導出し、３次元面に対する面法線を計算し、面法線およびイメージデータを処理してアルベドマップを計算し、アルベドマップが、特殊タイプのテキスチャマップであり、当該特殊タイプのテキスチャマップでは、各サンプルが、顔の３Ｄ面の記述に加えて、面上の特定ポイントにおける顔面の拡散反射率を記述するものであり、光源が、静止した測定装置に対して一定位置にある、ことを特徴とする顔画像処理方法。【選択図】図３
2011170891.tif 000002
【特許請求の範囲】
【請求項１】
複数の異なる光源で１つの顔を照射するステップであって、少なくとも１つの光源が偏光されるステップと、
前記照射からレンジマップデータを測定するステップと、
前記照射からイメージデータを測定するステップと、
汎用顔テンプレートをレンジマップデータに適用して、レンジマップデータに関連するノイズを拒絶するステップと、
前記レンジマップデータから３次元面を導出するステップと、
前記３次元面に対する面法線を計算するステップと、
前記面法線および前記イメージデータを処理してアルベドマップを計算するステップと、
を有し、
前記アルベドマップが、特殊タイプのテキスチャマップであり、当該特殊タイプのテキスチャマップでは、各サンプルが、顔の３Ｄ面の記述に加えて、面上の特定ポイントにおける顔面の拡散反射率を記述するものであり、
前記光源が、静止した測定装置に対して一定位置にある、
ことを特徴とする顔画像処理方法。
【請求項２】
請求項１に記載の方法において、少なくとも１つの光源は赤外線光の光源であることを特徴とする方法。
【請求項３】
１つ又はそれより多いコンピュータ読み取り可能な媒体であって、当該媒体上に、コンピュータによって実行されたとき、請求項１に記載の方法を実行する指令を有する、コンピュータ読み取り可能な媒体。
【請求項４】
前記光源が異なった周波数のものである、請求項１に記載の方法。
【請求項５】
複数の異なる光源で１つの顔を照射するステップであって、全ての光源が偏光されるものと、
前記照射からレンジマップデータを測定するステップと、
前記照射からイメージデータを測定するステップと、
汎用顔テンプレートをレンジマップデータに適用して、レンジマップデータに関連するノイズを拒絶するステップと、
前記レンジマップデータから３次元面を導出するステップと、
前記３次元面に対する面法線を計算するステップと、
前記面法線および前記イメージデータを処理してアルベドマップを計算するステップと、
を有し、
前記アルベドマップが、特殊タイプのテキスチャマップであり、当該特殊タイプのテキスチャマップでは、各サンプルが、顔の３Ｄ面の記述に加えて、面上の特定ポイントにおける顔面の拡散反射率を記述するものであり、
前記光源が、静止した測定装置に対して一定位置にある、
ことを特徴とする顔画像処理方法。
【請求項６】
１つ又はそれより多いコンピュータ読み取り可能な媒体であって、当該媒体上に、コンピュータによって実行されたとき、請求項５に記載の方法を実行する指令を有する、コンピュータ読み取り可能な媒体。
【請求項７】
複数の異なる光源で１つの顔を照射するステップと、
前記照射からレンジマップデータを測定するステップと、
汎用顔テンプレートをレンジマップデータに適用して、レンジマップデータに関連するノイズを拒絶するステップと、
前記照射からイメージデータを測定するステップと、
前記レンジマップデータから３次元面を導出するステップと、
前記３次元面に対する面法線を計算するステップと、
前記面法線および前記イメージデータを処理してアルベドマップを前記処理装置により計算するステップと、
を有し、
前記アルベドマップが、特殊タイプのテキスチャマップであり、当該特殊タイプのテキスチャマップでは、各サンプルが、顔の３Ｄ面の記述に加えて、面上の特定ポイントにおける顔面の拡散反射率を記述するものであり、
前記光源が、静止した測定装置に対して一定位置にある、
ことを特徴とする顔画像処理方法。
【請求項８】
１つ又はそれより多いコンピュータ読み取り可能な媒体であって、当該媒体上に、コンピュータによって実行されたとき、請求項７に記載の方法を実行する指令を有する、コンピュータ読み取り可能な媒体。
【請求項９】
複数の異なる光源で１つの顔を照射するステップと、
前記照射からレンジマップデータを測定するステップと、
前記照射からイメージデータを測定するステップと、
汎用顔テンプレートをレンジマップデータに適用して、レンジマップデータに関連するノイズを拒絶するステップと、
前記レンジマップデータをフィルタリングするステップと、
前記レンジマップデータから３次元面を導出するステップと、
前記３次元面に対する面法線を計算するステップと、
前記面法線および前記イメージデータを処理してアルベドマップを前記処理装置により計算するステップと、
を有し、
前記アルベドマップが、特殊タイプのテキスチャマップであり、当該特殊タイプのテキスチャマップでは、各サンプルが、顔の３Ｄ面の記述に加えて、面上の特定ポイントにおける顔面の拡散反射率を記述するものであり、
前記光源が、静止した測定装置に対して一定位置にある、
ことを特徴とする顔画像処理方法。
【請求項１０】
１つ又はそれより多いコンピュータ読み取り可能な媒体であって、当該媒体上に、コンピュータによって実行されたとき、請求項９に記載の方法を実行する指令を有する、コンピュータ読み取り可能な媒体。
【請求項１１】
複数の異なる光源で１つの顔を照射する手段であって、少なくとも１つの光源が偏光される手段と、
前記照射からレンジマップデータを測定する手段と、
前記照射からイメージデータを測定する手段と、
汎用顔テンプレートをレンジマップデータに適用して、レンジマップデータに関連するノイズを拒絶する手段と、
前記レンジマップデータから３次元面を導出する手段と、
前記３次元面に対する面法線を前記処理装置により計算する手段と、
前記面法線および前記イメージデータを処理してアルベドマップを計算する手段と、
を有し、
前記アルベドマップが、特殊タイプのテキスチャマップであり、当該特殊タイプのテキスチャマップでは、各サンプルが、顔の３Ｄ面の記述に加えて、面上の特定ポイントにおける顔面の拡散反射率を記述するものであり、
前記光源が、静止した測定装置に対して一定位置にある、
ことを特徴とする顔画像処理システム。
【請求項１２】
請求項１１に記載のシステムにおいて、少なくとも１つの光源は赤外線光の光源であることを特徴とするシステム。
【請求項１３】
請求項１１に記載のシステムにおいて、前記複数の光源は周波数が異なることを特徴とするシステム。
【請求項１４】
複数の異なる光源で１つの顔を照射する手段であって、全ての光源が偏光される手段と、
前記照射からレンジマップデータを測定する手段と、
前記照射からイメージデータを測定する手段と、
汎用顔テンプレートをレンジマップデータに適用して、レンジマップデータに関連するノイズを拒絶する手段と、
前記レンジマップデータから３次元面を導出する手段と、
前記３次元面に対する面法線を前記処理装置により計算する手段と、
前記面法線および前記イメージデータを処理してアルベドマップを計算する手段と、
を有し、
前記アルベドマップが、特殊タイプのテキスチャマップであり、当該特殊タイプのテキスチャマップでは、各サンプルが、顔の３Ｄ面の記述に加えて、面上の特定ポイントにおける顔面の拡散反射率を記述するものであり、
前記光源が、静止した測定装置に対して一定位置にある、
ことを特徴とする顔画像処理システム。
【請求項１５】
１つ又はそれより多いプロセッサと、
１つ又はそれより多いコンピュータ読み取り可能媒体と、
前記１つ又はそれより多いコンピュータ読み取り可能媒体上のコンピュータ読み取り可能な指令であって、前記１つ又はそれより多いプロセッサによって実行されたとき、前記１つ又はそれより多いプロセッサに、以下の方法、即ち、
複数の異なる光源で１つの顔を照射するステップであって、少なくとも１つの光源が偏光されるステップと、
前記照射からレンジマップデータを測定するステップと、
汎用顔テンプレートをレンジマップデータに適用して、レンジマップデータに関連するノイズを拒絶するステップと、
前記照射からイメージデータを測定するステップと、
前記レンジマップデータから３次元面を導出ステップと、
前記３次元面に対する面法線を計算するステップと、
前記面法線および前記イメージデータを処理してアルベドマップを計算するステップと、
を実行させる指令を有するコンピュータ読み取り可能な指令と、
を備え、
前記アルベドマップが、特殊タイプのテキスチャマップであり、当該特殊タイプのテキスチャマップでは、各サンプルが、顔の３Ｄ面の記述に加えて、面上の特定ポイントにおける顔面の拡散反射率を記述するものであり、
前記光源が、静止した測定装置に対して一定位置にある、
顔画像処理システム。
【請求項１６】
請求項１５に記載のシステムにおいて、少なくとも１つの光源は赤外線光の光源であることを特徴とするシステム。
【請求項１７】
請求項１５に記載のシステムにおいて、前記複数の光源は周波数が異なることを特徴とするシステム。
【請求項１８】
１つ１つ又はそれより多いプロセッサと、
１つ又はそれより多いコンピュータ読み取り可能媒体と、
前記１つ又はそれより多いコンピュータ読み取り可能媒体上のコンピュータ読み取り可能な指令であって、前記１つ又はそれより多いプロセッサによって実行されたとき、前記１つ又はそれより多いプロセッサに、以下の方法、即ち、
複数の異なる光源で１つの顔を照射するステップであって、全ての光源が偏光されるステップと、
前記照射からレンジマップデータを測定するステップと、
汎用顔テンプレートをレンジマップデータに適用して、レンジマップデータに関連するノイズを拒絶するステップと、
前記照射からイメージデータを測定するステップと、
前記レンジマップデータから３次元面を導出ステップと、
前記３次元面に対する面法線を計算するステップと、
前記面法線および前記イメージデータを処理してアルベドマップを計算するステップと、
を実行させるプログラムを記録した記録媒体と、
を有し、
前記アルベドマップが、特殊タイプのテキスチャマップであり、当該特殊タイプのテキスチャマップでは、各サンプルが、顔の３Ｄ面の記述に加えて、面上の特定ポイントにおける顔面の拡散反射率を記述するものであり、
前記光源が、静止した測定装置に対して一定位置にある、
ことを特徴とする顔画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、顔をリアルにアニメーション化するためのモデリングとレンダリングの方法およびシステムに関する。具体的には、本発明は顔画像処理のための方法およびシステムに関する。
【背景技術】
【０００２】
コンピュータグラフィックスの分野では、さまざまなオブジェクトをレンダリングして、そのオブジェクトがユーザのためにコンピュータディスプレイから表示される。例えば、コンピュータゲームでは、コンピュータオブジェクトを生成し、レンダリングしてコンピュータモニタやテレビジョンに表示するためのコンピュータグラフィックスアプリケーションを含むことが代表的である。リアル感のある画像のモデリングとレンダリングは、コンピュータグラフィックス分野に従事するものにとっては、絶え間のない努力目標となっている。コンピュータグラフィックス分野で特に努力目標となっている分野は、リアル感のある顔画像をレンダリングすることである。１つの例として、ある特定のコンピュータグラフィックスアプリケーションでは、会話に参加している個人の表示をレンダリングすることが行われている。よく見られることは、この個人の、最終的にレンダリングされた画像はコンピュータでレンダリングされた画像であり、現実の個人とはしばしば大幅に異なっている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
リアル感のある顔と顔表情をモデリングし、レンダリングすることは、特に２つの理由で困難な作業となっている。１つは、人間の皮膚が、現在利用可能である、種々のシェーディングモデルでモデリングするのに不適切な反射率特性をもっているからである。例えば、周知のPhongモデルは、人間の皮膚をモデリングするには不十分である。もう１つは、顔表情をレンダリングするとき、「リアルな」顔の動きとして感知されるものと若干でもずれがあると、そのずれは、無頓着な観察者でさえも、正しくないものとして感知されるからである。現存の、顔の動き取り込み（キャプチャ）システムを使用すると、かなり説得力のある顔アニメーションを作成することができるが、取り込まれた動きは、別の顔に適用されたときは、その説得力がはるかに低下し、非常に奇異になることがよく起こっている。例えば、ある人物からその顔の動きのサンプリングをとれば、個々の顔の動きをアニメーション化することは、その動きの元となった顔が同じ顔であることを考慮すれば、困難ではない。その結果、ある表情と別の表情の間で同じか、あるいは非常に類似している動きの特徴が得られることになる。しかし、この人物の顔の動きを別の人物の顔に変換することは、この２つの顔の間には固有の差異（例えば、顔のサイズと形状）があるため、説得力に欠けることがよく起こっている。
【０００４】
従って、本発明は、人間の皮膚のテクスチャと反射率をモデリングするための改良システムと方法を提供することを課題にしてなされたものである。また、本発明は、ある人物の顔の動きを別人物の顔の動きに変換することによって、顔の動きの取り込み（キャプチャ）データを再使用するためのシステムと方法を提供することを課題にしてなされたものである。
【課題を解決するための手段】
【０００５】
以下に図示し、説明している実施形態では、３次元 (3-D) 顔つきを記述しているデータを取り込んで、顔の動きを、ある個人から別の個人にリアルに変換し、皮膚の反射率を
モデリングするための、新規な手法が提案されている。
【０００６】
ここで説明している実施形態では、人間の被写体が用意され、被写体の顔を照射するために複数の異なる光源が利用されている。複数の光源の中の１つは、被写体の顔の上にパターンを投影する構造化光源 (structured light source)である。この構造化光源により１つまたは２つ以上のカメラが、被写体の３−Ｄの顔つきを記述しているデータを取り込むことが可能となる。他の光源がさらにもう１つ用意されているが、これは被写体の顔を照射するために使用されるものである。この他の１つの光源により被写体の顔の種々反射率特性 (reflectance properties) を確認する。また、この他方の光源は偏光フィルタ (polarizing filter) と併用されて、顔の反射率の鏡面反射成分(specular component) が除去される。すなわち、拡散反射成分 (diffuse component) だけがカメラによって取り込まれる。複数の異なる光源を使用すると、顔の構造特性と反射率特性の両方を、同時に確認することが可能になる。光源の選択を慎重に行うと、例えば、光源をナローバンドにし、整合ナローバンドフィルタ (matching narrowband filter) をカメラで使用すると、周囲照明源の影響を除去することが可能になる。
【０００７】
ここで説明している照明プロセスの結果として、２つの有用なアイテムが得られる。すなわち、
(1) レンジマップ（またはデプスマップ(depth map)）と、
(2)構造化光源のパターンがそこに投影されていない顔の画像である。
【０００８】
3D面がレンジマップから導き出され、3D面に対する面法線 (surface normal) が計算される。3D面を定義するためにレンジマップを処理するとき、その処理にオプションとしてのフィルタリングステップを含めておくと、汎用顔テンプレート (generic face template) がレンジマップと結合され、不要なノイズが拒絶されることになる。
【０００９】
計算された面法線と顔の画像は、アルベドマップ (albedo map) を導き出すために使用される。アルベドマップは特殊タイプのテキスチャマップ (texture map) であり、そこでは、各サンプルは、面上の特定ポイント（点）における顔面の拡散反射率を記述している。従って、プロセスのこの時点で、顔の3D面（つまり、面法線）を記述している情報と、顔の反射率（つまり、アルベドマップ）を記述している情報は確認されていることになる。
【００１０】
ある実施形態では、照明プロセスで得られた情報またはデータは、ある人物の顔の表情を、別人物の顔の表情に変換するために使用される。この実施形態では、コードブック (code book) の考え方が取り入れられ、使用されている。
【００１１】
コードブックは、別人物（人物A）の、多数の汎用表情 (generic expressions) を記述しているデータを収めている。１つの目標は、コードブックの表情を取り出し、その表情を使用して別人物（人物B）の表情を変換することである。これを行うために、本発明による方法では、人物Bを使用してトレーニング 表情(training expressions)の 集合を作成している。トレーニング表情は、コードブックに存在する表情の集合から構成されている。トレーニング表情および各表情に対応するコードブック表情を使用すると、変換関数
(transformation function) が導き出される。この変換関数は、人物Bの表情に合致しているはずの合成表情の集合 (a set of synthetic expressions) を導き出すために使用される。すなわち、変換関数が導き出されると、これはコードブック内の表情の各々に適用され、コードブック表情が人物Bの表情に合致するようにされる。従って、トレーニング集合の中に存在しない可能性のある、新しい表情が、例えば、人物Bから受信されたときは、合成コードブック表情をサーチすれば、人物Bの表情に最も合致する表情を見付けることができる。
【００１２】
別の実施形態では、顔の表情と動きを、ある顔から別の顔に変換するために使用できる共通顔構造 (common face structure) が定義されている。ここで説明している実施形態では、共通顔構造は、粗メッシュ構造 (coarse mesh structure) または「ベースメッシュ(base mesh)」からなり、これは、ある人物の表情を別の人物の表情に変換するときの基礎として使用される細分面(subdivision surface) を定義している。共通ベースメッシュはすべての顔に対して使用され、２または３以上の顔が対応付けられるようにしている。従って、これによって定義された構造を使用すると、顔の動きをある人物から別人物に適応することが可能になる。この実施形態によれば、細分面を被写体の顔モデルに適応するための手法が用いられている。本発明による手法では、細分面上の、いくつかのポイントは、顔モデル上の対応するポイントに直接的にマッピングされるように定義されている。このことは、起こり得る、あらゆる異なる顔モデルについても同じである。この制約 (constraint) を加えると、ベースメッシュは、異なる顔モデルを同じように適合させる、という特性をもつことになる。さらに、本発明によるアルゴリズムでは、ベースメッシュと顔モデルとが確実に対応づけられるように最小限にされた平滑化汎関数 (smoothing functional) が利用されている。
【００１３】
別の実施形態では、被写体の顔面の反射率を計量化する反射率処理手法が用意されている。反射率を測定するために、本発明による手法では、反射率は拡散反射成分 (diffuse component) と鏡面反射成分 (specular component) に分離され、拡散反射成分の処理が中心になっている。
【００１４】
拡散反射成分を測定するために、アルベドマップ (albedo map) が最初に定義される。このアルベドマップは、カメラと、複数の異なる光源によって照射される被写体とを、最初に用意することによって定義される。光源は偏光フィルタ (polarizing filter) によってフィルタリングされる。このフィルタリングは、偏光フィルタがカメラの前に置かれた偏光フィルタと併用されて、鏡面反射を抑止するか、あるいは鏡面反射が記録されるのを防止することによって行われる。画像シーケンスは、被写体の頭を取り巻くように撮影される。各々の個別画像は、その画像に対応する個別アルベドマップが得られるように処理される。特定の被写体に対するすべてのアルベドマップは、その被写体の顔全体に対して単一のアルベドマップが得られるように結合される。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態を実現する上で使用するのに適している汎用コンピュータを示すブロック図である。
【図２】被写体の顔の構造情報と反射率情報とを同時に取り込むために利用できるシステムを示す構成図である。
【図３】本発明の実施形態に従って構造情報と反射率情報を取り込むための例示方法を記載しているフローチャートである。
【図４】本発明の実施形態による例示コードブックと変換関数を示す説明図である。
【図５】本発明の実施形態による表情変換プロセスを示すフローチャートである。
【図６】本発明の実施形態のある種の原理が採用可能である例示システムを示すブロック図である。
【図７】（Ａ）〜（Ｃ）は本発明の実施形態による例示表情変換を示す例示カラープレートのコレクションを示す図である。
【図８】同一細分制御メッシュを、顔が異なるごとに変位された細分面にマッピングするプロセスを示す図である。
【図９】（Ａ）および（Ｂ）は面適合過程で特徴の対応づけを行うために利用される例示制約を示す図である。
【図１０】本発明の実施形態による面適合方法のステップを記載しているフローチャートである。
【図１１】本発明の実施形態に従って顔のアルベドマップを作るために採用できる例示システムを示す構成図である。
【図１２】（Ａ）および（Ｂ）はテクスチャ空間内に投影され、照明が補正された２つの写真の例示アルベドマップを示す図である。
【図１３】（Ａ）および（Ｂ）は図１２に示す写真に対応する例示重み付け関数を示す図である。
【図１４】（Ａ）および（Ｂ）は２つの異なるデータセットに対する２つの完全アルベドマップを示す図である。
【図１５】（Ａ）および（Ｂ）は編集したあとの図１４のアルベドマップを示す図である。
【図１６】（Ａ）〜（Ｃ）は異なる照明条件の下で異なる向きにレンダリングされた顔モデルのコレクションを示す図である。
【図１７】（Ａ）〜（Ｃ）は異なる照明条件の下で異なる向きにレンダリングされた顔モデルのコレクションを示す図である。
【図１８】（Ａ）〜（Ｃ）は異なる照明条件の下で異なる向きにレンダリングされた顔モデルのコレクションを示す図である。
【図１９】本発明の実施形態に従ってアルベドマップを作成するための方法のステップを記載しているフローチャートである。
【図２０】本発明の実施形態に従ってシングルピクセルのアルベドを計算するための方法のステップを記載しているフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００１７】
概要
リアル感のある顔と顔表情をレンダリングするには、皮膚の反射率と顔の動きを非常に正確なモデルで表す必要がある。以下では、ジオメトリ、動きおよび反射率に関する測定データを使用して、顔をモデリングし、アニメーション化し、レンダリングして特定人物の顔の外観と顔表情をリアルに再現するための方法および手法が説明されている。ジオメトリと双方向反射率を含んでいる完全モデルが構築されるので、どのような照明条件と表示条件においても、顔をレンダリングすることができる。以下に説明するモデリングシステムと方法では、異なる顔間が対応付けられた構造化顔モデル (structured face model)
が構築され、この顔モデルは、さまざまな顔のアニメーション操作の基礎となっている。
【００１８】
本発明による実施形態は、以下に説明するように、顔モデリングプロセスを構成する各部分と係わりをもっている。ジオメトリの表現を構造化し、統一化することによって、そのジオメトリ表現を顔モデルの基礎とし、多くの以後の顔モデリングとレンダリング操作の基礎となるようにするために、本発明の実施形態では、従来の面適合手法 (surface fitting technique) を拡張し、汎用の顔(generic face) が異なる個人の顔に合致させるようにしている。リアル感のある反射率モデルを構築するために、最初に、最近の皮膚反射率測定が使用されるが、これは公知で実用化されている。さらに、改良されたテクスチャ取り込みプロセス (texture capture process) を使用して、新規に測定された拡散テキスチャマップが付加されている。汎用メッシュ (generic mesh) をアニメーション化するために、改良された手法が使用され、高品質レンダリングに適した面形状が得られるようにしている。
【００１９】
例示コンピュータシステム
予備知識として、図１に、ここで説明している実施形態で使用できるデスクトップコンピュータ１３０の例の概要を示す。分散コンピューティング環境の状況下では、図示のようなコンピュータはさまざまなものが使用可能である。これらのコンピュータは、以下に記載されている説明に従ってグラフィックスをレンダリングし、画像（イメージ）を処理するために使用することができる。
【００２０】
コンピュータ１３０は、１つまたは２つ以上のプロセッサまたは処理ユニット１３２、システムメモリ１３４、およびバス１３６、すなわち、システムメモリ１３４を含む種々のシステムコンポーネントをプロセッサ１３２に結合しているバス１３６を含んでいる。バス１３６は、数種タイプのバス構造のいずれか１つまたは２つ以上で表されているが、この中には、さまざまなバスアーキテクチャを採用したメモリバスまたはメモリコントローラ、ペリフェラルバス、高速グラフィックスポート、およびプロセッサまたはローカルバスが含まれている。システムメモリ１３４としては、リードオンリメモリ (read only memory - ROM) １３８とランダムアクセスメモリ(random access memory - RAM) １４０がある。基本入出力システム (basic input/output system - BIOS) １４２は、スタートアップ時のときのように、コンピュータ内のエレメント間の情報転送を支援する基本ルーチンで構成され、ROM １３８に格納されている。
【００２１】
コンピュータ１３０は、さらに、ハードディスク（図示せず）との間で読み書きするハードディスクドライブ１４４、取り外し可能ディスク１４８との間で読み書きする磁気ディスクドライブ１４６、CD-ROMや他の光媒体のような、取り外し可能光ディスク１５２との間で読み書きする光ディスクドライブ１５０を装備している。ハードディスクドライブ１４４、磁気ディスクドライブ１４６、および光ディスクドライブ１５０は、SCSIインタフェース１５４または他の、ある種の該当ペリフェラルインタフェースを通してバス１３６に接続されている。これらのドライブおよびその関連コンピュータ読取可能媒体は不揮発性ストレージとして、コンピュータ読取可能命令、データ構造、プログラムモジュールおよび他のデータを、コンピュータ１３０のために格納している。ここで説明している例示環境では、ハードディスク、取り外し可能磁気ディスク１４８および取り外し可能光ディスク１５２が採用されているが、当業者ならば理解されるように、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ランダムアクセスメモリ (RAM)、リードオンリメモリ (ROM)などのように、コンピュータがアクセスできるデータを格納しておくことができる、他のタイプのコンピュータ読取可能媒体を、例示の動作環境で使用することも可能である。
【００２２】
いくつかのプログラムモジュールは、ハードディスク１４４、磁気ディスク１４８、光ディスク１５２、ROM １３８またはRAM １４０に格納しておくことが可能であり、その中には、オペレーティングシステム１５８、１または２以上のアプリケーションプログラム１６０、他のプログラムモジュール１６２、およびプログラムデータ１６４が含まれている。ユーザは、キーボード１６６やポインティングデバイス１６８などの入力デバイスを通して、コマンドや情報をコンピュータ１３０に入力することができる。他の入力デバイス（図示せず）として可能なものとして、マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ、１つまたは２つ以上のカメラなどがある。上記および他の入力デバイスは、バス１３６に結合されたインタフェース１７０を通して処理ユニット１３２に接続されている。モニタ１７２または他のタイプのディスプレイデバイスも、ビデオアダプタ１７４などのインタフェースを介してバス１３６に接続されている。モニタのほかに、パーソナルコンピュータは、スピーカやプリンタのような、他の周辺出力デバイス（図示せず）を装備しているのが代表的である。
【００２３】
コンピュータ１３０は、リモートコンピュータ１７６のような、１つまたは２つ以上のリモートコンピュータとの論理コネクションを使用するネットワーキング環境で動作するのが通常である。リモートコンピュータ１７６としては、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイスまたは他の共通ネットワークノードにすることが可能であり、図１にはメモリストレージデバイス１７８だけが示されているが、コンピュータ１３０に関連して上述したエレメントの多くまたはすべてを装備しているのが代表的である。図１に示す論理コネクションとしては、ローカルエリアネットワーク (local area network - LAN) １８０と広域ネットワーク(wide area network - WAN) １８２がある。この種のネットワーキング環境は、オフィス、企業内コンピュータネットワーク、イントラネット、およびインターネット (the Internet) ではありふれた存在になっている。
【００２４】
LANネットワーキング環境で使用されるときは、コンピュータ１３０は、ネットワークインタフェースまたはアダプタ１８４を通してローカルネットワーク１８０に接続されている。WANネットワーキング環境で使用されるときは、コンピュータ１３０は、インターネットのような、広域ネットワーク１８２上のコミュニケーションを確立するために、モデム１８６またはネットワークインタフェースのような他の手段を装備しているのが代表的である。モデム１８６は内蔵型と外付け型があり、どちらも、シリアルポートインタフェース１５６を介してバス１３６に接続されている。ネットワーキング環境では、パーソナルコンピュータ１３０に関連して上述したプログラムモジュールまたはその一部は、リモートメモリストレージデバイスに置いておくことが可能である。当然に理解されるように、図示のネットワークコネクションは例示であり、コンピュータ間の通信リンクを確立する他の手段を使用することも可能である。
【００２５】
一般的に、コンピュータ１３０のデータプロセッサは、コンピュータの種々コンピュータ読取可能媒体に、それぞれ時間を異にして格納されている命令によってプログラムされている。プログラムとオペレーティングシステムは、例えば、フロッピディスクやCD-ROM上に分散化されているのが代表的である。プログラムとオペレーティングシステムは、フロッピディスクやCD-ROMからコンピュータの二次メモリにインストールまたはロードされる。実行時には、プログラムとオペレーティングシステムは、少なくともその一部が、コンピュータの一次エレクトロニックメモリにロードされる。ここで説明している本発明によれば、マイクロプロセッサまたは他のデータプロセッサに関連して以下に説明されているステップを実現するための命令またはプログラムは、上述したタイプまたは他の種々タイプのコンピュータ読取可能記憶媒体に格納されている。また、本発明によれば、コンピュータ自体は、以下に説明されている方法および手法に従ってプログラムされている。
【００２６】
説明の便宜上、オペレーティングシステムのように、プログラムや他の実行可能プログラムコンポーネントは、ここでは離散的ブロックとして示されているが、当然に理解されるように、これらのプログラムとコンポーネントは、時期を異にしてコンピュータの異種ストレージコンポーネントに置かれていて、コンピュータのデータプロセッサによって実行される。
【００２７】
顔面の構造と特性を取り込むための例示システム
従来は、取り込みシステム(capturing system) は、顔全体の顔構造と反射率特性の両方を、相互から独立して同時に取り込むことができなかった。例えば、構造化光 (structured light) を使用して顔の構造を取り込むシステムが存在しているが、これらのシステムは、反射率 (reflectance) のような、顔の特性を取り込んでいない。同様に、顔の反射率を取り込むシステムが存在しているが、これらのシステムは、顔の構造を取り込んでいない。顔の構造と反射率を、相互に独立して同時に取り込むことができると、収集したデータに別の操作を加え、さまざまな顔レンダリングとアニメーション化操作に役立てることが可能になる。以下では、例示レンダリング操作の一具体例が説明されているが、当然に理解されるように、下述しているシステムと方法の結果として得られる情報またはデータは、他のさまざまな分野で利用することが可能である。例えば、アプリケーション分野としては、セキュリティやパーソナルユーザ間のやりとり、などを目的とした顔の認識、ゲーム、ムービ（映画、動画）などのアニメーションを目的としたリアル感のある顔モデルの構築、およびユーザが自分の顔を容易に取り込んで、インタラクティブエンターテイメントやビジネスコミュニケーションで使用できるようにすること、などがある。
【００２８】
図２は、被写体の顔の顔構造と反射率特性を同時に取り込む上で、使用するのに適している例示システム２００を示す。この例示システムは、１つまたは２つ以上のカメラの形体をしたデータ取り込みシステムを装備し、その１つがカメラ２０２として例示されている。カメラ２０２は、CCD画像センサと関連回路を装備し、CCDアレイを動作させ、CCDアレイから画像を読み取り、画像をデジタル形体に変換し、その画像をコンピュータに通知することを可能にしている。また、システムは、複数の光源またはプロジェクタの形体をした顔照明システム (facial illumination system) も装備している。複数のカメラが使用される場合には、これらのカメラは、時間的に同時取り込みを可能にするようにジェンロック (genlock) されている。図示の例では、２つの光源２０４、２０６が利用されている。光源２０４は、望ましくは、被写体の顔の上に投影される構造化パターン(structured pattern) を出力する。光源２０４は、適当なロケーションであれば、どこにでも置くことが可能になっている。このパターンは、被写体の顔の3D形状に関する構造情報またはデータを、カメラ２０２で取り込むことを可能にしている。赤外線領域の光で構成されたパターンを採用すると有利であるが、適当な光源であれば、どの光源でも使用可能である。光源２０６は、望ましくは、顔の反射率特性の拡散反射成分をカメラ２０２で取り込めるようにする光を出力する。光源２０６は、例えば、ビームスプリット (beam splitting) 手法でカメラのレンズ２０２ａと同列に置いておくと有利であるが、適当なロケーションであれば、どこにでも置くことが可能である。この光源は、カメラのレンズを取り囲むように適応させることも可能である。また、この光源は、反射率の鏡面反射成分 (specular component) が抑止または除去されるように選択されている。図示の例では、線形偏光フィルタ (linear polarizing filter)は偏光照明を得るために採用され、別の偏光フィルタは前記線形偏光フィルタに直交する向きになっていて、レンズ２０２ａの前に置かれているため、顔からの鏡面反射がカメラによって記録されないようにしている。上述した照明システムは、異なる周波数の光源、例えば、カメラの赤と緑チャネルに対応する光源を使用してシミュレートされている。なお、これらのチャネルは、どちらも赤外線領域にすることが可能である。さらに、光源がナローバンド（例えば、780-880 nm）になるように選択すると、周囲光の影響を除去することができる。この特性が達成されるのは、カメラもナローバンドになるようにフィルタリングされるときだけである。光源からの照明
はナローバンドの波長に集中されるのに対し、周囲光はブロードレンジの波長にわたって拡散されるので、光源からの光は、上記のような波長のときの周囲光よりも強力になる。カメラは、光源から放出された波長だけを記録するようにフィルタリングされるので、周囲光による影響を受けることはほとんどない。その結果、カメラは、選択された光源が被写体に及ぼす影響だけを検出することになる。
【００２９】
複数の異なる光源を使用すると、具体的には、赤外線光源を偏光光源（これも赤外線光源にすることが可能である）と併用すると、カメラは、顔に関する構造情報またはデータ（光源２０４からの）と顔に関する反射率情報またはデータ（光源２０６からの）を、相互に独立して同時に取り込むことが可能になる。構造情報は顔の3次元様相を記述しているのに対し、反射率情報は顔の拡散反射率特性を記述している。この情報は、コンピュータ２０８などの、コンピュータ化画像プロセッサによって処理されると、以後の顔アニメーション操作で使用できる情報またはデータが得られることになる。以下で説明する例では、この情報は3次元データ（3Dデータ）とアルベドマップ (albedo map) を含んでいる。
【００３０】
図３は、ここで説明する実施形態による方法のステップを記載しているフローチャートである。ここで説明する方法によれば、顔の構造と反射率特性に関する情報またはデータは、同時に収集し、処理することが可能になっている。ステップ３００で、被写体の顔は複数の異なる光源で照射される。このステップを実現する例示システムは図２に示されている。なお、図示の例では、２つの例示光源が利用されているが、当然に理解されるように、他の複数の光源を使用することも可能である。
ステップ３０２で、ステップ３００の照射からレンジマップデータ（デプスマップデータ）と画像データが測定される。
【００３１】
すなわち、ステップ３００の照射により、カメラは光反射率を検出することが可能になり、この光反射率は、レンジマップデータと、そこに構造光源パターンを含んでいない画像データ（つまり、反射率）の両方を得るために利用されることになる。
【００３２】
レンジマップデータと画像データはコンピュータ２０８（図２）に渡され、そこで処理される。この時点で、ステップ３０４で、汎用顔テンプレート (generic face template)をレンジマップデータに適用すると、レンジマップデータに関連して生じている種々のノイズを除去することができるが、これはオプションである。汎用顔テンプレートは、レンジマップデータに含まれるノイズを除去する3Dフィルタと考えることができる。汎用顔テンプレートは、この分野の精通者に自明のものである。
【００３３】
ステップ３０６で、レンジマップデータが使用され、3D面が導き出され、あるいは計算される。適当なアルゴリズムであれば、どのアルゴリズムでも使用可能であり、これは、この分野の精通者に自明のものである。アルゴリズムの例としては、次の論文に記載されているものがある。すなわち、Turk & Levoy著「レンジ画像からのジッパドポリゴンメッシュ(Zippered Polygon Meshes)」(SIGGRAPH94)、およびF. Bernardini、J. Mittleman、H. Rushmeier、C. Silva、G. Taubin共著「面再構築のためのボールビボッティングアルゴリズム(The Ball-Pivoting Algorithm)」(Trans. Vis. Comp. Graph. 5:4 (1999)) である。ステップ３０８で、ステップ３０６の3D面に対する面法線ベクトル（「面法線」）が、公知のアルゴリズムを使用して計算される。このタスクを実行する１つの方法は、三角形に対する法線を計算し、各頂点周りの三角形法線の平均をとって、頂点法線を作り、頂点法線を各三角形の内部を横切るように補間することである。当然のことであるが、他の方法を利用することも可能である。次に、ステップ３１０で、ステップ３０８で計算された面法線とステップ３０２の画像データが使用されて、アルベドマップが導き出される。アルベドとは、特殊タイプのテキスチャマップであり、そこでは、各サンプルは、顔面
上の特定ポイントでの顔面の拡散反射率を記述している。アルベドマップの導出は、上記に示した情報が与えられていれば、この分野の精通者には自明のものである。例示のアルゴリズムは、Marschner著「コンピュータグラフィックスの逆レンダリング(Inverse Rendering for Computer Graphics)」(PhD thesis, Cornel University, August 1998) に記載されている。
【００３４】
この時点で、図２に示すように、照明処理の結果として、被写体の顔の構造特徴を記述している3Dデータと、画面の拡散反射率を記述しているアルベドマップデータとが得られている。
【００３５】
上記照明処理は、記述されている情報を抽出するために使用できるので、抽出した情報は適当な目的のために使用することができる。特に利点のある実施形態では、抽出された情報は、被写体の表情を抽出し、認識するために利用されている。この情報は、表情変換のために使用できる。すぐあとで説明されている、本発明による実施形態では、ある人物の表情は、別人物の表情を、リアル感をもって変換するために使用することができる。
【００３６】
コードブックの使用による表情変換
ある表情変換実施形態では、コードブック (code book) の考え方が取り入れられ、以下に説明されている表情変換操作で利用されている。図４は、ある人物から取り込まれた多数の、異なる表情を収めているコードブック４００の例を示す。これらの表情は、汎用表情 (generic expressions)、つまり、特定の個人からではなく、汎用的人物からの表情と考えることができる。この例では、表情は、表情１から表情Nまでの範囲を有する。表情１は、例えば、「スマイル」であり、表情２は「しかめ面」にであり、表情３は「怒り」の表情である。以下、同様である。コードブック４００に収められている表情は、数学的には、それらのジオメトリの形で記述されており、すぐ上で説明したプロセスのような、適当な方法で取り込むことが可能である。
【００３７】
表情変換を行うために、コードブック４００内の表情の一部を使用して、変換関数 (transformation function) が最初に導き出される。変換関数を導き出すために、トレーニング表情集合 (training set of expressions) ４０２という考え方が取り入れられている。表情トレーニング集合４０２は、その表情がコードブック４００に記述されている個人とは別の個人から得られる表情の集合で構成されている。トレーニング集合４０２のトレーニング表情は、コードブック表情のサブセット（部分集合）になっている。つまり、トレーニング集合の中の各表情は、コードブック４００の中の表情に対応している。例えば、トレーニング集合４０２は、３つの表情、すなわち、表情１、表情２、および表情３で構成することが可能であり、そこでは、表情は、それぞれ「スマイル」、「しかめ面」および「怒り」になっている。変換関数の目標は、トレーニング集合の表情に関連付けられたジオメトリック変形を受け取り、そのジオメトリック変形をコードブック４００の表情のすべてに適用して、コードブック表情がリアル感のある表情表現となるようにすることである。すなわち、各人物の顔は、どの任意の表情についても、ジオメトリが異なった変形の仕方をするものと考えられる。ある表情のときの、ある人物のジオメトリックな顔の変形が、表情をレンダリングする目的で別人物の顔に単純に適用されると、その変形が適用された顔は、非常にゆがんだように見えることになる。このようなことが起こるのは、顔のジオメトリが異なるだけでなく、顔と顔の間のように顔の変形が異なるためである。従って、ある表情集合から別の表情集合への最良変換が得られるような変換関数が導き出されている。
【００３８】
図４に戻って説明すると、図４には、線形変換プロセッサ４０６が示されている。この変換プロセッサ４０６は、適当なハードウェア、ソフトウェア、ファームウェア、あるいはこれらの組み合わせで実現することが可能である。図示の例では、線形変換プロセッサ
４０６はソフトウェアで実現されている。線形変換プロセッサはトレーニング表情集合４０２と、対応するコードブック表情４０４とを入力として受け取る。変換プロセッサはこれらの入力を処理して、変換関数４０８を導き出す。この変換関数４０８を、コードブック４００内の表情のすべてに適用すると、合成表情集合 (synthesized set of expressions) が得られる。この合成表情集合は、トレーニング表情集合が得られた人物の表情に関連するジオメトリック変形によって操作された、コードブックの表情を表している。
【００３９】
表情が同じであるときの顔の変位は、次の２つの理由で異なる人物では同じになっていない。その１つは、動き取り込みサンプルポイント（この具体例では、この特定アルゴリズムによると、顔の動きがどのように表現できるかを示している）は、位置に誤差があると、正確に一致しないからである。もう１つは、頭の形状とサイズは人物と人物の間で変化するからである。
【００４０】
第１の不一致は、すべての顔の動き取り込み変位データを、汎用メッシュ上の一定位置集合で再サンプリングすることによって解消することができる。これについては、以下の「顔モデルを構築するための例示システムと方法」の個所に詳しく説明されている。そこでは、一定位置集合は「標準サンプル位置(standardsample positions)」と呼ばれている。再サンプリング関数はメッシュ変形関数(mesh deformation function) である。標準サンプル位置は、一度細分化された汎用メッシュの頂点に対応する、顔メッシュの頂点である。
【００４１】
第２の不一致では、ある顔から別の顔へ変位データを変換し、顔のサイズと形状の変化を補償する必要がある。図示の例では、これは、２つのデータセットについて対応する表情の小さなトレーニング集合を見付けたあと、一方から他方への最良線形変換を見付けることによって行われる。１つの例として、次の場合を考えてみる。すなわち、実験的環境では、感情を表す表情は、複数の表情のさまざまな強さを含む、４９個の対応する表情に対して手作業でラベルが付けられていた。音声の動きについては、１０，０００フレームは、時間歪曲 (time warping) 手法を用いて自動的にアライメントされていた。
【００４２】
各表情は、m個の標準サンプル位置でのx, y, z変位のすべてを含んでいる3mベクトルgによって表されている。変換される顔のn個の表情ベクトル集合をga1..nとし、ターゲット顔の対応するベクトル集合をgb1...nとすると、線形予測子 (linear predictors) 集合ajは、下に示す3m線形最小二乗システムの解を求めることによって、gnの座標ごとに１つずつ計算される。
【００４３】
【数１】
2011170891.tif 000003
【００４４】
図示の例では、各gajのポイントは小さなサブセットだけが使用されている。具体的には、標準サンプルポイントとエッジを共有するポイントだけが考慮の対象になっている。使用されたメッシュでは、平均価 (average valence) は約6であるので、代表的なgajは18要素になっている。その結果のシステムは大体n x 18である。
【００４５】
結果の線形システムは条件付けが十分でない場合があり、その場合には、線形予測子ajは良好に概念化されない。特異値 (singular value) の拡散は、擬似逆関数 (pseudoinverse) を計算して、ajの解を求めるとき制御されるので、概念化が大幅に改善される。ασ1未満の特異値はすべてゼロにされる。ただし、σ1はマトリックスの最大特異値であり、α = 0.2,...0.1である。
【００４６】
図５は、ここで説明している実施形態による表情変換方法のステップを記載しているフローチャートである。ステップ５００で、表情のコードブックが用意される。この種のコードブックの例は上に示されている。ステップ５０２で、トレーニング表情集合が用意される。代表例として、このトレーニング集合は、コードブック表情が得られた人物とは異なる人物からの表情の集合になっている。トレーニング表情集合は、適切であれば、どの方法によっても取り込むことができる。１つの例として、表情は、図２に示すようなシステムを使用して取り込むことができる。トレーニング表情集合が用意されたあと、ステップ５０４で、トレーニング集合とコードブックを使用して変換関数が導き出される。この作業を行う１つの方法例は、上述した通りである。当然のことであるが、本発明の精神と範囲を逸脱しない限り、他の方法を使用することも可能である。例えば、ニューラルネットワーク (neural network) などの、種々の非線形変換を使用することも、基礎表情(basis expressions) の加重和を使用することも可能である。変換関数が導き出されると、これはコードブック内の表情のすべてに適用され、以後の顔アニメーション操作の基礎として利用できる合成表情集合が得られ、あるいは定義される。
【００４７】
例示のアプリケーション
図６はシステム６００を示す。そこには、上述した表情変換プロセスをどのように採り入れるかが、１つの例で示されている。システム６００は送信側コンピューティングシステム、つまり、トランスミッタ６０２と、受信側コンピューティングシステム、つまり、レシーバ６０４とを含み、これらは、インターネット(the Internet) などのネットワーク６０３を介して通信するように接続されている。トランスミッタ６０２は照明システム２００（図２）を含み、これは、図２を参照して上述したように、ある人物の表情を取り込むように構成されている。さらに、トランスミッタ６０２は、図４を参照して上述したものと同じような、コードブック４００を含んでいる。なお、ここでは、コードブックは、上述したように合成表情集合に合成されているものとする。すなわち、照明システム２００が取り込んだ表情をもつ人物から得られたトレーニング表情集合を使用して、コードブックが処理され、合成表情集合が得られている。
【００４８】
レシーバ６０４は再構築モジュール６０６を含み、これは、トランスミッタ６０２から受信したデータから顔画像を再構築するように構成されている。また、レシーバ６０４は、トランスミッタ６０２側のそれと同じコードブック４００を含んでいる。ここでは、トランスミッタ６０２側にいる人物が、レシーバ６０４側にいる人物と通信しようとしている。トランスミッタ６０２側にいる人物が通信のために顔を動かすと、その顔表情と動きはトランスミッタ６０２によって取り込まれ、処理される。この処理には、顔表情を取り込み、合成コードブックをサーチして、コードブックの中で最も近似している合致表情を見付けることを含めることが可能である。合致する表情が合成コードブックの中で見つかると、その表情のインデックスがレシーバ６０４に送られ、アニメーション化された顔が再構築モジュール６０６を使用して再構築される。
【００４９】
例示の顔変換
図７は、ここで説明している実施形態による表情変換のいくつかの効果を示す図である。１行目の絵（Ａ）は、第１人物（人物A）の合成顔を構成しており、そこには３つの異なる表情が示されている。これらの絵は、人物Aの取り込まれた顔の動きの結果である。第２人物（人物B）の顔の動きは、すでに取り込まれている。人物Bの取り込まれた顔の動きは３行目（Ｃ）に示されている。ここでは、3D動きデータは、いくつかのカラードットを人物の顔の上に置き、人物の顔が変形されたときドットの動きを測定することによって取り込まれているが、このことは、この分野の精通者ならば当然に理解されるものである。なお、顔の動きは、上述したシステムと方法によって取り込むことができる。人物Bの取り込まれた動きは、上述したように使用されて、人物Aの表情が変換されている。この操作の結果は、２行目に示されている。これら３セットの絵の表情は、すべて相互に一致
している。同図に示すように、１行目（Ａ）と２行目（Ｂ）の表情は、非常に異なる２人物から導き出されたとしても、非常に類似しているのに対し、第２人物（３行目（Ｃ））のオリジナル表情は、１行目（Ａ）と２行目（Ｂ）の表情とは全体的に類似していない。
【００５０】
顔モデルを構築するための例示システムと方法
リアル感のある画像を作るために必要とされる顔のモデルは、２つの部分からなっている。モデルの第１部分は、顔のジオメトリ（つまり、顔面の形状）に関係している。他方、モデルの第２部分は、顔の反射率（つまり、顔のカラーと反射特性）に関係している。このセクションでは、このモデルの第１部分、つまり、顔のジオメトリについて説明する。
【００５１】
顔のジオメトリは、皮膚面に、目を表す別の面を加えたものから構成されている。この例では、皮膚面は、頭をレーザレンジでスキャンすることによって導き出され、変位マップをもつ細分面で表されている。目は別モデルであり、これは皮膚面と位置合わせされ、マージされて、高品質レンダリングに適した完全顔モデルが得られている。
【００５２】
メッシュ適合
顔モデルを構築する第１ステップでは、レーザレンジスキャナで測定されたジオメトリに密接に近似する細分面が作成される。図示の例では、細分面は、Loopの細分ルールを使用して粗三角メッシュから定義されている。Loopの細分ルールは、Charles Loop著「三角形に基づく平滑細分面(Smooth Subdivision SurfacesBased on Triangles)」(PhD thesis, University of Utah, August 1987) に詳しく説明されている。さらに、細分面は、Hoppe他著「区分平滑面再構築(Piecewise smooth surface reconstruction)」(Computer Graphics (SIGGRAPH '94 Proceedings) pp. 295-302, July 1994) に記載されているものと類似のシャープエッジを追加して定義されている。なお、不規則なクリーズマスク (crease mask)は使用されていない。さらに、ダーツ(dart) とクリーズ頂点(crease vertex)の間のエッジを細分化するとき、クリーズ頂点に隣接する新エッジだけがシャープエッジとしてマークされている。
【００５３】
すべての顔モデルに対する細分面は、シングルベースメッシュを使用して定義され、頂点位置だけが、各々の異なる顔の形状に適応するように変化している。図示の例では、２２７個の頂点と４１６個の三角形をもつベースメッシュは、顔の全体形状をもち、目と唇付近が詳細化されるように定義されており、そこでは、最も複雑なジオメトリと動きが現れている。口の開きはメッシュの境界になっており、上唇と下唇上の対応する頂点の位置を１つに結ぶことによって、適合プロセス期間は、閉じたままになっている。このベースメッシュには、シャープな細分ルール用にマークされた少数のエッジがあり、これらは、口の開きの両側にコーナを作成し、鼻の両側を折り重ねるときの場所を得るのに役立っている。修正された細分ルールでは、少なくとも３つのシャープエッジのチェインに対してだけクリーズが取り入れられているので、このモデルは表面にクリーズがない。孤立頂点
(isolated vertex) だけは、明確に定義された限界法線 (limit normal) をもつことができないからである。
【００５４】
図８は、この例に従って使用された粗定義メッシュ（中央の図）の例を示す。図８は、この粗メッシュをどのように使用して、同じ細分制御（粗）メッシュを各々の顔の変位細分面にマッピングすると、ある顔と別の顔との間に自然な対応関係が得られるかを示したものである。この側面は、以下に詳しく説明されている。
【００５５】
細分面を各顔に適合させるために使用されるプロセスは、Hoppe他著「区分平滑面再構築(Piecewise smooth surface reconstruction)」(Computer Graphics(SIGGRAPH '94 Proceedings) pp. 295-302, July 1994)に記載されているアルゴリズムに基づいている。Hop
peの面適合法は、基本的には、３つのフェーズからなるものと言うことができる。すなわち、トポロジ型推定（フェーズ１）、メッシュ最適化（フェーズ２）、および区分平滑面最適化（フェーズ３）である。
【００５６】
フェーズ１では、未知の面上または付近に未組織のポイント集合が与えられている、相対的に多数の三角形からなる三角メッシュが構築される。このフェーズでは、面のトポロジ型が判断され、ジオメトリの初期推定が得られる。フェーズ２は、フェーズ１の出力から始まり、三角形の数を減らし、データへの適合を改善する。このアプローチでは、表現の簡潔化と適合の良好化という、相互に競合する目標間のトレードオフを明示的にモデル化するエネルギ関数を最適化することを課題としている。この最適化手順における自由変数としては、メッシュ内の頂点の数、その接続性 (connectivity)、およびその位置がある。フェーズ３は、フェーズ２で得られた最適化メッシュ（区分線形面）から出発し、この場合も、簡潔性とデータへの適合性をトレードオフするエネルギ関数を最適化することによって、正確で、簡潔な区分平滑細分面を適合させる。フェーズ３で最適化が行われると、制御メッシュ内の頂点の数、その接続性、その位置、およびシャープな特徴の数とロケーションが変化する。面におけるシャープな特徴の自動検出と回復は、このフェーズの不可欠な部分となっている。
【００５７】
この実施形態では、処理の仕方が、Hoppe他に記載されているアプローチとは、２つの点で異なっている。第１は、制御メッシュの接続性を変更する必要がないので、連続的最適化は、頂点位置に対してだけ行われることである。さらに、特徴の制約が、平滑化項と共に追加されていることである。
【００５８】
図示の例では、適合プロセスは次の汎関数を最小化する。
【００５９】
【数２】
2011170891.tif 000004
【００６０】
上記において、vはすべての頂点位置のベクトル、pはレンジスキャナからの全データポイントのベクトルである。３つの項の下付き文字は、距離、形状、および制約を表している。距離関数Edは、レンジスキャナポイントから細分面までの和二乗距離 (sum-squared distance) を測定する。
【００６１】
【数３】
2011170891.tif 000005
【００６２】
上記において、piはI番目のレンジポイント、Π(v, pi) は、頂点位置vで定義された細分面上のレンジポイントの投影である。重みaiは、piにおけるスキャナの視点方向がΠ(v, pi) における面法線と一致していないポイントを無視させるブール項である。さらに、面からある距離以上に離れているポイントは拒否される。
【００６３】
【数４】
2011170891.tif 000006
【００６４】
上記において、s(p) は、ポイントpにおけるスキャナの視点に向かう方向、n(x) はポイントxにおける外側に面する面法線である。
【００６５】
平滑関数Esは、制御メッシュをローカルに平坦化させるものである。この関数は、各頂点から隣接頂点の平均までの距離を測定する。
【００６６】
【数５】
2011170891.tif 000007
【００６７】
頂点vkiは、vjの隣接頂点である。
【００６８】
制約関数Ecは、単純には、制約頂点集合から対応するターゲット位置集合までの和二乗距離である。
【００６９】
【数６】
2011170891.tif 000008
【００７０】
上記において、Ajは、j番目の頂点の限界位置を、制御メッシュからとらえて定義し、頂点ciの限界位置が3Dポイントdiに付加されるようにする線形関数である。制約は、最適化変数の再パラメータ化によって厳格に適用することも可能であるが、この制約をソフトにすると、繰り返しが望ましいローカル最小限まで円滑に行われることが判明している。制約は、汎用メッシュの顔特徴を、適合される特定の顔上の、対応する特徴に合致させるためにユーザによって選択される。この例では、約２５乃至３０の制約が使用され、目、鼻、および口に集中している。図９は、９００での細分制御メッシュ（Ａ）の制約と、顔モデル（Ｂ）上の対応するポイントを示す。
【００７１】
E(v) を最小限にすることは、Πとaiがvの線形関数でないので、非線形最小二乗問題である。しかし、aiを一定に保ち、Π(v,pi) を一定の線形的制御頂点の組み合わせによって近似化すると、これを線形問題にすることができる。従って、適合プロセスは、線形最小二乗問題のシーケンスとして進められ、a1および面上のpiの投影は、各繰り返しの前に再計算されることになる。細分限界面は、これらの計算を行うために、特定の細分レベルにあるメッシュによって近似化される。顔を適合することは、少数の繰り返しで行われ（３０未満）、制約は、繰り返しの進行と共に、単純なスケジュールに従って更新されて行く。その更新は高λと低μから始まって、最適化を非常にスムーズな顔の近似化に導いて行き、低λと高μまで進んで行き、最終的解により、データと制約は密接に適合することになる。実際の計算時間は、Π(v,pi)の計算時間によって決まる。
【００７２】
レンダリングのためのメッシュを作るために、面は望ましいレベルまで細分化され、顔の形状にスムーズに近似しているメッシュが得られる。変位は、各々の頂点ごとに、その頂点での面に対するライン法線を、オリジナルスキャンで定義された三角面と交差させることによって計算される。これについては、Lee他著「変位細分面(Displaced Subdivision Surfaces)」(SIGGRAPH '00 Proceedings,July 2000)に説明されている。その結果の面は、オリジナルスキャンの目立った特徴をすべて、若干三角形が少なくなっているメッシュに再現しているが、これは、ベースメッシュは顔の重要な領域の三角形が多くなっているためである。この細分ベースの表現によると、面をパラメータ化したものと、そのパラメータ化で定義された組み込み多重解像基底関数集合 (built-in set of multiresolution basis functions) とが得られることになり、さらに、特徴制約が適合時使用されるため、この方法を使用して適合されるすべての顔にわたって自然の対応関係が得られること
になる。この構造は、顔のアニメーションで利用すると、多くの面で便利である。
【００７３】
図１０は、ここで説明している実施形態に従って顔モデルを構築するための方法のステップを記載しているフローチャートである。この方法は、適当なハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することが可能である。この例では、方法はソフトウェアで実現されている。
【００７４】
ステップ１０００で、１つまたは２つ以上の顔の3Dデータが測定され、対応する顔モデルが得られる。上記の例では、3Dデータは、顔をレーザレンジでスキャンすることによって得られていた。当然に理解されるように、3Dデータは他の方法で得ることも可能である。ステップ１００２で、１つまたは２つ以上の顔モデルに適合するために使用される汎用顔モデルが定義される。当然に理解されるように、汎用顔モデルは、多数の異なる顔に適合するように利用できるという利点がある。従って、このことは、そのようなことが行われていなかった従来の方法に比べて、改良点となっている。上述した例では、汎用顔モデルは、粗三角メッシュ (coarse triangle mesh) の形体をしたメッシュ構造になっている。この三角メッシュは、顔のジオメトリに密接に近似している細分面を定義している。図示の例では、顔モデルのすべてについての細分面は、シングルベースメッシュを使用して定義されている。ステップ１００４で、汎用顔モデル上の個々のポイントまたは制約が選択される。これらの個々のポイントまたは制約は、顔モデル上にマークされた、対応するポイントに直接にマッピングされる。これら個々のポイントのマッピングは、起こり得る多数の、異なる顔モデルの各々について、同じように行われる。ステップ１００６で、汎用顔モデルは１つまたは２つ以上の顔モデルに適合される。このステップは、各々の異なる顔の形状に適応するように、頂点の位置だけを操作することによって行われる。適合プロセス期間には、頂点位置だけにわたって連続的最適化が行われるので、メッシュの連続性が変更されることはない。さらに、この適合プロセスでは、個々のポイントまたは制約が直接に顔モデルにマッピングされる。さらに、平滑項 (smoothing term) が追加され、これは、制御メッシュがローカルに平坦化されるように最小化されている。
【００７５】
目の追加
上述してきた変位細分面は、顔の皮膚面の形状を非常によく表している。しかし、リアル感のある顔を得るために望ましいとされる特徴が、他にもいくつかある。その中で最も重要な特徴が目である。レーザレンジスキャナは目に関する適切な情報を取り込まないので、メッシュは、別々にモデル化された目を追加することによって、レンダリングのために補強されている。顔モデルの他の部分と異なり、目とその動きは、特定の人物から測定されないので、リアルな目の外観を再現するとは限らないようになっている。しかし、目の存在と動きは、顔モデルの全体的外観にとって非常に重要である。
【００７６】
適切な目モデルであれば、その目モデルを使用して目をモデル化することができる。図示の例では、２部分からなるモデルを構築するために、市販のモデリングパッケージが使用されている。第１部分は眼球のモデルであり、第２部分は目回りの皮膚面のモデルであり、その中には、まぶた、眼窩、および周囲顔面部分が含まれている（この第２部分は「眼窩面(orbit surface)」と呼ぶことにする）。目を全体顔モデルの一部にするためには、眼窩面を、モデル化しようとする個人の顔に適合させる必要があり、２つの面を縫い合わせる必要がある。これは２ステップで行われる。最初に、２つのメッシュは、眼窩面上に定義された重み付け関数に従ってゆがみが付けられ、顔と眼窩が重なり合った個所で同時に現れるようにする。次に、２つ面はペアの同心楕円面でカットされ、１つのメッシュになるように縫い合わされる。
【００７７】
なお、上述してきた実施形態の利点のある特徴の１つは、これらの実施形態によると、ある人物の表情を別の人物の表情に変換するために使用できる構造またはフレームワーク
が得られることである。汎用顔モデルを各個人の顔に適合することは、汎用モデルのどの部分も、各人物の顔上の同じ特徴に常にマッピングされるように制約されている。例えば、汎用モデル中の口の左隅は、どの人物の顔でも、その口の左隅に常にマッピングされる。適合顔モデルの集合を利用すると、どの顔においても、ある特定の顔にある特定のポイントに対応するポイントを判断することができる。例えば、人物Aの顔上の口の左隅の動きが測定されたとする。顔Aへの汎用モデルの適合を使用すると、汎用モデルのどのポイントが測定ポイントに対応しているかを判断することができ、次に、顔Bへの汎用モデルの適合を使用すると、Bの顔のどのポイントが汎用モデル上の、計算されたポイントに対応しているか、従って、顔Aの測定ポイントに対応しているかも判断することができる。測定した顔上のポイント集合から動きを再現するために新しい顔のどの部分を移動させる必要があるかを知っている必要があるため、この情報は、動きをある顔から別の顔に変換する上で不可欠である。
【００７８】
顔の動き
顔の動きは、画面上のサンプルポイント集合の、時間と共に変化する3D位置によって指定される。顔が動き取り込みデータによって制御されるとき、これらのポイントは、動き取り込みシステムによってトラッキングされる、顔上のマーカになっている。これらのポイントの動きは、顔面の領域にスムーズに影響する制御ポイントの集合によって顔面を制御するために使用される。顔の動きデータの取り込みは、この分野の精通者ならば理解されるように、いずれかの適当な方法で行うことができる。１つの具体例では、顔の動きは、Guenter他著「顔の作成(Making Faces)」(Proceedings of SIGGRAPH 1998, pp. 55-67,
1998) に記載されている手法を使用して取り込まれていた。
【００７９】
メッシュ変形
顔は、制御ポイント集合qjの変位の線形的組み合わせに従って、三角メッシュの各頂点wiをその静止位置から変位することによってアニメーション化されている。これらの制御ポイントは、動きを記述しているサンプル点pjと１対１で対応している。各制御ポイントが頂点に及ぼす影響は、対応するサンプルポイントからの距離と共に低下していき、複数の制御ポイントが頂点に影響する場合には、それらの重みは総和が１になるように正規化される。
【００８０】
【数７】
2011170891.tif 000009
【００８１】
上記において、頂点iが複数の制御ポイントによって影響される場合、βi =Σk αik であり、そうでなければ１である。これらの重みは、サンプルポイントと顔メッシュの静止位置を使用して一回計算されるので、フレームごとのメッシュの動きはスパースマトリックス乗算 (sparse matrix multiplication) になっている。重み付け関数については、次式が使用されていた。
【００８２】
【数８】
2011170891.tif 000010
【００８３】
顔をアニメーション化する細部を処理するには、これらの重み付けルールには２つタイプの例外が設けられている。目と口の付近の頂点と制御ポイントは、「上」および「下」のタグが付けられ、例えば、口の上にある制御ポイントは口の下にある頂点の動きには影響しない。また、目の周囲の領域におけるスカラーテキスチャマップ (scalar texture map) は、目がスムーズなテ−パ状になって、まぶたの個所でゼロになるように動きに重み
付けするために使用されている。サンプルポイント集合に従って顔メッシュを動かすには、制御ポイント位置を計算して、顔面がそれなりに変形されるようにしなければならない。上述したのと同じ重み付け関数を使用すると、サンプルポイントが制御ポイントに応じてどのような動きをするかを計算することができる。その結果は線形変換p = Aqである。従って、時刻tに、サンプル位置ptを求めるには、制御ポイントqt = A-1ptを使用することができる。しかし、マトリックスAは条件付けが十分でないことがあるので、制御ポイントの動きが非常に大きいために起こる、望ましくない面形状を回避するために、SVD（Singular Value Decomposition−特異値分解）を使用してA-1が計算され、A-1の特異値は限界Mでクランプされる。図示の例では、M = 1.5が使用されている。SVDを論じている参考文献としては、GolubおよびVan Loan著「マトリックス計算(Matrix Computations)」第３版、Johns Hopkins press,1996がある。
【００８４】
目と頭の動き
顔を実物に近い外観にするためには、プロシージャで生成された動きが目に加えられ、別々に取り込まれた剛体運動が頭全体に加えられる。眼球は、ランダムな固定方向のシーケンスに従って回転され、一方の眼球から次の眼球に向かってスムーズに移動して行く。まぶたは、眼球の中心を通る軸周りにまぶたを定義している頂点を回転し、まぶたメッシュ上に定義された重みを使用して変形がスムーズに行われるようにすることでアニメーション化される。
【００８５】
頭の剛体運動は人物の頭の物理的動きから取り込まれ、これは、その人物が特殊なマシン認知可能ターゲットでマークされた帽子を着用している間にその動きをフィルムに写すことによって行われる（帽子は、Marschner他著「人間の皮膚を含む画像ベースBRDF測定(Image-based BRDF measurements including human skin)」、Rendering Techniques '99 (Proceedings of the Eurographics Workshop on Rendering), pp. 131-144, June 1999で使用されているものに近似するようにパターン化されている）。これらのターゲットをビデオシーケンスでトラッキングすることにより、頭の剛体運動が計算され、そのあと、これは頭モデルをレンダリングするために適用される。このセットアップによると、ビデオカメラだけで済むので、望みのアクションを実演しながら頭の動きを作っていくことができる。
【００８６】
反射率をモデリングするための例示システムと方法
リアル感のある顔画像をレンダリングするためには、ジオメトリが正確であるだけでなく、皮膚からの光の反射の計算が正確であることが要求される。図示の例では、顔をレンダリングするために、物理ベースのMonte Carlo光線トレーサが使用されている。手法の例としては、Cook他著「分布光線トレーシング(Distribution Ray Tracing)」、Computer
Graphics (SIGGRAPH '84 Proceedings), pp. 165-174, July 1984およびShirley他著「直接照明計算のためのMonte Carlo手法(Monte Carlo techniques for direct lighting calculations)」、Transactions on Graphics, 15(1):1-36, 1996に記載されているものがある。この方法によると、任意のBRDF（bi-directional reflectance distribution functions：双方向反射率分布関数）を使用して、単純なシェーディングモデルでは近似化が困難であった、皮膚の外観を正確にシミュレートすることができる。さらに、拡張光源が使用されているが、これは、ポートレート写真のようにレンダリングするとき、見苦しくない画像を得るために必要になるものである。物理的光移動は、計算効率の必要上、次の２点でずれるようにしている。すなわち、拡散相互反射 (diffuse interreflection) は無視され、目は屈折なしで瞳を通るように照明されている。
【００８７】
図示の例では、皮膚の反射率モデルは、実際の人間の顔の測定に基づいている。手法の例としては、Marschner他著「人間の皮膚を含む画像ベースBRDF測定(Image-based BRDF measurements including human skin)」、Rendering Techniques '99 (Proceedings of th
e Eurographics Workshop on Rendering), pp. 131-144, June 1999に記載されているものがある。これらの測定は、いくつかの被写体の額の平均BRDFを記述しており、Lafortune他著「反射率関数の非線形近似化(Non-linear approximation of reflectance functions)」、Computer Graphics(SIGGRAPH '97 Proceedings), pp. 117-126, August 1997に記載されているBRDFモデルの適合パラメータを含んでいる。従って、これらの測定は、リアル感のある顔をレンダリングするときの、すぐれた出発点となっている。しかし、これらの測定は、実際の顔で観察される空間的変化の一部を含むように補強する必要がある。これは、その皮膚がレンダリングした皮膚と類似している被写体の測定BRDFへの適合から始め、それを拡散反射成分と鏡面反射成分に分離することによって行われる。そのあと、各々をモジュレートするためにテキスチャマップが取り入れられている。
【００８８】
拡散反射成分のテキスチャマップ、つまり、「アルベドマップ(albedo map)」は、以下で説明するように、被写体の実際の顔から取られた測定に従って、拡散反射率をモジュレートする。鏡面反射成分は、スカラーテキスチャマップ (scalartexture map) によってモジュレートされ、皮膚反射率でレンダリングしてはならない個所（まゆやまつ毛など）から鏡面反射が除去され、顔の下部の鏡面反射が低減され、顔の皮膚の特徴に近似するようにされる。その結果は、空間的に変化するBRDFであり、これは、Lafortune他著「反射率関数の非線形近似化(Non-linear approximation of reflectance functions)」、Computer Graphics (SIGGRAPH '97 Proceedings), pp. 117-126, August 1997の概念化コサインローブ (generalized cosine lobes) の和によって各ポイントに記述されている。
【００８９】
アルベドマップの構築
図示し、上述してきた実施形態では、拡散反射に起因する、空間的に変化する反射率を記述していることが要求されるアルベドマップは、制御された照明の下で撮影された顔のデジタル写真シーケンスを使用して測定されていた。
【００９０】
図１１は、デジタル写真または画像を取り込むために使用された例示システムを示している。図示のシステムでは、デジタルカメラ１１００が装備され、複数の光源を含んでいる。そのいつくかの例は１１０２、１１０４で示されている。垂直ポラライザ１１０６、１１０８、および１１１０の形体をした偏光フィルタが装備され、光源とカメラレンズを被覆しているため、鏡面反射が抑止され、拡散反射成分だけが画像に残るようにしている。この例では、被写体は、マシン認識可能ターゲットがプリントされた帽子１１１２を着用し、頭のポーズをトラッキングするようにしている。カメラ１１１０は、被写体が回転している間静止したままになっている。唯一の照明は、カメラ付近の測定個所に置かれた光源１１０２、１１０４から得ている。漏れた光からの間接的反射を減らすため、黒のバックドロップ（背景幕）が使用されている。
【００９１】
カメラと光源のロケーションは分かっているので、面法線、放射照度 (irradiance)、視点方向、およびテクスチャ空間内の対応する座標は、各画像のピクセルごとに標準的光線トレーシング手法を使用して計算することができる。理想的なランベルト (Lambertian) 反射が観察されるとの想定の下では、ランベルト反射率は、テクスチャ空間内の特定のポイントについてこの情報から計算することができる。この計算は、１つの写真に含まれるピクセルごとに繰り返され、その総和が得られると、画像がテクスチャ空間内に投影され、光源に起因する計算された放射照度で除すると、面を横切る拡散反射率のマップが得られる。図１２に示すように、２つの写真（Ａ），（Ｂ）がテクスチャ空間内に投影され、照明が補正されている。実際には、この投影は、外側ループがテキスチャマップ内のすべてのピクセルを通るように繰り返される逆マッピング (reverse mapping) によって行われ、特定のテクスチャピクセルに投影される画像エリア全体の平均をとるために、確率的ス−パサンプリング (stochastic supersampling) が使用されている。
【００９２】
単一の写真からのアルベドマップは、面の一部だけをカバーしており、その結果は、グレージング (grazing) 角度が小さいとき最良になっている。従って、顔全体のシングルアルベドマップを作成するために、すべての個別マップの加重平均が計算されている。重み付け関数は、そのビジュアル例が図１３（Ａ），（Ｂ）に示されているが、面に対してほぼ法線をなしている方向から表示および/または照射されるピクセルには高い重みが与えられるように選択され、表示か照射のどちらかが極度にグレージングする前にゼロに降下するようになっている。図示の例では、次の関数が使用されている。(cosθicosθe - c)p、ただし、c= 0.2, p = 4。
【００９３】
特定のテクスチャピクセルのアルベドを計算する前に、ピクセルが可視であり、適当に照射されていることが確かめられる。複数の光線は、そのピクセル上のポイントから光源上のポイントまでとカメラポイントまでトレースされ、そのピクセルには、可視性と照明がゼロでるか、部分的であるか、完全であるかのマークが付けられる。光源のサイズを見積もるとき、重大なエラーを避けるのが賢明である。完全に可視であり、少なくとも１つの光源によって完全に照射され、どの光源によっても部分的に照射されないピクセルのアルベドだけが計算される。このようにすると、部分的に隠されたピクセルおよび全影または半影領域にあるピクセルは使用されることがない。
【００９４】
これらの測定に意味をもたせるためには、若干の較正が必要である。カメラの転写曲線は、Debevec他著「写真からの高ダイナミックレンジ放射輝度マップの回復(Recovering high dynamic range radiance maps from photographs)」、Computer Graphics (SIGGRAPH
'97 Proceedings), pp. 369-378, August 1997に記載されている方法を使用して較正されている。光/カメラシステムのフラットフィールド応答は、大きなホワイトカードの写真を使用して較正されている。レンズのフォーカルレングスとひずみは、Zhang著「カメラ較正のためのフレキシブルな新手法(A flexible new technique for camera calibration)」、TechnicalReport MSR-TR-98-71, Microsoft Research, 1998に記載されている手法を用いて較正されている。全体スケールファクタは、既知反射率の参照サンプルを使用してセットされている。光源強度の画像間の変化が考慮の対象となっているときは、すべての画像に参照サンプルを組み込むことによって制御が行われている。
【００９５】
上記プロセスから得られたテキスチャマップは、顔全体にわたる詳細なカラー変化を自動的に取り込む上で良好な働きをしている。さらに、較正帽子を定位置に保持するために使用されるストラップは可視になっている。これらの問題は、画像編集ツールを使用し、ブランクエリアに近傍テクスチャまたは均一カラーを埋め込むことによって解消されている。
【００９６】
図１４（Ａ），（Ｂ）と図１５（Ａ），（Ｂ）は、編集前のアルベドマップと編集後のアルベドマップを、比較目的で示したものである。アルベドマップから妥当な結果が得られない個所がどこであるかは、面が十分に観察されない個所（例えば、あごの下）であるか、あるいは面が余りに複雑な形状をしているため画像と共に正しくスキャンし、記録できない個所（例えば、耳）であることは明らかである。これらの個所は、どちらも、リアル感のある外観を得るためにアルベドマップからのテクスチャを必要としていない。第１の個所は視覚的に目立たないからであり、第２の個所は、ジオメトリがビジュアル的に詳細になっているからである。そのため、これらの個所を編集しても、最終的レンダリングの外観はほとんど影響されない。
【００９７】
図１６〜図１８は、付随するビデオからの静止フレームを使用した顔モデルのいくつかの、異なる様相を示す図である。１行目（図１６の（Ａ），（Ｂ），（Ｃ））には、いくつかの角度からの顔が示されている。そこには、アルベドマップと測定されたBRDFが、任意の角度から見た顔全体にわたる皮膚の外観とそのカラー変化をどのように取り込むかが
示されている。２行目（図１７の（Ａ），（Ｂ），（Ｃ））は、グレージング角度での強い鏡面反射を含む、リムとサイドの照明の効果を示している。なお、光源は、この行の３画像のいずれも、同じ強度であり、顔から同じ距離に置かれている。反射率の方向変化は、親しみのある照明効果がレンダリングに現れることに貢献している。３行目（図１８の（Ａ），（Ｂ），（Ｃ））では、表情の変形が顔に加えられても、顔は通常の表情の動きでは自然のように見えることを示している。
【００９８】
図１９は、ここで説明している実施形態に従ってアルベドマップを作成するための方法のステップを記載しているフローチャートである。この方法は、適切なハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することが可能である。ここで説明している実施形態では、この方法は、図１１を参照して説明してきたシステムと同じシステムで使用されるものとして、ソフトウェアで実現されている。
【００９９】
ステップ１７００で、被写体を照射するために使用できる１つまたは２つ以上の偏光光源が準備される。光源の例は上述した通りである。ここで説明している実施形態では、光源は、被写体の顔反射率の鏡面反射成分が抑止または除去されるように選択されている。ステップ１７０２で、被写体の顔は光源で照射される。ステップ１７０４で、被写体を回転させ、その間に一連のデジタル写真または画像が取り込まれる。ステップ１７０６で、テキスチャマップ内のピクセルごとに、面法線、放射照度、視点方向およびテクスチャ空間内の座標が計算される。この計算は公知のアルゴリズムを使用して行われる。ステップ１７０８で、画像のテクスチャ空間内の特定ピクセルに対するランベルト反射率が計算される。これにより、ピクセルのアルベドが得られる。ステップ１７１２で、追加のピクセルがアルベドマップに残っているかどうかが判断される。残っていれば、ステップ１７１２で次のピクセルが得られ、ステップ１７０８に戻る。追加のピクセルがアルベドマップに残っていなければ、ステップ１７１４で、追加のデジタル画像が残っているかどうかが確かめられる。追加のデジタル画像が残っていれば、ステップ１７１６で次のデジタル画像が得られ、ステップ１７０６に戻る。追加のデジタル画像が残っていなければ、ステップ１７１８で、各画像の個別アルベドマップの加重平均が計算され、顔全体のシングルアルベドマップが作成される。この加重平均処理がどのように行われるかの具体例は、Marschner著「コンピュータグラフィックスの逆レンダリング(Inverse Rendering for Computer Graphics)」、PhD thesis, Cornell University, August 1998に記載されている。
【０１００】
図２０は、シングルピクセルのアルベドを計算する方法のステップを記載しているフローチャートである。この方法は、適切なハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することが可能である。ここで説明している実施形態では、この方法はソフトウェアで実現されている。ステップ１８００で、あるピクセルが与えられているとき、そのピクセルが完全に可視であるかどうかが判断される。ピクセルが完全に可視でなければ、ピクセルのアルベドは計算されない（ステップ１８０４）。ピクセルが完全に可視であれば、ステップ１８０２で、ピクセルが少なくとも１つの光源で完全に照射されているかどうかが判断される。ピクセルが少なくとも１つの光源で完全に照射されていなければ、ピクセルのアルベドは計算されない（ステップ１８０４）。ピクセルが少なくとも１つの光源で完全に照射されていれば、ステップ１８０６で、ピクセルがいずれかの光源で部分的に照射されているかどうかが判断される。そうであれば、そのピクセルについては、アルベドは計算されない。ピクセルがいずれかの光源で部分的に照射されていなければ、ステップ１８０８で、そのピクセルのアルベドと重みが計算される。この重みは、あとで個別マップをまとめて、その平均をとるとき使用される。従って、上述したように、アルベドが計算されるのは、完全に可視であり、少なくとも１つの光源で完全に照射され、いずれかの光源で部分的に照射されていないピクセルについてだけである。このようにすると、部分的に隠されているピクセルと全影または半影領域にあるピクセルは使用されることがない。
【０１０１】
以上、説明した顔の特徴をアニメーション化する方法および表情変換のための方法を実現するためのアプリケーションプログラムは当業者であれば、本明細書の説明に基づいて、当業者であれば作成することが可能であろう。
【０１０２】
アプリケーションプログラムはＣＰＵが実行可能な読取り実行可能な命令で作成すればよい。また、上記アプリケーションプログラムを記憶しておく記録媒体は、メモリ、ハードディスク、周知の携帯用記録媒体に記憶すればよく、これらの記録媒体は１つまたは２つ以上でもよい。たとえば、アプリケーションで使用するデータ、たとえば、コードブックやトレーニング表情を定義したデータ等はＣＤＲＯＭに記憶しておき、これらのデータを使用するアプリケーションプログラムはハードディスクに記憶しておくというように異なる記録媒体にアプリケーションプログラムとデータとを記憶させてもよい。また、同一の記録媒体に記録させてもよいこと勿論である。
【０１０３】
さらにアプリケーションプログラムを実行するコンピュータは１台でもよいしアプリケーションプログラムで規定した処理を複数台のコンピュータで分散処理してもよい。また、アプリケーションプログラムは、コンピュータ化されたＣＰＵで実行してもよいし、画像処理目的の単体プロセッサで実行してもよい。
【０１０４】
結論
上述してきた実施形態によれば、顔をリアル感のある顔にモデリングし、レンダリングするという高い基準を満たしてから、人間の顔と同じように親しみのある画像が信頼できる形で表示できるようにするという難題を解決するシステムと方法が提供されている。このアプローチの考え方は、顔モデルが実際に現実の顔に似るように、可能な限り測定を利用することにある。顔のジオメトリは、異なる顔に共通して統一した接続性と対応性をもつ、変位でマッピングされた細分面で表されている。反射率は、従来による人間の皮膚のBRDF測定から得られ、その測定が新規な測定と併用されて、複数の視点（ビュー）が拡散反射率を表す、単一の照明補正テキスチャマップになるように結合されている。動きは、上述した動き取り込み手法によって得られ、その動きが、改良された変形方法を使用して顔モデルに適用されることによって、シェーディング面に適した動きが得られるようにしている。レンダリングのリアル感は、現実の顔のジオメトリ、動きおよび反射率を物理ベースのレンダラ (physically-based renderer) で使用することによって大幅に向上されている。
【０１０５】
以上、構造上の特徴および/または方法ステップからとらえて本発明を説明してきたが、以上の説明から理解されるように、請求項に明確化されている本発明は、上述した具体的特徴または方法ステップに必ずしも限定されるものではない。むしろ、具体的特徴および方法ステップは、請求項に記載の発明を実現する、好ましい実施形態として開示されたものである。
【符号の説明】
【０１０６】
２００ 照明システム
２０２ カメラ
２０２ａ カメラのレンズ
２０４、２０６ 光源
４００ コードブック
４０２ トレーニング表情集合
４０６ 変換プロセッサ
４０８ 変換関数
４１０ 合成表情集合
６０２ トランスミッタ（送信側）
６０４ レシーバ（受信側）
６０６ 再構築モジュール
【図１】
2011170891.tif 000011
【図２】
2011170891.tif 000012
【図３】
2011170891.tif 000013
【図４】
2011170891.tif 000014
【図５】
2011170891.tif 000015
【図６】
2011170891.tif 000016
【図１０】
2011170891.tif 000017
【図１１】
2011170891.tif 000018
【図１９】
2011170891.tif 000019
【図２０】
2011170891.tif 000020
【図７】
2011170891.tif 000021
【図８】
2011170891.tif 000022
【図９】
2011170891.tif 000023
【図１２】
2011170891.tif 000024
【図１３】
2011170891.tif 000025
【図１４】
2011170891.tif 000026
【図１５】
2011170891.tif 000027
【図１６】
2011170891.tif 000028
【図１７】
2011170891.tif 000029
【図１８】
2011170891.tif 000030