タグ「ar」が付けられているエントリー

CSS×2.0 in CSS2009

| CSS×2.0 in CSS2009
[4403]SAR研究会.png

昨年に引き続き,今年も壇上に上がらせていただきました.ネタとしては5月頃から寝かしていたものです.着手したのは8月です.駆け出しはこの辺で,ピークはこの辺.反省の弁としては,夏休み中に終わらせられなかったことが悔やまれる.途中にCSSを含むいくつかの論文執筆が挟まってしまったので,意欲が一気にトーンダウンしてしまいました.

昨年はセマンティックWebとセキュリティ,今年はARとセキュリティについておはなしをしました.異分野コラボレーションです.境界研究です.境界研究は両分野を知っている必要があるので,なかなか手を出しづらい反面,非常に面白い応用ができたりするので,ボクは好きです.少しでも興味を持ってくれる方々が増えていくといいなと思って,しゃべってます.べしゃりが面白くない場合は,すべて申し訳ないです><.あ.フォントはご存じのように,英文フォントは4403フォントを利用しています.和文フォントはみかちゃんです.手書きの暖かさをあなたに.

発表内容については,多くの方々から「面白かった」や「すごい」というご意見をいただきました.ありがとうございます.中途半端で申し訳ないです.完成させたかったです.やはり,体をはるでも,何かを作るでも,かけた時間は無駄にはならないなぁと思いました.投票では何票か獲得できたそうです.ありがとうございます.しかも,各社賞として富士通賞をいただきました.本当にありがとうございます!

P1040138.JPG

会場では右スクリーンにTwitterのTLが表示されていたと思います.

P1040126.jpg

これを作ったという話は以前書きました.お楽しみいただけたでしょうか.多くの人につぶやいていただけたようで,2.0以降も活発にTwitterが利用されていて,とても楽しかったです.あの事件を目撃できたのも,Twitterのおかげ!

P1040134.JPG

さて,今回のCSS×2.0では委員として仕事をさせていただきました.富山の銘酒を楽しんでいただけたでしょうか.参加者も想定を上回り,席が足りなくなってしまいました.びっくり.でも,残念なことに,裏方に徹していたため,皆様の発表を聞けなかったのが残念です.面白そうな発表がいっぱいあったのに.

来年もがんばりたいと思います!皆様のご参加をお待ちしております!

090812_overview01.png

やろうとしていることは,上図のような感じです.QRコードをデコードした後はどうするのかという話は,また別.初音ミクでも表示させておけば良いんじゃないかと思っている.おそらくは,そこから先はOpenGLの出番かと.うーん.勉強するべき技術が多いぜ.

何故こんな流れになっているかと申しますと.最初はlibdecodeqr付属のwebcamサンプルを拡張していたんですが,いかんせん歪みに弱く,QRコードをかなり大きめに撮影する必要がありました.これは複数のQRコードを同時に読ませようとする目的からして,かなり厳しいです.なので,OpenCVで画像処理してやればいいんじゃね?という発想からきています.射影変換等で多少変になっても,RS符号によって誤り訂正しまくってくれることを期待しています.そうすると,今度はOpenCVに処理させるべきQRコードと思われる部分をどのようにして切り出すかという話になるので,それはARToolKitに押しつけた形です.要するには,自力でコードを書く量は最小限にして,既存技術を最大限に活かそうという考えです.目的の本質じゃないところで苦労したくないんです.

というわけで,こんな感じの流れで実装していますが,「はっ?ばかじゃねーの?そんなの××で一発じゃん?」とか「○○を使ってARToolKitで直接QRの領域切り出せよ」とか「△△なら傾いたQRコードでもデコードするし,みたいな?」なんていうご意見や情報等がありましたら,どしどしとお寄せいただきたいと思います.特に,AR業界や画像処理業界の方々からのご意見をお待ちしております.異分野コラボレーションだ!(いや,マジでなにかご意見下さいorz)

090812_ar01.jpg

