זיהוי קצוות (Edge Detection) הפך למרכיב קריטי כמעט בכל טכניקות ראיית המחשב המשמשות כיום בתחומי יישום שונים1. זיהוי קצוות הוא שלב של חילוץ מאפיינים האחראי על השגת פרטים אינפורמטיביים ומבחינים מתמונות, שניתן ליישמם במגוון רחב של תרחישים2. קצוות בתוך תמונה מסמנים אזורים שבהם קיים שינוי פתאומי בעוצמה; לכן, הם מספקים מידע חשוב ומבחין על אותה תמונה. תהליך זה מקל על הסרת פרטים מיותרים ולא רלוונטיים, תוך שימור האלמנטים הקריטיים והייחודיים בלבד שניתן לעבד בהמשך עבור היישום הספציפי.
חשיבותה של זיהוי קצוות מודגשת על ידי יישומה במגוון משימות, הכוללות סגמנטציה של תמונות, זיהוי והכרה של אובייקטים, מיצוי מאפיינים, שיפור תמונות, זיהוי אובייקטים, דימות רפואי, מעקב, אוטומציה תעשייתית, נהיגה אוטונומית, מציאות רבדית ורובוטיקה2,3,4,5,6, כפי שמוצג ב-איור 1.
קיימות שיטות מרובות לזיהוי קצוות, כולל Sobel, Prewitt, Roberts, Canny ואחרות. בין טכניקות אלו, זיהוי קצוות בשיטת Sobel בולט בשל יישומו הפשוט, מורכבות מימוש מינימלית ודיוק גבוה בזיהוי קצוות3,4,5,6. הגרדיאנטים של התמונה נקבעים על ידי אלגוריתם Sobel Edge הן בכיוון האופקי והן בכיוון האנכי, תוך שימוש בגרעיני (kernels) Gx ו-Gy בהתאמה, כפי שמוצג להלן2,4.
Gx מדגישה את הקצוות ב- × Gx מדגיש קצוות בכיוון x, ו-Gy מדגיש קצוות בכיוון y12,13כאשר משלבים ביניהם, הם מגדירים באופן מלא את כל הקצוות בתמונה.6תהליך הקונבולוציה (convolution) עם הגרעין (kernel) והחלון הנחלק משמשים להחלת גילוי קצוות בשיטת Sobel על תמונה. בכל פעם נדלף מהתמונה חלון במידות של, נניח, 3 על 3 פיקסלים, וחלון זה עובר קונבולוציה עם מטריצת המסנן כדי לקבל את הערך החדש של הפיקסל המרכזי. התמונה כולה מעובדת שוב באופן זה. בגילוי קצוות בשיטת Sobel נעשה שימוש בשני גרעינים כאלה: אחד לחילוץ קצוות בכיוון ציר ה-x ואחד נוסף לכיוון ציר ה-y. כדי לקבל את כל הקצוות, שתי התוצאות הללו משולבות לאחר מכן. גילוי קצוות בשיטת Sobel מפיק תוצאות מדויקות ואמינות, אותן ניתן לשפר עוד יותר באמצעות עיבוד מקדים.4,5,15זיהוי הקצוות המלא בשיטת Sobel מפורש ב- איור 2.
למרות שכל הספרות המדווחת תורמת תרומה משמעותית לתחום גילוי קצוות (edge detection), כל המחקרים המרכזיים שדווחו התמקדו ברזולוציות תמונה נמוכות, בעוד שהעבודה המוצגת במאמר זה עוסקת ברזולוציות תמונה שונות, החל מתמונות ברזולוציה נמוכה (256 × 256) ועד לרזולוציית תמונה בחדות גבוהה מלאה (HD) (2560 × 1440). כתוצאה מכך, בחינת המימוש החומרתי של אלגוריתם Sobel לגילוי קצוות עבור רזולוציות תמונה שונות היא קריטית להבנת יעילות המימוש כאשר הוא נחשף לתרחישי זמן אמת עם רזולוציות תמונה משתנות. מערכי שערים לוגיים הניתנים לתכנות (FPGA) הוכרו כפלטפורמה מתאימה למימושים חומרתיים, בשל התאמתם לפיתוח אב-טיפוס מהיר ויתרונות כגון יכולת הגדרה מחדש (re-configurability), המאפשרת שינויים קלים בתכנון ללא צורך בשינוי כל תצורת החומרה6,7,8,9,10,11,12,13. יתרה מכך, FPGAs מציעים פוטנציאל לעיבוד מקבילי ועיבוד בצינור (pipelining); ברגע שמדדי הביצועים מותאמים ואופטימליים והפלטפורמה מתוקפת, התכנון יכול להתקדם לעבר ייצור בפועל של מעגלים משולבים ייעודיים (ASICs)14,15. מאפיין חשוב נוסף של FPGA הוא יכולת ההגדרה מחדש שלהם, המאפשרת למתכננים לבצע שינויים בתכנון המוצר בכל עת ללא צורך בהחלפת רכיבי חומרה. תכנות מחדש של השבב הוא כל מה שדרוש, וזה דורש מעט מאוד זמן או מאמץ, בתנאי שהמתכנן בקיא בשפות תיאור חומרה כגון VHDL/Verilog4,6,13,16,17. עבור ניתוח מימוש ה-FPGA, הפרמטרים העיקריים שנשקלים הם מהירות (תדר מקסימלי), ניצול משאבים ויעילות אנרגטית. Table 1 מתאר את הכמות הגוברת של הספרות שפורסמה בתחום ה-FPGA ומראה כיצד פרסומי FPGA התפתחו בתקופה שבין 2006 ל-2024. הוא מסביר בבירור שתחום מחקרי ה-FPGA עבר כעת ליישומים בזמן אמת, מציאות רבוית (augmented reality), מחשוב קצה (edge computing) ויישומים מתקדמים אחרים13,14,15,16,17,18,19,20,21,22,23.
טבלה 2 מדגישה את העבודות שבוצעו בספרות הקיימת בנוגע להטמעת גילוי קצוות Sobel על FPGA בין השנים 2020–2025. טבלה 2 מציינת את לוח ה-FPGA שבו נעשה שימוש, את האלגוריתמים שהוטמעו, את מתודולוגיית התכנון, את הממצאים, את המדדים, את תחום היישום ואת האתגרים של כל מאמר המוזכר.
המחברים4 המליצו להשתמש בשיטת Sobel Edge בעלת 8 כיוונים כדי להגביר את דיוק זיהוי הקצוות, אולם הם דיווחו על צריכת משאבים גבוהה יותר עבור המתודולוגיה המוצעת. Navinkumar et. al. משתמשים בטכניקה להפחתת פעולות מתמטיות מורכבות של כפל ושורש ריבועי הכרוכות בזיהוי קצוות מסוג Sobel המסורתי, ובכך חוסכים במשאבי המערכת ומשפרים את המהירות9. המחברים17 תיעדו את השימוש באלגוריתם Sobel Edge Detection לזיהוי נתיבים במערכות עזר מתקדמות לנהג (Advanced Driver Assistance Systems). מטרתם הייתה להאיץ את הזיהוי תוך קיצור זמן העיבוד. באופן כללי, השימוש בזיהוי קצוות הוצע כשיטה מהימנה להפקת אזור עניין (region of interest extraction) בעתיד, מה שעשוי לסייע רבות במגוון יישומים שבהם יש צורך להוציא את האזור הרלוונטי בתמונה תוך התעלמות ממידע מיותר אחר. האתגרים שדווחו באופן קולקטיבי כללו ניצול משאבים וזיכרון גבוה יותר, רגישות לרעש, עלות חישובית גבוהה ויכולת התרחבות מוגבלת עבור תמונות ברזולוציה גבוהה4,5,6,11,12,13,21,22,23.
בעבודה זו, מימוש של אלגוריתם Sobel המסורתי לזיהוי קצוות בוצע על גבי לוח FPGA מסוג Ultra96-V2, עבור רזולוציות תמונה שונות הנעות מרזולוציה נמוכה של 256 × 256 ועד לרזולוציית Full HD של 2560 × 1440. ה-Ultra96-V2 הוא לוח המשלב יכולות תכנות של FPGA עם עיבוד Arm עוצמתי (Cortex-A53/R5) עבור יישומים בעלי ביצועים גבוהים. לוח זה שוחרר לראשונה בשנת 2018, והוא משתמש בצומת טכנולוגי של 16 nm FinFET18.
כדי להבטיח הדירות, כל המימוש בוצע באמצעות שרשרת כלים סטנדרטית המורכבת מ-Vivado HLS 2019.2 עבור סינתזה ברמה גבוהה (HLS) ו-Vivado 2019.2 עבור מיקום וניתוב (place-and-route), וכן את תמונת ה-PYNQ ששוחררה על ידי משאבי Ultra96-V2. קוד ה-HLS שימש לגזירת ה-IP (קניין רוחני) של זיהוי קצוות Sobel, אשר יוצא ושולב בחליפת התכנונים של Vivado. ה- IP מומש בחלק ה-PL (לוגיקה ניתנת לתכנות), וחלק ה-PS (מערכת עיבוד) של ה-FPGA היה אחראי על העברת נתונים ומנגנוני בקרה. הממשק בין ה-PS ל-PL בוצע באמצעות פרוטוקול AXI. כל המדדים המדווחים — תדר, ניצול משאבים והספק — נלקחו מדוחות לאחר מימוש, ולא מהערכות HLS. הגדרות המימוש נשארן עקביות, ורק רזולוציות התמונות שונו לאורך הניסויים.
ההישגים המשמעותיים של עבודה זו הם במונחים של צריכת חשמל נמוכה, ניצול משאבים נמוך ומהירות גבוהה. התוצאות מעידות על ניצול של פחות מ-20% ממשאבי המערכת onboard (18% טבלאות חיפוש (LUTs), 11% פליפ-פלופים (FF), 3% זיכרון, ו-10% DSP) עבור תמונות ברזולוציה גבוהה, דבר המצביע על פוטנציאל רב לשילוב עיבוד נרחב יותר של תמונות אלו, כפי שצפוי בכל מערכת ראייה ממוחשבת, שכן גילוי קצוות הוא רק שלב ביניים. כמו כן, התפזורת ההספקית היא כמעט 2 W, ותדר הפעולה המקסימלי המדווח הוא 144 MHz. התוצאות מראות כי הגדלת גודל התמונות פי 56 כמעט מעלה את ניצול המשאבים בכ-20% בלבד. גם המהירות והתפזורת ההספקית נפגעות בכ-20% בלבד. ניתוח זה בוחן באופן משמעותי את האלגוריתם מנקודת מבט שונה, שלא דווחה בספרות קודמת, ולפיכך מעיד כי המימוש מתאים ליישומים בזמן אמת ללא צורך להגביל את התמונות לגדלים קטנים או לרזולוציה נמוכה, דבר שפוגע ללא ספק בכמות המידע הדרושה בשלבים הבאים לאחר גילוי הקצוות.
החידוש בעבודה זו אינו טמון באלגוריתם עצמו, אלא במיקוד בהערכת הביצועים של אלגוריתם זיהוי הקצוות המסורתי של Sobel ברזולוציות תמונה שונות על ארכיטקטורות FPGA הטרוגניות מודרניות, תוך ניצול היתרונות של טכניקות מימוש מבוססות HLS. התרומות המרכזיות של מאמר זה הן בעיקר ביישום של מתודולוגיה היברידית הממומשת על FPGA, המפיצה ביעילות את עומס העבודה בין חלקי ה-PS וה-PL של הארכיטקטורה כדי לאפשר לתכנון להסתגל ללא מאמץ לרזולוציות שונות. תרומה נוספת כוללת ניסויים להערכת האופן שבו סקלינג של משאבים משתנה עם שינויים ברזולוציות התמונה, דבר המסייע בהבנת הביצועים במערכים שונים ועבור יישומים מגוונים.