Parallel SIFT Image Processing via Difference Convolution Functions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The conventional SIFT algorithm is not suitable for parallel processing due to its sequential nature, which limits its computational efficiency in identifying scale-invariant features in images.
Innovation Solution
The algorithm is reformulated to allow parallel processing by calculating difference convolution functions and convolving them with the original image, enabling the use of hardware implementation and repeated use of blurring convolution functions for different images, thereby increasing calculation speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If the conventional SIFT algorithm is implemented using sequential processors, then the algorithm can be executed step-by-step as designed, but the calculation speed is limited and computational efficiency is low
Solution Approach 1:
The patent segments the SIFT algorithm into independent parallel processing components. Specifically, it divides the image processing into multiple scales and orientations that can be processed simultaneously, with each scale level handling specific frequency components. This segmentation allows the algorithm to be executed in parallel rather than sequentially, directly resolving the contradiction between speed and structural complexity.
Solution Approach 2:
The patent introduces a new dimensional approach by organizing computations across multiple scales and orientations as independent dimensions. Instead of processing scales sequentially (time dimension), the invention processes multiple scales simultaneously (spatial dimension), transforming the algorithm from a sequential time-based execution to a parallel spatial-based execution model.
2Productivity
If the conventional SIFT algorithm is reformulated for parallel processing, then calculation speed increases and hardware implementation becomes feasible, but the algorithm structure becomes more complex
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing convolution kernels for different scales and orientations before the main processing begins. These pre-computed kernels are then reused across multiple images and processing stages, eliminating the need for repeated calculations and simplifying the parallel processing structure while maintaining high computational efficiency.
Solution Approach 2:
The patent creates universal processing components that can handle multiple functions. The same parallel processing architecture and convolution operations are used across different scales, orientations, and even different images, allowing a single hardware implementation to serve multiple purposes and reducing overall system complexity despite the parallel formulation.
3Measurement precision
If blurring convolution functions are calculated repeatedly for each image, then accuracy is maintained, but computational time increases significantly
Solution Approach 1:
The patent pre-calculates the blurring convolution functions (Gaussian kernels) at various scales and stores them for reuse. Instead of recalculating these functions for each new image, the pre-computed kernels are applied directly, maintaining processing accuracy while dramatically reducing computational time. This is particularly effective in the parallel implementation where the same kernels are applied across multiple scales simultaneously.
Solution Approach 2:
The patent creates copies of the convolution kernels for different scales and orientations, storing these copies in memory for rapid access. Rather than regenerating the mathematical functions each time, the system uses pre-generated kernel copies that can be efficiently applied to different images and processing stages, preserving accuracy while minimizing time loss.
Data Source
AI summary
The present invention relates to the parallel calculation of convoluted data. In particular, the invention relates to Gaussian pyramid construction and parallel processing of image data, such as parallel calculation of repeatedly convoluted data for use in a SIFT algorithm. This is achieved by providing a method for obtaining a plurality of difference images from an original image defined by a plurality of pixels, said method comprising: Providing a plurality of blurring convolution functions, each of said blurring functions providing increasing degree of blurring of an original image upon convolution of said original image; establishing a plurality of difference convolution functions, Dif, by calculating the difference between two of said blurring convolution functions, each of said two blurring convolution functions providing different degrees of blurring of an original image upon convolution of said original image; and calculating a plurality of difference images from said original image, by convolving each of said difference convolution functions, Dif, with said original image to obtain difference images.


