כיצד לבנות ולהכניס לשימוש במהירות יישומי ראיית קצה ניתנים להתאמה (Adaptable Edge Vision Applications) באמצעות ‏פלטפורמה מוכנה-לייצור

מאת ‎Stephen Evanczuk

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

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

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

מאמר זה מציג‏ מערכת-על-מודול (SOM) גמישה מבית Xilinx‏ שמפתחים יכולים להשתמש בה כדי לממש במהירות פתרונות מצלמה חכמה עבור פריסת קצה (edge deployment). המאמר מראה כיצד הם יכולים לאמץ בקלות פתרונות אלה כתגובה לצרכים משתנים מבלי להתפשר על דרישות מפתח של שיהוי (Latency‏) והספק.

האצת ביצוע יישום ראיה

מערכת-על-מודול (SOM) ‏Kria K26 של Xilinx, שמבוססת על מערכת-על-שבב מרובת-מעבדים (MPSoC) ‏+Zynq UltraScale מותאמת-במיוחד, מספקת מערכת עיבוד משובצת איתנה ‏שכוללת יחידת עיבוד יישום (APU)‏ Arm Cortex-A53 ארבע-ליבות bit‏-64, יחידת עיבוד זמן-אמת ‏(RPU)‏ Arm® Cortex®-R5F שתי-ליבות bit‏-32 ויחידת עיבוד גרפיקה ‏(GPU) ‏Arm Mali-400MP2 3D. ה-SOM משלבת את ה-MPSoC‏ עם ארבעה גיגה-בייט של זיכרון DDR4 ברוחב bit‏-64‏ ובקר זיכרון נלווה, כמו גם התקני זיכרון בלתי-נדיף (NVM) מרובים, כולל 512 מגה-ביט (Mbits‏) של זיכרון Quad Serial Peripheral Interface‏ (QSPI‏), 16 גיגה-בייט (GBytes) זיכרון כרטיס מולטי-מדיה משובץ (eMMC) ו-64 קילו-ביט (Kbits‏) זיכרון קריאה-בלבד ניתן לתכנות ולמחיקה חשמלית (EEPROM‏) (איור 1‏).

תרשים של Xilinx Kria K26 SOM (הקלק להגדלה)איור 1‏: ה-Xilinx Kria K26 SOM משלבת את יכולות העיבוד הנרחבות של‏ Zynq UltraScale+ MPSoC בנויה בהתאמה-מיוחדת עם ‏ Trusted Platform Module 2.0‏ (TPM2) וזיכרון דינמי ובלתי-נדיף. (מקור תמונה: Xilinx‏)

Xilinx‏ משלימה את נכסי העיבוד והזיכרון שלה עם מערכת לוגית נרחבת ניתנת-לתכנות הכוללת 256K תאים לוגיים של מערכת, 234K Configurable Logic Block‏ (CLB) של פליפ-פלופים, ‏ 117K CLB look-up tables‏ (LUTs) וסך של 26.6 מגה-ביט (Mbits‏) זיכרון בתצורות שונות של זיכרון גישה-אקראית (RAM) מבוזר, בלוק RAM ובלוקים UltraRAM. נוסף לכך, המערכת הלוגית הניתנת-לתכנות כוללת 1,248 פרוסות עיבוד אותות דיגיטלי (DSP), ארבעה מקמ"שים ומקודד/מפענח (Codec) וידאו H.264 ו-H.265 המסוגל לתמוך בעד 32 זרמי קידוד/פענוח סימולטניים, עד סך של ‎3840 x 2160 פיקסלים ב-60 פריימים לשנייה (fps). שני מחברי ה-240-פינים של ה-SOM מספקים גישה מוכנה אל בלוקים פונקציונליים ורכיבים היקפיים באמצעות כניסה/יציאה (I/O) ניתנת להגדרת-משתמש.

