pndaza / tesseract-myanmar

Tesseract OCR - Myanmar
21 stars 5 forks source link
myanmar ocr tesseract

Tesseract Myanmar

Myanmar script အတွက် tesseract OCR ရဲ့ out of the box ပေးထားတဲ့ traineddata ဖိုင်ဟာ

error rate အရမ်းများပါတယ်။

မြန်မာစာအတွက် ocr အမှန်ဆုံးလို့ ဆို့ရမယ့် google vision ရဲ့ ocr ကလည်း မြန်မာဝေါဟာရအတွက်ဘဲ အဆင်ပြေတယ်။ ပါဠိဝေါဟာရများအတွက် error rate အရမ်းများနေသေးတယ်။

ပါဠိ၊ အဋ္ဌကထာ၊ ဋီကာ နိဿယများကို scan version မှ text version သို့ စွမ်းနိုင်သလောက် ပြောင်းထားဘို့ စိတ်ကူးပေါ်တုန်း tesseract ocr ရဲ့ myanmar script အတွက် trainneddata ဖိုင်ကို layer replacing နည်းဖြင့် fine tune လုပ်ပြီး စမ်းကြည့်တာ အတော်လေး ရလာဒ်ကောင်းမွန်တာမို့ ပြန်လည်ဝေမျှလိုက်ပါသည်။ error rate ကို ဇယားမှာ ကြည့်ပါ။

မှတ်ချက်။ ။ accuracy အတော်ကောင်းပါသော်လည်း tesseract OCR ၏ text-line finding သည် ဗျည်းထက်၌ ရှိသော လုံးကြီးတင်၊ လုံးကြီးတင်ဆံခတ်၊ အသတ်စသည်တို့သည် ဗျည်းနှင့် မထိစပ်ဘဲ လွတ်နေသော စာလုံးဒီဇိုင်းမျိုးဖြစ်ပါက ထိုလုံးကြီးတင်စသည်တို့ကို လိုင်းတလိုင်းအနေဖြင့် ခွဲထုတ်သောကြောင့် အချို့သော မြန်မာဖွန့်ဒီဇိုင်းများအတွက် မမှန်ပါ။ ( အာရေဗျ၊ ဂျပန်၊ ဂျာမနီ စသည်တို့အတွက်လည်း မမှန်သေး၏ ဟု ဆိုကြ) ။

tesseract ရဲ့ text line segmentation fail ဖြစ်တဲ့အခါမှာ သုံးလို့ရအောင် opencv + python သုံးပြီး text line segment script လေး စမ်းကြည့်ထားတယ်။ လိုအပ်တွေ အများကြီးပါ။ စာကြောင်းတွေ ထပ်နေရင် ( line spacing နည်းလွန်းရင်)၊ စာကြောင်းတွေ ကွေးနေရင် ( warp ဖြစ်နေရင် ) အဆင်မပြေပါဘူး။

opencv-python နှင့် pytesseract package လိုတယ်။

ဒါကတော့ noise မပါတဲ့ eval data set ပေါ်မှာ evaluate လုပ်ထားတာပါ။ noise စသည်ပါလာရင်တော့ ဒီထက်ပိုပြီး error rate များပါလိမ့်မယ်။

font char error rate word error rate
1 Myanmar_PaOh 0.42941127 4.3377578
2 Myanmar_Ethnic_Sans 0.46718541 4.4345238
3 Myanmar_Yein 0.6053413 5.8825121
4 Myanmar_Sans_Pro 0.63756975 5.4966313
5 Myanmar_UI 0.63978621 5.8351371
6 Pyidaungsu 0.68607731 5.9856023
7 MUA_Office 0.70245574 6.7455202
8 Myanmar_Tagu 0.70260465 7.8238946
9 Myanmar_Sabae 0.72382359 4.8816138
10 Noto_Sans_Myanmar 0.73380574 5.7155067
11 Myanmar_MUA 0.74944535 6.5346529
12 Pyidaungsu_Bold 0.76580684 7.2995682
13 Myanmar_Pangram 0.81070258 6.2678314
14 Myanmar_Grand 0.81442107 6.0077483
15 Myanmar_Squarehand 0.82573218 7.8014958
16 Myanmar_Sagar 0.83168089 6.2852262
17 Padauk_Bold 0.87910899 8.6717926
18 Padauk 0.88295635 7.7363192
19 Noto_Sans_Myanmar_UI 0.90406301 6.977467
20 Myanmar_Sanpya 0.90629666 6.7556471
21 KhunPaOh 0.93467255 10.175707
22 Hopong 0.9837311 7.7665043
23 ThanLwin 0.98857813 7.5042972
24 Myanmar_Text 0.99648591 5.7332251
25 Ours-Unicode 1.053145 7.3451244
26 Myanmar_Pauklay 1.0548857 7.8954101
27 Myanmar_Ekaya 1.0671492 7.4526902
28 Cherry_Unicode 1.0777003 7.1956848
29 Hsi_Hseng 1.1190725 10.013299
30 Myanmar_Square 1.1897668 9.5039683
31 Myanmar_Gantgaw 1.2558542 7.7054364
32 Myanmar_Chatu 1.3166145 10.894742
33 Myanmar_Phiksel_Smooth 1.3338799 12.17939
34 Myanmar_Taungthu 1.3414034 10.334584
35 Myanmar_Katkuu 1.4077546 10.765435
36 Myanmar_BoKaow 1.4745422 10.716612
37 Myanmar_Waitzar 1.4890937 12.193301
38 Myanmar_Phetsot 1.5279923 12.255201
39 Myanmar_four 1.7663877 12.963214
40 Myanmar_Nayone 1.9427612 13.551888
41 Noto_Sans_Myanmar_Bold 1.9637489 13.091575
42 tawzin-018 2.0036169 5.4761
43 alankar 2.1429148 20.204365
44 Yunghkio 2.157214 9.1917768
45 Myanmar_Chatu_Light 2.1715123 13.758966
46 Noto_Serif_Myanmar 2.2559152 13.520698
47 monotype_eval_1 2.4217351 16.954887
48 Myanmar_Sketch 2.5663688 12.084607
49 monotype_eval_2 2.57996 19.210526
50 Myanmar_Square_Light 2.76287 16.257971
51 Myanmar_Njaun 2.7668908 13.564779
52 Myanmar_Tagaung 2.9754883 19.844419
53 Yangon 3.4642327 45.052338
54 buddhavan 3.8319597 27.555556
55 YoeYar-One 3.8710353 27.79239
56 Myanmar_Text_Bold 4.0489174 10.442834
57 Myanmar_Taunggyi 4.1705694 28.81169
58 Myanmar_Khway 4.6355567 24.030112
69 salin_eval 4.9816442 26.211735
60 maeu_eval 5.920616 26.839827
61 Myanmar_Handwriting 18.287787 46.761013