Presentation is loading. Please wait.

Presentation is loading. Please wait.

A segmentation and tracking algorithm

Similar presentations


Presentation on theme: "A segmentation and tracking algorithm"— Presentation transcript:

1 A segmentation and tracking algorithm http://test.netii.net
Mean shift A segmentation and tracking algorithm

2 Mean shift, the history Mean shift was first proposed by Fukunaga and Hostetler (Fukunaga & Hostetler, 1975), Later adapted by Cheng (Cheng, 1995) for the purpose of image analysis. Recently it was extended by Comaniciu, Meer and Ramesh to low-level vision problems, including, segmentation (Comaniciu & Meer, 2002), adaptive smoothing (Comaniciu & Meer, 2002) and tracking (Comaniciu, Ramesh & Meer, 2003).

3 Mean-Shift, An overview
Mean-shift يك روش كلي غير پارامتريك براي پيدا كردن ماكزيمم محلي (mode) و يا خوشه بندي (Clustering)‌ است. بر خلاف روش K-means ، هيچ پيش فرضي بر روي شكل توزيع داده ها و يا خوشه ها ويا تعداد ماكزيمم هاي محلي وجود ندارد. ايده اصلي در اين الگوريتم اين است كه نقاط موجود دريك فضاي d بعدي ويژگي (هرنقطه يك بردار ويژگي d بعدي است) را در قالب يك توزيع احتمال در نظر ميگيرد كه در آن ،‌ نواحي فشرده (dense) مربوط به ماكزيمم هاي محلي (mode) توزيع مربوطه ميباشند. اين الگوريتم با يك روش تكراري ماكزيمم هاي محلي را پيدا ميكند.

4 Mean-Shift algorithm به ازاي هر نقطه داده در فضاي ويژگي (feature space) و قرار دادن مركز يك پنجره جستجو در آن نقطه ،‌ بر رسي ميشود كه آيا آن نقطه داده از نظر توزيع آماري در يك ماكزيمم محلي قرار دارد يا خير. در صورت واقع نبودن در يك ماكزيمم محلي ،‌ مركز همسايگي جابجا شده و مجددا بررسي ميشود كه آيا آن نقطه جدید (مركز همسايگي) از نظر توزيع آماري در يك ماكزيمم محلي قرار دارد يا خير. مقايسه فوق ادامه ميابد. تا جائيكه به يك همگرائي رسيده و نقطه داده ای پیدا شود (مركز پنجره جستجو) که بر روي ماكزيمم محلي قرار گيرد. (در شرایط خاص با محدود کردن تعداد دفعات تکرار نیز میتوان از الگوریتم خارج شد ).

5 Mean-Shift algorithm نقاط داده اي كه با اين ماكزيمم محلي مرتبط هستند ( در مرحله پیدا شدن ماکزیمم محلی، در داخل پنجره جستجو قرار گرفته اند) بعنوان اعضاي خوشه (Cluster) مرتبط با این ماکزیمم محلی در نظر گرفته ميشوند. توجه داشته باشيد كه اين الگوريتم ميتواند چندين نقطه ماكزيمم محلي را پيدا كند.

6 Mean-Shift Algorithm نكته با اهميت اين است كه تعداد كلاستر ها بستگي به توزيع آماري داده ها دارد. چون همه نقاط داده بعنوان مركز يك پنجره جستجو انتخاب شده و در مسير حركت نهايتا به تعدادی ماكزيمم محلي ميرسند. توجه کنید که همواره تعدادی از نقاط همگی به یک ماکزیمم محلی می رسند.

7 Mean-Shift Algorithm مجموعه نقاطي كه به يك ماكزيمم محلي يكسان منتهي ميشوند تشكيل يك خوشه ميدهند. در كاربرد خوشه بندي ميتوانيم یکی از ويژگي های مركز خوشه یا ماکزیمم محلی را ، مثلا ویژگی رنگ آنرا را به همه نقاط خوشه نسبت دهيم.

8

9

10

11

12

13 Mean-Shift Algorithm Consider a set S of n data points xi (i = 1, 2, … , n) in d-Dimensional Euclidean space X. In other word xi is a d dimensional feature vector. Let K(x) denote a kernel function that indicates how much point x contributes to the estimation of the mean. Note that only the points located inside the moving window will contribute to calculation of mean.

14 Mean-Shift Algorithm Let K(x) denote a kernel function that indicates how much point x contributes to the estimation of the mean. Then, the sample mean m at x with kernel K is given by The difference m(x) - x is called mean shift. Note that x is the point considered to be at the center of search window. And xi ‘s are all data points located inside the search window.

