Train Tesseract - Tập huấn Tesseract

Vietnamese Optical Character Recognition

Moderator: quân

Train Tesseract - Tập huấn Tesseract

Postby quân » Sat Aug 02, 2008 6:59 pm

Real applications have shown that the Tesseract OCR engine is very sensitive to font glyph variations. For Vietnamese text, if the character shape deviates from the four supported fonts, the accuracy deteriorates quickly. You would have to train for your fonts, the process of which is a bit complicated but explained in details in Tesseract Wiki page.

Here is a summary:
    1. Obtain a good, clean, uncompressed 300 DPI TIFF scan of a page of your document
    2. Obtain the text by retyping the page for correction and testing purpose
    3. The more data, the better the OCR result, so repeat (1) and (2) until you have at least 4 pages. Limit is 32
    4. Execute tesseract command to obtain the box files
    5. Edit the box file using the bbTesseract editing tool
    6. Execute tesseract command to generate the data files (clustering)
    7. Rename files with "vie." prefix and copy the files to tessdata directory, overriding the existing data
    8. Run OCR on the original images to validate your work. The accuracy rate should be in the high 90%
So that the community can benefit from your work, please submit your data files. They will be posted in the VietOCR's Download page. Be sure to indicate the names of the fonts that you have trained for, so users can know which data set they should load into tessdata directory when OCRing their document.

Ứng dụng thực tế cho thấy Tesseract OCR engine rất nhạy cảm tới sự khác biệt trong hình dáng phông chữ. Cho chữ Quốc ngữ, nếu dáng phông khác với bốn phông được hỗ trợ, sự chính xác suy giảm hẳn. Bạn sẽ phải tập huấn cho font của bạn, mà quy trình hơi phức tạp chút nhưng được giải thích chi tiết trong trang Tesseract Wiki.

Tóm lược như sau:
    1. Làm một ảnh tốt, sạch, uncompressed 300 DPI TIFF scan từ 1 trang của văn bản của bạn
    2. Đánh máy lại trang đó cho mục đích sửa lỗi và thực nghiệm
    3. Càng nhiều dữ kiện, kết quả OCR càng tốt, vì vậy hãy lập lại (1) and (2) cho đến khi bạn có ít nhất 4 trang. Giới hạn là 32
    4. Chạy tesseract command để tạo box files
    5. Chỉnh sửa box file sử dụng bbTesseract editing tool
    6. Chạy tesseract command để tạo data files (clustering)
    7. Thay tên file với tiếp đầu ngữ "vie." và copy data files vào tessdata directory, đè trên file đang hiện có
    8. Chạy OCR trên ảnh gốc để chứng thực công quả của bạn. Mức chính xác sẽ nằm trong tầm cao của 90%

Để cộng đồng có thể hưởng lợi từ công lao của bạn, xin vui lòng gửi data files. Chúng sẽ được đăng trong VietOCR's Download page. Hãy nhớ ghi tên của font mà bạn đã tập huấn cho, để người sử dụng biết phải load bộ data nào vào tessdata directory khi OCR văn bản của họ.
quân
 
Posts: 236
Joined: Sat Nov 16, 2002 1:51 am
Location: Oxnard, CA - USA

Postby quân » Tue Jan 05, 2010 12:53 am

Quy trình tập huấn để tạo language data pack cho Tesseract 3.0 sẽ khác so với 2.0x; ở thời điểm này, tài liệu hướng dẫn cho công việc tập huấn (training) cho Tesseract engine 3.0 nhận dạng mặt chữ mới chưa được chính thức phổ biến, song có lẽ các training boxfiles cho version 2.0x sẽ vẫn có thể sử dụng lại được cho 3.0.

Các training boxfiles mẫu cho Tiếng Việt đã được cung cấp để các nhà phát triển có thể sử dụng trong việc tham cứu và thiết kế các bộ language data khác cho các mặt chữ thường gặp trong các công đoạn số hóa (digitizing) trong các nỗ lực thiết lập các thư viện số (digital library).
quân
 
