티스토리 뷰

Teseract

  • OCR(광학 문자 인식) 오픈 소스 라이브러리인 Tesseract 에 대해서 알아보겠습니다.
  • Tesseract 란 다양한 OS를 지원하기 위한 OCR 엔진으로. Free Software이고 Apache 라이선스이다. 2006년에 부터 Google의 지원을 받았다. 

영상 인식 알고리즘

  • 영상 인식 알고리즘은 크게 2가지로 나뉜다.

1. Preprocessor 

  •  최초 들어온 이미지를 처리하기 위해 히스토그램 스트레칭과 히스토그램 평활화, 이진화 작업과 역상 작업을 통하여 보다 효율적인 출력물을 얻기 위한 전처리 작업이다.
  • 영상인식 전처리 작업으로는 히스토그램, 이치화, 역상화 작업을 거친다.
1) 히스토그램
2) 이치화
3) 역상

2. Segmentation

  • Preprocessor 작업을 거친 뒤 이미지에서 글자 단위로 혼합의 Text를 분류하는 Segmantation 작업이 이루어진다. 

Tesseract 원리

  •  Tesseract 는 오프라인 문자인식 기법으로 입력된 input 이미지의 특징점을 추출하고 그 특징점을 사용하여 문자를 인식한다. 
  • Tesseract OCR은 기본적으로 상위의 preprocessor 와 segmentation 과정을 거쳐 나온 이미지를 신경망 기법과 template matching 기법을 사용하여 input 이 미지를 인식하고 출력하게 된다. 

 

  • 문자의 특징점을 추출하는 방법은 원래의 image 에 out line 을 생성한 후에 방향성을 정하고 방향성에 따라 다각형에 근접하게 추출하게 된다.
    • 아래와 같이 말이다.

 

 

  •   위와 같이 문자의 특징점이 추출되면 Tesseract 데이터 베이스 검색을 통하여 특징점이 비슷한 문자들과의 Template Matching을 통해 특징점과 원본 이미지와의 오차율이 가장 낮은 문자를 선택하게 된다.
  • 이때 input 이미지의 문자와의 오차율을 Tesseract Template에 저장하여 Training 시킴으로써 보다 나은 효울을 증가시킨다.

 


Training

  • Tessearct는 인식률 향상을 위해서 Training 데이터를 적용할 수 있습니다.
  • 미리 학습 시켜놓은 데이터 들은 아까 잠깐 언급 했던 Tessearct 데이터 베이스에 저장되어 나중에 글자와 트레이닝 데이터와 유사율을 비교하여 인식 결과를 반환하게 되는 것입니다.
    • 트레이닝 방법은 아래의 사이트들을 참고하시기 바랍니다.

 참고해서 쓴 것이라 부족한 내용이 많습니다. 이해 부탁드립니다.


관련글

 

Android Tesseract OCR(tess-two) 사용방법

이번 시간에는 실제 Tesseract 엔진을 Android 상에서 사용하는 방법을 한 번 알아보겠습니다. tess-two tess-two 란 Android 상에서 사용하기 위해서 몇몇 기능이 추가된 형태의 Tesseract Tools 들에서 파생된..

jinseongsoft.tistory.com

 

[Android] Jsoup 을 이용한 영어 단어 정보 Parsing

Jsoup 을 이용한 영어 단어 정보 Parsing 이번에는 Android 에서 Jsoup 을 이용하여 다음 단어사전 Page를 Parsing 하여 단어의 정보들을 가져오는 방법에 대해서 알아보겠습니다. 일단 Jsoup을 사용하기 위해서는..

jinseongsoft.tistory.com

 


참고

Training에 대한 문서 :  https://github.com/tesseract-ocr/tesseract/wiki/TrainingTesseract

 

tesseract-ocr/tesseract

Tesseract Open Source OCR Engine (main repository) - tesseract-ocr/tesseract

github.com

언어별 Training 데이터 : https://github.com/tesseract-ocr/langdata

 

tesseract-ocr/langdata

Source training data for Tesseract for lots of languages - tesseract-ocr/langdata

github.com

Custom Training 방법 : http://www.resolveradiologic.com/blog/2013/01/15/training-tesseract/http://kyubuem.tistory.com/53

 

[Tesseract OCR 3.02] 문자 학습하기

Tesseract OCR의 강점을 주관적인 입장에서 정리해보면 학습기능이 제공된다는 점이다. 손글씨같은 폰트가 일정하지 않은 글씨를 학습하여 OCR의 인식률을 향상시킬 수 있는점이 너무 마음에 든다. 그래서 3.02버..

kyubuem.tistory.com

출처 : https://en.wikipedia.org/wiki/Tesseract_(software)https://t1.daumcdn.net/cfile/tistory/154EDB1C49B39A9C2B (다운로드 주의)

 


 

끝으로

이 글이 도움이 되었다면, Google 광고 한번씩 클릭 부탁 드립니다. 🙏🙏🙏

광고 클릭은 많은 힘이 됩니다!



 
 

 

반응형
댓글