گروه بینایی ماشین و پردازش تصویر Machine Vision and Image Processing Group Mean Shift ; Theory and Applications Presented by: Reza Hemati 1 89 دی December 2010 Mean Shift Theory and Applications Yaron Ukrainitz & Bernard Sarel 2 Agenda • Mean Shift Theory • What is Mean Shift ? • Density Estimation Methods • Deriving the Mean Shift • Mean shift properties • Applications • Clustering • Discontinuity Preserving Smoothing •Segmentation • Object Tracking • Object Contour Detection 3 Mean Shift Theory 4 Intuitive Description Region of interest Center of mass Mean Shift vector Objective : Find the densest region Distribution of identical billiard balls 5 Intuitive Description Region of interest Center of mass Mean Shift vector Objective : Find the densest region Distribution of identical billiard balls 6 Intuitive Description Region of interest Center of mass Mean Shift vector Objective : Find the densest region Distribution of identical billiard balls 7 Intuitive Description Region of interest Center of mass Mean Shift vector Objective : Find the densest region Distribution of identical billiard balls 8 Intuitive Description Region of interest Center of mass Mean Shift vector Objective : Find the densest region Distribution of identical billiard balls 9 Intuitive Description Region of interest Center of mass Mean Shift vector Objective : Find the densest region Distribution of identical billiard balls 10 Intuitive Description Region of interest Center of mass Objective : Find the densest region Distribution of identical billiard balls 11 What is Mean Shift ? A tool for: Finding modes in a set of data samples, manifesting an underlying probability density function (PDF) in RN PDF in feature space • Color space Non-parametric • Scale spaceDensity Estimation • Actually any feature space you can conceive Discrete PDF Representation •… Data Non-parametric Density GRADIENT Estimation (Mean Shift) PDF Analysis 12 Non-Parametric Density Estimation Assumption : The data points are sampled from an underlying PDF Data point density implies PDF value ! Assumed Underlying PDF Real Data Samples 13 Non-Parametric Density Estimation Assumed Underlying PDF Real Data Samples 14 Non-Parametric Density Estimation ? Assumed Underlying PDF Real Data Samples 15 Parametric Density Estimation Assumption : The data points are sampled from an underlying PDF PDF(x) = c e ( x-μi )2 2 i 2 i i Estimate Assumed Underlying PDF Real Data Samples 16 Kernel Density Estimation Parzen Windows - Function Forms 1 n P ( x) K ( x - x i ) n i 1 A function of some finite number of data points x1…xn Data In practice one uses the forms: d K (x) c k ( xi ) or i 1 Same function on each dimension K (x) ck x Function of vector length only 18 Kernel Density Estimation Various Kernels 1 n P ( x) K ( x - x i ) n i 1 Examples: A function of some finite number of data points x1…xn c 1 x • Epanechnikov Kernel K E (x) 0 2 Data x 1 otherwise • Uniform Kernel c x 1 KU (x) 0 otherwise • Normal Kernel 1 2 K N (x) c exp x 2 19 Kernel Density Estimation Gradient 1 n P ( x) K ( x - x i ) n i 1 Using the Kernel form: We get : Give up estimating the PDF ! Estimate ONLY the gradient x - xi K (x - xi ) ck h 2 Size of window n x g i i c n c n i 1 P(x) ki gi n x n i 1 n i 1 gi i 1 20 g(x) k (x) Computing Kernel Density The Estimation Mean Shift Gradient n x g i i c n c n i 1 P(x) ki gi n x n i 1 n i 1 gi i 1 21 g(x) k (x) Computing The Mean Shift n x g i i c n c n i 1 P(x) ki gi n x n i 1 n i 1 gi i 1 Yet another Kernel density estimation ! Simple Mean Shift procedure: • Compute mean shift vector n x - xi 2 xi g h i 1 x m ( x) 2 n x x i g h i 1 •Translate the Kernel window by m(x) 22 g(x) k (x) Mean Shift Mode Detection What happens if we reach a saddle point ? Perturb the mode position and check if we return back Updated Mean Shift Procedure: • Find all modes using the Simple Mean Shift Procedure • Prune modes by perturbing them (find saddle points and plateaus) • Prune nearby – take highest mode in the window 23 Mean Shift Properties • Automatic convergence speed – the mean shift vector size depends on the gradient itself. • Near maxima, the steps are small and refined Adaptive Gradient Ascent • For Uniform Kernel ( ), convergence is achieved in a finite number of steps • Normal Kernel ( ) exhibits a smooth trajectory, but is slower than Uniform Kernel ( ). 24 Real Modality Analysis Tessellate the space with windows Run the procedure in parallel 25 Real Modality Analysis 26 The blue data points were traversed by the windows towards the mode Real Modality Analysis An example Window tracks signify the steepest ascent directions 27 Mean Shift Strengths & Weaknesses Strengths : Weaknesses : • Application independent tool • The window size (bandwidth selection) is not trivial • Suitable for real data analysis • Does not assume any prior shape (e.g. elliptical) on data clusters • Can handle arbitrary feature spaces • Inappropriate window size can cause modes to be merged, or generate additional “shallow” modes Use adaptive window size • Only ONE parameter to choose • h (window size) has a physical meaning, unlike K-Means 28 Mean Shift Applications 29 Clustering Cluster : All data points in the attraction basin of a mode Attraction basin : the region for which all trajectories lead to the same mode 30 Mean Shift : A robust Approach Toward Feature Space Analysis, by Comaniciu, Meer Clustering Synthetic Examples Simple Modal Structures Complex Modal Structures 31 Clustering Feature space: L*u*v representation Modes found Real Example Modes after pruning Initial window centers Final clusters 32 Clustering Real Example L*u*v space representation 33 Clustering Real Example 2D (L*u) space representation Final clusters 34 Discontinuity Preserving Smoothing Feature space : Joint domain = spatial coordinates + color space xs xr K (x) C k s kr h h s r Meaning : treat the image as data points in the spatial and gray level domain Image Data (slice) Mean Shift vectors Smoothing result 35 Mean Shift : A robust Approach Toward Feature Space Analysis, by Comaniciu, Meer Discontinuity Preserving Smoothing Flat regions induce the modes ! z 37 y Discontinuity Preserving Smoothing The effect of window size in spatial and range spaces 38 Discontinuity Preserving Smoothing Example 39 Discontinuity Preserving Smoothing Example 40 Segmentation Segment = Cluster, or Cluster of Clusters Algorithm: • Run Filtering (discontinuity preserving smoothing) • Cluster the clusters which are closer than window size Image Data (slice) Mean Shift vectors Smoothing result Segmentation result Mean Shift : A robust Approach Toward Feature Space Analysis, by Comaniciu, Meer41 http://www.caip.rutgers.edu/~comanici Segmentation Example …when feature space is only gray levels… 42 Segmentation Example 43 Segmentation Example 44 Segmentation Example 45 Segmentation Example 46 Segmentation Example 47 Segmentation Example 48 Non-Rigid Object Tracking … … 49 Mean-Shift Object Tracking General Framework: Target Representation Choose a reference model in the current frame … Current frame Choose a feature space … Represent the model in the chosen feature space 51 Mean-Shift Object Tracking General Framework: Target Localization Start from the position of the model in the current frame Search in the model’s neighborhood in next frame Find best candidate by maximizing a similarity func. Repeat the same process in the next pair of frames … Model Candidate Current frame … 52 Mean-Shift Object Tracking Target Representation Choose a reference target model Represent the model by its PDF in the feature space Choose a feature space 0.35 Quantized Color Space Probability 0.3 0.25 0.2 0.15 0.1 0.05 0 1 2 3 . . . m color 53 Kernel Based Object Tracking, by Comaniniu, Ramesh, Meer Mean-Shift Object Tracking Target Model Target Candidate (centered at 0) (centered at y) 0.35 0.3 0.3 0.25 0.25 Probability Probability PDF Representation 0.2 0.15 0.1 0.2 0.15 0.1 0.05 0.05 0 0 1 2 3 . . . m 1 2 color q qu u 1..m 3 . . . m color m q u 1 u 1 Similarity f y f q , p y Function: p y pu y u 1..m m p u 1 u 1 54 Mean-Shift Object Tracking Finding the PDF of the target model xi i1..n candidate model Target pixel locations y 0 k ( x) A differentiable, isotropic, convex, monotonically decreasing kernel b( x ) The color bin index (1..m) of pixel x • Peripheral pixels are affected by occlusion and background interference Probability of feature u in model k xi b ( xi ) u y xi pu y Ch k h b ( xi ) u 2 0.3 0.3 0.25 0.25 0.2 Pixel weight 0.15 0.1 Normalization factor Probability Normalization factor Probability qu C Probability of feature u in candidate 2 0.2 0.15 Pixel weight 0.1 0.05 0.05 0 0 1 2 3 . color . . m 1 2 3 . color . . m 56 Mean-Shift Object Tracking Similarity Function Target model: q q1, , qm Target candidate: p y p1 y , Similarity function: f y f p y , q ? , pm y The Bhattacharyya Coefficient q q1 , , qm p1 y , p y q 1 , pm y y 1 m p y q f y cos y pu y qu p y q u 1 p y T 57 Mean-Shift Object Tracking Target Localization Algorithm Start from the position of the model in the current frame q Search in the model’s neighborhood in next frame p y Find best candidate by maximizing a similarity func. f p y , q 58 Mean-Shift Object Tracking Approximating the Similarity Function m f y pu y qu u 1 Linear approx. (around y0) Model location: y0 Candidate location: 1 m 1 m f y pu y0 qu pu y 2 u 1 2 u 1 y qu pu y0 y xi pu y Ch k h b ( xi ) u Independent of y Ch 2 y xi wi k h i 1 n 2 2 Density estimate! (as a function of y) 59 Mean-Shift Object Tracking Maximizing the Similarity Function The mode of Ch 2 y xi wi k h i 1 n 2 = sought maximum Important Assumption: The target representation provides sufficient discrimination One mode in the searched neighborhood 60 Mean-Shift Object Tracking Applying Mean-Shift The mode of Ch 2 y xi wi k h i 1 2 n = sought maximum y0 xi 2 xi g h i 1 y1 2 n y0 xi g h i 1 n n y xi Original Find mode of c k Mean-Shift: i 1 h 2 using y0 xi 2 xi wi g 2 h i 1 y xi y using 1 n y0 xi 2 h wi g h i 1 61 n Extended Find mode of c wi k Mean-Shift: i 1 n Mean-Shift Object Tracking About Kernels and Profiles A special class of radially symmetric kernels: K x ck x 2 The profile of kernel K k x g x y0 xi 2 xi wi g 2 h i 1 y xi y using 1 n y0 xi 2 h wi g h i 1 62 n Extended Find mode of c wi k Mean-Shift: i 1 n Mean-Shift Object Tracking Choosing the Kernel A special class of radially symmetric kernels: K x ck x 2 Epanechnikov kernel: Uniform kernel: 1 x if x 1 k x 0 otherwise 1 if x 1 g x k x 0 otherwise y0 xi 2 xi wi g h i 1 y1 n y0 xi 2 wi g h i 1 n n y1 xw i 1 n i i w i 1 i 63 64