指トラッキング(Hand Tracking, Finger Tracking)概観

指をトラッキングしたい!!

手指は人間の身体の中で最も器用に扱える部位であり、それをトラッキングすることは、仮想環境でのインタラクションや機器への様々な非接触ジェスチャー入力など様々に役立ちます。

ペンフィールドの脳地図。感覚野でも運動野でも手や指が大きな部分を占めている。

自分のVR・HCIに関する研究でも指トラを用いたい場面が多くあります。しかしながら、指トラの手法はカメラ式のものやグローブ式のもの、筋電を使うものまで様々であり、またデバイスの選択肢も数多くあるので、初心者にとってはどの手法・デバイスを使うのが良いのか迷ってしまうことも多いでしょう。

 

そこで、本記事では指トラッキングの様々な手法・デバイスについて整理します。

この記事は私の研究室とは関係がない内容であり、あくまで個人的な意見や情報を提供するものです。また、記事中には自分でも検討中の項目が多く含まれるため、間違いが存在する可能性があります。

 

 

カメラトラッキング

恐らく最も手軽に手指をトラッキングできるのがこの手法です。この手法では、環境や身体に取り付けられたカメラの映像を用いて、指の姿勢を推定します。指に何も付けなくて良いため、日常の動作を阻害しない(拘束性が低い)ことが嬉しいです。また、値段も安い傾向にあります。

 

先ずはHMDにマウントされているカメラを用いた手法を紹介します。Meat Quest2,3やVarjo、Vive Pro等では、HMD前面に付けられたカメラを用いて指トラッキングを行うことが出来ます。ハンドトラッキングの精度は、ゲームなどには問題がありませんが、手の角度によってはズレが存在したり薬指や小指が大きくブレたりすることがあったりします。また、カメラの範囲外は当然ながらトラッキング出来ません。

 

VRに限らずより一般的に用いられるトラッキングバイスとして、Ultraleapが存在します。搭載された赤外線(Infrared, IR)LEDから出した光で手を照らし、赤外線カメラで撮っています。LeapMotionというデバイスの後継機であり、とても簡単にハンドトラッキングができ、また外部との連携も簡単なことが特徴です。

(世代によって結構形が違う)

Ultraleapは机の上などにセットする他に、HMDの前面にマウントすることもできます。

Ultraleap Hand Tracking for Pico Neo 3 Pro | bestware

机の上にセットした場合のトラッキング性能は結構良く、機械学習の学習データだったり新たなトラッキング手法を提案した時のベースラインとして使われていたりもします。HMDにマウントした場合の性能もそこそこ良く、Quest系に備え付けのカメラによるトラッキング結果よりも手の重なりに強く、また指の曲がりも精度良く取れている気がします。しかしながら、それでも尚角度によっては指にズレが生じたり、視界の外はトラッキングできないという問題があります。なお、前述のVarjoという高額なHMDにはUltraleapと同じハンドトラッキングプラットフォームが搭載されています。

 

MediaPipeなど、画像処理により通常のwebカメラの映像などから手の姿勢を推定するライブラリも存在します。2DのVtuberなどの実装に使われている印象です。カメラを一台しか使っていないので精度はそこそこです。

https://developers.google.com/mediapipe/solutions/vision/hand_landmarker

 

 

FingerTrak(2020)やDigits(2012)や石川グループ研究室のAnywhere Surface Touch(2014)など、手首に(IR)カメラを装着して指の動きをトラッキングしようとするプロジェクトも存在します。これらの手法は手の位置を自由に動かすことができ、トラッキングロストが少ないという利点を持ちます。期待できるユースケースとして、キーボードから解放された入力デバイスとして用いることが考えられます。しかしながら、まだこのような方式を採用したジェスチャ入力デバイスは私の知る限り発売されていません。使いたいのに......

youtu.be

youtu.be

光学式トラッキング

この手法では、指に何らかのマーカーを付けてトラッキングを行います。反射マーカー

