Keypoint Descriptor Radius Adjustment for Image Processing Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing image processing pipelines consume significant CPU bandwidth and increase power consumption when executing image processing algorithms, necessitating the implementation of hardware components separate from the CPU to perform image processing tasks efficiently.
Innovation Solution
The implementation of a sub-pixel refiner circuit and a keypoint descriptor generator circuit that perform sub-scale refinement and sample pattern radius adjustment to generate keypoint descriptors, reducing the need for interpolation at non-integer scales and lowering the storage requirements for image pyramids by excluding lower scales, thereby optimizing resource usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If hardware components are implemented separate from CPU to perform image processing, then processing efficiency and power consumption are improved, but device complexity increases
Solution Approach 1:
The image processing system is divided into separate functional hardware components: a sub-pixel refiner circuit for keypoint location refinement and a keypoint descriptor generator circuit for descriptor computation. This segmentation allows each component to be optimized independently and reduces the processing burden on the CPU, thereby improving overall processing efficiency while maintaining manageable complexity through modular design.
2Measurement precision
If sub-scale refinement is performed using interpolation, then keypoint location accuracy is improved, but processing time and computational resources increase
Solution Approach 1:
The system pre-computes and stores image pyramids with multiple scales before keypoint detection. During processing, the sub-pixel refiner circuit uses interpolation on pre-existing response map pixel values from the image pyramid to perform sub-scale refinement. This preliminary preparation eliminates the need for time-consuming real-time interpolation calculations, improving keypoint location accuracy while minimizing processing time overhead.
Solution Approach 2:
The system creates copies of the image at multiple scales (image pyramid) and uses response map pixel values from these copies for interpolation-based refinement. By working with pre-generated scaled copies rather than performing complex real-time transformations, the system achieves accurate sub-pixel keypoint localization without significant time penalty.
3Adaptability or versatility
If lower scale image data is stored for comprehensive processing, then processing completeness is improved, but storage requirements increase
Solution Approach 1:
The system extracts and stores only the response map pixel values at different scales from the image pyramid, rather than storing the complete lower-scale image data. The sub-pixel refiner circuit uses these extracted response values for interpolation-based keypoint refinement. This extraction approach maintains processing completeness for keypoint detection while significantly reducing storage requirements by discarding redundant lower-scale image information.
Data Source
AI summary
Embodiments relate to generating keypoint descriptors of the keypoints using a sub-scale refinement and a sample pattern radius adjustment. An apparatus includes a sub-pixel refiner circuit and a keypoint descriptor generator circuit. The sub-pixel refiner circuit determines a keypoint scale value for a scale dimension of a keypoint in an image pyramid by performing an interpolation of response map (RM) pixel values of a pixel block of RM images defined around the keypoint. The keypoint descriptor generator circuit determines sample scales of the image pyramid based on the keypoint scale value and determines a radius value for each sample scale based on the keypoint scale value. The keypoint descriptor generator circuit samples patches of pixel values at the sample scales using the radius value for each sample scale to generate a keypoint descriptor of the keypoint.


