GPT
D

detr-doc-table-detection

קוד פתוח

TahaDouajiapache-2.02022-03-11

  • transformers
  • pytorch
  • onnx
  • safetensors
  • detr

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

  • 42Mפרמטרים
  • 1,024טוקנים בהקשר
  • 477 MBמשקל הקבצים
  • 276,966הורדות בחודש

מה זה

מדובר במודל ראייה ממוחשבת שמבוסס על הארכיטקטורה של DETR ומשתמש בבסיס של ResNet-50. המטרה היחידה שלו היא לקבל תמונה של מסמך ולהחזיר קואורדינטות של תיחום עבור טבלאות. הוא אומן על גבי מאגר הנתונים ICDAR2019 Table Dataset, ומבדיל בין שני סוגים עיקריים: טבלאות עם גבולות משורטטים וטבלאות ללא גבולות שנשענות על ריווח בלבד.

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

מתאים ל

  • סימון טבלאות בסריקות

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

  • חיתוך טבלאות ללא קווים

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

  • סינון עמודים במסמכים

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

איפה זה נופל

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

שאלות
נפוצות

האם המודל מוציא קובץ אקסל או טקסט מתוך הטבלה?

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

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

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("object-detection", model="TahaDouaji/detr-doc-table-detection")
print(pipe("שלום"))

הרישיון

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

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

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