פיתוח אפליקציית AR Translation: תרגום טקסט דרך המצלמה

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

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

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

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
פיתוח אפליקציית AR Translation: תרגום טקסט דרך המצלמה
מורכב
~1-2 שבועות

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

שאלות נפוצות

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

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

AR Translation: למה תרגום דרך המצלמה נשבר במכשירים אמיתיים

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

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

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

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

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

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

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

מה נותן צינור עיבוד משומן לזיהוי ותרגום

מהירות תגובה לפריים

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

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

דיוק על שלטים אמיתיים

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

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

עמידות לתנאי צילום

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

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

עומס על המכשיר

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

מצבי עבודה: תרגום באצווה, בזרימה ובמשולב

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

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

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

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

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

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

כיצד אנו בונים את אפליקציית AR Translation: שלבי העבודה ההנדסית

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

כיצד בנוי התהליך

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

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

מה הלקוח מקבל לידיו לאחר ההטמעה

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

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

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

מקרה בוחן: איך קיצרנו את השהיית התרגום פי שלושה

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

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

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

מה שינינו

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

מדדים לפני ואחרי

שלב היה הפך
השהיה עד התרגום ~2000 מ"ש ~650 מ"ש
זיהוי פריים ~900 מ"ש ~300 מ"ש
תרגום שורה ~700 מ"ש ~200 מ"ש
שיעור פריימים מוצלחים 62% 91%

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

במה שונה תרגום בזרימה מתרגום בקבוצה בערוץ תקשורת חלש?

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

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

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

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

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

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

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

ספקות טכניים: מפרקים שאלות נפוצות

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

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

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

עד כמה האפליקציה צורכת סוללה?

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

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

מה לעשות אם הטקסט מזוהה בצורה לא מדויקת?

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

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

האם אפשר לתרגם ללא אינטרנט?

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

אם השאלה שלכם אינה כאן — תארו את המשימה, ונחזור עם הערכה ותוכנית לתרחיש שלכם.

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

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

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

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

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