오픈소스로 OCR 해독 중 ...

Tesseractt 버전 4에서 

한글데이터 학습하기가 필요함

윈도우 상에선 jTessBoxEditor를

이용하면 된다고 나왔지만

원하는 글자 모양으로 학습하기 곤란

 

따라서 우분투를 설치해서 학습하는 방법 검색 후

실행해 봄.

 

VirtualBox에 Ubuntu 18.04 설치 후 

tesseract 설치해서 학습 시키는 방법 보존 ...

 

다른 블로그에선 QT, opencv, tesserqact를 설치하는 법 설명

그러나 설치중 에러가 많이 남...(실력부족으로 해결 불가)

 

간단 설치

1. 필요한 업데이트 실시 : 참조 사이트

https://m.blog.naver.com/tommybee/221307497468

 

Tesseract 및 OpenCV를 사용한 심층 학습 기반 텍스트 인식 (OCR)

https://www.learnopencv.com/deep-learning-based-text-recognition-ocr-using-tesseract-and-opencv/오늘...

blog.naver.com

2. 위 사이트에 소개된 내용

우분투에 tesseract 설치하기 간단

출처 : https://m.blog.naver.com/tommybee/221307497468
우분투 18.04에 tesseract 4 포함되있으므로 Ubuntu 패키지 관리자로 설치
   sudo apt install teseract-ocr
   sudo apt install libteseract-dev
   sudo apt install pyteseract

$ git clone https://github.com/tesseract-ocr/tesseract
$ git clone https://github.com/tesseract-ocr/langdata
$ git clone https://github.com/tesseract-ocr/tessdata_best

 

3. 한글 폰트 학습하기 순서

tesseract 학습명령어.txt
0.00MB

tesseract 폴더 구조
   /home/tesseract   <--- 학습명령 실행 위치
   /home/tesseract/tessdata 
   /home/tesseract/langdata/eng/

   /home/tesstutorial/engtrain/


학습하기 (영문인 경우 : 한글은 eng->kor로 변경)
0 .참고 사이트 : https://blog.naver.com/jerry1455/221414701122

1. 폰트 복사 
   윈도우 폰트 TTF를 리눅스에 복사
   sudo cp *.ttf /usr/share/fonts
   이후 폰트 더블클릭 후 우측상단의 "install"로 설치해도 됨

2. 폴더 준비
$ mkdir -p ~/tesstutorial/kortrain 
$ mkdir -p ~/tesstutorial/koroutput 
$ mkdir -p ~/tesstutorial/trainplusminus
$ mkdir -p ~/tesstutorial/evalplusminus

3. 작업전 복사해야 할 화일 및 위치
   /home/tesstutorial/kortrain/kor/eng.traineddata <- 안 넣어도 됨
   /home/tesstutorial/kortrain/ 

                  (주의 : 이폴더의 kor.training_text 는 자동생성이고 아래와 내용이 다름)

   /home/tesseract/langdata/kor/kor.training_text 

                           <- 학습시키려는 문장이나 기호가 저장된 화일(없으면 에러)

4. 폰트데이터 생성 (한줄로 만들어서 명령줄에 넣을것)
$ src/training/tesstrain.sh 

   --fonts_dir /usr/share/fonts \

   --lang kor \

   --linedata_only   \
   --noextract_font_properties \

   --langdata_dir ./langdata \

   --tessdata_dir ./tessdata  \
   --exposures "0" \

   --fontlist "MoeumT R Regular" \

   --output_dir ~/tesstutorial/kortrain

5. 기존 학습데이터 변환 (Extract the generated model)
$ combine_tessdata -e ./tessdata/kor.traineddata ~/tesstutorial/kortrain/kor.lstm 

 

6. Make eval data for the ‘Impact’ font

lstmeval --model kor.lstm \
 --traineddata tesseract/tessdata/kor.traineddata \
 --eval_listfile train/kor.training_files.txt