שילוב זה של ליבות מעבד, זיכרון ולוגיקה ניתנת-לתכנות מספק רמה‏ ייחודית של גמישות וביצועים שמתגברים על חסרונות מפתח ביחידות עיבוד גרפיקה (GPUs) המשמשות עבור ביצוע מהיר של אלגוריתמים ML. שלא כמו זרם נתונים קבוע ביחידות GPU, מפתחים יכולים להגדיר מחדש את מסלול הנתונים של K26 SOM כדי למטב קצב העברת נתונים ולהקטין שיהוי (Latency‏). זאת ועוד, ארכיטקטורת ה-K26 SOM מתאימה במיוחד לסוג הרשתות המבוזרות שהן בליבם של מספר הולך וגדל של יישומי ML.

יכולת התכנות של K26 SOM גם נותנת מענה לצווארי בקבוק של זיכרונות המגדילים צריכת הספק וגם מגבילים ביצועים ביישומים עתירי-זיכרון, כמו ML הבנוי בארכיטקטורה קונבנציונלית תוך שימוש ביחידות GPU, מעבדים מרובי-ליבה או אפילו מערכות SoC‏ מתקדמות. בכל יישום המתוכנן עם התקנים קונבנציונליים אלה, זיכרון חיצוני בדרך כלל מהווה בערך 40% של צריכת הספק המערכת, בעוד ליבות המעבד וזיכרון פנימי בדרך כלל מהווים בערך 30% כ"א. לעומת זאת, מפתחים יכולים לנצל את הבלוקים של זיכרון הפנימיים של ה-K26 SOM ואפשרות הגדרה מחדש כדי לממש תכנים הדורשים גישה מועטה לזיכרון חיצוני או לא דורשים בכלל. התוצאה היא ביצועים משופרים וצריכת הספק נמוכה יותר מאלה האפשריים עם התקנים קונבנציונליים (איור 2‏).

תרשים של Xilinx Kria המשתמשת בצינור מידע (pipeline) ראיה יעיל (הקלק להגדלה)איור 2: בעוד מערכות המבוססות על יחידות CPU משובצות ומערכות SoC אופיניות דורשות גישות זיכרון צורכות-הספק מרובות כדי להריץ את היישום שלהן, מערכות המבוססות על ה-Xilinx Kria משתמשות ב‏צינור מידע (pipeline) ראיה יעיל שניתן לתכנן כך שימנע כל גישה אל DDR. (מקור תמונה: Xilinx‏)

יחד עם ביצועיה העיליים, צריכת ההספק הנמוכה ויכולת הגדרת-תצורתה מחדש הנרחבת, מערכת ה-K26 SOM מסייעת להבטיח אבטחה בתכני מצלמה חכמה עבור יישומים רגישים. יחד עם התקן הבטיחות TPM המובנה של ה-SOM, מערכת ה-MPSoC‏ משלבת יחידת אבטחת תצורה (CSU) התומכת באתחול (Boot‏) מאובטח, ניטור ניסיון השחתה, אחסון מפתח מאובטח והאצת חומרה קריפטוגרפית. ה-CSU, ביחד עם הזיכרון הפנימי על-השבב (OCM‏) ואחסון מפתח מאובטח מספקים את יסודות האבטחה להבטחת בסיס אמון (Root of Trust) חומרה עבור מימוש אתחול (Boot‏) מאובטח ו‏פלטפורמה אמינה לביצוע היישום.

היכולות הנרחבות הקיימות עם ה-K26 SOM מעניקות יסודות רבי-עוצמה עבור מימוש יישומים ממוקמים-קצה (edge-based) תובעניים. עם זאת, כל יישום מביא את הדרישות שלו של מאפיינים ופונקציונליות הקשורים עם סט ייחודי-ליישום של התקנים היקפיים ורכיבים אחרים. כדי לפשט מימוש של פתרונות ייחודיים-ליישום, ה-K26 SOM מתוכננת להיות תקועה בכרטיס נושא המארח את ההתקנים ההיקפיים. Xilinx‏ מדגימה גישה זו עם ערכת ההתחלה KV260 Vision AI שלה המבוססת על Kria K26.

ערכת התחלה מפשטת פיתוח יישום ראיה

