RealSense Driver for OpenNI2/NiTE2

What is OpenNI2/NiTE2

OpenNI2はイスラエルのPrimeSense社(2013/11にAppleに買収された)が中心に開発していたRGB-Dセンサのためのオープンソースのソフトウェア開発キットです。
OpenNI2はデフォルトでPrimeSense社のPrimeSensor(Carmine、Xtion、Kinect v1)をサポートしていますが、他のRGB-DセンサでもDriverを用意することでOpenNI2を利用することができます。また、OpenNI2は商用で使用することができセンサの種類を問わずクロスプラットフォームで動作するため、開発が終了した現在でも様々なセンサで広く利用されています。

NiTE2はPrimeSense社が開発した人物検出、姿勢推定、手追跡、ジェスチャー検出などの機能を持つOpenNI2ベースのミドルウェアです。
NiTE2はクローズドソースで公開も終了していますが、すでに頒布されたNiTE2は商用・非商用を問わず使い続けることができます。

OpenNI2 Driver for RealSense

RealSense SDKにOpenNI2 Driver(rs2driver.dll)が追加されました。
これにより、OpenNI2/NiTE2を使用したプログラムをRealSenseで動かすことができます。また、RealSenseで姿勢推定を実装する手段が1つ増えたことになります。

NiTE2 User DetectionNiTE2 Skeleton Tracking

OpenNI2/NiTE2 Smaple Program

OpenNI2/NiTE2のサンプルプログラムを公開しました。

Note: Incompatible APIs

既存のOpenNI2/NiTE2のプログラムはRealSenseでも概ねそのまま動作しますが、一部の座標変換の機能は正しく動作しません。
World座標系からDepth座標系への変換、Depth座標系からColor座標系への変換などの機能です。
これらの機能はDriverに独自の実装を加える必要があります。

  • nite::UserTracker::convertJointCoordinatesToDepth

Emvironment

以下の環境で動作を確認しました。

  • Windows 10
  • Visual Studio 2017
  • RealSense SDK 2.18.0
  • OpenNI 2.2.0.33
  • NiTE 2.2.0.10
  • OpenCV 4.0.1

How to build rs2build

RealSense SDKをビルドするとき、CMakeで以下の設定をします。
ビルドすると_outディレクトリにrs2driver.dllが出力されます。
rs2driver.dllを${OPENNI2_REDIST_DIR}/OpenNI2/Drivers(または${OPENNI2_REDIST_DIR64}/OpenNI2/Drivers)にコピーすることで、OpenNI2/NiTE2からRealSenseを使用することができます。

  • BUILD
    • BUILD_OPENNI2_BINDINGS ☑(check)



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です