Um estudo sobre a robustez de técnicas de verificação de locutores com D-vectors
A verificação de locutores é uma das principais tarefas na modelagem de reconhecimento de locutor, sendo realizada a partir de dados do principal meio de comunicação entre os seres humanos, a voz. Caracterizada como uma das formas de biometria, a verificação de locutores destaca-se principalmente pela forma não intrusiva e amplamente disponível de se coletar dados. Este tipo de tecnologia é de extrema importância para controle de acessos, segurança e análise forense em geral.
A verificação de locutores é feita através da confirmação, ou não, da identidade de um locutor, com base na comparação de características extraídas de segmentos de voz diferentes. Graças ao grande avanço tecnológico, tanto de infraestrutura, quanto de modelagem, a utilização de aprendizado profundo de redes neurais aplicado a este problema vem crescendo muito. Uma destas técnicas é chamada de \emph{d-vectors}, que são representações da voz em tamanho fixo, extraídas a partir de camadas anteriores à camada de saída de uma rede neural profunda, e que tem se tornado o estado da arte na resolução deste problema.
Diferente de redes neurais treinadas para classificar locutores específicos, com a utilização de \emph{d-vector} é possível realizar a verificação de locutores inexistentes nas bases de treinamento. Neste contexto, notou-se a necessidade de comparar estas técnicas de forma padronizada, em situações onde há dados para treinamento que não foram obtidos da mesma origem que a base de teste, representando um problema real, onde necessita-se escolher um modelo, porém não há dados de treinamento e teste com as mesmas características. Foram realizados três experimentos: O primeiro foi feito comparando-se os modelos SincNet e GE2E treinados em diferentes bases de treinamento, também utilizando estratégias de \emph{data augmentation}, e testados na mesma base de dados. O segundo experimento foi feito utilizando-se uma única combinação de treino e teste do primeiro experimento, porém desta vez são utilizados mais dois tipos de modelos: redes ResNet, com função de custo triplet loss, e também um modelo proposto neste trabalho, chamado SincNet + GE2E, em que foi adaptada a rede SincNet para ser treinada com a função de custo GE2E. O Terceiro e último experimento foi feito utilizando-se os modelos já treinados dos experimentos anteriores, em uma única base de treino, mas desta vez testados em diferentes outras bases de teste, extraídas a partir de fontes de dados de origens diferentes.
Os resultados obtidos no primeiro experimento mostraram que a SincNet apresentou melhor desempenho em todas as bases de treinamento, em comparação com o modelo GE2E. As estratégias de \emph{data augmentation} foram menos efetivas para diminuir o EER do que a possibilidade de aumentar a base de dados de treinamento com dados da mesma origem que a base de teste. A variação grande de EER relativo a modelagem em relação ao esforço de aumentar os dados, motivou o segundo experimento, onde foram utilizadas formas diferentes de modelagem. o modelo SincNet + GE2e teve um desempenho melhor que o do GE2E original, porém não superou a SincNet padrão, nem as redes ResNet com função de custo triplet loss.
No terceiro experimento, as comparações realizadas continuaram com a SincNet como o melhor modelo, porém em uma das condições de teste, o modelo utilizando ResNet obteve melhor desempenho. Este resultado indica que, entre todos os modelos, experimentos e banco de dados apresentados nesta dissertação, mesmo com o problema de variabilidade nos dados de voz, a rede SincNet é a melhor escolha na maioria deles.