質問

Microsoft Kinectコンソールのホームブリューコードを書くことに興味があります。プラットフォームにうまく翻訳されると思ういくつかのアプリケーションがあります。私はそれを使ってショットを与えるという考えをいじっていました OpenKinectドライバーとライブラリ. 。明らかにこれは大変な作業になるでしょうが、私はどれだけいくか疑問に思っています。 OpenKinectの経験はありますか?デバイスから生のビデオ/オーディオデータのみを取得しますか、それとも一般的なタスクを簡単にするために、より高いレベルの抽象化を書いた人はいますか?

役に立ちましたか?

解決

OpenKinect 図書館は基本的にドライバーです - 少なくとも今のところ - それから多くの高い機能を期待しないでください. 。多かれ少なかれ取得します 生データ 両方から 深さ そしてその ビデオ カメラ。
これは基本的に、フレームが到着するたびにコールバック関数で受信した配列です。

提供された指示に従って、試してみることができます OpenKinect Webサイト, 、インストールして試してみるのは本当に迅速です。 glview 可能なことを感じるために提供されるアプリケーション。いくつかのデモを使用して設定しました opencv, 、そして、私はコンピュータービジョンのバックグラウンドがあまりなかったにもかかわらず、かなりクールな結果を得たので、自分で試してみることを奨励することしかできません!

 
あるいは、より高度な機能を探している場合、 Openniフレームワーク 今週リリースされたばかりで、ような印象的な高レベルのアルゴリズムを提供します スケルトン追跡 いくつかの ジェスチャー認識. 。フレームワークの一部は、Primesenseからの独自のアルゴリズムです(強力なスケルトン追跡モジュールなど)。私はまだ試していませんが、それがKinectや異なるOSとどれだけうまく統合されているかわかりませんが、さまざまなグループ(OpenKinect、Willow Garage ...)の多くの人がそれに懸命に取り組んでいるので、 1週間以内に問題になります。

他のヒント

ジュール・オレオンが書いたものについてさらに詳しく説明して、私はOpenniと仕事をしました(http://www.openni.org)およびその上のアルゴリズム(nite)、そしてこれらのフレームワークを使用することを強くお勧めします。どちらのフレームワークも十分に文書化されており、開始できる多数のサンプルが付属しています。

基本的、 Openni センサーとそのドライバーを使用して作業することの低レベルの詳細を抽象化し、「ジェネレーター」から必要なものを取得する便利な方法を提供します(例:生の深さデータを取得するためのXn :: depthenerator)。 Openniはオープンソースであり、あらゆるアプリケーションで無料で使用できます。 Openniはまた、プラットフォームアブストリェクトを処理します。今日の時点で、OpenniはWindows 32/64とLinuxでサポートされており、OSXに移植される過程にあります。バインディングは、複数のプログラミング言語(C、C ++、.NET、Python、その他いくつかと思われる)で使用できます。

ナイト Openniの上に追加された追加のインターフェイスがあり、より高いレベルの結果が得られます(例:ハンドポイント、スケルトン、シーン分析などを追跡します)。いつ/どこで使用できるかについて、Niteのライセンスの微妙さを確認する必要がありますが、今のところ分析を取得するための最も簡単で最速の方法です(スケルトンなど)。 Niteはクローズドソースであるため、Primesenseは使用するためにバイナリバージョンを提供する必要があります。現在、WindowsおよびLinuxバージョンが利用可能です。

私はOpenKinectと一緒に仕事をしていませんが、私は私の研究のために数ヶ月間OpenniとSensorkinectと仕事をしています。 Kinectの生データを操作することを計画している場合、彼らはあなたに深みとビデオを与えるのにうまく働いています(彼らはモーター制御をサポートしていません)。 Windows 64bitとUbuntu 32ビットの両方でC ++とOpenGLを使用して使用しましたが、コードはほとんど変更されていません。基本的なC ++を知っているかどうかは非常に簡単です。インストールするのは少し頭痛がするかもしれません。

スケルトン検出、ジェスチャー認識などのより高度な機能については、NiteなどのNiteなどの中間を使用することや、ここに記載されているものを使用することを強くお勧めします。 MiddlewaresはOpenni周辺で開発されました ホイールを再発明するのではなく。 Niteは、Openniの動作をすると非常に使いやすいです。たとえば、共同認識は、約10〜20の追加のコード行です。

私が若い自分にお勧めすることは、OpenGLを直接使用するのではなく、基本的なゲームエンジン(例:Unity)で学び、作業することです。これにより、はるかに良く、より楽しいグラフィックが得られ、面倒が少なくなり、プログラムを他のツールと簡単に統合することもできます。 Physx. 。試したことはありませんが、unityでkinectドライバーを使用するためのプラグインがいくつかあることを知っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top