Method Article

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

DOI:

10.3791/70292

June 12th, 2026

* These authors contributed equally

In This Article

Summary

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

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

Abstract

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

נהיגה אוטונומית מציעה דרך מבטיחה להתמודד עם העלייה במספר ההרוגים מתאונות דרכים. רכב אוטונומי כולל תכונות רבות, אך היכולת לזהות הולכי רגל היא קריטית, מאתגרת ורלוונטית למצבים בזמן אמת כמו מעקב, מעקב אחרי אנשים ומעקב. זיהוי מדויק של הולכי רגל הוא קשה כי הם יכולים להופיע בצורות, תנוחות ותנוחות שונות. הם יכולים ללבוש סוגים שונים של בגדים ולעיתים מוסתרים חלקית או משתלבים עם חפצים סמוכים. מאמר זה מתמקד בזיהוי בזמן אמת של הולכי רגל עבור רכבים אוטונומיים באמצעות פלטפורמת חומרה פופולרית: מערך שערים מתוכנת שדה (FPGA), Ultra 96 v2. המחקר מיישם שיטה לזיהוי הולכי רגל המבוססת על היסטוגרמה של גרדיאנטים מכוונים (HOG) בשילוב מסווג מכונת וקטור תמיכה (SVM) לזיהוי פרטים בלוח FPGA, תוך ניצול כלי סינתזה ברמה גבוהה (HLS). יעילות המערכת נבדקה הן בתמונות סטילס והן בווידאו חי. התוצאות מראות שלוחות FPGA מתקדמים כמו Ultra 96 v2 משפרים משמעותית את מדדי הביצועים. המערכת פועלת בתדר שעון של 150 מגה-הרץ, תוך שימוש בפחות ממחצית מהמשאבים הזמינים וצריכת כ-2.5 וואט של חשמל. כמו כן, המערכת מדווחת על דיוק זיהוי הולכי רגל קרוב ל-95% ומדדים יעילים נוספים להערכת גילוי, כמו דיוק (78.6%), קריאה (88.3%) וציון F1 (83.1%). לסיכום, המערכת המפותחת יכולה לזהות הולכי רגל בזמן אמת ויש לה פוטנציאל לשפר משמעותית פיתוח סביבה תחבורתית חכמה ובטוחה.

Introduction

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

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

מבין כל התכונות המשולבות ברכב אוטונומי, אחת החשובות ביותר היא זיהוי הולכי רגל. מערכת זיהוי הולכי רגל חזקה יכולה לסייע משמעותית בהפחתת מספר ההרוגים בתאונות דרכים ב-5,6,7,8, שכן רוב הנפגעים בתאונות אלו הם הולכי רגל. זיהוי הולכי רגל כולל זיהוי אנשים בכביש ומניעת התנגשות איתם. תכונה זו לא מועילה רק לרכבים אוטונומיים, אלא גם לתחומים נוספים כמו ניטור קהל, זיהוי אדם ומעקב 9,10,11. ההיבט המרכזי בתהליך הגילוי הזה הוא המהירות והדיוק של הגילוי. חשוב לזהות הולכי רגל בדיוק ומהיר, כדי שזמן התגובה יהיה מינימלי. יש אתגר עצום שמציב גילוי הולכי רגל. הולכי רגל על הכביש יכולים להיות בכל בגדים, מראה או יציבה, ועלולים להיות בלתי נראים עקב מזג אוויר גרוע או חסימה 10,11,12,13,14. יתרה מזאת, ייתכן מאוד שהולכי רגל לא יפעלו לפי הכללים בעצמם, ואי אפשר לשלוט בטבע האדם, ולכן הגישה הטובה ביותר היא לצייד את הרכב באינטליגנציה כדי להתמודד עם כל פעולה לא נכונה ולמנוע מקרי מוות. הזרימה המלאה של העבודה במחקר זה והמוטיבציה מאחורי יישום החומרה של זיהוי הולכי רגל ניתנים להבנה בקלות מאיור 1 למטה, שמסביר את הצורך בזיהוי הולכי רגל, תחומי היישום השונים שלו, האתגרים הכרוכים בכך, והיישום ב-FPGA כדי לנצל את היתרונות המוצעים.

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

