오크로푸스

OCRopus
오크로푸스
OCRopus Texterkennung.png
개발자토머스 브뤼엘, DFK
초기 릴리즈2007년 4월 9일; 14년(2007-04-09)[1]
안정적 해제
1.3.3 / 2017년 12월 16일; 4년(2017-12-16)
리포지토리
기록 위치C++Python
운영 체제FreeBSD, 리눅스, Mac OS X
유형광학 문자 인식
면허증Apache 라이센스 v2.0
웹사이트github.com/ocropus/ocropy

OCRopus아파치 라이센스 v2.0에 따라 출시된 무료 문서 분석광학 문자 인식(OCR) 시스템으로, 명령줄 인터페이스를 사용한 매우 모듈식 설계가 적용되었다.

OCRopus는 독일 카이저슬라우테른에 있는 독일 인공지능 연구센터의 토마스 브뤼엘(Thomas Breuel) 주도로 개발됐으며 구글이 후원했다.

설명

OCRopus는 특히 Google Books, Internet Archive 또는 라이브러리와 같은 책의 대량 디지털화 프로젝트에 사용하도록 설계되었다.많은 언어와 글꼴이 지원되어야 한다.[2]그러나 데스크탑 및 사무용 애플리케이션이나 시각 장애인을 위한 애플리케이션에도 사용할 수 있다.

OCRopus의 주요 구성 요소는 다음과 같다.

이러한 구성 요소에 대해 단일 또는 여러 스크립트를 사용할 수 있다.모듈형 접근방식은 개별 워크플로우를 사용하고 개별 단계를 교환할 수 있도록 한다.

기본적으로 OCRopus는 영어 텍스트 모델과 Fractur에서 텍스트 모델을 제공한다.이 모델들은 대본을 참조하며 실제 언어와 크게 독립적이다.[3]새로운 문자나 언어 변형은 새로운 문자나 추가적으로 훈련될 수 있다.

최근의 텍스트 인식은 반복되는 신경망(LSTM)을 기반으로 하며 언어 모델이 필요하지 않다.이를 통해 영어, 독일어, 프랑스어에 대한 좋은 인식 결과가 동시에 나타난 언어 독립적인 모델을 양성할 수 있다.[4]라틴어 스크립트 외에도 산스크리트어, 우르두어, 데바나가리어, 그리스어 등의 다른 스크립트에 대한 결과가 있다.

매우 좋은 검출률은 적절한 훈련을 통해 달성할 수 있다.이러한 추가적인 노력은 다른 OCR 소프트웨어의 초점이 아닌 오늘날 더 이상 흔하지 않은 어려운 문서나 스크립트에 특히 가치가 있다.[5][6]

역사

2007년 4월 9일, OCRopus는 선진 OCR 기술을 개발하기 위한 구글 후원 프로젝트로 발표되었다.[1]기금은 3년 동안 부여되었고, 특히 DFK카이져슬라우테른 대학의 박사 후 직책과 박사 후 직책을 다루었다.그 대가로 OCRopus는 구글 서치에서 자동 텍스트 인식에도 사용되었다.[7]오픈소스 라이센스에 따른 라이센스는 처음부터 산학연 공동 연구를 촉진하기 위해 만들어졌다.[8]OCRopus는 Andrew W. Mellon FoundationBMBF로부터 추가 기금을 받았다.[9]

2007년 10월 22일 첫 번째 알파 버전 0.1이 출시되었고, 2007년 12월부터 2009년 5월 사이에 몇 번의 사전 공개가 이어져 2010년 3월 0.4.4가 안정화되었다.[10]원래 소프트웨어는 C++, 파이톤, 루아빌드 시스템으로 개발되었다.Python 모듈의 소스 코드에 대한 완전한 리팩토링이 완료되어 버전 0.5(2012년 6월)에 출시되었다.[11]

처음에는 테세락트가 유일한 텍스트 인식 모듈로 사용되었다.2009년(버전 0.4) 이후 테세락트는 플러그인으로만 지원되었다.대신 자체 개발한 텍스트 인식기(역시 세그먼트 기반)가 사용됐다.[12]이 인식기는 인식 단계 이후 언어 모델링에 OpenFST와[13] 함께 사용되었다.2013년부터는 2014년 11월 버전 1.0이 출시되면서 유일하게 인식자가 되는 재발 신경망(LSTM)이 추가 인정됐다.[14][15]

소스 코드는 GitHub를 통해 관리되며 개발자 커뮤니티가 유지·개발한다.[16]현재 OCRopus 버전은 1.3.3(2017년 12월)이다.[17]

토마스 브뤼엘도 후임 OCRopus 2를 개발하여 OCRopus 4에 적극적으로 임하고 있다.[18]

사용법

OCRopus workflow
OCRopus에서 분리된 명령줄 도구의 워크플로 다이어그램.

