1
$\begingroup$

I am working with textures in an image. I have implemented algorithms to calculate the skewness and kurtosis in an image histogram. Great, delighted with that. I am using RGB as my color model. I know the equations and I understand what they and the algorithms are doing in code. But I have no idea what they actually represent in terms of visually in the image.

If I am wrong, please correct me but I would expect the mean to be some shade of blue. The standard deviation to be deviations of the mean, so like the greens and reds in the image would start to come in to the mix.

But what would skewness and kurtosis represent? My guess for skewness would be the more intense colours like the yellows and the reds as they would be to the far right of the mean. But as for kurtosis, I am stumped.

Alternatively, my understanding of the whole thing could be incorrect and I may be making no sense here what so ever. If so, point me in the right direction. I am aware this is not a 'programming' question but needless to say, help is required. I am asking here because

a) I would imagine there to be many people who have experience working with images in various programming languages.

b) I have already tried signal processing community. It was good, I understand that skewness is based around symmetric of the histogram as a result of posting there. And that Kurtosis is a high or low peak from the mean. But still, in visual terms. I don't quite understand.

enter image description here

$\endgroup$
1
$\begingroup$

Generally speaking, when working with the RGB color model you will want to consider separate histograms for each color channel. The relevant visual concepts that pertain to colors that result from skewed distributions in individual channels correspond to the image manipulation terms 'color balance' and 'tint.' You can easily explore these by manipulating channel curves in an editor like GIMP or Photoshop.

$\endgroup$
1
$\begingroup$

To calculate descriptive statistics (such as Mean, Variance, skewness, Kurtosis, etc) for an image, first you need to get the histogram of the image. In case you image is not gray-scale, you need to work on all 3 different channels (R,G,B) separately. Say you have the histogram of your image in a channel, you have calculated the Skewness and Kurtosis, and now you want to analyze the results. Here is what they mean:

  1. Skewness: is a measure of (lack of) symmetry [1]. For instance, if the skewness is negative, the histogram is negatively skewed. That means its left tail is longer or fatter than its right one (wiki:skewness). Therefore, the frequency over the darker intensities (closer to zero) is wider spread (less concentrated, but not necessarily less frequent than the right tail!). The positive skewness is the opposite.
  2. Kurtosis: is best described in [2]:

is the average (or expected value) of the standardized data raised to the fourth power. Any standardized values that are less than 1 (i.e., data within one standard deviation of the mean, where the "peak" would be), contribute virtually nothing to kurtosis, since raising a number that is less than 1 to the fourth power makes it close to zero. The only data values (observed or observable) that contribute to kurtosis in any meaningful way are those outside the region of the peak; i.e., the outliers. Therefore kurtosis measures outliers only; it measures nothing about the "peak."

So, although you might be able to somehow visually interpret skewness in a sense, none of them are meant to be visually interpretable. On the other hand, they are called descriptive statistics and it is so, because they describe the distribution function (the histogram in this case) and not directly the data whose distribution is being studied.

It is worth mentioning that despite their unintuitive numeric values, such parameters are extremely helpful when it comes to working with a large scale (big data) image repositories, for querying images based on their content (i.e. content base image retrieval), data mining on the large-size images, applying machine learning algorithms on real datasets, and the like.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.