長いトンネルの先に
ARの歴史は古く、そのアイデアは「オズの魔法使い」などで知られるライマン・フランク・ボーム氏が1901年に考案した「キャラクター・マーカー」という電子デバイスにまで遡ることができると言われています。仮想現実という名前が一般化し、研究論文の発表が増え始めたのは1990年代。この頃を過ぎると大学の研究機関や軍事産業、航空や自動車の製造産業などで使われ始めます。
AR技術が一般的に導入されるようになった事例としては、2007年に発売されたPS(プレイステーション)3向けソフト「THE EYE OF JUDGMENT」が有名です。このゲームでは、トレーディングカードに「サイバーコード」と呼ばれる2次元バーコードが印刷されており、これをPS3に接続された専用のカメラで読み取ることでテレビ画面に映ったカードの実写映像上に3Dキャラクターを出現させていました。
この方法はカメラを使ってバーコードやQRコードなどを読み込むことで「画面上に何を表示すれば良いのか」という情報を得ることができるため、シンプルかつほとんど既存のテクノロジーだけで実現できるというメリットがありました。そのため現在においてもスタンダードな手法であり、街中の広告などで多く使われるなどARの普及に大きく貢献することとなりました。
さらにこのコードは画面上のどこに情報を表示すればよいのかを示す「マーカー」としても使うことができます。特に3Dのキャラクターを表示させるときなどにはこのマーカーを配置し、その距離で奥行きを計算したりマーカー図形の歪みから視野角を計算して、現実の立体空間により自然な形でフィットするように補正するといった工夫するための補助機能として利用されます。
マーカーを使ったARは精度の向上が見込めるものの、あらかじめマーカーを配置しておかなければいけないという制約があります。これを解消する方法として、次に期待されたのがスマートフォンに組み込まれたセンサの活用です。iPhone向けのアプリとして日本では2009年にリリースされた「セカイカメラ」が最初期のものとして有名でしょう。
セカイカメラでは、デバイスに内蔵されるGPS(Global Positioning System:全地球測位システム)やコンパスなどから得た位置と方向の情報を利用して、カメラを通じて覗く世界に「エアタグ」と呼ばれる情報を書き込んでセカイカメラのユーザ間で共有することができ、まさに拡張現実らしい体験をいち早く提供したことで話題になりました。
これによってマーカーを必要とせずにARを実現することが可能になりましたが、電波状況によってはGPSによる位置情報の精度にはバラつきが発生します。また、圏外になってしまうとデータが取得できないといった弱点もあり、こちらもキラーアプリと呼べるほどのコンテンツが出てきませんでした。結局どちらも一長一短で、決め手を欠いていたのがARのこれまでだったのです。
普及のきっかけとなったCyberCode
「THE EYE OF JUD GMENT」で使用されているCyberCodeは、90年代にソニーCSLで研究されていた二次元バーコードを使ったAR技術。このノウハウがマーカー技術として広く普及するきっかけとなりました。【URL】http://www.jp.playstation.com/software/title/bcjs30007.html
始まった大きな進化
しかし、今この状況が大きく変わろうとしています。スマートフォンで使われているカメラは今や映画の素材に使われることがあるほど、高精細な撮影ができるようになりました。また、デバイスの中で使われているCPUのパフォーマンスも大きく向上し、ML技術を使った画像解析もリアルタイムに処理が可能になりました。
iOS 11で使われているARKitはこういったハードウェアの性能向上の恩恵を受け、デバイスに内蔵されているモーションセンサとカメラでリアルタイムに撮影されている画像から認識(解析)したデータを組み合わせてARを実現しています。
特徴的なのは、カメラの中に写っている画像からオブジェクト(物体)を認識しながらそれが「どう動いたか」を追跡することでデバイス(自分)の位置を相対的に割り出すという手法をとっていることです。そして、この情報を元にAR空間に配置した仮想オブジェクトの位置を特定しています。
これによってマーカーがなくても配置されたオブジェクトはほとんどずれることがなく、カメラを回り込むように動かしても正確に3Dを描画します。空間内の照明の明るさを推測する機能も備わっているため、陰影なども実際の環境になじむようにライティング処理を施すことも可能です。
さらにARkitはカメラで捉えた画像の中から平面検出を行います。これは床やテーブルといった平面(水平面)を検出する機能で、これを使うことで「テーブルの面より大きなものは置けない」とか「テーブルの端を超えたら床に落ちる」といった自然の摂理に従った現実的なARも作り出すことができるようになっています。
このようにARKitは単に従来のARに必要な機能を「マーカーレス」で実現するだけでなく、より品質が高いコンテンツを提供するべくパワフルな特徴をも持ち合わせています。その点でも次世代のARコンテンツ制作に欠かせない存在になるでしょう。
性能だけが優劣ではない
このマーカーレスのテクノロジーは従来であれば、距離センサや複数のカメラを使ったりといった限られたハードウェアでしか実現できませんでしたが、AR
KitはApple A9以降を搭載したデバイス(iPhoneでは6s、iPadではPro)で利用できます。
同様のアプローチを持つ「Vuforia」や「Kudan」といったAR対応フレームワークも出てきていますが、ARKitはiOS専用でなおかつシステムに組み込まれて標準で提供されるため、ハードウェアに対する負荷も低くこれも以前の機種でもアプリも動作するのです。さらにARKitは「ユニティ(Unity)」や「アンリアル・エンジン(Unreal Engine)」といった業界標準の3Dエンジンのサポートを受けているため、これらのプラットフォームに慣れている開発者が新規に参入しやすいといった背景もあります。
多角的に見てもその素性の良さは折り紙つきで、作る側も、使う側も始めるハードルが低いのは大きな魅力でしょう。アップルが満を持して世に送り出してきたフレームワークであることがよくわかりますし、すでにARKitを利用したアプリが続々と登場していることもそれを裏づけています。
ARKitによる位置測定
ARKitはカメラの中にあるオブジェクトの位置の変化に基づいて、相対的に自分の位置を割り出します。測定は6DoF(自由度)で行われており、この精度の高さが仮想オブジェクトのずれの少なさのカギになります。