בקשה | פיתוח זיהוי כתב יד בעברית יוצא לדרך! בואו והצטרפו!
-
@אלף-שין כתב בבקשה | מי יכול לבקש מגמיני סקריפט שיבצע מהפכה.... פרטים בפנים:
ברור שאין הבדל
וודאי ששרבוט דיגיטלי אינו פחות מפיזירק לא מובן
אם המודל יודע לפענח על פי תוצאה - שירבוט זה למה לי?
ואם המודל חייב את השירבוט - ש"מ שחשוב נתוני הסדר, אם כן מדוע כשאתה כותב ג' הפוך הוא מזהה מצוין?הצ'אט חסום לי, תוכל להשיב לי במייל....
עיקר ההבדל הוא שבשרבוט כבר יש לו את כל הנתונים של הקוים עם קואורדינטות מדוייקות, ולא צריך לאמן מודל שיידע לזהות את הקוים הרלוונטיים מתוך תמונה, וזה באמת אולי אפשר להרויח עם תוכנה מתווכת שרק מזהה את הקוים הרלוונטיים, ואח"כ הזיהוי עצמו הרבה יותר קל.
אבל חוץ מזה גם אחרי שכבר יש לנו רשימה של כל הקואורדינטות הרלוונטיות, מה שמסייע לתוסף להבין מה באמת נכתב זה גם ע"י החלוקה של הקואורדינטות לקוים נפרדים, ולא סתם רשימה חסרת פשר של כל הקואורדינטות בדף יחד, ובשביל זה צריך שהסקריפט יזהה את האותיות ברמה שהוא יידע גם לחלק אותם לקוים, ולא רק שיידע אילו קוים רלוונטיים באופן כללי.
הכיוון באמת לא משנה בכלל לצורת הזיהוי הזו, והוא בכלל לא נרשם בתוסף, ולא נשלח לשרת
@ע-ה-דכו-ע
אם כן זה ממש בשורה מצויינת!
פשוט לפצל את הפיענוח למספר שלבים כפי שנאמר
ואז הזיהוי אמור לכאו' להיות כ100% בכל כתב ובלבד שיש הפרדה בין האותיות... -
@אלף-שין כתב בבקשה | מי יכול לבקש מגמיני סקריפט שיבצע מהפכה.... פרטים בפנים:
ברור שאין הבדל
וודאי ששרבוט דיגיטלי אינו פחות מפיזירק לא מובן
אם המודל יודע לפענח על פי תוצאה - שירבוט זה למה לי?
ואם המודל חייב את השירבוט - ש"מ שחשוב נתוני הסדר, אם כן מדוע כשאתה כותב ג' הפוך הוא מזהה מצוין?הצ'אט חסום לי, תוכל להשיב לי במייל....
עיקר ההבדל הוא שבשרבוט כבר יש לו את כל הנתונים של הקוים עם קואורדינטות מדוייקות, ולא צריך לאמן מודל שיידע לזהות את הקוים הרלוונטיים מתוך תמונה, וזה באמת אולי אפשר להרויח עם תוכנה מתווכת שרק מזהה את הקוים הרלוונטיים, ואח"כ הזיהוי עצמו הרבה יותר קל.
אבל חוץ מזה גם אחרי שכבר יש לנו רשימה של כל הקואורדינטות הרלוונטיות, מה שמסייע לתוסף להבין מה באמת נכתב זה גם ע"י החלוקה של הקואורדינטות לקוים נפרדים, ולא סתם רשימה חסרת פשר של כל הקואורדינטות בדף יחד, ובשביל זה צריך שהסקריפט יזהה את האותיות ברמה שהוא יידע גם לחלק אותם לקוים, ולא רק שיידע אילו קוים רלוונטיים באופן כללי.
הכיוון באמת לא משנה בכלל לצורת הזיהוי הזו, והוא בכלל לא נרשם בתוסף, ולא נשלח לשרת
@ע-ה-דכו-ע אני דאגתי להפוך את התמונה לוקטורית באילוסטרייטור והקפדתי שזה יהיה stroke ולא fil
זה אמור לעזור?
או שלא הבנתי אותך נכון -
@shalomke כתב בבקשה | מי יכול לבקש מגמיני סקריפט שיבצע מהפכה.... פרטים בפנים:
@ע-ה-דכו-ע ללמד לקרוא צריך לעשות תהליך מייגע
שכולל איסוף ראשוני של אלפי אותיות חיתוך תיוג
ואח"כ פיין טיונינג ואיתגור עם אותיות בעייתיות
אני בטוח שללמד את התוכנה לשרבט זה משהו שהרבה יותר קל מליצור מודל מאומן היטבלמעשה, די בטוח שלא
@NH.LOCAL כתב בבקשה | מי יכול לבקש מגמיני סקריפט שיבצע מהפכה.... פרטים בפנים:
למעשה, די בטוח שלא
לדעתי מה שהוא כתב ככה כי זה לא מופשט לו (וגם לאחרים) מספיק
במילים אחרות זה נראה לו רחוק
אולי תכתוב מדריך קצר ישר פשוט וקולע כמו שאתה יודע לעשות
וזה יחזיר אותו לעניין- ניסית לשרבט לו הפוך או רק ישר
- בדקת אותו במילים עם ר"ת שלפעמים הגרשיים מעל האותיות (כמו שיש כאלו שכך כותבים) ולפעמים בתוך . לפעמים אחד ולפעמים 2 או מחוברים
- ניסית אותו את כל הדימויים בין ב ד 2 - ד צ - ך ק - וכו' וכו'
- עם סימון הערה לשולי העמוד . ואם כתוב הוספה מעל.
כל אלו מצוי כמעט בכל דף כתוב בעברית בפרט בתורני. זה לא הערה אלא הארה.
כל דבר שתצליח בסוף זה יהיה מיוחד, כי זה מלאכה קשה מאוד היהודים עם חכם שכתוב לא שיגרתי
-
@shalomke לכאו' הפתרון הוא לבצע סגמנטיה של האותיות ולציירן בנפרד,
וכפי שכבר מוזכר כאן בשרשור המודל הטוב ביותר לזה הוא SAM 3.https://ai.meta.com/sam3/
https://github.com/facebookresearch/sam3 -
@אלף-שין כתב בבקשה | מי יכול לבקש מגמיני סקריפט שיבצע מהפכה.... פרטים בפנים:
ברור שאין הבדל
וודאי ששרבוט דיגיטלי אינו פחות מפיזירק לא מובן
אם המודל יודע לפענח על פי תוצאה - שירבוט זה למה לי?
ואם המודל חייב את השירבוט - ש"מ שחשוב נתוני הסדר, אם כן מדוע כשאתה כותב ג' הפוך הוא מזהה מצוין?הצ'אט חסום לי, תוכל להשיב לי במייל....
עיקר ההבדל הוא שבשרבוט כבר יש לו את כל הנתונים של הקוים עם קואורדינטות מדוייקות, ולא צריך לאמן מודל שיידע לזהות את הקוים הרלוונטיים מתוך תמונה, וזה באמת אולי אפשר להרויח עם תוכנה מתווכת שרק מזהה את הקוים הרלוונטיים, ואח"כ הזיהוי עצמו הרבה יותר קל.
אבל חוץ מזה גם אחרי שכבר יש לנו רשימה של כל הקואורדינטות הרלוונטיות, מה שמסייע לתוסף להבין מה באמת נכתב זה גם ע"י החלוקה של הקואורדינטות לקוים נפרדים, ולא סתם רשימה חסרת פשר של כל הקואורדינטות בדף יחד, ובשביל זה צריך שהסקריפט יזהה את האותיות ברמה שהוא יידע גם לחלק אותם לקוים, ולא רק שיידע אילו קוים רלוונטיים באופן כללי.
הכיוון באמת לא משנה בכלל לצורת הזיהוי הזו, והוא בכלל לא נרשם בתוסף, ולא נשלח לשרת
@ע-ה-דכו-ע כתבתי לקורסור את ההודעה שלך מבלי להבין כלל מה כתבת...
בא נראה מה ייצא -
זו התוכנית שלו
אין לי מושג מה היא אומרתתוכנית: שילוב Google InputTools API לזיהוי כתב יד עברי
שלב 1: עדכון Frontend - InteractiveDrawing.js
שינוי פורמט הסטרוקים מ-[[x,y], [x,y]] לפורמט של גוגל: [[X[]], [Y[]], [T[]]]
הוספת timestamps לכל נקודה בזמן הציור
שליחת מערך הסטרוקים (לא תמונה!) ל-backend
הצגת 5 אופציות זיהוי למשתמש (top candidates)
שלב 2: עדכון Backend - server.js
יצירת endpoint חדש /api/recognize-strokes
קריאה ל-Google InputTools API: https://www.google.com/inputtools/request?ime=handwriting&app=mobilesearch
שליחת הבקשה בפורמט JSON הנכון עם language: "he" לעברית
החזרת מערך הקנדידטים למשתמש
שלב 3: טיפול ב-CORS
הוספת proxy בצד השרת (Node.js) כדי לעקוף CORS
השרת שלנו יקרא ל-Google InputTools ויחזיר את התשובה
שלב 4: Fallback Strategy
שמירה על EasyOCR כגיבוי אם Google InputTools נכשל
טיפול בשגיאות (403, timeouts, rate limits)
הודעה למשתמש במקרה של כשל
שלב 5: בדיקה
הרצת השרתים (Node.js + React)
בדיקת זיהוי כתב יד עברי
השוואת דיוק (צפי: 70-85% לעומת 45% נוכחי)
הערה חשובה: Google InputTools API הוא לא רשמי ויכול להשתנות. יש לנו EasyOCR כגיבוי. -
זו התוכנית שלו
אין לי מושג מה היא אומרתתוכנית: שילוב Google InputTools API לזיהוי כתב יד עברי
שלב 1: עדכון Frontend - InteractiveDrawing.js
שינוי פורמט הסטרוקים מ-[[x,y], [x,y]] לפורמט של גוגל: [[X[]], [Y[]], [T[]]]
הוספת timestamps לכל נקודה בזמן הציור
שליחת מערך הסטרוקים (לא תמונה!) ל-backend
הצגת 5 אופציות זיהוי למשתמש (top candidates)
שלב 2: עדכון Backend - server.js
יצירת endpoint חדש /api/recognize-strokes
קריאה ל-Google InputTools API: https://www.google.com/inputtools/request?ime=handwriting&app=mobilesearch
שליחת הבקשה בפורמט JSON הנכון עם language: "he" לעברית
החזרת מערך הקנדידטים למשתמש
שלב 3: טיפול ב-CORS
הוספת proxy בצד השרת (Node.js) כדי לעקוף CORS
השרת שלנו יקרא ל-Google InputTools ויחזיר את התשובה
שלב 4: Fallback Strategy
שמירה על EasyOCR כגיבוי אם Google InputTools נכשל
טיפול בשגיאות (403, timeouts, rate limits)
הודעה למשתמש במקרה של כשל
שלב 5: בדיקה
הרצת השרתים (Node.js + React)
בדיקת זיהוי כתב יד עברי
השוואת דיוק (צפי: 70-85% לעומת 45% נוכחי)
הערה חשובה: Google InputTools API הוא לא רשמי ויכול להשתנות. יש לנו EasyOCR כגיבוי. -
עכשיו קורסור ביצע בדיקה חדשה:
הבעיה ברורה:
הקואורדינטות קטנות מדי! - האנימציה: X: 141-191, Y: 219-229 (טווח זעיר) לעומת ידני: X: 144-706, Y: 63-431 (טווח גדול)
מעט מדי נקודות! - רק 16 נקודות באנימציה לעומת 27-121 בידני
הבעיה: הקואורדינטות של ה-SVG המקורי קטנות מדי! Google מצפה לקואורדינטות גדולות יותר. הפתרון: צריך להגדיל את הקואורדינטות שנשלחות ל-Google (לא רק את הציור על המסך): -
עכשיו קורסור ביצע בדיקה חדשה:
הבעיה ברורה:
הקואורדינטות קטנות מדי! - האנימציה: X: 141-191, Y: 219-229 (טווח זעיר) לעומת ידני: X: 144-706, Y: 63-431 (טווח גדול)
מעט מדי נקודות! - רק 16 נקודות באנימציה לעומת 27-121 בידני
הבעיה: הקואורדינטות של ה-SVG המקורי קטנות מדי! Google מצפה לקואורדינטות גדולות יותר. הפתרון: צריך להגדיל את הקואורדינטות שנשלחות ל-Google (לא רק את הציור על המסך): -
אוקיי
ניסיתי להעלות תמונה גדולה ואכן הוא מזהה את האנימציה של השרבוט
עכשיו בעיה חדשה
אני קולט שבשביל להבדיל בין האות יוד לוא"ו הוא צריך להתחשב בגודל של האותיות מסביב
ואת זה אני עדיין לא קלטתי איך הוא עושה את ההשוואה לאותיות שמסביבו
מעלה סרטון
(את המילה בית לא אני משרבט אלא התוכנה על פי קובץ
שימו לב שהוא מזהה בות כי הוא לא קולט את הגודל של היוד ביחס לבית והת"ו
הקלטת מסך 2025-12-08 111741.mp4 -
-
הפתרון שהוא מציע:
שינוי בתהליך השליחה:
במקום לשלוח כל קו בנפרד
נשלח קבוצת קווים (מילה) יחד
עם הגדלים היחסיים הנכונים@shalomke כתב בבקשה | פיתוח זיהוי כתב יד בעברית יוצא לדרך! בואו והצטרפו!:
הפתרון שהוא מציע:
שינוי בתהליך השליחה:
במקום לשלוח כל קו בנפרד
נשלח קבוצת קווים (מילה) יחד
עם הגדלים היחסיים הנכוניםלא עקבתי אחרי כל התהליך
אבל אם תהיה לו הבנה של הקשר
ואתה שולח לו מספר מילים יחד
זה גם יסייע לו בזיהוי -
@975 כתב בבקשה | מי יכול לבקש מגמיני סקריפט שיבצע מהפכה.... פרטים בפנים:
כמדומני שיש לי את המודלים האלה
אשמח מאד...
מאיפה יש לך?@אלף-שין כתב בבקשה | פיתוח זיהוי כתב יד בעברית יוצא לדרך! בואו והצטרפו!:
אשמח מאד...
מצאתי אצלי באחד מהמחשבים תיקיה עם אלפי תמונות של מילים כל מילה תמונה. ומתוייגים בצורה יפה וברורה בתוך קובץ שכתוב בו את המלל שבפנים התמונה וזה יכול לעזור, ובשמחה אני מסכים להביא את זה למי שלוקח את זה לשירות הציבור -שלא על מנת לקבל פרס או תשלום- רק מה אני מבין שאין בזה צורך כי הוא הלך לכיוון אחר.
-
בשביל כזה פרויקט יש בזה 2 שלבים עיקריים
שלב א' - זיהוי גבולות ההטקסט - כלומר שבאמצעות איזה שיטה ספריית קוד או מודל מאומן - יזוהה איזור הטקסט, אם קיימים מספר עמודות וגבולותיהם, יזוהו הגבולות השורות, וגבולות המילים, וגבולות האותיות - כולל ישור הדף לסריקה או כתיבה עקומה. וסדר מימין לשמאל.
ברגע שיש את גבולות האותיות ניתן לעבור לשלב ב'.
שלב ב' - מודל שיכול לקבל קטל של תמונת אות ותת פלט של איזה אות זה .
בשביל לבנות מודל צריך שיהיה דוגמיות מכל סוג צריך כמות של עשרות מכל אות וזה מספיק למודלים טובים.
---בכדי לבנות משהו שיכול לעבוד על מחשב ממוצע של אברייכים - רצוי לבנות מודל שיכול לעבוד בכו סביבה.אחרי השלבים האלו - ניתן לכתוב קוד שיבצע את השלבים בזה אחר זה ויתן פלט - לעשות ממשק נח שיכולים להוסיף דרכו עוד דוגמיות למודל עצמו, וכך מתוך הכתב יד הספציפי שאתה רוצה לפענח יש ממנו דוגמיות במודל, ולכן זה יעבוד בקרוב ל מאת האחוזים על כל כתב יד.
[כמו כן ניתן לעשות שיהיה ויזאליזציה ומספור - שתראה את סדר העמודות והשורות והמילים בכל שורה. כך שאם זיהוי הגבולות לא יהיה מדויק תוכל לתקן אותו באמצעות העכבר]
לשלב א' ניתן להשתמש אפי' בספריית פיתון OpenCV, [יש עוד ספריות תומכות בפעולות כאלו אבל זה טוב מספיק].
לשלב ב' עדיף לבנות מודל לפחות EfficientNet-B0.
ויש לציין שיהיה צורך להשתמש בPyTorch או PyQt5 ועוד כלים [לפחות בnumpy torch torchvision matplotlib pandas pyqt5] בכדי להוסיף דיוק
[ועדיף שהדוגמית עצמם של האותיות לא יהיו חתוכים במרובע רק בפוליגון]
(קל לבנות מודל מדוגמיות שנבנו בתוכנה שמתאימה לבניית דוגמאות לזה - כמו Label Studio (ניתן לעשות שם ממשק נח לעשות תיוג) או אפי' VGG Image Annotator - יש יצוא מסודר ובנוי לזה)
[ויש אפשרות לבנות עם TrOCR ואז זה שני השלבים יחד רק צריכים להשתמש בדוגמיות של עברית שקיימות בגיטהב וכדו' ולהתאים לעברית]באם זה לא מובן דיו - תוכל לשאול כל מודל על טקסט זה רק תכתוב לו כך "אני רוצה לבנות תוכנה עם ממשק ידידותי שמתאים לוינדוס - ויעבוד במחשב סטנדרטי באופן מקומי - ויפענח כתב יד בעברית.
לפניך איזה תכנית תעזור להבין אותה ואיך ליישם אותה".
ותצרף את הנ"ל ותראה פלאים. -תוך כמה שעות זה יהיה בנוי....