개요

OCR Lifecycle Overview

OCR 작업 라이프사이클과 기술 선택 근거

이 화면은 현재 OCR 플랫폼을 UI 중심이 아니라 원문 처리 관점에서 설명합니다. 각 단계마다 무엇을 하려는지, 어떤 기술을 쓰는지, 대안은 무엇이었는지, 왜 그 방향을 선별했는지, 그리고 Mac Studio POC 이후 어떤 서버 구조로 넘어가야 하는지를 객관적으로 정리한 개요입니다.

현재 전제

대상 문서는 토지조사부, 족보, 고문서 같은 세로쓰기 필기체 원문입니다.
핵심 목표는 예쁜 OCR 데모가 아니라, 원문 기준으로 탐지·인식·검수·필드화까지 이어지는 자동 처리 체계를 만드는 것입니다.
현재 구현은 Stage 1 탐지와 Stage 2 인식이 자동 파이프라인으로 동작하고, Stage 3 이후는 설계와 개별 구현은 있으나 기본 자동 경로에는 아직 복원되지 않았습니다.

문서 성격

  • 세로쓰기, 격자, 붉은 주기, 황변, faint ink가 함께 존재합니다.
  • 정확도만이 아니라 왜 그렇게 읽었는지 설명 가능해야 합니다.
  • 자동화와 사람 검수를 분리하지 않고 연결하는 구조가 필요합니다.
  • 따라서 빠른 단일 모델보다 단계형 파이프라인이 더 적합합니다.

검증 기준

코드 확인

오케스트레이터 기본 경로는 Stage 1 DetectionStage, Stage 2 RecognitionStage까지만 활성입니다.

설정 확인

현재 기본 Ollama 모델과 VLM 모델 설정은 둘 다 `qwen3.5:122b` 입니다.

환경 확인

이 장비는 Mac Studio, Apple M3 Ultra, 메모리 256GB 입니다.

문서 확인

방법론 문서에는 Stage 1~5 전체 설계와 탐지 수, 저신뢰 라우팅 수치가 정리돼 있습니다. 다만 이 수치가 현재 자동 경로의 실시간 운영값과 동일하다고 단정할 수는 없습니다.

단계별 구조

Implemented vs planned
Stage 1

문자 탐지

현재 자동 실행

고문서에서 글자 영역을 과감하게 많이 잡고, 후속 단계에서 정제하는 탐지 우선 전략입니다.

사용 기술
  • CRAFT 기반 문자 탐지
  • 격자 제거 + 6종 전처리 + 2개 스케일
  • WBF(Weighted Box Fusion) + SAHI 재추론
대안
  • PaddleOCR 단독 검출
  • Surya 단독 검출
  • 단일 스케일 CRAFT
선별 이유
  • 토지조사부 같은 격자 문서는 누락보다 과탐 후 정제가 결과적으로 안정적입니다.
  • 원문 열화가 심해 단일 전처리나 단일 스케일만으로는 faint ink와 미세 획이 자주 빠집니다.
  • WBF와 타일 보강을 써야 작은 글자와 찢김 영역 회수가 가능합니다.
구현 메모
  • 방법론 문서 기준 최종 탐지 수는 6,607개입니다.
  • 동일 문서에서 Stage 1 결과의 약 절반은 이후 노이즈로 분류됩니다.
Stage 2

기본 문자 인식

현재 자동 실행

탐지된 글자 crop에 대해 빠른 1차 판독을 수행하고, 낮은 신뢰도는 후속 보강 대상으로 넘기는 단계입니다.

사용 기술
  • PP-OCRv5 Server Recognition
  • raw crop 기반 단문자 인식
  • 신뢰도 라우팅(0.5 이상 확정, 미만은 보강 후보)
대안
  • CRAFT 이후 바로 VLM 단독 인식
  • 라인 단위 OCR 후 문자 재분배
  • HCCR 전용 모델 직접 적용
