๋ฌธ์ž ์ธ์‹ ์‹œ์Šคํ…œ Tesseract 4.1 ์ถœ์‹œ

์ค€๋น„๋œ ๊ด‘๋ฌธ์ž ์ธ์‹ ์‹œ์Šคํ…œ ์ถœ์‹œ ํ…Œ์„œ๋ ‰ํŠธ 4.1, ๋Ÿฌ์‹œ์•„์–ด, ์นด์žํ์–ด, ๋ฒจ๋กœ๋ฃจ์‹œ์–ด ๋ฐ ์šฐํฌ๋ผ์ด๋‚˜์–ด๋ฅผ ํฌํ•จํ•œ 8๊ฐœ ์ด์ƒ์˜ ์–ธ์–ด๋กœ UTF-100 ๋ฌธ์ž ๋ฐ ํ…์ŠคํŠธ ์ธ์‹์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋‚˜ HTML(hOCR), ALTO(XML), PDF ๋ฐ TSV ํ˜•์‹์œผ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์‹œ์Šคํ…œ์€ ์›๋ž˜ Hewlett Packard ์—ฐ๊ตฌ์†Œ์—์„œ 1985~1995๋…„์— ๋งŒ๋“ค์–ด์กŒ์œผ๋ฉฐ, 2005๋…„์— ์ฝ”๋“œ๋Š” Apache ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๊ณต๊ฐœ๋˜์—ˆ์œผ๋ฉฐ Google ์ง์›์˜ ์ฐธ์—ฌ๋กœ ๋”์šฑ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์†Œ์Šค ํ™•์‚ฐ Apache 2.0์— ๋”ฐ๋ผ ๋ผ์ด์„ผ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Tesseract์—๋Š” OCR ๊ธฐ๋Šฅ์„ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋‚ด์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ฝ˜์†” ์œ ํ‹ธ๋ฆฌํ‹ฐ์™€ libtesseract ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Tesseract๋ฅผ ์ง€์›ํ•˜๋Š” ์ œXNUMX์ž๋กœ๋ถ€ํ„ฐ GUI ์ธํ„ฐํŽ˜์ด์Šค ๋‹น์‹ ์€ ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค gImageReader, ๋ฒ ํŠธ๋‚จOCR ะธ ์•ผํ”„. ๋‘ ๊ฐ€์ง€ ์ธ์‹ ์—”์ง„์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ณ„ ๋ฌธ์ž ํŒจํ„ด ์ˆ˜์ค€์—์„œ ํ…์ŠคํŠธ๋ฅผ ์ธ์‹ํ•˜๋Š” ํด๋ž˜์‹ ์—”์ง„๊ณผ LSTM ์ˆœํ™˜ ์‹ ๊ฒฝ๋ง ๊ธฐ๋ฐ˜ ๊ธฐ๊ณ„ ํ•™์Šต ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋Š” ์ƒˆ๋กœ์šด ์—”์ง„์€ ์ „์ฒด ๋ฌธ์ž์—ด์„ ์ธ์‹ํ•˜๊ณ  ์ •ํ™•๋„๊ฐ€ ํฌ๊ฒŒ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ์„ฑ ํ•™์Šต ๋ชจ๋ธ์ด ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 123 ๊ฐœ ์–ธ์–ด. ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด OpenMP ๋ฐ AVX2, AVX ๋˜๋Š” SSE4.1 SIMD ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“ˆ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ๊ฐœ๋Ÿ‰ Tesseract 4.1์—์„œ :

  • XML ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€ HIGH (๋ถ„์„๋œ ๋ ˆ์ด์•„์›ƒ ๋ฐ ํ…์ŠคํŠธ ๊ฐœ์ฒด). ์ด ํ˜•์‹์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด โ€œtessaract image_name alto output_dirโ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ๋ Œ๋”๋ง ๋ชจ๋“ˆ LSTMBox ๋ฐ WordStrBox๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์—”์ง„ ํ›ˆ๋ จ์„ ๋‹จ์ˆœํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • hOCR(HTML) ์ถœ๋ ฅ์— ์˜์‚ฌ๊ทธ๋ž˜ํ”ฝ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ธฐ๊ณ„ ํ•™์Šต์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์—”์ง„์„ ํ›ˆ๋ จํ•˜๊ธฐ ์œ„ํ•ด Python์œผ๋กœ ์ž‘์„ฑ๋œ ๋Œ€์ฒด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • AVX, AVX2 ๋ฐ SSE ์ง€์นจ์„ ์‚ฌ์šฉํ•œ ํ™•์žฅ๋œ ์ตœ์ ํ™”
  • OpenMP ์ง€์›์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ะฟั€ะพะฑะปะตะผ ์ƒ์‚ฐ์„ฑ์œผ๋กœ;
  • LSTM ์—”์ง„์— ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ ๋ฐ ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Cmake๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€