• No se han encontrado resultados

EL reconocimiento biométrico consiste en el uso de características

N/A
N/A
Protected

Academic year: 2021

Share "EL reconocimiento biométrico consiste en el uso de características"

Copied!
6
0
0

Texto completo

(1)

Verificador de locutores implementado en un dsPIC

Maximiliano Lizondo, Pablo Ag ¨uero, Alejandro J. Uriz, Juan C. Tulli and Esteban Gonz´alez

Laboratorio de Comunicaciones - Facultad de Ingenier´ıa - Universidad Nacional de Mar del Plata Mar del Plata, Argentina

Email: (mlizondo, pdaguero, ajuriz, jctulli)@fi.mdp.edu.ar

Resumen—El reconocimiento autom´atico de locutor es el uso de una m´aquina para identificar o verificar la identidad de un individuo a trav´es de su voz. Esta publicaci´on describe la implementaci´on de un sistema embebido de verificaci´on de locutores que puede ser usado en una cerradura electr´onica, asi como tambi´en en otras aplicaciones similares. El sistema est´a im- plementado en un dsPIC de bajo costo de Microchip, el cual combina las mejores caracter´ısticas de los microcontroladores y DSP en un mismo n ´ucleo de alto rendimiento de 16 bits.

Varias t´ecnicas especiales de programaci´on fueron empleadas en la implementaci´on descripta. El objetivo fue optimizar el c´odigo de verificaci´on desarrollado de acuerdo a la velocidad de procesamiento y la memoria disponible del dsPIC. Las pruebas experimentales desarrolladas en Matlab, para el sistema embebi- do de verificaci´on de locutor, muestran resultados prometedores;

obteni´endose una tasa de falsos positivos de 8 % y una tasa de falsos negativos de 12 %.

Palabras clave—Verificaci´on de locutor, sistemas embebidos, dsPIC.

I. INTRODUCCION´

E

L reconocimiento biom´etrico consiste en el uso de carac- ter´ısticas o atributos distintivos para identificar individuos [1], [2]. Dichos atributos, tambi´en conocidos como identifica- dores biom´etricos, usualmente son clasificados en fisiol´ogicos o conductuales.

Los identificadores fisiol´ogicos, como las huellas dactilares, rostro, geometr´ıa de la mano, iris o retina, son caracter´ısticas f´ısicas medibles en el tiempo. Por otro lado, los identificadores conductuales como la firma, voz o forma de caminar, consisten en acciones que se modifican a lo largo del tiempo. De manera opuesta a lo que sucede con los identificadores fisiol´ogicos, los identificadores conductuales pueden aprenderse o adquirirse a lo largo del tiempo y pueden modificarse de manera f´acil y deliberada [2].

El habla es una de las modalidades m´as naturales de la interacci´on humana, un hecho que est´a corroborado a trav´es de muchos a˜nos de investigaci´on y desarrollo en el campo del procesamiento del habla. Los desarrollos recientes en las tecnolog´ıas del habla, finalmente han entregado aplicaciones realmente utilizables. Una de estas aplicaciones es el uso de la voz como identificador biom´etrico para el reconocimiento autom´atico de locutores.

El reconocimiento autom´atico de locutores consiste en el uso de una m´aquina para identificar a un individuo a trav´es de su voz. Recientemente, esta tecnolog´ıa ha tenido un uso cada vez mayor en aplicaciones como el control de acceso, auten- ticaci´on en transacciones, medicina forense y personalizaci´on de sistemas, entre otras.

Una de las cuestiones centrales dentro de este campo de investigaci´on, es qu´e tipo de informaci´on acerca de la identidad del locutor est´a presente en la se˜nal de voz. Tradicionalmente, los sistemas de reconocimiento autom´atico de locutor han basado su funcionamiento en las denominadas short-term features [5] que est´an relacionadas con el espectro de la se˜nal de voz. Sin embargo, el reconocimiento de locutor que tiene lugar entre personas, se basa en fuentes adicionales de informaci´on. Por lo tanto, dichas fuentes pueden tambi´en jugar un rol importante en la tarea del reconocimiento autom´ati- co de locutor, agregando informaci´on complementaria a los sistemas tradicionales basados en par´ametros espectrales. De esta manera, el rendimiento de los sistemas autom´aticos de reconocimiento se ver´ıa incrementado.

