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.