SVM Object Detection Partial Dot Product Memory Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current SVM-based object detection systems are computationally intensive and require significant data bandwidth, making real-time implementation challenging due to excessive data transfer between internal and external memory during object classification processes.
Innovation Solution
The proposed methodology reduces data exchange by using partial vector dot products and storing them in a table, allowing feature block components to be moved from external memory to internal memory only once per feature block row, and combining these partial dot products to determine vector dot products for object classification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If SVM-based object detection systems use traditional data transfer methods between internal and external memory, then classification accuracy is maintained, but data bandwidth consumption increases significantly
Solution Approach 1:
The image frame is divided into multiple feature block rows, and the data processing is segmented accordingly. Each feature block row is processed independently with its own partial vector dot product calculation, allowing for optimized memory access patterns and reduced redundant data transfer between internal and external memory while maintaining classification accuracy.
Solution Approach 2:
Instead of computing complete vector dot products for all detector windows at once, the system calculates partial vector dot products for each feature block row separately. This partial action approach reduces the amount of data that needs to be transferred between memory levels at any given time, thereby reducing overall bandwidth consumption while still achieving accurate classification when results are combined.
2Speed
If SVM-based object detection systems process all detector windows simultaneously, then detection speed is improved, but computational complexity and memory bandwidth requirements increase
Solution Approach 1:
The detection process is segmented into multiple stages corresponding to different feature block rows. Each stage processes a subset of detector windows associated with that row, reducing the computational complexity of each individual stage while maintaining overall detection speed through parallel processing of multiple segments.
Solution Approach 2:
Partial vector dot products are calculated preliminarily for each feature block row before combining them into complete detection results. This preliminary action allows for optimized resource allocation and reduces peak memory bandwidth requirements by processing data in manageable chunks rather than all at once.
Data Source
AI summary
An exemplary object detection method includes generating feature block components representing an image frame, and analyzing the image frame using the feature block components. For each feature block row of the image frame, feature block components associated with the feature block row are evaluated to determine a partial vector dot product for detector windows that overlap a portion of the image frame including the feature block row, such that each detector window has an associated group of partial vector dot products. The method can include determining a vector dot product associated with each detector window based on the associated group of partial vector dot products, and classifying an image frame portion corresponding with each detector window as an object or non-object based on the vector dot product. Each feature block component can be moved from external memory to internal memory once implementing the exemplary object detection method.