כדי לזהות הולכי רגל בכביש, קיימים אלגוריתמים רבים. המשימה הכוללת הזו ניתנת לחלוקה בעיקר לשתי תת-משימות עיקריות: השלב הראשוני מחלץ תכונות מתמונת קלט, תוך שמירה רק על אלו המשמעותיות שמעבירותן מידע רלוונטי, תוך התעלמות מהמיותרות. לזיהוי יעיל של בני אדם או הולכי רגל בתמונה, חיוני שתכונות אלו יצייטו על נוכחות דמות אנושית בסצנה13,14. לאחר חילוץ זה, יש לשלוח את התכונות למסווג שיכול לקבוע האם התכונות שזוהו תואמות לאדם. לכן, האלגוריתם דורש שלב חילוץ תכונות ותיאור, ואחריו שלב סיווג לקביעת נוכחות הולכי הרגל בסצנת הקלט. קיימים אלגוריתמים שונים למטרה זו. עם זאת, השיטה המקובלת ביותר עד כה לזיהוי הולכי רגל היא השילוב של היסטוגרמה של שיפועים מכוונים (HoG) עם מסווג מכונת וקטור התמיכה (SVM) 12,13,14,15. קיימות דוגמאות רבות להתקדמות תוכנה, אך בסופו של דבר המטרה היא להעביר את היישום לפלטפורמת חומרה תואמת, שניתן לשלב אותה במערכת היישום לשימוש בזמן אמת. לכן, הדגש הנוכחי הוא על מימוש חומרה. לכן ניתן לומר שיש לפתח יישום חומרתי מתאים של מערכות זיהוי הולכי רגל, שבו מצלמות המצוידות בחומרה מתאימה יוכלו להציב על כלי רכב ולזהות הולכי רגל בכביש. כאשר בוחנים איזו חומרה מתאימה ליישומים כאלה, אחת האפשרויות הנפוצות ביותר היא מערך שערים מתוכנת בשדה (FPGA) בשל יתרונותיו הרבים, כולל זמן תכנון קצר, יכולת הרחבה, קלות שינויים, יכולת תצורה מחדש, וצריכת אנרגיה ואנרגיה נמוכה יותר 15,16,17,18,19,20,21,22.

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

למעלה מעשור פורסמו פרסומים משמעותיים המבוססים על יישום זיהוי הולכי רגל באמצעות שיטת HoG ו-SVM בפלטפורמות FPGA שונות. טבלה 1 מסכמת את המאמרים בתחום זה בתקופה שבין 2015 ל-2025: 15,16,17,18,19,20,21,22,23,24, ומתמקדת בגורמים המרכזיים כמו רזולוציית התמונה, קצב התפוקה, או הפריימים לשנייה (FPS), סוג המסווג, והדגשים המרכזיים או התרומות של נייר.

מקורפלטפורמת FPGAרזולוציית תמונהמסווגהדגשים / תרומות מרכזיות
15זילינקס זינק640×480AdaBoostיישום FPGA בזמן אמת; יעילות משאבים; משתמש בבינריזציה לאופטימיזציה; דיוק זיהוי טוב.
16לוח DE1-SOC של טראסיק640×480SVMמחלץ HOG בעל ביצועים גבוהים; אינטגרציה של SVM; גילוי בקנה מידה יחיד; צינור עם השהיה נמוכה.
17אלטרה DE2-115640×480AdaBoostמעריך ביצועים מנקודות מבט שונות; מימוש FPGA של HOG+AdaBoost; זיהוי הולכי רגל בזמן אמת.
18אינטל סטרטיקס V640×480SVMזיהוי הולכי רגל בקנה מידה רב; צינור HOG+SVM הידידותי ל-FPGA; מדגיש את הפשרות בין דיוק ליעילות חומרה.
19Zynq UltraScale+ MPSoC3840×2160SVMעיבוד UHD בזמן אמת; HOG+SVM בצינור צינור; יישום SoC FPGA; אופטימיזציה בנקודה קבועה; ארכיטקטורה ניתנת להרחבה.
20לא צויןלא צויןSVMמשיג >95% דיוק גילוי; יישום FPGA בזמן אמת; מנצל מקביליות; עיצוב FPGA מפורט של HOG+SVM לזיהוי הולכי רגל.
21Zync 7000 FPGA1920×1080SVMארכיטקטורת זרמים בתפוקה גבוהה עבור HOG+SVM; תומך ברזולוציית HD; צינור יעיל להאצת FPGA.
22אולטרה-96 (גרסה 1)240×320SVMיישום FPGA באמצעות HLS; מזהה רמזורים אדומים; מחשב הסתברויות ב-891 אזורים; ההשהיה נעה בין 153,838 ל-19 מחזורים.
23Xilinx Zynq-7000 FPGA640 × 480HOG + SVMיישמו זיהוי הולכי רגל באמצעות HOG-SVM ב-FPGA, והשיגו ביצועים בזמן אמת עם צריכת חשמל מופחתת בהשוואה לעיבוד מעבד. הדגים צינור חילוץ תכונות אופטימלי המתאים ליישומי ראייה משובצת.
24Xilinx Virtex-6 FPGA640 × 480גלאי עצמים בנקודה קבועה (תכונות דמויות האר)הצעת האצת FPGA בתפוקה גבוהה לזיהוי עצמים באמצעות חשבון נקודה קבועה, תוך הפחתת עלות חישובית תוך שמירה על דיוק. הראה האצה של 15× לעומת מימושי CPU עם ניצול יעיל של משאבי חומרה.

