בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה...

28
בבבבב בבבב בבבבב בבבבבב בב בבבבבבבבבב- בב בב בבבבב בבבבבבב רררררר: ררררר ררררר רררררר רררר רר ררררררר רררר: ררר בבבבבב2004

Upload: presley

Post on 13-Jan-2016

69 views

Category:

Documents


11 download

DESCRIPTION

בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית. נובמבר 2004. מגישים: נוימן ליאור גלוזמן אלכס מנחה: מר טודטפלד ארי. מטרות הפרוייקט. מטרה ראשית פיתוח ממשק מחשב חדש מבוסס מצלמה, אשר מצלמת את כף ידו של המשתמש. כף היד נמצאת בתוך כפפה שעליה סמנים צבעוניים המשמשים לזיהוי. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

בניית ממשק למחשב המבוסס על פוזיציות של

כף-ידבכפפה צבעונית

גלוזמן אלכסמגישים: נוימן ליאור

מנחה: מר טודטפלד ארי

נובמבר 2004

Page 2: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

מטרות הפרוייקטמטרה ראשית

פיתוח ממשק מחשב חדש מבוסס מצלמה,אשר מצלמת את כף ידו של המשתמש.

כף היד נמצאת בתוך כפפה שעליה סמנים צבעוניים המשמשים לזיהוי.

מטרות ביניים

בניית כלי עבודה שיאפשרו עבודה נוחה בפיתוח הממשק

זיהוי מגוון רחב של פוזיציות של כף היד

בניית ישום שידגים את השימוש בממשק

Page 3: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

תיאור פיסי של המערכת כפפה עם סמנים צבעוניים המודבקים

עליה.

,מצלמה צבעונית הצופה כלפי מטה

מותקנת על עמדה מתאימה.

– כרטיס ללכידת תמונותRio frame

grabber

מראה המיועדת לתת אפשרות לזיהוי

מגוון רחב יותר של פוזיציות

בריסטול- לצמצום כמות הפרעות הרקע

- לצמצום כיולים דינאמיים אוטומטיים של המצלמה

Page 4: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

חלון מאגר פוזיציות

חלון וידאו לפני ואחרי עיבוד

Real-timeחלון בדיקת פוזיציות ב-

Page 5: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

מאגר הפוזיציות המזוהות

top fist

in pointlow hi

in twotop idle

in point right

top pick righttop two

top point

Page 6: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

מאגר הפוזיציות המזוהות

hiin picktop point left

in idle in click

המשך

Page 7: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

סידור הצבעים על הכפפה

צבעים אליהם 5בחרנו במבט מלמעלההתייחסנו

