AR / OpenCV

OpenCV関連本メモ

奈良先端科学技術大学院大学のOpenCVの本が、OpenCV 1.1対応となって、
「OpenCV プログラミングブック 第2版」として、出ていましたpaperうわ、欲しいって思ったけど、初版をもってるから、我慢しましたhappy01

あと、ちょっと前から出てたんですが、「実践OpenCV―映像処理&解析」これも良さげでしたよhappy01この2冊は実際に書店で見て、自分好みの方を選んだ方がいいかも。。



Learning OpenCVの訳本の「詳解 OpenCV」
立ち読みだけですが、いいですhappy01 少しお高めなので、余裕のある時に買おうかと思っています。OpenCV プログラミングブックや実践OpenCVは、どちらかというと実践系、これはどちらかというと教科書系かな?

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

| | コメント (1) | トラックバック (0)

第2回 「コンピュータビジョン・拡張現実感に関する 普通じゃない勉強会」

今日(2009年6月20日)は、明治大学・生田キャンパスで行われた、第2回 「コンピュータビジョン・拡張現実感に関する 普通じゃない勉強会」へ行ってきました。明治大学・生田キャンパスは、去年2回行って、今回で3回目。なんだか来る機会多いなぁhappy01

自分も結構ギリギリ10時に間に合ったくちなんですが、スペシャルートークセッションの面々と2階から会場の5階まで、同じエレベータに乗り込みました。重役出勤sign02

そんなギリギリだったんですが、後から後から、ぞろぞろと人が来て、結局始まったのが10時半くらいからでした。

いやぁ〜、わたしもオタクの部類なんですが、普段こういう人たちの中にいないせいもあって、こういう中に入ると客観的に「うわぁオタクだらけ」って感じますねcoldsweats01

前回は48名だったそうですが、今回(第2回)は、200名を超える申し込みがあったそうで、勉強会というより、なんか学会みたいでしたhappy01
グラフがよく見えなかったんですが、参加者は、社会人4割、学生さん4割くらいだったかな?後はそれ系の研究者さんって感じだったかと思います。
Dsc00239

いちおう簡単にメモっておこ〜。
兎に角、来年も参加できるといいなぁ。。。

オープニング&スペシャルトークセッション

10:25~11:15 R2 : Real×Reality
スペシャルゲストをお招きしてのパネルセッション
こちらの4名でしたpaper

Dsc00241

テーマセッション

11:20 WIMPAR : 実世界でGUIを使いたい(aimino):WIMPARのWIMPは、Window, Icon, Menu, Pointing deviceのこと、Arduino+LEDのLEDをマーカーとして、ボタンに見立てて、GUIをスクリーン上に構築して操作しているデモ。Arduinoやってみたいと思ってはいるんですが、いやぁ〜なかなか時間がないなぁ〜bearing
11:40 SR : 二次元に入ってみた(chakki):SRのSは、2次元(Second)のこと、「入る」とは、仮想空間に入るという感じで使っているのかな?投影されている2次元画像を摘んだり、押したり、引っ張ったり、「脂肪のかたまり、2つをもんでみました」って....ん〜実際に触れているわけでないのに、どんな感触...というか感覚になるんだろう?わたしは本物がいいなぁ〜happy01

12:00 - 13:00 昼食

13:00 AR : 全周囲裸眼立体ディスプレイを用いた2Dループゲームの提案(吉田 匠):ARのAは、Anti-RealityのA。Realの反対のUnrealという意味でなく、仮想現実から現実感を抜くっという感じのニュアンスかな?裸眼で3次元空間を体験できる360度の円筒形のディスプレーに、3次元でなく2次元を映し出すことで、現実感を取り除いてみたらどうなるか?ゲームでデモしてた。ブロック崩しは、横の壁がなくなるってこと。横の壁がないと、つまらないそうです。横スクロールシューティングゲームは、自分が撃った球が360度ぐるっと一周してきて、後ろから当たってしまうかもしれないので大変そう。ってか笑える。スーパーマリオは、マリオの進行とともに自分もグルグル回るってことになる。コントローラーがワイヤレスじゃないと絡まってしまうそうです。
13:30 PR : 拡張現実戦争 - 見えざる星の海、東京へ(akio0911)PRのPは、何だ?プロモーション?コスプレで発表されていました。以前、「電脳スターラリー」とうのをされたそうで、今度は「拡張現実戦争」というのを企画中のようです。都内全体を拡張現実によって仮想的な銀河連邦にし、みんなで戦争しまくる拡張現実ゲームだそうです。今年の8月くらいを予定しているそうです。
13:40 JR : モバイルデバイスを空間にしてしまおう(niryuu):JRのJは、JointedのJ。携帯端末の表だけでなく裏面もタッチパネルだったらどんな使い方ができるだろう的な話でした。iPhoneのゲームとか、タッチパネルって自分の指が邪魔で操作しにくいと思う時がよくあります。裏面なら良さそう。