ערכת ההתחלה Xilinx KV260 Vision AI, שכוללת K26 SOM תקועה בלוח נושא ממוקד-ראיה, מספקת ‏פלטפורמה ישר-מן-הקופסה המתוכננת במיוחד עבור הערכה מידית ופיתוח מהיר של יישומי ראיה חכמה. בעוד ה-K26 SOM מספקת את יכולות העיבוד הדרושות, הלוח הנושא של ערכת ההתחלה מספק ניהול הספק, כולל קביעת רצף הדלקה ואיפוס, כמו גם אפשרויות ממשק ומחברים עבור מצלמה, תצוגה וכרטיס microSD‏ (איור 3‏).

תרשים של ערכת התחלה Xilinx KV260 Vision AIאיור 3: ערכת ההתחלה Xilinx KV260 Vision AI מספקת פתרון ראיה חכם שלם תוך שימוש ב-K26 SOM תקועה בלוח נושא ממוקד-ראיה. (מקור תמונה: Xilinx‏)

יחד עם הממשקים המרובים שלו, הלוח הנושא מספק תמיכה במצלמות מרובות באמצעות מחבר ה-Raspberry Pi שלו וזוג מחברי מערכת גישה לתמונה (IAS), כשאחד מהם מקשר אל מעבד חיישן תמונה (ISP‏) ‏‏AP1302 ‏13 מגה-פיקסל (MP) מבית onsemi המסוגל לטפל בכל פונקציות העיבוד תמונה.

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

יישומים מואצים מספקים פתרונות מידיים

לצורך הערכה מידית ופיתוח מהיר של יישומי ראיה מואצת, Xilinx‏ מציעה מספר יישומים בנויים-מראש המדגימים ביצועים של מספר מקרי שימוש נפוצים, כולל גילוי פנים על ידי מצלמה חכמה תוך שימוש בלוגיקה ניתנת-לתכנות שלה, זיהוי ועקיבה אחר הולכי-הרגל, גילוי פגמים ואיתור מילות מפתח מזווגות תוך שימוש במערכת העיבוד של ה-MPSoC. זמינים בחנות היישומים Xilinx Kria, כל היישומים מספקים פתרון שלם עבור מקרה השימוש הספציפי שלהם עם כלים ומשאבים נלווים. לדוגמה, יישום גילוי הפנים של מצלמה חכמה משתמש בחיישן תמונה AR1335 ו-AP1302 ISP מובנים של הכרטיס הנושא KV260 כדי לאסוף תמונות, וביציאת ה-HDMI או ה-DisplayPort‏ (DP) של הכרטיס כדי לתת את התוצאה. עבור עיבוד גילוי פנים, היישום מגדיר את ה-K26 SOM לספק מאיץ צינור מידע (pipeline) ראיה ומנוע הסקת מסקנות למידת מכונה בנוי-מראש עבור גילוי פנים, ספירת בני-אדם ויישומי מצלמה חכמה אחרים (איור 4‏).

תמונה של יישומים מואצים בנויים-מראש בחנות היישומים Xilinx Kria (הקלק להגדלה)איור 4‏: יישומים מואצים בנויים-מראש, שקיימים להורדה מחנות היישומים Xilinx Kria‏, מוכנים להרצה מיידית על ערכת ההתחלה KV260, מספקים פתרונות שלמים עבור מודלים משתמשי ראיה כגון גילוי פנים. (מקור תמונה: Xilinx‏)

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

סביבת פיתוח AI וכלים מאיצים פיתוח התאמה-מיוחדת.

עבור פיתוח התאמה-מיוחדת של יישומים מבוססי AI, סביבת פיתוח Vitis AI של Xilinx מספקת כלים, ספריות ומודלים מוכשרים-מראש ממוטבים שיכולים לשמש כבסיס עבור מודלים מותאמים-מראש מיוחדים יותר. עבור סביבת ההפעלה בזמן ריצה, ערכת פיתוח תוכנה (SDK) משובצת Linux‏ PetaLinux מבוססת-Yocto של Xilinx מספקת את הסט המלא של יכולות הדרושות כדי לבנות, לפתח, לבדוק ולפרוס מערכות Linux משובצות.

