אוטומציה תעשייתית בטייסון עם ראייה ממוחשבת, AWS Panorama ו-Amazon SageMaker

צומת המקור: 1575225

זהו הראשון בסדרת בלוג בת שני חלקים על האופן שבו Tyson Foods, Inc., משתמשת באמזון SageMaker ו-AWS Panorama כדי להפוך תהליכים תעשייתיים לאוטומציה במפעלי אריזת הבשר שלהם על ידי הבאת היתרונות של יישומי בינה מלאכותית בקצה. בחלק הראשון, אנו דנים ביישום ספירת מלאי עבור קווי אריזה. בחלק השני, אנו דנים בפתרון זיהוי חריגות המבוסס על ראייה בקצה לתחזוקה חזויה של ציוד תעשייתי.

כאחד המעבדים והמשווקים הגדולים של עוף, בקר וחזיר בעולם, טייסון פודס בע"מ, ידועים בכך שהם מביאים פתרונות חדשניים למפעלי הייצור והאריזה שלהם. בפברואר 2020, טייסון הודיע תוכניתה להביא את Computer Vision (CV) למפעלי התרנגולות שלה והשיקה פיילוט עם AWS לחלוץ המאמצים בניהול מלאי. טייסון שיתף פעולה עם מעבדת פתרונות אמזון ML ליצור פתרון מתקדם לספירת מגשי עוף המספק תובנות בזמן אמת לגבי רמות מלאי עמוסות. בפוסט זה, אנו מספקים סקירה כללית של ארכיטקטורת AWS והדרכה מלאה של הפתרון כדי להדגים את מרכיבי המפתח בצינור ספירת המגשים שהוקם במפעל של טייסון. אנו נתמקד באיסוף נתונים ובתיוג, הדרכה ופריסה של מודלים של קורות חיים בקצה באמצעות אמזון SageMaker, Apache MXNet Gluon, ו AWS פנורמה.

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

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

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

הסעיפים הבאים של פוסט זה בבלוג מתארים כיצד אנו משתמשים בסרטוני וידאו בשידור חי מאחד ממפעלי Tyson Foods כדי לאמן מודל לזיהוי אובייקטים באמצעות Amazon SageMaker. לאחר מכן אנו פורסים אותו בקצה עם מכשיר AWS Panorama.

AWS פנורמה

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

AWS Panorama Appliance מאפשר לך להפעיל יישומי קורות חיים עצמאיים בקצה, מבלי לשלוח תמונות לענן AWS. אתה יכול גם להשתמש ב-AWS SDK ב-AWS Panorama Appliance כדי להשתלב עם שירותי AWS אחרים ולהשתמש בהם כדי לעקוב אחר נתונים מהאפליקציה לאורך זמן. כדי לבנות ולפרוס יישומים, אתה משתמש ב-AWS Panorama Application CLI. ה-CLI הוא כלי שורת פקודה שיוצר תיקיות ברירת מחדל של יישומים וקובצי תצורה, בונה קונטיינרים עם Docker ומעלה נכסים.

AWS Panorama תומך בדגמים שנבנו עם אפאצ'י MXNet, רשת אפלה, GluonCV, קרס, אונקס, PyTorch, TensorFlow, ו TensorFlow Lite. מתייחס זֶה פוסט בבלוג למידע נוסף על בניית יישומים ב-AWS Panorama. במהלך תהליך הפריסה AWS Panorama דואגת להרכיב את המודל הספציפי לפלטפורמת הקצה אוסף אמזון SageMaker Neo. ניתן לנתב את תוצאות ההסקה לשירותי AWS כגון Amazon S3, Amazon CloudWatch או לשלב אותם עם יישומים מקומיים בתחום העסקים. יומני הפריסה מאוחסנים ב- Amazon CloudWatch.

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

לקבלת מידע נוסף, עיין בסעיף עמוד פנורמה של AWS. למידע נוסף על בניית יישומים לדוגמה, עיין ב דוגמאות פנורמה של AWS.

גישה

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

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

עם הידע הזה, אנו מאמצים את האסטרטגיה הבאה כדי לספור את המספר הכולל של מגשי עוף:

  1. שמור על שני מונים שונים - מקומיים וגלובליים. הדלפק הגלובלי שומר על סך כל המגשים אסוף והדלפק המקומי מאחסן את המספר המרבי של מגשים המוכנסים לפח חדש.
  2. עדכן את המונה המקומי כאשר מגשים חדשים מונחים בפח.
  3. זיהוי אירוע bin חדש בדרכים הבאות:
    1. ספירת המגשים במסגרת נתונה מגיעה לאפס. (אוֹ)
    2. זרם מספרי המגשים באחרון n מסגרות יורדות ברציפות.
  4. לאחר זיהוי אירוע ה-bin החדש, הוסף את ערך המונה המקומי למונה הגלובלי.
  5. אפס את המונה המקומי לאפס.

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

