METHOD FOR ACCELERATING A CDVS EXTRACTION PROCESS BASED ON A GPGPU PLATFORM
First Claim
1. A method for accelerating a Compact Descriptors for Visual Search (CDVS) extraction process based on a General-Purpose Computing on Graphics Processing Units (GPGPU) platform, comprising successive steps of:
- Step 1;
partitioning Central Processing Unit (CPU) computing tasks and Graphics Processing Units (GPU) computing tasks by assigning a feature detection stage and a local descriptor computation stage in a CDVS extraction process to a GPU and assigning a feature selection stage, a global descriptor aggregation stage, a local descriptor compression stage, and a coordinate coding stage left in the CDVS extraction process to a CPU;
wherein the feature detection stage includes sub-procedures including a Gaussian convolution sub-procedure, a Laplacian convolution sub-procedure, a polynomial coefficient computation sub-procedure, a response value computation sub-procedure, and a detection sub-procedure;
wherein the local descriptor computation stage include sub-procedures including a gradient computation sub-procedure, a primary orientation assignment sub-procedure, and a descriptor computation sub-procedure; and
obtaining source kernel programs for operation logics of the sub-procedures assigned to the GPU to further obtain GPU executable program objects;
Step 2;
reconstructing an image scale-space pyramid storage model to transform an inter-octave discontinuous storage model into an inter-octave continuous storage model, so as to first complete inter-pixel parallelizable procedures or sub-procedures at all octaves of a pyramid and then uniformly compute inter-feature point parallelizable sub-procedures;
wherein the inter-pixel parallelizable procedures or sub-procedures include the feature detection stage and the gradient computation sub-procedure of the local descriptor computation stage; and
wherein the inter-feature point parallelizable sub-procedures include the primary orientation assignment sub-procedure and the descriptor computation sub-procedure of the local descriptor computation stage;
Step 3;
specifying parallelism strategies for the respective sub-procedures assigned to the GPU using a two-dimensional work-group partition and a one-dimensional work-group partition, respectively;
wherein the respective sub-procedures assigned to the GPU include the Gaussian convolution sub-procedure, the Laplacian convolution sub-procedure, the polynomial coefficient computation sub-procedure, the response value computation sub-procedure, and the detection sub-procedure of the feature detection stage and the gradient computation sub-procedure, the primary orientation assignment sub-procedure, and the descriptor computation sub-procedure of the local descriptor computation stage;
Step 4;
applying local memory, wherein during the descriptor computation sub-procedure of the local descriptor computation stage, feature points in a one-dimensional work-group of a present sub-procedure are assigned a storage space in the local memory, such that during the descriptor computation sub-procedure, all updates occur in the assigned storage space in the local memory; and
updating a global memory using descriptor data in the local memory after completing the descriptor computation sub-procedure; and
thereby realizing acceleration of the CDVS extraction process.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the present disclosure provide a method for accelerating CDVS extraction process based on a GPGPU platform, wherein for the stages of feature detection and local descriptor computation of the CDVS extraction process, operation logics and parallelism strategies of respective inter-pixel parallelism sub-procedures and respective inter-feature point parallelism sub-procedures are implemented by leveraging an OpenCL general-purpose parallelism programming framework, and acceleration is achieved by leveraging a GPU'"'"'s parallelism computation capability; including: partitioning computing tasks for a GPU and a CPU; reconstructing an image scale pyramid storage model; assigning parallelism strategies to respective sub-procedures for the GPU; and applying local memory to mitigate the access bottleneck. The technical solution of the present disclosure may accelerate the CDVS extraction process and significantly enhances the extraction performance.
-
Citations
9 Claims
-
1. A method for accelerating a Compact Descriptors for Visual Search (CDVS) extraction process based on a General-Purpose Computing on Graphics Processing Units (GPGPU) platform, comprising successive steps of:
-
Step 1;
partitioning Central Processing Unit (CPU) computing tasks and Graphics Processing Units (GPU) computing tasks by assigning a feature detection stage and a local descriptor computation stage in a CDVS extraction process to a GPU and assigning a feature selection stage, a global descriptor aggregation stage, a local descriptor compression stage, and a coordinate coding stage left in the CDVS extraction process to a CPU;
wherein the feature detection stage includes sub-procedures including a Gaussian convolution sub-procedure, a Laplacian convolution sub-procedure, a polynomial coefficient computation sub-procedure, a response value computation sub-procedure, and a detection sub-procedure;
wherein the local descriptor computation stage include sub-procedures including a gradient computation sub-procedure, a primary orientation assignment sub-procedure, and a descriptor computation sub-procedure; andobtaining source kernel programs for operation logics of the sub-procedures assigned to the GPU to further obtain GPU executable program objects; Step 2;
reconstructing an image scale-space pyramid storage model to transform an inter-octave discontinuous storage model into an inter-octave continuous storage model, so as to first complete inter-pixel parallelizable procedures or sub-procedures at all octaves of a pyramid and then uniformly compute inter-feature point parallelizable sub-procedures;
wherein the inter-pixel parallelizable procedures or sub-procedures include the feature detection stage and the gradient computation sub-procedure of the local descriptor computation stage; and
wherein the inter-feature point parallelizable sub-procedures include the primary orientation assignment sub-procedure and the descriptor computation sub-procedure of the local descriptor computation stage;Step 3;
specifying parallelism strategies for the respective sub-procedures assigned to the GPU using a two-dimensional work-group partition and a one-dimensional work-group partition, respectively;
wherein the respective sub-procedures assigned to the GPU include the Gaussian convolution sub-procedure, the Laplacian convolution sub-procedure, the polynomial coefficient computation sub-procedure, the response value computation sub-procedure, and the detection sub-procedure of the feature detection stage and the gradient computation sub-procedure, the primary orientation assignment sub-procedure, and the descriptor computation sub-procedure of the local descriptor computation stage;Step 4;
applying local memory, wherein during the descriptor computation sub-procedure of the local descriptor computation stage, feature points in a one-dimensional work-group of a present sub-procedure are assigned a storage space in the local memory, such that during the descriptor computation sub-procedure, all updates occur in the assigned storage space in the local memory; and
updating a global memory using descriptor data in the local memory after completing the descriptor computation sub-procedure; andthereby realizing acceleration of the CDVS extraction process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
Specification