כיצד לבצע בקלות זיהוי כתב יד באמצעות Machine Learning PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

כיצד לבצע בקלות זיהוי כתב יד באמצעות למידת מכונה

כיצד לבצע בקלות זיהוי כתב יד באמצעות למידת מכונה

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


ננונטים ממשק API של OCR יש הרבה מעניינים להשתמש במקרים. שוחח עם מומחה AI של Nanonets למידע נוסף.


מבוא

גודל השוק של זיהוי תווים אופטי (OCR) צפוי להיות 13.38 מיליארד דולר עד 2025 עם צמיחה של 13.7% משנה לשנה. צמיחה זו מונעת על ידי דיגיטציה מהירה של תהליכים עסקיים באמצעות OCR כדי להפחית את עלויות העבודה שלהם ולחסוך שעות עבודה יקרות. למרות ש-OCR נחשבה לבעיה שנפתרה, יש מרכיב מרכזי אחד שלה, זיהוי כתב יד (OCR) או זיהוי טקסט בכתב (HTR) שעדיין נחשב להצהרת בעיה מאתגרת. השונות הגבוהה בסגנונות כתב יד בין אנשים ואיכות ירודה של הטקסט בכתב יד בהשוואה לטקסט המודפס מציבים מכשולים משמעותיים בהמרתו לטקסט קריא במכונה. עם זאת, זו בעיה מכרעת לפתור עבור תעשיות מרובות כמו בריאות, ביטוח ובנקאות.

כיצד לבצע בקלות זיהוי כתב יד באמצעות למידת מכונה
מקור: - https://www.semanticscholar.org/paper/Handwriting-recognition-on-form-document-using-and-Darmatasia-Fanany/

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

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


רוצה לחלץ נתונים מטפסים בכתב יד? גש אל ננונטים ולהתחיל לבנות דגמי OCR בכתב יד בחינם!


אתגרים בהכרה בכתב יד

  1. שונות עצומה ועמימות של שבץ מאדם לאדם
  2. גם סגנון כתב היד של אדם בודד משתנה מעת לעת ואינו עקבי
  3. איכות ירודה של מסמך / תמונה המקור עקב השפלה לאורך זמן
  4. טקסט במסמכים מודפסים יושב בקו ישר ואילו בני אדם אינם צריכים לכתוב שורה של טקסט בקו ישר על נייר לבן
  5. כתב יד קלסי הופך את ההפרדה וההכרה של דמויות למאתגרות
  6. לטקסט בכתב יד יכול להיות סיבוב משתנה ימינה, בניגוד לטקסט מודפס בו כל הטקסט מתיישב ישר
  7. איסוף מערך נתונים טוב שכותרתו כדי ללמוד אינו זול בהשוואה לנתונים סינתטיים

מקרי שימוש

שירותי בריאות ותרופות

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

ביטוח

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

כיצד לבצע בקלות זיהוי כתב יד באמצעות למידת מכונה
מקור: - https://www.researchgate.net/figure/mages-of-handwritten-bank-cheques-from-different-countries-a-Brazilian-1-b-American_fig2_226705617

בנקאות

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

ספריות מקוונות

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

שיטות

שיטות זיהוי כתב יד יכולות להיות מסווגות לשני הסוגים הבאים

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

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

טכניקות

הגישות הראשוניות של פתרון זיהוי כתב יד כללו שיטות למידת מכונה כמו Hidden Markov Models(HMM), SVM וכו'. לאחר שהטקסט הראשוני מעובד מראש, מתבצעת חילוץ תכונה כדי לזהות מידע מפתח כגון לולאות, נקודות הטיה, יחס רוחב-גובה וכו'. בעל אופי אינדיבידואלי. תכונות אלה שנוצרו מוזנות כעת למסווג, למשל HMM, כדי לקבל את התוצאות. הביצועים של מודלים של למידת מכונה מוגבלים למדי בגלל שלב חילוץ התכונות הידני ויכולת הלמידה המוגבלת שלהם. שלב חילוץ התכונות משתנה עבור כל שפה אינדיבידואלית ולכן אינו ניתן להרחבה. עם הופעת הלמידה העמוקה הגיעו שיפורים אדירים בדיוק של זיהוי כתב היד. בואו נדון בכמה מהמחקרים הבולטים בתחום הלמידה העמוקה לזיהוי כתב יד

