GPT
T

trocr-small-handwritten

קוד פתוח

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

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

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

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

  • 236 MBמשקל הקבצים
  • 441,245הורדות בחודש
  • 66לייקים

מה זה

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

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

מתאים ל

  • זיהוי פתקים סרוקים

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

  • ריצה מקומית על מחשב קצה

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

  • עיבוד טפסי נייר ישנים

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

איפה זה נופל

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

שאלות
נפוצות

הוא יכול לקרוא כתב יד בעברית?

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

אפשר להעביר לו צילום של עמוד שלם?

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

איך מריצים

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

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

from transformers import pipeline

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

הרישיון

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

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