No es esperable que la voz presente un alto nivel de robustez que permita el reconocimiento de individuos a partir de una base de datos amplia. Razones de ello son la degradaci´on en la calidad de la se˜nal de voz debido al tipo de micr´ofono o al canal de transmisi´on, el hecho que la voz de un individuo est´e fuertemente relacionada por su estado emocional o de salud y, por ´ultimo, la habilidad de algunas personas para imitar voces de otras personas con extraordinaria facilidad [1], [2].

Sin embargo, la voz es un indicador biom´etrico no invasivo y presenta un alto nivel de aceptabilidad. De hecho, es el ´unico capaz de ser utilizado, de manera efectiva, en aplicaciones que requieran el reconocimiento de personas sobre una l´ınea telef´onica [1], [3].

Esta publicaci´on describe la implementaci´on de un sistema embebido de verificaci´on de locutor que puede ser usado en una cerradura electr´onica, asi como tambi´en en otras aplicaciones posibles. Este sistema esta implementado en un dsPIC de bajo costo de Microchip, el cual combina las mejores caracter´ısticas de los microcontroladores y DSP en un mismo n ´ucleo de alto rendimiento de 16 bits.

Esta publicaci´on est´a organizada de la siguiente manera. La Secci´on II describe brevemente los sistemas de verificaci´on de locutor, su arquitectura, la extracci´on de par´ametros y los modelos estad´ısticos. La Secci´on III describe el sistema embebido de verificaci´on propuesto, con especial detalle en su implementaci´on. Finalmente, en la Secci´on IV se presentan las conclusiones de este trabajo y los lineamientos a seguir en el futuro.

(2)

II. SISTEMA DE VERIFICACION DE LOCUTORES´ Dependiendo del tipo de aplicaci´on, un sistema de recono- cimiento biom´etrico puede funcionar de dos modos: identifi- caci´on y verificaci´on [4].

En el modo de identificaci´on, el objetivo es, a partir de un conjunto de usuarios cuyos modelos estad´ısticos est´an almacenados en una base de datos, determinar cu´al de todos ellos coincide con el usuario desconocido. En el modo de ve- rificaci´on, el objetivo es determinar si el usuario desconocido es quien dice ser. Las aplicaciones de este modo de recono- cimiento est´an relacionadas principalmente con el control de acceso en ´areas restringidas. El sistema propuesto se basa en este tipo de aplicaci´on.

En los sistemas de verificaci´on, un usuario asegura tener una determinada identidad. Un modelo correspondiente a dicha identidad debe estar almacenado en la base de datos del sistema, la cual debe contener tambi´en los modelos de los usuarios no autorizados o impostores. Luego, las caracter´ısti- cas biom´etricas del usuario desconocido son comparadas con el modelo de la identidad que dicho usuario dice tener, y con los modelos de los impostores.

Si el usuario se parece lo suficiente a la identidad que reclama como propia, el sistema lo aceptar´a como v´alido. De lo contrario, el sistema lo rechazar´a.

Luego de determinar el grado de similitud entre el usuario desconocido y aquellos cuyos modelos estad´ısticos est´an al- macenados en la base de datos, el sistema toma la decisi´on de aceptar o rechazar al locutor cuya identidad se desconoce.

Sin embargo, la decisi´on puede ser correcta o incorrecta. Si la decisi´on es incorrecta, dos tipos diferentes de error pueden ocurrir [1], [3]:

Falsos negativos (o no detecci´on): el sistema rechaza a un usuario v´alido.

Falsos positivos (o falsa alarma): el sistema acepta a un usuario impostor.

Ambos tipos de error dan lugar a sendas tasas de error, las cuales son a menudo utilizadas para medir el rendimiento de un sistema:

Tasa de falsos negativos o FRR (False Rejection Rate):

porcentaje de usuarios rechazados de manera err´onea.

Tasa de falsos positivos o FAR (False Acceptance Rate):

porcentaje de usuarios impostores aceptados de manera err´onea.

Por lo tanto, al dise˜nar un sistema de verificaci´on biom´etri- co, el umbral de decisi´on debe ser elegido de manera que ambos tipos de error alcancen el m´ınimo valor posible, o bien, que uno de ellos est´e ubicado siempre por debajo de un cierto umbral, si la aplicaci´on as´ı lo requiere. La Figura 1 muestra un ejemplo de las curvas t´ıpicas para FRR y FAR; se observa adem´as el punto EER (Equal Error Rate) en el que ambas tasas de error alcanzan su valor m´ınimo.

II-A. Arquitectura de un sistema de reconocimiento de locu- tor

