כיצד לתכנן ולפרוס במהירות מערכות ראיית מכונה חכמות
באדיבות ‎DigiKey's North American Editors
2022-08-31
הצורך בראיית מכונה גדל לרוחב מגוון יישומים כולל אבטחה, תנועה ומצלמות עירוניות, ניתוח קמעונאי, ביקורת אוטומטית, בקרת תהליכים ורובוטיקה מונחית-ראיה. ראיית מכונה היא מורכבת למימוש ודורשת את האינטגרציה של טכנולוגיות ותת--מערכות מגוונות, כולל חומרה בעלת ביצועים-עיליים ותוכנת בינה מלאכותית/למידת מכונה (AI/ML) מתקדמת. זה מתחיל עם מיטוב טכנולוגיית הלכידה של וידאו ו-I/O ראיה כדי לעמוד בצרכי היישום, ומתרחב לאמצעי העברה של עיבוד תמונה עבור קישוריות יעילה. בסופו של דבר זה תלוי באפשור מערכת ראיה-משובצת לבצע ניתוח מבוסס-ראיה בזמן-אמת תוך שימוש בחומרה בעלת ביצועים עיליים כגון מערכי שער ניתנים לתכנות בשדה (FPGAs), מערכות במודול (SOMs), מערכות על שבב (SoCs) ואפילו מערכות מרובות-מעבדים על שבב (MPSoCs) כדי להריץ את תוכנת הזיהוי ועיבוד התמונה AI/ML. זה יכול להיות תהליך מורכב, יקר וגוזל-זמן החשוף למספר גדול של הזדמנויות לחרוג בעלויות ולהשהיות בלוח זמנים.
במקום להתחיל מאפס, מתכננים יכולים לפנות לפלטפורמת פיתוח ביצועים-עיליים אצורה-היטב המקצרת את זמן היציאה לשוק, מבקרת עלויות ומקטינה סכנות פיתוח תוך תמיכה בדרגות גבוהות של גמישות וביצועי יישום. פלטפורמת פיתוח מבוססת SOM יכולה לספק סביבת חומרה ותוכנה משולבת, לאפשר למפתחים להתמקד בהתאמה-מיוחדת של היישום ולחסוך עד תשעה חודשים של זמן פיתוח. בנוסף לסביבת הפיתוח, אותה ארכיטקטורת SOM זמינה בתצורות ממוטבות-יצור עבור סביבות מסחריות ותעשייתיות, משפרת אמינות ואיכות יישום, מפחיתה עוד יותר סיכונים ומזרזת זמן יציאה לשוק.
מאמר זה מתחיל בסקירת האתגרים הקשורים לפיתוח מערכות ראיית מכונה ביצועים-עיליים, אחר כך מציג את סביבת הפיתוח המקיפה המוצעת על ידי ערכת האתחול Kria KV260 vision AI מבית AMD Xilinx, ומסיים עם דוגמאות של מערכות SOM מוכנות-יצור מבוססות על פלטפורמת ה-Kira 26 המתוכננות להיות תקועות בכרטיס נושא עם רכיבים היקפיים יחודיים-לפתרון.
זה מתחיל עם מיטוב סוג נתונים
עולה הצורך באלגוריתמים של למידה עמוקה. לא כל יישום צריך חישובים מדויקים. משתמשים בסוגי נתונים בעלי דיוק נמוך יותר כמו INT8, או תבניות נתונים מותאמות-במיוחד. מערכות מבוססות-GPU יכולות להיות מאותגרות על ידי הנסיון לשנות ארכיטקטורות ממוטבות עבור נתוני דיוק-גבוה להתאים לתבניות נתוני דיוק-נמוך-יותר באופן יעיל. ה-Kria K26 SOM ניתנת להגדרת תצורה מחדש, בכך מאפשרים לה לתמוך במגוון רחב של סוגי נתונים מ-FP32 עד INT8, ואחרים. אפשרות הגדרת-תצורה מחדש, באופן כללי, מביאה גם לצריכת אנרגיה נמוכה יותר. לדוגמה, פעולות ממוטבות במיוחד עבור INT8 צורכות פחות אנרגיה בסדר גודל בהשוואה לפעולת FP32 (איור 1).
איור 1: אנרגיה פחותה בסדר גודל נדרשת עבור פעולות INT8 (8b Add) בהשוואה לפעולות FP32 (32b Add). (מקור תמונה: AMD Xilinx)
ארכיטקטורה אופטימלית עבור צריכת הספק מינימלית
תכנים ממומשים המבוססים על ארכיטקטורת GPU או CPU מרובת-ליבות יכולים להיות רעבי-הספק לפי תבניות צריכת הספק אופיניות:
- %30 עבור הליבות
- %30 עבור הזיכרון הפנימי (L1, L2, L3)
- %40 עבור הזיכרון החיצוני (כגון DDR)
גישות תכופות לזיכרון DDR בלתי יעיל נדרשות על ידי יחידות GPU כדי לתמוך ביכולת תכנות ויכולות להיות צוואר בקבוק לדרישות חישוב רוחב-פס גבוה. ארכיטקטורת ה-Zynq MPSoC המשמשת ב-Kria K26 SOM תומכת בפיתוח של יישומים עם גישה מועטה או ללא גישה בכלל לזיכרון חיצוני. לדוגמה, ביישום רכב אופייני, תקשורת בין ה-GPU ומודולים שונים דורשת גישות מרובות אל זיכרון DDR חיצוני, בעוד הפיתרון על בסיס Zynq MPSoC כולל צנרת (pipeline) המתוכננת למנוע את מרבית הגישות אל DDR (איור 2).
איור 2: ביישום רכב אופייני זה, יחידת ה-GPU דורשת גישות מרובות אל זיכרון DDR עבור תקשורת בין המודולים השונים (שמאל), בעוד ארכיטקטורת הצנרת (pipeline) של ה-Zynq MPSoC (ימין) מונעת את מרבית הגישות אל DDR. (מקור תמונה: AMD Xilinx)
קיצוץ (Pruning) ממנף את היתרונות
ניתן לשפר את הביצועים של רשתות נוירוניות ב-K26 SOM על ידי שימוש בכלי אופטימיזציה AI המאפשר אופטימיזציית נתונים וקיצוץ (Pruning). מקובל ביותר שרשתות נוירוניות הן בעלות יותר מדי פרמטרים, דבר שמוביל לרמות גבוהות של יתירות הניתנות לאופטימיזציה על ידי קיצוץ נתונים ודחיסת מודל. שימוש ב-AI Optimizer של Xilinx יכול להביא להפחתה 50x במורכבות מודל, עם השפעה נומינלית על דיוק מודל. לדוגמה, גלאי single-shot (SSD) וארכיטקטורת VGG convolution neural net (CNN) עם 117 ג'יגה פעולות (Gops) עודן ב-11 איטרציות של קיצוץ על ידי שימוש ב-AI Optimizer. לפני אופטימיזציה, המודל רץ 18 חלונות (Frames) לשנייה (FPS) על Zynq UltraScale+ MPSoC. לאחר 11 איטרציות—הריצה ה-12 של המודל—המורכבות פחתה מ-117 Gops ל-11.6 Gops (10X), הביצועים גדלו מ-18 ל-103 FPS (5X), והדיוק ירד מ-61.55 ממוצע ממוצעי דיוק (mAP) עבור גילוי אובייקט ל-60.4 mAP (נמוך ב-1% בלבד) (איור 3).
איור 3: אחרי יחסית מספר איטרציות, קיצוץ יכול להפחית מורכבות מודל (Gop) פי 10 ולשפר ביצועים (FPS) פי 5, עם ירידה בדיוק (mAP) של 1% בלבד. (מקור תמונה: AMD Xilinx)
דוגמת יישום מהעולם-האמיתי
יישום למידת מכונה עבור גילוי וזיהוי לוחית רישוי מכונית, שגם נקרא זיהוי לוח מספר רכב (ANPR), פותח על בסיס תוכנת ניתוח ראיה מבית Uncanny VISION. ה-ANPR משמש במערכות אגרה אוטומטיות, ניטור כבישים מהירים, גישה לשערים מאובטחים ולמגרשי חניה, ויישומים אחרים. יישום ANPR זה כולל צנרת (pipeline) מבוססת AI המפענחת את הסרטון ומעבדת את התמונה, ולאחר מכן מתבצע גילוי ML וזיהוי תווי OCR (איור 4).
איור 4: תזרים עיבוד תמונה אופייני עבור יישום ANPR מבוסס-AI. (מקור תמונה: AMD Xilinx)
מימוש ANPR דורש אחד או יותר H.264 או H.265 הזנות תזרים פרוטוקול זמן-אמת (RTSP) מקודדות שמפוענחות. חלונות (frames) הסרטון המפוענחים עוברים התאמת גודל (scaled), מקוצצים (cropped), מוחלפים מרחב צבעים ומנורמלים (קדם-מעובדים), אחר כך נשלחים לאלגוריתם הגילוי ML. מימושי ANPR ביצועים-עיליים דורשים צנרת (Pipeline) AI מרובת-דרגות. הדרגה הראשונה מגלה וממקמת את כלי-הרכב בתמונה, יוצרת את אזור הענין (ROI). במקביל, אלגוריתמים אחרים ממטבים את איכות התמונה לשימוש עוקב על ידי אלגוריתם זיהוי תווי OCR ועוקבים אחר תנועת כלי-הרכב לרוחב חלונות (Frames) מרובים. ה-ROI של כלי-הרכב עובר קיצוץ נוסף (cropped) כדי לקבל את ROI לוח מספר הרכב, שמעובד על ידי אלגוריתם ה-OCR כדי לקבוע את תווי לוח מספר הרכב. בהשוואה עם מערכות SOM מסחריות אחרות מבוססות על יחידות GPU או CPU, יישום ה-ANPR של Uncanny Vision רץ פי 2 עד פי 3 מהר יותר על ה-Kira KV260 SOM, עולה פחות מ-$100 להזנת RTSP.
סביבת פיתוח ראיה חכמה
מתכננים של יישומי ראיה חכמה כמו מצלמות עירוניות ותנועה, ניתוח קמעונאי, אבטחה, אוטומציה תעשייתית ורובוטיקה יכולים לפנות אל סביבת הפיתוח Kria K26 SOM AI Starter. סביבה זו בנויה תוך שימוש בארכיטקטורת ה-Zynq® UltraScale+™ MPSoC והיא בעלת ספריה הולכת וגדלה של חבילות תוכנת יישום אצורות (איור 5). ה-AI Starter SOM כוללת מעבד ארבע-ליבות Arm Cortex-A53, מעל 250 אלף תאים לוגיים ומקודד/מפענח וידאו H.264/265. מערכת ה-SOM היא גם בעלת GB 4 זיכרון DDR4, 245 כניסות/יציאות ו-1.4 tera-ops של חישובי AI כדי לתמוך ביצירת יישומי vision AI ביצועים-עיליים המציעים ביצועים גבוהים יותר ביותר מפי 3, עם שיהוי והספק נמוכים יותר בהשוואה לגישות חומרה אחרות. היישומים הבנוים-מראש מאפשרים לתכנים ראשוניים לרוץ בפחות משעה.
איור 5: ערכת ההתחלה Kria KV260 vision AI היא סביבת פיתוח מקיפה עבור יישומי ראיית מכונה. (מקור תמונה: AMD Xilinx)
כדי לעזור בהתנעת תהליך הפיתוח תוך שימוש ב-Kria K26 SOM, AMD Xilinx מציעה את ערכת ההתחלה KV260 vision AI הכוללת מתאם אספקת-כוח, כבל Ethernet, כרטיס microSD, כבל USB, כבל HDMI ומודול מצלמה (איור 6). אם אין צורך בערכת התחלה שלמה, מפתחים יכולים לרכוש פשוט את מתאם אספקת-הכוח האופציונלי כדי להתחיל להשתמש ב-Kira K26 SOM.
איור 6: ערכת ההתחלה KV260 vision AI כוללת: (שורה עליונה, משמאל לימין) ספק-כוח, כבל Ethernet, כרטיס microSD, ו-(שורה תחתונה, משמאל לימין) כבל USB, כבל HDMI ומודול מצלמה. (תמונה: AMD Xilinx)
גורם נוסף המזרז פיתוח הוא המערך המקיף של המאפיינים, כולל שפע של כניסות/יציאות single-ended והפרשיות 1.8 V, 3.3 V עם ארבעה מקמ"שים 6 Gb/s וארבעה מקמ"שים 12.5 Gb/s. מאפיינים אלו מאפשרים את הפיתוח של יישומים עם מספר גבוה יותר של חיישני תמונה ל-SOM ווריאציות רבות של ממשקי חיישן כגון MIPI, LVDS, SLVS ו-SLVS-EC, שלא תמיד נתמכים על ידי מוצרים סטנדרטיים ספציפיים-ליישום (ASSPs) או יחידות GPU. מפתחים יכולים גם לממש DisplayPort, HDMI, PCIe, USB2.0/3.0 וסטנדרטים מוגדרים-משתמש עם הלוגיקה המשובצת הניתנת-לתכנות.
לבסוף, הפיתוח של יישומי AI הפך לפשוט יותר ונגיש יותר על ידי זיווג יכולות החומרה הנרחבות וסביבת התוכנה של ה-K26 SOM עם יישומי ראיה מוכנים ליצור. יישומי ראיה אלו ניתנים למימוש ללא דרישת תכנון של חומרת FPGA ומאפשרים למפתחי תוכנה לשלב במהירות מודלים של AI מותאמים-במיוחד וקוד יישום, ואפילו לשנות את צנרת הראיה. פלטפורמת פיתוח תוכנה מאוחדת Vitis וספריות מבית Xilinx תומכות בסביבות תכנון נפוצות, כמו מסגרות עבודה TensorFlow, PyTorch ו-Café, כמו גם שפות תכנות מרובות כולל C, ++C, ™OpenCL ו-Python. ישנה גם חנות אפליקציות משובצת עבור יישומי קצה תוך שימוש במערכות Kria SOM מבית Xilinx ושותפיה למערכת האקולוגית. ההצעות של Xilinx הן חינמיות ומקור-פתוח וכוללות מעקב מצלמה חכמה וזיהוי פנים, עיבוד שפה טבעית עם ראיה חכמה, ועוד.
מערכות Kira 26 SOM ממוטבות יצור
עם השלמת תהליך הפיתוח, זמינות גרסאות מוכנות-יצור של ה-K26 SOM המתוכננות להיות תקועות בכרטיס נושא עם רכיבים היקפיים מיוחדים-לפתרון, שיכולות לזרז את המעבר ליצור (איור 7) . ה-K26 SOM הבסיסית היא יחידה בדרגה מסחרית עם דרוג טמפרטורה של 0°C עד 85°C+ טמפרטורת צומת, כפי שנמדד על ידי חיישן הטמפרטורה הפנימי. זמינה גם גרסה בדרגה תעשייתית של ה-K26 SOM המדורגת לעבוד מ-40°C- עד 100°C+.
השוק התעשייתי דורש חי עבודה ארוכים בתנאי סביבה קשים. ה-Kria SOM בדרגה-תעשייתית מתוכננת לעבודה של עשר שנים בטמפרטורת צומת של 100°C ולחות יחסית של 80% ולעמוד בזעזועים של עד 40 g ורעידות של 5 g שורש ממוצע הריבועים (RMS). היא גם מסופקת עם זמינות יצור מינימלית של עשר שנים כדי לתמוך במחזורים של חי מוצר ארוכים.
איור 7: מערכות Kira 26 SOM ממוטבות-יצור עבור סביבות תעשייתיות ומסחריות הן מתוכננות להיות תקועות בכרטיס נושא עם רכיבים היקפיים מיוחדים-לפתרון. (תמונה: DigiKey)
סיכום
מתכננים של יישומי ראיית מכונה כגון אבטחה, תנועה ומצלמות עירוניות, ניתוח קמעונאי, ביקורת אוטומטית, בקרת תהליכים ורובוטיקה מונחית-ראיה יכולים לפנות אל Kria K26 SOM AI Starter כדי לזרז זמן יציאה לשוק, לסייע בבקרת עלויות ולהקטין סיכוני פיתוח. פלטפורמת פיתוח מבוססת-SOM זו היא סביבת חומרה ותוכנה משולבת, מאפשרת למפתחים להתמקד בהתאמה-מיוחדת של היישום ולחסוך עד תשעה חודשים של זמן פיתוח. אותה ארכיטקטורת SOM זמינה בתצורות ממוטבות-יצור עבור סביבות מסחריות ותעשייתיות, דבר המזרז עוד יותר את זמן היציאה לשוק. הגרסה התעשייתית היא בעלת זמינות יצור מינימלית של עשר שנים כדי לתמוך במחזורים של חי מוצר ארוכים.

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