例えばOptiTrackはよく全身トラッキングやオブジェクトトラッキングの為に用いられています。このような反射マーカーをスーツやオブジェクトに装着するもので任意のものをトラッキングでき、勿論指もトラッキングすることができます。他にはViconという製品もあります。

自分が使ったことはないのですが、トラッキング結果は結構精度よく時間分解能が高いと聞きます。例えばOptitrackをピアノの指のトラッキングに用いた研究が存在します。

https://mocap.jp/optitrack/finger/

しかしながら、光学式トラッキング手法はマーカーのオクルージョンに弱く、またマーカーを装着する必要があり拘束性が高く、更にはトラッキングカメラも環境側に存在しないといけないという欠点があります。上のピアノの研究はカメラの配置などを結構頑張ってると思います。

グローブトラッキング

この手法では指に色々なセンサが入ったグローブを付けて指をトラッキングします。磁気センサや圧力センサ、慣性センサなど、様々な種類のセンサが用いられています。

 

Quantum Metagloves | Manus グローブ型デバイス | 株式会社アスク

自分が使ったことがあるものの中では、Manus Quantum Metagloveは磁器センサを用いてトラッキングを行っています。指の先端に付けた磁力を持つチップによる磁界の変化を、手の甲側の装置で観測することで姿勢を推定します。精度はUltraleapよりも高く、指の姿勢のミリ単位での変化や、第三関節を曲げずに第二関節だけを曲げるような動作などを正確に取得することが出来ます。しかし、磁気に擾乱がある環境(PCの近く10cm以内など)では精度がちょっとだけ低下します(他の慣性式グローブや磁気式グローブはよりは良い印象です)。また、グローブでのトラッキングに共通する課題として、拘束性が高く指の動作を阻害するという点が存在します。例えばManus Quantumグローブでは指の先端のチップ同士が触れあうために手を握りこみ辛くなっています。

 

Perception Neuronは、右の慣性センサーを指先や手の甲のスリーブにはめ込んで動作させます。センサーはジャイロス、加速度、磁力を計測しており、それの組み合わせから姿勢が計算されます。指先に限った測定性能は、オクルージョンこそ発生しないものの、姿勢の精度自体はUltraleapと同程度だった印象です。Perception Neuronは全身トラッキングに用いますが、それの手部分だけを取り出したようなものがNoitom Hi5グローブになります。

 

StretchSenceは静電容量式の伸縮センサを用いており、手に良くフィットします。SIGGRAPHの会場で体験したのですが、結構精度も良く、第二関節の曲げまで測定できた印象です(Manus Quantumよりは精度低かった気もする)。オクルージョンとか磁気による干渉を受けないと公式サイトには書いてありました。

 

筋電トラッキング

筋電センサを用いて指先の動きを取得しようとする動きも存在するようです。

物を把持した状態における筋電センサを用いた ハンドジェスチャ入力の問題抽出と新手法の提案 より引用

電極の数が多くなるほど識別できるジェスチャ入力の数は増えるが、ウェアラブル性が薄くなるらしいです。ジェスチャを識別する研究については沢山あるようだが、指の一本一本の動きを正確に検出しようとする研究は簡単には見つからりませんでした。筋電によって動かされる義手も基本的にはジェスチャ入力、すなわちスイッチによるアニメーションの再生であるようです。

Unlimited Handでは筋電から指の動きのトラッキングをしているようですが、自由度は指の開閉しかないように見えます。

youtu.be

 

比較

以上のトラッキング手法を比較します。

個人的には、VR実験やHCI実験には基本的にHMD据え付けのカメラやUltraLeapで良く、小指や薬指や第二関節の運動を正確に取得したいならOptiTrackやManus Quantiumを使うのかなと考えます。また、これらのトラッキング精度と手指の非拘束性を両立したものは現状無さそうです。

 

よい指トラッキングライフを(?)

 

//TODO(その内追記する)

・手首の回転は取れるか

・筋電トラッキングの他の例(喉など)