๐Ÿ’œ๊ฐœ๋ฐœ๊ณผ ์ผ์ƒ (โ‰ง∇โ‰ฆ)๏พ‰

ํ•œ๊ธ€ ์ธ์‹ OCR ์—”์ง„ ์—ฐ๊ตฌ - tesseract, CLOVA, Google ๋“ฑ ๋ณธ๋ฌธ

CS/machine learning

ํ•œ๊ธ€ ์ธ์‹ OCR ์—”์ง„ ์—ฐ๊ตฌ - tesseract, CLOVA, Google ๋“ฑ

๊ฐ•์˜์„œ 2022. 9. 18. 17:34

์ด๋ฏธ์ง€ ๋‚ด ๊ธ€์”จ๋ฅผ ์ธ์‹ํ•˜๋Š” ๊ธฐ์ˆ  ๋ฐ ๋ชจ๋ธ์„ OCR๋ผ๊ณ  ํ•˜๋Š”๋ฐ,

์ง€๊ธˆ ์ง„ํ–‰ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋Š” ํ•œ๊ตญ์–ด๋ฅผ, ํŠนํžˆ๋‚˜ ์†๊ธ€์”จ๋ฅผ ์ž˜ ์ธ์‹ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์—ฐ๊ตฌ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋‹ค!

 

๊ทธ๋ž˜์„œ ๋‹ค์–‘ํ•œ ์—”์ง„์„ ์‚ฌ์šฉํ•ด๋ณด๋ฉด์„œ ์„ฑ๋Šฅ์„ ํŒŒ์•…ํ•ด๋ณด์•˜๋‹ค.

์˜คํ”ˆ์†Œ์Šค๋ถ€ํ„ฐ ๋Œ€๊ธฐ์—…์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” ์œ ๋ฃŒ API ๋“ฑ์„ ๋‹ค ์ธ์‹ํ•ด๋ณด์•˜๋‹ค.

 

์˜คํ”ˆ์†Œ์Šค - Tesseract

๋จผ์ € OCR ์—”์ง„ ์ค‘ ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ์—”์ง„์ธ tesseract๊ฐ€ ์žˆ๋‹ค!

 

tesseract ๊นƒํ—ˆ๋ธŒ ์ฃผ์†Œ

https://github.com/tesseract-ocr/tesseract

 

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

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

github.com

ํ•ด๋‹น ์—”์ง„์€ ๊ธฐ๋ณธ ์˜์–ด๋ฅผ ์ธ์‹ํ•˜๊ณ  ์ด์™ธ์—๋„ ๋‹ค์–‘ํ•œ ๊ธ€์”จ๋ฅผ ์ธ์‹ํ•œ๋‹ค!

 

์•„๋ž˜์˜ ๋ฉ”๋‰ด์–ผ์„ ์ฐธ๊ณ ํ•ด์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•ด ๋ณด์•˜๋‹ค.

๋ฉ”๋‰ด์–ผ

tesseract/tesseract.1.asc at main · tesseract-ocr/tesseract

 

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

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

github.com

 

Installing Tesseract - Command Line์œผ๋กœ ์‹คํ–‰ํ•ด๋ณด๊ธฐ

Compilation guide for various platforms

์—ฌ๊ธฐ์— ์žˆ๋Š” ๋ฉ”์ธ ๋ธŒ๋žœ์น˜๋ฅผ ํ™œ์šฉํ•ด์„œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด๋ณด๋„๋ก ํ•œ๋‹ค.

tesseract ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์ž์„ธํ•˜๊ฒŒ ์ œ๊ณตํ•ด์ฃผ๊ณ  ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ์žฅ์ ์ด๋‹ค!

(์ €๋Ÿฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ตœ๊ณ ๋‹ค.. )

 

ํ•„์ž๋Š” ์šด์˜์ฒด์ œ๊ฐ€ Windows์ด๋ฏ€๋กœ ํ•ด๋‹น ๋ฒ„์ „์„ ๋‹ค์šด๋ฐ›์•˜๋‹ค. 

