Software for Teaching and Learning

Object Recognition via 2D FFT

The FFT has many uses for filtering and image enhancement. However, this demo focuses on object recognition. The magnitude of the FFT is invariant to translation. This is beneficial for object recognition because it eliminates the search that is associated with correlation-based methods.

The magnitude of the spectrum of 'Object 1' and 'Object 2' (shown below) is displayed and a classification image (bottom) shows sectors of the frequency plane that have been classified based on the spectrum with more energy. Energy for each sector is computed via numerical integration in the 2-D Fourier plane.

Images of two objects.

Magnitude of spectra of the objects, computed via 2D FFT. Target pattern indicates regions used for object recognition.

Sectors in the Fourier plane. The object containing the most energy in a given sector is indicated by the red & blue coloring.

Rotational invariance can be achieved using this type of approach by eliminating the angular sectors and integrating the energy throughout each of the rings.

The demonstration program permits the spacing of the rings and the number of angular sectors to be adjusted.The assignment to each sector is displayed (as above, via the red and blue regions). The demo also computes the percentage difference in the energy of a given ring, to indicate the distinctiveness provided.

Download Object Recognition Demonstration

 

Learning Objectives

The following learning objectives are associated with the above demonstration, with supporting lecture and possible programming assignment.

Computing a 2-D FFT, using a 1-D FFT.
Centering a 2-D FFT and computing its magnitude.
Computing features, for an object description.
Identifying invariance of features (w/rt translation and rotation).
Computing an integral numerically, across a 2-D plane.