×

Method for accelerating a CDVS extraction process based on a GPGPU platform

  • US 10,643,299 B2
  • Filed: 12/05/2016
  • Issued: 05/05/2020
  • Est. Priority Date: 06/28/2016
  • Status: Active Grant
First Claim
Patent Images

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 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.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×