Complexity-Aware Gabor Filter Bank Architecture Using Principal Component Analysis
A Gabor filter quantifies signal characteristics with the optimal resolution in both time and frequency domains, and it has been widely used in image processing and computer vision applications since the extracted features which mimic human vision to provide good capability for differentiation. We usually require many Gabor filters to extract multi-scale and multi-orientation features; and hence, it introduces heavy computational load. Based on Algorithm/Architecture Co-exploration (AAC), this paper proposes a computationally efficient method of Gabor filter bank through Principal Component Analysis (PCA) analysis and low rank approximation. PCA projects filter coefficients onto a more symmetric vector space, then, the computation load is reduced by sharing coefficients; on the other hand, while trading off between algorithmic accuracy and computational efficiency, low rank approximation approximates Gabor filter bank to reduce computational load via removing less important components measured by PCA. Furthermore, we also propose an efficient approximation evaluation method to measure potential loss in trading off algorithmic performance and computational load; hence, designers can adaptively select various approximation levels based on requirements. In a case study, we used Gabor filter bank to evaluate the proposed method, and we used AAC design paradigm for entire design flow. Experimental results showed that proposed method, which reduces ∼78.5% multiplications and ∼75.1% additions as compared to conventional approach, has the lowest complexity and the fastest computational speed in comparison with related works; furthermore, while deploying low rank approximation, the proposed method reduced ∼26% multiplications and ∼18% additions in comparison with the proposed method without approximation and it achieved comparative algorithmic performance.