どこが違うの?
たとえば、オフィシャルSDKと比較してlibfreenectまたはOpenNI + SensorKinectを選択する利点は何ですか?
欠点は何ですか?
以下の回答は日付ごとであり、近い将来にいくつかの事実が非常に古くなる可能性があることに注意してください。 Official Kinect SDKの現在の状態はベータ1.00.12です
最初の明らかな違いは、公式のSDKはMicrosoft Researchチームによって管理されているのに対して、OpenKinectはオープンソースコミュニティによって管理されているオープンソースSDKです。どちらにも長所と短所があります。
サポートされるプログラミング言語:
オペレーティングシステムのサポート:
OpenKinectを明らかに活用してください。
ライセンス:
ドキュメントとサポート:
デバイスのキャリブレーション:
異なるKinectデバイスは、製造されたバッチによってわずかに異なる場合があります。そのため、デバイスのキャリブレーションが必要になる場合があります。だが:
キャリブレーションがOpenKinectにのみ必要であることが本当であれば、そのような必要なしにアプリケーションを配布およびインストールする方が簡単であるため、公式SDKにとって大きな利点です。
個人的には、OpenKinect SDKで失敗した後、公式SDKを使用しました。
UPDATE:2012年2月1日現在、公式SDKの商用ライセンスがあります。「このリリースの商用ライセンスは、商用アプリケーションの開発と配布を許可します。以前のSDKはベータ版であったため、結果として研究、テスト、および実験にのみ適しており、最終的な商用製品での使用には適していませんでした。新しいライセンスにより、開発者はKinect for Windowsアプリケーションを作成および販売できますWindowsプラットフォームでKinect for Windowsハードウェアを使用しているエンドユーザーのお客様。」 開発者のよくある質問
Avada Kedavra で説明されているように answer で、これらはいくつかの興味深い違いです。
私個人の意見では、オープンソースソリューションとMicrosoft SDKの最も大きな違いは、骨格追跡アルゴリズムに厳密に関連しています。
深度とRGBデータはオープン/フリーAPIとMicrosoft SDKの両方で効果的に提供できますが、骨格追跡機能の実装はリバースエンジニアリングの問題だけではありません。
このようなアルゴリズムを実装するには、開発者がパターン認識と機械学習の分野で強力な能力を持っている必要があり、そのような種類の知識はオープンソースコミュニティで利用できると確信しています。ただし、骨格追跡の実装は「トレーニング済み」アルゴリズムに基づいており、非常に大量のデータを収集するには多くの実験が必要です。次に、これらのデータを使用して、骨格関節を認識できるアルゴリズムを「トレーニング」します。
十分なデータを取得するだけでなく、それらを調整して適切に使用するには、多くの時間とお金が必要です。マイクロソフトの研究者と開発者は、この種の作業を行うのに最適な状態にあります。それが彼らの仕事だからです。
以前の経験では、オープンソースソリューションは優れた骨格追跡機能を提供しますが、MicrosoftがSDKで提供するものと同じレベルではありません。
また、Microsoft SDKは、顔認識や関節の向きなど、多くの追加機能を提供し、ジェスチャーGUIをすばやく構築する場合に非常に便利ないくつかのウィジェットを提供することも忘れないでください。
だから私が提案するのは、単に深さやRGBデータが必要なプロジェクトに取り組んでいる場合、またはMicrosoft SDKでサポートされていないプログラミング言語を使用する必要がある場合は、オープンを選択する必要がありますソースソリューション。それ以外の場合は、Microsoft SDKが最適です。
Cinderフレームワークを強くお勧めします。 (libcinder.org)
C++を使用している場合、OpenNIとKinect開発の両方をサポートします。現在、これらのCinderblockを介してKinect SDK 1.7およびOpenNI 2をサポートしています。
MS Kinect SDK 1.7(安定) https://github.com/BanTheRewind/Cinder-MsKinect
OpenNI 2/NITE 2.2(アルファ) https://github.com/wieden-kennedy/Cinder-OpenNI
OpenNIは最大6つのスケルトンを同時に追跡できます。 OpenNI 2はKinectで急速に増加していますが、新しいKinectはおそらく来月発売されるときに変更されます。ただし、基本的な基本原則が変わることはほとんどありません。
OpenNIの初期リリースの主な欠点は、ユーザーを認識するためにフルボディアクティベーションポーズが必要なことでした。これは、多くのアプリケーションにとって重大な問題でしたが、これは新しいバージョンで解決されたようで、OpenNI 2は最初はフォーカスジェスチャが必要ですが、近距離での堅牢なハンドトラッキング。 MacまたはLinuxで作業している場合は、ほとんど唯一の選択肢です。