Attualmente sto lavorando a un sistema di riconoscimento dei gesti (per un'applicazione Android). Penso di aver completato la fase di elaborazione delle immagini, dove sono in grado di estrarre il contorno della mano (sto indossando un guanto per evitare la sottrazione di sfondo per ora).
Ricevo anche l'ellisse / rettangolo di delimitazione, il centroide come caratteristiche di forma "importanti" della mano.
Il mio problema è che non molta letteratura indica quale sarà la fase successiva prima della classificazione dell'immagine attraverso il modello markov nascosto. Sto trovando questa fase di "Estrazione delle caratteristiche" molto ambigua.
Attualmente sto ottenendo un elenco di angoli del contorno (che è approssimato in modo da ottenere un numero limitato di angoli)
Il problema è che non ho idea di cosa fare dopo. Quando cerco la letteratura come "Classificazione delle forme usando gli HMM", trovo ancora difficile cosa dovrei fare dopo.
Come strumento per HMM ho intenzione di utilizzare JaHMM. Ma non so come sperimentare lo strumento in questa fase poiché non so quale sarà l'input per questa fase di classificazione!
Ho incontrato un elenco di funzioni che ho trovato in alcune pubblicazioni, come descrittori Fast Fourier, descrittori di curvatura, spline B; tuttavia non ho idea di come applicare queste funzioni ai miei dati attuali (es. elenco di angoli, ad esempio: -63, 154, 3, 23, 54, ....)
AGGIORNAMENTO 1:
Grazie per le vostre informazioni. @Peter K.
Per quanto riguarda le pose: stavo per cercare una serie di parole nella lingua dei segni americana che sono scritte con le dita, ad esempio "cane" -> "d" "o" g "(3 stati); ma nel momento in cui non ho deciso cosa fare.
Attualmente sto leggendo altri articoli per vedere che tipo di informazioni dovrei estrarre, come ad esempio:
- centroide della mano
- angolo di movimento
- distanza da un punto particolare a diversi punti del contorno della mano (ecc.)
Ora ho incontrato un documento che sembra mostrare cosa voglio fare, non sono sicuro:
http://espace.library.uq.edu.au/eserv.php?pid=UQ:10700&dsID=n0273.pdf
Attualmente sto leggendo la sezione 5 - Quantizzazione vettoriale (ho già sentito parlare di questo termine ma in realtà non so cosa comporta, e nella figura 5 sembra esserci un algoritmo complesso che, se ho capito bene, converte l'insieme di valori che raggiungo dalla mano (appena menzionata) in 1 cifra che posso usare come sequenza di osservazione per addestrare un HMM per un segno particolare. Pensi che mi sto muovendo sulla strada giusta? (Sto lavorando su Android, (NDK) , Ho trovato JaHMM come strumento HMM e usando OpenCV per l'elaborazione delle immagini.
@Peter K. Grazie per la risposta. Per quanto riguarda la generazione dei dati, stavo pianificando di seguire i passaggi di questo documento, dopo aver prodotto il mio set di dati personali: (sezioni 4 e 5) http://www.i.ci.ritsumei.ac.jp/~shimada/papers/vi02 -tanibata.pdf
AGGIORNAMENTO 2: tenere presente che si forma un gesto di {postura a, postura b, postura c}
Ora sto pensando che devo usare una qualche forma di algoritmo di classificazione. Cioè, attualmente ho una serie di vettori di funzionalità:
Postura A: [angolo dell'ellisse che lo circonda, altezza: rapporto larghezza]
- 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
Postura B: [strutturato come la postura 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
eccetera..
e vorrei che quando alimento un vettore di feature ottengo un semplice simbolo, ad es. 'A', 'B', ecc.
È possibile? Ho anche migrato la domanda qui: /programming/15602963/vector-quantization-algorithms-used-to-provide-observation-sequences-for-hidden