רב-ממדי רשתות עצביות חוזרות ונשנות

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

כיצד לבצע בקלות זיהוי כתב יד באמצעות למידת מכונה

להלן ההבדל בין RNN כללי ל- RNN רב מימדי. ב- RNN כללי, שכבה נסתרת אומרת שאני מקבל מצב משכבה נסתרת קודמת בזמן i-1. ב- RNN רב מימדי אמור למשל RNN דו מימדי, השכבה הנסתרת (i, j) מקבלת מצבים מכמה שכבות מוסתרות קודמות כלומר (i-2, j) ו- (i, j-1) וכך לוכדת הקשר משניהם גובה ורוחב בתמונה המהותית ביותר לקבלת הבנה ברורה של האזור המקומי על ידי רשת. זה מורחב עוד יותר כדי לקבל מידע לא רק משכבות קודמות אלא גם משכבות עתידיות הדומות לאופן שבו BI-LSTM מקבל מידע מ- t-1 ו- t + 1. באופן דומה שכבה מוסתרת דו ממדית 1D אני יכול כעת לקבל מידע (i-2, j), (i, j-1), (i + 1, j), (i, j + 1) ובכך לתפוס את הקשר לכל הכיוונים.

כיצד לבצע בקלות זיהוי כתב יד באמצעות למידת מכונה

מבנה הרשת כולו מוצג לעיל. נעשה שימוש ב- MDLSTM שאינו אלא להחליף בלוק RNN לחסימת LSTM מהדיון לעיל על MDRNN. הקלט מחולק לבלוקים בגודל 3 × 4 שמוזנים כעת לשכבות MDSTM. לרשת מבנה היררכי של שכבות MDLSTM ואחריו שכבות הזנה (ANN) במקביל. ואז הפלט הסופי מומר לווקטור 1D וניתן לפונקציה CTC כדי לייצר פלט

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

למקרה השימוש בזיהוי כתב יד שקול את אזורי תמונת הקלט למשפט מסוים כקלט X=[x1,x2, ...,x ** ת] בעוד התפוקה הצפויה כ- Y=[y1,y2, ...,אתה] . בהינתן X אנו אמורים למצוא Y מדויק. אלגוריתם CTC פועל על ידי נטילת קלט X ומתן התפלגות על כל ה-Y האפשריים באמצעותם נוכל לבצע חיזוי עבור הפלט הסופי.

CTC משתמש באמירת תו בסיס - כדי להבדיל בין תווים כפולים לתווים חוזרים באזור קלט. לדוגמה תו מסוים יכול להשתרע על מספר אזורים של קלט ולכן CTC יוציא את אותו תו ברציפות. דוגמה: - קלט ג'יימס והפלט של CTC הוא jjaammmees. הפלט הסופי נגזר על ידי כיווץ הפלטים החוזרים ונשנים ומכאן אנו מקבלים ג'יימס. אבל עכשיו כדי להציג תווים כפולים אמור 'l' בשלום, אנחנו צריכים שתהיה הפרדה במקום ולכן כל הפלטים מופרדים על ידי מקף (-). כעת הפלט עבור hello יכול להיות h-ee-ll-lll-oo שאם יתמוטט יהפוך לשלום ולא להלו. מידע נוסף על אופן הפעולה של CTC ניתן לראות כאן CTC.

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

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

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

מקודד-מפענח ורשתות תשומת לב

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

סרוק, השתתף וקרא

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

כיצד לבצע בקלות זיהוי כתב יד באמצעות למידת מכונה

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

כיצד לבצע בקלות זיהוי כתב יד באמצעות למידת מכונה

