Question

Je suis intéressé à écrire un code homebrew pour la console Microsoft Kinect. J'ai quelques applications qui, je pense, se traduiraient bien vers la plate-forme. J'ai joué avec l'idée de lui donner une photo en utilisant le Pilotes et bibliothèques OpenKinect. De toute évidence, ce serait beaucoup de travail, mais je me demande combien. Quelqu'un a-t-il de l'expérience avec OpenKinect? Obtenez-vous uniquement les données vidéo / audio brutes de l'appareil, ou quelqu'un a-t-il écrit des abstractions de niveau supérieur pour faciliter les tâches courantes?

Était-ce utile?

La solution

La Ouverte La bibliothèque est essentiellement un chauffeur - du moins pour l'instant - donc Ne vous attendez pas à beaucoup de fonctions élevées. Vous obtiendrez plus ou moins le données brutes des deux profondeur et le vidéo appareils photo.
Il s'agit essentiellement d'un tableau reçu dans une fonction de rappel chaque fois qu'un cadre arrive.

Vous pouvez l'essayer en suivant les instructions fournies sur le Site Web OpenKinect, il est vraiment rapide à installer et à l'essayer, et vous pouvez jouer un peu avec le glview Application fournie pour avoir une idée de ce qui est possible. J'ai mis en place quelques démos en utilisant opencv, et j'ai obtenu des résultats assez sympas même si je n'avais pas beaucoup de fond en vision par ordinateur, donc je ne peux que vous encourager à l'essayer vous-même!

 
Alternativement, si vous recherchez des fonctions plus avancées, le Cadre Openni a été publié cette semaine et fournit des algorithmes impressionnants de haut niveau tels que Suivi du squelette et certaines reconnaissance gestuelle. Une partie du cadre est des algorithmes propriétaires de Primessesen (comme le puissant module de suivi du squelette ...). Je ne l'ai pas encore essayé et je ne sais pas à quel point il s'intègre au Kinect et au système d'exploitation différent, mais depuis qu'un tas de gars de différents groupes (OpenKinect, Willow Garage ...) travaillent dur dessus qui ne devraient pas Il sera un problème dans une semaine.

Autres conseils

Elaborant davantage ce que Jules Olleon a écrit, j'ai travaillé avec Openni (http://www.openni.org) et les algorithmes au-dessus (Nite), et je recommande fortement d'utiliser ces frameworks. Les deux cadres sont bien documentés et sont livrés avec de nombreux échantillons à partir desquels vous pouvez commencer.

Fondamentalement, Openni résume les détails de niveau inférieur du travail avec le capteur et son pilote pour vous, et vous donne un moyen pratique d'obtenir ce que vous voulez d'un "générateur" (par exemple XN :: DepthGenerator pour obtenir les données de profondeur brutes). OpenNI est open-source et gratuit à utiliser dans n'importe quelle application. Openni gère également l'abstraction de la plate-forme pour vous. À ce jour, Openni est pris en charge et fonctionne bien pour Windows 32/64 et Linux, et est en train d'être porté vers OSX. Les liaisons sont disponibles pour une utilisation dans plusieurs langages de programmation (C, C ++, .NET, Python et quelques autres, je crois).

Nite A des interfaces supplémentaires construites au-dessus d'Openni, qui vous donnent des résultats de niveau supérieur (par exemple, suivez un point à main, des squelettes, une analyse de scène, etc.). Vous voudrez vérifier les subtilités de la licence de Nite concernant quand / où vous pouvez l'utiliser, mais c'est probablement le moyen le plus simple et le plus rapide d'obtenir l'analyse (par exemple, le squelette) pour l'instant. NITE est fermé, donc PrimeSense doit fournir une version binaire à utiliser. Actuellement, les versions Windows et Linux sont disponibles.

Je n'ai pas travaillé avec OpenKinect mais je travaille avec Openni et Sensorkinect depuis quelques mois maintenant pour mes recherches. Si vous prévoyez de travailler avec des données brutes de Kinect, elles fonctionnent très bien pour vous donner de la profondeur et de la vidéo (elles ne prennent pas en charge le contrôle des moteurs). Je l'ai utilisé avec C ++ et OpenGL dans Windows 64bit et Ubuntu 32bit sans presque aucune modification du code. Il est très facile d'apprendre si vous connaissez C ++ de base. L'installer peut être un petit mal de tête.

Pour des fonctionnalités plus avancées telles que la détection des squelettes, la reconnaissance des gestes, etc., je recommande fortement d'utiliser les moyens du milieu tels que Nite avec Openni ou ceux fournis ici: Middlewares s'est développé autour d'Openni plutôt que de réinventer la roue. Nite est également très facile à utiliser une fois que vous avez fonctionné Openni; Par exemple, la reconnaissance conjointe est quelque chose autour de 10 à 20 lignes de code supplémentaires.

Quelque chose que je recommanderais à mon jeune moi serait d'apprendre et de travailler avec un moteur de jeu de base (par exemple l'unité) plutôt que directement avec OpenGL. Cela vous donnerait beaucoup mieux et plus de graphismes, moins de tracas et vous permettrait également d'intégrer facilement votre programme avec d'autres outils tels que Physx. Je n'en ai pas essayé, mais je sais qu'il existe des plugins pour utiliser des pilotes Kinect dans Unity.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top