Efficient implementation of a video change detection algorithm” in the Proceedings of the 2016 International Conference on Communications (COMM)“
We present an efficient open-source implementation of a novel video alignment algorithm, based on low dimensionality frame matching and the recently introduced ECC image registration algorithm. We write the algorithm in the Python language, which facilitates prototyping, using the OpenCV library, and then in C++. We test our application on realistic video benchmarks and obtain a good alignment quality. Compared to an initial sequential implementation, we speedup the application by: i) algorithmic optimization, ii) improving data locality, iii) executing parts of the application on parallel hardware. We achieve a sequential performance of at most 10.47× real-time performance when processing a query video of resolution 240×320, with 30 fps. When offloading parts of the computation on NVIDIA GPUs, we obtain a factor of at most 12.39× speedup when compared to the sequential version run on CPU, when using High-Definition resolution. These results pave the way for further optimization in order to run the application on energy-efficient embedded CPU and GPU processors.