본문 바로가기
사업지속/AppSheet

021 How to use 구글 appsheet 사용법-문자이미지인식 OCR Model AI 학습 / 적용

by 자바라머신러닝_출판 2023. 1. 19.

AppSheet 구글 인공지능(AI) OCR Model(optical character reader/recognition)을 알아봅니다. OCRTEXT() 함수는 이미지 글자를 한 개 항목에 모두 반환하지만, OCR MODEL은 이미지 내 글자 위치별로 여러 항목에 나누어 반환합니다.

사진 문자를 여러 속성에 나누어 인식하게 끔 학습하는 OCR MODEL

아래 그림의 사원증에는 성명, 메일, 입사일, 전화번호가 있습니다. OCRTEXT() 함수는 4개의 정보를 하나의 정보로 인식하여 인식결과라는 1개 항목에 일괄 인식 반환합니다. 그러나 OCR MODEL의 경우는 사전에 사원증 사진을 학습하여 사진 촬영 후 성명, 메일, 입사일, 전화번호로 분리 인식 반환하게 됩니다.

OCRTEXT() 함수와 OCR MODEL 의 차이점 (1개 항목 일괄 반환 vs. 여러 항목 분리 반환)
OCRTEXT() 함수와 OCR MODEL 의 차이점 (1개 항목 일괄 반환 vs. 여러 항목 분리 반환)

OCRTEXT() 함수는 글자 이미지 위치가 다른 경우 어쩔 수 없이 모두 일괄 반환하지만, OCR MODEL 은 모든 이미지의 글자 위치가 모두 동일할 경우 처음부터 나누어서 인식할때 사용합니다.

OCR MODEL 학습 방법

OCR MODEL 사용법은 위 사원증 사례로 설명드리겠습니다. OCR MODEL 을 학습하기 전에 2가지를 준비해야 합니다. 학습할 사진과 이 사진에 추출할 정보를 사전에 구글 스프레드 시트에 기록해야 합니다. 그리고 Intellegence 메뉴에서 OCR MODEL (Beta)에서 학습을 시킵니다. 학습의 원리는 아래와 같이 1) 이미지 내 글자와 일치하는 정보를 식별하고 2) 그 정보의 항목을 분류합니다. 이런 식으로 3) 일치하는 정보의 개수만큼 항목을 파악하여 OCR MODEL을 생성합니다.

OCR MODEL 학습 과정 및 모델 생성 결과 과정 (직원성명, 전화번호 예)
OCR MODEL 학습 과정 및 모델 생성 결과 과정 (직원성명, 전화번호 예)

즉, OCR MODEL 의 학습모델 결과는 인식할 문자의 위치를 사전에 정의하는 것입니다.

주의할 점은 3가지입니다.
1번째 사진 정보는 최소 4장 이상을 권장하고 2번째 표와 같은 복잡한 이미지에서 글자 추출은 표의 선 때문에 간섭이 발생하여 인식율이 떨어집니다. 3번째 영어권 OCR MODEL의 한계로 날짜의 경우 반드시 월-일-연도 식으로 되어 있어야 합니다. (한국식 연도-월-일 형식의 날짜는 MODEL 학습할 때 인식하지 못함)

OCR MODEL 사용법 : Intellegence > OCR MODEL (Beta)

AppSheet 학습 과정은 아래 그림과 같이 Intellegence -> OCR MODEL -> 테이블/사진/인식항목 정의 -> Save ->Pattern 확인으로 진행됩니다. 특히 Save 후 Pattern에 보인 이미지 위에 항목명이 덧씌워지는데 모든 항목이 제대로 분류되었는지 확인해야 합니다.

 

AppSheet 학습 과정 (Intellegence -> OCR MODEL -> 테이블/사진/인식항목 정의 -> Save ->Pattern 확인
AppSheet 학습 과정 (Intellegence -> OCR MODEL -> 테이블/사진/인식항목 정의 -> Save ->Pattern 확인

이렇게 학습이 완료되면 테이블의 각 항목의 Initial Value에 "OCR("사원증인식 OCR", [사원증], "메일계정")"와 같은 함수가 자동으로 정의됩니다.

각 항목별  Initial Value 에 자동으로 생성된 OCR 함수 예시
각 항목별  Initial Value 에 자동으로 생성된 OCR 함수 예시

적용 사례

아래 그림처럼 사원증에서 사원증을 촬영하면 이미 학습된 위치에 각 정보가 자동 매핑됩니다. 아 사례처럼 한글로 작성된 이미지 글자도 인식이 잘되나 손글씨의 경우 변수가 많으므로 인쇄체를 권장합니다. 그리고 입사일의 경우 월-일-연도 형식이 아니기 때문에 "This entry is invalid"라고 표현되었지만 한번 터치 또는 클릭하면 자동으로 정정됩니다.

손글씨 이미지 인식 결과
손글씨 이미지 인식 결과

 

손글씨 이미지 인식 결과 gif
손글씨 이미지 인식 결과 gif (중간 dicard 클릭)

 

요약
  • 인식할 문자의 위치를 사전에 학습하는 OCR MODEL로 이미지 글자를 구분하여 인식할 수 있음
  • 구글 워크시트에 인식 대상 정보 저장 + 사진 + Intellegence -> OCR MODEL 순으로 학습함 (Pattern 항목매핑 확인)
  • 주의점 : 4장 이상 사례 + 표의 선과 같은 간섭 이미지 인식율 저조 + 날짜 형식 주의 (연/일/연도)
  • 손글씨 이미지도 글자 인식이 잘되나 인식율 주의 필요



댓글