15 Mean-Shift Algorithm Mean shift algorithm: iteratively moves a data point x (located at the center of a search window) to its mean m(x) position (that is the center of gravity of all data points located inside the search window). In each iteration, x m(x). (Now m(x) is considered as window center) The algorithm stops when m(x) = x. The sequence x; m(x); m(m(x)); … is called the trajectory of x. If sample means are computed at multiple points, then at each iteration, update is done simultaneously to all these points.

16 Mean-Shift Algorithm Remember that x is a feature vector.
Typically, kernel K is a function of (square norm of x) k is called a profile of K. Properties of profile k is as follows:

17 Mean-Shift Algorithm Examples of Kernels [Che98]:
یعنی مقدار میانگین را فقط برای نقاطی که در یک همسایگی معینی از مرکز پنجره قرار دارند در محاسبه میانگین لحاظ میکنیم. دامنه این همسایگی توسط تعریف تابع کرنل تعیین میشود. همواره مخرج کسر مساوی عددی است که نشان دهنده تعداد نمونه ها میباشد.

18 Mean-Shift Algorithm Kernel density estimation
و ميخواهيم ماكزيمم هاي محلي يا mode داده ها در اين توزيع احتمال را پيدا كنيم.

19 Mean-Shift Algorithm Kernel density estimation
How can we estimate such probability density. در اينجا ميخواهيم دانسيته متغيير هاي تصادفي را كه بردارهاي ويژگي d بعدي هستند و در داخل يك پنجره جستجو قرار ميگيرند را تقريب بزنيم.

20 Mean-Shift Algorithm Kernel density estimation
Parzen window technique is a popular method for estimating the probability density [CRM00, CRM02, DH73]. For a set of n data points xi in d-Dimensional space, the kernel density estimate with kernel K(x) (profile k(x)) and radius h is: kernel density estimate (6) Profile of K

21 Mean-Shift Algorithm Kernel density estimation
كيفيت تقريب زننده دانسيته كرنل از طريق اندازه گرفتن ميانگين توان 2 خطا (MSE) بين دانسيته واقعي و دانسيته تقريب زده شده اندازه گرفته ميشود. و هرچقدر اين MSE كمتر باشد ،‌ تقريب زننده دانسيته كرنل از كيفيت بهتري برخوردار است.

22 Mean-Shift Algorithm Kernel density estimation
The mean square error is minimized by the Epanechinkov kernel: بعبارت ديگر استفاده از كرنل فوق خطاي MSE را حد اقل ميكند. where , d refers to dimensional of feature vector, Cd is the volume of the unit d-Dimensional sphere, with the following profile:

23 Mean-Shift Algorithm Kernel density estimation
A more commonly used kernel is Gaussian

24 Mean-Shift Algorithm Kernel density estimation
We can define another kernel such that: نتايج مهم: استفاده از كرنل G در Mean Shift ،‌ x را در جهت f^ (تقريب كرنل دانسيته) با كرنل K حركت ميدهد.

25 Mean-Shift Algorithm Kernel density estimation
f^ : kernel density estimate. f^(G): density estimate with kernel G Where C is a normalization constant. h is the kernel radius Mean shift M with kernel G is MG(x) = m(x) - x Mean shift

26 Examples for Mean shift clustering
Find features (color, gradients, texture, etc). Initialize windows at individual feature points. Perform mean shift for each window until convergence. Merge windows that end up near the same “peak” or mode.

27 Examples for Mean shift clustering
In this example, feature is color considered in L*u*v* color model. So, a point that is a feature vector has 3 components as L*, u* and v*. Note that each point in feature space (a) or (b) corresponds to one pixel. Meanshift calculation will be carried on for every point in feature space. A local maxima In (b) points that have converged to the same mean point are displayed with their real color in RGB color image.

28 Examples for Mean shift clustering
A local maxima Note how points are moving towards the local maximas (modes) that represents the center of gravity for those data points. In this example we have ended up with 7 segments (modes).

29 Examples for Mean shift clustering
Result of Mean-shift Segmentation. All points in image that their corresponding point in feature space have converged to the same mean point are given the RGB color of that mean point . (L*u*v* value of the mean point is converted to RGB) Original

30 Mean shift: The Cons and Pros
Does not assume spherical clusters. Just a single parameter (window size). Finds variable number of modes (clusters), depending on the given data. Robust to outliers. Cons: Output depends on window size. Computationally expensive (calculation must be carried out for all points in the feature space). Does not scale well with dimension of feature space.

31 Mean Shift Tracking

