7cf62f58750353d2ef08e59091a9679ec011ce39
OCR Macro: 정답셋 워크플로우
이 프로젝트는 여러 OCR 모델의 결과물을 효율적으로 비교하고 수정하여, 고품질의 정답셋(Ground Truth) 데이터셋을 구축하기 위한 일련의 도구와 워크플로우를 제공합니다.
프로젝트 개요
프로젝트는 크게 두 가지 핵심 도구로 구성됩니다.
run_ocr.py: 대량의 문서를 OCR API로 보내고 결과를 자동으로 저장하는 CLI 스크립트.app.py: OCR 결과물을 원본과 비교하며 수정하고, 정답셋을 생성하는 Streamlit 기반 웹 애플리케이션.
구성 요소 상세
1. workspace/run_ocr.py
대량의 문서에 대한 OCR을 자동화하는 커맨드 라인 인터페이스(CLI) 스크립트입니다.
- 주요 기능: 병렬 처리, 자동 재시도(Exponential
Backoff), OCR 공급자 선택(
paddle/upstage), 순차 처리 모드(API의 RPS 제한 대응). - 사용법:
run_ocr_readme.md파일 참조.
2. workspace/app.py
OCR 결과물을 시각적으로 비교하고 수정하여 정답셋을 생성하는 Streamlit 기반 웹 애플리케이션입니다.
- 주요 기능: 세션 기반 협업, 3-Way 비교 뷰, 동적 레이아웃, 작업 완료 상태 추적, 정답셋 재수정, 결과물 zip 다운로드.
- 사용법:
workspace/app_readme.md파일 참조.
설치 및 실행
설치
프로젝트의 루트 디렉토리에서 다음 명령어를 실행하여 필요한 라이브러리를 설치합니다.
실행
OCR 자동화 스크립트
# 예시: upstage 모델을 사용하여 3초 간격으로 순차 처리
python workspace/run_ocr.py ./source_documents ./result_jsons/upstage --provider upstage --delay 3정답셋 생성 웹 애플리케이션
디렉토리 구조 (권장)
ocr_macro/
├── source_documents/ # 원본 이미지/PDF 파일
├── result_jsons/
│ ├── paddle_ocr/ # paddle_ocr 결과 JSON 파일
│ └── upstage/ # upstage 결과 JSON 파일
├── workspace/
│ ├── app.py # 정답셋 생성 웹 앱
│ ├── run_ocr.py # OCR 자동화 스크립트
│ ├── shared_sessions/ # app.py의 작업 세션 데이터 (자동 생성)
│ │ └── {seed}/
│ │ ├── docs/
│ │ ├── jsons_paddle_ocr/
│ │ ├── jsons_upstage/
│ │ └── groundtruth/ # 최종 정답셋 (자동 생성)
│ └── ...
├── requirements.txt
└── README.md # 본 파일
Description
Languages
Python
100%