Extracting Image Geometric Features Using Geometric Moment Invariants

Resource Overview

Geometric Moment Invariants for Image Feature Extraction with MATLAB Implementation

Detailed Documentation

Geometric moment invariants are mathematical tools used to describe image geometric features, particularly suitable for content-based image retrieval tasks. By calculating geometric moment invariants of an image, we can extract feature vectors that remain invariant to transformations such as translation, rotation, and scaling, thereby enhancing the robustness of image retrieval systems.

The implementation of geometric moment extraction in MATLAB typically follows these key steps: First, preprocess the input image through operations like grayscale conversion and binarization. Then compute moment characteristics including spatial moments, central moments, and normalized central moments using functions like regionprops() or custom moment calculation algorithms. Finally, utilize these moments to compute the 7 Hu invariant moments, which serve as the image's feature vector. The Hu moments calculation involves combining normalized central moments through specific mathematical formulas to achieve transformation invariance.

The 7 Hu invariant moments possess distinct geometric meanings, capable of describing an image's overall shape, distribution characteristics, and symmetry properties. Due to their invariance to geometric transformations, Hu moments are particularly suitable for image matching and retrieval applications. In practical implementations, content-based image retrieval can be achieved by comparing Hu moment feature vectors of different images using distance metrics like Euclidean distance or cosine similarity.

This method features straightforward computation and stable characteristics, making it highly effective for image retrieval tasks where shape features are prominent. However, its performance might be limited for texture-rich images where shape information is less dominant. The algorithm's efficiency can be optimized through vectorized operations in MATLAB, and the invmoments() function from the Image Processing Toolbox provides a convenient implementation approach.