GPT
T

trocr-base-printed

קוד פתוח

microsoftרישיון לא דווח2022-03-02

  • transformers
  • pytorch
  • safetensors
  • vision-encoder-decoder
  • image-text-to-text

microsoft עומדים גם מאחורי Sho, ויש עליו סקירה כאן.

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

  • 333Mפרמטרים
  • 2.5 GBמשקל הקבצים
  • 213,912הורדות בחודש
  • 218לייקים

מה זה

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

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

מתאים ל

  • זיהוי שורות בקבלות

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

  • שלב שני במערכת זיהוי טקסט

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

  • קריאת מספרים מודפסים

    שימושי לחילוץ תווים וקודים מודפסים מתוך תמונות של תוויות או תעודות משלוח ברורות.

איפה זה נופל

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

שאלות
נפוצות

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

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

הוא מתאים לקריאת פתקים שנכתבו ביד?

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("image-to-text", model="microsoft/trocr-base-printed")
print(pipe("שלום"))

הרישיון

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

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