Open NI, NITE what is the real difference?

1,995 views
Skip to first unread message

lavatar

unread,
Oct 18, 2011, 5:24:26 AM10/18/11
to OpenNI
I dont understand why OpenNI and Nite is split UP. What is the
significant difference between those two.
Which Feature have they?
I Try to understand it with the OpenNI Documentation, but without
success...

Carlos Roberto

unread,
Oct 18, 2011, 9:03:37 AM10/18/11
to openn...@googlegroups.com
Hi,
As far as I know, NITE is a library on top of OpenNI framework. Its target is to provide more functions to gestures like Push, Swipe, Wave, Circle, etc and a more controlled environment when using Sessions.
Cheers

Carlos Roberto, MSc
Software Eng. Consultant @ IBM

My profiles: LinkedIn Twitter Blogger



--
You received this message because you are subscribed to the Google Groups "OpenNI" group.
To post to this group, send email to openn...@googlegroups.com.
To unsubscribe from this group, send email to openni-dev+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/openni-dev?hl=en.




--
Carlos Roberto
Software Eng. Consultant @ IBM
My Blog
My LinkedIn
follow me @ twitter

Murilo Saraiva de Queiroz

unread,
Oct 18, 2011, 9:15:33 AM10/18/11
to openn...@googlegroups.com
On Tue, Oct 18, 2011 at 7:24 AM, lavatar <kare...@googlemail.com> wrote:
If I understood correctly:

OpenNI is the entire framework for developing applications using "natural interaction" (gestures and so on). It provides an open source API that can be used for supporting different cameras (such as Kinect and Xtion) and algorithms (for body detection, etc.). Without adequate modules OpenNI doesn't do anything. 

NITE is just a plugin (also called a module) that works in this framework, developed by PrimeSense. It's proprietary and its sole function is to perform skeleton tracking.

Someone could write another plugin for skeleton tracking (as Microsoft did for its SDK) and make it run inside OpenNI (making the code implement the right interfaces). But since skeleton tracking isn't trivial an open-source alternative doesn't exist yet (please correct me if I'm wrong). Theoretically if there weren't license restrictions I believe someone could even adapt MS algorithm for use as a module in OpenNI, to replace NITE...

Murilo Queiroz 

--

lavatar

unread,
Oct 18, 2011, 10:02:52 AM10/18/11
to OpenNI
Thx for the Help. I see there is no clear answer for this Question.

On Oct 18, 3:15 pm, Murilo Saraiva de Queiroz <muri...@gmail.com>
wrote:
> On Tue, Oct 18, 2011 at 7:24 AM, lavatar <karelk...@googlemail.com> wrote:
> > I dont understand why OpenNI and Nite is split UP. What is the
> > significant difference between those two.
> > Which Feature have they?
> > I Try to understand it with the OpenNI Documentation, but without
> > success...
>
> If I understood correctly:
>
> OpenNI is the entire framework for developing applications using "natural
> interaction" (gestures and so on). It provides an open source API that can
> be used for supporting different cameras (such as Kinect and Xtion) and
> algorithms (for body detection, etc.). Without adequate modules OpenNI
> doesn't do anything.
>
> NITE is just a plugin (also called a module) that works in this framework,
> developed by PrimeSense. It's proprietary and its sole function is to
> perform skeleton tracking.
>
> Someone could write another plugin for skeleton tracking (as Microsoft did
> for its SDK) and make it run inside OpenNI (making the code implement the
> right interfaces). But since skeleton tracking isn't trivial an open-source
> alternative doesn't exist yet (please correct me if I'm wrong).
> Theoretically if there weren't license restrictions I believe someone could
> even adapt MS algorithm for use as a module in OpenNI, to replace NITE...
>
> Murilo Queiroz
>
> --
> *Murilo Saraiva de Queiroz, MSc*
> *Senior Software Engineer*
> ***http://www.tecnologiainteligente.com.br
> *http://www.igenesis.com.brhttp://www.vettalabs.comhttp://muriloq.com/blog

hben8814

unread,
Oct 18, 2011, 12:21:41 PM10/18/11
to OpenNI
Hi there, I have a related question about OpenNI / NITE

