Implementing object recognition algorithm on FPGA

Preview:

DESCRIPTION

מצגת אמצע אביב 2012. Implementing object recognition algorithm on FPGA. מגישים: יותם דראש דניאל פרגו. מנחה: מייק סומשיק. מטרת הפרויקט. המטרה : מימוש אלגוריתם OPTIC FLOW על גבי FPGA בזמן אמת דגשים: הכרה ולמידת כלי הפיתוח של חברת Gidel : ProcWizard / ProcAPI - PowerPoint PPT Presentation

Citation preview

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דוגמאמערכת תוצאתהסימולינק

המטלב קוד תןצאותהמקורי

התוצאות השוואתפונקציית ידי עלהשוואה

אותות לתרשים והשוואה בסקופ שימוש

גאנט תרשים

Recommended