אימון מודל זיהוי אובייקטים עם Amazon SageMaker

יצירת מערך נתונים:

לכידת תמונות חדשות עבור עבודות תיוג

לכידת תמונות חדשות עבור עבודות תיוג

אספנו דוגמאות תמונה מקו האריזה באמצעות AWS Panorama Appliance. הסקריפט לעיבוד תמונות ושמירתן נארז כאפליקציה ונפרס ב-AWS Panorama. האפליקציה אוספת פריימים של וידאו ממצלמה מקומית המוגדרת ליד אזור האריזה ושומרת אותם במרווחים של 60 שניות ל- אמזון S3 דְלִי; פעולה זו מונעת לכידת תמונות דומות ברצף הווידאו המרוחקות בין כמה שניות. אנו מסווים גם אזורים סמוכים בתמונה שאינם רלוונטיים למקרה השימוש.

סימנו את מגשי העוף בקופסאות תוחמות באמצעות Amazon SageMaker Ground Truth's עבודת תיוג זרימה. הגדרנו גם הודעת אירוע של Amazon S3 שמפרסמת אירועים שנוצרו על ידי אובייקט כדי שירות התראה פשוט של אמזון נושא (SNS), הפועל כמקור הקלט עבור עבודת התיוג. כאשר סקריפט אפליקציית AWS Panorama שומר תמונה בדלי S3, התראה על אירוע מתפרסמת לנושא SNS, אשר לאחר מכן שולח תמונה זו לעבודת התיוג. כאשר הכותבים מתייגים כל תמונה נכנסת, Ground Truth שומר את התוויות בקובץ מניפסט, המכיל נתיב S3 של התמונה וכן קואורדינטות של תיבות תוחמות של מגש עוף.

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

אימון מודלים:

לאחר השלמת עבודת התיוג, אנו מפעילים באופן ידני an AWS למבדה פוּנקצִיָה. פונקציית Lambda זו מאגדת תמונות והתוויות המתאימות שלהן ממניפסט הפלט ל-an קובץ LST. בקבצי ההדרכה והבדיקה שלנו נאספו תמונות מקווי אריזה שונים כדי למנוע דליפת נתונים בהערכה. לאחר מכן, פונקציית Lambda מפעילה עבודת אימון של אמזון SageMaker.

אנו משתמשים מצב סקריפט של SageMaker, המאפשר לך להביא אלגוריתמי אימון משלך ולאמן ישירות דגמים תוך שהייה בגבולות הידידותיים למשתמש של Amazon SageMaker. אנו מאמנים דגמים כמו SSD, Yolo-v3 (להשהיית מסקנות בזמן אמת) עם שילובי רשת עמוד שדרה שונים מ גן חיות מדגם GluonCV לזיהוי אובייקטים במצב סקריפט. לרשתות עצביות יש נטייה להתאים יותר מדי נתוני אימון, מה שמוביל לתוצאות גרועות מחוץ לדגימה. GluonCV מספק נורמליזציה של תמונה והגדלת תמונה, כגון היפוך תמונה אקראית וחיתוך, כדי לסייע בהפחתת התאמת יתר במהלך האימון. ה קוד הדרכה לדגם הוא מכיל ומשתמש בתמונת Docker ב-AWS Elastic Container Registry שלנו. עבודת ההדרכה לוקחת את תיקיית התמונות S3 ואת נתיב הקובץ LST כקלט ושומרת את חפץ הדגם הטוב ביותר (.params ו ‎.json) ל-S3 עם השלמתו.

צינור הערכת מודל

צינור הערכת מודל

2 הדגמים המובילים המבוססים על סט הבדיקות שלנו היו SSD-resnet50 ו Yolov3-darketnet53, עם ציון mAP של 0.91 כל אחד. ביצענו גם בדיקות בעולם האמיתי על ידי פריסת אפליקציית הסקה במכשיר AWS Panorama יחד עם הדגם המיומן. סקריפט ההסקה שומר את התחזיות ואת מסגרות הווידאו לדלי של אמזון S3. יצרנו עבודה נוספת של SageMaker Ground Truth לביאור אמת קרקע ולאחר מכן ביצענו הערכת מודל כמותית נוספת. האמת הבסיסית ותוויות התיבה התוחמת החזויה בתמונות נשמרו ב-S3 לצורך הערכה איכותית. המודלים הצליחו להכליל על נתוני העולם האמיתי והניבו ביצועים עקביים דומים לאלו במערך הבדיקות שלנו.

