יצירת נתונים סינתטיים לראייה ממוחשבת
תיוג של 10,000 תמונות עם מסכות פוליגון לוקח חודשים של עבודת מתעדים ועלות משמעותית. אך הבעיה האמיתית היא שלקוח יש לו 400 תמונות מתויגות של פגמים על מסוע, ומודל YOLOv8 שאומן על נפח זה משיג [email protected] = 0.51. נתונים סינתטיים אינם תחליף לנתונים אמיתיים—הם כלי שמגשר על הפער הזה ללא גיוס צבא של מתעדים. הניסיון שלנו מראה שצינור יצירה סינתטית מתוכנן כראוי מעלה את ה-mAP ב-30–50% בהשוואה לאימון רק על נתונים אמיתיים. חיסכון בעלויות התיוג מגיע ל-80%, שבפרויקט טיפוסי מתורגם לחיסכון של $10,000–$50,000 בהתאם לנפח.
מידע נוסף על הרעיון ניתן לקרוא בויקיפדיה.
סקירת שיטות יצירה
כיצד לבחור שיטת יצירת נתונים סינתטיים?
| שיטה | פער תחום | מאמץ | מדרגיות |
|---|---|---|---|
| הגדלת העתק-הדבק | נמוך (אובייקטים אמיתיים) | נמוך | גבוה |
| עיבוד תלת-ממדי (Blender) | בינוני (תלוי בחומרים) | גבוה (מידול) | בינוני |
| NVIDIA Omniverse Replicator | בינוני | בינוני | גבוה |
| Stable Diffusion / GAN | גבוה (דורש כוונון עדין) | בינוני | גבוה |
עיבוד תלת-ממדי מניב איכות תיוג צפויה יותר מאשר GAN אך דורש פי 2–3 יותר זמן הכנה. הגדלת העתק-הדבק זולה פי 10 מתיוג ידני עבור אותו נפח.
מתי נתונים סינתטיים באמת עוזרים ומתי לא
שלושה תרחישים שבהם נתונים סינתטיים מספקים שיפור מדיד:
-
חוסר איזון מחלקות. על פס ייצור, פגם נדיר מתרחש פעם אחת ב-5,000 יחידות. ה-Recall למחלקה זו הוא 0.23. יצירת 2,000 דוגמאות סינתטיות באמצעות הגדלת העתק-הדבק על רקע אמיתי מעלה את ה-Recall ל-0.71 ללא שינוי בארכיטקטורה.
-
אילוצי פרטיות. תמונות רפואיות, מסמכים, פנים—נתונים אמיתיים או שלא ניתן להשתמש בהם מחוץ לסביבה מאובטחת או שהנפח אינו מספק קלינית. יצירה באמצעות GAN או דיפוזיה עם שימור התפלגות היא פתרון ישים.
-
משימה חדשה ללא נתונים היסטוריים. המחסן עדיין לא נבנה, הרובוט עדיין לא נרכש, אך המודל נדרש בהשקה. עיבוד סצנות תלת-ממדיות ב-Blender/NVIDIA Omniverse מספק מודל מאומן מראש בזמן.
נתונים סינתטיים לא עוזרים אם פער התחום גדול מדי—מודל שאומן על עיבודים ייכשל על תמונות אמיתיות ללא התאמת תחום.
אילו כלים משמשים ליצירה?
עיבוד תלת-ממדי
NVIDIA Omniverse Replicator הוא הכלי הבוגר ביותר לנתונים סינתטיים ב-CV. הוא מאפשר יצירת תמונות עם תיוג אוטומטי: תיבות חוסמות, מסכות פילוח, מפות עומק, מפות נורמל—הכל מצינור אחד. רנדומיזציה של חומרים, תאורה ומיקום מצלמה מובנית. לפי התיעוד הרשמי, יצירת סצנה עם 10,000 אובייקטים אורכת יומיים.
import omni.replicator.core as rep
with rep.new_layer():
# Рандомизация положения объекта
cube = rep.create.cube(semantics=[("class", "defect")])
with rep.trigger.on_frame(num_frames=5000):
with cube:
rep.modify.pose(
position=rep.distribution.uniform((-50, 0, -50), (50, 0, 50)),
rotation=rep.distribution.uniform((0, -180, 0), (0, 180, 0))
)
rep.randomizer.lights()Blender + סקריפטים בפייתון היא אפשרות גמישה יותר לסצנות מותאמות אישית. ידע בסיסי ב-API של Blender וסקריפט עיבוד אצווה מספיקים.
מודלי GAN ודיפוזיה
Stable Diffusion עם ControlNet יוצר תמונות פוטוריאליסטיות ממסכות או שלדים. למשימות CV, זה רלוונטי: ספקו מסכת פגם, וקבלו וריאציות טקסטורה ותאורה על אותה מסכה.
StyleGAN3 עובד היטב לפנים ותמונות רפואיות עם שונות מבוקרת. FID (Fréchet Inception Distance) < 10 מושג על מערכי נתונים מ-10,000 דוגמאות אמיתיות.
Pix2Pix / CycleGAN מבצעים העברת תחום: מסינתטי לריאליסטי. זה עוזר לסגור את פער התחום ללא תיוג מחדש.
הגדלת העתק-הדבק
השיטה הזולה ביותר לזיהוי—חתכו אובייקט אמיתי והדביקו אותו על רקעים שונים. השתמשו בספריית import omni.replicator.core as rep with rep.new_layer(): # Рандомизация положения объекта cube = rep.create.cube(semantics=[("class", "defect")]) with rep.trigger.on_frame(num_frames=5000): with cube: rep.modify.pose( position=rep.distribution.uniform((-50, 0, -50), (50, 0, 50)), rotation=rep.distribution.uniform((0, -180, 0), (0, 180, 0)) ) rep.randomizer.lights() עם albumentations או בסקריפט מותאם. עם מיזוג נכון (טשטוש גאוסיאני בקצוות, יישור תאורה), רווח ה-mAP הוא 5–15% ללא תיוג חדש.
מדוע אימות על נתונים אמיתיים הוא קריטי?
הטעות העיקרית היא לערבב נתונים סינתטיים במערכי אימות/בדיקה. הערכת המודל צריכה להתבצע רק על נתונים אמיתיים. אחרת, המדדים נראים טוב אך המודל נכשל בייצור.
מדדים להערכת איכות סינתטית:
- FID — קרבת התפלגות בין נתונים סינתטיים ואמיתיים (< 30 מקובל)
- KID (Kernel Inception Distance) — חזק יותר על דגימות קטנות
- העברה דרך מודל: אימון על סינתטי, בדיקה על אמיתי—זה המבחן היחיד הכנה
מלכודות נפוצות וכיצד להימנע מהן:
- שימוש ברקעים זהים — המודל מתמקד יתר על המידה במרקם הרצפה. פתרון: רנדומיזציה של רקע (מפות HDRI, תמונות אקראיות).
- התעלמות מפיזיקת אור — צללים והשתקפויות לא תואמים למציאות. פתרון: שימוש ב-path tracing או סביבת HDR.
- יצירת רק דוגמאות מושלמות — המודל לא רואה פגמי לכידה (טשטוש, רעש). פתרון: הוספת רעש וטשטוש ריאליסטיים.
כמה נתונים סינתטיים נדרשים?
בפועל, הוספת 5–10 אלף תמונות סינתטיות ל-500 אמיתיות מעלה לעיתים קרובות את ה-mAP ב-10–15%. למחלקות נדירות, ייתכן שיידרשו עד 20 אלף. אל תערבבו נתונים סינתטיים באימות.
מקרה בוחן: זיהוי פגמי זכוכית
הלקוח שלנו הוא יצרן זכוכית לרכב. משימת הבדיקה: זיהוי שריטות, שבבים, בועות, תכלילים, סדקים ועכירות. מערך נתונים ראשוני: 380 תמונות אמיתיות מתויגות עם תיבות חוסמות. המחלקות מאוד לא מאוזנות—למחלקת "תכליל" יש רק 23 דוגמאות.
מודל ראשוני: YOLOv8m עם משקלים מאומנים מראש מ-COCO. תוצאה לאחר כוונון עדין על מערך הנתונים האמיתי: [email protected]:0.95 = 0.38, Recall למחלקת "תכליל" = 0.19.
פתרון:
- מידול תלת-ממדי של פגמים ב-Blender: מעצב תעשייתי יצר 12 מודלים ברזולוציה גבוהה (שבבים, סדקים, בועות) עם חומרים ומרקמים שונים.
- עיבוד 8,000 תמונות עם רנדומיזציה: 3 סוגי תאורה (עליונה, צדדית, תאורה אחורית), 5 זוויות מצלמה, מיקום אקראי על המסוע. נעשה שימוש במנוע Cycles לפוטוריאליזם.
- העתק-הדבק למחלקות נדירות: חיתוך תכלילים אמיתיים מ-20 תמונות מקוריות, הדבקה על 3,000 רקעים סינתטיים עם טשטוש גאוסיאני ותיקון צבע.
- התאמת תחום באמצעות CycleGAN: תרגום סגנון העיבודים לסגנון תמונות הקו האמיתיות (מערך נתונים מותאם של 200 פריימים אמיתיים). זה הפחית את ה-FID מ-45 ל-22.
- מערך נתונים סופי: 380 אמיתיים + 11,000 סינתטיים. חלוקה 80/10/10 רק על נתונים אמיתיים לאימות/בדיקה.
היפרפרמטרים של YOLOv8m:
- batch size = 16, imgsz = 640, optimizer = AdamW (lr=1e-3)
- הגדלת mosaic, mixup (0.2), copy-paste (0.5)
- עצירה מוקדמת עם patience = 10 עידנים, מקסימום עידנים = 100
- אומן על NVIDIA A100 יחיד (80 GB)—האימון ארך 4.5 שעות
תוצאות על מערך בדיקה אמיתי:
| מדד | ללא סינתטי | עם סינתטי |
|---|---|---|
| [email protected]:0.95 | 0.38 | 0.67 |
| Recall (תכליל) | 0.19 | 0.74 |
| Precision (כל המחלקות) | 0.82 | 0.89 |
חיסכון: עלות היצירה הסינתטית (זמן שרת + מעצב) הייתה נמוכה פי כמה מתיוג ידני של 11,000 תמונות, והפחיתה את תקציב הכנת מערך הנתונים בכ-$20,000 מוערך.
מה כלול
- ביקורת נתונים ראשונית והגדרת בעיה
- בחירת שיטת יצירה אופטימלית (עיבוד תלת-ממדי / GAN / העתק-הדבק)
- פיתוח צינור עם תיוג אוטומטי
- התאמת תחום להקטנת פער התחום
- אימות איכות על נתונים אמיתיים
- אינטגרציה לצינור ה-MLOps שלכם
- תיעוד והדרכת צוות
ציר זמן
| שיטה | הכנה | יצירת 10k תמונות |
|---|---|---|
| הגדלת העתק-הדבק | 1–2 ימים | שעות |
| עיבוד תלת-ממדי ב-Blender | 1–3 שבועות (מודלים תלת-ממדיים) | 1–3 ימים |
| NVIDIA Omniverse | 2–4 שבועות | 1–5 ימים |
| Stable Diffusion / GAN | 1–4 שבועות (כוונון עדין) | שעות–ימים |
העלות מחושבת באופן אישי לפי נפח ומורכבות. הניסיון שלנו: 5+ שנים בראייה ממוחשבת, 20+ פרויקטים בנתונים סינתטיים. אנו מבטיחים דיווח שקוף ותמיכה לאחר יישום.
קבלו ייעוץ לפרויקט שלכם—נעזור לבחור את שיטת היצירה האופטימלית ולהעריך צירי זמן. צרו קשר להערכת המשימה שלכם. נכין הצעה מסחרית תוך יום עסקים אחד.







