2016年8月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

最近のトラックバック

無料ブログはココログ

電脳メガネ

2015年7月13日 (月)

UnityとVuforiaによるMOVERIO BT-200用ARアプリの作り方

UnityとVuforiaを使って、MOVERIO BT-200用のARアプリを作るためのチュートリアルビデオがVimeoサイトで公開されました。

2015年4月10日 (金)

Vuforia for Digital Eyewearのキャリブレーション精度

Vuforia Developer Portalβ版ダウンロードサイトから早速キャリブレーションツールとUnityのサンプルプログラムを入手し、試してみました。仮想オブジェクトを正確に重畳させるために重要なキャリブレーションの手順は下記に記述されています。

 Vuforia Calibration App

この中の写真にあるように、片目をつぶりながら、スクリーンに表示される赤い枠と眼前に置いたターゲット(Stone)の4隅をできるだけ一致するように視点を移動させなければならないのですが、なかなかピッタリいかず、むずかしいです。

とりあえずどこかで妥協して、キャリブレーションプロファイルを保存し、サンプルプログラムを実行してみたところ、大きな視点移動をさせずゆっくり動かせば下記のビデオくらいの精度でターゲットを追従してくれます。

 

視野に対してスクリーンサイズが小さく感じられますが、工具の位置指定や蓋の開閉などの作業支援には十分使えるのではないかと思います。ただ、SMDLabが提供している「誰でも美文字AR」のように高い位置精度が要求されるアプリには、まだ適用がむずかしいかもしれません。

2015年4月 8日 (水)

Vuforia for Digital Eyewearのβ版がリリース

本日、待望のVuforia for Digital Eyewearのβ版がリリースされました。Vuforiaのユーザ登録をしていれば、どなたでも下記サイトからダウンロードできるようです。

 https://developer.vuforia.com/downloads/beta

これで、VuforiaでもMOVERIO BT-200用の光学シースルー型ARアプリを開発できるようになります。MetaioでもStereo See-Through Calibration Toolboxを使えば可能になったのですが、以前の記事でも取り上げたように、キャリブレーションがあまり正確でないようです。近いうちに両者を比較した記事を書きたいと思っていますが、キャリブレーションの正確さを比較するためには、自分の眼が実際に見ている映像上のターゲットとHMDスクリーン上の仮想オブジェクトがどの程度一致しているかをお見せする必要があります。残念ながら、自分が眼が捉えている映像のスクリーンショットを取ることはできないので、以前の記事でもご紹介した論文
の中で示されているFig.4のようなカメラをユーザの眼と見立てた装置を作る必要があります。これには少し時間がかかりますので、とりあえず、自分で眼で両者のキャリブレーション精度の比較を行ってみたいと思います。

2014年12月12日 (金)

Metaio Stereo See-Through Calibration Toolbox for MOVERIO BT-200

Metaio Developer Portal サイトで、Epson MOVERIO BT-200ステレオシースルーキャリブレーションを行うためのToolboxが公開されたと発表されています。また、2014年12月4日のWebnarでその解説がなされています。



Toolboxの最新バージョン6.0.1はGoogle Playからインストールできますが、BT-200にインストールするには、apkが必要になるので、「APK Downloader」などからダウンロードするか、Metaio Developer Portalの「Metaio Toolbox」から「Android APK」をダウンロードして、Epson MOVERIOサイトのインストール方法に従ってインストールしてください。MOVERIOからToolboxを起動したときだけ、「Stereo See-Through Calibration Toolbox」が現れます。

早速試して、「誰でも美文字AR」をMetaioに移植し、BT-200のシースルーARアプリとして実装したいと考えています。

2014年11月28日 (金)

Vuforia SDK for Digital Eyewearの概要

以前、Qualcomm社が主催する「Uplinq 2014」において、「Vuforia SDK for Digital Eyewear」が発表されたことを記事にしました。そのときのプレゼンの模様がYouTubeに公開されています。