אתה יכול למצוא דוגמאות מלאות מקצה לקצה של יצירת עבודות הדרכה מותאמות אישית, הדרכה של מודלים חדישים לזיהוי אובייקטים, הטמעת אופטימיזציה של Hyperparameter (HPO) ופריסה של מודלים ב-Amazon SageMaker ב- מאגר GitHub של AWS Labs.

פריסת יישום ספירת מגשי בשר

ארכיטקטורת ייצור

ארכיטקטורת ייצור

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

עם פריסת האפליקציה, AWS Panorama יוצר תחילה עבודת AWS SageMaker Neo Compilation כדי להרכיב את המודל עבור מכשיר AWS Panorama. סקריפט אפליקציית ההסקה מייבא את הדגם המהודר למכשיר ומבצע זיהוי מגש עוף בכל פריים. בנוסף ל-SageMaker Neo-Compilation, אפשרנו קוונטיזציה לאחר אימון על ידי הוספת os.environ['TVM_TENSORRT_USE_FP16'] = '1' דגל בתסריט. זה מקטין את גודל משקלי הדגם מ-float 32 ל-float 16, מקטין את גודל הדגם בחצי ומשפר את השהיה ללא ירידה בביצועים. תוצאות ההסקה נלכדות ב AWS SiteWise Monitor דרך הודעות MQTT ממכשיר AWS Panorama דרך ליבת IoT של AWS. התוצאות נדחפות לאמזון S3 ומוצגות פנימה אמזון קוויקסייט לוחות מחוונים. מנהלי המפעל והעובדים יכולים לצפות ישירות בלוחות המחוונים הללו כדי להבין את התפוקה של כל קו אריזה בזמן אמת.

סיכום

על ידי שילוב של שירות ענן AWS כמו Amazon SageMaker, Amazon S3 ושירות קצה כמו AWS Panorama, Tyson Foods Inc., מחדירת בינה מלאכותית לאוטומציה של תהליכים תעשייתיים עתירי אדם כמו ספירת מלאי במפעלי הייצור שלה. יכולות הסקת קצה בזמן אמת מאפשרות ל-Tyson לזהות יתר/מתחת לייצור ולהתאים באופן דינמי את זרימת הייצור שלהם כדי למקסם את היעילות. יתר על כן, על ידי בעלות על מכשיר AWS Panorama בקצה, Tyson מסוגלת גם לחסוך בעלויות הקשורות ברוחב פס יקר של הרשת להעברת קבצי וידאו לענן וכעת היא יכולה לעבד את כל נכסי הווידאו/תמונה שלהם באופן מקומי ברשת שלהם.

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

  1. נתונים: איסוף נתונים, עיבוד ותיוג באמצעות AWS Panorama ו-Amazon SageMaker Ground Truth.
  2. מספר סימוכין: הדרכת מודל והערכה באמצעות Amazon SageMaker ו-AWS Lambda
  3. חבילת יישומים: איגד מודלים מאומנים, סקריפטים וקבצי תצורה עבור AWS Panorama.

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

נְקִישָׁה כאן כדי להתחיל את המסע שלך עם AWS Panorama. למידע נוסף על שיתוף פעולה עם ML Solutions Lab, ראה מעבדת פתרונות למידת מכונות של אמזון.


על הכותבים

דיוויה בהרגאווי הוא מדען נתונים ב מעבדת פתרונות אמזון ML שם היא עובדת עם לקוחות בתחומים שונים ומפעילה פתרון בעיות יצירתי כדי לייצר ערך ללקוחות עם פתרונות ML/AI מתקדמים.

דיליפ סוברמניאם הוא מפתח בכיר בצוות Emerging Technologies ב- Tyson Foods. הוא נלהב לבנות אפליקציות מבוזרות בקנה מידה גדול כדי לפתור בעיות עסקיות ולפשט תהליכים תוך שימוש בידע שלו בפיתוח תוכנה, למידת מכונה וביג דאטה.

מקור: https://aws.amazon.com/blogs/machine-learning/industrial-automation-at-tyson-with-computer-vision-aws-panorama-and-amazon-sagemaker/

בול זמן:

עוד מ בלוג למידת מכונות AWS