stMind

about Tech, Computer vision and Machine learning

kinect始めました

libusbにパッチあてて、kinectドライバをコンパイルして距離画像を表示するのは比較的簡単にできたんですけど、画像が乱れまくったり10秒ともたずに表示がフリーズしたりと、安定して表示するまでに結構手間取ったので、同じ状況の人がいたら参考になるかなということで手順を書いておきます。

セットアップしたマシン

こんな感じです。

  • Macbook
  • OS X 10.5.8
  • Intel Core Duo
    • Core2じゃないです。ごめんなさい><

download & compile

必要なのは、libusb、libfreenect、openkinectの3つです。libusbとlibfreenectがあれば本来はOKなんでしょうけれど、自分の環境ではこの3つを使わないとダメでした。

$ curl -o libusb-7da756e.tar.gz "http://git.libusb.org/?p=libusb.git;a=snapshot;h=7da756e09fd97efad2b35b5cee0e2b2550aac2cb;sf=tgz;js=1"
$ git clone git://github.com/OpenKinect/libfreenect.git libfreenect
$ git clone git://github.com/Majorityy/openkinect.git openkinect

あと、sourceforgeにあるlibusbではコンパイル出来なかったので、上のリンクのものを取ってくるようにしてください。

ダウンロード出来たら、libfreenectのREADMEに書いてある通りにパッチをあてて、make & make installをします。

$ tar zxvf libusb-7da756e.tar.gz
$ cd libusb-7da756e
$ patch -p1 < ../libfreenect/platform/osx/libusb-osx-kinect.diff
$ ./autogen.sh
$ make
$ sudo make install

次は、openkinectでの作業です。

$ cd ../openkinect/c
$ mkdir build
$ cd build
$ cmake -D USB_INCLUDE_PATH=/usr/local/include/libusb-1.0 ..
$ make all

makeが終わると、openkinect/c/build/examplesの下にglviewというサンプルアプリが出来ているはずです。libfreenectの方も同じようにコンパイルすることが出来ますが、できたglviewを実行するとあっという間に表示がフリーズしてしまうので使い物になりませんでした(なぜだろう?)。

サンプル実行

$ ./examples/glview

と実行すると、RGB画像と距離画像が表示されると思います!
f:id:satojkovic:20101123225051p:image

Let's kinect !!!!

手間取りはしたものの、ほんの数時間で動作させることが出来て、ほんとドライバ作者の方々に感謝感謝です。続々とkinectハックが公開されているようだし、これからもっともっと盛り上がってきそうな感じがしますね。