המצגת נטענת. אנא המתן

המצגת נטענת. אנא המתן

עקיבת כלי טייס באמצעות זיהוי פנים

מצגות קשורות


מצגת בנושא: "עקיבת כלי טייס באמצעות זיהוי פנים"— תמליל מצגת:

1 עקיבת כלי טייס באמצעות זיהוי פנים
הטכניון – מכון טכנולוגי לישראל הפקולטה להנדסת חשמל המעבדה לבקרה עקיבת כלי טייס באמצעות זיהוי פנים מאת : שגיא סטון ועדי אמויאל בהנחיית קובי כוחיי

2 תקציר בפרויקט זה מימשנו מערכת זיהוי ועקיבה אחר פני אדם ע"י רחפן מסוג (Ar.Drone 1.0) . למימוש מערכת זו כמה אספקטים עליהם נרחיב בהמשך: ניתוח תמונה בקרה תוכנה למידה אינטגרציה

3 המערכת הכוללת

4 אופן הפעולה המערכת מורכבת מרחפן אשר מצויד במצלמה קדמית ותקשורת אלחוטית (Wi-Fi), בנוסף מחשב עליו מותקן SDK אשר מאפשר לשלוט ולתקשר עם הרחפן. המימוש מורכב משני שלבים, שלב הזיהוי ושלב העקיבה. שלב הזיהוי הרחפן ממריא תוך כדי סריקת החדר כאשר מגיע לגובה ממוצע של פני אדם בוגר מתחיל להסתובב סביב צירו כל זמן זה שולח הרחפן תמונות אל יחידת השליטה (המחשב) אשר משתמש באלגוריתם זיהוי פנים לניתוח התמונות

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

6 Face detection האלגוריתם מבוסס על האלגוריתם לאיתור פנים של viola & jones. ובו כמה אלמנטים עיקריים: שימוש במלבני haar בתור מסווגים חלשים שימוש "בתמונות אינטגרל" להאצת הזיהוי אלגוריתם הלמידה adaboost מסווג cascade איחוד תוצאות חופפות לפי קריטריון השכן הקרוב

7 haar מלבני שימוש במסננים קטנים יחסית כדי לקבוע ציון לכל איזור בתמונה
ציון כל איזור הוא ע"י חיסור רמות האפור שבחלק הלבן מהשחור כל אלמנט כזה מוגדר בתור מסווג "חלש" אשר החיזוי שלו לבד נותן אחוזי חיזוי קצת יותר טובים ממטבע (50/50)

8 adaboostאלגוריתם הלמידה
עושה שימוש בצירוף ליניארי של כמה מסווגים חלשים רץ על סט הבוחן בכמה וכמה איטרציות עוצר כאשר אין ירידה משמעותית בטעות וכך קובע ערך סף

9 תמונת אינטגרל טכניקה שפותחה ע"מ לשפר את זמן הריצה של האלגוריתם
כל פיקסל מחזיק את סכום רמות האפור שנמצאים בריבוע השמאלי העליון כך ניתן לאחר מעבר בודד על התמונה לחשב בקלות את סכום רמות האפור בכל ריבוע שנרצה

10 מסווג cascade עוד דרך להאיץ את האלגוריתם היא שימוש בכמה מעברים על איזורים שונים בתמונה כאשר כל מעבר הוא עם רמת סף שנותנת שגיאה לא קטנה אך כזאת שמספיק טוב לסווג נכון כמעט את כל סט הלימוד. כך עושים מיון של אזורים לא רלוונטים ומשקיעים בהם פחות זמן ואילו באזורים רלוונטים משקיעם עוד זמן ע"מ לקבל תוצאות יותר טובות.

11

12 איחוד תוצאות לאחר כמה מעברים על התמונה עם כמה גדלי פנים שונים יש צורך
לאחד זיהוי פנים חופפות מפני שהם בעצם אותו זיהוי של כמה פנים שהתקבל ממעברים שונים