今日の成果.あとは,選択された領域を切り取って,射影変換して,libdecodeqrに投げてみる.上手くいけば,上手くいくはず.ただ,残念なことに,QRコード同士が近すぎて誤認識が多いです.領域が正方形に近いかどうかというチェックも必要かしら?実際はこんなに詰まった状態では使わないから,無視でも良いかな?

capture_11082009_012108.jpg

赤枠はイメージです.マーカパターンはhiroを使っているので,パターンをシンボルで作り直せば,もうちょっとちゃんと認識するかと.

libdecodeqrでがんばって,複数(といっても2個)のQRコードを同時に認識させることはできた.理論上は何個でも認識するはずなのだが・・・.Webカメラで読み込んでいたり,QRコードは模様が細かかったり,歪み等の補正を何もしていなかったりと,いろいろな状況が重なり合って,2個が限界の上に,全く安定しない.これは困った.

というわけで,libdecodeqrでがんばるのもどうかと思ったので,ARToolKitとOpenCVとlibdecodeqrを組み合わせる方向でがんばってみようかと思う.

で.結局のところ,基本アイディアはQRコード上の初音ミクに戻るのだが,これはlibdecodeqrを使っていないようだし,座標変換してるみたい.座標変換で平面に持ち込めば,libdecodeqrで認識できると信じている.てか,libdecodeqrは読めないQRコードパターンが多いような気がする.特に,バージョンが高くなるとダメぽ.これはカメラの性能だろうか?

なんだか,気合いの入り具合が間違った方向に向いてきた・・・.まずいまずいまずい.もっとさらっと仕上げる予定だったのに!QRコード上の初音ミクのソースが公開されていないから,こんなに苦労するんだ!(責任転嫁)

ARToolKit拡張現実感プログラミング入門

ARToolKit拡張現実感プログラミング入門
著者: 橋本 直
価格: ¥3129(税込)
出版社: アスキー・メディアワークス (2008/9/17)
ISBN-10: 4048673610
ISBN-13: 978-4048673617

工学ナビで有名な橋本氏が執筆したARToolKitの入門書.今更ですが,買ってみました.6日に注文して,8日に発送されて,10日に到着しました.いやいやまさに,入門書です.授業用の教科書にも使えるかと思います.サンプルもたくさん収録されているので,ARToolKitとはなんぞや?というレベルの方に最適です.中身はそれほどに難しくありませんが,行列がでてくるので,その辺の計算や表記法が分かっていないと,その部分を理解するのは難しいかもしれません.が,分からなくても,動かせますw.試しに動かしてみて,それから納得するのが工学ですよね?

まとめ:
入門には最適.オレには不適.もう1冊の方も買ってみようかな・・・.

諸事情で,QRコードを複数認識したい衝動に駆られた.で.libdecoreqrってのが便利らしいので,試してみた.現時点までで分かったこと.

  • OpenCVが予想以上に便利だった
  • libdecodeqrで複数QRコードを認識させるには,外側からのアプローチじゃダメそうなので,中身を弄らないとダメそうなことは理解した
  • QRコードの方がイメージしやすいと思ったんだけど,
  • あきらめてARToolKitで複数マーカ認識にした方が良いだろうか
  • 実はARToolKitはあまり得意じゃないです><;
  • ニコニコ技術部のソースファイル(もしくは考え方)がみたい・・・
  • 具体的にはQRコード上のミク

おなかすいた.

7月10日に慶応義塾大学三田キャンパスで,AR Commonsキックオフが開催されました.行く気は満々だったんですが,授業がねぇ・・・.水金の出張は難しいですorz.というわけで,参加してないけど,参加した人たちのまとめを読んだり見たりして,行った気になってみるための備忘録.この差が,情報系研究会と勉強会の大きな差ではないかと思う.学会の大会やシンポや研究会をtsudaったりustったり,あまつさえブログったり,なんて滅多に見かけませんものね.学会の社会貢献って,なんなんだろう.

拡張現実キャンペーントップ10

Augmented Reality(拡張現実)のキャンペーン事例がビデオでRevolutionに出ている。

Ad Innovator: 拡張現実キャンペーントップ10

上智のNさんに.見てるかな?これを含めて,小ネタはyocchan731のはてブをご覧下さい.

