読者です 読者をやめる 読者になる 読者になる

Kinect v2,Mac OSXで動作確認

Mac OSX kinect v2

f:id:gt1000:20150508205527p:plain

次は Kinect v2.

本体は GW直前にヤフオクで入手.しかし Adapter Kitの入手が鬼門だった.
ヨドバシで買うつもりが GW突入と同時に品切れ.取り寄せになるも物流は止まる.そして今朝 Yodobashi.comで在庫の復活を確認し,予約取り置きしてもらった.

 

 

動確の参考にしたのはこのページ.

参考といっても「普通にやれば動く」っぽいので,普通にやったら見事に動かない.*1
起こっている現象は多分コレ.

USB3.0のパフォーマンスが云々」とかあるけど,んなワケないだろ.ユーザーランドのソフト変更が原因で「USB3.0の速度が遅くなった」というのは考えにくい.むしろ刺さって取りこぼしているから例のログが出るのでは.

 

でもまぁ動かないモノは動かないので何とかする.

イカレたパケットを食わせるとOpenGLDepthPacketProcessorが死ぬ,というのは事実っぽい*2 & 同じヒトが ・Use OpenCL depth processor. と言っているので,CMakeLists.txtを書き換えて OpenGLを切ってみたら (OPTION(ENABLE_OPENGL "Enable OpenGL support" OFF) …動いた!…RGB出力が FHDサイズなのに解像感ガクガクでマゼンタ1色だけど.IR/RGB/Depth全部出すと 10fpsくらいしか出ていないようだが,depthだけにしたら 50fpsくらいで動く.

過去のコミットでテストしたわけではないが,「以前は動いていたが何らかの変更により (特定環境に置ける?) OpenGLの (GPU周りの) 設定がおかしくなって刺さる」というのが真相のような気がする.

 

OpenGLが何で動かないのか」は GPU周りの知識が不足しているため直すことはサクッと諦める.こまけぇこたぁいいんだよ.

 

・追記

マゼンタ1色なのは libjpeg-turboの問題らしい (issue #184).
そして同梱の 1.3.1のみならず 1.4.0の自家ビルドでも起こる模様.

しかし brewで installした libjpeg-turboでは問題ないようなので,そっちに差し替えたら直った.

F200の RGBカメラは非常に残念な代物だったが,kinect v2の画質は素晴らしく C920tにも引けを取らない.は言い過ぎか.しかしフォーカスが固定っぽいのも逆に便利だ.ちょっとエッジが甘い気はする.

 

・再追記

 んー,OpenGLというより GPU側に依存していそう.OpenCLを使う実装では最初に見つかった GPUを使うようになっているのだが,HD Graphics 4000 (Ivy Bridgeの内蔵GPU),GeForce GT 650Mの順に検出されるため HD Graphics 4000が選択され,コレは動く.そして意図的にGeForce GT 650Mを選択すると動かない.OpenGLGPUを選択する仕組みがないらしく,GeForce GT 650Mを選択して Cuda周りでコケているのだろう.で,PR222が Cuda対応で,コントリビューターはさっきのヒト.ということでほっておけば直りそうだ.

 

 

*1:実際には横着して何度も2度手間を踏んでいる

*2:イカレたパケットを食わせないようにするパッチを当てても死ぬんですけどね