第26回目となる今回は、第25回に引き続き視線推定の手法を紹介します。
視線推定手法は、近赤外の点光源(LED)を用いた手法と、カメラのみを用いて通常の画像から視線を推定する手法の2つに大別できます。
近赤外を用いた手法は前回の記事で説明したので、今回はカメラのみを用いて画像処理により視線を推定する手法をいくつか紹介します。

目頭などを用いた手法

目を至近距離から撮影できる場合は、図1のように高解像な目画像を用いることができます。目頭などを含む目全体の画像が利用できる場合は、前回紹介した赤外線を用いた手法のプルキニエ像の代わりに、目頭などを基準点として視線を計測することができます(図2)。

例えば外側を見た際は、目じり側に虹彩が移動します。逆に内側を見た場合は、目頭側に虹彩が移動します。この目頭と虹彩の相対的な位置関係から視線方向を推定することができます。

プルキニエ像の代わりに目頭を用いるため、赤外線を照射するLEDが必要ないというメリットがある一方で、赤外線を照射するLEDを用いた手法に比べ、精度が低いと言われています。

図1 高解像度な目画像

図1 高解像度な目画像

図2 視線計測の基本原理

図2 視線計測の基本原理

楕円パラメータを用いた手法

楕円パラメータを用いた手法では、まず瞳孔を検出し、瞳孔の輪郭を楕円で近似します。楕円パラメータと視線方向には相関があるため、図3のように求めた楕円パラメータから視線を計測することができます。
この手法では、楕円が円形に近いときに精度が低いという欠点があります。

図3 楕円パラメータによる視線推定

図3 楕円パラメータによる視線推定

機械学習を用いた手法

今までは高解像度な目画像が利用できる場合の手法を紹介してきましたが、「顔全体が写っている画像から視線を計測したい」という場合もあります。顔全体が写っている画像の目の領域は、図4のように解像度が低く、瞳孔形状の楕円フィッティングや瞳孔の座標計算等が不安定となってしまいます。

このような画像から視線を推定する手法として、機械学習を用いた手法が提案されています。連続値である視線を推定するためには、2クラスの識別ではなく、回帰(Regression)を行う必要があります。
手法としては、Support Vector Regressionや、Random ForestによるRegressionなどを用いることができます。このアプローチの欠点は、学習用データとして、様々な人が様々な方向を見た目の画像が必要になることです。
最近では、3次元計測が可能なKinectなどのDepth Cameraを用いて3次元の目画像を撮影し、その3次元の目画像から大量の学習用データを生成することで、高精度な視線推定が可能になってきています。

図4 低解像度な目画像

図4 低解像度な目画像

「目は口程に物を言う」というくらいですから、視線計測はさまざまな製品、サービスに応用できる可能性があります。

次回は、動画像中から人物の行動を認識するために開発された「Dense Trajectories」(参考文献:H. Wang, A. Klaser, C. schmid, and C. Liu, “Action Recognition by Dense Trajectories”, in CVPR2011)を紹介します!