This repository illustrates the use of a multithreaded video processing pipeline. There are several advantages of concurrent execution of a video processing pipeline over the sequential oneModern day video processing pipelines may make use of deep learning based computer vision models such as CNN classifiers, Object Detection network architectures, etc. One forward propagation of these networks can massively slow down the entire video processing pipeline due to the large number of computations involved in one forward pass. To address this issue we make use of multithreading to put IO bound process and the CPU bound process into separate threads
- The Multithreaded implementation of a video processing pipeline has a much better FPS than the sequential one
- Effectively utilizes the CPU resources
- Does not let the IO bound instructions (reading video frames/displaying video frames) come in the way of processing