Original link: http://www.brekel.com /? Page_id = 671
After playing with both the Microsoft Kinect SDK and the primesense openni SDK here are some of my thoughts :( note that the Microsoft's SDK version is the beta version, so things may change when the final one is released)
Microsoft's Kinect SDK (Beta) Pro: Advantages
- Support for audio supports audio
- Support for motor/Tilt supports Motors
- Full body tracking: Full Body Tracking
- Does not need a calibration pose does not need to be calibrated (surrender)
- Includes head, hands, feet, clavicles includes headers, hands, feet, and clavicle
- Seems to deal better with occluded joints looks better at handling Joint occlusion
- Supports multiple sensors supports multiple sensors (multiple Kinect servers)
- Single no-fuss installer simplifies installation (easier installation)
- SDK has events for when a new video or new depth frame is available when the new video or depth graph is valid, the SDK will have available events
Con: disadvantage
- Licensed for non-commercial cial use only non-commercial (commercial)
- Only tracks full body (NO mode for hand only tracking) can only trace the whole body (excluding specific tracing modes: for example, tracker only)
- Does not offer alignment of the color & depth image streams to one another yet
- Although there are features to align individual coordinates
- And there are hints that support may come later
- Full body tracking: Full Body Tracking
- Only calculates positions for the joints, not rotations joints only coordinate data, no rotation data
- Only tracks the full body, no upperbody or hands only mode can only trace the whole body, does not include a specific tracing mode: for example, only tracker hands or upper body
- Seems to consume more CPU power than openni/Nite (not properly benchmarked) seems to consume more CPU than openni/Nite (no proper benchmark is used)
- No gesture recognition system does not contain a Gesture Recognition System
- No support for the primesense and the Asus wavi xtion sensors? (Can anyone confirm this ?) Primesense and Asus wavi xtion hardware platforms are not supported
- Only supports win7 (x86 & x64) only supports win7 (32-bit and 64-bit)
- No support for unity3d game engine does not support the unity3d Game Engine
- No built in support for record/playback to disk does not support data record or playback to Hard Disk
- No support to stream the raw infrared video data does not support infrared video data streams
- SDK does not have events for when new user enters frame, leaves frame etc SDK does not have such events, such as when a user is detected or lost.
Primesense openni/nitepro: Advantages
- License between des between cial use can be commercially available (no fees required)
- Includes a framework for Hand Tracking includes a hand tracking framework
- Includes a framework for Hand Gesture Recognition includes a Gesture Recognition Framework
- Can automatically align the depth image stream to the color image can automatically align the depth graph data to the color graph data
- Full body tracking: Full Body Tracking
- Also calculates rotations for the joints contains coordinate data and rotation data
- Support for hands only mode supports Special tracing modes: for example, tracing only the hands, Head, and upper body
- Seems to consume less CPU power than Microsoft Kinect SDK's tracker (not properly benchmarked) consumes less CPU than Microsoft SDK
- Also supports the primesense and the Asus wavi xtion sensors support the primesense and Asus wavi xtion hardware platforms
- Supports multiple sensors although setup and enumeration is a bit quirky supports multiple sensors but requires installation and enumeration, which is a bit odd.
- Supports windows (including Vista & XP), Linux and Mac OSX support windows (including Vista & XP & win7), Linux and Apple operating systems (both Android and iOS)
- Comes with code for full support in unity3d game engine comes with code that fully supports the unity3d game engine (flipped by: also supports Ogre)
- Support for record/playback to/from disk
- Support to stream the raw infrared video data supports infrared data streams
- SDK has events for when new user enters frame, leaves frame etc SDK has such events, for example, when a user is detected or lost. (Callback functions are provided for developers)
Con: disadvantage
- No support for audio does not support audio
- No support for motor/tilt (although you can simultaneously use the CL-NUI motor drivers) does not support motors (Flip: motors are Microsoft's patents, so primesense does not want to provoke Microsoft)
- Full body tracking: Full Body Tracking
- Lacks rotations for the head, hands, feet, clavicles lack the following joints: Head, hand, foot, and clavicle
- Needs a calibration pose to start tracking (although it can be saved/loaded to/from disk for reuse) requires a calibration posture (surrender posture) to start tracing the skeleton (note: calibration data can be stored and extracted for reuse)
- Occluded joints are not estimated joint occlusion not estimated
- Supports multiple sensors although setup and enumeration is a bit quirky supports multiple sensors but requires installation and enumeration, which is a bit odd.
- Three separate installers and a nite license string (although the process can be automated with my auto driver installer) needs to be separately installed nite
- SDK does not have events for when new video or new depth frames is available SDK does not have such an event, for example, when the new video or deep graph data is valid. (Flipped by: openni provides functions that can be used with similar functions. Although it is not a callback function, it is also useful)
(Personal) Conclusion:
Microsoft seems to have the edge when working with skeletons and/or audio.
Microsoft has advantages in bone recognition and audio. (Translator: I personally agree that Microsoft's audio recognition will play an important role in future somatosensory games !)
Openni seems to be best suited when working on colored pointclouds, on non-Win7 platforms and/or for each cial projects.
Openni seems to be more suitable for color-based point clouds and commercial projects on non-win7 platforms.
When working with gestures in specific: Gesture Recognition