32 Mean Shift for Tracking
ساده ترين نوع اين الگوريتم،‌ يك confidence map از تصوير ورودي (فريم فعلي) ميسازد بطوريكه اين confidence map با استفاده از هيستوگرام رنگ شیی هدف در فريم قبلي ساخته میشود. Confidence map یک فضای ویژگی از هیستوگرام رنگ است. سپس با استفاده از الگوريتم Mean shift ماكزيمم هاي محلي در اين confidence map را در یک پنجره جستجو که در یک همسایگی از محل شئي در فريم قبلي تعریف میشود ، پيدا ميكنم. الگوريتم هاي متعددي از جمله الگوريتم Ensemble Tracking (Avidan, 2001), براي اين كار پيشنهاد شده اند.

33 Mean Shift for Tracking
برای جلوگیری از بر رسی جزئیات شیی هدف، کلیات آنرا از طریق بر رسی هیستوگرام رنگ آن در نظر میگیرند. بنا براین الگوريتم Mean shift هيستوگرام شئي هدف در فريم فعلي را با هيستوگرام های نواحي جستجوي كانديد در فريم بعدي مقایسه ميكند. هدف اين جستجو پیدا کردن مکانی در فریم بعدی است که correlation بين هیستوگرام رنگ در آن ناحیه و هیستوگرام رنگ شیی هدف ماکزیمم شود. این مکان همان موقعیت هدف در فریم بعدی است.

34 Mean Shift for Tracking
بنا بر اين ردگيري يك شئي شامل استخراج هيستوگرام ،‌ محاسبه وزن و تخمين محل جديد براي شئي هدف است.

35 Mean Shift Tracking, Basic ideas
در اينجا فرض ميكنيم كه ردگيري بر مبناي ويژگي رنگ شئي مورد نظر انجام ميشود رنگ ميتواند در فضاي L*u*v* در نظر گرفته شود. فرض كنيد n نقطه در اين فضاي ويژگي وجود دارد ،‌ هر نقطه xi, i = 1, 2, …, n در اين فضا به یکی از رنگهای 1, 2, …, m کوانتایز میشود. در نتیجه فضای ویژگی با هیستوگرام m ستونی نشان داده میشود.

36 Mean Shift Tracking, Basic ideas
ابتدا شئي مورد نظر (هدف) را بر مبناي توزيع احتمال رنگ مدل ميكنيم،‌ در اينجا منظور ما از مدل كردن شیی هدف محاسبه هيستوگرام m ستوني رنگ برای آن است. ردگيري در دنباله فريم هاي ويدئو بر مبناي انطباق دانسيته رنگ هدف در فریم مرجع و دانسیته رنگ در پنجره مورد جستجو در فریم فعلی انجام ميشود. براي محاسبه دانسيته رنگ و محل شئي از روش Mean-shift استفاده ميكنيم.

37 Mean Shift Tracking فرض كنيد xi, i = 1, … , n نشان دهنده پيكسل ها ی مدل (شئی هدف) در فضای ویژگی باشد. توزيع رنگ را با استفاده از هيستوگرام رنگ m ستوني در نظر بگيريد. b(xi) نشان دهنده ستونی از هيستوگرام است که رنگ xi به آن نسبت داده میشود. آنگاه ،‌ احتمال اینکه یک رنگ u در مدل وجود داشته باشد (u در یکی از ستون های هیستوگرام شئی هدف جای شود) با qu تعریف میشود : C is a normalization constant. بعبارت ديگر رابطه (16) نشان دهنده احتمال وجود رنگ u در هيستوگرام رنگ مدل، يا تابع توزيع رنگ است.

38 Mean Shift Tracking اگر رنگ u و رنگ نقطه xi هر دو در یک ستون هیستوگرام قرار بگیرند ، آنگاه δ(a) = 1 و با توجه به تعریف C داریم qu = 1 یعنی احتمال اینکه رنگ u در مدل وجود داشته باشد مساوی 1 است.

39 Mean Shift Tracking در یک پنجره جستجو ، تاثیر هر یک از xi ها در محاسبه میانگین از طریق محاسبه فاصله هر xi تا مرکز ثقل همه xi ها در آن پنجره ، تعیین میکند. kernel profile k وزن تاثیر فوق را تعیین میکند.

40 Target Candidate فرض کنید yi, i = 1, 2, … , nh نشان دهنده محل پیکسل های هدف در پنجره جستجو به مرکز y باشد. در این پنجره تعداد nh نقطه وجود دارد. آنگاه احتمال اینکه پیکسل y که در مرکز پنجره جستجو به شعاع h قرار دارد دارای رنگ u باشد:

