My favorites | Sign in
Project Home Downloads Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Search
for
FAQ_ja  
FAQ日本語版
Featured
Updated Jan 14, 2013 by tom...@gmail.com

インストールについて

Kinect SDK版とOpenNI版どちらを使えばいいの?

  • 次のような方にはKinect SDK版がお勧めです。
    • KinectとWindows 7を持っており、とにかく簡単に動かしてみたい方
  • 次のような方にはOpenNI版がお勧めです。
    • Kinect SDKのサポート外であるWindows Vista以前のOSで動かしてみたい方
    • 既にインストールされたOpenNIアプリケーションに影響を与えたくない、といった理由によりKinect SDKを入れられない方
    • Kinect以外のセンサーで試してみたい方
    • 複数の骨格認識アルゴリズムで試して比較してみたい方

どんなハードウェアが必要?

  • 「Kinect、そこそこ速いCPU、そこそこ速い3D機能を持ったGPU」以上のことはあまり言えません。WorkingConfigurationsページに動作が確認できた構成を載せてあるので参考にしてください。
  • (おそらく)OpenGL 2.x、プログラマブルシェーダ、およびGL_ARB_vertex_array_objectをサポートしたGPUでないと動作しません。もしGPUがこれらの機能を持っていない場合、プログラムは "This GPU does not support shaders" と言って終了します。

前提ソフトウェアのダウンロード方法は?

動かない!

コンソールにエラーが表示されて終了する

"Failed: Can't create any node of the requested type!" が出る (OpenNI版)

  • Kinectが接続されていないと出ることがあります。
  • NITEがインストールされていないと出ることがあります。
    • NITEをインストールしたはずなのにこの現象が起こる場合、NITEのインストレーションが壊れている可能性があります。NITEを一旦アンインストールし、再インストールすると直るかもしれません。
  • Kinect SDKがインストールされていると出ることがあります。OpenNIとKinect SDKの共存方法についてはOpenNI_Downloadsを参照してください。

"Failed: Unknown USB device speed!" が出る (OpenNI版)

  • Kinectに電源が接続されていないと出ることがあります。

"Failed: File not found!" が出る (OpenNI版)

  • 実行時のカレントディレクトリ(作業ディレクトリ)にdataディレクトリがないと出ることがあります。kinect-ultra.exeとdataディレクトリを同じところに置いて、そこをカレントディレクトリとして実行してください。
  • VC++上で実行する場合、デバッガの設定で作業ディレクトリに .. を設定してください。この設定はなぜかVCプロジェクトファイル(slnやvcproj)に保存されないので手でやる必要があります。

"Failed: This GPU does not support shaders" が出る

  • GPUとグラフィックスドライバが「プログラマブルシェーダ」という機能をサポートしていないと出ることがあります。この機能はOpenGL 2以降の機能なので、直前に表示されるOpenGL versionが2.0以上でなかったらビンゴです。グラフィックスドライバを最新版にすると解消されることがあります。

"Sorry this program cannot run because VAOs are not supported" が出る

  • GPUとグラフィックスドライバが「VAO」という機能をサポートしていないと出ることがあります。この機能はOpenGL 3以降の機能であり、またOpenGL 2でもGPUとグラフィックスドライバがVAO拡張をサポートしていればOKです。グラフィックスドライバを最新版にすると解消されることがあります。

ダイアログににエラーが表示されて終了する

"コンピューターにKinect10.dllがないため、プログラムを開始できません" が出る (Kinect SDK版)

  • Kinect SDKが正しくインストールされていない可能性があります。詳細はKinectSDK_Downloadsを参照してください。
  • Kinect SDK V1.0を使ってください。Kinect SDK Betaはサポートしていません。

"コンピューターにopenNI.dllがないため、プログラムを開始できません" が出る (OpenNI版)

  • OpenNI 32ビット版が正しくインストールされていない可能性があります。詳細はOpenNI_Downloadsを参照してください。
    • OpenNIをインストールしたはずなのにこれが出る場合、64ビット版をインストールしている可能性があります。必ず32ビット版をインストールしてください。お手持ちのOSが64ビット版でも、OpenNI 32ビット版は正常に動作します。プログラムの実行速度が遅くなるといったこともありません。
    • 実のところ、OpenNI 64ビット版を使うメリットは「大量のメモリを使うプログラムを実行できる」ことくらいしかないのです。メリットがほとんどないものですから、私も本プログラムをOpenNI 64ビット版に対応させる作業をしていません。将来時間があればやりたいとは思っていますが、今しばらく32ビット版を使っていただければ幸いです。

