みなさんは「アイトラッキング」をご存じですか? 「目線の追跡」と訳され、人が目でどこを見ているのかを分析する手法です。対象者をカメラや専用のデバイスで撮影し画像解析することで目の位置や動きをトラッキングすることができます。今回は、アイトラッキングで何ができるのか等の特徴と、アイトラッキングデバイスであるTobii EyeXを使って手軽にアイトラッキングコンテンツを作成する方法をご紹介します

アイトラッキングは何ができるのか?

先ほど述べたように、アイトラッキングとは人が目でどこを見ているのかを分析する手法です。導入することで最も効果が出ると考えられるものを3つ挙げました。

手を使わずにUIを操作できる

最近ではゲームなどのコンテンツを制作する業界のみならず、福祉業界からも注目されています(記事「“視線”が暮らしを変える|NHKニュース」にて特集されました)。それは病気や事故の影響で手を十分に動かすことが困難な方でも目の動きだけでUIを操作できるようになるからです。

下の動画はThe EyeWriterというopenFrameworksで開発されたプロジェクトです。眼鏡にゲーム用のカメラを取り付けて目を撮影し、それを解析しています。事故によって体の自由を失ったアーティストが目の動きだけで壁に絵を描くところが印象的です。

5分25秒の動画の中で、1分12秒辺りで眼鏡にカメラを取り付ける様子、1分37秒辺りで実際にアイトラッキングで絵を描いている様子、3分辺りで描いた絵をプロジェクターでビルに映している様子が紹介されています。

下の動画はアイトラッキング機能を搭載したVRヘッドセットFOVEを使用したEye Play The Piano Projectです。FOVEのディスプレイに表示されたボタンを見つめて瞬きすることで、ピアノの鍵盤をコントロールして演奏します。単音だけではなく和音も引くことができるなど、UI設計も考え抜かれています。

3分26秒の動画の中で、冒頭からFOVE本体やUI設計の試行錯誤の様子、35秒辺りで実際に行われた演奏会の様子が紹介されています。

人の感情を読み取ることができる

「目は口ほどに物を言う」ということわざにもあるように、人の感情の変化と目の動きには関連性があります。目の動きから感情を読み取ることで、例えばゲームの登場人物からの質問に対しプレイヤーが嘘をつくとそれをゲーム側で感知し、登場人物に「今あなたは嘘をつきましたね?」と発言させることができます。プレイヤーの感情をストーリーに反映することで、ゲームへの没入感を高めることができます

3Dのレンダリング負荷を軽減できる

VR(拡張現実)の普及がなかなか進まない原因の一つとして3Dのレンダリング負荷の問題があります。VRコンテンツは没入感を生むために全方向の精密な3D表現が必要になり、そのレンダリング負荷を処理できるハイスペックなPCは高価でなかなか手に入れることができません。それを解消する手法の一つがアイトラッキングを使ったFoveated Renderingです。人が目で物を見るとき視界の中央はくっきりとしていますが周囲はぼやけて見えています。それを3Dに応用し画面中央付近はレンダリング品質を高く、周囲を低くすることでレンダリング負荷を軽減できます

Foveated Renderingについては記事「【佐藤カフジのVR GAMING TODAY!】日本発のVRHMD「FOVE」が業界に革命を起こす!? アイトラッキング&アダプティブレンダリングがもたらす可能性」にてわかりやすく解説されています。

手軽にアイトラッキングできるデバイス「Tobii EyeX」

Tobii EyeX

Tobii EyeXとは、アイトラッキング技術の世界最大手を謳うトビー・テクノロジーが開発した設置型のアイトラッキングデバイスです。眼鏡やコンタクト装着時もサポートされているので、視力の弱い人でもコンテンツを体験することができます。windows 7以降でUSB3.0が搭載されたPCがサポート環境とされており、C/C++、.NET、Unity、Unreal Engine用のSDKが公開されています。今回はUnityを使ったアイトラッキングコンテンツの作成方法をご紹介します。