טבלה 1: סקירת ספרות של מחקר המבוסס על זיהוי הולכי רגל ב-FPGA (2015–2025).

טבלה 1 מסכמת כי קיימת ספרות נרחבת בתחום גילוי הולכי רגל, ויישום חומרה הוא תחום העניין של החוקרים. ברור גם שיש טכניקות מתקדמות של למידה עמוקה ולמידת מכונה, כגון גלאים מבוססי רשתות עצביות קונבולוציונליות (CNNs) כמו YOLO, ארכיטקטורות מבוססות טרנספורמרים ועוד, למטרת זיהוי הולכי רגל. הם אף עולים על האלגוריתם המסורתי של HoG מבחינת דיוק, אך כאשר בוחנים יישום חומרה, האלגוריתמים המתקדמים מובילים לניצול משאבים עצום23,24 בשל המורכבות של האלגוריתם, מה שעשוי להשפיע גם על פרמטרי ביצועים אחרים, ונצפה שבגלל המורכבויות הנוספות המהירות מעט טובה יותר במקרה של אלגוריתם HoG המסורתי 24. 25. נצפה גם כי הטכניקות המתקדמות צורכות יותר חשמל כאשר הן מיושמות על חומרה24,26. לפיכך, מטרת העבודה המיושמת במאמר זה היא לבצע זיהוי הולכי רגל באמצעות מסגרת HoG ו-SVM המסורתית על חומרת FPGA ולהשיג שוורת דיוק, מהירות, משאב ועוצמה נוחים להטמעה בזמן אמת. מטבלה 1 ברור היטב שכאשר מנתחים את העבודה מבוססת HoG ו-SVM, נצפה כי ישנם פרסומים מוגבלים שהשתמשו לאחרונה בלוח פיתוח FPGA27 המבוסס על Zynq UltraScale+ MPSoC (Multi-Processor System On Chip) כדי לבחון את יכולות הלוחות הללו, שכן מבחינת הארכיטקטורה הלוחות הללו התפתחו, ומציעים פוטנציאל רב מבחינת יישום מתקדם לראיית מחשב בזמן אמת. ישנם פרסומים מוגבלים שמימשו את כל מערכת זיהוי הולכי הרגל בזמן אמת על לוחות FPGA. עם זאת, הם התמקדו ביישום יעיל או שיפור של המשימות הבינוניות. יתרה מזאת, רוב המימושים הללו מבוססים על מימוש כל המערכת על לוח FPGA באמצעות שפות תיאור חומרה. מעטים ניצלו את היתרונות של כלי סינתזה ברמה גבוהה (HLS) כדי להאיץ את מחזור התכנון. מאמר זה מדגים את העיצוב והיישום של זיהוי הולכי רגל בזמן אמת על לוח FPGA המוקדש ליישום נהיגה אוטונומית. המאמר עושה שימוש במסגרת HoG ו-SVM לצורך זיהוי הולכי רגל בתמונות סטילס, וידאו או קלט מצלמה אמיתי. החומרה שבה נעשה שימוש היא לוח FPGA חדשני שיצא לאחרונה, Ultra96 v2, שהוא ארכיטקטורת FPGA מתקדמת ומהווה פלטפורמה עוצמתית לראיית מחשב, עיבוד תמונה, למידת מכונה, מחשוב קצה ועוד. ה-Ultra96 v2 הוא לוח פיתוח הכולל מערכת AMD Xilinx Zynq UltraScale+ MPSoC27 מבוססת Arm. לוח זה כולל את מקטע מערכת העיבוד (PS), המורכב מליבות מעבד מבוססות ARM שמנהלות את היבטי התוכנה של הפרויקט, ואת מקטע הלוגיקה המתוכנתת (PL) שמאפשר האצת חומרה מותאמת אישית 20,21,22. יחד, רכיבים אלו משפרים את הפונקציונליות של מערכת היברידית, שבה חלק ה-PS מנהל שליטה ואינטראקציה עם רכיבים חיצוניים, בעוד שחלק ה-PL מטפל בלוגיקת העיבוד עצמה.