この中で特に注目すべきトピックを時系列順(分:秒)に抽出してみました。

  • (12:20) 
    ユーザキャリブレーションに必要なステップは片眼で2ステップ、両眼で計4ステップ
    キャリブレーションに要する時間は、熟練者で30秒、初心者で60秒くらい
    ユーザごとにキャリブレーションプロファイルを保存
  • (15:00)
    Unityのコンテンツを簡単にステレオ化
  • (20:52)
    Vuforia Native APIに3つ新しいクラスを追加
    プロファイルマネージャにより10人までのユーザプロファイルを管理
    Calibrator Classにより独自のキャリブレーションプロセスを作成可能

  • (22:40)
    Unity Extensionの具体的な解説

公開が待ち遠しいです。

2014年9月20日 (土)

Vuforia SDK for Digital Eyewearの発表

昨日、Qualcomm社が主催する「Uplinq 2014」において、「Vuforia SDK for Digital Eyewear」 が発表されました。このSDKは下記の3つのウェアラブルデバイスをサポートし、簡便なキャリブレーション手法を含んでいるとのことです。

各デバイスについての概説は下記サイトが参考になります。
 http://linuxgizmos.com/android-eyewear-uses-qualcomm-vr-platform/

うれしいことに、これまでこのブログで解説してきたMOVERIO BT-200がサポートされているので、このSDKが発表されれば、「誰でも美文字AR for BT-200」の開発を一気に進められるかもしれません。下記サイトで申請し認定されれば、ベータ版を入手することができるということなので、早速登録してみました。
 https://developer.vuforia.com/support/contact/beta

ぜひとも認定されて、いち早く開発に取り組んでみたいです。

2014年9月16日 (火)

MOVERIO BT-200の今後に期待すること

MOVERIO BT-200は現存するスマートグラスとしては、

  • 映像の高解像度性
  • ステレオ(3D)映像サポート
  • ヘッドセットの軽量性
  • カメラ搭載
などの点でとても先駆的な製品だと思います。現在、光学シースルー型HMDとしてのハードウェアの機能を十分有している唯一の市販製品です。したがって、前回考察したようなユーザごとにHMDキャリブレーションを高精度で行えるアプリを提供できれば、現状でも電脳メガネとして普及する大きな潜在的価値があります。しかし残念ながら、家庭に1台あるいは1人1台というほどはまだ普及していません。

そこで今回は、今後さらに我々ユーザにとってMOVERIOをぜひとも手にしたいと思えるようにするにはどう改良すればよいか、すなわち後継機BT-300に期待することについて考えてみます。
  1. ヘッドセット部分だけを独立させて、AndroidやiPhoneなどのスマートフォンと連携して動作できるようにすること
  2. カメラの視野角を画像が歪まない程度にできるだけ大きくすること
  3. HMDスクリーンのさらなる高解像度化、拡大化すること
  4. 普通の眼鏡をかけているかのように自他とも違和感のないものにすること
すでにエプソンではすべてについて検討がなされていると期待していますが、特に、1のヘッドセット部だけを独立させて、ユーザーがもつスマートフォンの画面をMiracast技術で送信し、ヘッドセットのカメラ映像やセンサ信号をNFC技術で受信できるようにすれば、爆発的にヒットするのではないでしょうか。また、これらの送受信処理をAPIとして開発者に提供し、Google PlayやApp Storeでアプリを公開できれば、多くの人たちが専用アプリの開発に参入すると思います。個人的には、Google GlassやApple Watchなどよりはるかに面白く、ぜひ手に入れたい製品になると思います。

BT-300の登場で、「歩きスマホ」ならぬ、「歩きスマグラ」が社会問題化する日が来るかもしれません。その時のために、加速度センサでユーザが歩いているかどうかを判定し、、歩行中は映像が映らないような仕掛けを考えておくのはいかがでしょう。実装も簡単です。

2014年9月15日 (月)

MOVERIO BT-200を光学シースルー型HMDとして使うための方法

前回お話したように、MOVERIO BT-200を光学シースール型HMDとして使うことができれば、アニメ「電脳コイル」が実現している世界に一歩近づくことができます。そこで今回は、そのために必要な方法を最小の手間で実装する方法について検討してみます。

まず、下記の2編の論文のいずれかを読むことをお勧めします。

