A COSFIRE filter is automatically configured to be selective for a local contour pattern specified by a single example. The configuration comprises selecting given channels of a bank of Gabor filters and determining certain blur and shift parameters. Gabor filters are, however, not intrinsic to the method and any other orientation-selective filters can be used. A COSFIRE filter response is computed as the weighted geometric mean of the blurred and shifted responses of the selected Gabor filters. It shares similar properties with some shape-selective neurons in visual cortex, which provided inspiration for this work.
In our publication, which is given below, we demonstrated the effectiveness of the proposed filters in three applications: the detection of retinal vascular bifurcations (DRIVE data set: 98.50% recall, 96.09% precision), the recognition of handwritten digits (MNIST data set: 99.48% correct classification),
and the detection and recognition of traffic signs in complex scenes (100% recall and precision).
COSFIRE filters are conceptually simple and easy to implement. They are versatile keypoint detectors and are highly effective in practical computer vision applications.
You are kindly invited to use this Matlab implementation and cite the following article:
George Azzopardi and Nicolai Petkov, "Trainable COSFIRE filters for keypoint detection and pattern recognition", IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 35(2), pp. 490-503, 2013.
George Azzopardi (2021). Trainable COSFIRE filters for keypoint detection and pattern recognition (https://www.mathworks.com/matlabcentral/fileexchange/37395-trainable-cosfire-filters-for-keypoint-detection-and-pattern-recognition), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Inspired: Gender recognition from face images with trainable COSFIRE filters, Genetic algorithm-based optimization for COSFIRE filters with application to object recognition, Trainable COSFIRE filters for curvilinear structure delineation in images
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!