Unityを使ってアイトラッキングコンテンツを作成しよう!

1. Tobii EyeXの開発環境を準備する

Tobiiのデベロッパーページにある[Get started with EyeX]ボタンをクリックして設定用アプリケーションをダウンロードしてインストールします。完了したらTobii EyeXをPCのUSB3.0ポートへ接続してください。

2. 設置位置を調整する

先ほどインストールした設定用アプリケーションを起動し、[Eye Tracker]のトグルボタンをクリックして有効にします。次に、[Display Configuration]の[Set Up]ボタンをクリックします。

Tobii EyeXの設置位置を調整します

すると下のような設定画面が表示されるので、Tobii EyeX本体上部にある白い印と合うようにバーを調整して[Done]ボタンをクリックします。

設置位置を調整している様子

3. キャリブレーション

[User Profile]の[+]ボタンをクリックしてユーザーのProfile(キャリブレーション情報)を追加します。

Profileを追加します

下のようにプロフィール名と目の情報を選択して[Next]ボタンをクリックします。

Profile追加の様子

目の状態

  • No corrective lenses:裸眼
  • Glasses:眼鏡
  • Contact lenses:コンタクトレンズ
トラッキング対象

  • Track both eyes:両目
  • Track left eye:左目
  • Track right eye:右目

するとトラッキングしている目の位置が白い円で表示されます。円が灰色で小さかったり表示されていないと正しくトラッキングできていないので、Tobii EyeXと顔の位置や距離を調整しましょう。正しくトラッキングできたら[Next]ボタンをクリックします。

目の位置をトラッキングしている様子

中央にオレンジ色の円が現れ、画面内で移動します。これを目で追うことで目がどの位置を見ているのか判断できるようになります。[Calibration Completed]と表示されるとキャリブレーション完了です。

オレンジの円を目で追うことでキャリブレーションする

4. SDKのダウンロード

SDKダウンロードページでSDKをダウンロードします。今回はUnityで開発するので[Tobii EyeX SDK for Unity]を選択します。
※SDKのダウンロードにはデベロッパー登録が必要です。

5. アイトラッキングコンテンツを作成する

ダウンロードしたSDKの読み込み方法から3Dオブジェクトへアイトラッキング処理を組み込む方法までがわかりやすく公式のチュートリアル「Getting Started With the Tobii EyeX SDK for Unity」で紹介されています。こちらのチュートリアルを実行すると、下のように中央にある正方形を目で見ると回転し、外らすと停止するというコンテンツができます。
※視線の位置を可視化するために目線の先に画像が追従する機能を別途実装しました。

中央の正方形を見た時だけ回転する様子

アイトラッキングを導入する際に気をつけること

アイトラッキングはマウスやキーボードにはできないことができる一方で、気をつけなければならないこともあります。導入する際は下記のようなことに注意してください。

ユーザーごとにキャリブレーションが必要

ユーザーによって目の位置・大きさ等が違うので、コンテンツをはじめる前にキャリブレーションが必要になります。インスタレーションなどの不特定多数のユーザーのアイトラッキングを行うときは注意が必要です。

安定した操作は難しい

目は人体の一部ということもあり、常に一点を見ているつもりでも微妙に動いてしまったり、少し注意がそれるだけで反射的に視線がそれてしまうといったことがあります。そのため、誤差や誤操作を許容できるUI設計が必要です

最後に

アイトラッキングはUIを操作するためのものと思い浮かべる方も多いですが、それ以外にもさまざまな活用方法があります。また、UnityとTobii EyeXを使うことで手軽に精度の高いアイトラッキングを実現できます

まずは開発者自ら体験しないと感覚がつかめないと思うので、Tobii EyeXの体験コーナーがあるG-Tune:Garage秋葉原店・名古屋店などでぜひ一度体験してみてはいかがでしょうか。