ארכיטקטורת SAR מורכבת מארכיטקטורת MDLSTM המשמשת כחולץ התכונות. מודול הקריסה הסופי עם פלט softmax ואובדן CTC מוחלף על ידי מודול קשב ומפענח LSTM. מודל הקשב בו נעשה שימוש הוא שילוב היברידי של תשומת לב מבוססת תוכן ותשומת לב מבוססת מיקום המוסבר ביתר פירוט במאמר הבא. מודולי ה- LSTM של המפענח לוקחים את המצב הקודם, את מפת הקשב הקודמת ואת תכונות המקודד כדי ליצור את תו הפלט הסופי ואת וקטור המצב לחיזוי הבא.

להתכנס, להשתתף ולאיית

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

כיצד לבצע בקלות זיהוי כתב יד באמצעות למידת מכונה

המקודד משתמש ב-CNN כדי לחלץ תכונות ויזואליות. ארכיטקטורת VGG-19-BN מאומנת מראש משמשת כמחלץ תכונות. תמונת הקלט מומרת למפת תכונה X אשר לאחר מכן מעוצבת מחדש ל-X' על ידי פיצול כל הערוצים לפי עמודה ושילובם כדי לקבל את המידע הרציף. X' מומר עוד יותר ל-H על ידי שימוש ב-GRU דו-כיווני. GRU היא רשת עצבית הדומה ל-LSTM בטבעה ויכולה ללכוד מידע זמני.

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

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

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

דגמי שנאי

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

שים לב למה שאתה קורא

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

כיצד לבצע בקלות זיהוי כתב יד באמצעות למידת מכונה

ארכיטקטורת הרשת מורכבת מהרכיבים הבאים

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

עמוד השדרה של Resnet50 מיועד לתוספת התכונות כפי שניתן לראות באיור למעלה. הפלט של מפת התכונות התלת מימדית מ-Resnet3 Fc מועבר למודול הקידוד הזמני שמתעצב מחדש ל-50d על ידי שמירה על אותו רוחב ומכאן הצורה של  (f x h, w). זה מוזן לתוך שכבה מחוברת לחלוטין כדי להקטין את הצורה ל-(f, w) והפלט המתקבל הוא Fc'. בנוסף, TE קידוד מיקום נוסף ל-Fc' כדי לשמור את מידע המיקום כפי שהוזכר בעיתון Transformer מאת Vaswani. ניתן לראות מידע נוסף על האופן שבו מעוצבת ארכיטקטורת שנאים כאן. הפלט מועבר דרך שכבה מחוברת לחלוטין כדי לקבל את מפת התכונות הסופית עם הצורה (f, w). הפלט הסופי מועבר דרך מודול קשב רב ראשי עם 8 ראשים כדי לקבל מפת תכונות עשירה חזותית

מתמלל טקסטים

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

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

יצירת טקסט בכתב יד

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

ScrabbleGAN

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

כיצד לבצע בקלות זיהוי כתב יד באמצעות למידת מכונה

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

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

התפוקות שנוצרו על ידי ScrabbleGAN מוצגות להלן

כיצד לבצע בקלות זיהוי כתב יד באמצעות למידת מכונה

מערכי נתונים: -

  1. IAM : - מערך ה- IAM מכיל כ- 100 תמונות של מילים משפת האנגלית עם מילים שנכתבו על ידי 657 מחברים שונים. ערכת הרכבת, הבדיקה והאימות מכילה מילים שנכתבו על ידי מחברים בלעדיים הדדית קישור: - http://www.fki.inf.unibe.ch/databases/iam-handwriting-database
  2. CVL : - מערך CVL מורכב משבעה מסמכים בכתב יד שנכתבו על ידי כ -310 משתתפים, וכתוצאה מכך כ- 83 גידולי מילים, מחולקים לערכות הרכבת והמבחנים קישור: - https://cvl.tuwien.ac.at/research/cvl-databases/an-off-line-database-for-writer-retrieval-writer-identification-and-word-spotting/
  3. RIMES : - מכיל מילים מהשפה הצרפתית של כ- 60 תמונות ונכתבו על ידי 1300 מחברים המתאימים לכ -5 מיילים שנכתבו על ידי כל אדם. קישור: - http://www.a2ialab.com/doku.php?id=rimes_database:start