41 Color Density Matching
Pu(y) : احتمال اینکه پیکسل y که در مرکز پنجره جستجو به شعاع h قرار دارد به رنگ u باشد. qu احتمال اینکه رنگ u در مدل (هدفی که در اولین فریم مشخص شده است) وجود داشته باشد. m تعداد ستون های هیستوگرام

42 Color Density Matching
در این کار برد ، ρ : فاصله باتاچاریا یک معیار نشان دهنده میزان انطباق رنگ مدل (در فریم مرجع) با رنگ شیی هدف در فریم فعلی است. مقدار بزرگ ρ نشان دهنده وجود انطباق خوب است.

43 Main steps in Mean shift tracking algorithm

44 Main steps in Mean shift tracking algorithm
qu is the probability that color u exists in model. Given {qu} of model and location y’ of target in previous frame: Initialize location of target in current frame as y. // y is the center of a search window Compute {pu(y)} and ρ(p(y), q). Apply mean shift: Compute z, as a new center for window, for the window centered at y and the data points yi inside that window: ( z is the mean or centeriod of all points yi inside the window ) g is the profile of a kernel G

45 Main steps in Mean shift tracking algorithm
4. Compute {pu(z)} and ρ(p(z) , q) While ( ρ(p(z) , q) < ρ(p(y) , q) ) do z  ½(y+z) 6. If || z - y || is small enough, then stop Else y  z goto (1)

46 Detail description of steps in mean shift tracking algorithm.
3. Apply mean shift: that is to compute new location for y as This new location, z, is found among data points yi that are located in a window with radius h centered in y Note that z will be the widow center in the new search window.

47 Mean Shift Tracking Compute {pu(z)} and ρ(p(z) , q).
Step 5 is used to validate the target's new location. Step 5 can be stopped if y and z round off to the same pixel. Tests show that Step 5 is needed only 0.1% of the time. Compute {pu(z)} and ρ(p(z) , q). 5. While ρ(p(z) , q) < ρ(p(y) , q), do z  ½(y+z). 6. If || z-y || is small enough, then stop. else, set y  z, and goto (1).

48 Mean Shift Tracking Compute {pu(z)} and ρ(p(z) , q).
Step 6: can stop the algorithm if y and z round off to the same pixel. Compute {pu(z)} and ρ(p(z) , q). 5. While ρ(p(z) , q) < ρ(p(y) , q), do z  ½(y+z). 6. If || z-y || is small enough, then stop. else, set y  z, and goto (1).

49 To track object that changes its size and shape
Mean Shift Tracking To track object that changes its size and shape during time, we shall vary radius h, (the size of search window). (see [CRM00] for details).

50 Mean Shift Tracking Frame 2 (target found) Frame 1 (Model)

51 Mean Shift Tracking Model, specified manually

52 Mean Shift References

53 Tracking References

54 CAMShift: Continuously Adaptive Mean Shift [Bradski, 1998]

55 CAMShift: Continuously Adaptive Mean Shift [Bradski, 1998]
وقتيكه اندازه شئي متحرك تغییر میکند ( بسمت دوربين نزديك ميشود و يا از آن دور ميشود) ،‌ استفاده از يك اندازه ثابت براي پنجره جستجو ، و یا پنجره ای که اندازه آن بطور مناسبی تعیین نشده باشد , نميتواند شئي را بدرستي رد گيري كند , زیرا در این حالت الگوریتم رد گیری شئي را گم ميكند. براي رفع اين نارسائي ،‌ روش CAMShift بعنوان يك نسخه تغيير يافته روش Mean shift معرفي شد.

56 CAMShift: Continuously Adaptive Mean Shift [Bradski, 1998]
از طرفي استفاده كردن از پنجره هاي با اندازه بزرگ در روش Measn-shift ممكن است: اشيائي مشابه جسم مورد جستجو (distracters) را پيدا كند. اشتباها آنها را ردگيري نمايد و یا اگر اين حالت اتفاق نيفتد. ‌ منجر به افزايش بار محاسباتي گردد.

57 CAMShift: Continuously Adaptive Mean Shift
بر خلاف الگوريتم Mean shift كه براي توزيع هاي ايستا طراحي شده است ،‌روش CAMShift براي توزيع هائي كه بصورت ديناميك تغيير ميكنند طراحي شده است. در صورت استفاده از ويژگي رنگ براي ردگيري ،‌ در روش CAMShift بايد بتوانيم با تغييرات ديناميك توزيع احتمال رنگ در دنباله فريم هاي ويدئو كار كنيم. دليل بروز تغييرات درتوزيع رنگ اين است كه شئ مورد ردگيري در طول زمان تغيير محل و تغيير اندازه و یا تغییر جهت (جهت قرار گرفتن نسبت به دوربين) ميدهد.

