arrayfire / arrayfire/arrayfire
Add feature for 2D + 3D convolution with gaussian derivative kernels
- Dominant language
- C++
- Stars
- 4.9k
- Forks
- 555
- Avg merge
- 1h 24m
- Merged PRs (30d)
- 1
Description
Convolution with gaussian and gaussian derivative (upto order 3) kernels are probably one of the most common convolution operations done in computer vision and image analysis. This operation is the foundation of many feature detectors (one of the popular ones being SIFT).
The gaussian kernel is also separable meaning you could apply it along x-dimension first, then y-dimension, then z-dimension and so on.
A strategy that does the convolution in space for super small dimensions, switches to separable version for slightly larger kernels, and finally to the FFT for much large kernels would be great. A bit of benchmarking could help decide when to switch from one form to the other and i guess finding the sweet spot also depends on the target GPU device.
Contributor guide
Assessment
This issue has not been assessed yet.