【誰でも分かる】AR(拡張現実)の仕組み・技術

あなたはAR(拡張現実)の仕組みや、技術に興味がお有りですか?

「スマホのカメラで映すと、画面の中からキャラクターが飛び出してくる技術でしょう?」と、ピンときた方も居るのではないでしょうか。

しかし、「ARがどういう仕組みで出来ているのかわからない」というような疑問を抱えている方も多いかと思います。

そこで今回は、ARとはどういう仕組みの技術なのかを解説します。

ARの定義や『ポケモンGO』をはじめとする身近な事例はもちろん、カメラの動画像を使うものから位置情報を使用するものまで、仕組みの裏側をご紹介します。

この記事を読めば、あなたはARの仕組みや技術の全体像を把握できるでしょう。

TECH::NOTE(テックノート)は、未経験から最先端のテクノロジー人材へTECH::CAMP(テックキャンプ)、10週間でエンジニア転職実現までサポートを行うTECH::EXPERT(テックエキスパート)、これらのサービスを運営する株式会社divのオウンドメディアです。

AR(拡張現実)とは?

出典:写真AC

ARはAugmented Realityの略で、「拡張現実」を意味する言葉です。

「拡張現実」という言葉のとおり、ARは「現実の世界を広げる」もので、現実の空間に情報や絵を加える技術です。

近年話題のVRが、3DCGや360度カメラなど様々な方法で制作された「仮想現実」に受け手が没入するのに対し、ARは現実世界に別の情報を重ねて表示し利用することが特徴です。

スマートフォンのカメラで映した映像や写真に、GPSを利用したデータやキャラクターのCGを重なるようにして表示するものが、事例としては一般的です。

ARに関連する身近な事例の一つに、ニンテンドー3DSのARカードが挙げられます。

 

ARカード
出典:ニンテンドーキッズスペース「ARカードからキャラクターが飛び出すのはどうして?」

ARカードはニンテンドー3DSシリーズ本体の購入時に付属する6枚組のカードであり、3DSにプリインストールされている『ARゲームズ』というソフトを使うと、カメラ機能を使って遊ぶことが出来ます。

ARカードを任意の場所に設置し、『ARゲームズ』でカードを映すとマリオをはじめとするキャラクターが本当にカメラに映った風景の中に居るようにCGが現れます。

 

pokemongo
出典:『Pokémon GO』公式サイト

『ポケモンGO』も、ARモードを搭載したスマートフォン位置情報ゲームアプリとして世界的に人気を呼んでいます。

『ポケモンGO』のARモードは、ポケモンを捕獲する場面やジムバトルで使用可能です。画面右上のARボタンを押すことで、ARモードのオンオフを切り替えることが出来ます。

オンにすると、実空間を背景にポケモンを捕まえたり、6匹で一組のパーティーを組み、ジムバトルを行うことが出来ます。

出典:Pokémon GO – Get Up and Go!

また現実の世界の地図に、ポケストップの場所やポケモンの出現情報を付加している点も同作のARの特徴です。

 

ARで必要な2大情報

出典:写真AC

ARは現在、スマートフォン向けのアプリ等で数多く活用されています。

ARアプリで、現実世界に画像や文字を重ねたり、現在位置に連動した挙動を実現するためには「周囲環境」「現在位置」の2大情報の取得が重要です。

 

周囲環境

ARを用いて実空間に別の動画や画像、CG等を重ねるにあたって欠かせないのが位置合わせです。

現実の世界に画像や現在位置に応じた情報を違和感なく重ねるためには、精密な位置認識が必要となります。

現在位置

ARアプリでは、スマートフォンなど端末の現在位置に応じて画面に情報を表示させたり、アプリの動作を変えたりすることが可能です。

惜しまれながらも2014年1月22日に全サービスが終了した、頓智ドット株式会社(※現在は株式会社tabに社名変更)提供の『セカイカメラ』は、現在位置を活用したARアプリの代表例です。

『セカイカメラ』はiOS、Android上で動作し、ユーザーは端末に搭載されたカメラを通じて表示された実空間に、エアタグと呼ばれるメッセージや画像を投稿することが可能でした。

CEATEC2009 セカイカメラ

 

その先見性は、いまでも世界的に高く評価されています。

「(略)要は誰も本当は検索なんてしたくないんじゃないかと。それに検索は自分の知っている物事を調べるわけだから、未知の世界の発見には繋がらないじゃない。そうした未知との繋がりをタグで表現するのがセカイカメラのコンセプトで、キーワードは『タギングザワールド』。要は、世の中の全てのものにタグをつけて、関連性のあるものを結びつけてしまおうというものです。頓智ドットという新しい会社を作って、2007年から開発に着手して、世界的リリースが2009年。ちょうどiPhoneが出てやりやすくなった部分もありますが、全世界で400万ダウンロードされて、その頃は世界中から投資のオファーが来ましたね。」
――出典:セカイカメラの井口尊仁氏インタビュー「日本人を一番ディスっているのが日本人」(デイリーニュースオンライン)

