« アンケート集計 / 来年は「身体性の脳内メカニズム」です! | 最新のページに戻る | Pooneil Radar 2009 »

■ ヘッドマウント式で眼球運動計測

3年前のエントリ「EyeLinkってどうなんですかね 」でCCDカメラによる眼球運動計測システムについて多少調べたことがありました。あれから業者の方にデモしに来てもらったりとかいろいろやってたんですが、けっこうバカにならない金額なんで、なかなか先に進んでいませんでした。
でも新プロジェクトのこととか考えつつ、今回の脳プロ分科会とかに行ってきて、「ヘッドマウント式で、ヘッドフリーで眼球運動計測(eye, gaze, head)」についていよいよ本気で進めていく気になりました。「でもお高いんでしょう?」(通販番組っぽく)
そうしたら、絶妙なタイミングでMakeのブログで「EyeWriter - 安価な視標追跡器具」なんてのを発見。これは、視標追跡装置(eye tracker)がハードウェア(4000円のプレステ用webカメラ)もソフトウェア(open source)も安価なもので作れるようにすることで、ALS患者の方にとって実用的なシステムになる、というもの。Eye trackerの部分はopenEyeというOpenCVベースのopen source softwareが使われている。文字などを書くeye writerの部分はこれまたopen sourceのopenFrameworksで書かれている。
このへんはprocessing - arduino - openFrameworksといった物理コンピューティングの分野とがっちり繋がっている。つーかはやく"Programming Interactivity"が翻訳されてくれるといいのですけどね。
わたし自身は自分で作ることは考えていなかったのだけれど、これならたしかに作れてしまうな。ということで調べてみました。(以前はわたしはremote cameraのほうを想定していたのだけれど、head-freeに応用するのは厳しそう。)
まず、COGAIN (Communication by Gaze Interaction)という団体がこの方向を推進していて、毎年カンファレンスも開いている(たとえば今年のproceedings(PDF))。webサイトにもいろんな資料があって、レポートを出してる。ハードウェアについては"D5.3 Eye Tracking Hardware Issues"(PDF)で、ソフトウェアについては"D5.2 Report on New Approaches to Eye Tracking"(PDF)があって、もちろんタダでダウンロードできる。正直、この二つ読んどけばもう作れそう。
ともあれ、ちょっと時系列を追ってゆくと、この方向(安価な部品でゴーグル型のアイトラッカーを作る)を確立したのはRochester Institute of TechnologyのJeff B. Pelzであるようだ。2004年の"Building a lightweight eyetracking headgear"(ETRA2004のproceedings)および2003年の"The Wearable Eyetracker: A Tool for the Study of High-level Visual Tasks"に詳しい記載がある。
Eye cameraとしてはPC206XPという小型のピンホールレンズのカメラを使ってる。Supercircuitsというところで78ドル。1/4インチCMOSで水平解像度が420。カメラのサイズは9.5*9.5*16mm。これのレンズの部分を外して、Kodakの87c Wratten filterという赤外線写真用のフィルターのシートを挟んでやる。
(余談だけど、赤外線写真には前から興味があった。というのもサイケデリックロック好きとしては、いくつか有名なジャケット写真が赤外線写真で撮影されていて、たとえばDonovanの"A Gift from a Flower to a Garden"とかFrank Zappaの"Hot Rats"とか、なんかこの世でないようなヤバイ雰囲気を醸し出してくれるんだわ。将来のオレのCDジャケは赤外線写真でいきたい(<-ナニサマ?))
Scene camera (ゴーグルに付いていて、見ている場所を写すカメラ)にはPC53XSというのを使用。IR LEDはRadio Shackって書いてあるんで、同等品を秋月電子から買えばよいでしょう。
ハードウェアはこんなかんじで、ソフトの部分に関しては、とにかく画像をキャプチャーしておいてあとでオフラインで解析とある。
さっきのCOGAINのレポートの"D5.6 Report on New Approaches to Eye Tracking. Summary of new algorithms"では、"Eye tracking indoors can be considered as a solved issue with high resolution eye images and quasi-stable lighting conditions"なんて書かれている。うれしいこと言ってくれるじゃないの(ジッパーをおろしながら)。で、野外とか照明が一定しない条件やIR LEDなしでの検出とかリモートカメラの使用とかそういうところに問題は移っているとのことらしい。というわけでソフトの部分もopen sourceで使えるものが出てきて、それのひとつがopenEyes。これが上記のMakeで採りあげられたシステムが使っているもの。ハードウェアの記載とともに"openEyes: A low-cost head-mounted eye-tracking solution" (前述のETRA2006のproceedings)およびチュートリアルにくわしい説明がある。
こっちでは、eye cameraとしてunibrainのFire-Iというwebカメラを使ってる。IEEE1394接続になっているので直でPCに繋いでもドライバとかが揃っているというところがポイント。(複数台のカメラがデイジーチェーンすることによって自動的に同期するというメリットもある。) スペックは、1/4インチCCDで640x480pixel、30 frames per second、レンズはF 2.0で焦点距離4.3mm。もの自体は今でも売ってるけど、今いちばん新しくて安いものを使う方がよいでしょうね。作り方としては、カメラ部分をソケットから外して、IRフィルタを付けてる。基本的なところはさっきと同じ。
これをさらに簡単にしたのが、Makeで紹介されていたeyewriterで、こっちではプレステ3用のwebカメラ PS3 Eyeを使ってる。アマゾンで4500円。wikiで作られているサイトによると、PS3 EyeはUSBカメラで、解像度は640*480だけど、320*240で使うと120fpsまでいけるというのがミソらしい。Instructablesにチュートリアルがあって(eyewriterからPDFダウンロード可)、なんとこの説明ではハンダ付けすら不要(ワニ口クリップでつまんで繋いでる!)。IRブロックするフィルタを除去して、IRを通すフィルタ(さっきのコダック 86c)の代わりにフロッピーディスクを切り取って貼ってる。超DIY! どうやらこのハックは有名なものらしくて、別の文脈で図解しているサイトもあった。
というのがeyewriterまでの文脈なのだけれど、わたしの文脈で、性能と費用と労力のバランスを考えたらもっとよい解はある。
ぜんぜん別の文脈で見つけていたのが、EyeSeeCamというやつで、これは臨床系の人の研究用のものなのだけれど、まあムービー(vimeo)を見れば一目瞭然で、ヘッドマウント式のeye tracker (600Hz)の入力で、頭の上に載っているgaze cameraがピエゾアクチュエーターで動いて、リアルタイムで実際見ているところを追っかけるというわけです。Gaze cameraの応答潜時は10ms。我々が目をすばやく動かして(急速眼球運動、サッカードという)から止めるまでにかかる時間は20-30msとかだから、かなりイイ線いってる。作成してる人もVORとかの応答に使ったりしてる。サッカード中の視覚は抑制されているわけで(サッカード中の知覚安定性のスレッド参照)、saccadic suppressionの実験と組み合わせることが出来るんではないかとか、すごく面白い。
でもって、ここでやっていることはわたしがやろうとしていることにけっこう関連している。(いま気づいたけど、アイデアの元は全部このブログにすでに書いてあって、それの組み合わせだった。)
もうすこしくわしく調べてみよう。まず公開されている資料としては、フライヤーにリンクが張ってある。そこをみると、左右の目にeye cameraを付けていて、600Hzで記録して眼球の3Dでの位置まで推定できる。(torsionも計算される。) 精度は0.5degある。MacBookに繋いでる。解析ソフトについての記載無し。かれらはこれを売り出そうとしているようだけど、いまのところcommercially availableではない。
さらに詳しい情報を知ろうとすると商業誌を読まないといけない。(ちなみにここまでのすべての情報は英語さえ読めれば誰でもアクセスできるようになっている。なお、COGAINのサイトではgazetalkなどのソフトウェアの日本語訳などにアクセスできる。) 元ネタとなる論文はAnn N Y Acad Sci. 2009 May;1164:461-7. "EyeSeeCam: an eye movement-driven head camera for the examination of natural visual exploration"でUniversity of Munich HospitalのSchneider Eという人がやっている仕事らしい。
論文を読むと、eye cameraとしては2006年のバージョンではPoint Grey社のFleaというのを使っていたと書いてある。これは100Hzで記録できる。IEEE1394a接続で400Mbps。レンズ抜きで3cm*3cm*3cm。Cマウントのレンズを付ける必要があるけど、レンズについての情報は無し。2009年バージョンでは使う画素数を減らして600Hzを達成したと書いてある。
(ちなみに現在ではこれの後継機種Flea2というのが出ていて、IEEE1394bになって、伝送速度は800Mbpsに上がっている。日本ではViewPLUSというところが取り扱いをしている。開発用のソフトウェアとかもセットになっていて、これはなかなか扱い良さそう。わたしが今作るとしたらこれを使うかな。)
Gaze camerおよびscene cameraはおなじくPoint Grey社のFirefly MVというやつで、696*480pixel, 60Hzで取り込める。
まだプロトタイプの段階なのだろうけど、共同研究はどんどん進んでいて、Einhäuser W et.al.(Philipps-University, MarburgのPeter Königら)の論文で同じ号に"Eye-head coordination during free exploration in human and cat."とか"Distinct Roles for Eye and Head Movements in Selecting Salient Image Parts during Natural Exploration"なんてのが出てる。ナヌ? Saliency? なんて思って調べてみれば、カルテクにいたときにLaurentと共著があった! "A bottom–up model of spatial attention predicts human error patterns in rapid scene recognition" つーかこの論文前に見たことあった! うわーい、なんか線がつながってきた!
だいたいこのへんまでかな。
Webで探していると、工学系の人がhuman-Computer Interactionのためにいろんなことをやってるのがたくさん出てきて、要はそういう人と組めばいいのだなと思う。もっと身近なところでニューロサイエンスの分野でも、理研の藤井さんのブログでゴーグル型のeye trackerの話が出ていたし、ATRの川人先生のところのヒューマノイドロボットDBではsaliency modelを組み込んでロボットの目を動かしている(とりあえずCBのときのproceedingsがここから落とせる)。というわけでこれから教わりに行きます。
今回のブログエントリは「わたしはこのくらいはサーべイしてありますよ」ということをそういう人たちに示すという目的もあったりする。(長いし。)
込み入った話をしてしまえば、なんらかの大きなお金をゲットしてから動くべきか、安価なプロトタイプを作って成果を見せてお金を取りに行くか、とかそういう話だったりする。(もうやめて!)
追記:いろいろ調べているときりがない。カメラ自体に脳的な画像処理的なモジュールを持たせてしまうみたいな方向で進んでいる人はいる。こちらも面白い。日本でも浜松ホトニクスでそういうインテリジェント ビジョンセンサがcommercially availableになっているのを見つけた。これはexitに近いところにあると思ってる。
追記2:ひとつ開示しておくべき情報があった。当ラボでは、マウスの眼球運動をvideo-oculographyによって240Hzで記録するという仕事があって("PC-based high-speed video-oculography for measuring rapid eye movements in mice")、カメラについてとかいろいろ情報はもらってます。


お勧めエントリ


月別過去ログ