58 CAMShift: Continuously Adaptive Mean Shift
بنا بر این برای یک رد گیری موفق : كار بر در ابتداي راه اندازي سيستم ميتواند اندازه اوليه پنجره را به اندازه معقولي قرار دهد.

59 CAMShift: Continuously Adaptive Mean Shift
فرض كنيد يك تصوير رنگي و هيستوگرام رنگ (مثلا هيستوگرام Hue) آن تصوير را در اختيار داريم. با استفاده از اين هيستو گرام بعنوان يك Look-up table يك تصوير جديد (هم اندازه تصویر اولیه) ميسازيم كه تنها محل نقاط مورد علاقه (هدف) را با اندازه پارامتر ويژگي مورد نظر (مثلا Hue) نشان ميدهد. اين تصوير جدید probability Distribution image ناميده ميشود. اگر هيستوگرام مدل ،‌ توصیف کننده درستی از دانسيته توزيع ويژگي مورد نظر (مثلا ویژگی hue ) باشد، آنگاه probability Distribution image يك توزيع آماري از مدل اوليه خواهد بود.

60 CAMShift: Continuously Adaptive Mean Shift
ما در هر فریم بدنبال نقاطی میگردیم که رنگ آنها به رنگ مدل ما در فریم مرجع نزدیک تر باشد.

61 CAMShift: Continuously Adaptive Mean Shift
در الگوريتم CAMShift ابتدا probability Distribution image برای هدف مورد نظر در فریم مرجع محاسبه میشود . براي اين منظور پارامتر هاي توزيع هدف (اندازه پنجره جستجو) را ابتدا بصورت دستی تعیین میکنیم. برای فریم های بعدی نیز با استناد به ویژگی انتخاب شده در فریم مرجع، تصویر توزیع احتمال را میسازیم. و سپس الگوریتم meanshift بر روی این probability Distribution image اعمال میگردد. که در نتیجه مرکز ثقل داده های توزیع احتمال که نشان دهنده مرکز هدف است پیدا میشود. در يك تك فريم الگوريتم mean shift آنقدر تكرار ميشود تا به حالت هم گرائي برسد و يا اينكه به يك حد بالائي از تعداد دفعات تكرار برسيم).

62 CAMShift, An example: Tracking based on color
توجه کنید که در شکل a ، ویژگی (hue رنگ) نقاط داخل مستطیل با ویژگی رنگ نقاط داخل مستطیل در شکل c یکسان است.

63 CAMShift, An example: Tracking based on color
در این مثال همه رنگ هائی که داخل مستطیل شکل بالا (چپ) قرار دارند بعنوان ویژگی های هدف ، در سایر فریم ها جستجو میشوند. توجه کنید که در فریم مدل ، رنگهای مدل سفید و خاکستری هستند.

64 Mean Shift Tracking Target. Since we know That the object is
moving toward us, we can enlarge the search window Size. Model Model Target

65 CAMShift: Continuously Adaptive Mean Shift
بعنوان يك قاعده كلي ،‌ در ساختن probability Distribution image و یا تصوير Back-projection بجاي مثلا Hue رنگ ميتوانيم از بردار های ويژگي دیگری که متناسب با هدف مورد ردگيري هستند استفاده كنيم.

66 CAMShift: Continuously Adaptive Mean Shift
نکات قوت: به اندازه و جهت شئی مورد ردگیری وابسته نیست. پنجره جستجو بصورت وفقی تنظیم میشود. نکات ضعف : حجم محاسبات بالا تر نسبت به Meanshift و امکان گم کردن شئی هدف در صورت حرکت سریع ، چرخش ناگهانی و یا تغییر جهت های ناگهانی جسم . زیرا در این شرایط مقادیر تابع توزیع احتمال که تشابه دو نقطه را بهم نشان میدهند ، مقادیر کمی خواهند بود. و عمل تطابق (matching) بدرستی انجام نمیشود.

67

68 Tracking before radars

69

70 Mean Shift Tracking Let xi, i = 1, … , n, denote pixel locations of model centered at 0. Represent color distribution by discrete m-bin color histogram. Let b(xi) denote the color bin of the color at xi. Assume size of model is normalized; so, kernel radius h = 1. Then, the probability q of color u in the model is C is a normalization constant.


Download ppt "A segmentation and tracking algorithm"

Similar presentations


Ads by Google