エアタグの表示にあたって、重要となるのがユーザーの位置情報の取得です。

『セカイカメラ』ではスマホ内蔵のGPSと電子コンパスを使い、現在位置とスマホのカメラの向きを認識し、その方角に貼付されたエアタグを画面上に重ねて表示していました。

 

ARの仕組みは2タイプある

出典:写真AC

大きく分けるとARには、GPSなどの位置情報に紐付けて情報を表示するロケーションベース型と、画像認識や空間認識に関する技術を使用するビジョンベース型の2タイプが存在します。

この2タイプの技術は互いに干渉しないため、併用することが出来ます。併用により、より質の高いARアプリを制作することが可能です。

 

ビジョンベース型

ビジョンベース型のARは、画像認識型とも呼ばれます。

画像認識空間認識に関する技術を利用して目前の環境を解析し、情報の提示を行うことが特徴です。

正方形などのARマーカーを端末のカメラに認識させ、情報を表示させるマーカー型のARがビジョンベース型の一般的な例です。

また特定のARマーカーを用いずに実空間に存在する物体や建造物、山といった環境そのものを認識し、情報を表示させるマーカーレス型と呼ばれる手法も存在します。

マーカーレス型もビジョンベース型のARの一タイプに分類されます。

 

ロケーションベース型

ロケーションベース型のARは、GPSなどで取得した位置情報に紐付けて情報を表示する手法を指します。

またGPSの位置情報に加えて、加速度センサーで端末の向きを測定したり、磁気センサーで傾きを取得することで、より精密に画面上のどの位置に情報を提示するかを決めています。

 

ビジョンベース型ARの仕組み

ビジョンベース型ARはマーカー型と、マーカーレス型の二パターンに分類することが出来ます。それぞれについて、仕組みをご紹介します。

 

マーカー型

マーカー型ARでは、マーカーと呼ばれる決まった形の図形を端末のカメラに認識させることで情報を表示させます。マーカーに採用される図形は正方形で、枠線が黒です。

黒枠でマーカーの検出を行い、枠の内側のパターンによってマーカーを判別します。黒枠内のパターンはカラー、もしくは白が使用できます。

マーカーのデザインに当たっては、点対称図形にならないように注意が必要です。
点対称の図形を使用すると、マーカーの向きを正しく認識することが出来なくなります。

マーカー型ARのアプリケーション開発に使用される代表的なソフトウェアは、ARToolKitです。

ARToolKitは奈良先端科学技術大学院大学の加藤博一教授によって開発されたC言語用のライブラリであり、最初のデモは1999年のSIGGRAPHで公開されました。

artoolkit
出典:ARToolKit.org

オープンソースであることから、NyARToolKitなど派生版のソフトウェアが次々登場していることもARToolKitの特徴です。

ARToolKitでマーカー型ARのマーカーを検出する際には、まずしきい値処理が行われます。カメラから得られる映像をしきい値処理することで、白黒画像に変換し、更に白黒を反転させています。

そして、枠線を削除して内側の領域を切り出し、切り出した四角形とパターンファイル(※枠の内側の領域のパターンをデータ化したもの)の値を比較し、一致率を算出することでマーカーが正しく検出されます。

 

画像合成にあたっては、しきい値処理によって取得したマーカーの輪郭とコーナー4点が検出されています。

輪郭抽出によって算出されたマーカーの座標系と、前もって決めておいた表示する画像や文字の座標系の二つを合わせることで、正確に位置合わせした状態でマーカーの上に情報が表示されます。

また一定量の細かい模様や特徴点を多く含む画像であれば、NFT(Natural Feature Tracking)を行うことで、平面の自然特徴点を取得し、風景写真やイラストをはじめ、自分の好きな画像をマーカーとして使用することが可能です。ARToolKitも、NFTトラッキングに対応しています。

 

出典:ARToolKitのNatural Feature Tracking (NFT) を試してみました。

NFTでは画像内の特徴点を識別することで、任意の画像をマーカーとして扱います。

一方、正方形の黒枠のマーカーを用いないという意味ではNFTはマーカーレス型に分類されることもあります。

ARカードを使うとこんなことができる
出典:ニンテンドーキッズスペース「ARカードからキャラクターが飛び出すのはどうして?」

