Pulse-based PAD

In this section, we briefly describe our work made for face presentation attack detection using the blood volume pulse, inferred from remote photoplesthymograpy.

The basic idea here is to retrieve the pulse signals from face video sequences, to derive features from their frequency spectrum and then to learn a classifier to discriminate between bonafide attempts from presentation attacks.

For this purpose, we describe both bob.bio.base.preprocessor.Preprocessor and bob.bio.base.extractor.Extractor specifically dedicated to this task.

Preprocessors: Pulse Extraction

Preprocessors basically extract pulse signals from face video sequences. They heavily rely on what has been done in bob.rppg.base so you may want to have a look at its documentation.

In this package, 4 preprocessors have been implemented:

Extractors: Features from Pulses

Extractors compute and retrieve features from the pulse signal. All implemented extractors act on the frequency spectrum of the pulse signal.

In this package, 3 extractors have been implemented:



X. Li, J, Komulainen, G. Zhao, P-C Yuen and M. Pietikäinen Generalized face anti-spoofing by detecting pulse from face videos, Intl Conf on Pattern Recognition (ICPR), 2016


de Haan, G. & Jeanne, V. Robust Pulse Rate from Chrominance based rPPG, IEEE Transactions on Biomedical Engineering, 2013. pdf


Wang, W., Stuijk, S. and de Haan, G. A Novel Algorithm for Remote Photoplesthymograpy: Spatial Subspace Rotation, IEEE Trans. On Biomedical Engineering, 2015


E. M. Nowara, A. Sabharwal, A. Veeraraghavan. PPGSecure: Biometric Presentation Attack Detection Using Photopletysmograms, IEEE International Conference on Automatic Face & Gesture Recognition, 2017


H .Muckenhirn, P. Korshunov, M. Magimai-Doss, S Marcel. Long-Term Spectral Statistics for Voice Presentation Attack Detection, IEEE Trans. On Audio, Speech and Language Processing, 2017