SlideShare a Scribd company logo
1 of 1
Download to read offline
‫ניטור‬‫מערכת‬ ‫בעזרת‬ ‫קריאה‬Eye Tracking
Reading Detection Algorithm
‫האלגוריתם‬ ‫לפיתוח‬ ‫ושיקולים‬ ‫שלבים‬-
‫בדיקת‬‫ההתפלגות‬‫של‬‫ההפרש‬‫בין‬2‫נק‬'‫מבט‬‫עוקבות‬‫בזמן‬‫על‬‫ציר‬x‫ועל‬‫ציר‬y‫בעזרת‬
‫היסטוגרמות‬.‫קבלת‬‫פונקציית‬‫היסטוגרמה‬‫הנראית‬‫כהתפלגות‬‫גאוסיינית‬.‫ולכן‬,‫קביעת‬dx
‫ו‬-dy(‫הפרש‬‫בין‬‫שתי‬‫נקודות‬‫עוקבות‬‫בפיקסלים‬‫המתאימים‬‫למצב‬‫קריאה‬)‫לפי‬‫חישוב‬
‫סטיית‬‫התקן‬‫של‬‫ההיסטוגרמות‬.
‫דרישת‬Intel‫ליכולת‬Soft-RealTime,‫מתוך‬‫כך‬‫חלוקת‬‫כל‬frame‫למקטעים‬‫של‬100
‫דגימות‬‫והרצת‬‫האלגוריתם‬‫על‬‫כל‬‫מקטע‬‫ומקטע‬.
‫מבצעים‬:‫שי‬ ‫גל‬,‫אורי‬‫לומניץ‬
‫מנחים‬:‫ד‬"‫אינה‬ ‫גפן‬ ‫ר‬,‫רופין‬ ‫האקדמי‬ ‫המרכז‬//‫אמיר‬ ‫בוסני‬ ‫מר‬,‫חברת‬""Intel
‫רקע‬-
‫בעולם‬‫הטכנולוגי‬‫של‬‫ימינו‬‫האדם‬‫נחשף‬‫לתכנים‬‫רבים‬‫בעת‬‫השימוש‬‫בסמארטפון‬,
‫בטאבלט‬‫או‬‫במחשב‬.‫תכנים‬‫אלו‬‫יכולים‬‫להיות‬‫פרסומיים‬,‫חינוכיים‬‫או‬‫פשוט‬‫תכני‬
‫העשרה‬‫לשעות‬‫הפנאי‬.‫בעזרת‬‫מערכת‬‫אשר‬‫מזהה‬‫את‬‫הנקודות‬‫אליהן‬‫מביט‬‫המשתמש‬
‫ומעבדת‬‫את‬‫מידע‬‫זה‬‫ניתן‬‫להבין‬‫את‬‫אופי‬‫השימוש‬‫שלו‬,‫לשפר‬‫את‬‫חווית‬‫השימוש‬‫ואף‬
‫לעזור‬‫לו‬‫לשפר‬‫את‬‫יכולותיו‬-‫למשל‬‫בקריאה‬.‫על‬‫מנת‬‫ליישם‬‫רעיונות‬‫אלו‬‫פותחו‬‫מערכות‬
‫שונות‬‫בעלות‬‫עיקרון‬‫פעולה‬‫דומה‬-‫שידור‬‫קרני‬IR‫לעבר‬‫עיני‬‫המשתמש‬‫וקליטת‬‫ההחזר‬
‫בעזרת‬‫מצלמת‬IR,‫את‬‫המידע‬‫המתקבל‬‫מהמצלמה‬‫ניתן‬‫לעבד‬‫בצורות‬‫שונות‬.
‫הפרויקט‬ ‫מטרת‬-
‫חברת‬Intel‫שיבצה‬‫בתוך‬‫טאבלט‬‫מערכת‬‫לזיהוי‬‫נקודות‬‫המבט‬‫של‬‫המשתמש‬–
eye tracking system‫כאשר‬‫ברצונה‬‫לעבד‬‫את‬‫המידע‬‫המתקבל‬‫ע‬"‫פ‬‫הגדרות‬
‫ברורות‬,‫מטרותינו‬‫בפרויקט‬‫היו‬‫לענות‬‫על‬‫הגדרות‬‫אלה‬‫בצורה‬‫הבאה‬:
•‫פיתוח‬‫אלגוריתם‬‫שיידע‬‫לזהות‬‫האם‬‫מתקיימת‬‫קריאה‬‫אמתית‬‫של‬‫טקסט‬‫או‬
‫שמא‬"‫רפרוף‬".‫נדרש‬‫אלגוריתם‬‫שידע‬‫לעבוד‬‫ב‬-Soft-RealTime(5-7‫שניות‬
‫מזמן‬‫ההתרחשות‬).
•‫איזו‬‫שורה‬‫נקראת‬‫בנקודת‬‫זמן‬‫מסוימת‬.
•‫תוצרי‬‫הפרויקט‬‫יהיו‬‫מאגר‬‫נתונים‬‫רחב‬‫אשר‬‫יספק‬‫מידע‬‫אודות‬‫דפוסי‬‫קריאה‬
‫שונים‬,‫אלגוריתם‬‫שיעבד‬‫את‬‫הנתונים‬‫הנרכשים‬‫מהמערכת‬‫שפותחה‬‫ע‬"‫י‬
"‫אינטל‬"‫וייתן‬‫פתרון‬‫למגוון‬‫דפוסי‬‫הקריאה‬.
‫האלגוריתם‬‫ייכתב‬‫בשפת‬Matlab‫ע‬"‫פ‬‫בחירתנו‬.
‫המערכת‬ ‫תיאור‬-
‫מערכת‬‫בנויה‬‫ממספר‬‫מרכיבים‬:
•‫טאבלט‬-‫בעל‬‫מערכת‬‫הפעלה‬‫של‬Windows,‫מכיל‬‫את‬‫מערכת‬‫העקיבה‬‫של‬
‫חברת‬SMI‫אשר‬‫דוגמת‬‫את‬‫נקודות‬‫המבט‬‫של‬‫המשתמש‬‫בקצב‬‫של‬30
‫דגימות‬‫בשניה‬.
•‫אפליקציה‬-‫פותחה‬‫על‬‫ידנו‬‫בשפת‬C#‫ובה‬‫מגוון‬‫טקסטים‬‫לקריאה‬.‫על‬
‫בסיסה‬‫נבנה‬‫מאגר‬‫הנתונים‬‫שאותו‬‫עיבדנו‬.
•‫אלגוריתם‬-‫נכתב‬‫בשפת‬Matlab,‫בעזרתו‬‫מתבצעת‬‫האבחנה‬‫האם‬
‫התבצעה‬‫קריאה‬‫או‬‫לא‬,‫ובנוסף‬‫באיזו‬‫שורה‬‫המשתמש‬‫מביט‬.
‫גרף‬1.‫סיווג‬
‫המבט‬ ‫נקודות‬
‫ע‬ ‫במרחב‬"‫פ‬
‫האלגוריתם‬
‫עבור‬frame 2.
‫איור‬1-‫הטאבלט‬
‫משובצת‬ ‫בו‬
‫העקיבה‬ ‫מערכת‬
dx
dy
80100120140
2510.3±3.9
(11.3±6)
10±6.1
(10±6.1)
7.5±3.3
(8.3±4.9)
6.3±3
(7±4.3)
3510.5±3.7
(11.5±5.88)
9±3.8
(10.2±6.2)
7.6±3.1
(8.5±5)
6.5±2.8
(7.2±4.3)
4510.6±3.6
(11.6±5.9)
9.2±3.6
(10.3±6.1)
7.7±3
(8.8±5.9)
6.7±2.8
(7.5±4.95)
5510.7±3.7
(6.411.8±)
9.4±3.8
(10.4±6)
8±3.3
(8.95±5.8)
6.8±2.8
(7.6±4.85)
‫תוצאות‬-
‫קבוצת‬‫המדגם‬‫שלנו‬‫מונה‬‫כ‬-80‫נבדקים‬‫אשר‬‫ביצעו‬‫את‬‫הניסוי‬‫וקראו‬‫את‬
‫הטקסטים‬‫השונים‬.‫חלק‬‫מהנבדקים‬‫קראו‬‫רק‬‫את‬‫הטקסטים‬‫בעברית‬
‫וחלקם‬‫קראו‬‫בנוסף‬‫את‬‫הטקסטים‬‫באנגלית‬.
‫האלגוריתם‬‫סיווג‬‫את‬‫נקודות‬‫המבט‬‫של‬‫הנבדק‬‫ל‬-3‫אפשרויות‬‫כדלקמן‬-
1.‫נקודות‬‫בהן‬‫בוצעה‬‫קריאה‬–‫נקודות‬‫אלו‬‫עמדו‬‫בכל‬‫התנאים‬‫המגדירים‬
‫קריאה‬‫ולכן‬‫סומנו‬‫בגרף‬‫בירוק‬(‫גרף‬1).
2.‫נקודות‬‫בהן‬‫היה‬‫מעבר‬‫שורה‬–‫בנקודות‬‫אלו‬‫זיהה‬‫האלגוריתם‬‫שהייתה‬
‫קפיצה‬‫גדולה‬‫בין‬‫שתי‬‫נקודות‬‫עוקבות‬‫בזמן‬‫בציר‬X‫ואילו‬‫בציר‬Y‫הקפיצה‬
"‫מותרת‬".‫נקודות‬‫אלו‬‫מסומנות‬‫בגרף‬‫בעיגול‬‫אדום‬(‫גרף‬1)
3.‫נקודות‬‫בהן‬‫לא‬‫בוצעה‬‫קריאה‬–‫בנקודות‬‫אלה‬‫האלגוריתם‬‫לא‬‫מצא‬
‫שהייתה‬‫איזשוהי‬‫התנהגות‬‫המהווה‬‫קריאה‬‫ולכן‬‫סימן‬‫את‬‫נקודות‬‫אלו‬
‫בכחול‬(‫גרף‬1)
‫הפרמטרים‬‫שנבדקו‬‫על‬‫מנת‬‫להעריך‬‫את‬‫איכות‬‫האלגוריתם‬–
Hit-Rate–‫מספר‬‫השורות‬‫שהאלגוריתם‬‫זיהה‬‫ביחס‬‫למספר‬‫השורות‬
‫הקיימות‬‫ב‬frame,‫חישוב‬‫תוחלת‬‫של‬‫מספר‬‫השורות‬‫שהתגלו‬‫עבור‬‫כל‬
‫הנבדקים‬‫ב‬frame‫נבחר‬.
‫ניתן‬‫לראות‬‫מהטבלה‬‫שהערכים‬‫האופטימליים‬‫הם‬dx/dy=120/45,55,‫שם‬
‫התוחלת‬‫קרובה‬‫מאוד‬‫למספר‬‫הגילויים‬‫הרצוי‬(8‫גילויים‬‫עבור‬9‫שורות‬)
‫וסטיית‬‫התקן‬‫גבוהה‬‫אך‬‫מינימלית‬.‫תוצאות‬‫האלגוריתם‬‫על‬‫מידע‬‫אשר‬‫עבר‬
‫אינטרפולציה‬‫בלבד‬(‫ללא‬‫מיצוע‬),‫משמע‬‫כמות‬‫נק‬'‫מבט‬‫כפולה‬‫בכל‬‫עמוד‬,
‫לא‬‫השתפרו‬‫אלא‬‫הראו‬‫תוחלת‬‫וסטיית‬‫תקן‬‫גדולות‬‫יותר‬(mean=8.7,
std=5.2).
‫מסקנות‬-
‫מס‬ ‫זיהוי‬'‫שורות‬‫גדול‬/‫ממס‬ ‫קטן‬'‫הקיים‬ ‫השורות‬-‫זה‬ ‫דפוס‬ ‫כאשר‬‫נבדק‬ ‫אצל‬ ‫זוהה‬‫הראשונים‬ ‫העמודים‬ ‫בשני‬,‫העמודים‬ ‫שאר‬ ‫בכל‬ ‫גם‬ ‫זוהה‬ ‫הוא‬.‫נק‬ ‫כמות‬ ‫בצירוף‬ ‫זה‬ ‫דבר‬'‫גדולה‬
‫טקסט‬ ‫על‬ ‫מרובה‬ ‫חזרה‬ ‫על‬ ‫מעיד‬ ‫שורה‬ ‫בכל‬.‫והתוחלת‬ ‫התקן‬ ‫סטיית‬ ‫את‬ ‫משמעותית‬ ‫הגדיל‬ ‫זה‬ ‫מצב‬.
‫מהעוקב‬ ‫מידע‬ ‫בקבלת‬ ‫חוסר‬(x=0,y=0)‫ופגיעה‬‫האלגוריתם‬ ‫של‬ ‫הגילוי‬ ‫באיכות‬,‫הבאים‬ ‫הגורמים‬ ‫עקב‬-
‫עיניים‬ ‫צבע‬:‫נק‬ ‫את‬ ‫לזהות‬ ‫קשה‬ ‫היה‬ ‫העקיבה‬ ‫למערכת‬ ‫כי‬ ‫לראות‬ ‫היה‬ ‫ניתן‬'‫כהות‬ ‫עיניים‬ ‫בעלי‬ ‫בנבדקים‬ ‫המבט‬(‫בעיקר‬ ‫שחורות‬.)
‫קשב‬ ‫בעיות‬‫וריכוז‬:‫של‬ ‫רקע‬ ‫קולות‬ ‫כגון‬ ‫גירויים‬ ‫עקב‬ ‫המסך‬ ‫מן‬ ‫מבטם‬ ‫את‬ ‫להסיט‬ ‫הרבו‬ ‫וריכוז‬ ‫קשב‬ ‫בעיות‬ ‫בעלי‬ ‫נבדקים‬‫אנשים‬.
‫חומרה‬-‫תדר‬‫העקיבה‬ ‫מערכת‬ ‫של‬ ‫הדגימה‬Hz)30(:‫מידע‬ ‫פחות‬ ‫מספק‬ ‫ולכן‬ ‫בשוק‬ ‫אחרות‬ ‫למערכות‬ ‫ביחס‬ ‫נמוך‬(‫נק‬'‫מבט‬),‫הנתונים‬ ‫בעיבוד‬ ‫השגיאה‬ ‫את‬ ‫מגדיל‬ ‫זה‬ ‫דבר‬.
‫מערכת‬ ‫שגיאת‬:‫בציר‬ ‫יציבות‬ ‫חוסר‬ ‫העקיבה‬ ‫למערכת‬y,‫נק‬ ‫לפיזור‬ ‫גורם‬ ‫אשר‬ ‫דבר‬'‫בציר‬ ‫המבט‬y‫אי‬ ‫על‬ ‫להצביע‬ ‫ויכול‬-‫שהתבצעה‬ ‫למרות‬ ‫קריאה‬‫קריאה‬.
‫בשפת‬ ‫נכתב‬ ‫האלגוריתם‬Matlab‫הטאבלט‬ ‫על‬ ‫אותו‬ ‫להריץ‬ ‫ניתן‬ ‫ולא‬(‫לשפת‬ ‫להעביר‬ ‫צורך‬ ‫יש‬C),‫נכונות‬ ‫את‬ ‫ולבדוק‬ ‫הקורא‬ ‫נמצא‬ ‫שורה‬ ‫באיזה‬ ‫לבדוק‬ ‫אמת‬ ‫בזמן‬ ‫ניתן‬ ‫לא‬ ‫לכן‬
‫הנבדק‬ ‫קורא‬ ‫אותה‬ ‫הספציפית‬ ‫השורה‬ ‫זיהוי‬ ‫לגבי‬ ‫האלגוריתם‬.
‫טבלה‬1.‫תוחלת‬‫ושונות‬‫של‬‫מספר‬‫השורות‬
‫שהתגלו‬‫לאחר‬‫סינון‬‫הנבדקים‬‫החריגים‬,‫עבור‬
frame 1,‫בסגריים‬‫הנתונים‬‫של‬‫כלל‬‫הנבדקים‬‫יחד‬
2.7
2.75
2.8
2.85
2.9
2.95
3
3.05
3.1
x 10
5
0 200 400 600 800 1000 1200 1400
0
1000
2000
time[msec]
X [pixels]
3D gaze points classification
Y[pixels]
non reading points
line break points
reading pattern points
‫ל‬ ‫המידע‬ ‫חלוקת‬-frames
‫הנקודות‬ ‫עבור‬ ‫אינטרפולציה‬
‫מידע‬ ‫סיפק‬ ‫לא‬ ‫העוקב‬ ‫בהן‬
(x,y=0)
‫שתי‬ ‫כל‬ ‫של‬ ‫בזמן‬ ‫מיצוע‬
‫עוקבות‬ ‫נקודות‬
‫בציר‬ ‫ההפרש‬ ‫האם‬ ‫בדיקה‬X
‫ו‬Y‫נקודות‬ ‫שתי‬ ‫כל‬ ‫עבור‬
‫להפרש‬ ‫מתאים‬ ‫עוקבות‬
‫קריאה‬ ‫של‬ ‫אופייני‬
‫קריאה‬ ‫מצב‬,‫זה‬ ‫במצב‬
‫הערך‬ ‫נכנס‬1(‫קריאה‬)
‫הנק‬ ‫את‬ ‫שמייצג‬ ‫למקום‬'
‫הזמנים‬ ‫בוקטור‬.
‫הייתה‬ ‫ציר‬ ‫באיזה‬ ‫בדיקה‬
"‫קפיצה‬"‫מהמותר‬ ‫גדולה‬.
‫בציר‬ ‫קפיצה‬
X‫ו‬Y
"‫רפרוף‬"?
‫אקראית‬ ‫קפיצה‬
‫וחזרה‬?
‫על‬ ‫מבט‬
‫תמונה‬?
‫מעבר‬
‫שורה‬?
‫בציר‬ ‫קפיצה‬
X‫בלבד‬
‫מעבר‬
‫שורה‬?
‫אי‬
‫קריאה‬?
‫אקראית‬ ‫קפיצה‬
‫וחזרה‬?
‫בציר‬ ‫קפיצה‬Y
‫בלבד‬
‫אקראית‬ ‫קפיצה‬
‫וחזרה‬?
‫קריאה‬ ‫אי‬?
‫הערך‬ ‫הכנסת‬0‫למקום‬
‫הנק‬ ‫את‬ ‫שמייצג‬'‫בוקטור‬
‫הזמנים‬
‫הערך‬ ‫הכנסת‬2‫למקום‬
‫הנק‬ ‫את‬ ‫שמייצג‬'‫בוקטור‬
‫הזמנים‬
‫על‬ ‫חזרה‬
‫טקסט‬?
‫איור‬2-‫תרשים‬
‫את‬ ‫המתאר‬ ‫זרימה‬
‫האלגוריתם‬
‫כן‬ ‫לא‬

More Related Content

Similar to Reading Detection Algorithm-poster final

Ekran - פתרון אבטחת מידע לניטור, הקלטה, והתרעה מפני איום הסייבר הפנימי
Ekran - פתרון אבטחת מידע לניטור, הקלטה, והתרעה מפני איום הסייבר הפנימיEkran - פתרון אבטחת מידע לניטור, הקלטה, והתרעה מפני איום הסייבר הפנימי
Ekran - פתרון אבטחת מידע לניטור, הקלטה, והתרעה מפני איום הסייבר הפנימיRan Adini
 
איזיק עמוס - שילוט דרכים אלקטרוני מואר הנשלט מרחוק
איזיק עמוס - שילוט דרכים אלקטרוני מואר הנשלט מרחוקאיזיק עמוס - שילוט דרכים אלקטרוני מואר הנשלט מרחוק
איזיק עמוס - שילוט דרכים אלקטרוני מואר הנשלט מרחוקAmos Aizik
 
בוטקאמפ תכנות
בוטקאמפ תכנותבוטקאמפ תכנות
בוטקאמפ תכנותMuhammad Waqas
 
Introduction To Malware Analysis & Reverse Engineering
Introduction To Malware Analysis & Reverse EngineeringIntroduction To Malware Analysis & Reverse Engineering
Introduction To Malware Analysis & Reverse Engineeringyarden hanan
 
אלעד מערכות_08-09
אלעד מערכות_08-09אלעד מערכות_08-09
אלעד מערכות_08-09Vigen Shahbazian
 
סייבר וסאס בגלובס 28 10-2014
סייבר וסאס בגלובס 28 10-2014סייבר וסאס בגלובס 28 10-2014
סייבר וסאס בגלובס 28 10-2014Anochi.com.
 
Introduction to malware analysis & reverse engineering
Introduction to malware analysis & reverse engineeringIntroduction to malware analysis & reverse engineering
Introduction to malware analysis & reverse engineeringyarden hanan
 
פסיכולוגיה קוגניטיבית וארכיטקטורת מידע – מתיאוריה לפרקטיקה
פסיכולוגיה קוגניטיבית וארכיטקטורת מידע – מתיאוריה לפרקטיקהפסיכולוגיה קוגניטיבית וארכיטקטורת מידע – מתיאוריה לפרקטיקה
פסיכולוגיה קוגניטיבית וארכיטקטורת מידע – מתיאוריה לפרקטיקהAnat Snir
 
Introduction to malware analysis & reverse engineering
Introduction to malware analysis & reverse engineeringIntroduction to malware analysis & reverse engineering
Introduction to malware analysis & reverse engineeringyarden hanan
 

Similar to Reading Detection Algorithm-poster final (12)

Ekran - פתרון אבטחת מידע לניטור, הקלטה, והתרעה מפני איום הסייבר הפנימי
Ekran - פתרון אבטחת מידע לניטור, הקלטה, והתרעה מפני איום הסייבר הפנימיEkran - פתרון אבטחת מידע לניטור, הקלטה, והתרעה מפני איום הסייבר הפנימי
Ekran - פתרון אבטחת מידע לניטור, הקלטה, והתרעה מפני איום הסייבר הפנימי
 
HTML5, ווב נייד ותקנים פתוחים ברשת
HTML5, ווב נייד ותקנים פתוחים ברשת HTML5, ווב נייד ותקנים פתוחים ברשת
HTML5, ווב נייד ותקנים פתוחים ברשת
 
Cecile
CecileCecile
Cecile
 
איזיק עמוס - שילוט דרכים אלקטרוני מואר הנשלט מרחוק
איזיק עמוס - שילוט דרכים אלקטרוני מואר הנשלט מרחוקאיזיק עמוס - שילוט דרכים אלקטרוני מואר הנשלט מרחוק
איזיק עמוס - שילוט דרכים אלקטרוני מואר הנשלט מרחוק
 
בוטקאמפ תכנות
בוטקאמפ תכנותבוטקאמפ תכנות
בוטקאמפ תכנות
 
Introduction To Malware Analysis & Reverse Engineering
Introduction To Malware Analysis & Reverse EngineeringIntroduction To Malware Analysis & Reverse Engineering
Introduction To Malware Analysis & Reverse Engineering
 
Selenium WebDriver
Selenium WebDriverSelenium WebDriver
Selenium WebDriver
 
אלעד מערכות_08-09
אלעד מערכות_08-09אלעד מערכות_08-09
אלעד מערכות_08-09
 
סייבר וסאס בגלובס 28 10-2014
סייבר וסאס בגלובס 28 10-2014סייבר וסאס בגלובס 28 10-2014
סייבר וסאס בגלובס 28 10-2014
 
Introduction to malware analysis & reverse engineering
Introduction to malware analysis & reverse engineeringIntroduction to malware analysis & reverse engineering
Introduction to malware analysis & reverse engineering
 
פסיכולוגיה קוגניטיבית וארכיטקטורת מידע – מתיאוריה לפרקטיקה
פסיכולוגיה קוגניטיבית וארכיטקטורת מידע – מתיאוריה לפרקטיקהפסיכולוגיה קוגניטיבית וארכיטקטורת מידע – מתיאוריה לפרקטיקה
פסיכולוגיה קוגניטיבית וארכיטקטורת מידע – מתיאוריה לפרקטיקה
 
Introduction to malware analysis & reverse engineering
Introduction to malware analysis & reverse engineeringIntroduction to malware analysis & reverse engineering
Introduction to malware analysis & reverse engineering
 

Reading Detection Algorithm-poster final

  • 1. ‫ניטור‬‫מערכת‬ ‫בעזרת‬ ‫קריאה‬Eye Tracking Reading Detection Algorithm ‫האלגוריתם‬ ‫לפיתוח‬ ‫ושיקולים‬ ‫שלבים‬- ‫בדיקת‬‫ההתפלגות‬‫של‬‫ההפרש‬‫בין‬2‫נק‬'‫מבט‬‫עוקבות‬‫בזמן‬‫על‬‫ציר‬x‫ועל‬‫ציר‬y‫בעזרת‬ ‫היסטוגרמות‬.‫קבלת‬‫פונקציית‬‫היסטוגרמה‬‫הנראית‬‫כהתפלגות‬‫גאוסיינית‬.‫ולכן‬,‫קביעת‬dx ‫ו‬-dy(‫הפרש‬‫בין‬‫שתי‬‫נקודות‬‫עוקבות‬‫בפיקסלים‬‫המתאימים‬‫למצב‬‫קריאה‬)‫לפי‬‫חישוב‬ ‫סטיית‬‫התקן‬‫של‬‫ההיסטוגרמות‬. ‫דרישת‬Intel‫ליכולת‬Soft-RealTime,‫מתוך‬‫כך‬‫חלוקת‬‫כל‬frame‫למקטעים‬‫של‬100 ‫דגימות‬‫והרצת‬‫האלגוריתם‬‫על‬‫כל‬‫מקטע‬‫ומקטע‬. ‫מבצעים‬:‫שי‬ ‫גל‬,‫אורי‬‫לומניץ‬ ‫מנחים‬:‫ד‬"‫אינה‬ ‫גפן‬ ‫ר‬,‫רופין‬ ‫האקדמי‬ ‫המרכז‬//‫אמיר‬ ‫בוסני‬ ‫מר‬,‫חברת‬""Intel ‫רקע‬- ‫בעולם‬‫הטכנולוגי‬‫של‬‫ימינו‬‫האדם‬‫נחשף‬‫לתכנים‬‫רבים‬‫בעת‬‫השימוש‬‫בסמארטפון‬, ‫בטאבלט‬‫או‬‫במחשב‬.‫תכנים‬‫אלו‬‫יכולים‬‫להיות‬‫פרסומיים‬,‫חינוכיים‬‫או‬‫פשוט‬‫תכני‬ ‫העשרה‬‫לשעות‬‫הפנאי‬.‫בעזרת‬‫מערכת‬‫אשר‬‫מזהה‬‫את‬‫הנקודות‬‫אליהן‬‫מביט‬‫המשתמש‬ ‫ומעבדת‬‫את‬‫מידע‬‫זה‬‫ניתן‬‫להבין‬‫את‬‫אופי‬‫השימוש‬‫שלו‬,‫לשפר‬‫את‬‫חווית‬‫השימוש‬‫ואף‬ ‫לעזור‬‫לו‬‫לשפר‬‫את‬‫יכולותיו‬-‫למשל‬‫בקריאה‬.‫על‬‫מנת‬‫ליישם‬‫רעיונות‬‫אלו‬‫פותחו‬‫מערכות‬ ‫שונות‬‫בעלות‬‫עיקרון‬‫פעולה‬‫דומה‬-‫שידור‬‫קרני‬IR‫לעבר‬‫עיני‬‫המשתמש‬‫וקליטת‬‫ההחזר‬ ‫בעזרת‬‫מצלמת‬IR,‫את‬‫המידע‬‫המתקבל‬‫מהמצלמה‬‫ניתן‬‫לעבד‬‫בצורות‬‫שונות‬. ‫הפרויקט‬ ‫מטרת‬- ‫חברת‬Intel‫שיבצה‬‫בתוך‬‫טאבלט‬‫מערכת‬‫לזיהוי‬‫נקודות‬‫המבט‬‫של‬‫המשתמש‬– eye tracking system‫כאשר‬‫ברצונה‬‫לעבד‬‫את‬‫המידע‬‫המתקבל‬‫ע‬"‫פ‬‫הגדרות‬ ‫ברורות‬,‫מטרותינו‬‫בפרויקט‬‫היו‬‫לענות‬‫על‬‫הגדרות‬‫אלה‬‫בצורה‬‫הבאה‬: •‫פיתוח‬‫אלגוריתם‬‫שיידע‬‫לזהות‬‫האם‬‫מתקיימת‬‫קריאה‬‫אמתית‬‫של‬‫טקסט‬‫או‬ ‫שמא‬"‫רפרוף‬".‫נדרש‬‫אלגוריתם‬‫שידע‬‫לעבוד‬‫ב‬-Soft-RealTime(5-7‫שניות‬ ‫מזמן‬‫ההתרחשות‬). •‫איזו‬‫שורה‬‫נקראת‬‫בנקודת‬‫זמן‬‫מסוימת‬. •‫תוצרי‬‫הפרויקט‬‫יהיו‬‫מאגר‬‫נתונים‬‫רחב‬‫אשר‬‫יספק‬‫מידע‬‫אודות‬‫דפוסי‬‫קריאה‬ ‫שונים‬,‫אלגוריתם‬‫שיעבד‬‫את‬‫הנתונים‬‫הנרכשים‬‫מהמערכת‬‫שפותחה‬‫ע‬"‫י‬ "‫אינטל‬"‫וייתן‬‫פתרון‬‫למגוון‬‫דפוסי‬‫הקריאה‬. ‫האלגוריתם‬‫ייכתב‬‫בשפת‬Matlab‫ע‬"‫פ‬‫בחירתנו‬. ‫המערכת‬ ‫תיאור‬- ‫מערכת‬‫בנויה‬‫ממספר‬‫מרכיבים‬: •‫טאבלט‬-‫בעל‬‫מערכת‬‫הפעלה‬‫של‬Windows,‫מכיל‬‫את‬‫מערכת‬‫העקיבה‬‫של‬ ‫חברת‬SMI‫אשר‬‫דוגמת‬‫את‬‫נקודות‬‫המבט‬‫של‬‫המשתמש‬‫בקצב‬‫של‬30 ‫דגימות‬‫בשניה‬. •‫אפליקציה‬-‫פותחה‬‫על‬‫ידנו‬‫בשפת‬C#‫ובה‬‫מגוון‬‫טקסטים‬‫לקריאה‬.‫על‬ ‫בסיסה‬‫נבנה‬‫מאגר‬‫הנתונים‬‫שאותו‬‫עיבדנו‬. •‫אלגוריתם‬-‫נכתב‬‫בשפת‬Matlab,‫בעזרתו‬‫מתבצעת‬‫האבחנה‬‫האם‬ ‫התבצעה‬‫קריאה‬‫או‬‫לא‬,‫ובנוסף‬‫באיזו‬‫שורה‬‫המשתמש‬‫מביט‬. ‫גרף‬1.‫סיווג‬ ‫המבט‬ ‫נקודות‬ ‫ע‬ ‫במרחב‬"‫פ‬ ‫האלגוריתם‬ ‫עבור‬frame 2. ‫איור‬1-‫הטאבלט‬ ‫משובצת‬ ‫בו‬ ‫העקיבה‬ ‫מערכת‬ dx dy 80100120140 2510.3±3.9 (11.3±6) 10±6.1 (10±6.1) 7.5±3.3 (8.3±4.9) 6.3±3 (7±4.3) 3510.5±3.7 (11.5±5.88) 9±3.8 (10.2±6.2) 7.6±3.1 (8.5±5) 6.5±2.8 (7.2±4.3) 4510.6±3.6 (11.6±5.9) 9.2±3.6 (10.3±6.1) 7.7±3 (8.8±5.9) 6.7±2.8 (7.5±4.95) 5510.7±3.7 (6.411.8±) 9.4±3.8 (10.4±6) 8±3.3 (8.95±5.8) 6.8±2.8 (7.6±4.85) ‫תוצאות‬- ‫קבוצת‬‫המדגם‬‫שלנו‬‫מונה‬‫כ‬-80‫נבדקים‬‫אשר‬‫ביצעו‬‫את‬‫הניסוי‬‫וקראו‬‫את‬ ‫הטקסטים‬‫השונים‬.‫חלק‬‫מהנבדקים‬‫קראו‬‫רק‬‫את‬‫הטקסטים‬‫בעברית‬ ‫וחלקם‬‫קראו‬‫בנוסף‬‫את‬‫הטקסטים‬‫באנגלית‬. ‫האלגוריתם‬‫סיווג‬‫את‬‫נקודות‬‫המבט‬‫של‬‫הנבדק‬‫ל‬-3‫אפשרויות‬‫כדלקמן‬- 1.‫נקודות‬‫בהן‬‫בוצעה‬‫קריאה‬–‫נקודות‬‫אלו‬‫עמדו‬‫בכל‬‫התנאים‬‫המגדירים‬ ‫קריאה‬‫ולכן‬‫סומנו‬‫בגרף‬‫בירוק‬(‫גרף‬1). 2.‫נקודות‬‫בהן‬‫היה‬‫מעבר‬‫שורה‬–‫בנקודות‬‫אלו‬‫זיהה‬‫האלגוריתם‬‫שהייתה‬ ‫קפיצה‬‫גדולה‬‫בין‬‫שתי‬‫נקודות‬‫עוקבות‬‫בזמן‬‫בציר‬X‫ואילו‬‫בציר‬Y‫הקפיצה‬ "‫מותרת‬".‫נקודות‬‫אלו‬‫מסומנות‬‫בגרף‬‫בעיגול‬‫אדום‬(‫גרף‬1) 3.‫נקודות‬‫בהן‬‫לא‬‫בוצעה‬‫קריאה‬–‫בנקודות‬‫אלה‬‫האלגוריתם‬‫לא‬‫מצא‬ ‫שהייתה‬‫איזשוהי‬‫התנהגות‬‫המהווה‬‫קריאה‬‫ולכן‬‫סימן‬‫את‬‫נקודות‬‫אלו‬ ‫בכחול‬(‫גרף‬1) ‫הפרמטרים‬‫שנבדקו‬‫על‬‫מנת‬‫להעריך‬‫את‬‫איכות‬‫האלגוריתם‬– Hit-Rate–‫מספר‬‫השורות‬‫שהאלגוריתם‬‫זיהה‬‫ביחס‬‫למספר‬‫השורות‬ ‫הקיימות‬‫ב‬frame,‫חישוב‬‫תוחלת‬‫של‬‫מספר‬‫השורות‬‫שהתגלו‬‫עבור‬‫כל‬ ‫הנבדקים‬‫ב‬frame‫נבחר‬. ‫ניתן‬‫לראות‬‫מהטבלה‬‫שהערכים‬‫האופטימליים‬‫הם‬dx/dy=120/45,55,‫שם‬ ‫התוחלת‬‫קרובה‬‫מאוד‬‫למספר‬‫הגילויים‬‫הרצוי‬(8‫גילויים‬‫עבור‬9‫שורות‬) ‫וסטיית‬‫התקן‬‫גבוהה‬‫אך‬‫מינימלית‬.‫תוצאות‬‫האלגוריתם‬‫על‬‫מידע‬‫אשר‬‫עבר‬ ‫אינטרפולציה‬‫בלבד‬(‫ללא‬‫מיצוע‬),‫משמע‬‫כמות‬‫נק‬'‫מבט‬‫כפולה‬‫בכל‬‫עמוד‬, ‫לא‬‫השתפרו‬‫אלא‬‫הראו‬‫תוחלת‬‫וסטיית‬‫תקן‬‫גדולות‬‫יותר‬(mean=8.7, std=5.2). ‫מסקנות‬- ‫מס‬ ‫זיהוי‬'‫שורות‬‫גדול‬/‫ממס‬ ‫קטן‬'‫הקיים‬ ‫השורות‬-‫זה‬ ‫דפוס‬ ‫כאשר‬‫נבדק‬ ‫אצל‬ ‫זוהה‬‫הראשונים‬ ‫העמודים‬ ‫בשני‬,‫העמודים‬ ‫שאר‬ ‫בכל‬ ‫גם‬ ‫זוהה‬ ‫הוא‬.‫נק‬ ‫כמות‬ ‫בצירוף‬ ‫זה‬ ‫דבר‬'‫גדולה‬ ‫טקסט‬ ‫על‬ ‫מרובה‬ ‫חזרה‬ ‫על‬ ‫מעיד‬ ‫שורה‬ ‫בכל‬.‫והתוחלת‬ ‫התקן‬ ‫סטיית‬ ‫את‬ ‫משמעותית‬ ‫הגדיל‬ ‫זה‬ ‫מצב‬. ‫מהעוקב‬ ‫מידע‬ ‫בקבלת‬ ‫חוסר‬(x=0,y=0)‫ופגיעה‬‫האלגוריתם‬ ‫של‬ ‫הגילוי‬ ‫באיכות‬,‫הבאים‬ ‫הגורמים‬ ‫עקב‬- ‫עיניים‬ ‫צבע‬:‫נק‬ ‫את‬ ‫לזהות‬ ‫קשה‬ ‫היה‬ ‫העקיבה‬ ‫למערכת‬ ‫כי‬ ‫לראות‬ ‫היה‬ ‫ניתן‬'‫כהות‬ ‫עיניים‬ ‫בעלי‬ ‫בנבדקים‬ ‫המבט‬(‫בעיקר‬ ‫שחורות‬.) ‫קשב‬ ‫בעיות‬‫וריכוז‬:‫של‬ ‫רקע‬ ‫קולות‬ ‫כגון‬ ‫גירויים‬ ‫עקב‬ ‫המסך‬ ‫מן‬ ‫מבטם‬ ‫את‬ ‫להסיט‬ ‫הרבו‬ ‫וריכוז‬ ‫קשב‬ ‫בעיות‬ ‫בעלי‬ ‫נבדקים‬‫אנשים‬. ‫חומרה‬-‫תדר‬‫העקיבה‬ ‫מערכת‬ ‫של‬ ‫הדגימה‬Hz)30(:‫מידע‬ ‫פחות‬ ‫מספק‬ ‫ולכן‬ ‫בשוק‬ ‫אחרות‬ ‫למערכות‬ ‫ביחס‬ ‫נמוך‬(‫נק‬'‫מבט‬),‫הנתונים‬ ‫בעיבוד‬ ‫השגיאה‬ ‫את‬ ‫מגדיל‬ ‫זה‬ ‫דבר‬. ‫מערכת‬ ‫שגיאת‬:‫בציר‬ ‫יציבות‬ ‫חוסר‬ ‫העקיבה‬ ‫למערכת‬y,‫נק‬ ‫לפיזור‬ ‫גורם‬ ‫אשר‬ ‫דבר‬'‫בציר‬ ‫המבט‬y‫אי‬ ‫על‬ ‫להצביע‬ ‫ויכול‬-‫שהתבצעה‬ ‫למרות‬ ‫קריאה‬‫קריאה‬. ‫בשפת‬ ‫נכתב‬ ‫האלגוריתם‬Matlab‫הטאבלט‬ ‫על‬ ‫אותו‬ ‫להריץ‬ ‫ניתן‬ ‫ולא‬(‫לשפת‬ ‫להעביר‬ ‫צורך‬ ‫יש‬C),‫נכונות‬ ‫את‬ ‫ולבדוק‬ ‫הקורא‬ ‫נמצא‬ ‫שורה‬ ‫באיזה‬ ‫לבדוק‬ ‫אמת‬ ‫בזמן‬ ‫ניתן‬ ‫לא‬ ‫לכן‬ ‫הנבדק‬ ‫קורא‬ ‫אותה‬ ‫הספציפית‬ ‫השורה‬ ‫זיהוי‬ ‫לגבי‬ ‫האלגוריתם‬. ‫טבלה‬1.‫תוחלת‬‫ושונות‬‫של‬‫מספר‬‫השורות‬ ‫שהתגלו‬‫לאחר‬‫סינון‬‫הנבדקים‬‫החריגים‬,‫עבור‬ frame 1,‫בסגריים‬‫הנתונים‬‫של‬‫כלל‬‫הנבדקים‬‫יחד‬ 2.7 2.75 2.8 2.85 2.9 2.95 3 3.05 3.1 x 10 5 0 200 400 600 800 1000 1200 1400 0 1000 2000 time[msec] X [pixels] 3D gaze points classification Y[pixels] non reading points line break points reading pattern points ‫ל‬ ‫המידע‬ ‫חלוקת‬-frames ‫הנקודות‬ ‫עבור‬ ‫אינטרפולציה‬ ‫מידע‬ ‫סיפק‬ ‫לא‬ ‫העוקב‬ ‫בהן‬ (x,y=0) ‫שתי‬ ‫כל‬ ‫של‬ ‫בזמן‬ ‫מיצוע‬ ‫עוקבות‬ ‫נקודות‬ ‫בציר‬ ‫ההפרש‬ ‫האם‬ ‫בדיקה‬X ‫ו‬Y‫נקודות‬ ‫שתי‬ ‫כל‬ ‫עבור‬ ‫להפרש‬ ‫מתאים‬ ‫עוקבות‬ ‫קריאה‬ ‫של‬ ‫אופייני‬ ‫קריאה‬ ‫מצב‬,‫זה‬ ‫במצב‬ ‫הערך‬ ‫נכנס‬1(‫קריאה‬) ‫הנק‬ ‫את‬ ‫שמייצג‬ ‫למקום‬' ‫הזמנים‬ ‫בוקטור‬. ‫הייתה‬ ‫ציר‬ ‫באיזה‬ ‫בדיקה‬ "‫קפיצה‬"‫מהמותר‬ ‫גדולה‬. ‫בציר‬ ‫קפיצה‬ X‫ו‬Y "‫רפרוף‬"? ‫אקראית‬ ‫קפיצה‬ ‫וחזרה‬? ‫על‬ ‫מבט‬ ‫תמונה‬? ‫מעבר‬ ‫שורה‬? ‫בציר‬ ‫קפיצה‬ X‫בלבד‬ ‫מעבר‬ ‫שורה‬? ‫אי‬ ‫קריאה‬? ‫אקראית‬ ‫קפיצה‬ ‫וחזרה‬? ‫בציר‬ ‫קפיצה‬Y ‫בלבד‬ ‫אקראית‬ ‫קפיצה‬ ‫וחזרה‬? ‫קריאה‬ ‫אי‬? ‫הערך‬ ‫הכנסת‬0‫למקום‬ ‫הנק‬ ‫את‬ ‫שמייצג‬'‫בוקטור‬ ‫הזמנים‬ ‫הערך‬ ‫הכנסת‬2‫למקום‬ ‫הנק‬ ‫את‬ ‫שמייצג‬'‫בוקטור‬ ‫הזמנים‬ ‫על‬ ‫חזרה‬ ‫טקסט‬? ‫איור‬2-‫תרשים‬ ‫את‬ ‫המתאר‬ ‫זרימה‬ ‫האלגוריתם‬ ‫כן‬ ‫לא‬