זיהוי מיקומם של חלקי הגוף השונים היא בעיה חשובה במדעי המחשב, ובעלת שימושים רבים, ממציאות רבודה, אנימציה, שימושי כושר, מערכת סיוע לנהגים, ארגונומיה ועוד. נסביר על הבעיה, על האופן בו פותרים אותה, ועל החשיבות שלה.
עיצוב: דניאל הלטובסקי
לזיהוי מנח גוף בתמונות שימושים רבים, כמו מעקב תנועה והפעלת דמויות וירטואליות, דרך סיוע בתרגילי ספורט והתרעה על פעולות כמו נפילה או אלימות בכדי לשלוח סיוע במידת הצורך. אנחנו נתמקד בשימוש לא פחות חשוב - הרקדה אוטומטית!
טכניקות לזיהוי מנח גוף נחקרות כבר למעלה משני עשורים, אולם עד לפני שנים ספורות, התבססו על חומרה יקרה (כמו חיבור חיישנים לגוף או שימוש במצלמות יקרות) מה שהפך אותן ללא נגישות. שיטות שפותחו בשנים האחרונות מאפשרות להתגבר על מכשול זה. כדי להדגים את יכולות המערכת, מאמר הנקרא Everybody Dance Now הראה כי ניתן לקחת סרטון של רקדן וסרטון של אדם שני שעושה כמה תנועות, וליצור וידאו בו האדם השני רוקד כמו הרקדן המקורי. פיתוח זה עשוי לספק לצה״ל חלופה זולה ללהקות רקדנים (הדגמה בסוף...).
איך מזהים את מנח הגוף?
בגישה הנפוצה, מזהים את מיקומן של נקודות ציון כמו כתפיים, מרפקים וקרסוליים, יחד עם הגפיים המקשרים ביניהם, ומהן ניתן להסיק כיצד מתחברים הגפיים ושאר חלקי הגוף. למשל אם ידוע היכן נמצאים הקרסול והברך, נוכל בקלות להסיק שהשוק הוא הקו המחבר ביניהן. זיהוי מיקום האיברים מספיק בכדי לזהות מנח גוף של אדם בתמונה.
ישנן שתי קבוצות מקובלות של נקודות שעל פיהן קובעים מנח אנושי עבור זיהוי ממוחשב, בהן משתמשים במאגרי התמונות המתוייגות הגדולים בתחום [1] .
מה עושים כאשר יש בתמונה מספר דמויות?
במקרה כזה, לכל דמות יש את נקודות הציון שלה, אך קשה לקבוע איזו נקודה שייכת לאיזו דמות ושיחזור מנח הגוף של כל אחת מהדמויות הופך למורכב הרבה יותר. ישנן שתי גישות מרכזיות להתמודדות עם הבעיה, "מהפרט אל הכלל" ו"מהכלל אל הפרט".
מהפרט אל הכלל
המערכת מזהה את נקודות הציון ולאחר מכן מחברת נקודות ציון קשורות אנטומית כדי לשחזר איברים. בשלב האחרון היא מחברת איברים כדי לשחזר את המנח של הדמות.
מהכלל אל הפרט
המערכת מזהה את האנשים שבתמונה בעזרת מערכת לומדת [2].לאחר מכן היא מפרידה בין הדמויות ומזהה את חלקי הגוף עבור כל אדם בנפרד. בדרך זו, יכולה המערכת לחבר את הגפיים ולשחזר את מנח הגוף כפי שהייתה עושה זאת עבור תמונה של אדם בודד.
כדי להדגים את שיטת הפרט אל הכלל , נתמקד בתוכנה פופולרית לאומדן תנוחות אנושיות בתמונות מרובות אנשים בשם [3]openPose, שפועלת באופן הבא:
1. ניבוי המיקום של כל אחת מנקודות הציון. ניבוי זה נעשה בעזרת מערכת לומדת, שמייצרת מפה אחת עבור כל נקודה: מפה עבור מרפק ימין של כל הדמויות, מרפק שמאל של כל הדמויות, כתף ימין, כתף שמאל וכך הלאה, כשכל מפה מציגה מה ההסתברות שנקודת ציון מסויימת נמצאת במקום מסויים בתמונה.
2. כדי לדעת לאיזו דמות שייך כל חלק גוף, משתמשים במערכת לומדת נוספת שמנבאת כיצד נקודות החיבור מתחברות ביניהן כדי ליצור את הגפיים. רשת זו מחזירה מעין מפה עבור כל זוג נקודות שיש ביניהן חיבור אנטומי (כלומר גפיים), כשכל מפה מציגה את עוצמת הקשר - מה ההסתברות שחלקי הגוף מחוברים - בין חלקי גוף שונים, ואת כיווניות החיבור בין המפרק הראשון לשני.
3. מהצלבת המידע ממפות נקודות הציון ומפות החיבורים מסיקים איפה נמצאים חלקי הגוף וכיצד הם מחוברים. בשלב זה מוצאים את השידוך ההגיוני ביותר בין נקודות הציון, לדוגמה מבין כל הכתפיים והמרפקים השמאליים - מה מחובר למה? ולהסיק שבסבירות גבוהה הכתף של הרקדנית מחוברת למרפק שלה, ולא למרפק של הרקדן.
בסרטון הבא ניתן לראות דוגמה כיצד פועל האלגוריתם על הרקדנים הצה"ליים, המלווים את נועה קירל:
צילום הסרטון: צחי דבוש: גל״צ, הטמעת OpenPose: איילת ספירשטיין, מדע גדול, בקטנה ע״ר.
אז מה צופן לנו העתיד בתחום זה? יש לא מעט ניסיונות מעניינים בתחום. למשל, ניסיונות למדל תנוחה אנושית בתלת מימד [4] או ניסיונות למדל את התהליך בצורה מדויקת יותר, עם זיהוי שגיאות בצורה איכותית [5]. בשלב זה, השימושים הם בעיקר לתעשיית הבידור, אולם יתכן כי השיפורים הרבים בתחום יאפשרו לטכנולוגיות כאלו לתפוס נפח משמעותי יותר גם בחיי היום יום שלנו. יתכן ופיתוחים אלו יאפשרו בעתיד לצה"ל להפיק סרטוני ריקודים ברמה גבוהה, ללא צורך ברקדנים בשר ודם. בפרט, כבר היום המערכת בשלה ברמה מבצעית, מה שמעניק לאומת הסייבר את האפשרות להתמודד בצורה מכובדת עם כל Dance Off דיגיטלי מול כל צבא אחר בעולם, ללא צורך בסיכון חיילים.
מקורות וקריאה נוספת
[1]
פורמט COCO:
אף - 0, צוואר - 1, כתף ימין - 2, מרפק ימין - 3, שורש כף יד ימין - 4, כתף שמאל - 5, מרפק שמאל - 6, שורש כף יד שמאלי - 7, מפרק ימין - 8, ברך ימין - 9 , קרסול ימין - 10, ירך שמאל - 11, ברך שמאל - 12, קרסול - 13, עין ימין - 14, עין שמאל - 15, אוזן ימין - 16, אוזן שמאל - 17, רקע - 18
פורמט MPII:
ראש - 0, צוואר - 1, כתף ימין - 2, מרפק ימין - 3, שורש כף יד ימין - 4, כתף שמאל - 5, מרפק שמאל - 6, שורש כף יד שמאל - 7, ירך ימין - 8, ברך ימין - 9, קרסול ימין - 10, שמאל ירך - 11, ברך שמאל - 12, קרסול שמאל - 13, חזה - 14, רקע - 15
[2] זיהוי דמויות בעזרת CNN (סוג של אינטלגנציה מלאכותית)
[3] OpenPose
[5] זיהוי שגיאות בבניית מנח גוף
[6] דיווחו של צחי דבוש מגלי צה״ל על ביטול מקצוע הרקדנים הצבאיים.