Quaternion Colour Constancy Quaternions and Quaternion Colour Constancy
Quaternions Quaternions … Are a member of hypercomplex numbers Are a generalization of complex numbers Has one real part and three imaginary parts i.e. A RGB colour is represented by a pure quaternion
Quaternions A picture of quaternions Quaternion axes in 4D space Pure quaternion for colour real i Orthogonal in 4D j k i “pure” = zero real part j k
Quaternion PCA QPCA is a generalization of complex PCA QPCA for dimension reduction Similar to PCA for real numbers Quaternion-valued Texture can be described in low dim. space
Quaternion PCA Eg. QPCA For Image Compression Each row of the image is a input variable QPCA on all rows (a) (b) (c) (d) Figure 13: QPCA based image compression. (a) –(d) are the reconstructed images with k(# of basis vectors)=3,16,50,255. Note that (d) is the perfect reconstruction of the original image
QPCA for Texture Feature Extraction Surprisingly, need only the first basis texture element Training Image-specific quaternion texture basis QPCA Sampled sub-windows
Feature Extraction Feature Deduction T Single quaternion 1st QPCA Basis texture element Single quaternion A texture patch
Classification Textures Images based on content By classifying their extracted quaternion features Images based on content By recognizing the class of textures they contain Images based on illumination By identifying the kind of illuminations of textures they contain
Colour Texture Histogram An image contains colour textures Colour Texture Histogram It counts different colour textures Quaternion texture can be used to build colour histogram An extension of colour histogram when each pixel is consider as a texture
Quaternion For Colour Constancy SVR uses colour histograms Colour Histogram Contains colour information only Texture Histogram Contains structural information only Colour Texture Histogram Integrates both colour and structure info A new representation of images Can SVR do better by Colour Texture Histogram?
for Training Set Reduction K-Medians Clustering for Training Set Reduction
Function Estimation Define a function(curve) that minimizes the energy function controlled by all training data points Use this function to estimate new data SVR, TPS
Control Point Reduction Problem Training set too large to fit into memory Long processing time Reduce training set using k-medians Partition n control points into k clusters Keep k medians of these clusters Reduce n control points to k
k-Medians k-medians clustering: Given: N points (x1… xN) in a metric space Find k points C = {c1, c2, …, ck} that minimize Σ d(xi, C) (the assignment distance) In the example above, only 4 control points are needed to define the curve
k-Medians k-medians Median as the best representative for each cluster Less sensitive to outliers k can be determined based on memory and training time requirement