14:00 - 14:10 休憩

14:10 XR : AR Cooking 素材の組み合わせは∞(無限大)?(大江貴志):XRのXは、ExpandedのX。ARToolKitで使うマーカーを料理に使う素材が描かれた4分割されたカード(マーカ)として作成。4種類の素材カードを組み合わせると、初めてマーカーが完成。そこに出来上がった料理の3次元画像が出現。
14:30 πR : 盛り上がるディスプレイ「PhotoelasticTouch」(佐藤俊樹, 福地健太郎)πRのπは、おっぱいのπ?素敵なプレゼンでした。エロスチックな?いや、エラスチックな素材をディスプレーに張り付け、その上からディスプレーを押すことにより、弾力性を体感できる仮想現実や拡張現実を行う。あっちの世界を、少しだけこっちに持ってくることができる。
14:50 AVR : ARを用いた身体感覚改造レッスン- いつか出会う「あっち」の世界の嫁のために-(津坂真有)AVR...わかりません。。。「こっち」の世界から「あっち」の世界へ行く為には、修行が必要だそうだ。。。確かに、視覚を失った人でも、まるで見えているように歩きますもんね。。。この方なら、その修行も乗り越えられそう。
15:10 ∀R : 生と死を越えるリアリティ(宮下芳明)Rのは、ターンA=すべての意味??亡くなった方を蘇えさせることはできないのだろうか?

15:30 - 15:40 休憩

テクニカルセッション

15:40 SpaceNavigatorをGLUTに(まお)スペースナビゲーター?という3次元用のPointedデバイスをWindowsでも使える様に開発。
16:00 多数のセンサ、クリエーターと技術者を結ぶオープンソースプロジェクトKAKEHASHI(ksasao):KAKEHASHIプロジェクト:http://kakehashi.codeplex.com
16:20 touchBox: マルチタッチできる箱を作ってみた(arc@dmz):
箱の中から画像を映して、外からタッチするの?いまいち良さがわかりませんでした。。
16:40 OpenCVをさらに簡単にするライブラリ 車輪の再発明に終止符なるか(橋本 直)
車輪って、ラップすること?

17:00 自由時間
17:15 勉強会・終了

懇親会

17:30~19:30 懇親会(明治大学・学生食堂3F)

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

| | コメント (0) | トラックバック (0)

あれこれ考えてみる(OpenCVでロボ認識...4)

OpenCVARToolKitも、REALbasicで扱えるようにしたので、テスト用のプログラムが気軽に作れるようになりましたhappy01まだまだ、応用編というわけにはいかないので、みなさんに還元できる様なソフトウエアには至ってないんですが、サンプルを参考にあれこれ作って、その中からロボット関連に活かせるようなものを、少しづつ紹介していきたいと思います。

one動いている物体の検出

動いている物体を抽出します。要は、背景から背景でない部分を抽出しているんですが、背景か背景でないかは、背景は輝度変化が少なく、動いているものは輝度変化が大きいことを利用してます。なのでカメラは定点カメラで、背景画像の中に動くものが含まれないのが理想的ですね。

ソフトはカメラキャプチャーしているものでも動画ファイルでも扱える様に作っているので、今回は、Macwinさんに許可をもらい、このページにある、この動画SnapZ pro Xで動画としてキャプチャーしたものを使わさせて頂き、テストしました。

-------------------------------------

-------------------------------------

結果:影の部分も認識されてしまいますが、少なくともロボットがどこにいるのかは抽出できそうです。ただ人や他のロボットなど動けるものが、同時に写っていると、それらも抽出してしまうので、目的のロボットを検出するためには、他の手法も組み合わせる必要がありますね。

two動いている物体の追跡(その1)

Lucas & Kanadeのオプティカルフローのアルゴリズムを用いて、動いている物体を追跡します。オプティカルフローは、時間連続な画像列を利用して,動いている物体の速度場を求めます。これも同じくMacwinさんの動画を利用させて頂きました。動画では、ロボットの何カ所かに適当に点を打ち、その点を追跡しています。

-------------------------------------

-------------------------------------

