GPT
F

facial_emotions_image_detection

קוד פתוח

dima806apache-2.02023-10-02

  • transformers
  • pytorch
  • safetensors
  • vit
  • image-classification

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

  • 86Mפרמטרים
  • 4.8 GBמשקל הקבצים
  • 15,566הורדות בחודש
  • 129לייקים

מה זה

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

לפי דוח הסיווג של היוצר על סט של 25,170 דוגמאות, הביצועים לא אחידים בין הקטגוריות. זיהוי גועל מגיע לדיוק כמעט מוחלט עם F1 של מעל 0.99, והפתעה ושמחה יושבות חזק באזור ה־0.93 עד 0.94. לעומת זאת, רגשות עמומים יותר כמו עצב, פחד ומצב ניטרלי מציגים ציוני F1 נמוכים יותר באזור 0.85 עד 0.86, מה שאומר ששם סביר להיתקל ביותר בלבולים ותוצאות שגויות.

מתאים ל

  • סינון תגובות משתמשים בווידאו

    זיהוי מהיר של הבעות בולטות כמו שמחה או גועל מתוך תמונות פנים חתוכות.

  • בדיקות שמישות למוצרים

    ניתוח רמת הפתעה או תסכול של משתמשים מול ממשקים לפי צילומי מסך.

  • קטלוג מאגרי תמונות

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

איפה זה נופל

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

שאלות
נפוצות

האם אפשר לזרוק אליו תמונה רגילה עם רקע ואנשים?

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

למה הקבצים שוקלים 4.8 גיגה אם יש רק 86 מיליון פרמטרים?

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

איך מריצים

אתם מושכים ומריצים אותו ישירות דרך ספריית transformers של פייתון באמצעות ViTForImageClassification. המשקל הכולל של הקבצים מגיע ל־4.8 גיגה-בייט, בעיקר כי המשקלים שמורים ב־float32 מלא. 86 מיליון פרמטרים זה נפח קטן מאוד, כך שלא חובה GPU כבד, וכרטיס מסך בסיסי או אפילו מעבד מודרני יריצו תמונות בודדות בקלות.

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

from transformers import pipeline

pipe = pipeline("image-classification", model="dima806/facial_emotions_image_detection")
print(pipe("שלום"))

הקבצים

40 קבצים במאגר, 4.8 GB סך הכול. הקישורים מובילים ישירות ל־Hugging Face.

הרישיון

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

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

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