1. A method for detecting a human in at least one image, the method comprising: capturing at least one image using a motion sensing device, wherein the at least one image comprises a plurality of pixels having gray scale information and a depth information, and wherein the gray scale information comprises intensity of each pixel corresponding to a plurality of objects in the at least one image, and wherein the depth information comprises a distance information between each object and the motion sensing device; segmenting, by a processor, the at least one image into a plurality of segments based on the depth information of the plurality of objects, wherein each segment of the plurality of segments comprises a subset of the plurality of pixels, and each segment corresponds to one or more objects in the at least one image; performing a connected component analysis on a segment of the plurality of segments to obtain one or more noisy objects and one or more candidate objects; eliminating the one or more noisy objects from the segment using a vertical pixel projection technique; extracting a plurality of features from the one or more candidate objects present in the segment, wherein the plurality of features are extracted by, applying a windowing technique on the segment in order to divide the segment into one or more blocks, wherein each block of the one or more blocks comprises one or more sub-blocks, calculating a local gradient histogram (LGH) corresponding to each sub-block of the one or more sub-blocks, and generating a vector comprising the plurality of features by concatenating the LGH of each sub-block; and detecting a human or a non-human from the one or more candidate objects based on the plurality of features.