భాషందం, భువనందం, బ్రతుకందం

Wednesday, May 19, 2010

Tesseract OCR - Getting Started

ఇది డెవలప్పర్లకోసం వ్రాయబడినది. అంటే OCRకి తెలుఁగు నేర్పదలచినవారి కోసం. ఒక సారి తెలుగు నేర్పిన తరువాత, దానిని వాడడం గుఱించి సమయం వచ్చినప్పుడు ఇంకో టపా వేస్తాము.

TESSERACT ENGINE
టెస్సరాక్టుకు ట్రెయినింగు ఇవ్వడానికి కావలసిన ప్రోగ్రాము మూడు విధాల చేయవచ్చు,
౧) మీరే ప్రోగ్రాములను కంపైలు చేసుకొని బిల్డు చేసుకోవడం.
౨) టెస్సరాక్టు గూడులో ఇవ్వబడిన exe వాడడం. కానీ ఇందులో కొన్ని సౌకర్యాలు* లేవు.
౩) నేను ఆ సౌకర్యాలతో కంపైలు చేసిన exe వాడడం.
*సౌకర్యము = Libtiff for reading compressed tiff images.
** ౨,౩ windows వారికే

Download
1) If you want to complie on your own (Linux, Windows)
tesseract-2.04.tar.gz {from here}

2) If you want pre built (Windows) (Not recommended)
tesseract-2.04.exe.tar.gz {from here}

3) Pre-built with Libtiff (Windows)
tesseract_bin.zip {from here}

SOPPORTING S/W
+ If you want to complie on your own : VC++ (Windows) , gcc or equiv.(Linux)
+ For printing any formatted telugu unicode text to a tiff file : MS Word (Windows), idonno (Linux)
+ For unzipping tar, gz, zip archive : 7-zip or equiv.


LIBTIFF (For building your own tesseract.exe)
టెస్సరాక్టులో స్వతహాగా compressed images చదవగలిగే సామర్థ్యంలేదు. కాబట్టి libtiff అనే open source tiff library అవసరం వుంది.
Linux
లైనక్సు వాడువారు http://remotesensing.org/libtiff/ నుండి నేఱుగా source code దింపుకొని దానిని కంపైలు చేసుకొని, అక్కడి నుండి libraries, header files లను tesseract makefile కి అందించవచ్చుఁ
Windows
WinGNU32 వారు మంచిగా కంపైలు చేయబడ్డ libs, dlls, మఱియు .hలను రెడీమేడ్ డస్సుల్లా అందిస్తున్నారు. http://gnuwin32.sourceforge.net/packages.html నుండి Litiff, Jpeg, Zlib డైరక్టరీలను దింపుకోండి.

TESSDATA
tesseract అనేది cpu అయితే, దానికి కావలసిన memory యే tessdata.
ఒక భషలో training ఇవ్వడమంటేనే, ఆ భాషలో ఈ tessdataని తయారు చేయడమన్నమట.
ఉదా -
మీకు ఒక చిన్న పిల్లాడు వున్నాడనుకుందాం. వాడికి భగవంతుడు బుఱ్ఱనిచ్చాడు. వాడికి మనము తెలుఁగు నేర్పితే తెలుగు నేర్చుకుంటాడు, ఆంగ్లం పేరుమీద తెగులిష్ నేర్పితే తెగులిష్ నేర్చుకుంటాడు. అలాఁ...
ఇక్కడ మనకు hp భగవంతుడు, google మంత్రసాని; tessearct.exe మనకున్న పిల్లవాడు. వాడికి tessdata రూపంలో తెలుగు చదివే సార్థ్యాన్ని అందించాలి.

ఇంగ్లీషు చదివే సామర్థ్యాన్ని మనం గూగులు కోడు నుండే దింపుకోవచ్చుఁ.
* tessdat/eng.freq-dawg, eng.word-dawg, eng.user-words, eng.inttemp, eng.normproto, eng.pffmtable, eng.unicharset, eng.DangAmbigs
tesseract-2.00.eng.tar.gz {from here}

