implementing object recognition algorithm on fpga
DESCRIPTION
מצגת אמצע אביב 2012. Implementing object recognition algorithm on FPGA. מגישים: יותם דראש דניאל פרגו. מנחה: מייק סומשיק. מטרת הפרויקט. המטרה : מימוש אלגוריתם OPTIC FLOW על גבי FPGA בזמן אמת דגשים: הכרה ולמידת כלי הפיתוח של חברת Gidel : ProcWizard / ProcAPI - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/1.jpg)
Implementing object recognition algorithm on FPGA
: יותם מגישיםדניאל דראשפרגו
סומשיק: מייק מנחה
אביב אמצע 2012מצגת
![Page 2: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/2.jpg)
הפרויקט מטרתאלגוריתם :המטרה OPTICמימוש
FLOW גבי אמת FPGAעל בזמן
דגשים: חברת של הפיתוח כלי ולמידת : Gidelהכרה
ProcWizard/ProcAPI של הפיתוח כלי MathWorks : Simulink & HDLלמידת
Coder אלגוריתם של על Optical flowאימפלמנטציה אמת בזמן
FPGA הנלמדים הכלים בעזרת
![Page 3: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/3.jpg)
OPTIC FLOW
![Page 4: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/4.jpg)
הנתונים זרימת
ב וידאו יהיה של 15FPSהקלט בממדים320x240
, התמונה גודל את נקטין הפרויקט הגדרת לפי אבללטובת חיצוני בזיכרון בשימוש צורך יהיה שלא כך
המידע עיבוד
![Page 5: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/5.jpg)
GENERAL SCHEME
![Page 6: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/6.jpg)
INSIDE THE FPGA
Ready? trigger
![Page 7: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/7.jpg)
משותפת שפה
בשלוש אינטנסיבי שימוש יש במימושמיוחדים אלמנטים
Line Buffer -לדעת צורך יש כאשר בשימושפיקסל כל של הסביבה את
Write Switch –צורך יש כאשר בשימושלכתיבה וזיכרון לקריאה בזיכרון
לקריאה ואינדקס לכתיבה בשימוש– אינדקסלפני מזיכרון סגמנט לקרוא קודם עלינו כאשר
לזיכרון לכתוב שמתחילים
![Page 8: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/8.jpg)
Line Buffer
5 4 3 2 1
10 9 8 7 6
15 14 13 12 11
20 19 18 17 16
25 24 23 22 21
1 12
1
7 6 5 4
![Page 9: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/9.jpg)
Write Switch
Write to RAM 1Read from RAM 0
1
1
0
, לקריאה - ואחד לכתיבה אחד זיכרון בנקי שניפריים כל בסיום תפקיד מחליפים .אשר
![Page 10: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/10.jpg)
ובקרה נתונים מסלול הפרדת , זיכרון ) לוגיקה הנתונים מסלול בין הפרדה
. ) הבקרה מסלול לבין אינדקסים ויצירת לפי הפעולות רצף על שולט חיצוני בקר
. הנתונים ממסלול שמקבל דגלים מעבד על מבוסס MIPSהמודל
![Page 11: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/11.jpg)
The Controller
. מצבים מכונת הינו הבקר
אחר לוגי חלק להפעלת מתאים מצב כלהחישוב בתהליך
פנימית החלטות שרשרת יש מצב בכלמתאימה אותות והפעלת
![Page 12: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/12.jpg)
מצבים: מכונת בקר
![Page 13: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/13.jpg)
הזיכרון
בעזרת ממומשים הזיכרונות RAMכל , זיכרונות מלבד הזיכרונות קיים F[xx]לכל
write switch שנכתב המידע בין להבחנה . , מקודם שצוין כפי שנקרא המידע לבין
![Page 14: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/14.jpg)
Pixel Loop , כתיבה לקריאה אינדקסים המייצרת מערכת
בקרה ) (IsFinishואותות
5: בלוק לכל הנתונים זרימת לתיאום מצבים 1) התחלתי( ) מצב התמונות לזיכרון כתיבה 2 )וכתיבתן הנגזרות חישוב 3' - לגראנז( אויילר משוואת חישוב 4 )התנועה וקטורי חישוב 5 )וטיפולם הפריים של קצה מקרי זיהוי
![Page 15: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/15.jpg)
מזיכרון לקריאה אינדקס
לזיכרון לכתיבה אינדקס
שלב סיום המציין בקרה אות
![Page 16: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/16.jpg)
בשלב : אינדקסים דוגמאתנועה וקטור חישוב
ההוראה את לבקר נשלחתתבצע שהיא שנרצה לפני מחזור
![Page 17: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/17.jpg)
Pixel Loop5: בלוק לכל הנתונים זרימת לתיאום מצבים 1 )התמונות לזיכרון כתיבה 2 )וכתיבתן הנגזרות חישוב 3' - לגראנז( אויילר משוואת חישוב 4 )התנועה וקטורי חישוב 5 )וטיפולם הפריים של קצה מקרי זיהוי
![Page 18: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/18.jpg)
ששני פעם כל בינארי סיגנל מחליףמתקיימים התנאים
לזיכרון • כתיבה במצב אנופריים • כתיבת סיימנו
משתנה המצב כי קיימת השהייההפריים סיום לפני שעון מחזור
אילוצי) ( algerbric loopבגלל
לקריאה כתיבה בין בורר
יכולים אנו המתגים בעזרת, זמנים מבחינת היציאות סדר על לשמור
מי I(t-2)ומי I(t-1)כלומר
סדרתית כתובת בין בוררמ ) ( Pixel Loopבאה
רנדומלית מכתובת אוחישוב) מחלק ( F[xx]באה
![Page 19: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/19.jpg)
Pixel Loop5: בלוק לכל הנתונים זרימת לתיאום מצבים 1 )התמונות לזיכרון כתיבה 2 )וכתיבתן הנגזרות חישוב 3' - לגראנז( אויילר משוואת חישוב 4 )התנועה וקטורי חישוב 5 )וטיפולם הפריים של קצה מקרי זיהוי
![Page 20: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/20.jpg)
נגזרות חישוב
. הראשונה הלוגית הפעולה התמונה על הוא בשלמותה I(t-2)החישוב שנמצאת
בזיכרון השכנים הפיקסלים ערכי את לדעת יש החישוב לצורך
ב– נשתמש . LineBufferלכן מקודם שתואר כפי
![Page 21: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/21.jpg)
![Page 22: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/22.jpg)
Pixel Loop5: בלוק לכל הנתונים זרימת לתיאום מצבים 1 )התמונות לזיכרון כתיבה 2 )וכתיבתן הנגזרות חישוב 3' - לגראנז( אויילר משוואת חישוב 4 )התנועה וקטורי חישוב 5 )וטיפולם הפריים של קצה מקרי זיהוי
![Page 23: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/23.jpg)
Compute F’s(one in 30 part)
ל אחת מופעלת זו איטרציות 30מערכת
זו :חלקים 2למערכת
הנכונות הכתובות ומשיכת הערכים הכנת הוא הראשון החלק של תפקידומהזיכרון
' - לגראנז אוילר משוואות וחישוב הערכים קבלת הוא השני החלק של תפקידו
![Page 24: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/24.jpg)
![Page 25: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/25.jpg)
- ה שנקבל Pixel Loopמערכת לכך דואגת, 5במשך הכניסה ערכי של שכפול שעון מחזורי
כניסת היא המערכת של הכניסות offsetאחת מהוoffset: ' הבא? החישוב את לבצע נדרש ב בחלק
Part A
![Page 26: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/26.jpg)
Part A - המחשה
![Page 27: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/27.jpg)
Part B
![Page 28: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/28.jpg)
Pixel Loop5: בלוק לכל הנתונים זרימת לתיאום מצבים 1 )התמונות לזיכרון כתיבה 2 )וכתיבתן הנגזרות חישוב 3' - לגראנז( אויילר משוואת חישוב 4 )התנועה וקטורי חישוב 5 )וטיפולם הפריים של קצה מקרי זיהוי
![Page 29: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/29.jpg)
Calculating Motion Vectors
, למשך איטרציה בכל פועלת איטרציות 200המערכת
בשני קודמת , Line Buffersשימוש מאיטרציה שכנים לערכים אחד(��k( )זו מאיטרציה שכנים לערכים (k+1ואחד
הרצויים 200לאחר התנועה וקטורי מתקבלים איטרציות
![Page 30: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/30.jpg)
u(k)נכנס
LineBuffer המספק ובוררעדכנית הכי הסביבה את לנו
משקלים חישוב
. ביניים חישובמחשב לא בקצוות
תנועה וקטור רכיב חישובסופי סופי ב u(k+1)ערך ונשמר לזיכרון LineBufferיוצא
הבא הפיקסל לחישוב
![Page 31: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/31.jpg)
Pixel Loop5: בלוק לכל הנתונים זרימת לתיאום מצבים 1 )התמונות לזיכרון כתיבה 2 )וכתיבתן הנגזרות חישוב 3' - לגראנז( אויילר משוואת חישוב 4 )התנועה וקטורי חישוב 5 )וטיפולם הפריים של קצה מקרי זיהוי
![Page 32: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/32.jpg)
Treat Boundaries
תמונת של בקצוות לטפל הוא המערכת תפקידמהתאים הערכים העתקת ידי על התנועה ווקטורי
הסמוכים.
![Page 33: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/33.jpg)
![Page 34: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/34.jpg)
בדיקה שיטות לבדיקה שניתן ביותר הבסיסי החלק מציאת
ב לו המקביל הקוד Matlabומציאת לרכיב והמתאים ביותר הפשוט הקלט הכנסת
זה מה נכונים נתונים ובדיקת- workspaceטעינת
ל הסימולציה נתוני יצוא ידי על התוצאותworkspace .
וגרפים בסקופים שימוש אותות לתרשים המתקבלים הגרפים השוואת
צפוי.
![Page 35: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/35.jpg)
לזיכרון: כתיבה בדיקת דוגמא
![Page 36: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/36.jpg)
לזיכרון: כתיבה בדיקת דוגמא
Write Enable
AddressData
:סדרתי הקלט
:שהכתיבה בדיקהכראוי מתבצעת
הנכון ובתזמון
![Page 37: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/37.jpg)
לבדיקת Fxxדוגמאמערכת תוצאתהסימולינק
המטלב קוד תןצאותהמקורי
התוצאות השוואתפונקציית ידי עלהשוואה
![Page 38: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/38.jpg)
אותות לתרשים והשוואה בסקופ שימוש
![Page 39: Implementing object recognition algorithm on FPGA](https://reader034.vdocuments.mx/reader034/viewer/2022050809/56815751550346895dc4f5c7/html5/thumbnails/39.jpg)
גאנט תרשים