Parallel Face Detection in Video Streams
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video coding technologies face challenges in real-time face detection in high-definition video streams, particularly in complex scenes, due to high computation demands and latency issues, which affect the quality of video conferencing applications.
Innovation Solution
A distributed coding architecture using multiple interconnected processors that perform parallel processing of video streams, employing block-level features such as temporal difference and edge features, along with color information, to identify face regions and adapt quantization accordingly, thereby reducing latency and improving detection accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If distributed coding architecture with multiple processors is used, then processing speed and low latency are improved, but system complexity increases
Solution Approach 1:
The video processing system is divided into multiple independent coding processors, each handling specific portions of video frames in parallel. This segmentation enables simultaneous processing of different frame regions, achieving high-speed real-time face detection while distributing computational load across multiple units, thus improving productivity without overwhelming single-point complexity
Solution Approach 2:
Each coding processor in the distributed architecture is designed with multi-functionality, capable of performing both video coding operations and face detection tasks. This universal design allows the same hardware resources to serve multiple purposes, reducing overall system complexity while maintaining high processing throughput through parallel operation
2Measurement precision
If face detection is performed on entire picture, then detection accuracy is improved, but processing latency increases
Solution Approach 1:
The face detection process is segmented to operate on specific regions of interest rather than the entire picture. By identifying and processing only relevant frame portions in parallel across multiple coding processors, the system maintains detection accuracy while significantly reducing the computational time required, thus lowering processing latency
Solution Approach 2:
Motion estimation and block-level feature analysis are performed preliminarily during the video coding process before face detection. This preliminary processing prepares data structures and identifies potential face regions in advance, enabling faster and more accurate face detection without requiring re-processing of the entire picture, thereby reducing latency
3Loss of time
If block-based analysis with motion estimation is used, then computation time is reduced, but detection accuracy in complex backgrounds deteriorates
Solution Approach 1:
Multiple detection cues including skin color information, motion estimation results, and block-level features are merged into a unified face detection framework. This combination allows the system to leverage the computational efficiency of block-based analysis while compensating for its accuracy limitations in complex backgrounds through additional color and motion information from multiple sources
Solution Approach 2:
The system implements feedback mechanisms where detection results from block-based analysis are used to guide subsequent refinement steps. Motion-identified regions and color-segmented areas provide feedback that adjusts detection parameters and focuses computational resources on promising regions, improving accuracy in complex backgrounds without substantially increasing overall computation time
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
An apparatus, a method, and a computer-readable medium having instructions encoded thereon that when executed cause a method to be carried out. The method includes dividing at least a portion of a picture of a video stream into parts of blocks, and processing the parts in parallel by a plurality of interconnected processors. The processing of a respective part by its respective processor includes determining block- features, e.g., block level temporal features and/or block level edge features. Each processor also performs coding functions on its respective part of the picture. The method also includes block-level processing using the block-level features to determine which blocks in the picture are likely to be that of a face, the block-level processing being at the granularity of at least a block.