結果:動きが速い部分の点はズレが大きいです。点が他と重なると、例えば胴体と腕が重なると、胴体にあった目標点が腕にズレてしまいます。ま、精度はとりあえず置いといて、いちおう、点の動きは速度だけでなく方向も(つまりベクトルとして)検出できるので、ロボットがどっちへ動いているのかも検出できるハズですね。oneで抽出した物体を、このtwo方法と、ARToolkitの3D空間の認識を合わせて、ロボットが、どっち向きに、どれくらいの速度で動いているか認識できるといいですよねhappy01

--------

【参考】

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

| | コメント (0) | トラックバック (0)

あれこれ考えてみる(ARToolkitでロボコントロール?...2)

前回、ARToolkitを使って、ロボザックを表示させてみましたが、その後、あれこれやって、こんな感じになりましたhappy01
---------------------------------------

---------------------------------------
えっと、前回のロボットには色がなかったんですが、今回はただ単に色が付いただけsign02という訳ではありませんよsign03先日、REALbasicでOpenCVを使えるようにしたんですが、今回のこのムービーは、REALbasicARToolKitを動かしている映像ですscissors

オリジナルのARToolKitの3D GraphicsエンジンはOpenGLなんですが、REALbasicでは、OpenGLの扱いがいまいちよくわからなかったんで、Quesaを使いました。RZ1シリーズのソフトのロボザックは、Quesaで動かしているんで移植がラクチンになりますhappy01

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

| | コメント (0) | トラックバック (0)

あれこれ考えてみる(OpenCVでロボ認識...3:REALbasicでOpenCV)

久々にOpenCV関連ですhappy01というか、ず〜っとあれこれやってはいたんですが、敷居が高くてなかなか進んでませんでしたが、REALbasicで、うまく動くようになってきたので、その方向で進めて行こうかと思ってます。

OpenCVの日本語訳のリファレンスが、ここにあるけど、REALbasicで動くように書き換えたのは、まだ、100個くらいsweat01ざっと見て、500個くらいのAPIがありそうですよねsweat01sweat01ひぇ〜

けど、REALbasicで、OpenCV動かしている人もいなさそうだしhappy01、先日、さんざん文句を言っていたんですが、OpenCVのAPIを作っちゃえば、その後がラクチンなんでねぇ〜heart04

で、まだマックだけだし、まだ顔しか認識できないけど、こんなの作りました。REALbasicでOpenCVってhappy01ちょとすごい??

Rbfacedetectscreensnapz002
いちおう、haarcascade_robozakfaceとか入れておきましたが、以前ロボザックの顔認識がうまくいったファイルがどこかへいってしまって、この設定ファイルはまったくダメでしたsweat01

マック版しかないけど、ダウンロードできるようにしてみましたので、楽しんでみて下さいhappy01。マックにカメラが付いている方/Webカメラをお持ちの方は、動画で楽しめます。あいにくカメラを持ってない方でも、画像ファイルの方で、楽しめますよhappy01

で、これを発展させて、あれこれ作れるといいんですが。。。

例えば、まだ購入していないんですが、なんか、iLife'09のiPhotoが顔認識できて、アドレスソフトの写真の貼付けに便利らしいですねhappy01そんなソフトも作れそうだし、MVPenみたいなのも、作れそうだし、仕事でも役立てられそうだし、ワクワクhappy01



----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村


| | コメント (0) | トラックバック (0)

あれこれ考えてみる(ARToolkitでロボコントロール?...1)

以前、OpenCVのことを書きましたが、OpenCVのことも、なかなか発展させられてないんですが、今回は、ARToolkitを使って、ゴニョゴニョやってみました。

ARToolKitは、仮想世界と現実世界を融合するもので、拡張現実感(Augmented Reality:AR)と呼ばれていて、ARToolKitは加藤博一先生とワシントン大学HITL(Human Interface Technology Lab)によって開発されたもので、OpenCVの3D版みないな感じでしょうかね?

検索すると、た〜くさんの方が試されているようですので、あれこれ細かいことは書きませんが、OpenCV + ARToolkitで、ロボットを認識させたり、コントロールさせたりとかできるかもしれませんねhappy01たまたま今日、Avalonさんが、ジェスチャー認識の技術のことを紹介されてました。OpenCV + ARToolkitで似た様なことできますよねぇhappy01

とりあえず、以下の2冊購入happy01

  • 拡張現実感を実現するARToolkitプログラミングテクニック
  • 3Dキャラクターが現実世界に誕生! ARToolKit拡張現実感プログラミング入門

