תמונות היפרספקטרליות מגישים: טלאור אברמוביץ 023324402 עוז גבריאלוב 424314303 מנחה: אמיר אדלר סמסטר אביב 0213 1 תוכן עניינים 4............... ................................ ................................ ................................ List of Figures 4................ ................................ ................................ ................................ List of Tables רקע 3............................. ................................ ................................ ................................ תמונה היפרספקטרלית 3................................ ................................ ................................ בעיית סיווג 3................ ................................ ................................ ................................ האלגוריתמים 3................ ................................ ................................ ................................ אלגוריתמי סיווג 3.......................................... ................................ ................................ )4..................... ................................ ................................ K Nearest Neighbors (kNN )7....................................... ................................ Principal Components Analysis (PCA 9................... ................................ ................................ ................................ K-SVD אלגוריתם בדיקה 11...................................... ................................ ................................ 11......................... ................................ ................................ K Fold Cross Validation שיטות בדיקה ותוצאות 10................................... ................................ ................................ התמונות 10................. ................................ ................................ ................................ 10........................................ ................................ ................................ Indian Pines 10................ ................................ ................................ ................................ Salinas 14....................................... ................................ ................................ Pavia Center 14................................... ................................ ................................ Pavia University שיטות בדיקה (אלגוריתמים) 13........................ ................................ ................................ 13................... ................................ ................................ ................................ kNN 14.................... ................................ ................................ ................................ PCA 14.................. ................................ ................................ ................................ KSVD סיכום התוצאות 03........................................ ................................ ................................ מסקנות והצעות לשיפור 40................................. ................................ ................................ סיכום ומסקנות 40......................................... ................................ ................................ הצעות לשיפור ומשימות עתידיות 44................. ................................ ................................ ביבליוגרפיה 43................ ................................ ................................ ................................ נספחים 43...................... ................................ ................................ ................................ נספח א' :בדיקות נוספות 43............................ ................................ ................................ 43.................... ................................ ................................ ................................ PCA 47.................. ................................ ................................ ................................ KSVD 2 List of Figures Figure1 : Pavia University – kNN Model Selection Curve.................................................. 14 Figure0 : Pavia Center - kNN Model Selection Curve ....................................................... 14 Figure4 : Indian Pines - kNN Model Selection Curve ........................................................ 15 Figure3 : Salinas - kNN Model Selection Curve ............................................................... 15 Figure3 : Pavia University - PCA Model Selection Curve ................................................... 16 Figure4 : Pavia Center - PCA Model Selection Curve ....................................................... 16 Figure7 : Indian Pines - PCA Model Selection Curve ........................................................ 17 Figure4 : Salinas - PCA Model Selection Curve ................................................................ 17 Figure9 : Pavia University - KSVD Model Selection Curve with train error parameter = 2.5% 18 Figure12 : Pavia University - KSVD Model Selection Curve with train error parameter = 5% 18 Figure11 : Pavia University - KSVD Model Selection Curve with train error parameter = 7.5% ................................................................................................................................. 19 Figure10 : Pavia University - KSVD Model Selection Curve with train error parameter = 10% ................................................................................................................................. 19 Figure14 : Pavia Center - KSVD Model Selection Curve with train error parameter = 2.5% .. 19 Figure13 : Pavia Center - KSVD Model Selection Curve with train error parameter = 5% ..... 20 Figure13 : Pavia Center - KSVD Model Selection Curve with train error parameter = 7.5% .. 20 Figure14 : Pavia Center - KSVD Model Selection Curve with train error parameter = 10% ... 20 Figure17 : Indian Pines - KSVD Model Selection Curve with train error parameter = 2.5% ... 21 Figure14 : Indian Pines - KSVD Model Selection Curve with train error parameter = 5% ...... 21 Figure19 : Indian Pines - KSVD Model Selection Curve with train error parameter = 7.5% ... 21 Figure02 : Indian Pines - KSVD Model Selection Curve with train error parameter = 10% .... 22 Figure01 : Salinas - KSVD Model Selection Curve with train error parameter = 2.5% ........... 22 Figure00 : Salinas - KSVD Model Selection Curve with train error parameter = 5% ............. 22 Figure04 : Salinas - KSVD Model Selection Curve with train error parameter = 7.5% ........... 23 Figure03 : Salinas - KSVD Model Selection Curve with train error parameter = 10%............ 23 Figure03 : Pavia University - Labeled Images ................................................................. 26 Figure04 : Pavia Center - Labeled Images ...................................................................... 28 Figure07 : Indian Pines - Labeled Images ....................................................................... 30 Figure04 : Salinas - Labeled Images .............................................................................. 31 Figure09 : PCA - Representation Errors of Testing Vectors of 3 Folds ................................ 35 List of Tables Table 1: Groundtruth classes for the Indian Pines scene and their respective samples number ..................................................................................................................... 12 Table 2: Groundtruth classes for the Salinas scene and their respective samples number ... 12 Table 3: Groundtruth classes for the Pavia Center scene and their respective samples number ..................................................................................................................... 13 Table 4: Groundtruth classes for the Pavia University scene and their respective samples number ..................................................................................................................... 13 Table3 : Results Summary - Optimal Test Errors ............................................................. 24 Table4 : Results Summary - Execution Times ................................................................. 25 Table7 : KSVD - Sparsity of Training Set Representation .................................................. 37 Table4 : KSVD - Representation Error ............................................................................ 37 3 רקע תמונה היפרספקטרלית בתמונה היפרספקטרלית ,בדומה לשיטות צילום ספקטרליות אחרות ,נאסף מידע מהספקטרום האלקטרומגנטי עבור כל פיקסל בתמונה .לעומת צילום או ראייה ,בהם נאסף מידע מהאור הנראה, בד"כ בצבעים אדום ,ירוק וכחול ,בצילום היפרספקטרלי נאסף מידע מתחום רחב של תדרים ,הכולל לרוב גם תדרים השייכים לתחום התת אדום .כתוצאה מכך תמונות היפרספקטרליות נקראות לעיתים קוביות היפרספקטרליות ,כאשר הממד השלישי הוא אורך הגל. צילום או סריקה היפרספקטרלית שייכת לתחום של סריקות ספקטרליות הנקראת סריקות מולטיספקטרליות .מה שמייחד סריקה היפרספקטרלית הוא שהצילום ההיפרספקטרלי מתבצע עבור טווח רחב רציף של תדרים .לעומת זאת ,סריקה מולטיספקטרלית מתבצעת עבור טווחים בדידים ויחסית צרים של ספקטרום אלקטרומגנטי. ישנם שימושים רבים עבור תמונות היפרספקטרליות .בחקלאות ניתן להשתמש בתמונות של הגידולים כדי לשמור על בריאותם וכן לגלות ולמנוע התפרצות של מגפות .השימוש הראשוני של התמונות היה בגיאולוגיה ,כדי לנסות ולזהות מינרלים שונים או מאגרי נפט בעזרת תצלומי אוויר .שימוש נוסף הוא לריגול, כאשר הודות לטווח הרחב של תדרים הנלקחים בתמונה ,ניתן לזהות עצמים שמסווים את חתימת החום שלהם .בטכנולוגיה זו אף נעשה שימוש במבצע לחיסולו של אוסמה בן לאדן ב .0211-שימוש צבאי נוסף הוא גילוי של מפגעים כימיקלים ,אשר מהווים סכנה לכוחות בשטח .בעזרת הסריקה ,ניתן לגלות את הגזים המסוכנים הללו ,אשר אינם נראים לעין בלתי מזוינת וקשים מאד לגילוי. היתרון המשמעותי של שיטה זו הוא שמכיוון וכל פיקסל מכיל טווח תדרים שלם ,לא דרוש מידע מוקדם על התמונה .יתרון נוסף הוא שניתן לנצל את טווח התדרים הרחב של פיקסל מסוים עבור הסביבה כולה ,ובכך לשפר את הסיווג של התמונה .חסרונות השיטה הם עלות וסיבוכיות .הציוד לצילום היפרספקטרלי ועיבוד התמונות ,הכולל מחשבים מהירים ,גלאים רגישים ושרתים גדולים ,יקר. כמו כן ,כתוצאה מכך שגודל הקוביות ההיפרספקטרליות יכול להגיע למאות מגה-בייטים ,אחסונן ועיבודן דורש זמן רב. בעיית סיווג בהינתן סט דגימות נתונות אשר שייכות למספר סופי של מחלקות ודגימה חדשה אשר אינה מסווגת, פתרון של בעיית הסיווג הוא למצוא ,על בסיס המידע של קבוצת האימון ,את הסיווג המתאים של הדגימה החדשה ,כלומר ,לאיזו מחלקה היא שייכת .לדוגמא ,בתמונות היפרספקטרליות קיימים מספר מסוים של סוגי עצמים ,כגון מים ,אספלט או צמחייה ,ועלינו למצוא את הסוג של הדגימות שאינן מסווגות על ידי קבוצת האימון שמכילה מידע מהדגימות הנתונות ,שסיווגן ידוע .ישנם מספר רב של אלגוריתמים שפותרים את בעיית הסיווג .האלגוריתמים שבהם השתמשנו יפורטו בעמודים הבאים. 4 האלגוריתמים אלגוריתמי סיווג אלגוריתמי סיווג הם למעשה משפחת אלגוריתמים מתחום מערכות לומדות שמקבלים דוגמאות מקבוצה שנסמנה ב( 𝒳-המרחב שלנו) עם התיוגים שלהם שאת קבוצתם נסמן ב.𝒴- הדוגמאות נדגמות באקראי מתוך מרחב המדגם (במקרה שלנו – מתוך התמונה) ,והדוגמאות המתויגות יוצרות למעשה קבוצת אימון של דוגמאות מתויגות ∈ 𝑖𝑥 𝑆 = {(𝑥1 , 𝑦1 ), … , (𝑥𝑚 , 𝑦𝑚 ): }𝒴 ∈ 𝑖𝑦 𝒳,שהיא הקלט של אלגוריתם הסיווג. בהינתן דגימה חדשה מתוך מרחב המדגם ,מטרת האלגוריתם היא לסווג את הדגימה החדשה על בסיס קבוצת האימון הנתונה מראש. תהליך הלמידה: אימון על קבוצה סופית ,S ,של דוגמאות מסווגות קבלת מסווג/כלל סיווג סיווג של דוגמאות חדשות מתוך המרחב באמצעות המסווג במקרה שלנו הקבוצה 𝒳 הינה קבוצת וקטורים במרחב 𝑑 ℝכאשר 𝑑 הוא מספר אורכי הגל השונים שקיימים בתמונה (העומק של הקובייה התלת-ממדית שמגדירה את התמונה ההיפר-ספקטרלית). 5 )K Nearest Neighbors (kNN אלגוריתם הסיווג kNNמתבסס על ההנחה שדברים דומים מתנהגים בצורה זהה .זהו אלגוריתם סיווג פשוט שדורש לזכור את כל קבוצת האימון ,ולבצע את ההחלטה עבור כל וקטור חדש על בסיס השכנים הקרובים ביותר שלו בקבוצת האימון ,כאשר מדד הקרבה הוא במקרה שלנו לפי נורמת ( L2מרחק אוקלידי). פורמלית ,נגדיר את קבוצת האימון𝑆 = , ∈ 𝑖𝑦 {(𝑥1 , 𝑦1 ), … , (𝑥𝑚 , 𝑦𝑚 ): 𝑥𝑖 ∈ 𝒳, }𝒴. לכל 𝒳 ∈ 𝑥 ,נגדיר את הסידור של האינדקסים }𝑚 {1,2, … ,בסדר עולה לפי המרחק האוקלידי של וקטורי הדגימה מ 𝑥-בתור )𝑥( 𝑚𝜋 .𝜋1 (𝑥), 𝜋2 (𝑥), … ,כלומר ,לכל 𝑖 מתקיים: ‖ )𝑥( ‖𝑥 − 𝑥𝜋𝑖(𝑥) ‖ ≤ ‖𝑥 − 𝑥𝜋𝑖+1 2 2 כעת נעבור להגדרת האלגוריתם, K Nearest Neighbors }𝒴 ∈ 𝑖𝑦 Input: a training sample 𝑆 = {(𝑥1 , 𝑦1 ), … , (𝑥𝑚 , 𝑦𝑚 ): 𝑥𝑖 ∈ 𝒳, Parameter: k – number of neighbors 𝑺 Train: Memorize } )𝒙( 𝒌𝝅𝒚 Classify: for every vector 𝒙 ∈ 𝓧, return the majority label among {𝒚𝝅𝟏(𝒙) , 𝒚𝝅𝟐(𝒙) , … , 6 )Principal Components Analysis (PCA אלגוריתם הסיווג PCAמתבסס על הטרנספורמציה הליניארית המוגדרת ע"י אלגוריתם הורדת הממד של .PCA PCA demo 12 Samples on y=x with noise )First principal component (98% of energy y=x 10 בהורדת ממד באמצעות PCAאנו למעשה מוצאים טרנספורמציה ליניארית המוגדרת ע"י 𝑥𝑊 ↦ 𝑥, כאשר 𝑑 < 𝑛 𝑊 ∈ ℝ𝑛×𝑑 ,הינה מטריצת הטרנספורמציה ,כך שסך ההפרשים בין הוקטורים המשוחזרים לוקטורים המקוריים הוא מינימלי במובן של ריבועים פחותים (.)Least Squares 6 y פורמלית ,אם נסמן את מטריצת השחזור 𝑛×𝑑 ,𝑈 ∈ ℝאז מטרתנו היא למצוא: 8 4 2 10 9 8 7 5 6 4 3 2 1 0 x 𝑚 ∑‖𝑥𝑖 − 𝑈𝑊𝑥𝑖 ‖22 𝑖=1 min 𝑛×𝑑𝑊∈ℝ𝑛×𝑑 ,𝑈∈ℝ 𝑊 ̂, ̂ ∈ arg 𝑈 | .𝑋 = [𝑥1 | | נסמן את 𝑚×𝑑 𝑋 ∈ ℝלהיות מטריצת הדוגמאות שלנו ,כלומר ] 𝑚𝑥 … | | | מתוך התיאוריה נקבל כי̂ = [𝑢1 … 𝑢𝑛 ] , 𝑈 ,כאשר 𝑛𝑢 𝑢1 , 𝑢2 , … ,הם 𝑛 הוקטורים העצמיים עם | | 𝐻 𝑇 ̂ ̂ הערכים העצמיים הכי גדולים של המטריצה 𝑋𝑋 ,וכן 𝑈 = 𝑊 .וקטורים עצמיים אלו מתקבלים מתוך פירוק SVDשל המטריצה 𝑋. כלומר ,אנו לוקחים את הוקטורים העצמיים בעלי האנרגיה הכי גבוהה ,ולכן שגיאת השחזור תהיה מינימלית. באלגוריתם הסיווג של ,PCAאנו משתמשים בטרנספורמציה המתקבלת עבור הורדת הממד של כל אחת מהמחלקות בנפרד ,ומסווגים כל וקטור למחלקה עבורה מקבלים את השחזור בעל השגיאה המינימלית. פורמלית ,נגדיר את קבוצת האימון.𝑆 = {(𝑥1 , 𝑦1 ), … , (𝑥𝑚 , 𝑦𝑚 ): 𝑥𝑖 ∈ 𝒳, 𝑦𝑖 ∈ 𝒴} , אנו מניחים שקבוצת התיוגים 𝒴 היא סופית .לכל תיוג אפשרי 𝒴 ∈ 𝑦 ,נגדיר את המטריצה 𝑦 𝑋 להיות מטריצה המכילה את כל הדוגמאות המתויגות למחלקה 𝑦 (ואשר נמצאות בקבוצת האימון) ,בדומה להגדרה של 𝑋 לעיל. אנו נשתמש בפירוק ,SVDאשר בהינתן מטריצה 𝑋 מחזיר מטריצות 𝑉 ,𝑈, 𝐷,כך ש,𝑋 = 𝑈𝐷𝑉 𝑇 - כאשר 𝐷 הינה מטריצה אלכסונית שאיברי אלכסונה מופיעים בסדר יורד ונסמנם ב.𝑑𝑖 - כעת נעבור להגדרת האלגוריתם, 7 Principal Components Analysis (PCA) Input: a training sample 𝑆 = {(𝑥1 , 𝑦1 ), … , (𝑥𝑚 , 𝑦𝑚 ): 𝑥𝑖 ∈ 𝒳, 𝑦𝑖 ∈ 𝒴} Parameter: E – energy limit Train: Foreach class 𝑦 ∈ 𝒴: o Get the matrix 𝑋 𝑦 as defined. o [𝑈 𝑦 , 𝐷, 𝑉] = 𝑆𝑉𝐷(𝑋 𝑦 ). o Define 𝑛 𝑦 to be the lowest 𝑛 such that ∑𝑛 𝑖=1 𝑑𝑖 ∑𝑖 𝑑𝑖 ≥ 𝐸. 𝑛 = max 𝑛 𝑦 ̃ 𝑦 to be the matrix that contains the first 𝑛 columns of Foreach class 𝑦 ∈ 𝒴 define 𝑈 𝑈 𝑦 , and save it. 𝑦∈𝒴 ̃ 𝑦 (𝑈 ̃ 𝑦 )𝐻 𝑥‖ Classify: for every vector 𝑥 ∈ 𝒳, return arg min ‖𝑥 − 𝑈 𝑦∈𝒴 8 2 K-SVD אלגוריתם זה מתבצע בשני שלבים .ראשית ,פונקצית KSVDיוצרת מילון המבוסס על וקטורי האימון. בשלב השני מתבצע סיווג ,כאשר קיימות 0אפשרויות לסיווג .האפשרות הראשונה היא סיווג לפי דלילות ,כאשר הפונקציה המסווגת מקבלת כנתון מספר אטומים נצברים מקסימלי ומחזירה את הסיווג בעל השגיאה המינימלית .פונקציה זו היא .ompהאפשרות השנייה היא כאשר הפונקציה המסווגת מקבלת כנתון שגיאת סף ,ועליה למצוא את מספר האטומים המינימלי במילון שעדיין מקיים שגיאה זו .פונקציה זו היא .omp2 | פורמלית ,נגדיר את Xלהיות קבוצת וקטורי האימון ,כלומר𝑥𝑚 ] , | | .𝑋 = [𝑥1כדי להשתמש | … | ̅̅̅̅ 𝑥 בפונקצית ה ,KSVD-עלינו להשתמש בוקטורים מנורמלים ,לכן נגדיר ] 𝑚 | | 𝑥1 ̅̅̅[ = ̅𝑋 ,.כך ש- | … 𝑥 𝑥({ = 𝑆 ̅̅̅, ̅̅̅̅, ‖𝑖 𝑥‖ = 𝑖̅𝑥 לכל 𝑚 .𝑖 = 1 … .כמו כן נגדיר את קבוצת האימון̅𝑖 ∈ : 𝑥( 1 𝑦1 ), … , 𝑥 𝑚 𝑦𝑚 ): 𝑖 2 }𝒴 ∈ 𝑖𝑦 ̅ , 𝒳 .בהינתן שגיאה מסוימת 𝐸1המתקבלת כנתון ,בעיית האופטימיזיה שפונקציית KSVD פותרת היא: ‖𝐺𝐴𝑀𝑀𝐴‖0 𝑠. 𝑡. ‖𝑥̅𝑖 − 𝐷 𝑦 ∗ 𝐺𝐴𝑀𝑀𝐴𝑖 ‖2 ≤ 𝐸1 min 𝐴𝑀𝑀𝐴𝐺𝐷 𝑦 , כאשר Dyהוא המילון המתקבל מוקטורי האימון של התווית 𝒴 ∈ 𝑦 ו GAMMA-היא מטריצת הייצוג. ̅ בהתאמה. 𝑖𝐴𝑀𝑀𝐴𝐺 𝑥̅𝑖 ,אלו עמודות 𝐴𝑀𝑀𝐴𝐺 X, עבור סיווג לפי דלילות ,בעיית האופטימיזציה שפונקצית OMPפותרת היא: 𝑇 ≤ ‖𝑋̅ − 𝐷 𝑦 ∗ 𝐺𝐴𝑀𝑀𝐴𝑒𝑟𝑟𝑜𝑟 ‖2 s. t. ‖𝐺𝐴𝑀𝑀𝐴𝑒𝑟𝑟𝑜𝑟 ‖0 min GAMMAeror כאשר Tהוא מספר האטומים המקסימלי הדרוש. עבור סיווג לפי שגיאה ,בעיית האופטימיזציה שפונקצית OMP2פותרת היא: ‖GAMMAsparse ‖ 𝑠. 𝑡. ‖𝑋̅ − 𝐷 𝑦 ∗ 𝐺𝐴𝑀𝑀𝐴𝑠𝑝𝑎𝑟𝑠𝑒 ‖2 ≤ 𝐸2 0 min GAMMAsparse כאשר 𝐸2היא שגיאת הסיווג הרצויה. לאחר קבלת המטריצות 𝑒𝑠𝑟𝑎𝑝𝑠𝐴𝑀𝑀𝐴𝐺 𝐺𝐴𝑀𝑀𝐴𝑒𝑟𝑟𝑜𝑟 ,לכל תווית 𝑌 ∈ 𝑦 ,נמצא את הסיווג עפ"י התוות שעבורה הערך של ‖ 𝑒𝑠𝑟𝑎𝑝𝑠𝐴𝑀𝑀𝐴𝐺‖ ‖𝑋̅ − 𝐷 𝑦 ∗ 𝐺𝐴𝑀𝑀𝐴𝑒𝑟𝑟𝑜𝑟 ‖2 ,הוא המינימלי 0 בהתאמה .מכאן נקבל שני סיווגים ,לפי כל אחת משתי שיטות הסיווג שפורטו לעיל. כעת נעבור להגדרת האלגוריתם: K-SVD }𝒴 ∈ 𝑖𝑦 Input: a training sample 𝑆 = {(𝑥1 , 𝑦1 ), … , (𝑥𝑚 , 𝑦𝑚 ): 𝑥𝑖 ∈ 𝒳, Parameters: 𝐸1 -Learning Error, T – Max. atoms, 𝐸2 - Classify Error 9 Train: Get 𝑋̅ as described Foreach class 𝑦 ∈ 𝒴: o 𝐷 𝑦 = 𝐾𝑆𝑉𝐷[𝑋̅, 𝐸1 ] Classify: OMP – ̅: o Foreach vector 𝑥̅ ∈ 𝒳 𝑦 Foreach 𝑦 ∈ 𝒴: 𝐺𝐴𝑀𝑀𝐴𝑒𝑟𝑟𝑜𝑟 = 𝑂𝑀𝑃[𝐷 𝑦 , 𝑥̅ , 𝑇] 𝑦 return arg min‖𝑥̅ − 𝐷 𝑦 ∗ 𝐺𝐴𝑀𝑀𝐴𝑒𝑟𝑟𝑜𝑟 ‖2 𝑦∈𝒴 OMP2 – ̅: o Foreach vector 𝑥̅ ∈ 𝒳 𝑦 Foreach 𝑦 ∈ 𝒴: 𝐺𝐴𝑀𝑀𝐴𝑠𝑝𝑎𝑟𝑠𝑒 = 𝑂𝑀𝑃2[𝐷 𝑦 , 𝑥̅ , 𝐸2 ] 11 𝑦 return arg min‖𝐺𝐴𝑀𝑀𝐴𝑠𝑝𝑎𝑟𝑠𝑒 ‖ 𝑦∈𝒴 0 אלגוריתם בדיקה K Fold Cross Validation על מנת לבדוק את הביצועים של כל אחד מאלגוריתמי הלמידה ,ועל מנת לקבוע את הפרמטרים האופטימליים של כל אלגוריתם ,השתמשנו באלגוריתם K Fold Cross Validationשמטרתו להעריך את ביצועי האלגוריתם באמצעות חלוקה אקראית של קבוצת האימון ל K-קבוצות זרות ושוות בגודלן (כל קבוצה בגודל 𝐾 .)𝑚/כל פעם הלמידה מתבצעת על כל הקבוצות מלבד קבוצה אחת ,והערכת האלגוריתם מתבצעת באמצעות בדיקת השגיאה של המסווג על הקבוצה שהוצאה מתהליך הלמידה. להלן האלגוריתם המלא: K Fold Cross Validation Input: }𝒴 ∈ 𝑖𝑦 Training set 𝑆 = {(𝑥1 , 𝑦1 ), … , (𝑥𝑚 , 𝑦𝑚 ): 𝑥𝑖 ∈ 𝒳, Set of parameters values Θ 𝐴 Learning algorithm 𝐾 Integer Algorithm: 𝐾𝑆 Randomly partition 𝑆 into 𝐾 equally disjoint sets 𝑆1 , 𝑆2 , … , Foreach 𝜃 ∈ Θ 𝑘 o For 𝑖 = 1, … , )𝜃 ; 𝑖𝑆\𝑆(𝐴 = 𝜃 ℎ𝑖, 1 𝑘 |}𝑦 ≠ )𝑥( 𝜃𝑡𝑒𝑠𝑡𝑖𝑛𝑔 𝑒𝑟𝑟𝑜𝑟(𝜃) = ∑𝑘𝑖=1|{(𝑥, 𝑦) ∈ 𝑆𝑖 ∶ ℎ𝑖, o |}𝑦 ≠ )𝑥( 𝜃𝑡𝑟𝑎𝑖𝑛𝑖𝑛𝑔 𝑒𝑟𝑟𝑜𝑟(𝜃) = ∑𝑘𝑖=1|{(𝑥, 𝑦) ∈ 𝑆\𝑆𝑖 ∶ ℎ𝑖, o 1 𝑘 )Plot 𝑡𝑒𝑠𝑡𝑖𝑛𝑔 𝑒𝑟𝑟𝑜𝑟, 𝑡𝑟𝑎𝑖𝑛𝑖𝑛𝑔 𝑒𝑟𝑟𝑜𝑟 as function of 𝜃 (Model Selection Curve ])𝜃(𝑟𝑜𝑟𝑟𝑒 𝑔𝑛𝑖𝑡𝑠𝑒𝑡[Output 𝜃 ∗ = arg min θ Training set Testing set Iteration 1 Testing set Training set Iteration K 11 שיטות בדיקה ותוצאות התמונות - תמונות אשר הינן גדולות מספיק (בגדלים הנעים בין כ3- בחרנו ב,לצורך בדיקת האלגוריתמים 122 אורך הוקטור של הפיקסל נע בין, כלומר,) וכן עמוקות דיין1222x1222 פיקסלים ועד122x122 , וכן את החלוקה שלה למחלקות השונות, עבור כל תמונה נציג את מאפיינה. תדרים שונים022-ל .כאשר כ ל פיקסל מתייחס למחלקה אחרת בהתאם לדגימת התדרים בוקטור הפיקסל .כל התמונות שבהן השתמשנו הינן תמונות לווין Indian Pines 145x145 pixels, 200 spectral reflectance band, 16 classes – Table 1: Groundtruth classes for the Indian Pines scene and their respective samples number # 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 class Alfalfa Corn-notill Corn-mintill Corn Grass-pasture Grass-trees Grass-pasture-mowed Hay-windrowed Oats Soybean-notill Soybean-mintill Soybean-clean Wheat Woods Buildings-Grass-Trees-Drives Stone-Steel-Towers samples 46 1428 830 237 483 730 28 478 20 972 2455 593 205 1265 386 93 Salinas 512x217 pixels, 204 spectral reflectance band, 16 classes – Table 2: Groundtruth classes for the Salinas scene and their respective samples number # 1 2 3 4 5 6 7 8 9 10 11 12 class Brocoli_green_weeds_1 Brocoli_green_weeds_2 Fallow Fallow_rough_plow Fallow_smooth Stubble Celery Grapes_untrained Soil_vinyard_develop Corn_senesced_green_weeds Lettuce_romaine_4wk samples 2009 3726 1976 1394 2678 3959 3579 11271 6203 3278 1068 12 13 14 15 16 Lettuce_romaine_5wk Lettuce_romaine_6wk Lettuce_romaine_7wk Vinyard_untrained Vinyard_vertical_trellis 1927 916 1070 7268 1807 Pavia Center 1096x715 pixels, 102 spectral reflectance band, 9 classes – Table 3: Groundtruth classes for the Pavia Center scene and their respective samples number # 1 2 3 4 5 6 7 8 9 class Water Trees Asphalt Self-Blocking Bricks Bitumen Tiles Shadows Meadows Bare Soil samples 65971 7598 3090 2685 6584 9248 7287 42826 2863 Pavia University 610x340 pixels, 103 spectral reflectance band, 9 classes – Table 4: Groundtruth classes for the Pavia University scene and their respective samples number # 1 2 3 4 5 6 7 8 9 13 class Asphalt Meadows Gravel Trees Painted metal sheets Bare Soil Bitumen Self-Blocking Bricks Shadows samples 6631 18649 2099 3064 1345 5029 1330 3682 947 שיטות בדיקה (אלגוריתמים) לכל אלגוריתם קיימים מספר פרמטרים אשר קובעים את הצלחתו עבור כל תמונה .הפעלנו את האלגוריתם מספר פעמים על כל תמונה עם פרמטרים שונים בכל פעם כדי למצוא את הפרמטר או הפרמטרים שימקסמו את אחוז ההצלחה המתקבלת בתמונה כלשהי .כל האלגוריתמים מומשו ב- .MATLAB kNN עבור KNNקיים פרמטר יחיד והוא מספר השכנים על פי הם מתבצע הסיווג .השתמשנו ב- 1,0,3,12,02,42שכנים וקיבלנו גרף לכל תמונה .הגרף מראה את שגיאת האימון עבור קבוצת הבדיקה וכן עבור קבוצת הביקורת כתלות במספר השכנים. להלן הגרפים של התוצאות: Figure1 : Pavia University – kNN Model Selection Curve Training and Testing errors for kNN vs. num neighbours 60 Testing error Training error 50 40 Error 30 20 10 30 25 20 15 num neighbours 10 0 5 0 Figure2 : Pavia Center - kNN Model Selection Curve Training and Testing errors for kNN vs. num neighbours 1.4 Testing error Training error 1.2 1 0.6 ]Error [% 0.8 0.4 0.2 30 25 20 15 num neighbours 10 5 0 14 Figure3 : Indian Pines - kNN Model Selection Curve Training and Testing errors for kNN vs. num neighbours Testing error Training error 70 60 Error [%] 50 40 30 20 10 0 5 10 15 num neighbours 20 25 30 Figure4 : Salinas - kNN Model Selection Curve Training and Testing errors for kNN vs. num neighbours Testing error Training error 8 7 Error [%] 6 5 4 3 2 1 0 15 5 10 15 num neighbours 20 25 30 PCA גם כן קיים פרמטר יחיד והוא סף האנרגיה הקובע את מספר הרכיבים המרכזיים, PCA עבור הגרפים הבאים מתארים את שגיאת האימון ושגיאת הבדיקה כתלות בסף.)principal components( : התמונות3 האנרגיה עבור Figure5 : Pavia University - PCA Model Selection Curve Training and Testing errors for PCA vs. energy limit Testing error Training error 55 Error [%] 50 45 40 35 0.7 0.72 0.74 0.76 0.78 0.8 0.82 energy limit 0.84 0.86 0.88 Figure6 : Pavia Center - PCA Model Selection Curve Training and Testing errors for PCA vs. energy limit Testing error Training error 50 45 40 Error [%] 35 30 25 20 15 10 0.7 16 0.72 0.74 0.76 0.78 0.8 0.82 energy limit 0.84 0.86 0.88 Figure7 : Indian Pines - PCA Model Selection Curve Training and Testing errors for PCA vs. energy limit Testing error Training error 50 Error [%] 45 40 35 30 0.7 0.72 0.74 0.76 0.78 0.8 0.82 energy limit 0.84 0.86 0.88 Figure8 : Salinas - PCA Model Selection Curve Training and Testing errors for PCA vs. energy limit Testing error Training error 23 22 Error [%] 21 20 19 18 17 16 0.7 17 0.72 0.74 0.76 0.78 0.8 0.82 energy limit 0.84 0.86 0.88 KSVD עבור ,KSVDקיימים 0פרמטרים הקובעים את אחוז ההצלחה בסיווג לכל תמונה .הפרמטר הראשון משותף לשתי שיטות הסיווג והוא שגיאת האימון ,שנקבעת בזמן אימון המילון .עבור סיווג לפי דלילות, הפרמטר השני הוא מספר האטומים הנצברים שעל פי הם האלגוריתם מוצא את הפתרון בעל השגיאה המינימלית .עבור סיווג לפי שגיאה ,הפרמטר הוא שגיאת הסיווג ועל פיה האלגוריתם ימצא את הפתרון בעל מספר האטומים המינימלי .כעת לכל תמונה קיימים 4גרפים המתאימים ל 3-ערכי שגיאת האימון – ,0.025,0.05,0.075,0.1לכל אחת מ 0-השיטות .בגרפים השמאליים המתאימים לסיווג עפ"י שגיאה מופיעה השגיאה המתקבלת מאלגוריתם KSVDכתלות בשגיאת הסיווג הנעה בין 2.21עד .2.1בגרפים הימניים ,המתאימים לסיווג עפ"י דלילות ,מופיעה השגיאה המתקבלת כתלות במספר האטומים – בין 3ל .14-להלן הגרפים של התוצאות: Figure9 : Pavia University - KSVD Model Selection Curve with train error parameter = 2.5% Sparsity for classification (omp2). Train Parameters: train error = 0.025 Error for classification (omp). Train Parameters: train error = 0.025 30 Testing error Training error Testing error Training error 50 29 45 28 ]Error [% ]Error [% 27 40 26 35 25 30 24 13 12 11 8 9 10 sparsity parameter 7 6 0.1 5 0.08 0.04 0.06 test error parameter 0.02 Figure11 : Pavia University - KSVD Model Selection Curve with train error parameter = 5% Sparsity for classification (omp2). Train Parameters: train error = 0.05 Error for classification (omp). Train Parameters: train error = 0.05 30.5 Testing error Training error Testing error Training error 30 46 44 29.5 42 29 ]Error [% 28 38 36 27.5 34 27 32 26.5 13 12 11 8 9 10 sparsity parameter 7 6 5 ]Error [% 28.5 40 30 0.1 0.08 0.04 0.06 test error parameter 0.02 18 Figure11 : Pavia University - KSVD Model Selection Curve with train error parameter = 7.5% Sparsity for classification (omp2). Train Parameters: train error = 0.075 28.5 Testing error Training error 40 Testing error Training error 28 38 27.5 36 27 Error [%] Error [%] Error for classification (omp). Train Parameters: train error = 0.075 34 26.5 26 32 25.5 25 30 24.5 28 0.02 0.04 0.06 test error parameter 0.08 0.1 5 6 7 8 9 10 sparsity parameter 11 12 13 Figure12 : Pavia University - KSVD Model Selection Curve with train error parameter = 10% Sparsity for classification (omp2). Train Parameters: train error = 0.1 Error for classification (omp). Train Parameters: train error = 0.1 28.5 Testing error Training error 28 Testing error Training error 38 37 36 27.5 35 27 Error [%] Error [%] 34 33 32 26.5 26 31 25.5 30 25 29 24.5 28 24 0.02 0.04 0.06 test error parameter 0.08 0.1 5 6 7 8 9 10 sparsity parameter 11 12 13 Figure13 : Pavia Center - KSVD Model Selection Curve with train error parameter = 2.5% Sparsity for classification (omp2). Train Parameters: train error = 0.025 Error for classification (omp). Train Parameters: train error = 0.025 45 Testing error Testing error 8 Training error Training error 40 7.8 7.6 35 7.4 Error [%] Error [%] 30 25 7.2 7 6.8 20 6.6 6.4 15 6.2 10 6 0.02 19 0.04 0.06 test error parameter 0.08 0.1 5 6 7 8 9 10 sparsity parameter 11 12 13 Figure14 : Pavia Center - KSVD Model Selection Curve with train error parameter = 5% Sparsity for classification (omp2). Train Parameters: train error = 0.05 Error for classification (omp). Train Parameters: train error = 0.05 45 Testing error Training error 7.2 35 7 30 Error [%] Error [%] Testing error Training error 7.4 40 25 6.8 6.6 20 6.4 15 6.2 6 10 0.02 0.04 0.06 test error parameter 0.08 0.1 5 6 7 8 9 10 sparsity parameter 11 12 13 Figure15 : Pavia Center - KSVD Model Selection Curve with train error parameter = 7.5% Sparsity for classification (omp2). Train Parameters: train error = 0.075 Error for classification (omp). Train Parameters: train error = 0.075 7.2 40 Testing error Testing error Training error 7 Training error 35 6.8 6.6 Error [%] Error [%] 30 25 20 6.4 6.2 6 5.8 15 5.6 10 5.4 0.02 0.04 0.06 test error parameter 0.08 0.1 5 6 7 8 9 10 sparsity parameter 11 12 13 Figure16 : Pavia Center - KSVD Model Selection Curve with train error parameter = 10% Sparsity for classification (omp2). Train Parameters: train error = 0.1 Error for classification (omp). Train Parameters: train error = 0.1 Testing error Training error 35 Testing error Training error 14 13 12 30 Error [%] Error [%] 11 25 20 10 9 8 15 7 10 6 0.02 21 0.04 0.06 0.08 test error parameter 0.1 5 6 7 8 9 10 11 sparsity parameter 12 13 Figure17 : Indian Pines - KSVD Model Selection Curve with train error parameter = 2.5% Sparsity for classification (omp2). Train Parameters: train error = 0.025 Error for classification (omp). Train Parameters: train error = 0.025 42.5 Testing error Training error 95 Testing error Training error 42 41.5 41 90 Error [%] Error [%] 40.5 85 40 39.5 39 80 38.5 38 75 37.5 0.02 0.04 0.06 test error parameter 0.08 0.1 5 6 7 8 9 10 sparsity parameter 11 12 13 Figure18 : Indian Pines - KSVD Model Selection Curve with train error parameter = 5% Sparsity for classification (omp2). Train Parameters: train error = 0.05 98 Error for classification (omp). Train Parameters: train error = 0.05 Testing error Training error 96 Testing error Training error 47 94 46 92 45 Error [%] Error [%] 90 88 86 84 44 43 82 80 42 78 41 0.02 0.04 0.06 test error parameter 0.08 0.1 5 6 7 8 9 10 sparsity parameter 11 12 13 Figure19 : Indian Pines - KSVD Model Selection Curve with train error parameter = 7.5% Sparsity for classification (omp2). Train Parameters: train error = 0.075 Error for classification (omp). Train Parameters: train error = 0.075 98 Testing error Training error 96 48 94 47.5 92 47 90 46.5 Error [%] Error [%] Testing error Training error 48.5 88 46 45.5 86 84 45 82 44.5 44 80 43.5 0.02 21 0.04 0.06 test error parameter 0.08 0.1 5 6 7 8 9 10 sparsity parameter 11 12 13 Figure21 : Indian Pines - KSVD Model Selection Curve with train error parameter = 10% Sparsity for classification (omp2). Train Parameters: train error = 0.1 Error for classification (omp). Train Parameters: train error = 0.1 98 49.5 Testing error Training error 96 48.5 94 48 Error [%] 92 Error [%] Testing error Training error 49 90 88 47.5 47 46.5 86 46 84 45.5 82 45 80 0.02 0.04 0.06 0.08 test error parameter 0.1 5 6 7 8 9 10 11 sparsity parameter 12 Figure21 : Salinas - KSVD Model Selection Curve with train error parameter = 2.5% Sparsity for classification (omp2). Train Parameters: train error = 0.025 14 Testing error Training error 80 70 13.5 60 13 Error [%] Error [%] Error for classification (omp). Train Parameters: train error = 0.025 50 12.5 40 12 30 11.5 20 11 0.02 0.04 0.06 test error parameter 0.08 0.1 Testing error Training error 5 6 7 8 9 10 sparsity parameter 11 12 13 Figure22 : Salinas - KSVD Model Selection Curve with train error parameter = 5% Sparsity for classification (omp2). Train Parameters: train error = 0.05 Error for classification (omp). Train Parameters: train error = 0.05 Testing error Training error 70 Testing error Training error 13.2 13 60 12.8 12.6 Error [%] Error [%] 50 40 12.4 12.2 12 30 11.8 11.6 20 11.4 0.02 22 0.04 0.06 test error parameter 0.08 0.1 5 6 7 8 9 10 sparsity parameter 11 12 13 13 Figure23 : Salinas - KSVD Model Selection Curve with train error parameter = 7.5% Sparsity for classification (omp2). Train Parameters: train error = 0.075 70 Error for classification (omp). Train Parameters: train error = 0.075 Testing error Training error Testing error Training error 13.5 60 13 Error [%] Error [%] 50 40 12.5 30 12 20 11.5 0.02 0.04 0.06 test error parameter 0.08 0.1 5 6 7 8 9 10 sparsity parameter 11 12 13 Figure24 : Salinas - KSVD Model Selection Curve with train error parameter = 10% Sparsity for classification (omp2). Train Parameters: train error = 0.1 Error for classification (omp). Train Parameters: train error = 0.1 Testing error Training error 65 Testing error Training error 60 13.5 55 13 45 Error [%] Error [%] 50 40 12.5 35 30 12 25 20 11.5 15 0.02 23 0.04 0.06 test error parameter 0.08 0.1 5 6 7 8 9 10 sparsity parameter 11 12 13 סיכום התוצאות כדי למצוא מהו האלגוריתם בעל הביצועים הטובים ביותר מבחינת אחוז שגיאה נמוך ,מצאנו את הפרמטרים האופטימליים עבור כל שיטה לכל אחת מהתמונות .התוצאות והפרמטרים האופטימליים המתאימים (בסוגריים) מופיעים בטבלה הבאה: Table5 : Results Summary - Optimal Test Errors KSVD – by )sparcity (omp (sparcity, train )error KSVD – by error )(omp2 (test error, )train error PCA (energy limit )][% KNN (num. )neighbours 74.39% )(5,0.1 70.54% )(0.0325, 0.025 66.85% )(72.22 90.988% )(5 Pavia University 94.328% )(5,0.1 92.546% )(0.01,0.075 92.916% )(70 98.799% )(5 Pavia Center 61.01% )(11, 0.025 28.76% )(0.0325,0.025 67.2% )(90 77.22% )(5 Indian Pines 88.66% )(11, 0.025 85.1% )(0.01,0.075 84.48% )(87.78 93.97% )(1 Salinas 24 בטבלה הבאה מופיעים זמני הריצה של כל אחד מהאלגוריתמים ,אשר חושבו באמצעות הפעלת אלגוריתם הסיווג עם קבוצת אימון רנדומלית של 92%מהפיקסלים המתויגים וקבוצת בדיקה של 12%הפיקסלים המתויגים הנותרים .הפרמטרים שנלקחו להרצת כל אחד מהאלגוריתמים הינם הפרמטרים האופטימליים כפי שמופיעים בטבלה לעיל .בנוסף ,על מנת לדייק בחישוב הזמנים לקחנו את הממוצע של 3הרצות של כל אחד מהאלגוריתמים. כל המדידות התבצעו על שרת ה MATLAB-של המעבדה ( ,)132.68.39.228שמכיל 4יחידות עיבוד מסוג .Intel® Core™ i7-3770 CPU @ 3.40GHz כל התוצאות בטבלה הינן בשניות. Table6 : Results Summary - Execution Times KSVD – by )sparcity (omp KSVD – by error )(omp2 PCA KNN 116.9194 100.2783 0.64591 15.9454 Pavia University 832.8063 1221.5952 5.2376 240.7583 Pavia Center 14.9018 12.0678 0.49127 2.2987 Indian Pines 245.2654 220.8507 2.5795 72.8826 Salinas על מנת להמחיש את התוצאות מובאות להלן תמונות ( )Figures 26-29המתארות את המחלקות השונות בכל תמונה היפרספקטרלית שבדקנו .עבור כל תמונה נציג קודם כל את התיוג האופטימלי שהיה נתון לנו ( ,)Ground Truthובנוסף את התיוג כפי שהתקבל מהרצת כל אחת מהאלגוריתמים על כל אחת מהתמונות עם קבוצת אימון שמכילה 92%מהפיקסלים בתמונה ,וסיווג כל הפיקסלים בתמונה (כולל אלו של קבוצת האימון) באמצעות המסווג שהתקבל ,כאשר כל אלגוריתם הורץ עם הפרמטרים האופטימליים כפי שמופיעים בטבלה לעיל. 25 Figure25 : Pavia University - Labeled Images Pavia University - Ground Truth Pavia University - kNN 26 Pavia University - PCA Pavia University - K-SVD (by error) 27 Pavia University - K-SVD (by sparcity) Figure26 : Pavia Center - Labeled Images Pavia Center - Ground Truth Pavia Center - kNN 28 Pavia Center - PCA Pavia Center - K-SVD (by error) 29 Pavia Center - K-SVD (by sparcity) Figure27 : Indian Pines - Labeled Images Indian Pines - Ground Truth 31 Indian Pines - kNN Indian Pines - PCA Indian Pines - K-SVD (by error) Indian Pines - K-SVD (by sparcity) Figure28 : Salinas - Labeled Images Salinas - Ground Truth Salinas - kNN 31 Salinas - PCA Salinas - K-SVD (by error) Salinas - K-SVD (by sparcity) מסקנות והצעות לשיפור סיכום ומסקנות ניתן להסיק באופן כללי לגבי כל האלגוריתמים שאותם בחנו ,שכאשר התמונה גדולה יותר ,כלומר יש יותר מידע ,אז אחוז השגיאה בסיווג הוא נמוך יותר. הדבר בולט במיוחד לגבי התמונה Pavia Centerשהינה בגודל 1096*715עם 102קווים ספקטרליים, שבה כל האלגוריתמים מצליחים להשיג אחוזי הצלחה של מעל ל .92%-מנגד ,בתמונה Indain Pines שהינה תמונה קטנה בגודל של 145*145עם 200קווים ספקטרליים כל האלגוריתמים מציגים ביצוע ים ירודים .לכן אנו מסיקים שככל שיש לנו יותר מידע ,אז הסיווג יהיה טוב יותר משמעותית. כפי שניתן לראות מטבלה ,3האלגוריתם בעל אחוז ההצלחה הגבוה ביותר באופן עקבי הוא אלגוריתם .kNNהאלגוריתם מצליח להגיע לרוב למעל 92%הצלחה ,מה שמוביל למסקנה שבתמונות ההיפרספקטרליות אותן בחנו ,הוקטורים בתמונה שמשתייכים למחלקות זהות קרובים אחד לשני במובן של נורמת .L2 אף על פי כן ,ניתן לראות מזמני הריצה (טבלה )4של kNNשזהו אלגוריתם בעל סיבוכיות זמן ריצה גבוהה ,משום שצריך לחפש עבור כל וקטור לסיווג מהתמונה את kהשכנים הכי קרובים אליו מתוך קבוצת האימון ,שזו פעולה יקרה חישובית במיוחד אם קבוצת האימון גדולה ,ואם מספר הקווים הספקטרליים שמופיעים בתמונה הוא גבוה .בנוסף לכך ,סיבוכיות המקום של kNNגם כן גבוהה, מכיוון שלמעשה בשלב האימון אנו בעצם צריכים לשמור את כל קבוצת האימון על מנת שנוכל לסווג וקטורים חדשים .לכן ,האלגוריתם אינו יעיל חישובית ,על אף שהוא נותן שגיאות קטנות יחסית לאלגוריתמים האחרים. כמו כן ,ניתן להסיק לגבי אלגוריתם kNNשמספר השכנים האופטימלי הוא ,3שכן ב 4-מתוך 3 תמונות מספר שכנים זה נותן את התוצאות הטובות ביותר מבחינת שגיאת סיווג מינימלית. כפי שניתן לראות מטבלה ,4אלגוריתם PCAנותן באופן עקבי את זמני הריצה הנמוכים ביותר ,והם נמוכים משמעותית בהשוואה לאלגוריתמים האחרים שאותם בחנו .למרות זאת ,כפי שניתן לראות מטבלה ,3שגיאת הסיווג של אלגוריתם PCAיותר גבוהה בהשוואה לאלגוריתמים האחרים. כמו כן ,מגרפים 3-4ניתן לראות שההתנהגות של אלגוריתם PCAאינה עקבית ,וכן בגרף 09ניתן לראות שהשונות של שגיאת הייצוג של כל אחד מהוקטורים בקבוצת הבדיקה בבסיס המתאים למחלקה הנכונה שלו הינה יחסית גבוהה. אנו יכולים לשער שהתנהגות הזו נובעת משגיאות ייצוג נומריות ,והדבר נכון בעיקר כאשר מגדילים את הפרמטר .energy limitמכיוון שכל הוקטורים מכל המחלקות נמצאים ב ℝ𝑑 -עבור 𝑑 קבוע כלשהו ,אז ככל שה energy limit-גדול יותר ,אנו מתקרבים ל"שחזור מושלם" מבחינת הטרנספורמציה להורדת מימד של ,PCAאך מבחינת הסיווג אנו לא נדע לאיזה מחלקה לשייך את הוקטור בגלל ששגיאות הייצוג יהיו קטנות מאוד. מהמסקנה שלעיל ומטבלה ,3ניתן להסיק שמחסום האנרגיה האופטימלי לשימוש באלגוריתם PCA הוא בסביבות ,72%על מנת להימנע מהתופעה שתיארנו לעיל. לגבי אלגוריתם ,KSVDניתן לראות שהדבר הבולט מטבלה 4הוא זמני הריצה הגבוהים יחסית לזמני הריצה של האלגוריתמים האחרים .יחד עם זאת ,סיבוכיות המקום שהאלגוריתם צורך קטן יותר בהשוואה ל ,kNN-משום שאנו צריכים לשמור רק את המילונים של כל מחלקה ,כאשר כל מילון מכיל מספר אטומים קטן לפחות פי 12מגודל קבוצת האימון של המחלקה המתאימה. בנוסף ,בהשוואה לאלגוריתם PCAניתן לומר ששני האלגוריתמים PCA ,ו ,KSVD-מבצעים הורדה של ממד הבעיה ,כל אחד ע"י פתרון בעיית אופטימיזציה שונה .מנגד ,השוני בין האלגוריתמים כפי שמתבטא בגרפים של )Figures 9-24( KSVDלעומת הגרפים של )Figures 5-8( PCAהוא שKSVD- 32 מתנהג בצורה עקבית ויציבה יותר ,והתופעה שתוארה באלגוריתם PCAלא קיימת באלגוריתם .KSVD כמו כן ,אלגוריתם KSVDמציג ביצועים טובים יותר בהשוואה ל PCA-מבחינת שגיאת הסיווג כפי שניתן לראות בטבלה .3 מתוך טבלה ,3ניתן לראות שהשגיאות שהתקבלו בסיווג של KSVDבאמצעות הפונקציה ompהינן נמוכות יותר מהשגיאות שהתקבלו בסיווג באמצעות הפונקציה .omp2כמו כן ,מתוך טבלה זאת ניתן להסיק כי מבחינת פרמטר שגיאת האימון ,הערך האופטימלי הוא ,2.5%אם כי זה לא חד-משמעי. מבחינת הפרמטרים של שגיאת הבדיקה (של )ompושל הדלילות (של ,)omp2לא ניתן להסיק חד- משמעית מהם הערכים האופטימליים. הבעייתיות בסיווג באמצעות KSVDהיא בכך שהוא מכיל הרבה מאוד פרמטרים שאותם יש לקבוע, ולעתים זוהי משימה לא פשוטה כלל שדורשת זמן רב בגלל הרצת האלגוריתם עם וריאציות רבות של פרמטרים. בנוסף לפרמטרים שהבאנו לעיל ,ישנם עוד פרמטרים ל KSVD-שלא השתמשנו בהם כגון מספר האיטרציות שהאלגוריתם ללימוד המילון מבצע (ערך ברירת המחדל הוא 12איטרציות) ,וכן תנאי ההתחלה ללימוד המילון (כברירת מחדל האלגוריתם מגריל בהתחלה את האטומים באקראי מתוך קבוצת האימון) שיכולים להשפיע על התוצאות. הצעות לשיפור ומשימות עתידיות כפי שראינו אלגוריתם kNNמציג את הביצועים הטובים ביותר מבחינת הסיווג ,אך לא מבחינת סיבוכיות זמן ריצה וסיבוכיות מקום ,כאשר הסיבה נובעת לרוב מגודל קבוצת האימון ומממד הבעיה. האלגוריתמים PCAו KSVD-יכולים לשמש להורדת ממד הבעיה ,ולאחר מכן אפשר להפעיל את אלגוריתם kNNבתור המסווג על הבעיה בממד הנמוך יותר ובכך לחסוך בסיבוכיות זמן הריצה וסיבוכיות המקום של .kNN כמו כן ניתן לשער שהדבר לא יפגע משמעותית באחוז ההצלחה של ,kNNמאחר ולמשל ב- PCAראינו שרוב האנרגיה של קבוצת האימון מתרכזת לרוב בלכל היותר 12-42וקטורים עצמיים ,ולכן ניתן להפחית את הממד משמעותית אך לשמר את שגיאת הסיווג הנמוכה. הרחבת קבוצת אלגוריתמי הסיווג ולכלול גם אלגוריתמים כמו Multiclass SVMאו אלגוריתמי סיווג אחרים שמיועדים בעיקר לסגמנטציה של תמונות. שימוש בכלים של עיבוד תמונה כשלב של עיבוד מקדים לפני הסיווג ,או בכלים שייחודים לעיבוד תמונות היפרספקטרליות. הרחבת קבוצת התמונות לבדיקה למאגר נרחב יותר ,באופן שיאפשר למידה על מספר תמונות ביחד ,וסיווג של שאר התמונות במאגר. 33 ביבליוגרפיה [1] Hyperspectral Imaging. Retrieved from Wikipedia: http://en.wikipedia.org/wiki/Hyperspectral_imaging [2] Hyperspectral Remote Sensing Scenes. Retrieved from University of the Basque Country: http://www.ehu.es/ccwintco/index.php?title=Hyperspectral_Remote_Sensing_Scen es [3] Rubinstein, R. Matlab Tools. Retrieved from Ron Rubinstein's Homepage: http://www.cs.technion.ac.il/~ronrubin/software.html [4] Shalev-Shwartz, S., & Ben-David, S. Understanding Machine Learning. 34 נספחים נספח א' :בדיקות נוספות עבור האלגוריתמים המורכבים יותר PCA ,ו ,KSVD-ביצענו מספר בדיקות נוספות כדי להראות את השגיאות שנוצרות עקב שימוש באלגוריתמים אלו .בדיקות נוספות אלו ביצענו אך ורק על התמונה .Pavia University PCA בגרפים הבאים מוצגת הסטטיסטיקה של שגיאת השחזור בין וקטורי הבדיקה של כל מחלקה לבין תוצאת הפעלת הטרנספורמציה שמתאימה למחלקה של כל אחד מוקטורי הבדיקה ולאחר מכן שחזור באמצעות המטריצות המתאימות. כלומר ,לכל וקטור 𝑥 בקבוצת הבדיקה שהמחלקה שלו היא 𝑦 ,חישבנו את שגיאת השחזור: 𝑈( 𝑦 ̃ ‖𝑥 𝐻) 𝑦 ̃ 𝑈 ‖𝑥 − 2 להלן הגרפים עבור 3 Foldsמהרצה של האלגוריתם עם :10-Fold Cross Validation Figure29 : PCA - Representation Errors of Testing Vectors of 3 Folds Distance between testing vectors of a single class and the projection of these vectors to the PCA basis of that class - Fold 1 600 300 300 400 200 200 200 400 200 0 1000 500 0 100 50 0 100 2000 1000 0 100 0 500 0 400 400 400 300 300 300 200 200 200 100 200 100 0 100 1000 500 0 100 250 400 250 200 300 200 150 200 150 100 500 0 100 200 100 0 100 35 Distance between testing vectors of a single class and the projection of these vectors to the PCA basis of that class - Fold 5 300 400 250 300 200 200 150 200 100 0 500 300 100 0 1000 2000 400 100 0 200 400 0 500 1000 0 50 100 300 300 200 200 200 100 0 500 1000 250 100 0 100 200 300 100 250 200 200 200 150 100 150 0 100 200 100 0 500 100 Distance between testing vectors of a single class and the projection of these vectors to the PCA basis of that class - Fold 10 300 400 400 300 300 200 200 200 100 0 500 100 0 1000 2000 100 400 600 400 300 400 300 200 200 200 100 0 500 1000 250 0 0 100 200 100 300 300 200 200 0 200 400 0 500 1000 0 50 100 200 150 100 36 0 100 200 100 0 500 100 KSVD עבור אלגוריתם KSVDחישבנו את הדלילות של הייצוג על קבוצת האימון ,כאשר השתמשנו ב3- המחלקות הראשונות של תמונת .Pavia Universityכמו כן חישבנו את שגיאת הייצוג של קבוצת האימון .כאן השתמשנו ב 122-אטומים במילון ,בניגוד להרצות הקודמות של KSVDבהן השתמשנו בעשירית ממספר וקטורי האימון לאטומים במילון. דלילות הייצוג של קבוצת האימון: קיבלנו כי מספר הרכיבים במטריצה GAMMAבממוצע שאינם 2בכל מחלקה לפי ערך השגיאה הוא: Table7 : KSVD - Sparsity of Training Set Representation 4 3 2 1 Edata\class 3.9380 2.4752 5.3624 6.2096 2.5% 1.141 1.0257 1.7824 1.677 5% 1.0646 1.0086 1.0164 1.0286 7.5% 1.0085 1 1.0312 1.0130 10% שגיאת הייצוג המתקבלת: קיבלנו כי השגיאה הממוצעת בכל מחלקה לפי ערך השגיאה המבוקש היא: Table8 : KSVD - Representation Error 4 3 2 1 Edata\class 0.0878 0.0662 0.1371 0.1113 2.5% 0.1012 0.0673 0.1816 0.1343 5% 0.1022 0.0606 0.1901 0.1187 7.5% 0.1020 0.0615 0.2136 0.1537 10% 37
© Copyright 2024