אוגמנטציה של תמונות: היכן נשבר האימון על מדגם קטן
אימון על מדגם קטן של נתונים כמעט תמיד נראה אותו דבר: על כמה מאות פריימים מתויגים המודל עובר אימון בביטחון, אבל על חלק המוחזק (validation) הוא נכשל במחלקות נדירות.
פורמלית השגיאה יורדת, אבל הפער בין ההתנהגות על דוגמאות מוכרות לחדשות גדל — זה בדיוק התאמת יתר (overfitting) של המודל, שבה הרשת זוכרת פריימים ספציפיים במקום מאפיינים של האובייקט.
חוסר איזון בין מחלקות מחמיר את התמונה. כאשר מחלקה נדירה מהווה חלקי אחוז מהדוגמאות, משתלם למודל לחזות את המחלקה הנפוצה: אחוז התשובות הנכונות הכולל עולה, אבל הרגישות (recall) לפגם או אנומליה יורדת לאפס. המדדים מתפצלים, ובמספר המסכם לא רואים שהפתרון לא עובד במקום שלשמו הוא נבנה.
המחיר של כשל כזה הוא לא רק איטרציה מקולקלת. הכנת דאטה-סט הופכת לקו ייצור ידני: המתייגים לא מספיקים לעמוד בקצב, מקרים נדירים צריך לחפש ידנית, וכל ניסיון נוסף לשפר את המודל נתקל באותם כמה מאות פריימים. הצוות או עוצר את האימון, או מוציא מודל שמפספס חצי מהאובייקטים המשמעותיים.
אוגמנטציה פשוטה של תמונות כשלעצמה לא פותרת את הבעיה. סיבובים אקראיים, שיקופים והזזות מייצרים פריימים כמעט זהים: המודל זוכר את הרקע, התאורה וארטיפקטים של הצילום, ואילו הוולידציה, שנאספה מאותם צילומים, מאשרת את האשליה הזו. אנו מפרטים כיצד זה נסגר — מחוקי בחירת דוגמאות ואיזון מחלקות ועד בקרת מדדים עבור כל מחלקה בנפרד.
אפקט מדיד: איכות המודל, לוחות זמנים, עלות עבודה
מדדים על מדגם מוחזק מפסיקים "לצוף"
מדיניות הרחבת הנתונים מוגדרת במפורש: אילו סיבובים, קנה מידה, הזזות, שינויי בהירות וניגודיות, רעש וטשטוש מותרים עבור מחלקה מסוימת. האימון מתבצע על סט מורחב, והבדיקה — על סט מוחזק, שלא נגעו בו עם הרחבה. לכן המספרים משקפים את האיכות האמיתית של מודל ראייה ממוחשבת, ולא התאמה לדוגמאות האימון.
פחות תיוג ידני על אותו נפח נתונים
פריים מתויג אחד הופך לעשרות וריאציות נכונות — מלבנים ומסכות מחושבים מחדש יחד עם הגיאומטריה של התמונה, ולא מצוירים מחדש. חלקו של התיוג הידני יורד, וזמן המתייגים מופנה למקום שבו הוא באמת נחוץ: למחלקות נדירות ומקרי גבול.
עמידות לעיוותים במקום שינון תנאי הצילום
המודל מפסיק להסתמך על תאורה ספציפית, זווית או איכות אופטית, כי הוא רואה את הווריאציות האלה כבר באימון. סט נפרד עם עיוותים מראה: ירידת הביצועים בעת החלפת מצלמה, נקודת צילום או זמן ביום קטנה באופן ניכר מאשר במודל שאומן על פריימים "נקיים".
מחזור בדיקת השערות — שעות במקום ימים
מדיניות האוגמנטציה מתוארת בקונפיגורציה, וגרסת הסט ניתנת לשחזור: אותו ניסוי חוזר על עצמו עם אותה תוצאה. ניתן להשוות שתי אסטרטגיות הרחבה ולראות את ההבדל במדדים באיטרציה אחת, ולא בשבוע של הרכבה מחדש ידנית של סט הנתונים.
שיטות להרחבת נתונים: השוואת גישות
הבחירה בטכניקה לא נקבעת על ידי אופנה, אלא על ידי הפער בין מדגם האימון לבין מה שהמצלמה רואה בעבודה אמיתית. יש טרנספורמציות שמוסיפות מגוון כמעט ללא סיכון, אחרות נותנות מידע חדש באופן עקרוני — אבל דורשות בקרה על התיוג ועל שיעור הדוגמאות הללו.
אפשרויות והמגבלות שלהן
| אפשרות | מתי מתאימה | מגבלות |
|---|---|---|
| טרנספורמציות גיאומטריות | האובייקט מופיע מזוויות שונות, והתיוג עמיד להזזה וסיבוב | שיקוף וחיתוך שוברים את המשמעות: טקסט, סמלים, פרטים א-סימטריים, אובייקטים בקצה הפריים |
| עיוותי צבע | צילום בעדשות שונות, תאורה משתנה ואיזון לבן | לא עוזרים אם האובייקט משנה צורה או מוסתר על ידי אחרים |
| רעש וטשטוש | תאורה חלשה, תנועה בפריים, דחיסה בהעברה | מסווים פגמי צילום, אך לא מחליפים פריימים אמיתיים; רעש חזק אוכל אובייקטים קטנים |
| ערבוב שברים | סצנות צפופות, הרבה אובייקטים, מחסור במחלקות נדירות | נוצרים גבולות לא טבעיים, המודל מכויל פחות טוב, נדרש סינון דוגמאות |
| דוגמאות סינתטיות | מחלקה נדירה, איסוף יקר או ארוך של מציאות, נדרש שליטה מדויקת בפרמטרים | פער בין סינתטי למציאות, סיכון להתאמת יתר על ארטיפקטים של המחולל |
| סימולציה של סצנה | נדרשים תנאים נדירים: זוויות, מזג אוויר, הסתרות הדדיות של אובייקטים | עלות גבוהה של הגדרת סצנה וחומרים, חובה לבדוק על פריימים אמיתיים |
בפועל לוקחים שתיים-שלוש טכניקות ומכווננים את העוצמה לפי מדגם ביקורת מפריימים אמיתיים. אם האיכות עליו יורדת בזמן שהאיכות על נתונים מורחבים עולה — ההגברה מוגזמת: גיאומטריה וסינתטיקה מתחילות להחליף מאפייני אובייקט בארטיפקטים.
שלבי יישום: מביקורת נתונים ועד מסירה לצוות
אוגמנטציה מתחילה לא מבחירת ספריית טרנספורמציות, אלא בשאלה אילו תנאי צילום חסרים למודל. לכן הצעד הראשון הוא סקר של מה שכבר נמצא בדאטה-סט, ולא קוד. להלן סדר העבודה: כל שלב מסתיים בארטיפקט שניתן לבדוק ולהעביר הלאה.
- ביקורת דאטה-סט. אנו מסתכלים על התפלגות המחלקות, כפילויות וכמעט-כפילויות, פריימים פגומים ושרופים, אי-התאמות בתיוג בין מתייגים. בפלט — רשימת פגמים והערכה כמה פריימים באמת מתאימים לאימון.
- סכמת הכנת נתונים ומדדים. מקבעים מדדי מטרה — דיוק ורגישות לפי מחלקות, שיעור אזעקות שווא — ומתארים את הסדר: קריאה, התאמת גודל, נרמול, חלוקה לחלקי אימון, ולידציה ובדיקה.
- הגדרה וולידציה של טרנספורמציות. בוחרים גיאומטריה, צבע, רעש, הדמיית תאורה ומזג אוויר. טווחים מגדירים שמרנית: הטרנספורמציה לא צריכה ליצור אובייקט שלא קיים בתיוג. ואז מריצים כל טרנספורמציה בנפרד ובשילוב ומוודאים שהתוויות מחושבות מחדש כראוי, ושהאובייקט בקצה הפריים לא הולך לאיבוד.
- בדיקה על סטים לבקרה. מחזיקים סט שלעולם לא עובר אוגמנטציה, וסט של פריימים מורכבים — תאורה חלשה, תנועה, הסתרות. הם מראים אם האוגמנטציה עוזרת להכללה או רק מסווה התאמת יתר.
- מדידת ההשפעה על המודל. מאמנים גרסה בסיסית וגרסה עם אוגמנטציה באותם תנאים ומשווים לפי מדדים ולפי עמידות לשינוי תנאי צילום. את הרווח מתעדים במספר, לא בתחושה.
- מסירה והכשרת הצוות. מוסרים קונפיגורציות, סקריפטים להרצה ויומן ריצות. יכולת השחזור של ניסויים נשענת על כך שכל תוצאה חוזרת על עצמה לפי סט פרמטרים קבוע ללא תיקונים ידניים.
קונפיגורציות, סכמות ותקנות: ערכת מסירה
ערכת המסירה היא לא ארכיון עם סקריפטים, אלא תיעוד עבודה שלפיו מהנדס הלקוח משחזר בעצמו את ההרכבה ומשנה פרמטרים בלי לפנות אלינו. הכל נמצא ליד הקוד: תיקייה נפרדת עם קונפיגורציות, סכמות של זרימות נתונים, כללי ניהול גרסאות ותקנות. להלן מה בדיוק נשאר לצוות לאחר מסירת השלב.
- קונפיגורציית טרנספורמציות — קבצים עם סטים של פעולות (סיבובים, חיתוך, שינוי בהירות וניגודיות, רעש, טשטוש), טווחי ערכים והסתברויות יישום. פרופיל נפרד לכל משימה, כדי שהגברה לזיהוי לא תשבור את התיוג לסיווג.
- סכמות של זרימות נתונים — כיצד תמונה עוברת מסלול מהמקור לסט המוכן: היכן תיוג, היכן מיושמת אוגמנטציה, היכן סינון ומה נכנס לארכיון.
- כללי ניהול גרסאות של דאטה-סט — מניפסטים עם סכומי ביקורת של מקורות וסטים שנוצרו, קישור "גרסת דאטה-סט → גרסת מודל → מדדים". כל ניסוי משוחזר או מוחזר אחורה.
- תקנון עדכון נתונים — כיצד מתווספת מנה חדשה של תמונות, באיזו תדירות מורצת אוגמנטציה ולפי אילו סימנים מתקבלת החלטה על אימון מחדש.
- כללי בקרת איכות נתונים — מסננים לארטיפקטים: פריימים מטושטשים, כפילויות, חריגות בבהירות, הפרות תיוג; ספי סינון ודוח לפי התפלגות מחלקות.
- תיעוד קו הייצור — סדר הרצה, תלויות, נקודות הרחבה וניתוח תקלות אופייניות עם סימנים לזיהוין.
- סט בדיקה עם תוצאה ייחוס — חתך קצר שלפיו בודקים שהסביבה הורכבה נכון ומשחזרת פלט צפוי.
מקרה בוחן: זיהוי פגמים בקו ייצור
מה היה
מקרה בוחן של ראייה ממוחשבת בקו ייצור: ישנם כמה סוגי פגמים, אך מיקרו-סדקים בקצה הופיעו בערך ב-3 מקרים מתוך 1000 — מחלקה נדירה טבעה בזרם הכללי של תמונות. מודל שאומן על הארכיון המקורי זיהה בביטחון פגמים תכופים, אבל במחלקה הנדירה שמר על רגישות (recall) של 0.4-0.5.
מחיר הטעות כפול: סדק שהוחמץ עבר למשלוח, וזרם אזעקות השווא הפסיק להיות מנותח ידנית על ידי המפעילים — האות איבד מערכו.
מה שינו
את התיוג פירקו לפי סוגים ואספו מדגם מאוזן: את המחלקה הנדירה השלימו עם אוגמנטציה מבוקרת של תמונות — סיבובים ושיקופים בזוויות מותרות לקצה, שינוי ניגודיות ובהירות עבור אזורי תאורה שונים בבית המלאכה, גרעיניות חיישן והחשכות מקומיות.
כל טרנספורמציה נבדקה לפיזיקליות: הסינתטיקה לא צריכה ליצור תמונה שלא קיימת בקו, אחרת המודל לומד על מאפיינים מומצאים והשיפור נשאר רק בדוח.
אחר כך סף ההפעלה כוונן לפי עקומת דיוק-רגישות, ולא "לפי העין", והקליטה בוצעה לפי תקנון שתואם עם שירות האיכות במסגרת נהלי ISO 9001.
מה נהיה
הרגישות (recall) במחלקה הנדירה עלתה מ-0.5 ל-0.93, שיעור הסדקים שהוחמצו ירד ביותר מפי שבעה. אזעקות שווא למשמרת ירדו מכ-40 ל-6 — המפעיל שוב מסתכל על האות ולא מתעלם ממנו. התאמת היתר התרחשה על נתונים שבהם המחלקה הנדירה מיוצגת ביושר, לכן במנות חדשות האיכות לא ירדה.
במה שונה אוגמנטציה של תמונות בזמן אמת מהרחבה מוקדמת?
אוגמנטציה בזמן אמת מיישמת טרנספורמציות על כל באץ' בזמן האימון: אותה תמונה בתקופות (epochs) שונות נראית אחרת, והסט הוא למעשה אינסופי. הרחבה מוקדמת היא סט שנאסף מראש: המקורות עוברים פעם אחת דרך קו הטרנספורמציות, התוצאה נכתבת לדיסק ונקראת כנתונים רגילים.
הפער העיקרי הוא בנפח אחסון הנתונים. סט מוקדם גדל בכפולה של מספר הטרנספורמציות: עשרה וריאנטים לתמונה הופכים קורפוס לעשרה קורפוסים, ובנוסף סנאפשוטים לכל גרסת מדיניות, שנשמרים כל עוד מתבצעות השוואות. בהרחבת נתונים בזמן אמת, בדיסק נשארים רק המקורות, והמגוון נקבע על ידי קונפיגורציה.
מהירות האימון תלויה באיזון. בזמן אמת, ההכנה נופלת על המעבד: אם קו הקריאה לא מספיק למאיץ, התקופה מתארכת. בהרחבה מוקדמת התקופה קצרה יותר, אבל שינוי מדיניות פירושו הרכבה מחדש מלאה של הסט.
לעתים קרובות מצב משולב מנצח: טרנספורמציות כבדות — גיאומטריה, חיתוך שברים, הלבשה — מחושבות פעם אחת ונשמרות ליד המקור, וזולות — בהירות, ניגודיות, רעש — מיושמות בזמן אמת. המגוון בין תקופות נשמר, וטביעת האצבע בדיסק קטנה פי כמה מסט מלא. הוולידציה מתבצעת ללא אוגמנטציה: רק התאמת גודל ונרמול, אחרת המדדים אינם ברי השוואה בין ריצות.
הקריטריון פשוט: המדיניות עדיין נבחרת — עובדים בזמן אמת; אם היא קבועה והאימון נתקל במהירות המאיץ — אוספים סט מראש. ספריות ברמה של Albumentations מחליפות מצבים בלי לכתוב מחדש את הקוד.
ספקות ומגבלות: מה מבררים לפני ההתחלה
לפני ההתחלה, לרוב מבררים את גבולות השיטה: מה היא לוקחת על עצמה, ומה נשאר לצוות הנתונים. להלן שאלות שעולות כמעט בכל משימה של אוגמנטציה של תמונות, והתשובות שלנו בלי עיגולים.
האם אוגמנטציה תחליף תיוג ידני?
לא. היא מרחיבה את המגוון בתוך מחלקות שכבר מתויגות, אבל לא יוצרת דוגמאות למה שאין במדגם. אם מחלקה לא מופיעה בכלל או מתויגת באופן סותר, אף טרנספורמציה לא תתקן זאת — קודם כל צריך תיוג או איסוף פריימים נוספים.
הדאטה-סט כבר נאסף ומתויג — יהיה צורך לשנות את הסכמה?
אנחנו עובדים עם מה שיש: מלאי, חיפוש חוסר איזון ותוויות רועשות, ואז כלל האוגמנטציה מיושם רק על חלק האימון. את סטי הוולידציה והבדיקה משאירים ללא שינוי, אחרת המדד מפסיק לשקף נתונים אמיתיים והאיכות של המודל על תמונות חדשות יורדת באופן בלתי מורגש.
איך לדעת שטרנספורמציה לא מעוותת את המחלקה?
חלק מהפעולות משנות את משמעות התווית: סיבוב חזק או חיתוך מוציאים את האובייקט מהפריים, שיקוף שובר מחלקות א-סימטריות, הזזת גוון מבלבלת מחלקות שנבדלות בצבע.
כל טרנספורמציה נבדקת על נציגים של המחלקה, וטווחי הפרמטרים מצטמצמים לפי התוצאה — שיעור הפריימים עם אובייקט שאבד נשאר בגבולות טעות התיוג.
האם ניתן להעביר את הסכמה למשימה אחרת?
סדר העבודה, שיעורי הטרנספורמציות ובקרת האיכות מועברים. סט הפעולות והטווחים — לא: הם תלויים במה בדיוק המודל צריך להבדיל. במשימה חדשה חוזרים על המדידה ומרכיבים מחדש את הכלל, ולא מעתיקים קונפיגורציה.
אילו מגבלות חוקיות אנחנו לוקחים בחשבון?
אוגמנטציה לא מסירה את תנאי הרישיון: תמונה נגזרת נשארת תחת אותן מגבלות כמו המקורית. בנפרד בודקים פריימים עם אנשים, נתונים אישיים ורפואיים — עבורם נדרשים בסיסים חוקיים לעיבוד. גם סינתטיקה לא עוקפת איסור על שימוש בסט תמונות סגור.
נדון במשימה ונחזור עם הערכה ותוכנית
הגדרת המשימה לאוגמנטציה היא לא "תעשו עוד תמונות". קודם כל צריך להבין איזו מחלקת אובייקטים המודל מבלבל, מה חסר במדגם ואיך נסכים למדוד איכות. לכן ההתחלה של שיתוף הפעולה היא לא בחוזה, אלא בניתוח נתוני הקלט: כך הערכת הפרויקט נשענת על עובדות, ולא על הנחות.
מה לתאר או לשלוח כדי שנחזור עם תוכנית:
- את המדגם הנוכחי: נפח, סוג תיוג, שיעור מחלקות נדירות ושגיאות אופייניות של המודל על דוגמאות מוחזקות;
- 10–20 תמונות שבהן המודל טועה הכי הרבה;
- מדד מטרה ואופן המדידה שלו — רגישות (recall) במחלקה נדירה, עמידות לשינוי תנאי צילום;
- מגבלות המערכת: פורמט תיוג, כללי אחסון נתונים, אופן הגישה לתשתית שלכם;
- תנאי צילום וציוד — מזה תלוי אילו טרנספורמציות מותרות ואילו יכניסו עיוותים;
- אופן הקליטה: בדיקה פריימים, דוח מדדים או תצוגות תקופתיות של תוצאות ביניים.
בתגובה נשלח תוכנית עבודה שלבית: ניקוי ותיוג המדגם, סט טרנספורמציות למחלקת המשימות שלכם, בקרת ריאליזם של הסינתטיקה, אימון מחדש והשוואה למודל הבסיסי. לכל שלב — קריטריון קליטה, כדי שהתוצאה תהיה ניתנת לבדיקה, ולא "לפי העין".
תארו את המשימה בצורה נוחה — נחזור עם הערכת לוחות זמנים ותוכנית עבודה.







