<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JCC</journal-id><journal-title-group><journal-title>Journal of Computer and Communications</journal-title></journal-title-group><issn pub-type="epub">2327-5219</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jcc.2016.410003</article-id><article-id pub-id-type="publisher-id">JCC-69621</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Fast Face Detection with Multi-Scale Window Search Free from Image Resizing Using SGI Features
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Masayuki</surname><given-names>Miyama</given-names></name><xref ref-type="aff" rid="aff1"><sub>1</sub></xref></contrib></contrib-group><aff id="aff1"><label>1</label><addr-line>Faculty of Electrical and Computer Engineering, Institute of Science and Engineering, Kanazawa University, 
Kanazawa, Japan</addr-line></aff><author-notes><corresp id="cor1">* E-mail:</corresp></author-notes><pub-date pub-type="epub"><day>10</day><month>08</month><year>2016</year></pub-date><volume>04</volume><issue>10</issue><fpage>22</fpage><lpage>29</lpage><history><date date-type="received"><day>27</day>	<month>June</month>	<year>2016</year></date><date date-type="rev-recd"><day>accepted</day>	<month>7</month>	<year>August</year>	</date><date date-type="accepted"><day>10</day>	<month>August</month>	<year>2016</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  Face detection is applied to many tasks such as auto focus control, surveillance, user interface, and face recognition. Processing speed and detection accuracy of the face detection have been improved continuously. This paper describes a novel method of fast face detection with multi-scale window search free from image resizing. We adopt statistics of gradient images (SGI) as image features and append an overlapping cell array to improve detection accuracy. The SGI feature is scale invariant and insensitive to small difference of pixel value. These characteristics enable the multi-scale window search without image resizing. Experimental results show that processing speed of our method is 3.66 times faster than a conventional method, adopting HOG features combined to an SVM classifier, without accuracy degradation.
 
