arrayfire / arrayfire/arrayfire

Add feature for 2D + 3D convolution with gaussian derivative kernels

Open
#542 1 comment 0 reactions 0 assignees View on GitHub
feature
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.