How do i fix this issue using training tesseract ocr custom data On Tuesday 6 February 2024 at 12:11:03 UTC+5:30 Santhiya C wrote:
> can you please tell me model and steps > > On Monday 5 February 2024 at 17:22:10 UTC+5:30 aromal...@gmail.com wrote: > >> if you are getting started with OCR try some other engines or just >> start with some deep learning models >> understand the basic working >> On Thursday 1 February 2024 at 11:17:14 UTC+5:30 santhi...@gmail.com >> wrote: >> >>> Already i was used above mentioned steps but i lost the datas >>> >>> On Saturday 27 January 2024 at 06:52:54 UTC+5:30 g...@hobbelt.com wrote: >>> >>>> L.S., >>>> >>>> *PDF. OCR. text extraction. best language models? not a lot of success >>>> yet...* >>>> >>>> 🤔 >>>> >>>> Broad subject. Learning curve ahead. 🚧 Workflow diagram included >>>> today. >>>> >>>> >>>> *Tesseract does not live alone* >>>> >>>> Tesseract is an engine, which takes an image as input and produces text >>>> output; several output formats are available. If you are unsure, start >>>> with >>>> HOCR output as that's close to modern HTML and carries almost all info >>>> tesseract produces during the OCR process. >>>> If it isn't an image you've got, you need a preprocess (and >>>> consequently additional tools) to produce images you can feed tesseract. >>>> tesseract is designed to process a SINGLE IMAGE. (Yes, that means you may >>>> want to 'merge' its output: postprocessing) >>>> >>>> * To complicate matters immediately, tesseract can deal with >>>> "multipage TIFF" images and can accept multiple images to process via its >>>> commandline. Keep thinking "one page image in, bunch of text out" and >>>> you'll be okay until you discover the additional possibilities.* >>>> >>>> *Advice Number 1: *get a tesseract executable, invoke it using its >>>> commandline interface. If you can't build tesseract yourself, Uni Mannheim >>>> may have binaries for you to download and install. Linuxes often have >>>> tesseract binaries and mandatory language models available as packages, >>>> BUT >>>> many Linuxes are more or less far behind the curve: latest tesseract >>>> release as of this writing is 5.3.4: >>>> https://github.com/tesseract-ocr/tesseract/releases so VERIFY your rig >>>> has the latest tesseract installed. Older releases are older and >>>> "previous" >>>> for a reason! >>>> >>>> >>>> *Preprocessing is the chorus of this song* >>>> >>>> As you say "PDF", you therefor need to convert that thing to *page >>>> images*. My personal favorite is the Artifex mupdf toolkit, using >>>> mutool or mudraw / etc. tools from that commandline toolkit to render >>>> accurate, high-rez page images. Others will favor other means but it all >>>> ends up doing the same thing: anything, PDFs et al, is to be converted to >>>> one image per page and fed to tesseract that way. The rendered page images >>>> MAY require additional *image preprocessing*: >>>> >>>> >>>> *This next bit cannot be stressed enough: *tesseract is designed and >>>> engineered to work on plain printed book pages, i.e. BLACK TEXT on PLAIN >>>> WHITE BACKGROUND. As I observe everyone and their granny dumping holiday >>>> snapshots, favorite CD, LP and fancy colourful book covers straight into >>>> tesseract and complaining "nothing sensible is coming out" that's because >>>> you're feeding it a load of dung as far as the engine concerned: it >>>> expects >>>> BLACK TEXT on PLAIN WHITE BACKGROUND like a regular dull printed page in a >>>> BOOK, so anything with nature backgrounds, colourful architectural >>>> backgrounds and such is begging for a disaster. And I only emphasize with >>>> the grannies. <drama + rant mode off/> This is why >>>> https://tesseract-ocr.github.io/tessdoc/ImproveQuality.html is >>>> mentioned almost every week in this mailing list, for example. It's very >>>> important, but you'll need more... >>>> >>>> >>>> The take-away? You'll need additional tools for image preprocessing >>>> until you can produce greyscale or B&W images that look almost as if these >>>> were plain old boring book pages: no or very little fancy stuff, black >>>> text >>>> (anti-aliased or not), white background. >>>> Bonus points for you when your preprocess removes non-text image >>>> components, e.g. photographs, in the page image: it can only confuse the >>>> OCR engine so when you strive for perfection, that's one more bit to deal >>>> with BEFORE you feed it into tesseract and wait expectantly... (Besides, >>>> tesseract will have less discovery to do so it'll be faster too. Of little >>>> importance, relatively speaking, but there you have it.) >>>> As also mentioned at >>>> https://tesseract-ocr.github.io/tessdoc/ImproveQuality.html : tools of >>>> interest re image processing are leptonica (parts used by tesseract, but >>>> don't count on it doing your preprocessing for you as it's a highly >>>> scenario/case-dependent activity and therefor not included in tesseract >>>> itself) Also check out: OpenCV (a library, not a tool, so you'll need >>>> scaffolding there before you can use it), ImageMagick, (Adobe Photoshop or >>>> open source: Krita: great for what-can-I-get experiments but not suitable >>>> for bulk), etc.etc. >>>> >>>> >>>> *Tesseract bliss and the afterglow: postprocessing* >>>> >>>> Once you are producing page images like they were book pages, and >>>> feeding them into tesseract, you get output, being it "plain text", HOCR >>>> or >>>> otherwise. >>>> >>>> Personally I favor HOCR but that's because it's closest to what *my >>>> *workflow >>>> needs. You must look into "postprocessing" anyway: being it additional >>>> tooling to recombine the OCR-ed text into PDF "overlay", PDF/A production, >>>> or anything else; advanced usage may require additional postprocessing >>>> steps, e.g. pulling the OCR-ed text through a spellchecker+corrector such >>>> as hunspell, if that floats your boat. You'll also need to get and set up >>>> and/or program postprocess tooling if you otherwise wish to merge multiple >>>> images' OCR results. You may want to search the internet for this; I don't >>>> have any toolkit's name present off the top off my head for that as I'm >>>> using tesseract in a slightly different workflow, where it is part of a >>>> custom, *augmented *mupdf toolkit: PDF in, PDF + HOCR + misc document >>>> metadata out, so all that preprocessing and postprocessing I hammer on is >>>> done by yours truly's custom toolchain. Under development, so I'm not >>>> working with the diverse python stuff most everybody else will dig up >>>> after >>>> a quick google search, I'm sure. Individual project's requirements' >>>> differences and such, so your path will only be obvious to you. >>>> >>>> >>>> >>>> *How to be trolling an OCR engine *😋 >>>> >>>> Oh, before I forget: some peeps drop shopping bills and such into >>>> off-the-shelf tesseract: *cute *but not anything like a "plain printed >>>> book page" so they encounter all kinds of "surprises": >>>> https://tesseract-ocr.github.io/tessdoc/ImproveQuality.html is >>>> important but it doesn't tell you *everything*. "plain printed book >>>> pages" are, by general assumption, pages of text, or, more precisely: >>>> *stories*. Or other tracts with paragraphs of text. Bills, invoices >>>> and other financial stuff is not just "tabulated semi-numeric content" >>>> instead of "paragraphs of text" but those types of inputs also fail grade >>>> F >>>> regarding the other implicit assumption that comes with human "paragraphs >>>> of text": the latter are series of words, technically each a bunch of >>>> alphabet glyphs (*alpha*numerics), while financials often mix currency >>>> symbols and numeric values: while these were part of tesseract's training >>>> set, I am sure, they are not its focal point hence have been given less >>>> attention than the words in your language dictionary. And scanning those >>>> SKUs will fare even worse as they're just a jumbled *codes*, rather >>>> than *language*. Consequently you'll need to retrain tesseract if your >>>> CONTENT does not suit these mentioned assumptions re "plain printed book >>>> page". Haven't done that yet myself; it's not for the faint of heart and >>>> since Google did the training for the "official" tesseract language models >>>> everyone downloads and uses, you can bet your bottom retraining isn't >>>> going >>>> to be "nice" for the less well funded either. Don't expect instant >>>> miracles >>>> and expect a long haul when you decide you must go this route [of training >>>> tesseract], or you will meet Captain Disappointment. Y'all have been >>>> warned. 😉 >>>> >>>> >>>> >>>> >>>> *Why your preprocess is more important than kickstarting tesseract, by >>>> blowing ether* up its carburetor* >>>> >>>> *Why is that "plain printed book page is like human stories and similar >>>> tracts: paragraphs of text" mantra so important?* Well, tesseract uses >>>> a lot of technology to get the OCR quality it achieves, including using >>>> language dictionaries. While some smarter people will find switches in >>>> tesseract where *explicit* dictionary usage can be turned off, it >>>> cannot switch off the *implicit* use due to how the latest and best >>>> core engine: LSTM+CTC (since tesseract v4) actually works: it slowly moves >>>> its gaze across each word it is fed (jargon: *image segmentation >>>> *preprocess >>>> inside tesseract produces these word images) and LSTM is so good at >>>> recognizing text, because it has "learned context": that context being the >>>> characters surrounding the one it is gazing at right now. Which means LSTM >>>> can be argued to act akin to a *hidden Markov model* (see wikipedia) >>>> and thus will deliver its predictions based on what "language" (i.e. >>>> *dictionary*) it was fed during training: human text which is used in >>>> professional papers and stories. Dutch VAT codes didn't feature in the >>>> training set, as one member of the ML discovered a while ago. Financial >>>> amounts, e.g. "EUR7.95" are also not prominently featured in LSTMs >>>> training >>>> so you can now guess the amount of confusion the LSTM will experience when >>>> scanning across such a thing: reading "EUR" has it expect "O" with high >>>> confidence, as in "eur" obviously leading to the word "euro", but what the >>>> heck is that "digit 7" doing there?! That's *highly* unexpected, hence >>>> OCR probabilities drop, pass decision-making thresholds and you get WTF >>>> results, simply because the engine went WTF *first*. >>>> Ditto story/drama for calligraphed signs outside shops, and, *oh! oh!, >>>> license plates*!! (google LPR/ALPR if you want any of that) and *anything >>>> else *that's *not *reams of text and thus you wouldn't expect to find >>>> in a plain story- or textbook. >>>> (And for the detail-oriented folks: yes, tesseract had/has a module on >>>> board for recognizing math, but I haven't seen that work very well with my >>>> inputs and not seen a lot of happy noises out there about it either, but >>>> the Google engineer(s) surely must have anticipated OCRing that kind of >>>> stuff alongside paragraphs of text. For us mere mortals, I'ld consider >>>> this >>>> bit "an historic attempt" and forget about it.) >>>> >>>> >>>> *Advice Number 2: *when rendering page images, the ppi (pixels per >>>> inch) resolution to select would be best adjusted to produce regular lines >>>> of text in those images where the capital-height of the text is around 30 >>>> pixels. Typography people would rather like to refer to *x-height*, so >>>> that would be a little lower in pixel height. Line height would be larger >>>> as that includes stems and interline spacing. However, from an OCR engine >>>> perspective, these (x-height & line-height) are very much dependent of the >>>> font used and the page layout used, so they are more variable than the >>>> reported optimal capital-D-height at ~32px. As no-one measures this >>>> up-front, as an initial guess, 300dpi in the render/print-to-image dialog >>>> of your render tool of choice would be reasonable start but when you want >>>> more accuracy, tweaking this number can already bring some quality >>>> changes. >>>> Of course, when the source is (low rez) bitmap images already (embedded in >>>> PDF or otherwise), there's little you can do, but then there's still >>>> scaling, sharpening, etc. image preprocessing to try. This advice is >>>> driven >>>> by the results published here: >>>> https://groups.google.com/g/tesseract-ocr/c/Wdh_JJwnw94/m/24JHDYQbBQAJ >>>> (and google already quickly produced one other who does something like >>>> that >>>> and published a small bit of tooling: >>>> https://gist.github.com/rinogo/294e723ac9e53c23d131e5852312dfe8 ) >>>> >>>> >>>> *) the old-fash way to see if a rusty engine will still go (or blow, >>>> alas). Replace with "SEO'd blog pages extolling instant success with ease" >>>> to take this into the 21st century.) >>>> >>>> >>>> >>>> *The mandatory readings list:* >>>> >>>> - https://tesseract-ocr.github.io/tessdoc/ImproveQuality.html >>>> - https://tesseract-ocr.github.io/tessdoc/ >>>> >>>> >>>> >>>> >>>> *The above in diagram form (suggested tesseract workflow ;-) )* >>>> >>>> [image: diagram.png] >>>> (diagram PikChr source + SVG attached) >>>> >>>> >>>> >>>> Met vriendelijke groeten / Best regards, >>>> >>>> Ger Hobbelt >>>> >>>> -------------------------------------------------- >>>> web: http://www.hobbelt.com/ >>>> http://www.hebbut.net/ >>>> mail: g...@hobbelt.com >>>> mobile: +31-6-11 120 978 >>>> -------------------------------------------------- >>>> >>>> >>>> On Fri, Jan 26, 2024 at 6:11 PM Santhiya C <santhi...@gmail.com> wrote: >>>> >>>>> Hi Guys , i will start development OCR using image and Pdf to text >>>>> extraction what are the steps i need to follow , can you pleasse refer me >>>>> the best model , already i had used the pytesseract engine but i did not >>>>> get proper extraction ... >>>>> >>>>> Best Regards, >>>>> >>>>> Sandhiya >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "tesseract-ocr" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to tesseract-oc...@googlegroups.com. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/tesseract-ocr/a92d17a9-4bcf-4ba0-a81c-71e8e08a4afen%40googlegroups.com >>>>> >>>>> <https://groups.google.com/d/msgid/tesseract-ocr/a92d17a9-4bcf-4ba0-a81c-71e8e08a4afen%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> -- You received this message because you are subscribed to the Google Groups "tesseract-ocr" group. To unsubscribe from this group and stop receiving emails from it, send an email to tesseract-ocr+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/tesseract-ocr/de88924d-b5a1-4bbd-b565-12b7e7dedc03n%40googlegroups.com.