လွယ်လွယ်ပြောရရင် Myan OCR ဆိုတာ ဓာတ်ပုံထဲက မြန်မာနဲ့ English ပုံနှိပ်စာတွေကို computer က ဖတ်ပြီး ပြင်လို့ရတဲ့ text အဖြစ် ပြောင်းပေးတဲ့ program တစ်ခုပါ။ ကျွန်တော် ကိုယ်တိုင် ဆောက်ထားတာပါ။ ဥပမာ လက်ခံဖြတ်ပိုင်းတစ်ခု၊ စာရွက်တစ်ရွက်ကို ဖုန်းနဲ့ ရိုက်ထားပြီး အဲဒီထဲက စာတွေကို copy လုပ်ချင်၊ ပြင်ချင်၊ ရှာချင်ရင် Myan OCR မှာ ပုံကို တင်လိုက်တာနဲ့ စာအဖြစ် ထုတ်ပေးပါတယ်။
သူငယ်ချင်းတစ်ယောက်ကို ပုံပြပြီး “ဒီထဲက စာတွေ ဖတ်ပြစမ်း၊ စာရိုက်ပေးစမ်း” လို့ ခိုင်းသလိုပါပဲ။ သူက တစ်လုံးချင်း ကြည့်ဖတ်ပြီး ရိုက်ပေးတယ်၊ တစ်ခါတစ်လေ လုံးချင်း မှားဖတ်တာလည်း ရှိမယ်၊ အဲဒီအခါ ကိုယ်က ပြန်စစ်ပြီး ပြင်ရတယ်။ OCR ကလည်း အဲဒီအတိုင်းပါပဲ — program က ပုံကို ကြည့်ပြီး စာလုံးတွေကို ခန့်မှန်းဖတ်တာ၊ ပြီးရင် ကိုယ်က စစ်ပြီး ပြင်လို့ရအောင် လုပ်ထားတာပါ။
ဘာတွေ လုပ်လို့ရလဲ
- ပုံကို upload လုပ်တာ၊ paste လုပ်တာ၊ camera နဲ့ တန်းရိုက်တာတွေ ရပါတယ်
- ပုံကို လှည့်တာ (rotate)၊ လိုချင်တဲ့ အပိုင်းပဲ ဖြတ်ယူတာ (crop) ရပါတယ်
- PDF ဆိုရင် စာမျက်နှာ ၈ မျက်နှာအထိ၊ ပုံအများကြီးဆိုရင် တစ်ခါတည်း ၄ ပုံအထိ ဖတ်ပေးပါတယ်
- ဖတ်ပြီးသား စာကို တန်းပြင်လို့ရတယ်၊ တွေ့ရှိတဲ့ စာလုံး box တွေ ပြပေးတယ်၊ နောက်ထပ် OCR အဖြေတစ်မျိုးလည်း နှိုင်းယှဉ်ကြည့်လို့ရပါတယ်
- စာကို export ထုတ်တာ၊ browser ထဲမှာပဲ သိမ်းထားတဲ့ history (ကိုယ်ဖွင့်မှ သိမ်းတာ) ပါပါတယ်
ဖတ်တဲ့နည်း သုံးမျိုး
နောက်ကွယ်က engine က Tesseract OCR ပါ။ မြန်မာ (mya) နဲ့ English (eng) နှစ်ဘာသာလုံးအတွက် data ထည့်ထားပါတယ်။ ဖတ်ပုံကို သုံးမျိုး ရွေးလို့ရပါတယ်။
- Fast — တစ်ကြိမ်ပဲ ဖတ်တာ၊ မြန်တယ်
- Balanced — အလယ်အလတ်
- Accurate — ပုံကို နည်းမျိုးစုံ ပြင်ပြီး အကြိမ်ကြိမ် ဖတ်တာ၊ နှေးပေမဲ့ ပိုသေချာဖို့ ကြိုးစားထားပါတယ်
လိုချင်ရင် Google Cloud Vision ကိုလည်း engine အဖြစ် ရွေးလို့ရပါတယ် — ဒါပေမဲ့ အဲဒါက ကိုယ့် Google Cloud account၊ API key နဲ့ billing ကိုယ်တိုင် စီစဉ်ရတာပါ။ မလိုရင် local Tesseract နဲ့ပဲ လုံလောက်ပါတယ်။
ဘာသာပြန်တာက ရွေးချယ်ခွင့်
ဖတ်ပြီးသား စာကို မြန်မာ ↔ English ဘာသာပြန်ဖို့ feature ပါပါတယ်။ Google Cloud Translation ဒါမှမဟုတ် ကိုယ့် computer ပေါ်က Ollama local model နဲ့ ပြန်လို့ရပါတယ်။ နှစ်ခုလုံးက optional ပါ — စီစဉ်မထားရင် OCR နဲ့ စာပြင်တာတွေက ပုံမှန် အလုပ်လုပ်ပါတယ်။ ဘာသာပြန် feature ကို ဖွင့်ပြီး နှိပ်မှ စာကို ပို့တာပါ၊ အလိုအလျောက် မပို့ပါဘူး။
စမ်းကြည့်ချင်ရင် — browser demo
Server မတင်ရသေးဘဲ စမ်းကြည့်လို့ရအောင် GitHub Pages မှာ demo တင်ထားပါတယ် — itsmeminsithu.github.io/Myan-OCR။ ပုံတင်ပြီး Recognize နှိပ်လိုက်ရင် ရပါတယ်၊ အဆင်သင့် sample ပုံနဲ့လည်း စမ်းလို့ရပါတယ်။
ရိုးရိုးသားသား ပြောထားချင်တာက demo က Tesseract ကို browser ထဲမှာ run ထားတာပါ (Tesseract.js)။ ပုံက ကိုယ့် device ကနေ ဘယ်ကိုမှ မထွက်ပါဘူး။ ဒါပေမဲ့ demo မှာ PDF၊ batch၊ camera tool တွေ၊ ဘာသာပြန်တာတွေ မပါဘူး — အဲဒါတွေက Python backend နဲ့ run တဲ့ အပြည့်အစုံ app မှာပဲ ရတာပါ။ အဖြေ အရည်အသွေးလည်း demo နဲ့ backend မှာ ကွာနိုင်ပါတယ်။
ကိုယ့် computer မှာ run ချင်ရင်
- Mac မှာ Docker ရှိရင် ./scripts/start-mac.sh run ပြီး browser မှာ http://localhost:8388 ဖွင့်ရုံပဲ
- Docker မသုံးချင်ရင် Python 3 နဲ့ Tesseract (mya/eng data ပါတာ) ထည့်ပြီး native run လို့လည်း ရပါတယ်
- ဒီ app က local သုံးဖို့ ဆောက်ထားတာပါ — ဒီအတိုင်း internet ပေါ် တင်သုံးဖို့ မဟုတ်ပါဘူး၊ public တင်ချင်ရင် login/HTTPS စတာတွေ ကိုယ်တိုင် ထပ်စီစဉ်ရပါမယ်
လက်ရှိအဆင့်နဲ့ ရိုးရိုးသားသား ပြောရရင်
အခု version က 0.1.3 ပါ။ Source test ၅၄ ခု pass ဖြစ်တယ်လို့ project ရဲ့ test report မှာ မှတ်ထားပါတယ်။ ဒါပေမဲ့ Google API တွေကို အစစ်နဲ့ စမ်းတာ၊ Docker image build နဲ့ ဖုန်းအစစ် camera တွေကိုတော့ မစမ်းရသေးပါဘူး။
တိကျမှုဘက်မှာလည်း အမှန်အတိုင်း ပြောပါမယ်။ ပုံနှိပ် မြန်မာ sample အတုတစ်ခုနဲ့ တိုင်းကြည့်တော့ character error rate 5.71% ရှိပြီး အတိအကျ မတူပါဘူး။ Sample တစ်ခုတည်းက camera နဲ့ ရိုက်တဲ့ ပုံအစစ်တွေရဲ့ တိကျမှုကို မပြောနိုင်ပါဘူး။ OCR အဖြေကို မူရင်းပုံနဲ့ တိုက်စစ်ပြီးမှ သုံးဖို့က အရေးအကြီးဆုံးပါ။
နိဂုံး
စာရွက်ပေါ်က စာက စာရွက်ပေါ်မှာပဲ ရှိတယ်၊ computer ထဲ ရောက်သွားတာနဲ့ copy လုပ်လို့ရ၊ ရှာလို့ရ၊ ပြင်လို့ရ ဖြစ်သွားတယ်။ Myan OCR က အဲဒီ တစ်ဆင့်ကို မြန်မာစာအတွက် အဆင်ပြေအောင် ဆောက်ထားတာပါ။
Source code အပြည့်အစုံကို GitHub မှာ ကြည့်နိုင်ပါတယ် — github.com/itsmeminsithu/Myan-OCR။ စမ်းသုံးကြည့်ပြီး အကြံပြုချက် ရှိရင် ပြောပြပေးပါ။ နောက်ပိုင်း update တွေ ရှိလာရင်လည်း My Project Overview tag အောက်မှာပဲ ဆက်ရေးသွားပါမယ်။ 🙌