vendredi 15 juillet 2022

Gabor Filter in redCV

The Gabor filter is a linear filter used in a lot of image processing applications for edge detection, texture analysis, feature extraction... A Gabor filter can be considered as a sinusoidal signal of particular frequency and orientation, modulated by a Gaussian wave.The characteristics of certain cells in the visual cortex of mammals can be approximated by these filters. These filters have been shown to possess optimal localization properties in both spatial and frequency domains and thus are perfect for texture segmentation or orientations detection.Gabor filters are special classes of band pass filters, i.e., they allow a certain band of frequencies and reject the others. You'll find here https://medium.com/@anuj_shah/through-the-eyes-of-gabor-filter-17d1fdb3ac97 a really nice documentation about this kind of filter.


When I read this article (Marčelja, S. (1980). "Mathematical description of the responses of simple cortical cells". Journal of the Optical Society of America. 70 (11): 1297–1300),  I was fascinated by what it represented in terms of advances in understanding the functioning of the visual system in humans. Recently, I started to model the development of vision in babies with redCV. The idea is the following: during the first months of life, the baby does not process high frequencies, but only low frequencies. It is only progressively that the processing of high frequencies will take place and in particular with the binocular coordination. What I am trying to do is a neural network that takes into account the development of the baby's visual system during the first year of life. For that I needed to implement a function that simulates this neurological evolution and the Gabor filter seems to be a good candidate. 

This is an example of neonate's perception with an horizontal and vertical Gabor filter.