1 / 17

MOTION ESTIMATION שערוך תנועה

MOTION ESTIMATION שערוך תנועה. מבוא השימוש העיקרי של שערוך תנועה מתבצע עבור קידוד לדחיסת מידע של וידאו. העיקרון הבסיסי הוא לנצל את יכולת איבוד המידע ושימוש במידע קודם.

Download Presentation

MOTION ESTIMATION שערוך תנועה

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. MOTION ESTIMATIONשערוך תנועה

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

  3. צוואר הבקבוק • בתהליך של קידוד ופענוח התמונה/ וידאו המשודרים, שערוך התנועה הוא צרכן המשאבים הגדול ביותר (כ- 60-80% מזמן החישוב), ולכן הוא המגביל העיקרי למהירות הקידוד. • לטיב שערוך התנועה השפעה גדולה על איכות התמונה המתקבלת לאחר תהליך הקידוד והפענוח. • קצת מספרים: • בדחיסת תמונה בודדת ע"י אלגוריתם JPEG ניתן לקבל יחס דחיסה אופייני של 1:10. • לעומת זאת, בדחיסה של סדרת תמונות (=וידאו) ניתן לקבל יחסי דחיסה אופייניים של 1:30 ב- MPEG ואפילו 1:50 בסטנדרטים H.261/H.263.

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

  5. איזורי תמיכה: תנועת איזורים התמונה מחולקת לאזורים, כאשר מודל התנועה מופעל על כל אזור בנפרד. בדרך זו ניתן לתאר תנועות קטנות יותר בתוך התמונה אך אין צורך לרדת לרמת הפיקסל הבודד. כמובן שקיימת פה פשרה בין רמת דיוק תאור התנועה, וכמות המידע שיש לשדר (כלומר יחס הדחיסה). החלוקה הפשוטה ביותר לאזורים היא חלוקת התמונה לאזורים ריבועים = חלוקה לבלוקים. בצורה זו לכל בלוק בתמונה מבוצע שערוך תנועה. הבעיה בחלוקה זו היא שאינה תואמת באופן מלא את צורת התנועה של העצמים בתמונה. במציאות עצמים אלו אינם מתחלקים לבלוקים ריבועיים שווים. לעיתים חלקים בתמונה, שממדיהם גדולים בהרבה מבלוק אחד, ינועו בתנועה זהה. לכן קיימת חלוקה מסוג שונה - חלוקה על פי תנועה. כלומר אזור יוגדר כך שכל הנקודות בו נעות באותה תנועה. שיטה זו יוצרת פרדוקס מסוים - מצד אחד רוצים לשערך תנועה של אזורים, אבל את האזורים יש להגדיר קודם לכן על פי תנועתם, ולהפך! הדרך לבצע זאת היא ע"י שילוב של שני השלבים בצורה איטראטיבית - כאשר בכל שלב מבצעים שערוך תנועה וסגמנטציה מחדש, עד התייצבות האזורים.

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

  7. מודל התאמת בלוקים: על פי מודל זה, התמונה מחולקת לבלוקים, ונבדקת התנועה של כל בלוק מתמונה לתמונה ע"י חיפוש הבלוק המתאים ביותר לבלוק הנבדק - Block Matching (BM). קריטריון השגיאה: כיוון שאנו מחפשים את הבלוק הכי דומה, נחפש מינימום שגיאה, הקריטריון שנעשה בו שימוש הינו קריטריון Mean Absolute Difference קריטריון דומה ל- MSE, אך הוא פחות רגיש לרעש שהוזכר. לקריטריון זה יתרון נוסף על ה- MSEוהיא פשטות חישובית. קריטריון זה נקרא לפעמים גם בשמות - Mean Absolute Error, Mean Absolute Distortion.

  8. מודל התאמת בלוקים – Full Search FSהוא מודל החיפוש הפשוט ביותר, בו החיפוש מבוצע על כל הבלוקים שבתמונה יחסית לבלוק הרצוי. חיפוש זה ימצא לנו את המינימום הגלובלי של שגיאת שערוך התנועה. זהו אלגוריתם לא יעיל, ומאד ארוך מבחינה חישובית. מצד שני הוא נותן שגיאת שערוך התנועה מינימליתגלובלית. אלגוריתמים איטרטיביים גישה שונה היא שימוש במודלי חיפוש היררכיים, אשר סורקים את התמונה בכדי למצוא את שגיאת שערוך התנועה המינימלית במספר צעדים הולכים וקטנים בגודלם. ברור, כי השימוש בצעדים משתנים בגודל, כאשר מתחילים בצעד ראשון גדול, יכול לגרום למציאת מינימום שגיאה מקומי ולא גלובלי, דבר שמוריד מאיכות שערוך התנועה. מצד שני - הרווח המתקבל מבחינת פשטות חישוב הוא גדול מאד.

  9. מודל התאמת בלוקים – 4-Step search אלגוריתם 4SSמתבסס על חיפוש בעל ארבעה צעדים. עקב צעד התחלתי קטן, קיים צורך בארבעה צעדים על מנת לכסות אזור חיפוש של 7± פיקסלים. אלגוריתם 4SS בודק בצעד הראשון 9 נקודות בדיקה בחלון חיפוש בגודל 4x4. צעדים: צעד 1 - מלבן ממוקם במרכז חלון חיפוש (4x4). BDM מחושב עבור 9 נקודות הבדיקה. אם BDMמינימלי נמצא במרכז דלג לשלב 4, אחרת עבור לשלב 2. צעד 2 - אם BDMמינימלי נמצא באחד מארבעה קדקודים, יש להזיז חלון חיפוש כך שמרכזו יהיה בלוק עם BDMמינימלי, כלומר קיימות 5 נקודות בדיקה חדשות. אם BDMמינימלי נמצא באחד מארבעה אמצעי הצלעות של מלבן יש להזיז חלון חיפוש כך שמרכזו יהיה בלוק עם BDMמינימלי, כלומר קיימות 3 נקודות בדיקה חדשות. אם BDM עבור נקודות בדיקה חדשות התקבל גדול יותר מ- BDM של מרכז החלון יש לעבור לצעד 4, אחרת לצעד 3. צעד 3 - אופן החיפוש כמו בצעד 2, אך מוביל סופית לצעד 4. צעד 4 - מציאת BDMמינימלי עבור 4 נקודות בדיקה פנימיות של מלבן (2x2) כמתואר באיור. בלוק עם BDMמינימלי יבחר כבלוק המתאים.

  10. מודל התאמת בלוקים – Hexagon search בדומה לאלגוריתם 4SS, קיים אלגוריתם HS אשר מבצע את אותם שלבים, כאשר החיפוש מתבצע על תחום בצורת משושה. כלומר, ישנן פחות נקודות חיפוש במסגרת (6 לעומת 8)

  11. מקבול: באמצעות חלוקת התמונה לתתי-תמונות נוכל לבצע מקבול. כל THREAD יעבוד על תת-תמונה באופן עצמאי תוך שימוש באחד מהאלגוריתמים שהוצגו קודם. בסיום, נבצע השוואה של השגיאה המינימלית שהתקבלה מכל THREAD בכדי לקבל תוצאה סופית. בעמודים הבאים נציג גרפים עבור מקבול האלגוריתמים שהצגנו FS – Full Search 4SS – 4 Steps Search HS – Hexagon Search

  12. גרפים: הסימולציה הראשונה היתה על אלגוריתם ה-FS למציאת מספר ה-THREADSהאופטימלי 256 threads/block הביאו לזמן הריצה המינימלי

  13. מקבילי לעומת סיריאלי:

  14. Speed Up ניתן לראות כי עבור תמונות קטנות FS יותר מהיר, אך מגודל תמונה מסויים אלגוריתם ה-4SSהוא המהיר ביותר.

  15. זמני ריצה:

  16. סיכום התוצאות: • מקבול שערוך התנועה משפר את הביצועים רק עבור תמונות הגדולות מ-256x256 • אלגוריתם ה-FS נמצא כאלגוריתם הכי איטי • מקבול ה-4SS הביא לתוצאות מעט טובות יותר ממקבול ה-HS • חישוב הזמנים התבצע על 256 מעבדים בלבד על מנת להשוות בין האלגוריתמים ולא עבור מציאת מספר ה THREADSהאופטימלי.

  17. References • Deepak Turaga , Mohamed Alkanhal . "Search Algorithms for Block-Matching in Motion Estimation". ECE - CMU. March 06, 2010 <http://www.ece.cmu.edu/~ee899/project/deepak_mid.htm>. • Lai-Man Po, Wing-Chung Ma. A Novel Four-Step Search Algorithm for Fast Block Motion Estimation. JUNE 1996 • Xuan Jing, Lap-PuiChau. "An Efficient Three-Step Search Algorithm for Block Motion Estimation". IEEE TRANSACTIONS ON MULTIMEDIA JUNE 2004: 435-437. • Chen Lu, Wang. "Diamond Search Algorithm". ECE, U of Texas. March 06, 2010 <http://users.ece.utexas.edu/~bevans/courses/ee381k/projects/fall98/chen-lu-wang/presentation/sld012.htm>.

More Related