Implementing object recognition algorithm on FPGA
Post on 29-Jan-2016
75 Views
Preview:
DESCRIPTION
Transcript
Implementing object recognition algorithm on FPGA
: יותם מגישיםדניאל דראשפרגו
סומשיק: מייק מנחה
אביב אמצע 2012מצגת
הפרויקט מטרתאלגוריתם :המטרה OPTICמימוש
FLOW גבי אמת FPGAעל בזמן
דגשים: חברת של הפיתוח כלי ולמידת : Gidelהכרה
ProcWizard/ProcAPI של הפיתוח כלי MathWorks : Simulink & HDLלמידת
Coder אלגוריתם של על Optical flowאימפלמנטציה אמת בזמן
FPGA הנלמדים הכלים בעזרת
OPTIC FLOW
הנתונים זרימת
ב וידאו יהיה של 15FPSהקלט בממדים320x240
, התמונה גודל את נקטין הפרויקט הגדרת לפי אבללטובת חיצוני בזיכרון בשימוש צורך יהיה שלא כך
המידע עיבוד
GENERAL SCHEME
INSIDE THE FPGA
Ready? trigger
משותפת שפה
בשלוש אינטנסיבי שימוש יש במימושמיוחדים אלמנטים
Line Buffer -לדעת צורך יש כאשר בשימושפיקסל כל של הסביבה את
Write Switch –צורך יש כאשר בשימושלכתיבה וזיכרון לקריאה בזיכרון
לקריאה ואינדקס לכתיבה בשימוש– אינדקסלפני מזיכרון סגמנט לקרוא קודם עלינו כאשר
לזיכרון לכתוב שמתחילים
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
Write Switch
Write to RAM 1Read from RAM 0
1
1
0
, לקריאה - ואחד לכתיבה אחד זיכרון בנקי שניפריים כל בסיום תפקיד מחליפים .אשר
ובקרה נתונים מסלול הפרדת , זיכרון ) לוגיקה הנתונים מסלול בין הפרדה
. ) הבקרה מסלול לבין אינדקסים ויצירת לפי הפעולות רצף על שולט חיצוני בקר
. הנתונים ממסלול שמקבל דגלים מעבד על מבוסס MIPSהמודל
The Controller
. מצבים מכונת הינו הבקר
אחר לוגי חלק להפעלת מתאים מצב כלהחישוב בתהליך
פנימית החלטות שרשרת יש מצב בכלמתאימה אותות והפעלת
מצבים: מכונת בקר
הזיכרון
בעזרת ממומשים הזיכרונות RAMכל , זיכרונות מלבד הזיכרונות קיים F[xx]לכל
write switch שנכתב המידע בין להבחנה . , מקודם שצוין כפי שנקרא המידע לבין
Pixel Loop , כתיבה לקריאה אינדקסים המייצרת מערכת
בקרה ) (IsFinishואותות
5: בלוק לכל הנתונים זרימת לתיאום מצבים 1) התחלתי( ) מצב התמונות לזיכרון כתיבה 2 )וכתיבתן הנגזרות חישוב 3' - לגראנז( אויילר משוואת חישוב 4 )התנועה וקטורי חישוב 5 )וטיפולם הפריים של קצה מקרי זיהוי
מזיכרון לקריאה אינדקס
לזיכרון לכתיבה אינדקס
שלב סיום המציין בקרה אות
בשלב : אינדקסים דוגמאתנועה וקטור חישוב
ההוראה את לבקר נשלחתתבצע שהיא שנרצה לפני מחזור
Pixel Loop5: בלוק לכל הנתונים זרימת לתיאום מצבים 1 )התמונות לזיכרון כתיבה 2 )וכתיבתן הנגזרות חישוב 3' - לגראנז( אויילר משוואת חישוב 4 )התנועה וקטורי חישוב 5 )וטיפולם הפריים של קצה מקרי זיהוי
ששני פעם כל בינארי סיגנל מחליףמתקיימים התנאים
לזיכרון • כתיבה במצב אנופריים • כתיבת סיימנו
משתנה המצב כי קיימת השהייההפריים סיום לפני שעון מחזור
אילוצי) ( algerbric loopבגלל
לקריאה כתיבה בין בורר
יכולים אנו המתגים בעזרת, זמנים מבחינת היציאות סדר על לשמור
מי I(t-2)ומי I(t-1)כלומר
סדרתית כתובת בין בוררמ ) ( Pixel Loopבאה
רנדומלית מכתובת אוחישוב) מחלק ( F[xx]באה
Pixel Loop5: בלוק לכל הנתונים זרימת לתיאום מצבים 1 )התמונות לזיכרון כתיבה 2 )וכתיבתן הנגזרות חישוב 3' - לגראנז( אויילר משוואת חישוב 4 )התנועה וקטורי חישוב 5 )וטיפולם הפריים של קצה מקרי זיהוי
נגזרות חישוב
. הראשונה הלוגית הפעולה התמונה על הוא בשלמותה I(t-2)החישוב שנמצאת
בזיכרון השכנים הפיקסלים ערכי את לדעת יש החישוב לצורך
ב– נשתמש . LineBufferלכן מקודם שתואר כפי
Pixel Loop5: בלוק לכל הנתונים זרימת לתיאום מצבים 1 )התמונות לזיכרון כתיבה 2 )וכתיבתן הנגזרות חישוב 3' - לגראנז( אויילר משוואת חישוב 4 )התנועה וקטורי חישוב 5 )וטיפולם הפריים של קצה מקרי זיהוי
Compute F’s(one in 30 part)
ל אחת מופעלת זו איטרציות 30מערכת
זו :חלקים 2למערכת
הנכונות הכתובות ומשיכת הערכים הכנת הוא הראשון החלק של תפקידומהזיכרון
' - לגראנז אוילר משוואות וחישוב הערכים קבלת הוא השני החלק של תפקידו
- ה שנקבל Pixel Loopמערכת לכך דואגת, 5במשך הכניסה ערכי של שכפול שעון מחזורי
כניסת היא המערכת של הכניסות offsetאחת מהוoffset: ' הבא? החישוב את לבצע נדרש ב בחלק
Part A
Part A - המחשה
Part B
Pixel Loop5: בלוק לכל הנתונים זרימת לתיאום מצבים 1 )התמונות לזיכרון כתיבה 2 )וכתיבתן הנגזרות חישוב 3' - לגראנז( אויילר משוואת חישוב 4 )התנועה וקטורי חישוב 5 )וטיפולם הפריים של קצה מקרי זיהוי
Calculating Motion Vectors
, למשך איטרציה בכל פועלת איטרציות 200המערכת
בשני קודמת , Line Buffersשימוש מאיטרציה שכנים לערכים אחד(��k( )זו מאיטרציה שכנים לערכים (k+1ואחד
הרצויים 200לאחר התנועה וקטורי מתקבלים איטרציות
u(k)נכנס
LineBuffer המספק ובוררעדכנית הכי הסביבה את לנו
משקלים חישוב
. ביניים חישובמחשב לא בקצוות
תנועה וקטור רכיב חישובסופי סופי ב u(k+1)ערך ונשמר לזיכרון LineBufferיוצא
הבא הפיקסל לחישוב
Pixel Loop5: בלוק לכל הנתונים זרימת לתיאום מצבים 1 )התמונות לזיכרון כתיבה 2 )וכתיבתן הנגזרות חישוב 3' - לגראנז( אויילר משוואת חישוב 4 )התנועה וקטורי חישוב 5 )וטיפולם הפריים של קצה מקרי זיהוי
Treat Boundaries
תמונת של בקצוות לטפל הוא המערכת תפקידמהתאים הערכים העתקת ידי על התנועה ווקטורי
הסמוכים.
בדיקה שיטות לבדיקה שניתן ביותר הבסיסי החלק מציאת
ב לו המקביל הקוד Matlabומציאת לרכיב והמתאים ביותר הפשוט הקלט הכנסת
זה מה נכונים נתונים ובדיקת- workspaceטעינת
ל הסימולציה נתוני יצוא ידי על התוצאותworkspace .
וגרפים בסקופים שימוש אותות לתרשים המתקבלים הגרפים השוואת
צפוי.
לזיכרון: כתיבה בדיקת דוגמא
לזיכרון: כתיבה בדיקת דוגמא
Write Enable
AddressData
:סדרתי הקלט
:שהכתיבה בדיקהכראוי מתבצעת
הנכון ובתזמון
לבדיקת Fxxדוגמאמערכת תוצאתהסימולינק
המטלב קוד תןצאותהמקורי
התוצאות השוואתפונקציית ידי עלהשוואה
אותות לתרשים והשוואה בסקופ שימוש
גאנט תרשים
top related