תוכן עניינים:

רובוט מיון ממוחזר: 15 שלבים (עם תמונות)
רובוט מיון ממוחזר: 15 שלבים (עם תמונות)

וִידֵאוֹ: רובוט מיון ממוחזר: 15 שלבים (עם תמונות)

וִידֵאוֹ: רובוט מיון ממוחזר: 15 שלבים (עם תמונות)
וִידֵאוֹ: האנשים הכי שמנים בעולם | טופטן 2024, יולי
Anonim
Image
Image
קבלת הנתונים
קבלת הנתונים

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

שלב 1: חלקים

ודא שיש לך את החלקים הבאים לביצוע יחד עם הדרכה זו:

חלקים מודפסים בתלת -ממד (ראה שלב להלן)

Raspberry Pi RPI 4 4GB

מאיץ USB Coral USB

Arduino Uno R3

מודול מצלמת Raspberry Pi V2

ספק כוח קיר 5V 2A DC

ספק כוח DC 12V

SG90 9g מיקרו סרוווס 4 יחידות.

M3 x 0.5 מ מ נירוסטה נעילה עצמית נעילת משושה נעילה 100 יחידות.

ברגי טיטניום M3x20 עם כפתור 10 יחידות.

מומנט מנוע סרוו אנלוגי MG996R מתכת 4 יחידות.

כרטיס זיכרון בחר 32GB של סמסונג

כבל גמיש Adafruit למצלמת פטל פי - 1 מטר

ערכת מבחר אגוזים מפושטת מברשת נקבה M2

מאוורר 12 מ"מ 60 מ"מ

תיבת פרויקט בגודל 6.69 "x 5.12" x 2.95"

שלב 2: חלקים מודפסים בתלת מימד

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

שלב 3: קוד

אנא שיבוט את מאגר GitHub שלי כדי לעקוב יחד עם הדרכה זו.

שלב 4: קבלת הנתונים

כדי להכשיר את מודל זיהוי האובייקטים שיכול לזהות ולזהות חומרי מיחזור שונים, השתמשתי במערך הנתונים של האשפה הכולל 2527 תמונות:

  • 501 זכוכית
  • 594 נייר
  • 403 קרטון
  • 482 פלסטיק
  • 410 מתכת
  • 137 אשפה

התמונה למעלה היא דוגמה לתמונה אחת מתוך הנתונים ממערך הנתונים.

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

אתה יכול להשתמש בתיקיה זו של כונן Google כדי להוריד את מערך הנתונים. הקפד להוריד את קובץ dataset-resized.zip. הוא מכיל את קבוצת התמונות שכבר משנות את עצמן לגודל קטן יותר כדי לאפשר אימון מהיר יותר. אם ברצונך לשנות את גודל התמונות הגולמיות לטעמך, אל תהסס להוריד את קובץ dataset-original.zip.

שלב 5: סימון התמונות

סימון התמונות
סימון התמונות

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

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

התמונה למעלה מראה כיצד לתייג את התמונות שלך.

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

שלב 6: אימון

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

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

ישנם כמה דברים מרכזיים שיש לשים לב לגבי למידת העברות. עליך לוודא שהדגם המאומן מראש בו אתה משתמש לאימון תואם את ה- Coral Edge TPU. אתה יכול למצוא דגמים תואמים כאן. השתמשתי בדגם MobileNet SSD v2 (COCO). אל תהסס להתנסות גם עם אחרים.

כדי להתאמן על המחשב המקומי שלך, הייתי ממליץ לעקוב אחר ההדרכה של Google או ההדרכה של EdjeElectronics אם פועל ב- Windows 10. באופן אישי, בדקתי את הדרכה של EdjeElectroncs והגעתי להצלחה בשולחן העבודה שלי. אני לא יכול לאשר אם ההדרכה של Google תעבוד, אבל אני אתפלא אם לא.

כדי להתאמן בענן, אתה יכול להשתמש ב- AWS או ב- GCP. מצאתי את ההדרכה הזו שאתה יכול לנסות. הוא משתמש ב- TPU בענן של Google שיכול לאמן את מודל זיהוי האובייקטים שלך במהירות רבה. אל תהסס להשתמש גם ב- AWS.

בין אם אתה מתאמן במכונה המקומית שלך או בענן, עליך בסופו של דבר לקבל מודל מאומן של tensorflow.

שלב 7: הידור המודל המאומן

