Fextract: Flowchart For Dataset Generation Process

You might also like

Download as rtf, pdf, or txt
Download as rtf, pdf, or txt
You are on page 1of 5

Flowchart for Dataset Generation Process

Fextract
This function extracts 23 features from the embedded image and stores into x matrix and t vector. The x

matrix and t vector work as input to the ANN during analysis of an image. The fextract function extracts

these 23 features by calculating the Red, Green and Blue components of the images, converts image into

grayscale image and calculates Mean, Min and Max of the grayscale, calculates the HSV and energy

components, Standard Deviation, Entropy, Histogram, ALE and Binary Similarity Measures.

The dataset generation process depends on the number of images and text files selected for training the

NN. This current dataset with which the experiment is done took around 180 minutes on an Intel core 5

64-bit, 2.30GHz and 4 GB RAM machine.

Feature Extraction Process

The extraction process is undertaken to extract 23 features from each image. If we use N number of

images in training session than number of features to be fed up in Neural Network will be 23 x N. These

23 features are grouped into 8 groups. All extracted features are stored in variable featureVector.

The MATLAB code works as described below using 8 group features as described in the table

GROUP MEANING OF THE FEATURE IMPLEMENTATION IN MATLAB

FEATURE AND ITS USE


Mean of each An RGB image to store hidden featureVector(1) = mean(rImage(:));

channel from message consists of 3 color featureVector(2) = mean(gImage(:));

featureVector(3) = mean(bImage(:));
RGB image channel - Red (R), Green (G),

and Blue (B). Average of each

channel is calculated and

assigned as 3 features
Mean, Max and Color image is converted to featureVector(4) = mean(grayImage(:));

Min values of grayscale and statistical values featureVector(5) = min(grayImage(:));

featureVector(6) = max(grayImage(:));
grayscale image Mean, Min and Max of
grayscale intensity are taken as

next 3 features
Mean of each HSV color space of an RGB featureVector(7) = mean(hImage(:));

channel from its image can represent the image featureVector(8) = mean(sImage(:));

featureVector(9) = mean(vImage(:));
representation in features and analyze color

HSV color space images. HSV channels can be

accessed and the mean values

are calculated for an RGB

image and saved as next 3

features
Energy values of Energy of image can be featureVector(10) = rEnergy;

R, G, and B calculated as mean of sum of featureVector(11) = gEnergy;

featureVector(12) = bEnergy;
channels of the squared color component of an
WHERE x represents R,G,B energy channels
RGB image image for each of the RGB
xEnergy = xImage.^2;
channel as scalar values and
xEnergy = mean(xEnergy(:));
saved as next 3 features
Standard Standard deviation is used in featureVector(13) = std2(rImage);

Deviation of each the experiment to quantify the featureVector(14) = std2(gImage);

featureVector(15) = std2(bImage);
channel of the amount of variation or

RGB image dispersion of image and saved

as next 3 features
Entropy of Entropy is a statistical measure featureVector(16) = entropy(grayImage);

grayscale image of randomness that can be used

to characterize the texture of the

input image. Entropy is

calculated on grayscale image.

Entropy is defined as
where  contains the image

histogram counts.

Entropy is saved 16th feature


Histogram Histogram of image is h = (imhist(grayImage))';

characteristic calculated in grayscale format H = sum(((0:127)/256).* h(1:128))/

sum(h(1:128));
function that represents the distribution
featureVector(17) = H;
of tonal in image as one

dimension curve. This

experiment uses intensity from

0 – 127 and normalize the value

in the range of 0 – 1.It makes

the 17th feature


Amplitude of Amplitude of Local Extrema is ALE = 2*h(2:255) - h(1:254) - h(3:256);

Local Extrema calculated based on image featureVector(18) = sum(abs(ALE));

(ALE) histogram values calculated in

last step. The formula used is

is histogram value of current

bin. It is saved as the 18th

feature.
Binary similarity The binary similarity and featureVector(19) = M1 - m1;

Measures dissimilarity (distance) are used featureVector(20) = M2 - m2;

featureVector(21) = M3 - m3;
for final analysis and
featureVector(22) = M4 - m4;
classification of images as
featureVector(23) = M5 - m5;
stego or clear image. Features

are calculated by using m1 –

m5 and M1 – M5. Values of M


are subtracted by m and results

5 more features.

You might also like