"コンピューターにMSVCほにゃらら.dllがない" または "サイドバイサイド構成が正しくない" が出る

異常終了する

  • 時々報告がありますが、原因はよくわかりません。次のようにすると直るかもしれません。
    • kinect-ultraの最新版を使う。
    • グラフィックスドライバを最新版にする。
  • Issuesに報告していただければできる限り調査しますが、こちらの手元で再現しないGPUとグラフィックスドライバに依存する問題は究明が非常に困難です。デバッガで追ってもらうなど調査にご協力いただければ幸いです。

動きを認識しない!

すぐにロストする

  • 古いunstable版のOpenNI、NITE、SensorKinectドライバでこの現象が起こるようです。最近はだいぶ改善されているようです。
  • 環境によって骨格認識しにくい状況があると聞いたことがあります。
    • だぶだぶの服を着ていると認識しにくいです。その場合は服を変えましょう。
    • 部屋にKinectが出す赤外線を反射するものがあると認識しにくいそうです。うちでは、Kinectの角度によっては足元の絨毯が体の一部と認識されてしまい困ったことがあります。部屋の物の配置や、Kinectの位置や角度を変えてみると改善するかもしれません。
  • PCの処理能力が低くてフレームレートが低いと、体の動きを連続してとらえることができず、ロストしやすくなります。

技が出ない

  • 体のパーツがKinectからはっきり分離して見える状態でないと認識しにくいです。
    • 例えば、手を頭に近づけすぎたり頭を手で隠してしまうとアイスラッガーやエメリウム光線が出にくくなります。頭から少し手を離すようにすると認識しやすくなります。
    • 例えば、左手を右肘にぴったりくっつけてしまうとワイドショットが出にくくなります。少し離すと認識しやすくなります。
    • 体が横を向いていると、体の反対側の面が見えないので認識しにくくなります。
  • PCの処理能力が低くてフレームレートが低いと認識しにくくなります。だいたい15フレーム/秒くらいは必要だと思います。同じポーズに数フレームとどまっていないと技が出ないようになっているので、フレームレートが低いとそれが難しくなるのです。また、仮に技が出ても、低フレームレートではきれいに描画されません。
  • "t" キーを押して Trigger Happy Mode を Happy または Happier に設定すると認識し易くなるので試してみてください。
  • 骨格認識の精度はOpenNI+NITE+SensorKinectによる純OpenNIの構成が最も高いようです。Kinect SDK単体やKinect SDK+OpenNIブリッジの構成ではジッタが生じて技が出にくい印象があります。もし純OpenNIの構成が組めるのであれば試してみるとよいかもしれません。

Kinect Hacker向け: コンパイルとビルドについて

ソースコードを取得する方法は?

  • まずはソースコード管理ツールSubversionを入手してください。ダウンロード方法やインストール方法はググればすぐ見つかります。
    • 派生物が幾つかありますが、現在の本家はApacheのようです。
    • GUIがよければTortoiseSVNがポピュラーです。
  • checkoutページの説明に従い、次のURLから "checkout" してください: https://kinect-ultra.googlecode.com/svn/trunk
    • 特定のブランチやタグから取得する場合には、"trunk" の部分をブランチやタグのパスに書き換えてください。

ビルドする方法は?

  • VC++ 2010を使い、build2010フォルダ内の.slnファイルを開いてください。
  • 一方で隣のbuildフォルダ内にはVC++ 2008用のビルドファイルがありますが、OpenNI用しかビルドできず、また内容が古くなっている可能性があります。

デバッガ上で実行できない

  • デバッガの作業ディレクトリとして ".." (親ディレクトリ)を設定してください。これをやらないと File Not Found エラーが出ます。
  • OpenNI.dllがデバッグモードでビルドされていないと「Cランタイムが初期化されていない」というエラーが出る場合があるようです。(OpenNI版のみ)
  • VC++を管理者モードで実行しないと「Cランタイムが初期化されていない」というエラーが出る場合があるようです。
Powered by Google Project Hosting