Proposta de Dissertação de Mestrado

Documentos relacionados
II WPPC Workshop de Pesquisas do Grupo PET Computação

Ciclo de Seminários Técnicos

Desenvolvimento de Modelo HDL otimizado no tempo para Controlador de Acesso Direto à Memória (DMA)

RECONHECIMENTO DE FALANTE

Leandro da Silva Freitas. Projeto em Nível RT de IPs Digitais

PROJETO DE UM MODELO DE UM CONVERSOR ANALÓGICO DIGITAL PARA SOC S

Apresentação do Curso

detecção de voz cantada em sinais de áudio polifônicos

DESENVOLVIMENTO DO MÓDULO DE PRÉ-ENFASE PARA SISTEMAS DE RECONHECIMENTO AUTOMÁTICO DE VOZ EM FPGA

UMA HIERARQUIA DE MEMÓRIA PARA UM MODELO RTL DO PROCESSADOR RISC-V SINTETISÁVEL EM FPGA

Universidade Federal de Pernambuco

UM AMBIENTE COMPUTACIONAL PARA AUXÍLIO AO ENSINO NA ÁREA DE PROCESSAMENTO DIGITAL DE SINAIS DE VOZ

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02

MODELAGEM DE TRANSISTORES E DE CIRCUITOS ANALÓGICOS CMOS USANDO VERILOG-AMS

DETECÇÃO DE INÍCIO-FIM DE ELOCUÇÕES PARA VERIFICAÇÃO DE LOCUTOR EM SISTEMAS EMBARCADOS

Algoritmo Competitivo Aplicado ao Reconhecimento Automático da Identidade Vocal de Locutores

PLANO DE ATIVIDADES DO ESTÁGIO DE DOCÊNCIA

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I

Plano de trabalho. 1. Introdução:

Proposta de Dissertação de Mestrado

O reconhecimento facial é dividido em três etapas: i) detecção da face, ii) extração de características e iii) reconhecimento da face.

Requisitos de Sistemas

Simplificações para Redução do Custo Computacional da Pré-ênfase de Voz na Plataforma Arduino

FPGA & VHDL. Tutorial Aula 1. Computação Digital

FERRAMENTA DE PROFILING PARA PROCESSADORES SCHNEIDER, R. C. 1, NEVES, B. S. 1

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CAMPUS CURITIBA CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO AMANDA LÚCIA CARSTENS RAMOS

LSF na Verificação de Orador

FPGA & VHDL. Tutorial

METODOLOGIA DE PROJETO ORIENTADO PARA A MANUFATURA INTEGRADA A UM SISTEMA DE PROJETO ASSISTIDO POR COMPUTADOR

IN Redes Neurais

[1] ALCAIM, A.. Processamento de Voz e Imagem. PUC Rio, 1999.

Hardware Reconfigurável

3 Identificação de Locutor Usando Técnicas de Múltiplos Classificadores em Sub-bandas Com Pesos Não-Uniformes

Engenharia de Requisitos

Introdução à Computação

ANÁLISE DE DESEMPENHO DAS TOPOLOGIAS PARA SISTEMAS SOC

INFORMAÇÕES DO ACADÊMICO PLANO DE TRABALHO. 1. Justificativa

UBIBUSANALYSIS UMA FERRAMENTA DE INTERPRETAÇÃO DE

Projeto e Implementação de um Fatorial em Hardware para Dispositivos Reconfiguráveis

Universidade Católica Dom Bosco

3 Reconhecimento de Voz Distribuído

Um estudo sobre consumo energético na indexação de conteúdo visual com síntese em alto nível usando hardware reconfigurável

Implementação de um Modulo para Definição do Processo de Fabricação Baseado em

Universidade Católica Dom Bosco

Reconhecimento de Faces Utilizando Redes Neurais MLP

Universidade Federal de Pernambuco

Computadores. HW e SW

Realidade Aumentada aplicada ao ensino da simetria molecular

Curso de Tecnologia em Sistemas Eletrônicos MATRIZ CURRICULAR. Módulo I /Semestre 1 Carga horária total: 400h

UNIVERSIDADE FEDERAL DE PERNAMBUCO. Análise da Eficiência da Codificação de Huffman em Extensões de Fontes de Informação

Sistemas de Computação e de Informação

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação

ANÁLISE PARA INCLUSÃO DO FLUXO DE

Reutilização de Software

Identificação de Locutor Robusta e Independente do Texto Usando Múltiplos Classificadores em Sub-bandas

RELATÓRIO DE PROJETO DE PESQUISA - CEPIC INICIAÇÃO CIENTÍFICA

Sistemas de Telecomunicações Definidos por Software & Processamento de Sinal em Tempo Real

Ferramenta para Desenvolvimentode Sistemas EmbarcadosUtilizando Linguagem de Alto Nível p.1/25

RECONHECIMENTO FACIAL UTILIZANDO EIGENFACES

Circuitos Digitais Representação Numérica. Sistema Digital. Circuitos Digitais. Conversão A/D e D/A. Circuitos Digitais

DSP Builder - Altera. MO801 - Tópicos em Arquitetura e Hardware. Michele Tamberlini 05/2006

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Extração de características utilizando filtros de Gabor aplicado a identificação de defeitos no couro bovino