Un sistema de reconocimiento biom´etrico presenta dos etapas b´asicas: entrenamiento (training) y prueba (testing). En

Figura 1. Tasa de falsos negativos y positivos en funci´on del umbral.

la etapa de entrenamiento se toman medidas biom´etricas de los usuarios mediante sensores o lectores biom´etricos. Luego, se extrae la informaci´on relevante para construir un modelo estad´ıstico para cada usuario, el cual es almacenado en la base de datos del sistema.

Figura 2. Arquitectura de un sistema de reconocimiento biom´etrico t´ıpico.

En la etapa de prueba, los sensores son utilizados para obtener informaci´on biom´etrica del usuario a reconocer y, de manera similar a la etapa de entrenamiento, se extrae la infor- maci´on relevante. Luego, esta informaci´on es comparada con los modelos almacenados en la base de datos y se calcula el grado de similitud (el t´ermino score es igualmente empleado), que deber´a ser normalizado. Con dicho valor, y teniendo en cuenta un umbral de decisi´on adecuado, el sistema tomar´a una decisi´on bas´andose en las probabilidades calculadas.

II-B. Extracci´on de par´ametros caracter´ısticos

La extracci´on de par´ametros (o parametrizaci´on del habla) en el campo de la verificaci´on de locutor, consiste en transfor- mar la se˜nal de voz en un conjunto de vectores de caracter´ısti- cas ac´usticas[3]. El objetivo de esta transformaci´on es obtener una representaci´on m´as adecuada para el modelado estad´ıstico, la obtenci´on de una distancia u otro tipo de c´alculo (con el objetivo de posibilitar las comparaciones usando medidas simples de similitud), a la vez que se preserva la informaci´on relacionada con la identidad del locutor.

Los par´ametros m´as usados en el estado de la cuesti´on del reconocimiento, tanto de locutor como del habla, son los coeficientes cepstrales de Mel (MFCC: Mel-frecuency

(3)

Cepstral Coefficients) [5]. Los mismos son una representaci´on del espectro de potencia de un sonido (se˜nal segmentada y enventanada) y est´an basados en la transformada coseno de un espectro de potencia logar´ıtmico, representado en la escala no lineal de frecuencias de Mel.

Generalmente, la tarea de la verificaci´on de locutor comien- za con el empleo de un filtro pasabanda de primer orden. El objetivo de usar ´este filtro es enfatizar las componentes espec- trales de inter´es presentes en la se˜nal de voz. A continuaci´on, se divide dicha se˜nal en tramas temporales (o frames) y se le aplica una ventana, generalmente de tipo Hamming, con el objetivo de reducir las discontinuidades en los l´ımites de la segmentaci´on. Este procedimiento se usa generalmente para el denominado an´alisis short-term de la se˜nal de voz.

El primer paso para el c´alculo de los MFCC es realizar la transformada discreta de Fourier (DFT: Discrete Fourier Transform) de cada frame. Generalmente, el algoritmo de la transformada r´apida de Fourier (FFT: Fast Fourier Transform) es empleado para reducir el tiempo de c´omputo.

El resultado ingresa a un conjunto de filtros distribuidos en frecuencia seg ´un la escala de Mel. Finalizado este paso, se obtiene un vector que contiene la energ´ıa para cada banda de frecuencias del conjunto de filtros. Dicho vector se identifica con las siglas FBE: Filter Bank Energies. La escala de Mel, propuesta por Stevens [6], se basa en el modo en que la percepci´on del sonido tiene lugar en el oido humano. El sistema auditivo humano manipula las frecuencias de manera alineal a lo largo de todo el espectro auditivo. Evidencias emp´ıricas sugieren que un sistema cuyo funcionamiento sea similar, logrando as´ı la resolucion alineal en frecuencia, posee un mejor rendimiento en la tarea de reconocimiento.

El conjunto de filtros de la escala de Mel consiste en una se- rie de Q filtros triangulares pasobanda. La distribuci´on de estos filtros pretende simular la resoluci´on del o´ıdo humano, el cual es capaz de discriminar mejor las bajas frecuencias. Los filtros triangulares, de ancho de banda constante, est´an superpuestos en un 50 % y ubicados sobre una escala de frecuencias de Mel.

Dicha escala, se aproxima como una escala lineal entre 0 y 1000Hz y una escala logar´ıtmica para frecuencias superiores.

Los filtros triangulares est´an normalizados, de manera que sus

´areas sean unitarias.