OCRopus는 명령줄에서 사용할 수 있다.일단 설치되면 입력 영상을 지정해 호출할 수 있다.인식된 텍스트를 표준 출력으로 직접 출력하거나, HOCR(HTML 기반) 코드로 파일로 작성해 검색 가능한 PDF로 변환할 수 있다.보다 정밀한 제어가 필요할 경우 명령행에 옵션을 지정하여 특정 작업을 수행할 수 있다(예:[19] 단일 행 인식).

OCRopus가 영상의 텍스트를 인식하도록 호출하는 예:

# perform binarization ocropus-nlbin tests/ersch.png -o book  # perform page layout analysis ocropus-gpageseg book/0001.bin.png  # perform text line recognition (with a fraktur model) ocropus-rpred -m models/fraktur.pyrnn.gz book/0001/*.bin.png  # generate HTML output ocropus-hocr book/0001.bin.png -o book/0001.html 

다른 도구는 OCRopus의 훈련 부분에 집중한다.라틴어, 그리스어, 키릴어, 인디케이터 스크립트로부터 텍스트를 추출하는 OCRopus 모델이 있다.[20]

참조

  1. ^ a b Breuel, Thomas (9 April 2007). "Announcing the OCRopus Open Source OCR System". Google Developers Blog. Retrieved 29 December 2017.
  2. ^ Breuel, Thomas (2009). "Recent progress on the OCRopus OCR system". Proceedings of the International Workshop on Multilingual OCR - MOCR '09. New York, NY, USA: ACM. pp. 2:1–2:10. doi:10.1145/1577802.1577805. ISBN 9781605586984. S2CID 16920122.
  3. ^ "Models". ocropy wiki. Retrieved 5 January 2018.
  4. ^ Ul-Hasan, Adnan; Breuel, Thomas M. (2013). "Can we build language-independent OCR using LSTM networks?". Proceedings of the 4th International Workshop on Multilingual OCR - MOCR '13. New York, NY, USA: ACM. pp. 9:1–9:5. doi:10.1145/2505377.2505394. ISBN 9781450321143. S2CID 15054318.
  5. ^ Springmann, Uwe (1 December 2016). "OCR für alte Drucke". Informatik-Spektrum (in German). 39 (6): 459–462. doi:10.1007/s00287-016-1004-3. ISSN 0170-6012. S2CID 26680054.
  6. ^ Simistira, F.; Ul-Hassan, A.; Papavassiliou, V.; Gatos, B.; Katsouros, V.; Liwicki, M. (August 2015). Recognition of historical Greek polytonic scripts using LSTM networks. 2015 13th International Conference on Document Analysis and Recognition (ICDAR). pp. 766–770. doi:10.1109/icdar.2015.7333865. ISBN 978-1-4799-1805-8. S2CID 39049104.
  7. ^ "Research project OCRopus". dfki.de. Retrieved 5 January 2018.
  8. ^ Breuel, Thomas M. (28 January 2008). "The OCRopus open source OCR system". In Yanikoglu, Berrin A; Berkner, Kathrin (eds.). Document Recognition and Retrieval XV. Document Recognition and Retrieval XV. Vol. 6815. pp. 68150F–68150F–15. Bibcode:2008SPIE.6815E..0FB. CiteSeerX 10.1.1.99.8505. doi:10.1117/12.783598. S2CID 14728635.
  9. ^ "ocropus project website". Google Project Hosting. January 2019. Archived from the original on 24 December 2012.
  10. ^ "Older versions - ocropy". GitHub. Retrieved 5 January 2018.
  11. ^ "OCRopus 0.5". Google Groups. 2 June 2012.
  12. ^ OCRopus는 테세락트와도 기본적으로 연결되지 않는다.
  13. ^ 공식 OpenFST사이트.
  14. ^ "ocropy - release v1.0". GitHub. 2 November 2014. Retrieved 5 January 2018.
  15. ^ Breuel, T. M.; Ul-Hasan, A.; Al-Azawi, M. A.; Shafait, F. (August 2013). High-Performance OCR for Printed English and Fraktur Using LSTM Networks. 2013 12th International Conference on Document Analysis and Recognition. pp. 683–687. doi:10.1109/icdar.2013.140. ISBN 978-0-7695-4999-6. S2CID 7244356.
  16. ^ "ocropy: Python-based tools for document analysis and OCR", GitHub, retrieved 5 January 2018
  17. ^ "Releases ocropy". GitHub. Retrieved 5 January 2018.
  18. ^ "The OCRopus OCR System and Related Software". GitHub. Retrieved 27 August 2021.
  19. ^ "ocropy wiki". GitHub. Retrieved 30 December 2017.
  20. ^ "ocropy models". GitHub. Retrieved 13 March 2018.

외부 링크