AI学会の会誌がおもしろい旨を取り上げてきましたが,情報処理学会誌Vol.50 No.5もおもしろかったです.具体的には,可視光通信マッシュアッププログラミングでしょうか.

可視光通信の話ではARとの融合の話が出ていましたが,正にその通りで,早く実現すればいいのにって感じです.ARに限りませんが,可視光通信の可能性としては,以下のようなものがあるんじゃないでしょうか.普通に仕事しているように見せかけて,ディスプレイから「もう死にそう」って出てたら,ワロスワロスじゃないですかー.部屋の照明から常に「研究しないならカエレ!」って出てたら,ワロスワロスじゃないですかー.東京電力から送られている電気を使ったら照明から「電気を大切にねっ!」って出てたら,広告費浮くじゃないですかー(PLCとの合わせ技が必要か?).可視光通信のいいところ兼だめなところは,光が届く範囲でしか通信ができないことなので,エリアワンセグよりももっと局所的に客を集められるじゃないですかー.4Mbpsもでるなら,ワンセグよりも画質良さそうじゃないですかー.イベントに来た人にだけ,可視光通信で着うた配信とか,余裕そうじゃないですかー.ツリーのイルミネーションから,クリスマスソングが流れてきたら,ロマンティックじゃないですかー.お化け屋敷のフラッシュ照明から「ぎゃーー!!」っていう叫びが送られてきてたら,興ざめじゃないですかー.パトカーの赤色回転灯から「おしっこもれちゃう!」ってでてたら,きっとみんな総ブロックするじゃないですかー.夢が広がりんぐ.

関連:
人工知能学会誌がアツイ! - 4403 is written
「国際会議に通すための英語論文執筆」特集 - 4403 is written

せっかくだからまとめ.こっちの環境は,Windows XP Pro SP3にVisual Studio 2008 Proです.

ARToolKit on Visual Studio 2008
なんというか,工学ナビ様の通りにやればいいと思うよ.このガイド通りで,トラブルフリーです.最高♪

PTAM on Visual Studio 2008 w/ Web-Camera
こっちはちょっと手こずる.手こずるっていっても,時間がかかるっていうだけで,以下の手順に従えば,できます.今回は現時点での最新ソース(v1.0-r111, Mon, 11 May 2009 16:38:02 +0100)を利用しています.基本的なガイドは以下の通り.

マーカレスAR(PTAM)のソースコードを動かしてみた(WindowsXP VisualC++) | happymeme

今回は最新ソースのREADME.txtに従って,TooN,libcvd,gvars3をCVSからとってくる.ガイド通りだと,build\vc2005となっているが,最新ソースのREADME.txtで示されているリビジョンをダウンロードすると,build\vc2008がありますので,それを使います・・・と見せかけて,slnが変になってるのか,読み込めないので,結局build\vc2005を使うのでした.どんまい!てか,gvars3だけ上手くコンパイルできない.config.hがない件については,config.h.inをリネームします.もう1つのエラーは,以下の通り.

以前のバージョンのソースを参考に、次の行を、

template static T& get(const std::string& name, const T& default_val=DefaultValue::val(), int flags=0);

次のように書き換える。

template static T& get(const std::string& name, const T& default_val=T(), int flags=0);

とりあえず、良しとする。

自己満足なBLOG

えーと.上手くいきません.上手くいかないので,gvars3.hの261行目を以下のように書き換える.

template<class T> static T& get(const std::string& name,
const T& default_val=T(), int flags=0);

実際には改行しないで下さい.準備が整ったら,PTAMをWebカメラで使えるようにいじります.もちろん,工学ナビ様の思し召しのままに.手順としては簡単に述べると以下の通り.VideoSource.hとVideoSource_Win32_EWCLIB.ccをPTAMのルートに.PTAM\Build\Win32にあるVideoSource_Win32_CMU1394.cc以外の3ファイルをPTAM直下にコピー.CameraCalibrator.vcorojの208行目とPTAM.vcprojの368行目を以下の通り書き換える.

