Tango対応の全無料アプリを遊んだ結果、思ってたよりいろいろなことができそうだなと思ったのでまとめます。全部やりたい。
マーカーレスAR
一番の特徴だと思っていました。空間把握ができているので、マーカーを使わなくても同じ場所に仮想物体を止めておける。幾何学的整合性がとれる。KudanやARkitでもマーカーレスはできるけど、普通のカメラ(RGB)から得た情報を使って画像処理で場所を判断しているので、深度センサーが付いているKudanとは精度が違う。
3D空間移動
加速度センサーがあれば360度空間を見回すことはできたけど、tangoはそれに加えて移動もできました。
これは最初の記事に解説があった
専用に搭載された魚眼レンズカメラからの視覚特徴点の情報を利用することで累積誤差を補正、処理負荷を軽減し、モバイル端末での利用を可能にしている。魚眼カメラでは、捉えているコマ間で特徴点の相対位置(位置変化)を計算し、端末の移動距離を推定している。
を利用していると思われます。つまり移動に関してはセンサーではなくカメラ情報からの画像解析ということなのかな?
Tangoの位置認識すごいから歩けるVRができる。 pic.twitter.com/VxHJhLnd3D
— bibinba (@kagemiyaryu1) 2017年7月7日
オクルージョン
重なりの前後関係を正しく表示する。仮想物体の前に手をかざしたらちゃんと消える。これを使ったアプリはあまりない。重いのかな。
ちなみに私はうまくできませんでした。
Player settingのAutoGraphicsをOpenGLES2にすればできたという記事もありました。
3Dスキャン
Tangoでは3Dハンディスキャナーのように物体をスキャンすることができます。
スキャンのデータは普通PLYという色つきの点群データで出力されます。これは本当に点だけで面も線もありません。出力方法としてはMatterport ScenesというTangoアプリを使うか、UnityのTangoSDKサンプルにも同じようなものがあるらしいです。
この出力されたPLYデータを普段見ている面のあるメッシュ形式(objとか)に変換するにはMeshLabというソフトを使うといいらしいです。
色情報もテクスチャとして書き出されるそうです。
Tangoのセンサー・カメラ
最後にTangoに入っているセンサーとカメラについて。
奥行きが取れる深度センサーが入っているのは知ってましたが他にもいろいろあるようです。
この記事によるとセンサーは
Motion Tracking(運動解析)は、まず9軸IMUと呼ぶユニットで計測される。これは3軸電子コンパス、3軸加速度センサー、3軸ジャイロスコープからなるもので、6DOF(Degrees Of Freedom)アルゴリズムの情報が取得され、姿勢が検出される。
があるようです。
またカメラはRGB-Dカメラと魚眼カメラが付いているみたいです。
深度が取れる
併用するカメラについて複眼カメラも検討されたが、最終的には赤外線ベースのTOF(Time Of Flight、光線の照射と反射による測距技術)ソリューションになった。
赤外線センサーは、正確に計測できるのが4~5mと、レーザーセンサーと比較して到達距離が短くなるが、コストが安く、省電力で駆動できるなどのメリットが大きいという。