13 סיכום גילוי פנים למידה offline מעבר על כל תמונה
איחוד של ממצאים חופפים ומיצוע החזרת תוצאה

14 בקרה קריטריונים לבחירת בקר:
בקר שיפיק ביצועי תעופה טובים - ימקסם את יכולות העקיבה כך שהמעוף אחר האובייקט יהיה חלק ובעל תגובה מהירה כאשר האובייקט משנה את כיוונו או מהירותו פשטות המימוש על כן בחרנו להשתמש בבקר PID שהוא הנפוץ ביותר בבקרת מערכות ליניאריות.

15 מימוש הבקר להבדיל מכלי תחבורה יבשתיים הרחפן יכול לנוע בשלושה צירים במרחב. על כן יש לממש חוגי בקרה עבור כל הצירים. אנו מימשנו בקר עבור 3 צירים: X,Y,Z הבקר בציר X אחראי על פקודה הגלגול – ROLL. הבקר בציר Y אחראי על פקודת שינוי הגובה – GAZ. הבקר בציר Z אחראי על פקודת העלרוד - PITCH * כל ההסברים בהמשך מתייחסים לציר X בלבד אבל זהים לשלושת הצירים

16 מימוש הבקר - המשך המידע שנשלח לבקר הינו עבור תמונה יחידה בכל יחידת זמן, בנוסף יכולת העיבוד של המחשב היא סופית ועל כן מימשנו את הבקר בזמן בדיד הסבר על חישוב "השגיאה" - err יגיע בהמשך Up(nT) = Kp*err(nT) :P Ui (nT) = Ki*(Ui_prev + err(nT)) :I Ud(nT) = Kd *( err(nT) - err(n(T-1))) /T :D Uc = Up(nT) + Ui (nT) + Ud(nT)

17 מימוש הבקר – חישוב השגיאה

18 חישוב השגיאה - המשך "השגיאה" ," err" – ההפרש בין מרכז הפריים של
מצלמת הרחפן למיקום האובייקט (על מסך הרחפן). errX = Xm – Xc errY = Ym – Yc

19 מימוש הבקר - המשך עבור פריים בודד שמגיע ממצלמת הרחפן, נקבל את מיקום האובייקט בפריים ונחשב את "השגיאה" כפי שתואר לעיל. הבקר מקבל את השגיאה ומחשב את הפקודה הבאה שעל הרחפן לבצע על מנת למזער את השגיאה כלומר להביא את האובייקט למרכז הפריים. כאשר האובייקט זז ממקומו הוא כבר לא יהיה במרכז הפריים ושוב תחושב השגיאה ותתקבל פקודה חדשה

20 מימוש הבקר - פרמטרים על מנת לקבל פרמטרים עבור הבקר כך שיתאימו בצורה אופטימאלית לתעופת הרחפן ביצענו את הפעולות הבאות: מידול הרחפן ע"י מודל מתמטי פשטני שמצאנו ע"י מדידות שערכנו ברחפן. הכנסת פונקציות הלם שונות לרחפן (פקודה יחידה בכמה הגברים שונים) מדידה של שינוי מיקום הרחפן וקיבלנו את התוצאות הבאות:

21 מודל פיסיקלי של מיקום הרחפן בציר X

22 מימוש הבקר - פרמטרים ביצענו את המדידות עבור שלושת הצירים וע"י רגרסיה ליניארית הוצאנו את המודל הפיסיקלי של כל ציר בקרה. לאחר מכן הוצאנו מmatlab את הפרמטרים לבקר PID המתאים ע"י שימוש במודל הרחפן שבנינו. בגרף מתואר זמן ההתכנסות לכניסת מדרגה עבור הפרמטרים האידיאלים מה- matlab.