선별 이유
  • 현재 단계에서 가장 중요한 것은 전체 문서를 빠르게 1차 판독해 검수 가능한 상태로 만드는 것입니다.
  • VLM을 모든 문자에 직접 거는 방식은 비용이 너무 크고, 실패 원인 추적도 어렵습니다.
  • PP-OCRv5는 완성도가 높고 빠른 1차 필터 역할로 적합합니다.
구현 메모
  • 방법론 문서 기준 CJK 인식 성공 842개, 고신뢰는 319개(4.8%) 수준입니다.
  • 저신뢰 2,087개(31.6%)는 설계상 Stage 3 보강 대상으로 남습니다.
Stage 3

VLM 앙상블 보강

구현됨, 기본 자동 경로에서는 비활성

기본 OCR이 자신 없어 하는 글자에만 VLM을 추가 투입해 후보를 늘리고, 합의 또는 교체 판단을 하는 보강 단계입니다.

사용 기술
  • Ollama 기반 VLM 호출
  • top-k 후보 생성
  • 간체·번체 동치 처리 + 보수적 교체 로직
대안
  • 모든 문자에 VLM 적용
  • GOT-OCR/HCCR 전용 모델 추가
  • 도메인별 fine-tuned recognition 모델
선별 이유
  • 고문서 OCR은 저신뢰 문자만 선택적으로 비싸게 처리하는 구조가 비용 대비 효율이 좋습니다.
  • 후보 기반 보강은 사람이 검수할 때도 설명 가능성이 높습니다.
  • 간체·번체를 동치로 묶지 않으면 고문서에서 불필요한 불일치가 과하게 늘어납니다.
구현 메모
  • 문서에는 Qwen2.5-VL 7B/32B 계획이 정리돼 있으나, 현재 설정 기본값은 Ollama `qwen3.5:122b`로 더 무겁습니다.
  • 현재 코드상 동시성은 2로 제한돼 있어 페이지 단위 대량 문자 보강에는 병목이 큽니다.
  • 오케스트레이터에서는 감지 좌표 검증 이슈 때문에 기본 자동 경로에서 주석 처리돼 있습니다.
Stage 4

문맥 교정

구현됨, 기본 자동 경로에서는 비활성

문자 하나씩 고치는 것이 아니라 세로쓰기 줄 단위 문맥을 보고 오인식을 교정하는 단계입니다.

사용 기술
  • Ollama LLM 교정
  • 세로쓰기 열/줄 복원
  • 글자 수 보존 제약 기반 적용
대안
  • 사전 기반 정정
  • 도메인 language model 별도 구축
  • 사용자 수동 교정만 유지
선별 이유
  • 고문서는 형태가 비슷한 한자가 많아 문자 단독 판단보다 문맥 교정 효과가 큽니다.
  • 글자 수 보존 규칙을 두어 bbox와 문자 매핑이 깨지지 않게 설계했습니다.
  • 사전만으로는 유교 경전, 토지대장, 인명 표기처럼 문맥 의존 오인을 안정적으로 잡기 어렵습니다.
구현 메모
  • 정확도 개선 여지는 있지만, 잘못된 문맥 교정이 들어가면 오히려 원문성이 훼손될 수 있어 보수적으로 써야 합니다.
  • 현재 기본 자동 경로에는 포함되지 않습니다.
Stage 5

필드 분류와 구조화

개별 실행 가능

최종 텍스트를 단순 OCR 결과로 끝내지 않고, 문서 구조에 맞는 필드와 그룹으로 묶는 단계입니다.

사용 기술
  • 열 비율 기반 룰 분류
  • 격자 행 참조 + DBSCAN 클러스터링
  • 도메인 미정의 시 VLM fallback
대안
  • 전체 필드를 VLM이 직접 라벨링
  • 룰 없이 end-to-end 문서 파싱
  • 수동 필드 태깅
