האץ תכנון מערכת זיהוי ויזואלי עם יחידות ה-MPU מסדרת Renesas RZ/V2

מאת ‎Jacob Beningo

באדיבות ‎DigiKey's North American Editors

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

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

עם תנאים אלה במחשבה, מאמר זה מציג‏ פתרון בצורה של יחידת המיקרו-מעבד (MPU) מסדרת Renesas Electronics RZ/V2 עם מאיץ חומרת ה-AI המובנה שלה. המאמר בוחן כיצד יחידת מיקרו-מעבד (MPU), ולא‏ מיקרו-בקר (MCU) או יחידת עיבוד גרפי (GPU) ‏high-end, יכולה לפתור מספר בעיות העומדות בפני מתכננים. המאמר כולל תאור של האופן בו הם יכולים להתחיל לתכנן מערכות זיהוי ויזואלי תוך שימוש בסדרת ה-RZ/V2, יחד עם מספר “טיפים וטריקים” כדי להחליק את התהליך.

הקדמה ליחידות ה-MPU מסדרת ה-RZ/V2

סדרת ה-RZ/V2‏ היא פתרון הפותח יכולות רבות עבור מפתחים המשתמשים במיקרו-מעבד שלוש-ליבות.‏ מיקרו-מעבדי סדרת ה-RZ/V2L כוללים שני מעבדי Arm Cortex-A55 הרצים במהירות של 1.2 גיגה-הרץ (GHz‏‏), וליבת מיקרו-בקר‏ זמן-אמת (ARM® Cortex®-M33‏) הרצה במהירות של 200 מגה-הרץ (MHz‏). נוסף לכך, החלקים בסדרה מכילים‏ GPU המבוססת על מעבד ‏מולטימדיה Arm Mali-G31 עם הוראות NEON הוראה יחידה/נתונים מרובים (SIMD‏). שילוב של שלוש ליבות עיבוד אלו ומעבד המולטימדיה מספק‏ פתרון מתוכנן היטב עבור מפתחים העובדים על מערכות זיהוי ויזואלי.

כעת ישנם שני סוגי MPU בסדרת ה-RZ/V2, סדרות ה-RZ/V2L וה-RZ/V2M. ה-RZ/V2L היא בעלת‏ מעבד אותות תמונה (ISP‏) פשוט, מנוע גרפי 3D‏, וסט היקפי‏ רב-תכליתי ביותר. ה-RZ/V2M, מצידה, מוסיפה מעבד אותות תמונה (ISP) ביצועים-עיליים התומך ברזולוציה 4K‏ ב-30 פריימים (Frames‏) לשנייה (fps). מאמר זה מתמקד במשפחת ה-RZ/V2L, הכוללת את ה-R9A07G054L23GBG וה-R9A07G054L24GBG. ההבדל העיקרי בין שני החלקים הוא שה-R9A07G054L23GBG בא במארז 456-LFBGA של 15 ממ"ר, בעוד ה-R9A07G054L24GBG בא במארז 551-LFBGA של‏ 21 ממ"ר.

דיאגרמת הבלוקים עבור סדרת ה-RZ/V2L מוצגת באיור 1. בנוסף לשלוש ליבות העיבוד, יחידות ה-MPU כוללות ממשקים עבור רכיבים היקפיים סטנדרטיים כמו זיכרון DDR3‏/DDR4,‏ SPI,‏ USB,‏ Ethernet,‏ I²C,‏ CAN,‏ SCI,‏ GPIO‏ וממיר אנלוגי-לדיגיטלי (ADC). יתר על כן, החלקים כוללים יכולות אבטחה כגון‏ אתחול (Boot‏) מאובטח, מנוע‏ הצפנה ומחולל מספר אקראי אמיתי (TRNG‏). מה שבכל זאת מבדיל את סדרת ה-MPU הוא מאיץ ה-AI עם המעבד הניתן להגדרת תצורה מחדש באופן דינמי (DRP).