23 מימוש הבקר - פרמטרים הביצועים שקיבלנו עבור הפרמטרים שקיבלנו מ-MATLAB לא היו מספיק טובים- העקיבה לא היית חלקה מספיק לדרישות שלנו. לאחר כינון ידני של הפרמטרים הגענו לבקר PID שנותן תוצאות טובות יותר בפועל.

24 אופטימיזצית התוצאות לאחר ניסיונות רבים הגענו לפרמטרים האופטימלים עבור יחידת זיהוי הפנים אשר נתנו לנו את תוצאות המעקב הטובות ביותר. שיפרנו ב 100% את תדר העבודה המקורי - מ4 frame/sec ל 8 frame/sec ע"י מעבר מהפרמטרים הדיפולטים לפרמטרים האופטימלים שמצאנו. לאחר ניתוח צוואר הבקבוק של ריצת התוכנה מצאנו שאנו לא מנצלים נכון את ממשק ה OpenCV, מפני שלמחשב שעבדנו איתו לא היה כרטיס מסך אלה רק יחידת עיבוד במעבד. לכן עברנו לעבוד עם מחשב בעל מאיץ גרפי, מה שהביא לשיפור של עוד 50% בתדר העבודה מ8frame/sec ל 12 frame/sec. התקרבנו מאוד לתדר העבודה המקסימאלי שמוגבל ע"י תדר העבודה של המצלמה frame/sec.

25 תוצאות ואופטימיזצית התוצאות
מלבד הבקר, גם לאלגוריתם הזיהוי יש השפעה על איכות התוצאות וזמן הריצה. Scale- פרמטר שמגדיר באיזה רזולוציה לדגום את התמונה המקורית שמקבלים מהרחפן. ככל שהוא גדול יותר כך נדגום את התמונה המקורית ברזולוציה קטנה יותר, מצד אחד התמונה תהייה פחות אמינה אך הריצה תהייה יותר מהירה. ScaleFactor – פרמטר שמגדיר במתודולוגית ה cascade את גודל הקפיצה בין כל חוליה של השרשרת. ככל שפרמטר זה יהיה קטן יותר נבצע יותר איטרציות, דבר שייקח יותר זמן אך ישפר את אמינות המשערך.

26 סיכום ומסקנות מטרת הפרויקט הייתה זיהוי פנים ע"י רחפן תוך כדי שימוש בערוץ הוידיאו שלו ולאחר מכן עקיבה. כאשר כל השלבים מתבצעים באופן אוטונומי ובקורלציה גבוהה בין האלמנטים השונים. איכות מעגלי הבקרה הושפעו ישירות מתדר העבודה של המערכת שהושפע מכמה סיבות. תדר תקשורת הוידיאו בין הרחפן למערכת הבקרה הוא 15 תמונות לשנייה. על כל תמונה בודדת נעשתה עבודה של אלגוריתם זיהוי הפנים דבר שמאט את תדר העבודה עוד יותר

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

28 מסקנות - המשך לאלגוריתם זיהוי הפנים כמה פרמטרים שניתנים לכיוון, אשר משפיעים על איכות התוצאות ומהירות הריצה. לאחר אופטימיזציה לפרמטרים קיבלנו שיפור ב 100% בתדר העבודה, מ4 ל 8 תמונות בשנייה. לב האלגוריתם מבוסס על OpenCV שעושה שימוש רציני ביחידות העיבוד הגרפי של המחשב. מעבר בין מחשב שיש לו מאיץ גרפי מאחד בלי מאיץ גרפי נתן שיפור בתדר העבודה ב 50% מ8 ל 12 תמונות בשנייה. לאחר שימוש במחשב עם מאיץ גרפי צוואר הבקבוק עבר מהשימוש ב OpenCV לזמן מעבד. בעידן בו כל המעבדים מרובי ליבות יש מקום לשפר את הביצועים ע"י מקבול הקוד.

29


הורד את "ppt "עקיבת כלי טייס באמצעות זיהוי פנים

מצגות קשורות


מודעות Google