アマゾンの3D機能「Dynamic Perspective」ってどんな仕組み?

3Dに見せてるだけじゃない。

アマゾンのFire Phoneに搭載された3Dエフェクト機能、Dynamic Perspectiveはまるで魔法みたいです。端末の画面を見ながら動かすと、あたかもFire Phoneがこっちも見つめてるかのように表示を変えてくるんです。でもその秘密は黒魔術とかじゃなく、れっきとしたカメラ技術なんです。一体どんな仕組みなんでしょうか?

Dynamic Perspectiveのコアになってるのは顔認識・トラッキング技術で、スマートフォンやコンパクトデジカメには前から入ってるものです。カメラを向けると人の顔部分に四角形が表示されて自動でフォーカスされる、あれです。

アマゾンが使っている顔認識機能は、既に普及していた技術をより洗練されたレヴェルに高めたもの。顔認識技術をオートフォーカスに使うのではなく、顔の位置と動きをものすごく細かく正確にトラッキングすることで、スマートフォンとしてのいろいろな動作にも役立てているんです。

一番それっぽく華やかな使い方は、この記事のトップ画像みたいにFire Phoneや顔を動かすと地図とか壁紙とか表示されてるものが連動して3Dに見えるってものです。グーグルも、こんなエフェクトをゲームの中で使えるように専用エンジンを作ったりしています。でもFire Phoneでは単に見た目を3Dにするだけじゃありません。端末や顔のフリックとか傾きを変えるだけページをスクロールさせたり、情報の設定を表示できるんです。

Dynamic Perspectiveを実現するには、ユーザーの顔をきっちり捉え続ける必要があります。そのためFire Phoneには専用のカメラ4つが搭載され、頭の位置を正確に細かく捉えていきます。ジェフ・ベゾスCEOは例として「毎秒60回」と言ってましたが、とにかくそんな細かさです。

Dynamic Perspective用のカメラは視野角120度で、もうひとつ搭載されている前面カメラの72度と比べるとかなり広いです。ベゾス氏によれば、Dynamic Perspectiveを実現するには広い視野角で広範囲の動きをトラックさせることが不可欠だったんです。

アマゾンの3D機能「Dynamic Perspective」ってどんな仕組み? 1

Fire Phoneのカメラは中心から見た頭の相対位置をX、Y、Zの座標で捉えていて、左右に対する頭の角度も見ています。だから頭の動きの大きさと速さによって、エフェクトが微妙に変わったり、まったく違うものになったりします。

頭の位置を3次元でとらえるため、Fire Phoneでは2つのカメラが必要になっています。これは、動物の目が2つあることでモノを3次元で見られる仕組みと同じです。Fire Phoneには全部で4つ、各コーナーにカメラがあるのですが、それはユーザーの電話の持ち方がアプリや場面によって違うからです。なので4つのカメラのうちどれとどれを使うと1番うまく測定できるかを判定するアルゴリズムも内蔵されています。

アマゾンの3D機能「Dynamic Perspective」ってどんな仕組み? 2

さらに3D機能を暗い場所でも使えるようにするため、各カメラにはそれぞれ赤外線LEDが入っています。

ハードウェアだけじゃなく、Dynamic Perspectiveの裏にはアマゾンいわく何年もかけて作った数百万件の顔のデータベースもあります。その巨大データベースがあることでいろんなタイプの顔を正確に認識できて、誤認識を減らせています。たとえばFire Phoneでは、逆光のときでも帽子をかぶっていても顔を認識できます。また逆に顔っぽく見えるけど本物の顔じゃないもの、たとえばポスターに映ったロックスターの顔の画像には反応しません。

ユニークな技術ではありますが、実際使ったときにギミック以上の意味があるかどうかは謎です。ハンズオンしてみましたが、傾きでスクロールしたりフリックでメニューを表示させたりするのが本当に便利なのかどうかまだ確信が持てませんでした。でもとにかく、言われた通りにちゃんと動いてはいます

でもこの技術はまだ生まれたばかりです。アマゾンのDynamic Perspective用SDKがあるので、サードパーティのデヴェロッパーもこの機能を使用可能。ショートカットジェスチャーもいくつかあります。

SDKによって他のデヴェロッパーがアマゾンとは違うDynamic Perspectiveの新たな使い方を開発できるかどうかはまだわかりません。でも誰かが目からウロコの使い道を生み出して、「これなしじゃ生きられない」みたいなものが出てくるのを期待したいです。

Mario Aguilar - Gizmodo US[原文

(miho)