ViBe's source code (C++) is currently available for internal testing purposes only. A licensing agreement is required for any commercial application.
The last version of the code contains a number of optimizations compared to the algorithm described in the original publication. For instance:
- borders are skipped to avoid border-tests at update time. This has a negligible impact on segmentation quality.
- random numbers are pre-generated to avoid the runtime burden of calculating multiple random numbers at each cycle.
- updates to neighbour pixels are done through memory offsets, all being pre-generated as well.
ViBE brings a number of advantages over common background detection techniques available on the market:
- It runs 6 (32 bits) to 8 times (64 bits) faster than the Mixture of Gaussian (MoG) method deployed in OpenCV
- The segmentation quality of ViBE is superior to the MoG
- A light version of ViBE running with a model based on one sample and one match significantly reduces memory requirements. It scores lower on Precision and PCC measures but keeps recall scores at a high level.