Archive for the Diffused Illumination Category

工学ナビさんのblogにてゼロからはじめるARToolKit on VisualC++ 2008 Express Edition
という記事が公開されているようです.技術共有の精神,見習いたいところ.

あと,Diffused Illuminationのフレーム設計図を手書き中.平日はなかなかやる気がおきないダメな子なので(スロースターター)

最近,近所のスーパー(?)に木材が安価で売ってるのに気付いたので明日買いに行く予定です.
なので,明日,木材買ってる20代の人間を見てもそっとしておいt(以下略)

それに伴って,ソフトの方も仕様固めないとな。。。
とりあえず,指先認識サーバーを模倣するようなプロセス通信アプリを適当に作ってみようかなと.

【追記】
wikiに赤外線光の照射方法について少し書いてみました.

*****
【余談】
先日,blogに書いた本が届いたようです(届いたとの電話がきた).
電話では喜んでたのかがイマイチわかりませんでした。。。(苦笑)

なんとなくヒントが見えてきたので,Diffused Illuminationの実機を作ろうかなと計画中.
ここからは自分用のメモなので,大多数の人には全く情報量がありません.あしからず.

【フレーム】
現在,実験中ということもあり,フレームは段ボールと紙パイプという味のあるダメ構成になっているので,いい加減ちゃんと作ろうかなと.

こういうのって海外だと木材を使ってやってるのをよく見かけますが,試行錯誤の際に後戻り
が大変そうなので,鋼材アングルを使った方が良さそう.使う数量を計算しないと。。。

【ソフトウェア】

おそらく,接触点検出プログラム(タグ検出も含むかも?)とアプリは分割した方が汎用性がありそう.あと,追跡する指先が1つならマウスの動きに置きかえた方が作るの簡単だけど,マルチタッチに対応するとなると,ちょっとそれだと無理そうだな。。。

なので,

[指先] 検出数:fingerNum,座標:fingerPt(x, y)-> 配列(vector)
[タグ] 検出数:tagNum,座標:tagPt(x, y)-> 配列(vector)

のデータをプロセス間通信でもやるといいのかな(多分)

赤外線光をアクリル面に対して均一に照射するという課題がなかなか解決できなくてDiffused Illuminationプロジェクトが足踏みしてたんですけど(もう少しでFTIRに逃げるところだった。。。),ふとおもむろに「鏡使って距離をかせいでみたらいいんじゃね?」的な思いつきで試してみたら思いのほかうまくいってる感じ.

やっと長いトンネル抜けたー!!(かも?)


[追記]
ここの写真(おそらく上から見た図)を見てみると,やっぱりIRライト直当てじゃなくて間接的に当ててるみたいですね.今回僕の場合は鏡でやってみましたが,リンク先のみたいに拡散するような素材を使うのはアリかもしれないなぁ.要確認.

昔見つけた記事をブックマークのどこに置いたかわからくなってしまったので,なんとか見つけ出してこちらにメモ.
それにしても,去年の5月位に発表されたMicrosoft Surfaceって今どうなってるんだろう?

Multitouch Display - Part One - BlaXwan’sMultitouch Interface - JonWikiでmulti-touch技術で
有名なFTIR,Diffused Illuminationの原理や実装に関して簡潔に述べられています(※英語).
特にハードウェアに関しては写真がいろいろ載ってて参考になりそう.明日帰ってから読もう.

[参考リンク]
-Diffused Illuminationで必要な機材がざっとわかる
Diffused Illumination Plans

-FTIRとDiffused Illumination,それぞれの手法の長所・短所がうまくまとめられてます
White Noise - Music, Games, Graphics: Diffused Illumination vs FTIR
FTIR vs DI
FTIR Multitouch and Display Device - Experiments with Processing, OSC - Thomas M. Brand

半月以上放置でした。。。
久々にDiffused Illuminationネタでも.

IR光の照射の仕方はいろいろ試してみたので,今度はソフト的に工夫してみることに.

前回までは単純に初回に撮影した画像を背景として,背景と撮影画像との差分をとっていたのですがちょっと工夫してみたところこんな感じ.ちょっと認識しやすくなったので,認識した指情報を使ってGoogleマップで遊んだりしてました(お約束).
ただ,秋月で買った投光器だと放射角が狭すぎて,まんべんなく照射するのが難しいので,放射角の大きいLEDを使って投光器自作しないといけないかなぁと。。。(めんどい)

背景差分(改良版その1)



あと,余談ですが,videoInput Libraryを使ったサンプルプログラムの修正版を後日wikiの方にアップします.

videoInput Libraryの記事は明日以降に延期.
(ソフ開ショック。。。というよりも単に気が乗らなかっただけ←気分屋なので)

ということで,Diffused IlluminationでIR光の当て方をいろいろ試しています.
この位に照射した方が明度差があって認識しやすいかも.

ここまで来たらblobをトラッキングして,Google Earth APIあたりで遊べそうな予感(ワクワク).
あと,秋月で追加購入した赤外投光器が届いたので,来週末あたりにハンダ付けして試してみようかなと.

背景差分 + 2値化(IR光照射実験1)

アクリル板表面に加工を施し,トレーシングペーパーを透明度の高いものに変更しました.
ちょっと感度が良くなった感じです.

ただ,赤外投光器の放射範囲が狭いので,「赤外投光器をもう一つ購入」 or 「半減角の大きいIR-LEDでの投光器自作」が必要だよなぁ.

とりあえず,一歩前進.

アクリル板(クリアー)表面加工 + Diffuser(トレーシングペーパー)・アクリル板裏面 ver



背景差分 + 2値化

Diffused Illuminationテストの続き.
とりあえず実験だけ。。。

一応,薄紙をアクリル板裏面に貼ったおかげでLED光源が映り込まなくはなりました.
ただ,もう少し目が荒くてもよいかも(もうちょっとIR光が透過して欲しいところ).

眠いので記事は週末にでも書きます.

アクリル板(クリアー) + Diffuser(薄紙)・アクリル板裏面 ver

ええと,3連休は,こちらのサイトで紹介されていたDiffused Illuminationが楽しげだったので
部品調達と簡単な実験をやっていました(眠)

IR Illuminatorは秋月で買った赤外投光器(1000円).IR Cameraは普通のwebカメラをちょっと改造することで調達.そして,今回はDiffuserとして100円ショップで入手したトレーシングペーパーを使ってみました.
※上記サイトではDiffuserはアクリル板の下にありますが,アクリル板上にある方がうまくいく感じなので今のところアクリル板上に貼っています

ということで部品自体はかなり安価で揃えることができました.
#が,半田ごてなどの工具を揃えるのに地味にお金がかかりました…

ただ,アクリル板の上にトレーシングペーパーを貼ると,赤外投光器が直接アクリル板に映り込まないように当てないといけないところが問題なわけですが,ビデオを観るとそれらしく触れている部分がわかるかなと.Diffuserの素材選びも含め,そこらへんは追々考えていきたいところ.
※キャプチャ機器が手元に無いので下記のビデオはフレーム画像→avi→flashという作り方をしてます.面倒くさい。。。

とりあえず,明日から仕事再開なのでもう寝ます。。。

アクリル板(クリアー) + Diffuser(トレーシングペーパー)ver



#[追記] アクリル板(オパール色)+ Diffuser無しver