Access restricted. Please log in or start a trial to view this content.

Protocol

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

הליך היישום במחקר זה, המבוסס על זיהוי הולכי רגל עם HoG + SVM על לוח FPGA, תוך ניצול היתרונות של סינתזה ברמה גבוהה, מוצג באיור 2 למטה.

איור 2
איור 2: הליך תכנון ליישום זיהוי הולכי רגל על לוח FPGA. שלב 1: אלגוריתם זיהוי הולכי רגל באמצעות HoG+SVM בכלי HLS ויצירת בלוק IP. שלב 2: אלגוריתם זיהוי הולכי רגל המשתמש ב-HoG+SVM ליישום FPGA בפועל ויצירת קובץ הסיביות. שלב 3: תכנות הלוח עם קובץ הביט שנוצר. אנא לחצו כאן כדי לצפות בגרסה מוגדלת של הדמות הזו.

1. זיהוי הולכי רגל באמצעות HoG ו-SVM בכלי HLS

  1. הורד את סביבת הפיתוח המשולבת של פייתון (IDE) בהתאם למאפייני המערכת שעליהם מתבצעת ההורדה.
    הערה: בעבודה זו נעשה שימוש בגרסת פייתון 3.10.
  2. הרצת סקריפט פייתון להרצת מודל אימון באמצעות אלגוריתם HoG ומסווג SVM. התחל את הסקריפט בטעינת הדגימות החיוביות והשליליות ממאגר הנתונים.
    הערה: השתמש במאגר הנתונים INRIA11.
  3. חלץ את תכונות HoG עבור גודל חלון של 64 על 128.
  4. חלק את נתוני האימון והבדיקות ממאגר הנתונים של INRIA ליחס של 80/20 עם ערבוב אקראי לצורך שחזוריות.
    הערה: מערך הנתונים מתערבב באקראי באמצעות פונקציית פייתון לפני חלוקת הנתונים. כדי להבטיח שחזוריות כך שאותו פיצול יתבצע בכל פעם שערך זרע נקבע בקוד.
  5. לאמן באמצעות סיווג וקטורי תמיכה C (SVC) SVM עם גרעין ליניארי.
  6. חלץ את וקטורי המשקל וההטיה.
  7. שמור את משקלי ה-SVM וההטיה בפורמט Q8.8 נקודה קבועה למימוש FPGA.
    הערה: ההמרה מתבצעת על ידי קנה מידה של כל ערך נקודה צפה המקוריות שנוצרת לפי 256 (28) והטלת התוצאה למספר שלם.
  8. בדקו את המודל המאומן דרך סקריפט פייתון אחר והתאימו את פרמטר הרגולריזציה C, עד שהדיוק מחושב ליותר מ-95%.
    הערה: פרמטר רגולריזציה אופטימלי שהושג: C = 0.05.
  9. פתח את כלי HLS ויצר פרויקט חדש עם מספר החלק שנבחר כ-xczu3eg-sbva484-1-e.
  10. כתוב קוד זיהוי הולכי רגל בכלי הסינתזה ברמה גבוהה באמצעות שפות ברמה גבוהה כמו C++.
  11. בקוד, כתוב שלושה סקריפטים שונים ב-C++: אחד עבור מתאר התכונה HoG ומסווג SVM, אחר עבור testbench שמספק קלט לתמונות הבדיקה ושומר את תמונות הפלט, והשלישי לקובץ כותרת שמצהיר את הפרמטרים שבהם השתמשו בקוד.
  12. בקוד לחישוב תכונות HoG, שנו את גודל התמונה ל-640 על 480 והחלו ארכיטקטורת חלונות מחליקים בגודל חלון של 64 על 128. לכל חלון, חשב את גודל הגרדיאנט והכיוון עבור כל בלוק חופף בגודל 8 על 8.
    הערה: חשוב לסרוק את כל התמונה דרך מושג החלון הנגרר כך שכל אזור בתמונה מכוסה ויזהו הולכי רגל בכל גודל אפשרי.
  13. בחלק השני של אותו קוד עבור מתאר התכונות HoG, העבר את המדרונות המחושבים למסווג SVM. כתוב את הקוד להתאמת התכונות למשקלי המסווג והשווה עם הסף כדי לסווג את התכונה שזוהתה כשל אדם או לא.
  14. לחץ על Run C Simulation בכלי HLS כדי לדמות את הקוד בעזרת שולחן בדיקה ולבדוק את נכונות הפונקציונליות של הקוד.
  15. ספק תמונות קלט שונות לקוד ובדוק את תמונות הפלט עם הולכי הרגל שזוהו.
  16. לחץ על Run C Synthesis כדי לסנתז את הקוד ולמפות את הקוד לשפות חומרה על ידי הכלי וליצור דוחות על תזמון ושימוש.
    הערה: הכלי פותח אוטומטית את דוחות הסינתזה של HLS. דוח זה מציג את ההערכה של תדר השעון הנדרש ליישום המשימה המקודדת בפלטפורמת FPGA נבחרה, ומספק גם הערכה של המשאבים שנוצלו. הערכים המדווחים הללו הם רק הערכות והפרמטרים בפועל מחושבים רק לאחר היישום בלוח FPGA.
  17. לחצו על ייצוא RTL לייצא את בלוק הקניין הרוחני (IP) עבור אלגוריתם HoG לזיהוי הולכי רגל.
    הערה: IP זה מיועד לשימוש בשלבים המאוחרים של היישום.

