290 likes | 439 Views
KFB 2.0 - Gives eyes to the Blind. צחי שימקין דני זילבר מנחה פרוייקט: קובי כוחי טכניון, מכון טכנולוגי לישראל הפקולטה להנדסת חשמל (שותף חלק א': גל דלל). Quick Overview. פרויקט דו-סמסטריאלי שתכליתו פיתוח מוצר ה- KFB .
E N D
KFB 2.0 - Gives eyes to the Blind • צחי שימקין • דני זילבר מנחה פרוייקט: • קובי כוחי טכניון, מכון טכנולוגי לישראל הפקולטה להנדסת חשמל (שותף חלק א': גל דלל)
Quick Overview • פרויקט דו-סמסטריאלי שתכליתו פיתוחמוצר ה-KFB. • פרויקט זה מציג את ה- KFB(Kinect For the Blind). מכשיר המתכונן ומיועד לסייע לעיוורים להליכה בחיי היומיום. • פרויקט ההמשך התרכז בשיפור התכנה והוספת יכולות מתחום הראייה הממוחשבת
Why they need us • בישראל לבדה ישנם 23 אלף עיוורים המצטרפים לקהילה של מיליוני עיוורים ברחבי העולם. • יש דרישה וצורך הולכים וגוברים ליצירת פתרונות טכנולוגיים אשר ייתנו מענה לצורך של עיוור לנווט את דרכו באופן עצמאי בסביבה לא מוכרת. • הפתרונות הקיימים היום בשוק אינם מספקיםצורך זה במלואו.
Project Objectives (recap) • תכנן מוצר אוטונומי (standalone) אשר יוכל להכווין אדם עיוור במהלך הליכה הן בתוך מבנים והן ברחוב. • בנית המוצר כך שיהיה זול, קל לנשיאה (אינו מצריך אחיזה ממושכת ביד) ופשוט לתפעול עצמאי. • בניית אלגוריתמים רובוסטים אשר יהיו יעילים מספיק ובעלי מהימנות מספקת לתת למשתמש את תחושת הביטחון הנדרשת במוצר.
Project Objectives (Part B) • הרחבת יכולות המערכת מחלק א' של הפרויקט. • הוספת יכולת לימוד וחיפוש אובייקטים במרחב. • שיפור ממשק המשתמש והתאמתו לצרכיו המיוחדים של קהל היעד. • ייעול תכנת המערכת מבחינת עומס חישובי וצריכה אנרגטית.
Similar Projects במהלך השנה האחרונה נעשו מספר עבודות המשלבות מצלמות מיוחדות במכשירים שמטרתם עזרה בכוונה לעוורים: • מצלמת קינקט המזהה ברקודים במרחב מתוך זיהוי מיקומי הברקודים מחושב המיקום של האדם. • מצלמת קינקט לעזרה בחציית כביש • זיהוי אובייקטים על שולחן עם מצלמת קינקט לאחר הזיהוי המערכת מכווינה את המשתמש לאוביקט • חיישן xtionהמבצע עקיבה אחר דמויות נעות וזיהוי מכשלוים
Our solution • המוצר הינו standalone ומיועד כך שיזהה מכשולים על ידי סריקת תמונת עומקהמתקבלת ממכשיר הקינקט וכן שיזהה אובייקטים נלמדים ויכווין את המשתמש אליהם. • המכשיר נישא ע"י רצועה שמולבשת על אזור המותנים של המשתמש ובהפעלה קלה ופשוטה נותן לעיוור אינדיקציה לגבי כל 'מכשול' הנמצא מולו.
Device Components Overview • מצלמת קינקט + ספק כוח הקינקט מורכב ממקרן אינפרא אדום ושני חיישני CMOS בקצב 30 הרץ– הראשון מקלט להחזר ה-IR u והשני מתפקד כמצלמת RGB. בנוסף קיים מערך מיקרופונים בקצב דגימה של 16 קילוהרץ.מכשיר הקינקט מוגבל בזווית הפתיחה (57 מעלות לרוחב, 43 לגובה) ובטווח העצמים אשר את מרחקם הוא יכול לחזות במדוייק • מחשב נייד pc2 מותקן מערכת הפעלה windows. דור חדש זה של מחשבים הושק לראשונה בשנת 2007 ומיוצר ע"י חברת CompuLab הישראלית. • מכשיר smartphone מותקן מערכת הפעלה android. מכשיר האנדרואיד תפקידו לשמש ככוח העיבוד המרכזי, לב המערכת. • אוזניות
So how does it work ? Data transfer: Kinect to PC2 Raw Data Running server application Captures image
So how does it work ? Client application Input: Process raw data, generate depth matrix Run navigation algorithms Generate strings from algorithm results raw data
So how does it work ? Data transfer: PC2 to Android machine String output Server application Client application
So how does it work ? Server Application Input: Process string Determine instruction according to string Generate sound instructions string
So how does it work ? Data transfer: Android Machine to Ears Sound output Generate guiding instructions from string Play sound to user
The System’s Heart – Navigation Algorithms • בבסיסה של המערכת עומדים אלגוריתמי הנווט. • אלגוריתמים אלו מקבלים מידע גולמי של תמונת העומק של הסביבה הקרובה למשתמש. מטרתם, ע"י ניתוחים אלגוריתמים מתימטיים, היא לעבד מידע זה ולשלוח סיגנלים שניתן לייצר מהם הנחיות תנועה. • ככל שהאלגוריתמים יהיו טובים יותר כך המערכת תהיה מהימנה יותר ושימושית יותר • במסגרת הפרוייקט הראשון תכננו את האלגוריתמים הבאים:
Navigation by Shortest Distance – Stereo Beeps • Navigation by Shortest Distance – Stereo Beeps חלוקת מטריצת העומק לשני אזורים ולקיחת הערך המינימלי מכל אחד מהם. לאחר מכן העברת האינפורמציה למשתמש באופן סטראופוני – כל אוזן שומעת beepsבתדר שנקבע ביחס הפוך לערך המינימלי של החצי שלה • Hallway Navigation חלוקת מטריצת העומק לאזור ימני, אזור שמאלי ואזור אמצעי. חישוב הממוצע על כל אחד מהאזורים והכוונת המשתמש לאזור בעל הערך המקסימלי.
Train Object User swings object in front of camera Image is captured Object is segmented from background Cross validation algorithm is run at the background
Separate object from background - example Difference Image Threshold Erode & dilate Segmented motion Motion area mask
Find Object Receive object name from user and load object image from database Capture RGB and Depth image from kinect camera Run correlation algorithms including iterative correlation with different object image size Iterate till object is reached
Find Object האלגוריתם בוחן שימוש במרחבי צבע שונים ושימוש במטריקות שונות עבור חישוב הקורלציה
Matching techniques • טכניקות זיהוי אובייקטים שנבחנו
Challenges • יצירת Templates אוטומטית ורועשת • קושי בבחירת ערכי סף לקביעת קורלציה מוצלחת • בחירת אלגוריתם התאמה אמין וגנרי מספיק לאובייקטים מכל סוג • קושי בהשגת יעד הרובוסטיות של אלגוריתם החיפוש
Android GUI – user Interface התאמת הממשק לצרכי קהל היעד – • כפתורים נוחים. • ממשק משתמש אינטראקטיבי. • שליטה וחיווי קולית. • הסבר קולי על הפעלת התוכנית.
Summary 1 • בפרוייקט זה הצגנו אבטיפוס המשלב מספר אלמנטים לכדי מוצר אינטגרלי לצרכי ניווט עיוורים שהינו בעל פוטנציאל לעמוד בדרישות השוק. • יתרונותיו של המוצר הסופי הינם שהוא נייד, קל יחסית לנשיאה, פשוט לתפעול וזול יחסית לחלופות שלו. האלמנטים המשולבים במוצר: מצלמת קינקט, מחשב pc2, מכשיר אנדרואיד ואוזניות הינם מוצרים נפוצים בבתים רבים וזמינים לקניה בשוק הרחב במחירים סבירים. • נוסף לכך קיימת האפשרות לזיהוי אובייקטים נלמדים, אופציה שלא ראינו עדיין בשום פרוייקט או מוצר בשוק המתוכנן לעיורים.
Summary 2 – What did we learn? • במהלך הפרוייקט התנסינו בעבודה עם סביבות טכנולוגיה חדשות: • OpenNIfor Kinect • OpenCV for java • למידת הסיפריות של openCV עבור Java וכתיבת אפליקציה אשר קוראת את המידעמהמצלמה ומפעילה עליו אלגוריתמי עיבוד תמונה מתקדמים. • למידת סיפריות ה TCP-IPעבור Java וכתיבת מודול תקשורת בין אפליקצית Java על מחשב ברשת לבין Smartphoneבסביבת אנדרואיד. החיבוריות בין הsmartphone למחשב יכולה להתבצע גם דרך רשת אלחוטית. • למידת סביבת הפיתוח של Android ויצירת אפליקציה Multi-threaded במכשיר ה-Android אשר גם מעבירה אודיו למשתמש. • התקלות עם הנושא של אלגוריתמים בעיבוד תמונה, הקשיים בבידוד אובייקט מתוך תמונה ולאחר מכן הקשיים במציאת האובייקט בתמונה
Future Development • שיפור אלגוריתמי עיבוד התמונה • שדרוג חומרת החיישן • העברת העומס החישובי לשרת מרוחק • שימוש בטכניקות של מערכות לומדות לשדרוג האלגוריתמים • שימוש בחיווים נוספים (כגון רטט) בכדי להעביר מידע למשתמש