Ce référentiel contient les codes de l'article : Améliorer la reconnaissance continue de la langue des signes avec des modèles d'images adaptés. (Préimpression) [papier]
Ce dépôt est basé sur VAC (ICCV 2021). Un grand merci pour leur excellent travail !
Ce projet est implémenté dans Pytorch (mieux vaut >=1.13 pour être compatible avec ctcdecode ou il peut y avoir des erreurs). Veuillez donc d'abord installer Pytorch.
ctcdecode==0.4 [parlance/ctcdecode],pour le décodage de recherche de faisceau.
[Facultatif] sclite [kaldi-asr/kaldi], installez l'outil kaldi pour obtenir sclite pour évaluation. Après l'installation, créez un lien symbolique vers le sclite : mkdir ./software
ln -s PATH_TO_KALDI/tools/sctk-2.4.10/bin/sclite ./software/sclite
Vous pouvez utiliser l'outil d'évaluation de version Python pour plus de commodité (en définissant 'evaluate_tool' sur 'python' dans la ligne 16 de ./configs/baseline.yaml), mais sclite peut fournir des statistiques plus détaillées.
Vous pouvez installer d'autres modules requis en effectuant pip install -r requirements.txt
L'implémentation de CLIP et des autres composants proposés est donnée dans ./modules/openai/model.py.
Vous pouvez choisir l’un des ensembles de données suivants pour vérifier l’efficacité d’AdaptSign.
Téléchargez l'ensemble de données RWTH-PHOENIX-Weather 2014 [lien de téléchargement]. Nos expériences basées sur phoenix-2014.v3.tar.gz.
Une fois le téléchargement de l'ensemble de données terminé, extrayez-le. Il est suggéré de créer un lien symbolique vers l'ensemble de données téléchargé.
ln -s PATH_TO_DATASET/phoenix2014-release ./dataset/phoenix2014
La séquence d'images originale est de 210x260, nous la redimensionnons à 256x256 pour l'augmentation. Exécutez la commande suivante pour générer un gloss dict et redimensionner la séquence d'images.
cd ./preprocess
python dataset_preprocess.py --process-image --multiprocessing
Téléchargez l'ensemble de données RWTH-PHOENIX-Weather 2014 [lien de téléchargement]
Une fois le téléchargement de l'ensemble de données terminé, extrayez-le. Il est suggéré de créer un lien symbolique vers l'ensemble de données téléchargé.
ln -s PATH_TO_DATASET/PHOENIX-2014-T-release-v3/PHOENIX-2014-T ./dataset/phoenix2014-T
La séquence d'images originale est de 210x260, nous la redimensionnons à 256x256 pour l'augmentation. Exécutez la commande suivante pour générer un gloss dict et redimensionner la séquence d'images.
cd ./preprocess
python dataset_preprocess-T.py --process-image --multiprocessing
Demandez l'ensemble de données CSL sur ce site Web [lien de téléchargement]
Une fois le téléchargement de l'ensemble de données terminé, extrayez-le. Il est suggéré de créer un lien symbolique vers l'ensemble de données téléchargé.
ln -s PATH_TO_DATASET ./dataset/CSL
La séquence d'images originale est de 1280x720, nous la redimensionnons à 256x256 pour l'augmentation. Exécutez la commande suivante pour générer un gloss dict et redimensionner la séquence d'images.
cd ./preprocess
python dataset_preprocess-CSL.py --process-image --multiprocessing
Demandez l'ensemble de données CSL-Daily sur ce site Web [lien de téléchargement]
Une fois le téléchargement de l'ensemble de données terminé, extrayez-le. Il est suggéré de créer un lien symbolique vers l'ensemble de données téléchargé.
ln -s PATH_TO_DATASET ./dataset/CSL-Daily
La séquence d'images originale est de 1280x720, nous la redimensionnons à 256x256 pour l'augmentation. Exécutez la commande suivante pour générer un gloss dict et redimensionner la séquence d'images.
cd ./preprocess
python dataset_preprocess-CSL-Daily.py --process-image --multiprocessing
Colonne vertébrale | Développeur WER | Test WER | Modèle pré-entraîné |
---|---|---|---|
ResNet18 | 18,5% | 18,8% | [Baidu] (mot de passe : enyp) [Google Drive] |
Colonne vertébrale | Développeur WER | Test WER | Modèle pré-entraîné |
---|---|---|---|
ResNet18 | 18,6% | 18,9% | [Baidu] (mot de passe : pfk1) [Google Drive] |
Colonne vertébrale | Développeur WER | Test WER | Modèle pré-entraîné |
---|---|---|---|
ResNet18 | 26,7% | 26,3% | [Baidu] (mot de passe : kbu4) [Google Drive] |
Pour évaluer le modèle pré-entraîné, choisissez d'abord l'ensemble de données de phoenix2014/phoenix2014-T/CSL/CSL-Daily à la ligne 3 dans ./config/baseline.yaml et exécutez la commande ci-dessous :
python main.py --device your_device --load-weights path_to_weight.pt --phase test
Les priorités des fichiers de configuration sont : ligne de commande > fichier de configuration > valeurs par défaut d'argparse. Pour entraîner le modèle SLR, exécutez la commande ci-dessous :
python main.py --device your_device
Notez que vous pouvez choisir l'ensemble de données cible dans phoenix2014/phoenix2014-T/CSL/CSL-Daily à la ligne 3 dans ./config/baseline.yaml.