可視光通信…菓子交通神?お菓子と交通の神じゃないって

可視光通信とか眼や光にまつわるもろもろ

可視光通信で巨大初音ミクAR(拡張現実)の実験のメモ

最近、昔ネタ連投ですが、可視光通信イメージセンサ通信に関する公開資料を見た人や、昔にちらと画像だけツィートだけ見た人に「よく分からなかった」とか言われたこともあるので少し詳しく。(まあ、どちらにしろ、最新成果は大人の事情で出せないので・・・)

可視光通信のLEDタグによるARです。受信はイメージセンサ通信で並列位置把握することでARのタグとします。


で、近年いろいろARあるのに、なんで可視光通信イメージセンサ通信なんかでやるのということですが、


まず、ARToolkitなんかでおなじみの二次元マーカ型ARは、幾何学的整合問題がない(=画像にぴったり合う)という素晴らしい利点があります。しかし、画像上でけっこうでかい(長距離だととんでもなくでかいのを必要とする)という問題があります。



例えば、最近の事例だと、

ITmedia Gemaz 日々是遊戯:身長10メートルの巨大寧々さんも出現!エクストリーム・ラブプラスもAR時代に突入か
※これは1m四方のマーカ

Youtube 建設予定のビルをAR(拡張現実)で出現させるプロジェクト
※これは巨大、数十?百?m四方の二次元マーカ


このように、二次元マーカで屋外なんかである程度の距離を狙うと、マークを置くのは大変そうです。


なので、屋外の巨大だとやはりGPS、方位センサーを駆使した、箱根ヱヴァンゲリヲンのようなやり方が、どちらかというと今は主流です。
POLAR BEAR BLOG 箱根でARエヴァンゲリオンに会ってきた件
この企画は、廃校の校庭を使ったということで、幾何学的整合誤差が出ても気づきにくいという、良く考えられた舞台設定だと思います。


また、幾何整合の良いARとしては、PTAMとかマーカレス型の画像認識を使ったものがあります。これらは、膨大な認識パタンだったり、モデル対応だったりのデータベースを必要とします。(膨大といっても、このクラウド時代。問題はなくなるのかもしれませんが)


ということで、長距離・大型ARをやろうとすると、現在は、
・長距離のためのでっかい二次元マーカは準備が大変
・マーカレスは、サーバ準備が大変(<-- これは前提条件によってはあまり問題ではないですが)
という問題があるわけです。
(なお、現実の特定ロゴマークを認識するタイプは、なかなか良い現実解ですが、どちらかというと、マーカ型と考えます。)

先行して素晴らしいARの実例はあるのに、あえて必死に可視光タグでのARの利点をまとめていきますが、まだ、実用化前の技術の必死アピールとしてご了承ください。


すでにほかで紹介しているようにイメージセンサ通信では、広いFOV(Field Of View)で、同時多点の受信ができることは、いろいろな実績があります。また、距離についても、画像上で1ピクセルの大きさならいいので、数十cmサイズ光源で数百m、kmが取れていることは他の記事などでも紹介のとおりです。
そして、分類的にはマーカ型ですから、幾何学的整合の問題はやっぱりありません。


ということで、もとから、ARはイメージセンサ通信の重要応用であるとはしていましたが、わかりやすい事例実証をしてなかったところへ、2010年の3月ごろ、ちょうど可視光セミナー講師をやる機会があったので、3DCG関係の表示部分の実装の練習も兼ねて、新ネタの仕込みとしてちょっと余技みたいな感じでざっくりデモ用実装してみました。


可視光タグとしたのは、この4Wくらいのバッテリ駆動のLED光源です。

やっつけで作ったので、全方向放射とできなくて、放射角は詳細忘れましたが、たしか、5度から10度の角度です。なので、この実験の感じだと、上下左右で窓3,4個分くらいの範囲の受信エリアが、この光が見える範囲=ARができる範囲となります。
もちろん、光源を街灯のようにもうすこし何十Wとか百W以上も使えば、拾い放射角でどこからも見ても十分な光度が確保できる、つまりどから見ても受信できるタグとすることができます。


で、この光源4つ用意し、IDの割付けルール(ID=0,1,2,3 とか)を決めて、このIDデータを、とある可視光通信フォーマットに従った点滅変調させるように変調制御マイコンに焼き込んで、駐車場にさくっと4ヶ所おきます。(3月の雪の日の次ぐ日で、前日の雪が残っております)実は、前述のように狭角度の光源だし、正方形にちゃんと光を置くのは少し面倒でした。