תרשים של סדרת Renesas RZ/V2L MPU (הקלק להגדלה)איור 1‏: סדרת ה-RZ/V2L MPU תומכת בממשקים היקפיים שונים, אבטחה, ואופציות עיבוד וידאו. המאפיין הקריטי עבור יישומי זיהוי ויזואלי הוא מאיץ ה-DRP-AI. (מקור תמונה: Renesas Electronics Corporation)

המרכיב הסודי, מאיץ ה-DRP-AI

מאיץ ה-DRP-AI הוא המרכיב הסודי המאפשר ליחידות MPU של סדרת ה-RZ/V2L לבצע יישומי זיהוי ויזואלי במהירות, עם צריכת אנרגיה פחותה ופרופיל‏ תרמי נמוך יותר. ה-DRP-AI מורכב משני רכיבים: DRP ‏ו-AI-הכפל-ואגור (MAC), שיכולים לעבד ביעילות פעולות ברשתות קונבולוציוניות ובכל השכבות המשלבות על ידי מיטוב זרימת נתונים עם מתגים פנימיים (איור ‏2).

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

ה-DRP יכול לעבד במהירות פעולות מורכבות כגון קדם-עיבוד תמונה ו-pooling layers מודל AI על ידי שינוי דינמי של תצורת חומרה.

תרשים של Renesas DRP-AI המורכב מ-DRP ו-AI-MACאיור 2: ה-DRP-AI מורכב מ-DRP ‏ו-AI-MAC, שביחד יכולים לעבד ביעילות פעולות ברשתות קונבולוציוניות ובכל השכבות המשלבות על ידי מיטוב זרימת נתונים עם מתגים פנימיים. (מקור תמונה: Renesas Electronics Corporation)

ה-DRP-AI Translator

כלי ה-DRP-AI Translator מייצר קבצי תוכנית ניתנים להרצה (executables) ממוטבים DRP-AI ממודלים מאומנים ONNX, עצמאיים מכל מסגרת AI. לדוגמה, מפתח יכול להשתמש ב-PyTorch,‏ TensorFlow, או כל מסגרת מידול AI אחרת אם היא מוציאה מודל ONNX. ברגע שהמודל מאומן, הוא מוזן אל תוך ה-DRP-AI Translator, שמייצר את קבצי התוכנית הניתנים להרצה (executables)‏ DRP ו-AI-MAC (איור 3‏).

תרשים של מודלים AI המאומנים תוך שימוש במסגרת כלשהי תואמת ONNXאיור 3: מודלים AI מאומנים תוך שימוש במסגרת כלשהי תואמת ONNX. מודל ה-ONNX מוזן אחר כך אל תוך ה-DRP-AI Translator, שמייצר את קבצי התוכנית הניתנים להרצה (executables)‏ DRP ו-AI-MAC. (מקור תמונה: Renesas Electronics Corporation)

ל-DRP-AI Translator יש שלוש מטרות עיקריות:

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

ה-Translator מקצה באופן אוטומטי כל תהליך של מודל ה-AI ל-AI-MAC ו-DRP, בכך מאפשר למשתמש להשתמש בקלות ב-DRP-AI מבלי להיות מומחה חומרה. במקום זה, המפתח יכול לבצע קריאות דרך הדרייבר המסופק כדי להריץ את מודל ה-AI ביצועים-עיליים. נוסף לכך, ה-DRP-AI Translator יכול להתעדכן ברציפות כדי לתמוך במודלים AI שפותחו לאחרונה, ללא שינויי חומרה.

מקרי ותהליכי שימוש במערכת

