SSD Post-Processing Bounding Box Filtering on Micro-Controllers

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Reliability

If all bounding boxes are stored and processed, then detection completeness is improved, but memory usage and processing time increase significantly

Engineering Contradiction:
Improvedetection completenessVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If all bounding boxes are sorted and processed, then detection accuracy is improved, but computational complexity increases

Engineering Contradiction:
Improvedetection accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If confidence score threshold is lowered to include more bounding boxes, then detection completeness is improved, but processing time increases

Engineering Contradiction:
Improvedetection completenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #2Taking out (Extraction)

4Ease of operation

If micro-controllers are used for SSD post-processing, then device portability is improved, but resource limitations worsen processing capability

Engineering Contradiction:
Improvedevice portabilityVSAvoidprocessing capability
Core Design Contradiction:
Ease of operationVSDevice complexity

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.

Inventive Principle:
Principle #35Parameter changes

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.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250022248A1Methods and systems for performing SSD post processing
Publication Date: 2025.01.16 IMAGINATION TECH LTD
  • US20250022248A1 patent drawing
  • US20250022248A1 patent drawing
  • US20250022248A1 patent drawing

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.