2011-02-18 2 views
0

J'utilise un kinect pour faire des logiciels informatiques. J'ai ma configuration de programme de sorte qu'il filtre tout au-delà d'une certaine distance, et une fois que quelque chose entre suffisamment près pour être une main, mon programme suppose qu'il est.Suivi de forme après détection filtrée

Cependant, je veux étendre cette fonctionnalité. Actuellement, si la main quitte la région filtrée en profondeur, le logiciel ne suit plus sa position. Comment puis-je suivre la main après l'avoir reconnue, quelle que soit la profondeur?

Répondre

0

Je n'ai pas travaillé avec le contrôleur Kinect, mais une fois que j'ai joué avec un scanner laser, les plages retournées, mais uniquement dans un plan horizontal. Mais la technique que nous avons utilisée pourrait aussi être appliquée à Kinect.

Lorsque nous avons trouvé un objet que nous voulions identifier, nous avons calculé le point central de l'objet [X,Y] (serait [X,Y,Z] pour Kinect). Pour le prochain "cadre" nous avons cherché tous les points dans un rayon donné r de [X,Y], pour ces points, nous avons trouvé que nous avons calculé un nouveau centre [X,Y] que nous avons utilisé pour le prochain "cadre" et ainsi de suite.

Nous avons utilisé la vitesse d'objet maximale possible et le framerate pour calculer le plus petit possible r qui s'est assuré que l'objet n'a pas échappé à notre suivi entre deux trames de mesure.

0

Je n'ai pas travaillé avec le contrôleur Kinect, mais vous pouvez essayer algorithme de correspondance de modèle rapide mis en œuvre: https://github.com/dajuric/accord-net-extensions

Il suffit d'utiliser l'image de profondeur d'image en niveaux de gris au lieu standard. Les échantillons sont inclus.

P.S. Cette bibliothèque fournit également d'autres algorithmes de suivi tels que le filtrage de Kalman, le filtrage de particules, JPDAF, Camshift, Mean-shift (échantillons inclus).

Questions connexes