By Sridhar Godavarthy Co-Author: Joshua Candamo Ph.D Advisors: Dr. Kasturi Rangachar Dr. Dmitry Goldgof Motivation Problem Definition Previous Work Baseline The Algorithm The Profile Model The performance metric Results Samples and Other Applications - “A picture is worth a thousand words" The United States army reports that they have lost more helicopters to power lines than against enemies in combat [*] [*] P. Avizonis and B. Barron, “Low cost wire detection system” Digital Avionics Systems Conference, vol. 1, pp. 3.C.3-1-3.C.3-4, 1999. In image processing applications, objects are typically represented without accounting for information from their surroundings. A novel approach to represent the profile of objects using Gaussian models is presented. The profile is a representation of the object and its surrounding regions. The profile model is empirically shown to be effective and easily applicable to several object detection tasks. Synthetically generated images [*] High altitude Videos with real wires Low altitude urban scenes [*] R. Kasturi, O. Camps, Y. Huang, A. Narasimhamurthy, and N. Pande, “Wire Detection Algorithms for Navigation,” NASA Technical Report, 2002. Previous Algorithm Example Image Boundary-based Feature Map Post-Processing Pattern Matching Detected Objects 1 Hough max( votes) min( votes) Threshold mean(votes ) Transform 2 Support Vector Machine (SVM): Found to be not suitable for thin wires Difficult to provide a good set of positive and negative examples “Future research should explore 1) integration over time of the obtained results to detect very thin wires and 2) use image context” Gandhi, T., Yang, M.T., Kasturi, R., Camps, O., Coraor, L., McCandless, J. “Performance Characterization of the Dynamic Programming Obstacle Detection Algorithm”, IEEE Trans. on Image Processing, vol. 15, no. 5, pp. 1202-1214, 2006. Gandhi, T., Yang M. T., Kasturi, R., Camps, O., Coraor, L., McCandless, J., “Detection of obstacles in the flight path of an aircraft” IEEE Trans. Aerospace and Electronic Systems, vol. 39, no. 1, pp. 176–191, 2003. 100 Detection (%) 90 80 70 60 50 Algorithm Described In [*] 40 30 20 Baseline [**] Algorithm Described In [**] (Baseline) 10 0 0 5 10 15 20 25 False Alarm (%) [*] J. Candamo and D. Goldgof, "Wire Detection in Low-Altitude, Urban, and Low-Quality Video Frames," International Conference Pattern Recognition, pp. 1-4, 2008. [**] J. Candamo, R. Kasturi, D. Goldgof, and S. Sarkar, "Detection of thin lines using low quality video from low altitude aircraft in urban settings," IEEE Transactions on Aerospace and Electronic Systems, vol. 45, no. 2, 2009. Video Frames Edge Detection Noise Reduction Line Fitting Support Pixels Profile Analysis Final Wires Scene Correction Weight Thresholding Initial Wire Estimates Video Frames Edge Detection Noise Reduction Line Fitting Support Pixels Profile Analysis Final Wires Scene Correction Weight Thresholding Initial Wire Estimates Each connected component in the feature map is represented using a chain code. Compute the chain code histogram: Only the pixels labeled with the code with the highest count in the histogram are kept. nv hist (v) , v 0,...,7 n 0 0 0 1 1 7 1 7 1 Video Frames Edge Detection Noise Reduction Line Fitting Support Pixels Profile Analysis Final Wires Scene Correction Weight Thresholding Initial Wire Estimates Straight lines: y mx c Fitting is done through regression, minimizing the squared error: 2 ( y ( mx c )) i i i A 4% fit improvement, leads to 15% ROC performance detection increase Video Frames Edge Detection Noise Reduction Line Fitting Support Pixels Profile Analysis Final Wires Scene Correction Weight Thresholding Initial Wire Estimates Thin Objects Wire p( z ) 1 (2 )d / 2 1/ 2 1 exp ( z )T 1 ( z ) 2 Surrounding Regions Object Profile hist(l) G3 G2 Looking for Symmetrical Profiles G1 l 0 47 96 178 255 Video Frames Edge Detection Noise Reduction Line Fitting Support Pixels Profile Analysis Final Wires Scene Correction Weight Thresholding Initial Wire Estimates Let the set of all wire candidates that “survived” the weight thresholding be S. | median{ms } mi | tan( ) where mi is the slope of the wire candidate, mS is the set of slopes corresponding to S, and θ is the angle deviation required for a wire to be considered correctly detected. Wire Detection Example Image Boundary-based Feature Map Pre-Processing Post-Processing Pattern Matching Initial Detected Objects Detected Objects Profile Estimation within an angle of 100 and y-intercept within 20 pixels of the ground truth Reasonable. Based on psychological studies of human perception 100 90 Detection (%) 80 70 60 50 Proposed Algorithm Final Final Algorithm Algorithm 40 Preliminary Preliminary Algorithm Algorithm [*]In [*][*] Algorithm Described 30 20 Algorithm In [**] Baseline Baseline [**]Described [**] (Baseline) 10 0 0 5 10 15 20 25 False Alarm (% ) [*] J. Candamo and D. Goldgof, "Wire Detection in Low-Altitude, Urban, and Low-Quality Video Frames," International Conference Pattern Recognition, pp. 1-4, 2008. [**] J. Candamo, R. Kasturi, D. Goldgof, and S. Sarkar, "Detection of thin lines using low quality video from low altitude aircraft in urban settings," IEEE Transactions on Aerospace and Electronic Systems, vol. 45, no. 2, 2009. No Tracking Low quality video Handles cluttered background Specifically designed for low altitude flight Robust Visual Complexity Choppy Wires Questions? Merci beaucoup pour votre patience Sridhar Godavarthy sgodavar @ cse.usf.edu www.cse.usf.edu/~sgodavar Found Videos are videos downloaded from the Internet UAV: Unmanned Aerial Vehicles Total Training 592 pixel blobs from detection correctly detected pixels total street ground truth pixels 16 traffic images Found Videos 40 videos UAV Videos 15 minutes of video false alarm false alarm pixels total image pixels Line i=(ρi, θi) Definition not concise 2 lines are equal if: 40 Line j=(ρj, θj) 40 px Weak feature map led to high FA rate HT is a weak pattern recognition method in reality: trigonometric operations are slow, and only robust to noise if you have low clutter Within the application domain: 2 image wires i & j are equivalent if they can be used interchangeably to describe the same true wire i & j are similar if they are likely to be perceived as equal by a human operator We define equivalency of wires as i j m1 m2 PAR _ SIM _ m c1 c2 PAR _ SIM _ c And line similarity as i j m1 m2 2PAR _ SIM _ m c1 c2 2PAR _ SIM _ c PAR_SIM_m = 0.2 (about 10o) PAR_SIM_c = 20px Image Support Points Canny Connected Component Labeling Low Level Image Understanding Strong Feature Map Morphological Filtering (No Training) Line Fitting Lines Lines Combine Similar Lines Steger’s Line Profile Global Line Direction Similarity Threshold Wires High Level Image Understanding (Training) Kasturi’s Threshold: wmax wmin T base 2 Base= control variable for ROC a 1 t 0 sign 1 comp(1) 1 comp(1) 1 Primitive mean Compute distance d to ith Gaussian i comp(sign ) No comp( sign ) a sign 0 sign 1 No sign 1 Use pixels along Initialize ath Gaussian y mx c t (sign ) Update ith Gaussian a a 1 No, i.e. 1st iteration a 1 No If d Td sign 0 Then t t 1 a3 Complete iterations for G3 p j z | x , j 1..3 Original Edge Map Feature Map y mi x ci t weightmax Wire Candidate i Using t = -1 0 1 Support Pixels Initial Weight (pixels) Weight Thresholding Sum No Are all Wire Candidates Done? Next candidate Yes Scene Correction “Most wire pixels are edge pixels” “Most of edge pixels are not wire pixels” Domain Definitions/Assumptions: m A wire i is described by the 3-tuple ( wi , mi , ci ) weight, slope, and y-intercept y mx c The weight is the # of pixels conforming the wire PAR_SIM_m = 0.2 (about 10o) PAR_SIM_c = 20px