2. תכנות לוח FPGA

  1. פתח את הכלי לתכנות FPGA ויצר פרויקט חדש. בחר את מספר החלק כ-xczu3eg-sbva484-1-e וצור עיצוב בלוק חדש.
    הערה: דיאגרמת הבלוקים הזו נוצרה כדי ליצור אינטגרציה בין ה-PS לחלק PL של לוח ה-FPGA. פרוטוקול התקשורת בו משתמשים הוא פרוטוקול Advanced EXtensible Interface (AXI).
  2. חפש את קטלוג ה-IP בכלי וכשאתה מצא, פתח אותו.
  3. צור מאגר משתמש על ידי הוספת נתיב כתובת ה-IP של RTL המיוצאת בשלב 1.17.
  4. בחלון עיצוב הבלוק החדש , עכשיו לחץ ימני ובחר להוסיף כתובת IP. כל כתובות ה-IP יהיו גלויות, כולל אלו שמסופקות על ידי הכלי וכן מאגרים שהוסיפו על ידי המשתמש.
  5. הוסף את בלוק ה-PS Zync Ultrascale מהמאגר.
    הערה: בלוק זה משקף את חלק ה-PS במערכת, שאחראי ליצירת השעונים הנדרשים, ויש בו גם את פורטי הראשי והמעבד לחיבור לכתובת ה-IP המיובאת HoG דרך בלוק החיבור AXI, שרץ על יסודות פרוטוקול AXI.
  6. הוסף 8 כתובות IP של HoG כי המערכת תעבד 8 חלונות בו-זמנית כדי לנצל את היתרון של מקביליות שמציע לוח FPGA.
  7. הוסף בלוק איפוס מערכת מעבד , שגם שולט בשעון ובאספקת איפוס לכל בלוק בדיאגרמה.
  8. הוסף שני בלוקים axi_smart connect לחיבור כתובות ה-IP של HoG לבלוק ה-PS של Zync. כל דיאגרמת הבלוקים עם כל החיבורים מוצגת באיור 3.
    הערה: כפי שמוצג באיור 3, כל הבלוקים שצריך להוסיף לעיצוב הוצגו בבירור. איור 3 נתפס מהכלי ומציג את היציאות הפנימיות של כל בלוק וכן את הקשרים בין היציאות של בלוקים שונים. בלוק זה הוא העיצוב הראשי שכן הוא אחראי להקמת הממשק בין ה-PS לחלק PL של לוח FPGA.
  9. לאחר השלמת החיבורים כפי שמופיע באיור 3, לחץ על אימות עיצוב.
    הערה: האימות בעצם בודק את החיבורים החסרים או השבורים, מה שעלול להוביל לבעיות בשלבים מאוחרים יותר.
  10. לחץ על סינתזה ואז מיישם עיצוב ב-tool לאחר שהאימות של דיאגרמת הבלוקים הצליח.
    הערה: סינתזה ממפה את דיאגרמת הבלוקים המתוכננת וממפה אותה על לוח ה-FPGA. שלב זה ידווח על כל הפרה שעשויות להצביע על כך שהעיצוב אינו ניתן ליישום על חומרה.
  11. הכלי גם יפיק דוחות הקשורים לתזמון, ניצול משאבים וצריכת חשמל. בדקו בקפידה את הדוחות כדי לבדוק אם יש הפרות תזמון ולנתח את ביצועי המערכת המתוכננת.
  12. לחץ על 'יצירת קובץ זרם הביטים ' שייצור את קובץ ה-.bit הנדרש לתכנות לוח ה-FPGA.

