KaniyamFoundation / ProjectIdeas

A Place to write down the project ideas and to plan them
39 stars 3 forks source link

Tesseract 5.0 Tamil Model Training #184

Open khaleeljageer opened 2 years ago

khaleeljageer commented 2 years ago

We need a well-trained Tesseract OCR model for Tamil. The Tesseract repo already has two different trained models (Best and Fast) for Tamil. But that was five years old, and it has trained with limited number of fonts(~22).

Fonts used for Training:

TAMIL_FONTS = [
    "TAMu_Kadambri",
    "TAMu_Kalyani",
    "TAMu_Maduram",
    "TSCu_Paranar",
    "TSCu_Times",
    "TSCu_Paranar Bold",
    "FreeSans",
    "FreeSerif",
    "Lohit Tamil",
    "Arial Unicode MS Bold",
    "Ascender Uni",
    "Droid Sans Tamil Bold",
    "Droid Sans Tamil",
    "Karla Tamil Inclined Bold Italic",
    "Karla Tamil Inclined Italic",
    "Karla Tamil Upright Bold",
    "Karla Tamil Upright",
    "Noto Sans Tamil Bold",
    "Noto Sans Tamil",
    "Noto Sans Tamil UI Bold",
    "Noto Sans Tamil UI",
    "TSCu_Comic Normal",
    "Lohit Tamil Classical",
]
Natkeeran commented 2 years ago

மேலும் தகவல்கள் பகிர முடியுமா.

khaleeljageer commented 2 years ago

தற்சமயம் பயன்படுத்தபட்டுள்ள 23 Fonts-இன் துல்லியத்தன்மை தோராயமாக 80-93 விழுக்காடு உள்ளது. உதாரணமாக, Noto Sans Tamil fonts கொண்ட படம் அல்லது PDF கோப்பை OCR செய்தால் நமக்கு 80-93 விழுக்காடு துல்லியமான உரை வெளியீடு கிடைக்கும். ஆனால் மேலே குறிப்பிட்டுள்ள பட்டியலில் இல்லாத Font-ஐ OCR செய்தால் அதன் துல்லியத்தன்மை 70விழுக்காட்டிற்கும் குறைவாகவே உள்ளது. ஆகவே நாம் இன்னும் அதிகப்படியான Fonts பட்டியலை உருவாக்கி Tesseract-ஐ பயிற்றுவிப்பதன் மூலம் அதன் துல்லியத்தன்மையை அதிகரிக்கலாம்.

ஏற்கனவே Tesseract பயிற்சிக்குப் பயன்படுத்தப்பட்டுள்ள training text(Link) கொண்டு ஒரு படியலை தயாரித்து நான் முயற்சித்து பார்த்ததில், ஒன்று அல்லது இரண்டு Fonts எனில் பயிற்சி வேகமாக அதாவது, 5-10 நிமிடங்களில் முடிந்தது. பின்னர் 4 fonts கொண்டு பயிற்சிவிக்க முயற்சிக்கையில் அது 2 நாட்கள் எடுத்துக்கொண்டது.(Mac Book Pro i7 processor) ஆக, பட்டியல் நீளும் பட்சத்தில் இன்னும் நேரம் கூடும் என்பது புலனாகிறது.

திட்டம்: நண்பர் ஒருவர் Oliyan Studios என்னும் பெயரில் முழுநேர புகைப்பட கலைஞராக இருக்கிறார். அவரின் அலுவலக கணினி இன்னும் கூடுதல் செயல்திறன் கொண்டது எனவும். இந்த Tesseract பயிற்சிக்குப் பயன்படுத்திக் கொள்ளலாம் எனவும், அதற்கான வேண்டிய உதவிகளைச் செய்யவும் முன்வந்துள்ளார்.

இந்த வார இறுதியில் அவருடைய அலுவகத்திற்கு சென்று ஒருமுறை Tesseract பயிற்சி மேற்கொண்டு இது குறித்தான மேலும் தகவல்களை இங்கே பகிர்கின்றேன்.

khaleeljageer commented 2 years ago

தற்பொழுதுள்ள Tesseract trained data கொண்டு கையெழுத்து பிரதிகளை OCR செய்வதில் சிக்கல் உள்ளது. அதன் துல்லியத்தன்மை 50விழுக்காட்டிற்கும் குறைவாகவே உள்ளது.

கையெழுத்து பிரதிகளையும் OCR செய்யும் வகையில் Tesseract-ஐ மேம்படுத்துவது நமக்குப் பலனளிக்கும். ஆனால் அதற்கான கையெழுத்து மாதிரிகளைத் திரட்டுவது முதற்கட்ட பணியாகும்.

இதுகுறித்து @tshrinivasan, @manimaran96 மற்றும் VGLUG குழுவினருடன் உரையாடி மேற்கொள்ளப்பட்டுள்ள திட்டங்கள்:

  1. தமிழ் Unicharset-ல் உள்ளதுபோல அனைத்து எழுத்துகளையும் கொண்ட ஒரு கட்டுரையைத் தயாரிப்பது. இதற்காக ஓசூரை சேர்ந்த தமிழ் ஆசிரியை ஜெயலட்சுமி அவர்களிடம் பேசினோம். அவர் ஒரு இதைச் செய்து முடிக்க ஒப்புக்கொண்டுள்ளார். (இதற்கு ஏற்கனவே உள்ள training text-யும் பயன்படுத்தலாம்)
  2. இந்தக் கட்டுரையைக் கொண்டு பொதுதளங்களிலும், பள்ளி மற்றும் கல்லூரி மாணவர்களிடையே கருத்தரங்குகள் நடத்தியும் கையெழுத்து மாதிரிகளைப் பெருமளவில் திரட்டலாம்.
  3. திரட்டப்பட்ட மாதிரிகளை Preprocessing செய்ய வேண்டும். இதன் மூலம் Tesseract-இன் துல்லியத்தனைமையை அதிகரிக்கலாம்.(இதற்குக் கட்டாயம் ஒரு முழுநேர பங்களிப்பாளர் மற்றும் பகுதி நேர பங்களிப்பாளர்களின் உதவி தேவை.)
  4. Preprocessing செய்யப்பட்ட மாதிரிகளை GroundTruth மற்றும் TIFF படங்களாகப் பிரிப்பது.
  5. இறுதியாக Tesseract-ஐ பயிற்றுவிப்பது. மேலே குறிப்பிட்டது போல அதிகப்படியான செயல்திறன் கொண்ட கணினி இதற்குத் தேவைப்படும்.
Natkeeran commented 2 years ago

வணக்கம் கலீல்,

இதற்கு இரண்டு வகைகளில் tamil.digital.utsc.utoronto.ca ஊடாக மற்றும் பிற வழிகளில் தேவைப்படின் உதவ முடியும் என்று கருதுகிறேன்.

1) கையெழுத்துப் பிரதிகளை திரட்டுவதில் 2) training தேவைப்படும் computing resources களுக்கு

எப்படி training data வினை உருவாக்குகிறீர்கள்? Preprocessing தொடர்பாக என்ன பணிகள் உள்ளன என்று அறியத் தந்தால் உதவியாக அமையும்.

நன்றி, நற்கீரன்