Parallel Vision Processing
Investigating how multiple video streams, people and AI workloads can be processed concurrently for scalable real-time vision.
Investigating how multiple video streams, people and AI workloads can be processed concurrently for scalable real-time vision.
Video workloads are naturally parallel.
A deployment may contain several cameras. A single image may contain several people. One event may require several models or reasoning stages.
Processing all of these sequentially can create latency that grows with the complexity of the scene.
Our research explores ways to execute visual workloads concurrently.
Independent video streams can often be decoded, sampled and analysed simultaneously.
A frame can be divided into relevant regions that are processed in parallel.
Different capabilities can analyse the same frame concurrently when hardware resources allow it.
Video capture, preprocessing, inference, reasoning and event delivery do not always need to wait for one another.
Camera streams
↓
Concurrent decoding
↓
Parallel preprocessing
↓
Model workers
↓
Reasoning / event aggregation
↓
Operational output
Scenes with several people are particularly important for applications such as PPE.
Instead of sending every person through a heavy processing path sequentially, alternative strategies include:
This can significantly change the latency profile of a system.
Parallel execution is not automatically faster.
Memory pressure, model loading, GPU contention and synchronisation overhead can remove the expected benefit.
The research challenge is therefore to find the right level of concurrency for each model, hardware profile and operational workload.