Image Search Engine Using Image Processing and Neural Network Technique


Introduction
An image searching system was developed by using image processing and neural network technique. Given a single image, the system is able to search out all the images with high similarity from an image database. The detail is described as below.

Image Processing Technique
Before the system was able to search the images, a set of random images will be provided to the system. Histogram approach is used to extract out the image feature information

Neural network Technique
Neural network is like the human brain model. We will use SOM (http://en.wikipedia.org/wiki/Self-organizing_map) typed neural network, which is able to categorize the random images automatically. The image histogram information will be feeded into SOM. After training, the SOM will able to separate out the random images, based on their similarity.

Image Searching
After a well trained SOM has been constructed, the histogram information from the searched image will be extracted out and feeded into SOM. SOM will able to search all the images, with high similarity with the searched image.


Demo on SOM neural network

SOM is able to find out the similarity among a group of random data, and group them together, based on their similarities. To demonstrate this idea, we will use a set of random color. After learning for 1000 iterations, SOM will able to group the similar colors together.

   

Click here for SOM neural network applet demo (Java Runtime Environment 6 is required)
Click here for SOM neural network applet source code
Click here for SOM neural network library documentation


How to search for an image
  1. Download SOMImageGUI-0.01.zip from Download section.
  2. Extract SOMImageGUI-0.01.zip from Download section (For example, C:\Program Files\ in Windows) by using archive tool (In Windows, you may use WinZip. In Linux, you may use the tar command. In Macintosh, Stuffit expander will expand the archive automatically)
  3. You will see a new folder named SOMImageGUI is created (For example, C:\Program Files\SOMImageGUI in Windows)
  4. In Windows, double click the SOMImageGUI.jar in bin folder. (For example, C:\Program Files\SOMImageGUI\SOMImageGUI.jar in Windows) In Linux, you may use the command "java -jar SOMImageGUI.jar"
  5. Add all the images from database folder. (For example, C:\Program Files\SOMImageGUI\images\train in Windows)
  6. Train SOM. 
  7. Search for an image from test folder. (For example, C:\Program Files\SOMImageGUI\images\test in Windows)
  8. The result will be shown in "matched images". All the matched images will look very similar to the searched image.


Download

Click here for SOMImageGUI binary and source code
Click here for SOMImageGUI design state diagram


System requirement

The following platform which is installed with Java 6 Runtime Environment, SE v1.6.0 or above will be supported. It can be downloaded from http://www.java.com/en/download/manual.jsp

Windows    
Number Recognition had been tested in Windows XP and no bugs have been discovered so far at the time being written.

Linux    
Number Recognition had been tested in Ubuntu 6.06 and no bugs have been discovered so far at the time being written.

Macintosh (Apple Mac OS X and Apple Mac OS 9 & earlier)
Not tested.

Solaris(TM)SPARC(TM) (32-bit)
Not tested.


Created by on 25 February 2007