Al aplicar el banco de filtros se compacta la informaci´on debido a que se reduce el n ´umero de coeficientes y la varianza, al promediar las muestras de la DFT en cada filtro. Finalmente, al vector de energ´ıas (FBE) se le aplica una compresi´on logar´ıtmica y la Transformada Discreta Coseno (DCT: Discrete Cosine Transform) para obtener los coeficientes cepstrales (MFCC).

La Transformada Discreta Coseno tiene dos prop ´ositos.

En primer lugar, realiza la parte final de una transformaci´on cepstral; la cual separa la informaci´on relativa a la envolvente espectral de variaci´on lenta (tracto vocal) de aquella que corresponde a la excitaci´on de r´apida variacion producida por el habla. Los MFCC s´olo retienen los coeficientes de bajo orden que est´an relacionados con el tracto vocal.

El segundo prop ´osito de la DCT es decorrelacionar los ele-

mentos del vector de par´ametros. Los elementos que resultan de aplicar el logaritmo al vector de energ´ıas (FBE), presentan correlaci´on debido tanto a las caracter´ısticas espectrales del habla como a la superposici´on del conjunto de filtros. La de- correlaci´on facilita el uso de matrices de covarianza diagonales cuando se utilizan clasificadores estad´ısticos.

La investigaci´on en el campo del reconocimiento de locutor se ha enfocado principalmente en el uso de la frecuencia fundamental. Uno de los motivos es que parece ofrecer mayor robustez, frente a las degradaciones ac´usticas propias de los efectos del ruido y del canal [7], [8]. Arcienega et al. [9], por ejemplo, propone usar modelos de los locutores dependientes de la frecuencia fundamental. En S¨ommez et al [10] y Adami et al. [11], se modela la variaci´on de la frecuencia fundamental a lo largo del tiempo para ser usada en la tarea de reconoci- miento de locutor, en conjunto con la variaci´on de la energ´ıa de la se˜nal.

II-C. Modelos estad´ısticos

Los modelos de mezcla de gaussianas (GMM: Gaussian Mixture Models) [12] son habitualmente empleados como t´ecnica de modelado en los sistemas de verificaci´on de locutor.

Un GMM consiste en una suma ponderada de funciones de densidad gaussianas que modelan la distribuci´on de los vectores de par´ametros, obtenidos a partir de la se˜nal de voz.

Dado un vector de par´ametros x de dimensi´on D, el modelo de mezcla de gaussianas λi correspondiente al locutor Si, se define a trav´es de la Ecuaci´on 1, donde M representa el n ´umero de componentes gaussianas (mezclas) y ωm el peso de cada una de ellas.

P(x|λi) =

M

X

m=1

ωmN(x, µimim) (1)

N(x, µ, Σ) es una funci´on gaussiana definida como en la Ecuaci´on 2, donde µ es el vector de medias y Σ la matriz de covarianzas. Un GMM es, de hecho, un modelo oculto de Markov (HMM: Hidden Markov Model) de un ´unico estado.

D es el n´umero de elementos del vector de par´ametros x.

N(x, µ, Σ) = 1

(2π)D2p|Σ|e12(x−µ)TΣ−1(x−µ) (2) Empleando el algoritmo de Baum-Welch, se puede calcular la probabilidad que una secuencia de frames de la se˜nal de voz haya sido generada por el modelo anteriormente descripto.

Esta probabilidad es empleada como grado de similitud para los L frames de la se˜nal de voz de entrada, seg ´un el modelo [4]. En la etapa de prueba, dada una secuencia de vectores de par´ametros X = [x1, x2, ..., xT] extra´ıdos de la se˜nal de voz de un usuario desconocido, la probabilidad que el locutor desconocido sea el locutor Si(suponiendo que los vectores xi son independientes) esta determinada por la expresi´on de la Ecuaci´on 3, la cual ser´a utilizada para determinar el grado de similitud o score.

(4)

P(X|λi) =

T

Y

t=1

P(xti) (3)

II-D. Implementaci´on del sistema de verificaci´on de locutor El sistema implementado en esta publicaci´on se basa en los enfoques com´unmente abordados en el estado del arte.

Para la toma de la decisi´on acerca de la identidad del locutor, se utilizan dos par´ametros principales de la se˜nal de voz:

los coeficientes cepstrales en la escala de Mel (MFCC) y la frecuencia fundamental (F0).

