OCR 성능 끌어올리기 1st step

류창훈·2025년 2월 2일
0

CV (Computer Vision)

목록 보기
5/9

이번 포스팅은 OCR 성능 높이기 위한 접근방식 정리 내용입니다.



살펴볼 테스트 이미지는 아래와 같습니다.


제 지갑속에 박혀있던 영수증입니다.


언제적 영수증인지는 모르겠습니다 ㅎㅎ

슬쩍 보아하면 코스트코 코리아, 중랑구 등등

육안으로는 어렵지 않게 알아 볼 수 있는 글씨 이지만,
사람은 어떤 단어를 볼 때,
전의 글자와 다음 글자를 통해 단어를 판단하는
유추 기능이 자동 탑재되어 있다는 것을 고려해야 합니다.


그래서 컴퓨터로 이미지 속 문자 추출을 제대로 하려면,
이미지 속 보이는 문자의 퀄리티가 좋아야 합니다.


아무튼,

easyOCR 라이브러리 활용 코드 구성은


import cv2
import easyocr as ocr


img = cv2.imread('test.jpg')

reader = ocr.Reader(['ko', 'en'], gpu = False)

text = reader.readtext(img, detail = 0)

print(text)

이와 같고,

파이썬 코드 구성은 굉장히 단순한 것을 확인할 수 있습니다.



위의 이미지를 가지고 출력물을 확인해보면,

[':예4-위', '{어트;트', '감환사밥기도(<기엽응*', '(주)', '고스트코', '코리 아', '상봉 손', '107-81-63829', '대 표자: 조민 수', '충항 주', "망우로'", '936', '7)1899-9900)', '회원', '번호: 000000000063', '11', '판 매', '이 0 ^ 이메리가노', '577445', '2', '1000', '2,0))', '1', '(-신6-총상 품수', ':', '2)', '200)', '맨 시', '시', '1,813', '부', '7 어', '182', '합', '겨', '2,00)', '든', '10,00~', '현금( 소득공제) : 010***1234', '승신 ! 호; 122986911', '[벼]', '승민 끝 백', '2000', '현 금근 수증', '문의', '8126', '산문', '8,00~']


육안으로 확인했을 때의 흐릿한 부분은 상대적으로 잘 나오지 않는 것을 확인할 수 있습니다.

ex) 이메리가노


그래서 이미지 전처리 작업 후에 접근을 해보려 합니다.


적용 해볼 것들은 다음과 같습니다.

  • 이진화를 통한 대비 극대화
  • 노이즈 제거
  • Edge 검출
  • 모폴로지 연산 적용
  • 기울기 보정(미정)

이렇게 해보고도 안되면
기존 easyOCR 모델에 추가 학습을 하는 방향도 생각 중 입니다.



각각의 디테일한 적용 이유는 출력 결과와 함께
추가 포스팅 쭉 하도록 하겠습니다.




감사합니당 ~ 🦾





참고자료
https://tesseract-ocr.github.io/tessdoc/ImproveQuality.html
https://github.com/Ryuchanghoon/Improve-OCR-Quality
profile
Linear AI Developer입니다.

0개의 댓글

관련 채용 정보