NITE is the skeleton tracing implementation for kinect, as you say, is
a module or plugin that works on OpenNI
to provide an implementation of skeleton tracing. But my question is
that using the NiUserTracker sample of
OpenNI provides a skeleton tracing, with joints and all that. I have
been able to compile and check it out with
kinect, but I didn't had NITE installed when I did it, so, as I
understand, is NITE a replacement for skeletal tracing of
OpenNI?, I mean, if I install NITE, when I use the skeleton tracing
(as in NiUserTracker OpenNI sample), will I be
using the NITE's skeletal tracing or OpenNI's?
Or, how can I use the skeletal tracing of NITE?
Or, NITE only provides the gesture management (click, wave, etc.)?


Thank you very much, this will help me a lot in my thesis project.
> > *http://www.igenesis.com.brhttp://www.vettalabs.comhttp://muriloq.com/...

Murilo Saraiva de Queiroz

unread,
Oct 18, 2011, 12:37:49 PM10/18/11
to openn...@googlegroups.com
Maybe I'm wrong, but I think NiUserTracker uses NITE - I didn't know it was possible to run it without installing the NITE binaries (see, for example, http://kinect-with-ros.976505.n3.nabble.com/Ros-kinect-NiUserTracker-Code-td2084827.html )

Perhaps the required binaries were linked when compiling the application so you didn't have to install them separately. Are you absolutely sure that you didn't install OpenNI *and* NITE when you did the tests?

Did you have to do the "psi" / "strong man" pose in order to be detected? This is required by NITE skeleton tracking algorithm (but it's not necessary for MS SDK, for example). 

I don't know of any othere skeleton tracking algorithms compatible with Kinect, besides Microsoft's and NITE; perhaps I didn't get something (I'm not working with OpenNI right now) but I don't think OpenNI has an independent implementation of it. 

muriloq


--
You received this message because you are subscribed to the Google Groups "OpenNI" group.
To post to this group, send email to openn...@googlegroups.com.
To unsubscribe from this group, send email to openni-dev+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/openni-dev?hl=en.

Carlos Roberto

unread,
Oct 18, 2011, 8:25:16 PM10/18/11
to openn...@googlegroups.com
Hi,
If you check the directories you will see that NITE and OpenNI have different lib directory. So, when I compile my OpenNI project I can use only OpenNI library as in the case of NiUserTracker that does not make use of NITE. By the other side, the project sample StickFigure from NITE, make use of OpenNI librarires. Then you can create an OpenNI project without use NITE but the inverse is not true.
Cheers.



Carlos Roberto, MSc
Software Eng. Consultant @ IBM

My profiles: LinkedIn Twitter Blogger


Amir Hirsch

unread,
Oct 19, 2011, 6:16:07 AM10/19/11
to openn...@googlegroups.com
Theoretically if there weren't license restrictions I believe someone could even adapt MS algorithm for use as a module in OpenNI, to replace NITE...


A wrapper to use the MS native driver for KinectSDK was done a few days after the KinectSDK from was released:
http://www.assembla.com/code/kinect-mssdk-openni-bridge/git/nodes?rev=primesense-compatibility

you get Depth, RGB, User Segmentation, Skeleton from Kinect (even adds ankles and wrists / toes and fingertips). It was also made to work with NITE so you can use NITE's user tracking and skeleton from KinectSDK depth, or NITE's hand generator with Microsoft's skeleton. Only thing that still remains "not working" is the gesture generator from NITE. mysterious still, but I'm sure we can solve it.
 
Murilo Queiroz 

--

Hendra

unread,
Oct 19, 2011, 6:57:09 AM10/19/11
to openn...@googlegroups.com
Hi,
its a little bit out of topic, but is that link you posted provides the wrappers so that the MS' KinectSDK can uses some of the functionality of NITE?
coz i have been trying to look for something like this, mainly for finger tracking, but no results...

and then, on the topic, am i right in thinking that NITE is something of like an extension to OpenNI? something like a class library to provide several tracking functionality?
--
Best Regards, and Thank you,
Hendra

Murilo Saraiva de Queiroz

unread,
Oct 19, 2011, 8:12:34 AM10/19/11
to openn...@googlegroups.com
And an OpenNI project without NITE won't do any skeleton tracking. 

Murilo

Murilo Saraiva de Queiroz

unread,
Oct 19, 2011, 8:13:56 AM10/19/11
to openn...@googlegroups.com
Is this legal? I thought the Microsoft license prevented this, that's why I talked about license restrictions... 

Murilo Saraiva de Queiroz

unread,
Oct 19, 2011, 8:15:37 AM10/19/11
to openn...@googlegroups.com
On Wed, Oct 19, 2011 at 8:57 AM, Hendra <hendr...@gmail.com> wrote:
Hi,
its a little bit out of topic, but is that link you posted provides the wrappers so that the MS' KinectSDK can uses some of the functionality of NITE?
coz i have been trying to look for something like this, mainly for finger tracking, but no results...

Yes, it can use NITE user tracking based on MS skeleton.

and then, on the topic, am i right in thinking that NITE is something of like an extension to OpenNI? something like a class library to provide several tracking functionality?

Yes, that's it. NITE is a proprietary OpenNI module. OpenNI is open source, NITE isn't. 

muriloq

Carlos Roberto

unread,
Oct 19, 2011, 8:49:05 AM10/19/11
to openn...@googlegroups.com
NiUserTracker is an OpenNi project that does not use NITE libs. You can check in your project configuration.

Cheers.


Carlos Roberto, MSc
Software Eng. Consultant @ IBM

My profiles: LinkedIn Twitter Blogger


--
You received this message because you are subscribed to the Google Groups "OpenNI" group.
To post to this group, send email to openn...@googlegroups.com.
To unsubscribe from this group, send email to openni-dev+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/openni-dev?hl=en.



--

Murilo Saraiva de Queiroz

unread,
Oct 19, 2011, 10:00:57 AM10/19/11
to openn...@googlegroups.com
Thanks for the correction, I didn't know that! So NiUserTracker does skeleton tracking without using the proprietary alternatives (from Primesense or Microsoft)? Or it has a different purpose?

Carlos Roberto

unread,
Oct 19, 2011, 12:43:02 PM10/19/11
to openn...@googlegroups.com
According to wikipedia, PrimeSense is member of OpenNI organization. Yes, NiUserTracker does skeleton tracking without use of NITE but the StickFigure that is a NITE sample for skeleton tracking, make use of OpenNI libs. I guess we can see NITE as an extension of OpenNI that provides a more accurate gesture and body tracking and some functionality that we can not find in OpenNI. I am working on a skeleton tracking project where I only use OpenNI framework.

Cheers.


Carlos Roberto, MSc
Software Eng. Consultant @ IBM

My profiles: LinkedIn Twitter Blogger


solcruiser

unread,
Oct 19, 2011, 1:17:03 PM10/19/11
to OpenNI
Hi,
NITE is a middleware provided by primesense (inventor of the sensor
used in the kinect)
It provides the main user and sceleton-tracking algorithms.
OpenNI is a framework and also a NITE-Wrapper.

greetings from germany

Roee Shenberg

unread,
Oct 19, 2011, 4:21:06 PM10/19/11
to openn...@googlegroups.com
This is unfortunately not true - NiUserTracker uses NITE, but indirectly - NiUserTracker uses OpenNI to read depth and get user tracking data, and OpenNI uses NITE for the tracking portion. Try uninstalling NITE and running NiUserTracker, and see that it won't work. It doesn't really matter for most people since NITE is free for commercial use on Primesense-based sensor, which are all consumer sensors for now.

The power of OpenNI is that the separation means you can have a different for depth data and for skeleton data, and have the program still work. For example, if you uninstall SensorKinect and NITE, then install KinectSDK and Tomoto's KinectSDK->OpenNI bridge, NiUserTracker will work without a recompile, but it will be using the KinectSDK driver to acquire depth, and Microsoft's skeleton for user tracking.

Hope that helps clarify matters a bit,
Roee

Murilo Saraiva de Queiroz

unread,
Oct 19, 2011, 4:35:08 PM10/19/11
to openn...@googlegroups.com
Thanks, I thought I was going crazy! :-) 

