테서랙트
원저자 | Ray Smith, Hewlett-Packard[1] |
---|---|
개발자 | |
안정화 버전 | 5.5.0[2]
/ 2024년 11월 10일 |
저장소 | |
프로그래밍 언어 | C and C++ |
운영 체제 | 리눅스, 윈도우, and macOS (x86) |
언어 | Interface: English Recognition: Afrikaans, Albanian, Arabic, Azerbaijani, Basque, Belarusian, Bengali, Bulgarian, Catalan, Czech, Cherokee, Croatian, Danish, Dutch, English, Esperanto, Estonian, Finnish, French, Galician, German, Greek, Hindi, Hungarian, Indonesian, Italian, Japanese, Kannada, Korean, Latvian, Lithuanian, Malayalam, Macedonian, Maltese, Malay, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swahili, Swedish, Tagalog, Tamil, Telugu, Thai, Turkish, Ukrainian & Vietnamese (more can be added using included training files) |
종류 | Optical character recognition |
라이선스 | Apache License v2.0 |
웹사이트 | github |
테서랙트(Tesseract)는 다양한 운영 체제를 위한 광학 문자 인식 엔진이다.[3] 이 소프트웨어는 Apache License, 버전 2.0,[4][5]에 따라 배포되는 무료 소프트웨어이며 2006년부터 Google에서 개발을 후원했다.[6]
2006년 테서랙트는 당시 가장 정확한 오픈 소스 OCR 엔진 중 하나로 간주되었다.[5][7]
역사
[편집]테서랙트 엔진은 원래 영국의 브리스톨과 콜로라도의 Greeley에 있는 휴렛 팩커드 연구소에서 1985년에서 1994년 사이에 독점 소프트웨어로 개발되었으며, 1996년에는 Windows로, 일부는 1998년에 C에서 C++로 마이그레이션되었다. 대부분의 코드가 C로 작성되었고 일부 코드는 C++로 작성되었다. 그 이후로 모든 코드는 최소한 C++ 컴파일러로 컴파일되도록 변환되었다.[4] 다음 10년 동안 거의 작업이 이루어지지 않았다. 그런 다음 Hewlett Packard와 라스베이거스(UNLV)의 네바다 대학교에서 2005년 오픈 소스로 출시했다. 테서랙트 개발은 2006년부터 구글에서 후원하고 있다.[6]
특징
[편집]테서랙트는 1995년 문자 정확도 측면에서 3대 OCR 엔진에 속했다.[8] Linux, 윈도우 및 Mac OS X에서 사용할 수 있다. 그러나 제한된 리소스로 인해 Windows 및 Ubuntu에서 개발자가 엄격하게 테스트한다.[4][5]
버전 2 이하의 테서랙트는 간단한 단일 열 텍스트의 TIFF 이미지만 입력으로 허용할 수 있었다. 이 초기 버전에는 레이아웃 분석이 포함되지 않았으므로 여러 열로 된 텍스트, 이미지 또는 방정식을 입력하면 왜곡된 출력이 만들어졌다. 버전 3.00부터 테서랙트는 출력 텍스트 형식, hOCR[9] 위치 정보 및 페이지 레이아웃 분석을 지원했다. Leptonica 라이브러리를 사용하여 여러 가지 새로운 이미지 형식에 대한 지원이 추가되었다. Tesseract는 텍스트가 단일 간격인지 또는 비례 간격인지 감지할 수 있다.[5]
테서랙트의 초기 버전은 영어 텍스트만 인식할 수 있었다. 테서랙트 v2는 6개의 추가 서구 언 (프랑스어, 이탈리아어, 독일어, 스페인어, 브라질 포르투갈어, 네덜란드어)를 추가했다. 표의 문자 (중국어 및 일본어) 및 오른쪽에서 왼쪽(예 : 아랍어, 히브리어) 언어 및 더 많은 스크립트를 포함해서 확대 지원된다. 새로운 언어에는 아랍어, 불가리아어, 카탈로니아어, 중국어(간체 및 번체), 크로아티아어, 체코어, 덴마크어, 독일어(프락투어 스크립트), 그리스어, 핀란드어, 히브리어, 힌디어, 헝가리어, 인도네시아어, 일본어, 한국어, 라트비아어, 리투아니아어, 노르웨이어, 폴란드어, 포르투갈어, 루마니아어, 러시아어, 세르비아어, 슬로바키아어(표준 및 Fraktur 스크립트), 슬로베니아어, 스웨덴어, 타갈로그어, 타밀어, 태국어, 터키어, 우크라이나어 및 베트남어가 포함된다. 2015년 7월에 릴리스된 V3.04는 39개 언어/스크립트 조합을 추가하여 총 지원 언어 수를 100개 이상으로 늘렸다. 새로운 언어 코드로 포함된 언어이다: amh(암하라어), asm(아삼어), aze_cyrl(키릴 문자의 아제르바이잔), bod(티벳어), bos(보스니아어), ceb(세부아노어), cym(웨일스 어), dzo(종카어), fas( 페르시아어), gle(아일랜드어), guj(구자라트 어), hat(아이티어 및 아이 티크리올어), iku(이누이트어), jav(자와어), kat(조지아어), kat_old(올드 조지아어), kaz(카자흐어), khm(중부 크메르어), Kir(키르기스어), kur(쿠르드어), lao(라오어), lat(라틴어), mar(마라티어), mya(버마어), nep(네팔어), ori(오리야어), pan(펀자브어), pus(파슈토어), san(산스크리트어), sin(싱할라어), srp_latn(라틴어 스크립트의 세르비아어), syr(시리아어), tgk(타지크어), tir(티그리냐어), uig(위구르워), urd(우르두어), uzb(우즈베크어), uzb_cyrl (키릴 문자로 된 우즈베크어), yid (이디시어).[10]
또한 테서랙트는 다른 언어로 작동하도록 훈련될 수 있다.[5]
테서랙트는 아랍어 또는 히브리어와 같은 오른쪽에서 왼쪽으로의 텍스트, 많은 인도어 스크립트 및 CJK를 상당히 잘 처리할 수 있다. 레이 스미스의 DAS 2016, 산토리니의 테서랙트 튜토리얼에 대한 이 프레젠테이션에는 정확도가 표시된다.[11]
테서랙트는 백엔드로 사용하기에 적합하며 OCRopus와 같은 프론트 엔드를 사용하여 레이아웃 분석을 포함하여 보다 복잡한 OCR 작업에 사용할 수 있다.[12]
입력 이미지가 이미지에 맞게 사전 처리되지 않은 경우 테서랙트의 출력 품질이 매우 떨어진다. 텍스트의 x-높이가 20픽셀 이상이 되도록 이미지(특히 스크린 샷 )의 크기를 조정해야 한다.[13] 회전 또는 기울어짐을 수정해야 한다. 또는 텍스트가 인식되지 않거나, 저주파수의 밝기 변화가 고역 필터링되어야 하거나, 테서랙트의 이진화 단계가 많은 페이지를 파괴하고, 어두운 테두리를 수동으로 제거해야 한다. 그렇지 않으면 문자로 잘못 해석된다.[14]
버전 4
[편집]버전 4에는 많은 추가 언어 및 스크립트에 대한 LSTM 기반 OCR 엔진 및 모델이 추가되어 총 116개의 언어가 제공된다.[15]
또한 37개 언어의 스크립트가 지원되므로 작성된 스크립트를 사용하여 언어를 인식할 수 있다.
사용자 인터페이스
[편집]테서랙트는 명령행 인터페이스에서 실행된다.[16] 테서랙트에는 GUI가 제공되지 않지만 GUI를 제공하는 별도의 프로젝트가 많이 있다.[17] 일반적인 예는 OCRFeeder이다.[18]
인식
[편집]테서랙트에 대한 2007년 7월 기사에서 리눅스 저널의 앤서니 케이는 "뛰어난 작업을 수행하는 기발한 명령 줄 도구"라고 했다. 당시 그는 "테서랙트는 기본 OCR 엔진이다. 빌드 프로세스는 다소 기발하고 엔진에는 레이아웃 감지와 같은 몇 가지 추가 기능이 필요하지만 핵심 기능인 텍스트 인식은 오픈 소스 커뮤니티에서 시도한 것보다 훨씬 뛰어나다. "GIMP 및 Netpbm과 같은 일부 이미지 도구와 스캐너를 사용하면 뛰어난 인식률을 얻는 것이 상당히 쉽다."[3]
같이 보기
[편집]
각주
[편집]- ↑ Google (2008). “tesseract-ocr”. 2016년 3월 8일에 확인함.
- ↑ “Release 5.5.0 · tesseract-ocr/tesseract” (영어). 2024년 11월 11일에 확인함.
- ↑ 가 나 Kay, Anthony (July 2007). “Tesseract: an Open-Source Optical Character Recognition Engine”. 《Linux Journal》. 2011년 9월 28일에 확인함.
- ↑ 가 나 다 Vincent, Luc (August 2006). “Announcing Tesseract OCR”. 2006년 10월 26일에 원본 문서에서 보존된 문서. 2008년 6월 26일에 확인함.
- ↑ 가 나 다 라 마 Canonical Ltd. (February 2011). “OCR”. 2011년 2월 11일에 확인함.
- ↑ 가 나 Announcing Tesseract OCR - The official Google blog
- ↑ Willis, Nathan (September 2006). “Google's Tesseract OCR engine is a quantum leap forward”. 2009년 2월 21일에 원본 문서에서 보존된 문서. 2008년 7월 18일에 확인함.
- ↑ Rice Stephen V., Frank R. Jenkins, and Thomas A. Nartker The Fourth Annual Test of OCR Accuracy, expervision.com, retrieved 21 May 2013
- ↑ Tesseract Project (February 2011). “Issue 263: patch to enable hOCR output”. 2012년 11월 13일에 원본 문서에서 보존된 문서. 2011년 2월 26일에 확인함.
- ↑ “langdata - Source training data for Tesseract for lots of languages”. 2016년 11월 6일에 확인함.
- ↑ “Training LSTM networks on 100 languages and test results” (PDF). 2018년 3월 18일에 확인함.
- ↑ Announcing the OCRopus Open Source OCR System Archived 2007년 4월 14일 - 웨이백 머신 (Thomas Breuel, OCRopus Project Leader).
- ↑ “FAQ - tesseract-ocr - Frequently Asked Questions - An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google. - Google Project Hosting”. 2014년 5월 30일에 확인함.
- ↑ “ImproveQuality - tesseract-ocr - Advice on improving the quality of your output. - An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google. - Google Project Hosting”. 2014년 1월 27일. 2014년 5월 30일에 확인함.
- ↑ “TESSERACT(1) Manual Page”. 2018년 3월 15일에 확인함.
- ↑ Google Code – Tesseract Readme
- ↑ “3rdParty - tesseract-ocr - GUIs and Other Projects using Tesseract OCR.”. github.com. 2017년 3월 30일에 확인함.
- ↑ “OCRFeeder”. 《GNOME wiki》. 2019년 1월 12일에 확인함.
외부 링크
[편집]- 테서랙트 - 공식 웹사이트
- 해킹 Tesseract V0.04 – Doxyfied 소스 코드에서 추출한 Tesseract의 C / C ++ 구조 (Tesseract V1.03 기반)
- Tesseract OCR 엔진 Tesseract OCR 엔진 개요.