עזרה להגן על שונית המחסום הגדולה עם TensorFlow על Kaggle הצטרפו אתגר

זיהוי תווים אופטי (OCR)

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

להתחיל

אם אתה חדש ב- TensorFlow Lite ואתה עובד עם אנדרואיד, אנו ממליצים לבחון את היישום לדוגמה הבא שיכול לעזור לך להתחיל.

דוגמא לאנדרואיד

אם אתה משתמש בפלטפורמה אחרת מאשר אנדרואיד, או שאתה כבר מכיר את APIs לייט TensorFlow , אתה יכול להוריד את הדגמים מ Hub TF .

איך זה עובד

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

מדדי ביצועים

מספרי benchmark ביצועים נוצרים עם הכלי המתואר כאן .

שם המודל גודל דגם התקן מעבד GPU
זיהוי טקסט 45.9 Mb פיקסל 4 (אנדרואיד 10) 181.93ms* 89.77ms*
זיהוי טקסט 16.8 Mb פיקסל 4 (אנדרואיד 10) 338.33ms* N/A **

* 4 חוטים בשימוש.

** מודל זה לא יכול היה להשתמש ב- GPU delegate מכיוון שאנו זקוקים ל- TensorFlow ops כדי להריץ אותו

תשומות

מודל זיהוי הטקסט מקבל 4-D float32 טנזור (1, 320, 320, 3) כקלט.

מודל זיהוי הטקסט מקבל 4-D float32 טנזור (1, 31, 200, 1) כקלט.

יציאות

חוזר מודל זיהוי טקסט יש 4-D float32 בכושר מותח (1, 80, 80, 5) כמו תיבה תוחמת ו 4-D float32 המותח של צורה (1,80, 80, 5) כמו ציון זיהוי.

מודל זיהוי טקסט מחזירת 2-D float32 המותח של צורה (1, 48) כמו המדדים המיפוי לרשימה האלפבית "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"

מגבלות

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

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

אז בחרנו 3 לוגו מוצרי Google רק כדי להדגים כיצד לבצע OCR עם TensorFlow Lite. אם אתם מחפשים מוצר OCR ייצור כיתה מוכן לשימוש, כדאי לשקול Google ML קיט . ערכת ML, המשתמשת ב- TFLite מתחת, אמורה להספיק ברוב מקרי השימוש ב- OCR, אך ישנם מקרים שבהם ייתכן שתרצה לבנות פתרון OCR משלך עם TFLite. חלק מהדוגמאות הן:

  • יש לך דגמי TFLite לזיהוי/זיהוי טקסט משלך בהם תרצה להשתמש
  • יש לך דרישות עסקיות מיוחדות (כלומר זיהוי טקסטים הפוכים) וצריך להתאים אישית את צינור ה- OCR
  • אתה רוצה לתמוך בשפות שאינן מכוסות על ידי ערכת ML
  • לא בהכרח מותקנים שירותי Google Play במכשירי היעד שלך

הפניות