1 / 51

סמינר בנושאים מתקדמים בעיבוד תמונה 2D Optical Flow מאת: נעם רביד וגל סטר

סמינר בנושאים מתקדמים בעיבוד תמונה 2D Optical Flow מאת: נעם רביד וגל סטר. Overview :. הקדמה משוואת הגבלת התנועה ( The Motion Constraint Equation ) The Aperture Problem חישוב הנגזרת עפ"י סימונצ'לי ( Simoncelli ) האלגוריתם של לוקאס וקאנייד ( Lucas and Kanade )

juan
Download Presentation

סמינר בנושאים מתקדמים בעיבוד תמונה 2D Optical Flow מאת: נעם רביד וגל סטר

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. סמינר בנושאים מתקדמים בעיבוד תמונה 2D Optical Flow מאת: נעם רביד וגל סטר

  2. Overview: • הקדמה • משוואת הגבלת התנועה (The Motion Constraint Equation) • The Aperture Problem • חישוב הנגזרת עפ"י סימונצ'לי (Simoncelli) • האלגוריתם של לוקאס וקאנייד (Lucas and Kanade) • האלגוריתם של הורן ושאנק (Horn and Schunck) • דוגמאות ומימושים • סיכום

  3. הקדמה • optical flow זהו זיהוי תנועה של אובייקט על פי בהירות ברצף של תמונות. • המטרה היא לנסות למצוא עבור כל פיקסל, בכל זוג תמונות עוקבות, את התנועה שהוא ביצע ביניהן.

  4. הקדמה: המשך... • המעקב אחר תנועת הפיקסלים נעשה ע"י מעקב אחר פיקסל מסוים בעל עוצמה מסוימת. ההנחה היא שלאותו גוף יהיה את אותן עוצמות בכל התמונות ברצף.

  5. הקדמה: המשך... • מתי בדיקה זו נופלת? • למשל, טלוויזיה מבוססת על אשליה של תנועה. בין התמונות ניתן לראות את התזוזה של הפיקסלים, למרות שלא מתבצעת תנועה פיזית. • כאשר נצלם כדור בעל צבע אחיד מסתובב סביב צירו, ידמה כי הכדור אינו זז, למרות שבחיים האמיתיים הוא מסתובב. • כשמצלמים תמונות רצופות, אם עוצמתו או כיוונו של האור משתנים, זה יראה כמו תנועה. למשל: כאשר נזיז את ניצוץ האור שמשתקף מכדור שאינו זז, האלגוריתם יקלוט את הכדור זז.

  6. Overview: • הקדמה • משוואת הגבלת התנועה (The Motion Constraint Equation) • The Aperture Problem • חישוב הנגזרת עפ"י סימונצ'לי (Simoncelli) • האלגוריתם של לוקאס וקאנייד (Lucas and Kanade) • האלגוריתם של הורן ושאנק (Horn and Schunck) • דוגמאות ומימושים • סיכום

  7. משוואת הגבלת התנועה בדו-מימד:(the 2d motion constraint equation) • כפי שציינו, נתחיל בהנחה כי הבהירות באזור מסוים קטן מספיק, תישאר זהה לכל אורך רצף התמונות, למרות שייתכן ומיקום האזור ישתנה. • נראה זאת ע"י הנוסחה הבאה: I(x,y,t) = I(x+δx,y+ δy, t+δt) • כלומר בהירות פיקסל (x,y) נשארת קבועה גם אחרי שהוא זז למקום חדש, בפרק זמן δt.

  8. משוואת הגבלת התנועה בדו-מימד: המשך...(the 2d motion constraint equation) I(x,y,t) = I(x+δx,y+ δy, t+δt)

  9. משוואת הגבלת התנועה בדו-מימד: המשך... • בהנחה ש-δx, δy, ו- δt קטנים מספיק, נוכל לפתח את הנוסחה עפ"י טור טיילור ונקבל: • כאשר H.O.T הם ה-Higher Order Terms. כלומר, אלו המשך האיברים בטור טיילור, ואנו מניחים שערכיהם קטנים מאוד וניתנים להזנחה. • נשים לב כי I(x,y,t) מצטמצם בשני אגפי המשוואה:

  10. משוואת הגבלת התנועה בדו-מימד: המשך... • נחלק ב- δt ונקבל: • זאת כאשר ו- , אלו הם רכיבי ה-x וה-y של מהירות הפיקסל בתמונה, הנקראת ה-optical flow של התמונה. • נשים לב גם כי ו- הם הנגזרות החלקיות של התמונה בנקודה (x,y,t). לנוחיות נגדיר את הנגזרות החלקיות בצורה הבאה:

  11. משוואת הגבלת התנועה בדו-מימד: המשך... • לכן נקבל את המשוואה בצורה קומפקטית יותר: • בעיית ה-Optical Flow מחפשת את הווקטור , ומשוואה זו היא אחת מ-2 המשוואות שנדרשות במערכת המשוואות כדי למצוא ווקטור זה.

  12. Overview: • הקדמה • משוואת הגבלת התנועה (The Motion Constraint Equation) • The Aperture Problem • חישוב הנגזרת עפ"י סימונצ'לי (Simoncelli) • האלגוריתם של לוקאס וקאנייד (Lucas and Kanade) • האלגוריתם של הורן ושאנק (Horn and Schunck) • דוגמאות ומימושים • סיכום

  13. The Aperture Problem: • בעיה זו נוצרת כתוצאה מכך שיש לנו רק משוואה אחת, שהיא המשוואה , ו-2 נעלמים (Vx, Vy) שאותם אנחנו רוצים למצוא. • המשוואה יוצרת מרחב פתרונות שנראה כך:

  14. The Aperture Problem: המשך... • ניתן לראות שחסרה לנו משוואה, ולכן נוצר מצב שרכיב אחד של התנועה הולך לאיבוד, ולא ניתן לשחזרו. • המקסימום שניתן לעשות זה לחשב את ה-Normal Flow: • חישוב ה-Normal Flow משמעו חישוב רכיב המהירות שכיוונו בניצב לכיוון שפת האובייקט בו אנו מתמקדים.

  15. The Aperture Problem: המשך... • נקרא ל-Normal Flow ווקטור המהירות הנורמאלית, או . לעומת זאת, רכיב המהירות המקביל לשפת האובייקט, , לא ניתן לגילוי. • את כיוון וגודל המהירות הנורמאלית נוכל לבטא כך: נשים לב שאת שני הפרמטרים אנו יכולים לבטא רק על סמך הנגזרות החלקיות בצורה הבאה:

  16. איך הבעיה נראית? נראה כי התמונה בפנים זזה ימינה, נכון?

  17. איך הבעיה נראית? כך נראים הדברים מאחורי הקלעים...

  18. דוגמה נוספת: The Barber Pole Illusion…

  19. The Barber Pole Illusion: המשך...

  20. Overview: • הקדמה • משוואת הגבלת התנועה (The Motion Constraint Equation) • The Aperture Problem • חישוב הנגזרת עפ"י סימונצ'לי (Simoncelli) • האלגוריתם של לוקאס וקאנייד (Lucas and Kanade) • האלגוריתם של הורן ושאנק (Horn and Schunck) • דוגמאות ומימושים • סיכום

  21. חישוב הנגזרת עפ"י סימונצ'לי (Simoncelli) • לפני שניגש לבעיית מציאת ה- optical flow, ניתן לראות שהנוסחאות מאלצות אותנו לחשב את הנגזרות החלקיות. • במאמר“Design of multi-dimensional derivative filters” (1994), חוקר בשם סימונצ'לי מציע דרך לחישוב: • נעשה קונוולוציה של רצף התמונות עם פילטר מותאם, וכך נקבל את הנגזרות החלקיות. סימונצ'לי הריץ ניסויים רבים ולבסוף מצא פילטר שנותן את הנגזרות הטובות ביותר עבור האלגוריתם. • סימונצ'לי השתמש בפילטר חד מימדי, שיפעל על הפיקסל המרכזי ו-2 הפיקסלים הסמוכים אליו בציר אליו אנו מחשבים את הנגזרת.

  22. חישוב הנגזרת עפ"י סימונצ'לי (Simoncelli): המשך... • לפני חישוב הנגזרת, נרצה לטשטש את התמונה על מנת להעלים רעש, ולמנוע השפעתו על חישוב הנגזרות. • לכן, בנוסף לפילטר המיועד למציאת הנגזרות, סימונצ'לי מציע פילטר מותאם לטשטוש.

  23. חישוב הנגזרת עפ"י סימונצ'לי (Simoncelli): המשך... • עכשיו רק נותר להראות כיצד מחשבים בשיטה זו את הנגזרות, נעבוד עם 5 תמונות רצופות מזמנים ( t-2, t-1, t, t+1, t+2): • חישוב Ix נעשה ע"י: קונוולוצית התמונה עם ווקטור הטשטוש בציר ה-t, כלומר קונוולוציה של כל פיקסל בתמונה עם הפיקסלים הזהים לו בתמונות הסמוכות ברצף. לאחר מכן קונוולוצית התמונה עם ווקטור הטשטוש בציר ה-y, ולבסוף קונוולוציה עם ווקטור הגזירה לציר ה-x. • חישוב Iy נעשה באותו אופן. • חישוב It נעשה ע"י קונוולוצית התמונה עם ווקטור הטשטוש לצירי ה-x וה-y, ולאחר מכן קונוולוציה עם ווקטור הגזירה לציר ה-t. • נשים לב שבכוונה בחישוב הנגזרות החלקיות Ix ו-Iy אנחנו קודם כל עושים קונוולוציה לציר t, מכיוון שזה מצמצם לנו את 5 התמונות לתמונה אחת, וכך נחסוך זמן בשאר הפעולות.

  24. חישוב הנגזרת עפ"י סימונצ'לי (Simoncelli): המשך...

  25. Overview: • הקדמה • משוואת הגבלת התנועה (The Motion Constraint Equation) • The Aperture Problem • חישוב הנגזרת עפ"י סימונצ'לי (Simoncelli) • האלגוריתם של לוקאס וקאנייד (Lucas and Kanade) • האלגוריתם של הורן ושאנק (Horn and Schunck) • דוגמאות ומימושים • סיכום

  26. האלגוריתם של לוקאס וקאנייד: (Lucas and Kanade) • לוקאס וקאנייד פרסמו מאמר בו הציעו אלגוריתם לפיתרון בעיית ה-aperture (1981). • האלגוריתם מוצא משוואות נוספות למשוואה הקיימת: • אם נתייחס לפיקסלים הקרובים אל הפיקסל שבחרנו כמייצגים את אותו אובייקט, נוכל להניח ש-flow שלהם זהה ל-flow הפיקסל הנבחר. • לכן, אם נבחר סביבה בגודל k x k פיקסלים ונפתח את משוואת הגבלת התנועה לכל אחד מהם, נקבל מערכת של k2 משוואות עם 2 נעלמים.

  27. האלגוריתם של לוקאס וקאנייד(Lucas and Kanade): המשך... • תתקבל מערכת הבאה: • בעיה: יש לנו יותר נוסחאות מנעלמים! • הפתרון:

  28. האלגוריתם של לוקאס וקאנייד(Lucas and Kanade): המשך... • המערכת ניתנת לפתירה בצורה יעילה יותר, אם נכפיל את המשוואה ב-AT מצד שמאל בכל אגף: • כעת, המשוואה תיראה כך: • נשים לב כי הסכומים נלקחים מכל הפיקסלים בסביבה שלנו.

  29. פתירת מערכת המשוואות • נבחן מתי מערכת זו ניתנת לפתירה: • המטריצה ATA צריכה להיות הפיכה (הפתרון ניתן ע"י (ATA)-1ATb) • אסור שערכי המטריצה יהיו קטנים מידי בעקבות רעש

  30. דוגמא – Optic Flow

  31. דוגמא – Optic Flow • מה ניתן להסיק מהמטריצה ATA? • במקרה של שפה: הגרדיאנטים לאורך השפה יהיו גדולים ובאותו כיוון • לכן, נקבל ערכים עצמיים l1גדול ו- l2קטן.

  32. דוגמא – Optic Flow • מה ניתן להסיק מהמטריצה ATA? • במקרה של פינה: הגרדיאנטים בשני הכיוונים יהיו גדולים • לכן, נקבל ערכים עצמיים l1 ו- l2 גדולים

  33. דוגמא – Optic Flow • מה ניתן להסיק מהמטריצה ATA? • במקרה של אזור אחיד: הגרדיאנטים בשני הכיוונים יהיו קטנים מאוד • לכן, נקבל ערכים עצמיים l1 ו- l2 קטנים

  34. מסקנות: • אומנם זוהי בעיה של שתי תמונות, אבל: • ניתן לראות שבעזרתה אפשר למצוא מאפיינים של התמונה. • אפשר להעריך על פי כך כמה רגיש כל אזור לבעיית ה-aperture • למשל אנו יודעים ששפות רגישות יותר לבעיה זו. • בכך נוכל לדעת אחרי אילו אובייקטים נוכל לעקוב בקלות, ואחרי אילו אובייקטים נתקשה לעשות זאת.

  35. טעויות באלגוריתם של לוקאס וקאנייד (Lucas & Kanade) • מהם הסיבות האופציונליות לשגיאות באלגוריתם? • במקרה בו אין הרבה רעש בתמונה, טשטוש מאבד פרטים חשובים בתמונה לשווא. • כאשר אחת מההנחות שלנו לא מתקיימת למשל : • הבהירות של הפיקסלים לא קבועה ב-2 מופעים של האובייקט. • התנועה שנעשתה היא גדולה. • נקודה מסוימת לא זזה באותו קצב כמו שכניה (אם הסביבה גדולה מדי). לכן, יש לחשב את גודל הסביבה האידאלי.

  36. Overview: • הקדמה • משוואת הגבלת התנועה (The Motion Constraint Equation) • The Aperture Problem • חישוב הנגזרת עפ"י סימונצ'לי (Simoncelli) • האלגוריתם של לוקאס וקאנייד (Lucas and Kanade) • האלגוריתם של הורן ושאנק (Horn and Schunck) • דוגמאות ומימושים • סיכום

  37. האלגוריתם של הורן ושאנק (Horn and Schunck) • הורן ושאנק הציעו במאמרם “Determining Optical Flow”(1981) הציעו פיתרון אחר לבעיית הגבלת התנועה.

  38. האלגוריתם של הורן ושאנק (Horn and Schunck) • הוצע רעיון אחר למשוואה החסרה במערכת המשוואות שתוביל למציאת (Vx, Vy). • הם יצאו מנקודת הנחה שברוב התמונה, המהירויות של האובייקטים אינן משתנות באופן קיצוני בין פיקסלים סמוכים.

  39. האלגוריתם של הורן ושאנק (Horn and Schunck) • כלומר, מרחב המהירויות של הפיקסלים יהיה חלק יחסית וללא קפיצות, ולכן ניתן לומר שהנגזרות החלקיות של רכיבי המהירות יהיו קטנות. • מכאן, נקבל נוסחה נוספת אותה נרצה לאפס:

  40. האלגוריתם של הורן ושאנק (Horn and Schunck) • נבחר לפתור את מערכת המשוואות בשיטת כופלי לגרנג'. כלומר, למצוא מינימום למשוואה הבאה: • אנו נבחר להשתמש ב- שערכו 1.0. מאמרים מסוימים מגדירים את ה- האופטימאלי מבחינתם כ-10, אך לאחר בדיקות נמצא שברוב המקרים אם נבחר שהוא 1 נקבל את התוצאות המדויקות ביותר. • שיטת כופלי לגרנג' פותרת מערכת משוואות ע"י נגזרות חלקיות מסובכות שנבחר לא להיכנס אליהם פה.

  41. האלגוריתם של הורן ושאנק (Horn and Schunck) • פתרון שיטת כופלי לגרנג' מביא לנו את הפתרונות הבאים: • עבור: • נשתמש בפתרונות אלו, כדי לפתח נוסחה איטרטיבית שתעזור לנו לחשב את המהירויות המדויקות ביותר:

  42. האלגוריתם של הורן ושאנק (Horn and Schunck) • הסבר הנוסחה: • K הוא מספר האיטרציה הנוכחית של הלולאה (בדרך כלל לא עובר את ה-100, למרות שאפשר לקבוע מקסימום כרצונך). • V0 ו-U0 הם הערכות המהירות הראשוניות, בדרך כלל נציב בהם 0. • ו- הם ממוצע ערכי ה - וה- שקיבלנו בכל האיטרציות עד כה.

  43. האלגוריתם של הורן ושאנק (Horn and Schunck) • רק נרצה לקבוע מתי האיטרציות יפסיקו, והאלגוריתם יחליט כי הגענו לפתרון מספק. • על מנת לעשות זאת, נגדיר לכל שלב ווקטור בשם שיהיה שרשור של כל ווקטורי המהירות שמצאנו בשלב זה. כלומר, אם אנחנו עובדים עם תמונה בגודל NxM, נקבל ווקטור באורך NxMx2, מכיוון שלכל פיקסל יש מהירות המורכבת מ-2 רכיבים. • אנחנו נקבע סף כלשהו קטן TOL – Tolerance Level, שנדע שכאשר יתקיים: משמע שהאלגוריתם הגיע לתוצאה הטובה ביותר ואין טעם להמשיך.

  44. האלגוריתם של הורן ושאנק (Horn and Schunck)

  45. Overview: • הקדמה • משוואת הגבלת התנועה (The Motion Constraint Equation) • The Aperture Problem • חישוב הנגזרת עפ"י סימונצ'לי (Simoncelli) • האלגוריתם של לוקאס וקאנייד (Lucas and Kanade) • האלגוריתם של הורן ושאנק (Horn and Schunck) • דוגמאות ומימושים • סיכום

  46. Optical Flow Vectors דוגמאות ושימושים: Image sequence (single camera) Tracked sequence

  47. דוגמאות ושימושים: המשך... • http://www.youtube.com/watch?v=0Qr2xX_0li4 • http://www.youtube.com/watch?v=jTFtJIX97u8&feature=related

  48. Overview: • הקדמה • משוואת הגבלת התנועה (The Motion Constraint Equation) • The Aperture Problem • חישוב הנגזרת עפ"י סימונצ'לי (Simoncelli) • האלגוריתם של לוקאס וקאנייד (Lucas and Kanade) • האלגוריתם של הורן ושאנק (Horn and Schunck) • דוגמאות ומימושים • סיכום

  49. סיכום: • Optical flow הינה דרך בה ניתן למצוא תנועה של אובייקטים ברצף של תמונות. בפרט, זהו וקטור המהירויות המגדיר את השינויים שבין רצף התמונות. • משוואת הגבלת התנועה שנמצאה כתוצאה מהנחת בהירות פיקסל זז בתמונה נתנה את המשוואה הראשונה למערכת המשוואות שמוצאת את וקטור המהירויות (optical flow). • בעיית הaperture הוכיחה כי איבוד מרחב מהירות אחד משנה את התפיסה לגבי כיוון התנועה האמיתי. • לוקאס וקאנייד הציעו אלגוריתם בסביבת פיקסלים מקומית בתמונה הפותר את בעיית הaperture. • הורן ושאנק הציעו אלגוריתם גלובלי בגישה שונה הפותר גם הוא את בעיית הaperture.

  50. ביבליוגרפיה: • J.L.Barron and N.A.Thacker, “Computing 2d and 3d optical Flow”, 2004. • Wayne Bresky, “THE FEASIBILITY OF AN OPTICAL FLOW ALGORITHM FOR ESTIMATING ATMOSPHERIC MOTION “ • http://robots.stanford.edu/cs223b04/CS%20223-B%20L9%20Optical%20Flow.ppt • http://www.icaen.uiowa.edu/~dip/LECTURE/Motion2.html

More Related