All Projects → asvspoof → ASVspoof2019_system

asvspoof / ASVspoof2019_system

Licence: MIT License
D3M - Dynamic Data Discrepancy Mitigation for Anti-spoofing - Implementation of work Dynamically Mitigating Data Discrepancy with Balanced Focal Loss for Replay Attack Detection

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to ASVspoof2019 system

Face-Recognition-Jetson-Nano
Recognize 2000+ faces on your Jetson Nano with database auto-fill and anti-spoofing
Stars: ✭ 63 (+186.36%)
Mutual labels:  anti-spoofing
Deep-learning-And-Paper
【仅作为交流学习使用】机器智能--相关书目及经典论文包括AutoML、情感分类、语音识别、声纹识别、语音合成实验代码等
Stars: ✭ 62 (+181.82%)
Mutual labels:  speaker-verification
kaldi-timit-sre-ivector
Develop speaker recognition model based on i-vector using TIMIT database
Stars: ✭ 17 (-22.73%)
Mutual labels:  speaker-verification
Attentive-Filtering-Network
University of Edinbrugh-Johns Hopkins University's system for ASVspoof 2017 Version 2.0 dataset.
Stars: ✭ 47 (+113.64%)
Mutual labels:  anti-spoofing
speaker extraction
target speaker extraction and verification for multi-talker speech
Stars: ✭ 85 (+286.36%)
Mutual labels:  speaker-verification
KaldiBasedSpeakerVerification
Kaldi based speaker verification
Stars: ✭ 43 (+95.45%)
Mutual labels:  speaker-verification
Face-Liveness-Detection-SDK-iOS
Robust, Realtime, On-Device Face Liveness Detection (Face Anti Spoofing) For iOS
Stars: ✭ 48 (+118.18%)
Mutual labels:  anti-spoofing
object-detection-notebooks
Object detection and localization with Tensorflow 2 and Keras
Stars: ✭ 25 (+13.64%)
Mutual labels:  focal-loss
D-TDNN
PyTorch implementation of Densely Connected Time Delay Neural Network
Stars: ✭ 60 (+172.73%)
Mutual labels:  speaker-verification
UniSpeech
UniSpeech - Large Scale Self-Supervised Learning for Speech
Stars: ✭ 224 (+918.18%)
Mutual labels:  speaker-verification
wavenet-classifier
Keras Implementation of Deepmind's WaveNet for Supervised Learning Tasks
Stars: ✭ 54 (+145.45%)
Mutual labels:  speaker-verification
Speaker-Anti-Spoofing-Classifiers
Baselines and Classifiers for speaker anti-spoofing detection
Stars: ✭ 15 (-31.82%)
Mutual labels:  anti-spoofing
classification
Catalyst.Classification
Stars: ✭ 35 (+59.09%)
Mutual labels:  focal-loss
multi-label-classification
基于tf.keras的多标签多分类模型
Stars: ✭ 72 (+227.27%)
Mutual labels:  focal-loss
Speaker-Identification
A program for automatic speaker identification using deep learning techniques.
Stars: ✭ 84 (+281.82%)
Mutual labels:  speaker-verification
deepaudio-speaker
neural network based speaker embedder
Stars: ✭ 19 (-13.64%)
Mutual labels:  speaker-verification
speaker-recognition-papers
Share some recent speaker recognition papers and their implementations.
Stars: ✭ 92 (+318.18%)
Mutual labels:  speaker-verification
ASSERT
JHU's system submission to the ASVspoof 2019 Challenge: Anti-Spoofing with Squeeze-Excitation and Residual neTworks (ASSERT).
Stars: ✭ 50 (+127.27%)
Mutual labels:  anti-spoofing
Focal Loss Keras
Multi-class classification with focal loss for imbalanced datasets
Stars: ✭ 76 (+245.45%)
Mutual labels:  focal-loss
meta-SR
Pytorch implementation of Meta-Learning for Short Utterance Speaker Recognition with Imbalance Length Pairs (Interspeech, 2020)
Stars: ✭ 58 (+163.64%)
Mutual labels:  speaker-verification

Dynamically Mitigating Data Discrepancy with Balanced Focal Loss for Replay Attack Detection

This repo contains the implementation of our work D3M towards building a more robust replay attack detection system. We propose an informative and complementary feature representation and leverage a more effective training objective. Experimental results in terms of min-tDCF and EER, as well as more detailed analysis will be reported in this repo.

Source code and other details for replay attack detection, tested on ASVspoof2019 PA and Real-PA dataset.

We are continuously adding comments and refining the repository. If you have some questions, feel free to open an issue:)

Contents

  • source code of proposed methods
  • attack samples for analysis
  • model scores of seperate groups
  • High-resolution images (in the near future)

Environment

  • apex 0.1 (for mixed precision training)
  • PyTorch 1.1.0 (DL framework)
  • sacred 0.7.5 (record experimental details)
  • Python 3.6+

To install most dependencies automatically:

pip install -r requirements.txt

Train the model

python main.py with 'epoch=50' 'lr=0.001'  'load_model=False' 'load_file=results/Model-epoch-25.pth' 'test_first=False' 'num_workers=1' 'eval_mode=False'

Test the model

python main.py with 'epoch=50' 'lr=0.001'  'load_model=False' 'load_file=results/models/best-eer-ep36-0.786008.pt' 'test_first=False' 'num_workers=1' 'eval_mode=True' 'server=0' 'train_batch=32' 'GRL_LAMBDA=0.001' 'evalProtocolFile=/data/to/anti-spoofing/ASVspoof2019/ASVspoof2019_PA_real/ASVspoof2019_PA_cm_protocols/ASVspoof2019.PA.real.cm.eval.trl.txt' 'eval_dir=/data/to/ASVspoof2019_PA_real/GDgram_magnitude_1024_400_240'

Use scared for experiment management

We use scared to manage our experiments, and you can create a file named myexp.py with your own configurations. For instance,

from sacred import Experiment
from sacred.observers import MongoObserver
from sacred.utils import apply_backspaces_and_linefeeds

ex = Experiment("ASVSPOOF2019")
ex.observers.append(MongoObserver.create(
    url='mongodb://exp:user@yourip:port/sacred?authMechanism=SCRAM-SHA-1',
    db_name='sacred'))
ex.captured_out_filter = apply_backspaces_and_linefeeds

Citation

If you find this work helpful, please cite it in your publications.

@inproceedings{dou2021dynamically,
author={Yongqiang Dou and Haocheng Yang and Maolin Yang and Yanyan Xu and Dengfeng Ke},
booktitle={The 25th International Conference on Pattern Recognition (ICPR)}, 
title={Dynamically Mitigating Data Discrepancy with Balanced Focal Loss for Replay Attack Detection}, 
year={2021},
volume={},
number={},
pages={4115-4122},
doi={10.1109/ICPR48806.2021.9412749}}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].