איור 3
איור 3: דיאגרמת בלוקים לזיהוי הולכי רגל באמצעות כתובת IP מיובאת HoG + SVM. אנא לחצו כאן לצפייה בגרסה גדולה יותר של איור זה.

3. היישום הסופי בלוח FPGA

  1. קח את לוח ה-FPGA והכנס את כרטיס ה-SD עם קובץ התמונה המתאים בחריץ על הלוח.
  2. חבר גם את הלוח למחשב.
  3. הפעל את לוח ה-FPGA במצב כרטיס ה-SD כדי להפעיל עליו תכנות בפייתון21,22.
  4. תיגש לפלטפורמת Jupyter על הלוח אחרי שחיברו אותה ל-WiFi.
  5. חבר מצלמת רשת ללוח.
  6. כתוב קוד פייתון לייבוא קובץ הביטים שנוצר ולבצע את המשימה של גישה לתמונות המצלמה.
  7. בקוד, כתוב את הסקריפט כך שהתמונה תיכתב בזיכרון של לוח ה-FPGA דרך חלק ה-PS ותועבר לחלק PL לעיבוד.
    הערה: החלק PL של הלוח שמתאים ל-IPs של HoG ניגש לפיקסלים של התמונה דרך מיקומי הזיכרון הללו ומעבד אותם ומספק את הניקוד כפלט.
  8. כתוב קוד מתאים באותו סקריפט פייתון כדי לקרוא את התמונות המעובדות ולהציג אותן על מסך המחשב.
    הערה: זה משלים את כל התכנון והמערכת מוכנה כעת לפריסה ביישומים אמיתיים. כל הקודים בהם השתמשו במחקר זה מועלים כקבצי קידוד משלימים (קובץ משלים 1 [Script_1_train_test.py], קובץ משלים 2 [Script_2_HLS_hog.cpp], קובץ משלים 3 [Script_3_HLS_test_bench.cpp], קובץ משלים 4 [Script_4_HLS_consts.h], קובץ משלים 5 [Script_5_jupyter_code.txt]).

Access restricted. Please log in or start a trial to view this content.

Results

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

