Texture based Object Detection using Wavelets
All Rights Reserved.


Applications: Object detection and inspection for biological/microscopy samples, materials/substrates, food, defense, textiles, etc.
Problem: Given an image of two or more different types of possibly amorphous objects which appear in an image with unique textures, automatically identify the objects based upon their textures.
Solution: An algorithm that identifies (i.e. classifies) the different textures for small areas of the image.  The resulting classification image can be used to identify (i.e. segment) the objects.

Method
Wavelets

Results:

Experiment: Two types of fine-texture images were obtained from the  MIT VisTex database:  one of fabric and the other of metal.  Test and training images were created by embedding circles of one texture into the the background of the other (see below).  Wavelet statistics were created for every 33x33 pixel window centered around every pixel.  An efficient algorithm was created that could create the statistics for a 800x400 image in approximately 10 seconds (versus the 30 minutes it originally took).  A Support Vector Machine with an RBF kernel as well as a Backpropagation (i.e. MLP) Neural Net was trained with similar test performance.  

The image above has four circles (one in each quadrant of the image) of the same size and of the same texture embedded in a background of a different texture.  The top ones are marked for clarification.  Can you see the bottom ones?      Classifier Result: overlaid on original image.
Green

Correct classified circle texture

Blue

Correct classified background texture

Yellow

Misclassified circle texture

Red 

Misclassified background texture

Gray

Unprocessed image edge area

 

 

Method:

On the left is an image with two different textures corresponding to an object of interest embedded in a background of different texture.  This image is decomposed into small regions and each region is fed into a texture classifier (middle), which has previously "learned" to discriminate between the two textures.  This produces a texture classification map (right) which can be processed to identify the object. 

Wavelets:

Wavelet filters: There are many different wavelet filters and many different ways of using them to obtain various wavelet transforms.  The above show a particular set of Vertical, Horizontal, and Diagonal wavelets.

An image with multiple textures. The discrete wavelet transform (DWT) computed on the image using the above wavelets. Layout of DWT.  Levels correspond to texture scales and orientation of subbands to texture orientation.

An Introduction To Wavelets