O que temos até então
Neste trabalho, foi desenvolvido um Dataset contendo espectrogramas de deepfakes e gravações de falas reais, sendo nomeado de “Portufake”. Ele contém espectrogramas CQT com dimensões de 256px por 512px de ambos áudios reais e falsos, sendo cada imagem associada à sua categoria: real (real) ou fake (falso). Também foram adicionados ruídos em 16.7% das imagens, para cada voz, respeitando a metodologia citada anteriormente.
Exemplos de imagens dos espectrogramas podem ser visualizados na Figura 12, onde, à esquerda, observa-se uma representação de fala real e, à direita, de fala sintética. No total, o “Portufake” possui 183.878 espectrogramas, totalizando 33,4 GB. A relação entre locutores masculinos e femininos, bem como de alterações nos áudios do Dataset, está presente na Tabela 3.
Figura 12 - Exemplo de versão final dos espectrogramas reais e falsos


Fonte: Imagem dos autores
Tabela 3 - Número e relação de imagens do “Portufake” em relação às alterações adicionadas e ao gênero dos locutores Alterações/Gênero
Alterações/Gênero | Masculino (42 vozes) | Feminino (49 vozes) | Total (91 vozes) |
---|---|---|---|
Sem alterações | 75.996 | 79.626 | 157.622 |
Com ruídos | 12.664 | 13.592 | 26.256 |
Total | 88.660 | 95.218 | 183.878 |
Fonte: Tabela dos autores
Ademais, foi proposta uma abordagem que utiliza visão computacional para detectar deepfakes de áudio na língua portuguesa, sendo treinada e validada uma rede neural convolucional (CNN) para esse fim, a qual foi nomeada de “Unfake”. O modelo atual conta com 121.924.068 parâmetros, adquirindo, após o último treinamento, 465,10 MB de tamanho, e precisão de 99% para o conjunto de dados desenvolvido.
O desempenho do modelo para diferentes conjuntos de testes pode ser visualizado na Tabela 4, onde observa-se a precisão e erro quadrático médio do mesmo. Foram realizados três tipos de testes, onde o modelo recebeu como input:
- Todas as imagens do “Portufake”;
- Todas as imagens do “Portufake” sem ruídos;
- Espectrogramas CQT coloridos de 256px por 512px criados a partir dos datasets “ASVspoof 2019” e “VCTK”. No caso do “ASVspoof 2019”, foram utilizados todos os áudios de evaluation da categoria Logical Access (LA) - que contém deepfakes criadas com uso de ferramentas Text-to-Speech e Voice Conversion - presente no dataset.
Tabela 4: Precisão e erro do “Unfake” para diferentes casos de teste
Precisão (Categorical Accuracy) | Erro (Mean Squared Error) | |
---|---|---|
Dataset completo | 99,843% | 0,122% |
Dataset sem ruídos | 99,833% | 0,125% |
VCTK + ASVspoof 2019 | 38,844% | 60,383% |
Fonte: Tabela dos autores
Fazendo-se uma análise quantitativa dos resultados, é possível observar que o modelo “Unfake” ficou enviesado ao conjunto de dados usado no seu treinamento, o que o levou a ter uma acurácia extremamente alta. Isto se deve ao fato de ter-se utilizado somente o modelo “XTTS” para a geração das deepfakes, de modo que nossa rede está limitada a um tipo de deepfake específico.
Além disso, percebe-se um desempenho limitado para dados não vistos, já que, quando foi submetida ao conjunto de dados “VCTK + ASVSpoof 2019”, que contém espectrogramas de gravações e deepfakes em inglês, a rede neural teve precisão mais de 3 vezes menor, e taxa de erro cerca de 1200 vezes maior. Isso pode ser explicado tanto pelo fato dos modelos utilizados na geração das deepfakes serem distintos quanto da língua usada no teste ser diferente da rede neural.
Ademais, nota-se que o modelo teve desempenho ligeiramente maior quando foi submetido ao dataset com ruídos, sugerindo que essas alterações são benéficas para o modelo, aumentando a sua perfomance quando presentes.
Por fim, foi criada uma API e um website que permite aos usuários utilizar a versão inicial da rede neural, democratizando a detecção de deepfakes entre a população brasileira.