|
4 weeks ago | |
---|---|---|
.. | ||
README.md | 4 weeks ago | |
assignment.md | 4 weeks ago |
README.md
מאמן גלאי איכות פירות
סקיצה מאת Nitya Narasimhan. לחצו על התמונה לגרסה גדולה יותר.
הווידאו הזה מספק סקירה כללית על שירות Azure Custom Vision, שירות שיכוסה בשיעור הזה.
🎥 לחצו על התמונה למעלה לצפייה בווידאו
שאלון לפני השיעור
מבוא
העלייה האחרונה בבינה מלאכותית (AI) ולמידת מכונה (ML) מספקת מגוון רחב של יכולות למפתחים של היום. ניתן לאמן מודלים של ML לזהות דברים שונים בתמונות, כולל פירות שאינם בשלים, וזה יכול לשמש במכשירי IoT כדי לעזור למיין תוצרת, בין אם בזמן הקטיף או במהלך עיבוד במפעלים או מחסנים.
בשיעור הזה תלמדו על סיווג תמונות - שימוש במודלים של ML כדי להבחין בין תמונות של דברים שונים. תלמדו איך לאמן מסווג תמונות כדי להבחין בין פירות טובים לבין פירות פגומים, בין אם הם לא בשלים, בשלים יתר על המידה, חבולים או רקובים.
בשיעור הזה נכסה:
- שימוש ב-AI ו-ML למיון מזון
- סיווג תמונות באמצעות למידת מכונה
- אימון מסווג תמונות
- בדיקת מסווג התמונות שלכם
- אימון מחדש של מסווג התמונות שלכם
שימוש ב-AI ו-ML למיון מזון
הזנת אוכלוסיית העולם היא משימה קשה, במיוחד במחיר שהופך מזון לנגיש לכולם. אחד העלויות הגדולות ביותר הוא כוח העבודה, ולכן חקלאים פונים יותר ויותר לאוטומציה וכלים כמו IoT כדי להפחית את עלויות העבודה שלהם. קטיף ידני הוא עבודה אינטנסיבית (ולעיתים קרובות שוחקת), ומוחלף במכונות, במיוחד במדינות עשירות יותר. למרות החיסכון בעלויות השימוש במכונות לקטיף, יש חסרון - היכולת למיין מזון בזמן הקטיף.
לא כל הגידולים מבשילים באופן אחיד. עגבניות, למשל, יכולות עדיין להיות עם פירות ירוקים על השיח כאשר הרוב מוכן לקטיף. למרות שזה בזבוז לקטוף אותן מוקדם, זה זול וקל יותר לחקלאי לקטוף הכל באמצעות מכונות ולהיפטר מהתוצרת הלא בשלה מאוחר יותר.
✅ הסתכלו על פירות או ירקות שונים, בין אם הם גדלים לידכם בחוות או בגינה שלכם, או בחנויות. האם כולם באותו שלב הבשלה, או שאתם רואים הבדלים?
העלייה בקטיף אוטומטי העבירה את מיון התוצרת מהקטיף למפעל. מזון היה נוסע על מסועים ארוכים עם צוותים של אנשים שמסירים כל דבר שלא עומד בסטנדרט האיכות הנדרש. הקטיף היה זול יותר בזכות מכונות, אבל עדיין הייתה עלות למיון ידני של המזון.
האבולוציה הבאה הייתה שימוש במכונות למיון, בין אם מובנות בתוך הקטיף או במפעלים לעיבוד. הדור הראשון של המכונות הללו השתמש בחיישנים אופטיים כדי לזהות צבעים, ששלטו במפעילים כדי לדחוף עגבניות ירוקות לפח פסולת באמצעות מנופים או פיצוצים של אוויר, והשאירו עגבניות אדומות להמשיך ברשת המסועים.
בווידאו הזה, כאשר עגבניות נופלות ממסוע אחד לשני, עגבניות ירוקות מזוהות ונזרקות לפח באמצעות מנופים.
✅ אילו תנאים הייתם צריכים במפעל או בשדה כדי שחיישנים אופטיים יעבדו בצורה נכונה?
האבולוציות האחרונות של מכונות המיון הללו מנצלות את היתרונות של AI ו-ML, תוך שימוש במודלים שאומנו להבחין בין תוצרת טובה לבין פגומה, לא רק על ידי הבדלים ברורים בצבע כמו עגבניות ירוקות מול אדומות, אלא גם על ידי הבדלים עדינים יותר במראה שיכולים להצביע על מחלה או חבלות.
סיווג תמונות באמצעות למידת מכונה
תכנות מסורתי הוא כאשר אתם לוקחים נתונים, מיישמים אלגוריתם על הנתונים, ומקבלים פלט. לדוגמה, בפרויקט האחרון לקחתם קואורדינטות GPS וגדר גיאוגרפית, יישמתם אלגוריתם שסופק על ידי Azure Maps, וקיבלתם תוצאה אם הנקודה הייתה בתוך או מחוץ לגדר הגיאוגרפית. אתם מזינים יותר נתונים, מקבלים יותר פלט.
למידת מכונה הופכת את זה - אתם מתחילים עם נתונים ותוצאות ידועות, והאלגוריתם של למידת המכונה לומד מהנתונים. לאחר מכן אתם יכולים לקחת את האלגוריתם המאומן, שנקרא מודל למידת מכונה או מודל, ולהזין נתונים חדשים ולקבל פלט חדש.
🎓 התהליך שבו אלגוריתם למידת מכונה לומד מהנתונים נקרא אימון. הקלטים והתוצאות הידועות נקראים נתוני אימון.
לדוגמה, אתם יכולים לתת למודל מיליוני תמונות של בננות לא בשלות כנתוני אימון קלט, עם פלט האימון מוגדר כלא בשלה
, ומיליוני תמונות של בננות בשלות כנתוני אימון קלט עם הפלט מוגדר כבשלה
. האלגוריתם של ML ייצור מודל על בסיס הנתונים הללו. לאחר מכן תתנו למודל הזה תמונה חדשה של בננה והוא ייתן תחזית אם התמונה החדשה היא של בננה בשלה או לא בשלה.
🎓 התוצאות של מודלים של ML נקראות תחזיות
מודלים של ML לא נותנים תשובה בינארית, אלא נותנים הסתברויות. לדוגמה, מודל יכול לקבל תמונה של בננה ולחזות בשלה
ב-99.7% ולא בשלה
ב-0.3%. הקוד שלכם יבחר את התחזית הטובה ביותר ויחליט שהבננה בשלה.
המודל של ML שמשמש לזיהוי תמונות כאלה נקרא מסווג תמונות - הוא מקבל תמונות מתויגות, ואז מסווג תמונות חדשות על בסיס התיוגים הללו.
💁 זהו פישוט יתר, ויש דרכים רבות אחרות לאמן מודלים שלא תמיד דורשות תיוגים ידועים, כמו למידה לא מפוקחת. אם אתם רוצים ללמוד יותר על ML, בדקו את ML למתחילים, תוכנית לימודים בת 24 שיעורים על למידת מכונה.
אימון מסווג תמונות
כדי לאמן בהצלחה מסווג תמונות, אתם צריכים מיליוני תמונות. כפי שמתברר, ברגע שיש לכם מסווג תמונות שאומן על מיליונים או מיליארדים של תמונות מגוונות, אתם יכולים להשתמש בו מחדש ולאמן אותו מחדש באמצעות סט קטן של תמונות ולקבל תוצאות מצוינות, בתהליך שנקרא למידה מעבירה.
🎓 למידה מעבירה היא כאשר אתם מעבירים את הלמידה ממודל ML קיים למודל חדש על בסיס נתונים חדשים.
ברגע שמסווג תמונות אומן עבור מגוון רחב של תמונות, הפנימיות שלו מצוינות בזיהוי צורות, צבעים ודפוסים. למידה מעבירה מאפשרת למודל לקחת את מה שהוא כבר למד בזיהוי חלקי תמונה, ולהשתמש בזה כדי לזהות תמונות חדשות.
אתם יכולים לחשוב על זה כמו ספרי צורות לילדים, שבהם ברגע שאתם יכולים לזהות חצי עיגול, מלבן ומשולש, אתם יכולים לזהות סירת מפרש או חתול בהתאם לתצורה של הצורות הללו. מסווג התמונות יכול לזהות את הצורות, והלמידה המעבירה מלמדת אותו איזו תצורה יוצרת סירה או חתול - או בננה בשלה.
יש מגוון רחב של כלים שיכולים לעזור לכם לעשות זאת, כולל שירותים מבוססי ענן שיכולים לעזור לכם לאמן את המודל שלכם, ואז להשתמש בו דרך APIs ברשת.
💁 אימון מודלים כאלה דורש הרבה כוח מחשוב, בדרך כלל באמצעות יחידות עיבוד גרפיות (GPUs). אותו חומרה מיוחדת שהופכת משחקים ב-Xbox שלכם למדהימים יכולה גם לשמש לאימון מודלים של למידת מכונה. באמצעות הענן אתם יכולים לשכור זמן על מחשבים חזקים עם GPUs כדי לאמן את המודלים הללו, ולקבל גישה לכוח המחשוב שאתם צריכים, רק לזמן שאתם צריכים אותו.
Custom Vision
Custom Vision הוא כלי מבוסס ענן לאימון מסווגי תמונות. הוא מאפשר לכם לאמן מסווג באמצעות מספר קטן של תמונות בלבד. אתם יכולים להעלות תמונות דרך פורטל אינטרנט, API ברשת או SDK, לתת לכל תמונה תג שמסווג את התמונה, ואז לאמן את המודל ולבדוק איך הוא מתפקד. ברגע שאתם מרוצים מהמודל, אתם יכולים לפרסם גרסאות שלו שניתן לגשת אליהן דרך API ברשת או SDK.
💁 אתם יכולים לאמן מודל Custom Vision עם מינימום של 5 תמונות לכל סיווג, אבל יותר זה טוב יותר. אתם יכולים לקבל תוצאות טובות יותר עם לפחות 30 תמונות.
Custom Vision הוא חלק ממגוון כלים של AI מבית Microsoft שנקראים Cognitive Services. אלו כלים של AI שניתן להשתמש בהם או ללא כל אימון, או עם מעט אימון. הם כוללים זיהוי דיבור ותרגום, הבנת שפה וניתוח תמונות. הם זמינים עם שכבת חינם כשירותים ב-Azure.
💁 שכבת החינם מספיקה כדי ליצור מודל, לאמן אותו, ואז להשתמש בו לעבודה בפיתוח. אתם יכולים לקרוא על המגבלות של שכבת החינם בעמוד Custom Vision Limits and quotas במדריכי Microsoft.
משימה - יצירת משאב Cognitive Services
כדי להשתמש ב-Custom Vision, תחילה עליכם ליצור שני משאבי Cognitive Services ב-Azure באמצעות Azure CLI, אחד לאימון Custom Vision ואחד לתחזיות Custom Vision.
-
צרו קבוצת משאבים לפרויקט הזה בשם
fruit-quality-detector
. -
השתמשו בפקודה הבאה כדי ליצור משאב אימון Custom Vision חינמי:
az cognitiveservices account create --name fruit-quality-detector-training \ --resource-group fruit-quality-detector \ --kind CustomVision.Training \ --sku F0 \ --yes \ --location <location>
החליפו
<location>
במיקום שבו יצרתם את קבוצת המשאבים.זה ייצור משאב אימון Custom Vision בקבוצת המשאבים שלכם. הוא ייקרא
fruit-quality-detector-training
וישתמש ב-skuF0
, שהיא שכבת החינם. האפשרות--yes
אומרת שאתם מסכימים לתנאים וההגבלות של שירותי הקוגניציה.
💁 השתמשו ב-sku
S0
אם כבר יש לכם חשבון חינם שמשתמש באחד משירותי הקוגניציה.
-
השתמשו בפקודה הבאה כדי ליצור משאב תחזיות Custom Vision חינמי:
az cognitiveservices account create --name fruit-quality-detector-prediction \ --resource-group fruit-quality-detector \ --kind CustomVision.Prediction \ --sku F0 \ --yes \ --location <location>
החליפו
<location>
במיקום שבו יצרתם את קבוצת המשאבים.זה ייצור משאב תחזיות Custom Vision בקבוצת המשאבים שלכם. הוא ייקרא
fruit-quality-detector-prediction
וישתמש ב-skuF0
, שהיא שכבת החינם. האפשרות--yes
אומרת שאתם מסכימים לתנאים וההגבלות של שירותי הקוגניציה.
משימה - יצירת פרויקט מסווג תמונות
-
פתחו את פורטל Custom Vision ב-CustomVision.ai, והתחברו עם חשבון Microsoft שבו השתמשתם עבור חשבון Azure שלכם.
-
עקבו אחרי החלק יצירת פרויקט חדש במדריך המהיר לבניית מסווג במדריכי Microsoft כדי ליצור פרויקט Custom Vision חדש. ממשק המשתמש עשוי להשתנות והמדריכים הללו הם תמיד המקור המעודכן ביותר.
קראו לפרויקט שלכם
fruit-quality-detector
.כאשר אתם יוצרים את הפרויקט שלכם, ודאו שאתם משתמשים במשאב
fruit-quality-detector-training
שיצרתם קודם. השתמשו בסוג פרויקט Classification, סוג סיווג Multiclass, ובתחום Food.
✅ הקדישו זמן לחקור את ממשק המשתמש של Custom Vision עבור מסווג התמונות שלכם.
משימה - אימון פרויקט מסווג התמונות שלכם
כדי לאמן מסווג תמונות, תצטרכו תמונות רבות של פירות, גם באיכות טובה וגם באיכות ירודה, כדי לתייג כטובים ורעים, כמו בננה בשלה ובננה בשלה יתר על המידה. 💁 ניתן להשתמש בממיינים האלה כדי לסווג תמונות של כל דבר, כך שאם אין לך פירות באיכות שונה בהישג יד, אפשר להשתמש בשני סוגים שונים של פירות, או חתולים וכלבים! בדרך כלל כל תמונה צריכה לכלול רק את הפרי, עם רקע אחיד או מגוון רחב של רקעים. יש לוודא שאין ברקע שום דבר שמצביע על הבשלות או חוסר הבשלות של הפרי.
💁 חשוב להימנע מרקעים מסוימים או פריטים מסוימים שאינם קשורים לדבר שמסווג עבור כל תווית, אחרת המסווג עלול לסווג על סמך הרקע בלבד. היה מסווג לסרטן עור שאומן על שומות, גם רגילות וגם סרטניות, והשומות הסרטניות כולן צולמו עם סרגלים למדידת גודל. התברר שהמסווג היה כמעט 100% מדויק בזיהוי סרגלים בתמונות, ולא שומות סרטניות.
מסווגי תמונות פועלים ברזולוציה נמוכה מאוד. לדוגמה, Custom Vision יכול לקבל תמונות אימון וניבוי עד 10240x10240, אך מאמן ומריץ את המודל על תמונות בגודל 227x227. תמונות גדולות יותר מוקטנות לגודל זה, ולכן יש לוודא שהדבר שאתם מסווגים תופס חלק גדול מהתמונה, אחרת הוא עלול להיות קטן מדי בתמונה המוקטנת שבה משתמש המסווג.
-
אספו תמונות עבור המסווג שלכם. תצטרכו לפחות 5 תמונות לכל תווית כדי לאמן את המסווג, אך ככל שיש יותר, כך טוב יותר. תצטרכו גם כמה תמונות נוספות כדי לבדוק את המסווג. כל התמונות צריכות להיות שונות זו מזו אך של אותו הדבר. לדוגמה:
-
השתמשו ב-2 בננות בשלות, צלמו כמה תמונות של כל אחת מזוויות שונות, לפחות 7 תמונות (5 לאימון, 2 לבדיקה), אך רצוי יותר.
-
חזרו על אותו תהליך עם 2 בננות לא בשלות.
עליכם להשיג לפחות 10 תמונות אימון, עם לפחות 5 בשלות ו-5 לא בשלות, ו-4 תמונות בדיקה, 2 בשלות ו-2 לא בשלות. התמונות צריכות להיות בפורמט png או jpeg, קטנות מ-6MB. אם יצרתם אותן עם אייפון, לדוגמה, ייתכן שהן יהיו תמונות HEIC ברזולוציה גבוהה, ולכן תצטרכו להמיר אותן ואולי גם להקטין אותן. ככל שיש יותר תמונות, כך טוב יותר, וכדאי שיהיה מספר דומה של בשלות ולא בשלות.
אם אין לכם גם פירות בשלים וגם לא בשלים, תוכלו להשתמש בפירות שונים או בכל שני חפצים שיש לכם. תוכלו גם למצוא תמונות לדוגמה בתיקיית images של בננות בשלות ולא בשלות שתוכלו להשתמש בהן.
-
-
עקבו אחר העלאת תמונות ותיוגן במדריך המהיר לבניית מסווג במסמכי Microsoft כדי להעלות את תמונות האימון שלכם. תייגו את הפירות הבשלים כ-
ripe
ואת הלא בשלים כ-unripe
. -
עקבו אחר אימון המסווג במדריך המהיר לבניית מסווג במסמכי Microsoft כדי לאמן את מסווג התמונות על התמונות שהעליתם.
תינתן לכם אפשרות לבחור סוג אימון. בחרו Quick Training.
המסווג יתחיל להתאמן. זה ייקח כמה דקות עד שהאימון יושלם.
🍌 אם תחליטו לאכול את הפירות שלכם בזמן שהמסווג מתאמן, ודאו שיש לכם מספיק תמונות לבדיקה קודם!
בדיקת מסווג התמונות שלכם
לאחר שהמסווג שלכם אומן, תוכלו לבדוק אותו על ידי מתן תמונה חדשה לסיווג.
משימה - בדיקת מסווג התמונות שלכם
-
עקבו אחר בדיקת המודל במסמכי Microsoft כדי לבדוק את מסווג התמונות שלכם. השתמשו בתמונות הבדיקה שיצרתם קודם, ולא באף אחת מהתמונות שבהן השתמשתם לאימון.
-
נסו את כל תמונות הבדיקה שיש לכם וצפו בהסתברויות.
אימון מחדש של מסווג התמונות שלכם
כאשר תבדקו את המסווג שלכם, ייתכן שהוא לא ייתן את התוצאות שציפיתם להן. מסווגי תמונות משתמשים בלמידת מכונה כדי לחזות מה נמצא בתמונה, על סמך הסתברויות שתכונות מסוימות בתמונה מתאימות לתווית מסוימת. הוא לא מבין מה יש בתמונה - הוא לא יודע מהי בננה או מבין מה הופך בננה לבננה ולא לסירה. תוכלו לשפר את המסווג שלכם על ידי אימון מחדש עם תמונות שהוא טועה בהן.
בכל פעם שאתם מבצעים ניבוי באמצעות אפשרות הבדיקה המהירה, התמונה והתוצאות נשמרות. תוכלו להשתמש בתמונות אלו כדי לאמן מחדש את המודל שלכם.
משימה - אימון מחדש של מסווג התמונות שלכם
-
עקבו אחר שימוש בתמונה החזויה לאימון במסמכי Microsoft כדי לאמן מחדש את המודל שלכם, תוך שימוש בתווית הנכונה לכל תמונה.
-
לאחר שהמודל שלכם אומן מחדש, בדקו אותו על תמונות חדשות.
🚀 אתגר
מה לדעתכם יקרה אם תשתמשו בתמונה של תות שדה עם מודל שאומן על בננות, או בתמונה של בננה מתנפחת, או אדם בתחפושת בננה, או אפילו דמות מצוירת צהובה כמו מישהו מהסימפסונס?
נסו זאת וראו מהן התחזיות. תוכלו למצוא תמונות לנסות באמצעות חיפוש תמונות של Bing.
חידון לאחר ההרצאה
סקירה ולימוד עצמי
- כאשר אימנתם את המסווג שלכם, ראיתם ערכים עבור Precision, Recall, ו-AP שמדרגים את המודל שנוצר. קראו על מה ערכים אלו מייצגים באמצעות הערכת המסווג במדריך המהיר לבניית מסווג במסמכי Microsoft
- קראו כיצד לשפר את המסווג שלכם מתוך כיצד לשפר את מודל Custom Vision שלכם במסמכי Microsoft
משימה
אימנו את המסווג שלכם עבור פירות וירקות מרובים
כתב ויתור:
מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית Co-op Translator. למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור סמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי אדם. איננו נושאים באחריות לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה.