視線方向の推定装置、視線方向の推定方法およびコンピュータに当該視線方向の推定方法を実行させるためのプログラム
【課題】顔の向きの制限を緩和して、比較的少数のカメラにより、観測範囲内の任意の位置における被測定対象者の視線方向のリアルタイムに推定し追跡する視線方向の推定装置を提供する。
【解決手段】第2の頭部位置・姿勢推定部5612は、撮影できている複数のカメラからの画像データを統合して処理することにより、頭部の位置および頭部の姿勢の推定処理を実行する。処理対象となっている画像フレーム以前に獲得されている眼球の3次元モデルに基づいて、眼球中心推定部5614は、処理対象の特定人物の眼球中心の3次元的な位置を推定する。虹彩中心抽出部5616は、虹彩の中心の投影位置を検出する。視線方向推定部5618は、抽出された虹彩の中心の投影位置である画像フレーム中の2次元的な位置と、推定された眼球の3次元的な中心位置とに基づいて、視線方向を推定する。
【解決手段】第2の頭部位置・姿勢推定部5612は、撮影できている複数のカメラからの画像データを統合して処理することにより、頭部の位置および頭部の姿勢の推定処理を実行する。処理対象となっている画像フレーム以前に獲得されている眼球の3次元モデルに基づいて、眼球中心推定部5614は、処理対象の特定人物の眼球中心の3次元的な位置を推定する。虹彩中心抽出部5616は、虹彩の中心の投影位置を検出する。視線方向推定部5618は、抽出された虹彩の中心の投影位置である画像フレーム中の2次元的な位置と、推定された眼球の3次元的な中心位置とに基づいて、視線方向を推定する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明はカメラ等からの画像を処理する画像処理に関し、特に、画像中の人物の視線方向を推定および検出するための画像認識の分野に関する。
【背景技術】
【0002】
人物の視線方向の推定は、たとえば、マンマシンインタフェースの1つの方法として従来研究されてきた。
【0003】
視線計測について、従来のカメラを利用した手法では、カメラの設置位置によって「頭部装着型」と「非装着型」に分類できる。一般的に「頭部装着型」は精度は高いが、ユーザの負担が大きい。またカメラの座標系が頭部の動きに連動するため、注視対象を判別するためには、外界の座標系と結び付ける工夫が必要となる。
【0004】
この点では、「非装着型」での視線方向の検出が行えることがのぞましい。
【0005】
図25は、従来の「非装着型」の視線検出方式を対比して説明するための概念図である。
【0006】
「非装着型」の具体的な手法としては、近赤外の点光源(Light Emitting Diode:LED)を目に照射し、角膜で反射された光源像と瞳孔の位置から視線を推定する瞳孔角膜反射法が良く知られている。赤外照明によって瞳孔と虹彩のコントラストは可視光照明より高くなり、瞳孔を検出しやすくなるが、その直径は数ミリで、また赤外光源の反射像もごく小さなスポットとして映るため、解像度の高い画像が要求される。そのため、片目をできるだけ大きく撮像することになる。その結果、「非装着型」の場合、顔が少し動くと目がカメラ視界から外れるという問題がある。言い換えると、赤外線照射式では、視線を推定するためには、カメラと被測定対象者との距離に制約があることになる。
【0007】
角膜反射を利用しない「非装着型」による視線推定手法については、ステレオカメラ方式と単眼カメラ方式の大きく2種類に分けられる。
【0008】
ステレオカメラ方式では、まず顔の特徴点(人為的に貼付したマーカや目尻などの自然特徴点など)の3次元位置を2眼ステレオにより推定し、それをもとに眼球中心位置を推定する手法である。視線方向は、求まった眼球中心位置と画像中の瞳孔位置・虹彩位置を結ぶ直線として推定される。しかし、事前にカメラ間のキャリブレーションが必要であるため、カメラの観測範囲の変更は容易ではないという問題がある。したがって、ステレオカメラ方式では、視線を推定するためには、カメラと被測定対象者との距離およびカメラに対する被測定対象者の位置に制約があることになる。
【0009】
一方、単眼カメラによる方式では、カメラと顔の距離が離れても、ズームなどにより必要な画像解像度が得られれば視線が推定できる。
【0010】
単眼カメラによる方式では、眼の画像パターンから視線を推定するニューラルネットワークによる手法や、観測時の虹彩の楕円形状から視線方向(虹彩の法線方向)を推定する手法、ステレオカメラ方式と同じように特徴点を抽出して虹彩位置との幾何学的関係から視線を推定する手法がある。
【0011】
これらのうち、顔の上の特徴点と虹彩との相対的位置関係から視線を推定する方法は直感的に理解しやすいことから、早くから検討されてきた。
【0012】
青山らは顔の向きの変化にも対応するため、左右の目尻と口の両端(口角)から形成される台形を利用して顔の向きを推定すると同時に、両目尻の中点と左右の虹彩の中点の差から正面視からの目の片寄り量を推定し、両方合わせて視線方向を推定する原理を示した(たとえば、非特許文献1を参照)。
【0013】
また、本願の発明者らは、顔の3次元モデルを用いて、単眼カメラで撮影された画像に対して、視線の推定を可能となる方法について提案している(たとえば、特許文献1)。
【0014】
この点で、単眼カメラ方式では、赤外線照射方式やステレオカメラ方式に比べると、カメラと被測定対象者との距離およびカメラに対する被測定対象者の位置の制約は小さいことになる。
【0015】
しかしながら、これらの方式では、いずれも、被測定対象者の特徴点がカメラから撮影できる範囲内に存在しなければならないとの制約、言い換えると、被測定対象者の頭部の方向に制約があることになる。
【0016】
図26は、従来の視線検出方式、たとえば、単眼式の技術をもちいて、観測領域内の任意の位置の被測定対象者の視線を検出するシステムを示す図である。
【0017】
上述のとおり、単眼式などの従来の視線の検出方式(「赤外線照射方式」「ステレオ式」「単眼式」)では、被測定対象者の頭部の方向に制約があり、撮影される対象人物の顔(より詳しくは、特徴点の存在する(曲)面)の向きがカメラに対して一定の範囲に入っていることが必要とされる。
【0018】
このため、カメラの観測範囲内の任意の位置における被測定対象者の視線を検出するためには、観測範囲の外周に沿って、非常に多くのカメラが配置されることが必要である。
【先行技術文献】
【特許文献】
【0019】
【特許文献1】特開2008−102902号公報
【非特許文献】
【0020】
【非特許文献1】青山宏、河越正弘:「顔の面対称性を利用した視線感知法」情処研報89−CV−61、pp.1-8(1989)
【発明の概要】
【発明が解決しようとする課題】
【0021】
それゆえに本発明の目的は、顔の向きの制限を緩和して、比較的少数のカメラにより、観測範囲内の任意の位置における被測定対象者の視線方向のリアルタイムに推定し追跡する視線方向の推定装置、視線方向の推定方法およびコンピュータに当該視線方向の推定方法を実行させるためのプログラムを提供することである。
【課題を解決するための手段】
【0022】
この発明のある局面に従うと、視線方向の推定装置であって、観測領域内において、人間の頭部領域を含む動画像を獲得するための複数の撮影手段を備え、各頭部領域には、予め複数の特徴点が規定されており、視線方向の推定処理の対象となる現時刻以前の時点の画像フレームまでの動画像により、推定対象となる人間の3次元の眼球中心位置と画像フレーム中に投影された特徴点の2次元の位置との関係が予めモデル化されているときに、複数の撮影手段により同時刻に撮影された動画像中の複数の画像フレームのうちから、視線方向の推定処理の対象となる現時刻の画像フレームを選択し、選択された画像フレームに基づいて、当該モデルを用いて、眼球中心位置を推定するとともに、現時刻の画像フレームから抽出された虹彩の位置に基づいて、推定対象となる人間の視線の方向を推定する視線方向推定手段をさらに備える。
【0023】
好ましくは、視線方向推定手段は、複数の撮影手段において少なくとも2台により撮影された動画像の複数の画像フレームにより、視線方向の推定処理を実行する時点における特定の人物の頭部の位置を、各複数の特徴点と撮影手段とを結ぶ3次元直線の交わる点として取得することで、特定の人物の頭部の観測領域内での位置を追跡する頭部追跡手段と、特定の人物について複数の撮影手段により撮影された複数の画像フレームにおいて、それぞれ特定される複数の特徴点により特定の人物の頭部の姿勢を推定する姿勢推定手段と、推定された顔姿勢に基づいて、特定の人物が撮影された複数の画像フレームのうちから、視線方向の推定処理に使用するための画像フレームを選択する選択手段と、選択された画像フレームにおいて、特定の人物の虹彩中心を抽出するための虹彩中心位置推定手段と、選択された画像フレームに基づいて、特定の人物の眼球中心位置を推定するための眼球中心位置推定手段と、抽出された虹彩中心および推定された眼球中心位置により、特定の人物の視線の方向を算出する視線方向算出手段とを含む。
【0024】
好ましくは、選択手段は、複数の撮影手段で撮影された画像フレームのうちから撮影された画像が最も顔正面に近い画像フレームを選択する。
【0025】
好ましくは、選択手段は、右眼と左眼について、それぞれ、撮影された画像における対応する顔半面の顔正面への近さが異なる場合は、右眼と左眼に対して、異なる撮影手段で撮影された画像フレームを選択する。
【0026】
好ましくは、姿勢推定手段は、頭部追跡手段における投影変換から弱透視変換に投影変換を変更して、頭部の姿勢の推定を実行する。
【0027】
好ましくは、視線方向推定手段は、複数の撮影手段により撮影された画像において、視線方向の推定処理を実行する時点における特定の人物の顔の領域を検出し、複数の特徴点を特定するための顔特徴点特定手段と、複数の撮影手段により撮影された動画像の複数の画像フレームにより、特定の人物の頭部の位置および姿勢を、複数の特徴点の再投影誤差が最小となるように特定する頭部方向の推定手段と、特定された頭部方向に基づいて、特定の人物が撮影された複数の画像フレームのうちから、視線方向の推定処理に使用するための画像フレームを選択する選択手段と、選択された画像フレームにおいて、各画素ごとに特定の人物の目領域内の虹彩領域をラベルづけするための虹彩抽出手段と、仮定された視線方向ベクトルと頭部の位置および姿勢に基づいて、各選択された画像フレームの画像中のモデル虹彩領域を推定し、ラベルづけされた虹彩領域とモデル虹彩領域とが最もフィットするように視線方向ベクトルを決定することにより、特定の人物の視線の方向を算出する視線方向算出手段とを含む。
【0028】
この発明の他の局面に従うと、視線方向の推定方法であって、観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各頭部領域には、予め複数の特徴点が規定されており、視線方向の推定処理の対象となる現時刻以前の時点の画像フレームまでの動画像により、推定対象となる人間の3次元の眼球中心位置と画像フレーム中に投影された特徴点の2次元の位置との関係が予めモデル化するステップと、複数の撮影手段により同時刻に撮影された動画像中の複数の画像フレームのうちから、視線方向の推定処理の対象となる現時刻の画像フレームを選択し、選択された画像フレームに基づいて、当該モデルを用いて、眼球中心位置を推定するとともに、現時刻の画像フレームから抽出された虹彩の位置に基づいて、推定対象となる人間の視線の方向を推定するステップとをさらに備える。
【0029】
この発明のさらに他の局面にしたがうと、視線方向の推定方法であって、観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各頭部領域には、予め複数の特徴点が規定されており、複数の撮影手段において少なくとも2台により撮影された動画像の複数の画像フレームにより、視線方向の推定処理を実行する時点における特定の人物の頭部の位置を、各複数の特徴点と撮影手段とを結ぶ3次元直線の交わる点として取得することで、特定の人物の頭部の観測領域内での位置を追跡するステップと、特定の人物について複数の撮影手段により撮影された複数の画像フレームにおいて、それぞれ特定される複数の特徴点により特定の人物の頭部の姿勢を推定するステップと、推定された顔姿勢に基づいて、特定の人物が撮影された複数の画像フレームのうちから、視線方向の推定に使用するための画像フレームを選択するステップと、選択された画像フレームにおいて、特定の人物の虹彩中心を抽出するステップと、選択された画像フレームに基づいて、特定の人物の眼球中心位置を推定するステップと、抽出された虹彩中心および推定された眼球中心位置により、特定の人物の視線の方向を算出するステップとをさらに備える。
【0030】
この発明のさらに他の局面にしたがうと、演算処理手段を有するコンピュータに、視線方向の推定処理を実行させるためのプログラムであって、プログラムは、観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各頭部領域には、予め複数の特徴点が規定されており、視線方向の推定処理の対象となる現時刻以前の時点の画像フレームまでの動画像により、推定対象となる人間の3次元の眼球中心位置と画像フレーム中に投影された特徴点の2次元の位置との関係が予めモデル化するステップと、複数の撮影手段により同時刻に撮影された動画像中の画像フレームのうちから、視線方向の推定処理の対象となる現時刻の画像フレームを選択し、選択された画像フレームに基づいて、当該モデルを用いて、眼球中心位置を推定するとともに、現時刻の画像フレームから抽出された虹彩の位置に基づいて、推定対象となる人間の視線の方向を推定するステップとをコンピュータに実行させる。
【0031】
この発明のさらに他の局面にしたがうと、演算処理手段を有するコンピュータに、視線方向の推定処理を実行させるためのプログラムであって、プログラムは、観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各頭部領域には、予め複数の特徴点が規定されており、複数の撮影手段において少なくとも2台により撮影された動画像の複数の画像フレームにより、視線方向の推定処理を実行する時点における特定の人物の頭部の位置を、各複数の特徴点と撮影手段とを結ぶ3次元直線の交わる点として取得することで、特定の人物の頭部の観測領域内での位置を追跡するステップと、特定の人物について複数の撮影手段により撮影された複数の画像フレームにおいて、それぞれ特定される複数の特徴点により特定の人物の頭部の姿勢を推定するステップと、推定された顔姿勢に基づいて、特定の人物が撮影された複数の画像フレームのうちから、視線方向の推定に使用するための画像フレームを選択するステップと、選択された画像フレームにおいて、特定の人物の虹彩中心を抽出するステップと、選択された画像フレームに基づいて、特定の人物の眼球中心位置を推定するステップと、抽出された虹彩中心および推定された眼球中心位置により、特定の人物の視線の方向を算出するステップとをコンピュータに実行させる。
【発明の効果】
【0032】
本発明の視線方向の推定装置、視線方向の推定方法およびコンピュータに当該視線方向の推定方法を実行させるためのプログラムによれば、顔の向きの制限を緩和して、比較的少数のカメラにより、観測範囲内の任意の位置における被測定対象者の視線方向のリアルタイムに推定し追跡することが可能である。
【図面の簡単な説明】
【0033】
【図1】視線方向の推定装置の外観を示す図である。
【図2】システム20のハードウェア構成を示すブロック図である。
【図3】視線方向の推定装置において、上述したCPU56がソフトウェアを実行するにより実現する機能を示す機能ブロック図である。
【図4】CPU56により視線推定のソフトウェアを実行する処理フローを示すフローチャートである。
【図5】このような顔(頭部)の検出が実施された結果を示す図である。
【図6】このような顔(頭部)の対応付け処理の概念を説明するための概念図である。
【図7】「頭部の位置および頭部の姿勢の推定処理」の一例を示すフロー図である。
【図8】ガボール表現を用いた顔部品モデルを用いた特徴点の抽出処理を説明するための概念図である。
【図9】眼球モデルパラメータの推定処理を「逐次型眼球モデル推定」の処理として実行する場合の処理の流れを説明する概念図である。
【図10】ラベリング処理例を示す図である。
【図11】右目および左目の虹彩と眼球モデルとの照合処理の概念を示す図である。
【図12】視線方向を決定するためのモデルを説明する概念図である。
【図13】従来法の持つ観測時の制約について説明する図である。
【図14】頭部姿勢が大きく変化する場合に必要となるシステムの概念を示す図である。
【図15】実施の形態2よる視線計測の適用例を示す図である。
【図16】実施の形態2の視線方向の推定装置の構成を示す機能ブロック図である。
【図17】抽出された左右の各目領域画像を示す図である。
【図18】虹彩・白目のラベル付けが行われた状態を示す図である。
【図19】虹彩の画像上の観測形状を示す図である。
【図20】実験環境を示す概念図である。
【図21】頭部姿勢の追跡結果の例を示す図である。
【図22】視線推定の処理結果の例を示す図である。
【図23】視線推定精度を示す図である。
【図24】視線計測を利用した案内システムの例を示す図である。
【図25】従来の「非装着型」の視線検出方式を対比して説明するための概念図である。
【図26】従来の視線検出方式、たとえば、単眼式の技術をもちいて、観測領域内の任意の位置の被測定対象者の視線を検出するシステムを示す図である。
【発明を実施するための形態】
【0034】
[実施の形態1]
[ハードウェア構成]
以下、本発明の実施の形態1にかかる「視線方向の推定装置」について説明する。この視線方向の推定装置は、パーソナルコンピュータまたはワークステーション等、コンピュータ上で実行されるソフトウェアにより実現されるものであって、対象画像から人物の顔を抽出し、さらに人物の顔の映像に基づいて、視線方向を推定・検出するためのものである。図1は、この視線方向の推定装置の外観を示す図である。
【0035】
ただし、以下に説明する「視線方向の推定装置」の各機能の一部または全部は、ハードウェアにより実現されてもよい。
【0036】
図1を参照して、この視線方向の推定装置を構成するシステム20は、CD−ROM(Compact Disc Read-Only Memory )またはDVD−ROM(Digital Versatile Disc Read-Only Memory)ドライブ(以下、「光学ディスクドライブ」と呼ぶ)50、メモリカードドライブ52のような記録媒体からデータを読み取るためのドライブ装置を備えたコンピュータ本体40と、コンピュータ本体40に接続された表示装置としてのディスプレイ42と、同じくコンピュータ本体40に接続された入力装置としてのキーボード46およびマウス48と、コンピュータ本体40に接続された、画像を取込むための複数のカメラ30.1〜30.nとを含む。この実施の形態の装置では、各カメラ30.i(1≦i≦n)としては、CCD(Charge Coupled Device)またはCMOS(Complementary Metal-Oxide Semiconductor)センサのような固体撮像素子を含む単眼カメラを用い、後に説明するように、各カメラ30.iの観測範囲から得られる画像データを統合して使用することにより、観測領域内の人物の顔の位置および視線を推定・検出する処理を行なうものとする。
【0037】
したがって、観測領域内の人物については、複数のカメラ30.1〜30.nのうちの望ましくは、少なくとも2つのカメラにより、当該人物の顔領域を含む画像であって対象となる画像領域内の各画素の値のデジタルデータが準備されるように、カメラ30.1〜30.nは、配置されているものとする。
【0038】
なお、後に説明するように、当該人物の顔領域を含む画像を撮影可能なカメラが、複数のカメラ30.1〜30.nのうちの2つ以上であることは、必ずしも必須の条件ではなく、観測領域内の一部の領域では、カメラのうちの1つからの画像に基づいて、以下に説明するような視線方向の推定を行なうことも可能である。しかしながら、原則としては、以下の説明でも明らかとなるように、本実施の形態の視線方向の推定装置では、基本的には、複数カメラからの画像情報に基づいて、視線の推定を行なう構成である。
【0039】
図2は、このシステム20のハードウェア構成を示すブロック図である。
【0040】
図2に示されるようにこのシステム20を構成するコンピュータ本体40は、光学ディスクドライブ50およびメモリカードドライブ52に加えて、それぞれバス66に接続された中央演算装置(CPU:Central Processing Unit)56と、ROM(Read Only Memory) 58と、RAM (Random Access Memory)60と、ハードディスク54と、カメラ30からの画像を取込むための画像取込装置68とを含んでいる。光学ディスクドライブ50にはCD−ROM(またはDVD−ROM)62が装着される。メモリカードドライブ52にはメモリカード64が装着される。メモリカードドライブ52の機能を実現する装置は、フラッシュメモリなどの不揮発性の半導体メモリに記憶されたデータを読み出せる装置であれば、対象となる記憶媒体は、メモリカードに限定されない。また、ハードディスク54の機能を実現する装置も、不揮発的にデータを記憶し、かつ、ランダムアクセスできる装置であれば、ハードディスクのような磁気記憶装置に限られず、フラッシュメモリなどの不揮発性半導体メモリを記憶装置として用いるソリッドステートドライブ(SSD:Solid State Drive)を用いることができる。
【0041】
既に述べたようにこの視線方向の推定装置の主要部は、コンピュータハードウェアと、CPU56により実行されるソフトウェアとにより実現される。一般的にこうしたソフトウェアはCD−ROM(またはDVD−ROM)62、メモリカード64等の記憶媒体に格納されて流通し、光学ディスクドライブ50またはメモリカードドライブ52等により記憶媒体から読取られてハードディスク54に一旦格納される。または、当該装置がネットワークに接続されている場合には、ネットワーク上のサーバから一旦ハードディスク54にコピーされる。そうしてさらにハードディスク54からRAM60に読出されてCPU56により実行される。なお、ネットワーク接続されている場合には、ハードディスク54に格納することなくRAM60に直接ロードして実行するようにしてもよい。
【0042】
図1および図2に示したコンピュータのハードウェア自体およびその動作原理は一般的なものである。したがって、本発明の最も本質的な部分は、CD−ROM(またはDVD−ROM)62、メモリカード64、ハードディスク54等の記憶媒体に記憶されたソフトウェアである。
【0043】
なお、最近の一般的傾向として、コンピュータのオペレーティングシステムの一部として様々なプログラムモジュールを用意しておき、アプリケーションプログラムはこれらモジュールを所定の配列で必要な時に呼び出して処理を進める方式が一般的である。そうした場合、当該視線方向の推定装置を実現するためのソフトウェア自体にはそうしたモジュールは含まれず、当該コンピュータでオペレーティングシステムと協働してはじめて視線方向の推定装置が実現することになる。しかし、一般的なプラットフォームを使用する限り、そうしたモジュールを含ませたソフトウェアを流通させる必要はなく、それらモジュールを含まないソフトウェア自体およびそれらソフトウェアを記録した記録媒体(およびそれらソフトウェアがネットワーク上を流通する場合のデータ信号)が実施の形態を構成すると考えることができる。
【0044】
[システムの機能ブロック]
以下に説明するとおり、本実施の形態の視線方向の推定装置では、顔特徴点を検出・追跡することにより、複数のカメラを使用して視線方向を推定する。
【0045】
本実施の形態の視線方向の推定装置では、眼球中心と虹彩中心を結ぶ3次元直線を視線方向として推定する。眼球中心は画像からは直接観測することはできないものの、以下に説明するような3次元モデルにより、眼球中心と顔特徴点との相対関係をモデル化することにより、眼球中心の投影位置を推定する。
【0046】
なお、以下では実施の形態の説明の便宜上、「虹彩中心」との用語を用いるが、この用語は、「虹彩の中心」または「瞳孔の中心」を意味するものとして使用するものとする。つまり、視線の推定処理において、以下の説明のような手続きにより求められるものを「虹彩中心」と呼ぶか「瞳孔中心」と呼ぶかは、その手続きが同様である限りにおいて、本実施の形態の態様において、本質的な相違を有するものではない。
【0047】
図3は、本実施の形態の視線方向の推定装置において、上述したCPU56がソフトウェアを実行するにより実現する機能を示す機能ブロック図である。
【0048】
なお、図3に示した機能ブロックのうちのCPU56が実現する機能ブロックとしては、ソフトウェアでの処理に限定されるものではなく、その一部または全部がハードウェアにより実現されてもよい。
【0049】
図3を参照して、複数のカメラ30.1〜30.nにより撮像された動画に対応する映像信号は、フレームごとに画像キャプチャ処理部5602により制御されてデジタルデータとしてキャプチャされ、画像データ記録処理部5604により、たとえば、ハードディスク54のような記憶装置に格納される。
【0050】
顔(頭部)検出部5606は、キャプチャされたフレーム画像列に対して、周知の顔検出アルゴリズムにより、顔(頭部)候補探索を行う。なお、このような周知な顔(頭)検出アルゴリズムとしては、特に限定されないが、たとえば、上述した特許文献1(特開2008−102902号公報明細書)に記載されるようなアルゴリズムや、後に説明するような公知文献に記載されるアルゴリズムを使用することが可能である。
【0051】
続いて、顔(頭部)対応付け部5608は、処理が画像フレームごとに実施される場合は、前時刻の画像フレームにおいてすでに検出されている顔(頭部)と、処理対象となっている現時刻における画像フレームにおいて複数のカメラのそれぞれで検出された顔(頭部)とを対応づけることで、検出された顔(頭部)を特定人の顔(頭部)として追跡する。なお、複数のカメラによる撮影は、フレームについて同期して実施される構成とすることが可能である。あるいは、複数のカメラによる撮影がフレームについて同期されていない場合は、時間軸についてのフィルタ処理を行なうなどして、複数のカメラで撮影された画像フレームを「同時刻」とみなせるように補正処理を行うことも可能である。顔(頭部)対応付け部5608により特定された特定人物の頭部位置は、当該時刻における頭部位置として、次の処理タイミングで使用するためにハードディスク54に格納される。
【0052】
顔(頭部)対応付け部5608における対応付けの処理の結果、特定の人物については、その時刻において、複数のカメラのうち、1つのカメラのみで、顔の中の特徴点が撮影されたと判断されるときは、単眼カメラにより視線の検出を行うことと同等となる。したがって、この場合は、当該特定の人物については、第1の頭部位置・姿勢推定部5610が、たとえば、特許文献1(特開2008−102902号公報明細書)に記載されたような単眼カメラによる視線方向の検出処理におけるのと同様の処理により、撮影できているカメラからの画像データにおいて、頭部の位置および頭部の姿勢の推定処理が実行される。
【0053】
一方、顔(頭部)対応付け部5608における対応付けの処理の結果、特定の人物については、その時刻において、複数のカメラのうち、少なくとも2つ以上のカメラで、顔の中の特徴点が撮影されたと判断されるときは、第2の頭部位置・姿勢推定部5612において、たとえば、後に説明するような処理手順により、頭部(顔)の画像中の所定の特徴点が抽出され、抽出された特徴点に基づいて頭部の位置と頭部の姿勢を3次元的に推定する。つまり、第2の頭部位置・姿勢推定部5612は、撮影できている複数のカメラからの画像データを統合して処理することにより、頭部の位置および頭部の姿勢の推定処理を実行する。
【0054】
頭部の位置および頭部の姿勢が推定されると、処理対象となっている画像フレーム以前に獲得されている眼球の3次元モデルに基づいて、眼球中心推定部5614は、処理対象の特定人物の眼球中心の3次元的な位置を推定する。
【0055】
虹彩中心抽出部5616は、後に説明するようなアルゴリズムにより、虹彩の中心の投影位置を検出する。ここで、虹彩位置の推定においては、後に説明する非線形最適化処理により虹彩位置の推定を行ってもよいし、あるいは、これも特許文献1(特開2008−102902号公報明細書)に記載されたような処理であって、目の周辺領域に対して、ラプラシアンにより虹彩のエッジ候補を抽出し、円のハフ変換を適用することにより、虹彩の中心の投影位置を検出する、というような処理を行ってもよい。
【0056】
視線方向推定部5618は、抽出された虹彩の中心の投影位置である画像フレーム中の2次元的な位置と、推定された眼球の3次元的な中心位置とに基づいて、視線方向を推定する。推定された視線方向は、眼球中心位置等の推定処理に使用したパラメータとともに、ハードディスク54に格納される。
【0057】
また、表示制御部5613は、以上のようにして推定された視線の方向を、取得された画像フレーム上に表示するための処理を行なう。
【0058】
図4は、本実施の形態において、CPU56により視線推定のソフトウェアを実行する処理フローを示すフローチャートである。
【0059】
図4を参照して、処理が開始されると、まず、CPU56は、処理する画像フレームを時間軸上で特定するためのフレーム数Nfを1に設定する(S102)。
【0060】
続いて、CPU56は、画像キャプチャ処理部5602により、カメラ30.1〜30.nで観測される画像を、画像データとしてキャプチャする(S104.1〜S104.n)。そして、CPU56は、顔(頭部)検出部5606により、キャプチャされた各カメラ30.1〜30.nからの画像フレームのデータにおいて、顔(頭部)の検出を実施する(S106.1〜S106.n)。
【0061】
ここで、図5は、このような顔(頭部)の検出が実施された結果を示す図である。このような顔(頭部)の検出処理としては、特に限定されないが、たとえば、以下の公知文献1に開示されたアルゴリズム(AdaBoostと呼ぶ)を使用することができる。
【0062】
公知文献1:CVIM研究会 チュートリアルシリーズ(チュートリアル2) 情報処理学会研究報告. 2007-CVIM-159(32), [コンピュータビジョンとイメージメディア] , P.265-272, 2007-05-15.
顔(頭部)の画像フレームからの検出については、周知の他のアルゴリズムを利用することも可能である。
【0063】
再び図4を参照して、顔(頭部)の検出が、それぞれのカメラ30.1〜30.nで終了すると、CPU56は、顔(頭部)対応付け部5608により、前の処理ステップのタイミングの前時刻の画像フレームにおいてすでに検出されている顔(頭部)と、現時刻における画像フレームにおいて複数のカメラのそれぞれで検出された顔(頭部)とを対応づける(S108)。
【0064】
ここで、図6は、このような顔(頭部)の対応付け処理の概念を説明するための概念図である。
【0065】
図6を参照して、1つ前の処理ステップでは、画像中で、人物P1と人物P2とが事前に検出されているものとする。
【0066】
顔(頭部)対応付け部5608は、現時刻の画像フレームにおいて、カメラ30.1で撮像された画像フレーム中では、2人の顔(頭部)の検出されたものとするとき、各顔(頭部)の画像フレーム中の位置と大きさから、図6に示されるような部屋(以下、その領域に存在する人物の視線推定を行う領域という意味で「観測領域」と呼ぶ)の2次元内での位置を推定する。一方、カメラ30.2でも、撮像された画像フレーム中では、2人の顔(頭部)が検出され、この2人の顔(頭部)の画像フレーム中の位置と大きさから、観測領域の2次元内での位置が推定される。
【0067】
たとえば、人物P1については、現時刻でカメラ30.1およびカメラ30.2で撮影された画像フレームから推定された顔(頭部)の2次元内での位置と、前時刻で推定された顔(頭部)の2次元内での位置とが、重なっていることから、現時刻における人物P1の2次元内での位置が、たとえば、現時刻において推定された顔(頭部)の2次元内での位置(複数)の平均として特定される。
【0068】
同様に、人物P2については、現時刻でカメラ30.1で撮影された画像フレームから推定された顔(頭部)の2次元内での位置と、前時刻で推定された顔(頭部)の2次元内での位置とが、重なっていることから、現時刻における人物P1の2次元内での位置が、現時刻において推定された顔(頭部)の2次元内での位置として特定される。
【0069】
なお、人物P1とP2については、前時刻の顔(頭部)の2次元内での位置と現時刻の顔(頭部)の2次元内での位置とが重なっているものとして描かれているが、たとえば、現時刻と前時刻の位置が所定の距離範囲内であれば、同一人物であると特定することとしてもよい。
【0070】
また、人物P3については、現時刻において、初めて顔(頭部)が検出されたものとする。このとき、顔(頭部)対応付け部5608は、カメラ30.2とカメラ30.3からの画像フレームから推定される顔(頭部)の2次元内での位置の位置が重なっていることにより、新たな人物P3が検出されたものとして、この人物をハードディスク54に登録する。特に限定されないが、このようにして、複数のカメラから撮影された画像フレームにより、同一の2次元内での位置に顔(頭部)が初めて検出されたときに、新たな人物が特定されたものとして、登録する構成とすることができる。以後は、人物P3についても、上述した人物P1や人物P2と同様にして、その顔(頭部)の2次元内での位置を追跡する。
【0071】
再び、図4にもどって、CPU56は、顔(頭部)対応付け部5608により、p人の顔(頭部)が検出され対応付けが完了すると(S108)、1人目〜p人目について、順次、以下の処理を実行する(S110)。
【0072】
すなわち、CPU56は、1人目〜p人目のうち、現在の処理対象であるj人目の人物について、まず、このj人目の人物を観測したカメラが2台以上であるかを判断する(S112)。
【0073】
観測したカメラが1台である場合は、たとえば、当該特定の人物については、第1の頭部位置・姿勢推定部5610が、たとえば、特許文献1(特開2008−102902号公報明細書)に記載されたような単眼カメラによる視線方向の検出処理におけるのと同様の処理により、撮影できているカメラからの画像データにおいて、頭部の位置および頭部の姿勢の推定処理が実行される(S140)。
【0074】
一方、観測したカメラが2台以上である場合は、第2の頭部位置・姿勢推定部5612において、以下に説明するような処理手順により、頭部(顔)の画像中の所定の特徴点が抽出され、抽出された特徴点に基づいて頭部の位置と頭部の姿勢を3次元的に推定する。 (頭部の位置および頭部の姿勢の推定処理)
以下では、ステップS114において実行される頭部の位置および頭部の姿勢の推定処理について、さらに、詳しく説明する。
【0075】
まず、このような「頭部の位置および頭部の姿勢の推定処理」を説明する前提を説明する。
【0076】
N台のカメラで観測された顔特徴点群の2次元座標と、頭部モデルのモデル3次元座標とから頭部位置TM、頭部姿勢RMを推定する場合の処理を以下説明する。
【0077】
カメラiの位置をTiとし、カメラ姿勢を以下の式Riとし、カメラの内部パラメータをAiとする。このとき、fiはカメラiの焦点距離であり、下記のuiは、カメラの中心座標である。
【0078】
【数1】
ここで、カメラiの位置Ti、および姿勢Ri内のri,*(*は、1,2,3のいずれか)は、3×1の縦ベクトルである。
【0079】
このとき、3次元点Xjは透視投影変換により、以下のように2次元座標xi,jに投影される(iはカメラの番号、jは3次元の座標の番号)。
【0080】
【数2】
さらに、頭部モデル上の点jの3次元座標をXM,jとする(j=1,…,M)と、以下の関係が成り立つ。
【0081】
【数3】
頭部の位置および姿勢をそれぞれ、TM,RMとするとモデル上の点jの位置は、以下のように表現されるXjとなるので、このXjを式(1)に代入すると、以下の式(3)となる。
【0082】
【数4】
以上の前提の下に、以下、「頭部の位置および頭部の姿勢の推定処理」を説明する。
【0083】
図7は、図4のステップS114の「頭部の位置および頭部の姿勢の推定処理」の一例を示すフロー図である。
【0084】
(特徴点の抽出)
まず、CPU56は、各カメラからの画像フレーム上で顔部品モデルとのテンプレートマッチング処理により、特徴点の2次元座標を得る(S200)。
【0085】
特に限定されないが、顔部品モデルとしては、特徴点を含む部分画像を顔部品テンプレートとして事前に準備しおいてもよいし、あるいは、ガボール(Gabor)表現を用いたモデルを使用することも可能である。
【0086】
図8は、このようなガボール表現を用いた顔部品モデルを用いた特徴点の抽出処理を説明するための概念図である。
【0087】
ここで、「ガボール表現を用いた顔部品モデル」とは、顔画像領域内の各部分領域をガボール基底ベクトルとの積和演算により低次元ベクトル表現に変換し、あらかじめ変換してハードディスク54に記録してあるモデルのことである。各カメラからの画像フレームは、たとえば、図8(a)の黒枠で示されるような黒四角の枠の大きさで部分画像に分割してあるものとする。CPU56は、このガボール表現を用いた顔部品モデルを顔部品テンプレートとして、各カメラからの画像フレームの各部分画像と比較し、類似度の高いものを特徴点として抽出する。
【0088】
このような特徴点の抽出処理については、たとえば、以下の公知文献2に記載されている。
【0089】
公知文献2:画像処理による顔検出と顔認識(サーベイ(2))情報処理学会研究報告. 2005-CVIM-149(37), [コンピュータビジョンとイメージメディア] , P.343-368, 2005-05-13.
(頭部位置の推定)
再び、図7にもどって、続いて、CPU56は、第2の頭部位置・姿勢推定部5612により、頭部位置の推定処理を実行する(S202)。
【0090】
すなわち、第2の頭部位置・姿勢推定部5612は、各カメラで撮影された画像フレーム上で得られた各特徴点の2次元座標とその特徴点を観測したカメラの位置・姿勢、焦点距離等の投影パラメータから、特徴点(3次元)とカメラを結ぶ3次元直線を得る。さらに、第2の頭部位置・姿勢推定部5612は、顔特徴点間での位置の違いを無視し、同一人物について得られた直線群の交点を最小二乗法で求めて頭部位置とする。
【0091】
より具体的には、第2の頭部位置・姿勢推定部5612は、以下のような処理を実行する。
【0092】
頭部とカメラの距離に比べて頭部上の顔特徴点間の距離が十分に小さい(|RMXM,J|≪|(TM−Ti)|)と仮定する。すると、上記式(3)は、以下のように書き直せる。
【0093】
【数5】
上述の式(4)の第3行から、以下の式(5−1)が得られるので、これを第1、2行に代入して整理すると、式(5−2)が得られる。
【0094】
【数6】
ある時刻に合計L個の観測結果が得られた場合を考える。ここで、k番目の観測では、モデル上の点jk(1≦jk≦M)が、カメラik(1≦ik≦N)で観測されたとする。このとき、式(5−2)により観測の数だけ以下のような方程式(6)が得られる。この式(7)をまとめて、式(8)のように記載することができる。
【0095】
そのとき、頭部位置TMの推定値TM(ハット)は、式(8)のように最小二乗法による推定値として求めることができる。ここで、「ハット」とは、変数の頭部に^が付されたものをいう。
【0096】
【数7】
以上により、頭部位置の推定値が得られる。
【0097】
なお、以上の説明では、処理の簡単のために「顔特徴点間での位置の違いを無視」することにより頭部位置を複数の特徴点についての平均値として推定するものとしたが、例えば、以下で説明するような後段の処理で推定された「顔姿勢」に基づいて、再度頭部位置を推定したり、さらに頭部位置推定と姿勢推定を繰り返して両者の最適化を図るといった処理を行なうことにより、頭部位置の推定を高精度化することも可能である。
【0098】
(頭部姿勢推定処理)
再び、図7にもどって、続いて、CPU56は、第2の頭部位置・姿勢推定部5612により、頭部姿勢の推定処理を実行する(S204)。
【0099】
すなわち、第2の頭部位置・姿勢推定部5612は、上で得られた頭部位置により弱透視変換におけるスケールパラメータを決定し、特徴点毎に頭部姿勢を未知数として特徴点(3次元)と特徴点(2次元)の関係を示す方程式を得る。これに基づいて方程式を満たす頭部姿勢が算出される。
【0100】
すなわち、ここで、頭部姿勢推定処理においては、投影変換の仮定を弱透視変換に切り替える。つまり、頭部とカメラの距離比べて頭部上の顔特徴点間の距離がカメラから見て奥行き方向に関しては十分に小さい(|rti,3RMXM,J|≪|rti,3(TM−Ti)|)と仮定する。
【0101】
すると、上述した式(3)は、次のように書き換えられる。
【0102】
【数8】
さらに、上記の式(9)は、次の式(10)のように書き換えることができる。
【0103】
【数9】
ここで、以下の式で表現されるRMの各要素を用いると、式(10)の第1行、第2行はそれぞれr1,r2,…,r9およびδxi,δyiを変数とする一次式(12)および(13)となる。
【0104】
【数10】
式(6)と同様に、L個の観測を考えると、式(12)式(13)からは次の2L個の方程式(14)を得る。
【0105】
【数11】
そして、式(14)は行列形式にまとめると、以下の式(15)のようにまとめられる。
【0106】
【数12】
さらに、最小自乗法により各要素の値として、以下の式(16)を得る。
【0107】
【数13】
最後に、RMに基づき、式(17)として表現されるQR分解を利用して、頭部の姿勢を示す直行行列RM(ハット)を求める。
【0108】
【数14】
以上により、頭部の姿勢が推定される。
【0109】
再び、図4にもどって、続いて、このようにして推定した顔の姿勢により、現時刻において、視線を推定するのに適したカメラを選択、言い換えると、複数カメラで撮影された画像フレームのうちから視線推定を実行する画像フレームを選択する(ステップS116)。ここでは、利用可能な全ての画像フレームを利用するという方法もあり得るが、CPU56の処理負荷等の観点から、例えば「特徴点抽出時に左(右)眼の特徴点(目尻・目頭等)を抽出できた画像のうち、カメラ位置から撮影された画像が最も顔正面に近いものを左(右)眼の眼球中心位置の推定と虹彩位置検出に利用する」ということが可能である。なお、カメラと対象人物との位置関係によっては、左眼と右眼とで、視線推定に使用する画像フレームを、それぞれ異なるカメラで撮影された画像フレームとすることも可能である。すなわち、対象人物の位置関係によっては、右眼の存在する顔半面と左眼の存在する顔半面について、それぞれ、顔正面への近さ(たとえば、顔の方向とカメラの方向のなす角度の大きさ)がより近い画像フレームが、異なるカメラで撮影された画像フレームである場合がありうるので、この場合は、左眼と右眼とで、視線推定に使用する画像フレームを、それぞれ異なるカメラで撮影された画像フレームとする。
【0110】
そして、頭部の位置および頭部の姿勢の推定、推定に使用する画像フレームの選択の処理が終了すると、続いて、CPU56は、眼球中心推定部5614により、眼球の中心位置を推定する(S118)。
【0111】
すなわち、以下に説明するように、「眼球モデルパラメータの推定処理」を、「逐次型眼球モデル推定」として実行する処理を例にとって、眼球中心位置の推定処理および虹彩(または瞳孔)位置の検出処理について説明する。
【0112】
図9は、このような眼球モデルパラメータの推定処理を「逐次型眼球モデル推定」の処理として実行する場合の処理の流れを説明する概念図である。
【0113】
すなわち、実施の形態1の眼球モデルパラメータの推定処理については、平均的なモデルパラメータを初期値とした逐次型のアルゴリズムを用いる。
【0114】
図9を参照して、このアルゴリズムの実装例について説明している。まずアルゴリズムの開始時点では、事前の被験者実験により複数の対象人物について平均値を求めておく等の方法で得た眼球中心位置X0L(太字、太字はベクトルであることを表し、添え字Lは左目を表す)、X0R(太字、添え字Rは右目を表す)、眼球半径l0、虹彩半径r0を初期パラメータとして、眼球モデルパラメータが、たとえばハードディスク54に保持されているものとする。ここで、眼球中心位置X0L、X0Rは、頭部モデルにおける座標系で表現されているものとする。
【0115】
CPU56は、ステップS116で選択された第1フレームに対する以下に説明するような目領域の画像に対するラベリング結果および頭部(顔)姿勢を入力として、上記初期パラメータを出発点として、非線形最適化処理によって眼球モデルパラメータである眼球中心位置X1L(太字)、X1R(太字)、大きさ眼球半径l1、虹彩半径r1および第1フレームにおける虹彩中心位置xL,1(太字),xR,1(太字)を得て、たとえば、ハードディスク54に格納する(ステップS118,S120)。ここで、眼球中心位置X1L(太字)、X1R(太字)ならびに虹彩中心位置xL,1(太字),xR,1(太字)も、頭部モデルにおける座標系で表現されているものとする。
【0116】
より詳しく説明すると、以下のとおりである。
【0117】
(RANSAC:Random sample consensus)
以下で説明するRANSAC処理は、外れ値を含むデータから安定にモデルパラメータを定めるための処理であり、これについては、たとえば、以下の文献に記載されているので、その処理の概略を説明するにとどめる。
【0118】
文献:M.A.Fischler and R.C.Bolles:”Random sample consensus:A paradigm for model fitting with applications to image analysis and automated cartography,”Comm.Of the ACM,Vol.24,pp.381-395,1981
文献:大江統子、佐藤智和、横矢直和:“画像徳著点によるランドマークデータベースに基づくカメラ位置・姿勢推定”、画像の認識・理解シンポジウム(MIRU2005)2005年7月
上述のような眼球中心位置を初期値として、入力画像群に対して眼球モデルを当てはめ最適なモデルパラメータを推定する。ここで、入力画像から目の周辺領域を切り出し、色および輝度情報をもとに、以下の式(22)に従って、虹彩(黒目)、白目、肌領域の3種類にラベル付けを行なう。
【0119】
【数15】
ここで、hs,kは、肌領域のk番目の画素の色相(hue)の値を表わす。hi,jは、入力画像中の画素(i,j)(第i番目のフレームのj番目の画素)の色相の値を表わす。vs,kは、入力画像中の画素(i,j)の明度の値を表わす。
【0120】
図10は、このようなラベリング処理例を示す図である。
【0121】
続いて各画素が虹彩モデルの内側にあるかどうかをチェックし、眼球モデルとの照合度を評価する(非線形最適化)。
【0122】
図11は、このような右目および左目の虹彩と眼球モデルとの照合処理の概念を示す図である。
【0123】
ここで、このような非線形最適化処理を行なうにあたり、以下の式(23)で表される距離d{LR},i,jを導入する。
【0124】
【数16】
一方、r{LR},i,jは、虹彩中心から画素(i,j)方向の虹彩半径を示すとすると、図11に示すとおり、画素(i,j)が虹彩の外側にあれば、d{LR},i,jは、r{LR},i,jよりも大きな値を示す。
【0125】
r{LR},i,jは、以下の式(24)に示すように、3次元の眼球中心位置Xi{LR}(太字)、対象画像フレーム内の画素位置(xi,j,yi,j)、眼球半径li、虹彩半径ri、対象画像フレーム内の虹彩中心投影位置x{LR}、i(太字)の関数となる。なお、以下では、下付文字{LR}は、左を意味するL、右を意味するRを総称するものとして使用する。また、添え字のiは、第i番目の画像フレームであることを示す。
【0126】
【数17】
なお、頭部の相対座標で考えているので、本来は、眼球中心位置は、フレームに拘わらず、一定の位置に存在するはずである。
【0127】
最後に、眼周辺の全画素についてd{LR},i,jの評価を行ない、入力画像群に尤もよく当てはまる以下の式(25)のモデルパラメータθを、式(26)に従って決定する。
【0128】
【数18】
ここで、gi,j{LR}は、フレームi、画素jにおけるd{LR},i,jの評価値であり、対象画素が虹彩領域か白目領域かによって、以下の式に従い、符合を反転させる。
【0129】
【数19】
ラベリングuijが撮影された画像内の虹彩領域を反映し、関数Gi,j{LR}は、眼球モデルから算出される虹彩領域を反映している。
【0130】
そして、得られた虹彩中心投影位置および眼球中心位置の投影位置から第1フレームにおける視線方向を計算することができる(S122)。
【0131】
より具体的には、以上で求まった眼球中心位置と虹彩中心位置より視線方向を計算する。
【0132】
図12は、視線方向を決定するためのモデルを説明する概念図である。
【0133】
図12に示されるように、画像上での眼球半径をl、画像上での眼球中心と虹彩中心とのx軸方向、y軸方向の距離をdx、dyとすると、視線方向とカメラ光軸とのなす角、つまり、視線方向を向くベクトルがx軸およびy軸との成す角ψx、ψyは次式で表される。
【0134】
【数20】
なお、右目と左目のそれぞれで、視線が推定されるので、左右両眼について得られた視線方向の平均値を視線方向として出力する。ただし、たとえば、右目と左目とで、異なるカメラで撮影した画像フレームで視線を推定した場合などは、観測解像度、観測方向を考慮した重み付き平均としてもよい。
【0135】
また、以上の説明では、数18では、3次元眼球中心位置と入力画像(2次元)に基づいて虹彩位置を求めて、これにより、実際に視線方向の推定(決定)をしている。そして、数20は単に視線方向の表現を上で推定された(眼球中心−虹彩中心)表現から角度表現に変換しているものである。ただし、視線方向を得るための変換の方法としては、数20のように、3次元の眼球中心を特定の画像上に投影した眼球中心投影位置と虹彩中心の位置関係から角度表現を得てもよいし、あるいは、逆に、画像上で観測された虹彩中心の位置を3次元の眼球モデル上に投影して、3次元の角度表現を得ることも可能である。
【0136】
さらに、CPU56は、顔(頭部)の対応付けができたp人のすべてについて、視線方向の推定が終了したかを判断する(S124)。
【0137】
終了していなければ、再び、処理はステップS112に復帰する。
【0138】
一方、p人について処理が終了していれば(S124)、CPU56の視線方向推定部5618は、視線推定の結果を出力して、ハードディスク54に格納する(S126)。表示制御部5613は、表示される画像上において、視線の方向を、たとえば、画像中の対象人物の虹彩の中心(瞳孔)から、視線方向に伸びる線分または矢印として表示する。
【0139】
続いて、CPU56は、この時刻(または対応するフレーム番号)ならびに人物を識別するための情報と関連付けて、頭部(顔)の観測領域内の2次元位置、頭部位置および頭部の姿勢推定結果をハードディスク54に保存する(S128)。
【0140】
さらに、CPU56は、処理終了の指示があるかを判断し(S130)、指示がなければ、何番目のフレームが処理対象であるかを示す変数Nfの値を1だけインクリメントし(S150)、次のフレームの処理のために現時刻(すなわち、次のフレームにとっては前時刻(または前フレーム))の推定結果をハードディスク54から取得して(S152)、処理をステップS104.1〜S104.nに復帰させる。
【0141】
次フレーム以降の処理においては、前フレームで得られた眼球モデルパラメータを初期値と置き換え、新たに得られる入力画像フレームのデータに対して、非線形最適化処理を行なうことでモデルパラメータの更新および当該フレームにおける虹彩中心位置の推定、視線方向の推定を行なうことができる。
【0142】
ステップS130で処理の終了の指示がでていれば、CPU56は、処理を終了させる。
【0143】
このような処理を行なうと、複数のカメラの中から視線方向の推定に最も適したと考えられるカメラからの画像フレームを推定を実行する時刻ごとに選択することとなり、従来の視線方向の推定方式に比べて、カメラから対象人物までの距離やカメラの対象人物に対する方向の制約を緩和して、観測領域内の対象人物の視線の推定を行うことができ、複数のカメラによりいわゆるステレオ視を利用して、3次元空間での眼球中心や虹彩中心を導出する構成比べれば、より少ないカメラの台数で、観測領域内にいる対象人物の視線方向を推定することができる。また、たとえば、上述したように、左眼と右眼とで、視線推定に使用する画像フレームを、それぞれ異なるカメラで撮影された画像フレームとすることも可能であるから、この場合、従来のステレオカメラ方式とは異なり、虹彩(瞳孔)含めて、各特徴点を複数のカメラで同時に観測することを要求されず、この点で、顔の向きの制限を緩和して、比較的少数のカメラにより、観測範囲内における被測定対象者の視線方向のリアルタイムに推定し追跡することが可能となる。また、複数のカメラのうちから、視線推定を行う画像フレームを顔姿勢に応じて選択することになるので、より正確に視線の推定を行うことができる。しかも、視線方向の推定処理を短時間で開始できるという利点がある。
【0144】
(実施の形態1の変形例)
以上の説明では、視線方向の推定は、「眼球モデルパラメータの推定処理」を、「逐次型眼球モデル推定」として実行する場合を例にとって説明した。
【0145】
ただし、たとえば、最初の1〜Nフレームの間では、眼球モデルパラメータの推定処理にあてることとし、(N+1)フレーム以後は、このようにして導出された眼球モデルパラメータを用いて、視線方向の推定を実行することとしてもよい。この場合は、視線方向の推定処理が開始されるまでにタイムラグが発生することになるものの、推定処理の最初から正確な視線方向の推定が可能となるとの利点がある。
【0146】
ところで、実施の形態1においては、i)顔面上の複数の特徴点を別々のカメラで観測して顔姿勢を推定し、ii)推定された顔姿勢を用いて、眼球中心を推定し、iii)顔姿勢を推定したのと同じカメラで観測された虹彩(瞳孔)中心を抽出し、iv)眼球中心と虹彩中心とを組み合わせて視線方向を算出する、との手続きであった。
【0147】
これに対して、上述したような「実施の形態1の変形例」では、3次元の眼球中心位置と2次元の特徴点の関係が予めモデル化されているという前提の下に、顔面上の複数の特徴点を別々のカメラで観測し、観測された特徴点と上記モデルとを利用して眼球中心を推定するとともに、眼球中心が推定された画像フレームにおいて虹彩中心を抽出することで、視線の方向を推定するという構成とすることも可能である。
【0148】
さらに言えば、上述した実施の形態1においても、視線方向の推定を行なう対象となっている画像フレームよりも前の画像フレームにおいて、推定対象の画像フレームにおいて非線形最適化に使用される眼球モデルの最適化前のパラメータが予めもとまっているといえるので、実施の形態1についても、3次元の眼球中心位置と顔内の特徴点の関係が予めモデル化されていることを前提の下に、「顔面上の複数の特徴点を別々のカメラで観測し、観測された特徴点と上記モデルとを利用して眼球中心を推定するとともに、眼球中心が推定された画像フレームにおいて虹彩中心を抽出することで、視線の方向を推定する」という処理を行なっているといえる点では共通しているといえる。
【0149】
[実施の形態2]
以下では、複数カメラを利用した広域遠隔視線計測のための異なる実施の形態について説明する。
【0150】
実施の形態1で述べた通り、近年通常のカメラによる観測によって人の視線を計測する手法が提案され、視線計測時の観測距離の制約を大幅に緩和することが可能となった。しかしながら、一方で観測方向に関しては依然として大きな制約が残っており、現実場面における視線計測の利用を妨げている。
【0151】
図13は、従来法の持つ観測時の制約について説明する図である。
【0152】
図13(A)に示す角膜反射に基づく手法では、赤外照明光の到達距離の制約のために近距離(通常1m以下)での観測が必須となる。これに対して、図13(B)に示す通常の画像観測を利用した手法では、観測距離の制約が大幅に緩和される。特に単眼カメラによる視線計測では一定以上の解像度で顔および目領域が観測できれば視線計測が可能であり、カメラとの距離に関わらず視線計測を行うことができる。
【0153】
図14は、頭部姿勢が大きく変化する場合に必要となるシステムの概念を示す図である。
【0154】
図13(B)の従来の手法では、視線計測に必要な画像特徴を観測するためにカメラに対するユーザの頭部姿勢の変化が比較的狭い範囲に限定されるため、図14(C)に示すように頭部姿勢が大きく変化する場面で継続的に視線計測を行うためには、対象者を様々な方向から観測するために非常に多数のカメラを設置する必要がある。
【0155】
これに対して、図14(D)に示すように、実施の形態2の手法では、視線計測に必要な画像特徴の観測を複数のカメラに分担させる。顔の特徴点および眼球領域がいずれかのカメラで観測できれば視線を計測することが可能であり、ユーザの広範囲の顔向き変化に対応することができる。
【0156】
図15は、後に説明するような実施の形態2よる視線計測の適用例を示す図である。図15では、2台のカメラによって対象人物を異なる方向から観測している。ここにみられるように、左の画像では被験者の顔の右側の特徴点および右目領域、右の画像では被験者の左側の特徴点および左目領域がそれぞれ観測されている。実施の形態2よる視線計測では、各カメラから計測した顔の特徴点を用いて頭部の位置・姿勢を推定し3次元の眼球中心位置を求める。また、各目領域画像から虹彩位置を検出し、眼球中心と虹彩中心を結ぶ方向として視線方向を推定している(図中、灰色の線分は推定された視線方向を示す)。これにより被験者の顔向き変化が大きい場合にも視線計測が可能となる。
(複数カメラによる視線計測処理)
以下では、実施の形態2の複数カメラを利用した視線計測手法の処理の詳細について述べる。
【0157】
図16は、実施の形態2の視線方向の推定装置の構成を示す機能ブロック図である。
【0158】
特に限定されないが、実施の形態2の視線方向の推定装置も、実施の形態1の視線方向の推定装置と同様のハードウェアにより実現できる。したがって、図16では、ソフトウェアにより実行される機能の主要な部分のみを記載している。図16に明示的に記載されていない機能についても、実施の形態1と同様の構成が存在する。
【0159】
実施の形態2の視線方向の推定装置は、視線方向を眼球中心と虹彩中心を結ぶ3次元ベクトルとして推定する。ここで虹彩はカメラ30.1〜30.N(N:2以上の自然数)によって観測可能であるが、眼球中心は直接観測することができない。そこで各カメラで得られる観測画像から、顔検出部6610.1〜6610.Nが顔領域を検出し、顔特徴点検出部6612.1〜6612.Nが、ユーザの顔面上の特徴点を検出する。3次元頭部方向推定部6620が、顔形状の3次元モデルと顔特徴点の2次元観測座標から頭部の位置・姿勢を推定し、眼球中心推定部6640が、間接的に眼球中心の3次元座標を推定する。顔形状の3次元モデル(顔部品の3次元配置)と眼球中心位置の関係は、複数フレームの観測結果から、実施の形態1に示すのと同様の手法によりユーザに意識させることなく自動的にキャリブレーションすることができる。
【0160】
なお、このキャリブレーションの方法については、以下の文献にも開示がある。
【0161】
文献:山添大丈,内海章,米澤朋子,安部伸治:単眼カメラを用いた視線推定のための三次元眼球モデルの自動キャリブレーション. 電子情報通信学会論文誌.D,情報・システムJ94-D(6),988-1006,2011-06-01
一方で、カメラ選択部6630は、頭部位置・姿勢の推定結果に基づいて、左右それぞれの目領域を観測可能なカメラを選択し、虹彩抽出部6650は、選択されたカメラからの画像に基づいて虹彩抽出を行う。すなわち、虹彩抽出部6650は、選択された各カメラで抽出された虹彩領域について楕円形上の当てはめにより3次元の虹彩中心位置を決定し、視線推定部6660は、眼球中心推定部6640の推定した眼球中心位置と虹彩抽出部6650の抽出した虹彩中心位置から視線方向を算出する。なお、ユーザの顔画像が1台のカメラのみによって観測される場合は、上記処理は単眼視線計測手法に一致する。
【0162】
図16中、点線で囲まれた領域の機能は、図2に示したCPU56がプログラムに基づいて実行する処理により達成される。
【0163】
上記の処理を実現するためには、以下に挙げる各項目についての検討が必要となる。
【0164】
・顔の3次元モデル
・顔、顔特徴点の決定
・頭部方向の推定
・虹彩の抽出
・視線方向の推定
以下では、これらの各項目について、順次、説明する。
(顔の3次元モデル)
顔面上の各特徴点の重心位置を原点として顔の正面方向をZ軸の正方向とする座標系(X=0に対して左右対称)を定義し、複数の被験者についての観測データに基づいて顔の3次元モデル(顔部品および眼球中心の配置) を生成することができる。
【0165】
以下の説明では、顔面上の特徴点として6点(両目尻、両目頭と口の両端点)を利用する。ここでp 番目の特徴点の3次元位置をXp=[Xp Yp Zp] Tとする(1≦p≦6)。また、眼球中心の3次元位置をXe,k=[Xe,k Ye,k Ze,k]Tとする(k∈{left,right})。
(顔特徴点の決定)
顔検出および顔特徴点の検出については、それぞれ広く用いられているHaar−like特徴量を用いた顔検出アルゴリズムおよび、Gabor特徴量を利用した顔特徴点抽出を利用することができる。
【0166】
Haar−like特徴量を用いた顔検出アルゴリズムについては、以下の文献に開示がある。
【0167】
文献:Viola, P., and Jones, M. 2001. Rapid object detection using a boosted cascade of simple features. In Proc. CVPR2001, vol. 1, 511-518.
また、Gabor特徴量については、実施の形態1と同様である。
【0168】
なお、より広い範囲の頭部角度に対応させるために、顔特徴点モデルとして横顔データを含む複数の頭部姿勢における観測データを用いるものとする。
(頭部方向の推定)
上記の顔の3次元モデルを用いて顔の3次元位置、姿勢を決定する。
【0169】
カメラCiの位置、姿勢をそれぞれTci,Rciとし、焦点距離をfci[pixel]、カメラ画像の中心座標を(ux,Ci,uy,Ci)とすると、透視投影変換により3次元点X=[X,Y,Z]Tはカメラ上の座標xi=[xi,yi]Tに、次式で投影される。
【0170】
【数21】
頭部の位置、姿勢をR,Tとすると、顔の特徴点pの3次元位置(Xp,Yp,Zp)は以下の式で画像上の点(xip,yip)に投影される。
【0171】
【数22】
ここで、Aciは、カメラiの内部パラメータ、RciとTciはカメラiの回転行列、並進ベクトルを表す。頭部の位置姿勢RとTは次式で計算される再投影誤差を最小にすることで求めることができる。
【0172】
【数23】
(虹彩の抽出)
上記のようにして得られた頭部位置・姿勢に基づいて、目領域を観測可能なカメラが選択され、選択された各カメラにおける左右の各目領域画像が抽出される。
【0173】
図17は、抽出された左右の各目領域画像を示す図である。
【0174】
目領域の抽出には、ベジェ曲線を用いてモデル化した瞼形状の当てはめ結果と眼球領域の境界を利用する。
【0175】
抽出後、各画素ごとの輝度値に基づいて虹彩・白目のラベル付けが行われる。
【0176】
図18は、虹彩・白目のラベル付けが行われた状態を示す図である。
【0177】
図18において、虹彩は、白の領域として示されている。最後に得られた虹彩領域に対して3次元虹彩モデルを当てはめることで虹彩位置が得られる。
(視線方向の推定)
実施の形態2よる視線計測では眼球の3次元モデルと虹彩中心を利用して視線方向を推定する。
【0178】
顔特徴点の画像上への投影と同様に、原点に対する顔の位置、姿勢をそれぞれT,Rとすると、左右の眼球中心位置Xe,kは、次式によりXe,k(ハット)に移動する。
【0179】
【数24】
眼球半径をL、世界座標における視線方向ベクトルをVgとすると、世界座標における虹彩中心位置Xiris,kは次式で表わされる。
【0180】
【数25】
このときカメラCiにおける虹彩中心の観測位置(xiiris,k,yiiris,k)は次式で計算される。
【0181】
【数26】
図19は、虹彩の画像上の観測形状を示す図である。
【0182】
図19に示されるとおり、虹彩が円形であり、またカメラと眼球との距離に対して眼球半径Lが十分に小さいと仮定すると、虹彩の画像上の観測形状は楕円で近似できる。
【0183】
虹彩半径をr
とすると、カメラCiの画像上での虹彩半径(長軸半径)rCi,kは、以下の式で表される。
【0184】
【数27】
カメラCiの画像上で視線方向Vgによって決まる眼球kに関する上記の楕円内に含まれる画素の集合をGi,k(Vg)とし、ある画素Xが集合Gi,k(Vg)に含まれるか否かを示す関数f(Vg,X)を次のように定義する。
【0185】
【数28】
虹彩へのラベル付けの結果として、カメラCiの眼球kに関する目領域について虹彩領域に属する画素の集合をHi,k、白目領域に属する画素の集合を/Hi,k (表記上は、Hi,kの上にバーが記載される)とすると、視線方向は以下の評価関数Egを最大化する方向ベクトルVgとして求めることができる。
【0186】
【数29】
すなわち、眼球モデルに対して視線方向Vgを仮定し、評価関数Egが最大となる、すなわち、もっとも画像上の虹彩の領域および白目の領域にフィットする視線方向Vgが、真の視線方向であるものと推定する。
【0187】
なお、以上の説明においては、虹彩領域と白目の領域の双方を考慮し、モデルと撮影された画像とをフィッティングするものとして説明したが、フィッティングにあたっては、虹彩領域のみを考慮することも可能である。
【0188】
また、眼球半径Lと眼球中心とは、複数の人間について事前に計測された平均的な値を用いることが可能である。さらに、このような眼球半径Lと眼球中心とは、実施の形態1または実施の形態1の変形例で説明したのと同様の方法により、このような平均的な値を初期値とし「眼球モデルパラメータの推定処理」を撮影の時間経過とともに実行して、これらの値を初期値から逐次更新する構成としてもよい。
[実験結果]
実施の形態2よる視線計測の有効性を確認するため、以下の実験を行った。
【0189】
図20は、この実験の実験環境を示す概念図である。
【0190】
図20を参照して、実験環境はカメラ(Pointgray GRAS-50S5M-C))2台(被験者からみて右方向に設置したカメラをcam1、左方向をcam2 とする)を1.8m間隔に配置し、1024×768の解像度で撮影した(以下の実験において典型的な顔のサイズは320×240程度である)。
【0191】
(頭部姿勢の推定の評価)
まず、実装したシステムを用いて頭部姿勢の推定について評価を行った。
【0192】
図21は、頭部姿勢の追跡結果の例を示す図である。
【0193】
ここでは被験者が2台のカメラから等距離にあって両カメラの中点から1.5m離れた位置に立ち、水平面上で左方向(−60°) から右方向(60°) に顔を動かした。
【0194】
図21上に見られるように、実施の形態2の視線方向の推定装置により連続的に頭部姿勢の追跡が行われていることがわかる。
【0195】
図21の下は、このときの左右の眼領域に関する各カメラ画像上での計測可否についての判定結果を示している。この結果から,このときの被験者について頭部姿勢に依らず左右の目領域が,少なくともいずれか一方のカメラで取得できると判定されていることがわかる。実施の形態2では、この判定結果に基づいて虹彩抽出に利用する画像領域を決定する。
【0196】
図22は、視線推定の処理結果の例を示す図である。
【0197】
ここでは、図21と同様に被験者は水平方向に顔向きを変化させている。ここにみられるように、2台のカメラの観測を組み合わせることで適切に頭部姿勢および視線方向が推定されていることがわかる。特に、一方のカメラが完全に側方からの観測になったり(同図2段目および最下段)、2台のカメラで共通する観測が得られない場合(同4段目) でも視線推定が行われていることに注意されたい。
【0198】
図23は、視線推定精度を示す図である。ここでは、環境中の方向既知の同一点を注視しながら顔向きを水平方向に変化させ、各顔向き条件についての視線推定誤差を算出した。35°まで頭部向きを変化させた際の平均誤差は8° 未満であった。
(遠隔視線計測アプリケーション)
遠隔視線計測手法を利用すると、日常環境の中で人々の興味や注意に関する情報を獲得することができ、これまで困難だった様々なサービスが可能になる。
【0199】
例えば、遠隔視線計測システムとロボットとを連動させることでロボットと人が視線を介してコミュニケーションできるシステムが実現されうる。このシステムは、ロボットがユーザと一緒の物を見る行動(共同注視) やロボットをユーザの方向へ向かせ話しかける(働きかけ) をすることによりロボットとユーザ間でコミュニケーションを誘発させるシステムである。
【0200】
このように、視線情報を日常環境で自然なかたちで利用するためには、ユーザの頭部位置・姿勢を限定せず、できるだけ広い範囲で視線情報を計測できることが望ましい。
【0201】
図24は、視線計測を利用した案内システムの例を示す図である。
【0202】
ここでは、案内板の前にいるユーザの興味を視線によって計測し、ユーザの興味に合わせた情報を画像や音声により案内することを想定している。しかし、図24(A)に示すように、従来のシステムでは特に頭部姿勢に関する制約が大きいため、広い顔向き範囲で連続的に視線計測を行うためには、多数のカメラを利用する必要がある。
【0203】
一方、実施の形態2の視線方向の推定装置、視線方向の推定方法またはコンピュータに当該視線方向の推定方法を実行させるためのプログラムでは、比較的少数の複数カメラを利用し、広い顔向き範囲についてより少ないカメラで視線方向を計測できる。
【0204】
あるいは、運転中のドライバーの視線など、大きな顔向き変化を想定しなければならない場面は、他にも多く、実施の形態2よる視線計測によってこれまで適用の難しかった分野での視線情報の利用が可能になる。
【0205】
以上説明したように、実施の形態2の視線方向の推定装置、視線方向の推定方法またはコンピュータに当該視線方向の推定方法を実行させるためのプログラムによれば、複数のカメラの観測を組み合わせることで、従来の視線計測手法の持つ顔向きに関する制約を緩和し、広い頭部姿勢範囲について視線計測が可能な遠隔視線計測が提供される。実施の形態2よる視線計測では、顔面上の特徴点および左右の目領域画像の観測がそれぞれ異なるカメラで行われることを許容し、頭部の位置・姿勢および視線方向の推定を行う。そのため少数のカメラによって広い頭部姿勢範囲をカバーできる。実施の形態2よる視線計測により日常生活や公共の場における視線アプリケーションの適用範囲を大幅に拡大することができる。
【0206】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0207】
20 視線方向の推定装置、30.1〜30.n カメラ、40 コンピュータ本体、42 ディスプレイ、46 キーボード、48 マウス、50 光学ディスクドライブ、52 メモリカードドライブ、54 ハードディスク、60 RAM、64 メモリカード、66 バス、68 画像取込装置、5602 画像キャプチャ処理部、5604 画像データ記録処理部、5606 検出部、5608 部、5610 第1の頭部位置・姿勢推定部、5612 第2の頭部位置・姿勢推定部、5613 表示制御部、5614 眼球中心推定部、5618 視線方向推定部。
【技術分野】
【0001】
この発明はカメラ等からの画像を処理する画像処理に関し、特に、画像中の人物の視線方向を推定および検出するための画像認識の分野に関する。
【背景技術】
【0002】
人物の視線方向の推定は、たとえば、マンマシンインタフェースの1つの方法として従来研究されてきた。
【0003】
視線計測について、従来のカメラを利用した手法では、カメラの設置位置によって「頭部装着型」と「非装着型」に分類できる。一般的に「頭部装着型」は精度は高いが、ユーザの負担が大きい。またカメラの座標系が頭部の動きに連動するため、注視対象を判別するためには、外界の座標系と結び付ける工夫が必要となる。
【0004】
この点では、「非装着型」での視線方向の検出が行えることがのぞましい。
【0005】
図25は、従来の「非装着型」の視線検出方式を対比して説明するための概念図である。
【0006】
「非装着型」の具体的な手法としては、近赤外の点光源(Light Emitting Diode:LED)を目に照射し、角膜で反射された光源像と瞳孔の位置から視線を推定する瞳孔角膜反射法が良く知られている。赤外照明によって瞳孔と虹彩のコントラストは可視光照明より高くなり、瞳孔を検出しやすくなるが、その直径は数ミリで、また赤外光源の反射像もごく小さなスポットとして映るため、解像度の高い画像が要求される。そのため、片目をできるだけ大きく撮像することになる。その結果、「非装着型」の場合、顔が少し動くと目がカメラ視界から外れるという問題がある。言い換えると、赤外線照射式では、視線を推定するためには、カメラと被測定対象者との距離に制約があることになる。
【0007】
角膜反射を利用しない「非装着型」による視線推定手法については、ステレオカメラ方式と単眼カメラ方式の大きく2種類に分けられる。
【0008】
ステレオカメラ方式では、まず顔の特徴点(人為的に貼付したマーカや目尻などの自然特徴点など)の3次元位置を2眼ステレオにより推定し、それをもとに眼球中心位置を推定する手法である。視線方向は、求まった眼球中心位置と画像中の瞳孔位置・虹彩位置を結ぶ直線として推定される。しかし、事前にカメラ間のキャリブレーションが必要であるため、カメラの観測範囲の変更は容易ではないという問題がある。したがって、ステレオカメラ方式では、視線を推定するためには、カメラと被測定対象者との距離およびカメラに対する被測定対象者の位置に制約があることになる。
【0009】
一方、単眼カメラによる方式では、カメラと顔の距離が離れても、ズームなどにより必要な画像解像度が得られれば視線が推定できる。
【0010】
単眼カメラによる方式では、眼の画像パターンから視線を推定するニューラルネットワークによる手法や、観測時の虹彩の楕円形状から視線方向(虹彩の法線方向)を推定する手法、ステレオカメラ方式と同じように特徴点を抽出して虹彩位置との幾何学的関係から視線を推定する手法がある。
【0011】
これらのうち、顔の上の特徴点と虹彩との相対的位置関係から視線を推定する方法は直感的に理解しやすいことから、早くから検討されてきた。
【0012】
青山らは顔の向きの変化にも対応するため、左右の目尻と口の両端(口角)から形成される台形を利用して顔の向きを推定すると同時に、両目尻の中点と左右の虹彩の中点の差から正面視からの目の片寄り量を推定し、両方合わせて視線方向を推定する原理を示した(たとえば、非特許文献1を参照)。
【0013】
また、本願の発明者らは、顔の3次元モデルを用いて、単眼カメラで撮影された画像に対して、視線の推定を可能となる方法について提案している(たとえば、特許文献1)。
【0014】
この点で、単眼カメラ方式では、赤外線照射方式やステレオカメラ方式に比べると、カメラと被測定対象者との距離およびカメラに対する被測定対象者の位置の制約は小さいことになる。
【0015】
しかしながら、これらの方式では、いずれも、被測定対象者の特徴点がカメラから撮影できる範囲内に存在しなければならないとの制約、言い換えると、被測定対象者の頭部の方向に制約があることになる。
【0016】
図26は、従来の視線検出方式、たとえば、単眼式の技術をもちいて、観測領域内の任意の位置の被測定対象者の視線を検出するシステムを示す図である。
【0017】
上述のとおり、単眼式などの従来の視線の検出方式(「赤外線照射方式」「ステレオ式」「単眼式」)では、被測定対象者の頭部の方向に制約があり、撮影される対象人物の顔(より詳しくは、特徴点の存在する(曲)面)の向きがカメラに対して一定の範囲に入っていることが必要とされる。
【0018】
このため、カメラの観測範囲内の任意の位置における被測定対象者の視線を検出するためには、観測範囲の外周に沿って、非常に多くのカメラが配置されることが必要である。
【先行技術文献】
【特許文献】
【0019】
【特許文献1】特開2008−102902号公報
【非特許文献】
【0020】
【非特許文献1】青山宏、河越正弘:「顔の面対称性を利用した視線感知法」情処研報89−CV−61、pp.1-8(1989)
【発明の概要】
【発明が解決しようとする課題】
【0021】
それゆえに本発明の目的は、顔の向きの制限を緩和して、比較的少数のカメラにより、観測範囲内の任意の位置における被測定対象者の視線方向のリアルタイムに推定し追跡する視線方向の推定装置、視線方向の推定方法およびコンピュータに当該視線方向の推定方法を実行させるためのプログラムを提供することである。
【課題を解決するための手段】
【0022】
この発明のある局面に従うと、視線方向の推定装置であって、観測領域内において、人間の頭部領域を含む動画像を獲得するための複数の撮影手段を備え、各頭部領域には、予め複数の特徴点が規定されており、視線方向の推定処理の対象となる現時刻以前の時点の画像フレームまでの動画像により、推定対象となる人間の3次元の眼球中心位置と画像フレーム中に投影された特徴点の2次元の位置との関係が予めモデル化されているときに、複数の撮影手段により同時刻に撮影された動画像中の複数の画像フレームのうちから、視線方向の推定処理の対象となる現時刻の画像フレームを選択し、選択された画像フレームに基づいて、当該モデルを用いて、眼球中心位置を推定するとともに、現時刻の画像フレームから抽出された虹彩の位置に基づいて、推定対象となる人間の視線の方向を推定する視線方向推定手段をさらに備える。
【0023】
好ましくは、視線方向推定手段は、複数の撮影手段において少なくとも2台により撮影された動画像の複数の画像フレームにより、視線方向の推定処理を実行する時点における特定の人物の頭部の位置を、各複数の特徴点と撮影手段とを結ぶ3次元直線の交わる点として取得することで、特定の人物の頭部の観測領域内での位置を追跡する頭部追跡手段と、特定の人物について複数の撮影手段により撮影された複数の画像フレームにおいて、それぞれ特定される複数の特徴点により特定の人物の頭部の姿勢を推定する姿勢推定手段と、推定された顔姿勢に基づいて、特定の人物が撮影された複数の画像フレームのうちから、視線方向の推定処理に使用するための画像フレームを選択する選択手段と、選択された画像フレームにおいて、特定の人物の虹彩中心を抽出するための虹彩中心位置推定手段と、選択された画像フレームに基づいて、特定の人物の眼球中心位置を推定するための眼球中心位置推定手段と、抽出された虹彩中心および推定された眼球中心位置により、特定の人物の視線の方向を算出する視線方向算出手段とを含む。
【0024】
好ましくは、選択手段は、複数の撮影手段で撮影された画像フレームのうちから撮影された画像が最も顔正面に近い画像フレームを選択する。
【0025】
好ましくは、選択手段は、右眼と左眼について、それぞれ、撮影された画像における対応する顔半面の顔正面への近さが異なる場合は、右眼と左眼に対して、異なる撮影手段で撮影された画像フレームを選択する。
【0026】
好ましくは、姿勢推定手段は、頭部追跡手段における投影変換から弱透視変換に投影変換を変更して、頭部の姿勢の推定を実行する。
【0027】
好ましくは、視線方向推定手段は、複数の撮影手段により撮影された画像において、視線方向の推定処理を実行する時点における特定の人物の顔の領域を検出し、複数の特徴点を特定するための顔特徴点特定手段と、複数の撮影手段により撮影された動画像の複数の画像フレームにより、特定の人物の頭部の位置および姿勢を、複数の特徴点の再投影誤差が最小となるように特定する頭部方向の推定手段と、特定された頭部方向に基づいて、特定の人物が撮影された複数の画像フレームのうちから、視線方向の推定処理に使用するための画像フレームを選択する選択手段と、選択された画像フレームにおいて、各画素ごとに特定の人物の目領域内の虹彩領域をラベルづけするための虹彩抽出手段と、仮定された視線方向ベクトルと頭部の位置および姿勢に基づいて、各選択された画像フレームの画像中のモデル虹彩領域を推定し、ラベルづけされた虹彩領域とモデル虹彩領域とが最もフィットするように視線方向ベクトルを決定することにより、特定の人物の視線の方向を算出する視線方向算出手段とを含む。
【0028】
この発明の他の局面に従うと、視線方向の推定方法であって、観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各頭部領域には、予め複数の特徴点が規定されており、視線方向の推定処理の対象となる現時刻以前の時点の画像フレームまでの動画像により、推定対象となる人間の3次元の眼球中心位置と画像フレーム中に投影された特徴点の2次元の位置との関係が予めモデル化するステップと、複数の撮影手段により同時刻に撮影された動画像中の複数の画像フレームのうちから、視線方向の推定処理の対象となる現時刻の画像フレームを選択し、選択された画像フレームに基づいて、当該モデルを用いて、眼球中心位置を推定するとともに、現時刻の画像フレームから抽出された虹彩の位置に基づいて、推定対象となる人間の視線の方向を推定するステップとをさらに備える。
【0029】
この発明のさらに他の局面にしたがうと、視線方向の推定方法であって、観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各頭部領域には、予め複数の特徴点が規定されており、複数の撮影手段において少なくとも2台により撮影された動画像の複数の画像フレームにより、視線方向の推定処理を実行する時点における特定の人物の頭部の位置を、各複数の特徴点と撮影手段とを結ぶ3次元直線の交わる点として取得することで、特定の人物の頭部の観測領域内での位置を追跡するステップと、特定の人物について複数の撮影手段により撮影された複数の画像フレームにおいて、それぞれ特定される複数の特徴点により特定の人物の頭部の姿勢を推定するステップと、推定された顔姿勢に基づいて、特定の人物が撮影された複数の画像フレームのうちから、視線方向の推定に使用するための画像フレームを選択するステップと、選択された画像フレームにおいて、特定の人物の虹彩中心を抽出するステップと、選択された画像フレームに基づいて、特定の人物の眼球中心位置を推定するステップと、抽出された虹彩中心および推定された眼球中心位置により、特定の人物の視線の方向を算出するステップとをさらに備える。
【0030】
この発明のさらに他の局面にしたがうと、演算処理手段を有するコンピュータに、視線方向の推定処理を実行させるためのプログラムであって、プログラムは、観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各頭部領域には、予め複数の特徴点が規定されており、視線方向の推定処理の対象となる現時刻以前の時点の画像フレームまでの動画像により、推定対象となる人間の3次元の眼球中心位置と画像フレーム中に投影された特徴点の2次元の位置との関係が予めモデル化するステップと、複数の撮影手段により同時刻に撮影された動画像中の画像フレームのうちから、視線方向の推定処理の対象となる現時刻の画像フレームを選択し、選択された画像フレームに基づいて、当該モデルを用いて、眼球中心位置を推定するとともに、現時刻の画像フレームから抽出された虹彩の位置に基づいて、推定対象となる人間の視線の方向を推定するステップとをコンピュータに実行させる。
【0031】
この発明のさらに他の局面にしたがうと、演算処理手段を有するコンピュータに、視線方向の推定処理を実行させるためのプログラムであって、プログラムは、観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各頭部領域には、予め複数の特徴点が規定されており、複数の撮影手段において少なくとも2台により撮影された動画像の複数の画像フレームにより、視線方向の推定処理を実行する時点における特定の人物の頭部の位置を、各複数の特徴点と撮影手段とを結ぶ3次元直線の交わる点として取得することで、特定の人物の頭部の観測領域内での位置を追跡するステップと、特定の人物について複数の撮影手段により撮影された複数の画像フレームにおいて、それぞれ特定される複数の特徴点により特定の人物の頭部の姿勢を推定するステップと、推定された顔姿勢に基づいて、特定の人物が撮影された複数の画像フレームのうちから、視線方向の推定に使用するための画像フレームを選択するステップと、選択された画像フレームにおいて、特定の人物の虹彩中心を抽出するステップと、選択された画像フレームに基づいて、特定の人物の眼球中心位置を推定するステップと、抽出された虹彩中心および推定された眼球中心位置により、特定の人物の視線の方向を算出するステップとをコンピュータに実行させる。
【発明の効果】
【0032】
本発明の視線方向の推定装置、視線方向の推定方法およびコンピュータに当該視線方向の推定方法を実行させるためのプログラムによれば、顔の向きの制限を緩和して、比較的少数のカメラにより、観測範囲内の任意の位置における被測定対象者の視線方向のリアルタイムに推定し追跡することが可能である。
【図面の簡単な説明】
【0033】
【図1】視線方向の推定装置の外観を示す図である。
【図2】システム20のハードウェア構成を示すブロック図である。
【図3】視線方向の推定装置において、上述したCPU56がソフトウェアを実行するにより実現する機能を示す機能ブロック図である。
【図4】CPU56により視線推定のソフトウェアを実行する処理フローを示すフローチャートである。
【図5】このような顔(頭部)の検出が実施された結果を示す図である。
【図6】このような顔(頭部)の対応付け処理の概念を説明するための概念図である。
【図7】「頭部の位置および頭部の姿勢の推定処理」の一例を示すフロー図である。
【図8】ガボール表現を用いた顔部品モデルを用いた特徴点の抽出処理を説明するための概念図である。
【図9】眼球モデルパラメータの推定処理を「逐次型眼球モデル推定」の処理として実行する場合の処理の流れを説明する概念図である。
【図10】ラベリング処理例を示す図である。
【図11】右目および左目の虹彩と眼球モデルとの照合処理の概念を示す図である。
【図12】視線方向を決定するためのモデルを説明する概念図である。
【図13】従来法の持つ観測時の制約について説明する図である。
【図14】頭部姿勢が大きく変化する場合に必要となるシステムの概念を示す図である。
【図15】実施の形態2よる視線計測の適用例を示す図である。
【図16】実施の形態2の視線方向の推定装置の構成を示す機能ブロック図である。
【図17】抽出された左右の各目領域画像を示す図である。
【図18】虹彩・白目のラベル付けが行われた状態を示す図である。
【図19】虹彩の画像上の観測形状を示す図である。
【図20】実験環境を示す概念図である。
【図21】頭部姿勢の追跡結果の例を示す図である。
【図22】視線推定の処理結果の例を示す図である。
【図23】視線推定精度を示す図である。
【図24】視線計測を利用した案内システムの例を示す図である。
【図25】従来の「非装着型」の視線検出方式を対比して説明するための概念図である。
【図26】従来の視線検出方式、たとえば、単眼式の技術をもちいて、観測領域内の任意の位置の被測定対象者の視線を検出するシステムを示す図である。
【発明を実施するための形態】
【0034】
[実施の形態1]
[ハードウェア構成]
以下、本発明の実施の形態1にかかる「視線方向の推定装置」について説明する。この視線方向の推定装置は、パーソナルコンピュータまたはワークステーション等、コンピュータ上で実行されるソフトウェアにより実現されるものであって、対象画像から人物の顔を抽出し、さらに人物の顔の映像に基づいて、視線方向を推定・検出するためのものである。図1は、この視線方向の推定装置の外観を示す図である。
【0035】
ただし、以下に説明する「視線方向の推定装置」の各機能の一部または全部は、ハードウェアにより実現されてもよい。
【0036】
図1を参照して、この視線方向の推定装置を構成するシステム20は、CD−ROM(Compact Disc Read-Only Memory )またはDVD−ROM(Digital Versatile Disc Read-Only Memory)ドライブ(以下、「光学ディスクドライブ」と呼ぶ)50、メモリカードドライブ52のような記録媒体からデータを読み取るためのドライブ装置を備えたコンピュータ本体40と、コンピュータ本体40に接続された表示装置としてのディスプレイ42と、同じくコンピュータ本体40に接続された入力装置としてのキーボード46およびマウス48と、コンピュータ本体40に接続された、画像を取込むための複数のカメラ30.1〜30.nとを含む。この実施の形態の装置では、各カメラ30.i(1≦i≦n)としては、CCD(Charge Coupled Device)またはCMOS(Complementary Metal-Oxide Semiconductor)センサのような固体撮像素子を含む単眼カメラを用い、後に説明するように、各カメラ30.iの観測範囲から得られる画像データを統合して使用することにより、観測領域内の人物の顔の位置および視線を推定・検出する処理を行なうものとする。
【0037】
したがって、観測領域内の人物については、複数のカメラ30.1〜30.nのうちの望ましくは、少なくとも2つのカメラにより、当該人物の顔領域を含む画像であって対象となる画像領域内の各画素の値のデジタルデータが準備されるように、カメラ30.1〜30.nは、配置されているものとする。
【0038】
なお、後に説明するように、当該人物の顔領域を含む画像を撮影可能なカメラが、複数のカメラ30.1〜30.nのうちの2つ以上であることは、必ずしも必須の条件ではなく、観測領域内の一部の領域では、カメラのうちの1つからの画像に基づいて、以下に説明するような視線方向の推定を行なうことも可能である。しかしながら、原則としては、以下の説明でも明らかとなるように、本実施の形態の視線方向の推定装置では、基本的には、複数カメラからの画像情報に基づいて、視線の推定を行なう構成である。
【0039】
図2は、このシステム20のハードウェア構成を示すブロック図である。
【0040】
図2に示されるようにこのシステム20を構成するコンピュータ本体40は、光学ディスクドライブ50およびメモリカードドライブ52に加えて、それぞれバス66に接続された中央演算装置(CPU:Central Processing Unit)56と、ROM(Read Only Memory) 58と、RAM (Random Access Memory)60と、ハードディスク54と、カメラ30からの画像を取込むための画像取込装置68とを含んでいる。光学ディスクドライブ50にはCD−ROM(またはDVD−ROM)62が装着される。メモリカードドライブ52にはメモリカード64が装着される。メモリカードドライブ52の機能を実現する装置は、フラッシュメモリなどの不揮発性の半導体メモリに記憶されたデータを読み出せる装置であれば、対象となる記憶媒体は、メモリカードに限定されない。また、ハードディスク54の機能を実現する装置も、不揮発的にデータを記憶し、かつ、ランダムアクセスできる装置であれば、ハードディスクのような磁気記憶装置に限られず、フラッシュメモリなどの不揮発性半導体メモリを記憶装置として用いるソリッドステートドライブ(SSD:Solid State Drive)を用いることができる。
【0041】
既に述べたようにこの視線方向の推定装置の主要部は、コンピュータハードウェアと、CPU56により実行されるソフトウェアとにより実現される。一般的にこうしたソフトウェアはCD−ROM(またはDVD−ROM)62、メモリカード64等の記憶媒体に格納されて流通し、光学ディスクドライブ50またはメモリカードドライブ52等により記憶媒体から読取られてハードディスク54に一旦格納される。または、当該装置がネットワークに接続されている場合には、ネットワーク上のサーバから一旦ハードディスク54にコピーされる。そうしてさらにハードディスク54からRAM60に読出されてCPU56により実行される。なお、ネットワーク接続されている場合には、ハードディスク54に格納することなくRAM60に直接ロードして実行するようにしてもよい。
【0042】
図1および図2に示したコンピュータのハードウェア自体およびその動作原理は一般的なものである。したがって、本発明の最も本質的な部分は、CD−ROM(またはDVD−ROM)62、メモリカード64、ハードディスク54等の記憶媒体に記憶されたソフトウェアである。
【0043】
なお、最近の一般的傾向として、コンピュータのオペレーティングシステムの一部として様々なプログラムモジュールを用意しておき、アプリケーションプログラムはこれらモジュールを所定の配列で必要な時に呼び出して処理を進める方式が一般的である。そうした場合、当該視線方向の推定装置を実現するためのソフトウェア自体にはそうしたモジュールは含まれず、当該コンピュータでオペレーティングシステムと協働してはじめて視線方向の推定装置が実現することになる。しかし、一般的なプラットフォームを使用する限り、そうしたモジュールを含ませたソフトウェアを流通させる必要はなく、それらモジュールを含まないソフトウェア自体およびそれらソフトウェアを記録した記録媒体(およびそれらソフトウェアがネットワーク上を流通する場合のデータ信号)が実施の形態を構成すると考えることができる。
【0044】
[システムの機能ブロック]
以下に説明するとおり、本実施の形態の視線方向の推定装置では、顔特徴点を検出・追跡することにより、複数のカメラを使用して視線方向を推定する。
【0045】
本実施の形態の視線方向の推定装置では、眼球中心と虹彩中心を結ぶ3次元直線を視線方向として推定する。眼球中心は画像からは直接観測することはできないものの、以下に説明するような3次元モデルにより、眼球中心と顔特徴点との相対関係をモデル化することにより、眼球中心の投影位置を推定する。
【0046】
なお、以下では実施の形態の説明の便宜上、「虹彩中心」との用語を用いるが、この用語は、「虹彩の中心」または「瞳孔の中心」を意味するものとして使用するものとする。つまり、視線の推定処理において、以下の説明のような手続きにより求められるものを「虹彩中心」と呼ぶか「瞳孔中心」と呼ぶかは、その手続きが同様である限りにおいて、本実施の形態の態様において、本質的な相違を有するものではない。
【0047】
図3は、本実施の形態の視線方向の推定装置において、上述したCPU56がソフトウェアを実行するにより実現する機能を示す機能ブロック図である。
【0048】
なお、図3に示した機能ブロックのうちのCPU56が実現する機能ブロックとしては、ソフトウェアでの処理に限定されるものではなく、その一部または全部がハードウェアにより実現されてもよい。
【0049】
図3を参照して、複数のカメラ30.1〜30.nにより撮像された動画に対応する映像信号は、フレームごとに画像キャプチャ処理部5602により制御されてデジタルデータとしてキャプチャされ、画像データ記録処理部5604により、たとえば、ハードディスク54のような記憶装置に格納される。
【0050】
顔(頭部)検出部5606は、キャプチャされたフレーム画像列に対して、周知の顔検出アルゴリズムにより、顔(頭部)候補探索を行う。なお、このような周知な顔(頭)検出アルゴリズムとしては、特に限定されないが、たとえば、上述した特許文献1(特開2008−102902号公報明細書)に記載されるようなアルゴリズムや、後に説明するような公知文献に記載されるアルゴリズムを使用することが可能である。
【0051】
続いて、顔(頭部)対応付け部5608は、処理が画像フレームごとに実施される場合は、前時刻の画像フレームにおいてすでに検出されている顔(頭部)と、処理対象となっている現時刻における画像フレームにおいて複数のカメラのそれぞれで検出された顔(頭部)とを対応づけることで、検出された顔(頭部)を特定人の顔(頭部)として追跡する。なお、複数のカメラによる撮影は、フレームについて同期して実施される構成とすることが可能である。あるいは、複数のカメラによる撮影がフレームについて同期されていない場合は、時間軸についてのフィルタ処理を行なうなどして、複数のカメラで撮影された画像フレームを「同時刻」とみなせるように補正処理を行うことも可能である。顔(頭部)対応付け部5608により特定された特定人物の頭部位置は、当該時刻における頭部位置として、次の処理タイミングで使用するためにハードディスク54に格納される。
【0052】
顔(頭部)対応付け部5608における対応付けの処理の結果、特定の人物については、その時刻において、複数のカメラのうち、1つのカメラのみで、顔の中の特徴点が撮影されたと判断されるときは、単眼カメラにより視線の検出を行うことと同等となる。したがって、この場合は、当該特定の人物については、第1の頭部位置・姿勢推定部5610が、たとえば、特許文献1(特開2008−102902号公報明細書)に記載されたような単眼カメラによる視線方向の検出処理におけるのと同様の処理により、撮影できているカメラからの画像データにおいて、頭部の位置および頭部の姿勢の推定処理が実行される。
【0053】
一方、顔(頭部)対応付け部5608における対応付けの処理の結果、特定の人物については、その時刻において、複数のカメラのうち、少なくとも2つ以上のカメラで、顔の中の特徴点が撮影されたと判断されるときは、第2の頭部位置・姿勢推定部5612において、たとえば、後に説明するような処理手順により、頭部(顔)の画像中の所定の特徴点が抽出され、抽出された特徴点に基づいて頭部の位置と頭部の姿勢を3次元的に推定する。つまり、第2の頭部位置・姿勢推定部5612は、撮影できている複数のカメラからの画像データを統合して処理することにより、頭部の位置および頭部の姿勢の推定処理を実行する。
【0054】
頭部の位置および頭部の姿勢が推定されると、処理対象となっている画像フレーム以前に獲得されている眼球の3次元モデルに基づいて、眼球中心推定部5614は、処理対象の特定人物の眼球中心の3次元的な位置を推定する。
【0055】
虹彩中心抽出部5616は、後に説明するようなアルゴリズムにより、虹彩の中心の投影位置を検出する。ここで、虹彩位置の推定においては、後に説明する非線形最適化処理により虹彩位置の推定を行ってもよいし、あるいは、これも特許文献1(特開2008−102902号公報明細書)に記載されたような処理であって、目の周辺領域に対して、ラプラシアンにより虹彩のエッジ候補を抽出し、円のハフ変換を適用することにより、虹彩の中心の投影位置を検出する、というような処理を行ってもよい。
【0056】
視線方向推定部5618は、抽出された虹彩の中心の投影位置である画像フレーム中の2次元的な位置と、推定された眼球の3次元的な中心位置とに基づいて、視線方向を推定する。推定された視線方向は、眼球中心位置等の推定処理に使用したパラメータとともに、ハードディスク54に格納される。
【0057】
また、表示制御部5613は、以上のようにして推定された視線の方向を、取得された画像フレーム上に表示するための処理を行なう。
【0058】
図4は、本実施の形態において、CPU56により視線推定のソフトウェアを実行する処理フローを示すフローチャートである。
【0059】
図4を参照して、処理が開始されると、まず、CPU56は、処理する画像フレームを時間軸上で特定するためのフレーム数Nfを1に設定する(S102)。
【0060】
続いて、CPU56は、画像キャプチャ処理部5602により、カメラ30.1〜30.nで観測される画像を、画像データとしてキャプチャする(S104.1〜S104.n)。そして、CPU56は、顔(頭部)検出部5606により、キャプチャされた各カメラ30.1〜30.nからの画像フレームのデータにおいて、顔(頭部)の検出を実施する(S106.1〜S106.n)。
【0061】
ここで、図5は、このような顔(頭部)の検出が実施された結果を示す図である。このような顔(頭部)の検出処理としては、特に限定されないが、たとえば、以下の公知文献1に開示されたアルゴリズム(AdaBoostと呼ぶ)を使用することができる。
【0062】
公知文献1:CVIM研究会 チュートリアルシリーズ(チュートリアル2) 情報処理学会研究報告. 2007-CVIM-159(32), [コンピュータビジョンとイメージメディア] , P.265-272, 2007-05-15.
顔(頭部)の画像フレームからの検出については、周知の他のアルゴリズムを利用することも可能である。
【0063】
再び図4を参照して、顔(頭部)の検出が、それぞれのカメラ30.1〜30.nで終了すると、CPU56は、顔(頭部)対応付け部5608により、前の処理ステップのタイミングの前時刻の画像フレームにおいてすでに検出されている顔(頭部)と、現時刻における画像フレームにおいて複数のカメラのそれぞれで検出された顔(頭部)とを対応づける(S108)。
【0064】
ここで、図6は、このような顔(頭部)の対応付け処理の概念を説明するための概念図である。
【0065】
図6を参照して、1つ前の処理ステップでは、画像中で、人物P1と人物P2とが事前に検出されているものとする。
【0066】
顔(頭部)対応付け部5608は、現時刻の画像フレームにおいて、カメラ30.1で撮像された画像フレーム中では、2人の顔(頭部)の検出されたものとするとき、各顔(頭部)の画像フレーム中の位置と大きさから、図6に示されるような部屋(以下、その領域に存在する人物の視線推定を行う領域という意味で「観測領域」と呼ぶ)の2次元内での位置を推定する。一方、カメラ30.2でも、撮像された画像フレーム中では、2人の顔(頭部)が検出され、この2人の顔(頭部)の画像フレーム中の位置と大きさから、観測領域の2次元内での位置が推定される。
【0067】
たとえば、人物P1については、現時刻でカメラ30.1およびカメラ30.2で撮影された画像フレームから推定された顔(頭部)の2次元内での位置と、前時刻で推定された顔(頭部)の2次元内での位置とが、重なっていることから、現時刻における人物P1の2次元内での位置が、たとえば、現時刻において推定された顔(頭部)の2次元内での位置(複数)の平均として特定される。
【0068】
同様に、人物P2については、現時刻でカメラ30.1で撮影された画像フレームから推定された顔(頭部)の2次元内での位置と、前時刻で推定された顔(頭部)の2次元内での位置とが、重なっていることから、現時刻における人物P1の2次元内での位置が、現時刻において推定された顔(頭部)の2次元内での位置として特定される。
【0069】
なお、人物P1とP2については、前時刻の顔(頭部)の2次元内での位置と現時刻の顔(頭部)の2次元内での位置とが重なっているものとして描かれているが、たとえば、現時刻と前時刻の位置が所定の距離範囲内であれば、同一人物であると特定することとしてもよい。
【0070】
また、人物P3については、現時刻において、初めて顔(頭部)が検出されたものとする。このとき、顔(頭部)対応付け部5608は、カメラ30.2とカメラ30.3からの画像フレームから推定される顔(頭部)の2次元内での位置の位置が重なっていることにより、新たな人物P3が検出されたものとして、この人物をハードディスク54に登録する。特に限定されないが、このようにして、複数のカメラから撮影された画像フレームにより、同一の2次元内での位置に顔(頭部)が初めて検出されたときに、新たな人物が特定されたものとして、登録する構成とすることができる。以後は、人物P3についても、上述した人物P1や人物P2と同様にして、その顔(頭部)の2次元内での位置を追跡する。
【0071】
再び、図4にもどって、CPU56は、顔(頭部)対応付け部5608により、p人の顔(頭部)が検出され対応付けが完了すると(S108)、1人目〜p人目について、順次、以下の処理を実行する(S110)。
【0072】
すなわち、CPU56は、1人目〜p人目のうち、現在の処理対象であるj人目の人物について、まず、このj人目の人物を観測したカメラが2台以上であるかを判断する(S112)。
【0073】
観測したカメラが1台である場合は、たとえば、当該特定の人物については、第1の頭部位置・姿勢推定部5610が、たとえば、特許文献1(特開2008−102902号公報明細書)に記載されたような単眼カメラによる視線方向の検出処理におけるのと同様の処理により、撮影できているカメラからの画像データにおいて、頭部の位置および頭部の姿勢の推定処理が実行される(S140)。
【0074】
一方、観測したカメラが2台以上である場合は、第2の頭部位置・姿勢推定部5612において、以下に説明するような処理手順により、頭部(顔)の画像中の所定の特徴点が抽出され、抽出された特徴点に基づいて頭部の位置と頭部の姿勢を3次元的に推定する。 (頭部の位置および頭部の姿勢の推定処理)
以下では、ステップS114において実行される頭部の位置および頭部の姿勢の推定処理について、さらに、詳しく説明する。
【0075】
まず、このような「頭部の位置および頭部の姿勢の推定処理」を説明する前提を説明する。
【0076】
N台のカメラで観測された顔特徴点群の2次元座標と、頭部モデルのモデル3次元座標とから頭部位置TM、頭部姿勢RMを推定する場合の処理を以下説明する。
【0077】
カメラiの位置をTiとし、カメラ姿勢を以下の式Riとし、カメラの内部パラメータをAiとする。このとき、fiはカメラiの焦点距離であり、下記のuiは、カメラの中心座標である。
【0078】
【数1】
ここで、カメラiの位置Ti、および姿勢Ri内のri,*(*は、1,2,3のいずれか)は、3×1の縦ベクトルである。
【0079】
このとき、3次元点Xjは透視投影変換により、以下のように2次元座標xi,jに投影される(iはカメラの番号、jは3次元の座標の番号)。
【0080】
【数2】
さらに、頭部モデル上の点jの3次元座標をXM,jとする(j=1,…,M)と、以下の関係が成り立つ。
【0081】
【数3】
頭部の位置および姿勢をそれぞれ、TM,RMとするとモデル上の点jの位置は、以下のように表現されるXjとなるので、このXjを式(1)に代入すると、以下の式(3)となる。
【0082】
【数4】
以上の前提の下に、以下、「頭部の位置および頭部の姿勢の推定処理」を説明する。
【0083】
図7は、図4のステップS114の「頭部の位置および頭部の姿勢の推定処理」の一例を示すフロー図である。
【0084】
(特徴点の抽出)
まず、CPU56は、各カメラからの画像フレーム上で顔部品モデルとのテンプレートマッチング処理により、特徴点の2次元座標を得る(S200)。
【0085】
特に限定されないが、顔部品モデルとしては、特徴点を含む部分画像を顔部品テンプレートとして事前に準備しおいてもよいし、あるいは、ガボール(Gabor)表現を用いたモデルを使用することも可能である。
【0086】
図8は、このようなガボール表現を用いた顔部品モデルを用いた特徴点の抽出処理を説明するための概念図である。
【0087】
ここで、「ガボール表現を用いた顔部品モデル」とは、顔画像領域内の各部分領域をガボール基底ベクトルとの積和演算により低次元ベクトル表現に変換し、あらかじめ変換してハードディスク54に記録してあるモデルのことである。各カメラからの画像フレームは、たとえば、図8(a)の黒枠で示されるような黒四角の枠の大きさで部分画像に分割してあるものとする。CPU56は、このガボール表現を用いた顔部品モデルを顔部品テンプレートとして、各カメラからの画像フレームの各部分画像と比較し、類似度の高いものを特徴点として抽出する。
【0088】
このような特徴点の抽出処理については、たとえば、以下の公知文献2に記載されている。
【0089】
公知文献2:画像処理による顔検出と顔認識(サーベイ(2))情報処理学会研究報告. 2005-CVIM-149(37), [コンピュータビジョンとイメージメディア] , P.343-368, 2005-05-13.
(頭部位置の推定)
再び、図7にもどって、続いて、CPU56は、第2の頭部位置・姿勢推定部5612により、頭部位置の推定処理を実行する(S202)。
【0090】
すなわち、第2の頭部位置・姿勢推定部5612は、各カメラで撮影された画像フレーム上で得られた各特徴点の2次元座標とその特徴点を観測したカメラの位置・姿勢、焦点距離等の投影パラメータから、特徴点(3次元)とカメラを結ぶ3次元直線を得る。さらに、第2の頭部位置・姿勢推定部5612は、顔特徴点間での位置の違いを無視し、同一人物について得られた直線群の交点を最小二乗法で求めて頭部位置とする。
【0091】
より具体的には、第2の頭部位置・姿勢推定部5612は、以下のような処理を実行する。
【0092】
頭部とカメラの距離に比べて頭部上の顔特徴点間の距離が十分に小さい(|RMXM,J|≪|(TM−Ti)|)と仮定する。すると、上記式(3)は、以下のように書き直せる。
【0093】
【数5】
上述の式(4)の第3行から、以下の式(5−1)が得られるので、これを第1、2行に代入して整理すると、式(5−2)が得られる。
【0094】
【数6】
ある時刻に合計L個の観測結果が得られた場合を考える。ここで、k番目の観測では、モデル上の点jk(1≦jk≦M)が、カメラik(1≦ik≦N)で観測されたとする。このとき、式(5−2)により観測の数だけ以下のような方程式(6)が得られる。この式(7)をまとめて、式(8)のように記載することができる。
【0095】
そのとき、頭部位置TMの推定値TM(ハット)は、式(8)のように最小二乗法による推定値として求めることができる。ここで、「ハット」とは、変数の頭部に^が付されたものをいう。
【0096】
【数7】
以上により、頭部位置の推定値が得られる。
【0097】
なお、以上の説明では、処理の簡単のために「顔特徴点間での位置の違いを無視」することにより頭部位置を複数の特徴点についての平均値として推定するものとしたが、例えば、以下で説明するような後段の処理で推定された「顔姿勢」に基づいて、再度頭部位置を推定したり、さらに頭部位置推定と姿勢推定を繰り返して両者の最適化を図るといった処理を行なうことにより、頭部位置の推定を高精度化することも可能である。
【0098】
(頭部姿勢推定処理)
再び、図7にもどって、続いて、CPU56は、第2の頭部位置・姿勢推定部5612により、頭部姿勢の推定処理を実行する(S204)。
【0099】
すなわち、第2の頭部位置・姿勢推定部5612は、上で得られた頭部位置により弱透視変換におけるスケールパラメータを決定し、特徴点毎に頭部姿勢を未知数として特徴点(3次元)と特徴点(2次元)の関係を示す方程式を得る。これに基づいて方程式を満たす頭部姿勢が算出される。
【0100】
すなわち、ここで、頭部姿勢推定処理においては、投影変換の仮定を弱透視変換に切り替える。つまり、頭部とカメラの距離比べて頭部上の顔特徴点間の距離がカメラから見て奥行き方向に関しては十分に小さい(|rti,3RMXM,J|≪|rti,3(TM−Ti)|)と仮定する。
【0101】
すると、上述した式(3)は、次のように書き換えられる。
【0102】
【数8】
さらに、上記の式(9)は、次の式(10)のように書き換えることができる。
【0103】
【数9】
ここで、以下の式で表現されるRMの各要素を用いると、式(10)の第1行、第2行はそれぞれr1,r2,…,r9およびδxi,δyiを変数とする一次式(12)および(13)となる。
【0104】
【数10】
式(6)と同様に、L個の観測を考えると、式(12)式(13)からは次の2L個の方程式(14)を得る。
【0105】
【数11】
そして、式(14)は行列形式にまとめると、以下の式(15)のようにまとめられる。
【0106】
【数12】
さらに、最小自乗法により各要素の値として、以下の式(16)を得る。
【0107】
【数13】
最後に、RMに基づき、式(17)として表現されるQR分解を利用して、頭部の姿勢を示す直行行列RM(ハット)を求める。
【0108】
【数14】
以上により、頭部の姿勢が推定される。
【0109】
再び、図4にもどって、続いて、このようにして推定した顔の姿勢により、現時刻において、視線を推定するのに適したカメラを選択、言い換えると、複数カメラで撮影された画像フレームのうちから視線推定を実行する画像フレームを選択する(ステップS116)。ここでは、利用可能な全ての画像フレームを利用するという方法もあり得るが、CPU56の処理負荷等の観点から、例えば「特徴点抽出時に左(右)眼の特徴点(目尻・目頭等)を抽出できた画像のうち、カメラ位置から撮影された画像が最も顔正面に近いものを左(右)眼の眼球中心位置の推定と虹彩位置検出に利用する」ということが可能である。なお、カメラと対象人物との位置関係によっては、左眼と右眼とで、視線推定に使用する画像フレームを、それぞれ異なるカメラで撮影された画像フレームとすることも可能である。すなわち、対象人物の位置関係によっては、右眼の存在する顔半面と左眼の存在する顔半面について、それぞれ、顔正面への近さ(たとえば、顔の方向とカメラの方向のなす角度の大きさ)がより近い画像フレームが、異なるカメラで撮影された画像フレームである場合がありうるので、この場合は、左眼と右眼とで、視線推定に使用する画像フレームを、それぞれ異なるカメラで撮影された画像フレームとする。
【0110】
そして、頭部の位置および頭部の姿勢の推定、推定に使用する画像フレームの選択の処理が終了すると、続いて、CPU56は、眼球中心推定部5614により、眼球の中心位置を推定する(S118)。
【0111】
すなわち、以下に説明するように、「眼球モデルパラメータの推定処理」を、「逐次型眼球モデル推定」として実行する処理を例にとって、眼球中心位置の推定処理および虹彩(または瞳孔)位置の検出処理について説明する。
【0112】
図9は、このような眼球モデルパラメータの推定処理を「逐次型眼球モデル推定」の処理として実行する場合の処理の流れを説明する概念図である。
【0113】
すなわち、実施の形態1の眼球モデルパラメータの推定処理については、平均的なモデルパラメータを初期値とした逐次型のアルゴリズムを用いる。
【0114】
図9を参照して、このアルゴリズムの実装例について説明している。まずアルゴリズムの開始時点では、事前の被験者実験により複数の対象人物について平均値を求めておく等の方法で得た眼球中心位置X0L(太字、太字はベクトルであることを表し、添え字Lは左目を表す)、X0R(太字、添え字Rは右目を表す)、眼球半径l0、虹彩半径r0を初期パラメータとして、眼球モデルパラメータが、たとえばハードディスク54に保持されているものとする。ここで、眼球中心位置X0L、X0Rは、頭部モデルにおける座標系で表現されているものとする。
【0115】
CPU56は、ステップS116で選択された第1フレームに対する以下に説明するような目領域の画像に対するラベリング結果および頭部(顔)姿勢を入力として、上記初期パラメータを出発点として、非線形最適化処理によって眼球モデルパラメータである眼球中心位置X1L(太字)、X1R(太字)、大きさ眼球半径l1、虹彩半径r1および第1フレームにおける虹彩中心位置xL,1(太字),xR,1(太字)を得て、たとえば、ハードディスク54に格納する(ステップS118,S120)。ここで、眼球中心位置X1L(太字)、X1R(太字)ならびに虹彩中心位置xL,1(太字),xR,1(太字)も、頭部モデルにおける座標系で表現されているものとする。
【0116】
より詳しく説明すると、以下のとおりである。
【0117】
(RANSAC:Random sample consensus)
以下で説明するRANSAC処理は、外れ値を含むデータから安定にモデルパラメータを定めるための処理であり、これについては、たとえば、以下の文献に記載されているので、その処理の概略を説明するにとどめる。
【0118】
文献:M.A.Fischler and R.C.Bolles:”Random sample consensus:A paradigm for model fitting with applications to image analysis and automated cartography,”Comm.Of the ACM,Vol.24,pp.381-395,1981
文献:大江統子、佐藤智和、横矢直和:“画像徳著点によるランドマークデータベースに基づくカメラ位置・姿勢推定”、画像の認識・理解シンポジウム(MIRU2005)2005年7月
上述のような眼球中心位置を初期値として、入力画像群に対して眼球モデルを当てはめ最適なモデルパラメータを推定する。ここで、入力画像から目の周辺領域を切り出し、色および輝度情報をもとに、以下の式(22)に従って、虹彩(黒目)、白目、肌領域の3種類にラベル付けを行なう。
【0119】
【数15】
ここで、hs,kは、肌領域のk番目の画素の色相(hue)の値を表わす。hi,jは、入力画像中の画素(i,j)(第i番目のフレームのj番目の画素)の色相の値を表わす。vs,kは、入力画像中の画素(i,j)の明度の値を表わす。
【0120】
図10は、このようなラベリング処理例を示す図である。
【0121】
続いて各画素が虹彩モデルの内側にあるかどうかをチェックし、眼球モデルとの照合度を評価する(非線形最適化)。
【0122】
図11は、このような右目および左目の虹彩と眼球モデルとの照合処理の概念を示す図である。
【0123】
ここで、このような非線形最適化処理を行なうにあたり、以下の式(23)で表される距離d{LR},i,jを導入する。
【0124】
【数16】
一方、r{LR},i,jは、虹彩中心から画素(i,j)方向の虹彩半径を示すとすると、図11に示すとおり、画素(i,j)が虹彩の外側にあれば、d{LR},i,jは、r{LR},i,jよりも大きな値を示す。
【0125】
r{LR},i,jは、以下の式(24)に示すように、3次元の眼球中心位置Xi{LR}(太字)、対象画像フレーム内の画素位置(xi,j,yi,j)、眼球半径li、虹彩半径ri、対象画像フレーム内の虹彩中心投影位置x{LR}、i(太字)の関数となる。なお、以下では、下付文字{LR}は、左を意味するL、右を意味するRを総称するものとして使用する。また、添え字のiは、第i番目の画像フレームであることを示す。
【0126】
【数17】
なお、頭部の相対座標で考えているので、本来は、眼球中心位置は、フレームに拘わらず、一定の位置に存在するはずである。
【0127】
最後に、眼周辺の全画素についてd{LR},i,jの評価を行ない、入力画像群に尤もよく当てはまる以下の式(25)のモデルパラメータθを、式(26)に従って決定する。
【0128】
【数18】
ここで、gi,j{LR}は、フレームi、画素jにおけるd{LR},i,jの評価値であり、対象画素が虹彩領域か白目領域かによって、以下の式に従い、符合を反転させる。
【0129】
【数19】
ラベリングuijが撮影された画像内の虹彩領域を反映し、関数Gi,j{LR}は、眼球モデルから算出される虹彩領域を反映している。
【0130】
そして、得られた虹彩中心投影位置および眼球中心位置の投影位置から第1フレームにおける視線方向を計算することができる(S122)。
【0131】
より具体的には、以上で求まった眼球中心位置と虹彩中心位置より視線方向を計算する。
【0132】
図12は、視線方向を決定するためのモデルを説明する概念図である。
【0133】
図12に示されるように、画像上での眼球半径をl、画像上での眼球中心と虹彩中心とのx軸方向、y軸方向の距離をdx、dyとすると、視線方向とカメラ光軸とのなす角、つまり、視線方向を向くベクトルがx軸およびy軸との成す角ψx、ψyは次式で表される。
【0134】
【数20】
なお、右目と左目のそれぞれで、視線が推定されるので、左右両眼について得られた視線方向の平均値を視線方向として出力する。ただし、たとえば、右目と左目とで、異なるカメラで撮影した画像フレームで視線を推定した場合などは、観測解像度、観測方向を考慮した重み付き平均としてもよい。
【0135】
また、以上の説明では、数18では、3次元眼球中心位置と入力画像(2次元)に基づいて虹彩位置を求めて、これにより、実際に視線方向の推定(決定)をしている。そして、数20は単に視線方向の表現を上で推定された(眼球中心−虹彩中心)表現から角度表現に変換しているものである。ただし、視線方向を得るための変換の方法としては、数20のように、3次元の眼球中心を特定の画像上に投影した眼球中心投影位置と虹彩中心の位置関係から角度表現を得てもよいし、あるいは、逆に、画像上で観測された虹彩中心の位置を3次元の眼球モデル上に投影して、3次元の角度表現を得ることも可能である。
【0136】
さらに、CPU56は、顔(頭部)の対応付けができたp人のすべてについて、視線方向の推定が終了したかを判断する(S124)。
【0137】
終了していなければ、再び、処理はステップS112に復帰する。
【0138】
一方、p人について処理が終了していれば(S124)、CPU56の視線方向推定部5618は、視線推定の結果を出力して、ハードディスク54に格納する(S126)。表示制御部5613は、表示される画像上において、視線の方向を、たとえば、画像中の対象人物の虹彩の中心(瞳孔)から、視線方向に伸びる線分または矢印として表示する。
【0139】
続いて、CPU56は、この時刻(または対応するフレーム番号)ならびに人物を識別するための情報と関連付けて、頭部(顔)の観測領域内の2次元位置、頭部位置および頭部の姿勢推定結果をハードディスク54に保存する(S128)。
【0140】
さらに、CPU56は、処理終了の指示があるかを判断し(S130)、指示がなければ、何番目のフレームが処理対象であるかを示す変数Nfの値を1だけインクリメントし(S150)、次のフレームの処理のために現時刻(すなわち、次のフレームにとっては前時刻(または前フレーム))の推定結果をハードディスク54から取得して(S152)、処理をステップS104.1〜S104.nに復帰させる。
【0141】
次フレーム以降の処理においては、前フレームで得られた眼球モデルパラメータを初期値と置き換え、新たに得られる入力画像フレームのデータに対して、非線形最適化処理を行なうことでモデルパラメータの更新および当該フレームにおける虹彩中心位置の推定、視線方向の推定を行なうことができる。
【0142】
ステップS130で処理の終了の指示がでていれば、CPU56は、処理を終了させる。
【0143】
このような処理を行なうと、複数のカメラの中から視線方向の推定に最も適したと考えられるカメラからの画像フレームを推定を実行する時刻ごとに選択することとなり、従来の視線方向の推定方式に比べて、カメラから対象人物までの距離やカメラの対象人物に対する方向の制約を緩和して、観測領域内の対象人物の視線の推定を行うことができ、複数のカメラによりいわゆるステレオ視を利用して、3次元空間での眼球中心や虹彩中心を導出する構成比べれば、より少ないカメラの台数で、観測領域内にいる対象人物の視線方向を推定することができる。また、たとえば、上述したように、左眼と右眼とで、視線推定に使用する画像フレームを、それぞれ異なるカメラで撮影された画像フレームとすることも可能であるから、この場合、従来のステレオカメラ方式とは異なり、虹彩(瞳孔)含めて、各特徴点を複数のカメラで同時に観測することを要求されず、この点で、顔の向きの制限を緩和して、比較的少数のカメラにより、観測範囲内における被測定対象者の視線方向のリアルタイムに推定し追跡することが可能となる。また、複数のカメラのうちから、視線推定を行う画像フレームを顔姿勢に応じて選択することになるので、より正確に視線の推定を行うことができる。しかも、視線方向の推定処理を短時間で開始できるという利点がある。
【0144】
(実施の形態1の変形例)
以上の説明では、視線方向の推定は、「眼球モデルパラメータの推定処理」を、「逐次型眼球モデル推定」として実行する場合を例にとって説明した。
【0145】
ただし、たとえば、最初の1〜Nフレームの間では、眼球モデルパラメータの推定処理にあてることとし、(N+1)フレーム以後は、このようにして導出された眼球モデルパラメータを用いて、視線方向の推定を実行することとしてもよい。この場合は、視線方向の推定処理が開始されるまでにタイムラグが発生することになるものの、推定処理の最初から正確な視線方向の推定が可能となるとの利点がある。
【0146】
ところで、実施の形態1においては、i)顔面上の複数の特徴点を別々のカメラで観測して顔姿勢を推定し、ii)推定された顔姿勢を用いて、眼球中心を推定し、iii)顔姿勢を推定したのと同じカメラで観測された虹彩(瞳孔)中心を抽出し、iv)眼球中心と虹彩中心とを組み合わせて視線方向を算出する、との手続きであった。
【0147】
これに対して、上述したような「実施の形態1の変形例」では、3次元の眼球中心位置と2次元の特徴点の関係が予めモデル化されているという前提の下に、顔面上の複数の特徴点を別々のカメラで観測し、観測された特徴点と上記モデルとを利用して眼球中心を推定するとともに、眼球中心が推定された画像フレームにおいて虹彩中心を抽出することで、視線の方向を推定するという構成とすることも可能である。
【0148】
さらに言えば、上述した実施の形態1においても、視線方向の推定を行なう対象となっている画像フレームよりも前の画像フレームにおいて、推定対象の画像フレームにおいて非線形最適化に使用される眼球モデルの最適化前のパラメータが予めもとまっているといえるので、実施の形態1についても、3次元の眼球中心位置と顔内の特徴点の関係が予めモデル化されていることを前提の下に、「顔面上の複数の特徴点を別々のカメラで観測し、観測された特徴点と上記モデルとを利用して眼球中心を推定するとともに、眼球中心が推定された画像フレームにおいて虹彩中心を抽出することで、視線の方向を推定する」という処理を行なっているといえる点では共通しているといえる。
【0149】
[実施の形態2]
以下では、複数カメラを利用した広域遠隔視線計測のための異なる実施の形態について説明する。
【0150】
実施の形態1で述べた通り、近年通常のカメラによる観測によって人の視線を計測する手法が提案され、視線計測時の観測距離の制約を大幅に緩和することが可能となった。しかしながら、一方で観測方向に関しては依然として大きな制約が残っており、現実場面における視線計測の利用を妨げている。
【0151】
図13は、従来法の持つ観測時の制約について説明する図である。
【0152】
図13(A)に示す角膜反射に基づく手法では、赤外照明光の到達距離の制約のために近距離(通常1m以下)での観測が必須となる。これに対して、図13(B)に示す通常の画像観測を利用した手法では、観測距離の制約が大幅に緩和される。特に単眼カメラによる視線計測では一定以上の解像度で顔および目領域が観測できれば視線計測が可能であり、カメラとの距離に関わらず視線計測を行うことができる。
【0153】
図14は、頭部姿勢が大きく変化する場合に必要となるシステムの概念を示す図である。
【0154】
図13(B)の従来の手法では、視線計測に必要な画像特徴を観測するためにカメラに対するユーザの頭部姿勢の変化が比較的狭い範囲に限定されるため、図14(C)に示すように頭部姿勢が大きく変化する場面で継続的に視線計測を行うためには、対象者を様々な方向から観測するために非常に多数のカメラを設置する必要がある。
【0155】
これに対して、図14(D)に示すように、実施の形態2の手法では、視線計測に必要な画像特徴の観測を複数のカメラに分担させる。顔の特徴点および眼球領域がいずれかのカメラで観測できれば視線を計測することが可能であり、ユーザの広範囲の顔向き変化に対応することができる。
【0156】
図15は、後に説明するような実施の形態2よる視線計測の適用例を示す図である。図15では、2台のカメラによって対象人物を異なる方向から観測している。ここにみられるように、左の画像では被験者の顔の右側の特徴点および右目領域、右の画像では被験者の左側の特徴点および左目領域がそれぞれ観測されている。実施の形態2よる視線計測では、各カメラから計測した顔の特徴点を用いて頭部の位置・姿勢を推定し3次元の眼球中心位置を求める。また、各目領域画像から虹彩位置を検出し、眼球中心と虹彩中心を結ぶ方向として視線方向を推定している(図中、灰色の線分は推定された視線方向を示す)。これにより被験者の顔向き変化が大きい場合にも視線計測が可能となる。
(複数カメラによる視線計測処理)
以下では、実施の形態2の複数カメラを利用した視線計測手法の処理の詳細について述べる。
【0157】
図16は、実施の形態2の視線方向の推定装置の構成を示す機能ブロック図である。
【0158】
特に限定されないが、実施の形態2の視線方向の推定装置も、実施の形態1の視線方向の推定装置と同様のハードウェアにより実現できる。したがって、図16では、ソフトウェアにより実行される機能の主要な部分のみを記載している。図16に明示的に記載されていない機能についても、実施の形態1と同様の構成が存在する。
【0159】
実施の形態2の視線方向の推定装置は、視線方向を眼球中心と虹彩中心を結ぶ3次元ベクトルとして推定する。ここで虹彩はカメラ30.1〜30.N(N:2以上の自然数)によって観測可能であるが、眼球中心は直接観測することができない。そこで各カメラで得られる観測画像から、顔検出部6610.1〜6610.Nが顔領域を検出し、顔特徴点検出部6612.1〜6612.Nが、ユーザの顔面上の特徴点を検出する。3次元頭部方向推定部6620が、顔形状の3次元モデルと顔特徴点の2次元観測座標から頭部の位置・姿勢を推定し、眼球中心推定部6640が、間接的に眼球中心の3次元座標を推定する。顔形状の3次元モデル(顔部品の3次元配置)と眼球中心位置の関係は、複数フレームの観測結果から、実施の形態1に示すのと同様の手法によりユーザに意識させることなく自動的にキャリブレーションすることができる。
【0160】
なお、このキャリブレーションの方法については、以下の文献にも開示がある。
【0161】
文献:山添大丈,内海章,米澤朋子,安部伸治:単眼カメラを用いた視線推定のための三次元眼球モデルの自動キャリブレーション. 電子情報通信学会論文誌.D,情報・システムJ94-D(6),988-1006,2011-06-01
一方で、カメラ選択部6630は、頭部位置・姿勢の推定結果に基づいて、左右それぞれの目領域を観測可能なカメラを選択し、虹彩抽出部6650は、選択されたカメラからの画像に基づいて虹彩抽出を行う。すなわち、虹彩抽出部6650は、選択された各カメラで抽出された虹彩領域について楕円形上の当てはめにより3次元の虹彩中心位置を決定し、視線推定部6660は、眼球中心推定部6640の推定した眼球中心位置と虹彩抽出部6650の抽出した虹彩中心位置から視線方向を算出する。なお、ユーザの顔画像が1台のカメラのみによって観測される場合は、上記処理は単眼視線計測手法に一致する。
【0162】
図16中、点線で囲まれた領域の機能は、図2に示したCPU56がプログラムに基づいて実行する処理により達成される。
【0163】
上記の処理を実現するためには、以下に挙げる各項目についての検討が必要となる。
【0164】
・顔の3次元モデル
・顔、顔特徴点の決定
・頭部方向の推定
・虹彩の抽出
・視線方向の推定
以下では、これらの各項目について、順次、説明する。
(顔の3次元モデル)
顔面上の各特徴点の重心位置を原点として顔の正面方向をZ軸の正方向とする座標系(X=0に対して左右対称)を定義し、複数の被験者についての観測データに基づいて顔の3次元モデル(顔部品および眼球中心の配置) を生成することができる。
【0165】
以下の説明では、顔面上の特徴点として6点(両目尻、両目頭と口の両端点)を利用する。ここでp 番目の特徴点の3次元位置をXp=[Xp Yp Zp] Tとする(1≦p≦6)。また、眼球中心の3次元位置をXe,k=[Xe,k Ye,k Ze,k]Tとする(k∈{left,right})。
(顔特徴点の決定)
顔検出および顔特徴点の検出については、それぞれ広く用いられているHaar−like特徴量を用いた顔検出アルゴリズムおよび、Gabor特徴量を利用した顔特徴点抽出を利用することができる。
【0166】
Haar−like特徴量を用いた顔検出アルゴリズムについては、以下の文献に開示がある。
【0167】
文献:Viola, P., and Jones, M. 2001. Rapid object detection using a boosted cascade of simple features. In Proc. CVPR2001, vol. 1, 511-518.
また、Gabor特徴量については、実施の形態1と同様である。
【0168】
なお、より広い範囲の頭部角度に対応させるために、顔特徴点モデルとして横顔データを含む複数の頭部姿勢における観測データを用いるものとする。
(頭部方向の推定)
上記の顔の3次元モデルを用いて顔の3次元位置、姿勢を決定する。
【0169】
カメラCiの位置、姿勢をそれぞれTci,Rciとし、焦点距離をfci[pixel]、カメラ画像の中心座標を(ux,Ci,uy,Ci)とすると、透視投影変換により3次元点X=[X,Y,Z]Tはカメラ上の座標xi=[xi,yi]Tに、次式で投影される。
【0170】
【数21】
頭部の位置、姿勢をR,Tとすると、顔の特徴点pの3次元位置(Xp,Yp,Zp)は以下の式で画像上の点(xip,yip)に投影される。
【0171】
【数22】
ここで、Aciは、カメラiの内部パラメータ、RciとTciはカメラiの回転行列、並進ベクトルを表す。頭部の位置姿勢RとTは次式で計算される再投影誤差を最小にすることで求めることができる。
【0172】
【数23】
(虹彩の抽出)
上記のようにして得られた頭部位置・姿勢に基づいて、目領域を観測可能なカメラが選択され、選択された各カメラにおける左右の各目領域画像が抽出される。
【0173】
図17は、抽出された左右の各目領域画像を示す図である。
【0174】
目領域の抽出には、ベジェ曲線を用いてモデル化した瞼形状の当てはめ結果と眼球領域の境界を利用する。
【0175】
抽出後、各画素ごとの輝度値に基づいて虹彩・白目のラベル付けが行われる。
【0176】
図18は、虹彩・白目のラベル付けが行われた状態を示す図である。
【0177】
図18において、虹彩は、白の領域として示されている。最後に得られた虹彩領域に対して3次元虹彩モデルを当てはめることで虹彩位置が得られる。
(視線方向の推定)
実施の形態2よる視線計測では眼球の3次元モデルと虹彩中心を利用して視線方向を推定する。
【0178】
顔特徴点の画像上への投影と同様に、原点に対する顔の位置、姿勢をそれぞれT,Rとすると、左右の眼球中心位置Xe,kは、次式によりXe,k(ハット)に移動する。
【0179】
【数24】
眼球半径をL、世界座標における視線方向ベクトルをVgとすると、世界座標における虹彩中心位置Xiris,kは次式で表わされる。
【0180】
【数25】
このときカメラCiにおける虹彩中心の観測位置(xiiris,k,yiiris,k)は次式で計算される。
【0181】
【数26】
図19は、虹彩の画像上の観測形状を示す図である。
【0182】
図19に示されるとおり、虹彩が円形であり、またカメラと眼球との距離に対して眼球半径Lが十分に小さいと仮定すると、虹彩の画像上の観測形状は楕円で近似できる。
【0183】
虹彩半径をr
とすると、カメラCiの画像上での虹彩半径(長軸半径)rCi,kは、以下の式で表される。
【0184】
【数27】
カメラCiの画像上で視線方向Vgによって決まる眼球kに関する上記の楕円内に含まれる画素の集合をGi,k(Vg)とし、ある画素Xが集合Gi,k(Vg)に含まれるか否かを示す関数f(Vg,X)を次のように定義する。
【0185】
【数28】
虹彩へのラベル付けの結果として、カメラCiの眼球kに関する目領域について虹彩領域に属する画素の集合をHi,k、白目領域に属する画素の集合を/Hi,k (表記上は、Hi,kの上にバーが記載される)とすると、視線方向は以下の評価関数Egを最大化する方向ベクトルVgとして求めることができる。
【0186】
【数29】
すなわち、眼球モデルに対して視線方向Vgを仮定し、評価関数Egが最大となる、すなわち、もっとも画像上の虹彩の領域および白目の領域にフィットする視線方向Vgが、真の視線方向であるものと推定する。
【0187】
なお、以上の説明においては、虹彩領域と白目の領域の双方を考慮し、モデルと撮影された画像とをフィッティングするものとして説明したが、フィッティングにあたっては、虹彩領域のみを考慮することも可能である。
【0188】
また、眼球半径Lと眼球中心とは、複数の人間について事前に計測された平均的な値を用いることが可能である。さらに、このような眼球半径Lと眼球中心とは、実施の形態1または実施の形態1の変形例で説明したのと同様の方法により、このような平均的な値を初期値とし「眼球モデルパラメータの推定処理」を撮影の時間経過とともに実行して、これらの値を初期値から逐次更新する構成としてもよい。
[実験結果]
実施の形態2よる視線計測の有効性を確認するため、以下の実験を行った。
【0189】
図20は、この実験の実験環境を示す概念図である。
【0190】
図20を参照して、実験環境はカメラ(Pointgray GRAS-50S5M-C))2台(被験者からみて右方向に設置したカメラをcam1、左方向をcam2 とする)を1.8m間隔に配置し、1024×768の解像度で撮影した(以下の実験において典型的な顔のサイズは320×240程度である)。
【0191】
(頭部姿勢の推定の評価)
まず、実装したシステムを用いて頭部姿勢の推定について評価を行った。
【0192】
図21は、頭部姿勢の追跡結果の例を示す図である。
【0193】
ここでは被験者が2台のカメラから等距離にあって両カメラの中点から1.5m離れた位置に立ち、水平面上で左方向(−60°) から右方向(60°) に顔を動かした。
【0194】
図21上に見られるように、実施の形態2の視線方向の推定装置により連続的に頭部姿勢の追跡が行われていることがわかる。
【0195】
図21の下は、このときの左右の眼領域に関する各カメラ画像上での計測可否についての判定結果を示している。この結果から,このときの被験者について頭部姿勢に依らず左右の目領域が,少なくともいずれか一方のカメラで取得できると判定されていることがわかる。実施の形態2では、この判定結果に基づいて虹彩抽出に利用する画像領域を決定する。
【0196】
図22は、視線推定の処理結果の例を示す図である。
【0197】
ここでは、図21と同様に被験者は水平方向に顔向きを変化させている。ここにみられるように、2台のカメラの観測を組み合わせることで適切に頭部姿勢および視線方向が推定されていることがわかる。特に、一方のカメラが完全に側方からの観測になったり(同図2段目および最下段)、2台のカメラで共通する観測が得られない場合(同4段目) でも視線推定が行われていることに注意されたい。
【0198】
図23は、視線推定精度を示す図である。ここでは、環境中の方向既知の同一点を注視しながら顔向きを水平方向に変化させ、各顔向き条件についての視線推定誤差を算出した。35°まで頭部向きを変化させた際の平均誤差は8° 未満であった。
(遠隔視線計測アプリケーション)
遠隔視線計測手法を利用すると、日常環境の中で人々の興味や注意に関する情報を獲得することができ、これまで困難だった様々なサービスが可能になる。
【0199】
例えば、遠隔視線計測システムとロボットとを連動させることでロボットと人が視線を介してコミュニケーションできるシステムが実現されうる。このシステムは、ロボットがユーザと一緒の物を見る行動(共同注視) やロボットをユーザの方向へ向かせ話しかける(働きかけ) をすることによりロボットとユーザ間でコミュニケーションを誘発させるシステムである。
【0200】
このように、視線情報を日常環境で自然なかたちで利用するためには、ユーザの頭部位置・姿勢を限定せず、できるだけ広い範囲で視線情報を計測できることが望ましい。
【0201】
図24は、視線計測を利用した案内システムの例を示す図である。
【0202】
ここでは、案内板の前にいるユーザの興味を視線によって計測し、ユーザの興味に合わせた情報を画像や音声により案内することを想定している。しかし、図24(A)に示すように、従来のシステムでは特に頭部姿勢に関する制約が大きいため、広い顔向き範囲で連続的に視線計測を行うためには、多数のカメラを利用する必要がある。
【0203】
一方、実施の形態2の視線方向の推定装置、視線方向の推定方法またはコンピュータに当該視線方向の推定方法を実行させるためのプログラムでは、比較的少数の複数カメラを利用し、広い顔向き範囲についてより少ないカメラで視線方向を計測できる。
【0204】
あるいは、運転中のドライバーの視線など、大きな顔向き変化を想定しなければならない場面は、他にも多く、実施の形態2よる視線計測によってこれまで適用の難しかった分野での視線情報の利用が可能になる。
【0205】
以上説明したように、実施の形態2の視線方向の推定装置、視線方向の推定方法またはコンピュータに当該視線方向の推定方法を実行させるためのプログラムによれば、複数のカメラの観測を組み合わせることで、従来の視線計測手法の持つ顔向きに関する制約を緩和し、広い頭部姿勢範囲について視線計測が可能な遠隔視線計測が提供される。実施の形態2よる視線計測では、顔面上の特徴点および左右の目領域画像の観測がそれぞれ異なるカメラで行われることを許容し、頭部の位置・姿勢および視線方向の推定を行う。そのため少数のカメラによって広い頭部姿勢範囲をカバーできる。実施の形態2よる視線計測により日常生活や公共の場における視線アプリケーションの適用範囲を大幅に拡大することができる。
【0206】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0207】
20 視線方向の推定装置、30.1〜30.n カメラ、40 コンピュータ本体、42 ディスプレイ、46 キーボード、48 マウス、50 光学ディスクドライブ、52 メモリカードドライブ、54 ハードディスク、60 RAM、64 メモリカード、66 バス、68 画像取込装置、5602 画像キャプチャ処理部、5604 画像データ記録処理部、5606 検出部、5608 部、5610 第1の頭部位置・姿勢推定部、5612 第2の頭部位置・姿勢推定部、5613 表示制御部、5614 眼球中心推定部、5618 視線方向推定部。
【特許請求の範囲】
【請求項1】
観測領域内において、人間の頭部領域を含む動画像を獲得するための複数の撮影手段を備え、各前記頭部領域には、予め複数の特徴点が規定されており、
視線方向の推定処理の対象となる現時刻以前の時点の画像フレームまでの動画像により、推定対象となる人間の3次元の眼球中心位置と画像フレーム中に投影された特徴点の2次元の位置との関係が予めモデル化されているときに、前記複数の撮影手段により同時刻に撮影された前記動画像中の複数の画像フレームのうちから、前記視線方向の推定処理の対象となる現時刻の画像フレームを選択し、前記選択された画像フレームに基づいて、当該モデルを用いて、前記眼球中心位置を推定するとともに、前記現時刻の画像フレームから抽出された虹彩の位置に基づいて、前記推定対象となる人間の視線の方向を推定する視線方向推定手段をさらに備える、視線方向の推定装置。
【請求項2】
前記視線方向推定手段は、
前記複数の撮影手段において少なくとも2台により撮影された前記動画像の複数の画像フレームにより、前記視線方向の推定処理を実行する時点における特定の人物の頭部の位置を、各前記複数の特徴点と前記撮影手段とを結ぶ3次元直線の交わる点として取得することで、前記特定の人物の頭部の前記観測領域内での位置を追跡する頭部追跡手段と、
前記特定の人物について前記複数の撮影手段により撮影された前記複数の画像フレームにおいて、それぞれ特定される前記複数の特徴点により前記特定の人物の頭部の姿勢を推定する姿勢推定手段と、
前記推定された顔姿勢に基づいて、前記特定の人物が撮影された前記複数の画像フレームのうちから、前記視線方向の推定処理に使用するための画像フレームを選択する選択手段と、
前記選択された画像フレームにおいて、前記特定の人物の虹彩中心を抽出するための虹彩中心位置推定手段と、
前記選択された画像フレームに基づいて、前記特定の人物の眼球中心位置を推定するための眼球中心位置推定手段と、
前記抽出された前記虹彩中心および前記推定された眼球中心位置により、前記特定の人物の視線の方向を算出する視線方向算出手段とを含む、請求項1に記載の視線方向の推定装置。
【請求項3】
前記選択手段は、前記複数の撮影手段で撮影された画像フレームのうちから撮影された画像が最も顔正面に近い画像フレームを選択する、請求項2に記載の視線方向の推定装置。
【請求項4】
前記選択手段は、右眼と左眼について、それぞれ、撮影された画像における対応する顔半面の顔正面への近さが異なる場合は、右眼と左眼に対して、異なる前記撮影手段で撮影された画像フレームを選択する、請求項3に記載の視線方向の推定装置。
【請求項5】
前記姿勢推定手段は、前記頭部追跡手段における投影変換から弱透視変換に投影変換を変更して、前記頭部の姿勢の推定を実行する、請求項2に記載の視線方向の推定装置。
【請求項6】
前記視線方向推定手段は、
前記複数の撮影手段により撮影された画像において、前記視線方向の推定処理を実行する時点における特定の人物の顔の領域を検出し、前記複数の特徴点を特定するための顔特徴点特定手段と、
前記複数の撮影手段により撮影された前記動画像の複数の画像フレームにより、前記特定の人物の頭部の位置および姿勢を、前記複数の特徴点の再投影誤差が最小となるように特定する頭部方向の推定手段と、
前記特定された頭部方向に基づいて、前記特定の人物が撮影された前記複数の画像フレームのうちから、前記視線方向の推定処理に使用するための画像フレームを選択する選択手段と、
前記選択された画像フレームにおいて、各画素ごとに前記特定の人物の目領域内の虹彩領域をラベルづけするための虹彩抽出手段と、
仮定された視線方向ベクトルと前記頭部の位置および姿勢に基づいて、各選択された画像フレームの画像中のモデル虹彩領域を推定し、前記ラベルづけされた虹彩領域と前記モデル虹彩領域とが最もフィットするように視線方向ベクトルを決定することにより、前記特定の人物の視線の方向を算出する視線方向算出手段とを含む、請求項1に記載の視線方向の推定装置。
【請求項7】
観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各前記頭部領域には、予め複数の特徴点が規定されており、
視線方向の推定処理の対象となる現時刻以前の時点の画像フレームまでの動画像により、推定対象となる人間の3次元の眼球中心位置と画像フレーム中に投影された特徴点の2次元の位置との関係が予めモデル化するステップと、
前記複数の撮影手段により同時刻に撮影された前記動画像中の複数の画像フレームのうちから、前記視線方向の推定処理の対象となる現時刻の画像フレームを選択し、前記選択された画像フレームに基づいて、当該モデルを用いて、前記眼球中心位置を推定するとともに、前記現時刻の画像フレームから抽出された虹彩の位置に基づいて、前記推定対象となる人間の視線の方向を推定するステップとをさらに備える、視線方向の推定方法。
【請求項8】
観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各前記頭部領域には、予め複数の特徴点が規定されており、
前記複数の撮影手段において少なくとも2台により撮影された前記動画像の複数の画像フレームにより、視線方向の推定処理を実行する時点における特定の人物の頭部の位置を、各前記複数の特徴点と前記撮影手段とを結ぶ3次元直線の交わる点として取得することで、前記特定の人物の頭部の前記観測領域内での位置を追跡するステップと、
前記特定の人物について前記複数の撮影手段により撮影された前記複数の画像フレームにおいて、それぞれ特定される前記複数の特徴点により前記特定の人物の頭部の姿勢を推定するステップと、
前記推定された顔姿勢に基づいて、前記特定の人物が撮影された前記複数の画像フレームのうちから、視線方向の推定に使用するための画像フレームを選択するステップと、
前記選択された画像フレームにおいて、前記特定の人物の虹彩中心を抽出するステップと、
前記選択された画像フレームに基づいて、前記特定の人物の眼球中心位置を推定するステップと、
前記抽出された前記虹彩中心および前記推定された眼球中心位置により、前記特定の人物の視線の方向を算出するステップとをさらに備える、視線方向の推定方法。
【請求項9】
演算処理手段を有するコンピュータに、視線方向の推定処理を実行させるためのプログラムであって、前記プログラムは、
観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各前記頭部領域には、予め複数の特徴点が規定されており、
視線方向の推定処理の対象となる現時刻以前の時点の画像フレームまでの動画像により、推定対象となる人間の3次元の眼球中心位置と画像フレーム中に投影された特徴点の2次元の位置との関係が予めモデル化するステップと、
前記複数の撮影手段により同時刻に撮影された前記動画像中の画像フレームのうちから、前記視線方向の推定処理の対象となる現時刻の画像フレームを選択し、前記選択された画像フレームに基づいて、当該モデルを用いて、前記眼球中心位置を推定するとともに、前記現時刻の画像フレームから抽出された虹彩の位置に基づいて、前記推定対象となる人間の視線の方向を推定するステップとをコンピュータに実行させる、プログラム。
【請求項10】
演算処理手段を有するコンピュータに、視線方向の推定処理を実行させるためのプログラムであって、前記プログラムは、
観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各前記頭部領域には、予め複数の特徴点が規定されており、
前記複数の撮影手段において少なくとも2台により撮影された前記動画像の複数の画像フレームにより、前記視線方向の推定処理を実行する時点における特定の人物の頭部の位置を、各前記複数の特徴点と前記撮影手段とを結ぶ3次元直線の交わる点として取得することで、前記特定の人物の頭部の前記観測領域内での位置を追跡するステップと、
前記特定の人物について前記複数の撮影手段により撮影された前記複数の画像フレームにおいて、それぞれ特定される前記複数の特徴点により前記特定の人物の頭部の姿勢を推定するステップと、
前記推定された顔姿勢に基づいて、前記特定の人物が撮影された前記複数の画像フレームのうちから、視線方向の推定に使用するための画像フレームを選択するステップと、
前記選択された画像フレームにおいて、前記特定の人物の虹彩中心を抽出するステップと、
前記選択された画像フレームに基づいて、前記特定の人物の眼球中心位置を推定するステップと、
前記抽出された前記虹彩中心および前記推定された眼球中心位置により、前記特定の人物の視線の方向を算出するステップとをコンピュータに実行させる、プログラム。
【請求項1】
観測領域内において、人間の頭部領域を含む動画像を獲得するための複数の撮影手段を備え、各前記頭部領域には、予め複数の特徴点が規定されており、
視線方向の推定処理の対象となる現時刻以前の時点の画像フレームまでの動画像により、推定対象となる人間の3次元の眼球中心位置と画像フレーム中に投影された特徴点の2次元の位置との関係が予めモデル化されているときに、前記複数の撮影手段により同時刻に撮影された前記動画像中の複数の画像フレームのうちから、前記視線方向の推定処理の対象となる現時刻の画像フレームを選択し、前記選択された画像フレームに基づいて、当該モデルを用いて、前記眼球中心位置を推定するとともに、前記現時刻の画像フレームから抽出された虹彩の位置に基づいて、前記推定対象となる人間の視線の方向を推定する視線方向推定手段をさらに備える、視線方向の推定装置。
【請求項2】
前記視線方向推定手段は、
前記複数の撮影手段において少なくとも2台により撮影された前記動画像の複数の画像フレームにより、前記視線方向の推定処理を実行する時点における特定の人物の頭部の位置を、各前記複数の特徴点と前記撮影手段とを結ぶ3次元直線の交わる点として取得することで、前記特定の人物の頭部の前記観測領域内での位置を追跡する頭部追跡手段と、
前記特定の人物について前記複数の撮影手段により撮影された前記複数の画像フレームにおいて、それぞれ特定される前記複数の特徴点により前記特定の人物の頭部の姿勢を推定する姿勢推定手段と、
前記推定された顔姿勢に基づいて、前記特定の人物が撮影された前記複数の画像フレームのうちから、前記視線方向の推定処理に使用するための画像フレームを選択する選択手段と、
前記選択された画像フレームにおいて、前記特定の人物の虹彩中心を抽出するための虹彩中心位置推定手段と、
前記選択された画像フレームに基づいて、前記特定の人物の眼球中心位置を推定するための眼球中心位置推定手段と、
前記抽出された前記虹彩中心および前記推定された眼球中心位置により、前記特定の人物の視線の方向を算出する視線方向算出手段とを含む、請求項1に記載の視線方向の推定装置。
【請求項3】
前記選択手段は、前記複数の撮影手段で撮影された画像フレームのうちから撮影された画像が最も顔正面に近い画像フレームを選択する、請求項2に記載の視線方向の推定装置。
【請求項4】
前記選択手段は、右眼と左眼について、それぞれ、撮影された画像における対応する顔半面の顔正面への近さが異なる場合は、右眼と左眼に対して、異なる前記撮影手段で撮影された画像フレームを選択する、請求項3に記載の視線方向の推定装置。
【請求項5】
前記姿勢推定手段は、前記頭部追跡手段における投影変換から弱透視変換に投影変換を変更して、前記頭部の姿勢の推定を実行する、請求項2に記載の視線方向の推定装置。
【請求項6】
前記視線方向推定手段は、
前記複数の撮影手段により撮影された画像において、前記視線方向の推定処理を実行する時点における特定の人物の顔の領域を検出し、前記複数の特徴点を特定するための顔特徴点特定手段と、
前記複数の撮影手段により撮影された前記動画像の複数の画像フレームにより、前記特定の人物の頭部の位置および姿勢を、前記複数の特徴点の再投影誤差が最小となるように特定する頭部方向の推定手段と、
前記特定された頭部方向に基づいて、前記特定の人物が撮影された前記複数の画像フレームのうちから、前記視線方向の推定処理に使用するための画像フレームを選択する選択手段と、
前記選択された画像フレームにおいて、各画素ごとに前記特定の人物の目領域内の虹彩領域をラベルづけするための虹彩抽出手段と、
仮定された視線方向ベクトルと前記頭部の位置および姿勢に基づいて、各選択された画像フレームの画像中のモデル虹彩領域を推定し、前記ラベルづけされた虹彩領域と前記モデル虹彩領域とが最もフィットするように視線方向ベクトルを決定することにより、前記特定の人物の視線の方向を算出する視線方向算出手段とを含む、請求項1に記載の視線方向の推定装置。
【請求項7】
観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各前記頭部領域には、予め複数の特徴点が規定されており、
視線方向の推定処理の対象となる現時刻以前の時点の画像フレームまでの動画像により、推定対象となる人間の3次元の眼球中心位置と画像フレーム中に投影された特徴点の2次元の位置との関係が予めモデル化するステップと、
前記複数の撮影手段により同時刻に撮影された前記動画像中の複数の画像フレームのうちから、前記視線方向の推定処理の対象となる現時刻の画像フレームを選択し、前記選択された画像フレームに基づいて、当該モデルを用いて、前記眼球中心位置を推定するとともに、前記現時刻の画像フレームから抽出された虹彩の位置に基づいて、前記推定対象となる人間の視線の方向を推定するステップとをさらに備える、視線方向の推定方法。
【請求項8】
観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各前記頭部領域には、予め複数の特徴点が規定されており、
前記複数の撮影手段において少なくとも2台により撮影された前記動画像の複数の画像フレームにより、視線方向の推定処理を実行する時点における特定の人物の頭部の位置を、各前記複数の特徴点と前記撮影手段とを結ぶ3次元直線の交わる点として取得することで、前記特定の人物の頭部の前記観測領域内での位置を追跡するステップと、
前記特定の人物について前記複数の撮影手段により撮影された前記複数の画像フレームにおいて、それぞれ特定される前記複数の特徴点により前記特定の人物の頭部の姿勢を推定するステップと、
前記推定された顔姿勢に基づいて、前記特定の人物が撮影された前記複数の画像フレームのうちから、視線方向の推定に使用するための画像フレームを選択するステップと、
前記選択された画像フレームにおいて、前記特定の人物の虹彩中心を抽出するステップと、
前記選択された画像フレームに基づいて、前記特定の人物の眼球中心位置を推定するステップと、
前記抽出された前記虹彩中心および前記推定された眼球中心位置により、前記特定の人物の視線の方向を算出するステップとをさらに備える、視線方向の推定方法。
【請求項9】
演算処理手段を有するコンピュータに、視線方向の推定処理を実行させるためのプログラムであって、前記プログラムは、
観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各前記頭部領域には、予め複数の特徴点が規定されており、
視線方向の推定処理の対象となる現時刻以前の時点の画像フレームまでの動画像により、推定対象となる人間の3次元の眼球中心位置と画像フレーム中に投影された特徴点の2次元の位置との関係が予めモデル化するステップと、
前記複数の撮影手段により同時刻に撮影された前記動画像中の画像フレームのうちから、前記視線方向の推定処理の対象となる現時刻の画像フレームを選択し、前記選択された画像フレームに基づいて、当該モデルを用いて、前記眼球中心位置を推定するとともに、前記現時刻の画像フレームから抽出された虹彩の位置に基づいて、前記推定対象となる人間の視線の方向を推定するステップとをコンピュータに実行させる、プログラム。
【請求項10】
演算処理手段を有するコンピュータに、視線方向の推定処理を実行させるためのプログラムであって、前記プログラムは、
観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各前記頭部領域には、予め複数の特徴点が規定されており、
前記複数の撮影手段において少なくとも2台により撮影された前記動画像の複数の画像フレームにより、前記視線方向の推定処理を実行する時点における特定の人物の頭部の位置を、各前記複数の特徴点と前記撮影手段とを結ぶ3次元直線の交わる点として取得することで、前記特定の人物の頭部の前記観測領域内での位置を追跡するステップと、
前記特定の人物について前記複数の撮影手段により撮影された前記複数の画像フレームにおいて、それぞれ特定される前記複数の特徴点により前記特定の人物の頭部の姿勢を推定するステップと、
前記推定された顔姿勢に基づいて、前記特定の人物が撮影された前記複数の画像フレームのうちから、視線方向の推定に使用するための画像フレームを選択するステップと、
前記選択された画像フレームにおいて、前記特定の人物の虹彩中心を抽出するステップと、
前記選択された画像フレームに基づいて、前記特定の人物の眼球中心位置を推定するステップと、
前記抽出された前記虹彩中心および前記推定された眼球中心位置により、前記特定の人物の視線の方向を算出するステップとをコンピュータに実行させる、プログラム。
【図2】
【図3】
【図4】
【図6】
【図7】
【図11】
【図16】
【図20】
【図21】
【図25】
【図26】
【図1】
【図5】
【図8】
【図9】
【図10】
【図12】
【図13】
【図14】
【図15】
【図17】
【図18】
【図19】
【図22】
【図23】
【図24】
【図3】
【図4】
【図6】
【図7】
【図11】
【図16】
【図20】
【図21】
【図25】
【図26】
【図1】
【図5】
【図8】
【図9】
【図10】
【図12】
【図13】
【図14】
【図15】
【図17】
【図18】
【図19】
【図22】
【図23】
【図24】
【公開番号】特開2012−216180(P2012−216180A)
【公開日】平成24年11月8日(2012.11.8)
【国際特許分類】
【出願番号】特願2011−289369(P2011−289369)
【出願日】平成23年12月28日(2011.12.28)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成23年8月22日付け、支出負担行為担当官 総務省大臣官房会計課企画官、研究テーマ「認知状態共有による交通事故低減技術の研究開発」に関する委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(393031586)株式会社国際電気通信基礎技術研究所 (905)
【Fターム(参考)】
【公開日】平成24年11月8日(2012.11.8)
【国際特許分類】
【出願日】平成23年12月28日(2011.12.28)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成23年8月22日付け、支出負担行為担当官 総務省大臣官房会計課企画官、研究テーマ「認知状態共有による交通事故低減技術の研究開発」に関する委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(393031586)株式会社国際電気通信基礎技術研究所 (905)
【Fターム(参考)】
[ Back to top ]