マーカー型が採用されているARの事例としては、ニンテンドー3DSのARカードが挙げられます。

ARカードの表面にはマーカーとして、黒枠の内側にはてなボックスやマリオ、ゼルダなどがプリントされています。

 

マーカーレス型

マーカーレス型ARでは、現在撮影している実空間の机や窓の角といったコーナー点や特徴点をマーカー型ARの特徴点の代わりに用いて、その地形に合うように付加情報を表示します。

そのため、マーカーレス型ではリアルタイムに実空間の解析を行い、特徴点をトラッキングする必要があります。

リアルタイムの解析とマッピングが求められるマーカーレス型は、以前は計算コストの高さを理由に実用性が低いとされていました。

しかし、PTAMをはじめとするマーカーレス型の手法が確立したことで普及が進んでいます。

 

マーカーレス型ARの手法として主流なのが、PTAMSmartARの2つです。

出典:Parallel Tracking and Mapping for Small AR Workspaces (PTAM) – extra

PTAMとはParallel Tracking And Mappingの略で、動画像中における特徴点の追跡(トラッキング)と3D空間へのマッピングを指す手法です。

動画の場合は、一つ前のフレームと現在のフレームにおける特徴点の移動距離を手がかりに解析を進め、3D空間上にトラッキングした特徴点をマッピングし、環境を取り込みます。

出典:統合型 拡張現実感 技術 “SmartAR”

SmartARは、ソニーの物体認識技術と3D空間認識技術を一つに統合することで誕生したマーカーレス型ARの手法です。

高速のトラッキングに優れ、かつ独自に開発された高性能の画像処理エンジンによって、モバイル環境でも快適に動作することが特徴です。

マーカーレス型ARでは、深度センサー技術をはじめとする他の手法を併用することで認識精度を上げ、現実世界とCGをはじめとする付加情報をより違和感なく統合しているケースも少なくありません。

その代表例がMicrosoft Hololensです。

『ポケモンGO』のARモードではスマホのカメラに映した現実の背景に、ポケモンが本当にその場に居るかのように合成され、表示されます。

自分の部屋や駅といった実空間には(別途用意しない限りは)マーカーは存在しません。そのため、『ポケモンGO』はマーカーレス型ARに分類できます。

 

マーカーの有無によるメリット・デメリット

ビジョンベース型のARには、マーカーの有無によるメリットとデメリットが存在します。

マーカー型のメリットには、マーカーを設置した場所に正確に情報を表示することができることが挙げられます。

ARToolKitをはじめとするライブラリが充実しており、技術がしっかりと確立しているため、比較的取り組みやすいことも長所です。

一方、マーカーを紙にプリントするなどして用意しなくてはいけないことが難点です。

また、スペースの問題や「デザインに合わない」といった理由でマーカー設置が不可の場所では利用できないことが課題です。

マーカーレス型のメリットはマーカーを用意することなく、現実の建物や風景に付加情報を表示できることです。

マーカーの設置がスペースやデザイン上、難しい場合にもARを用いた情報の提示が可能です。一方、マーカーレス型のARは計算量が多く、安定性と精度に課題があります。

また制作には、空間認識や物体認識に関する専門的な知識が必要になることも多いのが難点です。特にARアプリの制作経験がない方にとっては、技術面のハードルが高い手法であると言えます。

 

ロケーションベース型ARの仕組み

出典:https://pixabay.com

ロケーションベース型ARは主にGPSから取得する位置情報に関連した、画像や文字といった付加情報を提示する手法です。

画像認識に基づくものではなく、実空間の場所に紐付いた手法であることが特徴です。

 

GPS型

GPS型のARアプリの開発では、位置情報に加えてデバイスの傾きや方位を端末内蔵の磁気センサーや加速度センサーを用いて検知することで、精密に3D空間内のターゲットを認識し、表示したい場所に付加情報を提示します。

ARアプリ開発用のSDKであるWikitudeはロケーションベース型とビジョンベース型の双方に対応しており、任意の手法のARアプリをAndroid・iOS・スマートグラス向けに開発することができます。

ingress
出典:Ingress

出典:Ingress – It’s Time To Recruit

ロケーションベース型ARの代表的な例としては『セカイカメラ』のほか、位置情報ゲーム『Ingress』、そして『ポケモンGO』が挙げられます。

『ポケモンGO』はマーカーレス型とロケーションベース型を組み合わせ、かつGPSの位置情報だけでなく、端末のセンサーを使用して周囲環境の情報を取得することでARアプリとしての完成度を一層高めています。

『ポケモンGO』のARモードではスマホに搭載されたジャイロセンサーを使い、地面の傾きなどの情報を正確に取得することで、実空間とポケモンを綺麗に合成しています。