2בנוסף לכך התייחסנו ל- במראה צבעים

)כחול וסגול(.

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

צבעים

Page 8: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

זיהוי המבוסס על נוכחות צבעים Good/Bad colorsשיטת ה-

Good colors אלו הצבעים שחייבים להופיע על המסך לשם זיהוי פוזיציה מסוימת.

Bad colors.אלו הצבעים שאם יופיעו הפוזיציה לא תזוהה

Screen colors.אלו הצבעים שמופיעים בפועל על המסך

פסילת פוזיציה מתבצעת באחד מהתנאים הללו-(G and S ≠ G) או (B and S ≠ 0)

מוטיבציה ?

Page 9: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

בשתי התמונות יזוהה אותו מצבשאיפה:

Don’t-Careצורך בפונקציונאליות של ←

Good/Bad colorsשיטת ה- ←

לא זהה, עם הרכב-צבעים דומותשתי תמונות

Page 10: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

זיהוי המבוסס על מרחקים בין צבעים

מרחקים אליהם התייחסנו6בחרנו

מרחקים במבט מלמעלה5- - מרחק אחד במבט מן המראה

iהנוסחה לחישוב ובדיקת המרחק ה-

כלומר המרחק מתאים אם הפרשו מהמרחק הצפוי נמצא ב"שרוול" המותר

exp,1 ,2 ,1 ,2) ( ) (global

normalizationmeasi i i i iP P k P P Tol

המרחקמחוץ לתחום

Ideal - Tol Ideal + Tolideal (normalized)

המרחק בתחום המותרהמרחק

מחוץ לתחום

Page 11: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

)1(חילוץ מאפיינים מן התמונה

עבור כל פיקסל בתמונה...

כן

על פי הצבענעדכן את....

סכום שיעורי 1.xה-

סכום שיעורי 2.yה-

מספר 3.הפיקסלים

בצבע זה

האם צבע הפיקסלמתאים לאחד הצבעים שאנו

מחפשים ?

(x, y, Color)

בסיום המעבר על כל הפיקסלים בתמונה –

לכל צבע נצברו שלושה סכומים

Page 12: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

)2(חילוץ מאפיינים מן התמונה

xסכום שיעורי ה-1.לכל צבע...

yסכום שיעורי ה-2.

מספר הפיקסלים3.בצבע זה -

1

1

pixels

pixelsN

i Centroid nN n

P P P

PixelsN Threshold

?

לא

הצבע איננו קיים בתמונה

1 2) , (meas meask P Pdistance f

כןPixelsN

לכל צבע בנפרד...

* http://www.csc.calpoly.edu/~aywang/ATR/Centroid.c

חישובמרכזי

*מסה

חישובימרחקים

Page 13: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

דיאגרמת בלוקיםפתרון נאיבי

דגימה של כל תמונהגודל התמונה

זהה: פוזיציה שעברה סינון

מציאת מרכזי מסה של

צבעי הסמנים

עם סינון פוזיציותמטריצת-מרחקים

שונה מהדגום

סינון פוזיציות עם ב -צבעים ֵּכ" ר$ ה% שונה מהדגום

כל פוזיציה מוגדרת ע"י:

הצבעים הנראים בה ממבט המצלמה1.

מטריצת מרחקים של כל הצבעים הנראים (סימטרית)2.

Page 14: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

תמונהדגימה של כל גודל התמונה

סינון פוזיציות עם מטריצת-מרחקי

ם שונה מהדגום

זהה פוזיציה שעברה סינון

מציאת מרכזי מסה של

צבעי הסמנים

סינון פוזיציות עם ב -צבעים ֵּכ" ר$ ה% שונה מהדגום

פתרון נאיבי - בעיות ← זיהוי צבעים בעייתי תאורה משתנה

← חישוב מרכזי-מסה בעייתי

←כנ"לAWB( (איזון לבן אוטומטיהמצלמה מבצעת

ברחבי התמונה, הרבה רעש בשוליים ← חישוב מרכזי-מסה בעייתירעש

– מטריצת המרחקים גדולה שלא לצורך האיברים 49 מתוך שונות מדידות 21 מכילה רק 7x7 צבעים מטריצה 7עבור

המדידות רק חלק נחוצות ← סיבוך העבודה21במטריצה. כמו כן כנראה שמתוך

Page 15: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

פיקסלים ← עיבוד התמונה מתבצע על כל נקודהx 288 384 - רזוליציית הדגימה נקודות בקירוב ← עיבוד ארוך ← תגובה איטית יחסית2,760,000מבין

←מדידה לא עקבית של מרחקיםגובה מצלמה משתנהעבודה במקומות שונים -

- יתכן שיותר מפוזיציה אחת תתאים (כלומר תעבור את הסינון)אמביוולנטיות

(המשך) פתרון נאיבי - בעיות

תמונהדגימה של כל גודל התמונה

סינון פוזיציות עם מטריצת-מרחקי

ם שונה מהדגום

זהה פוזיציה שעברה סינון

מציאת מרכזי מסה של

צבעי הסמנים

סינון פוזיציות עם ב -צבעים ֵּכ" ר$ ה% שונה מהדגום

Page 16: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

פתרון בעיית תאורה משתנהובעיית איזון-לבן-אוטומטי של המצלמה

HSV ל- RGB המרה מ-

!השפעת עוצמת ההארה בחדר הוקטנה – עדיין קיימת

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

לתמונה המצולמתGamma-Correction ביצועי )1 (כל הפיקסלים מועלים באותה החזקה, המעריך קרוב ל-

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

שימוש ברקע לבן לתמונה המצולמת ...פשוט, זול, עובד תמיד

הצעות לפתרון

http://www.betterdigitalonline.com/HTML%20Files/whitebalance.htmlhttp://www.pmdo.com/download/OV7620.pdf

Page 17: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

פתרון בעיות רעש בתמונהרועשת HSVבאופן כללי התמונה במישור

HSVחיתוך בסף של התמונה במרחב

ניתן לבצע מס' חיתוכים-בסף על פי צבעי הסמנים – מחייב בחירה בנוסף יידרשו כיולים. רובסטית של הצבעים וכן ניסוי וטעייה.

קטימת מעט משולי התמונה, שנתגלו כרועשים במיוחד. שיפור אזורי השוליים אינם בעלי חשיבות מכרעת – הרעש מחוסל עם

בביצועים

הצעות לפתרון

Page 18: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

פתרון בעיית עקביות במדידת מרחקים

הצעה לפתרון

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

Page 19: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

פתרון בעיית מטריצת המרחקים

בחירת המרחקים הנחוצים בלבד-או פחות, 6 לכ-49צמצמנו את מספר המרחקים הנשמרים והנבדקים מכ

המרחקים כלל.6בהתאם לצורך. ישנן פוזיציות שלא זקוקות לכל

הצעה לפתרון

0 11 12 14 17 21 2611 0 13 15 18 22 2712 13 0 16 19 23 2814 15 16 0 20 24 2917 18 19 20 0 25 3021 22 23 24 25 0 3126 27 28 29 30 31 0

0 11 12 14 17 21 2611 0 13 15 18 22 2712 13 0 16 19 23 2814 15 16 0 20 24 2917 18 19 20 0 25 3021 22 23 24 25 0 3126 27 28 29 30 31 0

0 11 12 14 17 21 2611 0 13 15 18 22 2712 13 0 16 19 23 2814 15 16 0 20 24 2917 18 19 20 0 25 3021 22 23 24 25 0 3126 27 28 29 30 31 0

Page 20: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

)1(פתרון בעיית תגובה איטית

העיבוד המקדיםמתרחש לכל פיקסל שנדגם

השכיחות: מנחה אותנו להאיץ את הפעולות Amdahlחוק

מועמד טוב לשיפור

ל- *האצת ההמרה המקורית:HSVחישוב בשלמים בלבד מדידתFPS"כל מס' שניות: אינדיקציה על תהליכי עיבוד "יקרים אפשרות לנטרול מראש של תהליכי עיבוד בלתי נחוציםאפשרות לקטימת שוליים רחבים יותר

(מעבר לנדרש לצורך סינון רעשים)

* http://research.compaq.com/SRC/m3sources/html/color/src/Color.m3.html#ToHSV

Page 21: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

)2(פתרון בעיית תגובה איטית

Down-Sampling משני הצירים – בכל אחדדילוג על כל פיקסל שני

4מתקבלת דגימה קרטזית בצפיפות מרחבית נמוכה פי

הצעות לפתרון

דילוג על כל אלכסון שני בתמונה – מתקבלת דגימה בשריג אלכסוני

2בצפיפות מרחבית נמוכה פי

Page 22: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

)3(פתרון בעיית תגובה איטית

Trade-Off ?

שיפור בביצועים ירידה ברובסטיות בזיהוי צבעים ומרכזים

שתי הדרכים פשוטות למימוש! בחרנו בדרך(דילוג על כל פיקסל שני בכל אחד משני מהצירים)הראשונה

מסתבר שהאלגוריתם לא סובל במיוחד מהירידה ברובסטיות, לעומת זאת השיפור בביצועים מורגש

Page 23: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

פתרון בעיית ריבוי פוזיציות מתאימות

הגדרת מדד להתאמה של פוזיציה; בחירה של זו הממקסמת את המדד:מינימום השגיאה המוחלטתהמדד שנבחר הוא

אינם משחקים כאן תפקיד)tolerances(ה-

הצעה לפתרון

, ,i meas i ideali

Err Dist Dist

תזכורת לפי הרכב-הצבעים והמרחקים !שעברו סינון עבור הפוזיציות רקהבעיה מתעוררת

Page 24: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

דיאגרמת בלוקיםסיכום הפתרון שנבחר

תמונהעל רקע לבן

ל RGBמעבר מ HSV . אפשרות

gammaלתיקון

קטימת שוליים

וחיתוך בסף

זהה את כל הפוזיציות שעברו סינון

ומתוכן את זו עםמינימום השגיאה

דגימה מדוללת- רבע מהנקודות

עם סינון פוזיציותוקטור-מרחקים

שונה מהדגום,שימוש toleranceב

סינון פוזיציות עםב-צבעים ֵּכ" ר$ ה%

שונה מהדגום. צבעים טובים/רעים

נרמול מרחק בין המצלמה

לכפפה

מציאת מרכזי מסה של צבעי

הסמנים

Page 25: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

משחק-הדגמה

תמצית הרעיון

נבנה משחק קטן של זיהוי פוזיציות

תוצאות עד ליצירת המשחק מנוע הזיהוי הפיקרק עבור המסך

כעת מנוע הזיהוי משמש כשרת עבור המשחק

המנוע יכול לשרת "לקוחות" נוספים

Page 26: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

תוצאותתוצאות פוזיציות14זיהוי מוצלח של

הוכחת כדאיות של שימוש במראה

המע' לא נבדקה בפועל עם משתמשים נוספים, אך ניתן לכייל את המערכת לכל משתמש

זיהוי בזמן-אמת ובקצב מקסימלי במגבלות החומרה

בין רגישות לבעיות תאורה לבין מס' הצבעים על הכפפהTrade-Offקיים

יצרנו מעין סביבת עבודה עבור החומרה הנתונה, בה ניתן לעשות שימוש גם בעתיד

Page 27: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

למערכתלמידההכנסת אלמנט של

= התייחסות לזמני-מעבר בין פוזיציות, הוספת "זיכרון" לזיהויזיהוי תנועה

במקום המרחקים האבסולוטיים הקיימים ובמקום נרמול מרחקים.מרחקים יחסייםמעבר לחישוב של

האוקלידי בפונקציה אחרת של נקודות -החלפת פונקצית המרחקמאפשר עלייה לממדים גבוהים יותר של הקלט:

-על מנת לשפר את הזיהוי-על מנת לתמוך בחילוץ נתונים נוספים מהתמונה

.UMLהוספת תיעוד בפורמט

רעיונות להמשך/הרחבת הפרויקט

.HSVמסך וידאו – ממשק שימושי, בעיקר (ולא רק) אם מדובר ב-

התוכנה כולה יכולה לשמש לזיהוי/מעקב אחר עצמים צבעוניים, למשל: זיהוי קיום של עצמים בתמונה, התקרבות/התנגשות וכד'

כיצד ניתן להשתמש בעבודה שנעשתה ?

רעיונות להמשך...

Page 28: בניית ממשק למחשב המבוסס על פוזיציות של כף-יד בכפפה צבעונית

! ד הות ! ד הות לארי

קובי ואורלילארי

קובי ואורלי

...נהנינו...נהנינו