๐Ÿ“š Study/AI

EasyOCR ์ปค์Šคํ…€ ๋ฐ์ดํ„ฐ์…‹์—์„œ finetuning ํ•˜๊ธฐ (2) - pretrained weight๋กœ ๋จผ์ € ์‹คํ—˜

์œฐ๊ฐฑ 2025. 5. 29. 16:42

chatgptํ•œํ…Œ ๋ธ”๋กœ๊ทธ์— ์˜ฌ๋ฆด ocrํ•˜๊ธฐ ์ข‹์€ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค์–ด ๋‹ฌ๋ผ๊ณ  ํ–ˆ๋‹ค.

 

import easyocr
reader = easyocr.Reader(['en']) # this needs to run only once to load the model into memory
result = reader.readtext("./EasyOCR/trainer/all_data/practice.png")
result

[([[125, 321], [793, 321], [793, 533], [125, 533]],
  'STATION',
  0.9997768703106611)]

 

๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด๋ณด๋ฉด,

(1) ๊ฒ€์ถœํ•œ bounding box์˜ ์œ„์น˜ (2) ๊ฒ€์ถœํ•œ text (3) Confidence Score

์ด๋ ‡๊ฒŒ ์„ธ ๊ฐ’์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

์ด ๊ฒฝ์šฐ์—๋Š” detection๊ณผ recognition ๋ชจ๋‘ ์ฝ”๋“œ์— ๊ตฌํ˜„๋œ pretrained weight๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.

 


์œ„์™€ ๊ฐ™์ด ๋„ˆ๋ฌด ๊ฐ„๋‹จํ•œ ์ด๋ฏธ์ง€์— ๋Œ€ํ•ด ์ž˜ํ•˜๊ธธ๋ž˜, ์ง์ ‘ ์ฐ์€ ์ด๋ฏธ์ง€๋กœ ์‹œ๋„ํ•ด๋ดค๋‹ค.

 

[([[358, 390], [799, 390], [799, 518], [358, 518]],
  'Hollo Kitty',
  0.8144684320052101),
 ([[491, 507], [659, 507], [659, 544], [491, 544]],
  '123 SANRIO',
  0.49120615698523307)]

 

๋Œ€๋ถ€๋ถ„ ์ž˜ํ•˜์ง€๋งŒ, ์กฐ๊ธˆ์€ ํ‹€๋ฆฌ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.


 

๋‚ด๊ฐ€ ํ•˜๋ ค๋Š” ๊ณผ์ œ๋Š” ์ œ์กฐ ๊ณต์ • ๊ณผ์ •์—์„œ ๋ถˆ๋Ÿ‰์„ ๊ฒ€์ถœํ•˜๊ณ  ์‹ถ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋” ๋†’์€ ์ •ํ™•๋„๊ฐ€ ํ•„์š”ํ–ˆ๋‹ค.

๋”ฐ๋ผ์„œ finetuning์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ–ˆ๋‹ค.