機種によっては、スマートフォンにジャイロセンサーが搭載されていない場合があります。

ジャイロセンサー非搭載の機種では、周囲環境の情報の取得が困難なため『ポケモンGO』のARモードではエラーメッセージが表示され、画面にポケモンは出現しません。

 

AR技術2タイプの比較

出典:写真AC

ビジョンベース型とロケーションベース型には、それぞれ長所と短所があります。

ビジョンベース型は、画像認識技術を使用するため、商品のロゴやパッケージ、広告にAR技術をうまく使用することで訴求効果がアップすることが期待されます。

一方、ロケーションベース型は主に位置情報に根ざしていることから、ナビゲーションサービスや観光情報サービス、また『Ingeress』に代表される位置情報ゲームとの相性が良いと考えられます。

ARToolKitの開発者、加藤博一教授は2009年時点のインタビューで、マーカー型のARとそれ以外のものについて下のように語っています。

アプリケーションには,マーカーがある方がいいものと,ない方がいいものがあります。マーカーが目印になるときと,目障りになるときがあるからです。GPSや電子コンパスが使えないシーンも多いですから(関連記事),アプリケーションに応じて使い分ける,というのが答えになります。
出典:「ARToolKit」開発者が語る拡張現実の“現実”

 

マーカー型は、ARの王道であり長い歴史のある技術です。

一方、GPSの精度の向上やPC、スマートフォンなどの端末の性能の上昇によって、マーカーレス型やロケーションベース型も普及が日に日に進んでいます。

それぞれの長所、短所を正確に把握した上で利用シーンや目的に合わせ、適切な手法を採用することが重要です。

 

ビジョンベース型のメリット・デメリット

ビジョンベース型は、マーカーを置く場所を設定することで必要な位置に正確に付加情報を提示できることがメリットです。

位置情報が不要なため、GPSが届きづらい屋内や地下でも使用可能です。

また特にマーカー型は技術的に成熟しており、ライブラリが充実していることから、初心者の方にとって制作に取り組みやすいことが長所です。

一方で、画像認識技術を用いることから、マーカーの視認性が落ちる暗所では動作が不安定になりやすいことがデメリットです。

 

ロケーションベース型のメリット・デメリット

ロケーションベース型のメリットはマーカーが不要なため、屋外での利用が容易なことです。

暗所でも動作が安定するため、昼夜を問わずにコンテンツを提供可能です。また、マーカーの配置により周囲の景観や、対象物のデザイン性を損なうリスクが無いことも長所です。

GPSに加え、ジャイロセンサーや加速度センサーなど端末に搭載されているセンサーの値をもとにして多様なコンテンツを提供できることもロケーションベース型のメリットです。

デメリットとしては情報の提示に位置情報を用いることから、動作の精度がGPSにある程度依存することが挙げられます。

 

まとめ

Microsoft HoloLensの登場により、現実世界をCGや画像、文字情報によって拡張する技術に非常に大きな注目が集まっています。

例えばある米国のスタートアップ企業は、HoloLensで『ポケモンGO』をプレイするとどういう形で世界が見えるかをデモンストレーション用の動画として発表しています。

出典:Pokémon Go HoloLens Prototype by Koder (@trykoder)

現実世界をテクノロジーで拡張する試みの中核を担う技術が、ARであると言えるのではないでしょうか。

是非皆さん、ARアプリの開発に挑戦してみてください!

絶対に挫折しないテクノロジー体験会で
最新のプログラミングを学ぼう

プログラミング体験会

TECH::CAMP』のプログラミング体験会なら、Webや人工知能、VRといった最新テクノロジーを無料で学べます。教室で講師に質問し放題なので、全くの未経験からでも絶対に挫折せずにやり切れます。

  • 実際にプログラミングを触れる
  • 質問し放題なので、疑問点が即解消される
  • テクノロジーをなぜ学ぶべきなのか明確になる
  • 人工知能やVRなど他では学べないテクノロジーが学べる

まずは一度プログラミングに触れてみたい方は気軽にご参加ください。なお月に1000名以上が参加するため、予約はお早めをオススメしております。

プログラミング体験会を詳しく見る

Kazuto Seki Kazuto Seki
音楽ライターとしてエイベックス、ビクター、トイズファクトリー等に所属するアーティストの取材を担当。2016年に開催された『Bjork Digital』の取材経験から、VR×音楽に関心を抱く。2017年よりテクノロジーに関するライティングを開始し、TECH::NOTEにジョイン。猫とウサギを飼っています。
  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

  • カテゴリー
  • このエントリーをはてなブックマークに追加
    記事をシェア→