59 votes

Officiel SDK de Kinect vs Open source solutions de rechange

Où sont-ils différents?

Quels sont les avantages de choisir libfreenect ou OpenNI+SensorKinect, par exemple, sur le SDK Officiel, et vice-versa?

Quels sont les inconvénients?

Je vous remercie pour votre temps!

En attendant, j'ai trouvé une bonne ressource: http://www.brekel.com/?page_id=671

57voto

Avada Kedavra Points 3127

Veuillez noter que la réponse est par la date et de certains faits peuvent très bien être dépassé dans un proche avenir. État actuel de l'Officiel Kinect SDK bêta 1.00.12.

La première différence évidente est que le SDK officiel est maintenu par l'équipe de Recherche de Microsoft, tandis que OpenKinect est un open source SDK maintenu par la communauté open source. Les deux a ses inconvénients et les avantages.

  • Le SDK Officiel est développé par Microsoft qui développe également le matériel et, par conséquent, doit connaître les informations internes relatives à l'appareil que l'open source, la société doit désosser. C'est évidemment à l'avantage de Microsoft.
  • Microsoft est à verser beaucoup d'argent dans cet appareil et je suis sûr qu'ils vont faire ce qu'ils estiment nécessaires pour garder leur SDK à la hauteur. Ayant l'économie derrière elle donne de nombreux avantages.
  • D'autre part, ne jamais sous-estimer la force de l'open source de la société: "La OpenKinect communauté se compose de plus de 2000 membres qui contribuent de leur temps et de code pour le Projet. Nos membres ont rejoint ce Projet avec la mission de créer le plus possible de la suite d'applications pour le Kinect. OpenKinect est une véritable "open source" de la communauté!" - http://openkinect.org/wiki/Main_Page.
  • OpenKinect a été libéré longtemps avant que le SDK officiel comme le kinect appareil a été piraté sur le premier ou le deuxième jour de sa sortie. Bravo à OpenKinect!

Les langages de programmation pris en charge:

  • SDK officiel: C++, C# ou Visual Basic à l'aide de Microsoft Visual Studio 2010.
  • OpenKinect: Python, C, C++, C#, Java, Lisp et plus! Évidemment, ne nécessitant pas de Visual Studio.

Systèmes d'exploitation compatibles:

  • SDK officiel: installe uniquement sur Windows 7.
  • OpenKinect: fonctionne sur Linux, OS X et Windows

Clairement l'avantage OpenKinect.

Licence:

  • Le SDK Officiel en est à sa version bêta actuelle de l'état uniquement pour les tests. Le kit de développement a été développé spécifiquement pour encourager une large exploration et d'expérimentation par l'enseignement, la recherche et passionné de communautés. les applications commerciales ne sont pas autorisées. Notez cependant que cela va probablement changer dans les futures versions du SDK. Visitez la FAQ pour plus d'informations
  • OpenKinect appers être ouvert pour un usage commercial, mais les sources en ligne de l'état qu'il ne peut pas être aussi simple que cela. Je voudrais prendre un bon coup d'oeil sur les conditions avant de relâcher toutes les applications commerciales avec elle. Lire Kinect – implications de Licence de l'open hardware projets pour plus d'info.

De Documentation et de soutien:

  • SDK officiel: bien documentés et fournit un forum de support
  • OpenKinect: semble avoir une liste de diffusion, twitter et irc. mais pas de forum officiel d'assurance de la qualité? La Documentation sur le site web n'est pas aussi riche que je voudrais qu'il soit.

Appareil d'étalonnage:

Différents Kinect appareils peut varier légèrement en fonction du lot qu'ils ont été produits. Ainsi, l'appareil d'étalonnage est parfois nécessaire. Mais:

  • le SDK Officiel ne fournit pas tous les paramètres de calibration, mais j'ai jusqu'à présent pas eu d'étalonner l'appareil, je travaille sur. D'après ce que j'ai lu en ligne (lien perdu) au moment de la production les paramètres d'étalonnage sont écrites sur le périphérique kinect, donc avec le SDK Officiel de l'étalonnage n'est pas nécessaire.
  • OpenKinect caractéristiques de l'appareil d'étalonnage: http://openkinect.org/wiki/Calibration. Donc je pense que vous devez calibrer votre appareil si vous allez avec OpenKinect.

Si c'est vrai que l'étalonnage n'est nécessaire pour OpenKinect qui est un gros avantage pour le SDK officiel car il est plus facile à distribuer et installer des applications sans avoir besoin.


Personnellement, après l'échec d'un essai avec l'OpenKinect SDK, je suis allé avec le SDK officiel, qui

  1. livrée avec les pilotes installés hors de la boîte
  2. fourni avec des exemples de code et de de facile à obtenir dans les affaires
  3. Tout-en-tout: j'ai pu commencer mon propre développement dans les 15 minutes.
  4. Maintenant, après avoir travaillé avec la Kinect pour quelques mois, je dois dire que je suis très satisfait, l'API fournie. Je ne peut cependant pas comparer à la OpenKinect SDK comme je l'ai en fait jamais eu de travail (mais peut-être qu'il ne lui donne pas une juste essayer).

Mise à JOUR: à compter du 1er février 2012 il y a une licence commerciale pour le SDK officiel: "La licence commerciale pour cette version autorise le développement et la distribution d'applications commerciales. L'avant SDK est une version bêta, et comme un résultat n'est approprié que pour la recherche, de test et d'expérimentation, et n'était pas adapté pour une utilisation avec un produit commercial. La nouvelle licence permettra aux développeurs de créer et de vendre leurs Kinect pour Windows applications pour les utilisateurs finaux de l'utilisation de Kinect pour Windows hardware sur les plates-formes Windows." Développeur Questions Fréquemment Posées

3voto

user1234676 Points 11

Je vous recommande fortement de le Cendre cadre. (libcinder.org)

Il supporte à la fois OpenNI et Kinect de développement, si vous êtes à l'aide de C++. Il prend désormais en charge SDK de Kinect 1.7 et OpenNI 2, par l'intermédiaire de ces Cinderblocks:

MS Kinect SDK 1.7 (stable) https://github.com/BanTheRewind/Cinder-MsKinect

OpenNI 2 / NITE 2.2 (alpha) https://github.com/wieden-kennedy/Cinder-OpenNI

Les deux peuvent faire squelettique de suivi de la boz, OpenNI être capable de suivre jusqu'à six squelettes simultanément. OpenNI 2 gagne rapidement sur le Kinect, bien que le nouveau Kinect va probablement changer que quand il sort le mois prochain. Toutefois, la base de principes sous-jacents sont peu susceptibles de changer.

Le principal inconvénient de la version initiale de OpenNI est qu'il faut un corps plein d'activation de poser pour reconnaître un utilisateur, qui était un briseur d'affaire pour un grand nombre d'applications - toutefois cela semble avoir été résolu dans les versions les plus récentes et OpenNI 2 prend également en charge robuste main, suivi de très près, bien qu'il nécessite une mise au point geste initialement. Si vous travaillez sur Mac ou Linux, c'est à peu près votre seul choix.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X