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

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

בנק לאומי, הפקדת שיקים בסלולר

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

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

אני מוכרח להודות שהעבודה בצוות שיזם ויצר את שירות “הפקדת שיק בסלולר” הייתה מרגשת ויוצאת דופן. פרויקט זה היה במידה רבה חלק מ-“Fintech”, היוזמה החדשה של לאומי – ליווי סטארטאפים המתמחים בחדשנות טכנולוגית בתחום הפיננסים. בחרנו בחברת “בבוניקס”, המתמחה בעריכת וידאו המותאם לפלטפורמה הסלולרית, ולמעשה העבודה על “הפקדת שיק בסלולר” הייתה סוג של סטארטאפ פנים ארגוני. אם תרצו ‘פנים-לאומי’.

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

איך זה עובד?

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

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

מחקר ופיתוח

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

התמקדנו בשני אלגוריתמים עיקריים:

  • אלגוריתם זיהוי ספרות אופטי (OCR – Optical Character Recognition)
  • אלגוריתם הערכת איכות תמונה (IQE – Image Quality Evaluation)

את רכיבי ה-OCR פתחנו בשפת C++ על מנת לאפשר תמיכה מירבית ב-CROSS PLATFORM, וכן על מנת להשיג ביצועיים מיטביים ואת רכיבי ה-IQE פיתחנו לריצה על גבי המעבד הגרפי ולתמיכה בעיבוד בזמן אמת, כאשר המימוש היה בצורת Shaders ל-OpenGL ES.

מתוצר המימוש באופן הנ”ל קיבלנו ספריית עיבוד תמונה גנרית ל-iOS ולאנדרואיד המתממשקת מול המעבד הראשי ומול המעבד הגרפי בצורה יעילה ומהירה ואת ממשק המשתמש וה-API לחומרה מימשנו בשפת NATIVE בכל אחת מהפלטפורמות – Objective-C ל-iOS ו-JAVA לאנדרואיד.

במקביל, בנינו מסד נתונים של ספרות בפונט המתאים מסריקות השיקים, המשמש לאימון Character Correlator עבור זיהוי הספרות.

האתגרים הטכנולוגיים

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

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

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

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

אינטגרציה

השילוב ב-iOS פשוט יותר עקב התמיכה המובנית בשילוב קוד ב-C++ (להבדיל מהצורך בהתממשקות ל-NDK באנדרואיד) והתאימות ביכולות המעבד הגרפי. באנדרואיד, לעומת זאת, נאלצנו לבצע התאמות ייעודיות לגרסאות מסויימות (כדוגמת גרסה 2.3.3 לעומת גרסאות 4+), ואף למכשירים מסויימים (כגון Galaxy S2 או Nexus).

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

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

הכתבה בחסות בנק לאומי

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

Avatar

בנק לאומי

הגב

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

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

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

סידור לפי:   חדש | ישן | הכי מדורגים
Erez
Guest

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

תומר דרום
Guest

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

קובי
Guest

כיצד יודעים שאת אותו השיק הלקוח לא מפקיד עכשיו (במכונה) בבנק אחר שגם בו יש לו חשבון? ז״א, ברגע שהמקור נשאר בידי הלקוח, הוא לא יוכל ״להשתמש״ בו בבנק אחר שלא מחובר למערכת שלכם?

תודה על הכתבה המעניינת!

משה
Guest

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

ארי
Guest

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

אבי כהן
Guest

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

בנוסף מתי תהיה גרסה זמינה לאנדרואיד?

ארי
Guest

השיק הוא למוטב בלבד, מונע את הבעיה שציינת

ארי
Guest

ישנה גרסה זמינה לאנדרואיד, (למכשירים נתמכים בלבד)

עידן
Guest
עלו פה כמה שאלות טובות בתגובות .. מתעניין גם בתשובות! 1. איך מוודאים שהלקוח לא מפקיד את הצ’ק פעם נוספת בחשבון אחר בבנק אחר? או דרך חברת סליקה כזו או אחרת? 2. איך מוודאים שהצ’ק לגיטימי? ברגע שזו תמונה שנשלחת יהיה לי הרבה יותר פשוט לקחת צ’ק של 50 ש”ח ולהפוך אותו ל500 או 5000.. הרבה יותר קשה לזהות זיוף בתמונה מאשר במציאות הפיזית. 3. במידה ועולות טענות (תביעה משפטית לצורך העיניין) מול הבנק, האם צילום של הצ’ק הוא מספיק לצורך ראיה לפעולה? אני מניח שהאפליקציה עומדת בכל הקריטריונים מבחינת אבטחת מידע (סה”כ זה אמור להיות בנק רציני) אבל מעניין… Read more »
לולו
Guest

אולי במקום להשקיע כל כך בסריקת צ’קים, תשקיעו בזריקת צ’קים? לפח?

תופעה מגונה שצריך למגר מהעולם.

חן
Guest

לא ברור לי כל כך איך C++ וCross Platform יכולים לחיות אחד עם השני בשלום, מילא היית אומר Java/ CSharp. אתם צריכים לקמפל על פלטפורמות שונות וכן לעשות התאמה בקוד עצמו.

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

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

למעשה הפיתוח ב C++ הוא זה שמאפשר את ההתאמה המירבית לפלטפורמות השונות.
ב-iOS הקוד ב C++ משתלב כחלק מהקוד ה-NATIVE
ובאנדרואיד באמצעות ממשק ה-JNI.
בנוסף, הפיתוח ב C++ מאפשר ביצועים מיטביים, במיוחד לאלגוריתמיקה הדרושה לעיבוד התמונה.

ירחמיאל
Guest

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

דני
Guest

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

רן
Guest

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

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

רן
Guest

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

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

לא?

יצחק
Guest

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

יוסי
Guest

מהפכה בעולם הבנקאות? ממש לא.

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

סיון
Guest

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

אביקו
Guest

סיון, גם אני לא מצליח להפקיד, ניסיתי צ’קים שונים מבנקים שונים שקיבלתי מהלקוחות שלי ובכולם הוא לא מצליח לזהות את המספר…
אני עם אייפון 5S, תאורה מצויינת ויד יציבה של מעצב עם דיוק מירבי בכיוון המצלמה על הצ’ק.
מה לעזאזל נסגר איתם?! איפה הרעש??? או שכולם מצליחים לסרוק בלי בעיה????!!!

wpDiscuz

תגיות לכתבה: