6

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

4

3 に答える 3

13

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

OpenKinectの Web サイト で提供されている手順に従って試してみることができます。インストールして試すのは本当に簡単です。提供されているアプリケーションを少し試して、glview何が可能かを感じてください。を使用していくつかのデモをセットアップしましたopencvが、かなり素晴らしい結果が得られましたが、コンピューター ビジョンのバックグラウンドがあまりなかったので、自分で試してみることをお勧めします!

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

于 2010-12-11T08:11:16.240 に答える
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 のバージョンが利用可能です。

于 2010-12-13T14:25:32.807 に答える
1

OpenKinect を使用したことはありませんが、研究のために数か月間 OpenNI と SensorKinect を使用しています。Kinect の生データを使用する場合は、深度とビデオを提供するのに最適です (モーター制御はサポートしていません)。コードをほとんど変更せずに、Windows 64 ビットと Ubuntu 32 ビットの両方で C++ と OpenGL で使用しました。基本的な C++ を知っていれば、習得するのは非常に簡単です。それをインストールするのは少し頭痛の種かもしれません。

スケルトン検出、ジェスチャ認識などのより高度な機能については、OpenNI で NITE などのミドルウェアを使用するか、ここで提供されているミドルウェアを使用することを強くお勧めします。OpenNI が動作するようになると、Nite も非常に使いやすくなります。たとえば、共同認識は約 10 ~ 20 行の余分なコードです。

若い頃の自分に勧めたいことは、OpenGL を直接使用するのではなく、基本的なゲーム エンジン (Unity など) を学習して使用することです。これにより、はるかに優れた楽しいグラフィックスが得られ、面倒が少なくなり、プログラムをPhysXなどの他のツールと簡単に統合できるようになります。試したことはありませんが、Unity で Kinect ドライバーを使用するためのプラグインがいくつかあることは知っています。

于 2013-06-19T15:08:18.813 に答える