muriloq

lavatar

unread,
Oct 27, 2011, 5:01:56 AM10/27/11
to OpenNI
Does this mean without Nite Installation no Skeleton - Tracking?

Roee Shenberg

unread,
Oct 27, 2011, 5:09:40 PM10/27/11
to openn...@googlegroups.com
yes - without NITE, only reading depth and RGB data.

Pálfalvi József

unread,
Oct 27, 2011, 6:16:27 PM10/27/11
to openn...@googlegroups.com
That is the main concept, and if you have seen the picture about
OpenNI architecture
(http://yannickloriot.com/wp-content/uploads/2011/03/OpenNi-Architecture.png)
than you can see, that it is component based, so the whole OpenNI API
is just a wrapper to create a framework for the hardver and end-user
aplications. All the main algorithms are implemented in separate
components, like NITE (unfortunately no others are known to me). And
so you dont have to bother to get the depth data, and feed it to the
algorithm: that what OpenNI is for.
But the simplest way is to read the OpenNI User Guide :)

2011/10/27 lavatar <kare...@googlemail.com>:

barry....@primesense.com

unread,
Oct 28, 2011, 9:59:11 PM10/28/11
to OpenNI
To clarify a bit, NiUserTracker definately depends on NITE. Once
you'd uninstalled NITE, you wouldn't be able to compile it anymore.