上記の論文では、HMDのスクリーンに映し出されたCG映像を、ユーザの眼に映る現実映像中のマーカーを基準にして正確に重ね合わせるためのキャリブレーションと呼ばれる手法が提案されています。
このためには、以下の2段階のキャリブレーションが必要になります。
  1. カメラキャリブレーション:マーカー座標系からHMDに搭載されたカメラ座標系への変換行列を求める処理
  2. HMDキャリブレーション:カメラ座標系からHMDスクリーン座標系の変換行列を求める処理
上記の2段階のキャリブレーションを行うことにより、2つの変換行列の積からマーカー座標系からHMDスクリーン座標系への変換行列が求められます。この変換行列を用いてマーカー座標系基準でCGをHMDスクリーン上に描画すれば、適切な位置に仮想オブジェクトを重ね合わせることができます。

1の「カメラキャリブレーション」は、比較的古くから確立している手法で、ビデオシースルー型HMDではカメラ映像に直接仮想オブジェクトを重ね合わせるだけでいいので、この第1段階だけでキャリブレーションは完了です。このカメラキャリブレーションは、多くの研究者がソースコードを公開していいて、OpenCVなどのライブラリとしても実装されています。ここでは、最も手っ取り早い方法として下記のツールを紹介しておきます。

 Metaio Toolbox

  Get it on Google Play

このツールは、下記サイトからキャリブレーション用のマーカーをダウンロードして、印刷し、
 http://www.augmentedmarketing.ca/marketing/Marker.pdf
"Camera Calibration"ツールを使ってカメラに映すことで、自動的に上記第1段階のカメラキャリブレーションが行われ、必要なパラメータファイルを保存してくれます。BT-200などの工業製品の生産工程は均一でバラつきはないと考えていいので、このパラメータファイルは、1度誰かが行っておけば、BT-200ユーザに共通して利用してもおそらく精度に大きな影響を及ぼさないでしょう。

2の「HMDキャリブレーション」は、眼の特性は人それぞれ異なるため、ユーザごとに行う必要があります。残念ながら、BT-200のようなOSTHMDが一般に手に入るようになったのが最近であるため、ソースコードや「Camera Calibration」ツールのような形で無償で提供しているところはまだほとんどありません。私の調べた限りでは、「ARToolKit」の商用ライセンス版には、下記サイトにあるように
 http://www.artoolworks.com/support/library/Using_an_optical_see-through_display
先に掲げた論文の手法を実装したツールが提供されています。しかしながら、このツールを組み込んだ形でキャリブレーションアプリを作成できるのか、また、それを他のAR用SDKで作成したアプリに使っていいのかどうかわかりません。また、このツールは有償で、アプリを公開して販売すると売り上げに応じてロイヤリティが発生するため、できれば、本研究所でツールを自作して提供したいと考えています。理論的には実装はそれほどむずかしくありません。その手順は論文中に記述されているように、

  • HMDスクリーンにヘアカーソルを表示する。
  • HMDユーザーは手にマーカーを持ち、その中心がヘアカーソルに一致して見えるように動かす。
  • ぴったり一致したところでマウスをクリックし、HMDスクリーン上の位置情報を取得する。

上記手順を、左右の眼それぞれについて5回ずつ行うことで、HMDスクリーン座標系からそれぞれの眼座標系への変換行列の11個の未知係数を算出できます。この計算方法は、カメラキャリブレーションで実装されているルーチンをそのまま流用できます。また、この手法は、1回の位置合わせにつき一度のマウスクリックだけで済むので、頭部を固定して位置決めする必要がないため、ユーザーに苦痛を与えず、高精度なキャリブレーションを行えるという大きな利点があります。

