これは位置トラッキング革命だ Oculus創業者が手がける新システムがVRの未来を変える!?
ユーザーのいる場所を測定して、CGの世界に反映してくれる「位置トラッキング」は、よりよいVR体験のためには欠かせない要素だ。例えば、バーチャル世界で興味のあるものに頭を近づけるだけで拡大表示してくれたり、飛んでくるものを体で避けたりといった自然な操作を実現してくれる。
一方で、精度が低いと「あっ、今トラッキングがズレた」と体験者に気づかれてしまい、「これはバーチャルの世界なんだ」と興ざめして魔法が解けてしまう。より高精度な位置トラッキングは、今後のVR業界で重要性を増していくはずだ。
そんな折、「ものすごいトラッキングシステムがある」と、以前、The Voidの記事を寄稿していただいた台湾在住で電子機器の動向に詳しいEjiさんより連絡があった。聞けば、Oculus VRの共同創業者の一人が開発しているとのこと。いったいどんな製品なのか、詳細に解説いただいた。
*本記事は米VR専門サイト「Road to VR」が3月8日に公開した「Former Oculus VP of Engineering Demonstrates Long Range VR Tracking System」の掘り下げ記事となります。英語ですが一部引用と追記、補足などがありますので、事前に読んでおくことをオススメします。
Viveのトラッキングは優秀だが……
位置トラッキングの分野では最近、HTC Viveのおかげで、レーザー測定が熱くなっている。
ヘッドマウントディスプレーなどの機器にカメラやセンサーをつけて、周囲の測定物を検出して相対の動きを取る「Inside-out」方式は、比較的自由に動けるため研究では相変わらず本命視されているが、今の主流は、Oculus RiftやViveが採用する外部にカメラを置いて機器の位置を測定する「Outside-in」方式だ。
ただし、同じOutside-in方式でも使い勝手は微妙に異なる。例えばRiftでは赤外線カメラを使い、HMD上に実装されたLEDの明滅を撮影して、PC側が画像分析を通じて位置を検出している。
しかし、今のところ以下のような制限が挙げられる。
1. カメラの解像度は、そのまま画面上で赤外線LEDを識別可能な距離を制限する。高解像度化すれば距離も伸びるが、データ容量や分析するための処理負荷も高くなる。
2. カメラのカバー範囲は魚眼で広くできるが、角度によって使える精度が低くなる。
3. 頭部はLEDパターンで後頭部まで識別可能だが、肢体を識別するためには両側もカメラ視角でカバーすることが望ましく、この場合高帯域のUSBケーブルでホストPCにつなげる高解像度カメラは苦しい。
一方、Viveは「Lighthouse」という、一定間隔でレーザーをベースステーションから発射し、HMD側の受光器で受光時間や各点受光の角度、時間差から逆算して位置を割り出す方式を採用している。
カメラの性能は今後も大きく進化するため、コストの優位性がいつまで続くかはわからないが、現状、この方式では画像処理を使わずに行列演算だけで解決できるため、処理負荷をかなり節約することが可能だ。
今回の記事の主役であるOculusの共同創業者の一人で、前ハード総括責任者であるJack Mccauley(@mccauleylabs)さんいわく、Viveのトラッキングシステムは「非常に手強い(Tracking system on Vive is hard to beat.)」もので、発明者であるAlan Yatesさん(@vk2zay)に大いなる敬意を払っているという。
だが、好敵手の存在はお互いを高め合う要素で、ネット上で見ているだけでもMccauleyさんの闘志が燃え上がっているのが伝わってくる。Mccauleyさんは2015年10月頃から新しいトラッキングシステムの開発に取り組み始め、3月頃にRoad to VRに連絡を取って独占取材をさせた。
・Oculus Co-founder Jack McCauley’s Next Challenge: The Perfect Head-Tracker for VR(IEEE SPECTRUM)
・Exclusive: Former Oculus VP of Engineering Demonstrates Long Range VR Tracking System
ポイントとなるのは、「MEMS」(メムス)技術をベースにしているということ。MEMSは、Micro Electro Mechanical Systemsの略で、その名の通り非常に小型な電気機械システムだ。例えば、インクジェットプリンターのノズルや、スマートフォンのジャイロセンサーといったものに使われている。
Mccauleyさんがこの新しいトラッキングシステムを明らかにしたのは、MEMSとセンサーの国際会議だったようだ。完璧なヘッドトラッキングに到達するために、必要な要件は何か。Mccauleyさんは「(60Hzより)高いリフレッシュレートと高いフレームレートだけでは、モーション酔いを解決できない。あれではVRシステムに無駄な演算コストを加えるだけ」と語っている。
先の記事より引用。Photo: MEMS Industry Group
前述のようにRiftのようなカメラベースのアプローチは、解像度という原理上回避できない制限があって、分析のために画像の解像度を高めると処理負荷も増えてしまう。製品版のRiftは、DK2(第2世代開発キット)時代よりも高性能な最近のCPUがもとめられる。といっても、低遅延をキーブするのに高速で並列化できないため、全体ではCPUの使用率は低くなってしまうが。
一方で、Viveのアプローチは「フレームバッファもない、画像処理もない、時間差を計算するだけ」なので比較的優秀だが、トラッキングシステムが90Hzで動作しているというのは制約になる。
Mccauleyさんが宣言したのは「1kHzで走って欲しい」ということ。より細かい間隔で動きをトラッキングできれば、トラッキングのスムーズさは段違いになる。Viveのベースステーションには2基のモーターが入っていて、レーザーで垂直/水平方向に部屋をスキャンしているが、モーターでは1kHzを実現するのは不可能。
そこで白羽の矢が立ったのが、レーザープリンターやピコプロジェクターで使われている「MEMSミラー」だ。MEMSミラーでレーザーを照射し、HMDなどにつけたいくつかのマーカーを追うようにすることで、より正確に位置を追従できる。「もしあなたの会社がMEMSに関わって、VR関連に手を出してないなら、今はいいタイミングだよ」と、Mccauleyさん。以上は、半年ほど前になる2015年10月の話だ。
100m先でも直射日光下でもしつこくトラッキング
その後、MccauleyさんはTwitterにて、位置トラッキングにおけるMEMSミラーの有効性を検証したり、プロトタイプを実装したりする様子を披露している。彼のツイートを眺めるのは、私の楽しみのひとつになった。
#roadtovr #vr vid https://t.co/1NLvOUTsQn
— mccauleylabs (@mccauleylabs) November 4, 2015
採用したのは、Mirrorcle社のMEMSミラーデバイス。
#roadtovr #oculus #vr #htcvive MEMS mirror Lighthouse device showing zero error – yes it will work!!! pic.twitter.com/Z92OA6kU2B
— mccauleylabs (@mccauleylabs) January 8, 2016
先に試したのは大型のMEMSミラーだったが、これはあまり速度が速くないはず。
そして2016年3月、Road to VRの記事が掲載される。
デモしたのは「再帰性反射材」(入射角度に光を戻す反射材料)をマーカーとしてつけたデバイスをトラッキングをする方式だった。Mccauleyさんの屋内テストにおいても、かなりの長距離で有効性が確認できたが、さらにMEMSデバイスの生産元、Mirrorcle社のデモ動画は圧巻モノだ。
Mirrorcleのデモ動画。
MEMSミラーの角度を電圧でコントロールして、レーザーの入射と反射で感知する。
5cmの再帰性反射材を100mまでトラッキング可能。
えっ、あそこまで届くのか。
どんな距離でも精度はキープ。75mの場合、誤差は1cm以下。
何かに遮断されない限りトラッキングは続き、遮断されると近い目標へ瞬時に飛びつく。
屋外で日光直射にさらされても……
大丈夫!!
微弱なLEDレーザーでも、必要以上に遠距離まで届く。プロトタイプのFOVはXY軸20度だが、レンズとミラーの組み合わせでだいぶ広げられるはず。これはもう完全に工業用レベルだ。精度はMEMSミラーのスペック次第なので、Mirrorcleのウェブサイト(PDF)でチェックすると……。
・軸精度は最低14bit(1万6384)確保
・チルトレゾリューションは0.6ミリ度、もしくは10マイクロラジアン
・大型のミラーでもレスポンスタイムは100マイクロ秒以下
えっ(引く)
ただ、Mccauleyさんが見せたデモ動画は、さまざまな疑問を呼び起こす。よくあるのは「ひとつのデバイスしかトラッキングできない?」ということ。ただ、その後のツイートで徐々に全貌が見えてきた。
#htcvive #oculus tincy tiny 2 axis MTS mirror used for raster scanning at 40000 kHz pic.twitter.com/EhFipKLxyA
— mccauleylabs (@mccauleylabs) March 19, 2016
40MHz=4万KHzでスキャンする場合、1KHzのトラッキングループは4万点(!)のトラッキングが可能。実装は小型で高速のミラーを選ぶ。
Ball in flight on tracker pic.twitter.com/7jpvVNl3Uy
— mccauleylabs (@mccauleylabs) March 21, 2016
トラッカーが遮断されて再トラックするまでの時間差は、距離が近ければ走査範囲が狭いため、実用範囲内でかなり速く戻れる。
もっともその何かに遮断された場合の問題も、複数の点を追うことで抑えられる。
12 feet and 16 feet mems scanner full resolution pic.twitter.com/CLANKDtakd
— mccauleylabs (@mccauleylabs) April 3, 2016
デバイスについた複数点でトラッキングするため、点の動きを補正しながら姿勢と緻密な距離が推測できる。同時に複数点からの推定は誤差を減らし、遮断へのロバストネス(堅牢性)も保ってくれる。
頭部だけでなく、肢体などもトラッキングしたい場合、点を大量に追加すればいい。なにせプロトタイプでも1KHzの精度で4万点使えるのだ。そしてレーザーのマーカーとなる受光ユニットもViveのLighthouseに比べるとかなり小さいので、手袋のような衣類でも多く追加できる。
Micro mirrors many can be positioned in a room space and driven from a small battery with radio pic.twitter.com/xt48f41QUY
— mccauleylabs (@mccauleylabs) April 23, 2016
MEMSデバイスはそれなりに電圧が必要だが、消費電力は数mwクラスだ。無線を含めても必要なバッテリーサイズは小さい。
マーカー追加が安価で高精度、しかも低消費電力。つまりモバイル機器との相性がいいわけだ。ハコスコさーん!
Prototype micro scanning lighthouse pic.twitter.com/CMZ0yFudxX
— mccauleylabs (@mccauleylabs) April 23, 2016
これでプロトタイプが完成。日付けは2016年4月23日。この日、またひとつイノベーションが始まった。
Mccauleyさんは4月末に中国に飛んだらしく、このタイミングで生産工場まで抑えたに違いない。ということは年末にはプロダクトを出せそうだ。
なお、日本にでも東京大学の石川・奥研究室がパン・チルトミラーでカメラを高速に動かすトラッキングシステムを2年前につくっている。
動き回る物体を常に画像中心にとらえるカメラシステム。
日本国内でも富士通研究所を始め、ほかに広角レーザーLIDAR(レーザー画像検出・測距)を開発できる会社がいくつかあるので、VR向けにトコトンやってほしい!
繰り返しになるが、Outside-in方式の測定は原点固定のため、高精度、低消費電力を実現できる。
確かにモバイル機器単体で完結させるためには、Inside-outの方が向いている。Googleの「Project Tango」やMicrosoftの「Hololens」、最近でいえば、Oculus VRのCTO、ジョン・カーマック氏がもGearVRのステレオカメラベースのトラッキングシステムを近日中出すとツイートした。
All of the inside-out position tracking work being done at Oculus is targeting dedicated cameras, not using the built in cell phone camera.
— John Carmack (@ID_AA_Carmack) May 4, 2016
ただ、高精度を実現するために、高いカメラ性能と専用イメージプロセッサーが必要なわけで、総合コストから考えると本当に優位性あるのかは少々疑問だ。
意見の違いでかつての友人たちと別の道に進んだMccauleyさんだが、時々、Twitter上でOculusに向けて「@」を飛ばしている。もしかしたら「Oculusのオリジナル4人」がこれからも協力する機会があるかもしれない。
ぜひ今後も、MEMSミラーベースのマイクロスキャントラッキングシステムの動向に注目してほしい。
(Text by Eji)
●関連リンク
・Jack Mccauley氏(Twitter)