書き換え前:RelativePath=".\VideoSource_Win32_CMU1394.cc"
書き換え後:RelativePath=".\VideoSource_Win32_EWCLIB.cc"

後は神に祈るのみ.あ.dxtrans.hの件を忘れていた.

そうですね。
ここにjiapeiさんが書かれている方法を元に編集したら若干警告はあるもののビルドできました。
SampleGrabber も使えました。
私の環境における編集内容は下記です。
//#include "dxtrans.h" ・・・ 495行目
IDxtCompositor //: public IDXEffect ・・・ 979行目
IDxtAlphaSetter //: public IDXEffect  ・・・1484行目
IDxtJpeg //: public IDXEffect ・・・1725行目
IDxtKey //: public IDXEffect ・・・2400行目

オラ検: DirectShowと戦うスレ Part 2 (990) via DirectX SDK November 2007にdxtrans.hが入っていない件について - DenpaFreak

これでコンパイルはできたが,Webカメラがないので,続きは月曜日以降に・・・.

関連:
SourceForge.net: ARToolKit
Parallel Tracking and Mapping for Small AR Workspaces (PTAM)
工学ナビの中の人の研究と周辺 ゼロからはじめるARToolKit on VisualC++ 2008 Express Edition
マーカレスAR(PTAM)のソースコードを動かしてみた(WindowsXP VisualC++) | happymeme
自己満足なBLOG
工学ナビ - BACKYARD
DirectX SDK November 2007にdxtrans.hが入っていない件について - DenpaFreak
オラ検: DirectShowと戦うスレ Part 2 (990)
?マーカーレスAR技術「PTAM」をDVカメラで動作させてみる - program - 釣堀.net
PTAMをがんばってみる - 4403 is written

富士通は2009年5月12日、暗号化した印刷物をカメラ付き携帯電話から閲覧する技術を開発したと発表した。同社は「世界初」としている。

暗号化した文書を携帯電話のカメラで閲覧、富士通が開発:ITpro

これはおもしろい!これってリアルタイムにプレビュはできるようになるのかな?何がいいたいかって,セカイカメラやARみたいに,カメラを通してみた世界は別のように見える,つまりは復号されて見える.アイディアはここに公知にしておくから.

今現在,WBSでやっているわけだ.個人的に概ねウェルカムなんだけど,情報はプッシュではなく,プルであって欲しい.プライバシダダ漏れ的な意味で.

それにしても,ARさまさまの時代になってしまったなぁ・・・.ARじゃ情報は整理できないんだよなぁ・・・.まずは情報大洪水のネットを整理することを先にやりたいよね.うん.

初音ミクが歩いているらしいので,羨ましく思います.というか,こういうネタこそナイトセッション向けですよね.というわけで,来年に向けて準備してみる.いや,直近では研究室説明会か?コンパイルガイドは以下のページを参考にしまくり.

マーカレスAR(PTAM)のソースコードを動かしてみた(WindowsXP VisualC++) | happymeme

コンパイル環境はWindowsXP Pro SP3にVisual Studio 2005 Proです.DirectX SDKは・・・なんだかMicrosoft SDKs v6.1って書いてあります.よくわからない.

以下,躓いた点.

CVSが繋がらない
お約束です.cvsもsvnも繋がらないとは!過剰なFWですねっ!CiNiiも繋がらないし,不便だわん!仕方がないので,sshで外部サーバに接続してゲットしてきました.なんだかなぁ・・・.

dxtrans.hがない
お約束っぽいです.

どうも怪しいと思ってたんだ。DirectX SDK November 2007にはdxtrans.hが入っていません。

ので、qedit.hをインクルードしているファイルをデバッグ(コンパイル)するとエラーが出ます。

DirectX SDK November 2007にdxtrans.hが入っていない件について - DenpaFreak

対策通りに修正します.バージョンが違うので修正箇所も違うようです.オレの環境ではそれぞれ,498,837,1151,1345,1735行目でした.トラブったら情報はどんどん公開しよう!

IEEE1394カメラからWebカメラへの変更
工学ナビの中の人のソースを利用.

