AR概要と nyartoolkitについて
DESCRIPTION
AR概要と NyARToolkitについて. 現実の状態に合わせて、見せ方(感覚全般)が変化する。 ↓ わかりにくいのでとりあえず例を. AR(拡張現実). 例えば、その1. 車からの景色に経路を追加した映像を投影して案内する。(ARナビ). 例えば、その2. 家具の配置したイメージを購入前に確認できるアプリ. 例えば、その3. 画面に映った人の目からビームを放つ. ARとは. 動画(リアルタイム映像)に画像(動画)を追加して表示する技術? ※ 画像である必要はなく、匂い、感触、音など追加する情報はなんでもいい。 今一番、表現が簡単な情報が画像 - PowerPoint PPT PresentationTRANSCRIPT
AR概要と NyARToolkit について
AR(拡張現実)
現実の状態に合わせて、見せ方(感覚全般)が変化する。
↓
わかりにくいのでとりあえず例を
例えば、その1
車からの景色に経路を追加した映像を投影して案内する。(ARナビ)
例えば、その2
家具の配置したイメージを購入前に確認できるアプリ
例えば、その3
画面に映った人の目からビームを放つ
ARとは
動画(リアルタイム映像)に画像(動画)を追加して表示する技術?
※画像である必要はなく、匂い、感触、音など追加する情報はなんでもいい。
今一番、表現が簡単な情報が画像狭義としてAR=画像として話を進めます。
AR技術の分類
「ロケーションベースAR」(例 その1) 表示位置をGPSで決定して表示する方式「ビジョンベースAR」 「マーカー型」(例 その2) 表示位置を事前に登録している画像と動画 と照らし合わせて決定して付加情報を表示 する方式
「マーカーレス型」(例 その3) 動画から決められた画像特徴を見つけ出 し、その位置に付加情報表示する方式
ロケーションベースAR
(例 その1 ARカーナビ)見る人の位置と方向をGPSで得て、そこから見える方向にある情報を追加して表示
ビジョナリーベース(マーカー型)
(例 その2 イケアの家具配置) 動画の中から事前に登録している画像を探して表示位置を決定、付加情報を表示する方式
ビジョナリーベース(マーカーレス型)
(例 その2 目からビーム) 動画から決められた画像特徴を見つけ出 し、その位置に付加情報表示する方式
(ロジック例) 黒い領域が二つ並んでいる(目) その二つの点から下に横線がある(唇)
ARの処理概要
1.表示位置の決定。
2.視点からの距離と角度を算出
3.追加するオブジェクトのサイズ、 見える角度の決定
4.ベース動画に上書き
マーカ型AR
1.(マーカから)表示位置の決定。2.(事前登録されているマーカと動画上の マーカの見え方から)
視点からの角度を算出。3.(マーカーの見えるサイズから) 追加するオブジェクトのサイズを決定4.ベース動画に上書き
NyARToolKit for Android
Java や Android 、 C# 、 ActionScript 3 、 C++ 、Silverlight など、さまざまなプラットフォームに対応
GPLと商用ライセンスのデュアルライセンス マーカ情報はPDFで保管 表示データは MD2 、 mqo 形式(3Dデータ)
メソッドの機能1( NyARTookitAndroidActivity クラス)
OnCreate()アプリ起動時に呼出され、各インスタンスの準備、カメラビューの生成を行う。
SurfaceChange()ビューのサイズやピクセルが変化したとき、OnPreviewFrame() を呼出し、解析を開始する。
OnPreviewFrame()キャプチャ画像を取得(動画から画像一枚分の情報を取得)
メソッドの機能2( NyARTookitAndroidActivity クラス)
initializeGLSurfaceView()マーカパターンの登録3Dモデルの登録マーカ検出を行うオブジェクトの登録
メソッドの機能3( ARTookitDrawer クラス)
Draw()マーカ有無の検出3Dモデルの座標交換配列の取得(マーカが見つかった場合)
Initialization()マーカパターンの所持
メソッドの機能4( Renderer クラス)
OnDrawFrame()drow() から受け取った変換配列から表示する3Dデータを描画
InitScene()OnDrawFrame() で作成された3Dデータをマーカー上に追加表示
NyArToolKit の処理フロー
サンプル実演
・ NyArToolKit を利用してタグ型のARを実演。
タグ上に 表示されます。
まとめ
1.動画の中からマーカー(目印)を見つける部分と表示サイズを決定する部分は画像解析の領域になるため、敷居が高いと思われる。
2.見つかったら何を表示するかについては容易に加工できる。
3.マーカーがどう変化したかについては前後の変換配列の内容を差分することで条件として使えるかもしれない。(例えば、マーカが回転したなど)
活用アイデア
ダンボールの中身を開かなくても内容を確認できるアプリ
→物流システム(倉庫管理) 通販で買った組み立てが必要な家具の組み立て手順をARで説明