I think this mainly depends on the convolutional kernel size. When the kernel size is small, for example can be treated as a constant, then convolution will be faster. Otherwise, when the kernel size is comparable to the full image size, multiplication in the frequency domain will be faster.
Staffjamesfobrien
The kernel being separable or not also is an important factor.
saltyminty
I think yzliu is correct – the convolution in spatial domain depends on the kernel size, but multiplication in the frequency domain can be treated as constant (frequency goes up to 0.5). Not sure if its actually constant or if it scales inversely; earlier in lecture, we saw how a wider box filter corresponds to smaller (area? box? what's the word) in the frequency domain; we could potentially be able to save on computation if we're able to effectively ignore large chunks of the frequency domain.
I think this mainly depends on the convolutional kernel size. When the kernel size is small, for example can be treated as a constant, then convolution will be faster. Otherwise, when the kernel size is comparable to the full image size, multiplication in the frequency domain will be faster.
The kernel being separable or not also is an important factor.
I think yzliu is correct – the convolution in spatial domain depends on the kernel size, but multiplication in the frequency domain can be treated as constant (frequency goes up to 0.5). Not sure if its actually constant or if it scales inversely; earlier in lecture, we saw how a wider box filter corresponds to smaller (area? box? what's the word) in the frequency domain; we could potentially be able to save on computation if we're able to effectively ignore large chunks of the frequency domain.