דרישות הפרויקט לקורס הראייה

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

המחקר בארבעה שלבים

כל צירוף של משימה ומאגר נתונים עובר דרך אותו pipeline. הפרויקט הוא אותו ניסוי החוזר על עצמו על פני משימות ועיוותים.

שלב 1

בסיס ייחוס נקי

הריצו כל שיטה על תמונות נקיות ומדדו את הביצועים מול אמת המידה.

שלב 2

עיוות

הפעילו עיוותים בעוצמות מכוילות ומדדו את ההידרדרות מול ה-SNR.

שלב 3

שחזור

שפרו את התמונות המעוותות (הפחתת רעש, הסרת גשם, תאורה חלשה) ומדדו שוב.

שלב 4

כיוונון עדין

התאימו את המודלים העמוקים לעיוותים והשוו מול השחזור.

שלב א. היקף ובחירה

מה אתם חוקרים ולמה. קבעו זאת לפני כתיבת הקוד; תעדו כל בחירה, עם קישורים, ב-README.

דרישה 1

מאגר נתונים ציבורי עם אמת מידה (ground truth)

בחרו מאגר נתונים ציבורי (KITTI, Cityscapes, COCO, ADE20K, Oxford-IIIT Pet, DOTA, מאגר רפואי וכדומה) שנושא תיוגי אמת מידה לפחות עבור אחת מהמשימות שלכם. טענו תת-קבוצה קבועה עם seed כך שהתוצאות יהיו ניתנות לשחזור.

אנטי-דפוסים נפוצים
  • היעדר אמת מידה, כך שאי אפשר למדוד את ההידרדרות.
  • תת-קבוצה ללא seed או משתנה שמשתנה בין ריצות.
  • מאגר נתונים קטן ופשוט מדי, קטן מכדי להראות מגמות אמיתיות.
דרישה 2

שלוש משימות, ברמה נמוכה וגבוהה

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

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

שלוש שיטות עיוות

בחרו לפחות שלושה עיוותים שריאליסטיים לתחום שלכם: רעש (גאוסי, speckle, מלח-ופלפל), תאורה חלשה, טשטוש תנועה, גשם, ערפל, דחיסת JPEG וכדומה. כל עיוות חייב להיות מופעל בכמה רמות עוצמה מכוילות.

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

מודל או אלגוריתם לכל משימה

שייכו שיטה קונקרטית לכל משימה, וכללו לפחות מודל למידה עמוקה אחד (למשל YOLO לזיהוי, SegFormer/DeepLab לסגמנטציה, ResNet לסיווג). שיטות קלאסיות (ORB, Canny, Lucas-Kanade) מכסות את המשימות ברמה הנמוכה.

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

שלב ב. בסיס ייחוס והידרדרות

בססו את האמת על תמונות נקיות, ואז כמתו כמה כל שיטה צונחת ככל שהאיכות יורדת.

דרישה 5

בסיס ייחוס על תמונות נקיות

הריצו כל שיטה על תמונות נקיות ותעדו את ביצועיה מול אמת המידה. בסיס ייחוס זה הוא הרפרנס שכל מספר מאוחר יותר מושווה אליו, ולכן עליו להשתמש במדד הנכון והמתאים למשימה (IoU/mAP לזיהוי, mIoU/Dice לסגמנטציה, יחס התאמות לתכונות).

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

הידרדרות נמדדת מול SNR

מַפּוּ את עוצמת העיוות לציר פיזיקלי משותף (SNR או PSNR ב-dB) ודווחו את הביצועים כעקומה על פני הציר הזה. כך ניתן להשוות עיוותים מסוגים שונים בסקאלה אחת, ומתגלה היכן כל שיטה נשברת.

אנטי-דפוסים נפוצים
  • עוצמה שמדווחת כערך שרירותי של כפתור.
  • זוג לפני/אחרי בודד במקום עקומה.
  • עיוותים שונים המשורטטים על צירים שאינם ברי-השוואה.
דרישה 7

דיווח לפי מחלקה ולפי SNR

פרקו את הביצועים לפי מחלקה ולפי רמת SNR, ולא רק כמספר מצרפי יחיד. ממוצע מסתיר את העובדה שמחלקות קטנות או נדירות קורסות לרוב ראשונות תחת עיוות; המבט לפי מחלקה הוא המקום שבו נמצאים הממצאים האמיתיים.

אנטי-דפוסים נפוצים
  • מספר מצרפי יחיד עבור כל מאגר הנתונים.
  • מיצוע שמעלים את הקריסה לפי מחלקה.
  • היעדר טבלה שמקשרת בין המדד למחלקה ול-SNR.

שלב ג. שחזור

