הרצאה 3.3.13 – 1 עיבוד תמונה – Image Processing דר' יעקב גולדברגר מבוא לעיבוד תמונה: בכל התחום מתחילים מתמונה ומסיימים בתמונה .נניח שמצלמה קלטה תמונה מורעשת ולא נקייה .לאחר תהליך עיבוד נקבל תמונה נקייה יותר .במהלך הקורס נעסוק בדחיסת תמונה מכיוון שהמידע המקורי הוא בגדלים עצומים .נכיר מספר אלגוריתמים לדחיסה. תחום נוסף שנחשף אליו הוא הקשר בין תמונה למציאות .נרצה להבין מה התמונה מספרת בהקשר של המציאות .נקבל החלטות על בסיס תמונה. מהי תמונה: תמונה היא למעשה מטריצה המורכבת מ( pixel-קיצור של .)Picture Element אנו נעסוק במטריצות ריבועיות בגווני אפור ) (Grayscaleכאשר כל גוון נע בתחום מ 0-עד ל( 522-מיוצג ע"י 8ביטים). כשמחשב מקבל תמונה הוא מקבל מטריצה של מספרים שלמים בתחום הנ"ל. סוג נוסף של תמונה הוא תמונת צבע ובו כל פיקסל מורכב מ 52-ביטים ( 3בתים) לפי הסדר. R G B : במקרה זה ניתן להסתכל על המטריצה כאל מטריצה תלת-מימדית. 3 24 לכל ערך ניתן לאמוד את הכמות של כל צבע ולפי הצירופים ניתן לייצג 256 2צבעים שונים. הפורמט האחרון שנייצג בקורס הוא וידאו .וידאו הוא למעשה אוסף של תמונות לשנייה לפי תקנים מסוימים (למשל 50תמונות לשנייה) .כל תמונה נקראת frameוהן צריכות להיות באותו הפורמט. |1 Image Processing -סיכום ועריכה מאת שי ידרמן הרצאה 01.3.03 – 2 פעולות נקודתיות: נפתח את הדיון שלנו בפעולות המבוצעות על פיקסל כלשהו בתמונה והופכות אותו לפיקסל אחר. נתמקד בתמונה בגווני אפור ,כפי שהקדמנו בהרצאה הקודמת. נסמן תמונה באופן הבא f xy :כאשר שיעורי הנקודה x, y מייצגים פיקסל. פעולה נקודתית מוגדרת. T f x, y T f x , y : פעולה Tעל פיקסל מסוים אינה תלויה בפיקסלים אחרים שבתמונה. נייצג פעולות נקודתיות ע"י טבלה ויזואלית (גרף) כגון באיור הסמוך. result 100 50 source 0 255 ייצוג של תמונה ע"י היסטוגרמה: ההגדרה: 1 x, y x, y : f image size . h i כאשר h i :מייצג את השכיחות של הצבע ה i -בכל התמונה ו image size -הוא סכום הפיקסלים שבכל התמונה. 255 ברור כי מתקיים. h i 1 : i 0 בשקף 5מופיעות דוגמאות של היסטוגרמות פשוטות. דוגמא: נניח שישנה תמונה אשר חיה בתחום שבין 55ל .055-לא מנצלים את מלוא הטווח הדינמי. נרצה למתוח את התמונה למלוא הטווח. החוקיות שלנו היא. 100 255 , 50 0 : נקבל מתיחה ליניארית. ראינו מההיסטוגרמה שישנה בעיה אשר ניתנת לפתירה ע"י פעולה נקודתית. result source תיקון גמא: ההגדרה של תיקון גמא. i 0,...,1 : T i i1/ : באיור הסמוך ניתן לראות איכותית את הגרף המתקבל עבור ערכי גמא שונים: |1 Image Processing 50 linear T source בשקפים 01-02ניתן לראות דוגמאות נוספות. 255 100 0 -סיכום ועריכה מאת שי ידרמן 255 100 50 0 הרצאה 01.3.03 – 2 עקומה קמורה משמעה הבהרה של תמונה (התמונה תהיה בהירה יותר לאחר מעבר דרך הפונקציה הזו) ועקומה קעורה משמעה הכהה של התמונה (היא תהיה כהה יותר) .נסכם - 1 :השחרה ,ו - 1 -הבהרה. דוגמא למקרה של הבהרה עם: השוואת היסטוגרמות :Histogram equalization- נרצה באופן אוטומטי לבנות לכל פיקסל פעולה נקודתית כזו שבסוף הטווח הדינמי של התמונה יהיה אחיד. נרצה לעבור מהאיור הנוכחי לאיור הבא: T יחד עם זאת לא נרצה לגרום נזק לתמונה. מטרתנו היא לשמור על התמונה המקורית. 255 0 255 0 באופן אבסטרקטי ,נניח ויש לנו מ"א Xהמתפלג לפי f x ונרצה להגדיר טרנספורמציה y T x :כזה. y U 0,1 : בכלליות עבור T : X Y :מקבלים: f T 1 y T T 1 y d dx . g y דוגמא: נניחN 0,1 : Xו . Y T x 2 X 1 -נמצא את ההתפלגות של : Y y 1 2 T 1 y T ' x 2 y 1 2 f 1 y 1 1 2 2 2 g y d e 2 T T 1 y 2 2 dx f T 1 y |2 Image Processing -סיכום ועריכה מאת שי ידרמן הרצאה 01.3.03 – 2 משפט :מעבר מהתפלגות כללית להתפלגות אחידה: יהא מ"א f x המוגדר על . 0,1נחפש T : X Y :כך ש. y 0,1 : g y 1- dxd T T 1 y f T 1 y f T 1 y y : 1 g y T T y נרצה שהפעולה תהיה חח"ע (ההתפלגויות עצמן תהיינה חח"ע) ולכן. x : T ' x f x : 1 d dx x מכאן נקבל כי. T x F x f z dz P X x : 0 דוגמא להמחשה: 0 x 1 נתונה התפלגות כלשהי: else 2 x . f x נרצה לעשות טרנספורמציה למשתנה הזה כך שנקבל התפלגות אחידה. 0 0 ; x 0 נבצעf z dz 2 zdz x 2 ; 0 x 1 : 0 1 ; x 1 x לכן 1 : 2 y 2 y f T 1 y y 1 T T d dx x . y T x מכאן נקבל כי. y x x y : 2 0 . g y אינטואיציה כללית: נניח כיf x : . Xראינו כי . y F x P X x :ראשית ברור לנו כי. 0 y 1 : כעת נשכנע את עצמנו מכיוון אחר כי. P Y a a : F x נניח כי על גרף ההתפלגות של Xיש נקודה x tשבה הערך הוא . a :נכתוב: t f x dx F t P X t a a x P Y a P x | F x a P x | x t a x | F x a x | x t |3 Image Processing -סיכום ועריכה מאת שי ידרמן t הרצאה 01.3.03 – 2 איזון היסטוגרמה -מקרים בדידים: במקרה הבדיד נרצה למתוח את ההסיטוגרמה על פני כל התחום .אנו עוסקים במקרים בהם טווח תמונה הוא קטן מאוד וכהה מאוד. r r n הנוסחה למתיחה היא. Fr r pr i i : i 0 i 0 N כאשר: - niכמות הפיקסלים בעלי הערך .i - Nכמות הפיקסלים בתמונה. ' F r ' F rmin יש לבצע מתיחה מהתחום 0,1 :לתחום 0, L :ולכן L 1 0.5 : .s ' 1 F rmin כאשר: - sהגוון החדש שיחליף את הישן. - Lהנה מספר רמות האפור האפשריות בתמונה (רוחב הטווח). |4 Image Processing -סיכום ועריכה מאת שי ידרמן הרצאה 17.3.13 – 3 פעולות מרחביות על תמונות: בשיעור קודם למדנו על המשמעות את פעולות נקודתיות .כעת נדבר על רציפות מרחבית. הרציפות המרחבית מלמדת אותנו היכן מתחיל ונגמר אובייקט מסוים. פעולה מרחבית לוקחת תמונה ומייצרת תמונה חדשה אך כעת במקום להסתכל על פיקסל מסוים ,נסתכל על הסביבה של פיקסלים בקרבתו .למשל ,נוכל לקחת סביבה של 3X3סביב כל פיקסל. פעולה מרחבית יכולה להיות ליניארית או לא ליניארית ,היא יכולה להיות shift-invariantאו שלא (הזזה של הפיקסלים יחדיו). המקביל לתכונה הוא הוא TIבמערכות חד מימדיות כמו למשל שמסנן FIRמזיז כל דגימה (יחד עם מיצוע הנקודות שבאורך המסנן) במחצית מאורך המסנן .היתרון בשימוש בפעולות אלו הוא ניקוי רעשים ,נניח ויש פיקסל החורג בערכו ביחס לפיקסלים שבסביבתו. סיבה נוספת היא מציאת -edgeים (גבולות). קורלציה ליניארית: 1 1 נסמן ב f i k , j l h k , l - g i, j את הפעולה לביצוע ליניאריזציה בסביבה של :3X3 k 1 l 1 1, 1 1, 0 1,1 0, 1 0, 0 0,1 1, 1 1, 0 1,1 בפילטר הנ"ל הוא ממוצע פשוט .התוצאה היא טשטוש של התמונה .נרצה ליצור פילטרים בעלי ממוצע משוקלל. u 2 v2 אפשר להגדיר ממוצע משוקלל בעזרת גאוסיאן עם סטיית תקן כלשהי: 2 e 1 2 2 . h u, v h g דוגמא להכפלה של חלון בגודל 3X3בפוסל דלתא (פיסקל אחד הוא 1השאר אפסים)e d : b a c i f f i c b e h a .d g קונבולוציה עם פילטר: הנוסחה היא. g i, j f i k , j l h k ,l f k ,l h i k , j l f *h : l l k k מה שעושים בפועל הוא שיקוף של עמודות והשורות ואז מכפילים. c בהמשך לדוגמא הקודמת ,קונבולוציה של הריבוע הבא עם דלתא תשאיר אותו במקוםf : i c 0 0 0 a b f *0 1 0 d e i 0 0 0 g h לסיכום ,קונבולוציה היא פעולה המוגדרת ע"י קרנל (אופן המישקול) ,היא ליניארית והיא .shift invariant |1 Image Processing -סיכום ועריכה מאת שי ידרמן a b .d e g h הרצאה 17.3.13 – 3 ניקוי רעשים: נרצה להפריד את התמונה לחלק רצוי וחלק לא רצוי (רעש) , g i, j f i, j e i, j :כאשר f i, j :הוא התמונה הנקייה ו e i, j -הוא רעש. נפתח בהנחה שהרעש הוא אדטיבי מהצורהN 0, 2 : . e i, j הרעש הוא למעשה רעש תרמי. אנו מקבלים תמיד את g i, j ולכן ע"י פעולה מרחבית נרצה לחזר לתמונה נקייה. כדי לעשות זאת נוכל להניח למשל כי כל הפיקסלים בסביבה כלשהי הם אותו הדבר בדיוק. נוכל לכתוב בפשטות ij N 0, 2 ; gij x ij :עבור סביבה של 9פיקסלים ריבועיים. נרצה למצוא xשעבורו ה g ij -הוא בעל הסבירות הטובה ביותר ,הוא מינימום שגיאה ריבועית וכו'. 2 נסמן .)Max. Likelihood( xˆML :הנוסחה היא: 1 לאחר גזירה ואיפוס נקבל gij : 9 1 gij x 2 2 e 1 2 2 . f g; x i, j 1 1 . xˆML למעשה יש לנו כאן קונבולוציה עם הקרנל הבא1 : 1 1 1 1 1 . 1 9 1 נרצה לעבוד עם ממוצע משוקלל (פילטר גאוסי בהתאם ל -כלשהו). פילטר נוסף הוא ( median filterמסנן חציון). ישנם מצבים שבהם פיקסלים נדפקים ,הם או 0או ( 222התופעה נקראת .)salt & pepper :במקרה זה מיצוע יחריף את בעיה. במסגרת הפילטר הזה נמיין את 9המספרים וניקח את המספר האמצעי (בקיצור חציון המספרים). נניח ויש לנו nמספרים . x1 ,..., xn :הממוצע הוא : 2 n . x arg min a xi תפקידו למזער את סכום הריבועיים. i 1 n החציון ממזער את הערכים המוחלטים. x arg min a xi : i 1 פילטר נוסף משקלל גם לפי המרחק וגם לפי הפרשי הערכים: w m x, n y w f x, y f m, n f m, n p s g x, y m , ns הפילטר הזה הוא אינווריאנטי אבל לא ליניארי. |2 Image Processing -סיכום ועריכה מאת שי ידרמן הרצאה 17.3.13 – 3 מציאת קצוות: העיקרון הוא למצוא שינוי בין פיקסלים סמוכים .למשל ,תמונה שחציה שחור וחציה לבן יראה חד עבור נגזרות. f לשם כך נגדיר נגזרת. x, y f x 1, y f x, y : x f x, y 1 f x, y 1 f f x 1, y f x 1, y f . אפשר גם להגדיר: ; x, y x, y y 2 x 2 הנגזרת היא אופרטור ליניארי .היא למעשה ניתנת להיכתב כקונבולוציה עם החלון. 0.5 0 0.5 : :sobel operator 1 0 1 f . אופרטור זה מבצע החלקה (לאורך העמודות) ונגזרת (לאורך השורות) יחד 2 0 2 : x 1 0 1 1 2 1 f . באותו האופן 0 0 0 : y 1 2 1 f f נוכל לסכם ולומר כי לכל פיקסל נגדיר את הגרדיאנט. f , : x y 2 בערך מוחלט: f f x y 2 f / y . tan f ובזווית: f / x 1 כדי למצוא קצוות נחפש את הגרדיאנט ועבור הערך הגדול ביותר נסיק כי מדובר בקצה. 2 f 2 f 2 f 2 f , : הלפלסיאן . נגדיר את הנגזרת השנייה: x 2 y 2 x 2 y 2 נכתוב מפורשות נגזרת שנייה: . 2 f f נתחיל בהגדרה מנורמלת של הנגזרת הראשונה x, y f x 1/ 2, y f x 1/ 2, y : x 0 1 0 f f 2 נקבל . x, y f x 1, y 2 f x, y f x 1, y :הלפלסיאן נותן. f 1 4 1 : x x 0 1 0 . |3 Image Processing -סיכום ועריכה מאת שי ידרמן הרצאה 7.4.31 – 4 גלאי קצה: 1 1 בשיעור קודם למדנו על פילטרים מרחביים .ראינו דוגמאות כגון1 : 1 1 1 1 1 - 1ממוצע מרחבי על פיקסל. 9 1 דיברנו על דוגמא אחרת של פילטר מרחבי ליניארי והוא הנגזרות: f x, y 1 f x, y 1 f f x 1, y f x 1, y f ; x, y x, y y 2 x 2 היום נדבר על אלגוריתמים למציאת קצוות. אלגוריתם Cannyלמציאת קצוות:Canny Edge detection : המטרה היא למצוא את הגבולות של האובייקט בתמונה. הפעולה היא עדיין ברמה נמוכה ) – (Low levelז"א ללא הכנסת מידע לתמונה מהעולם החיצוני. אינדיקציה אחת לקצה היא מעבר מצבע לצבע (גווני אפור שונים). קצה מוגדר כשינוי חד בצבעי התמונה .עקב כך מעניינת אותנו הנגזרת המרחבית לכל ציר. הנגזרת משתנה בצורה חזקה ולכן נחפש אותה למציאת הקצוות. f f נעזר בגרדיאנט שהוגדר בהרצאה קודמת. f , : x y 2 כאשר בערך מוחלט: f f x y 2 f / y . tan f ובזווית : f / x 1 אנו מחפשים נקודות שבהן הגרדיאנט הוא הכי חזק .הזווית תיתן לנו את מגמת ההתקדמות שלו. הבעיות בפעולה זו הן: .1נרצה לקבל קו בעובי של פיקסל בודד וזה לא קורה במציאות. .2הנגזרת היא פעולה מקומית ולכן מבצעת סוג של מיצוע ולא מבטיחה רצף. האלגוריתם מטפל בבעיות אלו וקובע סף אחיד בעובי של פיקסל אחד. האלגוריתם מבצע שתי פעולות: .1הוא מעביר פילטר החלקה גאוסי כדי להחליק מעט את התמונה .המטרה היא למחוק הבדלים קטנים בין גווני האפור. .2לאחר מכן הוא מבצע את הנגזרת ע"י שימוש באופרטור סובֶּל ):(Sobel op. |1 1 2 1 1 0 1 0 0 , My 0 2 1 M x 2 1 2 1 0 1 Image Processing 1 -סיכום ועריכה מאת שי ידרמן הרצאה 7.4.31 – 4 כדי לתפוס את ה"-פיק" של הגרדיאנט במעבר עבה (ז"א תחום גדול יחסית של פיקסלים בהם הגרדיאנט הוא גדול) נתחיל ממציאת הכיוון של הגרדיאנט .כדי לצבע זאת נסתכל על הערכים הסמוכים לו ונבדוק מי מהם בעל הערך הגדול ביותר. f / y . tan 1 כדי לחשב את הכיוון נעזר בנוסחה : f / x 45 45 45 נבצע דיסקרטיצזיה של הערכים באופן הבא: 3 2 נקבל את הערך שבו הזווית משתנה בקצב הכי גדול וכך נדע לאיזה כיוון מתוך הכיוונים שהגדרנו יש ללכת עם קו הקצה. 22.5 2 1 1 22.5 כעת נרצה לקבוע סף מסוים: הרעיון של האלגוריתם הוא לקבוע שני ספים .האחד הוא סף מאוד חזק (גדול) וכל מי שעובר אותו נחשב לקצה. בשלב הבא נגדיר סף חלש יותר וכל שכן של הפיקסלים שעברו את הסף הראשוני ועוברים את הסף השני יכנסו גם ליצירת הקצה. מציאת פינות ואלגוריתם :Harris corner detection אנו מעוניינים למצוא פינות כי אלו אזורים מובהקים יותר בתמונה ובאמצעותם ניתן להשוות בין אובייקטים זהים בתמונות שונות. נפתח בשאלה :מה מייחד פינה. אינטואיטיבית ,בפינה יש לנו גרדיאנט שמשתנה למספר כיוונים. האלגוריתם. E u, v w x, y I x u, y v I x, t : 2 x, y כאשר v, u :הם כיוונים מסוימים. אנו לוקחים את הפיקסל מוזז בשני כיוונים אלו ובודקים האם יש הבדל בניהם .נרצה למצוא "כיונים חזקים". נניח ש v, u -עוברים על כל מעגל היחידה .החלון w x, y :יכול להיות מרובע (רגיל) או גאוסי. כיצד לחשב את? I x u, y v I x, t : נעזר בפיתוח טיילור של שני משתנים מסדר ראשון. f x u, y v f x y uf x x, y vf y x, y : נציב אותו באלגוריתם ונקבל: vI y I x, y 2 I x I y u I y2 v I x u, y v I x, t I x, y uI 2 x I x2 I x I y u u v Ix I y I y2 v x, y I x2 2 2 u I x v I y 2uvI x I y u v I x I y נניח שיש לנו v1 ,......, vn 2 :כאשר vi vi x , vi y :ווקטורים של הגרדיאנט בכל פיקסל לשני הצירים. vi x vi2 x vi x vi y T . vi vi vi x , vi y נקבל : vi2 y vi x vi y vi y T |2 Image Processing -סיכום ועריכה מאת שי ידרמן הרצאה 7.4.31 – 4 n v x v y לכן : i i i 1 n v y 2 i i 1 n 2 vi x n T . vi vi n i 1קיבלנו את מטריצת הקובריאנס של הנגזרות. i 1 vi x vi y i 1 IxI y לפי הסבר זה ,הביטוי שלנו בפיתוח לעיל הוא מטריצת הקורלציה של הנגזרות : I y2 IxI y נסמן את המטריצה עם המישקול ב - I y2 I2 . x I x I y I2 M w x, y xונוכל תמיד לחשב אותה. I x I y נוכל למצוא את הע"ע של המטריצה וללמוד על הנגזרות באמצעותם: .1אם שני הע"ע קטנים נסיק כי הנגזרות לכל כיוון ממורכזות סביב ה.0- .2אם אחד מהע"ע גדול אז נסיק כי הנגזרת המתאימה לה מתפרשת לטווח רחוק יותר על פני הציר המתאים לע"ע הנ"ל. .3אם שני הע"ע גדולים אז יש לנו פרישה גדולה של ע"ע על-פני שני הצירים. נוסחה: 2 R det M k traceM det M 12 . ; trace M 1 2 סיכום האלגוריתם: מחפשים נקודות מעניינות – שהן פינות .נקודות ייחודיות לאובייקט שלנו לצרכי השוואה. בכל פיקסל נשאל האם הוא פינה או לא .פותחים חלון סביבו ומחשבים את כל ווקטורי הנגזרות ומחשבים את מטריצת האוטוקורלציה .ממנה לומדים לפי הע"ע האם מדובר בפינה או לא. |3 Image Processing -סיכום ועריכה מאת שי ידרמן הרצאה 41.1.41 – 5 בסיסים למרחב התמונות: חזרה על אלגברה ליניארית: y ראינו כי תמונה היא למעשה מטריצה . f x, y קיים בסיס טבעי לאוס המטריצות הללו ואותו נסמן : . exy x כל תמונה תיוצג ע"י צירוף ליניארי של הבסיס הנ"ל. f f x, y exy : x, y 0 v1 1 עבור ווקטור v n :מסמנים ווקטור יחידה ek :כאשר ה 1-הוא במקום ה k -ואז. v vk ek : 0 vn 0 2 1 0 לדוגמא. 2 3 : 3 0 1 u1 n כאשר נותנים לנו בסיס b1 ,..., bn n :ונרצה לעבור לבסיס חדש כך v uk bk :כאשר. u : k 1 un נסמן את הבסיס( B b1 ,..., bn :מטריצה שעמודותיה הם ווקטורי הבסיס). u1 נכתוב v uk bk b1 ,..., bn B u :ואז גם. u B v v Bu : k 1 un נתרכז בבסיסים המקיימים( . B1 B* :נזכור כי כוכבית משמעה transposeוצמוד (צמוד הרמיטי)). 1 ; i j . I ij B* B bi*b j bi , b j מתקיים גם . B B* I :האיבר הכללי נראה: ij 0 ; i j n 1 עבור i j :הבסיסים ניצבים ,אחרת הם מתלכדים .לכן b1 ,...., bn :הוא בסיס אורתונורמלי. נכתוב ,אם כן . u B*v v Bu :מסיבה זו נתמקד בבסיסים אורתונורמלים. משפט פרסבל טוען כי במעבר מבסיס לבסיס שומרים על הנורמה: נתון בסיס אורתונורמלי B b1 ,..., bn :ונתון u B*v :אז. u v : הוכחה קצרה: |1 2 2 2 . u B*v v* B* Bv v*v v Image Processing -סיכום ועריכה מאת שי ידרמן הרצאה 41.1.41 – 5 התמרת פורייה על : N w 2 j 1 N . 0 k N 1 : bk כאשר: הם: החדש הבסיס ווקטורי . נסמן: b ,.., b w e 0 N 1 N k N 1 w 1 1 1 w 1 לכן : . B b0 ,.., bN 1 נכתוב עבור איבר בודד; n, k 0,..., N 1 : N 2 1 w N 1 w N 1 k 0 1 N 1 2N j l k n 1 ; k l המכפלה הסקלרית כעת היא: e N n 0 0 ; k l 1 nk w N . Bnk . bk , bl 2 j l k 1 N 1 2N j l k n 1 2N j l k N בצד ימין. 1 e Nונקבל: כדי להראות כי עבור k l :מקבלים 0נכפיל ב- e e N n1 N 1 N 1 2 j l k n 1 2N j l k 0 . e N הביטוי המקורי (לפני ההכפלה) אם היינו מפרידים הוא: e N n1 N ניתן לראות כי מתקבל שוויון מלא בין שני הביטויים לפני ואחרי ההכפלה. המסקנה היא שאם מכפילים ביטוי במספר השונה מ 1-ומקבלים את אותו הדבר אז הביטוי הוא .0 f 0 , f נסמןfˆ n bn : בהינתן ווקטור ; n 0,...., N 1 : f N 1 N 1 ( f נזכור כי Bאורתונורמלי). n 0 בצורה מטריצית נכתוב f B fˆ :או fˆ B* f :ולכן המעבר מבסיס לבסיס ניתן לכתיבהf k : N 1 2 jnk N e k 0 או בצורה ההפוכהfˆ k : 2 jnk N N 1 e k 0 1 fˆ n N 1 f n וזו היא בדיוק התמרת פורייה. N עד כאן אלגברה ליניארית! התמרה דו מימדית: תמונה היא מטריצה (אמרנו את זה בערך כ 1000-פעמים מתחילת הסמסטר )...המיוצגת ע"י פיקסלים. בביצוע התמרה נרצה לשמור על שורות ועמודות ומכאן המוטיבציה הראשונית לשיקולים בביצוע ההתמרה. נתון בסיס n . B b1 ,..., bn נרצה לבנות בסיס לאוסף המטריצות במידות. M nn : נגדיר M nn : |2 bTj . bij bi b bi לכן: T j Image Processing bij i , j 1,...,nהיא קבוצת מטריצות במידות n ( . M nnמטריצות שונות). -סיכום ועריכה מאת שי ידרמן 2 הרצאה 41.1.41 – 5 אם b1 ,..., bn :בסיס ל- n אז bi bTj :הוא בסיס ל. M nn - כדי להוכיח שאוסף מטריצות היא בסיס מספיק להראות כי 0nn aij bij aij bi bTj aij bi bTj :עבור הצירוף ij ij j i הטריוויאלי בלבד .דהיינו יש להראות כי( i, j : aij 0 :כי אז bi bTj הם בלתי תלויים והמטריצות הן בסיס) בהתבוננות בפיתוח האחרון ניתן להסיק כי בהכרח a b 0 : ij i . j :היות ו bi -הוא ווקטור של בסיס אורתונורמלי אז בהכרח. i, j : aij 0 : i כעת נרצה לעבור מהבסיס הסטנדרטי לבסיס כלשהו bi bTj M nnכאשר. f gij bij : טענה: נתון B b1 ,..., bn :בסיס ל- n ו bi bTj -בסיס ל . M nn -עבור מטריצה V M nn :נרצה לכתובV uij bij : כאשר U nn :מטריצה שיש למצוא .אז הקשר בניהן הוא. V BUBT : הוכחה: * נפתח בהגדרה. Vxy uij bij uij bibTj uij bibTj uij bixb jy uij Bxi Byj : xy xy ij ij ij ij xy ij מאידך ,נכפיל מטריצות. Vxy BUBT BxiU ij BTjy U ij Bxi Byj : ij ij xy קיבלנו את אותו הדבר ולכן הוכחנו את הטענה. * bix b jy xy b b T j i x, y b jn B b jx bi1 . bi bTj bix b j1 bin מסקנה. V BUBT U B1VBT : נניח Bמקיימת B1 B* :ונקבל. U B*V B* : T |3 Image Processing -סיכום ועריכה מאת שי ידרמן הרצאה 41.1.41 – 5 ניישם את כל הפיתוחים לעיל על התמרת פורייה דו-מימדית: עבור הבסיס B b1 ,..., bn :ראינו כי ניתן לבנות בסיס חדש. bi bTj : עבור מטריצה f x, y שנרצה להעבירּה למטריצה fˆ x, y :נקבל( fˆ B* fB* :אין צורך ב transpose-בביטוי השני משיקולי סימטריה) .לכן נקבלw y y ' : ' x x N 1 N 1 f x ', y ' w x ' 0 y ' 0 1 . fˆ x, y N מהות ההתרמה היא מעבר לתמונה חדשה המכילה ערכים מרוכבים. f x, y fˆ x, y R x, y iI x, y : אפשר להציג את הערך המוחלט. fˆ x, y R 2 I 2 : יותר נוח ויזואלית להציג את הלוג של הערך המוחלט באופן הבא. log 1 fˆ : כשמסתכלים בתמונה חשוב לראות היכן מונחת ראשית הצירים .שוב ,ויזואלית נוח יותר להושיב את התמונה כך שמרכזה בראשית. לשם כך נבצע מעבר fˆ u u0 , v v0 : u0 x v0 y 2 i . f x, y e N N u0 v0 נקבל fˆ u 0.5N , v 0.5N : בפרט כאשר: 2 במקרה זה ה DC -ישב במרכז התמונה. |4 Image Processing x y f x, y 1 2 i N N x y 2 . f x, y e N 2 -סיכום ועריכה מאת שי ידרמן הרצאה 12.4.21 – 6 בסיסים למרחב התמונות: המשך פיתוח מהרצאה קודמת: ראינו כי בהינתן: הפעולה: B b1 ,..., bn הפעולה: n * T B F Bיוצרת ייצוג של Fלפי בסיס חדש שאנו מגדירים. * T * F B* F Bנקראת פעולה ֵספ ָָרבִּילִּית (ניתנת להפרדה). כאשר נדבר על בסיסים למרחב התמונות נתמקד בבסיסים ספרבילים (הנוצרים באופן שתואר בהרצאה קודמת). נזכור כי כל התכונות של התמרת פורייה מתקיימות. ההתמרה נותנת את העוצמה בכל תדר. פעולת הקונבולוציה בזמן הופכת לכפל בתדר. -התמרת פורייה של גאוסיאן היא גם גאוסיאן. התמרת קוסינוס: יהיו ווקטורים: . v v0 ,..., vn מגדירים את ההתמרה באופן הבא: T n 2 j 1 k 1 n 1 v j cos 2n n j 0 vˆ k a k 2 j 1 k 1 n 1 a k vˆ k cos 2n n k 0 v j כאשר. k : a k 2 , a 0 1 : אם נסמן ב B b1 ,..., bn n -את הבסיס החדש אז מתקייםB BT , BBT I : (האיברים הם עם נורמה 1וניצבים זה לזה וגם הפעולה היא סימטרית). ניתן להגדיר התמרת קוסינוס דו-מימדית באופן הבא: בהינתן תמונה , fהתמרת מוגדרת ע"י הפעלתה על העמודות ועל השורות. B FB BFB : T בסיס אופטימלי למרחב התמונות – :)Principle Component Analysis( PCA נתון תת-מרחב: . v1 ,..., vn נתון בסיס אורתונורמלי: n . B b1 ,..., bd d ראינו את הקשר. v Bu u BT v : נסתכל בתת-מרחב הנפרש ע"י . k d , b1 ,..., bk k d k נסמן . vi uij b j uij b j vˆi :כעת uˆi ui1 ,...., uik :ו ui ui1 ,...., uid -וכן. ui vi , uˆi vˆi : j 1 |1 T j 1 d האנרגיה היא: T n k d n n 1 1 1 uij2 uij2 uij2 n i 1 j 1 n i 1 j 1 n i 1 j k 1 2 1 ui n i 2 1 n d uij2 E ES EN n i 1 j k 1 Image Processing n 1 vi n i 1 2 E 1 n vˆi n i 1 . -סיכום ועריכה מאת שי ידרמן הרצאה 12.4.21 – 6 ES קיבלנו הפרדה לרכיב של המידע ורכיב של הרעש .נרצה למצוא את הבסיס עבורו היחס: EN זה הוא הקריטריון שלפיו נרצה לפעול. הוא מקסימלי. d k 2 1 ראינו כי . vi uij b j uij b j vˆi :נגדיר את הקריטריון שלנו בצורה קצת אחרתvi vˆi : n נרצה להראות שאותו ה B -שממזער את הקריטריון לנו הוא גם ממזער את הרעש .נתחיל מהפיתוח הבא עבור iמסוים: . min 2 d u 2 ij j k 1 d j u b ij 2 k j k 1 d u b u b ij ij j 2 . vi vˆi כאשר השוויון האחרון נובע מפרסבל. d n n 2 1 1 נרוץ על כל ה i -ונקבלvi vˆi uij2 EN : n i 1 n i 1 j k 1 הגענו אליו משני הכיוונים ולכן המסקנה היא שהבסיס החדש הוא אכן ממקסם את היחס הקודם וממזער את הרעש. .קיבלנו שוב את ערך הרעש כהערך המינימלי. אינטואיציה אחרת לקריטריון: נניח ווקטורים: d . v1 | v2 |,.....,| vd , v מהווקטורים האלה מקבלים: k . uˆ1 ,....,| uˆk , uˆ b1T v מתעלמים משאר הווקטורים שאינם בתת-המרחב לפי. uˆ T : b v k משם מעבירים חזרה למימד: k d vˆ1 | vˆ2 |,.....,| vˆd , vˆ כאשר. vˆ Buˆ bi uˆi : i 1 יש כאן עיקרון של צוואר בקבוק ,מכיוון שמהות הווקטורים צריכה להישמר ע"י kהווקטורים של ההתמרה. צוואר הבקבוק מובנה מפעולות לינאריות .היום ,אחד התחומים המפורסמים יותר הוא שימוש בעיקרון זה באמצעות פעולות שאינן לינאריות (נקרא.)deep learning : נסביר כיצד למצוא את הבסיס הנ"ל: k 1 n k 2 נחזור לעיקר הבעיה יש לנו , v1 ,..., vn n :רוצים . vˆi uij b j :ראינו . ES uij :נפתח: n i 1 j 1 i 1 k k 1 n k 2 1 n k T T 1 uij b j vi vi b j bTj vi viT b j bTj A b j n i 1 j 1 n i 1 j 1 j 1 j 1 n נמצא את: k ES b1 ,..., bk שממקסמים את הביטוי הנ"ל. מספר הערות על המטריצה: A : המטריצה סימטרית.T המטריצה מוגדרת וחיובית ,דהיינו . x Ax 0 :כל הע"ע שלה חיוביים .הווקטורים העצמיים w1 ,...., wn :הם אי-שליליים.ז"א , 1 2 .... n 0 :כאשר. Awi i wi : |2 Image Processing -סיכום ועריכה מאת שי ידרמן הרצאה 12.4.21 – 6 נחזור לבעיה שלנו .המקסימום יתקבל כאשר ניקח kהווקטורים העצמיים של Aהמתאימים לע"ע העצמיים הגבוהים ביותר. הוכחה למקרה של ווקטור אחד: יש למצוא max bT Ab :כאשר . b 1 :ידוע כי Aסימטרית ומוגדרת חיובית .נניח 1 2 .... n 0 :הע"ע שלה d ו w1 ,...., wn -הו"ע שלה .אפשר לכתוב b ai wi :ונקבל: i 1 d d bT Ab ai wi A ai wi ai wi a j j w j ai2i 1 ai2 1 i 1 i 1 i 1 i 1 j 1 i 1 T קיבלנו כי לכל . b Ab 1 : b d T d d T d עבור b w1 :מקבלים . bT Ab w1T Aw1 1 :לכן. w1 arg max bT Ab : b עבור kכללי ההוכחה קצת יותר ארוכה ולא ניכנס אליה במסגרת הקורס .נסתפק בכך שהרעיון זהה וההוכחה נכונה. נסכם: בהינתן: d , v1 ,..., vn כאשר מחפשים תת-מרחב ממימד kשבו התמונות יכולות להימצא: d b1 ,..., bk 1 d נבנה את מטריצת האוטוקורלציהvi viT : n i 1 הווקטורים שמהווים את הבסיס שלנו יהיו ה k -הראשנים בעלי הע"ע הגבוהים ביותר. A ונמצא את הע"ע והו"ע שלה. |3 Image Processing -סיכום ועריכה מאת שי ידרמן הרצאה 28.4.31 – 7 תזכורת :PCA יש לנו ווקטורים x1 ,..., xn d :וחיפשנו תת-מרחב שבו נמצאות כל הנקודות. בסופו של דבר האלגוריתם שראינו הוא: 1 n הגדרת המטריצה . A xi xiT :המטריצה היא בעלת ע"ע חיוביים. n i 1 יצירת תת-מרחב ממימד kע"י לקיחת הווקטורים העצמיים v1 ,..., vn :המתאימים לע"ע העצמיים מהגדול ביותר כלפי הקטן. v1 , x x כלומר. x xˆ vi , x x : i 1 v , x k k הייצוג ניתן ע"י: k k k k k j 1 j 1 j 1 j 1 אנרגית הסיגנל נכתבה . ES vTj Av j :נוכל לכתוב. ES vTj Av j vTj j v j j : קיבלנו ביטוי מפורש לאנרגית הסיגנל בעזרת הע"ע. d בפרט ,האנרגיה של כל הסיגנל היא. ES j : j 1 באופן טיפוסי ,הע"ע הם מספרים שהולכים בקטנים ,אך קיים תחום שבו הם קטנים בצורה משמעותית. עבור תחום זה ,לפי הקריטריון שלנו אנו בוחרים את מספר הע"ע שהכי רלוונטיים לאנרגית הסיגנל שלנו. תת-מרחב אפיני: k תת המרחב לינארי הנפרש ע"י הווקטורים נראה בצורה הבאה. a j v j : j 1 k תת-מרחב אפיני מוגדר כתזוזה מהמרכז בגודל כלשהו. v0 a j v j : j 1 במקרה שלנו ,תת-המרחב הוא אפיני. נכליל את המושג של PCAלתת-מרחב אפיני. 1 בשלב הראשון נחשב את הווקטור הממוצע xi : n לאחר מכן נחשב את המרחקים. x1 x , x2 x ,....., xn x , d : . vo x בסוף נפעיל PCAעל הווקטורים v1 ,..., vk :עם המטריצה. A xi x xi x : T f f באלגוריתם Harris Corner detection :ביצענו גזירה לפי כל ציר ומציאת שינויים. , :לקחנו את ווקטורי הנגזרות, x y לקחנו מטריצה 2X2ומצאנו שני ע"ע .למעשה עשינו PCAבאלגוריתם זה. |1 Image Processing -סיכום ועריכה מאת שי ידרמן הרצאה 28.4.31 – 7 זיהוי פנים: תיאור המשימה: תחילה מצלמים תמונה של אדם מספר פעמים .נניח ומבצעים זאת על כל האנשים בחדר מסוים( .השלב נקרא.)training data : כעת המטרה היא להחליט בהינתן תמונה עם פרצוף חדש האם היא של אחד מהאנשים בחדר. ישנה משימה קשה יותר והיא איתור פנים בתוך תמונה ) – (Face detectionלא נעסוק בה. כדי לבצע את המטרה שלנו נעזר ב ,PCA-המעביר את התמונה המקורית דרך צוואר-בקבוק ומחזיר תמונה הקרובה לתמונה המקורית עם מינימום שגיאה .צוואר הבקבוק הוא המהות של התמונה. כאשר נבצע זאת על תמונה כלשהי מתוך ה data-שלנו נקבל תת-מרחב אפיני. נניח כי תת-המרחב מכיל שני ווקטורים( v0 , v1 , v2 :יחד עם וקטור הממוצע לפי הגדרת תת-המרחב). כעת כל תמונה תיוצג ע"י . x v0 a1v1 a2v2 :נקרא לכל ווקטור עצמי.EigenFace : 1 1 1 בשלב האימון מצאנו את הווקטורים העצמיים והטלנו אותו על תת-המרחב הנפרש ע"י שני ווקטורים. בשלב הזיהוי נרצה למצוא התאמה של הערך שהתקבל עבור התמונה החדשה לבין אחד מהאזורים של התמונות שצולמו .הקריטריון שלנו נקרא :שכן קרוב ).(NN נניח ויש לנו תמונה מגודל ,1000x1000ז"א: d 106 3 3 3 דוגמא לתת-מרחב הנפרש ע"י שני ווקטורים ובו יש 3תמונות מ 3-פרצופים שונים. . x1 ,.., xn המטריצה Aתהיה בגודל 106 x106 1012 :וזה כבר לא יעבוד. לכאורה מדוגמא זו ברור כי השימוש ב PCA-בזבני ולא פרקטי לחלוטים עבור תמונות יותר גדולות. דיון קצר בתחום האלגברה ליניארית: n נניח שיש לנו ווקטורים: d x1T ניתן לראות כיxn : xT n נסמן : nn 1 . n d ; x1 ,....., xn נסתכל עלxi xiT : n i 1 1 1 1 X dn X Tdn X dn X nd x1 n n n x2 xn T i x xj טענה: נניח Mb b :עבור, 0 : x2 n x1T x1 xT n , b אז: d A ונסמן מטריצה. X x1 ,...., xn nxd : .A . M nn X X dn T nd X dn b הוא ו"ע של Aהמתאים לע"ע . הוכחה: נתון . XX b Mb b :נקבלXb XX Xb XMb X b Xb : T T T . A Xb XX כמובן ש Xb 0 -כי. Mb X T Xb b 0 : נציין כי הטענה היא סימטרית לחלוטין .היא אם"ם. |2 Image Processing 2 2 2 -סיכום ועריכה מאת שי ידרמן הרצאה 28.4.31 – 7 נציין כי על אף ש A-מכיל הרבה יותר ע"ע מאשר Mהטענה נכונה כי רוב הע"ע של Aהם אפס. נסכם את הדיון באופן הבא: בהינתן ווקטורים , n d ; x1 ,....., xn d :נבנה מטריצה בגודל . M ij xi x j : nxn נמצא את הו"ע של : M n b1 ,...., bk ואת הע"ע המתאימים להם כמובן. נרכיב ווקטור עצמי . vi x1 ,...., xn bi d :ונקבל: התגברנו על הבעיה של ריבוי המימדים. d . v1 ,...., vk האלגוריתם מכיל הרבה בעיות. ישנן מספר דרכים להגבר עליהם ואכן היום יש דברים מפותחים יותר. אחד הפיתוחים נובע משלב האימון ,בו מתבצעת גם למידה.supervised training : לומדים דברים כגון מין האדם ,אביזרים נוספים (משקפיים וכו'). |3 Image Processing -סיכום ועריכה מאת שי ידרמן הרצאה 5.5.31 – 8 Color Representationודחיסת תמונות: הפורמט של תמונת צבע הוא 22ביט ,כל 8ביטים אומרים כמה יש לקחת מכל צבע בסקלה . R G B .0-222 המטריצות שלנו כעת תהיינה במידות. n n 3 : ניתן לתאר את הצבעים ע"י :color cube ניתן להציג את הצבעים במרחבי צבע אחרים. Y 0.177 0.813 0.011 R דוגמא - I 0.54 0.263 0.174 G :כאשר.Q = blue-yellow , I = red-green , Y = luminance : Q 0.246 0.675 0.404 B זו היא מטריצת המעבר בערוצי הטלוויזיה .מקור המספרים הוא בתקנים בעיקרו. היתרון המובהק בתצורה זו הוא שניתן לבצע Down-samplingל I -ו Q-פי 2והעין האנושית לא מרגישה בכך. מכאן המוטיבציה לדחיסת .JPEG * נוסחה נוספת היא - LABלא נעסוק בה כאן. תקנים לדחיסת תמונה ווידאו: ישנן שתי סוגי דחיסות: – lossless .1דחיסה ללא איבוד מידע. - lossy .2דחיסה הכוללת איבוד מידע בתוכה. דוגמאות לאלגוריתמי דחיסה מסוג .LZ (Zip) , Huffman :lossless דוגמאות לאלגוריתמי דחיסה מסוג .JPEG , MPEG :lossy הבחנה נוספת בין סוגי האלגוריתמים היא בסוג הדחיסה ,האם היא Variable lengthאו .Fixed length למשל ,בדחיסת דיבור מבצעים עפ"י – Fixed lengthז"א גודל ה frame-קבוע. אלגוריתמים המשתמשים ב Variable length-הם אלו שגודלם תלוי בתוכן עצמו .אנו נעסוק בהם. נדון באלגוריתמים שהם Lossyו.Variable length- |1 Image Processing -סיכום ועריכה מאת שי ידרמן הרצאה 5.5.31 – 8 קוד :Huffman ב JPEG-יש שני דברים כללים ,האחד הוא DCTוהשני הוא קוד .Huffman נניח משתנה אקראי xשיכול לקבל את הערכים 1,...., nבהסתברויות p1 ,...., pn :בהתאמה. נרצה לשלוח סדרת משתנים אקראיים x1 ,..., xn :מצד אחד לצד שני. 1 00 2 3 xi : 1 מתאימים קוד לכל ערך של xכגון: x נקודד2 100 : pi : 0.5 0.25 0.25 3 111 ונשלח . 3213132 111,100,00,111,00,111,100 :הצד המקבל לא יודע כמה ערכים קודדו. נצטמצם לקודים הנקראים .prefix free :המשמעות היא שאף מילת קוד אינה תחילית של מילת קוד אחרת. 1 00 דוגמא לקוד כזה . 2 11 :במקרה זה לא תיתכן דו-משמעות .לקוד זה מובטח פיענוח יחיד. 3 10 לכל מילת קוד יש אורך (מספר הביטים של הקידוד שלה) ויסומן . li :את הקוד עצמו נסמן ב. ci - n האורך הממוצע של מילת קוד הוא. l c pi l ci : i 1 3 1 1 1 עבור הדוגמא לעיל נקבל. l c pi l ci 2 3 3 2.5 : 2 4 4 i 1 נרצה למצוא את הקוד בעל האורך הממוצע המינימלי. 1 0 עבור הקידוד 2 11 :נקבל למשל . l c 1.5 :משמע שקוד זה הוא טוב יותר. 3 10 לפי עיקרון זה נבנה את קוד Huffmanעבור הדוגמא הבאה. 0.2 , 0.25 , 0.25 , 0.15 , 0.15 : נסתכל על שתי ההסתברויות הכי קטנות ונאחד אותם. 0.2 , 0.25 , 0.25 , 0.15 , 0.15 0.2 , 0.25 , 0.25 , 0.3 : נחזור על התהליך. 0.2 , 0.25 , 0.25 , 0.3 0.45 , 0.25 , 0.3 : כן 0.45 , 0.25 , 0.3 0.45 , 0.55 :ובסוף. 0.45 , 0.55 1 : נבנה עץ ונתאים לו את הערכים באופן הבא: |2 Image Processing -סיכום ועריכה מאת שי ידרמן הרצאה 5.5.31 – 8 אלגוריתם :JPEG בכל שלב עובדים על חלקים בגודל ( 8 8משכפלים בקצוות במידה והגודל אינו מתחלק ב.)8- לאחר מכן מבצעים התמרת Forward DCTועושים לתוצאות קוונטיזציה לפי טבלה מסוימת. פעולה זו הוא .lossyלאחר מכן עושים קידוד לפי Huffmanומקבלים את התמונה הדחוסה. זה באופן כללי .בכיוון ההפוך ,הכל חוזר חלילה. n 1 n 1 1 2x 1 2 y 1 fˆ i, j a i a j f x, y cos i cos התמרת DCTדו-מימדיתj : 2n 2n 2n x 0 y 0 1/ 2 i 0 a i ו. n 8 - כאשר: 1 i 0 במצגת הקשורה להרצאה מופיעה דוגמא יפה. בתחילה מתואר בלוק 8 8וביצוע ההתמרה עליו (לאחר הורדה של 128מכל הערכים) .לאחר מכן מחלקים כל פיקסל במספר קבוע הנמצא בטבלת Qהקבועה בתקן .שומרים את המנה (זו היא פעולה .)lossyמקבלים הרבה אפסים. פעולת ה zig-zag-מרכזת את התדרים הגבהים תחילה כהכנה לקידוד .Huffman לעניין הטיפול בקידוד ,מפרידים את ה DC-וה .AC-מכניסים לפי כל ערך מספר המייצג את כמות האפסים שלפניו. כעת נקודד כל זוג סדור 0, 4 המציין כמה אפסים יש לפני המספר ,והערך של המספר. למשל 6, 0 :ציין כי ישנם 6אפסים לפני המספר אפס ו 0,1 -מציין כי יש 0אפסים לפני המספר אחד. לאחר מכן מקודדים את הבלוק .לעניין DCמקודדים אותו ע"י הסתמכות על הפרשים בין בלוקים סמוכים. |3 Image Processing -סיכום ועריכה מאת שי ידרמן הרצאה 21.5.21 – 9 אלגוריתם :MPEG עיקר התכנים מופיעים במצגות שבאתר. |1 Image Processing -סיכום ועריכה מאת שי ידרמן הרצאה 19.5.11 – 10 עיבוד טקסטים ושימוש המטריקות לעיבוד תמונה: נרצה לשאול שאלות כגון האם טקסט נתון עוסק בנושא מסוים. נרצה לחפש טקסט דומה. המושג bag of wordsמתייחס להסתכלות על מסמך כאל אוסף של מילים ללא התייחסות למשמעות שלהן. בצורה זו ניתן לייצג את המסמך לפי היסטוגרמת שכיחויות של המילים. גוגל עובד בצורה זו כאל אנו מזינים לו שאלה. כדי למצוא מסמך דומה נוכל לחפש דמיון בין מסמכים ולמצוא מרחק אוקלידי. X ,Y . cos X , Y מטריקה אחת היא מטריקת קוסינוס המוגדרת: X Y בתחום שלנו – עיבוד תמונה -כדי לפתח את שיטה זו יש ליצור מילים וויזואליות ומילון וויזואלי ).(Visual words & dictionary נסתכל על כל בלוק כאל אובייקט קטן ונתחיל ממנו בהגדרות .נעבוד עם רזולוציה של 01 X 01פיקסלים. מצד אחד זה לא הורס את התמונה לגמרי ומצד שני קיים סיכוי שזה יחזור על עצמו. יש לנו 256100 2800 :בלוקים אפשריים שזה יותר מדי .לכן נחלק אותם לקבוצות – נבצע קוונטיזציה ונבנה מילון. הפעולה נקראת ( clusteringאשּכּול). :Clustering .הנקודות מפוזרות ל 3-קבוצות ולכן ע"י הסתכלות בעין קל להפריד אותם. נניח ויש לנו אוסף נקודות במרחב בפעולה זו אנו מבצעים clusteringואת זה נרצה לגרום למחשב לעשות ,ז"א נרצה לגרום למחשב לדעת לחלק אזורים של מידע. 2 נניח ויש: x1 ,...., xn ונרצה לחלק אותם ל k -קבוצות שיאופיינו ע"י המרכזים: d למעשה כל labelשל נקודה xiהוא: הסכום הוא: 2 1 n k min xi c j n i 1 j 1 2 d . c1 ,...., ck k . li arg min xi c j j 1 . S c1 ,...., ck מטרתינו היא למצוא את המינימום. min S c1 ,...., ck : c1 ,....,ck כדי למצוא את המינימום נעזר באלגוריתם .k-means :להלן הפירוט: א. יש לקחת (לבחור) מרכזים אקראיים: 2 d . c1 ,...., ck k . i 1,..., n : li arg min xi c j ב. שיוך – משייכים כל נקודה למרכז: ג. בניית מרכזים חדשים – כל מרכז הוא ממוצע כל הנקודות עם : j label ד. הווקטורים עם ה label-הזה. חוזרים חלילה עד להתכנסות. j 1 x i |1 Image Processing i|li j num ci כאשר num :הוא מספר -סיכום ועריכה מאת שי ידרמן הרצאה 19.5.11 – 10 אנליזת ביצועים של האלגוריתם: 2 1 n k כדי להוכיח התכנסות עלינו להראות כיmin xi c j : n i 1 j 1 מרכזים מקיימים. S c1 ,...., ck S c1 ,...., ck : after S c1 ,...., ck לפני ואחרי בחירת before נזכר בתרגיל הסתברותי קטן: n n 1 n 1 1 2 2 נתונות מדידות . y1 ,...., yn :מגדירים ממוצע . y yi :אז מתקיים yi y y yi a : n i 1 n i 1 n i 1 או במילים אחרות. var y y E yi a : 2 ווקטורית נאמר כי לכל: v d 2 n yi v i 1 לעניינינו ,נתונות נקודות: באופן הבא: 2 d 2 n . yi y i 1 . x1 ,...., xn נניח ונתונים ה-label-ים הכי טובים ,נוכל לכתוב את הscore- n . S l1 ,...., ln ; c1 ,...., ck xi cliאם נבחר את: i 1 2 k i 1,..., n : li arg min xi c j j 1 אז זה יהיה הדבר הטוב ביותר שנוכל לעשות. "נשחק" את המשחק ההפוך – נקבע את ה li -ונשאל את עצמינו מהם ה ci -הכי טובים ששייכים להם. נרשום: 2 n k xi c j j 1 i|li j 2 n . xi cliה c j -שייתן את המינימום הוא ,בהקשר לתרגיל שעשינו למעלה: i 1 2 n k xi x j j 1 i|li j 2 xi c j n k j 1 i|li j נסכם ונאמר כי פתחנו בבחירת קבוצה c1 ,...., ck :ובסוף התהליך קיבלנו . c1' ,...., ck' :נראה כי ה score-של סוף התהליך קטן יותר משל תחילתו: ' ' ' ' ' ' ' S c1 ,...., ck S l1 ,...., ln ; c1 ,...., ck S l1,...., ln ; c1,...., ck S l1,...., ln ; c1,...., ck S c1 ,...., ck' li arg min xi c j li' arg min xi' c'j מכיוון שהכל בדיד ,מובטח כי לאחר עד 01-01איטרציות האלגוריתם ייעצר. בהקשר של תמונות ,לאחר שנבנה בלוקים עלינו להחליט כמה מילים נרצה שיהיו במילון שלנו ,זה הוא למעשה . k |2 Image Processing -סיכום ועריכה מאת שי ידרמן
© Copyright 2024