El sistema propuesto emplea la t´ecnica denominada Ceps- tral Mean Substraction (CMS) con el objetivo de remover los efectos del canal en los par´ametros MFCC. La frecuencia fundamental y dos par´ametros derivados de la misma, jitter y shimmer relativos, son tambi´en utilizados en el c´alculo probabil´ıstico del locutor bajo an´alisis.

Por lo tanto, se extraen cuatro par´ametros de cada segmento de la se˜nal de audio para evaluar la identidad del locutor:

frecuencia fundamental, jitter relativo, shimmer relativo y el logaritmo de la probabilidad (LP). Esta ´ultima se calcula como la diferencia entre la LP del modelo correspondiente a la identidad reclamada y la LP del modelo universal (UBM:

Universal Background Model). El UBM es el que corresponde a los usuarios no autorizados o impostores. Dicho modelo debe contener todas las alternativas posibles para el locutor Si.

En el sistema de verificaci´on propuesto se emple´o la t´ecnica que consiste en entrenar el modelo de impostores como si fuera un modelo ´unico, utilizando para ello a varios locutores [14].

Este modelo se denomina com´unmente UBM y al utilizar los modelos de mezcla de gaussianas, el m´etodo es conocido como GMM-UBM.

El grado de similitud entre el locutor desconocido y la identidad que dicho individuo reclama como propia, se obtiene comparando el vector que contiene la media de los par´ametros utilizados (frecuencia fundamental (F0), jitter relativo (JR), shimmer relativo (SR) y logaritmo de la probabilidad o log- likelihood (LL)) para todos los frames de la se˜nal de voz. El grado de similitud entre el vector de par´ametros de entrada µ y el vector µSi, correspondiente a la identidad reclama- da, est´a dada por la distancia d(µ, µSi). La distancia entre estos dos vectores puede ser expresada como d(µ, µSi) = (µ − µSi)Σ(µ − µSi)T. La matriz Σ es la matriz inversa de covarianzas, correspondiente al vector de medias µSi. Esta dis- tancia es conocida como distancia de Mahalanobis. Se utiliza un valor de umbral θ (ver Figura 1), el cual corresponde al m´aximo valor permitido para la distancia d(µ, µSi), para tomar la decisi´on acerca de la identidad del locutor desconocido:

usuario autorizado o impostor.

III. IMPLEMENTACION DE UN SISTEMA EMBEBIDO DE´

VERIFICACION´

El diagrama de la Figura 3 muestra los diferentes com- ponentes del sistema embebido de verificaci´on de locutor propuesto en esta publicaci´on.

El sensor biom´etrico del sistema es un micr´ofono. La se˜nal el´ectrica del mismo es amplificada y luego filtrada con el objetivo de incrementar la relaci´on se˜nal/ruido y, adem´as, evitar el efecto de solapamiento (aliasing) durante el muestreo de la se˜nal.

La se˜nal el´ectrica es muestreada por el conversor anal´ogico- digital (ADC) incluido en el microcontrolador (dsPIC- 33FJ128GP802). La frecuencia de muestreo es 16KHz y la resoluci´on del conversor es de 12 bits. La se˜nal es dividida en segmentos de 256 muestras, los cuales se obtienen utilizando una t´ecnica de doble buffer en el DMA.

Figura 3. Sistema embebido de verificaci´on de locutor.

Cada segmento es procesado por el dsPIC con el objetivo de obtener diferentes par´ametros ac´usticos, tales como energ´ıa, espectro, MFCC, frecuencia fundamental, jitter y shimmer.

Estos par´ametros son analizados usando los modelos es- tad´ısticos de referencia, los cuales son entrenados previamente y almacenados en el dsPIC a trav´es de la memoria SD.

Estos modelos pueden ser modificados y cargados nuevamente en dicho dispositivo de almacenamiento. Para ello, se usa un software de entrenamiento previamente desarrollado, el cual construye un modelo estad´ıstico adaptado a un locutor espec´ıfico.

El sistema propuesto en esta publicaci´on est´a implementado en un dispositivo dsPIC-33FJ128GP802 de Microchip. Las principales caracter´ısticas de este dispositivo son:

128KB de memoria programable. Esta caracter´ıstica fa- cilita el uso de compiladores.

16KB de RAM. De los cuales 2KB son compartidos con el buffer dedicado al acceso directo a memoria (DMA:

Direct Memory Access), conformando una RAM de doble puerto.

