Mac上でKinect v2を使いたい人生だった

2015年2月18日水曜日

2014年の夏に、Kinectセンサーとしては初のハードウェアアップデートであるKinect v2センサーが発売されました。
初代とは違い、日本でXbox Oneが発売されるよりも早くWindows版センサーが発売されるというサプライズもあり、一部で盛り上がりました。
Windows用のしっかりしたドライバとSDKが提供され、C#/C++のサンプルコードも充実していて、筋良さそう感を受けます。

とはいえ現状提供されているのはWindows版のドライバとSDKのみです。MacやLinux上での利用については、libfreenect2プロジェクトが頑張っています。これを追っかけてる感じではセンサーからの値を取得するエリアでは割と良くなってきてる空気です。しかしどう考えても問題はその先にあります(「新世界より」風に)。MSRガチ勢の組んでる骨格検出やトラッキング、表情識別やジェスチャ系に相当する部分まで揃えるのは少なくとも年単位で無理ゲー(NiTEの悪夢を思い出してほしい)じゃないか、ということで向こう1-2年程度はWindows版SDKをいかにうまく使うかが主戦場だと考えています。

そういうわけで、日々Macしか使ってない身としてはMac上のVMでKinect v2を使えるかが大事です。

結果: ダメでした。

以下試行録です。




MacBook Pro Retina 13" Late 2013(Yosemite)上のVMware Fusion 7.1.0(2314774)上にインストールしたWindows 8.1 ProへとKinect SDK 2.0をインストールしました。
Kinect v2センサーをMacにつなぐと


この状態だったインジケータが


正常動作っぽい色に変わりました。

これは結構すんなり行くのかなーと思ったものの、どうもKinect Studioでセンサーから取得したデータが表示されません。


こういうふうに、認識自体はされる模様。

その後Kinect Studio上で接続ボタンを押すと状態はNot Connected→Connectedになって、センサーも7種類認識はされるけれど、2D Viewも3D Viewも何ら面白いものが出てこない状態です。

だめかなーと思い、Kinect SDK 2.0に含まれてるコンフィグチェッカーを走らせてみました。


  • DirectX 11が必須
  • VMware Fusionから見えるUSB 3.0ポートをUSB 3.0として認識してくれない
    • そういうわけでまともにKinect v2が接続されてないことになってる
ファーーーー。VMware Fusion 7でもDirectX 9.0c相当だし、USB 3.0のバスに本気でデータ流されたらホスト側から中継するの結構辛そうなのはそりゃそうだなー…。

オチはMSDN blogの Developing with Kinect for Windows v2 on a Mac
  • BootCampでWindows 8 / 8.1入れれ
  • あっ、いい方法があるよ。Windows 8 / 8.1 Enterpriseの提供するWindows To GoでWindowsをUSBメモリへ書き込んでMacからブートするんだ
と爽やかに書いてました。Enterpriseなんてどこで売ってるんすかVLじゃないとそもそも買えないんではとかMedia Center Pack無駄に要らんよ?とかそういうレベルの私には無理なやつだった。

今のところアリかなーというのは
  • 外付けのSSDとWindowsのライセンスもうひとつ用意してBootCamp
  • デスクトップPCで頑張る
  • ノートPCを新たに購入する
  • Mac上のlibfreenect2で頑張る
このあたりでしょうか。
手元のデスクトップPCにはUSB 3.0ポートがついてないのでそのへんから考える事になるつらさよ。
Raspberry Pi 2 + Windows 10で動かないかなーというのは妄想として楽しいんですが、まあARM版ドライバが出てないしそもそもRPi 2はUSB 3.0積んでないしダメだなーというところ(それに、いくらコア増えたといってもKinect v2のセンサーがじゃんじゃん流してくるデータをきっちり捌けるかは怪しい)。


しかしKinect v2センサー、三脚固定用の穴とかついてるのでよくできてますね。ソフトの話をできないのでハード見た目の話ですが。

0 件のコメント:

コメントを投稿