If you saw the sample running on a machine with NITE uninstalled, you
most likely still had the required DLL's floating around in the same
directory as the binary you were running -- in this case, the sample
would still run, because the code containing the algorithms it needs
are in those DLL's.

On Oct 27, 3:16 pm, Pálfalvi József <palfal...@gmail.com> wrote:
> That is the main concept, and if you have seen the picture about
> OpenNI architecture
> (http://yannickloriot.com/wp-content/uploads/2011/03/OpenNi-Architectu...)
> than you can see, that it is component based, so the whole OpenNI API
> is just a wrapper to create a framework for the hardver and end-user
> aplications. All the main algorithms are implemented in separate
> components, like NITE (unfortunately no others are known to me). And
> so you dont have to bother to get the depth data, and feed it to the
> algorithm: that what OpenNI is for.
> But the simplest way is to read the OpenNI User Guide :)
>
> 2011/10/27 lavatar <karelk...@googlemail.com>:
>
>
>
> > Does this mean without Nite Installation no Skeleton - Tracking?
>
> > On Oct 19, 7:17 pm, solcruiser <solcrui...@googlemail.com> wrote:
> >> On Oct 18, 11:24 am, lavatar <karelk...@googlemail.com> wrote:
>
> >> > I dont understand why OpenNI and Nite is split UP. What is the
> >> > significant difference between those two.
> >> > Which Feature have they?
> >> > I Try to understand it with the OpenNI Documentation, but without
> >> > success...
>
> >> Hi,
> >> NITE is a middleware provided by primesense (inventor of the sensor
> >> used in the kinect)
> >> It provides the main user and sceleton-tracking algorithms.
> >> OpenNI is a framework and also a NITE-Wrapper.
>
> >> greetings from germany
>
> > --
> > You received this message because you are subscribed to the Google Groups "OpenNI" group.
> > To post to this group, send email to openn...@googlegroups.com.
> > To unsubscribe from this group, send email to openni-dev+...@googlegroups.com.
> > For more options, visit this group athttp://groups.google.com/group/openni-dev?hl=en.- Hide quoted text -
>
> - Show quoted text -

barry....@primesense.com

unread,
Oct 28, 2011, 10:38:31 PM10/28/11
to OpenNI
To clarify a bit more... :-) (Thanks Roee!)

It's entirely possible that the sample could run without NITE if there
was another plugin on the system supplying the required functionality
(in this case the skeleton tracker).

It's not so much that the sample needs NITE installed... just that
OpenNI needs to be able to find a plugin that supplies the required
generator.

The real point is that the functionality needed to impliment a
skeleton tracker isn't present by default after you install the OpenNI
package -- it must come from a plugin somewhere.

On Oct 28, 6:59 pm, "barry.gac...@primesense.com"
> > > For more options, visit this group athttp://groups.google.com/group/openni-dev?hl=en.-Hide quoted text -
>
> > - Show quoted text -- Hide quoted text -
Reply all
Reply to author
Forward
0 new messages