Permite una velocidad de procesamiento m´axima de 40 MIPS (Mega Instrucciones Por Segundo.

Bajo costo.

Bus de datos de 16 bits.

M´odulo conversor anal´ogico/digital (ADC) de 12 bits y 500 Ksps.

Registros de entrada/salida de doble buffer. Esto permite mayor velocidad en las operaciones sobre los puertos (lectura-escritura) y mayor flexibilidad en el manejo de los mismos.

Programaci´on y depuraci´on in-circuit. El dispositivo pue- de ser programado y configurado en el mismo circuito en el que est´e aplicado.

(5)

Cuadro I

CONSUMO DE MEMORIA SIN OPTIMIZACION´

Variable Node elementos Tipo de datos Memoria (bytes)

Buf f er 256 int 512

Data 256 f loat 1024

HammingW indow 256 f loat 1024

Sinus 256 f loat 1024

Cosinus 256 f loat 1024

Butterf ly 256 char 256

RealF F T 256 f loat 1024

ImagF F T 256 f loat 1024

M F CCF ilters 24x53 f loat 5088

DCT 24x13 f loat 1248

Autocorr 256 f loat 1024

M F CCCoef s 13 f loat 52

InvCovars 13x2x16 f loat 3328

M eans 13x2x16 f loat 3328

P riors 2x16 f loat 256

Determinants 2x16 f loat 256

Total 21492> 16 KB

Cuadro II

CONSUMO DE MEMORIA LUEGO DE LA OPTIMIZACION´

Variable Node elementos Tipo de datos Memoria (bytes)

Buf f er 256 int 512

Data 256 f loat 1024

HammingW indow memoria 0

sigReal 256 long 1024

twdlF ctr32b 768 long 3072

pwrspect/Autocorr 256 long 1024

M F CCF ilters memoria 0

DCT memoria 0

M F CCCoef s 13 f loat 52

InvCovars 13x2x16 f loat 3328

M eans 13x2x16 f loat 3328

P riors 2x16 f loat 256

Determinants 2x16 f loat 256

Total 13876< 16 KB

Disponible en su versi´on de encapsulado SOIC de 28 pines. Esto permite mayores niveles de integraci´on.

III-A. Limitaciones en la memoria RAM del dsPIC

Una de las principales limitaciones para implementar la verificaci´on de locutor en el dsPIC, es la cantidad limitada de memoria RAM disponible. Para minimizar el impacto de tal restricci´on, se tomaron en cuenta varios aspectos para optimizar el uso de la memoria.

Sin ninguna optimizaci´on en el uso de las variables presen- tes en la memoria RAM, la cantidad total de memoria utilizada se muestra en la Tabla I.

Las variables Buffer y Data son las representaciones en tipo de datos enteros (integer) y punto flotante (float), del frame bajo an´alisis. El arreglo HammingWindow contiene los valores precalculados de una ventana de Hamming de 256 muestras.

Las variables Sinus y Cosinus contienen los valores precal- culados de 256 muestras de las funciones trigonom´etricas seno y coseno, mientras que Butterfly contiene la informaci´on necesaria para el correcto c´alculo de la transformada R´apida de Fourier (FFT: Fast Fourier Transform). El resultado de la FFT se almacena en las variables RealFFT e ImagFFT.

Los coeficientes cepstrales de Mel (MFCC: Mel-frequency Cepstral Coefficients) se calculan con el espectro resultante de la FFT. El conjunto de filtros en la escala de Mel se encuentra

almacenado en la variable MFCCFilters y la transformada discreta coseno se calcula utilizando la variable DCT.

Los modelos de mezcla de gaussianas son cargados en la memoria RAM del dsPIC a trav´es de la memoria SD, y se almacenan en las variables InvCovars (inversa de las matrices de covarianza), Means (vectores de medias), Priors (valores iniciales de cada mezcla gaussiana) y Determinants (determinante de cada matriz de covarianza).

Como se observa en la ´ultima fila de la Tabla I, la cantidad total de memoria necesaria para nuestra aplicaci´on es mayor que la memoria disponible.

Un an´alisis cuidadoso de las variables muestra que Ham- mingWindow, MFCCFilters, DCT y las rutinas que las utilizan, pueden ser almacenadas en la memoria de programa del dsPIC.

Esta acci´on libera 7360 bytes de memoria que pueden ser usados para lograr mejores modelos de mezcla de gaussianas, un hecho que afecta notoriamente el rendimiento de la tarea de verificaci´on de locutor.

La FFT se puede calcular utilizando la subrutina FF- TReal32bIP de Microchip. Dicha subrutina necesita una mayor cantidad de memoria, pero el beneficio real se obtiene en la velocidad de procesamiento.

La variable Autocorr s´olo se utiliza para calcular la frecuen- cia fundamental, con la cual se estiman los par´ametros jitter y shimmer. Por lo tanto, el puntero de la variable Autocorr puede apuntar al mismo espacio de memoria que la variable pwrspect (espectro de potencia), liberando memoria RAM adicional.

Luego de estas modificaciones, el uso de memoria del sistema se muestra en la Tabla II.

III-B. Limitaciones en la velocidad de procesamiento del dsPIC

Otra limitaci´on importante en la implementaci´on de un sistema embebido de verificaci´on de locutor, es el n ´umero de instrucciones por segundo ejecutadas por el dsPIC. El clock de 40 MHz s´olo permite una velocidad de procesamiento m´axima de 40 MIPS (mega instrucciones por segundo). Por lo tanto, es esencial una selecci´on cuidadosa de las diferentes rutinas utilizadas.

La subrutina original para la ventana de Hamming contiene el siguiente c´odigo:

int i;

for (i=0;i<bfrsize;i++) data[i]=data[i]*win[i];

La nueva subrutina para la ventana de Hamming posee todos sus valores programados en la memoria de programa del dsPIC, logrando as´ı un aumento importante en la velocidad de procesamiento y una reducci´on el uso de la memoria RAM disponible:

data[0]*=0.08f;

data[1]*=0.0801396318543067f;

...

El mismo enfoque fue utilizado para implementar las subru- tinas que calculan los coeficientes cepstrales de Mel (MFCC),

(6)

logrando un aumento en la velocidad de procesamiento. Las rutinas originales demoraban 18.7 ms para calcular los MFCC para un ´unico frame, mientras que la nueva subrutina s´olo demora 5.36 ms.

El uso de la subrutina de Microchip para la FFT (FF- TReal32bIP) logra un aumento importante en la velocidad de procesamiento. La subrutina original, programada en C, demoraba 64 ms para obtener el espectro de potencia de un ´unico frame, mientras que la subrutina propuesta por Microchip s´olo demora 5.36 ms.

La implementaci´on de la autocorrelaci´on a trav´es del tipo de datos enteros (integer), fue la ´ultima mejora realizada en el c´odigo para procesar un frame y calcular todos los par´ametros necesarios para la tarea de verificaci´on de locutor. El tiempo total para procesar un segmento (frame) es 59 ms.

III-C. Resultados de la verificaci´on de locutor

Se llevaron a cabo distintos experimentos en Matlab con el objetivo de analizar las diferentes configuraciones de los sis- temas de verificaci´on de locutor. La arquitectura seleccionada fue probada utilizando el m´etodo de validaci´on cruzada para obtener la curva ROC.

La curva ROC (Receiver Operating Characteristic) es una representaci´on gr´afica de la sensibilidad de un sistema de clasificaci´on binario, que tiene como par´ametro de variaci´on al umbral de decisi´on.

La curva ROC para el sistema propuesto se muestra en la Figura 4. Como se explic´o en la Secci´on II, al dise˜nar un sistema de verificaci´on biom´etrico, el umbral de decisi´on debe ajustarse para minimizar tanto los falsos positivos como los falsos negativos. En este sistema, los falsos positivos deber´an permanecer por debajo del umbral para evitar la autorizaci´on de un usuario impostor.

Figura 4. Curva ROC para el sistema de verificaci´on propuesto.

IV. CONCLUSIONES

En esta publicaci´on se describi´o un sistema embebido de verificaci´on de locutor. El sistema est´a implementado en un dsPIC de bajo costo de Microchip, el cual combina las mejores caracter´ısticas de los microcontroladores y DSP en

un mismo n ´ucleo de alto rendimiento de 16 bits. El sistema de verificaci´on de locutor esta dise˜nado para controlar una cerradura electr´onica, a trav´es de un circuito que funciona como interfaz entre ambos dispositivos.

Se realizaron experimentos en Matlab para hallar la cur- va ROC del sistema propuesto, y poder as´ı obtener una aproximaci´on del rendimiento del sistema. Los resultados obtenidos muestran que el sistema puede llegar a rechazar ocasionalmente a alg ´un usuario autorizado. Por ejemplo, el sistema de verificaci´on de locutor posee una tasa de falsos positivos de 8 % y una tasa de falsos negativos de 12 %.

La investigaci´on futura se centrar´a en dos aspectos prin- cipales: el tiempo de respuesta del sistema y su rendimiento en la tarea de identificaci´on. El tiempo de respuesta es de vital importancia en este sistema de verificaci´on de locutor, pudiendo lograrse mejoras sustanciales a trav´es del uso de c´odigo ensamblador dentro del lenguaje C.

Se buscar´a lograr un mejor rendimiento en la identifica- ci´on a trav´es de la implementaci´on de nuevas t´ecnicas de verificaci´on de locutor, las cuales pueden involucrar el uso de par´ametros adicionales, diferentes t´ecnicas de modelado y algoritmos que acondicionen la se˜nal de voz.

REFERENCIAS

[1] D. Maltoni, D. Maio, A. Jain, and S. Prabhakar, Handbook of Fingerprint Recognition. Springer, New York, 2003.

[2] R. Bolle, J. Connell, S. Pankanti, N. Ratha, and A. Senior,Guide to Biometrics. Springer, New York, 2004.

[3] F. Bimbot, J. Bonastre, C. Fredouille, G. Gravier, I. Magrin-Chagnolleau, S. Meignier, T. Merlin, J. Ortega-Garcia, D. Petrovska-Delacretaz, and D.

Reynolds, A tutorial on text-independent speaker verification in EURASIP Journal on Applied Signal Processing, pp. 430-451, 2004.

[4] J. Campbell, Speaker recognition: A tutorial, Proceedings of the IEEE, vol. 85, pp. 1437-1462, 1997.

[5] S. Davis and P. Mermelstein, Comparison of parametric representations for monosyllabic word recognition in continuously spoken sentences, IEEE Transactions on Acoustic, Speech and Signal Processing, vol. 28, pp. 357-366, 1980.

[6] S. Stevens, The mel scale equates the magnitude of perceived differences in pitch at different frequencies, Journal of the Acoustical Society of America, vol. 8, pp. 185-190, 1937.

[7] B. Atal, Automatic speaker recognition based on pitch contours, Journal of the Acoustical Society of America, vol. 52, pp. 1687-1697, 1972.

[8] M. Carey, E. Parris, H. Lloyd-Thomas, and S. Bennett, Robust prosodic features for speaker identification, in Proceedings of the ICSLP, pp. 1800- 1803, 1996.

[9] M. Arcienega and A. Drygaljo, Pitch-dependent GMMs for text- independent speaker recognition systems, in Proceedings of the Euros- peech, pp. 2821-2825, 2001.

[10] K. S ¨onmez, E. Shriberg, L. Heck, and M. Weintraub, Modeling dynamic prosodic variation for speaker verification, in Proceedings of the ICSLP, pp. 3189-3192, 1998.

[11] A. Adami and H. Hermansky, Segmentation of speech for speaker and language recognition, in Proceedings of the Eurospeech, pp. 841-844, 2003.

[12] D. Reynolds, Speaker identification and verification using gaussian mixture speaker models, Speech Communication, vol. 17, pp. 91-108, 1995.

[13] D. Reynolds and R. Rose, Robust text-independent speaker identification using gaussian mixture speaker models, IEEE Transactions on Speech and Audio Processing, vol. 3, pp. 72-83, 1995.

[14] T. Matsui and S. Furui, Likelihood normalization for speaker verification using a phoneme and speaker-independent model, Speech Communica- tion, vol. 17, pp. 109-116, 1995.

Referencias

Documento similar

1) En los espacios de la IATAE debe imperar el orden y el respeto hacia los demás usuarios y hacia sus bienes. 2) Los usuarios no podrán realizar obras ni modificaciones en

&#34;No porque las dos, que vinieron de Valencia, no merecieran ese favor, pues eran entrambas de tan grande espíritu […] La razón porque no vió Coronas para ellas, sería

Además de aparecer en forma de volumen, las Memorias conocieron una primera difusión, a los tres meses de la muerte del autor, en las páginas de La Presse en forma de folletín,

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

El nuevo Decreto reforzaba el poder militar al asumir el Comandante General del Reino Tserclaes de Tilly todos los poderes –militar, político, económico y gubernativo–; ampliaba

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

por unidad de tiempo (throughput) en estado estacionario de las transiciones.. de una red de Petri

Sanz (Universidad Carlos III-IUNE): &#34;El papel de las fuentes de datos en los ranking nacionales de universidades&#34;.. Reuniones científicas 75 Los días 12 y 13 de noviembre