350 likes | 683 Views
Human Detection . Mikel Rodriguez. Organization. 1. Moving Target Indicator (MTI) Background models Moving region detection Target chip generation Results. 2. Target Classification (Human Detection) Target features Support vector machines Results. Input Frame. Object Detection.
E N D
Human Detection Mikel Rodriguez
Organization 1. Moving Target Indicator (MTI) • Background models • Moving region detection • Target chip generation • Results 2. Target Classification (Human Detection) • Target features • Support vector machines • Results Input Frame Object Detection Target Chips Wavelet Features SVM Classifier MTI Classification
Moving Target Indicator Moving target indicator (MTI) identifies moving objects which can be potential targets
MTI Motivation • Becoming increasingly important in military and civilian applications • To minimize human involvement • Expensive • Short attention spans • Computerized monitoring system • Real-time capability • 24/7
MTI Challenges • Different sensor modalities • LADAR, IR, EO • Targets with different dynamics • Small targets • Weather conditions • Illumination changes, shadows…
Background Modeling Moving Target Detection Intensity models Gradient models Background Subtraction Targets Chips Position MTI Input Video dynamic update
Hierarchical Approach to Background Modeling • Pixel level • Region level • Frame level
Pixel LevelBackground Features • Intensity, heat index • Gradient • 2D: magnitude, orientation EO IR Magnitude Orientation
Pixel LevelBackground Features • Intensity, heat index • Per-pixel mixture of Gaussians. • Gradient based subtraction • Gradient feature vector =[m, dd]
Pixel LevelMoving Region Detection • Mark pixels that are different from the background intensity model • Mark pixels that are different from the background gradient model
Gradient Image Color based Final Region LevelFusion of Intensity & Gradient Results • For each color based region, presence of“edge difference” pixels at the boundaries is checked. • Regions with small number of edge difference pixel are removed, color model is updated.
Frame LevelModel Update • Performs a high level analysis of the scene components If more > 50% of the intensity based background subtracted image becomes foreground. Frame level processing issues an alert Intensity based subtraction results are ignored
MTI Background Object Chips ConnectedComponents() BoundaryEdges() SetNumGaussians() SetAlpha() SetRhoMean() SetWeightThresh() SetActiveRegion() GetNumGaussians() GetAlpha() GetRhoMean() GetWeightThresh() GetActiveRegion() SetBoundingBox() SetRhoLocation() SetCentroid() GetBoundingBox() GetRhoLocation() GetCentroid() IsFalseDetection() Centroid() ObjectArea() Height() Width() Structure of the MTI Class
Target Classification Classification of objects into two classes: humans and others, from target chips generated by MTI
Challenges • Small size • Obscured targets • Background clutter • Weather conditions
Training SVM Feature Extraction Wavelet MTI Chips Classifier Flow Negative Positive Support Vectors Testing Decision
Blurred Vertical Horizontal Diagonal Wavelet Based Target Features
Feature Extraction • Apply 2D Wavelet Transform • Daubechies wavelets • Apply Inverse 2D Wavelet Transform to each of the coefficient matrices individually • Rescale and vectorize output matrices
Why Wavelets? • Separability among samples • Humans can be separated from cars and background Correlation using gray levels Correlation using gradient mag.
Why Wavelets? Person 11 - DB3 Wavelet Correlation
Support Vector Machines (SVM) • Classification of data into two classes • N dimensional data. • Linearly separable • If not transform data into a higher dimensional space • Find separating N dimensional hyperplane
SVMLinear Classifier hyperplane equation N dimensional data point xi Sample distance to hyperplane
SVMBest Hyperplane? • Infinite number of hyperplanes. • Minimize ri over sample set xi • Maximize margin around hyperplane • Samples inside the margin are the support vectors
SVMTraining Set • Let =1,A training set is a set of tuples: {(x1,y1),(x2,y2),…(xm,ym)}. • For support vectors inequality becomes equality • Unknowns are w and b
SVMLinear Separability • Linear programming, • Separator line in 2D w1xi,1+w2xi,2+b=0. • Find w1,w2, b such that is maximized • Find w1,w2, b such that (w)=wTw is minimized
SVMSolution • Has the following form: • Non-zero i indicates xi is support vector • Classifying function is:
Human Classification TrainingFunction TestingFunction ReadPositiveImages() ReadNegativeImages() AssemblePositive() AssembleNegative() AssembleMatrices() LoadSVM() ReadImages() ExtractFeatures ConvertToGray() ApplyWaveletFilter() ApplyInverseTrans() ResizeInverse() VectorizeInverse() Concatenate() TrainSVM TestSVM LIBSVM LIBSVM Classification Class
Classification Baseline Analysis • Run time for 3.0GHz dualcore, 2GB RAM • Training: 276 training samples 8.015 seconds • Testing: 24.087 chips (25 by 25) per second • Classifier size • Depends on diversity of images • For 276 training samples of 25x25, classifier size is 1.101 MB
Classification Baseline Analysis • Memory requirements • Requires entire set of support vectors • Current classifier
Experiments Vivid Dataset UCF Dataset
Results • Training set • 300 target chips • Testing • 3872 human chips • 5605 vehicle and background chips • Performance • 2.4% false positive (others classified as pedestrians) • 3.2% false negative (pedestrian classified as others)
Future directions • MTI • Detection by parts • Motion clustering • Classification • Various kernels for SVM • Better target features • Motion, steerable pyramids, shape features (height, width) • Local wavelet coefficients • Adaboost