์ž์‹ ์˜ ๋ฒ„์ „์„ ํ™•์ธํ•˜๊ณ  ๋‹ค์šด๋กœ๋“œ๋ฅผ ์ง„ํ–‰ํ•ด๋ณด์ž!

  1. Software Network client๋กœ sw.exe ํŒŒ์ผ์„ ๋‹ค์šดํ•œ๋‹ค.
  2. ๋ช…๋ น์–ด๋กœ sw setup ์ง„ํ–‰
  3. ์ดํ›„ sw build org.sw.demo.google.tesseract.tesseract-master ํด๋ก  ์ง„ํ–‰

์ด ๋ฐฉ๋ฒ•์œผ๋กœ ์ง„ํ–‰ํ–ˆ๋‹ค.

Software Network client์€ github ๊ฐ™์€ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด ์—†๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ฝ”๋“œ๋ฅผ ๋กœ์ปฌ์— ํด๋ก ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ํ”Œ๋žซํผ์ด๋‹ค ์ด๋กœ์จ sw ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•ด์„œ ์‹คํ–‰ํ•˜๋ฉด ์ž๋™์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค!

cmd ์ฐฝ์— ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์„œ ์ฝ”๋“œ๋ฅผ ์–ป์–ด๋ณด์ž.

์ดํ›„ ์‹œ์Šคํ…œ๋ณ€์ˆ˜ → PATH → ํŽธ์ง‘์„ ํ†ตํ•ด์„œ tesseract๊ฐ€ ๋ช…๋ น์–ด๋ฅผ ์ธ์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ด์ฃผ์—ˆ๋‹ค!

ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •์€ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๋” ์ž์„ธํ•œ ๊ธ€์ด ๋งŽ์œผ๋‹ˆ ์ฐธ๊ณ ํ•˜๋ฉด ๋  ๋“ฏ ํ•˜๋‹ค.

 

์ดํ›„ cmd ์ฐฝ์— tesseract๋ผ๋Š” ๋ช…๋ น์–ด๊ฐ€ ๋จนํžˆ๋Š” ์ง€ ํ™•์ธ์„ ํ•ด๋ณด์ž

tesseract [์ด๋ฏธ์ง€์ด๋ฆ„] stdout -l kor > [๊ฒฐ๊ณผ๋ฌผ์ €์žฅ]

์ธ์‹ํ•˜๋ ค๋Š” ์ด๋ฏธ์ง€ ์ด๋ฆ„๊ณผ ํ•ด๋‹น ๊ฒฐ๊ณผ๋ฌผ์„ ์–ด๋–ป๊ฒŒ ์ €์žฅํ• ์ง€ ์ž…๋ ฅํ•˜๋ฉด ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‚˜๋Š” .txt ํ™•์žฅ์ž๋กœ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜์˜€๋‹ค.

 

์†๊ธ€์”จ ๊ฒฐ๊ณผ ํ™•์ธ

ํ”„๋กœ์ ํŠธ์—์„œ ์›ํ•˜๋Š” ์†๊ธ€์”จ๊ฐ€ ์ œ๋Œ€๋กœ ์ธ์‹ํ•˜๋Š” ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ ์†๊ธ€์”จ๋ฅผ input์œผ๋กœ ๋„ฃ์–ด๋ณด์•˜๋‹ค.

์ œ๋Œ€๋กœ ์ธ์‹ํ•˜๊ณ  ์žˆ์ง€ ์•Š์€ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ

์ด ์‚ฌ์ง„์˜ ๋ฌธ์ œ —> ์ค„์ด ์žˆ์Œ, ์˜์–ด๊ฐ€ ์„ž์—ฌ์žˆ์Œ, ๋„ค๋ชจ์นธ์ด ์žˆ์Œ, ๋ฌธ์žฅ์ด ๋„ˆ๋ฌด ๋งŽ์Œ

์„ ๊ณ ๋ คํ•ด์„œ ๋‘๋ฒˆ์งธ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•จ