Tópicos em Sistemas Embarcados. Esterel

Dispositivos de Lógica Programável

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ ENGENHARIA DE COMPUTAÇÃO. Smart Relay SISTEMA DE AUTOMAÇÃO POR COMANDO DE VOZ

Princípios da Engenharia de Software aula 03

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves

UNIVERSIDADE FEDERAL DE PERNAMBUCO. Aplicando a Abordagem GQM para Avaliar o Impacto da Adoção da Metodologia Ágil Scrum

UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO

Parte # 2 - Circuitos Combinatórios

RESOLUÇÃO N.º 1010/2005 ANEXO II MODALIDADE ELÉTRICA NIVALDO J. BOSIO

"Análise de Extratores de Característica para Reconhecimento de Face"

Ciclo de vida: fases x atividades

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

ALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix

Ementário das disciplinas do curso de Engenharia de Software

Engenharia Software. Ení Berbert Camilo Contaiffer

Extração de objetos de interesse em imagens digitais utilizando a biblioteca de Visão Computacional OpenCV

Análise e projeto de sistemas

Síntese de programas utilizando a linguagem Alloy

Introdução à Engenharia de Software

Mecanismo de Segurança para Redes Móveis Ad Hoc

Projeto com Linguagens de Descrição de Hardware

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

Organização e Arquitetura de Computadores

CRÉDITOS DO CURSO. Carga Horária Créditos IN1030 Seminários 30 2

Visão Geral e Conceitos Básicos

SISTEMAS DE RECONHECIMENTO DE LOCUTOR INDEPENDENTE DE TEXTO

Autor: Lênin Charqueiro. Pelotas,22 de março de 2013

Máquinas de Vetores de Suporte Aplicadas à Classificação de Defeitos em Couro Bovino

Ementário das disciplinas do curso de Engenharia da Computação. - Núcleo Básico -

Sketch to Photo Matching: A Feature-based Approach (Klare and Jain [2010])

Engenharia de Requisitos

MPEG-4 & H.264. Dissertação, entendimento e comparativo entre e com o MPEG-2

ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA /1

Reconhecimento de Locutor Usando Misturas de Gaussianas

Transcrição:

Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Coordenação de Pós-graduação em Informática Proposta de Dissertação de Mestrado Desenvolvimento de um Sistema de Verificação Automática da Identidade Vocal de Locutores para Dispositivos Embarcados Mestrando Fabrício Gutemberg Lélis de Melo Orientadores Joseana Macêdo Fechine Elmar Uwe Kurt Melcher Campina Grande julho 2009

Resumo O ser humano procura utilizar a tecnologia da informação e comunicação onde quer que esteja. Para tanto, estão sendo utilizados com maior frequência dispositivos com tamanho reduzido que proporcionam portabilidade. Surge, portanto, a necessidade de tornar esses dispositivos cada vez mais seguros e de fácil uso. Uma possível solução para alcançar esse objetivo consiste na utilização da voz como forma de autenticação, com vistas a reconhecer que é realmente o dono quem está usando um dado equipamento. Assim sendo, torna-se imperativo o desenvolvimento de um sistema que seja capaz de reconhecer um usuário a partir da sua voz e que também possibilite a sua utilização em dispositivos portáteis. A voz é uma forma segura de autenticação, pois contém características únicas de um dado ser humano, possibilitando distinguir uma pessoa de outra. Porém, um desafio consiste em aplicar as técnicas de Processamento Digital de Sinais de Voz em sistemas embarcados com restrições associadas aos recursos computacionais (memória, poder de processamento, dentre outros). Diante do exposto, o objetivo da proposta consiste no desenvolvimento de um sistema para reconhecimento automático da identidade de locutores em sistemas embarcados.

Sumário 1. Introdução...4 2. Objetivo da proposta...10 2.1 Objetivo Principal...10 2.2 Objetivos Específicos...10 3. Relevância da Proposta...11 4. Metodologia...13 5. Cronograma...17 6. Referências Bibliográficas...18

