בקשה | פיתוח זיהוי כתב יד בעברית יוצא לדרך! בואו והצטרפו!
-
@אלף-שין כתב בבקשה | מי יכול לבקש מגמיני סקריפט שיבצע מהפכה.... פרטים בפנים:
ברור שאין הבדל
וודאי ששרבוט דיגיטלי אינו פחות מפיזירק לא מובן
אם המודל יודע לפענח על פי תוצאה - שירבוט זה למה לי?
ואם המודל חייב את השירבוט - ש"מ שחשוב נתוני הסדר, אם כן מדוע כשאתה כותב ג' הפוך הוא מזהה מצוין?הצ'אט חסום לי, תוכל להשיב לי במייל....
עיקר ההבדל הוא שבשרבוט כבר יש לו את כל הנתונים של הקוים עם קואורדינטות מדוייקות, ולא צריך לאמן מודל שיידע לזהות את הקוים הרלוונטיים מתוך תמונה, וזה באמת אולי אפשר להרויח עם תוכנה מתווכת שרק מזהה את הקוים הרלוונטיים, ואח"כ הזיהוי עצמו הרבה יותר קל.
אבל חוץ מזה גם אחרי שכבר יש לנו רשימה של כל הקואורדינטות הרלוונטיות, מה שמסייע לתוסף להבין מה באמת נכתב זה גם ע"י החלוקה של הקואורדינטות לקוים נפרדים, ולא סתם רשימה חסרת פשר של כל הקואורדינטות בדף יחד, ובשביל זה צריך שהסקריפט יזהה את האותיות ברמה שהוא יידע גם לחלק אותם לקוים, ולא רק שיידע אילו קוים רלוונטיים באופן כללי.
הכיוון באמת לא משנה בכלל לצורת הזיהוי הזו, והוא בכלל לא נרשם בתוסף, ולא נשלח לשרת
@ע-ה-דכו-ע כתבתי לקורסור את ההודעה שלך מבלי להבין כלל מה כתבת...
בא נראה מה ייצא -
זו התוכנית שלו
אין לי מושג מה היא אומרתתוכנית: שילוב 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 ואז זה שני השלבים יחד רק צריכים להשתמש בדוגמיות של עברית שקיימות בגיטהב וכדו' ולהתאים לעברית]באם זה לא מובן דיו - תוכל לשאול כל מודל על טקסט זה רק תכתוב לו כך "אני רוצה לבנות תוכנה עם ממשק ידידותי שמתאים לוינדוס - ויעבוד במחשב סטנדרטי באופן מקומי - ויפענח כתב יד בעברית.
לפניך איזה תכנית תעזור להבין אותה ואיך ליישם אותה".
ותצרף את הנ"ל ותראה פלאים. -תוך כמה שעות זה יהיה בנוי.... -
@975
כמעט דייקת - מה שצריך באמת זה זה https://huggingface.co/datasets/sivan22/hebrew-handwritten-dataset
@sivan22 כבר הכין את זה עם מאות דוגמאות לכל אות@SBW כתב בבקשה | פיתוח זיהוי כתב יד בעברית יוצא לדרך! בואו והצטרפו!:
@975
כמעט דייקת - מה שצריך באמת זה זה https://huggingface.co/datasets/sivan22/hebrew-handwritten-dataset
@sivan22 כבר הכין את זה עם מאות דוגמאות לכל אותלא נכון, מה שצריך באמת זה את המאגר השני, ואפילו הוא לא מספיק טוב כיוון שהוא לא כולל מעברי שורות.
באימון על אותיות יחידות בלבד הרמה תהיה ס"ה כמו לאמן ABBYY על הרבה אותיות, כלומר, לא מידי מדוייק, ולא מתקרב לרמה של למידת מכונה איכותית
-
בשביל כזה פרויקט יש בזה 2 שלבים עיקריים
שלב א' - זיהוי גבולות ההטקסט - כלומר שבאמצעות איזה שיטה ספריית קוד או מודל מאומן - יזוהה איזור הטקסט, אם קיימים מספר עמודות וגבולותיהם, יזוהו הגבולות השורות, וגבולות המילים, וגבולות האותיות - כולל ישור הדף לסריקה או כתיבה עקומה. וסדר מימין לשמאל.
ברגע שיש את גבולות האותיות ניתן לעבור לשלב ב'.
שלב ב' - מודל שיכול לקבל קטל של תמונת אות ותת פלט של איזה אות זה .
בשביל לבנות מודל צריך שיהיה דוגמיות מכל סוג צריך כמות של עשרות מכל אות וזה מספיק למודלים טובים.
---בכדי לבנות משהו שיכול לעבוד על מחשב ממוצע של אברייכים - רצוי לבנות מודל שיכול לעבוד בכו סביבה.אחרי השלבים האלו - ניתן לכתוב קוד שיבצע את השלבים בזה אחר זה ויתן פלט - לעשות ממשק נח שיכולים להוסיף דרכו עוד דוגמיות למודל עצמו, וכך מתוך הכתב יד הספציפי שאתה רוצה לפענח יש ממנו דוגמיות במודל, ולכן זה יעבוד בקרוב ל מאת האחוזים על כל כתב יד.
[כמו כן ניתן לעשות שיהיה ויזאליזציה ומספור - שתראה את סדר העמודות והשורות והמילים בכל שורה. כך שאם זיהוי הגבולות לא יהיה מדויק תוכל לתקן אותו באמצעות העכבר]
לשלב א' ניתן להשתמש אפי' בספריית פיתון OpenCV, [יש עוד ספריות תומכות בפעולות כאלו אבל זה טוב מספיק].
לשלב ב' עדיף לבנות מודל לפחות EfficientNet-B0.
ויש לציין שיהיה צורך להשתמש בPyTorch או PyQt5 ועוד כלים [לפחות בnumpy torch torchvision matplotlib pandas pyqt5] בכדי להוסיף דיוק
[ועדיף שהדוגמית עצמם של האותיות לא יהיו חתוכים במרובע רק בפוליגון]
(קל לבנות מודל מדוגמיות שנבנו בתוכנה שמתאימה לבניית דוגמאות לזה - כמו Label Studio (ניתן לעשות שם ממשק נח לעשות תיוג) או אפי' VGG Image Annotator - יש יצוא מסודר ובנוי לזה)
[ויש אפשרות לבנות עם TrOCR ואז זה שני השלבים יחד רק צריכים להשתמש בדוגמיות של עברית שקיימות בגיטהב וכדו' ולהתאים לעברית]באם זה לא מובן דיו - תוכל לשאול כל מודל על טקסט זה רק תכתוב לו כך "אני רוצה לבנות תוכנה עם ממשק ידידותי שמתאים לוינדוס - ויעבוד במחשב סטנדרטי באופן מקומי - ויפענח כתב יד בעברית.
לפניך איזה תכנית תעזור להבין אותה ואיך ליישם אותה".
ותצרף את הנ"ל ותראה פלאים. -תוך כמה שעות זה יהיה בנוי.... -
@SBW
לא ולא,
אין שום ענין שזה יעבוד על מחשב של אברך
עיין ערך מודל תמלול של דיקטה שמיועד למחשבי אברכים
עדיף שיהיה משהו עוצמתי ומדוייק מאד
גם אם זה דורש שרת ויהיה בתשלום מלא [רק פחות מקלדנית כמובן...]
טוב ציפור אחת ביד מאשר דימיונות על העץ -
@SBW
לא ולא,
אין שום ענין שזה יעבוד על מחשב של אברך
עיין ערך מודל תמלול של דיקטה שמיועד למחשבי אברכים
עדיף שיהיה משהו עוצמתי ומדוייק מאד
גם אם זה דורש שרת ויהיה בתשלום מלא [רק פחות מקלדנית כמובן...]
טוב ציפור אחת ביד מאשר דימיונות על העץ