GPT
V

vit-face-expression

קוד פתוח

trpakovapache-2.02022-11-09

  • transformers
  • pytorch
  • onnx
  • safetensors
  • vit

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

  • 86Mפרמטרים
  • 982 MBמשקל הקבצים
  • 14,575הורדות בחודש
  • 90לייקים

מה זה

מדובר בהתאמה של המודל vit-base-patch16-224-in21k של גוגל למשימה של זיהוי שבע הבעות פנים: כעס, גועל, פחד, שמחה, עצב, הפתעה ומצב ניטרלי. הוא אומן על מאגר התמונות FER2013, שכולל תמונות פנים חתוכות, ועושה שימוש בארכיטקטורת ViT עם 12 שכבות ודיוק של float32.

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

מתאים ל

  • סינון תמונות משתמשים

    זיהוי תמונות פרופיל מחייכות מול תמונות כועסות או לא מתאימות באפליקציות.

  • ניתוח תגובות בבדיקות מוצר

    סיווג תגובות ראשוניות של נסיינים מול מסך על בסיס שבעת הרגשות שהמודל מכיר.

  • מיון אוטומטי של אלבומים

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

איפה זה נופל

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

שאלות
נפוצות

האם אפשר להזין למודל תמונה רגילה של בן אדם עומד בחדר?

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

כמה אמין הדיוק של 71% בשימוש יומיומי?

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

איך מריצים

המודל שוקל 982 מגה בייט וכולל כ־86 מיליון פרמטרים, כך שאפשר להריץ אותו בקלות דרך ספריית transformers של פייתון. אין פה שום צורך בכרטיס מסך מפלצתי. כל מעבד מודרני במחשב נייד או שרת ענן פשוט יסחוב את החישוב בלי בעיה ובזמני תגובה סבירים, במיוחד אם מזינים לו תמונה בודדת בגודל 224 על 224 פיקסלים.

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

from transformers import pipeline

pipe = pipeline("image-classification", model="trpakov/vit-face-expression")
print(pipe("שלום"))

הרישיון

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

  • שימוש מסחרי
  • שינוי הקוד
  • הפצה מחדש
  • שימוש בפטנטים

הרישיון המלא בעמוד המודל ↗