שתי דרכים להילחם בהידרדרות: לתקן את התמונה, או להתאים את המודל. עשו את שתיהן והשוו ביניהן בהוגנות.

דרישה 8

שיפור / שחזור תמונה

עבור כל עיוות, הפעילו שלב עיבוד-מקדים קלאסי תואם (הפחתת רעש בשיטת non-local-means או bilateral, gamma/CLAHE לתאורה חלשה, deblocking ל-JPEG, deconvolution לטשטוש) ומדדו מחדש כל משימה על התמונות המשוחזרות.

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

כיוונון עדין של המודל

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

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

השוואה הוגנת בין שיפור לכיוונון עדין

העמידו את השחזור ואת הכיוונון העדין זה לצד זה על אותן משימות, עיוותים ורמות SNR, וקבעו מי מנצח והיכן. התוצאה המעניינת היא לרוב שהתשובה תלויה ברמת ההפשטה של המשימה.

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

שלב ד. הנדסה ותיעוד

קורא אמור להיות מסוגל להבין ולשחזר את המחקר מתוך הריפוזיטורי בלבד.

דרישה 11

ריפוזיטורי ניתן לשחזור

מסרו ריפוזיטורי GitHub עם קוד העיוות, קוד הפעלת המודלים, הפלטים והתיוגים השמורים, checkpoints או configs, ו-README מתועד שרושם כל בחירה עם קישורים. ראו את המדריך הגשה ב-GitHub לרשימת הבדיקה המלאה.

אנטי-דפוסים נפוצים
  • תוצאות במצגת שאין קוד בריפוזיטורי שמייצר אותן.
  • נתיבים מקומיים מקודדים קשיח וללא קובץ סביבה.
  • README שמפרט צעדים אך לא החלטות.
דרישה 12

ויזואליזציה: לפני/אחרי ועקומות

תעדו את ה-pipeline באופן חזותי: תמונות עם תיוגים מונחים מעליהן, רשתות של לפני/אחרי עיוות ושחזור, ותרשימי מדידה (תרשימי עמודות, עקומות לפי SNR, השוואות לפי מחלקה). החזותיים הם האופן שבו הממצא מתקשר, ולא קישוט.

אנטי-דפוסים נפוצים
  • טבלאות של מספרים ללא איור תומך.
  • צילומי מסך ללא תוויות, צירים או כיתובים.
  • היעדר לפני/אחרי שיראה מה העיוות באמת עשה.
דרישה 13

מצגת והגשה סופית

הגישו את הריפוזיטורי המלא לצד מצגת (PPT ו-PDF). המצגת מספרת את סיפור העמידוּת מקצה לקצה: הבחירות, בסיס הייחוס הנקי, ההידרדרות, השחזור והמסקנות.

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

תוכנית שבועית מוצעת

קצב עבודה בר-ביצוע מהקמת הצוות ועד ההגשה הסופית. כל שבוע מפיק תוצר קונקרטי בריפוזיטורי.

שבועמשימהתוצר
1הרכבת צוות, פתיחת Git, רישוםריפוזיטורי GitHub פתוח; שורה בטבלת פרויקטי הקורס
2חקר ובחירה של מאגר נתונים, עיוותים ומשימותטבלת החלטות עם קישורים, משובצת ב-README
3חקר ובחירה של שיטות ושיפוריםטבלת החלטות עם קישורים, משובצת ב-README
4הורדת נתונים; ויזואליזציה של תמונות ותיוגיםקוד הורדה ו-EDA; רשת תמונות לדוגמה עם תיוגים ב-README
5הרצת שיטות/מודלים על נתונים נקיים; שמירת פלטיםתיקייה עם פלטים/תיוגים בריפוזיטורי
6מדידת ביצועים על נתונים נקיים באמצעות אמת מידהטבלת תוצאות; ויזואליזציה לפי מחלקה
7הפעלת עיוותים; שמירת נתוניםקוד עיוות; תיקיית תמונות מעוותות; ויזואליזציית לפני/אחרי
8הרצת מודלים; מדידת הידרדרותקוד הפעלה; טבלאות ביצועים; חזותיי השוואה מתויגים
9הפעלת שיפורים; מדידת ביצועיםרשתות זו-לצד-זו; חזותיי השוואת ביצועים
10כיוונון עדין של המודל/יםקוד כיוונון עדין; checkpoints / משקלי מודל
11מדידת ביצועי המודל המכוונןטבלת תוצאות ב-Git; ויזואליזציה
12סקירת ה-README; שיפור חזותיים, טקסט וטבלאותREADME עשיר ומפורט עם כל ההחלטות והויזואליזציה
13הכנה והעלאה של המצגת; סקירת הריפוזיטוריריפוזיטורי מלא; מצגת (PPT ו-PDF)