frank bergschneider february 21, 2014 presented to national instruments
DESCRIPTION
Object Recognition 3 General Steps 1. Interest Point Detection 2. Interest Point Description Feature Vector Extraction 3. Feature Vector Matching Between Two ImagesTRANSCRIPT
Real Time Object Recognition Using the SURF Algorithm
Frank BergschneiderFebruary 21, 2014
Presented to National Instruments
IntroductionObject Recognition Real Time, Online Applications Applications: Security, Shopping, Augmented
Reality Speeded Up Robust Features Algorithm OpenCV Library
Object Recognition3 General Steps
1. Interest Point Detection2. Interest Point Description Feature Vector
Extraction3. Feature Vector Matching Between Two
Images
Object RecognitionLoad training image Detect training interest points Extract training interest point descriptorsInitialize match objectInitialize and open camera feed While (Not User Exit)
Grab video frame Detect interest pointsExtract descriptors Match query points with training points If (Matching Points > Threshold)
Compute Homography Transform Box
Draw Box on Object and Display Else Continue
End While
Interest Point Detection Approximating the determinant of the
Hessian matrixIf determinant is local max -> Interest PointHessian approx. using Integral Images and
Box FiltersBig decreases in calculation time (constant
time calcs!)
Interest Point Detection Integral Image
Hessian Matrix
Interest Point Detection Interest Points found at different scales Box Filter scaled up, instead of down
sampling image
The first octave interest points are on the left side, and the second and third octave interest points are the right side for clarity
Interest Point Detection Calculate Integral Image, ILoop For Each Point
Loop For OctaveCalculate dxx, dyy, dxy with Box FilterNormalize ResponsesCalculate DeterminantIf (Determinant > Threshold)
Store Point as Interest Point at Scale
End IfEnd Loop Octave
End Loop For Each PointSuppress Non Maximum Interest PointsInterpolate Interest Points Between OctavesOutput: Interest Points
Feature Vector Description Interest Point Characterized with Haar
WaveletsOrientation Information ExtractedSquare Area Around IP in Direction of
OrientationSpatial Intensity Distribution
Feature Vector Description
Feature Vector Description For Each Interest Point
Calculate Orientation Window Area of 20s around
PointDivide Window into 4x4
subareasFor Each Subarea
Calculate Haar Wavelet
Smooth with GaussianForm Feature Vector
End For Each SubareaStore Feature Vector
End For Each Interest PointOutput: Feature Vector
Feature Vector Matchingk-Nearest Neighbors Fast Library for Approximated Nearest
Neighbors (FLANN) 2 Nearest Neighbors Found Distance Ratio Rule for Good Matches If Number of Good Matches > Threshold
Then Object Recognized
Feature Vector Matching
ResultsKey Parameter: Min Determinant of Hessian Balance Btw Detector and Descriptor at
det(H)=4500 Best: det(H)=2000, d_Ratio=0.6, Good
Matches=8 Frames Per Second: 2.9
ConclusionSURF Algorithm implemented and test with
OpenCV Robust to Scale Change, Rotation, and Noise Sufficiently Fast for Real Time Object
Recognition Integral Image and Box Filter yield huge
performance Algorithm prime for FPGA/GPU
implementation