GPT
O

oneformer_ade20k_swin_large

קוד פתוח

shi-labsmit2022-11-15

  • transformers
  • pytorch
  • oneformer
  • vision
  • image-segmentation

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

  • 77טוקנים בהקשר
  • 1.7 GBמשקל הקבצים
  • 119,534הורדות בחודש
  • 36לייקים

מה זה

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

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

מתאים ל

  • פילוח סצנות פנים וחוץ

    התאמה טבעית לאפליקציות עיצוב ושיפוץ ביתי בזכות בסיס הנתונים המקורי של ADE20k.

  • מיפוי עצמים לרובוטיקה

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

  • פישוט תשתיות לראייה ממוחשבת

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

איפה זה נופל

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

שאלות
נפוצות

איך אני בוחר איזה סוג סגמנטציה לקבל מהמודל?

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

האם הוא מתאים לזיהוי של עצמים שלא נמצאים ב־ADE20k?

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("image-segmentation", model="shi-labs/oneformer_ade20k_swin_large")
print(pipe("שלום"))

הרישיון

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

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

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