Auxiliary Branch Neural Network for Edge Object Recognition
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing object recognition systems, particularly those using Convolutional Neural Networks (CNNs), are computationally expensive and require significant processing power, making them inefficient for real-time object recognition on edge devices like drones and security cameras that lack Graphic Processing Units (GPUs) and have limited processor capacity.
Innovation Solution
An optimized neural network structure with an auxiliary branch that detects the presence of objects from a low-level layer, allowing the system to abort further processing if no objects are detected, thereby reducing unnecessary computations and improving efficiency and accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a deep CNN with many layers is used for fine-grained object recognition, then recognition accuracy is improved, but computational complexity and processing time increase significantly
Solution Approach 1:
The neural network is segmented into two separate branches: a primary branch for comprehensive object recognition and an auxiliary branch for rapid object presence detection. This segmentation allows the system to use the full deep network only when necessary, while using a simplified path for common cases, thereby reducing overall computational complexity while maintaining accuracy.
Solution Approach 2:
The auxiliary branch performs preliminary detection of object presence before the primary branch performs full object recognition. By checking for object presence first using a simpler, faster path, the system可以避免 unnecessary computations in the deep network when no objects are present, thus reducing computational complexity while preserving recognition accuracy when needed.
2Measurement precision
If a deep CNN processes every camera frame fully, then object recognition accuracy is maintained, but processing speed decreases and hardware requirements increase
Solution Approach 1:
The system dynamically adjusts the processing path based on the content of each frame. When the auxiliary branch detects object presence, the system activates the full primary branch for accurate recognition. When no objects are detected, the system skips the computationally intensive primary branch, thereby dynamically optimizing processing speed while maintaining accuracy only when necessary.
Solution Approach 2:
Instead of always performing full object recognition, the system performs partial processing by using the auxiliary branch for quick object presence detection. This partial action is sufficient for determining whether further processing is needed, thereby increasing processing speed while maintaining accuracy for frames that actually contain objects.
3Adaptability or versatility
If real-time object recognition is performed on edge devices without GPUs, then deployment flexibility is improved, but computational power and processing capability are limited
Solution Approach 1:
The neural network is segmented into two separate branches: a primary branch for comprehensive object recognition and an auxiliary branch for rapid object presence detection. This segmentation allows the system to use the full deep network only when necessary, while using a simplified path for common cases, thereby reducing overall computational complexity while maintaining accuracy.
Solution Approach 2:
The system changes the computational parameters dynamically by switching between two processing modes: full recognition mode (when objects are detected) and skip mode (when no objects are present). This parameter change allows the system to adapt its computational power consumption to the actual needs of each frame, enabling deployment on edge devices with limited processing power while maintaining flexibility.
Data Source
AI summary
A method for performing real-time recognition of objects includes receiving an input video stream from a camera, pre-processing a current frame of the input video stream using one or more pre-processing layers of a neural network structure, detecting if there is an object in the current pre-processed frame using an auxiliary branch of the neural network structure, recognizing one or more objects in the current pre-processed frame using a primary branch of the neural network structure if an object is detected in the current pre-processed frame, and displaying the one or more recognized objects of the current frame in one or more bounding boxes.


