ブログトップ
コンピュータと共にある創造的日常
uneoyaji.exblog.jp

メディアアート・プロジェクトにハマったオヤジの日常生活
by une0exct
MBP Late 2013 15inch に Kinect を2つ繋いでみる。
この夏休みに集中して制作した Visual Liquidizer では、背景差分法を使っていたのだが、外光が入る場所では、時間経過と共にどうしても室内の照明条件が変わってしまい、背景を初期化しなおさないといけない。これを解消する強力かつ廉価な手段の1つが MS XBOX Kinect を使うって技なのだが、これがいろいろ面倒くさい。
素晴らしい技術なので、ロボットとかインタラクティブアートとかよく使われているし、当方も Nonstop Evolutionary Art you are embedded in と名付けた昨年の作品に取り入れてみた。OpenKinect プロジェクトの libfreenect を使うと、ご本家の MS Windows じゃない Mac OS X や Linux でもプログラム開発ができる。すばらしい。
本音いうと、OS X Lion から導入された AVFoundation の API で使えるような driver が望まれるところだが、贅沢は言うまい。
libusb と libfreenect をインストールして、Xcode の search path と link option を追加すると、普通に使える。しかし、2個つないだところで問題が発生した。2台ともRGB 画像と Depth 情報を同時に取り込むと、USB stack でパケロスが発生! 一方はスムースに動作しているのだが、他方の Depth 情報がカクカクとろいのである。何度か試しているうちに、全てのキーとマウスが効かなくなった。効いたのはパワーボタンのみ。トホホな気分で、長押し強制終了。
例によってネットから情報を漁って見ると、CPU 負荷が大きいときに起きるらしい。また、同じ現象に出くわした人は、他の USB 機器との競合があったらしい。ということで、Video format を YUV_Raw, Depth format を 11bit にして、MBP 本体の左右に1つずつ付いている USB の口からハブを外し、2台の Kinect のみ直接続してみると、なんとか動作してくれました。
やっぱ民生用というかゲーム用というか、製品間の性能の均質性については、あまり当てにしちゃいけないですね。2台同時に使ってみると、個体差が結構気になる。1つは、ホワイトバランス。もう1つは、RGB と Depth 用のカメラの軸のずれ方。軸のずれについては調整用のGUIを作って、現場調整可能にしたが、ホワイトバランスは、まだこれから。なんとかなるのかな?
[PR]
by une0exct | 2014-09-08 22:13
<< 極めて久しぶりに投稿してみる。 MacOS X 10.7 Li... >>