>>No1エンジニア養成プログラム テックキャンプ
ARの名前を聞いたことあるけれども、「ARとは何?」「ARで何ができるの?」「ARがいまいち分からない」という方も多いのではないでしょうか?そこで今回は、入門者向けにARの特徴や簡単な作り方をわかりやすく解説いたします。この記事を読むことでARの知識が身につき、その物凄さが理解できます。
この記事の目次 [閉じる]

ARの仕組み
出典:photo AC
開発していくにあたり、ARの仕組みを理解しましょう。
まずはAR・VR・MRの違いなどについて説明していきます。
AR=拡張現実とは?
ARとは「Augmented Reality(アグメンティッド リアリティー)」の略で、「Augmented」は「拡張された」という意味です。
人が知覚する現実環境をコンピュータにより拡張する技術、およびコンピュータにより拡張された現実環境そのものを指す言葉。
引用元:Wikipedia
つまり、ARは現実世界の情報に別の情報を拡張して表現しているものを指します。
無料キャリア相談!本日も予約受付中
徹底したサポート体制があるので、転職成功率は99%!※ 実際に受講した人の体験談はこちらから。
「今の仕事を続けて大丈夫だろうか」と不安なら、何でも相談できる無料カウンセリングに参加してみませんか?IT転職に特化したプロのカウンセラーが、中立な立場であなたの悩みを解決します。
ブログ読者特典でAmazonギフト券3000円分もプレゼント中!無理な勧誘は一切行いませんので、お気軽にどうぞ。※2016年9月1日〜2020年12月31日の累計実績。所定の学習および転職活動を履行された方に対する割合

VR・AR・MRの違い
AR以外にも「VR」や「MR」という似たようなものがあります。
VRとは?
VRとは「Virtual Reality」の略で、「仮想現実」といいます。
「Virtual」は「仮想の」という意味で、
現物・実物(オリジナル)ではないが機能としての本質は同じであるような環境を、ユーザの五感を含む感覚を刺激することにより理工学的に作り出す技術およびその体系。
引用元:Wikipedia
去年発売された、「Play Station VR」が有名で、まさに仮想の世界に没入することができます。
他にも「HTC Vive」や「Oculus Rift」というHMD(ヘッドマウントディスプレイ)というものがあり、Unityを使ってVR開発することが可能です。
MRとは?
MRとは「Mixed Reality」の略で、「複合現実」といいます。
「Mixed」はその名の通り、「複合された」という意味で、仮想世界に現実世界の情報を取り入れ、仮想世界と現実世界を複合させて表現することです。
仮想世界を作るVR、現実を拡張するAR、仮想世界と現実世界を複合させるMRとなっています。
AR活用事例
出典:photo AC
ARのゲームといえば、去年、ブームを巻き起こした「ポケモンGO」が有名です。
ほとんどの方がAR機能をOFFにしてしまっているかもしれませんが、現実世界にはいないはずのポケモンが現実世界に現れます。
他にも身近にあるARを使ったサービスでは、カメラをかざすと認識したテキストが翻訳される「Google翻訳」やARで手に取るようにわかる 3D宇宙大図鑑(東京書籍)などもあります。
キャペーンでARを活用している例も多くあります。国内だと、スターバックスやグリコ、IKEAなどアーティストとのコラボも増えているようです。
参考URL:https://liginc.co.jp/web/useful/120949

