זיהוי תנוחות

ה-MLK Pose Detection API הוא פתרון רב-תכליתי המאפשר למפתחי אפליקציות לזהות את התנוחה של גוף האדם בזמן אמת מסרטון מתמשך או מתמונה סטטית. תנוחה מתארת את מיקום הגוף ברגע מסוים עם קבוצה של נקודות ציון בסיסיות. ציוני הדרך תואמים לאיברים שונים בכתפיים ובירכיים. ניתן להשתמש במיקומים היחסיים של ציוני דרך כדי להבחין בין תנוחות שונות.

iOS Android

באמצעות זיהוי תעלות של ML, היא יוצרת התאמה של שלד של 33 נקודות, כולל ציוני דרך בפנים (אוזניים, עיניים, פה ואף) ונקודות על הידיים והרגליים. באיור 1 שלמטה מוצגים ציוני הדרך שנראים באמצעות המצלמה של המשתמש, כך שזו תמונת מראה. הצד הימני של המשתמש מופיע מימין לתמונה:

איור 1. ציוני דרך

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

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

יכולות עיקריות

  • תמיכה בפלטפורמות שונות: אותה חוויה ב-Android וב-iOS.
  • מעקב אחר גוף מלא – הדגם מחזיר 33 נקודות ציון בסיסיות של השלד, כולל מיקומי הידיים והרגליים.
  • ציון InFrameLikeliability עבור כל ציון דרך, מדד שמציין את ההסתברות שציון הדרך נמצא במסגרת התמונה. הציון נע בין 0.0 ל-1.0, כאשר 1.0 מציין רמת מהימנות גבוהה.
  • שתי ערכות SDK שעברו אופטימיזציה – ה-SDK הבסיסי פועל בזמן אמת בטלפונים מודרניים כמו Pixel 4 ו-iPhone X. התוצאות מוחזרות בקצב של כ-30 ועד 45 פריימים לשנייה (FPS), בהתאמה. עם זאת, הדיוק של הקואורדינטות של האתר עשוי להשתנות. ערכת ה-SDK המדויקת מחזירה תוצאות עם קצב פריימים איטי יותר, אבל היא יוצרת ערכי קואורדינטות מדויקים יותר.
  • Z Coordinate לניתוח עומק הערך הזה יכול לעזור לקבוע אם חלקים מגוף המשתמשים נמצאים לפני או מאחורי הירכיים של המשתמשים. למידע נוסף, עיינו בקטע Z Coordinate בהמשך.

Pose Detection API דומה ל-Facial Recognition API בכך שהוא מחזיר קבוצה של ציוני דרך ואת המיקום שלהם. עם זאת, בזיהוי פנים נעשה ניסיון לזהות פיצ'רים כמו פה מחייך או עיניים פתוחות, אבל לא נעשה שימוש במשמעות של זיהוי תחושות לסימני ההיכר בתנוחה או בתנוחה עצמה. אתם יכולים ליצור אלגוריתמים משלכם כדי לפרש את התנוחה. דוגמאות לסיווגים של Pose Classification

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

קואורדינטת Z

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

תוצאות לדוגמה

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

ציון דרךסוגמיקוםסבירות סבירה
11שמאלה(734.9671, 550.7924, -118.11934)0.9999038
12 רמקול ימני (391.27032, 583.2485, -321.15836) 0.9999894
13 שמאלה (903.83704, 754.676, -219.67009) 0.9836427
14 RIGHT_ELBOW (322.18152, 842.5973, -179.28519) 0.99970156
15 חץ שמאלה (1073.8956, 654.9725, -820.93463) 0.9737737
16 ימין (218.27956, 1015.70435, -683.6567) 0.995568
17 שמאלה (1146.1635, 609.6432, -956.9976) 0.95273364
18 ימינה (176.17755, 1065.838, -776.5006) 0.9785348

אפשרויות מתקדמות

למידע נוסף על ההטמעה של מודלים למידת ה-ML ב-API הזה, מומלץ לעיין בפוסט בבלוג של Google AI.

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