GPT
O

owlv2-base-patch16-ensemble

קוד פתוח

googleapache-2.02023-10-13

  • transformers
  • pytorch
  • safetensors
  • owlv2
  • zero-shot-object-detection

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

  • 155Mפרמטרים
  • 1.2 GBמשקל הקבצים
  • 1,306,900הורדות בחודש
  • 129לייקים

מה זה

המודל הזה לוקח תמונה ומחפש בה אובייקטים לפי תיאור טקסטואלי חופשי שאתם נותנים לו. הוא מתבסס על ארכיטקטורת CLIP עם מקודד תמונה מסוג ViT-B/16 ומקודד טקסט תואם, כשהחידוש פה מול סיווג רגיל הוא הסרת שכבת ה־pooling והוספת ראשי חיזוי למיקום תיחום וסיווג ישירות על הטוקנים של הראייה.

המבנה של 155 מיליון פרמטרים הופך אותו לקטן במיוחד ביחס למודלים מודרניים. גוגל אימנו אותו קודם על זוגות של תמונות וכתוביות מהרשת, ואז כיווננו אותו על מערכי נתונים מוכרים של זיהוי עצמים כמו COCO ו־OpenImages עם bipartite matching loss. התוצאה היא מודל open vocabulary שלא מוגבל לקבוצה סגורה של תוויות שהוגדרו מראש.

מתאים ל

  • איתור פריטים לפי טקסט חופשי

    חיפוש אובייקטים שלא מוגדרים במאגרים קבועים, ישר מתוך שאילתות טקסט של משתמשים.

  • תיוג אוטומטי של דאטה

    סימון תיבות תוחמות על תמונות חדשות ללא צורך באימון מודל ייעודי מאפס.

  • סינון תוכן ויזואלי

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

איפה זה נופל

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

שאלות
נפוצות

האם המודל מסוגל לזהות עצמים שמעולם לא הופיעו במערכי זיהוי כמו COCO?

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

איך המודל מתמודד עם כמה שאילתות טקסט באותה תמונה?

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("zero-shot-object-detection", model="google/owlv2-base-patch16-ensemble")
print(pipe("שלום"))

הרישיון

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

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

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