מימוש זיהוי הולכי רגל ב-HLS
איור 4 מציג את תוצאות הסימולציה בכלי HLS לזיהוי הולכי רגל באמצעות HoG + SVM. תמונת קלט עם הולך רגל מוזנת כקלט הבדיקה לקוד, והפלט עם הולכי הרגל שזוהו מוצג. יש שני חלקים בתמונה. בגילוי הראשון יש תיבות גבול רבות סביב אותו הולך רגל שוב ושוב, ובתמונה השנייה הקופסאות החופפות מוסרות והן מדוכאים, ונשארות רק תיבות הזיהוי הראשיות.

Access restricted. Please log in or start a trial to view this content.

Discussion

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

מחקר זה מיישם ביעילות מערכת זיהוי הולכי רגל בזמן אמת תוך שימוש באלגוריתם HoG + SVM על חומרת FPGA מתקדמת המבוססת על לוח פיתוח Zynq UltraScale+ MPSoC24. התוצאות מצביעות על כך שאלגוריתם HoG המסורתי לזיהוי אנושי11 משיג דיוק קרוב ל-95% ומשתמש רק במחצית ממשאבי ה-FPGA המובנים (LUTs, FFs, BRAM, DSPs), מה שמשאיר יכולת עצומה לכלול עיבוד רב יותר לביצוע משימות שונות. כאשר מנתחים את כל גישת המימוש, נצפים כי ישנם שלבים קריטיים שונים המעורבים. שלב מרכזי ה...

Access restricted. Please log in or start a trial to view this content.

Disclosures

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

המחברים מצהירים שאין ביניהם ניגוד עניינים.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
PythonPythonVersion 3.10
Ultra 96 V2 FPGA Board Xilinx Introduced in 2018פלטפורמת מימוש חומרה המשמשת ליישום אלגוריתם זיהוי הולכי רגל
Vivado AMD2019.2כלי תכנות FPGA המשמש לתכנות לוח ה-FPGA Ultra 96 v2 עם אלגוריתם זיהוי הולכי רגל 
Vivado HLS AMD2019.2כלי סינתזה ברמה גבוהה המשמש לתכנות ברמה גבוהה של קוד זיהוי הולכי הרגל במאמר לייצוא את הקניין הרוחני (IP)

