三次元ポートレートの作成装置
【課題】二次元顔写真に基づいて、人物の三次元ポートレートを正確に作成する。
【解決手段】顔写真入力部10により、特定の人物の二次元顔写真Fを画像データとして取り込み、顔写真格納部20に格納する。雛形モデル格納部30内には、複数N通りのバリエーションをもった頭部の三次元立体データを雛形モデルM1〜M5として格納しておき、その特徴量を特徴量格納部80に格納しておく。雛形選択部40Bは、特徴量抽出部70が抽出した顔写真Fの特徴量に最も近い特徴量をもつ雛形モデルMjを選択する。モデル修正部90は、特徴量の差を相殺するように、選択モデルMjを修正し、マッピング処理部50が、修正された選択モデルMj′に顔写真Fをマッピングして、三次元ポートレートGとして出力する。特徴量としては、目、鼻、口などの代表点の座標値を用いる。
【解決手段】顔写真入力部10により、特定の人物の二次元顔写真Fを画像データとして取り込み、顔写真格納部20に格納する。雛形モデル格納部30内には、複数N通りのバリエーションをもった頭部の三次元立体データを雛形モデルM1〜M5として格納しておき、その特徴量を特徴量格納部80に格納しておく。雛形選択部40Bは、特徴量抽出部70が抽出した顔写真Fの特徴量に最も近い特徴量をもつ雛形モデルMjを選択する。モデル修正部90は、特徴量の差を相殺するように、選択モデルMjを修正し、マッピング処理部50が、修正された選択モデルMj′に顔写真Fをマッピングして、三次元ポートレートGとして出力する。特徴量としては、目、鼻、口などの代表点の座標値を用いる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、三次元ポートレートの作成装置に関し、特に、特定の人物についての二次元顔写真データに基づいて、当該特定の人物についての頭部三次元モデルのデータを作成する装置に関する。
【背景技術】
【0002】
コンピュータグラフィックス技術の発展により、様々な物体を三次元画像データとして取り扱うことが可能になってきている。このため、人物についても、立体的な肖像画(三次元ポートレート)を作成する方法が提案されている。
【0003】
たとえば、下記の特許文献1には、人物を複数の方向から撮影した画像に対してコンピュータ処理を施すことにより、当該人物の三次元ポートレートを作成する技術が開示されている。また、特許文献2には、標準モデルを利用して、二次元ポートレートに基づいて三次元ポートレートを作成する技術が開示されている。そして、特許文献3には、このようにして得られた三次元ポートレートを、レンチキュラレンズを用いた記録媒体に記録する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−099807号公報
【特許文献2】特開2002−32783号公報
【特許文献3】特開2007−147737号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特定の人物の三次元ポートレートを作成するには、前掲の特許文献1に開示されているように、被写体となる人物を様々な方向から撮影することにより三次元情報を忠実に取り込むのが最も直接的かつ確実な方法である。しかしながら、このような方法で三次元情報を取り込むには、大掛かりな撮影設備が必要になる。具体的には、スタジオの中央に被写体を座らせ、その周囲に、カメラを移動させるためのレールを敷設し、このレールに沿ってカメラを移動させながら複数の画像を撮影する装置が一般に利用されている。このような大掛かりな撮影装置を利用すれば、当然、三次元ポートレートの作成コストは高騰せざるを得ない。
【0006】
また、被写体となる人物に、スタジオまで足を運んでもらい、撮影の間、静止していてもらう必要があるため、被写体となる人物に対する負担も大きい。当然ながら、故人となった人物については、このような方法で三次元ポートレートを作成することはできない。
【0007】
このような問題に対処するため、前掲の特許文献2には、三次元の標準モデルを用意しておき、この標準モデルを、撮影時のパラメータに基づいて二次元ポートレートにフィッティングさせながら変形することにより三次元ポートレートを作成する技術が開示されている。しかしながら、この方法では、フィッティングを行う段階で無理な歪みが生じるため、場合によっては、ポートレートとして相応しくない程に歪みを生じる可能性がある。また、三次元の標準モデルを画一的に適用するため、二次元ポートレート上の人物の細かな特徴が、三次元ポートレート上は十分に表現されないという問題も生じる。
【0008】
そこで本発明は、被写体となる人物の二次元顔写真に基づいて、当該人物の三次元ポートレートを正確に作成することが可能な三次元ポートレートの作成装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
(1) 本発明の第1の態様は、二次元の顔写真に基づいて、三次元ポートレートを作成する三次元ポートレートの作成装置において、
特定の人物についての二次元顔写真を画像データとして取り込む顔写真入力部と、
取り込んだ二次元顔写真を格納する顔写真格納部と、
複数N通りのバリエーションをもった頭部の三次元形状データを雛形モデルとして格納した雛形モデル格納部と、
N通りの雛形モデルの中の1つを選択する雛形選択部と、
雛形選択部が選択した選択モデルの表面に、顔写真格納部内の二次元顔写真をマッピングして、頭部三次元モデルを作成し、作成した頭部三次元モデルのデータを特定の人物についての三次元ポートレートとして出力するマッピング処理部と、
を設けるようにしたものである。
【0010】
(2) 本発明の第2の態様は、上述した第1の態様に係る三次元ポートレートの作成装置において、
雛形選択部が、N通りの雛形モデルの中の1つを指定するオペレータの選択指示に基づいて雛形モデルの選択を行うようにしたものである。
【0011】
(3) 本発明の第3の態様は、上述した第1の態様に係る三次元ポートレートの作成装置において、
個々の雛形モデルのそれぞれについて、特定の基準で分類した場合にどの分類に所属するかを示す属性を定義した情報を格納した属性格納部を更に設け、
雛形選択部が、オペレータから入力された属性に基づいて属性格納部を検索し、入力された属性に合致する属性が定義された特定の雛形モデルを選択するようにしたものである。
【0012】
(4) 本発明の第4の態様は、上述した第1の態様に係る三次元ポートレートの作成装置において、
個々の雛形モデルのそれぞれについて、固有の特徴量を格納した特徴量格納部と、
顔写真格納部に格納された二次元顔写真から固有の特徴量を抽出する特徴量抽出部と、
を更に設け、
雛形選択部が、特徴量抽出部が抽出した特徴量に最も近い特徴量を有する特定の雛形モデルを選択するようにしたものである。
【0013】
(5) 本発明の第5の態様は、上述した第4の態様に係る三次元ポートレートの作成装置において、
特徴量として、顔を構成する個々のパーツの代表点の位置座標を用い、
雛形選択部が、雛形モデルと二次元顔写真との大きさ、位置、および向きを調整した上で、各代表点の位置が最も近似した特定の雛形モデルを選択するようにしたものである。
【0014】
(6) 本発明の第6の態様は、上述した第5の態様に係る三次元ポートレートの作成装置において、
顔を構成するパーツとして、顔を正面から見たときの、顔の輪郭、目、鼻、口の群から選択された複数のパーツを用い、
個々のパーツの代表点として、パーツ構成領域の重心点、パーツ構成領域の外接矩形の中心点、または、パーツ構成領域の輪郭線上の点を用いるようにしたものである。
【0015】
(7) 本発明の第7の態様は、上述した第6の態様に係る三次元ポートレートの作成装置において、
雛形モデル格納部が、個々の雛形モデルのそれぞれについて、顔の正面方向を示す正面ベクトルVを格納しており、
特徴量格納部が、XYZ三次元座標系上に正面ベクトルVがZ軸に平行になるように配置した雛形モデルを、XY平面上へ正射影投影した雛形投影像について、各代表点の位置座標を特徴量として格納しており、
特徴量抽出部が、XY平面上に配置した二次元顔写真について、各代表点の位置座標を特徴量として抽出し、
雛形選択部が、XY平面上において、雛形投影像と二次元顔写真との大きさ、位置、および向きを調整した上で、雛形投影像の各代表点と、これに対応する二次元顔写真の各代表点との距離の和もしくは距離の重み付き和が最小となる雛形モデルを選択するようにしたものである。
【0016】
(8) 本発明の第8の態様は、上述した第7の態様に係る三次元ポートレートの作成装置において、
両目の代表点を結ぶ線を基準線と定義し、この基準線上における両目の代表点間の中点を基準点と定義し、基準線に沿った顔の幅を基準幅と定義し、
雛形選択部が、XY平面上において、基準幅が一致するように雛形投影像と二次元顔写真との大きさの調整を行い、基準点が一致するように雛形投影像と二次元顔写真との位置の調整を行い、基準線が重なるように雛形投影像と二次元顔写真との向きの調整を行うようにしたものである。
【0017】
(9) 本発明の第9の態様は、上述した第1〜第8の態様に係る三次元ポートレートの作成装置において、
雛形選択部が選択した選択モデルを、顔写真格納部に格納されている二次元顔写真に適合するように修正するモデル修正部を更に設け、
マッピング処理部が、修正後の選択モデルの表面に、二次元顔写真をマッピングするようにしたものである。
【0018】
(10) 本発明の第10の態様は、上述した第9の態様に係る三次元ポートレートの作成装置において、
雛形モデル格納部が、個々の雛形モデルのそれぞれについて、顔の正面方向を示す正面ベクトルVを格納しており、
XYZ三次元座標系上に正面ベクトルVがZ軸に平行になるように配置した雛形モデルを、XY平面上へ正射影投影した雛形投影像について、顔を構成する個々のパーツの代表点の位置座標を特徴量として格納した特徴量格納部と、
XY平面上に配置した二次元顔写真について、顔を構成する個々のパーツの代表点の位置座標を特徴量として抽出する特徴量抽出部と、
を設け、
モデル修正部が、
XY平面上において、選択モデルの雛形投影像と二次元顔写真との大きさ、位置、および向きを調整した上で、選択モデルの雛形投影像の各代表点から二次元顔写真上の対応する各代表点に向かう代表移動ベクトルを求め、
XYZ三次元座標系上において、雛形投影像の各代表点にそれぞれ対応する選択モデル上の個々の代表点を、それぞれ対応する代表移動ベクトルに応じて移動させ、選択モデル上のその余の一般点を、個々の代表移動ベクトルに対する補間処理によって得られた一般移動ベクトルに応じて移動させることにより、選択モデルに対する修正を行うようにしたものである。
【0019】
(11) 本発明の第11の態様は、上述した第10の態様に係る三次元ポートレートの作成装置において、
モデル修正部が、一般点についての一般移動ベクトルを求める際に、雛形投影像の各代表点のうち、当該一般点のXY平面上への投影点Qに最も近い第1近傍点Qaおよび2番目に近い第2近傍点Qbを求め、点Qと点Qaとの距離をDa、点Qと点Qbとの距離をDb、第1近傍点Qaについての代表移動ベクトルをベクトルαa、第2近傍点Qbについての代表移動ベクトルをベクトルαb、としたときに、α=(Db/(Da+Db))・αa+(Da/(Da+Db))・αbなる式によって求まるベクトルαを当該一般点についての一般移動ベクトルとする補間処理を行うようにしたものである。
【0020】
(12) 本発明の第12の態様は、上述した第10の態様に係る三次元ポートレートの作成装置において、
モデル修正部が、一般点についての一般移動ベクトルを求める際に、雛形投影像のn個(n≧3)の代表点のそれぞれと当該一般点のXY平面上への投影点Qとの距離D1,... ,Di,... ,Dnをそれぞれ求め、雛形投影像のn個の代表点についての代表移動ベクトルを、それぞれα1,... ,αi,... ,αnとしたときに、α=Σi=1,n(αi/Di2)/Σi=1,n(1/Di2)なる式によって求まるベクトルαを当該一般点についての一般移動ベクトルとする補間処理を行うようにしたものである。
【0021】
(13) 本発明の第13の態様は、上述した第1〜第8の態様に係る三次元ポートレートの作成装置において、
顔写真格納部に格納されている二次元顔写真を、雛形選択部が選択した選択モデルに適合するように修正する顔写真修正部を更に設け、
マッピング処理部が、選択モデルの表面に、修正後の二次元顔写真をマッピングするようにしたものである。
【0022】
(14) 本発明の第14の態様は、上述した第13の態様に係る三次元ポートレートの作成装置において、
雛形モデル格納部が、個々の雛形モデルのそれぞれについて、顔の正面方向を示す正面ベクトルVを格納しており、
XYZ三次元座標系上に正面ベクトルVがZ軸に平行になるように配置した雛形モデルを、XY平面上へ正射影投影した雛形投影像について、顔を構成する個々のパーツの代表点の位置座標を特徴量として格納した特徴量格納部と、
XY平面上に配置した二次元顔写真について、顔を構成する個々のパーツの代表点の位置座標を特徴量として抽出する特徴量抽出部と、
を設け、
顔写真修正部が、
XY平面上において、選択モデルの雛形投影像と二次元顔写真との大きさ、位置、および向きを調整した上で、二次元顔写真の各代表点から選択モデルの雛形投影像上の対応する各代表点に向かう代表移動ベクトルを求め、
XY平面上において、二次元顔写真の各代表点をそれぞれ対応する代表移動ベクトルに応じて移動させ、二次元顔写真上のその余の一般点を、個々の代表移動ベクトルに対する補間処理によって得られた一般移動ベクトルに応じて移動させることにより、二次元顔写真に対する修正を行うようにしたものである。
【0023】
(15) 本発明の第15の態様は、上述した第14の態様に係る三次元ポートレートの作成装置において、
顔写真修正部が、一般点についての一般移動ベクトルを求める際に、二次元顔写真の各代表点のうち、当該一般点Pに最も近い第1近傍点Paおよび2番目に近い第2近傍点Pbを求め、点Pと点Paとの距離をDa、点Pと点Pbとの距離をDb、第1近傍点Paについての代表移動ベクトルをベクトルβa、第2近傍点Pbについての代表移動ベクトルをベクトルβb、としたときに、β=(Db/(Da+Db))・βa+(Da/(Da+Db))・βbなる式によって求まるベクトルβを当該一般点についての一般移動ベクトルとする補間処理を行うようにしたものである。
【0024】
(16) 本発明の第16の態様は、上述した第14の態様に係る三次元ポートレートの作成装置において、
顔写真修正部が、一般点についての一般移動ベクトルを求める際に、二次元顔写真のn個(n≧3)の代表点と当該一般点Pとの距離D1,... ,Di,... ,Dnをそれぞれ求め、二次元顔写真のn個の代表点についての代表移動ベクトルを、それぞれβ1,... ,βi,... ,βnとしたときに、β=Σi=1,n(βi/Di2)/Σi=1,n(1/Di2)なる式によって求まるベクトルβを当該一般点についての一般移動ベクトルとする補間処理を行うようにしたものである。
【0025】
(17) 本発明の第17の態様は、上述した第10〜第12、第14〜第16の態様に係る三次元ポートレートの作成装置において、
顔を構成するパーツとして、顔を正面から見たときの、顔の輪郭、目、鼻、口の群から選択された複数のパーツを用い、
個々のパーツの代表点として、パーツ構成領域の重心点、パーツ構成領域の外接矩形の中心点、または、パーツ構成領域の輪郭線上の点を用いるようにしたものである。
【0026】
(18) 本発明の第18の態様は、上述した第17の態様に係る三次元ポートレートの作成装置において、
両目の代表点を結ぶ線を基準線と定義し、この基準線上における両目の代表点間の中点を基準点と定義し、基準線に沿った顔の幅を基準幅と定義し、
モデル修正部もしくは顔写真修正部が、XY平面上において、基準幅が一致するように雛形投影像と二次元顔写真との大きさの調整を行い、基準点が一致するように雛形投影像と二次元顔写真との位置の調整を行い、基準線が重なるように雛形投影像と二次元顔写真との向きの調整を行うようにしたものである。
【0027】
(19) 本発明の第19の態様は、上述した第1〜第18の態様に係る三次元ポートレートの作成装置において、
雛形モデル格納部が、個々の雛形モデルのそれぞれについて、顔の正面方向を示す正面ベクトルVを格納しており、
マッピング処理部が、XYZ三次元座標系上に、選択モデルを正面ベクトルVがZ軸に平行になるように配置し、二次元顔写真をXY平面上に配置し、選択モデルおよび二次元顔写真の大きさ、位置、および向きを調整した上で、選択モデルの表面に二次元顔写真を正射影投影することによりマッピングを行うようにしたものである。
【0028】
(20) 本発明の第20の態様は、上述した第1〜第19の態様に係る三次元ポートレートの作成装置を、コンピュータに専用のプログラムを組み込むことにより構成するようにしたものである。
【0029】
(21) 本発明の第21の態様は、上述した第1〜第19の態様に係る三次元ポートレートの作成装置と、
この三次元ポートレートの作成装置から出力された頭部三次元モデルのデータに基づいて、頭部三次元モデルを互いに異なる視点位置から観察して得られる2枚以上の視差画像を作成し、これを画像データとして出力するか、もしくは、物理的媒体上に印刷して出力する視差画像作成装置と、
によって、三次元ポートレート用視差画像作成システムを構成したものである。
【発明の効果】
【0030】
本発明に係る三次元ポートレートの作成装置によれば、予め、複数N通りのバリエーションをもった頭部の三次元形状データが雛形モデルとして用意されているため、その中の最適なものを選択して、二次元顔写真をマッピングすることができる。このため、被写体となる人物の二次元顔写真に基づいて、当該人物の三次元ポートレートを正確に作成することができる。
【0031】
また、属性に基づいて雛形モデルの選択を行う実施形態を採用すれば、オペレータが、二次元顔写真についての属性を示すパラメータを入力するだけで、最適な雛形モデルの選択が可能になる。
【0032】
一方、顔を構成する個々のパーツの代表点の位置座標など、顔についての特徴を数値で示す特徴量を利用して雛形モデルの選択を行う実施形態を採用すれば、オペレータによる入力操作を行わずに、自動的に最適な雛形モデルの選択が可能になる。
【0033】
更に、雛形選択部が選択した選択モデルを二次元顔写真に適合するように修正するモデル修正部を付加する実施形態や、二次元顔写真を雛形選択部が選択した選択モデルに適合するように修正する顔写真修正部を付加する実施形態を採用すれば、二次元顔写真と選択モデルとの適合性を更に向上させることができ、より正確な三次元ポートレートを作成することができる。
【図面の簡単な説明】
【0034】
【図1】本発明の第1の実施形態に係る三次元ポートレートの作成装置の構成を示すブロック図である。
【図2】図1に示す雛形モデル格納部30内に格納されている雛形モデルMの例を示す斜視図である。
【図3】図1に示すマッピング処理部50によって実行されるマッピング処理を示す斜視図である。
【図4】図3に示すマッピング処理を行う際の自動調整方法の一例を示す正面図である。
【図5】図3に示すマッピング処理によって得られる三次元ポートレートGの斜視図である。
【図6】本発明の第2の実施形態に係る三次元ポートレートの作成装置の構成を示すブロック図である。
【図7】図6に示す属性格納部60内に格納される雛形モデルの属性の具体的な定義例を示す表である。
【図8】図6に示す雛形選択部40Aによる雛形選択処理の一例を示す図である。
【図9】本発明の第3の実施形態に係る三次元ポートレートの作成装置の構成を示すブロック図である。
【図10】図9に示す顔写真格納部20内に格納されている二次元顔写真Fの一例を示す平面図である。
【図11】図10に示す二次元顔写真Fから特徴量を抽出するための代表点を決定する処理を示す平面図である。
【図12】図11に示す代表点に基づいて、眉間に基準点P0を決定する処理を示す平面図である。
【図13】図12に示す基準点P0および基準線Lに基づいて、顔の輪郭についての代表点を決定する処理を示す平面図である。
【図14】図9に示す雛形モデル格納部30内に格納されている雛形モデルの投影像Hの一例を示す正面図である。
【図15】図14に示す雛形投影像Hについて抽出された10個の代表点Q1〜Q10を示す平面図である。
【図16】図13に示す二次元顔写真Fの代表点(黒丸)と、図15に示す雛形投影像Hの代表点(×印)と、の相互位置関係を示す平面図である。
【図17】図9に示す雛形選択部40Bによる雛形選択処理に利用される数式を示す図である。
【図18】本発明の第4の実施形態に係る三次元ポートレートの作成装置の構成を示すブロック図である。
【図19】図18に示すモデル修正部90によって求められた代表移動ベクトルの一例を示す平面図である。
【図20】図18に示すモデル修正部90により一般移動ベクトルを定義する方法の一例を示す平面図である。
【図21】図18に示すモデル修正部90により一般移動ベクトルを定義する方法の別な一例を示す平面図である。
【図22】図21に示す一般移動ベクトルの定義方法に用いられる一般式を示す図である。
【図23】図18に示すモデル修正部90によって行われる選択モデルMjに対する修正処理を示す斜視図である。
【図24】本発明の第5の実施形態に係る三次元ポートレートの作成装置の構成を示すブロック図である。
【図25】図24に示す顔写真修正部95によって求められた代表移動ベクトルの一例を示す平面図である。
【図26】図24に示す顔写真修正部95により一般移動ベクトルを定義する方法の一例を示す平面図である。
【図27】図18に示す顔写真修正部95により一般移動ベクトルを定義する方法の別な一例を示す平面図である。
【図28】図27に示す一般移動ベクトルの定義方法に用いられる一般式を示す図である。
【発明を実施するための形態】
【0035】
以下、本発明を図示する実施形態に基づいて説明する。
【0036】
<<< §1. 第1の実施形態 >>>
図1は、本発明の第1の実施形態に係る三次元ポートレートの作成装置の構成を示すブロック図である。この装置は、図示のとおり、顔写真入力部10、顔写真格納部20、雛形モデル格納部30、雛形選択部40、マッピング処理部50によって構成され、図の上方に示された二次元顔写真Fに基づいて、図の下方に示された三次元ポートレートGを作成する機能を果たす。
【0037】
顔写真入力部10は、特定の人物についての二次元顔写真Fを画像データとして取り込む構成要素であり、顔写真格納部20は、取り込んだ二次元顔写真Fを格納する構成要素である。顔写真入力部10として、スキャナ装置を用いるようにすれば、物理的な媒体からなる写真から二次元顔写真Fを取り込むことができる。たとえば、故人のスナップ写真を遺族から借受け、これをスキャナ装置(顔写真入力部10)で読み取って、得られた画像データを顔写真格納部20に格納すれば、当該故人についての二次元顔写真Fを顔写真格納部20内に用意することができる。
【0038】
もちろん、顔写真入力部10として、デジタルカメラを用いるようにすれば、被写体となる人物の顔を撮影することにより、当該人物の二次元顔写真Fを画像データとして取り込むことができる。また、ネットワークを介してユーザが送信してきた画像データを受信するという方法によって、二次元顔写真Fを取り込むことも可能である。この場合、顔写真入力部10は、ネットワーク(たとえば、インターネット)に接続するための通信手段によって構成される。
【0039】
この装置は、こうして顔写真格納部20に格納された二次元顔写真Fに基づいて、三次元の情報をもった三次元ポートレート、すなわち、頭部三次元モデルのデータを作成することができる。なお、二次元顔写真Fとしては、できるだけ正面向きの顔写真を用意するのが好ましい。一般的なスナップ写真に写っている被写体は、ほとんどが正面を向いているため、そのような写真に基づいて二次元顔写真Fを取り込むようにすれば支障はない。また、本発明に係る装置の場合、必要な二次元顔写真Fは1枚だけあれば十分であり、撮影角度を変えた複数の写真を用意する必要はない。
【0040】
一方、雛形モデル格納部30には、複数N通りのバリエーションをもった頭部の三次元形状データが雛形モデルとして格納されている。この雛形モデルは、いわば頭部の三次元テンプレートであり、頭部の三次元形状データであれば、どのような形態のデータであってもかまわない。一般的には、この雛形モデルは、頭部の表面をポリゴン(たとえば、三角形や四角形)やパラメトリック曲面で表現した三次元データによって構成しておけばよい。
【0041】
図2は、この雛形モデル格納部30内に格納されている雛形モデルの例を示す斜視図である。この例では、ポリゴンの集合体からなる5つの雛形モデルM1〜M5が示されている。これら雛形モデルM1〜M5は、髪の毛を除いた人間の頭部表面の三次元形状データであり、互いに形状が異なっている。このように、複数通りの雛形モデルを用意するのは、顔写真格納部20に格納されている二次元顔写真Fをマッピングするのに適したモデルを選択できるようにするためである。一般に、実在の人間の頭部の形状は、丸顔、角顔、三角顔、扁平顔、馬顔などと称されるように様々である。そこで、本発明では、様々な形状の頭部に適用できるように、雛形モデル格納部30内に複数通りの雛形モデルを用意している。
【0042】
図2に示すとおり、各雛形モデルM1〜M5には、それぞれ顔の正面方向を示す正面ベクトルV1〜V5が定義されており、雛形モデル格納部30には、個々の雛形モデルM1〜M5の三次元形状データとともに、この正面ベクトルV1〜V5の情報も格納されている(電子出願の制約上、本願のテキスト中では、各ベクトル符号上部の矢印表記は省略する)。この正面ベクトルV1〜V5の情報は、後述するように、雛形モデルに二次元顔写真Fをマッピングする際の向きを決定するために利用される。
【0043】
なお、この正面ベクトルV1〜V5の情報は、必ずしも三次元形状データと別個に用意しておく必要はなく、三次元形状データに内在させる形で定義してもかまわない。たとえば、雛形モデルとなる三次元形状データを、XYZ三次元座標系上に定義するようにし、かつ、XY平面に投影した場合に顔の正面投影像が得られるような向きに定義しておくようにすれば、このXYZ三次元座標系のZ軸が正面ベクトルVとして機能することになるので、敢えて正面ベクトルVを示すデータを別個に用意しておく必要はない。
【0044】
雛形選択部40は、雛形モデル格納部30内に格納されているN通りの雛形モデルの中の1つを選択する構成要素である。ここに示す第1の実施形態の場合、雛形選択部40は、N通りの雛形モデルの中の1つを指定するオペレータの選択指示に基づいて雛形モデルの選択を行う機能を果たす。ここで、オペレータは、顔写真入力部10によって入力され、顔写真格納部20内に格納された二次元顔写真Fをマッピングするのに最適な雛形モデルを選択する指示を入力することになる。
【0045】
実際には、雛形選択部40には、顔写真格納部20に格納されている二次元顔写真Fの画像と、雛形モデル格納部30に格納されているN通りの雛形モデルM1〜M5の画像とをディスプレイ画面上に表示する機能をもたせておくのが好ましい(図1において、顔写真格納部20から雛形選択部40への矢印は、二次元顔写真Fの画像データの流れを示している)。たとえば、雛形選択部40に、ディスプレイの左半分に二次元顔写真Fの画像を表示させ、右半分に雛形モデルの1つの画像を表示させ、右半分に表示する雛形モデルを任意に切り替える機能をもたせておけば、オペレータは、左右の画像を比較しながら、二次元顔写真Fの画像をマッピングするのに最適な雛形モデルを選択することができる。
【0046】
ここでは、こうして雛形選択部40によって選択された雛形モデルを、選択モデルMj(N通りのモデルのうちの第j番目のモデルの意)と呼ぶことにする。図では、便宜上、5通りの雛形モデルM1〜M5を用意した例が示されているが、任意の二次元顔写真Fにできるだけ適合する雛形モデルを選択できるようにするには、雛形モデル格納部30内にできるだけ多くのバリエーションを用意しておくのが好ましい。特に、顔の適合性は、その輪郭だけでなく、目、鼻、口の位置など、顔を構成する各パーツの配置や形状も考慮する必要があるので、輪郭のバリエーションだけでなく、各パーツの配置や形状のバリエーションも豊富に用意しておくのが好ましい。ただ、用意する雛形モデルのバリエーションが増えれば増えるほど、オペレータの選択作業の負担も増えることになる。
【0047】
マッピング処理部50は、雛形選択部40が選択した選択モデルMjの表面に、顔写真格納部20内の二次元顔写真Fをマッピングして、頭部三次元モデルを作成し、作成した頭部三次元モデルのデータを、二次元顔写真Fに写っている特定の人物についての三次元ポートレートGとして出力する機能を果たす。
【0048】
図3は、このマッピング処理の一例を示す斜視図である。この例の場合、図示のとおり、XYZ三次元座標系上に選択モデルMjを配置し、XY平面上に定義された投影面Sに二次元顔写真Fを配置している。ここで、選択モデルMjは、正面ベクトルVjがZ軸に平行になるように配置するようにする。そうすれば、投影面S上に顔の正面投影像が得られる。なお、前述したとおり、予めZ軸に正面ベクトルVの機能をもたせるように雛形モデルの三次元形状データを用意しておくようにすれば、選択モデルをそのままXYZ三次元座標系上に配置すればよい。
【0049】
マッピング処理は、選択モデルMjの表面に二次元顔写真Fを正射影投影(Z軸方向に投影)することにより行うことができる。より具体的には、選択モデルMjの表面上の所望の着目点に位置する画素の画素値として、当該着目点のXY平面上への正射影投影点に位置する二次元顔画像F上の画素の画素値を採用する処理を行えばよい。
【0050】
但し、このようなマッピング処理を適切に行うためには、選択モデルMjおよび二次元顔写真Fの大きさ、位置、向きを予め調整しておく必要がある。このような調整を行う一方法は、二次元顔写真Fと選択モデルMjの投影像とが配置された投影面Sをディスプレイ画面上に表示し、オペレータに、大きさ、位置、向きを調整する入力操作を行わせることである。オペレータの入力操作に応じて、対話式に各画像の大きさ、位置、向きを変化させるようにすれば、オペレータの判断に基づく調整が可能になる。
【0051】
このような調整をマッピング処理部50に自動的に実行させることも可能である。大きさについては、たとえば、「横幅が同じになるようにスケーリングする」という条件を決めておけば、当該条件が満たされるように自動調整を行うことができる。図4は、このようなマッピング処理時の自動調整方法の一例を示す正面図である。図示のとおり、二次元顔写真Fの横幅L1と、選択モデルMjの投影面S上への投影像Hjの横幅L2とを求め、両者が一致するように、二次元顔写真Fもしくは選択モデルMjのサイズを調整すればよい。二次元顔写真Fの横幅L1を求めるには、公知の手法を用いて写真から顔面部分を認識する処理を行えばよい。
【0052】
一方、位置については、たとえば、投影面S上に顎下基準線Wを定義し、二次元顔写真Fから認識した顎の下端位置および選択モデルの投影像Hjから認識した顎の下端位置を、この顎下基準線Wに揃えるようにして上下の位置を揃える自動調整を行えばよい。もちろん、顎下基準線Wの変わりに、頭部上端の位置を揃える基準線を用いることもできるし、後述するように、両目の代表点を結ぶ基準線を用いることもできる。また、左右の位置については、たとえば、顔面横幅L1の区間中点と、顔面横幅L2の区間中点とが、横方向に関して揃うような位置調整を行えばよい。
【0053】
なお、選択モデルMjの向きに関しては、たとえば、各雛形モデルについて、正面ベクトルVに加えて鉛直方向を示す鉛直ベクトルEを定義しておき、この鉛直ベクトルEがY軸に平行になるような配置を行うようにすればよい。もちろん、Y軸自身が鉛直ベクトルEとして機能するように三次元形状データを用意しておけば、敢えて鉛直ベクトルEを示すデータを別個に用意しておく必要はない。また、二次元顔写真Fの向きに関しては、一般的なスナップ写真の場合、被写体となる人物は、通常、正立状態で写っているので、写真の横および縦方向がX軸およびY軸方向になるように投影面S上に配置すれば大きな支障は生じない。ただ、向きをより正確に調整する必要がある場合には、たとえば、後述するように、両目の代表点を結ぶ基準線がX軸に平行になるような調整を行えばよい。
【0054】
図5は、図3に示すマッピング処理によって得られる三次元ポートレートGの斜視図である。二次元顔写真Fには、被写体となる人物の正面の情報しか含まれておらず、背面の情報は含まれていない。これに対して、雛形モデルは、頭部の三次元形状データであり、頭部全体の表面情報をもっている。このため、図3に示す方法によってマッピング処理を行うと、選択モデルMjの正面部分の画素についてのみ画素値が定義され、背面部分の画素についての画素値は定義することができない。
【0055】
ただ、一般に、人間の頭部の背面部分は髪によって覆われており、当該人物の特徴を表す重要な情報は含まれていないので、正面部分のみにマッピングが行われた頭部三次元モデルを三次元ポートレートGとして出力しても、大きな支障は生じない。たとえば、後述するように、三次元ポートレートGを、左右両眼の各位置から観察して2枚の視差画像を作成する用途に利用する場合、正面部分のみにマッピングが行われていれば十分である。また、背面部分の情報も必要な用途に利用する場合には、たとえば、正面部分の頭頂部(通常、髪の毛の部分の画素)の画素値を、背面部分の画素の画素値とする処理を行えば、違和感のない背面情報を擬似的に作成することができる。
【0056】
また、選択モデルMjの輪郭形状は、二次元顔写真Fの輪郭形状に正確には一致しないので、選択モデルMjの一部分については、その投影像が二次元顔写真Fの領域から食み出してしまい、画素値を定義できない可能性がある。そのような場合は、画素値の定義を行うことができた隣接画素の画素値に基づく補間処理を行えば、補間値として画素値の定義を行うことが可能である。
【0057】
このように、本発明に係る三次元ポートレートの作成装置によれば、予め、複数N通りのバリエーションをもった頭部の三次元形状データが雛形モデルとして用意されているため、その中の最適なものを選択して、二次元顔写真をマッピングすることができる。このため、被写体となる人物の二次元顔写真に基づいて、当該人物の三次元ポートレートを正確に作成することができるようになる。
【0058】
<<< §2. 第2の実施形態 >>>
上述した第1の実施形態に係る装置では、雛形選択部40が、N通りの雛形モデルの中の1つの指定するオペレータの選択指示に基づいて雛形モデルの選択を行っていた。しかしながら、雛形モデル格納部30内に用意されている雛形モデルの数Nが大きくなればなるほど、オペレータの選択作業の負担も増大する。
【0059】
§1でも述べたとおり、顔の適合性は、その輪郭だけでなく、顔を構成する各パーツの配置や形状も考慮する必要があり、性別、年齢、人種なども考慮して決定する必要がある。したがって、実用上は、雛形モデル格納部30内には、輪郭形状のバリエーションだけでなく、性別、年齢、人種などのバリエーションも考慮して、十分な種類の雛形モデルを用意しておくのが好ましいが、その場合、オペレータの選択作業は極めて繁雑なものにならざるを得ない。たとえば、図2に例示するような雛形モデルが数百通りもあったとすると、オペレータの目による判断により最適なモデルを選択する作業は極めて困難と言わざるを得ない。
【0060】
ここで述べる第2の実施形態の特徴は、予め、個々の雛形モデルに属性を定義しておき、オペレータが、二次元顔写真についての属性を示すパラメータを入力するだけで、最適な雛形モデルの選択を可能にする、というものである。以下、この第2の実施形態の構成を説明する。
【0061】
図6は、本発明の第2の実施形態に係る三次元ポートレートの作成装置の構成を示すブロック図である。図1に示す装置との相違は、新たに属性格納部60が設けられている点と、雛形選択部40Aがオペレータの属性入力に基づいて、最適な雛形モデルの選択を行う点である。
【0062】
属性格納部60には、雛形モデル格納部30内に格納されているN通りの雛形モデルのそれぞれについて、特定の基準で分類した場合にどの分類に所属するかを示す属性を定義した情報が格納されており、雛形選択部40Aは、オペレータから入力された属性に基づいて属性格納部60を検索し、入力された属性に合致する属性が定義された特定の雛形モデルを選択する処理を行う。
【0063】
図7は、図6に示す属性格納部60内に格納される雛形モデルの属性を示す情報の具体的な定義例を示す表である。ここに示す例では、雛形モデルを分類するための基準として、「性別」、「年齢」、「人種」、「輪郭」、「目」という項目を定義している。項目「性別」については、「男性」,「女性」という2種類の属性が定義され、項目「年齢」については、「10代」,「20代」,「30代」,「40代」,「50代」,「60代」という6種類の属性が定義されている。また、項目「人種」については、「アジア系」,「アングロサクソン系」,「黒人系」,「ヒスパニック系」という4種類の属性が定義され、項目「輪郭」については、「丸顔」,「角顔」,「三角顔」,「扁平顔」,「馬顔」という5種類の属性が定義され、項目「目」については、「どんぐり目」,「上がり目」,「下がり目」,「くぼみ目」という4種類の属性が定義されている。
【0064】
これら5項目のすべての属性の組み合わせを網羅した雛形モデルを用意するのであれば、雛形モデル格納部30内には、960通りの雛形モデルM1〜M960を格納しておくようにすればよい。この場合、属性格納部60には、この960通りの雛形モデルM1〜M960のそれぞれについて、上記5項目の属性を示す情報を格納しておくようにする。
【0065】
雛形選択部40Aは、オペレータから、上記5項目の属性を指定する属性入力を受け、指定された属性に基づいて属性格納部60を検索し、入力された属性に合致する属性が定義された特定の雛形モデルを選択する処理を行う。図8は、雛形選択部40Aによる雛形選択処理の一例を示す図である。この例では、オペレータから、項目「性別」については「男性」、項目「年齢」については「30代」、項目「人種」については「アジア系」、項目「輪郭」については「馬顔」、項目「目」については「どんぐり目」という特定の属性を指定する属性入力がなされている。雛形選択部40Aは、属性格納部60を検索し、入力された属性の組み合わせに合致する属性が定義された雛形モデルMjを選択モデルとして選択することになる。
【0066】
こうして選択された雛形モデルMjは、30代のアジア系男性で馬顔のドングリ目をした人物の標準的な頭部の三次元形状データということになる。§1で述べた第1の実施形態の場合、960通りの雛形モデルM1〜M960の中から二次元顔写真Fに最適なモデルを選択する必要があり、選択作業は極めて困難な作業になるが、ここに示す第2の実施形態の場合、オペレータは、二次元顔写真Fを見ながら、上記5項目についての属性を雛形選択部40Aに入力する作業を行うだけですむ。
【0067】
前述したとおり、顔の適合性は、その輪郭だけでなく、目、鼻、口の位置など、顔を構成する各パーツの配置や形状も考慮して決定する必要がある。上述した例のように、雛形モデルとして、「性別」、「年齢」、「人種」、「輪郭」、「目」という各項目に関する属性がそれぞれ異なる複数のバリエーションを用意しておくようにすれば、二次元顔写真Fに、より適した雛形モデルを利用したマッピング処理が可能になる。
【0068】
<<< §3. 第3の実施形態 >>>
ここで述べる第3の実施形態は、顔についての特徴を数値で示す特徴量を利用して最適な雛形モデルの自動選択を行うものである。この実施形態では、オペレータによる入力操作は不要になるので、オペレータを介在させることなしに、三次元ポートレートGの作成を行うことができる。
【0069】
図9は、本発明の第3の実施形態に係る三次元ポートレートの作成装置の構成を示すブロック図である。図1に示す装置との相違は、新たに特徴量抽出部70および特徴量格納部80が設けられている点と、雛形選択部40Bが、これら特徴量抽出部70および特徴量格納部80を利用して自動的に最適な雛形モデルの選択を行う点である。
【0070】
特徴量抽出部70は、顔写真格納部20に格納された二次元顔写真Fから固有の特徴量を抽出する機能を果たし、特徴量格納部80は、雛形モデル格納部30内に格納されている個々の雛形モデルのそれぞれについて、固有の特徴量を格納する機能を果たす。そして、雛形選択部40Bは、特徴量抽出部70が抽出した特徴量(二次元顔写真Fの特徴量)に最も近い特徴量を有する特定の雛形モデルを自動的に選択する。
【0071】
ここで、固有の特徴量としては、顔の特徴を定量的に(数値として)示すことができるパラメータであれば、どのような量を用いてもかまわない。ここでは、特徴量の具体的な例として、顔を構成する個々のパーツの代表点の位置座標を用いた例を述べることにする。この場合、雛形選択部40Bは、雛形モデルMと二次元顔写真Fとの大きさ、位置、および向きを調整した上で、各代表点の位置が最も近似した特定の雛形モデルを自動選択することになる。以下、その具体的な方法を詳述する。
【0072】
いま、図10に示すような二次元顔写真Fが、顔写真入力部10によって入力され、顔写真格納部20内に格納されているものとしよう。一般に、顔の特徴は、顔の輪郭と、目、鼻、口の形状および配置によって大きく左右される。そこで、顔を構成するパーツとしては、顔を正面から見たときの、顔の輪郭、目、鼻、口などから選ばれた複数のパーツを用いるのが好ましい。ここでは、顔の輪郭、目、鼻、口のすべてを用いた例を述べるが、もちろん、その一部のみを用いてもよいし、耳や眉などのパーツを用いるようにしてもかまわない。
【0073】
図11は、図10に示す二次元顔写真Fから特徴量を抽出するための代表点を決定する処理を示す平面図である。この例では、まず、二次元顔写真Fから顔の輪郭線、目、鼻、口の領域を抽出する処理が行われる。一般に、顔が写った写真の画像データに基づいて、顔の輪郭線、目、鼻、口の領域を認識する方法は、種々のアルゴリズムに基づく方法が知られている。たとえば、特開平6−129834号公報には、個々の画素の画素値のヒストグラムに基づいて、目、鼻、口の位置を認識する方法が開示されており、特開平9−251534号公報には、予め登録してあるテンプレートとの類似度を計算することにより、目、鼻、口の位置を認識する方法が開示されている。この他、特開2000−163592号公報、特開2005−276182号公報、特開2011−86051号公報など、多数の特許文献にも類似の技術が開示されている。このように、顔の輪郭線、目、鼻、口の領域を認識する方法は公知技術であるため、ここではその具体的な手法についての説明は省略する。
【0074】
図11は、図10に示す二次元顔写真Fから、顔の輪郭線、目、鼻、口の領域を認識した状態を示す平面図である。顔の輪郭線は曲線として認識され、目、鼻、口の領域は、図にハッチングを施して示すように、二次元閉領域として認識される。そこで、このようにして認識された個々のパーツに基づいて、それぞれ代表点を定義する。ここに示す例の場合、目および鼻については、パーツ構成領域の重心点を代表点としている。すなわち、右目領域の重心点P1が右目の代表点、左目領域の重心点P2が左目の代表点、鼻領域の重心点P3が鼻の代表点になる。一方、口については、口領域の左右両端点P4,P5を代表点としている。図11は、このようにして、5つの代表点が定義された状態を示す。
【0075】
一方、顔の輪郭線Cは曲線として抽出されるので、この曲線上の複数の点を代表点にとることにする。そのために、ここに示す実施例の場合、二次元顔写真F上に基準点P0および基準線Lを定義する。図12は、図11に示す代表点P1,P2(左右の目の代表点)に基づいて、眉間に基準点P0を決定する処理を示す平面図である。すなわち、両目の代表点P1,P2を結ぶ線を基準線Lと定義し、この基準線L上における両目の代表点P1,P2間の中点を基準点P0と定義している。
【0076】
ここに示す実施例の場合、こうして定義した基準点P0および基準線Lを利用して、顔の輪郭について、次のような方法で5つの代表点を定義する。図13は、図12に示す基準点P0および基準線Lに基づいて、顔の輪郭線Cについての代表点P6〜P10を決定する処理を示す平面図である。まず、基準線Lと輪郭線Cとの交点として、代表点P6,P7が定義される。また、基準点P0と鼻の代表点P3を結ぶ線を顎まで延長し、この延長線と輪郭線Cとの交点として代表点P8が定義される。更に、基準点P0と口の代表点P4,P5を結ぶ線を顎まで延長し、この延長線と輪郭線Cとの交点として代表点P9,P10が定義される。
【0077】
こうして定義された代表点P6〜P10は、いずれも顔の輪郭線C上の点になり、その位置情報は、顔の輪郭線Cの特徴を示す情報ということになる。なお、代表点P6〜P10は、いずれも基準線Lより下方の点であり、基準線Lより上方には代表点が定義されていないが、これは、二次元顔写真Fに写っている人物は、様々な髪型をしており、基準線Lより上方の輪郭線Cの位置は、髪型に大きく左右されるためである。また、一般に、顎部の形状は頭頂部の形状に比べて人相を大きく左右する要素になるため、顔の輪郭線Cの特徴を示す代表点は、頭頂部の輪郭上にとるよりも、顎部の輪郭上にとった方が好ましい、という事情も理由のひとつである。
【0078】
なお、ここに示す実施例では、基準線Lに沿った顔の幅を基準幅と定義し、大きさ調整用のパラメータとして利用している。図13に示す例の場合、2つの代表点P6,P7間の距離が、この二次元顔写真Fの基準幅になる。後述するように、二次元顔写真Fを各雛形モデルと比較する際には、この基準幅を一致させるスケーリングを行い、大きさを揃える処理を行うことになる。
【0079】
結局、図13に示す例では、顔の輪郭線、目、鼻、口を顔を構成する個々のパーツとして用い、目および鼻については、当該パーツ構成領域の重心点を代表点P1,P2,P3とし、顔の輪郭線および口については、当該パーツ構成領域の輪郭線上の点を代表点P4〜P10とすることになる。ここで、口の代表点については、左右の両端点P4,P5を採用し、顔の輪郭線Cの代表点については、所定の基準点P0と他の代表点とを結ぶ線の延長線との交点P6〜P10を採用している。
【0080】
もちろん、ここに示す実施例における代表点の定義方法は、代表的な一例を示すものであり、本発明は、ここに示す例に限定されるものではない。たとえば、上例では、目や鼻の代表点として、パーツ構成領域の重心点を採用しているが、パーツ構成領域の外接矩形の中心点を代表点とすることも可能である。あるいは、目の代表点として、左右の両端点を採用したり、瞳の中心点を採用することも可能であり、鼻の代表点として、鼻孔の位置を採用することも可能である。また、基準点P0の位置も、必ずしも眉間に定義する必要はなく、たとえば、4点P1,P2,P4,P5の重心点を基準点P0に設定してもかまわない。
【0081】
以上、図9に示す実施形態における特徴量抽出部70による特徴量の抽出アルゴリズムの一例を説明した。この例の場合、特徴量抽出部70は、顔写真格納部20に格納されている二次元顔写真Fに基づいて、図13に示すような10個の代表点P1〜P10の座標値を特徴量として抽出することになる。これら10個の代表点P1〜P10の座標分布は、二次元顔写真Fの固有の特徴を定量的に示す情報になる。
【0082】
一方、特徴量格納部80には、雛形モデル格納部30内に格納されている個々の雛形モデルMのそれぞれについて、予め抽出された固有の特徴量が格納されている。特徴量の抽出アルゴリズムは、上述した二次元顔写真Fについての特徴量の抽出アルゴリズムと同様である。ただ、二次元顔写真Fが二次元画像データであったのに対して、雛形モデルMは三次元形状データであるため、特徴量の抽出は、雛形モデルMから直接行う代わりに、その投影像Hから行うことになる。
【0083】
図14は、図9に示す雛形モデル格納部30内に格納されている雛形モデルの投影像Hの一例を示す正面図である。既に述べたとおり、雛形モデル格納部30には、個々の雛形モデルMのそれぞれについて、顔の正面方向を示す正面ベクトルVが格納されている(前述したとおり、Z軸方向を正面ベクトルVとする三次元形状データを用意しておけば、正面ベクトルVの情報は当該三次元形状データに内包される)。したがって、図3に示すように、雛形モデルMを、XYZ三次元座標系上に正面ベクトルVがZ軸に平行になるように配置し、これをXY平面上へ正射影投影すれば、図14に示すような雛形投影像Hを得ることができる。
【0084】
そこで、二次元顔写真Fの代わりに、図14に示す雛形投影像Hを対象として、上述した特徴量の抽出アルゴリズムを実行すれば、この雛形投影像Hについて、各代表点の位置座標を特徴量として抽出することができる。図15は、こうして雛形投影像Hについて抽出された10個の代表点Q1〜Q10を示す平面図である。ここで、各代表点Q1〜Q10は、それぞれ図13に示す各代表点P1〜P10に対応するものである。すなわち、点Q1,Q2は両目の代表点、点Q3は鼻の代表点、点Q4,Q5は口の代表点、点Q6〜Q10は顔の輪郭線CCの代表点である。
【0085】
また、点Q0は、図14に示す点P0と同様に、眉間に定義された基準点(2点Q1,Q2を結ぶ線分の中点)であり、直線LLは、2点Q1,Q2を結ぶ直線として定義される基準線である。代表点Q6,Q7が、この基準線LLと輪郭線CCの交点として定まり、代表点Q8〜Q10が、基準点Q0と各代表点Q3〜Q5を結ぶ線を顎まで延長した線と輪郭線CCの交点として定まる点は、図13に示す例と同様である。ここでは、説明の便宜上、図13に示す代表点P1〜P10(二次元顔写真Fについて定義された代表点)を黒丸で示し、図15に示す代表点Q1〜Q10(雛形モデルMの投影像Hについて定義された代表点)を×印で示すことにする。
【0086】
特徴量格納部80には、雛形モデル格納部30内に格納されているN通りの雛形モデルMのそれぞれについて、図15に示すような10個の代表点Q1〜Q10の座標値が固有の特徴量として格納されている。もちろん、これらの特徴量は、雛形モデル格納部30に格納されている各雛形モデルが変わらない限り不変であるから、特徴量格納部80内の情報は、雛形モデルの入れ替えを行わない限り、そのまま利用可能である。
【0087】
なお、ここでも、基準線LLに沿った顔の幅が基準幅と定義され、大きさ調整用のパラメータとして利用される。すなわち、N通りの雛形モデルMについての10個の代表点Q1〜Q10の座標値は、2つの代表点Q6,Q7間の距離(基準幅)が一定になるように、それぞれ規格化されていることになる。
【0088】
さて、顔写真入力部10によって特定の人物の二次元顔写真Fが入力され、顔写真格納部20に格納されると、特徴量抽出部70は、上述したアルゴリズムに基づいて、図13に示すような10個の代表点P1〜P10の座標値を特徴量として抽出する処理を行う。そして、雛形選択部40Bは、特徴量格納部80に格納されている情報を参照して、特徴量抽出部70が抽出した特徴量に最も近い特徴量を有する特定の雛形モデルを選択することになる。
【0089】
この選択処理は、たとえば、XY平面上において、個々の雛形モデルについての投影像Hと二次元顔写真Fとの大きさ、位置、および向きを調整した上で、雛形投影像Hの各代表点Q1〜Q10と、これに対応する二次元顔写真Fの各代表点P1〜P10との距離の和が最小となる雛形モデルを選択することによって行うことができる。
【0090】
図16は、二次元顔写真Fの代表点P1〜P10(黒丸)と、雛形モデルMの代表点Q1〜Q10(×印)と、の相互位置関係を示す平面図である。図に示すΔ1〜Δ10は、それぞれ対応する代表点間の距離を示している。もし、特定の雛形モデルMの特徴が、二次元顔写真Fの特徴に完全に一致していたとすれば(すなわち、当該雛形モデルMが、二次元顔写真Fの被写体となった人物の頭部の三次元形状に完全に一致していたとすれば)、各代表点P1〜P10の位置と、これに対応する各代表点Q1〜Q10の位置とは完全に一致するので、距離Δ1〜Δ10はいずれも零になる。
【0091】
したがって、ここでは、二次元顔写真Fの代表点P1〜P10の座標を、特徴量格納部80に格納されているN通りの雛形モデルのそれぞれについての代表点Q1〜Q10の座標と比較し、距離Δ1〜Δ10の和が最小となる雛形モデルを、当該二次元顔写真Fに最適のモデルとして選択するようにしている。図17(a) は、このような方法で距離の単純な算術和を求める式を示す図である。この例では、互いに対応する代表点P1〜P10および代表点Q1〜Q10が10組ある場合を想定して、Δ1〜Δ10の和が求められているが、もちろん、代表点の数がm組ある場合には、「Σi=1,m Δi」なる式で総和が求められることになる。
【0092】
一方、図17(b) は、距離の重み付き和を求める式を示す図である。ここで、ki(k1〜k10)は、個々の距離に乗じる重み係数である。このような重み付き和を求める場合も、和が最小となる雛形モデルを最適のモデルとして選択する点に変わりはないが、個々の特徴量(代表点の位置)に重みをつけた取り扱いが可能になる。たとえば、両目の位置という特徴をより重要視して類似性を判断するのであれば、右目の代表点P1,Q1間の距離Δ1に乗じる係数k1および左目の代表点P2,Q2間の距離Δ2に乗じる係数k2を、他の係数に比べて大きく設定すればよい。
【0093】
図17(b) に示す例でも、互いに対応する代表点P1〜P10および代表点Q1〜Q10が10組ある場合を想定して、距離Δ1〜Δ10の重み付き和が求められているが、代表点の数がm組ある場合には、「Σi=1,m ki・Δi」なる式で距離の重み付き総和が求められることになる。
【0094】
ところで、二次元顔写真Fの代表点P1〜P10の座標値と、個々の雛形モデルの代表点Q1〜Q10の座標値とに基づいて、両者の類似性を比較するためには、両者の大きさ、位置、および向きを適切に調整する必要がある。図16に示す例は、このような調整を行った後の状態を示すものである。図に黒丸で示されている代表点P1〜P10の座標系は二次元顔写真Fを配置した座標系であり、図に×印で示されている代表点Q1〜Q10の座標系は雛形投影像Hを配置した座標系であるから、元来、両座標系はそれぞれ別個独立した座標系になっている。したがって、両座標系の相互位置関係を何らかの基準に基づいて整合させなければ、二次元顔写真Fの代表点P1〜P10の位置と、個々の雛形モデルの代表点Q1〜Q10の位置とを適切に比較することはできない。
【0095】
ここに示す実施例では、図13に示すように、二次元顔写真Fに関して、両目の代表点P1,P2を結ぶ線を基準線Lと定義し、この基準線L上における両目の代表点P1,P2間の中点を基準点P0と定義し、この基準線Lに沿った顔の幅(点P6,P7間の距離)を基準幅と定義している。また、図15に示すように、雛形モデルの投影像Hに関して、両目の代表点Q1,Q2を結ぶ線を基準線LLと定義し、この基準線LL上における両目の代表点Q1,Q2間の中点を基準点Q0と定義し、この基準線LLに沿った顔の幅(点Q6,Q7間の距離)を基準幅と定義している。
【0096】
そこで、雛形選択部40Bは、XY平面上において、上記基準幅が一致するように雛形投影像Hと二次元顔写真Fとの大きさの調整を行い(縦横等倍率で拡大縮小する処理を行えばよい)、基準点P0,Q0が一致するように雛形投影像Hと二次元顔写真Fとの位置の調整を行い、基準線L,LLが重なるように雛形投影像Hと二次元顔写真Fとの向きの調整を行うようにしている。
【0097】
図16は、上記方法で、雛形投影像Hと二次元顔写真Fとの大きさ、位置、向きの調整を行った上で、代表点P1〜P10と代表点Q1〜Q10との位置関係を示すXY平面上の平面図である。したがって、基準点P0,Q0は完全に一致している。また、2点P6,P7間の距離(二次元顔写真Fの基準幅)と2点Q6,Q7間の距離(雛形投影像Hの基準幅)とは一致するため、2点P6,Q6はほぼ同じ位置を占め、2点P7,Q7はほぼ同じ位置を占める。また、基準線LとLLとは重なっている。
【0098】
このような方法で、大きさ、位置、向きの調整を行うことにすれば、二次元顔写真Fのどの位置に、どのような大きさで、どのような向きに人物の肖像が写っていたとしても、雛形選択部40Bによる適切な比較処理を行うことができ、当該人物の特徴に最も近似した雛形モデルを選択することができる。なお、XY平面上に取り込んだ二次元顔写真Fが天地逆向きだった場合(頭頂部が下向きになっていた場合)、基準線LとLLとが重なるように向き調整を行うと、天地が逆向きになる可能性がある。そのような場合は、基準線LとLLとが重なり、かつ、代表点P3,Q3(他の代表点でもよい)がこれら基準線LとLLを境界線として同一の領域側にくるように、向きの調整を行うようにすればよい。
【0099】
以上、図9のブロック図を参照しながら、本発明の第3の実施形態に係る三次元ポートレートの作成装置の基本構成および動作を説明した。この実施形態に係る装置を利用すれば、雛形選択部40Bによって最適な雛形モデルの自動選択が行われるので、雛形モデルを選択するためのオペレータによる入力操作は一切不要である。したがって、スナップ写真などから入力された二次元顔写真Fに基づいて、自動的に三次元ポートレートGの作成を行うことができる。
【0100】
<<< §4. 第4の実施形態 >>>
これまで述べてきた実施形態は、いずれも、雛形モデル格納部30内に予め用意されている複数N通りの雛形モデルの中から、顔写真格納部20に格納されている二次元顔写真Fのマッピングに最適なモデルを選択し、当該選択モデルに対して二次元顔写真Fをマッピングすることにより、三次元ポートレートGを作成する、というものであった。ここで、雛形モデル格納部30内に、十分に豊富なバリエーションをもった雛形モデルを用意しておけば、二次元顔写真Fの被写体の人物の実際の頭部にかなり近似した雛形モデルを選択することができ、実用上、違和感のない三次元ポートレートを作成することが可能である。
【0101】
しかしながら、雛形モデル格納部30内に用意されている雛形モデルは、あくまでもテンプレートというべきものであり、二次元顔写真Fの被写体の人物に完全に適合するモデルにはなっていない。特に、人間の顔の主要な要素である両目、鼻、口といったパーツの形状や配置は、人物によって千差万別であり、雛形モデルの数Nをいくら増やしても、完全に一致するモデルを選択することはできない。そこで、ここで述べる第4の実施形態では、雛形選択部40Bが選択した選択モデルMjを二次元顔写真Fに適合するように修正し、修正後の選択モデルMj′の表面に、二次元顔写真Fをマッピングすることにより、二次元顔写真Fと選択モデルMjとの適合性を更に向上させる、という手法を採用する。
【0102】
図18は、本発明の第4の実施形態に係る三次元ポートレートの作成装置の構成を示すブロック図である。図9に示す第3の実施形態に係る装置との相違は、新たにモデル修正部90が設けられている点である。モデル修正部90は、雛形選択部40Bが選択した選択モデルMjを、顔写真格納部20に格納されている二次元顔写真Fに適合するように修正する機能を有し、マッピング処理部50は、修正後の選択モデルMj′の表面に、二次元顔写真Fをマッピングする処理を行う。ここに示す例は、§3で述べた第3の実施形態に、モデル修正部90を付加した例であるため、モデル修正部90は、特徴量抽出部70および特徴量格納部80の機能を利用して選択モデルMjの修正を行うことができる。
【0103】
§3で述べたとおり、雛形モデル格納部30には、複数N通りの雛形モデルのそれぞれについて、顔の正面方向を示す正面ベクトルVが格納されており、特徴量格納部80には、XYZ三次元座標系上に正面ベクトルVがZ軸に平行になるように配置した各雛形モデルを、XY平面上へ正射影投影した雛形投影像Hについて、顔を構成する個々のパーツの代表点の位置座標が特徴量として格納されている。また、特徴量抽出部70は、XY平面上に配置した二次元顔写真Fについて、顔を構成する個々のパーツの代表点の位置座標を特徴量として抽出する機能を有している。
【0104】
特徴量抽出部70および特徴量格納部80は、第3の実施形態の場合、雛形選択部40Bによる雛形モデルの選択処理を補助する役割を果たすことになるが、ここに示す第4の実施形態の場合は、モデル修正部90による修正処理を補助する役割も果たすことになる。
【0105】
すなわち、モデル修正部90は、まず、雛形選択部40Bによって選択された選択モデルMjの雛形投影像Hと、顔写真格納部20に格納されている二次元顔写真Fとを、大きさ、位置、および向きを調整した上で、XY平面上に配置し、選択モデルMjの雛形投影像Hの各代表点から二次元顔写真F上の対応する各代表点に向かう代表移動ベクトルを求める処理を行う。
【0106】
既に述べたとおり、二次元顔写真F上の各代表点は、特徴量抽出部70によって、たとえば、図13に示すような10個の点P1〜P10として抽出されており、選択モデルMjの投影像Hの各代表点は、特徴量格納部80内に、たとえば、図15に示すような10個の点Q1〜Q10として格納されている。これらの代表点は、既に述べたとおり、顔を構成するパーツとして、顔を正面から見たときの、顔の輪郭、目、鼻、口を用い、パーツ構成領域の重心点(パーツ構成領域の外接矩形の中心点でもよい)、または、パーツ構成領域の輪郭線上の点として定義された点である。上例の場合、モデル修正部90は、特徴量格納部80内に格納されている選択モデルMjについての個々の代表点Q1〜Q10から、特徴量抽出部70によって抽出されたそれぞれ対応する代表点P1〜P10に向かうベクトルとして、代表移動ベクトルα1〜α10を求めることができる。
【0107】
図19は、図18に示すモデル修正部90によって求められた代表移動ベクトルの一例を示す平面図である。ここで、点P0,Q0は、図16に示す基準点P0,Q0であり、その余の黒丸で示す点および×印で示す点は、図16に示す代表点P1〜P10および代表点Q1〜Q10である。
【0108】
なお、代表点P1〜P10を含む座標系と代表点Q1〜Q10を含む座標系について、大きさ、位置、向きの調整が行われる点は、§3で述べたとおりである。すなわち、両目の代表点を結ぶ線を基準線L,LLと定義し、この基準線L,LL上における両目の代表点間の中点を基準点P0,Q0と定義し、この基準線L,LLに沿った顔の幅を基準幅と定義した上で、XY平面上において、基準幅が一致するように雛形投影像Hと二次元顔写真Fとの大きさの調整を行い、基準点P0,Q0が一致するように雛形投影像Hと二次元顔写真Fとの位置の調整を行い、基準線L,LLが重なるように雛形投影像Hと二次元顔写真Fとの向きの調整を行うことになる。
【0109】
図16は、代表点P1〜P10の位置と代表点Q1〜Q10の位置の近似度を評価するため、対応する2点間の距離Δ1〜Δ10を求める処理を示すものであるが、図19は、×印で示す各代表点Q1〜Q10から、黒丸で示す各代表点P1〜P10に向かう代表移動ベクトルα1〜α10を求める処理を示すものである。なお、この例では、ベクトルα6,α7は、代表点位置が重なっているため定義されていない。
【0110】
こうして求められた代表移動ベクトルα1〜α10は、XYZ三次元座標系上において、雛形投影像Hの各代表点Q1〜Q10にそれぞれ対応する選択モデルMj上の個々の代表点の移動方向および移動量を示すものである。たとえば、図19において、代表点Q1は、XY平面上の雛形投影像Hの右目の代表点であるが、これに対応する選択モデルMjの表面上の代表点をT1とすれば(すなわち、選択モデルMj上の所定点T1のXY平面上への正射影投影点が点Q1になる関係にある)、当該代表点T1を代表移動ベクトルα1の示す方向に、代表移動ベクトルα1の示す距離だけ移動させれば、移動後の位置が、代表点T1の修正後の位置ということになる。
【0111】
このような方法で、選択モデルMj上の10個の代表点T1〜T10(XY平面上への正射影投影点が点Q1〜Q10になる関係にある点)をそれぞれ代表移動ベクトルα1〜α10に応じて移動すれば、10個の代表点T1〜T10の位置に関する修正を行うことができる。選択モデルMj全体に対して修正を行うためには、選択モデルMjの表面上の任意の一般点Tについての一般移動ベクトルαが定義できればよい。そこで、この任意の一般点Tについての一般移動ベクトルαを、個々の代表移動ベクトルα1〜α10に対する補間処理によって求めるようにする。ここでは、モデル修正部90が、このような補間処理によって一般移動ベクトルαを定義する具体的な方法を2通り述べておく。
【0112】
図20は、代表移動ベクトルに基づく補間処理により、一般移動ベクトルαを定義する第1の方法を示す平面図である。この方法では、モデル修正部90は、選択モデルMjの表面上の任意の一般点Tについての一般移動ベクトルαを求める際に、まず、当該一般点TのXY平面上への投影点Qを求める。続いて、雛形投影像Hの各代表点のうち、当該投影点Qに最も近い第1近傍点Qaおよび2番目に近い第2近傍点Qbを求める。そして、図20に示すように、点Qと点Qaとの距離をDa、点Qと点Qbとの距離をDb、第1近傍点Qaについての代表移動ベクトルをベクトルαa、第2近傍点Qbについての代表移動ベクトルをベクトルαb、としたときに、α=(Db/(Da+Db))・αa+(Da/(Da+Db))・αbなる式によって求まるベクトルαを当該一般点T(投影点Q)についての一般移動ベクトルとする補間処理を行う。
【0113】
この方法によれば、基本的には、2つの近傍点Qa,Qbについての代表移動ベクトルαa,αbを参照した補間を行い、かつ、より近い近傍点Qaについての代表移動ベクトルαaに、より重みをおいた補間が可能になる。
【0114】
図19に示す例について、上述した第1の方法を適用すると、選択モデルMjの表面上の任意の一般点Tについての一般移動ベクトルαは次のような手順で定義される。まず、一般点TのXY平面上への投影点Qを求める。図19に示されている点Qは、このような投影点である。続いて、図に×印で示されている10個の代表点Q1〜Q10の中から、投影点Qに最も近い第1近傍点Qaおよび2番目に近い第2近傍点Qbを求める。図示の例の場合、代表点Q1が第1近傍点Qaとなり、代表点Q3が第2近傍点Qbとなる。そこで、点Qと点Q1との距離をDa、点Qと点Q3との距離をDbとして、α=(Db/(Da+Db))・α1+(Da/(Da+Db))・α3なる式によってベクトルαを求めれば、当該ベクトルαが、一般点Tについての一般移動ベクトルになる。
【0115】
一方、図21は、代表移動ベクトルに基づく補間処理により、一般移動ベクトルαを定義する第2の方法の一例を示す平面図である。図示の例では、一般移動ベクトルαを、近傍の3つの代表移動ベクトルαa,αb,αcを用いた補間処理により決定する。すなわち、モデル修正部90は、選択モデルMjの表面上の任意の一般点Tについての一般移動ベクトルαを求める際に、まず、当該一般点TのXY平面上への投影点Qを求める。続いて、雛形投影像Hの各代表点のうち、当該投影点Qに最も近い第1近傍点Qa、2番目に近い第2近傍点Qb、3番目に近い第3近傍点Qcを求める。そして、図21に示すように、点Qと点Qaとの距離をDa、点Qと点Qbとの距離をDb、点Qと点Qcとの距離をDc、第1近傍点Qaについての代表移動ベクトルをベクトルαa、第2近傍点Qbについての代表移動ベクトルをベクトルαb、第3近傍点Qcについての代表移動ベクトルをベクトルαc、としたときに、α=(αa/Da2+αb/Db2+αc/Dc2)/(1/Da2+1/Db2+1/Dc2)なる式によって求まるベクトルαを当該一般点Tについての一般移動ベクトルとする補間処理を行う。
【0116】
この方法によれば、基本的には、3つの近傍点Qa,Qb,Qcについての代表移動ベクトルαa,αb,αcを参照した補間を行い、かつ、より近い近傍点についての代表移動ベクトルに、より重みをおいた補間が可能になる。
【0117】
図21では、3つの近傍点Qa,Qb,Qcを用いる例を示したが、実際には、4つ以上の近傍点を用いても、同様の補間処理が可能である。すなわち、一般にn個(n≧3)の近傍点を用いることにすれば、モデル修正部90は、一般点Tについての一般移動ベクトルαを求める際に、雛形投影像Hのn個(n≧3)の代表点のそれぞれと当該一般点TのXY平面上への投影点Qとの距離D1,... ,Di,... ,Dnをそれぞれ求め、雛形投影像Hのn個の代表点についての代表移動ベクトルを、それぞれα1,... ,αi,... ,αnとしたときに、図22に示すように、α=Σi=1,n(αi/Di2)/Σi=1,n(1/Di2)なる式によって求まるベクトルαを当該一般点Tについての一般移動ベクトルαとする補間処理を行えばよい。
【0118】
nは3以上の任意の整数に設定することができる。たとえば、図19に示す例において、n=10に設定すれば、任意の投影点Qの位置についての一般移動ベクトルαを、10個の代表点Q1〜Q10についての代表移動ベクトルα1〜α10に基づく補間処理によって求めることができる(すなわち、すべての代表移動ベクトルに基づく補間処理を行うことになる)。
【0119】
なお、n個の代表点としては、一般的には、投影点Qに第1番目に近い第1近傍点〜第n番目に近い第n近傍点を選択すればよいが、必ずしも近い順にn個を選択する必要はない。たとえば、図15に示す例において、n=5として、5個の代表点を選択する場合、投影点Qの位置にかかわらず常に代表点Q1〜Q5を選ぶようにすれば、どのような場合も、両目、鼻、口の代表点についての代表移動ベクトルα1〜α5に基づく補間が行われることになる。
【0120】
以上、モデル修正部90が、雛形投影像Hの各代表点に定義された代表移動ベクトルに基づく補間処理によって、選択モデルMj上の任意の一般点Tについての一般移動ベクトルαを定義する具体的な方法を2つ紹介したが、もちろん、一般移動ベクトルαの定義方法は、これら2つの方法に限定されるものではない。このように、任意の一般点Tについての一般移動ベクトルαを定義し、選択モデルMj上の任意の一般点Tを当該一般移動ベクトルαの示す方向に、当該一般移動ベクトルαの示す距離だけ移動させれば、移動後の位置が、当該一般点Tの修正後の位置ということになる。
【0121】
結局、モデル修正部90は、XYZ三次元座標系上において、雛形投影像Hの各代表点にそれぞれ対応する選択モデルMj上の個々の代表点については、それぞれ対応する代表移動ベクトルに応じた移動処理を行い、選択モデルMj上のその余の一般点Tについては、個々の代表移動ベクトルに対する補間処理によって得られた一般移動ベクトルαに応じた移動処理を行うことにより、選択モデルMjに対する修正を行うことになる。
【0122】
図23は、モデル修正部90によって行われる選択モデルMjに対する修正処理を示す斜視図である。上述したように、正面ベクトルVjがZ軸と平行になるように選択モデルMjをXYZ三次元座標系上に配置し、投影面S(XY平面)上に雛形投影像Hjを形成する。一方、この投影面S上に、大きさ、位置、向きを調整した二次元顔写真F(図23には示されていない)を重ね合わせ、雛形投影像Hjの特徴を示す10個の代表点Q1〜Q10から、二次元顔写真Fの特徴を示す10個の代表点P1〜P10へと向かう代表移動ベクトルα1〜α10を求める。
【0123】
続いて、選択モデルMj上の任意の一般点Tについて、投影面S上への投影点Qを求め、図20に示す補間方法や、図21に示す補間方法を用いて、投影点Qについての一般移動ベクトルαを求めれば、当該一般移動ベクトルαは、一般点Tの移動方向および移動量を示すベクトルということになる。なお、選択モデルMjは、頭部の三次元形状データであるので、背面側(後頭部側)にも点が定義されているが、一般に、個人に固有な特徴は顔面部分に現われるので、後頭部側についての修正処理は行わなくても大きな支障は生じない。ただ、必要があれば、このような背面側の一般点についても全く同様にして一般移動ベクトルαを求めることができる。たとえば、図23に示す一般点Tは正面側(顔側)の点であり、一般点Uは背面側(後頭部側)の点であるが、図示のとおり、いずれも投影面S上への投影点が点Qであるので、投影点Qについて求められた一般移動ベクトルαは、一般点TおよびUの双方に適用することができる。
【0124】
このように、理論的には、選択モデルMjの正面側、背面側を問わず、表面上の任意の一般点について、一般移動ベクトルαを定義することができるので、選択モデルMjの表面上のすべての点について、その位置の修正を行えば、修正後の点によって構成されるモデルが、修正後の選択モデルMj′ということになる。もっとも、実際には、選択モデルMjは有限個の点の集合からなる三次元形状データによって構成されるので、これら有限個の点について、それぞれ位置の修正を行えば足りる。たとえば、選択モデルMjがポリゴンからなる三次元形状データの場合は、個々のポリゴンの頂点について位置修正を行えば、修正後の選択モデルMj′を得ることができる。
【0125】
代表移動ベクトルも一般移動ベクトルも、いずれも投影面S(XY平面)に含まれるベクトル、すなわち、XY平面に平行なベクトルであるため、上記修正処理を行う際の点の移動は、いずれもXY平面に平行な方向への移動ということになる。そして、移動後の各点によって構成される修正後の選択モデルMj′を投影面Sへ正射影投影して得られる投影像は、二次元顔写真Fに対する合致度が向上したものになる(少なくとも、代表点の位置に関しては完全に一致する)。したがって、選択モデルMjに対するマッピングによって得られる三次元ポートレートに比べて、修正後の選択モデルMj′に対するマッピングによって得られる三次元ポートレートの方が、違和感のない自然なポートレートになる。
【0126】
<<< §5. 第5の実施形態 >>>
§4では、第4の実施形態として、雛形選択部40Bが選択した選択モデルMjを二次元顔写真Fに適合するように修正するモデル修正部90を付加する例を説明した。ここでは、逆に、二次元顔写真Fを、雛形選択部40Bが選択した選択モデルMjに適合するように修正する実施形態を説明する。
【0127】
図24は、本発明の第5の実施形態に係る三次元ポートレートの作成装置の構成を示すブロック図である。図9に示す第3の実施形態に係る装置との相違は、新たに顔写真修正部95が設けられている点である。顔写真修正部95は、顔写真格納部20に格納されている二次元顔写真Fを、雛形選択部40Bが選択した選択モデルMjに適合するように修正する機能を有し、マッピング処理部50は、選択モデルMjの表面に、修正後の二次元顔写真F′をマッピングする処理を行う。ここに示す例は、§3で述べた第3の実施形態に、顔写真修正部95を付加した例であるため、顔写真修正部95は、特徴量抽出部70および特徴量格納部80の機能を利用して二次元顔写真Fの修正を行うことができる。
【0128】
顔写真修正部95による修正処理は、§4で述べたモデル修正部90による修正処理と逆の処理と言うことができる。すなわち、顔写真修正部95は、まず、雛形選択部40Bによって選択された選択モデルMjの雛形投影像Hと、顔写真格納部20に格納されている二次元顔写真Fとを、大きさ、位置、および向きを調整した上で、XY平面上に配置し、二次元顔写真Fの各代表点から選択モデルの雛形投影像H上の対応する各代表点に向かう代表移動ベクトルを求める処理を行う。
【0129】
既に述べたとおり、二次元顔写真F上の各代表点は、特徴量抽出部70によって、たとえば、図13に示すような10個の点P1〜P10として抽出されており、選択モデルMjの投影像Hの各代表点は、特徴量格納部80内に、たとえば、図15に示すような10個の点Q1〜Q10として格納されている。そこで、上例の場合、顔写真修正部95は、特徴量抽出部70によって抽出された個々の代表点P1〜P10から、特徴量格納部80内に格納されている選択モデルMjについてのそれぞれ対応する代表点Q1〜Q10に向かうベクトルとして、代表移動ベクトルβ1〜β10を求めることができる。
【0130】
図25は、図24に示す顔写真修正部95によって求められた代表移動ベクトルの一例を示す平面図である。ここで、黒丸で示す各点および×印で示す各点は、図19に示す各点と同様であり、XY平面上において、選択モデルMjの雛形投影像Hと二次元顔写真Fとの大きさ、位置、および向きを調整して重ね合わせることにより得られた点である。ただ、図19では、×印で示す点(雛形投影像H上の点)から黒丸で示す点(二次元顔写真F上の点)に向かうベクトルα1〜α10を代表移動ベクトルとしていたが、図25では、逆に、黒丸で示す点(二次元顔写真F上の点)から×印で示す点(雛形投影像H上の点)に向かうベクトルβ1〜β10を代表移動ベクトルとしている。別言すれば、ベクトルβ1〜β10はベクトルα1〜α10をそれぞれ逆向きにしたものに相当する。
【0131】
こうして求められた代表移動ベクトルβ1〜β10は、XY平面(投影面S)上において、二次元顔写真F上の個々の代表点P1〜P10の移動方向および移動量を示すものである。たとえば、図25において、代表点P1は、二次元顔写真Fの右目の代表点であるが、この代表点P1を代表移動ベクトルβ1の示す方向に、代表移動ベクトルβ1の示す距離だけ移動させれば、移動後の位置が、代表点P1の修正後の位置ということになる。この修正後の位置は、雛形投影像Hの右目の代表点Q1に一致する。
【0132】
このような方法で、二次元顔写真F上の10個の代表点P1〜P10をそれぞれ代表移動ベクトルβ1〜β10に応じて移動すれば、10個の代表点P1〜P10の位置に関する修正を行うことができる。二次元顔写真F全体に対して修正を行うためには、二次元顔写真F上の任意の一般点Pについての一般移動ベクトルβが定義できればよい。そこで、この任意の一般点Pについての一般移動ベクトルβを、個々の代表移動ベクトルβ1〜β10に対する補間処理によって求めるようにする。§4では、代表移動ベクトルα1〜α10に対する補間処理によって一般移動ベクトルαを定義する具体的な方法を2通り述べたが、ここでは、同じ考え方を利用して、代表移動ベクトルβ1〜β10に対する補間処理によって一般移動ベクトルβを定義する具体的な方法を2通り述べておく。
【0133】
図26は、代表移動ベクトルに基づく補間処理により、一般移動ベクトルβを定義する第1の方法を示す平面図である。この方法では、顔写真修正部95は、二次元顔写真F上の任意の一般点Pについての一般移動ベクトルβを求める際に、二次元顔写真Fの各代表点のうち、当該一般点Pに最も近い第1近傍点Paおよび2番目に近い第2近傍点Pbを求める。そして、図26に示すように、点Pと点Paとの距離をDa、点Pと点Pbとの距離をDb、第1近傍点Paについての代表移動ベクトルをベクトルβa、第2近傍点Pbについての代表移動ベクトルをベクトルβb、としたときに、β=(Db/(Da+Db))・βa+(Da/(Da+Db))・βbなる式によって求まるベクトルβを当該一般点Pについての一般移動ベクトルβとする補間処理を行う。
【0134】
この方法によれば、基本的には、2つの近傍点Pa,Pbについての代表移動ベクトルβa,βbを参照した補間を行い、かつ、より近い近傍点Paについての代表移動ベクトルβaに、より重みをおいた補間が可能になる。
【0135】
図25に示す例について、上述した第1の方法を適用すると、二次元顔写真F上の任意の一般点Pについての一般移動ベクトルβは次のような手順で定義される。まず、図に黒丸で示されている10個の代表点P1〜P10の中から、一般点Pに最も近い第1近傍点Paおよび2番目に近い第2近傍点Pbを求める。図示の例の場合、代表点P1が第1近傍点Paとなり、代表点P3が第2近傍点Pbとなる。そこで、点Pと点P1との距離をDa、点Pと点P3との距離をDbとして、β=(Db/(Da+Db))・β1+(Da/(Da+Db))・β3なる式によってベクトルβを求めれば、当該ベクトルβが、一般点Pについての一般移動ベクトルになる。
【0136】
一方、図27は、代表移動ベクトルに基づく補間処理により、一般移動ベクトルβを定義する第2の方法の一例を示す平面図である。図示の例では、一般移動ベクトルβを、近傍の3つの代表移動ベクトルβa,βb,βcを用いた補間処理により決定する。すなわち、顔写真修正部95は、二次元顔写真F上の任意の一般点Pについての一般移動ベクトルβを求める際に、二次元顔写真Fの各代表点のうち、当該一般点Pに最も近い第1近傍点Pa、2番目に近い第2近傍点Pb、3番目に近い第3近傍点Pcを求める。そして、図27に示すように、点Pと点Paとの距離をDa、点Pと点Pbとの距離をDb、点Pと点Pcとの距離をDc、第1近傍点Paについての代表移動ベクトルをベクトルβa、第2近傍点Pbについての代表移動ベクトルをベクトルβb、第3近傍点Pcについての代表移動ベクトルをベクトルβc、としたときに、β=(βa/Da2+βb/Db2+βc/Dc2)/(1/Da2+1/Db2+1/Dc2)なる式によって求まるベクトルβを当該一般点Pについての一般移動ベクトルとする補間処理を行う。
【0137】
この方法によれば、基本的には、3つの近傍点Pa,Pb,Pcについての代表移動ベクトルβa,βb,βcを参照した補間を行い、かつ、より近い近傍点についての代表移動ベクトルに、より重みをおいた補間が可能になる。
【0138】
図27では、3つの近傍点Pa,Pb,Pcを用いる例を示したが、実際には、4つ以上の近傍点を用いても、同様の補間処理が可能である。すなわち、一般にn個(n≧3)の近傍点を用いることにすれば、顔写真修正部95は、一般点Pについての一般移動ベクトルβを求める際に、二次元顔写真Fのn個(n≧3)の代表点のそれぞれと当該一般点Pとの距離D1,... ,Di,... ,Dnをそれぞれ求め、二次元顔写真Fのn個の代表点についての代表移動ベクトルを、それぞれβ1,... ,βi,... ,βnとしたときに、図28に示すように、β=Σi=1,n(βi/Di2)/Σi=1,n(1/Di2)なる式によって求まるベクトルβを当該一般点Pについての一般移動ベクトルβとする補間処理を行えばよい。
【0139】
nは3以上の任意の整数に設定することができる。たとえば、図25に示す例において、n=10に設定すれば、任意の一般点Pの位置についての一般移動ベクトルβを、10個の代表点P1〜P10についての代表移動ベクトルβ1〜β10に基づく補間処理によって求めることができる(すなわち、すべての代表移動ベクトルに基づく補間処理を行うことになる)。
【0140】
なお、n個の代表点としては、一般的には、一般点Pに第1番目に近い第1近傍点〜第n番目に近い第n近傍点を選択すればよいが、必ずしも近い順にn個を選択する必要はない。たとえば、図13に示す例において、n=5として、5個の代表点を選択する場合、一般点Pの位置にかかわらず常に代表点P1〜P5を選ぶようにすれば、どのような場合も、両目、鼻、口の代表点についての代表移動ベクトルβ1〜β5に基づく補間が行われることになる。
【0141】
以上、顔写真修正部95が、二次元顔写真Fの各代表点に定義された代表移動ベクトルに基づく補間処理によって、二次元顔写真F上の任意の一般点Pについての一般移動ベクトルβを定義する具体的な方法を2つ紹介したが、もちろん、一般移動ベクトルβの定義方法は、これら2つの方法に限定されるものではない。このように、任意の一般点Pについての一般移動ベクトルβを定義し、二次元顔写真F上の任意の一般点Pを当該一般移動ベクトルβの示す方向に、当該一般移動ベクトルβの示す距離だけ移動させれば、移動後の位置が、当該一般点Pの修正後の位置ということになる。
【0142】
結局、顔写真修正部95は、XY平面上において、二次元顔写真Fの各代表点をそれぞれ対応する代表移動ベクトルに応じて移動させ、二次元顔写真F上のその余の一般点Pを、個々の代表移動ベクトルに対する補間処理によって得られた一般移動ベクトルβに応じて移動させることにより、二次元顔写真Fに対する修正を行うことになる。このように、理論的には、二次元顔写真F上の任意の一般点Pについて、一般移動ベクトルβを定義することができるので、二次元顔写真F上のすべての点について、その位置の修正を行えば、修正後の点によって構成される画像が、修正後の二次元顔写真F′ということになる。もっとも、実際には、二次元顔写真Fは有限個の点(画素)の集合からなる二次元画像データによって構成されるので、これら有限個の点(画素)について、それぞれ位置の修正を行えば足りる。
【0143】
代表移動ベクトルも一般移動ベクトルも、いずれも投影面S(XY平面)に含まれるベクトル、すなわち、XY平面に平行なベクトルであるため、上述した位置修正の処理は、いずれもXY平面内での移動処理ということになる。こうして得られる修正後の二次元顔写真F′は、選択モデルMjに対する合致度が向上したものになる(少なくとも、代表点の位置に関しては完全に一致する)。すなわち、修正前の二次元顔写真Fを選択モデルMjにマッピングする場合に比べて、修正後の二次元顔写真F′を選択モデルMjにマッピングする場合の方が、マッピング状態がより自然になる。
【0144】
最後に、§4で述べた第4の実施形態と、§5で述べた第5の実施形態との特徴の違いを簡単に述べておく。
【0145】
まず、前者は、二次元顔写真Fに合致するように雛形モデルMjに対して修正を加える手法を採用するものであり、二次元顔写真Fは元のままである。このため、最終的に作成される三次元ポートレートには、元の二次元顔写真Fの特徴、すなわち、被写体となった元の人物の特徴がそのまま表現されることになる。別言すれば、最終的に作成される三次元ポートレートは、元の人物によく似た顔付きをしたものになる。したがって、元の人物によく似たポートレートを作成するには、§4で述べた第4の実施形態を採るのが好ましい。
【0146】
ただ、最終的に作成される三次元ポートレートの三次元形状は、選択した雛形モデルに修正を加えたものになるため、用意した雛形モデルのいずれとも一致しない。このため、たとえば、帽子、かつら、眼鏡などの三次元形状データを既製品として用意しておいても、これをそのまま適用することはできなくなる。
【0147】
これに対して、後者は、選択された雛形モデルMjに合致するように二次元顔写真Fに対して修正を加える手法を採用するものであり、雛形モデルMjは元のままである。したがって、個々の雛形モデルごとに、帽子、かつら、眼鏡などの三次元形状データを既製品として用意しておけば、マッピング処理部50から出力された三次元ポートレートに、これら既製品を適用して、帽子、かつら、眼鏡などを着用した三次元ポートレートを作成することができる。ただ、二次元顔写真Fに対して修正が加えられてしまうため、三次元ポートレート上の顔付きは、元の人物と若干変わったものになってしまう。
【0148】
<<< §6. その他の変形例/応用例 >>>
最後に、本発明の更なる変形例や応用例をいくつか述べておく。
【0149】
(1) 髪の毛の取り扱い
これまで述べた実施形態では、髪の毛を除いた人間の頭部表面の三次元形状データからなる雛形モデルを用いている。このため、図5に示すような三次元ポートレートGには、二次元顔写真Fに写っている髪の毛の部分の画像がマッピングされているものの、髪の毛の立体形状の再現は十分ではない。
【0150】
そこで、髪の毛の形状までも含めて、二次元顔写真F上の人物をより忠実に再現した三次元ポートレートを作成するには、様々な髪の毛の立体形状を含んだ雛形モデルのバリエーションを用意しておき、髪の毛の形状も含めて最適な雛形モデルの選択を行うようにすればよい。具体的には、これまで述べてきた実施形態における顎の輪郭線上の代表点P8〜P10と同様に、髪の毛の輪郭線上にも代表点を定義し、これら代表点の分布が近似する雛形モデルを選択すればよい。
【0151】
あるいは、上述したように、種々のバリエーションをもった「かつら」に相当する三次元形状データを既製品として用意しておき、二次元顔写真F上の人物の髪に合致する「かつら」を合成することにより、最終的な三次元ポートレートを作成するようにしてもよい。
【0152】
(2) 斜めを向いた二次元顔写真を用いる例
これまで述べた実施形態では、二次元顔写真Fとして、被写体となる人物がほぼ正面を向いて写っている画像を用いる例を説明した。本発明を実施する上で、実用上は、このような正面向きの二次元顔写真を用いるのが好ましい。ただ、正面向きの二次元顔写真は、本発明を実施するための必須事項ではなく、本発明は、斜めを向いた二次元顔写真を用いても実施可能である。
【0153】
一般に、人間の顔は鼻の中心線に関して左右対称になっているので、二次元顔写真Fに写っている被写体の人物が斜めを向いていた場合でも、左顔面および右顔面のいずれか一方に関する画像が抽出できれば、これに対する鏡像関係にある画像として、他方の画像を生成することができる。また、目、鼻、口などの形状や配置の特徴に基づいて、撮影方向の傾き角を推定することができるので、斜めの肖像画像を正面向きの肖像画像に変換することも可能である。したがって、若干、処理は複雑化するものの、本発明によれば、斜めを向いた二次元顔写真を用いて、三次元ポートレートを作成することも可能である。
【0154】
(3) 細かな凹凸形状の付加
顔の特徴を解析する公知技術を利用すれば、二次元顔写真Fにおける顔の陰影を分析することにより、肌の起伏状態など、より細かな凹凸形状を認識することが可能である。そこで、選択した雛形モデルをベースとして、認識した細かな凹凸形状を付加する修正を加えることにより、三次元形状の再現性を更に向上させることも可能である。
【0155】
(4) コンピュータを利用した装置構成
これまで述べた第1の実施形態〜第5の実施形態では、それぞれブロック図を用いて、機能的構成要素の集合体として本発明に係る三次元ポートレートの作成装置を説明したが、実用上は、本発明に係る三次元ポートレートの作成装置は、コンピュータに専用のプログラムを組み込むことによって構成することが可能である。
【0156】
たとえば、図1に示す装置において、顔写真格納部20や雛形モデル格納部30は、コンピュータ用のハードディスク装置やメモリなどの記憶装置によって構成することができ、顔写真入力部10は、スキャナ装置や通信装置などのデータ入出力装置によって構成することができ、雛形選択部40やマッピング処理部50は、コンピュータに内蔵されているCPUなどの処理装置と専用のプログラムとの組み合わせによって構成することができる。同様に、図6に示す属性格納部60や図9に示す特徴量格納部80は、コンピュータ用のハードディスク装置やメモリなどの記憶装置によって構成することができ、図9に示す特徴量抽出部70、図18に示すモデル修正部90、図24に示す顔写真修正部95は、コンピュータに内蔵されているCPUなどの処理装置と専用のプログラムとの組み合わせによって構成することができる。
【0157】
特に、第3、第4、第5の実施形態に係る装置は、オペレータによる操作入力が必要ないので、ネットワークに接続されたサーバ装置に専用のプログラムを組み込むことによって構成し、ユーザからネットワーク経由で送信されてきた二次元顔写真Fの画像データに基づいて、自動的に三次元ポートレートGとなる三次元画像データを生成し、これをネットワーク経由で当該ユーザに返信するようなシステムを構築することも可能である。
【0158】
(5) 視差画像作成システムへの応用
本発明により作成された三次元ポートレートは、様々な用途に利用可能である。たとえば、冠婚葬祭向けの三次元映像表示として利用するのであれば、新郎新婦の写真から、その立体映像をディスプレイ画面上に表示することができる。また、遺影に基づいて故人の三次元ポートレートを作成できれば、葬儀に立体映像の提示が可能になる。もちろん、三次元ポートレートのデータに基づいて、立体肖像を作成するような用途に利用してもかまわない。
【0159】
また、近年、右目と左目による視差を利用して、立体画像を提示する技術も実用化されており、本発明に係る三次元ポートレートの作成装置は、このような立体画像提示用の視差画像を作成するシステムにも利用可能である。具体的には、これまで述べてきた本発明に係る三次元ポートレートの作成装置と、この三次元ポートレートの作成装置から出力された頭部三次元モデルのデータに基づいて、頭部三次元モデルを左右両眼の各位置から観察して得られる2枚の視差画像を作成し、これを画像データとして出力する視差画像作成装置と、を組み合わせれば、三次元ポートレート用視差画像作成システムが実現できる。
【0160】
特に、視差画像作成装置として、作成した2枚の視差画像を物理的媒体上に印刷して出力する装置を用いれば、三次元の立体像が観察可能な物理媒体の作成が可能である。具体的には、2枚の視差画像を印刷し、その上にレンチキュラーレンズを積層するようにすれば、特定の視線方向から観察した場合に、三次元の立体像が観察可能な物理媒体を得ることができ、三次元証明写真としての用途などにも利用できる。もちろん、作成する視差画像は必ずしも左右両眼位置を視点とした2枚の画像に限定されるものではなく、互いに異なる視点位置から観察して得られる2枚以上の視差画像であればよい。
【符号の説明】
【0161】
10:顔写真入力部
20:顔写真格納部
30:雛形モデル格納部
40,40A,40B:雛形選択部
50:マッピング処理部
60:属性格納部
70:特徴量抽出部
80:特徴量格納部
90:モデル修正部
95:顔写真修正部
C:二次元顔写真における顔の輪郭線
CC:雛形投影像における顔の輪郭線
Da〜Dc:距離
F:二次元顔写真
F′:修正後の二次元顔写真
G:三次元ポートレート(頭部三次元モデルのデータ)
H,Hj:雛形投影像
ki:重み係数
L:二次元顔写真上の基準線
LL:雛形投影像上の基準線
L1,L2:顔の横幅
M,M1〜M5:雛形モデル(頭部の三次元立体データ)
Mj:選択モデル
Mj′:修正後の選択モデル
O:XYZ三次元座標系の原点
P:二次元顔写真上の一般点
P0:二次元顔写真上の基準点
P1〜P10,Pa〜Pc:二次元顔写真上の代表点
Q:雛形投影像上の一般点
Q0:雛形投影像上の基準点
Q1〜Q10,Qa〜Qc:雛形投影像上の代表点
S:投影面(XY平面)
T,U:選択モデルMj上の一般点
V1〜V5,Vj:正面ベクトル
W:顎下基準線
X:XYZ三次元座標系の座標軸
Y:XYZ三次元座標系の座標軸
Z:XYZ三次元座標系の座標軸
α:一般移動ベクトル
αi,αa〜αc:代表移動ベクトル
β:一般移動ベクトル
βi,βa〜βc:代表移動ベクトル
Δ1〜Δ10:2点間の距離
【技術分野】
【0001】
本発明は、三次元ポートレートの作成装置に関し、特に、特定の人物についての二次元顔写真データに基づいて、当該特定の人物についての頭部三次元モデルのデータを作成する装置に関する。
【背景技術】
【0002】
コンピュータグラフィックス技術の発展により、様々な物体を三次元画像データとして取り扱うことが可能になってきている。このため、人物についても、立体的な肖像画(三次元ポートレート)を作成する方法が提案されている。
【0003】
たとえば、下記の特許文献1には、人物を複数の方向から撮影した画像に対してコンピュータ処理を施すことにより、当該人物の三次元ポートレートを作成する技術が開示されている。また、特許文献2には、標準モデルを利用して、二次元ポートレートに基づいて三次元ポートレートを作成する技術が開示されている。そして、特許文献3には、このようにして得られた三次元ポートレートを、レンチキュラレンズを用いた記録媒体に記録する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−099807号公報
【特許文献2】特開2002−32783号公報
【特許文献3】特開2007−147737号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特定の人物の三次元ポートレートを作成するには、前掲の特許文献1に開示されているように、被写体となる人物を様々な方向から撮影することにより三次元情報を忠実に取り込むのが最も直接的かつ確実な方法である。しかしながら、このような方法で三次元情報を取り込むには、大掛かりな撮影設備が必要になる。具体的には、スタジオの中央に被写体を座らせ、その周囲に、カメラを移動させるためのレールを敷設し、このレールに沿ってカメラを移動させながら複数の画像を撮影する装置が一般に利用されている。このような大掛かりな撮影装置を利用すれば、当然、三次元ポートレートの作成コストは高騰せざるを得ない。
【0006】
また、被写体となる人物に、スタジオまで足を運んでもらい、撮影の間、静止していてもらう必要があるため、被写体となる人物に対する負担も大きい。当然ながら、故人となった人物については、このような方法で三次元ポートレートを作成することはできない。
【0007】
このような問題に対処するため、前掲の特許文献2には、三次元の標準モデルを用意しておき、この標準モデルを、撮影時のパラメータに基づいて二次元ポートレートにフィッティングさせながら変形することにより三次元ポートレートを作成する技術が開示されている。しかしながら、この方法では、フィッティングを行う段階で無理な歪みが生じるため、場合によっては、ポートレートとして相応しくない程に歪みを生じる可能性がある。また、三次元の標準モデルを画一的に適用するため、二次元ポートレート上の人物の細かな特徴が、三次元ポートレート上は十分に表現されないという問題も生じる。
【0008】
そこで本発明は、被写体となる人物の二次元顔写真に基づいて、当該人物の三次元ポートレートを正確に作成することが可能な三次元ポートレートの作成装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
(1) 本発明の第1の態様は、二次元の顔写真に基づいて、三次元ポートレートを作成する三次元ポートレートの作成装置において、
特定の人物についての二次元顔写真を画像データとして取り込む顔写真入力部と、
取り込んだ二次元顔写真を格納する顔写真格納部と、
複数N通りのバリエーションをもった頭部の三次元形状データを雛形モデルとして格納した雛形モデル格納部と、
N通りの雛形モデルの中の1つを選択する雛形選択部と、
雛形選択部が選択した選択モデルの表面に、顔写真格納部内の二次元顔写真をマッピングして、頭部三次元モデルを作成し、作成した頭部三次元モデルのデータを特定の人物についての三次元ポートレートとして出力するマッピング処理部と、
を設けるようにしたものである。
【0010】
(2) 本発明の第2の態様は、上述した第1の態様に係る三次元ポートレートの作成装置において、
雛形選択部が、N通りの雛形モデルの中の1つを指定するオペレータの選択指示に基づいて雛形モデルの選択を行うようにしたものである。
【0011】
(3) 本発明の第3の態様は、上述した第1の態様に係る三次元ポートレートの作成装置において、
個々の雛形モデルのそれぞれについて、特定の基準で分類した場合にどの分類に所属するかを示す属性を定義した情報を格納した属性格納部を更に設け、
雛形選択部が、オペレータから入力された属性に基づいて属性格納部を検索し、入力された属性に合致する属性が定義された特定の雛形モデルを選択するようにしたものである。
【0012】
(4) 本発明の第4の態様は、上述した第1の態様に係る三次元ポートレートの作成装置において、
個々の雛形モデルのそれぞれについて、固有の特徴量を格納した特徴量格納部と、
顔写真格納部に格納された二次元顔写真から固有の特徴量を抽出する特徴量抽出部と、
を更に設け、
雛形選択部が、特徴量抽出部が抽出した特徴量に最も近い特徴量を有する特定の雛形モデルを選択するようにしたものである。
【0013】
(5) 本発明の第5の態様は、上述した第4の態様に係る三次元ポートレートの作成装置において、
特徴量として、顔を構成する個々のパーツの代表点の位置座標を用い、
雛形選択部が、雛形モデルと二次元顔写真との大きさ、位置、および向きを調整した上で、各代表点の位置が最も近似した特定の雛形モデルを選択するようにしたものである。
【0014】
(6) 本発明の第6の態様は、上述した第5の態様に係る三次元ポートレートの作成装置において、
顔を構成するパーツとして、顔を正面から見たときの、顔の輪郭、目、鼻、口の群から選択された複数のパーツを用い、
個々のパーツの代表点として、パーツ構成領域の重心点、パーツ構成領域の外接矩形の中心点、または、パーツ構成領域の輪郭線上の点を用いるようにしたものである。
【0015】
(7) 本発明の第7の態様は、上述した第6の態様に係る三次元ポートレートの作成装置において、
雛形モデル格納部が、個々の雛形モデルのそれぞれについて、顔の正面方向を示す正面ベクトルVを格納しており、
特徴量格納部が、XYZ三次元座標系上に正面ベクトルVがZ軸に平行になるように配置した雛形モデルを、XY平面上へ正射影投影した雛形投影像について、各代表点の位置座標を特徴量として格納しており、
特徴量抽出部が、XY平面上に配置した二次元顔写真について、各代表点の位置座標を特徴量として抽出し、
雛形選択部が、XY平面上において、雛形投影像と二次元顔写真との大きさ、位置、および向きを調整した上で、雛形投影像の各代表点と、これに対応する二次元顔写真の各代表点との距離の和もしくは距離の重み付き和が最小となる雛形モデルを選択するようにしたものである。
【0016】
(8) 本発明の第8の態様は、上述した第7の態様に係る三次元ポートレートの作成装置において、
両目の代表点を結ぶ線を基準線と定義し、この基準線上における両目の代表点間の中点を基準点と定義し、基準線に沿った顔の幅を基準幅と定義し、
雛形選択部が、XY平面上において、基準幅が一致するように雛形投影像と二次元顔写真との大きさの調整を行い、基準点が一致するように雛形投影像と二次元顔写真との位置の調整を行い、基準線が重なるように雛形投影像と二次元顔写真との向きの調整を行うようにしたものである。
【0017】
(9) 本発明の第9の態様は、上述した第1〜第8の態様に係る三次元ポートレートの作成装置において、
雛形選択部が選択した選択モデルを、顔写真格納部に格納されている二次元顔写真に適合するように修正するモデル修正部を更に設け、
マッピング処理部が、修正後の選択モデルの表面に、二次元顔写真をマッピングするようにしたものである。
【0018】
(10) 本発明の第10の態様は、上述した第9の態様に係る三次元ポートレートの作成装置において、
雛形モデル格納部が、個々の雛形モデルのそれぞれについて、顔の正面方向を示す正面ベクトルVを格納しており、
XYZ三次元座標系上に正面ベクトルVがZ軸に平行になるように配置した雛形モデルを、XY平面上へ正射影投影した雛形投影像について、顔を構成する個々のパーツの代表点の位置座標を特徴量として格納した特徴量格納部と、
XY平面上に配置した二次元顔写真について、顔を構成する個々のパーツの代表点の位置座標を特徴量として抽出する特徴量抽出部と、
を設け、
モデル修正部が、
XY平面上において、選択モデルの雛形投影像と二次元顔写真との大きさ、位置、および向きを調整した上で、選択モデルの雛形投影像の各代表点から二次元顔写真上の対応する各代表点に向かう代表移動ベクトルを求め、
XYZ三次元座標系上において、雛形投影像の各代表点にそれぞれ対応する選択モデル上の個々の代表点を、それぞれ対応する代表移動ベクトルに応じて移動させ、選択モデル上のその余の一般点を、個々の代表移動ベクトルに対する補間処理によって得られた一般移動ベクトルに応じて移動させることにより、選択モデルに対する修正を行うようにしたものである。
【0019】
(11) 本発明の第11の態様は、上述した第10の態様に係る三次元ポートレートの作成装置において、
モデル修正部が、一般点についての一般移動ベクトルを求める際に、雛形投影像の各代表点のうち、当該一般点のXY平面上への投影点Qに最も近い第1近傍点Qaおよび2番目に近い第2近傍点Qbを求め、点Qと点Qaとの距離をDa、点Qと点Qbとの距離をDb、第1近傍点Qaについての代表移動ベクトルをベクトルαa、第2近傍点Qbについての代表移動ベクトルをベクトルαb、としたときに、α=(Db/(Da+Db))・αa+(Da/(Da+Db))・αbなる式によって求まるベクトルαを当該一般点についての一般移動ベクトルとする補間処理を行うようにしたものである。
【0020】
(12) 本発明の第12の態様は、上述した第10の態様に係る三次元ポートレートの作成装置において、
モデル修正部が、一般点についての一般移動ベクトルを求める際に、雛形投影像のn個(n≧3)の代表点のそれぞれと当該一般点のXY平面上への投影点Qとの距離D1,... ,Di,... ,Dnをそれぞれ求め、雛形投影像のn個の代表点についての代表移動ベクトルを、それぞれα1,... ,αi,... ,αnとしたときに、α=Σi=1,n(αi/Di2)/Σi=1,n(1/Di2)なる式によって求まるベクトルαを当該一般点についての一般移動ベクトルとする補間処理を行うようにしたものである。
【0021】
(13) 本発明の第13の態様は、上述した第1〜第8の態様に係る三次元ポートレートの作成装置において、
顔写真格納部に格納されている二次元顔写真を、雛形選択部が選択した選択モデルに適合するように修正する顔写真修正部を更に設け、
マッピング処理部が、選択モデルの表面に、修正後の二次元顔写真をマッピングするようにしたものである。
【0022】
(14) 本発明の第14の態様は、上述した第13の態様に係る三次元ポートレートの作成装置において、
雛形モデル格納部が、個々の雛形モデルのそれぞれについて、顔の正面方向を示す正面ベクトルVを格納しており、
XYZ三次元座標系上に正面ベクトルVがZ軸に平行になるように配置した雛形モデルを、XY平面上へ正射影投影した雛形投影像について、顔を構成する個々のパーツの代表点の位置座標を特徴量として格納した特徴量格納部と、
XY平面上に配置した二次元顔写真について、顔を構成する個々のパーツの代表点の位置座標を特徴量として抽出する特徴量抽出部と、
を設け、
顔写真修正部が、
XY平面上において、選択モデルの雛形投影像と二次元顔写真との大きさ、位置、および向きを調整した上で、二次元顔写真の各代表点から選択モデルの雛形投影像上の対応する各代表点に向かう代表移動ベクトルを求め、
XY平面上において、二次元顔写真の各代表点をそれぞれ対応する代表移動ベクトルに応じて移動させ、二次元顔写真上のその余の一般点を、個々の代表移動ベクトルに対する補間処理によって得られた一般移動ベクトルに応じて移動させることにより、二次元顔写真に対する修正を行うようにしたものである。
【0023】
(15) 本発明の第15の態様は、上述した第14の態様に係る三次元ポートレートの作成装置において、
顔写真修正部が、一般点についての一般移動ベクトルを求める際に、二次元顔写真の各代表点のうち、当該一般点Pに最も近い第1近傍点Paおよび2番目に近い第2近傍点Pbを求め、点Pと点Paとの距離をDa、点Pと点Pbとの距離をDb、第1近傍点Paについての代表移動ベクトルをベクトルβa、第2近傍点Pbについての代表移動ベクトルをベクトルβb、としたときに、β=(Db/(Da+Db))・βa+(Da/(Da+Db))・βbなる式によって求まるベクトルβを当該一般点についての一般移動ベクトルとする補間処理を行うようにしたものである。
【0024】
(16) 本発明の第16の態様は、上述した第14の態様に係る三次元ポートレートの作成装置において、
顔写真修正部が、一般点についての一般移動ベクトルを求める際に、二次元顔写真のn個(n≧3)の代表点と当該一般点Pとの距離D1,... ,Di,... ,Dnをそれぞれ求め、二次元顔写真のn個の代表点についての代表移動ベクトルを、それぞれβ1,... ,βi,... ,βnとしたときに、β=Σi=1,n(βi/Di2)/Σi=1,n(1/Di2)なる式によって求まるベクトルβを当該一般点についての一般移動ベクトルとする補間処理を行うようにしたものである。
【0025】
(17) 本発明の第17の態様は、上述した第10〜第12、第14〜第16の態様に係る三次元ポートレートの作成装置において、
顔を構成するパーツとして、顔を正面から見たときの、顔の輪郭、目、鼻、口の群から選択された複数のパーツを用い、
個々のパーツの代表点として、パーツ構成領域の重心点、パーツ構成領域の外接矩形の中心点、または、パーツ構成領域の輪郭線上の点を用いるようにしたものである。
【0026】
(18) 本発明の第18の態様は、上述した第17の態様に係る三次元ポートレートの作成装置において、
両目の代表点を結ぶ線を基準線と定義し、この基準線上における両目の代表点間の中点を基準点と定義し、基準線に沿った顔の幅を基準幅と定義し、
モデル修正部もしくは顔写真修正部が、XY平面上において、基準幅が一致するように雛形投影像と二次元顔写真との大きさの調整を行い、基準点が一致するように雛形投影像と二次元顔写真との位置の調整を行い、基準線が重なるように雛形投影像と二次元顔写真との向きの調整を行うようにしたものである。
【0027】
(19) 本発明の第19の態様は、上述した第1〜第18の態様に係る三次元ポートレートの作成装置において、
雛形モデル格納部が、個々の雛形モデルのそれぞれについて、顔の正面方向を示す正面ベクトルVを格納しており、
マッピング処理部が、XYZ三次元座標系上に、選択モデルを正面ベクトルVがZ軸に平行になるように配置し、二次元顔写真をXY平面上に配置し、選択モデルおよび二次元顔写真の大きさ、位置、および向きを調整した上で、選択モデルの表面に二次元顔写真を正射影投影することによりマッピングを行うようにしたものである。
【0028】
(20) 本発明の第20の態様は、上述した第1〜第19の態様に係る三次元ポートレートの作成装置を、コンピュータに専用のプログラムを組み込むことにより構成するようにしたものである。
【0029】
(21) 本発明の第21の態様は、上述した第1〜第19の態様に係る三次元ポートレートの作成装置と、
この三次元ポートレートの作成装置から出力された頭部三次元モデルのデータに基づいて、頭部三次元モデルを互いに異なる視点位置から観察して得られる2枚以上の視差画像を作成し、これを画像データとして出力するか、もしくは、物理的媒体上に印刷して出力する視差画像作成装置と、
によって、三次元ポートレート用視差画像作成システムを構成したものである。
【発明の効果】
【0030】
本発明に係る三次元ポートレートの作成装置によれば、予め、複数N通りのバリエーションをもった頭部の三次元形状データが雛形モデルとして用意されているため、その中の最適なものを選択して、二次元顔写真をマッピングすることができる。このため、被写体となる人物の二次元顔写真に基づいて、当該人物の三次元ポートレートを正確に作成することができる。
【0031】
また、属性に基づいて雛形モデルの選択を行う実施形態を採用すれば、オペレータが、二次元顔写真についての属性を示すパラメータを入力するだけで、最適な雛形モデルの選択が可能になる。
【0032】
一方、顔を構成する個々のパーツの代表点の位置座標など、顔についての特徴を数値で示す特徴量を利用して雛形モデルの選択を行う実施形態を採用すれば、オペレータによる入力操作を行わずに、自動的に最適な雛形モデルの選択が可能になる。
【0033】
更に、雛形選択部が選択した選択モデルを二次元顔写真に適合するように修正するモデル修正部を付加する実施形態や、二次元顔写真を雛形選択部が選択した選択モデルに適合するように修正する顔写真修正部を付加する実施形態を採用すれば、二次元顔写真と選択モデルとの適合性を更に向上させることができ、より正確な三次元ポートレートを作成することができる。
【図面の簡単な説明】
【0034】
【図1】本発明の第1の実施形態に係る三次元ポートレートの作成装置の構成を示すブロック図である。
【図2】図1に示す雛形モデル格納部30内に格納されている雛形モデルMの例を示す斜視図である。
【図3】図1に示すマッピング処理部50によって実行されるマッピング処理を示す斜視図である。
【図4】図3に示すマッピング処理を行う際の自動調整方法の一例を示す正面図である。
【図5】図3に示すマッピング処理によって得られる三次元ポートレートGの斜視図である。
【図6】本発明の第2の実施形態に係る三次元ポートレートの作成装置の構成を示すブロック図である。
【図7】図6に示す属性格納部60内に格納される雛形モデルの属性の具体的な定義例を示す表である。
【図8】図6に示す雛形選択部40Aによる雛形選択処理の一例を示す図である。
【図9】本発明の第3の実施形態に係る三次元ポートレートの作成装置の構成を示すブロック図である。
【図10】図9に示す顔写真格納部20内に格納されている二次元顔写真Fの一例を示す平面図である。
【図11】図10に示す二次元顔写真Fから特徴量を抽出するための代表点を決定する処理を示す平面図である。
【図12】図11に示す代表点に基づいて、眉間に基準点P0を決定する処理を示す平面図である。
【図13】図12に示す基準点P0および基準線Lに基づいて、顔の輪郭についての代表点を決定する処理を示す平面図である。
【図14】図9に示す雛形モデル格納部30内に格納されている雛形モデルの投影像Hの一例を示す正面図である。
【図15】図14に示す雛形投影像Hについて抽出された10個の代表点Q1〜Q10を示す平面図である。
【図16】図13に示す二次元顔写真Fの代表点(黒丸)と、図15に示す雛形投影像Hの代表点(×印)と、の相互位置関係を示す平面図である。
【図17】図9に示す雛形選択部40Bによる雛形選択処理に利用される数式を示す図である。
【図18】本発明の第4の実施形態に係る三次元ポートレートの作成装置の構成を示すブロック図である。
【図19】図18に示すモデル修正部90によって求められた代表移動ベクトルの一例を示す平面図である。
【図20】図18に示すモデル修正部90により一般移動ベクトルを定義する方法の一例を示す平面図である。
【図21】図18に示すモデル修正部90により一般移動ベクトルを定義する方法の別な一例を示す平面図である。
【図22】図21に示す一般移動ベクトルの定義方法に用いられる一般式を示す図である。
【図23】図18に示すモデル修正部90によって行われる選択モデルMjに対する修正処理を示す斜視図である。
【図24】本発明の第5の実施形態に係る三次元ポートレートの作成装置の構成を示すブロック図である。
【図25】図24に示す顔写真修正部95によって求められた代表移動ベクトルの一例を示す平面図である。
【図26】図24に示す顔写真修正部95により一般移動ベクトルを定義する方法の一例を示す平面図である。
【図27】図18に示す顔写真修正部95により一般移動ベクトルを定義する方法の別な一例を示す平面図である。
【図28】図27に示す一般移動ベクトルの定義方法に用いられる一般式を示す図である。
【発明を実施するための形態】
【0035】
以下、本発明を図示する実施形態に基づいて説明する。
【0036】
<<< §1. 第1の実施形態 >>>
図1は、本発明の第1の実施形態に係る三次元ポートレートの作成装置の構成を示すブロック図である。この装置は、図示のとおり、顔写真入力部10、顔写真格納部20、雛形モデル格納部30、雛形選択部40、マッピング処理部50によって構成され、図の上方に示された二次元顔写真Fに基づいて、図の下方に示された三次元ポートレートGを作成する機能を果たす。
【0037】
顔写真入力部10は、特定の人物についての二次元顔写真Fを画像データとして取り込む構成要素であり、顔写真格納部20は、取り込んだ二次元顔写真Fを格納する構成要素である。顔写真入力部10として、スキャナ装置を用いるようにすれば、物理的な媒体からなる写真から二次元顔写真Fを取り込むことができる。たとえば、故人のスナップ写真を遺族から借受け、これをスキャナ装置(顔写真入力部10)で読み取って、得られた画像データを顔写真格納部20に格納すれば、当該故人についての二次元顔写真Fを顔写真格納部20内に用意することができる。
【0038】
もちろん、顔写真入力部10として、デジタルカメラを用いるようにすれば、被写体となる人物の顔を撮影することにより、当該人物の二次元顔写真Fを画像データとして取り込むことができる。また、ネットワークを介してユーザが送信してきた画像データを受信するという方法によって、二次元顔写真Fを取り込むことも可能である。この場合、顔写真入力部10は、ネットワーク(たとえば、インターネット)に接続するための通信手段によって構成される。
【0039】
この装置は、こうして顔写真格納部20に格納された二次元顔写真Fに基づいて、三次元の情報をもった三次元ポートレート、すなわち、頭部三次元モデルのデータを作成することができる。なお、二次元顔写真Fとしては、できるだけ正面向きの顔写真を用意するのが好ましい。一般的なスナップ写真に写っている被写体は、ほとんどが正面を向いているため、そのような写真に基づいて二次元顔写真Fを取り込むようにすれば支障はない。また、本発明に係る装置の場合、必要な二次元顔写真Fは1枚だけあれば十分であり、撮影角度を変えた複数の写真を用意する必要はない。
【0040】
一方、雛形モデル格納部30には、複数N通りのバリエーションをもった頭部の三次元形状データが雛形モデルとして格納されている。この雛形モデルは、いわば頭部の三次元テンプレートであり、頭部の三次元形状データであれば、どのような形態のデータであってもかまわない。一般的には、この雛形モデルは、頭部の表面をポリゴン(たとえば、三角形や四角形)やパラメトリック曲面で表現した三次元データによって構成しておけばよい。
【0041】
図2は、この雛形モデル格納部30内に格納されている雛形モデルの例を示す斜視図である。この例では、ポリゴンの集合体からなる5つの雛形モデルM1〜M5が示されている。これら雛形モデルM1〜M5は、髪の毛を除いた人間の頭部表面の三次元形状データであり、互いに形状が異なっている。このように、複数通りの雛形モデルを用意するのは、顔写真格納部20に格納されている二次元顔写真Fをマッピングするのに適したモデルを選択できるようにするためである。一般に、実在の人間の頭部の形状は、丸顔、角顔、三角顔、扁平顔、馬顔などと称されるように様々である。そこで、本発明では、様々な形状の頭部に適用できるように、雛形モデル格納部30内に複数通りの雛形モデルを用意している。
【0042】
図2に示すとおり、各雛形モデルM1〜M5には、それぞれ顔の正面方向を示す正面ベクトルV1〜V5が定義されており、雛形モデル格納部30には、個々の雛形モデルM1〜M5の三次元形状データとともに、この正面ベクトルV1〜V5の情報も格納されている(電子出願の制約上、本願のテキスト中では、各ベクトル符号上部の矢印表記は省略する)。この正面ベクトルV1〜V5の情報は、後述するように、雛形モデルに二次元顔写真Fをマッピングする際の向きを決定するために利用される。
【0043】
なお、この正面ベクトルV1〜V5の情報は、必ずしも三次元形状データと別個に用意しておく必要はなく、三次元形状データに内在させる形で定義してもかまわない。たとえば、雛形モデルとなる三次元形状データを、XYZ三次元座標系上に定義するようにし、かつ、XY平面に投影した場合に顔の正面投影像が得られるような向きに定義しておくようにすれば、このXYZ三次元座標系のZ軸が正面ベクトルVとして機能することになるので、敢えて正面ベクトルVを示すデータを別個に用意しておく必要はない。
【0044】
雛形選択部40は、雛形モデル格納部30内に格納されているN通りの雛形モデルの中の1つを選択する構成要素である。ここに示す第1の実施形態の場合、雛形選択部40は、N通りの雛形モデルの中の1つを指定するオペレータの選択指示に基づいて雛形モデルの選択を行う機能を果たす。ここで、オペレータは、顔写真入力部10によって入力され、顔写真格納部20内に格納された二次元顔写真Fをマッピングするのに最適な雛形モデルを選択する指示を入力することになる。
【0045】
実際には、雛形選択部40には、顔写真格納部20に格納されている二次元顔写真Fの画像と、雛形モデル格納部30に格納されているN通りの雛形モデルM1〜M5の画像とをディスプレイ画面上に表示する機能をもたせておくのが好ましい(図1において、顔写真格納部20から雛形選択部40への矢印は、二次元顔写真Fの画像データの流れを示している)。たとえば、雛形選択部40に、ディスプレイの左半分に二次元顔写真Fの画像を表示させ、右半分に雛形モデルの1つの画像を表示させ、右半分に表示する雛形モデルを任意に切り替える機能をもたせておけば、オペレータは、左右の画像を比較しながら、二次元顔写真Fの画像をマッピングするのに最適な雛形モデルを選択することができる。
【0046】
ここでは、こうして雛形選択部40によって選択された雛形モデルを、選択モデルMj(N通りのモデルのうちの第j番目のモデルの意)と呼ぶことにする。図では、便宜上、5通りの雛形モデルM1〜M5を用意した例が示されているが、任意の二次元顔写真Fにできるだけ適合する雛形モデルを選択できるようにするには、雛形モデル格納部30内にできるだけ多くのバリエーションを用意しておくのが好ましい。特に、顔の適合性は、その輪郭だけでなく、目、鼻、口の位置など、顔を構成する各パーツの配置や形状も考慮する必要があるので、輪郭のバリエーションだけでなく、各パーツの配置や形状のバリエーションも豊富に用意しておくのが好ましい。ただ、用意する雛形モデルのバリエーションが増えれば増えるほど、オペレータの選択作業の負担も増えることになる。
【0047】
マッピング処理部50は、雛形選択部40が選択した選択モデルMjの表面に、顔写真格納部20内の二次元顔写真Fをマッピングして、頭部三次元モデルを作成し、作成した頭部三次元モデルのデータを、二次元顔写真Fに写っている特定の人物についての三次元ポートレートGとして出力する機能を果たす。
【0048】
図3は、このマッピング処理の一例を示す斜視図である。この例の場合、図示のとおり、XYZ三次元座標系上に選択モデルMjを配置し、XY平面上に定義された投影面Sに二次元顔写真Fを配置している。ここで、選択モデルMjは、正面ベクトルVjがZ軸に平行になるように配置するようにする。そうすれば、投影面S上に顔の正面投影像が得られる。なお、前述したとおり、予めZ軸に正面ベクトルVの機能をもたせるように雛形モデルの三次元形状データを用意しておくようにすれば、選択モデルをそのままXYZ三次元座標系上に配置すればよい。
【0049】
マッピング処理は、選択モデルMjの表面に二次元顔写真Fを正射影投影(Z軸方向に投影)することにより行うことができる。より具体的には、選択モデルMjの表面上の所望の着目点に位置する画素の画素値として、当該着目点のXY平面上への正射影投影点に位置する二次元顔画像F上の画素の画素値を採用する処理を行えばよい。
【0050】
但し、このようなマッピング処理を適切に行うためには、選択モデルMjおよび二次元顔写真Fの大きさ、位置、向きを予め調整しておく必要がある。このような調整を行う一方法は、二次元顔写真Fと選択モデルMjの投影像とが配置された投影面Sをディスプレイ画面上に表示し、オペレータに、大きさ、位置、向きを調整する入力操作を行わせることである。オペレータの入力操作に応じて、対話式に各画像の大きさ、位置、向きを変化させるようにすれば、オペレータの判断に基づく調整が可能になる。
【0051】
このような調整をマッピング処理部50に自動的に実行させることも可能である。大きさについては、たとえば、「横幅が同じになるようにスケーリングする」という条件を決めておけば、当該条件が満たされるように自動調整を行うことができる。図4は、このようなマッピング処理時の自動調整方法の一例を示す正面図である。図示のとおり、二次元顔写真Fの横幅L1と、選択モデルMjの投影面S上への投影像Hjの横幅L2とを求め、両者が一致するように、二次元顔写真Fもしくは選択モデルMjのサイズを調整すればよい。二次元顔写真Fの横幅L1を求めるには、公知の手法を用いて写真から顔面部分を認識する処理を行えばよい。
【0052】
一方、位置については、たとえば、投影面S上に顎下基準線Wを定義し、二次元顔写真Fから認識した顎の下端位置および選択モデルの投影像Hjから認識した顎の下端位置を、この顎下基準線Wに揃えるようにして上下の位置を揃える自動調整を行えばよい。もちろん、顎下基準線Wの変わりに、頭部上端の位置を揃える基準線を用いることもできるし、後述するように、両目の代表点を結ぶ基準線を用いることもできる。また、左右の位置については、たとえば、顔面横幅L1の区間中点と、顔面横幅L2の区間中点とが、横方向に関して揃うような位置調整を行えばよい。
【0053】
なお、選択モデルMjの向きに関しては、たとえば、各雛形モデルについて、正面ベクトルVに加えて鉛直方向を示す鉛直ベクトルEを定義しておき、この鉛直ベクトルEがY軸に平行になるような配置を行うようにすればよい。もちろん、Y軸自身が鉛直ベクトルEとして機能するように三次元形状データを用意しておけば、敢えて鉛直ベクトルEを示すデータを別個に用意しておく必要はない。また、二次元顔写真Fの向きに関しては、一般的なスナップ写真の場合、被写体となる人物は、通常、正立状態で写っているので、写真の横および縦方向がX軸およびY軸方向になるように投影面S上に配置すれば大きな支障は生じない。ただ、向きをより正確に調整する必要がある場合には、たとえば、後述するように、両目の代表点を結ぶ基準線がX軸に平行になるような調整を行えばよい。
【0054】
図5は、図3に示すマッピング処理によって得られる三次元ポートレートGの斜視図である。二次元顔写真Fには、被写体となる人物の正面の情報しか含まれておらず、背面の情報は含まれていない。これに対して、雛形モデルは、頭部の三次元形状データであり、頭部全体の表面情報をもっている。このため、図3に示す方法によってマッピング処理を行うと、選択モデルMjの正面部分の画素についてのみ画素値が定義され、背面部分の画素についての画素値は定義することができない。
【0055】
ただ、一般に、人間の頭部の背面部分は髪によって覆われており、当該人物の特徴を表す重要な情報は含まれていないので、正面部分のみにマッピングが行われた頭部三次元モデルを三次元ポートレートGとして出力しても、大きな支障は生じない。たとえば、後述するように、三次元ポートレートGを、左右両眼の各位置から観察して2枚の視差画像を作成する用途に利用する場合、正面部分のみにマッピングが行われていれば十分である。また、背面部分の情報も必要な用途に利用する場合には、たとえば、正面部分の頭頂部(通常、髪の毛の部分の画素)の画素値を、背面部分の画素の画素値とする処理を行えば、違和感のない背面情報を擬似的に作成することができる。
【0056】
また、選択モデルMjの輪郭形状は、二次元顔写真Fの輪郭形状に正確には一致しないので、選択モデルMjの一部分については、その投影像が二次元顔写真Fの領域から食み出してしまい、画素値を定義できない可能性がある。そのような場合は、画素値の定義を行うことができた隣接画素の画素値に基づく補間処理を行えば、補間値として画素値の定義を行うことが可能である。
【0057】
このように、本発明に係る三次元ポートレートの作成装置によれば、予め、複数N通りのバリエーションをもった頭部の三次元形状データが雛形モデルとして用意されているため、その中の最適なものを選択して、二次元顔写真をマッピングすることができる。このため、被写体となる人物の二次元顔写真に基づいて、当該人物の三次元ポートレートを正確に作成することができるようになる。
【0058】
<<< §2. 第2の実施形態 >>>
上述した第1の実施形態に係る装置では、雛形選択部40が、N通りの雛形モデルの中の1つの指定するオペレータの選択指示に基づいて雛形モデルの選択を行っていた。しかしながら、雛形モデル格納部30内に用意されている雛形モデルの数Nが大きくなればなるほど、オペレータの選択作業の負担も増大する。
【0059】
§1でも述べたとおり、顔の適合性は、その輪郭だけでなく、顔を構成する各パーツの配置や形状も考慮する必要があり、性別、年齢、人種なども考慮して決定する必要がある。したがって、実用上は、雛形モデル格納部30内には、輪郭形状のバリエーションだけでなく、性別、年齢、人種などのバリエーションも考慮して、十分な種類の雛形モデルを用意しておくのが好ましいが、その場合、オペレータの選択作業は極めて繁雑なものにならざるを得ない。たとえば、図2に例示するような雛形モデルが数百通りもあったとすると、オペレータの目による判断により最適なモデルを選択する作業は極めて困難と言わざるを得ない。
【0060】
ここで述べる第2の実施形態の特徴は、予め、個々の雛形モデルに属性を定義しておき、オペレータが、二次元顔写真についての属性を示すパラメータを入力するだけで、最適な雛形モデルの選択を可能にする、というものである。以下、この第2の実施形態の構成を説明する。
【0061】
図6は、本発明の第2の実施形態に係る三次元ポートレートの作成装置の構成を示すブロック図である。図1に示す装置との相違は、新たに属性格納部60が設けられている点と、雛形選択部40Aがオペレータの属性入力に基づいて、最適な雛形モデルの選択を行う点である。
【0062】
属性格納部60には、雛形モデル格納部30内に格納されているN通りの雛形モデルのそれぞれについて、特定の基準で分類した場合にどの分類に所属するかを示す属性を定義した情報が格納されており、雛形選択部40Aは、オペレータから入力された属性に基づいて属性格納部60を検索し、入力された属性に合致する属性が定義された特定の雛形モデルを選択する処理を行う。
【0063】
図7は、図6に示す属性格納部60内に格納される雛形モデルの属性を示す情報の具体的な定義例を示す表である。ここに示す例では、雛形モデルを分類するための基準として、「性別」、「年齢」、「人種」、「輪郭」、「目」という項目を定義している。項目「性別」については、「男性」,「女性」という2種類の属性が定義され、項目「年齢」については、「10代」,「20代」,「30代」,「40代」,「50代」,「60代」という6種類の属性が定義されている。また、項目「人種」については、「アジア系」,「アングロサクソン系」,「黒人系」,「ヒスパニック系」という4種類の属性が定義され、項目「輪郭」については、「丸顔」,「角顔」,「三角顔」,「扁平顔」,「馬顔」という5種類の属性が定義され、項目「目」については、「どんぐり目」,「上がり目」,「下がり目」,「くぼみ目」という4種類の属性が定義されている。
【0064】
これら5項目のすべての属性の組み合わせを網羅した雛形モデルを用意するのであれば、雛形モデル格納部30内には、960通りの雛形モデルM1〜M960を格納しておくようにすればよい。この場合、属性格納部60には、この960通りの雛形モデルM1〜M960のそれぞれについて、上記5項目の属性を示す情報を格納しておくようにする。
【0065】
雛形選択部40Aは、オペレータから、上記5項目の属性を指定する属性入力を受け、指定された属性に基づいて属性格納部60を検索し、入力された属性に合致する属性が定義された特定の雛形モデルを選択する処理を行う。図8は、雛形選択部40Aによる雛形選択処理の一例を示す図である。この例では、オペレータから、項目「性別」については「男性」、項目「年齢」については「30代」、項目「人種」については「アジア系」、項目「輪郭」については「馬顔」、項目「目」については「どんぐり目」という特定の属性を指定する属性入力がなされている。雛形選択部40Aは、属性格納部60を検索し、入力された属性の組み合わせに合致する属性が定義された雛形モデルMjを選択モデルとして選択することになる。
【0066】
こうして選択された雛形モデルMjは、30代のアジア系男性で馬顔のドングリ目をした人物の標準的な頭部の三次元形状データということになる。§1で述べた第1の実施形態の場合、960通りの雛形モデルM1〜M960の中から二次元顔写真Fに最適なモデルを選択する必要があり、選択作業は極めて困難な作業になるが、ここに示す第2の実施形態の場合、オペレータは、二次元顔写真Fを見ながら、上記5項目についての属性を雛形選択部40Aに入力する作業を行うだけですむ。
【0067】
前述したとおり、顔の適合性は、その輪郭だけでなく、目、鼻、口の位置など、顔を構成する各パーツの配置や形状も考慮して決定する必要がある。上述した例のように、雛形モデルとして、「性別」、「年齢」、「人種」、「輪郭」、「目」という各項目に関する属性がそれぞれ異なる複数のバリエーションを用意しておくようにすれば、二次元顔写真Fに、より適した雛形モデルを利用したマッピング処理が可能になる。
【0068】
<<< §3. 第3の実施形態 >>>
ここで述べる第3の実施形態は、顔についての特徴を数値で示す特徴量を利用して最適な雛形モデルの自動選択を行うものである。この実施形態では、オペレータによる入力操作は不要になるので、オペレータを介在させることなしに、三次元ポートレートGの作成を行うことができる。
【0069】
図9は、本発明の第3の実施形態に係る三次元ポートレートの作成装置の構成を示すブロック図である。図1に示す装置との相違は、新たに特徴量抽出部70および特徴量格納部80が設けられている点と、雛形選択部40Bが、これら特徴量抽出部70および特徴量格納部80を利用して自動的に最適な雛形モデルの選択を行う点である。
【0070】
特徴量抽出部70は、顔写真格納部20に格納された二次元顔写真Fから固有の特徴量を抽出する機能を果たし、特徴量格納部80は、雛形モデル格納部30内に格納されている個々の雛形モデルのそれぞれについて、固有の特徴量を格納する機能を果たす。そして、雛形選択部40Bは、特徴量抽出部70が抽出した特徴量(二次元顔写真Fの特徴量)に最も近い特徴量を有する特定の雛形モデルを自動的に選択する。
【0071】
ここで、固有の特徴量としては、顔の特徴を定量的に(数値として)示すことができるパラメータであれば、どのような量を用いてもかまわない。ここでは、特徴量の具体的な例として、顔を構成する個々のパーツの代表点の位置座標を用いた例を述べることにする。この場合、雛形選択部40Bは、雛形モデルMと二次元顔写真Fとの大きさ、位置、および向きを調整した上で、各代表点の位置が最も近似した特定の雛形モデルを自動選択することになる。以下、その具体的な方法を詳述する。
【0072】
いま、図10に示すような二次元顔写真Fが、顔写真入力部10によって入力され、顔写真格納部20内に格納されているものとしよう。一般に、顔の特徴は、顔の輪郭と、目、鼻、口の形状および配置によって大きく左右される。そこで、顔を構成するパーツとしては、顔を正面から見たときの、顔の輪郭、目、鼻、口などから選ばれた複数のパーツを用いるのが好ましい。ここでは、顔の輪郭、目、鼻、口のすべてを用いた例を述べるが、もちろん、その一部のみを用いてもよいし、耳や眉などのパーツを用いるようにしてもかまわない。
【0073】
図11は、図10に示す二次元顔写真Fから特徴量を抽出するための代表点を決定する処理を示す平面図である。この例では、まず、二次元顔写真Fから顔の輪郭線、目、鼻、口の領域を抽出する処理が行われる。一般に、顔が写った写真の画像データに基づいて、顔の輪郭線、目、鼻、口の領域を認識する方法は、種々のアルゴリズムに基づく方法が知られている。たとえば、特開平6−129834号公報には、個々の画素の画素値のヒストグラムに基づいて、目、鼻、口の位置を認識する方法が開示されており、特開平9−251534号公報には、予め登録してあるテンプレートとの類似度を計算することにより、目、鼻、口の位置を認識する方法が開示されている。この他、特開2000−163592号公報、特開2005−276182号公報、特開2011−86051号公報など、多数の特許文献にも類似の技術が開示されている。このように、顔の輪郭線、目、鼻、口の領域を認識する方法は公知技術であるため、ここではその具体的な手法についての説明は省略する。
【0074】
図11は、図10に示す二次元顔写真Fから、顔の輪郭線、目、鼻、口の領域を認識した状態を示す平面図である。顔の輪郭線は曲線として認識され、目、鼻、口の領域は、図にハッチングを施して示すように、二次元閉領域として認識される。そこで、このようにして認識された個々のパーツに基づいて、それぞれ代表点を定義する。ここに示す例の場合、目および鼻については、パーツ構成領域の重心点を代表点としている。すなわち、右目領域の重心点P1が右目の代表点、左目領域の重心点P2が左目の代表点、鼻領域の重心点P3が鼻の代表点になる。一方、口については、口領域の左右両端点P4,P5を代表点としている。図11は、このようにして、5つの代表点が定義された状態を示す。
【0075】
一方、顔の輪郭線Cは曲線として抽出されるので、この曲線上の複数の点を代表点にとることにする。そのために、ここに示す実施例の場合、二次元顔写真F上に基準点P0および基準線Lを定義する。図12は、図11に示す代表点P1,P2(左右の目の代表点)に基づいて、眉間に基準点P0を決定する処理を示す平面図である。すなわち、両目の代表点P1,P2を結ぶ線を基準線Lと定義し、この基準線L上における両目の代表点P1,P2間の中点を基準点P0と定義している。
【0076】
ここに示す実施例の場合、こうして定義した基準点P0および基準線Lを利用して、顔の輪郭について、次のような方法で5つの代表点を定義する。図13は、図12に示す基準点P0および基準線Lに基づいて、顔の輪郭線Cについての代表点P6〜P10を決定する処理を示す平面図である。まず、基準線Lと輪郭線Cとの交点として、代表点P6,P7が定義される。また、基準点P0と鼻の代表点P3を結ぶ線を顎まで延長し、この延長線と輪郭線Cとの交点として代表点P8が定義される。更に、基準点P0と口の代表点P4,P5を結ぶ線を顎まで延長し、この延長線と輪郭線Cとの交点として代表点P9,P10が定義される。
【0077】
こうして定義された代表点P6〜P10は、いずれも顔の輪郭線C上の点になり、その位置情報は、顔の輪郭線Cの特徴を示す情報ということになる。なお、代表点P6〜P10は、いずれも基準線Lより下方の点であり、基準線Lより上方には代表点が定義されていないが、これは、二次元顔写真Fに写っている人物は、様々な髪型をしており、基準線Lより上方の輪郭線Cの位置は、髪型に大きく左右されるためである。また、一般に、顎部の形状は頭頂部の形状に比べて人相を大きく左右する要素になるため、顔の輪郭線Cの特徴を示す代表点は、頭頂部の輪郭上にとるよりも、顎部の輪郭上にとった方が好ましい、という事情も理由のひとつである。
【0078】
なお、ここに示す実施例では、基準線Lに沿った顔の幅を基準幅と定義し、大きさ調整用のパラメータとして利用している。図13に示す例の場合、2つの代表点P6,P7間の距離が、この二次元顔写真Fの基準幅になる。後述するように、二次元顔写真Fを各雛形モデルと比較する際には、この基準幅を一致させるスケーリングを行い、大きさを揃える処理を行うことになる。
【0079】
結局、図13に示す例では、顔の輪郭線、目、鼻、口を顔を構成する個々のパーツとして用い、目および鼻については、当該パーツ構成領域の重心点を代表点P1,P2,P3とし、顔の輪郭線および口については、当該パーツ構成領域の輪郭線上の点を代表点P4〜P10とすることになる。ここで、口の代表点については、左右の両端点P4,P5を採用し、顔の輪郭線Cの代表点については、所定の基準点P0と他の代表点とを結ぶ線の延長線との交点P6〜P10を採用している。
【0080】
もちろん、ここに示す実施例における代表点の定義方法は、代表的な一例を示すものであり、本発明は、ここに示す例に限定されるものではない。たとえば、上例では、目や鼻の代表点として、パーツ構成領域の重心点を採用しているが、パーツ構成領域の外接矩形の中心点を代表点とすることも可能である。あるいは、目の代表点として、左右の両端点を採用したり、瞳の中心点を採用することも可能であり、鼻の代表点として、鼻孔の位置を採用することも可能である。また、基準点P0の位置も、必ずしも眉間に定義する必要はなく、たとえば、4点P1,P2,P4,P5の重心点を基準点P0に設定してもかまわない。
【0081】
以上、図9に示す実施形態における特徴量抽出部70による特徴量の抽出アルゴリズムの一例を説明した。この例の場合、特徴量抽出部70は、顔写真格納部20に格納されている二次元顔写真Fに基づいて、図13に示すような10個の代表点P1〜P10の座標値を特徴量として抽出することになる。これら10個の代表点P1〜P10の座標分布は、二次元顔写真Fの固有の特徴を定量的に示す情報になる。
【0082】
一方、特徴量格納部80には、雛形モデル格納部30内に格納されている個々の雛形モデルMのそれぞれについて、予め抽出された固有の特徴量が格納されている。特徴量の抽出アルゴリズムは、上述した二次元顔写真Fについての特徴量の抽出アルゴリズムと同様である。ただ、二次元顔写真Fが二次元画像データであったのに対して、雛形モデルMは三次元形状データであるため、特徴量の抽出は、雛形モデルMから直接行う代わりに、その投影像Hから行うことになる。
【0083】
図14は、図9に示す雛形モデル格納部30内に格納されている雛形モデルの投影像Hの一例を示す正面図である。既に述べたとおり、雛形モデル格納部30には、個々の雛形モデルMのそれぞれについて、顔の正面方向を示す正面ベクトルVが格納されている(前述したとおり、Z軸方向を正面ベクトルVとする三次元形状データを用意しておけば、正面ベクトルVの情報は当該三次元形状データに内包される)。したがって、図3に示すように、雛形モデルMを、XYZ三次元座標系上に正面ベクトルVがZ軸に平行になるように配置し、これをXY平面上へ正射影投影すれば、図14に示すような雛形投影像Hを得ることができる。
【0084】
そこで、二次元顔写真Fの代わりに、図14に示す雛形投影像Hを対象として、上述した特徴量の抽出アルゴリズムを実行すれば、この雛形投影像Hについて、各代表点の位置座標を特徴量として抽出することができる。図15は、こうして雛形投影像Hについて抽出された10個の代表点Q1〜Q10を示す平面図である。ここで、各代表点Q1〜Q10は、それぞれ図13に示す各代表点P1〜P10に対応するものである。すなわち、点Q1,Q2は両目の代表点、点Q3は鼻の代表点、点Q4,Q5は口の代表点、点Q6〜Q10は顔の輪郭線CCの代表点である。
【0085】
また、点Q0は、図14に示す点P0と同様に、眉間に定義された基準点(2点Q1,Q2を結ぶ線分の中点)であり、直線LLは、2点Q1,Q2を結ぶ直線として定義される基準線である。代表点Q6,Q7が、この基準線LLと輪郭線CCの交点として定まり、代表点Q8〜Q10が、基準点Q0と各代表点Q3〜Q5を結ぶ線を顎まで延長した線と輪郭線CCの交点として定まる点は、図13に示す例と同様である。ここでは、説明の便宜上、図13に示す代表点P1〜P10(二次元顔写真Fについて定義された代表点)を黒丸で示し、図15に示す代表点Q1〜Q10(雛形モデルMの投影像Hについて定義された代表点)を×印で示すことにする。
【0086】
特徴量格納部80には、雛形モデル格納部30内に格納されているN通りの雛形モデルMのそれぞれについて、図15に示すような10個の代表点Q1〜Q10の座標値が固有の特徴量として格納されている。もちろん、これらの特徴量は、雛形モデル格納部30に格納されている各雛形モデルが変わらない限り不変であるから、特徴量格納部80内の情報は、雛形モデルの入れ替えを行わない限り、そのまま利用可能である。
【0087】
なお、ここでも、基準線LLに沿った顔の幅が基準幅と定義され、大きさ調整用のパラメータとして利用される。すなわち、N通りの雛形モデルMについての10個の代表点Q1〜Q10の座標値は、2つの代表点Q6,Q7間の距離(基準幅)が一定になるように、それぞれ規格化されていることになる。
【0088】
さて、顔写真入力部10によって特定の人物の二次元顔写真Fが入力され、顔写真格納部20に格納されると、特徴量抽出部70は、上述したアルゴリズムに基づいて、図13に示すような10個の代表点P1〜P10の座標値を特徴量として抽出する処理を行う。そして、雛形選択部40Bは、特徴量格納部80に格納されている情報を参照して、特徴量抽出部70が抽出した特徴量に最も近い特徴量を有する特定の雛形モデルを選択することになる。
【0089】
この選択処理は、たとえば、XY平面上において、個々の雛形モデルについての投影像Hと二次元顔写真Fとの大きさ、位置、および向きを調整した上で、雛形投影像Hの各代表点Q1〜Q10と、これに対応する二次元顔写真Fの各代表点P1〜P10との距離の和が最小となる雛形モデルを選択することによって行うことができる。
【0090】
図16は、二次元顔写真Fの代表点P1〜P10(黒丸)と、雛形モデルMの代表点Q1〜Q10(×印)と、の相互位置関係を示す平面図である。図に示すΔ1〜Δ10は、それぞれ対応する代表点間の距離を示している。もし、特定の雛形モデルMの特徴が、二次元顔写真Fの特徴に完全に一致していたとすれば(すなわち、当該雛形モデルMが、二次元顔写真Fの被写体となった人物の頭部の三次元形状に完全に一致していたとすれば)、各代表点P1〜P10の位置と、これに対応する各代表点Q1〜Q10の位置とは完全に一致するので、距離Δ1〜Δ10はいずれも零になる。
【0091】
したがって、ここでは、二次元顔写真Fの代表点P1〜P10の座標を、特徴量格納部80に格納されているN通りの雛形モデルのそれぞれについての代表点Q1〜Q10の座標と比較し、距離Δ1〜Δ10の和が最小となる雛形モデルを、当該二次元顔写真Fに最適のモデルとして選択するようにしている。図17(a) は、このような方法で距離の単純な算術和を求める式を示す図である。この例では、互いに対応する代表点P1〜P10および代表点Q1〜Q10が10組ある場合を想定して、Δ1〜Δ10の和が求められているが、もちろん、代表点の数がm組ある場合には、「Σi=1,m Δi」なる式で総和が求められることになる。
【0092】
一方、図17(b) は、距離の重み付き和を求める式を示す図である。ここで、ki(k1〜k10)は、個々の距離に乗じる重み係数である。このような重み付き和を求める場合も、和が最小となる雛形モデルを最適のモデルとして選択する点に変わりはないが、個々の特徴量(代表点の位置)に重みをつけた取り扱いが可能になる。たとえば、両目の位置という特徴をより重要視して類似性を判断するのであれば、右目の代表点P1,Q1間の距離Δ1に乗じる係数k1および左目の代表点P2,Q2間の距離Δ2に乗じる係数k2を、他の係数に比べて大きく設定すればよい。
【0093】
図17(b) に示す例でも、互いに対応する代表点P1〜P10および代表点Q1〜Q10が10組ある場合を想定して、距離Δ1〜Δ10の重み付き和が求められているが、代表点の数がm組ある場合には、「Σi=1,m ki・Δi」なる式で距離の重み付き総和が求められることになる。
【0094】
ところで、二次元顔写真Fの代表点P1〜P10の座標値と、個々の雛形モデルの代表点Q1〜Q10の座標値とに基づいて、両者の類似性を比較するためには、両者の大きさ、位置、および向きを適切に調整する必要がある。図16に示す例は、このような調整を行った後の状態を示すものである。図に黒丸で示されている代表点P1〜P10の座標系は二次元顔写真Fを配置した座標系であり、図に×印で示されている代表点Q1〜Q10の座標系は雛形投影像Hを配置した座標系であるから、元来、両座標系はそれぞれ別個独立した座標系になっている。したがって、両座標系の相互位置関係を何らかの基準に基づいて整合させなければ、二次元顔写真Fの代表点P1〜P10の位置と、個々の雛形モデルの代表点Q1〜Q10の位置とを適切に比較することはできない。
【0095】
ここに示す実施例では、図13に示すように、二次元顔写真Fに関して、両目の代表点P1,P2を結ぶ線を基準線Lと定義し、この基準線L上における両目の代表点P1,P2間の中点を基準点P0と定義し、この基準線Lに沿った顔の幅(点P6,P7間の距離)を基準幅と定義している。また、図15に示すように、雛形モデルの投影像Hに関して、両目の代表点Q1,Q2を結ぶ線を基準線LLと定義し、この基準線LL上における両目の代表点Q1,Q2間の中点を基準点Q0と定義し、この基準線LLに沿った顔の幅(点Q6,Q7間の距離)を基準幅と定義している。
【0096】
そこで、雛形選択部40Bは、XY平面上において、上記基準幅が一致するように雛形投影像Hと二次元顔写真Fとの大きさの調整を行い(縦横等倍率で拡大縮小する処理を行えばよい)、基準点P0,Q0が一致するように雛形投影像Hと二次元顔写真Fとの位置の調整を行い、基準線L,LLが重なるように雛形投影像Hと二次元顔写真Fとの向きの調整を行うようにしている。
【0097】
図16は、上記方法で、雛形投影像Hと二次元顔写真Fとの大きさ、位置、向きの調整を行った上で、代表点P1〜P10と代表点Q1〜Q10との位置関係を示すXY平面上の平面図である。したがって、基準点P0,Q0は完全に一致している。また、2点P6,P7間の距離(二次元顔写真Fの基準幅)と2点Q6,Q7間の距離(雛形投影像Hの基準幅)とは一致するため、2点P6,Q6はほぼ同じ位置を占め、2点P7,Q7はほぼ同じ位置を占める。また、基準線LとLLとは重なっている。
【0098】
このような方法で、大きさ、位置、向きの調整を行うことにすれば、二次元顔写真Fのどの位置に、どのような大きさで、どのような向きに人物の肖像が写っていたとしても、雛形選択部40Bによる適切な比較処理を行うことができ、当該人物の特徴に最も近似した雛形モデルを選択することができる。なお、XY平面上に取り込んだ二次元顔写真Fが天地逆向きだった場合(頭頂部が下向きになっていた場合)、基準線LとLLとが重なるように向き調整を行うと、天地が逆向きになる可能性がある。そのような場合は、基準線LとLLとが重なり、かつ、代表点P3,Q3(他の代表点でもよい)がこれら基準線LとLLを境界線として同一の領域側にくるように、向きの調整を行うようにすればよい。
【0099】
以上、図9のブロック図を参照しながら、本発明の第3の実施形態に係る三次元ポートレートの作成装置の基本構成および動作を説明した。この実施形態に係る装置を利用すれば、雛形選択部40Bによって最適な雛形モデルの自動選択が行われるので、雛形モデルを選択するためのオペレータによる入力操作は一切不要である。したがって、スナップ写真などから入力された二次元顔写真Fに基づいて、自動的に三次元ポートレートGの作成を行うことができる。
【0100】
<<< §4. 第4の実施形態 >>>
これまで述べてきた実施形態は、いずれも、雛形モデル格納部30内に予め用意されている複数N通りの雛形モデルの中から、顔写真格納部20に格納されている二次元顔写真Fのマッピングに最適なモデルを選択し、当該選択モデルに対して二次元顔写真Fをマッピングすることにより、三次元ポートレートGを作成する、というものであった。ここで、雛形モデル格納部30内に、十分に豊富なバリエーションをもった雛形モデルを用意しておけば、二次元顔写真Fの被写体の人物の実際の頭部にかなり近似した雛形モデルを選択することができ、実用上、違和感のない三次元ポートレートを作成することが可能である。
【0101】
しかしながら、雛形モデル格納部30内に用意されている雛形モデルは、あくまでもテンプレートというべきものであり、二次元顔写真Fの被写体の人物に完全に適合するモデルにはなっていない。特に、人間の顔の主要な要素である両目、鼻、口といったパーツの形状や配置は、人物によって千差万別であり、雛形モデルの数Nをいくら増やしても、完全に一致するモデルを選択することはできない。そこで、ここで述べる第4の実施形態では、雛形選択部40Bが選択した選択モデルMjを二次元顔写真Fに適合するように修正し、修正後の選択モデルMj′の表面に、二次元顔写真Fをマッピングすることにより、二次元顔写真Fと選択モデルMjとの適合性を更に向上させる、という手法を採用する。
【0102】
図18は、本発明の第4の実施形態に係る三次元ポートレートの作成装置の構成を示すブロック図である。図9に示す第3の実施形態に係る装置との相違は、新たにモデル修正部90が設けられている点である。モデル修正部90は、雛形選択部40Bが選択した選択モデルMjを、顔写真格納部20に格納されている二次元顔写真Fに適合するように修正する機能を有し、マッピング処理部50は、修正後の選択モデルMj′の表面に、二次元顔写真Fをマッピングする処理を行う。ここに示す例は、§3で述べた第3の実施形態に、モデル修正部90を付加した例であるため、モデル修正部90は、特徴量抽出部70および特徴量格納部80の機能を利用して選択モデルMjの修正を行うことができる。
【0103】
§3で述べたとおり、雛形モデル格納部30には、複数N通りの雛形モデルのそれぞれについて、顔の正面方向を示す正面ベクトルVが格納されており、特徴量格納部80には、XYZ三次元座標系上に正面ベクトルVがZ軸に平行になるように配置した各雛形モデルを、XY平面上へ正射影投影した雛形投影像Hについて、顔を構成する個々のパーツの代表点の位置座標が特徴量として格納されている。また、特徴量抽出部70は、XY平面上に配置した二次元顔写真Fについて、顔を構成する個々のパーツの代表点の位置座標を特徴量として抽出する機能を有している。
【0104】
特徴量抽出部70および特徴量格納部80は、第3の実施形態の場合、雛形選択部40Bによる雛形モデルの選択処理を補助する役割を果たすことになるが、ここに示す第4の実施形態の場合は、モデル修正部90による修正処理を補助する役割も果たすことになる。
【0105】
すなわち、モデル修正部90は、まず、雛形選択部40Bによって選択された選択モデルMjの雛形投影像Hと、顔写真格納部20に格納されている二次元顔写真Fとを、大きさ、位置、および向きを調整した上で、XY平面上に配置し、選択モデルMjの雛形投影像Hの各代表点から二次元顔写真F上の対応する各代表点に向かう代表移動ベクトルを求める処理を行う。
【0106】
既に述べたとおり、二次元顔写真F上の各代表点は、特徴量抽出部70によって、たとえば、図13に示すような10個の点P1〜P10として抽出されており、選択モデルMjの投影像Hの各代表点は、特徴量格納部80内に、たとえば、図15に示すような10個の点Q1〜Q10として格納されている。これらの代表点は、既に述べたとおり、顔を構成するパーツとして、顔を正面から見たときの、顔の輪郭、目、鼻、口を用い、パーツ構成領域の重心点(パーツ構成領域の外接矩形の中心点でもよい)、または、パーツ構成領域の輪郭線上の点として定義された点である。上例の場合、モデル修正部90は、特徴量格納部80内に格納されている選択モデルMjについての個々の代表点Q1〜Q10から、特徴量抽出部70によって抽出されたそれぞれ対応する代表点P1〜P10に向かうベクトルとして、代表移動ベクトルα1〜α10を求めることができる。
【0107】
図19は、図18に示すモデル修正部90によって求められた代表移動ベクトルの一例を示す平面図である。ここで、点P0,Q0は、図16に示す基準点P0,Q0であり、その余の黒丸で示す点および×印で示す点は、図16に示す代表点P1〜P10および代表点Q1〜Q10である。
【0108】
なお、代表点P1〜P10を含む座標系と代表点Q1〜Q10を含む座標系について、大きさ、位置、向きの調整が行われる点は、§3で述べたとおりである。すなわち、両目の代表点を結ぶ線を基準線L,LLと定義し、この基準線L,LL上における両目の代表点間の中点を基準点P0,Q0と定義し、この基準線L,LLに沿った顔の幅を基準幅と定義した上で、XY平面上において、基準幅が一致するように雛形投影像Hと二次元顔写真Fとの大きさの調整を行い、基準点P0,Q0が一致するように雛形投影像Hと二次元顔写真Fとの位置の調整を行い、基準線L,LLが重なるように雛形投影像Hと二次元顔写真Fとの向きの調整を行うことになる。
【0109】
図16は、代表点P1〜P10の位置と代表点Q1〜Q10の位置の近似度を評価するため、対応する2点間の距離Δ1〜Δ10を求める処理を示すものであるが、図19は、×印で示す各代表点Q1〜Q10から、黒丸で示す各代表点P1〜P10に向かう代表移動ベクトルα1〜α10を求める処理を示すものである。なお、この例では、ベクトルα6,α7は、代表点位置が重なっているため定義されていない。
【0110】
こうして求められた代表移動ベクトルα1〜α10は、XYZ三次元座標系上において、雛形投影像Hの各代表点Q1〜Q10にそれぞれ対応する選択モデルMj上の個々の代表点の移動方向および移動量を示すものである。たとえば、図19において、代表点Q1は、XY平面上の雛形投影像Hの右目の代表点であるが、これに対応する選択モデルMjの表面上の代表点をT1とすれば(すなわち、選択モデルMj上の所定点T1のXY平面上への正射影投影点が点Q1になる関係にある)、当該代表点T1を代表移動ベクトルα1の示す方向に、代表移動ベクトルα1の示す距離だけ移動させれば、移動後の位置が、代表点T1の修正後の位置ということになる。
【0111】
このような方法で、選択モデルMj上の10個の代表点T1〜T10(XY平面上への正射影投影点が点Q1〜Q10になる関係にある点)をそれぞれ代表移動ベクトルα1〜α10に応じて移動すれば、10個の代表点T1〜T10の位置に関する修正を行うことができる。選択モデルMj全体に対して修正を行うためには、選択モデルMjの表面上の任意の一般点Tについての一般移動ベクトルαが定義できればよい。そこで、この任意の一般点Tについての一般移動ベクトルαを、個々の代表移動ベクトルα1〜α10に対する補間処理によって求めるようにする。ここでは、モデル修正部90が、このような補間処理によって一般移動ベクトルαを定義する具体的な方法を2通り述べておく。
【0112】
図20は、代表移動ベクトルに基づく補間処理により、一般移動ベクトルαを定義する第1の方法を示す平面図である。この方法では、モデル修正部90は、選択モデルMjの表面上の任意の一般点Tについての一般移動ベクトルαを求める際に、まず、当該一般点TのXY平面上への投影点Qを求める。続いて、雛形投影像Hの各代表点のうち、当該投影点Qに最も近い第1近傍点Qaおよび2番目に近い第2近傍点Qbを求める。そして、図20に示すように、点Qと点Qaとの距離をDa、点Qと点Qbとの距離をDb、第1近傍点Qaについての代表移動ベクトルをベクトルαa、第2近傍点Qbについての代表移動ベクトルをベクトルαb、としたときに、α=(Db/(Da+Db))・αa+(Da/(Da+Db))・αbなる式によって求まるベクトルαを当該一般点T(投影点Q)についての一般移動ベクトルとする補間処理を行う。
【0113】
この方法によれば、基本的には、2つの近傍点Qa,Qbについての代表移動ベクトルαa,αbを参照した補間を行い、かつ、より近い近傍点Qaについての代表移動ベクトルαaに、より重みをおいた補間が可能になる。
【0114】
図19に示す例について、上述した第1の方法を適用すると、選択モデルMjの表面上の任意の一般点Tについての一般移動ベクトルαは次のような手順で定義される。まず、一般点TのXY平面上への投影点Qを求める。図19に示されている点Qは、このような投影点である。続いて、図に×印で示されている10個の代表点Q1〜Q10の中から、投影点Qに最も近い第1近傍点Qaおよび2番目に近い第2近傍点Qbを求める。図示の例の場合、代表点Q1が第1近傍点Qaとなり、代表点Q3が第2近傍点Qbとなる。そこで、点Qと点Q1との距離をDa、点Qと点Q3との距離をDbとして、α=(Db/(Da+Db))・α1+(Da/(Da+Db))・α3なる式によってベクトルαを求めれば、当該ベクトルαが、一般点Tについての一般移動ベクトルになる。
【0115】
一方、図21は、代表移動ベクトルに基づく補間処理により、一般移動ベクトルαを定義する第2の方法の一例を示す平面図である。図示の例では、一般移動ベクトルαを、近傍の3つの代表移動ベクトルαa,αb,αcを用いた補間処理により決定する。すなわち、モデル修正部90は、選択モデルMjの表面上の任意の一般点Tについての一般移動ベクトルαを求める際に、まず、当該一般点TのXY平面上への投影点Qを求める。続いて、雛形投影像Hの各代表点のうち、当該投影点Qに最も近い第1近傍点Qa、2番目に近い第2近傍点Qb、3番目に近い第3近傍点Qcを求める。そして、図21に示すように、点Qと点Qaとの距離をDa、点Qと点Qbとの距離をDb、点Qと点Qcとの距離をDc、第1近傍点Qaについての代表移動ベクトルをベクトルαa、第2近傍点Qbについての代表移動ベクトルをベクトルαb、第3近傍点Qcについての代表移動ベクトルをベクトルαc、としたときに、α=(αa/Da2+αb/Db2+αc/Dc2)/(1/Da2+1/Db2+1/Dc2)なる式によって求まるベクトルαを当該一般点Tについての一般移動ベクトルとする補間処理を行う。
【0116】
この方法によれば、基本的には、3つの近傍点Qa,Qb,Qcについての代表移動ベクトルαa,αb,αcを参照した補間を行い、かつ、より近い近傍点についての代表移動ベクトルに、より重みをおいた補間が可能になる。
【0117】
図21では、3つの近傍点Qa,Qb,Qcを用いる例を示したが、実際には、4つ以上の近傍点を用いても、同様の補間処理が可能である。すなわち、一般にn個(n≧3)の近傍点を用いることにすれば、モデル修正部90は、一般点Tについての一般移動ベクトルαを求める際に、雛形投影像Hのn個(n≧3)の代表点のそれぞれと当該一般点TのXY平面上への投影点Qとの距離D1,... ,Di,... ,Dnをそれぞれ求め、雛形投影像Hのn個の代表点についての代表移動ベクトルを、それぞれα1,... ,αi,... ,αnとしたときに、図22に示すように、α=Σi=1,n(αi/Di2)/Σi=1,n(1/Di2)なる式によって求まるベクトルαを当該一般点Tについての一般移動ベクトルαとする補間処理を行えばよい。
【0118】
nは3以上の任意の整数に設定することができる。たとえば、図19に示す例において、n=10に設定すれば、任意の投影点Qの位置についての一般移動ベクトルαを、10個の代表点Q1〜Q10についての代表移動ベクトルα1〜α10に基づく補間処理によって求めることができる(すなわち、すべての代表移動ベクトルに基づく補間処理を行うことになる)。
【0119】
なお、n個の代表点としては、一般的には、投影点Qに第1番目に近い第1近傍点〜第n番目に近い第n近傍点を選択すればよいが、必ずしも近い順にn個を選択する必要はない。たとえば、図15に示す例において、n=5として、5個の代表点を選択する場合、投影点Qの位置にかかわらず常に代表点Q1〜Q5を選ぶようにすれば、どのような場合も、両目、鼻、口の代表点についての代表移動ベクトルα1〜α5に基づく補間が行われることになる。
【0120】
以上、モデル修正部90が、雛形投影像Hの各代表点に定義された代表移動ベクトルに基づく補間処理によって、選択モデルMj上の任意の一般点Tについての一般移動ベクトルαを定義する具体的な方法を2つ紹介したが、もちろん、一般移動ベクトルαの定義方法は、これら2つの方法に限定されるものではない。このように、任意の一般点Tについての一般移動ベクトルαを定義し、選択モデルMj上の任意の一般点Tを当該一般移動ベクトルαの示す方向に、当該一般移動ベクトルαの示す距離だけ移動させれば、移動後の位置が、当該一般点Tの修正後の位置ということになる。
【0121】
結局、モデル修正部90は、XYZ三次元座標系上において、雛形投影像Hの各代表点にそれぞれ対応する選択モデルMj上の個々の代表点については、それぞれ対応する代表移動ベクトルに応じた移動処理を行い、選択モデルMj上のその余の一般点Tについては、個々の代表移動ベクトルに対する補間処理によって得られた一般移動ベクトルαに応じた移動処理を行うことにより、選択モデルMjに対する修正を行うことになる。
【0122】
図23は、モデル修正部90によって行われる選択モデルMjに対する修正処理を示す斜視図である。上述したように、正面ベクトルVjがZ軸と平行になるように選択モデルMjをXYZ三次元座標系上に配置し、投影面S(XY平面)上に雛形投影像Hjを形成する。一方、この投影面S上に、大きさ、位置、向きを調整した二次元顔写真F(図23には示されていない)を重ね合わせ、雛形投影像Hjの特徴を示す10個の代表点Q1〜Q10から、二次元顔写真Fの特徴を示す10個の代表点P1〜P10へと向かう代表移動ベクトルα1〜α10を求める。
【0123】
続いて、選択モデルMj上の任意の一般点Tについて、投影面S上への投影点Qを求め、図20に示す補間方法や、図21に示す補間方法を用いて、投影点Qについての一般移動ベクトルαを求めれば、当該一般移動ベクトルαは、一般点Tの移動方向および移動量を示すベクトルということになる。なお、選択モデルMjは、頭部の三次元形状データであるので、背面側(後頭部側)にも点が定義されているが、一般に、個人に固有な特徴は顔面部分に現われるので、後頭部側についての修正処理は行わなくても大きな支障は生じない。ただ、必要があれば、このような背面側の一般点についても全く同様にして一般移動ベクトルαを求めることができる。たとえば、図23に示す一般点Tは正面側(顔側)の点であり、一般点Uは背面側(後頭部側)の点であるが、図示のとおり、いずれも投影面S上への投影点が点Qであるので、投影点Qについて求められた一般移動ベクトルαは、一般点TおよびUの双方に適用することができる。
【0124】
このように、理論的には、選択モデルMjの正面側、背面側を問わず、表面上の任意の一般点について、一般移動ベクトルαを定義することができるので、選択モデルMjの表面上のすべての点について、その位置の修正を行えば、修正後の点によって構成されるモデルが、修正後の選択モデルMj′ということになる。もっとも、実際には、選択モデルMjは有限個の点の集合からなる三次元形状データによって構成されるので、これら有限個の点について、それぞれ位置の修正を行えば足りる。たとえば、選択モデルMjがポリゴンからなる三次元形状データの場合は、個々のポリゴンの頂点について位置修正を行えば、修正後の選択モデルMj′を得ることができる。
【0125】
代表移動ベクトルも一般移動ベクトルも、いずれも投影面S(XY平面)に含まれるベクトル、すなわち、XY平面に平行なベクトルであるため、上記修正処理を行う際の点の移動は、いずれもXY平面に平行な方向への移動ということになる。そして、移動後の各点によって構成される修正後の選択モデルMj′を投影面Sへ正射影投影して得られる投影像は、二次元顔写真Fに対する合致度が向上したものになる(少なくとも、代表点の位置に関しては完全に一致する)。したがって、選択モデルMjに対するマッピングによって得られる三次元ポートレートに比べて、修正後の選択モデルMj′に対するマッピングによって得られる三次元ポートレートの方が、違和感のない自然なポートレートになる。
【0126】
<<< §5. 第5の実施形態 >>>
§4では、第4の実施形態として、雛形選択部40Bが選択した選択モデルMjを二次元顔写真Fに適合するように修正するモデル修正部90を付加する例を説明した。ここでは、逆に、二次元顔写真Fを、雛形選択部40Bが選択した選択モデルMjに適合するように修正する実施形態を説明する。
【0127】
図24は、本発明の第5の実施形態に係る三次元ポートレートの作成装置の構成を示すブロック図である。図9に示す第3の実施形態に係る装置との相違は、新たに顔写真修正部95が設けられている点である。顔写真修正部95は、顔写真格納部20に格納されている二次元顔写真Fを、雛形選択部40Bが選択した選択モデルMjに適合するように修正する機能を有し、マッピング処理部50は、選択モデルMjの表面に、修正後の二次元顔写真F′をマッピングする処理を行う。ここに示す例は、§3で述べた第3の実施形態に、顔写真修正部95を付加した例であるため、顔写真修正部95は、特徴量抽出部70および特徴量格納部80の機能を利用して二次元顔写真Fの修正を行うことができる。
【0128】
顔写真修正部95による修正処理は、§4で述べたモデル修正部90による修正処理と逆の処理と言うことができる。すなわち、顔写真修正部95は、まず、雛形選択部40Bによって選択された選択モデルMjの雛形投影像Hと、顔写真格納部20に格納されている二次元顔写真Fとを、大きさ、位置、および向きを調整した上で、XY平面上に配置し、二次元顔写真Fの各代表点から選択モデルの雛形投影像H上の対応する各代表点に向かう代表移動ベクトルを求める処理を行う。
【0129】
既に述べたとおり、二次元顔写真F上の各代表点は、特徴量抽出部70によって、たとえば、図13に示すような10個の点P1〜P10として抽出されており、選択モデルMjの投影像Hの各代表点は、特徴量格納部80内に、たとえば、図15に示すような10個の点Q1〜Q10として格納されている。そこで、上例の場合、顔写真修正部95は、特徴量抽出部70によって抽出された個々の代表点P1〜P10から、特徴量格納部80内に格納されている選択モデルMjについてのそれぞれ対応する代表点Q1〜Q10に向かうベクトルとして、代表移動ベクトルβ1〜β10を求めることができる。
【0130】
図25は、図24に示す顔写真修正部95によって求められた代表移動ベクトルの一例を示す平面図である。ここで、黒丸で示す各点および×印で示す各点は、図19に示す各点と同様であり、XY平面上において、選択モデルMjの雛形投影像Hと二次元顔写真Fとの大きさ、位置、および向きを調整して重ね合わせることにより得られた点である。ただ、図19では、×印で示す点(雛形投影像H上の点)から黒丸で示す点(二次元顔写真F上の点)に向かうベクトルα1〜α10を代表移動ベクトルとしていたが、図25では、逆に、黒丸で示す点(二次元顔写真F上の点)から×印で示す点(雛形投影像H上の点)に向かうベクトルβ1〜β10を代表移動ベクトルとしている。別言すれば、ベクトルβ1〜β10はベクトルα1〜α10をそれぞれ逆向きにしたものに相当する。
【0131】
こうして求められた代表移動ベクトルβ1〜β10は、XY平面(投影面S)上において、二次元顔写真F上の個々の代表点P1〜P10の移動方向および移動量を示すものである。たとえば、図25において、代表点P1は、二次元顔写真Fの右目の代表点であるが、この代表点P1を代表移動ベクトルβ1の示す方向に、代表移動ベクトルβ1の示す距離だけ移動させれば、移動後の位置が、代表点P1の修正後の位置ということになる。この修正後の位置は、雛形投影像Hの右目の代表点Q1に一致する。
【0132】
このような方法で、二次元顔写真F上の10個の代表点P1〜P10をそれぞれ代表移動ベクトルβ1〜β10に応じて移動すれば、10個の代表点P1〜P10の位置に関する修正を行うことができる。二次元顔写真F全体に対して修正を行うためには、二次元顔写真F上の任意の一般点Pについての一般移動ベクトルβが定義できればよい。そこで、この任意の一般点Pについての一般移動ベクトルβを、個々の代表移動ベクトルβ1〜β10に対する補間処理によって求めるようにする。§4では、代表移動ベクトルα1〜α10に対する補間処理によって一般移動ベクトルαを定義する具体的な方法を2通り述べたが、ここでは、同じ考え方を利用して、代表移動ベクトルβ1〜β10に対する補間処理によって一般移動ベクトルβを定義する具体的な方法を2通り述べておく。
【0133】
図26は、代表移動ベクトルに基づく補間処理により、一般移動ベクトルβを定義する第1の方法を示す平面図である。この方法では、顔写真修正部95は、二次元顔写真F上の任意の一般点Pについての一般移動ベクトルβを求める際に、二次元顔写真Fの各代表点のうち、当該一般点Pに最も近い第1近傍点Paおよび2番目に近い第2近傍点Pbを求める。そして、図26に示すように、点Pと点Paとの距離をDa、点Pと点Pbとの距離をDb、第1近傍点Paについての代表移動ベクトルをベクトルβa、第2近傍点Pbについての代表移動ベクトルをベクトルβb、としたときに、β=(Db/(Da+Db))・βa+(Da/(Da+Db))・βbなる式によって求まるベクトルβを当該一般点Pについての一般移動ベクトルβとする補間処理を行う。
【0134】
この方法によれば、基本的には、2つの近傍点Pa,Pbについての代表移動ベクトルβa,βbを参照した補間を行い、かつ、より近い近傍点Paについての代表移動ベクトルβaに、より重みをおいた補間が可能になる。
【0135】
図25に示す例について、上述した第1の方法を適用すると、二次元顔写真F上の任意の一般点Pについての一般移動ベクトルβは次のような手順で定義される。まず、図に黒丸で示されている10個の代表点P1〜P10の中から、一般点Pに最も近い第1近傍点Paおよび2番目に近い第2近傍点Pbを求める。図示の例の場合、代表点P1が第1近傍点Paとなり、代表点P3が第2近傍点Pbとなる。そこで、点Pと点P1との距離をDa、点Pと点P3との距離をDbとして、β=(Db/(Da+Db))・β1+(Da/(Da+Db))・β3なる式によってベクトルβを求めれば、当該ベクトルβが、一般点Pについての一般移動ベクトルになる。
【0136】
一方、図27は、代表移動ベクトルに基づく補間処理により、一般移動ベクトルβを定義する第2の方法の一例を示す平面図である。図示の例では、一般移動ベクトルβを、近傍の3つの代表移動ベクトルβa,βb,βcを用いた補間処理により決定する。すなわち、顔写真修正部95は、二次元顔写真F上の任意の一般点Pについての一般移動ベクトルβを求める際に、二次元顔写真Fの各代表点のうち、当該一般点Pに最も近い第1近傍点Pa、2番目に近い第2近傍点Pb、3番目に近い第3近傍点Pcを求める。そして、図27に示すように、点Pと点Paとの距離をDa、点Pと点Pbとの距離をDb、点Pと点Pcとの距離をDc、第1近傍点Paについての代表移動ベクトルをベクトルβa、第2近傍点Pbについての代表移動ベクトルをベクトルβb、第3近傍点Pcについての代表移動ベクトルをベクトルβc、としたときに、β=(βa/Da2+βb/Db2+βc/Dc2)/(1/Da2+1/Db2+1/Dc2)なる式によって求まるベクトルβを当該一般点Pについての一般移動ベクトルとする補間処理を行う。
【0137】
この方法によれば、基本的には、3つの近傍点Pa,Pb,Pcについての代表移動ベクトルβa,βb,βcを参照した補間を行い、かつ、より近い近傍点についての代表移動ベクトルに、より重みをおいた補間が可能になる。
【0138】
図27では、3つの近傍点Pa,Pb,Pcを用いる例を示したが、実際には、4つ以上の近傍点を用いても、同様の補間処理が可能である。すなわち、一般にn個(n≧3)の近傍点を用いることにすれば、顔写真修正部95は、一般点Pについての一般移動ベクトルβを求める際に、二次元顔写真Fのn個(n≧3)の代表点のそれぞれと当該一般点Pとの距離D1,... ,Di,... ,Dnをそれぞれ求め、二次元顔写真Fのn個の代表点についての代表移動ベクトルを、それぞれβ1,... ,βi,... ,βnとしたときに、図28に示すように、β=Σi=1,n(βi/Di2)/Σi=1,n(1/Di2)なる式によって求まるベクトルβを当該一般点Pについての一般移動ベクトルβとする補間処理を行えばよい。
【0139】
nは3以上の任意の整数に設定することができる。たとえば、図25に示す例において、n=10に設定すれば、任意の一般点Pの位置についての一般移動ベクトルβを、10個の代表点P1〜P10についての代表移動ベクトルβ1〜β10に基づく補間処理によって求めることができる(すなわち、すべての代表移動ベクトルに基づく補間処理を行うことになる)。
【0140】
なお、n個の代表点としては、一般的には、一般点Pに第1番目に近い第1近傍点〜第n番目に近い第n近傍点を選択すればよいが、必ずしも近い順にn個を選択する必要はない。たとえば、図13に示す例において、n=5として、5個の代表点を選択する場合、一般点Pの位置にかかわらず常に代表点P1〜P5を選ぶようにすれば、どのような場合も、両目、鼻、口の代表点についての代表移動ベクトルβ1〜β5に基づく補間が行われることになる。
【0141】
以上、顔写真修正部95が、二次元顔写真Fの各代表点に定義された代表移動ベクトルに基づく補間処理によって、二次元顔写真F上の任意の一般点Pについての一般移動ベクトルβを定義する具体的な方法を2つ紹介したが、もちろん、一般移動ベクトルβの定義方法は、これら2つの方法に限定されるものではない。このように、任意の一般点Pについての一般移動ベクトルβを定義し、二次元顔写真F上の任意の一般点Pを当該一般移動ベクトルβの示す方向に、当該一般移動ベクトルβの示す距離だけ移動させれば、移動後の位置が、当該一般点Pの修正後の位置ということになる。
【0142】
結局、顔写真修正部95は、XY平面上において、二次元顔写真Fの各代表点をそれぞれ対応する代表移動ベクトルに応じて移動させ、二次元顔写真F上のその余の一般点Pを、個々の代表移動ベクトルに対する補間処理によって得られた一般移動ベクトルβに応じて移動させることにより、二次元顔写真Fに対する修正を行うことになる。このように、理論的には、二次元顔写真F上の任意の一般点Pについて、一般移動ベクトルβを定義することができるので、二次元顔写真F上のすべての点について、その位置の修正を行えば、修正後の点によって構成される画像が、修正後の二次元顔写真F′ということになる。もっとも、実際には、二次元顔写真Fは有限個の点(画素)の集合からなる二次元画像データによって構成されるので、これら有限個の点(画素)について、それぞれ位置の修正を行えば足りる。
【0143】
代表移動ベクトルも一般移動ベクトルも、いずれも投影面S(XY平面)に含まれるベクトル、すなわち、XY平面に平行なベクトルであるため、上述した位置修正の処理は、いずれもXY平面内での移動処理ということになる。こうして得られる修正後の二次元顔写真F′は、選択モデルMjに対する合致度が向上したものになる(少なくとも、代表点の位置に関しては完全に一致する)。すなわち、修正前の二次元顔写真Fを選択モデルMjにマッピングする場合に比べて、修正後の二次元顔写真F′を選択モデルMjにマッピングする場合の方が、マッピング状態がより自然になる。
【0144】
最後に、§4で述べた第4の実施形態と、§5で述べた第5の実施形態との特徴の違いを簡単に述べておく。
【0145】
まず、前者は、二次元顔写真Fに合致するように雛形モデルMjに対して修正を加える手法を採用するものであり、二次元顔写真Fは元のままである。このため、最終的に作成される三次元ポートレートには、元の二次元顔写真Fの特徴、すなわち、被写体となった元の人物の特徴がそのまま表現されることになる。別言すれば、最終的に作成される三次元ポートレートは、元の人物によく似た顔付きをしたものになる。したがって、元の人物によく似たポートレートを作成するには、§4で述べた第4の実施形態を採るのが好ましい。
【0146】
ただ、最終的に作成される三次元ポートレートの三次元形状は、選択した雛形モデルに修正を加えたものになるため、用意した雛形モデルのいずれとも一致しない。このため、たとえば、帽子、かつら、眼鏡などの三次元形状データを既製品として用意しておいても、これをそのまま適用することはできなくなる。
【0147】
これに対して、後者は、選択された雛形モデルMjに合致するように二次元顔写真Fに対して修正を加える手法を採用するものであり、雛形モデルMjは元のままである。したがって、個々の雛形モデルごとに、帽子、かつら、眼鏡などの三次元形状データを既製品として用意しておけば、マッピング処理部50から出力された三次元ポートレートに、これら既製品を適用して、帽子、かつら、眼鏡などを着用した三次元ポートレートを作成することができる。ただ、二次元顔写真Fに対して修正が加えられてしまうため、三次元ポートレート上の顔付きは、元の人物と若干変わったものになってしまう。
【0148】
<<< §6. その他の変形例/応用例 >>>
最後に、本発明の更なる変形例や応用例をいくつか述べておく。
【0149】
(1) 髪の毛の取り扱い
これまで述べた実施形態では、髪の毛を除いた人間の頭部表面の三次元形状データからなる雛形モデルを用いている。このため、図5に示すような三次元ポートレートGには、二次元顔写真Fに写っている髪の毛の部分の画像がマッピングされているものの、髪の毛の立体形状の再現は十分ではない。
【0150】
そこで、髪の毛の形状までも含めて、二次元顔写真F上の人物をより忠実に再現した三次元ポートレートを作成するには、様々な髪の毛の立体形状を含んだ雛形モデルのバリエーションを用意しておき、髪の毛の形状も含めて最適な雛形モデルの選択を行うようにすればよい。具体的には、これまで述べてきた実施形態における顎の輪郭線上の代表点P8〜P10と同様に、髪の毛の輪郭線上にも代表点を定義し、これら代表点の分布が近似する雛形モデルを選択すればよい。
【0151】
あるいは、上述したように、種々のバリエーションをもった「かつら」に相当する三次元形状データを既製品として用意しておき、二次元顔写真F上の人物の髪に合致する「かつら」を合成することにより、最終的な三次元ポートレートを作成するようにしてもよい。
【0152】
(2) 斜めを向いた二次元顔写真を用いる例
これまで述べた実施形態では、二次元顔写真Fとして、被写体となる人物がほぼ正面を向いて写っている画像を用いる例を説明した。本発明を実施する上で、実用上は、このような正面向きの二次元顔写真を用いるのが好ましい。ただ、正面向きの二次元顔写真は、本発明を実施するための必須事項ではなく、本発明は、斜めを向いた二次元顔写真を用いても実施可能である。
【0153】
一般に、人間の顔は鼻の中心線に関して左右対称になっているので、二次元顔写真Fに写っている被写体の人物が斜めを向いていた場合でも、左顔面および右顔面のいずれか一方に関する画像が抽出できれば、これに対する鏡像関係にある画像として、他方の画像を生成することができる。また、目、鼻、口などの形状や配置の特徴に基づいて、撮影方向の傾き角を推定することができるので、斜めの肖像画像を正面向きの肖像画像に変換することも可能である。したがって、若干、処理は複雑化するものの、本発明によれば、斜めを向いた二次元顔写真を用いて、三次元ポートレートを作成することも可能である。
【0154】
(3) 細かな凹凸形状の付加
顔の特徴を解析する公知技術を利用すれば、二次元顔写真Fにおける顔の陰影を分析することにより、肌の起伏状態など、より細かな凹凸形状を認識することが可能である。そこで、選択した雛形モデルをベースとして、認識した細かな凹凸形状を付加する修正を加えることにより、三次元形状の再現性を更に向上させることも可能である。
【0155】
(4) コンピュータを利用した装置構成
これまで述べた第1の実施形態〜第5の実施形態では、それぞれブロック図を用いて、機能的構成要素の集合体として本発明に係る三次元ポートレートの作成装置を説明したが、実用上は、本発明に係る三次元ポートレートの作成装置は、コンピュータに専用のプログラムを組み込むことによって構成することが可能である。
【0156】
たとえば、図1に示す装置において、顔写真格納部20や雛形モデル格納部30は、コンピュータ用のハードディスク装置やメモリなどの記憶装置によって構成することができ、顔写真入力部10は、スキャナ装置や通信装置などのデータ入出力装置によって構成することができ、雛形選択部40やマッピング処理部50は、コンピュータに内蔵されているCPUなどの処理装置と専用のプログラムとの組み合わせによって構成することができる。同様に、図6に示す属性格納部60や図9に示す特徴量格納部80は、コンピュータ用のハードディスク装置やメモリなどの記憶装置によって構成することができ、図9に示す特徴量抽出部70、図18に示すモデル修正部90、図24に示す顔写真修正部95は、コンピュータに内蔵されているCPUなどの処理装置と専用のプログラムとの組み合わせによって構成することができる。
【0157】
特に、第3、第4、第5の実施形態に係る装置は、オペレータによる操作入力が必要ないので、ネットワークに接続されたサーバ装置に専用のプログラムを組み込むことによって構成し、ユーザからネットワーク経由で送信されてきた二次元顔写真Fの画像データに基づいて、自動的に三次元ポートレートGとなる三次元画像データを生成し、これをネットワーク経由で当該ユーザに返信するようなシステムを構築することも可能である。
【0158】
(5) 視差画像作成システムへの応用
本発明により作成された三次元ポートレートは、様々な用途に利用可能である。たとえば、冠婚葬祭向けの三次元映像表示として利用するのであれば、新郎新婦の写真から、その立体映像をディスプレイ画面上に表示することができる。また、遺影に基づいて故人の三次元ポートレートを作成できれば、葬儀に立体映像の提示が可能になる。もちろん、三次元ポートレートのデータに基づいて、立体肖像を作成するような用途に利用してもかまわない。
【0159】
また、近年、右目と左目による視差を利用して、立体画像を提示する技術も実用化されており、本発明に係る三次元ポートレートの作成装置は、このような立体画像提示用の視差画像を作成するシステムにも利用可能である。具体的には、これまで述べてきた本発明に係る三次元ポートレートの作成装置と、この三次元ポートレートの作成装置から出力された頭部三次元モデルのデータに基づいて、頭部三次元モデルを左右両眼の各位置から観察して得られる2枚の視差画像を作成し、これを画像データとして出力する視差画像作成装置と、を組み合わせれば、三次元ポートレート用視差画像作成システムが実現できる。
【0160】
特に、視差画像作成装置として、作成した2枚の視差画像を物理的媒体上に印刷して出力する装置を用いれば、三次元の立体像が観察可能な物理媒体の作成が可能である。具体的には、2枚の視差画像を印刷し、その上にレンチキュラーレンズを積層するようにすれば、特定の視線方向から観察した場合に、三次元の立体像が観察可能な物理媒体を得ることができ、三次元証明写真としての用途などにも利用できる。もちろん、作成する視差画像は必ずしも左右両眼位置を視点とした2枚の画像に限定されるものではなく、互いに異なる視点位置から観察して得られる2枚以上の視差画像であればよい。
【符号の説明】
【0161】
10:顔写真入力部
20:顔写真格納部
30:雛形モデル格納部
40,40A,40B:雛形選択部
50:マッピング処理部
60:属性格納部
70:特徴量抽出部
80:特徴量格納部
90:モデル修正部
95:顔写真修正部
C:二次元顔写真における顔の輪郭線
CC:雛形投影像における顔の輪郭線
Da〜Dc:距離
F:二次元顔写真
F′:修正後の二次元顔写真
G:三次元ポートレート(頭部三次元モデルのデータ)
H,Hj:雛形投影像
ki:重み係数
L:二次元顔写真上の基準線
LL:雛形投影像上の基準線
L1,L2:顔の横幅
M,M1〜M5:雛形モデル(頭部の三次元立体データ)
Mj:選択モデル
Mj′:修正後の選択モデル
O:XYZ三次元座標系の原点
P:二次元顔写真上の一般点
P0:二次元顔写真上の基準点
P1〜P10,Pa〜Pc:二次元顔写真上の代表点
Q:雛形投影像上の一般点
Q0:雛形投影像上の基準点
Q1〜Q10,Qa〜Qc:雛形投影像上の代表点
S:投影面(XY平面)
T,U:選択モデルMj上の一般点
V1〜V5,Vj:正面ベクトル
W:顎下基準線
X:XYZ三次元座標系の座標軸
Y:XYZ三次元座標系の座標軸
Z:XYZ三次元座標系の座標軸
α:一般移動ベクトル
αi,αa〜αc:代表移動ベクトル
β:一般移動ベクトル
βi,βa〜βc:代表移動ベクトル
Δ1〜Δ10:2点間の距離
【特許請求の範囲】
【請求項1】
二次元の顔写真に基づいて、三次元ポートレートを作成する装置であって、
特定の人物についての二次元顔写真を画像データとして取り込む顔写真入力部と、
取り込んだ二次元顔写真を格納する顔写真格納部と、
複数N通りのバリエーションをもった頭部の三次元形状データを雛形モデルとして格納した雛形モデル格納部と、
前記N通りの雛形モデルの中の1つを選択する雛形選択部と、
前記雛形選択部が選択した選択モデルの表面に、前記顔写真格納部内の二次元顔写真をマッピングして、頭部三次元モデルを作成し、作成した頭部三次元モデルのデータを前記特定の人物についての三次元ポートレートとして出力するマッピング処理部と、
を備えることを特徴とする三次元ポートレートの作成装置。
【請求項2】
請求項1に記載の三次元ポートレートの作成装置において、
雛形選択部が、N通りの雛形モデルの中の1つを指定するオペレータの選択指示に基づいて雛形モデルの選択を行うことを特徴とする三次元ポートレートの作成装置。
【請求項3】
請求項1に記載の三次元ポートレートの作成装置において、
個々の雛形モデルのそれぞれについて、特定の基準で分類した場合にどの分類に所属するかを示す属性を定義した情報を格納した属性格納部を更に備え、
雛形選択部が、オペレータから入力された属性に基づいて前記属性格納部を検索し、入力された属性に合致する属性が定義された特定の雛形モデルを選択することを特徴とする三次元ポートレートの作成装置。
【請求項4】
請求項1に記載の三次元ポートレートの作成装置において、
個々の雛形モデルのそれぞれについて、固有の特徴量を格納した特徴量格納部と、
顔写真格納部に格納された二次元顔写真から固有の特徴量を抽出する特徴量抽出部と、
を更に備え、
雛形選択部が、前記特徴量抽出部が抽出した特徴量に最も近い特徴量を有する特定の雛形モデルを選択することを特徴とする三次元ポートレートの作成装置。
【請求項5】
請求項4に記載の三次元ポートレートの作成装置において、
特徴量として、顔を構成する個々のパーツの代表点の位置座標を用い、
雛形選択部が、雛形モデルと二次元顔写真との大きさ、位置、および向きを調整した上で、各代表点の位置が最も近似した特定の雛形モデルを選択することを特徴とする三次元ポートレートの作成装置。
【請求項6】
請求項5に記載の三次元ポートレートの作成装置において、
顔を構成するパーツとして、顔を正面から見たときの、顔の輪郭、目、鼻、口の群から選択された複数のパーツを用い、
個々のパーツの代表点として、パーツ構成領域の重心点、パーツ構成領域の外接矩形の中心点、または、パーツ構成領域の輪郭線上の点を用いることを特徴とする三次元ポートレートの作成装置。
【請求項7】
請求項6に記載の三次元ポートレートの作成装置において、
雛形モデル格納部が、個々の雛形モデルのそれぞれについて、顔の正面方向を示す正面ベクトルVを格納しており、
特徴量格納部が、XYZ三次元座標系上に前記正面ベクトルVがZ軸に平行になるように配置した雛形モデルを、XY平面上へ正射影投影した雛形投影像について、各代表点の位置座標を特徴量として格納しており、
特徴量抽出部が、XY平面上に配置した二次元顔写真について、各代表点の位置座標を特徴量として抽出し、
雛形選択部が、前記XY平面上において、前記雛形投影像と前記二次元顔写真との大きさ、位置、および向きを調整した上で、前記雛形投影像の各代表点と、これに対応する前記二次元顔写真の各代表点との距離の和もしくは距離の重み付き和が最小となる雛形モデルを選択することを特徴とする三次元ポートレートの作成装置。
【請求項8】
請求項7に記載の三次元ポートレートの作成装置において、
両目の代表点を結ぶ線を基準線と定義し、この基準線上における前記両目の代表点間の中点を基準点と定義し、前記基準線に沿った顔の幅を基準幅と定義し、
雛形選択部が、XY平面上において、前記基準幅が一致するように雛形投影像と二次元顔写真との大きさの調整を行い、前記基準点が一致するように雛形投影像と二次元顔写真との位置の調整を行い、前記基準線が重なるように雛形投影像と二次元顔写真との向きの調整を行うことを特徴とする三次元ポートレートの作成装置。
【請求項9】
請求項1〜8のいずれかに記載の三次元ポートレートの作成装置において、
雛形選択部が選択した選択モデルを、顔写真格納部に格納されている二次元顔写真に適合するように修正するモデル修正部を更に有し、
マッピング処理部が、修正後の選択モデルの表面に、前記二次元顔写真をマッピングすることを特徴とする三次元ポートレートの作成装置。
【請求項10】
請求項9に記載の三次元ポートレートの作成装置において、
雛形モデル格納部が、個々の雛形モデルのそれぞれについて、顔の正面方向を示す正面ベクトルVを格納しており、
XYZ三次元座標系上に前記正面ベクトルVがZ軸に平行になるように配置した雛形モデルを、XY平面上へ正射影投影した雛形投影像について、顔を構成する個々のパーツの代表点の位置座標を特徴量として格納した特徴量格納部と、
XY平面上に配置した二次元顔写真について、顔を構成する個々のパーツの代表点の位置座標を特徴量として抽出する特徴量抽出部と、
を備え、
モデル修正部が、
XY平面上において、選択モデルの雛形投影像と前記二次元顔写真との大きさ、位置、および向きを調整した上で、前記選択モデルの雛形投影像の各代表点から前記二次元顔写真上の対応する各代表点に向かう代表移動ベクトルを求め、
XYZ三次元座標系上において、前記雛形投影像の各代表点にそれぞれ対応する前記選択モデル上の個々の代表点を、それぞれ対応する代表移動ベクトルに応じて移動させ、前記選択モデル上のその余の一般点を、前記個々の代表移動ベクトルに対する補間処理によって得られた一般移動ベクトルに応じて移動させることにより、選択モデルに対する修正を行うことを特徴とする三次元ポートレートの作成装置。
【請求項11】
請求項10に記載の三次元ポートレートの作成装置において、
モデル修正部が、一般点についての一般移動ベクトルを求める際に、雛形投影像の各代表点のうち、当該一般点のXY平面上への投影点Qに最も近い第1近傍点Qaおよび2番目に近い第2近傍点Qbを求め、点Qと点Qaとの距離をDa、点Qと点Qbとの距離をDb、前記第1近傍点Qaについての代表移動ベクトルをベクトルαa、前記第2近傍点Qbについての代表移動ベクトルをベクトルαb、としたときに、α=(Db/(Da+Db))・αa+(Da/(Da+Db))・αbなる式によって求まるベクトルαを当該一般点についての一般移動ベクトルとする補間処理を行うことを特徴とする三次元ポートレートの作成装置。
【請求項12】
請求項10に記載の三次元ポートレートの作成装置において、
モデル修正部が、一般点についての一般移動ベクトルを求める際に、雛形投影像のn個(n≧3)の代表点のそれぞれと当該一般点のXY平面上への投影点Qとの距離D1,... ,Di,... ,Dnをそれぞれ求め、雛形投影像のn個の代表点についての代表移動ベクトルを、それぞれα1,... ,αi,... ,αnとしたときに、α=Σi=1,n(αi/Di2)/Σi=1,n(1/Di2)なる式によって求まるベクトルαを当該一般点についての一般移動ベクトルとする補間処理を行うことを特徴とする三次元ポートレートの作成装置。
【請求項13】
請求項1〜8のいずれかに記載の三次元ポートレートの作成装置において、
顔写真格納部に格納されている二次元顔写真を、雛形選択部が選択した選択モデルに適合するように修正する顔写真修正部を更に有し、
マッピング処理部が、前記選択モデルの表面に、修正後の二次元顔写真をマッピングすることを特徴とする三次元ポートレートの作成装置。
【請求項14】
請求項13に記載の三次元ポートレートの作成装置において、
雛形モデル格納部が、個々の雛形モデルのそれぞれについて、顔の正面方向を示す正面ベクトルVを格納しており、
XYZ三次元座標系上に前記正面ベクトルVがZ軸に平行になるように配置した雛形モデルを、XY平面上へ正射影投影した雛形投影像について、顔を構成する個々のパーツの代表点の位置座標を特徴量として格納した特徴量格納部と、
XY平面上に配置した二次元顔写真について、顔を構成する個々のパーツの代表点の位置座標を特徴量として抽出する特徴量抽出部と、
を備え、
顔写真修正部が、
XY平面上において、選択モデルの雛形投影像と前記二次元顔写真との大きさ、位置、および向きを調整した上で、前記二次元顔写真の各代表点から前記選択モデルの雛形投影像上の対応する各代表点に向かう代表移動ベクトルを求め、
XY平面上において、前記二次元顔写真の各代表点をそれぞれ対応する代表移動ベクトルに応じて移動させ、前記二次元顔写真上のその余の一般点を、前記個々の代表移動ベクトルに対する補間処理によって得られた一般移動ベクトルに応じて移動させることにより、前記二次元顔写真に対する修正を行うことを特徴とする三次元ポートレートの作成装置。
【請求項15】
請求項14に記載の三次元ポートレートの作成装置において、
顔写真修正部が、一般点についての一般移動ベクトルを求める際に、二次元顔写真の各代表点のうち、当該一般点Pに最も近い第1近傍点Paおよび2番目に近い第2近傍点Pbを求め、点Pと点Paとの距離をDa、点Pと点Pbとの距離をDb、前記第1近傍点Paについての代表移動ベクトルをベクトルβa、前記第2近傍点Pbについての代表移動ベクトルをベクトルβb、としたときに、β=(Db/(Da+Db))・βa+(Da/(Da+Db))・βbなる式によって求まるベクトルβを当該一般点についての一般移動ベクトルとする補間処理を行うことを特徴とする三次元ポートレートの作成装置。
【請求項16】
請求項14に記載の三次元ポートレートの作成装置において、
顔写真修正部が、一般点についての一般移動ベクトルを求める際に、二次元顔写真のn個(n≧3)の代表点と当該一般点Pとの距離D1,... ,Di,... ,Dnをそれぞれ求め、二次元顔写真のn個の代表点についての代表移動ベクトルを、それぞれβ1,... ,βi,... ,βnとしたときに、β=Σi=1,n(βi/Di2)/Σi=1,n(1/Di2)なる式によって求まるベクトルβを当該一般点についての一般移動ベクトルとする補間処理を行うことを特徴とする三次元ポートレートの作成装置。
【請求項17】
請求項10〜12のいずれか、もしくは、請求項14〜16のいずれかに記載の三次元ポートレートの作成装置において、
顔を構成するパーツとして、顔を正面から見たときの、顔の輪郭、目、鼻、口の群から選択された複数のパーツを用い、
個々のパーツの代表点として、パーツ構成領域の重心点、パーツ構成領域の外接矩形の中心点、または、パーツ構成領域の輪郭線上の点を用いることを特徴とする三次元ポートレートの作成装置。
【請求項18】
請求項17に記載の三次元ポートレートの作成装置において、
両目の代表点を結ぶ線を基準線と定義し、この基準線上における前記両目の代表点間の中点を基準点と定義し、前記基準線に沿った顔の幅を基準幅と定義し、
モデル修正部もしくは顔写真修正部が、XY平面上において、前記基準幅が一致するように雛形投影像と二次元顔写真との大きさの調整を行い、前記基準点が一致するように雛形投影像と二次元顔写真との位置の調整を行い、前記基準線が重なるように雛形投影像と二次元顔写真との向きの調整を行うことを特徴とする三次元ポートレートの作成装置。
【請求項19】
請求項1〜18のいずれかに記載の三次元ポートレートの作成装置において、
雛形モデル格納部が、個々の雛形モデルのそれぞれについて、顔の正面方向を示す正面ベクトルVを格納しており、
マッピング処理部が、XYZ三次元座標系上に、選択モデルを前記正面ベクトルVがZ軸に平行になるように配置し、二次元顔写真をXY平面上に配置し、前記選択モデルおよび前記二次元顔写真の大きさ、位置、および向きを調整した上で、前記選択モデルの表面に前記二次元顔写真を正射影投影することによりマッピングを行うことを特徴とする三次元ポートレートの作成装置。
【請求項20】
請求項1〜19のいずれかに記載の三次元ポートレートの作成装置としてコンピュータを機能させるプログラム。
【請求項21】
請求項1〜19のいずれかに記載の三次元ポートレートの作成装置と、
この三次元ポートレートの作成装置から出力された頭部三次元モデルのデータに基づいて、前記頭部三次元モデルを互いに異なる視点位置から観察して得られる2枚以上の視差画像を作成し、これを画像データとして出力するか、もしくは、物理的媒体上に印刷して出力する視差画像作成装置と、
を備えることを特徴とする三次元ポートレート用視差画像作成システム。
【請求項1】
二次元の顔写真に基づいて、三次元ポートレートを作成する装置であって、
特定の人物についての二次元顔写真を画像データとして取り込む顔写真入力部と、
取り込んだ二次元顔写真を格納する顔写真格納部と、
複数N通りのバリエーションをもった頭部の三次元形状データを雛形モデルとして格納した雛形モデル格納部と、
前記N通りの雛形モデルの中の1つを選択する雛形選択部と、
前記雛形選択部が選択した選択モデルの表面に、前記顔写真格納部内の二次元顔写真をマッピングして、頭部三次元モデルを作成し、作成した頭部三次元モデルのデータを前記特定の人物についての三次元ポートレートとして出力するマッピング処理部と、
を備えることを特徴とする三次元ポートレートの作成装置。
【請求項2】
請求項1に記載の三次元ポートレートの作成装置において、
雛形選択部が、N通りの雛形モデルの中の1つを指定するオペレータの選択指示に基づいて雛形モデルの選択を行うことを特徴とする三次元ポートレートの作成装置。
【請求項3】
請求項1に記載の三次元ポートレートの作成装置において、
個々の雛形モデルのそれぞれについて、特定の基準で分類した場合にどの分類に所属するかを示す属性を定義した情報を格納した属性格納部を更に備え、
雛形選択部が、オペレータから入力された属性に基づいて前記属性格納部を検索し、入力された属性に合致する属性が定義された特定の雛形モデルを選択することを特徴とする三次元ポートレートの作成装置。
【請求項4】
請求項1に記載の三次元ポートレートの作成装置において、
個々の雛形モデルのそれぞれについて、固有の特徴量を格納した特徴量格納部と、
顔写真格納部に格納された二次元顔写真から固有の特徴量を抽出する特徴量抽出部と、
を更に備え、
雛形選択部が、前記特徴量抽出部が抽出した特徴量に最も近い特徴量を有する特定の雛形モデルを選択することを特徴とする三次元ポートレートの作成装置。
【請求項5】
請求項4に記載の三次元ポートレートの作成装置において、
特徴量として、顔を構成する個々のパーツの代表点の位置座標を用い、
雛形選択部が、雛形モデルと二次元顔写真との大きさ、位置、および向きを調整した上で、各代表点の位置が最も近似した特定の雛形モデルを選択することを特徴とする三次元ポートレートの作成装置。
【請求項6】
請求項5に記載の三次元ポートレートの作成装置において、
顔を構成するパーツとして、顔を正面から見たときの、顔の輪郭、目、鼻、口の群から選択された複数のパーツを用い、
個々のパーツの代表点として、パーツ構成領域の重心点、パーツ構成領域の外接矩形の中心点、または、パーツ構成領域の輪郭線上の点を用いることを特徴とする三次元ポートレートの作成装置。
【請求項7】
請求項6に記載の三次元ポートレートの作成装置において、
雛形モデル格納部が、個々の雛形モデルのそれぞれについて、顔の正面方向を示す正面ベクトルVを格納しており、
特徴量格納部が、XYZ三次元座標系上に前記正面ベクトルVがZ軸に平行になるように配置した雛形モデルを、XY平面上へ正射影投影した雛形投影像について、各代表点の位置座標を特徴量として格納しており、
特徴量抽出部が、XY平面上に配置した二次元顔写真について、各代表点の位置座標を特徴量として抽出し、
雛形選択部が、前記XY平面上において、前記雛形投影像と前記二次元顔写真との大きさ、位置、および向きを調整した上で、前記雛形投影像の各代表点と、これに対応する前記二次元顔写真の各代表点との距離の和もしくは距離の重み付き和が最小となる雛形モデルを選択することを特徴とする三次元ポートレートの作成装置。
【請求項8】
請求項7に記載の三次元ポートレートの作成装置において、
両目の代表点を結ぶ線を基準線と定義し、この基準線上における前記両目の代表点間の中点を基準点と定義し、前記基準線に沿った顔の幅を基準幅と定義し、
雛形選択部が、XY平面上において、前記基準幅が一致するように雛形投影像と二次元顔写真との大きさの調整を行い、前記基準点が一致するように雛形投影像と二次元顔写真との位置の調整を行い、前記基準線が重なるように雛形投影像と二次元顔写真との向きの調整を行うことを特徴とする三次元ポートレートの作成装置。
【請求項9】
請求項1〜8のいずれかに記載の三次元ポートレートの作成装置において、
雛形選択部が選択した選択モデルを、顔写真格納部に格納されている二次元顔写真に適合するように修正するモデル修正部を更に有し、
マッピング処理部が、修正後の選択モデルの表面に、前記二次元顔写真をマッピングすることを特徴とする三次元ポートレートの作成装置。
【請求項10】
請求項9に記載の三次元ポートレートの作成装置において、
雛形モデル格納部が、個々の雛形モデルのそれぞれについて、顔の正面方向を示す正面ベクトルVを格納しており、
XYZ三次元座標系上に前記正面ベクトルVがZ軸に平行になるように配置した雛形モデルを、XY平面上へ正射影投影した雛形投影像について、顔を構成する個々のパーツの代表点の位置座標を特徴量として格納した特徴量格納部と、
XY平面上に配置した二次元顔写真について、顔を構成する個々のパーツの代表点の位置座標を特徴量として抽出する特徴量抽出部と、
を備え、
モデル修正部が、
XY平面上において、選択モデルの雛形投影像と前記二次元顔写真との大きさ、位置、および向きを調整した上で、前記選択モデルの雛形投影像の各代表点から前記二次元顔写真上の対応する各代表点に向かう代表移動ベクトルを求め、
XYZ三次元座標系上において、前記雛形投影像の各代表点にそれぞれ対応する前記選択モデル上の個々の代表点を、それぞれ対応する代表移動ベクトルに応じて移動させ、前記選択モデル上のその余の一般点を、前記個々の代表移動ベクトルに対する補間処理によって得られた一般移動ベクトルに応じて移動させることにより、選択モデルに対する修正を行うことを特徴とする三次元ポートレートの作成装置。
【請求項11】
請求項10に記載の三次元ポートレートの作成装置において、
モデル修正部が、一般点についての一般移動ベクトルを求める際に、雛形投影像の各代表点のうち、当該一般点のXY平面上への投影点Qに最も近い第1近傍点Qaおよび2番目に近い第2近傍点Qbを求め、点Qと点Qaとの距離をDa、点Qと点Qbとの距離をDb、前記第1近傍点Qaについての代表移動ベクトルをベクトルαa、前記第2近傍点Qbについての代表移動ベクトルをベクトルαb、としたときに、α=(Db/(Da+Db))・αa+(Da/(Da+Db))・αbなる式によって求まるベクトルαを当該一般点についての一般移動ベクトルとする補間処理を行うことを特徴とする三次元ポートレートの作成装置。
【請求項12】
請求項10に記載の三次元ポートレートの作成装置において、
モデル修正部が、一般点についての一般移動ベクトルを求める際に、雛形投影像のn個(n≧3)の代表点のそれぞれと当該一般点のXY平面上への投影点Qとの距離D1,... ,Di,... ,Dnをそれぞれ求め、雛形投影像のn個の代表点についての代表移動ベクトルを、それぞれα1,... ,αi,... ,αnとしたときに、α=Σi=1,n(αi/Di2)/Σi=1,n(1/Di2)なる式によって求まるベクトルαを当該一般点についての一般移動ベクトルとする補間処理を行うことを特徴とする三次元ポートレートの作成装置。
【請求項13】
請求項1〜8のいずれかに記載の三次元ポートレートの作成装置において、
顔写真格納部に格納されている二次元顔写真を、雛形選択部が選択した選択モデルに適合するように修正する顔写真修正部を更に有し、
マッピング処理部が、前記選択モデルの表面に、修正後の二次元顔写真をマッピングすることを特徴とする三次元ポートレートの作成装置。
【請求項14】
請求項13に記載の三次元ポートレートの作成装置において、
雛形モデル格納部が、個々の雛形モデルのそれぞれについて、顔の正面方向を示す正面ベクトルVを格納しており、
XYZ三次元座標系上に前記正面ベクトルVがZ軸に平行になるように配置した雛形モデルを、XY平面上へ正射影投影した雛形投影像について、顔を構成する個々のパーツの代表点の位置座標を特徴量として格納した特徴量格納部と、
XY平面上に配置した二次元顔写真について、顔を構成する個々のパーツの代表点の位置座標を特徴量として抽出する特徴量抽出部と、
を備え、
顔写真修正部が、
XY平面上において、選択モデルの雛形投影像と前記二次元顔写真との大きさ、位置、および向きを調整した上で、前記二次元顔写真の各代表点から前記選択モデルの雛形投影像上の対応する各代表点に向かう代表移動ベクトルを求め、
XY平面上において、前記二次元顔写真の各代表点をそれぞれ対応する代表移動ベクトルに応じて移動させ、前記二次元顔写真上のその余の一般点を、前記個々の代表移動ベクトルに対する補間処理によって得られた一般移動ベクトルに応じて移動させることにより、前記二次元顔写真に対する修正を行うことを特徴とする三次元ポートレートの作成装置。
【請求項15】
請求項14に記載の三次元ポートレートの作成装置において、
顔写真修正部が、一般点についての一般移動ベクトルを求める際に、二次元顔写真の各代表点のうち、当該一般点Pに最も近い第1近傍点Paおよび2番目に近い第2近傍点Pbを求め、点Pと点Paとの距離をDa、点Pと点Pbとの距離をDb、前記第1近傍点Paについての代表移動ベクトルをベクトルβa、前記第2近傍点Pbについての代表移動ベクトルをベクトルβb、としたときに、β=(Db/(Da+Db))・βa+(Da/(Da+Db))・βbなる式によって求まるベクトルβを当該一般点についての一般移動ベクトルとする補間処理を行うことを特徴とする三次元ポートレートの作成装置。
【請求項16】
請求項14に記載の三次元ポートレートの作成装置において、
顔写真修正部が、一般点についての一般移動ベクトルを求める際に、二次元顔写真のn個(n≧3)の代表点と当該一般点Pとの距離D1,... ,Di,... ,Dnをそれぞれ求め、二次元顔写真のn個の代表点についての代表移動ベクトルを、それぞれβ1,... ,βi,... ,βnとしたときに、β=Σi=1,n(βi/Di2)/Σi=1,n(1/Di2)なる式によって求まるベクトルβを当該一般点についての一般移動ベクトルとする補間処理を行うことを特徴とする三次元ポートレートの作成装置。
【請求項17】
請求項10〜12のいずれか、もしくは、請求項14〜16のいずれかに記載の三次元ポートレートの作成装置において、
顔を構成するパーツとして、顔を正面から見たときの、顔の輪郭、目、鼻、口の群から選択された複数のパーツを用い、
個々のパーツの代表点として、パーツ構成領域の重心点、パーツ構成領域の外接矩形の中心点、または、パーツ構成領域の輪郭線上の点を用いることを特徴とする三次元ポートレートの作成装置。
【請求項18】
請求項17に記載の三次元ポートレートの作成装置において、
両目の代表点を結ぶ線を基準線と定義し、この基準線上における前記両目の代表点間の中点を基準点と定義し、前記基準線に沿った顔の幅を基準幅と定義し、
モデル修正部もしくは顔写真修正部が、XY平面上において、前記基準幅が一致するように雛形投影像と二次元顔写真との大きさの調整を行い、前記基準点が一致するように雛形投影像と二次元顔写真との位置の調整を行い、前記基準線が重なるように雛形投影像と二次元顔写真との向きの調整を行うことを特徴とする三次元ポートレートの作成装置。
【請求項19】
請求項1〜18のいずれかに記載の三次元ポートレートの作成装置において、
雛形モデル格納部が、個々の雛形モデルのそれぞれについて、顔の正面方向を示す正面ベクトルVを格納しており、
マッピング処理部が、XYZ三次元座標系上に、選択モデルを前記正面ベクトルVがZ軸に平行になるように配置し、二次元顔写真をXY平面上に配置し、前記選択モデルおよび前記二次元顔写真の大きさ、位置、および向きを調整した上で、前記選択モデルの表面に前記二次元顔写真を正射影投影することによりマッピングを行うことを特徴とする三次元ポートレートの作成装置。
【請求項20】
請求項1〜19のいずれかに記載の三次元ポートレートの作成装置としてコンピュータを機能させるプログラム。
【請求項21】
請求項1〜19のいずれかに記載の三次元ポートレートの作成装置と、
この三次元ポートレートの作成装置から出力された頭部三次元モデルのデータに基づいて、前記頭部三次元モデルを互いに異なる視点位置から観察して得られる2枚以上の視差画像を作成し、これを画像データとして出力するか、もしくは、物理的媒体上に印刷して出力する視差画像作成装置と、
を備えることを特徴とする三次元ポートレート用視差画像作成システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【公開番号】特開2013−97588(P2013−97588A)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2011−240076(P2011−240076)
【出願日】平成23年11月1日(2011.11.1)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願日】平成23年11月1日(2011.11.1)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
[ Back to top ]