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