7. 새 폰트데이터 학습  (한줄로 만들어서 명령줄에 넣을것)
$ lstmtraining  --continue_from ~/tesstutorial/kortrain/kor.lstm \

 --old_traineddata ./tessdata/kor.traineddata  \
 --traineddata ~/tesstutorial/kortrain/kor/kor.traineddata \

 --model_output ~/tesstutorial/koroutput/base  \
 --train_listfile ~/tesstutorial/kortrain/kor.training_files.txt \

 --max_iterations 3600

7. 결과 적용
$  lstmtraining --stop_training \

  --continue_from ~/tesstutorial/koroutput/base_checkpoint  \
  --old_traineddata ./tessdata/kor.traineddata \

  --traineddata ~/tesstutorial/kortrain/kor/kor.traineddata  \
  --model_output ~/tesstutorial/koroutput/kor.traineddata 

 

tess train 명령어.txt
0.00MB

필요 명령어

 

한국어
===============================
학습에 사용되는 글자추가 : 
  langdata/kor/kor.training_text

$ src/training/tesstrain.sh --fonts_dir /usr/share/fonts \

 --lang kor \

 --linedata_only \

 --noextract_font_properties \

 --langdata_dir ./langdata \

 --tessdata_dir ./tessdata \

 --exposures "0" \

 --fontlist "MoeumT R Regular" \

 --output_dir ~/tesstutorial/kortrain
$ combine_tessdata -e ./tessdata/kor.traineddata ~/tesstutorial/kortrain/kor.lst

$ lstmeval --model kor.lstm \
 --traineddata tesseract/tessdata/kor.traineddata \
 --eval_listfile train/kor.training_files.txt
$ lstmtraining  --continue_from ~/tesstutorial/kortrain/kor.lstm \

 --old_traineddata ./tessdata/kor.traineddata \

 --traineddata ~/tesstutorial/kortrain/kor/kor.traineddata \

 --model_output ~/tesstutorial/koroutput/base \

 --train_listfile ~/tesstutorial/kortrain/kor.training_files.txt \

 --max_iterations 3600
$ lstmtraining --stop_training \

 --continue_from ~/tesstutorial/koroutput/base_checkpoint \

 --old_traineddata ./tessdata/kor.traineddata \

 --traineddata ~/tesstutorial/kortrain/kor/kor.traineddata \

 --model_output ~/tesstutorial/koroutput/kor.traineddata

참고사이트

https://mc.ai/training-sinhala-language-with-tesseract-4-1-version/

 

Training Sinhala language with Tesseract 4.1 version ***********************************

Source: Deep Learning on Medium Training Sinhala font using tesseract 4.0 versionPrerequisites:Install all additional libraries needed to run tesseract 4.0 version. Refer link [1] to install all li…

mc.ai

 

영문
===========================
학습에 사용되는 글자추가 : 
  langdata/eng/eng.training_text

$ src/training/tesstrain.sh --fonts_dir /usr/share/fonts --lang eng --linedata_only --noextract_font_properties --langdata_dir ./langdata --tessdata_dir ./tessdata --exposures "0" --fontlist "MoeumT R Regular" --output_dir ~/tesstutorial/engtrain
$ combine_tessdata -e ./tessdata/eng.traineddata ~/tesstutorial/engtrain/eng.lstm 
$ lstmtraining  --continue_from ~/tesstutorial/engtrain/eng.lstm --old_traineddata ./tessdata/eng.traineddata --traineddata ~/tesstutorial/engtrain/eng/eng.traineddata --model_output ~/tesstutorial/engoutput/base --train_listfile ~/tesstutorial/engtrain/eng.training_files.txt --max_iterations 3600
$ lstmtraining --stop_training --continue_from ~/tesstutorial/engoutput/base_checkpoint --old_traineddata ./tessdata/eng.traineddata --traineddata ~/tesstutorial/engtrain/eng/eng.traineddata --model_output ~/tesstutorial/engoutput/eng.traineddata

 

 

 

 

블로그 이미지

DIYworld

,