Je travaille actuellement sur un système de reconnaissance gestuelle (pour une application Android). Je pense avoir terminé l'étape de traitement d'image, où je suis capable d'extraire le contour de la main (je porte un gant pour éviter la soustraction de l'arrière-plan pour l'instant).
Je reçois également l'ellipse / rectangle englobant, le centroïde en tant que caractéristiques de forme «importantes» de la main.
Mon problème est que peu de littérature indique quelle est la prochaine étape avant la classification de l'image à travers le modèle markovien caché. Je trouve cette étape «d'extraction de fonctionnalités» très ambiguë.
Actuellement, je reçois une liste des angles du contour (qui est approximée de manière à obtenir un nombre limité d'angles)
Le problème est que je ne sais pas quoi faire ensuite. Lorsque je recherche de la littérature comme «Classification des formes à l'aide de HMM», je trouve toujours difficile de savoir quoi faire ensuite.
En tant qu'outil pour HMM, je prévois d'utiliser JaHMM. Mais je ne sais pas comment expérimenter l'outil à ce stade car je ne sais pas quelle sera la contribution à cette étape de classification!
J'ai rencontré une liste de fonctions que j'ai trouvées dans certains ouvrages, comme les descripteurs de Fourier rapides, les descripteurs de courbure, la spline B; pourtant, je ne sais pas comment appliquer ces fonctions à mes données actuelles (c'est-à-dire la liste des angles, par exemple: -63, 154, 3, 23, 54, ....)
MISE À JOUR 1:
Merci pour vos informations. @Peter K.
Concernant les poses: j'allais opter pour un ensemble de mots en American Sign Language qui sont orthographiés, par exemple «chien» -> «d» «o» «g» (3 états); mais le moment où je n'ai pas décidé quoi faire.
Je lis actuellement d'autres articles pour voir quel type d'informations je dois extraire, comme:
- centroïde de la main
- angle de mouvement
- distance d'un point particulier à différents points du contour de la main (etc.)
Maintenant, j'ai rencontré un article qui semble montrer ce que je veux faire, je ne suis pas sûr:
http://espace.library.uq.edu.au/eserv.php?pid=UQ:10700&dsID=n0273.pdf
Je lis actuellement la section 5 - Quantification vectorielle (j'ai entendu parler de ce terme auparavant mais je ne sais pas vraiment ce qu'il implique, et dans la figure 5 il semble y avoir un algorithme complexe qui, si j'ai bien compris, convertit l'ensemble des valeurs que j'atteins de la main (juste mentionnée) en 1 chiffre que je peux utiliser comme séquence d'observation pour former un HMM pour 1 signe particulier. Pensez-vous que je me déplace sur la bonne voie? (Je travaille sur Android, (NDK) , J'ai trouvé JaHMM en tant qu'outil HMM et utilisant OpenCV pour le traitement d'images.
@Peter K. Merci pour votre réponse. En ce qui concerne la génération de données, je prévoyais de suivre les étapes de cet article, après avoir produit mon ensemble de données personnelles: (sections 4 et 5) http://www.i.ci.ritsumei.ac.jp/~shimada/papers/vi02 -tanibata.pdf
MISE À JOUR 2: en gardant à l'esprit qu'un geste est formé de {posture a, posture b, posture c}
Je pense maintenant que je dois utiliser une certaine forme d'algorithme de classification. Autrement dit, j'ai actuellement un ensemble de vecteurs de fonctionnalités:
Posture A: [angle d'ellipse l'entourant, rapport hauteur: largeur]
- 0.802985 33.909615
- 0,722824 31,209663
- 0,734535 30,206722
- 0,68397 31,838253
- 0,713706 34,29641
- 0.688798 30.603661
- 0,721395 34,880161
Posture B: [structurée de la même manière que la posture A]
- 0,474164 16,077467
- 0,483104 14,526289
- 0,478904 14,800572
- 0,483134 14,523611
- 0,480608 14,41159
- 0,481552 15,563665
- 0,497951 15,563585
etc..
et j'aimerais que lorsque j'alimente un vecteur caractéristique, j'obtienne un simple symbole, par exemple "A", "B", etc.
Est-ce possible? J'ai également migré la question ici: /programming/15602963/vector-quantization-algorithms-used-to-provide-observation-sequences-for-hidden