AR技術別仕組み解説
出典:photo AC
ARの仕組みにはいろいろな種類があります。
技術的な特性から、大きくは2つに分けられます。
1つ目は、「ロケーションベースAR」というGPSなどから取得可能な位置情報を利用して情報提示を行うものです。
2つ目は、「ビジョンベースAR」という画像認識・空間認識などの技術を応用して直接目の前にある環境を認識・解析することで情報提示を行うものです。
ビジョンベースARは、さらに二種類に分けられ、1つは「マーカー」と呼ばれる決まった形の図形を認識することによって情報を提示する「マーカー型」、もう1つは、決まった形の図形ではなく現実の環境に実在する物体や空間そのものを認識・識別して、それを基に提示位置を特定し情報を出現させる「マーカーレス型」です。
それでは技術別の詳細を解説していきます。
ロケーションベースAR
ARデバイスの位置情報を取得して、それにあった情報を表示させる方法です。
GPSなどによる位置情報だけではなく、磁気センサによる方位(情報を見ようとしている人の向いている向き)や加速度センサによる傾き(視線の仰角や俯角)などと併せて、情報を提示する場所を決めています。
メリットは、位置情報の取得や、向き・傾きなどの取得といった要素技術が、現状利用できるデバイスやプラットフォームでは比較的容易に扱えるようになっているため、基本的なものであれば特別なライブラリなどを別途利用しなくとも、実現可能である点です。
一方デメリットは、今のところ主要な位置情報源をGPSに頼る部分が大きく、付加情報の表示位置の精度的な面でズレが発生する可能性が挙げられます。
最近は、端末に実装されているGPSプロセッサの性能向上や、補正情報の付加などにより誤差は少なくなってきてはいますが、完全にズレの発生を防ぐのは困難です。
ロケーションベースなサービスでは海外のARプラットフォームである「Layer」などが有名です。
ビジョンベースAR
画像認識や空間認識などで情報を取得し、それにあった情報を表示させる方法です。
ビジョンベースARには2つの種類があります。
「マーカー型ビジョンベースAR」と「マーカーレス型ビジョンベースAR」です。
マーカーとは?
ARを表現するために用いられる画像で、その画像を認識して、情報を拡張します。
マーカーがあれば、ARが表現できますが逆にマーカーがないとARが表現できなくなるという制約があります。
マーカー型ビジョンベースAR
マーカーを読み取り、そこに付加情報を表示させます。
通常マーカー型ARを実現する場合、マーカーの認識と認識したマーカーに対して特定の付加情報を提示する機能を持ったライブラリやエンジンを利用するのが一般的です。
マーカーのパターンがどのようなものである必要があるかは、利用するライブラリなどに依存します。
メリットは、マーカーを置くことで付加情報の提示位置を決めることが可能なため、提示したい場所へ正確に付加情報を提示できることや、
すぐに利用できるOSSのライブラリが公開されていて、比較的取り組みやすい点です。
ライブラリとしては、奈良先端科学技術大学院大学の加藤博一氏によって開発された「ARToolKit」が有名で、他に公開されているライブラリもこちらをベースにしたものが多数あります。
デメリットとしては、マーカーを印刷物などで別途準備しておかなければならないことや、マーカー自体を現実の環境に配置する必要があるため、物理的な場所、環境としてマーカーを置くことが難しい(スペースの問題や景観などの側面で)場合には利用できないことなどがあります。
マーカーレス型ビジョンベースAR
マーカーというものは不要で、現実空間にある物体や、空間を認識して、そこに付加情報を表示させます。
メリットは、特別なマーカーなどを別途用意する必要がなく、物理的なスペースや景観上の問題などでマーカーを配置することが難しい場所や、風景そのものにもピンポイントで付加情報を提示できることです。
オックスフォード大学で研究・開発されている「PTAM」や、日本国内ではソニーが開発した「SmartAR」などが知られています。
PTAMに関してはモバイル向けのものではありませんが、ソースコードが公開されているので実際に試すこともできます。
デメリットとしては、空間認識や物体の認識では計算量が多くなるのでハードウェアの能力が必要になるのと、細かい要求を満たして精度を保ち、かつ計算量もするとなると、空間認識や物体の認識に関する専門的な知識が少なからず必要となってくることなどが挙げられます。
この点で先述の技術の中では、最も技術的な難易度が高いものといえるでしょう。
例えば、「snow」という犬や猫など様々な姿に変身でき、様々なフィルターを使って小顔にしたり文字を入れたり顔を交換したりできる多機能なアプリです。
首都圏100人の女子大生中約8割が使ったことがあるそうなので、ご存じの方も多いと思います。(出典元:アプリマーケティング研究所)
人の顔を認識すると、付加情報を加え、顔を加工してくれます。
この記事のハッシュタグ
ARを作るには
出典:photo AC
ARを作るというのは難しそうですが、Unityという「ゲーム開発プラットフォーム」を使って簡単に作ることができます。
実際に、マーカー型ビジョンベースARの体験してみましょう。
Unityを使ったARの作り方
今回は無料でARアプリを作成できるライブラリ「Vuforia」と3Dゲームエンジンの「Unity」を使った開発方法を紹介します。
「Vuforia」とはQualcommが提供するAR制作用のライブラリです。
Unityで使えるARのライブラリはいくつかあります。例えば「AR Toolkit」「metaio」などがよく知られているでしょう。
その中でもVuforiaが特徴的なのは「簡単に使える」点と「ARの幅にとらわれないサンプルが多い」点です。
認識精度が高いことでも知られ、平面のマーカーだけではなく立体のマーカー認識クラウドでの認識カメラからマーカーが離れた際の追従認識など、さまざまな形でARの機能を簡単に実装できます。
https://developer.vuforia.com/
こちらのURLにアクセスしてください。
サイトが開けましたら、「Downloads」をクリックしてください。
SDKが選択されていることを確認してから、「Download for Unity」をクリックして、ダウンロードしてください。
Login 画面がでてきますが、まだ登録されてない方は、「Create account now」でアカウントを作成してください。
登録する情報を記入したら、Registerをクリックし、登録したメールアドレスから登録メールを確認して登録を完了させてください。
再びLogin画面に戻り、メールアドレスとパスワードを記入して、「Log in」ボタンをクリックしてください。
Software Licenseという画面が出てくるので、「I Agree」をクリックしてください。
クリックするとダウンロードが始まります。
ダウンロードが完了しましたら、
「Develop」を選択し、「License Manager」になっているか確認し、「Add License Key」をクリックする。
「Development」を選択してください。
下にスクロールをしていくと、「Project Details」が出てきます。
「App Name」に「Test」と記入して、「Next」をクリックしてください。
チェックを入れ、「Confirm」をクリックしてください。
「License Manger」に追加されます。
次に、画像を認識させ、ARを表示させるために、画像を登録していきます。
「Target Manager」を選択し、「Add Database」をクリックしてください。
「Name」に「Test」と記入し、「Create」をクリックしてください。
「Database」のところに追加されてます。
作ったデータベースをクリックしてください。
それぞれ選択、記入をし、「Add」をクリックしてください。
マーカーが追加されてれば、大丈夫です。
追加されたマーカーにチェックをつけ、「Download Database」をクリックしてください。
「Unity Editor」にチェックをつけ、「Download」をクリックしてください。
ダウンロードが終了しましたら、Unityの新規プロジェクトを開いてください。
Windowの「Assets」->「Import Package」->「Custom Package…」で、先ほどダウンロードした2つのファイルをインポートしてください。
以下の項目が追加されます。
「Main Camera」を削除してください。
次に、Projectビューの「Vuforia」-> 「Prefabs」->「ARCamera」を選択して、Hierarchyビューにドラッグ&ドロップしてください。
次に、先ほどのサイトに戻ります。
「Develop」を選択し、「LicenseManager」になっているか確認し、「Test」をクリックしてください。
「Please copy the license key below into your app」の下のグレーのLicense Keyをコピーしてください。
もう一度Unityに戻ります。
Hierarchyビューの「ARCamera」をクリックすると、Inspectorビューが表示されます。
Inspectorビューの「Open Vuforia configuration」をクリックしてください。
コピーした「License Key」を「App License Key」に貼り付けしてください。
続けて、Inspectorビューにある「Load Test Database」にチェックをつけてください。
チェックをつけると「Activate」が表示されるので、そちらにもチェックをしてください。
Projectビューの「Vuforia」-> 「Prefabs」->「ImageTarget」を選択して、Hierarchyビューにドラッグ&ドロップしてください。
「ImageTarget」を選択し、Inspectorビューの「Image Target Behavior(Script)」の「Database」と「Image Target」を「Test」に選択してください。
「ImageTarget」の子要素として、表示させたいオブジェクトを生成してください。
以上で設定は終了となります。
再生してみましょう。
登録した画像を認識させて、オブジェクトが表示されます。
参考サイト:http://qiita.com/hey_cube/items/d12fa91abd6f7826dd78
これが、簡単なARの作り方です。
より本格的に、UnityによるAR開発を学びたい方には書籍「UnityによるARゲーム開発 ―作りながら学ぶオーグメンテッドリアリティ入門」がお勧めです。
本書ではポケモンGOライクなARゲームを、Unityによって開発します。開発したゲームはAndroidでもiPhoneでも遊ぶことができます。巻末にはiOS11で導入されたARKitに関する解説もあるため、ARKitによるiPhone向けAR開発を日本語で学びたい方にもお勧めです。
ARの今後
「スマートグラスのように顔に装着するものではなく、スマートフォンこそが消費者向けARプラットフォームの主流になり、さまざまなAR機能が広く利用されるようになるでしょう」Mark Zuckerberg
モバイルARが主な原動力となりAR・VRの市場規模が2021年中に1080億ドル(下振れして940億、上振れして1220億ドル)に達するという見方もあり、今後ますます私達の生活と密接に関わっていくでしょう。
まとめ
いかがでしたか?
ARとは?という概要から、仕組みや作り方などをご紹介しました。
将来、ARがないと不便に感じる時代がやってくるほど、ARの将来性は高いです。
これを機に、ARの開発を行ってみてください。
はじめての転職、何から始めればいいか分からないなら

「そろそろ転職したいけれど、失敗はしたくない……」そんな方へ、テックキャンプでは読むだけでIT転職が有利になる限定資料を無料プレゼント中!
例えばこのような疑問はありませんか。
・未経験OKの求人へ応募するのは危ない?
・IT業界転職における“35歳限界説”は本当?
・手に職をつけて収入を安定させられる職種は?
資料では、転職でよくある疑問について丁寧に解説します。IT業界だけでなく、転職を考えている全ての方におすすめです。