์•ฑ ๊ฐœ๋ฐœ ํšŒ์˜ 6์‹œ ๋‹ค ์ธ์‹ ๋ชปํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Œ… ์†๊ธ€์”จ ์„ฑ๋Šฅ์ด ์ตœ์•…...

์—ญ์‹œ ์˜คํ”ˆ์†Œ์Šค์˜ ํ•œ๊ณ„์ธ ๊ฒƒ์ผ๊นŒ?

 

์ •ํ˜•ํ™”๋œ ์„œ๋ฅ˜์ผ ๊ฒฝ์šฐ๋„ ์ฒดํฌํ•ด ๋ณด์•˜๋‹ค

์ƒ๋…„์›”์ผ์„ ๋ชจ์ž์ดํฌํ•˜๊ธด ํ–ˆ์ง€๋งŒ ์ •ํ˜•ํ™” ๋œ ์„œ๋ฅ˜๋Š” ์ธ์‹์ด ์ž˜ ๋œ๋‹ค.

ํ•ด๋‹น ๋ชจ๋ธ์€ ์†๊ธ€์”จ๊นŒ์ง€ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„๊นŒ์ง€ ์ปค๋ฒ„ํ•  ์ˆ˜ ์—†์Œ์„ ํ™•์ธํ–ˆ๋‹ค. 

์ด๋กœ์จ ์†๊ธ€์”จ ์ธ์‹์—๋Š” ํ•ด๋‹น ๋ชจ๋ธ์€ ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธ ์™„๋ฃŒ...

์ธ์‹์ด ์ž˜ ๋ชป ๋˜๋Š” ๊ฒƒ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ธ์‹์ด ์•ˆ ๋˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์—ˆ์Œ

 

์œ ๋ฃŒ API ํ™•์ธ - Google vision API

์–ด์ฉ”์ˆ˜ ์—†๋‹ค ๋Œ€๊ธฐ์—…์˜ ์†์„ ๋นŒ๋ฆฌ์ž ํŒ๋‹จ์ด ๋“ค์–ด์„œ

Google ์‚ฌ์˜ demo ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ด ๋ณด์•˜๋‹ค. ํŽธํ•˜๊ฒŒ GUI๋ฅผ ์ œ๊ณตํ•ด์คฌ๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„๋‹ค๋ฅธ ์„ค์น˜๋Š” ํ•„์š” ์—†์—ˆ๋‹ค. ๊ฐœ๊ฟ€.

๋‚˜๋ฆ„ ์ค€์ˆ˜ํ•œ ์„ฑ๋Šฅ

ํ•˜์ง€๋งŒ ์‚ฌ์ง„์˜ ๋ฐฉํ–ฅ์ด๋‚˜ ๋ฐฐ์œจ์— ๋”ฐ๋ผ ์ธ์‹ ์„ฑ๋Šฅ์ด ๋ถˆ์•ˆ์ •ํ•จ์„ ํ™•์ธํ•ด ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๊ธ€์”จ๊ฐ€ ์ ํ˜€์žˆ๋Š” ๋ถ€๋ถ„๋งŒ cropํ•ด์•ผ ์ •ํ™•๋„๊ฐ€ ๋†’์€ ๋“ฏ ํ–ˆ๋‹ค.

ํ•ด๋‹น ์˜ˆ์‹œ์ฒ˜๋Ÿผ ์ œ๋Œ€๋กœ ์ธ์‹ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๋„ ๋งŽ์Œ

tesseract ๋ณด๋‹จ ์ค€์ˆ˜ํ•˜์ง€๋งŒ ๋„์–ด์“ฐ๊ธฐ ์ธ์‹์ด ๋ถˆ์•ˆ์ •ํ–ˆ๋‹ค...

 

๊ฒฐ๋ก  : ๊ธ€์”จ์ฒด ์ƒ๊ด€์—†์ด ํ•œ๊ธ€์ž ๋‹น ์ •ํ™•๋„๋Š” ์ƒ๋‹นํžˆ ๋†’๋‹ค.

