הטמעת זיהוי טקסט (OCR) באפליקציה לנייד

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

פיתוח ותמיכה בכל סוגי היישומים הניידים:

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

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
הטמעת זיהוי טקסט (OCR) באפליקציה לנייד
בינוני
~3-5 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    869
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1289
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

זיהוי טקסט באפליקציה לנייד: היכן אובד הדיוק

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

פיענוח שהניב 98% על סט בדיקות, בזרימה מהשטח יורד ל-80–85% — זה כבר לא קוסמטיקה, אלא תיקון ידני על ידי מפעיל. כל מסמך כזה חוזר לתור, ודיוק הזיהוי מפסיק להיות מדד טכני — הוא הופך לצוואר הבקבוק של התהליך.

הגיאומטריה מוסיפה משלה: הטיה של 10–15 מעלות, קמטים בקיפול, פרספקטיבה מצילום בזווית. תיקון לינארי לא מצליח להתמודד עם מקרים כאלה — יש צורך בעיוות מיישר לפי גבולות העמוד, אחרת השורות «שטות» והתווים נדבקים זה לזה.

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

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

מה משתנה לאחר ההטמעה: מהירות, דיוק, עצמאות

אוטומציה של הקלדה ידנית נמדדת לא ב«נוחות», אלא בשיעור המסמכים שנכנסים לחשבונאות בלי תיקונים של מפעיל. לפני ההטמעה שיעור זה עומד בדרך כלל על 55-70%: חלק מהנתונים אינו נקרא, חלק נקרא באופן שגוי — ובכל זאת מוקלד ביד מחדש.

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

מהירות הזנת הנתונים משתנה באופן איכותי. במקום השרשרת «צילם → שלח → חיכה לתשובה → אימת», המשתמש רואה שדות מלאים 1-2 שניות לאחר הצילום, עוד לפני הרישום במערכת החשבונאות. בחבילה של כמה עשרות תעודות משלוח זה ההבדל בין הפסקה בכל מסמך לבין עבודה רציפה של המשמרת.

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

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

מצבי עיבוד: ענן, על המכשיר, היברידי

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

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

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

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

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

הטמעה שלב אחר שלב: מביקורת דוגמאות ועד מסירה

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

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

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

תצורות, סכמות ותקנונים שנשארים אצלכם

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

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

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

מקרה בוחן: פיענוח תעודות משלוח במחסן בלי הזנה ידנית

מה היה לפני ההטמעה

במחסן של המפיץ «גרנט-לוגיסטיקה» הקבלה נראתה כך: המחסנאי פרס תעודות משלוח נייר והקליד פריטים במסוף איסוף הנתונים ביד. מנה של 50–60 שורות ארכה 20–25 דקות, ועם נייר מקומט או תאורה חלשה — זמן רב יותר באופן ניכר. שיעור השורות שתוקנו אחר כך ביד עמד על כשליש: טעות במספר הפריט צפה כבר בשלב ההשוואה.

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

מה שינינו ומה קיבלנו

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

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

התוצאה לפי מדידות רבעוניות: שיעור התיקונים הידניים — מ-30% ל-4% מהשורות, מנה של 60 שורות מעובדת ב-3–4 דקות במקום 25, ופריטים שנויים במחלוקת למשמרת — מ-25–30 ל-4–6. סגירת המשמרת מסתיימת ב-20 דקות, כי הפערים נסגרים ברגע הקבלה.

במה שונה עיבוד על המכשיר מעיבוד בשרת?

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

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

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

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

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

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

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

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

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

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

מגבלות וספקות נפוצים: מה מבהירים לפני ההתחלה

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

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

באיזו מידה מזוהים צילומים גרועים?

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

מה עושים עם רשומות בכתב יד?

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

היכן נשמר מידע אישי מהמסמכים?

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

כיצד מוסיפים סוג טופס חדש בלי להוציא גרסה חדשה?

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

נדון במשימה: נחזור עם הערכה ותוכנית עבודה

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

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

מה נדרש מהלקוח לצורך ההערכה:

  • 20–30 דוגמאות צילום אמיתיות — לא תקנים סרוקים, אלא כפי שמצלמת מצלמת הטלפון בשטח: עם בוהק, הטיה, צל;
  • רשימת סוגי המסמכים והשפות, כולל שדות בכתב יד ופריסות מעורבות;
  • תרחיש השימוש: מי מצלם, כמה מסמכים ברצף, והאם יש קישוריות לרשת;
  • דרישות לעבודה בלי אינטרנט ולאחסון נתונים רגישים על המכשיר;
  • לאן מגיעה התוצאה — לממשק, לשרת או למערכת החשבונאות, ובאיזה פורמט;
  • מגבלות בלוחות זמנים, בפלטפורמות ובבסיס הקוד הנוכחי של האפליקציה.

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