Este repositório contém códigos do artigo: Melhorando o Reconhecimento Contínuo de Linguagem de Sinais com Modelos de Imagem Adaptados. (Pré-impressão) [papel]
Este repositório é baseado em VAC (ICCV 2021). Muito obrigado pelo seu excelente trabalho!
Este projeto é implementado em Pytorch (melhor >=1.13 para ser compatível com ctcdecode ou podem existir erros). Portanto, instale o Pytorch primeiro.
ctcdecode==0.4 [parlance/ctcdecode],para decodificação de pesquisa de feixe.
[Opcional] sclite [kaldi-asr/kaldi], instale a ferramenta kaldi para obter o sclite para avaliação. Após a instalação, crie um link virtual para o sclite: mkdir ./software
ln -s PATH_TO_KALDI/tools/sctk-2.4.10/bin/sclite ./software/sclite
Você pode usar a ferramenta de avaliação de versão python por conveniência (definindo 'evaluate_tool' como 'python' na linha 16 de ./configs/baseline.yaml), mas o sclite pode fornecer estatísticas mais detalhadas.
Você pode instalar outros módulos necessários conduzindo pip install -r requirements.txt
A implementação do CLIP e outros componentes propostos é fornecida em ./modules/openai/model.py.
Você pode escolher qualquer um dos seguintes conjuntos de dados para verificar a eficácia do AdaptSign.
Baixe o conjunto de dados RWTH-PHOENIX-Weather 2014 [link para download]. Nossos experimentos baseados em phoenix-2014.v3.tar.gz.
Após terminar o download do conjunto de dados, extraia-o. Sugere-se fazer um link direto para o conjunto de dados baixado.
ln -s PATH_TO_DATASET/phoenix2014-release ./dataset/phoenix2014
A sequência de imagens original é 210x260, redimensionamos para 256x256 para aumentar. Execute o seguinte comando para gerar gloss dict e redimensionar a sequência de imagens.
cd ./preprocess
python dataset_preprocess.py --process-image --multiprocessing
Baixe o conjunto de dados RWTH-PHOENIX-Weather 2014 [link para download]
Após terminar o download do conjunto de dados, extraia-o. Sugere-se fazer um link direto para o conjunto de dados baixado.
ln -s PATH_TO_DATASET/PHOENIX-2014-T-release-v3/PHOENIX-2014-T ./dataset/phoenix2014-T
A sequência de imagens original é 210x260, redimensionamos para 256x256 para aumentar. Execute o seguinte comando para gerar gloss dict e redimensionar a sequência de imagens.
cd ./preprocess
python dataset_preprocess-T.py --process-image --multiprocessing
Solicite o conjunto de dados CSL neste site [link para download]
Após terminar o download do conjunto de dados, extraia-o. Sugere-se fazer um link direto para o conjunto de dados baixado.
ln -s PATH_TO_DATASET ./dataset/CSL
A sequência de imagens original é 1280x720, redimensionamos para 256x256 para aumentar. Execute o seguinte comando para gerar gloss dict e redimensionar a sequência de imagens.
cd ./preprocess
python dataset_preprocess-CSL.py --process-image --multiprocessing
Solicite o conjunto de dados CSL-Daily neste site [link para download]
Após terminar o download do conjunto de dados, extraia-o. Sugere-se fazer um link direto para o conjunto de dados baixado.
ln -s PATH_TO_DATASET ./dataset/CSL-Daily
A sequência de imagens original é 1280x720, redimensionamos para 256x256 para aumentar. Execute o seguinte comando para gerar gloss dict e redimensionar a sequência de imagens.
cd ./preprocess
python dataset_preprocess-CSL-Daily.py --process-image --multiprocessing
Espinha dorsal | Desenvolvedor WER | Teste WER | Modelo pré-treinado |
---|---|---|---|
ResNet18 | 18,5% | 18,8% | [Baidu] (senha: enyp) [Google Drive] |
Espinha dorsal | Desenvolvedor WER | Teste WER | Modelo pré-treinado |
---|---|---|---|
ResNet18 | 18,6% | 18,9% | [Baidu] (senha: pfk1) [Google Drive] |
Espinha dorsal | Desenvolvedor WER | Teste WER | Modelo pré-treinado |
---|---|---|---|
ResNet18 | 26,7% | 26,3% | [Baidu] (senha: kbu4) [Google Drive] |
Para avaliar o modelo pré-treinado, escolha primeiro o conjunto de dados de phoenix2014/phoenix2014-T/CSL/CSL-Daily na linha 3 em ./config/baseline.yaml e execute o comando abaixo:
python main.py --device your_device --load-weights path_to_weight.pt --phase test
As prioridades dos arquivos de configuração são: linha de comando > arquivo de configuração > valores padrão de argparse. Para treinar o modelo SLR, execute o comando abaixo:
python main.py --device your_device
Observe que você pode escolher o conjunto de dados de destino em phoenix2014/phoenix2014-T/CSL/CSL-Daily na linha 3 em ./config/baseline.yaml.