The source code included 2 separable routine.
One is blob labeling.
Another is FREAK feature extraction and draw.
Blob labeling is using MOG2 algorithm.
MOG2 is introduced in past on my blog.
Refer to this page.
By the way, this code included blur routine.
I thought low frequency image is more useful for background learning.
This rgb blur code on GPU mode is referenced from here.
Another routine is FREAK feature extraction.
Firstly, find feature using FAST_GPU, and extract FREAK descriptor.
After extraction, 2 descriptor can compare same image or not.
This code is made for processing time check.
The process is enough to processing in real time, because image is resized and use GPU.
Hope helping to you.