3. PTAMにもともと同梱されている VideoSource_Win32_CMU1394.cc の代わりに
   このフォルダに同梱されている VideoSource_Win32_EWCLIB.cc を使う.

同梱のreadme.txtより

さらっと書かれていて,見事にわからなかった.その後のリビルドでエラーをみて理解した.CMU1394の変更はCameraCalibrator.vcprojの208行目を書き換えることで解決.

関連:
Parallel Tracking and Mapping for Small AR Workspaces
YouTube - Parallel Tracking and Mapping for Small AR Worspaces - extra
『攻殻機動隊』『電脳メガネ』どころではない拡張現実感技術の現在 | 王様の箱庭
Cagylogic: PTAM

単なる愚痴.朝から午後の早い時間まで,ずーっとVisual Studio 2005 Proと睨めっこしてた.今日,オレを苦しめたのはARToolKitTouchlib

ARToolKitは2年前にVC6で動かしているから,事もなく行くと思ったら,いかないでやがんの.OpenVRML関係が上手くビルドできない.メチャメチャ苦労した挙句に,結局諦めて,デモソフトのメタセコイヤのやつを動かそうと思ったら,こっちもビルドが通らない.おかしいなぁ・・・.これは普通にできたはずなんだが・・・.VC6とVS2005でこんなにも違うとはorz.一応,目標のところまでは動かせて,「これじゃダメだ」ってことが確認できたのでok.

続いて,Touchlibのビルドを行うも,こっちは散々な出来.サッパリダメだ.結局,何一つビルドできなかった.2時間も投資したのに><.デモソフトは動かせたが,キャリブレーションの仕方が分からない.何かの手順を間違えているんだと思うが,如何せんドキュメントが少なくて,何をどうして良いのやら・・・.smokeくらいはキャリブレーションなしの勘で動いて欲しい・・・.精度なんて求めないのに.それっぽく動いてくれるだけで良いのに・・・.

よくわからんのだが,どっちもVS2003.NETなら上手く動くらしい.でも,今更2003は入れたくないので,入れるならVC6だろう.VC6マンセー!ちなみに,VS2008はまだ使ったことがない.MSDN AAに無いんだけど・・・.要求すると出てくるのかな?

結論:
Macを買って,Objective-Cを使えばいいんだと思う.マジで.

「さすがにここまでくるのはもう数年先のことだと思ってました」「しかもソースコードまで配布されるともうやってられませんねー」「マーカー系AR研究者全員涙目じゃんw」「それなんて俺wwサーセンwww」
『攻殻機動隊』『電脳メガネ』どころではない拡張現実感技術の現在 | 王様の箱庭

これはすごい!すごすぎて噴いた.いつの間に,こんなに進んでいたんだ.

オレはこの分野の研究者ではないわけだが,ARToolKitなるツールを利用することで,簡単にARで遊べることを知り,D3前半はそれで一時期遊んでいたわけです.2007年度3年ゼミ説明会で,オレは(研究室の研究テーマと全く関係がないのに)ARを使ったデモをやったり,「これからはARの時代だ」などと述べたわけです.そんな話を聞きつけたVRの研究をしている研究室のM1君に「ウチはARとVRの両方を使ったMRですから.ARなんて,プw」のように言われたような被害妄想なわけですが,ホラ見ろ!って感じ.ARの基礎技術が大変なことになり始めている.

この技術の本当のすごさは分野の研究者に任せるとして,利用者の立場からして何がすごいって,マーカーが不要であること.ARToolKitを使って遊んでいたときも,マーカーの作成が面倒だった.オレに言わせれば,メタセコイアを使った3Dオブジェクトの作成に挫折したわけだが・・・.そして,あれだけのトラッキングをリアルタイムで実行していることもすごい.ARToolKitで遊んでいたときは10体程度で動作が怪しくなってきたような記憶がある.マーカー系だというのに・・・.

この技術に関する論文は作者のサイトで公開されている.そして,ソースコードの公開も近いうちに実現されるようだ.オレにとっては,新しいおもちゃが1つ増えそうだ.

プロフィール

e-m@il @ddress