## Sunday, 17 December 2017

## Tuesday, 23 May 2017

### Human Detection using Gradient Maps and Golden Ratio

Human detection is an important topic that can be used for many applications, it is mainly found in areas that required surveillance such as airports, casinos, factories, construction and mining sites. In this paper, a novel human detection method is introduced to extract the human figure from an input image without prior information or training. This method firstly uses a head and shoulder detection scheme based on curve detection with scaled gradient magnitude and orientation maps. It is then followed by a human body estimation scheme based on gap detection and golden ratio. Finally, the human figure is extracted through thresholding local gradient magnitude regions and horizontal filling. Tests on various images have shown that this method is capable of detecting and extracting human body figures robustly from different images.

The first step in the scaled gradient mapping stage is to convert the input image to greyscale, then the gradient is computed using two simple kernels, as given in Equations (1) and (2).

where Gx and Gy are the gradient components along x (horizontal direction) and y (vertical direction) axes of the image respectively.

The exact gradient magnitude and orientation values are then computed for every pixel, as given in Equations (3) and (4), then saved into two gradient maps, known as the magnitude map and the orientation map. The origin of the coordinate system is at the upper left corner.

Both gradient maps are scaled into 8 smaller sizes in which the height and the width of the maps are divided by a scale factor S (where S = {2, 3, 4, 6, 8, 12, 16, 24}), this is done to accommodate various sizes of human in the image. During the scaling procedure, both maps are divided evenly into square blocks with length equal to S. For the magnitude maps, the local maximum magnitude values inside each block are saved. While for the orientation maps, both positive and negative directions of the gradient along x and y axes are used to obtain the orientation for the scaled map, as given in Equation (5).

where θS is the new orientation value for the scaled orientation map with the scaling factor S, and are the maximum positive and negative x components of the gradient respectively, and are the maximum positive and negative y components of gradient respectively.

The first step in the scaled gradient mapping stage is to convert the input image to greyscale, then the gradient is computed using two simple kernels, as given in Equations (1) and (2).

where Gx and Gy are the gradient components along x (horizontal direction) and y (vertical direction) axes of the image respectively.

The exact gradient magnitude and orientation values are then computed for every pixel, as given in Equations (3) and (4), then saved into two gradient maps, known as the magnitude map and the orientation map. The origin of the coordinate system is at the upper left corner.

Both gradient maps are scaled into 8 smaller sizes in which the height and the width of the maps are divided by a scale factor S (where S = {2, 3, 4, 6, 8, 12, 16, 24}), this is done to accommodate various sizes of human in the image. During the scaling procedure, both maps are divided evenly into square blocks with length equal to S. For the magnitude maps, the local maximum magnitude values inside each block are saved. While for the orientation maps, both positive and negative directions of the gradient along x and y axes are used to obtain the orientation for the scaled map, as given in Equation (5).

where θS is the new orientation value for the scaled orientation map with the scaling factor S, and are the maximum positive and negative x components of the gradient respectively, and are the maximum positive and negative y components of gradient respectively.

## Wednesday, 26 April 2017

### Image Watermarking Using Singular Value Decomposition and Discrete Wavelet Transform

In recent times, internet
is being increasingly used as the platform for distribution of digital
multimedia content. The inherent flexibility of Internet facilitates users to
transact with one another to create, distribute, store, peruse, subscribe,
enhance, modify and trade digital content in various forms like text documents,
databases, e-books, still images, audio, video, computer software and games.

The use of an open medium like Internet gives rise to concerns
about protection and enforcement of intellectual property rights of the digital
content involved in the transaction. In addition, unauthorized replication and
manipulation of digital content is relatively trivial and can be done using
inexpensive tools, unlike the traditional analog multimedia content. The
protection and enforcement of intellectual property rights for digital media
has become an important issue. In recent years, the research community has seen
much activity in the area of digital watermarking as an additional tool in
protecting digital content.

Watermarking is descendent
of steganography which has been in existence for at least a few hundred years.
Watermarking is a special technique of steganography where one message is
embedded in another and the two messages are related to each other in some way.
The most common examples of watermarking are the presence of specific patterns
in currency notes which are visible only when the note is held to light and
logos in the background of printed text documents. The watermarking techniques
prevent forgery and unauthorized replication of physical objects.

To provide a robust watermark, a good strategy is to embed the
watermark signal into the significant portion of the host signal. This portion
of the host data is highly sensitive to alterations, however, and may produce
very audible or visible distortions in the host data. Applications for digital
watermarking include copyright protection, fingerprinting, authentication, copy
control, tamper detection, and data hiding applications such as broadcast
monitoring. Watermarking algorithms have been developed for audio, still
images, video, graphics, and text.

**Click here to Download the MATLAB Code**

## Wednesday, 5 April 2017

### Convert RGB Image to Gray Scale Image to Binary Image Using Threshold Technique

RGB image is a 3D image, it is also called as true color image, the data is stored in the form of

*x*by

*y*by 3 data array. The three data array define red , green and blue color value for every pixel. Red, Green and Blue color components uses 8 bits each so in total there are 24 bits, it implies (2^24) 16 million colors.

### Gray Scale Image

These are the 2D images with a single 2D data matrix.## Tuesday, 4 April 2017

### Linear Convolution of Two Discrete Time Sequences

The convolution gives the response y(n) of the Linear Time Invariant System as a function of the input signal x(n) and the impulse response h(n).

### Definition of the Linear convolution is :

#### The process can be summarized as follows:

**Folding:**Fold h(k) about k = 0 to obtain h(-k).**Shifting:**Shift h(-k) by p to the right (left) if p is positive (negative), to obtain h(p-k).**Multiplication:**Multiply x(k) by h(p-k) to obtain the product sequences as x(k)h(p-k).**Summation:**sum all the values of the product sequences to obtain the values of the output.### Discrete Fourier Transform

## Frequency analysis of discrete time signals is usually and most conveniently performed on a digital signal processor, which may be a general purpose digital computer or specially designed digital hardware. To perform frequency analysis on a discrete time signal {x(n)}, we convert the time domain sequence to an equivalent frequency domain representation. We know that such a representation is given by the Fourier transform X(w) of the sequence {x(n)}. However X(w) is a continuous function of frequency and therefore, it is not a computationally convenient representation of the sequence {x(n)}.

### Definition of Discrete Fourier Transform

When the Sequence x(n) has a finite length L, less than or equal to N than the discrete Fourier transform can be written as :

Where k = 0,1,2,...,N - 1