మన ధ్యేయం ఇప్పుడు తెలుగు tessdata
* tessdat/tel.freq-dawg, tel.word-dawg, tel.user-words, tel.inttemp, tel.normproto, tel.pffmtable, tel.unicharset, tel.DangAmbigs

"మంచిగా" తయారు చేయడం.

మంచి tessdata తయారు చేయడం ఒక iterative process.
నేను మొదటి వాడిగా చేసాను కాబట్టి, మొదలు నేను ఆంగ్లమో కన్నడమో వాడి అక్షరాలను గుర్తించమన్నాను. (tessdata/eng.* or tessdata/kan.*)
అలా ఆంగ్లం వాడి నేను tessdata కి కొంత నేర్పడం జరిగింది, దాని ఫలితమే
tel.tessdata.zip {from here}

నేను తయారు చేసింది, సంయుక్త అక్షరాలను చదవలేదు. కాబట్టి మనము ఇంకా మంచివి తాయరు చేసుకోవలసివుంది.

ప్రస్తుతానికి ఇవన్నీ మీఱు డౌనులోడు చేసుకొనవలసివున్నవి.
తరువాతి టపాలో
మీరు సొంతంగా tesseract.exe ని ఎలా తయారుచేసుకోగలరు అన్నది చూద్దాం.
ఆ పై టపాలో
tesseract.exe వాడి tessdata ని ఎలా తయారు చేయవచ్చు అన్నది చూద్దాం.
ఆ తరువాతి టపాలో
మంచి tessdata ని ఎలా తయారు చేయవచ్చు అన్నది చూద్దాం. దీనికి రెండు విధానాలు వున్నాయి. వాటి మంచిచెడులు చూద్దాం.

7 comments:

  1. Above articles has nicely written However
    It would be nice to have complete above post in English instead of partly telugu and partly english for benefit of Telugu people who does not know to read as well as interested non-telugu people to enable them to contribute their ideas/suggestions

    ReplyDelete
  2. టెస్సరెక్టు అంటే తెలుగును రిస్సరెక్టా? :-)

    ReplyDelete
  3. ^ రవి వైజాసత్యా
    మీరు ఎలా అయినా అనండి . అయితే ఈ ఓసిఆర్ అభివృద్ధి పై
    దృష్టి మాత్రం కేంద్రీకరించ మనవి . మీరు "దృష్టి" పై పరిశోధనని
    కొనసాగించినా ఫరవాలేదు . అన్నిటిలో మీరు సమర్ధులే కనుక :)

    మీకు తెలుసు - ఏ ఒక్కరో ఇద్దరో చేసే పని కాదిది . మీరు
    పూనుకుంటే ఒక బృందం ఏర్పడి , సరైన ప్రణాళికతో ఈ తెలుగు
    ఓసిఆర్ ప్రయత్నాన్ని సఫలం చేయగలదు . ధన్యవాదములు .

    గమనిక : రవి వైజాసత్య గారికి పర్సనలు మెయిలు పంపవచ్చు;
    అయితే కావాలనే ఇక్కడ పోస్టు చేయడం జరిగింది . నెనర్లు

    ReplyDelete
  4. రాకేశ్వరా
    ఇక్కడ వ్యాఖ్యల అనుసరణకి అవకాశమున్నట్లు లేదు
    ఇది కాస్త ఇబ్బందిని కలిగించే విషయం ... ...

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete
  6. మీరు ప్రొన్దుపరచిన తెలుగు తెస్స్ డేటా ఫై ళ్ళు ఇచ్చట లభించడం లేదు .దయచేసి మరల అప్ లోడ్ చెయవలసినడిగా మనవి

    ReplyDelete
  7. ఈ టపాను నేను సుమారు 18 నెలలు ఆలస్యంగా చూస్తున్నాను. గత కొన్ని రోజులుగా నేను కూడా "Tesseract" మీద ప్రయోగాలు చేస్తున్నా. గూగులువాళ్లు దీనిని ఆదరించడం మొదలు పెట్టిన తరువాత, వడకం చాలా సుళువయినట్లుంది.

    ReplyDelete