SSD Post-Processing Bounding Box Filtering on Micro-Controllers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Single-shot detector (SSD) neural networks generate a large number of bounding boxes, with most being irrelevant, leading to inefficient post-processing due to high memory and computational requirements, especially when implemented on micro-controllers with limited resources.
Innovation Solution
A method for efficient SSD post-processing on micro-controllers, involving sorting and filtering bounding boxes based on confidence scores, where only top N entries are stored and processed, using data structures like binary search trees or min heaps to reduce memory and computational load, allowing for real-time processing of SSD outputs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all bounding boxes are stored and processed, then detection completeness is improved, but memory usage and processing time increase significantly
Solution Approach 1:
The patent extracts only the essential information (top N bounding boxes with highest confidence scores) from the complete set of bounding boxes, discarding redundant data. This is achieved by sorting bounding boxes by confidence score and retaining only the top N entries, thereby reducing memory usage while preserving the most relevant detection results.
Solution Approach 2:
The patent changes the parameter of data retention from storing all bounding boxes to storing only top N bounding boxes based on confidence score threshold. This parameter change transforms the memory requirement from O(M) where M is total bounding boxes to O(N) where N is a fixed small number, resolving the memory contradiction.
2Measurement precision
If all bounding boxes are sorted and processed, then detection accuracy is improved, but computational complexity increases
Solution Approach 1:
The patent extracts only the necessary subset of bounding boxes (top N) required for accurate detection, eliminating the need to process all M bounding boxes. This extraction approach maintains detection accuracy by preserving high-confidence detections while reducing computational complexity from O(M log M) to O(N log N) or O(M + N) depending on implementation.
Solution Approach 2:
The patent applies partial action by processing only the top N bounding boxes instead of all M bounding boxes. This partial processing is sufficient for achieving accurate detection results while significantly reducing computational burden, especially when N << M.
3Reliability
If confidence score threshold is lowered to include more bounding boxes, then detection completeness is improved, but processing time increases
Solution Approach 1:
The patent extracts only the top N bounding boxes based on confidence scores, regardless of the threshold level. This extraction mechanism ensures that even when lowering the confidence threshold to improve completeness, the processing time remains bounded by O(N log N) or O(M + N) rather than increasing with the total number of bounding boxes M.
4Ease of operation
If micro-controllers are used for SSD post-processing, then device portability is improved, but resource limitations worsen processing capability
Solution Approach 1:
The patent changes the processing parameter from handling all M bounding boxes to handling only top N bounding boxes, where N is a small fixed number. This parameter change reduces the computational burden to levels suitable for micro-controllers with limited CPU power and memory, enabling deployment on portable devices while maintaining acceptable detection accuracy.
Solution Approach 2:
The patent applies local quality by focusing computational resources on processing only the most relevant bounding boxes (top N with highest confidence scores) rather than uniformly processing all bounding boxes. This localized processing approach optimizes the use of limited micro-controller resources by concentrating effort where it matters most for detection accuracy.
Data Source
AI summary
Post processing on data generated by processing an image in accordance with a single-shot detector (SSD) neural network. The data comprises information identifying a plurality of bounding boxes in the image and a confidence score for a class for each bounding box. For each bounding box, (a) determining if the confidence score meets a confidence score threshold, (b) when the confidence score meets the confidence score threshold, determining if less than a maximum number of bounding boxes entries have been stored, (c) when less than the maximum number of bounding box entries have been stored, adding a new bounding box entry for the bounding box, (d) when the maximum number of bounding box entries have been stored, determining if the confidence score is greater than a lowest confidence score of the bounding box entries, and (e) when the confidence score is greater than the lowest confidence score of the bounding box entries, removing the bounding box entry with the lowest confidence score, and adding a new bounding box entry for the bounding box.


