Download presentation
Presentation is loading. Please wait.
1
Livnat zahav & Nir golan Line segmentation for degraded handwritten historical documents Itay Bar-Yosef, Nate Hagbi, Klara Kedem
2
הקדמההקדמה מסמכים היסטוריים מציבים הרבה אתגרים בפנינו כאשר אנו באים לנתח אותם כמסמך גרפי. חלק גדול מהמסמכים סובלים מבלאי קשה, אם מדובר בדפים קרועים, מחיקה של חלק מהכתוב או כתמי דיו.
3
הקדמההקדמה נדון תחילה בשני אלגוריתמים אשר מטפלים בבעיה של הפרדת שורות במסמכים היסטוריים. וניגע בחסרונות של כל אחד מהאלגוריתמים הללו. לאחר מכן נדון באלגוריתם שבו עוסק המאמר. בשונה מרוב האלגוריתמים, וגם מאלו שנציג, האלגוריתם שנדון בו יעבוד על המסמך ישירות ולא על העיבוד הבינארי שלו ( 0 ללבן ו-1 לשחור או להפך). כלומר ינתח את המסמך בגווני אפור (תחום בין 0-255 (,זאת בעזרת שיטה הנקראת LPP-Local projection profile analysis.
4
LPP-Local Projection Profile לפני שנעסוק בהבנת האלגוריתמים יש צורך בהבנת שיטת ה- LPP, או בעברית פרופיל הטלה מקומי. ע"י מעבר על הציר האופקי של תמונת המסמך נסכום את ערכי הפיקסלים ונבנה פרופיל הטלה. הפרופיל הוא מעין גרף אשר מייצג את כמות וערכי הפיקסלים בציר האופקי בהטלה לציר האנכי. נקודות השיא בגרף מייצגות שורות טקסט ואילו נקודות המינימום הקרויות "עמקים" מייצגות את הרווח בין השורות.
6
LPPיתרונות וחסרונות של שיטת ה- LPPיתרונות וחסרונות של שיטת ה- יש כמה יתרונות בשיטת פרופיל ההטלה: 1. אין צורך להפוך את התמונה לבינארית. מה שהופך את השיטה למאוד מתאימה לעבודה ישירה על התמונה בגווני אפור. 2.השיטה עמידה בפני רעשים והפרעות.
7
LPPיתרונות וחסרונות של שיטת ה- LPPיתרונות וחסרונות של שיטת ה- החיסרון המרכזי של השימוש בהטלה הוא הרגישות הגבוהה לנטיית השורות במסמך. אפילו זווית מזערית יכולה להפוך את ההטלה ללא יעילה. סיבוב המסמך כך שהשורות תהיינה ישרות יכולה להוות פתרון טוב אך זו לא תמיד קיימת וזאת כיוון שלרוב לכל אחת מן השורות במסמך יש זווית שונה.
8
אלגוריתמים קיימים לפתרון בעיית השורות הנטויות בעיית השורות הנטויות אלגוריתמים קיימים לפתרון בעיית השורות הנטויות בעיית השורות הנטויות חלק מהאלגוריתמים פותרים את בעיית הנטייה של השורות ע"י חלוקת המסמך לרצועות אנכיות לא חופפות וביצוע LPP על כל אחת מן הרצועות בנפרד. בכל רצועה "העמקים" שמתקבלים הם אפשרות לרווח בין שורות הטקסט. "עמקים" של שתי רצועות רצופות מחוברים ביחד בהתאם לחוקים מוגדרים. ניתן לראות כי ההפרדה המתקבלת היא בצורת "מדרגות" זאת מכיוון ש"העמקים" לא מחוברים ישירות, כלומר אין חפיפה בין הרצועות שנלקחו.
10
אלגוריתמים קיימים לפתרון בעיית השורות הנטויות בעיית השורות הנטויות אלגוריתמים קיימים לפתרון בעיית השורות הנטויות בעיית השורות הנטויות אלגוריתם נוסף יוצר תמונה מטושטשת (blurred) שנקראת ALCM-Adaptive Local Connectivity Map (תמונה 1.d). ALCM היא תמונה בגווני אפור אשר בה כל ערך של פיקסל מחושב בהתאם לערכי הפיקסלים השכנים לו בתמונה המקורית. ממירים את תוצאת ה-ALCM לתמונה בינארית ע"י ביצוע thresholding. בעקבות פעולה זו מתגלות תבניות ברורות של שורות טקסט שמהן ניתן להפיק את ההפרדה בין השורות. (תמונה 1.c).
11
אלגוריתמים קיימים לפתרון בעיית השורות הנטויות בעיית השורות הנטויות אלגוריתמים קיימים לפתרון בעיית השורות הנטויות בעיית השורות הנטויות ישנן שתי מגבלות לשיטה זו, הראשונה היא שניתן לתמוך רק בזווית מסוימת של שורות הטקסט. והשנייה היא שהתמונה המטושטשת שמתקבלת (תמונת ה- ALCM) תלויה באופן ישיר בבלאי שממנו סובל המסמך שאותו מעבדים. כתוצאה מכך הפיכת המסמך לתמונה בינארית קשה לא פחות מהפיכת המסמך המקורי לתמונה בינארית. 1.d1.c 1.a
13
האלגוריתם בו עוסק המאמר האלגוריתם פותר את הבעיות שבהם נתקלו האלגוריתמים הקודמים שהצגנו. נחלק את האלגוריתם לשני שלבים: 1. חישוב LPP 2. מציאת מינימום (מציאת עמקים)
14
שלב ראשון של האלגוריתם חישוב LPP לרצועה הכי שמאלית של המסמך. (מדובר בכתב לטיני. אם היה מדובר בעברית או ערבית היינו מבצעים את הפעולה על הרצועה הימנית ביותר במסמך). במהלך ביצוע האלגוריתם נעדכן את ה-LPP ע"י הוספת עמודה נוספת לימין הרצועה המוזזת והורדת העמודה השמאלית ביותר ברצועה, תוך כדי ביצוע ה-LPP לכל פיקסל.
15
שלב שני של האלגוריתם למצוא מינימום מקומי (מציאת "העמקים") לכל פרופיל הטלה. בשלב הקודם ביצענו חישוב LPP, וכעת בהינתן פרופיל ההטלה נבצע החלקה בעזרת נגזרת גאוס. נתבונן בפונקציה המוחלקת שהתקבלה ונמצא נקודות בהן הנגזרת של הפונקציה מתאפסות על מנת למצוא את נקודות המינימום. התוצאה של הפעולה הנ"ל היא רצף של קווי גבול מופרדים, שכל אחד מתאים לרווח בין שתי שורות טקסט שכנות.
17
בכל תמונה ישנו רעש אשר מתווסף לתמונה, במקרה שלנו הרעש בא לידי ביטוי ככתמי דיו ובלאי של המסמך. הרעש הנ"ל מתווסף לחישוב פרופיל ההטלה, דבר היכול לגרום לנקודות שיא שאינן היו מופיעות אם המסמך היה ללא רעש. באותו אופן גם לגבי נקודות המינימום בפרופיל ההטלה. בעזרת נגזרת ראשונה של גאוס ניתן לבצע החלקה של פונקציה. את ההחלקה מבצעים על מנת לקבל מינימום גלובלי ולא מינימום מקומי. כאשר המינימום הגלובלי מתאר מינימום "אמיתי" של הפונקציה ללא רעש. נגזרת ראשונה של גאוס
18
פונקציה עם רעש נגזרת ראשונה של גאוס הפונקציה המוחלקת
19
סקירה מעמיקה של האלגוריתם באלגוריתמים שבהם דנו קודם רוחב הרצועה נקבע באופן יוריסטי (כלל אצבע המבוסס על הגיון פשוט או אינטואיציה, המציע דרך קלה ומהירה לקבל החלטות) ע"י ממוצע האורך של המילה. בחינה מדוקדקת מגלה שישנם כמה פרמטרים חשובים שמשפיעים על רוחב הרצועה אשר משפיעים מאוד על הביצועים של גישת ה-LPP.
20
סקירה מעמיקה של האלגוריתם נסמן ב- את זווית הנטייה, ∆L את המרווח האנכי בין שתי שורות הטקסט ו-∆H את הקו המאונך ל-∆L.
21
סקירה מעמיקה של האלגוריתם תוצאה טובה של רוחב הרצועה המקומית תתקבל ע"י גילוי נכון של "העמק" בין שתי השורות. כפי שמתואר בתמונה בשקופית הקודמת. בחירת ∆H כרוחב הרצועה יפיק ערך מינימום יחיד של פרופיל ההטלה. בחירת רצועה קטנה מ-∆H : עדין יופקו ערכי מינימום בטווח הנכון, אבל ערכים אלו יהיו מועדים לשגיאות של מינימום מקומי הנובעות לדוגמא מרווח בין מילים. בחירת רצועה רחבה מ-∆H : לא תספק מיקום נכון של נקודת המינימום של פרופיל ההטלה.
22
סקירה מעמיקה של האלגוריתם המשוואה מסבירה את התלות של רוחב הרצועה בזווית הנטייה המקומית והרווח בין שורות הטקסט. כאשר זווית הנטייה גדלה, הרוחב של הרצועה אמור להיות קטן יותר. למרות שהשיטות שמופיעות באלגוריתמים בהם דנו משמשות לעבודה על מסמכים בעלי נטיות טקסט קלות, ההשפעה של מרווחי השורות עדין משמעותית. המשמעות היא ששיטת ה- LPP מועדת לשגיאות כאשר מדובר בנטיות גדולות של התמונה או שורות טקסט עם מרווחים קטנים.
23
סקירה מעמיקה של האלגוריתם עניין חשוב נוסף היא ההשפעה של הפעלת שיטות LPP ישירות על תמונה בלויה בגווני אפור. 1.כתמי דיו, חלקים דהויים ומעבר של הכתב בין צידי הדף, כולם מסבכים את הניתוח של נקודת המינימום של פרופיל ההטלה. במקרה זה ההשלכה הנגזרת מרצועות צרות מדי או רחבות מדי היא יותר גדולה. 2. יש חשיבות גדולה לשימוש ברצועות רחבות כאשר מדובר במסמכים בלויים זאת מכיוון שמרווחים בין שורות יכולים להתפספס וכשיש הופעות של כתמי דיו וחלקים דהויים הדבר יכול להוביל לשגיאה בחישוב המינימום של פרופיל ההטלה.
24
התמודדות של האלגוריתם עם רוחב הרצועה על מנת להתגבר על בעיית רוחב הרצועה והמגבלה של ה-LPP בנושא זה, ועל מנת לאפשר רצועות רחבות יותר, האלגוריתם מממש את שיטת ה-LPP בצורה אינקרמנטלית (מצטברת) בהתאם לכיוון של שורות הטקסט, במקום לבצע הטלה אופקית ישירה על התמונה. זאת מאחר וברוב המסמכים כיוון שורות הטקסט משתנה באופן תדיר, הרעיון הוא לממש את שיטת ה- LPP בצורה מצטברת, כלומר רצועה אחר רצועה. במהלך תהליך האלגוריתם אנחנו מחשבים את הכיוון של שורות הטקסט ברצועה הנוכחית, וממשיכים באלגוריתם האינקרמנטלי בכיוון החדש שהתקבל כתוצאה מהרצועה הנוכחית. נחלק את תהליך זה לשני שלבים: 1.אומדן נטייה מקומית. 2. פרופיל הטיה מכוון.
25
אומדן נטייה מקומי 1.ביצוע האלגוריתם על הרצועה הנוכחית מתבטא בסט של קווי הפרדה, כל אחד מהם תואם לרווח בין שורות הטקסט. 2. הכיוון הממוצע של קווי ההפרדה מקורב באמצעות נקודות ההתחלה והסיום של הרצועה הנוכחית, אשר נושא את הקירוב לזווית המקומית של שורת הטקסט. 3. שורות טקסט סמוכות מקובצות יחדיו בהתאם לזוויות הנטייה המקומית שלהן. מאחר ושיטת ה-LPP יכולה להתמודד עם זוויות נטייה קטנות ( ), שורות טקסט אשר שונות האחת מהשנייה בעד מקובצות יחדיו. בכך אנחנו מתארים איך ליישם את שיטת ה-LPP על קבוצה מסוימת של שורות שלהן יש בקירוב את אותו הכיוון. התהליך מיושם באופן בלתי תלוי על כל אחת מהקבוצות הללו.
26
פרופיל הטיה מכוון לאחר שיש קבוצה בעלת כיוון נתון נתקדם בכיוון זה. הרעיון הבסיסי הוא לקבל את הנטייה הממוצעת של הרצועה הקודמת ואז להטיל את הרצועה החדשה לכיוון הנטייה הזו. בעמוד הבא ניתן לראות תמונה המכילה שלוש רצועות סמוכות, כל אחת מופרדת ע"י קו מקווקו, כאשר הרצועה השמאלית ביותר כבר חושבה.
28
פרופיל הטיה מכוון תחילה אנו מחשבים את נקודות הבקרה של קווי ההפרדה ברצועה הראשונה, נקודות הבקרה הן נקודות החיתוך של שורת ההפרדה העליונה והתחתונה עם הקווים האנכיים המגדירים את ההתחלה והסוף של הרצועה (התמונה בעמוד הקודם). נשים לב שבמטרה ליישם את אלגוריתם ההפרדה לרצועה הבאה יש צורך גם ברצועה העוקבת. לשם כך אנחנו מחשבים את נקודות הבקרה של התמונה המכילה את שתי הרצועות העוקבות. CP2 מחושב ע"י הרחבה של קו ההפרדה דרך הנקודות (T1,T2) עד שהוא מגיע לסוף הרצועה השלישית (T3). באופן דומה אנחנו מחשבים את B3 (התמונה בדף הבא)
29
פרופיל הטיה מכוון
30
בשלב הבא אנחנו מחשבים ומיישמים T spatial transformationאשר ממפה את CP2 לפינות של תמונה מלבנית בעלת מידות. כאשר T2 B2 T3 B3 T2T3 B3B2 M Spatial transformation T N
31
פרופיל הטיה מכוון מאחר והקו העובר דרך (T2,T3) הוא לא בהכרח מקביל לקו העובר דרך (B2,B3), משתמשים ב- projective transformation שהיא צורה מסוימת של spatial transformation. התוצאה של הטרנספורמציה הזו היא תמונה של מלבן מתוקן (בתמונה 4.c) שבו שורות הטקסט הן כמעט אופקיות. בשלב זה אנחנו יכולים ליישם את שיטת ה-LPP על הרצועה.
32
% Set up an input coordinate system so that the input image % fills the unit square with vertices (0 0),(1 0),(1 1),(0 1). I = imread('cameraman.tif'); udata = [0 1]; vdata = [0 1]; % Transform to a quadrilateral with vertices (-4 2),(-8 3), % (-3 -5),(6 3). tform = maketform('projective',[ 0 0; 1 0; 1 1; 0 1],... [-4 2; -8 -3; -3 -5; 6 3]); % Fill with gray and use bicubic interpolation. % Make the output size the same as the input size. [B,xdata,ydata] = imtransform(I, tform, 'bicubic',... 'udata', udata,... 'vdata', vdata,... 'size', size(I),... 'fill', 128); subplot(1,2,1), imshow(udata,vdata,I), axis on subplot(1,2,2), imshow(xdata,ydata,B), axis on Projective transformation
34
פרופיל הטיה מכוון 4.d4.c
35
פרופיל הטיה מכוון השלב האחרון הוא ליישם inverse transformation לתוצאה המתקבלת לשם קבלת התוצאה הסופית הנראית בתמונה 4.d בעמוד הקודם. ע"י התקדמות רצועה אחר רצועה ועדכון נקודות הבקרה המתאימות, אנחנו דואגים כי אלגוריתם ה-LPP תמיד מיושם על שורות טקסט אופקיות יחסית. ע"י כך אנחנו לא מוגבלים לאף זווית נטייה, ויכולים להשתמש ברצועות גדולות יותר. הרוחב של כל רצועה מוגדר בהתאם ליחס. מאחר ואלגוריתם ה-LPP יכול להתמודד ביעילות עם זוויות נטייה של הוגדרה המשוואה,כאשר מקורב מפרופיל ההטלה של הרצועה הראשונה.
36
1. התוצאה של הפעלת האלגוריתם היא הפרדת שורות ברורה, אשר מבטאת את הזווית של כל שורת טקסט בנפרד. זאת בשונה מהתוצאה שהתקבלה באלגוריתם שדנו בו קודם שבו התקבלה הפרדת שורות במראה של מדרגות. מראה המדרגות הוא הפרדה תקינה כאשר מדובר בטיפול במסמך בינארי, מכיוון שהגבולות מסמנים לאיזה רכיב שייכת כל שורת טקסט. אבל כאשר מדובר בתמונה בגווני אפור שלא עברה עיבוד בינארי יש צורך בניתוח מדויק של שורות הטקסט מפני שלא ניתן להפעיל תהליך שמשייך את השורות לרכיבים. (התהליך הזה פועל על מידע בינארי בלבד) יתרונות האלגוריתם
37
2. שיוך "העמקים" הנוצרים מפרופילי הטלה שכנים. כתוצאה מהרזולוציה של הפרופילים נגרם איחוד טבעי של שני "עמקים" שכנים. (תמונה 2.b). לעומת איחוד בין שני "עמקים" שכנים שנעשה ע"י חיבור של כל נקודת שיא לנקודת השיא של הרצועה השכנה לו. (תמונה 2.a) כפי שניתן לראות חוק זה של חיבור שתי נקודות השיא לא תמיד מפיק את התוצאה הרצויה. יתרונות האלגוריתם 2.a2.b
38
נערכו שני סטים של ניסויים על 30 מסמכים בלויים. כל אחד מהמסמכים הכיל 20-30 שורות טקסט, ו- 50% מהמסמכים הכילו שורות טקסט נטויות בעלות זוויות שונות. תוצאות הניסוי של האלגוריתם
39
בניסוי הראשון האלגוריתם יושם על כל המסמכים. מאחר והניסויים בוצעו על תמונות בגווני אפור, ההערכה נעשתה בעזרת תצפית ויזואלית. בניסוי השני נוצר עוד סט ע"י סיבוב ידני של כל אחד מהמסמכים ב-8 זוויות שונות בתחום עם הפרש. המטרה של הניסוי השני הייתה לבדוק את החסינות של האלגוריתם לכמות גדולה של זוויות נטייה. התוצאות היו מבטיחות מאוד. בניסוי הראשון 98% משורות הטקסט הופרדו נכון. הסיבה העיקרית ל-2% טעות הייתה זיהוי שגוי של "העמקים" בפרופיל ההטלה המקומי. התוצאות של הניסוי השני היו כמעט זהות. בכל המסמכים שנבדקו האלגוריתם הסתגל נכון לזוויות הנטייה, חוץ ממספר שגיאות בתחילת המסמך. הסיבה לכך נעוצה בעובדה שהאלגוריתם מתוכנן להסתגל לזווית הנטייה במהלך עבודתו. כאשר הוא הסתגל לנטייה של המסמך הביצועים היו תואמים לביצועים על המסמכים בניסוי הראשון. תוצאות הניסוי של האלגוריתם
40
הצגנו גישה חדשנית להפרדה בין שורות טקסט המסתמכת על פרופיל הטלה מקומי. הצענו אלגוריתם מהיר LPP) שמתאים למסמכים ישנים בעלי עקמומיות ונטייה מתונה). החלק השני של הגישה שלנו והחידוש העיקרי בה הוא יישום אלגוריתם ה-LPP בצורה אינקרימנטלית, כך שהוא מסתגל לנטייה של המסמך במהלך עבודתו. השיטה המוצעת השיגה תוצאות מדויקות מאוד על סט של מסמכים בלויים בעלי זוויות נטייה שונות. מסקנות וסיכום:
41
סוף
42
חזרה לשקופית
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.