Posts: 236
Joined: Sat Nov 16, 2002 1:51 am
Location: Oxnard, CA - USA

Postby quân » Sun Jan 17, 2010 3:14 pm

Trong Bước 7, language code không nhất thiết phải là "vie". Nó có thể là "vie-x", mà x là bất cứ mẫu tự hay số, vd. "vie-1" hay "vie-t". Như thế, các language data files đang có không bị copy chép đè lên.

In Step 7, language code does not have to be "vie". It can be "vie-x", where x is any alphabet or number, e.g., "vie-1" or "vie-t". As such, existing language data files do not get overwritten when copied.
quân
 
Posts: 236
Joined: Sat Nov 16, 2002 1:51 am
Location: Oxnard, CA - USA

Re: Train Tesseract - Tập huấn Tesseract

Postby notradamus » Sat May 26, 2012 11:56 pm

Can you please post a YOUTUBE CLIP of how TO TRAIN TESSERACT FRAKTUR TEXT usíng the box editor .

i am not sure what to do ....

here is a couple ôf files I would like to train
Attachments
The_German_in_America_13.jpg
The_German_in_America_13.jpg (132.64 KiB) Viewed 21057 times
The_German_in_America_11.jpg
The_German_in_America_11.jpg (169.12 KiB) Viewed 21057 times
notradamus
 
Posts: 29
Joined: Fri May 25, 2012 10:07 am

Re: Train Tesseract - Tập huấn Tesseract

Postby quân » Mon May 28, 2012 10:10 pm

I don't know when I'll have time to create a video; but if you closely follow the instructions described in http://code.google.com/p/tesseract-ocr/ ... Tesseract3, you should be able to generate data for any language. jTessBoxEditor only helps in editing the box files after they are made.

Btw, several Fraktur language data packs have already been provided by Tesseract project:

http://code.google.com/p/tesseract-ocr/downloads/list
quân
 
Posts: 236
Joined: Sat Nov 16, 2002 1:51 am
Location: Oxnard, CA - USA

Re: Train Tesseract - Tập huấn Tesseract

Postby notradamus » Thu May 31, 2012 6:51 am

Am I correct in assuming that TesserAct only trains in command line mode (DOS under windows) and not in Windows GUI in VietOCR ?
notradamus
 
Posts: 29
Joined: Fri May 25, 2012 10:07 am

Re: Train Tesseract - Tập huấn Tesseract

Postby notradamus » Thu May 31, 2012 7:33 am

Btw, several Fraktur language data packs have already been provided by Tesseract project:


Yes, but how do I improve /train the font for even greater FRAKTUR OCR accuracy ?

Cheers

Richard
notradamus
 
Posts: 29
Joined: Fri May 25, 2012 10:07 am

Re: Train Tesseract - Tập huấn Tesseract

Postby quân » Fri Jun 01, 2012 11:37 pm

AFAIK, Tesseract training is only available in command-line mode. There are several scripts that help automate this process. You can train for your language and see if its performance is better than the standard issue.
quân
 
Posts: 236
Joined: Sat Nov 16, 2002 1:51 am
Location: Oxnard, CA - USA

Re: Train Tesseract - Tập huấn Tesseract

Postby notradamus » Sat Jun 02, 2012 9:10 pm

I did find this GUI version

TesseractIndic Trainer GUI in action

http://www.youtube.com/watch?v=xuBlfN6Va4k

TesserAct Trainer Video

http://www.youtube.com/watch?v=vuuVwm5ZjkI
notradamus
 
Posts: 29
Joined: Fri May 25, 2012 10:07 am

Re: Train Tesseract - Tập huấn Tesseract

Postby notradamus » Thu Jun 14, 2012 9:11 pm

Pardon my ignorance but how do I do this ..
4. Execute tesseract command to obtain the box files
???

Any help is always appreciated

Richard
notradamus
 
Posts: 29
Joined: Fri May 25, 2012 10:07 am

Re: Train Tesseract - Tập huấn Tesseract

Postby quân » Sun Jun 17, 2012 5:29 am

Hi Richard,