References

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Nkuzo, L., Sibiya, M., Markus, E. Computer vision-based applications in modern cars for safety purposes: A systematic literature review. 2023 Conference on Information Communications Technology and Society (ICTAS), Durban, South Africa, , (2023).
  2. Nidamanuri, J., Nibhanupudi, C., Assfalg, R., Venkataraman, H. A progressive review - Emerging technologies for ADAS driven solutions. IEEE Trans Intell Veh. 7 (2), 326-341 (2021).
  3. Bathla, G., et al. Autonomous vehicles and intelligent automation: Applications, challenges, and opportunities. Mob Inf Syst. 2022, 7632892(2022).
  4. Yamamoto, R., Izumi, Y., Aono, R., Nagahara, T., Tanaka, T., Liao, W., Mitsuyama, Y. Development of autonomous driving system based on image recognition using programmable SoCs. 2021 International Conference on Field-Programmable Technology (ICFPT), Auckland, New Zealand, , (2021).
  5. Kasem, A., Reda, A., Vásárhelyi, J., Bouzid, A. A survey about intelligent solutions for autonomous vehicles based on FPGA. Carpathian J Electr Comput Eng. , (2021).
  6. Nane, R., et al. A survey and evaluation of FPGA high-level synthesis tools. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 35 (10), 1591-1604 (2015).
  7. Cao, J., et al. Pedestrian detection algorithm for intelligent vehicles in complex scenarios. Sensors. 20 (13), 3646(2020).
  8. Chen, W., Zhu, Y., Tian, Z., Zhang, F., Yao, M. Occlusion and multi-scale pedestrian detection: a review. Array. 19, 100318(2023).
  9. Galvao, L. G., Abbod, M., Kalganova, T., Palade, V., Huda, M. N. Pedestrian and vehicle detection in autonomous vehicle perception systems—A review. Sensors. 21 (21), 7267(2021).
  10. Akshayaa, S., Nithin, S. Comparative study of pedestrian detection techniques for driver assistance system. 2021 Second International Conference on Electronics and Sustainable Communication Systems (ICESC), Coimbatore, India, , (2021).
  11. Dalal, N., Triggs, B. Histograms of oriented gradients for human detection. Proceedings of the 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), San Diego, CA, USA, , (2005).
  12. Singh, G., Kaur, A., Bhardwaj, V., Shrivastava, S. Optimizing IoT capabilities: leveraging FPGA for superior performance, efficiency and security. 2024 5th International Conference for Emerging Technology (INCET), Belgaum, India, , (2024).
  13. Shrivastava, S., Kumar, B. V., Gupta, R., Sharma, V. Advancements in real-time image processing using Kintex and Virtex FPGAs: enhancing speed, efficiency, and versatility. 2025 IEEE International Conference on Interdisciplinary Approaches in Technology and Management for Social Innovation (IATMSI), Gwalior, India, , (2025).
  14. Rettkowski, J., Boutros, A., Göhringer, D. Real-time pedestrian detection on a Xilinx Zynq using the HOG algorithm. 2015 International Conference on Reconfigurable Computing and FPGAs (ReConFig), Riviera Maya, Mexico, , (2015).
  15. Ngo, V., Casadevall, A., Codina, M., Castells-Rufas, D., Carrabina, J. A high-performance HOG extractor on FPGA. arXiv. , 1802.02187(2018).
  16. Adiono, T., Prakoso, K. S., Putratama, C. D., Yuwono, B., Fuada, S. HOG-AdaBoost implementation for human detection employing FPGA ALTERA DE2-115. Int J Adv Comput Sci Appl. 9 (10), 353-358 (2018).
  17. Dürre, J., Paradzik, D., Blume, H. A HOG-based real-time and multi-scale pedestrian detector demonstration system on FPGA. Proceedings of the 2018 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, Monterey, California, USA, , (2018).
  18. Wasala, M., Kryjak, T. Real-time HOG+SVM based object detection using SoC FPGA for a UHD video stream. 2022 11th Mediterranean Conference on Embedded Computing (MECO), Budva, Montenegro, , (2022).
  19. Lin, Y. Research on HOG-SVM pedestrian detection method based on FPGA. Appl Computat Eng. 9, 272-281 (2023).
  20. Ranawaka, P., et al. Application specific architecture for hardware accelerating HOG-SVM to achieve high throughput on HD frames. 2019 IEEE 30th International Conference on Application-Specific Systems, Architectures and Processors (ASAP), New York, NY, USA, 2160, 131-134 (2019).
  21. Luo, J. H., Lin, C. H. Pure FPGA implementation of an HOG based real-time pedestrian detection system. Sensors. 18 (4), 1174(2018).
  22. Ma, X., Najjar, W. A., Roy-Chowdhury, A. K. Evaluation and acceleration of high-throughput fixed-point object detection on FPGAs. IEEE Transactions on Circuits and Systems for Video Technology. 25 (6), 1051-1062 (2015).
  23. Weng, G. Real-time pedestrian recognition on low computational resources. arXiv. , 2309.01353(2023).
  24. Nguyen, T. A., Tran-Thi, T. Q., Bui, D. H., Tran, X. T. FPGA-based human detection system using HOG-SVM algorithm. 2023 International Conference on Advanced Technologies for Communications (ATC), Da Nang, Vietnam, , (2023).
  25. Tarchoun, B., Khalifa, A. B., Dhifallah, S., Jegham, I., Mahjoub, M. A. Hand-crafted features vs deep learning for pedestrian detection in moving camera. Traitement du Signal. 37 (2), 209-216 (2020).
  26. Suleiman, A., Chen, Y. H., Emer, J., Sze, V. Towards closing the energy gap between HOG and CNN features for embedded vision. 2017 IEEE International Symposium on Circuits and Systems (ISCAS), Baltimore, MD, USA, , (2017).
  27. Ultra96-V2 Single Board Computer Hardware User’s Guide. , Avnet. Available from: https://www.avnet.com (2025).

Access restricted. Please log in or start a trial to view this content.

Reprints and Permissions

Request permission to reuse the text or figures of this JoVE article

Request Permission

Tags

Pedestrian DetectionAutonomous DrivingField Programmable Gate ArrayFPGA ImplementationReal Time DetectionHistogram Of Oriented GradientsSupport Vector MachineHigh Level SynthesisUltra 96 V2Smart Transportation

Related Articles