תמונות ברזולוציה גבוהה נפוצות מאוד בעולם של ימינו, החל מצילומי לוויין ועד למזל"טים ומצלמות DLSR. מתוך תמונה זו, אנו יכולים לתפוס נזקים עקב אסונות טבע, חריגות בציוד ייצור, או פגמים קטנים מאוד כגון פגמים במעגלים מודפסים (PCB) או מוליכים למחצה. בניית מודלים לזיהוי חריגות באמצעות תמונות ברזולוציה גבוהה יכולה להיות מאתגרת מכיוון שמודלים מודרניים של ראייה ממוחשבת בדרך כלל משנים את גודל התמונות לרזולוציה נמוכה יותר כדי להתאים לזיכרון לצורך אימונים והסקת ריצה. הפחתה משמעותית של רזולוציית התמונה פירושה שמידע חזותי הנוגע לפגם מושפל או אובד לחלוטין.
גישה אחת להתגבר על האתגרים הללו היא בניית מודלים דו-שלביים. מודלים בשלב 1 מזהים אזור של עניין, ומודלים של שלב 2 מזהים פגמים באזור החתוך של העניין, ובכך שומרים על רזולוציה מספקת לגילויים קטנים.
בפוסט זה, אנו עוברים על איך לבנות מערכת יעילה דו-שלבית לגילוי פגמים באמצעות תוויות מותאמות אישית של Amazon Rekognition ולהשוות תוצאות עבור מקרה שימוש ספציפי זה עם מודלים חד-שלביים. שים לב שכמה דגמים חד-שלביים יעילים אפילו ברזולוציית תמונה נמוכה יותר או בגודל שונה, ואחרים עשויים להכיל תמונות גדולות בקבוצות קטנות יותר.
סקירת פתרונות
במקרה השימוש שלנו, אנו משתמשים ב-a מערך נתונים של תמונות של PCBs עם פיני חורים חסרים שנוצרו באופן סינתטי, כפי שמוצג בדוגמה הבאה.
אנו משתמשים במערך נתונים זה כדי להדגים שגישה חד-שלבית המשתמשת בזיהוי אובייקט מביאה לביצועי זיהוי תת-חלקים עבור פגמי סיכת החורים החסרים. עדיף מודל דו-שלבי, שבו אנו משתמשים ב-Rekognition Custom Labels תחילה לזיהוי אובייקטים כדי לזהות את הפינים ולאחר מכן מודל שלב שני כדי לסווג תמונות חתוכות של הפינים לסיכות עם חורים חסרים או פינים רגילים.
תהליך ההכשרה למודל של זיהוי תוויות מותאמות אישית מורכב ממספר שלבים, כפי שמוצג בתרשים הבא.
ראשית, אנו משתמשים שירות אחסון פשוט של אמזון (Amazon S3) לאחסון נתוני התמונה. הנתונים נבלעים פנימה אמזון Sagemaker מחברות Jupyter, שבהן בדרך כלל מדען נתונים יבדוק את התמונות ויעבד אותן מראש, יסיר כל תמונות שהן באיכות ירודה כגון תמונות מטושטשות או תנאי תאורה גרועים, וישנה את גודל התמונות או יחתוך אותן. לאחר מכן הנתונים מחולקים לקבוצות אימון ומבחנים, ו האמת של אמזון SageMaker עבודות תיוג מופעלות כדי לתייג את קבוצות התמונות ולהוציא קובץ מניפסט רכבת ובדיקה. קובצי המניפסט משמשים את התוויות המותאמות אישית של Rekognition להדרכה.
גישת מודל חד-שלבי
הגישה הראשונה שאנו נוקטים לזיהוי חורים חסרים ב-PCB היא לתייג את החורים החסרים ולאמן מודל זיהוי אובייקטים לזהות את החורים החסרים. להלן דוגמה לתמונה מתוך מערך הנתונים.
אנו מאמנים מודל עם מערך נתונים עם 95 תמונות המשמשות כאימון ו-20 תמונות המשמשות לבדיקה. הטבלה הבאה מסכמת את התוצאות שלנו.
תוצאות הערכה | |||||
ציון F1 | דיוק ממוצע | ריקול כללי | |||
0.468 | 0.750 | 0.340 | |||
זמן אימון | מערך נתונים של הדרכה | בדיקת מערך נתונים | |||
התאמן תוך 1.791 שעות | תווית אחת, 1 תמונות | תווית אחת, 1 תמונות | |||
ביצועים לפי תווית | |||||
שם התווית | ציון F1 | בדיקת תמונות | דיוק | להיזכר | סף משוער |
missing_hole |
0.468 | 20 | 0.750 | 0.340 | 0.053 |
למודל המתקבל יש דיוק גבוה אך זכירה נמוכה, כלומר כאשר אנו מוצאים אזור עבור חור חסר, אנו בדרך כלל צודקים, אך חסרים לנו הרבה חורים חסרים שנמצאים על ה-PCB. כדי לבנות מערכת יעילה לאיתור פגמים, עלינו לשפר את הריקול. הביצועים הנמוכים של דגם זה עשויים לנבוע מכך שהפגמים קטנים בתמונה ברזולוציה גבוהה זו של ה-PCB, כך שלדגם אין התייחסות לסיכה בריאה.
לאחר מכן, אנו חוקרים את פיצול התמונה לארבעה או שישה גידולים בהתאם לגודל ה-PCB ומתיוג חורים בריאים וחסרים כאחד. להלן דוגמה לתמונה החתוכה שהתקבלה.
אנו מאמנים מודל עם 524 תמונות המשמשות כאימון ו-106 תמונות המשמשות לבדיקה. אנו שומרים על אותם PCBs המשמשים ברכבת ובבדיקות כמו דגם הלוח המלא. התוצאות עבור סיכות בריאות חתוכות לעומת חורים חסרים מוצגות בטבלה הבאה.
תוצאות הערכה | |||||
ציון F1 | דיוק ממוצע | ריקול כללי | |||
0.967 | 0.989 | 0.945 | |||
זמן אימון | מערך נתונים של הדרכה | בדיקת מערך נתונים | |||
התאמן תוך 2.118 שעות | 2 תוויות, 524 תמונות | 2 תוויות, 106 תמונות | |||
ביצועים לפי תווית | |||||
שם התווית | ציון F1 | בדיקת תמונות | דיוק | להיזכר | סף משוער |
missing_hole |
0.949 | 42 | 0.980 | 0.920 | 0.536 |
pin |
0.984 | 106 | 0.998 | 0.970 | 0.696 |
גם הדיוק וגם הזכירה השתפרו משמעותית. אימון הדגם בעזרת תמונות חתוכות מוגדלות והפניה לדגם לסיכות בריאות עזר. עם זאת, הריקול עדיין עומד על 92%, כלומר עדיין נחמיץ 8% מהחורים החסרים ונותן לפגמים לחלוף בלי לשים לב.
לאחר מכן, אנו בוחנים גישת מודל דו-שלבית שבה נוכל לשפר את ביצועי המודל עוד יותר.
גישת מודל דו-שלבי
עבור הדגם הדו-שלבי, אנו מאמנים שני דגמים: אחד לזיהוי סיכות ואחד לזיהוי אם הסיכה חסרה או לא בתמונות חתוכות של הסיכה. להלן תמונה ממערך הנתונים לזיהוי סיכות.
הנתונים דומים לניסוי הקודם שלנו, שבו חתכנו את ה-PCB לארבע או שש תמונות חתוכות. הפעם, אנו מתייגים את כל הפינים ולא עושים שום הבחנה אם יש לסיכה חור חסר או לא. אנו מאמנים את המודל הזה עם 522 תמונות ובודקים עם 108 תמונות, תוך שמירה על אותו פיצול רכבת/מבחן כמו ניסויים קודמים. התוצאות מוצגות בטבלה הבאה.
תוצאות הערכה | |||||
ציון F1 | דיוק ממוצע | ריקול כללי | |||
1.000 | 0.999 | 1.000 | |||
זמן אימון | מערך נתונים של הדרכה | בדיקת מערך נתונים | |||
התאמן תוך 1.581 שעות | תווית אחת, 1 תמונות | תווית אחת, 1 תמונות | |||
ביצועים לפי תווית | |||||
שם התווית | ציון F1 | בדיקת תמונות | דיוק | להיזכר | סף משוער |
pin |
1.000 | 108 | 0.999 | 1.000 | 0.617 |
המודל מזהה את הפינים בצורה מושלמת במערך הנתונים הסינטטי הזה.
לאחר מכן, אנו בונים את המודל כדי ליצור את ההבחנה בין חורים חסרים. אנו משתמשים בתמונות חתוכות של החורים כדי לאמן את השלב השני של המודל, כפי שמוצג בדוגמאות הבאות. דגם זה נפרד מהדגמים הקודמים מכיוון שהוא מודל סיווג והוא יתמקד במשימה הצרה של קביעה אם לפין יש חור חסר.
אנו מאמנים מודל שלב שני זה על 16,624 תמונות ובודקים על 3,266, תוך שמירה על אותם פיצולי רכבת/בדיקה כמו הניסויים הקודמים. הטבלה הבאה מסכמת את התוצאות שלנו.
תוצאות הערכה | |||||
ציון F1 | דיוק ממוצע | ריקול כללי | |||
1.000 | 1.000 | 1.000 | |||
זמן אימון | מערך נתונים של הדרכה | בדיקת מערך נתונים | |||
התאמן תוך 6.660 שעות | 2 תוויות, 16,624 תמונות | 2 תוויות, 3,266 תמונות | |||
ביצועים לפי תווית | |||||
שם התווית | ציון F1 | בדיקת תמונות | דיוק | להיזכר | סף משוער |
anomaly |
1.000 | 88 | 1.000 | 1.000 | 0.960 |
normal |
1.000 | 3,178 | 1.000 | 1.000 | 0.996 |
שוב, אנו מקבלים דיוק וזיכרונות מושלם על מערך הנתונים הסינטטי הזה. שילוב של מודל זיהוי הפינים הקודם עם מודל סיווג חורים חסרים בשלב שני זה, נוכל לבנות מודל שעולה על כל מודל חד-שלבי.
הטבלה הבאה מסכמת את הניסויים שערכנו.
ניסיון | סוּג | תיאור | ציון F1 | דיוק | להיזכר |
1 | דגם חד-שלבי | מודל זיהוי אובייקטים לזיהוי חורים חסרים בתמונות מלאות | 0.468 | 0.75 | 0.34 |
2 | דגם חד-שלבי | מודל זיהוי אובייקטים לזיהוי סיכות בריאות וחורים חסרים בתמונות חתוכות | 0.967 | 0.989 | 0.945 |
3 | דגם דו-שלבי | שלב 1: זיהוי אובייקטים בכל הפינים | 1.000 | 0.999 | 1.000 |
שלב 2: סיווג תמונה של סיכה בריאה או חורים חסרים | 1.000 | 1.000 | 1.000 | ||
ממוצע מקצה לקצה | 1.000 | 0.9995 | 1.000 |
צינור מסקנות
אתה יכול להשתמש בארכיטקטורה הבאה כדי לפרוס את המודלים החד-שלביים והדו-שלביים שתיארנו בפוסט זה. המרכיבים העיקריים הבאים מעורבים:
עבור דגמים חד-שלביים, אתה יכול לשלוח תמונת קלט לנקודת הקצה API Gateway, ואחריה Lambda עבור כל עיבוד מוקדם של תמונה בסיסית, ולנתב לנקודת הקצה המאומנת של Rekognition Custom Labels. בניסויים שלנו, חקרנו מודלים חד-שלביים שיכולים לזהות רק חורים חסרים, חורים חסרים וסיכות בריאות.
עבור דגמים דו-שלביים, תוכל לשלוח תמונה באופן דומה לנקודת הקצה של שער API, ולאחר מכן למבדה. Lambda פועל כמתזמר שקורא תחילה למודל זיהוי האובייקטים (אומן באמצעות זיהוי תוויות מותאמות אישית), מה שיוצר את אזור העניין. לאחר מכן, התמונה המקורית נחתכת בפונקציית Lambda, ונשלחת למודל סיווג אחר של Rekognition Custom Labels לאיתור פגמים בכל תמונה חתוכה.
סיכום
בפוסט זה, אימנו מודלים חד ודו-שלביים כדי לזהות חורים חסרים ב-PCB באמצעות תוויות מותאמות אישית של זיהוי. דיווחנו על תוצאות עבור מודלים שונים; במקרה שלנו, דגמים דו-שלביים עלו על גרסאות אחרות. אנו מעודדים לקוחות עם תמונות ברזולוציה גבוהה מתחומים אחרים לבדוק את ביצועי המודל עם מודלים חד ודו-שלביים. בנוסף, שקול את הדרכים הבאות להרחבת הפתרון:
- חיתוך חלון הזזה עבור מערכי הנתונים האמיתיים שלך
- שימוש חוזר במודלים של זיהוי אובייקטים באותו צינור
- תיוג מראש של זרימות עבודה באמצעות חיזוי תיבה תוחמת
על המחברים
אנדראס קראגוניס הוא מנהל מדעי נתונים ב-Accenture. הוא בעל תואר שני במדעי המחשב מאוניברסיטת בראון. יש לו רקע בראייה ממוחשבת ועובד עם לקוחות כדי לפתור את האתגרים העסקיים שלהם באמצעות מדעי נתונים ולמידת מכונה.
Yogesh Chaturvedi הוא אדריכל פתרונות ראשי ב-AWS עם התמקדות בראייה ממוחשבת. הוא עובד עם לקוחות כדי להתמודד עם האתגרים העסקיים שלהם באמצעות טכנולוגיות ענן. מחוץ לעבודה, הוא נהנה לטייל, לטייל ולצפות בספורט.
שרייאס סוברמניאן הוא מדען נתונים ראשי, ומסייע ללקוחות באמצעות למידת מכונה כדי לפתור את האתגרים העסקיים שלהם באמצעות פלטפורמת AWS. לשריאס יש רקע באופטימיזציה בקנה מידה גדול ולמידת מכונה, ובשימוש בלמידת מכונה ולמידת חיזוק להאצת משימות אופטימיזציה.
Selimcan "Can" Sakar הוא מפתח ראשון בענן וארכיטקט פתרונות ב-AWS Accenture Business Group עם התמקדות בטכנולוגיות מתפתחות כמו GenAI, ML ובלוקצ'יין. כשהוא לא צופה בדוגמניות מתכנסות, אפשר לראות אותו רוכב על אופניים או מנגן על קלרינט.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoData.Network Vertical Generative Ai. העצים את עצמך. גישה כאן.
- PlatoAiStream. Web3 Intelligence. הידע מוגבר. גישה כאן.
- PlatoESG. פחמן, קלינטק, אנרגיה, סביבה, שמש, ניהול פסולת. גישה כאן.
- PlatoHealth. מודיעין ביוטכנולוגיה וניסויים קליניים. גישה כאן.
- מקור: https://aws.amazon.com/blogs/machine-learning/defect-detection-in-high-resolution-imagery-using-two-stage-amazon-rekognition-custom-labels-models/
- :יש ל
- :הוא
- :לֹא
- :איפה
- 1
- 100
- 116
- 118
- 16
- 20
- 500
- 54
- 7
- a
- מאיצה
- אקסנצ'ר
- להתאים
- מעשים
- ממשי
- בנוסף
- כתובת
- תעשיות
- אמזון בעברית
- אמזון
- אמזון שירותי אינטרנט
- an
- ו
- גילוי חריגות
- אחר
- כל
- API
- גישה
- ארכיטקטורה
- ARE
- AS
- At
- AWS
- רקע
- בסיסי
- BE
- כי
- להיות
- blockchain
- לוּחַ
- שניהם
- אריזה מקורית
- חום
- לִבנוֹת
- בִּניָן
- עסקים
- אבל
- by
- שיחות
- מצלמות
- CAN
- ללכוד
- מקרה
- האתגרים
- אתגר
- מיון
- לסווג
- ענן
- שילוב
- לְהַשְׁווֹת
- לחלוטין
- רכיבים
- המחשב
- מדעי מחשב
- ראייה ממוחשבת
- תנאים
- מנוהל
- לשקול
- מורכב
- לְהִתְכַּנֵס
- לתקן
- יבול
- יבולים
- מנהג
- לקוחות
- נזק
- נתונים
- מדע נתונים
- מדען נתונים
- להפגין
- תלוי
- לפרוס
- מְתוּאָר
- לאתר
- איתור
- קביעה
- מפתח
- אסונות
- הבחנה
- תחומים
- לא
- מזל"ט
- ראוי
- כל אחד
- אפקטיבי
- מתעורר
- טכנולוגיות מתפתחות
- לעודד
- נקודת קצה
- ציוד
- אֲפִילוּ
- דוגמה
- דוגמאות
- לְהַרְחִיב
- לְנַסוֹת
- ניסויים
- לחקור
- חקר
- שלח
- קבצים
- ראשון
- מתאים
- להתמקד
- מרוכז
- בעקבות
- הבא
- בעד
- ארבע
- החל מ-
- מלא
- פונקציה
- נוסף
- שער כניסה
- נוצר
- מייצר
- Go
- קרקע
- קְבוּצָה
- יש
- he
- בריא
- עזר
- עוזר
- גָבוֹהַ
- רזולוציה גבוהה
- מחזיק
- חור
- חורים
- איך
- איך
- אולם
- http
- HTTPS
- לזהות
- זיהוי
- if
- תמונה
- סיווג תמונות
- תמונות
- לשפר
- משופר
- in
- מידע
- קלט
- אינטרס
- אל תוך
- מעורב
- מקומות תעסוקה
- jpg
- תווית
- תיוג
- תוויות
- גָדוֹל
- בקנה מידה גדול
- למידה
- לתת
- תְאוּרָה
- אבוד
- מגרש
- נמוך
- להוריד
- מכונה
- למידת מכונה
- ראשי
- לתחזק
- שמירה
- לעשות
- מנהל
- ייצור
- מאי..
- משמעות
- אומר
- זכרון
- עלמה
- חסר
- ML
- מודל
- מודלים
- מודרני
- צר
- טבעי
- צורך
- לא
- נוֹרמָלִי
- אובייקט
- זיהוי אובייקט
- of
- on
- ONE
- רק
- אופטימיזציה
- or
- מְקוֹרִי
- אחר
- אחרים
- שלנו
- ביצועים טובים יותר
- ביצועים טובים יותר
- תפוקה
- בחוץ
- יותר
- להתגבר על
- בצורה מושלמת
- ביצועים
- סיכות
- פלטפורמה
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- משחק
- עני
- הודעה
- דיוק
- מועדף
- להציג
- נפוץ
- קודם
- מנהל
- תהליך
- איכות
- לקבל
- הפחתה
- הפניה
- באזור
- הסרת
- דווח
- החלטה
- וכתוצאה מכך
- תוצאות
- מסלול
- הפעלה
- ריצה
- בעל חכמים
- אותו
- הלוויין
- מדע
- מַדְעָן
- שְׁנִיָה
- לראות
- סמיקונדקטורס
- לשלוח
- נשלח
- נפרד
- שירותים
- סטים
- כמה
- הראה
- באופן משמעותי
- דומה
- באופן דומה
- פָּשׁוּט
- שישה
- מידה
- קטן
- קטן יותר
- So
- פִּתָרוֹן
- פתרונות
- לפתור
- ספציפי
- לפצל
- פיצולים
- ספורט
- התמחות
- צעדים
- עוד
- אחסון
- חנות
- כזה
- מספיק
- סינטטי
- באופן סינתטי
- מערכת
- שולחן
- לקחת
- המשימות
- משימות
- טכנולוגיות
- מבחן
- בדיקות
- זֶה
- השמיים
- שֶׁלָהֶם
- אותם
- אז
- בכך
- אלה
- זֶה
- זמן
- ל
- של היום
- רכבת
- מְאוּמָן
- הדרכה
- נסיעה
- שתיים
- בדרך כלל
- אוניברסיטה
- להשתמש
- במקרה להשתמש
- מְשׁוּמָשׁ
- באמצעות
- בְּדֶרֶך כְּלַל
- שונים
- מאוד
- חזון
- vs
- צופה
- דרכים
- we
- אינטרנט
- שירותי אינטרנט
- מתי
- אשר
- יצטרך
- חלון
- עם
- תיק עבודות
- זרימות עבודה
- עובד
- עוֹלָם
- היה
- אתה
- זפירנט