מתוכננת עבור מומחים כמו גם מפתחים ללא ניסיון FPGA, סביבת ה-Vitis AI‏ מסירה את הפרטים של חומרת הסיליקון הבסיסית, מאפשרת למפתחים להתמקד בבניית מודלים של ML אפקטיביים יותר. למעשה, סביבת ה-Vitis AI משולבת עם מחסנית קומפיילר לימוד עמוק (deep learning)‏ Apache Tensor Virtual Machine‏ (TVM) מקור-פתוח ומאפשרת למפתחים לקמפל את המודלים שלהם ממסגרות עבודה שונות אל מעבד, GPU או מאיץ. מפתחים המשתמשים ב-‏Vitis AI עם TVM יכולים לשפר את התכנים הקיימים שלהם עם יכולות ראיה מואצות, להסיר ולהעביר עומסי עבודה עתירי-חישוב של ראיה כמו מודלים של לימוד עמוק (deep learning) אל ה-Kria SOM. כדי לסייע למפתחים למטב עוד יותר את המודלים שלהם של לימוד עמוק (deep learning), כלי AI Optimization של Xilinx יכול לקצץ רשתות עצביות (neural networks) כדי להפחית מורכבות במונחים של מספר הג'יגה-פעולות לשניה (Gops), להגדיל מספר פריימים לשניה (fps) ולהפחית מודלים עתירי-פרמטרים, על ידי דחיסתם עד 50x עם השפעה קטנה על דיוק במונחים של ממוצע ממוצעי הדיוק (mean average precision)‏ (mAP) (איור 5‏).

גרף של חקר מקרה Xilinx Research (הקלק להגדלה)איור 5‏: חקר מקרה Xilinx Research מראה כיצד מספר איטרציות של קיצוץ תוך שימוש בכלי Xilinx AI Optimization‏ יכול להפחית במהירות מורכבות רשת עצבית (neural network) במונחים של מספר ג'יגה-פעולות לשניה (Gops), תוך כדי הגדלת פריימים לשניה (fps), הכל עם השפעה מועטה על דיוק. (מקור תמונה: Xilinx‏)

עבור מימוש יישומי ראיה מותאמים-במיוחד, Vitis Vision Libraries מקור-פתוח של Xilinx ממוטבות לביצועים עיליים וניצול משאבים נמוך על פלטפורמות Xilinx ומספקות ממשק מוכר מבוסס על OpenCV. עבור אנליזה, מסגרת היישום Xilinx Video Analytics SDK מסייעת למפתחים לבנות ראיה אפקטיבית יותר וצינור מידע (pipeline) אנליזה של וידאו ללא דרישה לידע עמוק ב-FPGA. מבוססת על מסגרת GStreamer מקור-פתוח המאומצת באופן נרחב, ה-Video Analytics SDK מאפשרת למפתחים ליצור במהירות ליבות (kernels) האצה מותאמות-במיוחד כ-plug-ins של GStreamer עבור אינטגרציה לתוך מסגרת העבודה SDK.

על ידי שימוש בכלים אלה, מפתח משובץ אופייני יכול להרכיב בקלות צינור מידע (pipeline) האצה מותאם-במיוחד עם או בלעדי ליבות (kernels) האצה מותאמות-במיוחד.

מסקנה

אלגוריתמים ML עתירי-חישוב אפשרו שימוש בטכנולוגיית ראיה חכמה ביישומים מרובים הרצים בקצה (Edge)‏, אך מפתחים מתמודדים באתגרים מרובים בעמידה בדרישות של ביצועים עיליים, הספק נמוך ויכולת הסתגלות של מערכות ראיה ממוקמות-קצה (edge-based). פתרון ה-Kria K26 SOM מבית Xilinx‏ מספק את יסודות החומרה עבור האצת אלגוריתמים מתקדמים מבלי לחרוג מתקציבים נוקשים. על ידי שימוש בערכת התחלה מבוססת‏ Kria K26 עם יישומים בנויים-מראש, מפתחים יכולים להתחיל מיידית להעריך יישומי ראיה חכמה ולהשתמש בסביבת פיתוח מקיפה כדי ליצור פתרונות התקן קצה מותאמים-במיוחד.

DigiKey logo

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

אודות כותב זה

Image of Stephen Evanczuk

Stephen Evanczuk

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

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

DigiKey's North American Editors