תזרים התהליך הכללי של שימוש ביחידות ה-RZ/V2L MPU לאימון ופריסה של יישומי זיהוי ויזואלי מוצג באיור 4. כרגיל, מהנדסים יכולים להשיג את מערך הנתונים שלהם ולהשתמש בו כדי לאמן את מודל הזיהוי הויזואלי שלהם. בין אם הם מנסים לזהות‏ חתולים, מוצר בעגלת קניות, או חלקים כושלים בקו ייצור, תהליך האימון יתרחש תוך שימוש במסגרות AI מוכרות. ברגע שהמודל מאומן, הוא מומר לפורמט ONNX ומוזן אל תוך ה-DRP-AI Translator, שמוציא בתורו קוד אובייקט שניתן לבצע על חומרת ה-DRP-AI. הנתונים ממצלמות, מדי-תאוצה, או חיישנים אחרים נדגמים אחר כך ומוזנים לתוך קבצי התוכנית הניתנים להרצה (executables)‏, ומספקים את תוצאת ההרצה של ההיסק.

תמונה של אימון והרצה של אלגוריתם זיהוי ויזואליאיור 4: תהליך האימון וההרצה של אלגוריתם זיהוי ויזואלי על יחידות ה-RZ/V2L MPU. (מקור תמונה: Renesas Electronics Corporation)

ישנן מספר דרכים בהן מהנדסים יכולים למנף את יחידות ה-RZ/V2L MPU בתכנים שלהם (איור 5‏). ראשית, ניתן להשתמש ב-RZ/V2L MPU בתכנים עצמאיים בהם ה-RZ/V2L הוא המעבד היחידי במערכת. עם שלוש הליבות וחומרת ההאצה AI שלו, יתכן שלא יהיה צורך בכוח מחשוב נוסף.

מקרה השימוש השני הוא כשה-RZ/V2L משמש כמעבד AI במערכת נרחבת יותר. במקרה שימוש זה, ה-RZ/V2L מריץ את היסקי ה-AI ומחזיר תוצאה למעבד אחר או מערכת אחרת שפועל/פועלת על אותה תוצאה. מקרה השימוש הנבחר יהיה תלוי בגורמים שונים כגון עלות, ארכיטקטורת מערכת כוללת ודרישות תגובה בזמן-אמת.

תרשים של שני מקרי שימוש ביחידות Renesas RZ/V2L MPUאיור 5‏: שני מקרי השימוש ביחידות ה-RZ/V2L MPU הם שימוש באופן עצמאי ביישום, או כמעבד AI במערכת נרחבת יותר. (מקור תמונה: Renesas Electronics Corporation)

דוגמת יישום מהעולם-האמיתי

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

ניתן לבנות‏ אב-טיפוס תוך שימוש במצלמת CMOS פשוטה ולוח הערכה RTK9754L23S01000BE של Renesas (איור 6‏). ללוח הפיתוח המשובץ RZ/V2L יש מערכת במודול (SOM) ולוח נושא המאפשרים למפתחים להתחיל לעבוד במהירות. נוסף לכך, לוח הפיתוח תומך ב-Linux, יחד עם כלים שונים כמו ה-DRP-AI Translator.

תמונה של לוח פיתוח משובץ Renesas RZ/V2Lאיור 6: ללוח הפיתוח המשובץ RZ/V2L יש מערכת במודול (SOM) ולוח נושא המאפשרים למפתחים להתחיל לעבוד במהירות. (מקור תמונה: Renesas Electronics Corporation)

סקירה תפעולית של מה שדרוש כדי לקבל נתוני תמונה וליצר תוצאת AI ניתן לראות באיור 7. בדוגמת יישום זו, תמונות של המסוע מצולמות על ידי שימוש בחיישן CMOS דרך מעבד אותות התמונה (ISP) שעל הלוח. אחר כך, התמונה נשמרת בזיכרון ומוזנת אל תוך מנוע ה-DRP-AI. לבסוף, מנוע ה-DRP-AI מריץ את ההיסק ומספק תוצאת AI. לדוגמה, התוצאה יכולה להיות שנמצאה בננה, או תפוח‏, או פרי אחר.