1. Introdução O ser humano sempre buscou meios de comunicação que facilitassem a interação com a máquina. Em função disto e do crescente desenvolvimento tecnológico de hardware para o processamento digital de sinais, o meio de comunicação mais adequado seria a fala humana [Rabiner 1978, Vieira 1989, Doddington 1985, Fagundes 1993]. A fala é um dos meios de comunicação mais utilizados pelo homem e que o distingue dos demais seres humanos, permitindo-lhe a troca de idéias, expressão de opiniões ou revelação do seu pensamento. A possibilidade de permitir a interação homem-máquina por meio da voz torna essa interação mais fácil e produtiva [Rabiner 1978, Doddington 1985, Vieira 1989, Fagundes 1993], uma vez que além de ser a forma mais natural de comunicação humana, oferece a vantagem de deixar mãos e os olhos dos usuários disponíveis para outras tarefas. Aliado a esta vantagem, a maioria das pessoas consegue atingir facilmente a taxa de 200 palavras por minuto quando estão falando, enquanto poucas conseguem digitar em um teclado, mais de 60 palavras por minuto [Maciel 2007]. Os primeiros trabalhos descrevendo máquinas que conseguiam reconhecer algumas palavras datam de 1952 [Davis 1952]. Nos anos 60, devido às descobertas de certas propriedades da voz, surgiu uma grande quantidade de trabalhos sobre o assunto [Koenig 1946, Rabiner 1978], devido também às facilidades oferecidas pelo computadores digitais. Em seguida, observou-se a necessidade de criar máquinas que não apenas fossem capazes de reconhecer o que estava sendo dito, como também conseguissem responder ao que lhes era perguntado. Com o crescente interesse por softwares e equipamentos que compreendam, reconheçam e simulem a voz humana, pesquisas têm sido realizadas na área de Processamento Digital de Sinais de Voz (PDSV), buscando o desenvolvimento de técnicas que possibilitem a construção de padrões quer permitam modelar, de forma eficiente, a fala, as características vocais únicas de cada locutor, bem como a produção da voz sintetizada [Vieira 1989, Campbell 1997, Maciel 2007]. O avanço tecnológico na área de PDSV permitiu o desenvolvimento de sistemas que utilizam a comunicação vocal homem-máquina, os quais podem ser divididos em três grandes áreas [O'shaughnessy 1999]: 4

1.Sistema de Resposta Vocal; 2.Sistema de Reconhecimento de voz; 3.Sistema de Reconhecimento de locutor. Sistemas de resposta vocal, ou sistemas de síntese de voz, são projetados para responder a um pedido de informação utilizando mensagens faladas. Para gerar a saída acústica para um vocabulário de várias centenas de palavras, torna-se necessário usar elementos de texto armazenados digitalmente, consistindo de frases, palavras, fonemas ou certos parâmetros chave (codificação paramétrica), que podem ser concatenados para formar a saída desejada [Rabiner 1978]. O sistema de reconhecimento de voz pode ser subdividido em um grande número de subáreas, dependendo de alguns fatores, tais como: tamanho do vocabulário, população dos locutores, etc. A tarefa básica do sistema de reconhecimento de voz é reconhecer uma determinada elocução de uma sentença ou entender um texto falado [Rabiner 1978, Benzeghiba 2003]. Sistemas de reconhecimento de fala podem ser utilizados em diversas situações, das quais se destacam: atendimento telefônico automatizado, acesso a menu de equipamentos eletrônicos, transcrição de sentenças pronunciadas para um arquivo texto. Em relação aos Sistemas de Reconhecimento de Locutor (ou identidade vocal), estes podem ser subdivididos em duas categorias: Verificação de Locutor ou Identificação de Locutor [Rabiner 1978]. O primeiro determina se a voz é mesmo da pessoa que alega possuí-la, enquanto que o segundo deve ser capaz de identificar quem é o locutor. A utilidade desses sistemas é muito grande podendo ser utilizado para controle de ambientes restritos e na área de criminalística com o mesmo propósito que é dado às impressões digitais [Rabiner 1978, Campbell 1997]. A autenticação vocal está baseada na unicidade vocal pertencente a cada pessoa. Sendo assim, ela pode ser utilizada para identificar alguém. Uma vantagem que pode ser destacada dessa técnica, quando comparada com um exame de fundo de olho, impressões digitais e assinaturas, se refere à sua facilidade de utilização em sistemas onde se exige o reconhecimento à distância; por exemplo transações bancárias por telefone. E, ainda, a voz não pode ser perdida nem tampouco esquecida [Doddington 1985]. Uma dificuldade encontrada nesse tipo de sistema é a existência de fatores que podem interferir no reconhecimento do locutor, tais como: estado emocional ou de saúde do locutor, ruído no ambiente, variação da posição do microfone, dentre outros [Rabiner 1978]. 5

A seguir, será dado a ênfase ao sistema de reconhecimento automático da identidade vocal de locutores, dado que este é o foco do trabalho ora proposto. Os sistemas de reconhecimento de identidade vocal visam solucionar um problema de reconhecimento de padrões de voz e, portanto consistem de duas fases [O'shaughnessy 1999]: treinamento e reconhecimento, conforme Figura 1. Sentenças de Treinamento Pré-processamento Extração de Características Fase de Treinamento Geração de Padrões de Referência Padrões de Referência Sentenças de Teste Pré-processamento Extração de Características Fase de Teste Geração de Padrões de Teste Comparação Reconhecimento Figura 1 Diagrama de um Sistema de Reconhecimento de Padrões [Dias 2006]. Na fase de treinamento, é obtido um conjunto de padrões de referência a partir de sentenças fornecidas pelos locutores (palavras ou frases), as quais são atribuídos rótulos que identificam cada locutor. Na fase de reconhecimento (verificação ou identificação), são obtidos padrões de teste, que são comparados com todos os padrões de referência obtidos na etapa de treinamento e, em seguida, utilizando-se uma regra de decisão, é identificado o padrão de referência mais semelhante ao padrão de entrada desconhecido. A etapa de pré-processamento é responsável por extrair do sinal de voz os dados relevantes e menosprezar a informação redundante, com a finalidade de repassar a informação útil para a etapa seguinte. Este processo é composto por: aquisição, pré-ênfase, detecção de início e fim, separação em frames e janelamento [Rabiner 1978, Furui 1981]. A definição de um bom conjunto de características é um processo complexo e essencial para que se obtenha bons resultados quanto ao reconhecimento de padrões. A análise por predição linear, análise LPC (Linear Prediction Coding), é uma 6

das técnicas mais utilizadas para estimar parâmetros básicos da voz que irão compor o conjunto de características [Rabiner 1978, Costa 1994, Chengalvarayan 1999]. A partir desta análise, são gerados os coeficientes LPC que irão compor o conjunto de características. Além desses coeficientes, outros podem ser obtidos a partir de uma derivação dessa técnica. Como exemplo [Furui 1981, Mammone 1996]: coeficientes LPC Cepestrais, Cepestrais Ponderados, Delta Cepestrais, Delta Cepestrais Ponderados, Mel Cepestrais, dentre outros. Durante a fase de treinamento, com base nas características extraídas, são gerados padrões de referência, os quais serão comparados com o padrão de teste na fase de reconhecimento. Dentre as principais técnicas utilizadas para a esta fase, destacam-se: elas destacam-se: Quantização Vetorial (QV) [Madeiro 1999, Nakamura 2001], Redes Neurais [Benzeghiba 2002, Amudha 2008], Modelos de Markov Escondidos (HMM) [Rabiner 1989, Fechine 2000, Benzeghiba 2002, Amudha 2007], Árvores de Decisão [Navratil 2003]. Ainda é possível utilizar essas técnicas de forma combinada. Convém lembrar que as etapas de pré-processamento e extração de características das fases de treinamento e reconhecimento devem ser equivalentes, para que seja possível realizar uma comparação correta entre o padrão testado e o(s) padrão(ões) já conhecido(s) pelo sistema [Dias 2006]. Em [Fauve 2007], é realizado um levantamento do estado da arte no contexto de sistemas de verificação de locutor independente de texto, em relação ao desempenho. Nesse trabalho, são apresentadas melhorias que foram implementadas entre os anos de 2004 e 2007. a partir da utilização de Support Vector Machine (SVM) [Campbell 2006], uma abordagem alternativa à Guassian Mixture Models (GMM), estratégia de classificação amplamente utilizada,. Outra solução apresentada consiste no uso de Factor Analysis (FA) [Kenny 2005]. Outra abordagem consiste na utilização de algoritmos genéticos para implementação de um sistema robusto para verificação de locutor, confirme o apresentado por [Day 2006], que utiliza programação genética para verificação de locutor. Características usadas como específicas para os indivíduos irão prover a solução mais robusta. Isto permite que soluções sejam adaptadas para diferentes ambientes e não deixem o processo com um único conjunto de solução, combinações de características podem ser selecionadas de forma inerente para um bom 7

desempenho individual. Esse sistema pode ser facilmente atualizado para incluir novas funcionalidades, com impacto mínimo quanto à evolução e ao processo de classificação. Para o desenvolvimento de um sistema embarcado para reconhecimento automático da identidade vocal de locutores, torna-se importante destacar que esse tipo de sistema é desenvolvido a partir da combinação de hardware e software, e algumas vezes peças mecânicas, desenvolvidas para realizar uma função específica [Barr 1999, Francia 2001]. Com a implementação em hardware, o objetivo é conseguir maior eficiência e rapidez na execução de determinadas tarefas e, a partir do software, tenta-se reduzir o tempo de desenvolvimento e aumentar a flexibilidade do sistema [Dias 2006]. Em relação à implementação em hardware de um sistema embarcado, diferentes abordagens podem ser seguidas. Quando a aplicação requer um grande número de exemplares por exemplo, o mercado de consumo, a abordagem mais recomendada é o uso de um SoC (System-On-a-Chip sistema em um única pastilha) [Carro 2003]. A arquitetura de hardware de um SoC pode ser constituída por blocos dedicados denominados de IP-Core (Intellectual Property Core 1 ), esses blocos de hardware executam tarefas específicas e são definidos de modo a permitir seu reuso em diferentes sistemas [Moraes 2004]. Além dos IP-Core, um SoC pode conter memórias, processadores e interfaces para periféricos. A comunicação entre os IP- Core de um SoC específico pode ser feita por um simples barramento ou chegar até uma rede complexa (NoC network-on-chip) [De Micheli 2002]. Para o desenvolvimento em pequena escala de produção ou de protótipos, a implementação mais recomendada é em FPGA (Field Programable Gate Array), ou a partir de sistemas baseados em famílias de microprocessadores [Carro 2003]. A principal vantagem desta abordagem reside na possibilidade de fácil modificação da estrutura do hardware do sistema por meio de um processo denominado de reconfiguração, o que permite o desenvolvimento incremental, correção de erros de projeto, além da adição de novas funções de hardware [Moraes 2004]. Para implementar o hardware de um sistema embarcado, linguagens de descrição hardware (HDL Hardware Description Language) podem ser utilizadas para realizar a descrição dos circuitos eletrônicos. Essas linguagens permitem 8 1 Blocos de hardware que executam tarefas específicas e são definidos de modo a permitir seu reuso em diferentes sistemas [Moraes 2004].

descrever a forma como os circuitos operam, possibilitando a simulação dos circuitos antes mesmo de sua fabricação. Além deste fato, as HDL apresentam sintaxe e semântica que permitem inserir informações para expressar o comportamento do sistema ao longo do tempo (timed), descrevendo, portanto, o comportamento do hardware. Porém, essas linguagens não são apropriadas para descrições de software e especificações funcionais de alto nível [Carro 2003]. O projeto de sistemas embarcados é bastante complexo devido a certas exigências, a exemplo de mobilidade, limite de consumo de potência, baixa disponibilidade de memória, necessidade de segurança e confiabilidade, possibilidade de funcionamento em uma rede de comunicação, e o curto tempo de projeto, Tais exigências tornam essa área de pesquisa bastante abrangente [Wolf 2001, Carro 2003]. A junção do reuso de plataformas e componentes integráveis em SoC (ou IP- Core) com a automação de projetos em software e sua integração com os projetos de hardware tem sido a principal meta a ser alcançada para a diminuição de tempo total de projeto, sem que isso venha a significar perda na qualidade do sistema. Com a chegada da tecnologia pessoal, as máquinas se inserem em quase todas as atividades do cotidiano das pessoas, sejam essas máquinas computadores, eletrodomésticos, dispositivos portáteis, etc. Assim sendo, nada melhor do que dotálas com a capacidade de percepção e compreensão da voz humana, que é uma forma mais, natural e eficaz do ser humano expressar seus pensamentos [Dias 2006]. Tendo em vista o vigente interesse pelo desenvolvimento de aplicações em PDSV para sistemas embarcados, devido a sua portabilidade, por apresentar tamanho de área reduzido, ótimo desempenho quando comparado com dispositivos maiores, reuso de IP-Core e o grande interesse do mercado por dispositivos cada vez menores, tornase clara a importância da implementação de sistemas que venham atender a estas necessidades. 9

2. Objetivo da proposta 2.1 Objetivo Principal O objetivo principal deste trabalho é o desenvolvimento de um sistema embarcado para Verificação Automática da Identidade Vocal de Locutores, a ser utilizado para acesso restrito de usuários em um ambiente. 2.2 Objetivos Específicos Estudar técnicas que permitam a otimização dos recursos disponíveis para o sistema (capacidade de processamento, armazenamento e etc.). Como um sistema embarcado apresenta certas limitações, é preciso que os recursos alocados sejam utilizados de maneira eficiente garantindo assim a otimização da sua implantação.embarcado. Realizar uma análise o desempenho do IP-Core. Como a meta deste trabalho é o desenvolvimento de um IP-Core, com a finalidade de ser um sistema de verificação de locutor, é preciso garantir que métricas alcanças por esse sistema estejam em conformidade com as exigências do projeto. Realizar um estudo comparativo com implementações já desenvolvidas. Após a obtenção dos resultados da análise de desempenho, estes deverão ser comparados com possíveis implementações já existentes o mais próximas possível do objetivo deste trabalho. Desenvolver um sistema que apresente resultados em tempo real. Esta característica é muito importante para o tipo de dispositivo que o sistema será implementado. 10

3. Relevância da Proposta Este trabalho visa o desenvolvimento de um sistema capaz de fazer a verificação de locutor para equipamentos com poucos recursos disponíveis. A partir da revisão bibliográfica realizada, foi possível observar a existência de poucos trabalhos relacionados à verificação de locutor para sistemas embarcados. No entanto, esses trabalhos tendem a ser mais numerosos em virtude da venda crescente de dispositivos portáteis. No trabalho de [Hossain 2007], foi desenvolvido um sistema de identificação de locutor independente de texto, em tempo real. Foi utilizada a técnica de Backpropagation Neural Network (BNP). O sistema identificou corretamente 96% dos locutores, usando menos de um segundo das amostras de teste para cada locutor. Em [Kenny 2007], é apresentada uma abordagem baseada em arquivos para verificação de locutores, no qual a estratégia da máxima verossimilhança é o critério utilizado para treinamento do sistema. Nessa abordagem houve uma redução de 30% nas taxas de erro, equal error rate (EER) e detection cost function (DCF). Em [Campbell 2007], o objetivo do trabalho é a introdução de uma linguagem de modelagem alternativa de alto nível para verificação de locutor. O treinamento é levado a efeito a partir de Máquinas de Suporte Vetorial (SVM Support Vector Machine). No trabalho de [Chen 2008], é apresentado um sistema de verificação de locutor em tempo real, que utiliza GMM (Gaussian Mixture Model), combinado com UBM (Universal Background Model), para obtenção dos padrões representativos da fala dos locutores e MFCC (Mel Frequency Cepstrum Coefficient) para realizar a extração de característica dos locutores. A plataforma utilizada para implementar o sistema foi um PDA (Personal Digital Assistant). Outro trabalho também realizado no contexto de sistemas embarcados para verificação de locutor foi o apresentado por [Tydlitát 2007]. A principal diferença deste trabalho em relação ao anterior consiste na utilização de MAP (Maximum A-Posteriori) combinado com GMM, em substituição a UBM. Em [Sududhi 2008], é apresentado um sistema embarcado denominado Remote Voice Control and Security System (RVCS). Neste trabalho, é realizado tanto o reconhecimento de fala quanto o reconhecimento de locutor. Para o último, é 11

utilizada a QV (Quantização Vetorial) para construção dos padrões e MFCC para extração das características da fala dos locutores A finalidade deste trabalho é construir um sistema que possibilite a um operador cadastrado (verificação de locutor) enviar comandos (reconhecimento de fala) para um equipamento, de forma que este possa realizar as tarefas solicitadas pelo operador. O protótipo do sistema foi implementado num kit TMS320C6713. Diante do exposto, observa-se a relevância do desenvolvimento de um sistema para reconhecimento automático da identidade vocal de locutores. Destaca-se também, que este projeto está inserido no âmbito das pesquisas do projeto Brazil-IP [BRAZIL-IP 2009], no qual está sendo desenvolvida uma metodologia de verificação denominada Brazil-IP Verification Metodology (BVM), que consiste em uma nova abordagem da metodologia VeriSC [Da Silva 2007] para SystemVerilog, a qual é utilizada na verificação funcional 2 de projetos em hardware. Dessa forma, essa metodologia será utilizada ao longo das fases de construção do sistema. Assim sendo, o projeto proporcionará também uma contribuição importante, validação da BVM. 4. Metodologia A metodologia a ser empregada nesse trabalho constituíra em estudo, especificação, verificação, desenvolvimento e implementação de um IP-Core que terá a funcionalidade de verificar de forma automática a identidade vocal de locutores. Essa metodologia estará apoiada em 2 pilares: No processo de desenvolvimento de IP-Core denominado de ipprocess [Lima 2005]. O ipprocess é um processo de desenvolvimento para Soft IP com prototipagem em FPGA; E na metodologia BVM. O ipprocess servirá como norma para a geração de toda documentação necessária para o acompanhamento do projeto, por meio dos templates que estão disponíveis no site do processo [IPPROCESS 2009]. BVM servirá de suporte para a etapa de verificação funcional do projeto. Portanto, na etapa de verificação, os blocos que formarão o IP-Core serão validados conforme a metodologia BVM. 2 Verificação funcional é um processo usado para demonstrar que o objetivo do projeto é preservado em sua implementação [Bergeron 2003]. 12

Para garantir o sucesso dessa metodologia, a execução do trabalho será dividida nas seguintes etapas: 1. Especificação dos blocos quer irão compor o IP-Core; Um documento que contém a especificação das funcionalidades de cada bloco que fará parte do IP-Core (Figura 2) será redigido. Tal documentação seguirá as normas do ipprocess. Esta parte do trabalho será realizada em conjunto com a equipe do Brazil-IP da UFCG. Dados de treinamento Fase de Treinamento DV PE JAN CALP CP CVLP Dados de Reconhecimento MEMO Amostra Limiar DV PE JAN CALP Fase de Reconhecimento CVLP TD Saída da Hipótese DV Detector de Voz PE Pré-Ênfase JAN - Janelamento CALP Codificação por Análise da Predição Linear CVLP Coeficientes do Vetor da Predição Linear CP Casador de Padrões TD Tomador de Decisão MEMO Memória Flash Figura 2. Arquitetura proposta para o sistema Os módulos da arquitetura proposta podem ser caracterizados como segue. 13

DV (Detector de Voz) - Este módulo é responsável por eliminar partes do sinal de voz que não tenham informação relevante. Como exemplo, ruído do ambiente ou silêncio presentes durante a fala do locutor. PE (Pré-Ênfase) - A proposta deste módulo é a atenuação das componentes de baixa frequência do sinal. JAN (Janelamento) este bloco é responsável pela divisão do sinal de voz em segmentos, selecionados por uma janela, de forma a garantir a estacionariedade do sinal de voz a ser analisado. CALP (Codificação por Análise via Predição Linear) Aqui serão gerados os coeficientes CVLP (Coeficientes do Vetor da Análise por Predição Linear). Estes coeficientes, em número de 12, serão únicos para cada locutor. CP (Casador de Padrões) A função principal deste bloco é calcular quão próximos estão os padrões do vetor de teste e do vetor de treinamento gerados no bloco anterior.. TD (Tomador de Decisão) - Este módulo realiza uma decisão binária baseada na taxa de casamento obtida no CP. 2. Verificação funcional dos blocos; Esta etapa constituirá em verificar as funcionalidades dos blocos e garantir que estão funcionando de acordo com a especificação. Esta parte do projeto consumirá grande esforço (algo em torno de 70%) do tempo total de desenvolvimento. Desta forma, é fortemente recomendado utilizar ferramentas que possibilitem a geração rápida e eficiente de um ambiente de simulação [Da Silva 2007]; Nesta etapa, será gerada a documentação que conterá o plano de verificação. O plano deverá conter os tipos de estímulos que devem ser gerados, ou seja, a faixa de valores a serem aceitos e faixa de valores a serem rejeitados. Também deverá ser gerado o plano de cobertura, cuja finalidade é determinar os parâmetros de medição para o progresso da cobertura. Esses documentos também seguirão as normas de documentação do ipprocess; 14

A ferramenta a ser utilizada no auxílio do processo de geração do ambiente de simulação é denominada etbc [Pessoa 2007], a qual realizará a geração automática do ambiente de simulação (testbech), incluindo nível de transação, cobertura dirigida, checagem automática e construção de estímulos randômicos; Esta etapa também será realizada em conjunto com a equipe do Brazil- IP da UFCG. 3. Implementação do módulos em SystemVerilog RTL; Após a verificação e validação dos módulos, ocorrerá a implementação das funcionalidades do sistema. Esta implementação será realizada em SystemVerilog RTL. Esta será a última etapa realizada em conjunto com a equipe do Brazil- IP. A equipe Brazil-IP realizará a prototipação em silício, um dos objetivos do projeto Brazil-IP. 4. Medição e análise da eficiência da implementação em FPGA; Esta etapa constituirá na realização de medições de desempenho e de custos de implementação do IP-Core; As métricas utilizadas serão: Tempo: ciclos de relógio e frequência de clock; Recursos lógicos: número de portas lógicas e elementos lógicos; Consumo de energia: número de acessos à memória, frequência de clock e chaveamento de sinais. 5. Análise dos resultados obtidos; 6. Elaboração/Submissão de artigos para eventos nacionais e internacionais; 7. Elaboração da redação da Dissertação de Mestrado; 8. Defesa da Dissertação de Mestrado. 15

5. Cronograma A seguir, no Quadro 1 é apresentado o cronograma previsto para a realização das etapas apresentadas na seção anterior. Quadro 1: Cronograma de atividades. Atividades Meses Jun /09 Jul /09 Ago /09 Set /09 Out /09 Nov /09 Dez /09 Jan /10 Fev /10 Mar /10 Abr /10 Mai /10 1. Especificação dos módulos x x 2. Verificação funcional dos módulos x x x x 3. Implementação do módulos em SystemVerilog RTL x x 4. Medição e análise da eficiência da implementação em FPGA x x 5. Comparação dos resultados da análise com a literatura x x 6.Elaboração/Submiss ão de artigos para eventos nacionais e internacionais x 7. Elaboração da redação da Dissertação de Mestrado x 8. Defesa da Dissertação de Mestrado x

17

6. Referências Bibliográficas [Barr 1999] BARR, M. Programming Embedded Systems in C and C++. Sebastopol. CA, O'Reilly & Associates, 1999. [Benzeghiba 2002] BENZEGHIBA, M. F., BOULARD, H., User-customized password speaker verification based on HMM/ANN and GMM models. Proceedings of the Seventh International Conference on Spoken Language Processing (ICSLP 2002), p. 1325-1328, 2002. [Benzeghiba 2003] BENZEGHIBA, M. F., BOULARD, H., On the Combination of Speech and Speaker Recognition. IDIAP-RR 19, IDIAP Dalle Molle Institute for Perceptual Artificial Intelligence, ftp://ftp.idiap.ch/pub/reports/2003/rr03-19.pdf, 2003. [Bergeron 2003] Bergeron, Janick. Writing Testbenches: Functional Verification of HDL Models, Second Edition. Kluwer Academic Publishers, Norwell, MA, USA, 2003. [Brazil-IP 2009] Brazil-IP, Programa para Formação de Talentos em Projetos de Microeletrônica. Disponível em: http://www.brazilip.org.br/. Acesso em: 05/07/2009. [Campbell 1997] CAMPBELL, J. P., Speaker Recognition: A Tutorial. Proceeedings of the IEEE, v. 85, 1997. [Campbell 2006] CAMPBELL, W., Campbell, J., Reynolds, D., Singer, E., Torres-Carrasquillo, P., Support vector machines for speaker and language recognition, Comput. Speech Lang., vol. 20, pp. 210 229, 2006. [Carro 2003] CARRO, L.; WAGNER, F. R. Sistemas Computacionais Embarcados. In: JAI'03 XXII Jornadas de Atualização em Informática, 2003, Campinas. [Chengalvarayan 1999] Chengalvarayan, R. Hierarchical Subband Linear Predictive Cepstral (HSLPC) Features for HMM-based Speech Recognition. International Conference on Acoustics, and Signal Processing (ICASSP99), 1999. [Costa 1994] Costa, W. C. de A. Reconhecimento de Fala Utilizando Modelos de Markov Escondidos (HMM s) de Densidades Contínuas. Universidade Federal da Paraíba Dissertação

de Mestrado, Junho 1994. [Da Silva 2007] Da SILVA, K. R. G., Uma Metodologia de Verificação Funcional para Circuitos Digitais, 121 f. Dissertação (Doutorado em Engenharia Elétrica) Universidade Federal de Campina Grande, Campina Grande, 2007. [Davis 1952] DAVIS, K. H., Automatic Recognition of Spoken Digitis. Journal of the Acoustical Society of America, v. 24, n. 6, p. 637-642, 1952. [Day 2006] DAY P., NANDI A. K., Robust Text-Independent Speaker Verification Using Genetic Programming, 2006 IEEE 1558-7916 [De Micheli 2002] DE MICHELI, G. e BENINI, L., Networks-on-Chip: A New Paradigm for Systems-on-Chip Design. DATE 02 Design, Automation and Test in Europe, Paris, França, Mar. 2002. Proceedings, IEEE Computer Society Press, 2002. [Deller 1993] DELLER Jr. R., PROAKIS, J. G., and HANSEN, J. H. L., Discrete-time Processing of Speech Signals, Macmillan Publishing Co., 1993. [Dias 2006] DIAS, D., Desenvolvimento de um IP Core de Préprocessamento Digital de Sinais de Voz para Aplicação em Sistema Embutidos, 108 f. Dissertação (Mestrado em Ciência da Computação) Universidade Federal de Campina Grande, Campina Grande, 2006. [Doddington 1985] DODDINGTON, G. R., Speaker Recognition Identifying People by their Voices. Proceedings of the IEEE, v. 73, n. 11, p. 1651-1664, nov. 1985. [Fagundes 1993] FAGUNDES, R. D. R., ALENS, N., Reconhecimento de Voz, Linguagem Contínua, Usando Modelos de Markov. In: 11º SIMPÓSIO BRASILEIRO DE TELECOMUNICAÇÕES,1993. [Fauve 2007] FAUVE B. G. B., MATROUF D., SCHEFFER N., BONASTRE J., MASON J. S. D., State-of-the-Art Performance in Text-Independent Speaker Verification Through Open-Source Software, IEEE 1558-7916, 2007., 2007

[Fechine 2000] FECHINE, J. M., Reconhecimento automático de identidade vocal utilizando modelagem híbrida: Paramétrica e Estatística. 2000. 212 f. Tese (Doutorado em Engenharia Elétrica) Universidade Federal de Campina Grande, Campina Grande, 2000. [Francia 2001] FRANCIA, G. A., Embedded Systems Programming. The Journal of Computing in Small Colleges, v. 17, n. 2, p. 204-210, Proceedings of the 15th Annual CCSC Southeastern Conference, 2001. dez. 2001. [Furui 1981] FURUI, S., Cepstral Analysis Technique for Automatic Speaker Verification. IEEE Transactions on Acoustics, Speech and Signal Processing Magazine, v. 29, 1981. [IPPROCESS] Disponível em: http://www.lincs.org.br/ipprocess/, acessado em 05/07/2009. [Kenny 2005] KENNY, P., Boulianne, G., Ouellet, P. and Dumouchel, P., Factor analysis simplified, in Proc. ICASSP, pp. 637 640, 2005. [Kenny 2007] KENNY, P., Boulianne, G., Ouellet, P. and Dumouchel, P., Speaker and Session Variability in GMM-Based Speaker Verification, in IEEE transactions on audio, speech, and language processing, vol. 15, no. 4, 2007. [Koenig 1946] KOENIG, W. The Sound Spectrograph. Journal of the Acoustical Society of America, v. 17, p. 19-49, 1946. [Lima 2005] LIMA, M., AZIZ, A., ALVES, D., LIRA, P., SCHWAMBACH, V., BARROS, E., ipprocess: Using a Process to Teach IP-core Development, IEEE, 0-7695-2374-9/05, 2005. 2005,. [Maciel 2007] MACIEL, A.M.A., Investigação de um ambiente de processamento de voz utilizando VoiceXML, 83 f. Dissertação (Mestrado em Ciência da Computação) Universidade Federal de Pernambuco, Recife, 2007. [Madeiro 1999] MADEIRO, F., VILAR, R. M., FECHINE, J. M., AGUIAR NETO, B. G., A Self Organizing Algorithm for Vector Quantizer Design Applied to Signal Processing, International Journal of Neural Systems, v. 9, 1999.

[Mammone 1996] MAMMONE, R. J., ZHANG, X., RAMACHANDRAN, R. P., Robust Speaker Recognition A Feature-Based Approach. IEEE Signal Processing Magazine, v. 13, 1996. [Moraes 2004] MORAES, F., CALAZANS, N. MOLLER, L. BRIAO, E., CARVALHO, E. Dynamic and Partial Reconfiguration in FPGA SoCs: Requirements Tools and a Case Study. In: ROSENSTIEL, Wolfgang. Reconfigurable Computing. New York, USA. 2004. [Navratil 2003] NAVRATIL, J., Jin, Q., Andrews, W., Campbell, J., Phonetic speaker recognition using maximum-likelihood binary-decision tree models, in Proc. ICASSP, Hong Kong, 2003. [O'shaughnessy 1999] O'SHAUGHNESSY, D., Speech Communications: Human and Machine, Wiley-IEEE Press, 1999. [Paula 2000] PAULA FILHO, W. P., Multimídia: Conceitos e Aplicações, JC Editora, 2000. [Pessoa 2007] PESSOA, I.M., Geração Semi-Automática de Testbenches para Circuitos Digitais Integrados. 52 f. Dissertação (Mestrado em Ciência da Computação) Universidade Federal de Campina Grande, Campina Grande, 2007. 2007. [Rabiner 1978] RABINER, L. R., SCHAFER, R. W., Digital processing of speech signals. New Jersey: Prentice Hall, 1978. [Vieira 1989] VIEIRA, M. N., Módulo frontal para um sistema de reconhecimento automático de voz. 1989 Dissertação Universidade de Campinas, Campinas, 1989. [Wolf 2001] WOLF, W. Computers as Components. McGraw-Hill, 2001.