I developed an object detector based on gradient features and sliding window classification. After feeding training examples, we can detect the objects of interest in an image.
After preprocessing image data by converting them to grayscale, my detector takes some positive and negative examples of the object that users are interested in detecting and then learns a template from these examples by taking the average positive template minus the average negative template. The process of generating the template includes calculating the image gradient and orientation at each pixel, setting thresholds for edge pixels, and extracting Histogram of Gradient (HOG) features since HOG features are invariant to changes in lighting, small deformations, etc. Then, with an image containing objects to detect, my detector will compute scores for detected candidates at every location using cross correlation with multiple channels. The top k candidates will be selected.
All the pictures shown below are obtained from the Internet.