A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Análise de Voz e Vídeo Reconhecimento de voz baseado em modelos de palavras conectadas André Vitor de Almeida Palhares.

Apresentações semelhantes


Apresentação em tema: "Análise de Voz e Vídeo Reconhecimento de voz baseado em modelos de palavras conectadas André Vitor de Almeida Palhares."— Transcrição da apresentação:

1 Análise de Voz e Vídeo Reconhecimento de voz baseado em modelos de palavras conectadas André Vitor de Almeida Palhares

2 Roteiro Introdução Formalizando o problema Two-level DP algorithm
Level building algorithm One-state algorithm Varias strings candidatas Resumo dos algoritmos Segmentação Implementação

3 Introdução O reconhecimento da voz não é feito através de palavras ou frases isoladas Antes as palavras eram entidades completas Poderiamos apenas encontrar o melhor alinhamento de cada diferente palavra com a entrada Não há uma distinção clara entre duas palavras

4 Introdução

5 Introdução Exemplos Reconhecimento de strings derivadas de vocabulários de tamanho pequeno-médio Strings de dígitos Sequencias de letras

6 Introdução O problema: Ri são palavras do vocábulario de v palavras
T é uma string de palavras dividida em frames t(1), t(2), ..., t(M)

7 Introdução Dada uma sequência de palavras faladas fluentemente, qual o casamento ótimo que existe pela concatenação de palavras do vocábulário Problema de otimização Geralmente não se sabe o número de palavras L Não se sabe onde as palavras terminam/começam Não podemos resolver o problema de maneira exaustiva (VL possibilidades)

8 Formalizando o problema
Padrão de teste T = {t(1), t(2), ..., t(M)}, cada t(m) é algum vetor spectral Ri palavras de um vocabulário de V palavras: Ri = {ri(1), ri(2), ..., ri(Ni)} Devemos encontrar R*, uma sequência de concatenação de palavras Ri que melhor casa com T. Supondo que L seja o numero de palavras em R*, temos: R* = {Rq*(1) Rq*(2)... Rq*(L)}

9 Formalizando o problema
Para determinar R* (a melhor solução), vamos construir um Rs arbitrário, da forma: Rs = {rs(1), rs(2),..., rs(Ns)}, onde Ns é a sua duração total A distância entre Rs e T dada pelo DTW é: Onde d(.,.) é uma distancia spectral local, w(.) é a função de warping

10 Formalizando o problema

11 Formalizando o problema
Assim, devemos minimziar a funçao de distancia e obter a menor distancia D*: O número de computações necessárias pra esse cálculo é muito alto M = 300 frames, L = 7 palavras, 40 frames por palavras em média e V = 10 palavras, teriamos cerca de 3*1011 computações.

12 Two-level DP algorithm
Quebra a computação da minimização em dois estágios. No primeiro, casa cada palavra Rv com uma porção arbitrária da string T: Cada palavra é casada com todas as combinações possíveis de b, frame onde ela iniciaria e e, frame onde ela terminaria. Assim, computariamos:

13 Two-level DP algorithm
Assumindo um nivel de expansão/compressão de no máximo 2, teríamos: A partir daí, podemos escolher a melhor Rv entre quaisquer dois índices b e e:

14 Two-level DP algorithm
Para a segunda fase do two-level dp, temos que juntar de maneira ótima os melhores mínimos entre os frames, minimizando a distancia acumulada. Isso pode ser feito utilizando-se de programaçao dinâmica

15 Two-level DP algorithm
Para um último frame e de uma sequência de l palavras, temos a menor distância dada por: Isto é, o melhor caminho de l palavras que termina no frame e é aquele que tem a menor distância entre todos os frames de início b, concatenado com o melhor caminho de l-1 palavras que termina em b-1

16 Two-level DP algorithm
Passo 1 – inicialização Passo 2 – Loop em e para l = 1 Passo 3 – Recursão, loop em e pra l = 2,...,Lmax Passo 4, solução final

17 Level Building Algorithm
O procedimento geral de alinhamento de um Rs com um padrão de teste T pode ser visto da seguinte maneira: Nesse caso, o alinhamento é feito frame a frame.

