2011年01月24日

もどかしい...

なんかKinectの購入時にタイミング良く発表されたものでついつい
バージョンアップしてしまったModo501だが、実際のところKinect
用の30万頂点のモーフシーンだと結構落ちるので401を使ってたりする。
ダメジャン!

まぁなんかもったいないので、今回目玉の一つであるスケマティック
でチェーンRigを組んでみた。

スケマティックはノードベースのモーションコントロールシステムで
ぶっちゃけICEキネマティクス見たいなもん。ちょっと面白いのが
アセンブリでRigをグループでまとめ階層的に管理することが出来る
機能だ。

ノードベースのシステムはノードの個数が少ない場合は判りやすいが
数が多くなると手に負えなくなる。この例の用に同じものが沢山並んで
しまうとエラーも起こり易いし、修正が入った場合はかるく死ねる。

spg1.jpg

アセンブリはプログラミングの関数のように機能を一まとまりとして
ブラックボックス化し、個数の増加を抑えることが出来る。インスタンス
化も可能なので上図の様なスパゲティ状態になってもインスタンス
ノードだけ調整することで管理が行い易くなるのだ。

Chen1_parts.jpg
Chen1.jpg
Chen1_tree.jpg
今回作成したチェーンRigは1コマ1コマをパスコンストレインで制御
している。チェーンのコマには凸と凹があるのでこの二つを1セットと
してアセンブリ化し部品化した。あとは部品アセンブリをインスタンス
で増やして番号を与えてやるとこんな感じのRigが作成出来る。








インスタンスとアセンブリの階層化によってチェーンみたいに数が多い
Rigでも比較的楽に管理できる。すごいせModoスケマティック!

そんな素敵なスケマティックですが欠点があります。

一旦セーブするとロード出来ない... orz

どうもアセンブリの入力/出力チャンネルLoad/Save周りにバグがあるっぽい。
つーか何とかしてくれぃ!

注1)そーいえば、LW10ももうすぐだねぇ。一応バージョンアップはする予定なんだけど...
注2)SURFによる特徴点抽出を調査中。あるぇ、もしかしてマーカーレスでもいけそうな気がしてきた。
posted by noboyama at 23:21| Comment(0) | TrackBack(0) | modo

2011年01月16日

車輪の再発見...

なんか本家マイクロソフトがAvatar Kinectでフェイシャルキャプチャーを
やるみたいだ。マーカーレスでジオメトリまで作るものらしい。
早晩、OpenNIのサポートも始まりそうな気がする。

http://www.youtube.com/watch?v=t0ot_3q-pSA&feature=player_embedded

もしかして無駄骨?(>_<)








7頂点限定でマーカーの位置同定は出来るようになった。
まだ隠れて取れなかった時の補完はうまく動いてないけど。

controller_new.jpg

検出したマーカーの位置でドロネー三角形を作りポリゴン化
している。エッジ数から真ん中は確定できるが、右上とか
左上はいまいち。いんちきくさい方法しか見つからない。
なんとかならないものか...(゚ε゚)
posted by noboyama at 23:56| Comment(0) | TrackBack(0) | kinect

2011年01月10日

顔の部位を検出する

OpenCVには顔認識用の関数とデータが用意されている。顔だけ
ではなく、目や鼻、口といった部位のデータもある。これを
使えば顔の部位を検出し、トラッキングすることが可能だ。

...理論的には。

ところがこれが結構うまく行かない。まず速度が極端に遅い。
鼻など比較的認識しやすものもあるが目や口は形状が似ている
為にうまく行かない。また、洋服のしわ等や髪の毛の影を
誤認識し易い。

ためしに最も精度が良かった鼻にControllerをつけてみた。






うーん、精度が微妙....。しかも検出に1フレ/1秒ぐらいかかる。

すざまじく重い、取れない、精度が悪いの三重苦なので
cvHaarDetectObjectsを使った画像認識を諦めてマーカーを
セットする方向に切り替えた(゚ε゚)

1)100円ショップで蛍光ラベルを買ってくる(肌色と混合しないように
緑色系が良いみたい)
ztomodo.jpg
2)顔に張る(注1)
3)YUVに変換し色で分離する。
4)グレイスケールにしてcvFindContoursを使って輪郭抽出を行う。
marker1.jpg

この方法で検出した結果はこんな感じ。







これならリアルタイムでも処理できる負荷だ。順番の制御とかして
無いのですごい勢いで入れ替わってるけど(笑)、まあ、精度もなんと
かなりそうだ。

かなり良いところまで来たんだけど冬休み&1月3連休も終わって
しまった。これから週一ぐらいしか出来ないなぁ orz

注1)冷静になるとすげえバカみたい!
posted by noboyama at 23:26| Comment(0) | TrackBack(0) | kinect

最近の記事