(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【0013】
図1は、本発明の実施形態に係る視線変換装置の構成例を示すブロック図である。
図1の視線変換装置10は、参照画像記憶装置12と、形状モデル生成器14と、カメラ16と、特徴点抽出器18と、特徴点位置補正器20と、画像補正器22と、画像出力器28とを有する。画像補正器22は、テクスチャ合成器24と、形状変化器26とを有する。
【0014】
参照画像記憶装置12は、撮影装置の方向に視線が向いた被撮影者の顔の複数の画像を参照画像として格納する。これらの画像は、予め撮影されて格納されている。形状モデル生成器14は、複数の参照画像に基づいて、被撮影者の目の形状についての統計形状モデル(以下では単に形状モデルと称する)を生成する。目の形状は、目の特徴点によって表される。
【0015】
カメラ16は、被撮影者の顔の画像を処理対象画像として取得する。特徴点抽出器18は、処理対象画像における被撮影者の目の特徴点を抽出する。特徴点位置補正器20は、形状モデル生成器14で生成された形状モデルを用いて、処理対象画像における特徴点の位置を補正する。画像補正器22は、特徴点位置補正器20で位置を補正された特徴点で規定される領域に、参照画像の対応する領域を転写して、被撮影者の視線がカメラ16の方向を向いているように見えるように、処理対象画像を補正する。
【0016】
被撮影者であるユーザは、テレビジョン受信機の画面、又はコンピュータに接続されたディスプレイを見ながら、対話相手と会話をする。ユーザのテレビジョン受信機又はコンピュータは、インターネット等の通信ネットワークを経由して、対話相手のテレビジョン受信機又はコンピュータと接続されている。ユーザの顔は、カメラ16によって撮影され、その画像が、視線変換装置10によって処理された後に対話相手に送信される。以下では、カメラ16は、例えば、ディスプレイの上に配置されているものとして説明するが、カメラ16がディスプレイの近辺の他の場所に配置されていたりテレビジョン受信機に内蔵されていてもよく、そのような場合についても同様に説明することができる。
【0017】
図2は、本発明の実施形態に係る視線変換方法における、形状モデルの生成処理の例を示すフローチャートである。まず、形状モデルの生成について説明する。ブロック112において、例えばカメラ16がユーザの顔の画像を複数枚撮影し、参照画像記憶装置12がこれらの画像を格納する。このとき、ユーザは、ディスプレイを見ながら対話相手と会話をするときとほぼ同じ位置にいる(例えば座っている)。また、ユーザの顔はディスプレイの方を向いているが、ユーザの視線は撮影をするカメラの方向に向いている。カメラ16に代えて、他の撮影装置によってユーザの顔の画像を撮影してもよい。この場合、撮影装置とユーザとの位置関係は、上述の場合と同様にしておく。参照画像記憶装置12に格納される画像の枚数は、例えば100枚であるが、これ以上又はこれ以下の枚数であってもよい。
【0018】
図3は、目の特徴点の例を示す説明図である。
図3のブロック114において、参照画像記憶装置12に格納された参照画像から目の特徴点が抽出され、抽出された特徴点が参照画像に付与され、参照画像記憶装置12に格納される。この処理は、参照画像記憶装置12に格納された参照画像のそれぞれについて行われる。特徴点は、目の形状及び領域を表すように、例えば
図3の白丸のように求められる。
図3の例では、左右の目のそれぞれについて、瞳のほぼ中心の点と、目の領域の境界線上の8点とが、特徴点として求められる。境界線上の点として、目の領域の左右の端の点、及びこれらに加えて上側の境界線上に3点、下側の境界線上に3点が求められている。正確な特徴点の位置を求めるために、ここでは手動で特徴点を求めることとするが、十分に計算コストを掛けて十分な精度で特徴点を抽出することができる場合には、自動的に特徴点を求めるようにしてもよい。
【0019】
ブロック116では、形状モデル生成器14は、全ての参照画像について、アライメントをとる処理を行う。ここでは、形状モデル生成器14は、各参照画像における目の位置、傾き、サイズがほぼ同じになるように、画像の平行移動、回転、拡大・縮小を行う。例えば特徴点の位置を用いて、アライメントをとることができる。
【0020】
ブロック118では、形状モデル生成器14は、複数の参照画像のそれぞれから抽出されたユーザの目の特徴点に基づいて、主成分分析によって、目の形状についての形状モデルを生成する。主成分分析の例について説明する。各参照画像について、左右の目のそれぞれについて、u次元のベクトルc={c
1,c
2,…,c
u}を考える。本実施形態では、ベクトルcは、順に並べられた目の9個の特徴点の座標(x座標及びy座標)を要素として有する18次元ベクトルであって(u=18)、目の領域を表している。
【0021】
形状モデル生成器14は、N個のベクトルcから、平均ベクトルを次の式1で求める。
【0023】
形状モデル生成器14は、各ベクトルcと平均ベクトルとから、式2によって共分散行列Sを求める。共分散行列Sは、u×uの行列である。
【0025】
形状モデル生成器14は、この共分散行列Sに対して、固有値問題(式3)を解くことによって固有値λ
iと固有ベクトル(主成分)v
iとを求める。
【0027】
形状モデル生成器14は、上位m個(ここでは8個)の固有値にそれぞれ対応するm個の固有ベクトルを選択する。形状モデル生成器14は、選択された固有ベクトルを、例えば参照画像記憶装置12に格納する。
【0028】
選択された固有ベクトルを用いて構成された固有空間V=(v
1,v
2,…,v
m)において、ベクトルcの係数ベクトルb=(b
1,b
2,…,b
m)を、式4のように求めることができる。係数ベクトルは、各固有ベクトルに対する係数を要素として有するベクトルであって、特徴ベクトルとも呼ばれる。
【0030】
形状モデル生成器14は、式4を用いて係数ベクトルbを求める。ベクトルcは、係数ベクトルbを用いて、式5のように固有ベクトルv
iの線形和として表現することができる。
【0032】
固有ベクトルv
iは目の固有形状とも呼ばれ、目の形状特徴を表す。使用される固有ベクトルの数mがベクトルcの次元数uよりも小さいときには、式5によって元のデータの次元数を削減したということができる。固有ベクトルv
iは、それぞれ、“目の開き度合い”や“釣り目度合い”のような目の形状特徴を平均形状からの差分として表しており、それぞれに係る係数を増減することで容易に目の形状を変化させることができる。また,式4を用いて未知の目の形状をこの固有空間に投影し、求められた各係数の値から、その個人の目の形状の特徴(目の開き度合い,釣り目度合い等)を判定することも可能である。このように、m個の固有ベクトルv
iは、様々な目の形状を表現できる、目の形状についての統計形状モデルであるということができる。
【0033】
求められた主成分(固有ベクトルv
1〜v
8)の例を、表1に示す。表1のベクトルcに対応する係数ベクトルbの例を表2に示す。
【0036】
図4は、固有ベクトルを用いて構成された固有空間Vにおいて、各固有ベクトルに対応する係数b
iを変化させた場合の目の形状変化の例を示す図である。第1〜第3主成分は、主成分分析により取得した固有ベクトルのうち、情報量の多い(固有値の大きい)方から第3位までの固有ベクトルである。
図4から、各固有ベクトルが目の異なる形状特徴を表していることがわかる。また、各固有ベクトルに対応する係数b
iを変化させることで形状の変化は見られるが、位置、サイズ、又は傾きには変化がないことがわかる。
図4において、σは、主成分分析で用いられた参照画像から求められた各固有ベクトルの係数b
iの標準偏差を示し、mean±0σの列は平均ベクトルを示す。
【0037】
図5は、用いられる固有ベクトルの数(基底の数)と累積寄与率との関係の例を示す図である。
図5では、右目についての累積寄与率Rと、左目についての累積寄与率Lとが示されている。
図5に示されているように、形状モデルとして用いられる固有ベクトルの数が多くなるほど、主成分分析において情報の累積寄与率が大きくなるが、その後の形状モデルを用いた演算量も増加する。本実施形態では、累積寄与率が95%を超えるように、固有ベクトルの数mとして8を採用した。
【0038】
図6は、本発明の実施形態に係る視線変換方法における、対象画像に対する処理の例を示すフローチャートである。
図2の処理が終了した後、
図6の処理が行われる。
図2の処理を1回行っておけば、その後、
図2の処理を行う必要はない。
【0039】
図6のブロック140Aにおいては、処理対象画像(第1フレーム)が入力される。具体的には、カメラ16が、ユーザの顔の画像を撮影し、特徴点抽出器18に出力する。
【0040】
ブロック142において、特徴点抽出器18は、カメラ16から処理対象画像を受け取り、参照画像記憶装置12から適切な1枚の参照画像を読み出す。ここで、特徴点抽出器18は、処理対象画像における顔の向きに近い向きの顔画像、例えば、処理対象画像における顔の向きに最も近い向きの顔画像を含む参照画像を読み出す。特徴点抽出器18は、処理対象画像及び参照画像から、例えば
図3のように目の特徴点を抽出し、これらの画像及び特徴点の座標を出力する。このような顔の向きの検出や特徴点抽出は、当業者によく知られた方法で可能である。
図7は、処理対象画像における抽出された特徴点と目領域の例を示す図である。
図8は、参照画像における抽出された特徴点と目領域の例を示す図である。目領域は、抽出された特徴点で囲まれる領域として規定される。
【0041】
ブロック144Aにおいて、特徴点位置補正器20は、ユーザの目が形状モデルを用いて表される形状を有するように、処理対象画像における特徴点位置の補正を行う。ここでは、抽出された特徴点を初期座標とし、目の統計形状モデルによる形状変換と、平行移動、拡大縮小、又は回転とを組み合わせて、初期座標の近傍でより適切な、例えば最適な、目の特徴点座標を探索する。特徴点位置の補正のためのこのような探索処理について説明する。
【0042】
図9は、
図8の特徴点位置の補正を行う処理(ブロック144A)の例を更に詳細に示すフローチャートである。ブロック160では、特徴点位置補正器20は、処理対象画像の目領域に対してPiecewise-Affine変換によるワーピングを行い、その画素数を参照画像の目領域の画素数と同じにする。以下の処理において、両画像の目領域の間の相関値を求める必要があるからである。なお、参照画像の目領域の画素数が処理対象画像の目領域の画素数と同じになるように、ワーピングを行ってもよい。
【0043】
ブロック161では、特徴点位置補正器20は、処理対象画像をx軸方向に平行移動しながら、評価関数としての式6を用いて、処理対象画像と参照画像との間の相関値rを求める。
【0044】
【数6】
ここで、例えば、値t
1,t
2はそれぞれ処理対象画像及び参照画像の輝度値を表し、Mは目領域の総画素数を表す。値t
1,t
2は、輝度以外の値、例えば色相や彩度等であってもよい。平行移動の際には、特徴点位置補正器20は、例えば、目の横幅×0.02のステップで、負の方向に3ステップ、正の方向に3ステップ、処理対象画像を移動させ、移動させる毎に相関値rを求める。特徴点位置補正器20は、相関値rが最大となる処理対象画像の位置を求め、その位置に処理対象画像を置く。
【0045】
ブロック162では、特徴点位置補正器20は、処理対象画像をy軸方向に平行移動しながら、評価関数としての式6を用いて、処理対象画像と参照画像との間の相関値rを求める。平行移動の際には、特徴点位置補正器20は、例えば、目の縦幅×0.02のステップで、負の方向に3ステップ、正の方向に3ステップ、処理対象画像を移動させ、移動させる毎に相関値rを求める。特徴点位置補正器20は、相関値rが最大となる処理対象画像の位置を求め、その位置に処理対象画像を置く。
【0046】
ブロック164では、特徴点位置補正器20は、処理対象画像を拡大又は縮小しながら、評価関数としての式6を用いて、処理対象画像と参照画像との間の相関値rを求める。拡大又は縮小の際には、特徴点位置補正器20は、例えば、倍率2%のステップで、負の方向に3ステップ、正の方向に3ステップ、処理対象画像を拡大又は縮小させ、拡大又は縮小させる毎に相関値rを求める。特徴点位置補正器20は、相関値rが最大となる処理対象画像の倍率を求め、その倍率になるように処理対象画像を拡大又は縮小させる。
【0047】
ブロック166では、特徴点位置補正器20は、処理対象画像を回転させながら、評価関数としての式6を用いて、処理対象画像と参照画像との間の相関値rを求める。回転の際には、特徴点位置補正器20は、例えば、傾き1°のステップで、負の方向に3ステップ、正の方向に3ステップ、処理対象画像を回転させ、回転させる毎に相関値rを求める。特徴点位置補正器20は、相関値rが最大となる処理対象画像の傾きを求め、その傾きになるように処理対象画像を回転させる。
【0048】
ブロック168では、特徴点位置補正器20は、形状モデル用の係数(すなわち、係数ベクトルb)を決定する。特徴点位置補正器20は、形状モデルの各係数を変化させながら(つまり、係数ベクトルbを変化させながら)、評価関数としての式6を用いて、処理対象画像と参照画像との間の相関値rを求める。より具体的には、特徴点位置補正器20は、まず第1主成分に対応する係数b
1を、例えば、標準偏差σ×0.5のステップで、負の方向に6ステップ、正の方向に6ステップ、変更し、変更する毎に相関値rを求める。特徴点位置補正器20は、相関値rが最大となる係数を求め、その値に係数b
1を決定する。係数b
1の標準偏差σは、形状モデルを求める際に、複数の参照画像から求めておく。
【0049】
その後、特徴点位置補正器20は、同様の処理を第2、第3、…、第8主成分に対して、この順に行い、係数b
2,b
3,…,b
8を決定する。標準偏差σとしては、それぞれの主成分に対する係数の標準偏差を用いる。すると、前述の式5により、目の形状に対応するベクトルcを求めることができる。特徴点位置補正器20は、求められた係数b
1,b
2,…,b
8を出力する。
【0050】
以上のような探索の範囲の例を、表3に示す。
【0052】
図10は、処理対象画像における抽出された特徴点の位置が正しくない場合の例を示す図である。
図11は、位置が補正された特徴点の例を示す図である。ブロック142において特徴点抽出器18によって抽出された特徴点の位置が、
図10に示されているように、正しくないことがある。このような場合に、
図9の処理によって特徴点位置の補正を行うと、例えば
図11のように、特徴点位置を正しい位置に補正することができる。
【0053】
なお、
図9のブロック161,162,164及び166の処理の順序を入れ換えてもよい。
【0054】
次に、
図6のブロック146Aにおいて、テクスチャ合成器24は、補正された特徴点で規定される領域に、参照画像の対応する領域を転写して、ユーザの視線がカメラ16の方向を向いているように見えるように、処理対象画像を補正する。テクスチャ合成器24は、具体的には次の処理を行う。すなわち、テクスチャ合成器24は、特徴点を使用して、処理対象画像及び参照画像の目領域を、
図3のように三角形領域に分割する。テクスチャ合成器24は、三角形領域毎に、参照画像の目の領域のテクスチャを、ピースワイズアフィン(Piecewise-Affine)変換を用いて処理対象画像の対応する領域に転写する。この際、各三角形領域においてアフィン変換が行われる。
【0055】
次に、テクスチャ合成器24による処理後の画像に対して、形状変化器26は、形状補正を行う。処理対象画像の目の形状は、ユーザの視線がカメラの方向を向いている参照画像の目の形状とは異なるので、前述のテクスチャ転写の結果は形状とテクスチャのバランスが悪く、不自然な画像になりがちである。そこで、更に、形状変化器26は、処理対象画像における、特徴点で規定される目の形状を、参照画像における目の形状にワーピングにより補正して、自然な転写結果を実現する。
【0056】
図12は、参照画像における目の形状及び特徴点の例を示す説明図である。例えば、処理対象画像の目の形状が
図3のような形状である場合に、形状変化器26は、目の形状を
図12のような形状に補正する。この補正については、カメラ、ディスプレイ、及びユーザの相対位置が決まれば、必要となる補正(処理対象画像と参照画像との間での目の形状の関係)がほぼ確定する。ディスプレイより上にカメラを設置した場合には、この補正は主に目の開きを大きくする処理に相当する。ワーピング手法としては、例えばFFD(Free-Form Deformation)を使用する。
【0057】
ここで、テクスチャの転写を行う際の処理を更に説明する。
図13は、目の周囲に再配置された特徴点の例を示す図である。転写されたテクスチャとその周囲のテクスチャとの境界が不自然であることがある。特徴点の自動抽出では多少の位置の誤差が発生することが多いこと、また、そもそも異なる画像のテクスチャを転写するので、同一環境で同一人物を撮影したとしても、処理対象画像と参照画像とでは対応する部分の輝度値にある程度の差異が存在することが原因である。そこで、まず特徴点抽出誤差の影響を小さくするために、テクスチャ合成器24は、ワーピングを行った後の目の輪郭上の特徴点座標の、瞳の中心からの距離を一定の倍率で大きくして、
図13のように目の周囲に特徴点を再配置し、目の領域を拡大する。再配置された特徴点で囲まれた領域は、拡大後の領域を示す。
【0058】
そこで、テクスチャの転写を行う際に、テクスチャ合成器24は、拡大後の領域の境界からの距離に応じたグラデーションを施す。具体的には、テクスチャ合成器24は、拡大後の領域において、目の中央に近づくに従って処理対象画像に含まれる画像から参照画像に含まれる画像に徐々に変化するように、参照画像に含まれる画像を、処理対象画像に含まれる画像に重ねる。すなわち、境界近くでは処理対象画像の重みを大きくし,目の中央に近づくほど参照画像の重みを徐々に大きくする。目の内部では参照画像のテクスチャを保持したいので、グラデーションは、ほぼ目の外側、すなわち、特徴点の再配置によって拡大された領域においてほぼ完結させる。
【0059】
次に、ブロック148Aにおいて、画像出力器28は、ブロック146Aで得られた画像を、例えばユーザの対話相手のコンピュータに送信する。送信された画像は、対話相手のディスプレイに表示される。
【0060】
図14は、処理前の処理対象画像の例である。
図15は、
図14の画像に
図6の処理を行って得られた画像の例である。
図14では、視線が、ディスプレイに向けられており、カメラには向けられていないが、
図15では、視線がカメラに向けられているように見える。したがって、対話相手には、自分に視線が向けられているように見え、自然な対話が可能になる。
【0061】
その後、ブロック140Bにおいて、新たな処理対象画像(第2フレーム)がカメラ16から特徴点抽出器18に入力され、第1フレームに対する処理と同様の処理が行われる。ただし、特徴点の抽出は行われず、代わりに、ブロック144Aで求められた補正後の特徴点が用いられる。ブロック144B,146B、148Bの処理は、前述のブロック144A,146A、148Aの処理とそれぞれ同じである。特徴点抽出器18は、適切な参照画像を新たに選択して用いてもよいし、第1フレームと同じ参照画像を用いてもよい。以後のフレームについても、同様の処理が行われる。ユーザが瞬きをしたとき等、あるフレームにおいて式6の相関値が前フレームと比べて著しく低下した場合には、目の領域の追跡に失敗したものと判断して,当該フレームを第1フレームとして扱い、特徴点抽出処理(ブロック142)を含む一連の処理を再度行う。
【0062】
図16は、相関値の推移の例を示すグラフである。
図16では、
図6の処理によって得られた画像と参照画像との間の相関値が、フレーム毎に示されている。相関値は、評価関数としての式6を用いて求められる。ブロック144A等の特徴点位置の補正を行った場合の相関値(
図16のA)は、特徴点位置の補正を行わない場合の相関値(
図16のB)より大きく、かつ、値が安定していることがわかる。つまり、Aの場合には、特徴点の位置補正がほぼ正しく行われていることがわかる。その結果、一連のフレームにおいて処理後の画像の目の位置が安定し、違和感の少ない動画像が得られる。
【0063】
図17は、本発明の実施形態に係る視線変換装置を実現するコンピュータシステムの構成例を示すブロック図である。
図17のコンピュータシステム80は、プロセッサ82と、送受信機84と、バス88と、メモリ92と、ファイル格納装置94と、入力デバイス96と、ディスプレイ98とを有する。コンピュータシステム80は、例えば、ユーザが通信ネットワークを介した対話に使用するテレビジョン受信機若しくはコンピュータを構成していてもよく、又はユーザが通信ネットワークを介した対話に使用するテレビジョン受信機若しくはコンピュータに内蔵されていてもよい。
【0064】
プロセッサ82は、バス88を経由して他の構成要素と通信する。送受信機84は、インターネット等の通信ネットワークとの間でデータを送受信する。送受信機84は、無線によって通信ネットワークに接続されていてもよい。
【0065】
メモリ92は例えばRAM(random access memory)及びROM(read only memory)を含んでおり、データ及び命令を格納する。ファイル格納装置94は、1以上の揮発性又は不揮発性の、非過渡的な、コンピュータ読み取り可能な格納媒体である。本発明の実施形態がソフトウェアで実現される場合には、例えば、マイクロコード、アセンブリ言語のコード、又はより高レベルの言語のコードが用いられ得る。これらのコードで記述され、本発明の実施形態の機能を実現する命令を含むプログラムを、ファイル格納装置94は格納する。ファイル格納装置94は、RAM、ROM、EEPROM(electrically erasable programmable read only memory)、及びフラッシュメモリ等の半導体メモリ、ハードディスクドライブ等の磁気記録媒体、光記録媒体、これらの組み合わせ等を含み得る。
【0066】
入力デバイス96は、タッチスクリーン、キーボード、リモートコントローラ、及びマウス等を含み得る。ディスプレイは、液晶ディスプレイ、有機EL(electroluminescence)ディスプレイ等のフラットパネルディスプレイを含み得る。
【0067】
コンピュータシステム80は、
図1の視線変換装置10として動作し得る。プロセッサ82は、形状モデル生成器14、特徴点抽出器18、特徴点位置補正器20、画像補正器22、及び画像出力器28として動作し得る。ファイル格納装置94は、参照画像記憶装置12として動作し得る。
【0068】
本明細書における各機能ブロックは、例えば、回路等のハードウェアで実現され得る。代替としては各機能ブロックの一部又は全ては、ソフトウェアで実現され得る。例えばそのような機能ブロックは、プロセッサ82及びプロセッサ82上で実行されるプログラムによって実現され得る。換言すれば、本明細書で説明される各機能ブロックは、ハードウェアで実現されてもよいし、ソフトウェアで実現されてもよいし、ハードウェアとソフトウェアとの任意の組合せで実現され得る。
【0069】
以上の実施形態は、本質的に好ましい例示であって、本発明、その適用物、あるいはその用途の範囲を制限することを意図するものではない。