18 Level Building algorithm
Uma maneira alternativa de computar esse alinhamento é ao inves de alinhar frame a frame, é alinhar fixando um nível horizontal (que corresponde ao fim da primeira palavra de Rs Este procedimento é iterado para todos os frames num determinado intervalo e é determinado que frames sao alcançados no proximo nível (proxima palavra de Rs)

19 Level Building algorithm
Para um único Rs, os procedimentos são análogos. Mas, no caso do level building, podemos computar o alcance do proximo nivel para todas as V palavras distintas antes de computar o proximo nível

20 Level Building algorithm
Diferença entre o two-level DP e o LB No LB, fazemos V warps por nivel, resultando em V*L warps no total no two-level DP, fazemos um time warp pra cada frame, tendo entao V*M time warps Como em geral M(o numero de frames) é bem maior que L(o numero de palavras), ganhamos em eficiencia

21 Level Building algorithm - implementação
Seja a menor distância acumulada, no nível l, usando o padrao Rv ao frame m do padrão de teste. Iniciamos o algoritmo para o nível 1: R1 é alinhado com o início de T, com um DTW padrão e o seu último frame é alinha-se com m, dado num intervalo m11(1) <= m <= m12(1). Guardamos Fazemos o mesmo com todos os padrões Rv, obtendo as distancias abaixo:

22 Level Building algorithm - implementação
Assim, podemos definir o menor e o maior intervalos para o proximo nivel da seguinte maneira:

23 Level Building algorithm - implementação

24 Level Building algorithm - implementação
Guardamos também os seguintes valores: Melhor distancia no level l para o frame m Indice da palavra que deu a distância acima Ponteiro para o melhor frame final do nível anterior que leva a Com apenas estas informações, podemos encontrar ainda o melhor alinhamento.

25 Level Building algorithm - implementação
A partir do nível 2, realizamos os mesmos procedimentos do nível 1, porem agora há varios frames dos quais podemos partir:

26 Level Building algorithm - implementação
Continuamos o algoritmo até atingir o nível Lmax e assim obtemos a melhor solução D*, dada por: Um contra do algoritmo é que ele é sincronizado atraves dos níveis e nao através dos frames(quando se passa um nível, provavelmente se acessa um frame ja computado). Assim, é dificil implementar uma versao que funcione em tempo real.

27 Level Building algorithm - exemplo
Vocabulário dado por duas palavras: A e B Procuramos a solução com l = 4 níveis

28 Level Building algorithm – vários níveis
Assumindo expansão/compressão no DTW de no máximo 2, as restrições dadas pelas linhas de máximo e mínimo são:

29 Level Building algorithm – vários níveis
Podemos reduzir ainda mais computações desnecessárias com o seguinte esquema de restrições:

30 Level Building algorithm
Ainda podemos melhorar o algoritmo LB em diversos aspectos, utilizando algumas técnicas: Reduzir o range para o início de cada nível Reduzir o range global Variar o range do final do padrão de teste T, fazendo-o assim mais robusto Integrar uma gramática (através de uma máquina de estados, por exemplo), que permita diminuir o número de vocabulários por nível

31 One-state algorithm A idéia básica do algoritmo one-state é dada pela figura abaixo, com o frame de teste T no eixo horizontal e o eixo vertical com as palavras Rv

32 One-state algorithm Para cada frame m de teste, calculamos em relaçao a cada frame n dos padrões de palavras Rv a distância acumulada dada por d(m,n,v) é a distância local entre o frame de teste t(m) e o frame de referência rv(n) A recursão da fórmula é feita pra todos os frames internos de Rv (n>=2) Para n = 1(frame de borda), a recursão é dada por

33 One-state algorithm Assim, a combinatória para frames internos escolhe o melhor caminho interno naquela palavra de referência A combinatória para frames de borda escolhe entre um caminho horizontal da mesma palavra de referencia ou o melhor frame final de qualquer palavra de referência

34 One-state algorithm O caminho com a melhor solução é
O maior problema com este algoritmo é que ele não leva em conta informações a priori sobre o número de palavras da entrada que possamos ter. Para tal, devemos modificá-lo:

35 One-state algorithm A computação do algoritmo para cada frame pode ser feita sincronamente Pode ser implementado pra reconhecimento de voz em tempo real Cada d(m,n,v) será computada em cada um dos níveis e utilizado em níveis subseqüentes sem a necessidade de maiores cálculos.

36 Várias strings candidatas
Podemos querer saber quais os n melhores matching que existem E utilizar esta informação com uma gramática por exemplo, para verificar qual delas é de fato a correta Para tal, só precisamos guardar informações não apenas sobre a menor distância obtida, mas também sobre a segunda menor, etc.

37 Várias strings candidatas
Duas melhores strings utilizando o algoritmo LB

38 Resumo dos algoritmos Algoritmos Two-level DP, LB, one-state
Todos os 3 algoritmos apresentados são idênticos no que diz respeito a eles retornarem a mesma melhor string Podem ser facilmente estendidos para modelos estatísticos (HMMs) Permitem a inclusão de uma gramática para aumentar a robustez do reconhecimento

39 Gramáticas para reconhecimento de dígitos conectados
Sem levar em conta o número de níveis Para 7 níveis Levando em conta perda ou inserção de um digito a mais

40 Segmentação Um importante problema a ser levado em conta é quais padrões serão utilizados durante o reconhecimento Segmentação e rotulação manuais podem levar a erros e inconsistência Criação de um procedimento automático de segmentação Treinamento de padrões das strings segmentadas

41 Segmentação Baseada no k-means:
Inicialmente, temos um conjunto de treinamento rotulado com palavras conectadas e um conjunto de modelos de dígitos (isolados) 1. Utilizar qualquer algoritmo para segmentar os arquivos do conjunto de treinamento 2. Atualiza-se o modelo das palavras, utilizando-se algum algoritmo de clustering 3. Se ainda não convergiu, continua-se iterando.

42 Segmentação

43 Implementação de um sistema de reconhecimento
Analise espectral: as características espectrais do sinal de voz são retiradas (LPC, filter bank, etc) Casamento de padrões: utilizando qualquer algoritmo citado Pós processamento: Eliminação de candidatos impossíveis, escolhendo o melhor.

44 Dúvidas ?


Carregar ppt "Análise de Voz e Vídeo Reconhecimento de voz baseado em modelos de palavras conectadas André Vitor de Almeida Palhares."

Apresentações semelhantes


Anúncios Google