{'fraction_non_alphanumeric': 0.012726054922973878, 'fraction_numerical': 0.003348961821835231, 'mean_word_length': 5.467532467532467, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Fast 2D Complex Gabor Filter With Kernel Decomposition

2D complex Gabor filtering has found numerous applications in the fields of computer vision and image processing. Especially, in some applications, it is often needed to compute 2D complex Gabor filter bank consisting of filtering outputs at multiple orientations and frequencies. Although several approaches for fast Gabor filtering have been proposed, they focus primarily on reducing the runtime for performing filtering once at specific orientation and frequency. To obtain the Gabor filter bank, the existing methods are repeatedly applied with respect to multiple orientations and frequencies. In this paper, we propose a novel approach that efficiently computes the 2D complex Gabor filter bank by reducing the computational redundancy that arises when performing filtering at multiple orientations and frequencies. The proposed method first decomposes the Gabor kernel to allow a fast convolution with the Gaussian kernel in a separable manner. This enables reducing the runtime of the Gabor filter bank by reusing intermediate results computed at a specific orientation. By extending this idea, we also propose a fast approach for 2D localized sliding discrete Fourier transform that uses the Gaussian kernel in order to lend spatial localization ability as in the Gabor filter. Experimental results demonstrate that the proposed method runs faster than the state-of-the-art methods, while maintaining similar filtering quality.