</p></abstract><kwd-group><kwd>Face Detection</kwd><kwd> Multi-Scale Window Search</kwd><kwd> Resizing Free</kwd><kwd> SGI Feature</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Face detection is applied to many tasks such as auto focus control, surveillance, user interface, and face recognition. Image features and machine learning methods to detect faces have been studied for many years. Processing speed and accuracy of the face detection have been improved continuously [<xref ref-type="bibr" rid="scirp.69621-ref1">1</xref>] [<xref ref-type="bibr" rid="scirp.69621-ref2">2</xref>] .</p><p>Object detection including face detection uses multi-scale window search to detect objects with various sizes. For example, a popular face detector using Haar-like features and a cascade classifier provided by OpenCV adopts the multi-scale window search [<xref ref-type="bibr" rid="scirp.69621-ref3">3</xref>] . In general, the multi-scale window search requires image resizing to calculate image features for each scale. If the feature calculation does not need the image resizing, the multi-scale search will become faster.</p><p>This paper proposes a novel method of fast face detection with the multi-scale window search free from image resizing. We adopt statistics of gradient images (SGI) as image features [<xref ref-type="bibr" rid="scirp.69621-ref4">4</xref>] , and append an overlapping cell array to improve detection accuracy. The SGI feature is scale invariant and insensitive to small difference of pixel value. These characteristics enable the multi-scale window search without image resizing. Experimental results show that processing speed of our method is 3.66 times faster than a conventional method, adopting HOG features combined to an SVM classifier, without accuracy degradation.</p><p>This paper is organized as follows. Next section describes the conventional methods of face detection. Section three describes the novel method of face detection using the SGI feature and the multi-scale windows search free from image resizing. Experimental results show the proposed method is faster than the conventional methods with the similar detection accuracy in section four. Section five concludes this paper.</p></sec><sec id="s2"><title>2. Conventional Methods of Face Detection</title><p>Many kinds of image feature using image gradient have been proposed. Haar-like features are frequently used for face detection [<xref ref-type="bibr" rid="scirp.69621-ref5">5</xref>] . To obtain a Haar-like feature, a mask is set on a target image firstly. The mask consists of some neighboring rectangles. A sum of pixel values for each rectangle is calculated next. A difference among the sums for each rectangle is obtained as an image feature lastly. There are many combinations of kind, size, position, and form of the mask. There for many features can be defined in a target image. Effective features for detection are selected using a boosting technique, and a cascade detector is constructed.</p><p>A HOG descriptor is based on a set of histograms [<xref ref-type="bibr" rid="scirp.69621-ref6">6</xref>] . The histogram expresses a distribution of a sum of gradient intensities with respect to gradient directions divided by nine levels. In order to obtain the HOG descriptor, a target image is firstly divided into cells in a grid. The grid is a two dimensional array of square cells. A histogram is created for each cell by seeking a sum of intensities for each direction of the image gradient. Neighboring cells construct a square block. The histogram for each cell is normalized using the sum of all bins in a block. The HOG descriptor is a feature vector composed of elements which are all bins of all normalized histograms in the target image. The HOG descriptor is used for people detection combined to an SVM detector.</p><p>SVM (Support Vector Machine) is a method for finding a hyperplane that separates learning samples in a feature space to positive samples and negative samples [<xref ref-type="bibr" rid="scirp.69621-ref7">7</xref>] . A distance between the nearest sample and the hyperplane is called a margin. The hyperplane is determined so that the margin is maximized. Samples to decide the hyperplane are called support vectors. If the original feature space is linear inseparable, it is separated in the space after the non-linear mapping, which is called the kernel trick. SVM classifies test data according to the following equation:</p><disp-formula id="scirp.69621-formula441"><label>. (1)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-1730405x6.png"  xlink:type="simple"/></disp-formula><p>Here, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x7.png" xlink:type="simple"/></inline-formula>is a sign of a class which a test datum x belongs to, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x8.png" xlink:type="simple"/></inline-formula>is a support vector, y<sub>i</sub> is a sign of a class x<sub>i</sub> belongs to, a<sub>i</sub> is a Lagrange multiplier obtained by training, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x9.png" xlink:type="simple"/></inline-formula>is a kernel function, b is a bias obtained by training. A linear kernel (<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x10.png" xlink:type="simple"/></inline-formula>inner product of x and x<sub>i</sub>) or an RBF kernel <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x11.png" xlink:type="simple"/></inline-formula> are often used as a kernel function.</p><p>Fast and accurate object detection method was proposed in [<xref ref-type="bibr" rid="scirp.69621-ref8">8</xref>] recently. The method computes multiple registered image channels using various transformations of the input image. Next, features such as local sums, histograms, and Haar wavelets are computed efficiently using integral images. A cascade detector is used for classification.</p></sec><sec id="s3"><title>3. Fast Object Detection Using SGI Features</title><p>This section describes statistics of gradient image (SGI) we adopt as image features [<xref ref-type="bibr" rid="scirp.69621-ref4">4</xref>] . Then we explain a novel method of multi-scale object detection free from image resizing.</p><sec id="s3_1"><title>3.1. SGI Feature</title><p>Image gradients are frequently used for image features. The HOG descriptor is based on histograms showing distribution of the intensity with respect to the direction of the gradient. The SGI features also express both intensity and direction of the gradient statistically. Equations below show the SGI features:</p><disp-formula id="scirp.69621-formula442"><label>(2)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-1730405x12.png"  xlink:type="simple"/></disp-formula><p>Here, R shows a target region and N shows the number of pixels in the region. I<sub>x</sub> is a gradient image, derivative in x direction of image I. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x13.png" xlink:type="simple"/></inline-formula>is a gradient image, derivative in x direction of image I. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x14.png" xlink:type="simple"/></inline-formula>is an average of <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x15.png" xlink:type="simple"/></inline-formula> in the region R and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x16.png" xlink:type="simple"/></inline-formula> is the standard deviation. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x17.png" xlink:type="simple"/></inline-formula>is an average of <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x18.png" xlink:type="simple"/></inline-formula> in the region R, and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x19.png" xlink:type="simple"/></inline-formula> is the standard deviation. cc is a correlation coefficient between <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x20.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x20.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x21.png" xlink:type="simple"/></inline-formula> in the region R. All features except cc are normalized using an average and a variance for each feature, obtained from training images. All features are scale invariant, and each value range is from −1 to +1.<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x20.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x22.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x20.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x22.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x23.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x20.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x22.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x23.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x24.png" xlink:type="simple"/></inline-formula>, and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x20.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x22.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x23.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x24.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x25.png" xlink:type="simple"/></inline-formula> are related to the intensity. cc is a feature related to the direction.</p><p>The equations of<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x26.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x26.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x27.png" xlink:type="simple"/></inline-formula>and cc can be transformed as follows:</p><disp-formula id="scirp.69621-formula443"><label>(3)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-1730405x28.png"  xlink:type="simple"/></disp-formula><p>Above equations show that averages of<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x29.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x30.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x31.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x32.png" xlink:type="simple"/></inline-formula>and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x33.png" xlink:type="simple"/></inline-formula> produce these three features. On the other hand, it is well known that the integral image accelerates to calculate a sum and an average of a rectangle region in an image. Thus, the proposed image features for rectangle regions can be quickly generated by integral images of<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x34.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x35.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x36.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x36.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x37.png" xlink:type="simple"/></inline-formula>and<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x36.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x37.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x38.png" xlink:type="simple"/></inline-formula>.</p><p>To detect objects using the SGI features, a target image is divided into cells in a grid. In this work, we newly append an overlapping cell array, constructed inside of a cell array originally defined on a target image as shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>, to improve detection performance. The above five features are calculated for each cell. A feature vector, which is an SGI descriptor corresponding to the target image, is generated by collecting all features of all cells. In the example of <xref ref-type="fig" rid="fig1">Figure 1</xref>, the number of cells is <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x39.png" xlink:type="simple"/></inline-formula> and the number of features for each cell is 5, then the number of elements in the SGI descriptor is 305. The SGI descriptor does neither calculate the gradient direction explicitly nor require the histogram normalization for each block, unlike the HOG descriptor. Compared to the HOG descriptor, computation complexity of the SGI descriptor is low.</p></sec><sec id="s3_2"><title>3.2. Multi-Scale Window Search Free from Image Resizing</title><p>Multi-scale window search is necessary for object detection with various sizes. <xref ref-type="fig" rid="fig2">Figure 2</xref> shows the multi-scale window search. As shown in the left side of the figure, the multi-scale window search repeats window search inside of the image and image resizing. The windows search repeats object detection in a window and window sliding in the image. The window size is always the integer multiple of the cell size, and the window moves by the cell unit. After the window search, the image size is reduced, but the window size and the cell size don’t change at the next scale. All cells on all scales have the same size and form, and the cell array for each scale is a regular grid. The image reduction ratio is a decimal in general. To obtain the reduced image, pixel values with decimal coordinates of the original image are required. At the window search of the next scale, integer pixels are read from the reduced image, which is consisted of the decimal pixels of the original image.</p><fig id="fig1"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref></label><caption><title> SGI descriptor</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-1730405x40.png"/></fig><fig id="fig2"  position="float"><label><xref ref-type="fig" rid="fig2">Figure 2</xref></label><caption><title> Multi-scale object detection</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-1730405x41.png"/></fig><p>The right side of <xref ref-type="fig" rid="fig2">Figure 2</xref> shows the proposed method. Thanks to the scale invariant characteristic of the SGI feature, the proposed method changes the cell size and the window size instead of the image size. On the upper level of the hierarchy, the decimal coordinates are rounded to the integer coordinates. Then integer pixels are read from the image of the original resolution. As a result of the rounding, every cell size and form on the upper level are various, and the cell array is an irregular grid. Slight difference of the cell size and form does not have a severe influence on the object detection because the SGI features are statistics. The SGI features of all scales can be calculated with the integral image of the original resolution in this way. The image resizing and the integral image calculation for each scale are unnecessary at all by the proposed method.</p></sec></sec><sec id="s4"><title>4. Experimental Results</title><p>This section describes experimental results of face classifier generation and face detection.</p><sec id="s4_1"><title>4.1. Classifier Training and Test</title><sec id="s4_1_1"><title>4.1.1. Experimental Setup</title><p>We used MIT CBCL Face Database [<xref ref-type="bibr" rid="scirp.69621-ref9">9</xref>] to create training images. The number of positive training images is 2428. The number of negative training images is 4458. The number of positive test images is 2430. The number of negative test images is 4638. An original resolution of the examples was <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x42.png" xlink:type="simple"/></inline-formula> pixels. <xref ref-type="fig" rid="fig3">Figure 3</xref> shows examples of the training image. <xref ref-type="fig" rid="fig4">Figure 4</xref> shows the average and gradient images of the positive training samples.</p><fig id="fig3"  position="float"><label><xref ref-type="fig" rid="fig3">Figure 3</xref></label><caption><title> Training images</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-1730405x43.png"/></fig><fig id="fig4"  position="float"><label><xref ref-type="fig" rid="fig4">Figure 4</xref></label><caption><title> Average image of training samples and its gradient images</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-1730405x44.png"/></fig><p>We created a classifier with the HOG descriptor. The size of a grid was <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x45.png" xlink:type="simple"/></inline-formula> cells. A function compute () in a class HOGDescriptor of Open CV [<xref ref-type="bibr" rid="scirp.69621-ref3">3</xref>] was used to calculate the HOG descriptor. The size of a cell was <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x45.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x46.png" xlink:type="simple"/></inline-formula>pixels. The size of a block was <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x45.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x46.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x47.png" xlink:type="simple"/></inline-formula> cells. A function train_auto () in CvSVM class of OpenCV was used to create the classifiers. We used EPS_SVC as an SVM formulation and LINEAR as a kernel.</p><p>We also created a classifier with the SGI descriptor. The size of a grid was <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x48.png" xlink:type="simple"/></inline-formula> cells for the descriptor with the overlapping cell array, and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x48.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x49.png" xlink:type="simple"/></inline-formula> cells for the descriptor without the overlapping cell array. The size of a cell was <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x48.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x49.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x50.png" xlink:type="simple"/></inline-formula> pixels. A function train_auto () in CvSVM class of OpenCV was used to create the classifiers. We used the EPS_SVR as an SVM formulation and LINEAR as a kernel.</p><p>A five points search was executed changing a parameter <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x51.png" xlink:type="simple"/></inline-formula> as 0.025, 0.05, 0.1, 0.2, 0.4, and a parameter C was 0.01. The parameter <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x51.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x52.png" xlink:type="simple"/></inline-formula> is an allowable range of the regression error. The parameter C controls a trade-off between margin size and penalty of misclassification. As C increases, the margin decreases and the penalty increases. Parameters giving the smallest error were obtained by cross-validation of 10 data sets.</p><p>The classifiers trained with these parameters were applied to the test images. Pairs of an FPPW (False Positive Per Window) and a miss rate were obtained by changing b in the Equation (1) from −0.8 to +0.8 with 0.02 step, and DET (Detection Error Trade-off) curve was drawn. The FPPW and the miss rate are defined as follows:</p><disp-formula id="scirp.69621-formula444"><label>(4)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-1730405x53.png"  xlink:type="simple"/></disp-formula><p>Here, TP is the number of true positive samples. TN is the number of true negative samples. FP is the number of false positive samples. FN is the number of false negative samples.</p></sec><sec id="s4_1_2"><title>4.1.2. Results</title><p>Training results are shown in <xref ref-type="table" rid="table1">Table 1</xref>. The descriptor SGI means that with the overlapping cell array. The descriptor SGI_old means that without the overlapping cell array. The <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x54.png" xlink:type="simple"/></inline-formula> had the optimal value obtained by the training. The # el is the number of elements in a descriptor.</p><p><xref ref-type="fig" rid="fig5">Figure 5</xref> shows the DET curve of the test. The miss rate of the HOG method was 1.1% with the FPPW of 0.001. The miss rate of the SGI method was 0.3% with the FPPW of 0.001.The miss rate of the SGI_old method was 1.3% with the FPPW of 0.001. The proposed SGI method was higher in accuracy than the HOG method in this experiment. Addition of the overlapping cell array improves accuracy of the proposed method.</p><p><xref ref-type="fig" rid="fig6">Figure 6</xref> shows the SGI features of the positive average images, the SVM coefficients obtained by the training, and the products of the SGI features and the SVM coefficients. The feature images of<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x55.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x55.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x56.png" xlink:type="simple"/></inline-formula>, and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x55.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x56.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x57.png" xlink:type="simple"/></inline-formula> for the average face are symmetric. The feature images of<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x55.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x56.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x57.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x58.png" xlink:type="simple"/></inline-formula>, and cc for the average face are antisymmetric. The coefficient image of cc is also antisymmetric. Then the product image of cc becomes almost symmetric. The product image of cc for the average face has many bright cells. This suggests that product of cc has large influence on a judgment whether a face exists in a window. <xref ref-type="table" rid="table2">Table 2</xref> shows all kinds of products averaged over all positive samples and all negative samples independently. Every average of positive samples are large, compared to those of negative samples. The product of <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x55.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x56.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x57.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x58.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x59.png" xlink:type="simple"/></inline-formula> has large influence on a judgment of negative samples because the average of negative samples is the smallest. The product of <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x55.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x56.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x57.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x58.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x59.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x60.png" xlink:type="simple"/></inline-formula> has large influence on judgments of both positive samples and negative samples because the average of positive samples is the largest and that of negative samples is the second smallest. These suggest variances of gradient strengths are effective for face detection. On the other hand, the HOG features cannot express the variance of gradient strengths. This may give accuracy difference between the HOG method and the SGI method in this experiment.</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Experimental results of classifier generation</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Descriptor</th><th align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x61.png" xlink:type="simple"/></inline-formula></th><th align="center" valign="middle" ># el</th><th align="center" valign="middle" ># TP</th><th align="center" valign="middle" ># TN</th><th align="center" valign="middle" ># FP</th><th align="center" valign="middle" ># FN</th></tr></thead><tr><td align="center" valign="middle" >HOG</td><td align="center" valign="middle" >0.4</td><td align="center" valign="middle" >900</td><td align="center" valign="middle" >2421</td><td align="center" valign="middle" >4451</td><td align="center" valign="middle" >7</td><td align="center" valign="middle" >7</td></tr><tr><td align="center" valign="middle" >SGI</td><td align="center" valign="middle" >0.4</td><td align="center" valign="middle" >305</td><td align="center" valign="middle" >2421</td><td align="center" valign="middle" >4453</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >7</td></tr><tr><td align="center" valign="middle" >SGI_old</td><td align="center" valign="middle" >0.4</td><td align="center" valign="middle" >180</td><td align="center" valign="middle" >2406</td><td align="center" valign="middle" >4441</td><td align="center" valign="middle" >17</td><td align="center" valign="middle" >22</td></tr></tbody></table></table-wrap><fig id="fig5"  position="float"><label><xref ref-type="fig" rid="fig5">Figure 5</xref></label><caption><title> Detection error trade-off curve</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-1730405x62.png"/></fig><fig id="fig6"  position="float"><label><xref ref-type="fig" rid="fig6">Figure 6</xref></label><caption><title> Image of features, coefficients, and products</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-1730405x63.png"/></fig><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> All kinds of products averaged over positive samples and negative samples</title></caption><table><tbody><thead><tr><th align="center" valign="middle" ></th><th align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x64.png" xlink:type="simple"/></inline-formula></th><th align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x65.png" xlink:type="simple"/></inline-formula></th><th align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x66.png" xlink:type="simple"/></inline-formula></th><th align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x67.png" xlink:type="simple"/></inline-formula></th><th align="center" valign="middle" >CC</th></tr></thead><tr><td align="center" valign="middle" >Average of positive samples</td><td align="center" valign="middle" >7.25e−03</td><td align="center" valign="middle" >4.91e−03</td><td align="center" valign="middle" >4.49e−03</td><td align="center" valign="middle" >7.91e−03</td><td align="center" valign="middle" >7.03e−03</td></tr><tr><td align="center" valign="middle" >Average of negative samples</td><td align="center" valign="middle" >6.33e−04</td><td align="center" valign="middle" >−7.14e−05</td><td align="center" valign="middle" >1.68e−04</td><td align="center" valign="middle" >−2.30e−05</td><td align="center" valign="middle" >2.88e−04</td></tr></tbody></table></table-wrap></sec></sec><sec id="s4_2"><title>4.2. Face Detection</title><sec id="s4_2_1"><title>4.2.1. Experimental Setup</title><p>This experiment compared four methods below.</p><p>・ SGI + SVM: calculates SGI features without image resizing and detects faces with an SVM classifier.</p><p>・ SGI − R + SVM: calculates SGI features with image resizing and detects faces with an SVM classifier.</p><p>・ HOG + SVM: calculates HOG features with image resizing and detects faces with an SVM classifier.</p><p>・ HAAR + CAS: calculates Haar-like features and detects faces with a cascade classifier.</p><p>The identical SVM classifier obtained as the result of the previous section was used for both SGI + SVM and SGI − R + SVM. HOG + SVM also adopts the SVM classifier of the previous section. The cascade classifier provided by OpenCV (haarcascade_frontalface_alt. xml) was used for HAAR + CAS. In the multi-scale window search, the smallest windows size was <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x68.png" xlink:type="simple"/></inline-formula> pixels and the number of scales was 32. The image resizing ratio of 1.1 was used for HAAR + CAS, and 1.05 was used for otherwise. They were the default values of OpenCV.</p><p>The image resolution used for this experiment was <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730405x69.png" xlink:type="simple"/></inline-formula> pixels. The PC used Intel Core-i5 2320@3GHz CPU with 4 GB memory. The OS was Microsoft Windows 10 64 bit. The compiler was Microsoft Visual Studio 2013. The version of OpenCV was 2.4.11.</p></sec><sec id="s4_2_2"><title>4.2.2. Results</title><p>Experimental results are shown in <xref ref-type="fig" rid="fig7">Figure 7</xref>. SGI + SVM detected all faces without error detections. SGI − R + SVM also detected all faces, but included error detections. Though they used the same classifier, they produced different results because the SGI features calculated by the two methods were slightly different. HOG + SVM had both miss detections and error detections. HAAR + CAS detected all faces without error detections. The size of the face detected by HAAR + CAS was different because the classifier attached to OpenCV was trained with different images.</p><p><xref ref-type="table" rid="table3">Table 3</xref> shows the processing time. SGI + SVM was 1.98 times faster than SGI − R + SVM. The proposed</p><fig id="fig7"  position="float"><label><xref ref-type="fig" rid="fig7">Figure 7</xref></label><caption><title> Images of face detection</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-1730405x70.png"/></fig><table-wrap id="table3" ><label><xref ref-type="table" rid="table3">Table 3</xref></label><caption><title> Experimental results of face detection</title></caption><table><tbody><thead><tr><th align="center" valign="middle" ></th><th align="center" valign="middle" >SGI + SVM</th><th align="center" valign="middle" >SGI − R + SVM</th><th align="center" valign="middle" >HOG + SVM</th><th align="center" valign="middle" >HAAR + CAS</th></tr></thead><tr><td align="center" valign="middle" >Time (ms)</td><td align="center" valign="middle" >88.89</td><td align="center" valign="middle" >176.41</td><td align="center" valign="middle" >325.09</td><td align="center" valign="middle" >285.00</td></tr><tr><td align="center" valign="middle" >Ratio</td><td align="center" valign="middle" >1.00</td><td align="center" valign="middle" >1.98</td><td align="center" valign="middle" >3.66</td><td align="center" valign="middle" >3.21</td></tr></tbody></table></table-wrap><p>method doesn’t need image resizing and integral image calculation. SGI + SVM was 3.66 times faster than HOG + SVM. In addition to unnecessity of image resizing, both the feature calculation and the SVM calculation of the proposed method are fast because the number of elements in a feature vector (descriptor) is small. SGI + SVM was 3.21 times faster than HAAR + CAS. If we combine a fast classifier like the cascade classifier with early termination to the SGI feature, the proposed method will be faster.</p><p>The proposed method uses integral images. It is similar to the method of [<xref ref-type="bibr" rid="scirp.69621-ref8">8</xref>] , which proposes a fast method to calculate image features. Image features can be calculated using another image features at the corresponding point on the neighboring level. The method saves calculations of integral images from resized images on most levels, but those on some levels still remains. In contrast, the proposed method does not need them at all. The SGI feature is scale invariant and insensitive to small difference of pixel value. These characteristics enable to calculate all features on all levels only by the integral images of the original resolution.</p></sec></sec></sec><sec id="s5"><title>5. Conclusion</title><p>This paper described a novel method of fast face detection with multi-scale window search free from image resizing. We adopted statistics of gradient images (SGI) as image features, and appended an overlapping cell array to improve detection accuracy. The SGI feature is scale invariant and insensitive to small difference of pixel value. These characteristics enable the multi-scale window search without image resizing. The method of integral channel features [<xref ref-type="bibr" rid="scirp.69621-ref8">8</xref>] , which is the state of the art in fast object detection, still requires image resizing instead. Experimental results showed that processing speed increased by 3.66 times without accuracy degradation, compared to the conventional method adopting HOG features combined to an SVM classifier. The proposed method was 3.21 times faster than the most popular method using Haar-like features and a cascade classifier, with similar accuracy. Adoption of a fast classifier such as a cascade classifier is a future work.</p></sec><sec id="s6"><title>Acknowledgements</title><p>This study received the furtherance of Grant in Aid for Scientific Research (22560325).</p></sec><sec id="s7"><title>Cite this paper</title><p>Masayuki Miyama, (2016) Fast Face Detection with Multi-Scale Window Search Free from Image Resizing Using SGI Features. Journal of Computer and Communications,04,22-29. doi: 10.4236/jcc.2016.410003</p></sec></body><back><ref-list><title>References</title><ref id="scirp.69621-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Zhang, C. and Zhang, Z.Y. (2010) A Survey of Recent Advances in Face Detection. Technical Report MSR-TR-2010-66.</mixed-citation></ref><ref id="scirp.69621-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Degtyarev, N. and Seredin, O. (2010) Comparative Testing of Face Detection Algorithms. Proceedings of the 4th International Conference on Image and Signal Processing, Trois-Rivières, QC, Canada, 30 June-2 July 2010, 200-209.</mixed-citation></ref><ref id="scirp.69621-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">http://opencv.org</mixed-citation></ref><ref id="scirp.69621-ref4"><label>4</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Miyama</surname><given-names> M. </given-names></name>,<etal>et al</etal>. (<year>2015</year>)<article-title>Fast Vehicle Detection System Using Statistics of Gradient Images as Image Features</article-title><source> IIEEJ Transactions of Image Electronics and Visual Computing</source><volume> 3</volume>,<fpage> 206</fpage>-<lpage>214</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.69621-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Viola, P. and Jones, M.M. (2004) Robust Real-Time Face Detection. International Journal of Computer Vision, 57, 137-154. http://dx.doi.org/10.1023/B:VISI.0000013087.49260.fb</mixed-citation></ref><ref id="scirp.69621-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Dalal, N. and Triggs, B. (2005) Histograms of Oriented Gradients for Human Detection. 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, San Diego, CA, 25-25 June 2005, 886-893.  
http://dx.doi.org/10.1109/cvpr.2005.177</mixed-citation></ref><ref id="scirp.69621-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Vapnik, V.N. (1995) The Nature of Statistical Learning Theory. Springer, New York.  
http://dx.doi.org/10.1007/978-1-4757-2440-0</mixed-citation></ref><ref id="scirp.69621-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Dollar, P., Tu, Z., Perona, P. and Belongie, S. (2009) Integral Channel Features. Proceedings of the British Machine Conference, September 2009, 91.1-91.11. http://dx.doi.org/10.5244/c.23.91</mixed-citation></ref><ref id="scirp.69621-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">http://cbcl.mit.edu/software-datasets/FaceData2.html</mixed-citation></ref></ref-list></back></article>