» Used Techniques

Some of the techniques listed here have been proposed in the Real-Time Computerized Annotation of Pictures document. We will briefly list some that we used in our application:
- » We try to find the signature of an image, which is composed from two discrete distributions
, where v(j) is the mean vector and p(j) is the probability associated with the feature. - » The first discrete distribution is the color segmentation of the image, which is done in the LUV color space, because it provides better results than RGB. So the first step is to convert all the pixels from RGB to LUV (with the XYZ color space as an intermediary). After that, the color histogram of the image is computed and a fuzzy k-means clustering algorithm is applied to it, resulting a variable number of clusters.
- » The second discrete distribution is the texture segmentation of the image, which is done by applying a Daubechies-4 wavelet transformation to the L component (intensity) of each LUV color vector. After the image is decomposed in four frequency bands (LL, LH, HL, HH), we group the LH, HL and HH band wavelet coefficients corresponding to the same spacial position into 3D vectors. We again compute the histogram and apply the fuzzy k-means clustering algorithm, thus resulting the second color distribution.
- » To find the similarity between two images, we compute the Mallows distance between the corresponding color and texture distributions. The Mallows distance is defined by
, where || . || in our case is the Eucledian distance between two 3D vectors, X and Y are two discrete distributions and
is the the set of joint distributions over X and Y. The Mallows distance is computed by solving the Monge-Kantorovich transportation problem. - » After computing the Mallows distance for both the color and texture segmentations, we will define the distance between the signatures of two images by
. - » At the moment, when the user enters a photo and searches the database, it first computes the signature of the photo and them calculates the distance between the seached photo and each image in the database. If this distance is below a threshold, it is marked as a valid result. (Please see "Future work" for ideas on how the performance of the application can be improved)
- » At the moment, the database is stored as a XML file and the signatures are serialized.