また、BT-200用のMetaio SDK が提供されており、光学シースルー型として利用するためのパラメータについて下記の{Metaio Developer Portal」サイトで活発に議論されています。ここで提示されいる値を使えば、それなりに適切な位置に仮想オブジェクトを提示できるかもしません。
 http://helpdesk.metaio.com/questions/34614/reset-hmd-calibration-for-moverio
 http://helpdesk.metaio.com/questions/30643/how-to-do-hand-eye-calibration-moverio-bt-200

さらに、最近、KDDIの研究所が提案している下記の論文は、先に掲げた論文をさらに改良した手法であり、

下記YouTubeサイトで比較映像を見ることができます。

映像を見ると、とても正確にマーカーを追従していることがわかります。しかしながら、ユーザーがオンラインで行うHMDキャリブレーションにおいて、4点以上のHMDスクリーン座標上の対応点を同時に取得する必要があるようなので、ユーザーの頭部を固定しなければならないという問題があると思われます。また、上記映像は、HMDスクリーンに映った映像を別のカメラでとらえ画像処理により自動的に対応関係を取っているので、正確な結果が得られていると思われます。実際のユーザに対して主観的な評価が行われていないので、先の論文に対する優位性についてはよくわからないところがあります。

眼鏡屋さんに行って視力検査を行うように、電脳メガネのキャリブレーションを行ってくれるようなサービスが提供される日がいつか来るかもしれません。

2014年9月 8日 (月)

MOVERIO BT-200の電脳メガネとしての可能性

前回の記事で予告した「MOVERIO BT-200電脳メガネとしての可能性」について考察してみます。ここでは、GPSや外部センサによる位置情報によるものではなく、ヘッドマウントディスプレイ(以下、HMD)に搭載されたカメラによってARマーカー(ターゲット)を認識し、適切な位置に仮想オブジェクトを重畳させてユーザに提示するようシステムに限定して考えます。

AR用のHMDには、下記の二つのタイプがあります。

  • ビデオシースールー型HMD(以下、VSTHMD: Video See-Through HMD)
  • 光学シースルー型HMD(以下、OSTHMD: Optical See-Through HMD)
VSTHMDは、カメラ映像からARマーカーの位置・姿勢(マーカー座標系)を推定して、その座標系を用いて仮想オブジェクトを適切の位置にCGとして重畳させて映像を合成し、その合成映像を眼前のスクリーンに投影してユーザに提示する方式です。ビデオ越しの間接的な映像を通して見ていることからこの名称が付けられました。
OSTHMDは、HMDに搭載されたカメラはARマーカーの位置・姿勢を推定するためのセンサとしてのみ利用し、透明なレンズ越しに捉えたユーザ自身の眼前にある現実の映像に、眼前のスクリーンを使って仮想オブジェクト重畳させて提示する方式です。光学的に直接捉えた映像を見ていることからこの名称が付けられました。

VSHMDとOSHMDにはそれぞれ長所と短所があります。
前者は、マーカー座標系の推定をカメラ座標系に対してのみ行えばいいので、仮想オブジェクトの3次元的な合成位置のブレがほとんどない映像を提示することができます。しかし、ビデオ越しに映像を見ていることから、視野が狭く、解像度の低い映像となるため、ユーザ自身の眼がとらえている視感覚と異なってしまうだけでなく、処理が重くなると、映像が遅延して提示されてしまうという問題もあります。
これに対して、後者は、ユーザの視感覚に対して違和感のない自然に拡張された映像を提示できますが、各ユーザの眼の網膜に映る映像に対して、マーカーの位置・姿勢を推定する(この方法をキャリブレーションと呼ぶ)必要があるため、このキャリブレーションを行うのがとてもむずかしくなります。

MOVERIO BT-200は、ハードウェア的にはOSTHMDの要件を満たしているので、眼前にあるレンズに投影されているスクリーン上の仮想オブジェクトの位置と、ユーザの網膜映像上のマーカーの位置を一致させるためのソフトウェアを開発すれば、本来有している電脳メガネとしての機能を利用できるようなり、電脳コイルのような世界を実現できる可能性がもたらされます。

現状の「TekkyuAR」は、カメラ越しにしか映像を提示できないので、本来のBT-200の機能を生かし切れていません。OSTHMD用のアプリとして提供できれば、さらにリアリティのある面白いゲームになると思います。
それよりも「誰でも美文字AR」をOSTHMDで実現できれば、本当に実用的なアプリとして、習字や年賀状書き、袋書きなどに大いに利用されると期待されます。
少し難易度が高いですが、今後はOSTHMDアプリの開発も行っていきたいと考えています。