さて、受信側です。
試作の可視光イメージセンサ通信の試作センサモジュールを小型WinPCにUSBでつないでいます。

センサモジュールはもちろん専用だし、PC側のドライバソフト周りは相当カスタムですが、使い勝手的にはWebカメラをつなぐ感じでシーンの中にある可視光通信光源の座標その送信データが同時に複数、逐次得られるというUSBデバイスになっています。
なので、通信とタグの座標把握部分はセンサーがやっちゃうので、表示プログラムは単にWindowsのアプリプログラムとなります。

とにかく、定義された4つのIDの可視光通信源があると、そのタグの四角形の歪みから、カメラとの位置関係を逆算して、それに合わせた3DCGを出します。
各4つのコーナーの光は一ピクセル以上で見えればいいのでかなり長距離が可能です。逆に近くの小さい4つの四角形でもいわけです。室内でチップLEDで同じIDの組を読ませて、3DCG界における、HelloWorldともいえるユタポットをやると、


次は割付モデルデータを置き換えて、日本のAR界では下手するとユタポット以上のHello World である初音ミクさんをだしてみますと、こうなります。





では、さきほどのちょっと大騒ぎで屋外に設置した可視光通信ID群をこの試作受信機で見てみると・・・

こんな感じになります。
実際の応答ですが、なにせ試作なので、表示応答時間は、みなさんがニコニコ動画で見るARToolkitのやつの数分の一とかなり悪いです。受信機を持ち替えても、二呼吸、三呼吸遅れた応答です。
まあ、このあたりは地味に改善してるので、また別の機会にこういう屋外巨大ARの動画を発表できればと思います。


表示のスクリーンショットだと、こんな感じ。

表示上みかけの初音ミクさんの身長は、横のビルが5F建てですから、高さ20とか30mくらいでしょうか?

ユタポットももちろん出しました。

やることは、「1ピクセル以上で見える限りで4点の可視光を置く」だけなので、サイズは自由です。
光源の実力的にもう少し遠くでもいけるかな?という感じでした。


あ、ついでに。
実は前日に『巨大初音ミク出すぜ」とやろうとして、雪ふっちゃたので予行演習がてら、体育館でやった結果もあげときます。可視光通信LED光源は同じものを使ってます。



さて、ということで可視光通信の光タグをイメージセンサ通信でやると、長距離、巨大ARが簡単ですよという話ですが、可視光通信を使うということにはもっと深い利点というか可能性があります。

1.通信である=端末側モデルデータ準備を不要にする
今、たいていのARって、3DCGモデルデータは自分で用意していますが(ネットで引っ張ってくるというのもあるが)可視光イメージセンサ通信が高速化すると、モデルデータ自身を光源自体から送り込むってのが可能になります。そうすると端末はエンジンがあるだけで、何もモデルデータの準備もいらないし、ネット問い合わせてダウンロードもいらないってことが将来、できると私は信じています。


2.アフォーダンス性に優れている
目で見えるので、光り方、色を工夫すれば、「あ、光ってる、情報だしてる、CGが取れるぞ!」という告知を、ユーザの目にアピールすることができます。情報を届けることにおいて、人間の目でまず認知するってすごく重要です。
(いや、まあ、アフォーダンス性「うわAR情報あるぞ!」ってのは、実は二次元マーカが最大のインパクトですが、この件は振り出しに戻って、それはいいけど、あまりに、視界内でかなり大きな存在を必要とするということです)


初音ミク」はクリプトン・フューチャー・メディア株式会社の著作物です。 © Crypton Future Media, Inc.謝辞
以下のデータを利用させて頂きました。
初音ミクデータ mikumikoto 日曜モデリング
映像のうち、初音ミク登場部分は、ピアプロ・キャラクター・ライセンスに基づいてクリプトン・フューチャー・メディア株式会社のキャラクター「初音ミク」をレンダリングしたものです。

以下のライブラリ・ツールを利用、参考にさせて頂きました。
・GLMetaseq (工学ナビ橋本様)
ARToolkit(現,奈良先端科学技術大学院大学 教授 加藤博一様 、ワシントン大学HITL様)
    (かなりソースを読んで勉強させていただきました、モジュールを流用させていただきました)
MikuMikuDance (Vocaloid Promotion Video Project, 樋口M様)

作者の皆様に感謝いたします。
(なお、GPLLGPL成果を使わせていただいていますが、これは開発過程で余技で作った内部実証用で商用化どころか配布の予定はありません)
また、その他様々なVR/AR関連の研究を参考にさせて頂きました。
作者の皆様ありがとうございますm(_ _)m