ํ—ˆ๋‚˜, ๋„์–ด์“ฐ๊ธฐ ์ธ์‹์ด ๋ถˆ์•ˆ์ •ํ•˜๋ฉฐ ์ •ํ™•๋„๋ฅผ ๋†’ํžˆ๋ ค๋ฉด ๊ธ€์”จ๋งŒ ์žˆ๋Š” ๋ถ€๋ถ„์„ ๋”ฐ๋กœ cropํ•ด์•ผํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ํ•„์š”ํ–ˆ๋‹ค.

 

 

์œ ๋ฃŒ API ํ™•์ธ - CLOVA OCR

https://www.ncloud.com/product/aiService/ocr

 

NAVER CLOUD PLATFORM

cloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certification

www.ncloud.com

๋งˆ์ง€๋ง‰ ํฌ๋ง์œผ๋กœ ๋„ค์ด๋ฒ„ CLOVA์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” OCR ๋ฐ๋ชจ๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์•˜๋‹ค.

ํ•ด๋‹น API๋Š” ๋ฌด์กฐ๊ฑด ๊ฒฐ์ œ ์ˆ˜๋‹จ์„ ๊ฒฐ์ •ํ•ด ๋†”์•ผ๋งŒ ๋ฐ๋ชจ๋ฅผ ์“ธ ์ˆ˜ ์žˆ์—ˆ๋‹ค.... ์ฒ ์ €ํ•œ ๋„ค์ด๋ฒ„...

๋„ˆ๋ฌด๋‚˜๋„ ์ธ์‹์ด ์ž˜ ๋œ๋‹ค. ํŠนํžˆ๋‚˜ ๋„์–ด์“ฐ๊ธฐ ๋ถ€๋ถ„์„ ์ƒ๋‹นํžˆ ์ž˜ ์ธ์‹ํ•˜๊ณ  ์žˆ๋‹ค.

์—ญ์‹œ ๊ตญ๋‚ด ๊ธฐ์—…์ด ํ•œ๊ตญ์–ด ์ธ์‹ ์„ฑ๋Šฅ์ด ๋” ๋›ฐ์–ด๋‚จ์„ ๊นจ๋‹ฌ์•˜๋‹ค.....

๊ตฌ๊ธ€์ด ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•œ ๋ถ€๋ถ„๋„ ์ถฉ๋ถ„ํžˆ ์ธ์‹ํ•˜๋Š” ์—ฌ์œ ๋กœ์šด CLOVA ๋ชจ๋ธ

๊ทธ๋ฆฌ๊ณ  ๋Œ€๋ง์˜ ์ดˆ๊ณ ๋‚œ๋„ ๋‚ด ์Šค์ผ€์ค„ ๋ฆฌ์ŠคํŠธ๋„ ์ž˜ ์ธ์‹์„ ํ•œ๋‹ค.... ์™€ ๋ฌผ๋ก  ์˜ค๋ฅ˜๊ฐ€ ์žˆ์ง€๋งŒ

 

์šฐ๋ฆฌ ํŒ€์€ ์ด์ •๋„๊นŒ์ง€์˜ ์ž์ž˜ํ•œ ๊ธฐํ˜ธ๋ฅผ ์ธ์‹ํ•  ํ•„์š”๋Š” ์—†๊ธฐ ๋•Œ๋ฌธ์— CLOVA๊ฐ€ ๊ฐ€์žฅ ์ธ์‹ ์ •ํ™•๋„๊ฐ€ ๋†’์Œ์„ ํ™•์ธํ•˜๊ณ 

ํ•ด๋‹น ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค! ๋ˆ์ด ๋ฌธ์ œ๊ธด ํ•˜์ง€๋งŒ...

 

๋„ค์ด๋ฒ„์˜ ์ธ๊ณต์ง€๋Šฅ ๊ฐœ๋ฐœํŒ€๋“ค์—๊ฒŒ ๋ฐ•์ˆ˜๋ฅผ ๋ณด๋‚ด๊ณ ์‹ถ๋‹ค!