##はじめに
JINS MEME のSDKを利用して開発していただいている方からの問い合わせで多いのが視線移動まわりです。今回はJINS MEMEの視線移動に関して簡単にまとめてみました。
##動作原理
視線移動は眼電位モジュールと呼んでいる3点式電極によって検出します。3点式電極に入ってきた入力から上下のシグナルと左右のシグナルを生成します。バンドパス後のシグナルは以下のようになります。
まばたき(専門用語では瞬目(しゅんもく)と呼びます)はまぶたを閉じるシグナルと開けるシグナルがくっついて見えます。まばたきと同じぐらいのスピードで上を向いて下を向くとまばたきと同じようなシグナルに見えますが、相当意識的に行わないとそのようなシグナルは出にくいので、上下の連続した組み合わせはまばたきとして検出されるようになっています。
(裏を返すと上下方向はまばたきと視線移動の判別を排他で行うので横方向より検出が難しい方向にいきます)
##特性
###相対位置?絶対位置?
視線移動は絶対位置ではなく、相対的な「動き」を検出します※。相対位置なので最初に正面を見ていようと左を見ていようと、その位置から右を向くと「右」の視線移動が検出されます。ただし移動量に応じてシグナルの強さは変わるので、キャリブレーションで得たしきい値を元に視線移動の大きさとして出しています。
※ドリフト成分を補正できるアルゴリズムが組めれば絶対値として出すことができるようになります
以下編注:最新ファームウェアで逆視線移動は廃止されました
逆視線移動って何ですか?
上記の特性から中央からどちらかを向くのと端から端を向くのでは後者が大きいシグナルに見えます。それを検知した場合「逆視線移動」というフラグになります。ただし、現在の定義では短いフレームで右→左の視線移動が起こった場合を想定した検出になっているため、通常用途で逆視線移動のフラグが立つことはほとんどありません。
###上下/左右の違い
視線移動は「とりやすい方向」があります。多くの人は左右の視線移動は自然に行えますが、上下に関してはぎこちないことが多いです。縦書きの本を読まなくなって、スマホ/PC(横書きの文章)と接する時間が長くなっていることも影響しているかもしれません。
特に上視線移動はそれ視線移動に伴いまぶたが開く(±的には逆の動き)ので個人差が大きく出ます。
###まばたき+視線移動
視線移動の前後で無意識にまばたきが入ることがあります(男性より女性に多いです)。これも個人差が大きいです。
##終わりに
JINS MEME ではファームウェアを定期的に更新する計画を立てています。現状の視線移動の検出精度はまだ改善の余地があると考えておりまして、2016年は特に視線移動の精度を高く・使いやすくする改善を加えていく予定です。