Page 1 of 2

Train Tesseract - Tập huấn Tesseract

PostPosted: Sat Aug 02, 2008 6:59 pm
by quân
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ọ.

PostPosted: Tue Jan 05, 2010 12:53 am
by quân
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).

PostPosted: Sun Jan 17, 2010 3:14 pm
by quân
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.

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

PostPosted: Sat May 26, 2012 11:56 pm
by notradamus
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

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

PostPosted: Mon May 28, 2012 10:10 pm
by quân
I don't know when I'll have time to create a video; but if you closely follow the instructions described in ... 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:

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

PostPosted: Thu May 31, 2012 6:51 am
by notradamus
Am I correct in assuming that TesserAct only trains in command line mode (DOS under windows) and not in Windows GUI in VietOCR ?

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

PostPosted: Thu May 31, 2012 7:33 am
by notradamus
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 ?



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

PostPosted: Fri Jun 01, 2012 11:37 pm
by quân
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.

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

PostPosted: Sat Jun 02, 2012 9:10 pm
by notradamus
I did find this GUI version

TesseractIndic Trainer GUI in action

TesserAct Trainer Video

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

PostPosted: Thu Jun 14, 2012 9:11 pm
by notradamus
Pardon my ignorance but how do I do this ..
4. Execute tesseract command to obtain the box files

Any help is always appreciated


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

PostPosted: Sun Jun 17, 2012 5:29 am
by quân
Hi Richard,

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


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

PostPosted: Mon Jun 18, 2012 7:56 pm
by notradamus
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


tesseract eng.timesitalic.exp0.tif eng.timesitalic.exp0 batch.nochop makebox
2) Use the Trainer GUI ....TesseractIndic Trainer at


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 ?

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

PostPosted: Tue Jun 19, 2012 1:10 am
by quân
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

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

PostPosted: Sat Jun 23, 2012 1:03 pm
by notradamus
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

PS: I am using DOS command prompt in windows XP

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

PostPosted: Sun Jun 24, 2012 1:25 pm
by quân
[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.