선별 이유
  • 토지조사부처럼 열 구조가 강한 문서는 룰 기반 분류가 VLM보다 일관되고 저렴합니다.
  • OCR 결과를 데이터화해야 이후 검색, 비교, 정정 이력이 가능해집니다.
  • 비정형 문서에 대해서만 VLM fallback을 쓰는 편이 비용과 설명 가능성 모두에서 유리합니다.
구현 메모
  • 현재 토지조사부 도메인은 x비율 컬럼 매핑이 정의돼 있습니다.
  • 즉, 이 단계의 핵심은 화면 장식이 아니라 추출 결과를 업무 데이터로 바꾸는 것입니다.

작업 라이프사이클 핵심

입력
원본 고해상도 이미지 1장 단위

현재 업로드 샘플 해상도는 약 4162×3063 수준입니다.

자동 처리 구간
현재 기본값은 Stage 1 탐지 + Stage 2 인식

Stage 3 VLM, Stage 4 LLM은 구현은 있으나 오케스트레이터 기본 경로에선 비활성입니다.

병목 구간
문자 수가 많은 페이지의 Stage 1 다중 패스 탐지, 그리고 Stage 3 VLM 보강

특히 Stage 3은 저신뢰 문자 수에 거의 비례해 비용이 증가합니다.

검수 포인트
bbox, 후보 문자, 최종 문자, 그룹 분류

사람이 개입해야 할 지점이 명확히 보이도록 설계돼 있습니다.

컴퓨팅 조건과 시간 해석

POC 장비

Mac Studio급 Apple Silicon은 로컬 실험과 모델 조합 검증에는 적합합니다. 특히 통합 메모리가 커서 대형 모델을 억지로라도 올려보는 POC엔 유리합니다.

현재 자동 구간 시간 감각

현재 자동 경로의 페이지당 처리시간은 이 화면에서 확정 수치로 적지 않았습니다. 코드 구조상 Stage 1 다중 패스 탐지가 가장 무거운 구간인 것은 확인되지만, 안정된 동일 샘플 실측표가 repo 안에 정리돼 있지 않아 시간은 별도 벤치마크 후 적는 것이 맞습니다.

VLM 포함 시 시간 해석

방법론 문서에는 저신뢰 2,087개가 Stage 3 후보로 남는 예시가 있습니다. 다만 현재 자동 경로에는 Stage 3이 연결돼 있지 않으므로, 이 화면에서는 페이지당 총 처리시간을 단정하지 않고 'VLM은 문자 수에 비례해 비용이 커지는 보강 단계'까지만 사실로 적었습니다.

필수 하드웨어 관점

POC 장비가 Mac Studio M3 Ultra 256GB인 것은 실환경으로 확인했습니다. 또한 현재 Ollama에 `qwen3.5:122b`, `qwen2.5vl:32b`, `qwen2.5vl:7b` 등이 실제 적재돼 있습니다. 다만 서버 이전 시 필요한 정확한 GPU 스펙은 이 repo 내부 실측만으로 확정할 수 없어, 이 화면에서는 '122B 기본 설정은 POC 친화적이지 않다' 수준으로만 적었습니다.

결론

POC to serving
Conclusion 1

Mac Studio는 POC와 모델 조합 검증 장비로는 적합하지만, 운영 서빙의 종착지는 아닙니다.

Conclusion 2

실서비스 자동 경로는 Stage 1~2를 기본으로 두고, Stage 3 VLM은 저신뢰 재처리 큐나 검수 보조로 분리하는 편이 현실적입니다.

Conclusion 3

운영 서버 스펙은 별도 실측 벤치마크 후 확정해야 하며, 현재 개요에는 검증된 코드/설정 사실만 반영했습니다.

Conclusion 4

즉 결론은 '맥스튜디오에서 방법론과 기준을 검증하고, 서버에서는 실측 기반으로 자동 경로와 보강 경로를 다시 분리 설계한다' 입니다.