Histograms of Oriented Gradients for Human Detection
Navneet Dalal and Bill TriggsFrench National Institute for Research in Computer Science and Control (INRIA)
CVPR 05
OpenCV implement peopledetect.cpp
Introduction Challenge: variable appearance and the wide range of poses Histogram of Oriented Gradients (HOG) are feature
descriptors used in computer vision and image processing for the purpose of object detection.
Basic idea : local object appearance and shape can be characterized rather well by the distribution of local intensity gradients or edge directions.
Similar with edge orientation histograms [4,5], SIFT descriptors [12] and shape contexts [1]
An overview of our feature extraction and object detection chain
http://quyanyun.com/Files/Viso/%E7%AC%AC%E5%9B%9B%E8%AE%B2Dalal-phd-slides.pdf
Person / non-person classification
Implementation(1/7) Color / gamma normalization
o Grayscale, RGB and LAB color spaces optionally with power law (gamma) equalization
o Not obvious effect Gradient Computation
o 1-D point derivatives : uncentred [-1, 1], centred [-1, 0, 1] and cubic-corrected [1,-8, 0, 8,-1]o 3*3 Sobel maskso 2*2 diagonal oneso Gaussian smoothing with σo 1-D at σ =0 work besto The simplest scheme turns out to be the best
DET(Detection Error Tradeoff)
Implementation(2/7) Creating the orientation histograms
o Weighted vote for an edge orientation histogram over cells.o Unsigned gradients used in conjunction with 9 histogram channels
performed best in their human detection experimentso Weight: gradient magnitude itself, or some function of the magnitude (square, square root, clipped)o Gradient magnitude itself generally produces the best results.
cell
Implementation(3/7) Normalization and descriptor blocks
o Owing to local variations of illumination and foreground-background contrast
o Group cells into larger, spatially connected blocks and normalize each block separately
o Two main block geometries : rectangular R-HOG blocks and circular C-HOG blocks.o R-HOG : 3 parameter
• # of cells per block • # of pixels per cell• # of channels per cell histogram• Optimal : 3x3 cell blocks of 6x6 pixel cells with 9 channels.• Gaussian spatial weight
Implementation(4/7) Normalization and descriptor blocks
o C-HOG : 4 parameter• # of angular bins• # of radial bins• The radius of the center bin• The expansion factor for the radius of additional radial bins• Optimal: 4,2,4,2, Gaussian spatial weight is not need
o Block Normalization schemes• L2-norm :• L2-Hys : L2-norm ,clip (limit v<=0.2) and renormalize• L1-norm : • L1-sqrt :
Implementation(6/7)
R/C-HOG give near perfect separation on MIT database Have 1-2 order lower false positives than other descriptors
Summary8*8 cell size
Histograms of edge orientationsedge
[-1, 0, 1] gradient filter with no smoothing
8*16 cells 9 unsighted bins=>9 dimension vector
Gaussian spatial window with = 8
R-HOG, 2*2 block size=> 36 dimension vector
L2-Hys7*15 blocks =>descriptor: 3780 dimension vector overlap=1/2