הידור המודל המאומן
הידור המודל המאומן

על מנת שהדגם המאומן שלך יעבוד עם ה- Coral Edge TPU, עליך לאסוף אותו.

למעלה תרשים לתהליך העבודה.

לאחר האימון, עליך לשמור אותו כגרף קפוא (קובץ.pb). לאחר מכן, עליך להמיר אותו לדגם Tensorflow Lite. שים לב כיצד כתוב "כימות לאחר אימון". אם השתמשת במודלים המתאימים מראש בעת שימוש בלמידת העברות, אינך צריך לעשות זאת. תסתכל על התיעוד המלא בנושא תאימות כאן.

עם דגם Tensorflow Lite, עליך לאסוף אותו לדגם Edge TPU. ראה פרטים על אופן הפעולה כאן.

שלב 8: מודל גילוי מיחזור

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

שלב 9: לפרוס את המודל

לפרוס את המודל
לפרוס את המודל

השלב הבא הוא הגדרת ה- Raspberry Pi (RPI) ו- Edge TPU להפעלת מודל זיהוי האובייקטים המאומן.

ראשית, הגדר את ה- RPI באמצעות מדריך זה.

לאחר מכן, הגדר את ה- TPU Edge לאחר הדרכה זו.

לבסוף, חבר את מודול מצלמת ה- RPI לפאי הפטל.

כעת אתה מוכן לבדוק את מודל זיהוי האובייקטים שלך!

אם כבר שיבטת את המאגר שלי, תרצה לנווט לספריית RPI ולהריץ את הקובץ test_detection.py:

python test_detection.py -model recycle_ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03/detect_edgetpu.tflite -תוויות recycle_ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03/labels.t

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

לחץ על האות "q" במקלדת כדי לסיים את התוכנית.

שלב 10: בנה את הזרוע הרובוטית

בנה את הזרוע הרובוטית
בנה את הזרוע הרובוטית

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

התמונה למעלה מראה כיצד יצאה הזרוע הרובוטית שלי.

הקפד לחבר את סיכות הסרוו לפי פיני הקלט/פלט של Arduino בקוד שלי. חבר את סרווס מלמטה לחלק העליון של הזרוע בסדר הזה: 3, 11, 10, 9, 6, 5. אי חיבורו בסדר הזה יגרום לזרוע להזיז את הסרוו הלא נכון!

בדוק אם הוא פועל על ידי ניווט לספריית Arduino והפעלת קובץ basicMovement.ino. זה פשוט יתפוס חפץ שאתה מציב מול הזרוע ויפיל אותו מאחור.

שלב 11: חיבור ה- RPI והזרוע הרובוטית

חיבור ה- RPI והזרוע הרובוטית
חיבור ה- RPI והזרוע הרובוטית

תחילה עלינו להרכיב את מודול המצלמה לתחתית הטופר. התמונה למעלה מראה כיצד היא אמורה להיראות.

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

לאחר מכן, עליך להעלות את קובץ roboticArm.ino ללוח Arduino.

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

שלב 12: נגיעות אחרונות

נגיעות אחרונות
נגיעות אחרונות
נגיעות אחרונות
נגיעות אחרונות

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

התמונות למעלה מראות איך זה נראה.

אתה יכול למצוא את תיבת הפרויקט ברשימת החומרים. פשוט קידחתי כמה חורים והשתמשתי במפרידי פליז כדי להרכיב את האלקטרוניקה. הרכבתי גם 4 מאווררי קירור כדי לשמור על זרימת אוויר קבועה דרך ה- RPI וה- TPU כשהם חמים.

שלב 13: ריצה

כעת אתה מוכן להפעיל את הזרוע הרובוטית ואת ה- RPI! ב- RPI, אתה יכול פשוט להריץ את הקובץ recycle_detection.py. זה יפתח חלון והזרוע הרובוטית תתחיל לפעול בדיוק כמו בסרטון ההדגמה! לחץ על האות "q" במקלדת כדי לסיים את התוכנית.

אל תהסס לשחק עם הקוד וליהנות!

שלב 14: עבודה עתידית

אני מקווה להשתמש ב- R. O. S. לשלוט בזרוע הרובוטית בתנועות מדויקות יותר. זה יאפשר איסוף מדויק יותר של אובייקטים.

שלב 15: שאלות?

אל תהסס להשאיר תגובה למטה אם יש לך שאלות!

מוּמלָץ: