2010-11-23 3 views
6

Microsoft Kinectコンソール用の自家製コードを書くことに興味があります。私は、プラットフォームにうまく翻訳できると思ういくつかのアプリケーションを持っています。私はOpenKinect drivers and librariesを使ってそれを撃つというアイデアを思いついた。明らかにこれはたくさんの仕事になるでしょうが、私はどれくらいのことがあるのだろうかと思っています。 OpenKinectの経験がある人はいますか?あなたは、デバイスから生のビデオ/オーディオデータだけを取得するのですか、または一般的なタスクをより簡単にするために、より高いレベルの抽象化を書いた人はいますか?OpenKinect成熟度

答えて

13

ライブラリは基本的にドライバです - 少なくとも今のところ - はそれほど高い機能を期待していません未加工データは、深さビデオの両方のカメラから取得します。
これは基本的に、フレームが到着するたびにコールバック関数で受け取られる配列です。あなたがOpenKinect website上の指示に従うことによってそれを試してみることができます

、それをインストールして試して本当に速いです、そしてあなたは、可能な何の感覚を得るために提供glviewアプリケーションでビットを再生することができます。 opencvを使っていくつかのデモを設定しましたが、私はコンピュータビジョンの背景があまりありませんでしたが、かなりクールな結果を得ました。

 
代わりに、あなたは、より高度な機能を探しているなら、OpenNI frameworkはちょうど今週リリースされ、そのようを追跡骨格といくつかのジェスチャー認識としていくつかの印象的なハイレベルのアルゴリズムを提供していました。フレームワークの一部はPrimeSenseの独自のアルゴリズムです(強力なスケルトントラッキングモジュールなど...)。私はまだそれを試していないとキネクトと異なるOSとどのように統合されているのか分からないが、異なるグループ(OpenKinect、Willow Garage ...)からの人々の集団がそれに熱心に取り組んでいるので、 1週間以内に問題になることはありません。

+0

+1 openniドライバを入手してください。 Kinectの製造元がリリースしたものです。http://www.joystiq.com/2010/12/10/primesense-releases-open-source-drivers-middleware-for-kinect/ – LamonteCristo

12

Jules Olleonが書いたことをさらに詳しく説明すると、私はOpenNI(http://www.openni.org)とそれを上回るアルゴリズム(NITE)で作業しています。これらのフレームワークを使用することを強くお勧めします。どちらのフレームワークも十分に文書化されており、さまざまなサンプルが用意されています。

基本的には、OpenNIは、センサーとあなたのためにそのドライバでの作業の低レベルの詳細を抽象化し、そしてあなたに取得するために、「発電機」(例えばXN :: DepthGeneratorからあなたが望む結果を得るための便利な方法を提供します生の奥行きデータ)。 OpenNIはオープンソースであり、どのアプリケーションでも自由に使用できます。 OpenNIは、あなたのためのプラットフォーム抽象化も扱います。今日の時点で、OpenNIはサポートされており、Windows 32/64とLinuxでうまく動作し、OSXに移植されています。バインディングは、複数のプログラミング言語(C、C++、.NET、Pythonなど)で使用できます。

NITE(例えば手点、骨格、シーン解析などを追跡する)あなたのより高いレベルの結果が得OpenNI上に構築された追加のインタフェースを有しています。いつどこで使用できるかについてNITEのライセンスの微妙な点をチェックしたいと思うかもしれませんが、今のところ、おそらく最も簡単で迅速な分析(例えばスケルトン)の方法です。 NITEはクローズソースなので、PrimeSenseはバイナリバージョンを提供する必要があります。現在、WindowsとLinuxのバージョンが利用可能です。

1

私はOpenKinectで作業していませんが、私は数ヶ月の間OpenNIとSensorKinectで研究しています。Kinectの生データを使用する予定の場合は、モーションコントロールをサポートしていない奥行きとビデオを提供します。私はC + +とOpenGLをWindows 64bitとUbuntu 32bitの両方で使用しましたが、コードはほとんど修正されていません。あなたが基本的なC++を知っていれば、とても簡単に学ぶことができます。それをインストールすることは少し頭痛かもしれません。

スケルトンの検出、ジェスチャ認識などの高度な機能については、OpenNIのNITEなどのミドルウェアやホイールの再発明ではなくMiddlewares developed around OpenNIのものを使用することを強くお勧めします。 Niteは、OpenNIが動作すると非常に使いやすくなります。例えば共同認識は10〜20行余分なコード行です。

私が若い人におすすめすることは、OpenGLを直接使うのではなく、基本的なゲームエンジン(Unityなど)で学習して作業することです。それはあなたに多くのより良い、より楽しいグラフィックス、不便さを与えるだろうし、また簡単にPhysXなどの他のツールとあなたのプログラムを統合することができます。試したことはありませんが、UnityにKinectドライバを使用するためのプラグインがいくつかあることはわかっています。

関連する問題