התוצאה בדרך כלל מלווה על ידי רמת ביטחון של 0 עד 1. לדוגמה, ביטחון של 0.90 משמעותו שה-AI בטוח שגילה תפוח. מצד שני,‏ ביטחון של 0.52 יכול להתפרש שה-AI חושב שזהו תפוח, אך אינו בטוח. זה לא בלתי מקובל לקחת תוצאת AI ‏ולחשב את הממוצע של דגימות מרובות כדי לשפר את הסיכויים של תוצאות נכונות.

תרשים של לוח פיתוח משובץ Renesas RZ/V2Lאיור 7‏: לוח הפיתוח המשובץ RZ/V2L משמש להרצת היסק AI המזהה פירות שונים על מסוע. האיור מראה את הצעדים החיוניים לקבלת תמונה וליצר תוצאת AI. (מקור תמונה: Renesas Electronics Corporation)

לבסוף, בדוגמה זו, מצויר מלבן סביב האובייקט ‏המזוהה, ושם האובייקט המזוהה מוצג יחד עם רמת הביטחון (איור 8‏).

דוגמת יציאה מה-Renesas RZ/V2Lאיור 8‏: דוגמת יציאה מה-RZ/V2L ביישום המגלה פירות וירקות על מסוע. (מקור תמונה: Renesas Electronics Corporation)

טיפים וטריקים בצעדים הראשונים עם ה-RZ/V2L

מפתחים המחפשים להתחיל עם למידת מכונה על יחידות ה-Renesas RZ/V2L MPU ימצאו שיש להם משאבים רבים למנף כדי להתחיל לעבוד. להלן מספר "טיפים וטריקים" שעל המפתחים לזכור, שיכולים לפשט ולהאיץ את הפיתוח שלהם:

  • התחל עם לוח פיתוח והדוגמאות הקיימות כדי לקבל תחושה לפריסת והרצת יישום.
  • אם זה הכרחי לבצע היסקים מרובים, שמור את המודלים עליהם יש לבצע היסקים בזכרון חיצוני, והשתמש ביכולות ה-DRP-AI להחליף במהירות בין המודלים.
  • בחן את התעוד ואת הסרטונים המצויים באתר RZ/V Embedded AI MPUs של Renesas.
  • הורד את ה-DRP-AI Translator.
  • הורד את ה-RZ/V2L DRP-AI Support Package.

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

מסקנה

למידת מכונה (ML) ובינה מלאכותית (AI) מוצאות את דרכן אל תוך יישומי קצה רבים, עם היכולת לזהות אובייקטים בזמן-אמת ההופכת לחשובה יותר ויותר. עבור מתכננים, הקושי הוא למצוא את הארכיטקטורה הנכונה איתה לבצע AI/ML בקצה. יחידות GPU נוטות להיות רעבות הספק, בעוד יחידות MCU עלולות להיות חסרות מספיק כוח מחשוב.

כמתואר, לסדרת ה-Renesas RZ/V MPU עם DRP-AI יש מספר יתרונות כגון AI מואצת חומרה, יחד עם סט משמעותי של כלי תכנות לפיתוח תוכנה ותמיכה בבניית אב-טיפוס.

DigiKey logo

מיאון אחריות: דעות, אמונות ונקודות מבט המובעות על ידי מחברים שונים ו/או משתתפי פורום באתר אינטרנט זה לא בהכרח משקפות את הדעות, האמונות ונקודות המבט של חברת DigiKey או את המדיניות הרשמית של חברת DigiKey.

אודות כותב זה

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo הוא יועץ תוכנה משובצת. הוא פרסם יותר מ- 200 מאמרים על טכניקות פיתוח תוכנה משובצת, הוא דובר ומאמן טכני מבוקש, והוא בעל שלושה תארים, כולל תואר שני בהנדסה מאוניברסיטת מישיגן.

אודות מוציא לאור זה

DigiKey's North American Editors