מדדים: -

שיעור שגיאות תווים : - הוא מחושב כמרחק לוונשטיין שהוא סכום של החלפות הדמויות (Sc), הכנסות (Ic) ומחיקות (Dc) הדרושות כדי להפוך מחרוזת אחת לשנייה, חלקי המספר הכולל של התווים בת אמת אמת (Nc)

כיצד לבצע בקלות זיהוי כתב יד באמצעות למידת מכונה

שיעור שגיאות מילה : - זה מחושב כסכום של מילות החלפות (Sw), הכנסות (Iw) ומחיקות (Dw) הנדרשים כדי להפוך מחרוזת אחת לשנייה, חלקי המספר הכולל של מילות האמת (Nw)

כיצד לבצע בקלות זיהוי כתב יד באמצעות למידת מכונה

הכשר את מודל זיהוי כתב היד שלך

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

נתונים

כדי להוריד את ערכת הנתונים של IAM כאן. לאחר ההורדה. הורד את כאן. זה מכיל מערך נתונים של תמונות מילים בכתב יד. הורד גם את קובץ ההערה words.txt מ- כאן.

אם אתה רוצה להשתמש במערך הנתונים שלך אתה צריך לעקוב אחר מבנה הנתונים של מערך IAM.

כיצד לבצע בקלות זיהוי כתב יד באמצעות למידת מכונה

האמור לעיל מראה כיצד נראה מבנה התיקיות של מערך הנתונים של AIM. כאן a01, a02 וכו' מייצגים את תיקיות האב שלכל אחת מהן יש תיקיות משנה של נתונים. לכל תיקיית משנה יש קבוצה של תמונות ששם התיקיה נוסף בתור קידומת לשם הקובץ שלה.

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

a01-000u-01-00 בסדר 156 395 932 441 100 VBG מועמד

  1. a01-000u-01-00 -> מזהה מילה עבור שורה בצורה a01-000u
  2. ok / err -> אינדיקטור לאיכות פלט הפילוח
  3. 156 -> רמה אפורה בכדי להקל על השורה המכילה מילה זו
  4. 395 932 441 100 -> תיבת גבולות סביב מילה זו בפורמט x, y, w, h
  5. VBG -> התג הדקדוקי למילה זו. הנה זה הפועל גרונד
  6. מועמד -> התמלול למילה זו

ארכיטקטורה :-

אנו נכשיר ארכיטקטורה מבוססת CRNN עם אובדן CTC. CNN משמש לחילוץ התכונות החזותיות המועברות ל- RNN ואובדן CTC מוחל עד הסוף עם מפענח חמדן לקבלת הפלט.

כיצד לבצע בקלות זיהוי כתב יד באמצעות למידת מכונה

הדרכה

אנו נשתמש בקוד CRNN מ- כאן להכשיר את המודל שלנו. בצע את השלבים למטה להכנת הנתונים

python checkDirs.py

הפעל מעל הפקודה ואתה אמור לראות פלט כמו למטה

[אישור] מילים /
[אישור] מילים / a01 / a01-000u /
[אישור] מילים.טקסט
[אישור] test.png
[OK] words/a01/a01-000u/a01-000u-00-00.png

עכשיו אתה מוכן להתחיל להתאמן.

עבור לספריית השורש והפעל אותו

python main.py --train

תוצאות

לאחר אימון במשך כ- 50 תקופות שיעור שגיאות התווים (CER) הוא 10.72% ואילו שיעור שגיאות המילה (WER) הוא 26.45% ומכאן דיוק המילה הוא 73.55%. בחלק מהתחזיות ניתן לראות באיור שלהלן.

כיצד לבצע בקלות זיהוי כתב יד באמצעות למידת מכונה

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

<br> סיכום

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

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

לקריאה נוספת

בול זמן:

עוד מ AI & Machine Learning