AI VIDEO BRIEFING

OCR·제미나이 문서 자동화: 영수증 이미지를 구조화 JSON으로 바꾸는 GenAI 프로젝트

OCR로 영수증 이미지의 텍스트를 뽑고 제미나이로 구조화된 JSON을 만드는 초보자용 생성형 AI 프로젝트를 정리한다. 파이프라인과 이미지 전처리 개념까지 담았다.

OCR과 제미나이로 영수증을 JSON으로: 초보자용 문서 자동화 프로젝트 영상 대표 이미지

핵심 메시지

  • 조직은 매일 수천 장의 영수증·청구서·양식 이미지를 받는데, 이를 수작업으로 읽어 입력하는 일은 느리고 비싸며 오류가 잦다. 이 프로젝트는 그 과정을 OCR과 제미나이로 자동화한다.
  • OCR(광학 문자 인식)은 이미지 속 글자를 기계가 읽을 수 있는 텍스트로 바꿀 뿐 의미는 이해하지 못한다. 어떤 값이 송장 번호이고 어떤 값이 합계인지 아는 것은 IDP(지능형 문서 처리)의 몫이다.
  • 파이프라인은 영수증 이미지 → OpenCV 전처리 → Tesseract OCR → 원시 텍스트 → 제미나이 API로 구조화 JSON 변환 → 저장·표시 순으로 이어진다.
  • 컴퓨터는 이미지를 픽셀 숫자로 이뤄진 NumPy 배열로 인식하며, 배열의 shape는 (높이, 너비, 채널) 순이고 OpenCV는 색을 RGB가 아닌 BGR 순서로 저장한다.
  • Tesseract의 정확도는 약 97~98%로 완벽하지 않으며, 이미지 품질·글꼴·해상도·조명·기울기에 좌우되므로 전처리와 후처리가 중요하다.

쉽게 이해하기

이 영상은 이미지에서 정보를 뽑아내 구조화하는 초보자용 생성형 AI 프로젝트를 처음부터 끝까지 안내한다. 문제 설정은 명확하다. 기업은 매일 영수증·청구서·양식 같은 문서 이미지를 수천 장씩 받는데, 사람이 일일이 읽어 데이터베이스에 입력하는 방식은 시간과 비용이 많이 들고 실수도 잦다. 목표는 OCR로 텍스트를 추출하고 제미나이로 구조화 정보를 만들어 이 과정을 자동화하는 것이다.

핵심 개념을 먼저 정리한다. OCR은 이미지 속 글자를 기계가 읽을 수 있는 텍스트로 변환하지만 그 뜻은 이해하지 못한다. 반면 IDP(지능형 문서 처리)는 어떤 텍스트가 송장 번호인지, 날짜인지, 합계 금액인지, 공급처인지를 알아본다. 그래서 OCR만으로는 부족하고, 추출된 텍스트를 해석할 추가 지능이 필요하다.

전체 파이프라인은 이렇게 흐른다. 영수증 이미지를 받아 OpenCV로 전처리하고, Tesseract로 OCR을 돌려 원시 텍스트를 얻은 뒤, 제미나이 API가 그 텍스트를 의미 있는 필드(가게 이름, 날짜, 합계, 세금 등)를 담은 구조화 JSON으로 바꾼다. JSON을 쓰는 이유는 대부분의 모델 학습·활용에서 다루기 편한 표준 형식이기 때문이다. 기술 스택으로는 파이썬, 구글 코랩, OpenCV, NumPy, Pillow, Tesseract(pytesseract), 제미나이 API, matplotlib이 쓰인다.

영상은 코드에 앞서 디지털 이미지의 원리를 설명한다. 컴퓨터는 이미지를 픽셀이라는 최소 단위의 숫자 배열로 본다. 흑백에서 0은 검정, 255는 흰색이며, 이런 값들이 모여 NumPy 배열을 이룬다. OpenCV로 이미지를 읽으면 실제로는 (높이, 너비, 채널) 형태의 배열이 반환되고, 색 채널은 RGB가 아니라 BGR 순서라는 점이 초보자가 자주 헷갈리는 부분이다. 데이터 타입은 0~255를 담는 부호 없는 8비트 정수(uint8)다.

전처리에서는 색이 아니라 글자의 형태만 중요하므로 RGB 이미지를 단일 채널 그레이스케일로 바꿔 계산을 가볍게 한다. 이어 임계값 처리(thresholding)로 각 픽셀을 흑 또는 백으로 분리해 글자를 또렷하게 만들고, 이 이진 이미지를 Tesseract에 넣어 텍스트를 추출한다. 마지막으로 제미나이 2.5 플래시 모델이 OCR 결과를 JSON으로 변환하며 프로젝트가 마무리된다.

주요 인사이트

  • OCR과 IDP를 구분해 이해하는 것이 이 프로젝트의 핵심이다. 텍스트를 '뽑는' 일과 그 텍스트가 '무엇을 뜻하는지 아는' 일은 다른 단계이며, 제미나이 같은 LLM이 후자를 담당한다.
  • 이 프로젝트는 모델을 학습·테스트하지 않고 이미 학습된 부품(Tesseract, 제미나이)을 조합한 추론 파이프라인이다. 그래서 학습용이 아니라 테스트용 이미지를 써서 실제 운영 환경의 미지 문서를 흉내 낸다.
  • 이미지를 (너비, 높이)가 아니라 (높이, 너비, 채널)로 다루고 색을 BGR로 읽는 OpenCV의 관례는 초보자가 자주 틀리는 지점으로, 배열 shape를 정확히 이해해야 오류를 피할 수 있다.
  • OCR 정확도는 100%가 아니며 이미지 품질과 조명, 기울기에 좌우되고 O와 0처럼 닮은 글자를 혼동할 수 있으므로, 전처리와 후처리로 정확도를 끌어올리는 것이 중요하다.

자주 묻는 질문

OCR과 IDP는 어떻게 다른가요?

OCR은 이미지 속 글자를 기계가 읽을 수 있는 텍스트로 추출할 뿐 의미는 모릅니다. IDP(지능형 문서 처리)는 어떤 텍스트가 송장 번호·날짜·합계·공급처인지 맥락을 파악해 구조화합니다.

이 프로젝트의 파이프라인은 어떤 순서인가요?

영수증 이미지 → OpenCV 전처리(그레이스케일·임계값 처리) → Tesseract OCR로 원시 텍스트 추출 → 제미나이 API가 구조화 JSON으로 변환 → 결과 저장·표시 순입니다.

왜 학습용이 아니라 테스트용 이미지를 사용하나요?

OCR 모델을 새로 학습하는 것이 아니라 이미 학습된 Tesseract와 제미나이를 조합한 추론 파이프라인이기 때문입니다. 테스트 이미지를 써서 실제 운영에서 마주할 미지의 문서를 흉내 냅니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식