いまさら聞けないAR(拡張現実)の基礎知識:モバイルARアプリ開発“超”入門(1)(3/3 ページ)
プログラミング未経験でも手軽にAndroidアプリが作れるApp Inventor。本連載では、App Inventorでアプリを作り、使用しているコンポーネントに関して実際にJavaのAPIと比較して、できることを検証していきます
ARは、どんなものに応用できるのか?
ARの技術的な側面の展開
まず技術的な側面で考えられるのは、各手法のハイブリットな利用が進むのではないかということです。それぞれの技術は、互いに排他的なものではなく、補完し合うことも可能です。
例えば、「ロケーションベースな技術を使って、街やショッピングモールなどのナビゲーション情報を提示してユーザーを誘導し、目的の店舗などにたどり着いた後は、ビジョンベースな技術を使って商品についての情報を提示する」などといった応用も可能です。
ロケーションベースなもの、ビジョンベースなものを混在させて同時に動かすとなると、端末能力もそれなりに必要となってくるでしょうが、その点についても現在の端末の発展ぶりを見ると、問題なくなるのではないかと考えています。
個々の技術を見た場合はどうでしょう?
ロケーションベースARの技術的展開
ロケーションベースARについては、今はGPSによる位置情報を主に利用している状態ですが、これがWi-Fiベースなどの、もう少し小さな範囲でより細かく位置同定するような技術の応用が進むのではないかと考えています。
現状は環境的にまだまだ整備されていない状態ですが、これらの技術が進むと、屋外だけではなく屋内での位置同定が可能となります。これにより、先ほどのハイブリットの例で挙げたようなショッピングモールなどの閉域内でのロケーションベースARの利用が可能となります。
ロケーションサービスを実現する技術は、それだけで別の記事が書けるくらいの広がりを見せつつあるので、個々の細かい技術について、ここでは言及しませんが、例えばWi-Fiベース以外のものでは、「IMES(Indoor Messaging System)」と呼ばれる、GPSと互換性のある無線信号を利用して、屋内でもGPS測位とシームレスに位置同定が可能な技術などもあるので、今後の発展が待たれるところです。
マーカーレス型ビジョンベースARの技術的展開
ビジョンベースARについては、端末性能の向上も相まって、マーカーレス型の技術の発展と利用が進んでくると考えています。マーカーレス型は、ユーザーの目の前にある環境の中で自然に利用できることが魅力です。日常の中で利用するサービスでは、これは大切な要素です。
例えばユーザーに、家庭にある電化製品の設置・設定方法や操作方法を提示するようなサービスをARで実現することを考えたとします。その場合、その電化製品そのものを認識して操作しなければならない場所の細かい指示などができると効果的です。
マーカー型ビジョンベースARの技術的展開
一方で、自然な利用ができるマーカーレス型の利用が進むと、マーカー型が利用されなくなるかというと、そうではないでしょう。マーカーには、「ユーザーに意識してもらう必要がある」という特性を、あえて利用することで、ユーザーの意識を誘導するような使い方があるからです。広告のような分野では、これは重要な特性です。
また、現在はQRコードでURL指定やメール配信をしているようなシーンなどでマーカーを利用すれば、ARによる直接的な情報提供を分かりやすい形で行うこともできるでしょう。それぞれの特性を生かして、補完的に利用する方向性は、ビジョンベースなARの中だけを見ても、発展するものと思われます。
ARが活用されるシーンの広がり
ARの活用という点で見た場合には、どんな方向性が考えられるでしょうか。現在は、その視覚的に訴える技術的な特性から、宣伝効果を狙った利用や、エンターテインメント性のあるものなどが多いように思います。そのような使っていて「楽しい」というものだけではなく、人の行動を支援するような人の能力を補完して支える利用も、もっと進むのではないでしょうか。
「目の前にあるもの以外(以上)を追加する」という基本的な特性は、「人が見えていない部分や意識していないものを補完して提示できる」ことを意味します。
例えば工場内の作業支援などに利用すれば、保安上伝えた方がよい視認範囲外の状況を見せたり、外側からでは見えない機器の内部情報を伝えることで作業の効率化を図ることも可能でしょう。
また、ロケーションベースARのSkyWareの事例で少し紹介した、人の“誘導”などは、観光などの利用に留まりません。例えば災害時に、そのときの状況に応じた安全な行動経路の提示(そもそも、「通信インフラが災害時に使いものになっているのか」というのは、また別途考えるとして)に利用するなど、社会的なインフラに近い部分での利用も考えられます。
今後の連載では、ビジョンベースARアプリを作る
連載第1回では、ARそのものについての概要を技術的な観点と応用例から簡単に振り返ったうえで、筆者たちのチームがARに取り組むに当たって考えている方向性などお話ししました。
今後の連載では、実際に筆者たちがやってみたことを説明しながら、ビジョンベースなものを中心にARを利用したアプリの実装について見ていきます。マーカー型のライブラリの利用方法や、簡単なマーカーレス型の実装などを説明する予定です。以下、各回で扱う内容について、簡単に紹介します。
第2回 NyARToolKitを利用したマーカー型ARの実装
マーカー型ARを実装するのにARToolKit系のライブラリは避けて通れないものです。この回では、その中でNyARToolKitを扱います。NyARToolKitを利用してAndroid端末上で簡単なマーカー型ARアプリを実装する方法を説明します。
マーカーを認識して表示するものは3Dのオブジェクトを考えています。3Dのオブジェクトを作成し、出力される3Dモデルのデータを読み込んで端末上で表示するまでの実装を、実際のコードを交えて説明します。
第3回 AndARを利用したマーカー型ARの実装
AndARもNyARToolKitと同様、ARToolKit系のライブラリです。ライブラリ自体の細かい説明は本編で行いますが、こちらもOSSのライブラリですぐに利用できます。
第2回のNyARToolKitとの違いなどを加えつつ、Android端末上でマーカーを認識して3Dのオブジェクトを表示するまでの実装を説明します。
第4回 アニメーションの追加
第2回、第3回で表示する3Dオブジェクトは静的なものなのですが、この第4回でアニメーションする3Dオブジェクトの表示を実装してみます。利用するライブラリは第3回で紹介するAndARです。3DのモデルをOpenGL ESを利用してアニメーションさせる手法について、簡単な例を用いて説明します。
第5回 iOS上でのARの実装
これまでの各回はAndroid上での実装でしたが、第5回ではiPhone/iPadでのマーカー型ARの実装について説明します。どんなライブラリが利用できるのかや、簡単な実装例などを紹介します。
第6回、第7回 OpenCVを用いた画像認識とAR
連載最後の2回を使って、簡単に試せるレベルのマーカーレスなARについて、「OpenCV」を用いた画像認識で実装してみたいと思います。OpenCVはコンピュータビジョンのOSSライブラリで、画像認識や解析などのさまざまなアルゴリズムが比較的容易に利用できるようになっています。
Android端末上でOpenCVを利用できるようにする環境構築から、実際にそれらを利用して画像認識を行い、認識した対象に従った情報を提示するまでの実装を説明します。
次回以降をお楽しみに。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- これなら分かるAR(拡張現実)
AR三兄弟が考える拡張現実とマッシュアップ(1) - Java技術者も知っておきたい「AR(拡張現実)」
安藤幸央のランダウン(49) - 飛び出すFlash、知ってますか?
Flashと人〜あの人からの6つの回答(2) - Silverlightで作れるAR(拡張現実)アプリの基礎知識
楽しいWindows 7アプリ作成入門(4) - もはやケータイに必須のカメラをAndroidで制御しよう
Androidで動く携帯Javaアプリ作成入門(17) - ゲーム嫌いも知らないと損、ゲーミフィケーション入門
あなたの生活を変える「Gamification」現状まとめ - 次世代のインプットを考えよう──マウスとキーボードを超えたフィジカルコンピューティング