imsmile2000 2023. 5. 23. 23:31

OCR - Optical Character Recognition

STR - Scene Text Recognition

 

Offline Handwriting vs Online Handwriting

  • offline handwriting: 이미지 입력, 글자값 출력
  • online handwriting: 좌표 시퀀스 입력, 글자값 출력

 

Object Detection & Text Detection

  • 글자 영역 다수 객체 검출: 글자 영역이냐 아니냐, 단일 클래스 문제 (클래스 정보 필요없고 객체의 위치만 추정)
  • Text Detector: 이미지 입력에 글자 영역 위치가 출력
  • Text Recognizer: 하나의 글자 영역 이미지 입력에 해당 영역 글자열이 출력인 모델
    • CV와 NLP의 교집합 영역
    • 유사 영역으로 Image Captioning 존재

 

  • Serializer(정렬기): OCR 결과값을 자연어 처리하기 편하게 일렬로 정렬하는 모듈
    • 정렬기의 결과값을 입력으로 받는 자연어 처리 모듈을 뒤에 붙여서 사용 가능

 

  • Text Parser: 자연어 처리 모듈 중 가장 많이 사용되는 것은 정의된 key들에 대한 value 추출
    1. 토큰화
    2. BIO 태깅을 활용한 개체명 인식: 문장에서 이미 정의된 개체에 대한 값 추출 
      • Begin / Inside / Outside

 

OCR Services

  • Text Extractor
    • Copy & Paste (외국어 입력할 때, 다량의 글자 입력할 때, Wifi 비밀번호 등)
  • Text Extractor + NLP
    • Google photo
    • Matching: 뮤직 플레이리스트 옮기기
    • 금칙어 처리 (광고성, 혐오성 이미지 제거)
    • 번역 (외국어 입력 사진으로 대체)
  • Key-Value Extractor (많이 쓰임)
    • 신용카드 (카드번호, 유효기간)
    • 신분증 (이름, 주민등록번호, 집주소)
    • 수기 입력 대체 (명함 정보, 사업자 등록증, 영수증,)