Produção gráfica automatizada com uso de comandos
Transcrição
Produção gráfica automatizada com uso de comandos
XII Simpósio Brasileiro de Automação Inteligente (SBAI) Natal – RN, 25 a 28 de outubro de 2015 PRODUÇÃO GRÁFICA AUTOMATIZADA COM USO DE COMANDOS DE VOZ E VERIFICAÇÃO POR IMAGEM ANDERSON S. ROSA1,2, LUIS E. M. LIMA2 1. UCL –Faculdade do Centro Leste Rodovia ES010, km 6,5 – Manguinhos – 29173-087 – Serra – ES – Brasil E-mails: [email protected] 2. Laboratório de Controle e Instrumentação, Coordenadoria de Engenharia Elétrica, Ifes – Instituto Federal do Espírito Santo Avenida Vitória, 1729 – Jucutuquara – 29040-780 – Vitória ES – Brasil 3. E-mails: [email protected] Abstract The development of new technologies for low cost dedicated processes automation that enable actions of people with physical restrictions, has great importance for society. For this purpose it is suggested the development of an application di rected to graphic industry that enables the production of geometric using voice commands and, at the end of the plotting process, validation the figure produced using image processing techniques. Through the developed application it is possible to inquiry about the use of spectral characterization, analyzing the frequency spectrum of a whole word. The experiments show the cepstral coefficients is viable to use in the word recognition, and the recognition of geometric shapes using techniques of image processing low computational cost. Keywords Automation, Neural Networks, Image Processing. Resumo O desenvolvimento de novas tecnologias para automação de processos de baixo custo que possibilitam ações de pes soas com restrições físicas, tem grande importância para a sociedade. Para este efeito sugere-se o desenvolvimento de uma apli cação voltada para a indústria gráfica que permite a produção de figuras geométricas utilizando comandos de voz e, no final do processo de plotagem, há a validação da figura produzida utilizando técnicas de processamento de imagem. Através da aplicação desenvolvida é possível investigar a utilização da caracterização espectral, análise do espectro de frequência de uma palavra in teira. As experiências mostram os coeficientes cepstral são viáveis para o reconhecimento de palavras, eo reconhecimento de formas geométricas usando técnicas de processamento de imagem com baixo custo computacional. Palavras-chave Automação, Redes neurais, Processamento de imagens. 1 acima, evidenciando o baixo custo computacional e a possibilidade de inclusão social, neste trabalho é apresentada uma proposta para a automação da produção gráfica referente ao traçado de figuras geométricas (uma ação básica a produção gráfica em geral), com uso de uma mesa de plotagem gráfica cartesiana contendo três graus de liberdade nas direções XYZ, a partir de comandos de voz e com o reconhecimento do resultado gráfico obtido por uso de processamento de imagem. Este trabalho foi desenvolvido com uso de uma mesa XYZ didática, e em ambiente acadêmico. O reconhecimento da fala é um processo consolidado por muitas pesquisas, dentre estas está o trabalho apresentado em (Hanchate, 2010), que trata de um estudo comparativo para técnicas de reconhecimento de fonemas. Para a identificação de palavras faladas, que é o objetivo deste trabalho, a partir da caracterização do áudio referente às palavras de interesse é comum a aplicação de Redes Neurais Artificiais (RNA’s) (Zeng, Shi, 2011), treinadas com as características obtidas do espectro da fala na etapa anteriormente citada. Introdução A automação de processos industriais está cada vez mais abrangente e presente em nossas indústrias em diversas etapas do processo produtivo, e a evolução tecnológica hoje vigente para produção de hardware e ferramentas de software tem viabilizado às pesquisas um consequente avanço nas soluções propostas para as diversas demandas existentes. Estes avanços caracterizam-se pela obtenção de soluções embarcadas, com baixo custo e complexidade computacional, e grande capacidade de processamento (alta velocidade de processamento para funções matemáticas complexas e grande capacidade de armazenamento de dados) (Xu, et al, 2011) (Yuan L.; Yong-Zhang W.; Hongya F, 2008). Integra-se a estas características a atual relevância das soluções que viabilizam a inclusão de pessoas que por restrições físicas, mas com perfeita capacidade intelectual, por muito tempo estiveram impedidas de fazer parte da fração economicamente ativa da sociedade. Com o objetivo de sugerir uma solução para a indústria gráfica que reúna as características citadas 1700 XII Simpósio Brasileiro de Automação Inteligente (SBAI) A principal investigação a ser realizada no desenvolvimento deste trabalho, é a verificação da validade da caracterização espectral, por meio de coeficiente cepstrais (Deller, Proakis, Hansen, 2000), sem uso de janelamento por fonema da palavra pronunciada por um locutor, sendo obtidos os coeficientes cepstrais para o espectro de frequência da palavra inteira. Complementando esta investigação, também é proposto um algoritmo para verificação da geometria da figura desenhada, por meio do processamento da imagem desta figura, de modo a permitir ao usuário a confirmação de acerto ou erro do sistema no traçado gráfico desejado. 2 O detalhamento das etapas utilizadas para identificação do comando de voz, geração dos comandos de movimentação da mesa e verificação da figura obtida está descrito a seguir, e a partir deste detalhamento pode-se avaliar a viabilidade de uso desta proposta tanto quanto ao custo computacional como quanto à complexidade de implementação. 2.1 Identificação dos comandos de voz Para a identificação dos comandos de voz foi utilizada uma rede neural artificial (RNA) que recebe como entrada os coeficientes cepstrais obtidos da palavra de comando, e ativa uma de três saídas que equivalem aos três comandos distintos utilizados (quadrado, triângulo, e losango) (Picheny, et al, 2011). Descrição do método O sistema em estudo está ilustrado na Figura 1, a qual apresenta os principais componentes utilizados na composição deste sistema, que são: o microfone para recepção dos comandos de voz, o PC (Personal Computer) utilizado como interface homem-máquina (IHM), o microcontrolador ATmega 328 utilizado para o controle do traçado das figuras geométricas, as placas das pontes L298 utilizadas para acionamento dos três motores de passo que são os atuadores dos movimentos, uma vista de cima da mesa XYZ, e a câmera utilizada para verificação do traçado realizado. Os coeficientes cepstrais definem uma melhor representação das propriedades espectrais da fala, e são obtidos a partir da separação do sinal de excitação e do que é a resposta impulsiva do trato vocal, em um sinal de áudio definido pela fala (Deller, Proakis, Hansen, 2000). Assim, a obtenção dos coeficientes cepstrais é definida por meio de uma operação de desconvolução. A obtenção dos coeficientes cepstrais pode ser ilustrada pelo fluxograma apresentado na Figura 2. Figura 1 - Visão geral da estrutura do sistema. Por um sistema de captação de áudio o computador adquire o comando de voz do usuário, e o processamento de voz que é executado no PC (com uso do Matlab) identifica a palavra pronunciada. As três palavras de comando do sistema são quadrado, triângulo e losango, e a cada uma delas é associado um código, que é enviado por comunicação serial padrão USB (Universal Serial Bus) à placa controladora dos motores de passo, para execução do traçado da figura equivalente na mesa. Figura 2 - Sequência de obtenção dos coeficientes cepstrais. Neste trabalho foram extraídos como parâmetros de classificação os coeficientes cepstrais referentes a toda a palavra do comando, por meio da transformada discreta de Fourier, e não os coeficientes referentes a cada fonema distinto presente na palavra, o que simplificou significativamente o processo de identificação do comando de voz uma vez que não foi necessário o emprego do janelamento (Kshirsagar, et al, 2012). A adoção deste método reduz a precisão na identificação dos fonemas distintos presentes em uma palavra, mas ainda assim mostrou-se viável para a aplicação acadêmica em estudo. Inicialmente a RNA foi treinada com uma massa de dados (coeficientes Após a figura ter sido desenhada é realizada a aquisição da imagem com uso de câmera fixada na estrutura da mesa, e por meio de um algoritmo de verificação faz-se a validação da figura obtida. Assim, encerra-se o ciclo de traçado automatizado da figura a partir de um comando de voz, e o sistema fica pronto para iniciar o próximo desenho. 1701 XII Simpósio Brasileiro de Automação Inteligente (SBAI) cepstrais) que abrangia as três palavras de comando (quadrado, triângulo e losango), que haviam sido pronunciadas 20 vezes cada uma, totalizando 60 amostras de palavras. Para cada amostra extraiu-se 21 coeficientes cepstrais, dos quais o primeiro valor foi sempre descartado, a fim de se evitar os picos de energia que compunham o início de cada palavra dita. ser executado pela mesa XYZ para traçado da figura geométrica equivalente. Tabela 1 - Valores das saídas da RNA e os comandos correspondentes. Entrada Quadrado Triângulo Losango A rede utilizada é composta de uma camada escondida com quatro neurônios, e uma camada de saída com três neurônios conforme ilustra a Figura 3, tendo sido treinada com o algoritmo Feed-Foward Back Propagation. Y1 0,9929 0,0048 0,0019 Y2 0,0055 0,9327 0,0138 Saída Y3 0,0052 0,0658 0,9751 Comando 1 2 3 2.2 Controle dos Movimentos Os atuadores utilizados na mesa XYZ são motores de passo bipolares, que a partir das sequências de fases definidas pelo microcontrolador ATmega 328, executam os movimentos necessários ao traçado da figura geométrica desejada. Estes motores estão sendo acionados por seis pontes H dispostas em três circuitos integrados denominados L 298 (duas pontes por circuito integrado). Figura 3 - Rede neural artificial para reconhecimento dos comandos de voz. Para o correto traçado das figuras foi definida uma calibração para a relação entre passos executados pelos motores e os deslocamentos lineares em cada direção (X, Y e Z), sendo executado o retorno do cabeçote de fixação da caneta a uma posição de origem ao final do traçado de cada figura. Este retorno se faz necessário para que haja a liberação visual de toda área útil ao desenho, de modo a permitir a captura da imagem da figura inteira, e, consequentemente, viabilizar a verificação da precisão do traçado da figura desejada, por processamento da imagem capturada. Com a rede treinada, o processo ilustrado pelo fluxograma da Figura 4 é executado para a geração dos comandos de desenho a serem executados pela mesa XYZ. 2.3 Verificação por Imagem A identificação da figura desenhada é realizada em função da localização dos seus vértices, pois, esta localização define para cada figura um padrão distinto, tornando-se possível diferencia-las (Jun et al., 2012). Para a localização dos vértices da figura geométrica desenhada, é realizada a captura da imagem da figura pela câmera utilizada e sobre a imagem obtida realiza-se um pré-processamento com a conversão da imagem em escala de cinza e em seguida o recorte para limitar a área de imagem processada aos limites da dimensão da figura. Figura 4 - Etapas do reconhecimento de voz. Neste processo, após a captura do comando de voz, o áudio equivalente a este comando é processado sendo obtida a descrição de seu espectro com uso da transformada discreta de Fourier. Em seguida são obtidos os coeficientes cepstrais a partir do logaritmo do módulo das componentes do espectro e da aplicação da transformada discreta inversa de Fourier. Contendo apenas a região de interesse, a imagem passa por uma operação morfológica de abertura para extração do fundo da imagem original e obtenção de fundo branco, e sobre a nova imagem, contendo apenas os elementos referentes à forma geométrica (triângulo, quadrado ou losango) é então processada a binarização. Sobre a forma geométrica binarizada é aplicada a operação morfológica para redução da espessura das linhas, processamento este que reduz a espessura do contorno da figura a apenas um pixel. Em seguida ao processamento citado, a localização dos vértices da forma geométrica é obtida sobre a Os valores dos coeficientes obtidos são então utilizados como entrada para a RNA, para que a rede identifique o comando a ser enviado à mesa XYZ. A Tabela 1 contém as saídas Y1, Y2 e Y3 da rede neural para três comandos pronunciados, e o maior destes valores de saída define o comando (1, 2 ou 3) a 1702 XII Simpósio Brasileiro de Automação Inteligente (SBAI) matriz resultante da imagem, sendo utilizado um algoritmo que busca quatro pontos distintos, sendo eles: O ponto inferior mais à esquerda; O ponto superior mais à esquerda; O ponto inferior mais à direita; O ponto superior mais à direita. A busca destes pontos é feita no sentido horário e anti-horário para confirmar a localização dos mesmos. A Figura 5 demonstra a localização dos vértices em três figuras geométricas desenhadas pela mesa XYZ. Pela figura pode-se observar que quando a forma analisada é um triângulo, haverá sempre um vértice na posição central, do eixo x de um sistema de coordenadas, em relação aos outros e que estará deslocado uma distância d no eixo y. Para o caso do losango, haverá dois pontos que ficarão centralizados em relação a outros dois no eixo x, mas um ponto estará a uma distância d e outro -d deslocados entre si em relação ao eixo y. Para a figura do quadrado, haverá dois pontos paralelos em x que estão deslocados em y e vice-versa. Para todos os vértices é estabelecida uma faixa de tolerância na definição de suas coordenadas (x,y), para viabilizar a identificação da figura ainda que esta esteja rotacionada por um pequeno ângulo. Figura 6 - Etapas do reconhecimento da figura produzida. Uma vez identificada a figura desenhada uma mensagem é impressa (apresentada) na IHM com o nome da figura identificada, sendo este o momento no qual o usuário confirma se houve acerto ou não na execução do processo como um todo. 3 Análise dos Resultados Durante o desenvolvimento do projeto foram testadas separadamente as etapas, e nesta seção serão apresentados e analisados os resultados obtidos por estes testes. Figura 5 - Vertices localizados em exemplos de figuras. O fluxograma ilustrado na Figura 6 contém as etapas do algoritmo utilizado para reconhecimento da forma geométrica desenhada pela mesa XYZ. 3.1 Identificação dos comandos de voz A RNA utilizada na etapa de reconhecimento de voz foi treinada a partir de um conjunto de palavras pronunciadas por uma única pessoa do sexo masculino, que repetiu dez vezes cada palavra. Este procedimento fez com que o sistema funcionasse com boa precisão para este locutor, assim como para três outros usuários do sexo masculino. Nestes casos os três comandos de voz, quadrado, triângulo e losango foram identificados cem por cento das vezes, já para o teste feito com uma pessoa do sexo feminino, os resultados são apresentados na Tabela 2. 1703 XII Simpósio Brasileiro de Automação Inteligente (SBAI) nhecimento, em função da semelhança com o losango. Os testes realizados sobre as imagens obtidas a partir das rotações, com a aplicação do algoritmo de reconhecimento, deu origem aos resultados apresentados na Tabela 3. Pode-se observar que o para o quadrado o sistema acertou 30% dos casos referentes aos ângulos de rotação distintos de 0º, já para o triângulo a taxa de acerto foi de 100% e para o losango 40%. - Porcentagem de acertos para um locutor feminino após treinamento da RNA por locutor masculino. Tabela 2 Palavra Quadrado Triângulo Losango Acertos [%] 100 0 57 Em todas as vezes que a palavra triângulo foi pronunciada, a mesma foi interpretada como sendo “losango”. Para a ocorrência de 43% de erro na identificação da palavra “losango”, a palavra identificada pela RNA foi “quadrado”, e a palavra “triângulo” não foi identificada nem uma vez, nem mesmo de forma errônea. O teste com a mudança no sexo do locutor teve como objetivo submeter o sistema a uma condição crítica de reconhecimento, pois, a distinção na caracterização da voz de locutores de sexos opostos na maioria dos casos é acentuada (timbre, intensidade), o que implica em uma relação de alta precisão de reconhecimento quando há acerto. Tabela 3 - Resultados da verificação para diferentes ângulos de rotação. Rotação -25 -20 -15 -10 -5 0 5 10 15 20 15 3.2 Plotagem das formas geométricas Nesta etapa foram obtidos resultados satisfatórios para o caso de formas geométricas compostas por seguimentos de retas, como foi o caso desta aplicação com triângulo, quadrado e losango. Como pode ser observado na Figura 7 mesmo para as geometrias que incluem retas inclinadas foi obtida precisão satisfatória no traçado, sendo esta precisão proporcionada pelo uso do modo de operação HALF-STEP nos motores de passo, o que definiu passos de 0,9º. 4 Formas Geométricas Quadrado Triângulo Losango OK Triângulo OK Triângulo Triângulo OK Triângulo Triângulo OK OK OK OK OK OK OK OK OK OK OK Triângulo OK OK Triângulo OK Triângulo OK Triângulo OK Triângulo Conclusões e trabalhos futuros O sistema apresentou um desempenho suficientemente satisfatório para comprovar que a proposta é válida, e pode ser aperfeiçoada para uso em aplicações reais no parque industrial da indústria gráfica. Esta proposta agrega a relevância de viabilizar a participação como operador do processo de produção gráfica de locutores (trabalhadores) que possuam restrições físicas quanto ao uso de teclados, mouses, manetes ou outros dispositivos a serem manuseados. Ou seja, além da autonomia de produção gráfica definida pela automação aplicada ao processo, esta também é uma proposta que cumpre o importante papel social da inclusão ao mercado de trabalho de pessoas portadoras de deficiências físicas. Também é importante citar que esta proposta de solução caracteriza-se pelo baixo custo computacional, tendo sido produzida com uma ferramenta computacional otimizada para o processamento de voz e imagem, o MATLAB, o que viabiliza a concentração de esforços na análise dos resultados obtidos pela aplicação das funções específicas a cada tratamento. E ainda, pode-se também ressaltar o baixo custo da placa controladora utilizada, uma placa ARDUINO UNO (microcontrolador ATmega 328), porém com capacidade de processamento suficiente para a definição do acionamento dos atuadores da mesa XYZ (motores de passo) de forma a garantir o traçado com precisão das figuras geométricas de interesse. Para a melhoria da solução proposta pode-se aplicar os seguintes procedimentos: Figura 7 - forma desenhada pela máquina CNC. 3.3. Reconhecimento da figura produzida A etapa de verificação da imagem foi testada com um banco de dados gerado a partir da rotação das figuras de interesse (triângulo, quadrado e losango), sendo esta rotação definida de 0° a 25° e variando cinco graus a cada rotação, nos sentidos horário e antihorário. Para o quadrado, a imagem foi rotacionada na faixa entre 0° a 15°, pois, para rotações entre 20º e 160º o sistema apresentou alta taxa de erro de reco- 1704 XII Simpósio Brasileiro de Automação Inteligente (SBAI) Kshirsagar, A. et al. Comparative Study of Phoneme Recognition Techniques, Computer and Communication Technology (ICCCT), 2012 Third International Conference on , vol., no., pp.98,103, 23-25 Nov. 2012. Picheny, M. et al. Trends and advances in speech recognition, IBM Journal of Research and Development, vol.55, no.5, pp.2:1,2:18, Sept.-Oct. 2011. Xu, K. et al. Development of linear servo control system for CNC machine tool based on DSP, Mechatronic Science, Electric Engineering and Computer (MEC), 2011 International Conference on , vol., no., pp.2607,2610, 19-22 Aug. 2011. Yuan L.; Yong-Zhang W.; Hongya F., An open architecture motion controller for CNC machine tools, Systems and Control in Aerospace and Astronautics, 2008. ISSCAA 2008. 2nd International Symposium on, vol., no., pp.1,4, 1012 Dec. 2008. Zeng F.; Shi P. Neural network design based on isolated words, Machine Learning and Cybernetics (ICMLC), 2011 International Conference onb, vol.2, no., pp.769,772, 10-13 July 2011. Aumentar a robustez do reconhecimento dos comandos de voz, com a obtenção dos coeficientes cepstrais por fonema da palavra pronunciada; Utilizar janelamento, por exemplo, janela de Hamming, para a análise espectral de cada fonema; Utilizar uma maior quantidade de locutores com distinção de sexo e idade para enriquecer o treinamento da RNA, proporcionando melhoria de desempenho no processo de reconhecimento do comando de voz; Implementar a geração de comandos de atuação da mesa XYZ para o traçado de figuras geométricas compostas de curvas além de retas, círculos e elipses; Implementar a diferenciação no reconhecimento de quadrados e losangos com base nos valores dos ângulos do quadrilátero; Para aplicação real em na indústria de produção gráfica, pode-se também acrescentar a repetição do traçado da figura em caso de erro existente entre o comando de voz e a figura obtida. Desta forma, conclui-se que, há ainda vertentes de pesquisa e desenvolvimento para o aperfeiçoamento da solução proposta, o que estimula o empenho de esforços no sentido de que esta linha de pesquisa, caracterizada pelo emprego de métodos de automação inteligente, como as RNA, e a abrangência de inclusão de pessoas com deficiências físicas, seja difundida no meio acadêmico proporcionando incentivo à produção de novas tecnologias em nosso mercado industrial. Agradecimentos Agradecemos ao IFES – Instituto Federal do Espírito Santo pela disponibilidade do material, equipamentos e instalações físicas de seus laboratórios utilizados para o desenvolvimento deste trabalho. Assim como, ressaltamos a relevância da formação especializada e multidisciplinar que nos foi proporcionada pelo Curso de Pós-Graduação em Eng. Elétrica do IFES, formação esta que contribuiu significativamente para a realização deste trabalho. Referências Bibliográficas Deller, J.; Proakis, J.; Hansen J. H. Discrete-time processing of speech signals. New York, NY, USA: IEEE, 2000. Hanchate, D. B et al. Vocal digit recognition using Artificial Neural Network, Computer Engineering and Technology (ICCET), 2010 2nd International Conference on, vol.6, no., pp.V6-88,V6-91, 16-18 April 2010. Jun J. et al. A 3D Plane Recognition Algorithm Based on Image Matching," Computational Intelligence and Design (ISCID), 2012 Fifth International Symposium on , vol.1, no., pp.551,554, 28-29 Oct. 2012 1705