This project classifies objects in a set of images using a feature detector and descriptor. All images are compared and images with similar regions are identified and grouped. The whole process is implemented and calculated in the browser using only JavaScript and the HTML5 canvas API.
In order to compare similar regions of images, first, points of interests in the images have to be determined. The Harris Corner Detector is implemented. It extracts corner points of objects in images by finding a variation of the image's gradients. Following is the processing of the POI using a SIFT descriptor, which creates a histogram of the 8x8 region around each POI. The histogram is fed with the angles of the gradients in the region. By binning these angles to a histogram with the width of 18, each POI is described with a 18-dimensional feature vector. With the help of k-means++, the feature vectors are clustered so that similar POI can be identified. Finally, the classification is performed by the probabilistic classifier Naive Bayes.
The object classifier calculates and displays a confusion matrix, indicating the correctness of the approach. Using quite a simple image set an overall correct rate of 159 and an error rate of 91 is achieved.