![]() |
ETRI IVCL 1.0.0
Acceleration SW Platform for Ondevice
|
Classes | |
| struct | Feature |
| Detected features. More... | |
Macros | |
| #define | SIFT_IMG_BORDER 5 |
| #define | SIFT_MAX_INTERP_STEPS 5 |
| #define | SIFT_ORI_HIST_BINS 36 |
| #define | SIFT_ORI_SIG_FCTR 1.5f |
| #define | SIFT_ORI_RADIUS 3.f * SIFT_ORI_SIG_FCTR |
| #define | SIFT_ORI_SMOOTH_PASSES 2 |
| #define | SIFT_ORI_PEAK_RATIO 0.8f |
| #define | SIFT_DESCR_SCL_FCTR 3.f |
| #define | SIFT_DESCR_MAG_THR 0.2f |
| #define | SIFT_INT_DESCR_FCTR 512.f |
| #define | CV_PI 3.1415926535897932384626433832795f |
| #define | CV_2PI 6.283185307179586476925286766559f |
Functions | |
| void | ocl_ludcmp (float *varam_a, int *varam_indx) |
| void | ocl_lubksb (float *varam_a, const int *varam_indx, float *varam_b) |
| void | ocl_LUvar_solve (float *varam_a, float *varam_x, float *varam_b) |
| void | ocl_derivative (__global float *dog, int dog_width, int r, int c, float *dD) |
| void | ocl_hessian (__global float *prev_dog, __global float *dog, __global float *next_dog, int dog_width, int r, int c, float *H) |
| bool | __isExtremum (__global float *prev_dog, __global float *dog, __global float *next_dog, int dog_width, int r, int c) |
| bool | __interpExtremum (__global float *prev_dog, __global float *dog, __global float *next_dog, int dog_width, int dog_height, struct Feature *feat, int idx, int r, int c, int intervals, float contrast_thres, int curvature_thres) |
| __kernel void | scaleSpaceExtremaKernel (__global float *prev_dog, __global float *dog, __global float *next_dog, int dog_width, int dog_height, int idx, int intervals, float contrast_thres, int curvature_thres, __global struct Feature *feats, float prelim_contrast_thres, volatile __global int *atomic_cnt) |
| void | ocl_oriHist (__global float *gaussian, int width, int height, float *hist, int r, int c, int rad, float sigma) |
| __kernel void | calcFeatureOrisKernel (__global struct Feature *feats, __global float *gaussian_pyramid, __global int *gauss_size_accum, __global int *gauss_width, __global int *gauss_height, int layer_per_octave) |
| void | ocl_descriptorHist (__global float *gauss_data, int gauss_width, int gauss_height, float *hist, int r, int c, float ori, float scl, int d, int n) |
| void | ocl_normalizeDescriptor (float *descriptor, int cnt) |
| void | ocl_hist2Descriptor (float *hist, __global struct Feature *feat, int d, int n) |
| __kernel void | computeDescriptor (__global struct Feature *feats, __global float *gaussian_pyramid, __global int *gauss_size_accum, __global int *gauss_width, __global int *gauss_height, int layer_per_octave, int d, int n) |
| #define CV_2PI 6.283185307179586476925286766559f |
| #define CV_PI 3.1415926535897932384626433832795f |
| #define SIFT_DESCR_MAG_THR 0.2f |
| #define SIFT_DESCR_SCL_FCTR 3.f |
| #define SIFT_IMG_BORDER 5 |
| #define SIFT_INT_DESCR_FCTR 512.f |
| #define SIFT_MAX_INTERP_STEPS 5 |
| #define SIFT_ORI_HIST_BINS 36 |
| #define SIFT_ORI_PEAK_RATIO 0.8f |
| #define SIFT_ORI_RADIUS 3.f * SIFT_ORI_SIG_FCTR |
| #define SIFT_ORI_SIG_FCTR 1.5f |
| #define SIFT_ORI_SMOOTH_PASSES 2 |
| bool __interpExtremum | ( | __global float * | prev_dog, |
| __global float * | dog, | ||
| __global float * | next_dog, | ||
| int | dog_width, | ||
| int | dog_height, | ||
| struct Feature * | feat, | ||
| int | idx, | ||
| int | r, | ||
| int | c, | ||
| int | intervals, | ||
| float | contrast_thres, | ||
| int | curvature_thres | ||
| ) |
Interpolates a scale-space extremum's location
| prev_dog | previous Dog image |
| dog | current Dog image |
| next_dog | next Dog image |
| dog_width | width of current Dog image |
| dog_height | height of current Dog image |
| feat | returned feature |
| idx | index of intervals |
| r | pixel's image row |
| c | pixel's image col |
| intervals | number of intervals per octave |
| contrast_thres | low threshold on feature contrast |
| curvature_thres | threshold on feature curvature |
| bool __isExtremum | ( | __global float * | prev_dog, |
| __global float * | dog, | ||
| __global float * | next_dog, | ||
| int | dog_width, | ||
| int | r, | ||
| int | c | ||
| ) |
Determines whether a pixel is a scale-space extremum
| prev_dog | previous Dog image |
| dog | current Dog image |
| next_dog | next Dog image |
| dog_width | width of current Dog image |
| r | pixel's image row |
| c | pixel's image col |
| __kernel void calcFeatureOrisKernel | ( | __global struct Feature * | feats, |
| __global float * | gaussian_pyramid, | ||
| __global int * | gauss_size_accum, | ||
| __global int * | gauss_width, | ||
| __global int * | gauss_height, | ||
| int | layer_per_octave | ||
| ) |
Computes a canonical orientation for each image feature
| feats | feature vector |
| gaussian_pyramid | gaussian pyramid |
| gauss_size_accum | gaussian accumulated total size OpenCL buffer |
| gauss_width | gaussian width OpenCL buffer |
| gauss_height | gaussian height OpenCL buffer |
| layer_per_octave | number of layers per octave |
| __kernel void computeDescriptor | ( | __global struct Feature * | feats, |
| __global float * | gaussian_pyramid, | ||
| __global int * | gauss_size_accum, | ||
| __global int * | gauss_width, | ||
| __global int * | gauss_height, | ||
| int | layer_per_octave, | ||
| int | d, | ||
| int | n | ||
| ) |
Computes feature descriptors (OpenCL)
| feats | feature vector |
| gaussian_pyramid | Gaussian pyramid |
| gauss_size_accum | gaussian accumulated total size OpenCL buffer |
| gauss_width | gaussian width OpenCL buffer |
| gauss_height | gaussian height OpenCL buffer |
| layer_per_octave | number of layers per octave in Gaussian pyramid |
| d | width of 2d hist |
| n | number of bins for descriptor |
| void ocl_derivative | ( | __global float * | dog, |
| int | dog_width, | ||
| int | r, | ||
| int | c, | ||
| float * | dD | ||
| ) |
Calculate partial derivatives
| dog | Dog pyramid |
| dog_width | width of current Dog image |
| r | pixel's image row |
| c | pixel's image col |
| dD | array of partial derivatives |
| void ocl_descriptorHist | ( | __global float * | gauss_data, |
| int | gauss_width, | ||
| int | gauss_height, | ||
| float * | hist, | ||
| int | r, | ||
| int | c, | ||
| float | ori, | ||
| float | scl, | ||
| int | d, | ||
| int | n | ||
| ) |
Computes the 2D array of orientation histograms
| gauss_data | gaussian image |
| gauss_width | the gaussian image width |
| gauss_height | the gaussian image height |
| hist | returned dxdxn hist vector |
| r | pixel's image row |
| c | pixel's image column |
| ori | orientation |
| scl | scl scale relative to image |
| d | width of 2d hist |
| n | number of bins for descriptor |
| void ocl_hessian | ( | __global float * | prev_dog, |
| __global float * | dog, | ||
| __global float * | next_dog, | ||
| int | dog_width, | ||
| int | r, | ||
| int | c, | ||
| float * | H | ||
| ) |
Calculate 3D Hessian matrix
| prev_dog | previous Dog image |
| dog | current Dog image |
| next_dog | next Dog image |
| dog_width | width of current Dog image |
| dog_height | height of current Dog image |
| r | pixel's image row |
| c | pixel's image col |
| H | array of Hessian matrix |
| void ocl_hist2Descriptor | ( | float * | hist, |
| __global struct Feature * | feat, | ||
| int | d, | ||
| int | n | ||
| ) |
Converts 2d hist into 1d descriptor
| hist | 2d histogram |
| feat | feature point |
| d | width of 2d hist |
| n | number of bins for descriptor |
| void ocl_lubksb | ( | float * | varam_a, |
| const int * | varam_indx, | ||
| float * | varam_b | ||
| ) |
Backsubstitution for LU
| void ocl_ludcmp | ( | float * | varam_a, |
| int * | varam_indx | ||
| ) |
LU decomposition of a matrix
| void ocl_LUvar_solve | ( | float * | varam_a, |
| float * | varam_x, | ||
| float * | varam_b | ||
| ) |
Solve the least-squares solution using LU decomposition
| void ocl_normalizeDescriptor | ( | float * | descriptor, |
| int | cnt | ||
| ) |
Normalize descriptor to length 1
| descriptor | descriptor vector |
| cnt | descriptor size |
| void ocl_oriHist | ( | __global float * | gaussian, |
| int | width, | ||
| int | height, | ||
| float * | hist, | ||
| int | r, | ||
| int | c, | ||
| int | rad, | ||
| float | sigma | ||
| ) |
Compute gradient orientation histogram
| gaussian | gaussian image |
| width | the image width |
| height | the image height |
| hist | returned hist |
| r | pixel's image row |
| c | pixel's image column |
| rad | radius of selected region |
| sigma | sigma for gaussian smoothing |
| __kernel void scaleSpaceExtremaKernel | ( | __global float * | prev_dog, |
| __global float * | dog, | ||
| __global float * | next_dog, | ||
| int | dog_width, | ||
| int | dog_height, | ||
| int | idx, | ||
| int | intervals, | ||
| float | contrast_thres, | ||
| int | curvature_thres, | ||
| __global struct Feature * | feats, | ||
| float | prelim_contrast_thres, | ||
| volatile __global int * | atomic_cnt | ||
| ) |
Detects features at extrema in DoG scale space
| prev_dog | previous Dog image |
| dog | current Dog image |
| next_dog | next Dog image |
| dog_width | width of current Dog image |
| dog_height | height of current Dog image |
| idx | index of intervals |
| intervals | number of intervals per octave |
| contrast_thres | low threshold on feature contrast |
| curvature_thres | high threshold on feature ratio of principal curvatures |
| feats | returned feature vectors |
| prelim_contrast_thres | 0.5f * (float)contrast_thres / intervals |
| atomic_cnt | returned keypoints |