●テスト1

工学ナビさんの所にあった、axis.mqoを、同じく、GLMetaseq.h, GLLight.hをマックで動くように書き換えてやってみましたpaper

●テスト2

RZ1ActionやRZ1Basicで使っているロボザックの3Dデータを使ってやってみましたhappy01位置合わせとか、テクスチャー付けてなくて味気ない、おまけにライティングの方向が悪かったみたいsweat01ま、今後、画面上で3Dのロボットを動かしたり、ジェスチャーでロボットを動かせたりできたらいいなぁhappy01

●リンク

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

| | コメント (0) | トラックバック (0)

あれこれ考えてみる(OpenCVでロボ認識...2)

「OpenCVでロボ認識...2」として、書くほどの内容ではないんですけど、OpenCVの本、本屋などにはなかったので、アマゾンで注文していたのが先週金曜日に届きましたhappy01

奈良先端科学技術大学院大学 OpenCVプログラミングブック制作チーム (著) の「OpenCVプログラミングブック」ですが、結構いいです、しっかりしたリファレンスもついてるし、お気に入りhappy01heart04

プログラミング関連の本、なんでもかんでも持っているって訳じゃないけど、なんだかんだで、結構あれこれもってますconfidentけど、なかなかうまいこと書いてる人は、少ないですよねbearing大学レベルで書いてくれてるのって、いいのかもしれないですね。

整理されてない本棚ですがsweat01プログラミング関連の本(一部分)
Dsc00071x

で、ここんところ、ブログ、だんまりになっているのは、画像認識関連であれこれやってて、なかなかロボットに繋がる様なネタ作りができてないのですが、「ロボ認識」というテーマで書いていますが、人のポーズを認識させて、それに従ってロボットを動かせるって言うのもできたらいいですねhappy01それも課題に入れておこうsign01

今、「画像処理とパターン認識入門」の本も勉強中、認識楽しいですhappy01この本のコードはWindows用なので、マックで動くように書き換えつつ楽しんでます。文字認識ですけど、手書きの「え」を認識させてみましたhappy01
Onlinerecognitionscreensnapz001

持ってる画像認識関連の本

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

| | コメント (0) | トラックバック (0)

あれこれ考えてみる(OpenCVでロボ認識...1)

仕事がらみで、画像認識とか、パターン認識をやりたいなぁと、1年くらい前、「画像処理とパターン認識入門」という本を買いましたが、最近になってやっとぼちぼちと始めましたsweat01

認識させたいものは顔でもロボットでもないんですが、デジカメや携帯のカメラなどでも最近は顔認識機能がありますし、顔ちぇき!なんていう楽しい利用法もありますし、使いこなせられれば何かと役に立つのではないかと思っています。

ということで、OpenCVというライブラリーを使って、ロボットを認識させてみようと、あれこれ楽しんでいます(下図)ので、何回かにわけて書いていこうかと思っています。

顔を認識(動画)
--------------------------------

--------------------------------
ロボザックを認識(顔は認識されない)
※動画からの1枚
Quicktime_playerscreensnapz001
--------------------------------

で、OpenCVなんですが、Windowsな方は、OpenCVライブラリーを ダウンロード/インストールするだけで、サンプルコードも画像認識のユーティリティもコンパイルされているので、簡単に(すぐに)体験することは可能ですが、Mac やLinuxはあれこれインストールしたり、コンパイルしたり、あれこれしたりと、すぐに体験というわけにはいきませんので、ちょっと敷居が高いかな? ま、検索すれば、あれこれ引っかかりますので、それらを参考にさせて頂きましたので、

今回(第1回)は、OpenCV関連、あれこれリンクですsign01

OpenCV(おーぷんしーぶい)とは

  • Open Computer Vision Libraryの略。
  • インテルが開発・公開しているオープンソースのコンピュータビジョン向けライブラリ。
  • プラットフォームは、WindowsならびにLinux、FreeBSD等全てのPOSIXに準拠したUNIXライクなOS、Mac OS X等をサポートする。
  • 画像処理、構造解析、モーション解析と物体追跡、パターン認識、カメラキャリブレーションと3次元再構成、機械学習の機能がある。

ダウンロード
先ほども書きましたが、Windowsな方は、OpenCVライブラリーだけでいいんですが、Macな方はあれこれインストールが必要になるので、ダウンロード先をリンクしておきました。

インストール

画像認識

リファレンス

Fink/MacPort

サンプルコード

その他




----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

| | コメント (0) | トラックバック (0)