You will have to consult Tesseract Wiki for complete information on training:

http://code.google.com/p/tesseract-ocr/ ... Tesseract3
http://code.google.com/p/tesseract-ocr/ ... Tesseract2

Regards,
Quan
quân
 
Posts: 236
Joined: Sat Nov 16, 2002 1:51 am
Location: Oxnard, CA - USA

Re: Train Tesseract - Tập huấn Tesseract

Postby notradamus » Mon Jun 18, 2012 7:56 pm

So it seems that when training Tesseract..
I have one of two options
1) Use the command line code..
Run Tesseract on each of your training images using this command line:

tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] batch.nochop makebox

e.g.

tesseract eng.timesitalic.exp0.tif eng.timesitalic.exp0 batch.nochop makebox
or
2) Use the Trainer GUI ....TesseractIndic Trainer at
http://code.google.com/p/tesseractindic/

#####################################################
PRIOR TO TRAINING , I NEED A SUITABLE TIFF FILE TO MAKE THE BOXFILE.

This is where I was having trouble... from reading other Forums and Blogs etc it seems that Tesseract would rather have the pristine text in the image file (TIFF file) from a font which already/currently exists and resides in the Windows XP font folder RATHER THAN TRAINING by using dirty / noisy images from old books...... hopefully this will change in the future.

So that means I have to FIND A FONT ( Fraktur German in my case) which matches ( MOST CLOSELY RESEMBLES) the text in my book that I wish to OCR.

Please tell me if I understand this correctly now ?
notradamus
 
Posts: 29
Joined: Fri May 25, 2012 10:07 am

Re: Train Tesseract - Tập huấn Tesseract

Postby quân » Tue Jun 19, 2012 1:10 am

That command is only the first in a series of commands. Training begins first with a set of high-quality images. You can use tools that programmatically generate them using system fonts that closely resemble the typefaces your document has, or scan your document with appropriate parameters and then clean up the images with Paint.NET, GIMP, or ImageMagick, or those tools listed in Book Digitization page.

Once you get a set of good images, you can then generate the boxes, edit the boxes using box editors, and proceed with the rest of the training process. Yes, it sounds complicated, but several developers have written various automation scripts and tools to help alleviate this cumbersome and painful process.

Search Tesseract Forum; it has many good training tips shared by experienced users.

More info:
Tesseract AddOns
Book Digitization
quân
 
Posts: 236
Joined: Sat Nov 16, 2002 1:51 am
Location: Oxnard, CA - USA

Re: Train Tesseract - Tập huấn Tesseract

Postby notradamus » Sat Jun 23, 2012 1:03 pm

Trouble creating Boxfile.....

If my Tiff file is "deu.fontfile_2b.tif" and the font name is Kleist-Fraktur and the language is Deu_Frak
what is the command line I should use to create a box file in the Tesseract-OCR folder?


Also, I am not sure what EXP is or stands for ???? What is the EXP() parameter used for ?


Kind regards
Richard

PS: I am using DOS command prompt in windows XP
notradamus
 
Posts: 29
Joined: Fri May 25, 2012 10:07 am

Re: Train Tesseract - Tập huấn Tesseract

Postby quân » Sun Jun 24, 2012 1:25 pm

[fontname] is rather arbitrary, as long as it is consistent with a corresponding entry in font_properties file. "exp" is just part of the naming standard by Tess. For your case, download deu-frak.traineddata.gz, uncompress to tessdata folder and execute:

Code: Select all
tesseract deu-frak.kleist.exp0.tif deu-frak.kleist.exp0 -l deu-frak batch.nochop makebox

Using the provided lang data helps Tesseract recognize most of the text correctly, thus reduces the amount of box editing you would need to make. Once you create deu-frak.traineddata, rename it to some other name, say, deu-frak-1.traineddata, to preserve the original one.
quân
 
Posts: 236
Joined: Sat Nov 16, 2002 1:51 am
Location: Oxnard, CA - USA

Next

Return to VietOCR

Who is online

Users browsing this forum: No registered users and 0 guests

cron