An automatic face tracker was used to detect the faces and select the RoI within each video frame. We used the face detection toolbox (version 0.21) using local binary patterns and haar features.9 The face detection code was mainly written in C and wrapped with a MATLAB interface. The RoI was then separated into three RGB channels by averaging all the pixels in a frame to obtain a single red, blue, and green point for each video frame and form the raw traces. Each video resulted in a block of three vectors, where each vector has 900 numbers. The raw traces were whitened, shifted to zero mean, normalized to unit variance and band-pass filtered within the range of 0.75 to 4 Hz, under the assumption that the pulse lies within 45 to 240 bpm. The filtered traces were fed to the cICA algorithm with reference signal sweep as previously described to extract the BVP with a sweep resolution of 0.5 bpm. The peak frequency was extracted using the MATLAB periodogram function with a hamming window for power spectral density estimation. All video streams were also subjected to the ICA pulse rate measurement algorithms described in Refs. 3 and 4 to form a basis for comparison with state-of-the-art algorithms.