O Uso de Redes Neurais Artificiais Para o Reconhecimento de

Transcrição

O Uso de Redes Neurais Artificiais Para o Reconhecimento de
O Uso de Redes Neurais Artificiais Para o
Reconhecimento de Padrões em uma Prótese
Mioelétrica de Mão
Fransérgio L. Cunha 1, Juracy E. M. Franca 1, Rodrigo L. Ortolan 1, Alberto Cliquet Jr 1,2
1
Departamento de Engenharia Elétrica – Escola de Engenharia de São Carlos / Universidade de São Paulo
2
Departamento de Ortopedia e Traumatologia – Faculdade de Ciências Médicas/UNICAMP
LABCIBER – Laboratório de Biocibernética e Engenharia de Reabilitação – D.E.E. – E.E.S.C./ USP
Av. Trabalhador Sãocarlense, 400 - Caixa Postal 359 - 13566-590 - São Carlos – SP
Email: [email protected]
Resumo
As modernas próteses mioelétricas multifunção para
membros superiores exigem para seu funcionamento o
reconhecimento de padrões do sinal mioelétrico,
visando o controle de suas funções. Isso é possível
porque os sinais obtidos nos primeiros 200ms após o
início da contração muscular exibem uma estrutura
determinística, e portanto possibilitam a extração de
padrões. A idéia consiste em reconhecer a intenção de
movimento, através do menor número possível de
sensores mioelétricos posicionados nos músculos do
coto. Existem várias técnicas de reconhecimento destes
padrões, seja por classificação e extração das
características destes sinais usando métodos estatísticos,
sistemas baseados em lógica fuzzy ou redes neurais
artificiais.
Este trabalho faz uma breve discussão neste campo,
comparando os diversos métodos listados, sua
viabilidade de aplicação em uma prótese para antebraço
cuja mão tenha capacidade de assumir diferentes
funções estáticas, e propõe um método de extração
destes padrões de maneira simplificada utilizando redes
neurais artificiais. As opções de funções dadas como
exemplo neste trabalho são: abrir a mão e fechá-la
assumindo uma pinça tridigital. Ao final, são
apresentados os resultados, uma avaliação do
desempenho da rede neural artificial utilizada em
comparação às técnicas existentes e algumas sugestões
para futuros trabalhos.
1. Introdução
Com o intuito de reabilitar o paciente amputado esperase provê-lo com um dispositivo protético que possa ser
acionado, e realize sua função, da forma mais natural
possível, evitando desta forma que o paciente sofra
conseqüências psicológicas e práticas na utilização da
mesma. Portanto, diversos trabalhos têm sido realizados
visando o desenvolvimento de próteses antropomórficas
multifuncionais comandadas por sinais biológicos
disponíveis no coto do paciente amputado [1], em
particular os sinais mioelétricos (SME) [2]. Pode-se
observar como exemplo a “Mão de São Carlos”, em
desenvolvimento no Laboratório Biocibernética e
Engenharia de Reabilitação da EESC/USP. Neste
projeto, será construída uma prótese de mão com
falanges e movimentos próximos àqueles encontrados
na mão natural [3], isto propiciará a realização de
diversas funções (por exemplo, poderá executar diversas
garras e pinças para a preensão de objetos com formas
diferentes). O seu acionamento será comandado pela
tensão elétrica, capturada por eletrodos de superfície
posicionados no coto do paciente, que será
correspondente à atividade das unidades motoras dos
grupos musculares próximos aos eletrodos (SME).
Consequentemente há a necessidade de um sistema que
associe o SME capturado ao tipo de contração muscular
específica realizada voluntariamente pelo indivíduo.
Hudgins et. al. [4] mostrou que embora o SME seja uma
variável aleatória, tal sinal apresenta uma característica
determinística nos primeiros 200ms após a realização da
contração muscular. Além disto demonstrou que a
estrutura do sinal mioelétrico neste intervalo apresenta
diferentes estruturas associadas a diferentes contrações
musculares (por exemplo, envolvidas em funções
diferentes). Portanto, a característica determinística
encontrada nesta janela do SME pode ser utilizada para
a seleção de diversas funções, que serão realizadas pela
prótese, a partir do sinal coletado por um único eletrodo,
sendo a quantidade de funções limitada apenas pelo
número de padrões diferentes gerados pela contração
dos músculos remanescentes no coto. Além disto
apontou três fatores de fundamental importância na
classificação deste sinal: há uma grande variação na
característica do sinal capturado em indivíduos
diferentes, no caso do amputado isto é agravado devido
a alteração na estrutura muscular remanescente; há uma
componente aleatória presente na janela que pode
prejudicar a precisão na classificação do SME cru (sinal
que não foi pré-processado antes da classificação); o
tempo de resposta adequado para este tipo de aplicação
é de 300ms, sendo que boa parte deste intervalo é usada
no processo de aquisição, o que reduz a
aproximadamente 100ms o tempo disponível para a
classificação do sinal, que implica na limitação da
complexidade computacional do classificador a ser
utilizado.
339
flexor. Os sinais captados pelos eletrodos foram então
amplificados 1000 vezes e enviados para uma placa de
aquisição de dados modelo CAD12/36 da fabricante
Linx Tecnologia [8] com uma freqüência de
amostragem de 1kHz. Após um comando verbal, que
iniciava a aquisição de 2000 pontos – equivalente a uma
janela de 2s, um voluntário normal executava um curto
movimento de flexão ou extensão do punho.
Para este trabalho foram gravados 9 SMEs resultantes
da contração do grupo flexor e 9 para o grupo extensor,
totalizando 18 amostras de padrões para um voluntário,
visto que a prótese deve ter como característica a sua
total adaptação ao paciente [9]. Os sinais foram
gravados com um ruído de fundo de valor RMS (root
mean square) de aproximadamente 5µV, sendo este
valor aceitável para os propósitos deste trabalho.
Um próximo passo foi a extração dos pontos
equivalentes aos primeiros 200ms da contração
muscular. Este processo foi feito através de uma rotina
feita em MatLab que determina o inicio da contração.
Esta rotina procurava um ponto I do sinal com valor
acima de um threshold (limiar) γ determinado, e calcula
o RMS de uma janela de N pontos a partir deste ponto,
caso o valor RMS desta janela tenha valor acima de γ
então o ponto I é considerado o ponto do inicio da
contração, caso contrário é encontrado outro ponto I e
conferido se este é o inicio da contração. Os valores de γ
e N foram determinados empiricamente, sendo γ igual a
40µV para as extensões e 80µV para as flexões, e N
igual a 40 pontos.
A partir do ponto I foram extraídos 200 pontos que por
sua vez foram normalizados, garantindo que seus
valores ficassem entre –1 e 1, visando seu uso em uma
RNA, e posteriormente foram gravados, caracterizando
a parte determinística do SME, importante para o
reconhecimento. Este processo foi repetido para todas as
18 amostras. Exemplos destes sinais podem ser vistos
nas figuras 1 e 2.
Sinal Mioelé trico do grupo Flexor
500
a)
Microvolts
Hudgins et. al. [5] realizou uma revisão de diversos
métodos usados para identificação do comando de
controle de próteses multifuncionais através da
classificação de SMEs, e apresentou uma estratégia que
apresentava
vantagens
relacionadas
às
três
características descritas no parágrafo anterior. Ele
explorou a janela onde o SME apresenta a característica
determinística (reduzindo o número de eletrodos
necessários), extraiu primitivas desta janela (reduzindo
a representação do sinal), e usou uma rede neural para a
classificação (permitindo que o sistema seja adaptativo
às variações inerentes ao SME).
Englehart et. al. [6] desenvolveu um sistema mais
complexo que o de Hudgins com o propósito de
melhorar a classificação, e consequentemente a
funcionalidade do sistema. Ele considerou a importância
da variação da estrutura, tanto no tempo quanto na
freqüência, do SME com característica determinística.
Comparando diversas formas de representação do SME
e de classificadores obteve uma combinação que
apresentou menor erro que o obtido para o sistema de
Hudgins, e complexidade computacional suficiente para
atender as restrições de operação em tempo real, quando
implementado no mesmo microcontrolador que o outro
sistema. Para a representar o sinal ele aplicou a
transformada wavelet, fez redução dimensional usando
análise das componentes principais (PCA), e usou o
classificador estatístico LDA (linear discriminant
analysis).
Enquanto isto, Gallant et. al. [7] realizou um trabalho
semelhante ao de Englehart, usando para a
representação do SME o espectograma calculado ao
longo da janela determinística, uma rede neural com o
modelo de neurônio BCM. Para a redução da
dimensionalidade, e uma rede de “perceptrons”
multicamada para a classificação.
Entretanto, verifica-se que um pré-processamento do
SME demanda de um tempo relativamente grande,
quando aplicado em microprocessadores. Como o
objetivo é reconhecer o padrão do sinal em uma janela
de 200ms apenas, supõe-se que seria mais interessante
diminuir o tempo de processamento e fazer com que o
software de reconhecimento execute sua tarefa com o
sinal cru. Para este trabalho foi escolhido um método
baseado em redes neurais artificiais por ele se comportar
melhor perante este tipo de problema, do que
comparado a outros métodos.
0
-500
0
200
400
600
800
1000
1200
1400
1600
1800
2000
160
180
200
tempo (ms)
Amostra do sinal normalizado durante o periodo deterministico
1
2. Sinais Mioelétricos
Para o conjunto de treinamento, validação e teste da
rede foram captados vários SMEs. Estes sinais foram
adquiridos usando um par de eletrodos de superfície
bipolares, como sugerido por Hudgins [6], localizados
na região determinada sobre os músculos extensores
Carp Ulnaris, Digitorium (Communis), Carpi Radialis
Brevis e Longus, denominada neste trabalho como
grupo extensor e na região próxima ao grupo de
músculos Palmaris Longus, flexores Carpi Ulnaris e
Radialis e Digitorum Superficialis, denominada grupo
340
b)
SME normalizado
0.5
0
-0.5
-1
0
20
40
60
80
100
120
140
tempo (ms)
Fig. 1. Exemplo de SME captado pelo eletrodo situado no
grupo flexor durante a flexão do punho. a) Todo o sinal
captado durante 2s, mostrando a janela de 200ms; b) 200ms
iniciais após o início da contração, já normalizados.
f (x ) =
Sinal Mioelé trico do grupo Extensor
2000
a)
Microvolts
1000
0
-1000
-2000
0
200
400
600
800
1000
1200
1400
1600
1800
2000
1
1 + e − kx
(1)
Foi fixado um período de 1000 ciclos de treinamento
para todas as arquiteturas, para uma posterior
comparação dos resultados.
tempo (ms)
Amostra do sinal normalizado durante o periodo deterministico
4. Resultados
1
0
-0.5
-1
0
20
40
60
80
100
120
140
160
180
200
tempo (ms)
Fig. 2. Exemplo de SME captado pelo eletrodo situado no
grupo extensor durante a extensão do punho. a) Todo o sinal
captado durante 2s, mostrando a janela de 200ms; b) 200ms
iniciais após o início da contração, já normalizados.
Como a quantidade de amostras era relativamente baixo,
foram gerados mais seis sinais a partir dos sinais
existentes acrescidos de um ruído com média zero de
dez por cento do valor da amplitude dos sinais originais.
Estes sinais foram escolhidos de forma aleatória e em
quantidades iguais.
O treinamento foi feito com metade dos padrões
obtidos, apresentados em conjunto com as saídas
desejadas e amostrados de forma aleatória e sem
repetições. O grupo restante foi dividido igualmente em
um conjunto para validação e outro para testes. Este
procedimento foi repetido entre as quatro arquiteturas
separadamente.
Os resultados das simulações de teste para as quatro
arquiteturas, para os dados de um voluntário normal
podem ser visto na figura 3.
% de Acerto
b)
SME normalizado
0.5
100,00
80,00
60,00
40,00
20,00
0,00
1
3. Rede Neural Artificial
Como comentado na introdução deste artigo, objetivouse o projeto de uma RNA relativamente simples,
evitando o pré-processamento do sinal, visando assim
uma maior velocidade de processamento. Desta forma,
foi escolhida uma rede que tivesse como entrada todos
os 200 pontos relativos ao SME e como saída qual o
tipo de contração deste sinal, relacionado com qual
movimento a prótese deve fazer.
Uma rede de três camadas com aprendizagem
supervisionada foi escolhida para este caso. Como a
simplicidade era uma das metas, o treinamento por
backpropagation [10] foi optado, visto que é
amplamente utilizado e conhecido no meio acadêmico.
A primeira camada apenas propaga o sinal de entrada e
as camadas intermediária e de saída encarregam-se do
processamento. O algoritmo usado foi o sugerido por
Caudill e Butler [10], com algumas pequenas
modificações, e foi implementado em linguagem C em
um computador pessoal. Foram usadas 200 unidades de
processamento na camada de entrada, relativas aos 200
pontos do SME, e duas unidades na saída, sendo que [1
0]T representava uma extensão e [0 1]T uma flexão do
punho. Foram testadas quatro arquiteturas com 1, 2, 3 e
5 unidades na camada intermediária.
Foi usada uma taxa de aprendizagem η constante e igual
a 0.7 e um limiar para as unidades de saída de 0.5
(somente no período de validação e teste). As unidades
de saída e intermediária tinham como função de
ativação uma função tipo sigmóide (equação 1) com
uma constante k igual a 1. Estes valores foram
determinados empiricamente.
2
3
4
Arquiteturas
Fig. 3. Resultados dos testes da rede para 4 arquiteturas
A arquitetura 1 apresentou um resultado pobre, como
esperado – dado a inadequada quantidades de unidades
na camada intermediária; já as arquiteturas 2 e 4
apresentaram resultados bons, levando em consideração
os poucos pontos para teste; e o melhor resultado foi o
dado pela arquitetura 3.
5. Discussão e Conclusões
Com os dois padrões reconhecidos, é possível
implementar numa prótese para membros superiores as
funções de abertura e fechamento da mão, assumindo
um movimento natural, como por exemplo a função de
pinça tridigital [9]. Fazendo o treinamento da RNA com
outros tipos de padrões, como os gerados pelos grupos
flexor e extensor ao executar os movimentos de abdução
e adução do punho, o paciente poderia controlar outras
funções da mão ou outros movimentos da prótese.
De acordo com os resultados mostrados, a arquitetura
com 3 unidades na camada intermediária mostrou-se
mais indicada para esta aplicação, somando um bom
desempenho com um bom custo computacional. Devese salientar entretanto que na prótese, o treinamento será
realizado off-line e apenas a aquisição, a procura do
início da contração e o reconhecimento do movimento
seriam realizadas em tempo real, desta forma, um préprocessamento tornaria a execução do movimento lenta
ou com um certo atraso, inviabilizando o uso de uma
RNA para determinar qual função a prótese deveria
executar.
341
Outro detalhe importante é que foram colhidos poucos
padrões de um voluntário normal, sendo que o ideal
seria colher muitos dados de um paciente amputado, já
que os pacientes amputados tem uma maior dificuldade
de gerar padrões diferentes [4, 7].
Em futuros trabalhos serão testadas outras arquiteturas
de RNAs, e seus resultados comparados com os obtidos
de redes cujas entradas terão SME filtrados, ou
espectros de potência derivados destes sinais, visando
afirmar os resultados obtidos neste artigo.
Esta afirmação será se suma importância, visto que
observou-se a posteriori que deve-se ser zeloso em
relação à filtragem, pois o SME proveniente do grupo
flexor durante a flexão, possui densidade de potência
espalhada por todo o espectro desde 0 a 500Hz,
enquanto o sinal proveniente do grupo extensor durante
a extensão apresenta freqüências entre 0 e 250Hz com
maior densidade de potência entre 0 e 20Hz, que na
filtragem da componente DC provavelmente seria
eliminada, podendo desta forma influenciar nos
resultados da rede.
Todos os resultados aqui mostrados foram simulados,
assim também serão feitos testes da rede funcionando
em tempo real, fazendo com que o paciente controle o
protótipo de um dedo (figura 4) que será usado
futuramente na “Mão de São Carlos”. Desta forma, será
possível avaliar o desempenho real de todo o sistema.
Referências
[1] G. S. Dhillon, S. Lawrence, K. Horch, J. Bednar, E. Diao.,
D. Hutchinson, N. Jones, J. Upton, “Experiments With
Human
LIFEs”,
[on
line]
http://
www.bioen.utah.edu/faculty/KWH/research/ HLIFEs.pdf.
[capturado: 15/06/00].
[2] J. V. Basmajian, C. J. De Luca, “Muscles Alive. Their
Functions Revealed by Electromyography”, (5th Ed.).
Williams & Wilkins, Baltimore, 1985.
[3] F. L. da Cunha e V. I. Dynnikov, “Detalhes Construtivos de
uma Prótese Antropomórfica para Membros Superiores –
Um Estudo das Transmissões e Acionadores” Anais do XV
Congresso Brasileiro de Engenharia Mecânica, Águas de
Lindóia, SP – Brasil, [Disponível em CD ROM], 1999.
[4] B. Hudgins, P. Parker, R. N. Scott, “A New Strategy for
Multifunction Myoelectric Control”, IEEE Trans. on
Biomedical Engineering, Vol. 40, No. 1, pp. 82-94, 1993.
[5] B. Hudgins, P. Parker, R. N. Scott, “Control of Artificial
Limbs Using Myoelectric Pattern Recognition”, Medical &
Life Sciences Engineering, Vol. 13, pp. 21-38, 1994.
[6] K. Englehart, B. Hudgins, P. A. Parker, M. Stevenson,
“Classification of the Myoelectric Signal using TimeFrequency Based Representations”, Medical Engineering
and Physics, Special Issue: Intelligent Data Analysis in
Electromyography and Electroneurography, Vol. 21, pp.
431-438, 1999.
[7] P. J. Gallant, E. L. Morin, L. E. Peppard, “Feature-based
classification of myoelectric signals using artificial neural
networks”, Medical & Biological Engineering &
Computing, 36, pp. 485-489, 1998.
[8] Lynx Tecnologia Eletrônica Ltda, “Catálogo de Produtos”,
São Paulo, 2000.
Fig. 4. Protótipo de um dedo que será utilizado para testes.
6. Agradecimentos
Agradecimentos à FAPESP (#96/12198-2) e à CAPES
pelos recursos fornecidos à esta pesquisa.
Agradecimentos especiais também ao Prof. Dr. Aluisio
F. R. Araújo e aos colegas da disciplina de RNA pela
ajuda na parte de programação e em questões práticas; e
a Msc Cristina Maria Nunes Cabral pela ajuda na
aquisição dos SMEs usados neste trabalho.
342
[9] F. L. da Cunha, H. J. A. Schneebeli, V. I. Dynnikov,
“Development of anthropomorphic upper limb prostheses
with human-like interphalangian and interdigital couplings”.
Artificial Organs, Vol. 24, No. 3, pp. 193-197. 2000.
[10] M. Caudill, C. Butler, “Understanding Neural Networks:
Computer Explorations”, The MIT Press, Massachusetts,
Vol 1, pp. 171- 180, 1996.