docTR vs Surya2: 영수증 OCR
직접 비교 벤치마크 (2026)
마지막 검토: 2026-08-18 · 실행 등급: 공식 · 1차 직접 비교 벤치마크 · 2개 엔진 × 2개 영수증 데이터셋
이 페이지의 범위 외: 영수증 이외의 문서 유형 — 표, 양식, 송장, 계약서 또는 긴 문서는 포함되지 않습니다. Surya2가 마케팅하는 강점은 여기서 측정되지 않습니다. 클라우드/API OCR 서비스, 다른 오픈소스 엔진, 미세 조정 모델, CER/WER 외의 전체 텍스트 지표는 범위 밖입니다. 전체 8개 엔진 비교는 전통 OCR vs 문서 파싱 VLM에서 확인할 수 있습니다.
이 페이지의 모든 수치의 범위: 영수증, 단일 GPU 등급, 2026년 8월 모델 버전. 이 결과를 송장, 표 또는 복잡한 레이아웃에 외삽하지 마세요 — 벤치마크는 영수증 OCR와 영수증 필드 추출만 측정합니다. 모든 수치는 벤치마크의 results/summary_metrics.csv 및 results/field_method_comparison.csv에서 제공되며, 공개 GitHub 저장소에 미러링되어 행별로 인용됩니다.
벤치마크에서 가장 우수한 두 텍스트 인식기는 영수증 문자 정확도에서 통계적으로 동률입니다. 하나는 기존 OCR 엔진이고, 다른 하나는 문서 파싱 VLM입니다. SROIE 2019 문자 오류율(CER)은 docTR이 0.1971, Surya2가 0.1915로, 0.006 포인트 차이에 불과합니다. 두 엔진은 필드를 추출하도록 요청할 때만 차이를 보입니다. 고정된 정규표현식(regex) 패턴을 통해, Surya2의 대소문자 구분 없이 레이블이 구조화된 출력은 docTR의 깨끗하지만 원시적인 줄 텍스트 대비 4.2배 높은 속도로 필드를 추출합니다. LLM 후처리기를 추가하면 차이는 거의 사라집니다. 필드 값 F1은 docTR 0.6171, Surya2 0.6139입니다. 이 두 엔진의 실제 결정적 차이는 작동 범위에 있습니다. 동일한 하드웨어에서 docTR은 지연 시간이 24.5배 낮고, 처리량이 37배 높으며, 1,000페이지당 비용이 22배 저렴합니다.
한 쌍의 숫자로 요약하면 다음과 같습니다. docTR은 영수증 페이지를 p50 기준 108.7ms에 읽고, 1,000페이지당 $0.048의 비용이 듭니다. 반면 Surya2는 p50 기준 2,668.0ms에 읽고, 1,000페이지당 $1.061의 비용이 듭니다. 동일한 영수증, 동일한 테스트 분할, 동일한 RTX 4090 환경에서의 결과입니다. 어느 엔진이 "승리"하는 것이 아니라, 각각 다른 축에서 승리합니다. 이 페이지의 목적은 동일한 통제된 실행에서 두 축 모두를 보여주는 것입니다.
문자 오류율(CER)은 고전적인 OCR 측정 기준입니다: 삽입, 삭제, 대체를 정답 문자 수로 나눈 값으로, CER 0.197은 100자당 약 19.7자가 잘못 인식됨을 의미합니다. 단어 오류율(WER)은 동일한 편집 거리 계산을 단어 단위로 적용합니다. 이 두 엔진이 구분할 수 없게 동일한 수준을 보이는 영역입니다.
SROIE 2019 벤치마크에서 docTR과 Surya2는 가장 강력한 두 문자 인식기로, 0.006점 차이로 분리되어 있습니다. 이는 361개 샘플 코퍼스의 노이즈 밴드 내에 있습니다. WER도 같은 이야기를 전합니다: Surya2 0.2735, docTR 0.3199. "VLM이 기존 OCR를 능가한다"는 서사는 영수증의 원시 문자 정확도에서 이 비교를 견디지 못합니다.
문자 정확도: 통계적 동률
이 동률이 중요한 이유는 두 엔진이 아키텍처적으로 정반대이기 때문입니다. docTR은 두 단계로 구성된 전통적인 신경망 OCR 파이프라인입니다: 감지기가 단어를 위치를 파악하고 인식기가 이를 전사하여 인쇄된 텍스트의 원래 대소문자와 레이아웃을 보존합니다. Surya2는 문서 파싱 비전-언어 모델(VLM)입니다: 전체 문서 이미지를 읽고 이해한 텍스트를 출력합니다. 이는 대소문자가 통합되고, 레이블/값 쌍이 병합되며, 줄이 재정렬된 것으로, 하위 시스템이 원하는 것에 더 가깝지만 정확한 문자 일치와는 거리가 멉니다. CER은 정확한 문자 일치를 평가하므로 Surya2에 대해 약간 보수적입니다. 이러한 비대칭성에도 불구하고 동률이 유지된다는 사실이 의미 있는 이유입니다.
| 지표 (SROIE 2019, n=361) | docTR | Surya2 | 출처 |
|---|---|---|---|
| 문자 오류율 (CER) | 0.1971 | 0.1915 | summary_metrics.csv · cer, doctr/sroie_2019 및 surya2/sroie_2019 행 |
| 단어 오류율 (WER) | 0.3199 | 0.2735 | summary_metrics.csv · wer, 동일 행 |
표: summary_metrics.csv — cer 및 wer 열, sroie_2019 행. 정확한 값: docTR cer 0.19707 / wer 0.31990; Surya2 cer 0.19147 / wer 0.27352. 낮을수록 좋으며, 두 실행 모두 error_rate 0.0으로 완료되었습니다.
차이점: 기본 제공 필드 추출이 결과를 뒤집다
엔진들의 원시 텍스트를 동일한 고정 정규표현식 패턴으로 SROIE 영수증의 네 가지 필드에 대해 벤치마킹합니다 — 전통적인 OCR + 규칙 기반 핵심 정보 추출(KIE) 접근 방식 — 이 경우 순위가 뒤집힙니다: Surya2는 0.3183 필드 F1을 기록하며 docTR의 0.0766보다 4.2배 높은 성능을 보입니다. docTR은 8개 엔진 테스트에서 최고 수준의 문자 정확도를 보이지만 정규표현식 필드 추출 성능은 가장 낮습니다 — 텍스트 정확도와 필드 정확도는 서로 독립적입니다.
필드 값 F1은 추출된 필드 값을 기준 데이터와 비교하여 정밀도와 재현율의 조화 평균입니다: 1.0은 모든 영수증 필드가 완벽하게 복원됨을 의미하고, 0은 아무것도 추출되지 않음을 의미합니다. 순위 뒤집힘의 메커니즘은 앞서 설명한 출력 형태의 차이입니다. 정규표현식은 RM 12.00이나 14/08/2020과 같은 형식화된 값을 위해 작성되었습니다; Surya2의 정규화되고 레이블이 구조화된 출력은 이러한 패턴과 훨씬 더 자주 일치하는 반면, docTR의 원시 줄 텍스트 — CER 기준으로는 정확하지만 원래 대소문자와 구분자 노이즈가 포함되어 있어 — 패턴 매칭을 실패합니다. "정규표현식 필드 추출" 열은 벤치마크의 postprocessed_sroie_receipt_regex_* 지표입니다: 이는 OCR 텍스트 + 후속 규칙 기반 추출을 측정하며, 고유한 구조화된 출력을 측정하지 않습니다.
출처: field_method_comparison.csv — regex_field_value_f1 / llm_field_value_f1 열, sroie_2019 행. LLM 후처리기: deepseek-v4-flash. 엔진당 361개 샘플 (llm_ok_count).
| 정규표현식 후처리 (SROIE 2019, n=361) | docTR | Surya2 | 출처 |
|---|---|---|---|
| 필드 값 F1 | 0.0766 | 0.3183 | field_method_comparison.csv · regex_field_value_f1, doctr/sroie_2019 및 surya2/sroie_2019 행 |
| 필드 값 정확도 | 0.0623 | 0.2999 | field_method_comparison.csv · regex_field_value_accuracy, 동일 행 |
| 문서 필드 완전 일치 | 0.0000 | 0.0194 | field_method_comparison.csv · regex_document_fields_exact, 동일 행 |
표: field_method_comparison.csv — regex 열, sroie_2019 행. 이는 각 엔진의 OCR 텍스트에 고정 패턴을 적용한 postprocessed_sroie_receipt_regex_* 지표입니다. docTR의 regex 필드 F1 0.0766은 두 번째로 낮은 CER에도 불구하고 기본 실행에서 8개 엔진 중 가장 낮습니다.
LLM 레버: 엔진 선택이 중요하지 않게 되다
두 엔진의 OCR 텍스트를 구조화된 추출 프롬프트와 함께 LLM 후처리기(deepseek-v4-flash, temperature 0)에 입력하면, 필드 격차는 거의 사라집니다: docTR 0.6171 대 Surya2 0.6139 필드 F1 — 전통 엔진의 0.003점 차이, 실질적으로 동점입니다. 결정적인 구성 요소는 OCR 엔진이 아닌 후처리기가 됩니다.
이는 전체 8개 엔진 벤치마크에서 나타나는 동일한 패턴입니다: LLM 후처리는 의미를 이해하여 문자 모양을 매칭하는 대신, 건강한 엔진들을 수렴하는 필드 F1 대역으로 끌어올립니다. docTR의 더 깨끗한 기본 텍스트가 근소하게 앞서지만, Surya2의 정규화된 구조는 LLM 하에서 그 미세한 이점을 잃습니다. 이 레버에는 두 가지 비용이 따릅니다: LLM 호출은 OCR 시간 외에 문서당 중간값 지연 시간을 대략 2.0–2.3초 추가하며, 엔진이 근본적으로 읽지 못한 텍스트를 구제하지는 않습니다.
| LLM 후처리 (SROIE 2019, n=361) | docTR | Surya2 | 출처 |
|---|---|---|---|
| 필드 값 F1 (LLM) | 0.6171 | 0.6139 | field_method_comparison.csv · llm_field_value_f1, doctr/sroie_2019 및 surya2/sroie_2019 행 |
| 필드 값 정확도 (LLM) | 0.6170 | 0.6136 | field_method_comparison.csv · llm_field_value_accuracy, 동일 행 |
| 문서 필드 정확 (LLM) | 0.1496 | 0.1551 | field_method_comparison.csv · llm_document_fields_exact, 동일 행 |
| 중간값 LLM 지연 시간 (ms) | 1,996.3 | 2,261.7 | field_method_comparison.csv · llm_median_latency_ms, 동일 행 |
표: field_method_comparison.csv — llm_* 열, sroie_2019 행. LLM 모델: deepseek-v4-flash, temperature 0. LLM 지연 시간은 API 발생이며 엔진 지연 시간과 별개입니다(summary_metrics.csv latency_p50_ms).
작동 범위: 실제 차이가 드러나는 곳
문자 정확도는 동률이고, 필드 정확도는 LLM에서 수렴하지만, 숫자가 완료되지 않으면 일괄 파이프라인은 어느 쪽도 신경 쓰지 않습니다. 동일한 RTX 4090에서 동일한 기록된 $0.76/hr 요율로, docTR은 페이지당 108.7 ms p50으로 449.3페이지/분을 유지하며 1,000페이지당 $0.048의 비용이 듭니다. Surya2는 페이지당 2,668.0 ms p50으로 12.1페이지/분을 유지하며 1,000페이지당 $1.061의 비용이 듭니다. 이는 37배의 처리량 격차, 24.5배의 지연 시간 격차, 그리고 22.2배의 비용 격차입니다. Surya2의 속도에 맞춰 설계된 파이프라인은 docTR의 속도에 맞춰 설계된 것과는 완전히 다른 아키텍처 논의입니다.
비용은 벽시계 실행 시간 × RunPod RTX 4090 요율을 기준으로 계산되며, 모델 초기화 비용이 포함됩니다. 이는 실제로 지불하게 되는 GPU 시간 비용입니다. 처리량은 동일한 초기화를 포함한 벽시계 기준 페이지/분입니다. 지연 시간 p50/p95는 모델 로딩을 제외하고, 모델을 워밍업한 후 측정한 안정 상태의 페이지당 추론 시간입니다. Surya2의 꼬리 지연 시간은 상대적으로 더 나쁩니다. VLM 프리필/디코딩 스파이크가 첫 페이지에서 꼬리 지연을 지배하기 때문에, docTR의 281.4 ms에 비해 p95가 5,872.2 ms입니다.
출처: summary_metrics.csv — latency_p50_ms 열, sroie_2019 행. docTR 108.7166, Surya2 2667.9800. 안정 상태 지연 시간.
출처: summary_metrics.csv — cost_per_1000_pages 열, sroie_2019 행. docTR 0.0479, Surya2 1.0609. 비용 = 벽시계 실행 시간 × $0.76/hr, 실행 매니페스트에 가격 타임스탬프 기재.
| 작동 범위 (SROIE 2019, n=361) | docTR | Surya2 | 출처 |
|---|---|---|---|
| 지연 시간 p50 (ms) | 108.7 | 2,668.0 | summary_metrics.csv · latency_p50_ms, doctr/sroie_2019 및 surya2/sroie_2019 행 |
| 지연 시간 p95 (ms) | 281.4 | 5,872.2 | summary_metrics.csv · latency_p95_ms, 동일 행 |
| 분당 페이지 수 | 449.3 | 12.1 | summary_metrics.csv · pages_per_minute, 동일 행 |
| 1,000페이지당 비용 | $0.048 | $1.061 | summary_metrics.csv · cost_per_1000_pages, 동일 행 |
표: summary_metrics.csv — latency_p50_ms / latency_p95_ms / pages_per_minute / cost_per_1000_pages, sroie_2019 행. 두 엔진 모두 GPU 사용; 비용에는 모델 초기화 비용이 포함되며, 순수 정상 처리량 기준은 아닙니다. 정확한 값: docTR p50 108.7 / p95 281.4 / 449.3 pg/min / $0.0479; Surya2 p50 2668.0 / p95 5872.2 / 12.1 pg/min / $1.0609.
CORD: 두 엔진 모두 붕괴, 프로토콜에 의해 격리됨
두 엔진 모두 인도네시아 영수증을 주로 학습하지 않았으므로, CORD v2는 교차 언어 스트레스 테스트로 기능합니다 — 그리고 두 엔진 모두 붕괴합니다: CER 0.8959 (Surya2) 및 0.9101 (docTR). 벤치마크 프로토콜에 따라, CORD 수치는 SROIE 비교에서 격리됩니다 — 어떤 순위에도 병합되지 않습니다 — 왜냐하면 CORD의 ground-truth 텍스트에 주석 구조가 포함되어 있어, 실제 언어 불일치 위에 모든 엔진의 원시 CER을 부풀리기 때문입니다.
필드 지표에서도 SROIE와 동일한 패턴이 압축되어 나타납니다: 정규표현식 패턴을 통해 docTR은 필드를 하나도 복구하지 못합니다 영어 형식 패턴이 인도네시아어 텍스트에서 일치하는 것이 없었기 때문이며, 반면 Surya2의 정규화된 출력은 0.2458을 기록합니다. 그런 다음 LLM이 이 쌍을 0.5500 (docTR) 및 0.5203 (Surya2)로 재수렴시킵니다 — 언어 충격은 엔진이 아닌 후처리기에 의해 흡수됩니다. CORD는 언어 견고성 맥락을 위해 여기에 인용되며, 의도적으로 SROIE 수치와 단일 리더보드로 결합되지 않습니다.
| CORD v2, 인도네시아 영수증 (n=100) | docTR | Surya2 | 출처 |
|---|---|---|---|
| 문자 오류율 (CER) | 0.9101 | 0.8959 | summary_metrics.csv · cer, doctr/cord_v2 및 surya2/cord_v2 행 |
| 필드 값 F1 | 0.0000 | 0.2458 | field_method_comparison.csv · regex_field_value_f1, 동일 행 |
| 필드 값 F1 (LLM) | 0.5500 | 0.5203 | field_method_comparison.csv · llm_field_value_f1, 동일 행 |
표: summary_metrics.csv (cer) 및 field_method_comparison.csv, cord_v2 행. 이 수치를 어떤 SROIE 순위에도 병합하지 마십시오: CORD CER는 실제 언어 불일치와 ground-truth의 주석 구조로 인한 부풀림을 결합합니다; 정규표현식 패턴은 영어 형식용으로 작성되었습니다. docTR의 정규표현식 필드 값 F1 0.0000은 CSV에 기록된 리터럴 제로이며, 결측 값이 아닙니다.
승부처: 요약 격자
"더 나은" 것은 작업 부하에 따라 다릅니다. 이 두 엔진은 축을 명확히 나누고 있으며, 그 구분이 바로 발견입니다: 문자 정확도는 동률이고, 구조화된 필드 편의성은 Surya2가 앞서며, 모든 비용/지연 시간/처리량 축은 docTR이 앞서고, LLM 후처리기를 사용하면 최종 필드 품질에 있어 엔진 선택은 거의 무의미해집니다.
자주 묻는 질문
Surya2가 영수증 처리에서 docTR보다 더 정확한가요?
아니요 — 원시 문자 정확도에서는 통계적으로 동일합니다: SROIE CER 0.1915 (Surya2) 대 0.1971 (docTR), 0.006 포인트 차이. 차이가 나는 부분은 기본 제공되는 구조화된 필드 출력(Surya2가 정규표현식(regex)으로 4.2배 우위)과 운영 환경입니다.
docTR이 문자 정확도는 가장 좋지만 정규표현식 필드 추출은 왜 가장 나쁜가요?
두 지표가 서로 다른 출력을 평가하기 때문입니다. docTR은 깔끔한 원시 라인 텍스트를 반환합니다 — 원래 대소문자와 구분자를 보존 — 그리고 포맷된 값을 위해 작성된 고정 정규표현식 패턴은 대부분 실패합니다: SROIE 정규표현식 필드 값 F1은 0.0766으로, 기본 실행의 8개 엔진 중 가장 낮으며, 두 번째로 좋은 CER(0.1971)과 대조됩니다(summary_metrics.csv cer, field_method_comparison.csv regex_field_value_f1). Surya2의 대소문자 무시, 레이블 구조화 출력은 우연히 0.3183의 패턴 일치율을 보입니다. 둘 다 LLM에 대신 입력하면 차이는 0.003으로 줄어듭니다 — 병목은 OCR이 아니라 정규표현식이었습니다.
LLM 후처리기를 추가하면 docTR과 Surya2가 동등해지나요?
거의 정확히 동등해집니다 — SROIE에서 docTR 0.6171 대 Surya2 0.6139 LLM 필드 값 F1. 이 수렴의 비용은 문서당 중간값 LLM 지연 시간이 약 2.0~2.3초 추가되는 것입니다. 이는 동기적 페이지별 대기보다는 비동기적 일괄 처리에 적합합니다.
docTR이 Surya2보다 얼마나 빠르고 저렴한가요?
24.5배 낮은 p50 지연 시간, 37배 높은 처리량, 그리고 22.2배 낮은 1,000페이지당 비용입니다. 이는 동일한 RTX 4090에서 시간당 $0.76 기준입니다.
CORD 영수증에서 두 엔진 모두 왜 그렇게 낮은 점수를 받나요?
SROIE 순위와 별개로 벤치마크 프로토콜이 분리해 둔 두 가지 복합적인 원인이 있습니다: 진정한 언어 불일치와 CORD의 정답 텍스트 내 주석 구조의 과잉inflate — CER은 0.9101(docTR) 및 0.8959(Surya2)입니다. 필드 지표는 LLM이 추가되면 충격의 일부를 흡수하지만(0.5500 vs 0.5203), CORD 행은 인용되며 어떤 합산 순위에도 포함되지 않습니다.
영수증 파이프라인은 docTR과 Surya2 중 어떤 엔진을 선택해야 하나요?
파이프라인이 사용하는 기준에 따라 다릅니다. 대량의 원본 텍스트를 측정된 비용으로 처리하는 경우, docTR의 성능이 우위입니다. 후처리기 없이 구조화된 필드를 추출하는 경우, Surya2의 기본 정규표현식 F1(0.3183 vs 0.0766)이 더 나은 출발점입니다. LLM 후처리를 통한 최종 필드 품질을 고려하면 선택의 차이가 거의 없습니다(0.6171 vs 0.6139). 이 결과는 2026년 8월에 한 GPU 티어에서 영어 및 인도네시아 영수증에 대해 유효하며, 실제 운영 결정은 대상 코퍼스에서 다시 실행해야 합니다.
이 페이지의 수치는 어디서 가져온 것인가요?
모든 수치는 1차 벤치마크의 공개 CSV 파일의 행입니다 — results/summary_metrics.csv 및 results/field_method_comparison.csv — ImageToTableai/benchmark-ocr에 호스팅되며, 각 실행마다 환경 지문용으로 편집된 manifest.json이 하나 있습니다. 데이터셋 정의는 아래에 인용된 SROIE 2019 및 CORD 논문에서 가져왔습니다.
방법론 및 출처
프로토콜
이 페이지는 독립적이고 재현 가능한 벤치마크 실행의 대조 결과를 보고합니다. 이는 제3자 주장에 대한 조사나 벤더 비교 페이지가 아닙니다. 고정된 테스트 분할만 사용합니다: SROIE 2019 테스트 및 CORD v2 테스트; 학습 분할은 평가되지 않았습니다. 두 엔진 모두 동일한 이미지, 동일한 정답, 동일한 측정 프로토콜을 사용했습니다. 두 실행 모두 오류율 0.0로 완료되었습니다. 기본 실행에는 총 8개의 엔진이 포함되어 있으며, 이 페이지는 지정된 두 엔진만 비교하며, 전체 8개 엔진 결과는 Traditional OCR vs Document Parsing VLMs에서 별도로 공개됩니다.
런타임 환경
- 하드웨어: 두 엔진 모두 동일한 NVIDIA RTX 4090(24GB)에서 실행되었습니다. GPU 비용은 RunPod 온디맨드 요금인 $0.76/hr로 계산되었으며, 가격은 각 실행의 마니페스트에 타임스탬프가 찍혀 있습니다.
- 엔진: 기본 설정 그대로, 파인튜닝 없음. 버전 고정: docTR v1.0.1 및 Surya2 (surya-ocr 0.22.1)(문서 파싱 VLM, vLLM 서빙) — 공개 저장소 모델 테이블(README.md) 및 실행 마니페스트 기준.
- LLM 후처리기: 결정론적 출력을 위한 temperature 0의 API를 통한 deepseek-v4-flash; 두 엔진의 모든 LLM 필드 행에 사용된 단일 모델.
- 비용 기준: 벽시계 실행 시간 × $0.76/hr, 모델 초기화 포함 — 일괄 처리는 페이지당 비용을 낮춥니다.
- 필드 후처리: SROIE 정규표현식 필드 지표는
postprocessed_sroie_receipt_regex_*입니다. 이는 고정된 패턴 세트에 의해 OCR 텍스트에서 추출된 필드입니다. 이는 두 모델의 기본 구조화된 출력이 아닌 OCR + 후속 추출을 측정합니다. LLM_* 열은 OCR 텍스트 + LLM 추출을 측정합니다. 두 파이프라인은 절대 혼합되지 않습니다.
지표 정의
- CER: OCR 텍스트와 정답 간의 편집 거리를 정답 문자 수로 나눈 값. 낮을수록 좋음. 대소문자 및 형식 규칙에 민감함 — Surya2의 정규화된 출력에 대해 약간 보수적임.
- WER: 단어 단위의 동일한 편집 거리 계산.
- 필드 값 F1 (regex): OCR 텍스트에 고정 정규표현식 패턴을 사용하여 추출된 필드 값에 대한 정밀도/재현율 조화 평균. 열: regex_field_value_f1. 점수가 0이면 필드 값을 복구하지 못함을 의미.
- 필드 값 F1 (LLM): LLM 후처리기 출력에 대한 동일한 지표. 열: llm_field_value_f1. 두 파이프라인은 다르며 절대 혼합되지 않음.
- 문서 필드 정확 일치: 모든 대상 필드가 정확히 일치한 문서의 비율 — 필드별 F1보다 훨씬 엄격한 기준.
- 지연 시간 p50/p95 및 페이지/분: 안정 상태의 페이지별 추론 시간 및 모델 초기화를 포함한 실제 처리량.
- 1,000페이지당 비용: 기록된 $0.76/hr 요율로 1,000페이지에 대한 과금된 GPU 시간.
출처 목록
- summary_metrics.csv (GitHub raw). 16행 = 8개 모델 × 2개 데이터셋. 열: model, compute_type, dataset, cer, wer, field_f1_regex, field_acc_regex, latency_p50_ms, latency_p95_ms, cost_per_1000_pages, pages_per_minute, error_rate. 이 페이지의 모든 CER/WER, 지연 시간, 비용, 처리량 수치는 여기의 doctr 및 surya2 행으로 추적됨.
- field_method_comparison.csv (GitHub raw). 16행; 열 model, dataset, llm_model (= deepseek-v4-flash), regex/llm 필드 값 정확도 및 F1, document-fields-exact, llm_median_latency_ms, 토큰 수. 모든 regex/LLM 필드 F1 수치는 여기의 doctr 및 surya2 행으로 추적됨.
- ImageToTableai/benchmark-ocr 저장소. 결과 CSV, 비식별화된 실행 매니페스트, 고정된 프로토콜 및 재현을 위한 데이터셋 샘플 목록을 호스팅하는 공개 저장소.
- results/manifests/ (GitHub). 게시된 각 실행에 대한 비식별화된 manifest.json으로, 모델 버전, GPU/드라이버, torch/CUDA/Python 버전, 가격 타임스탬프가 포함된 비용 메타데이터 및 아티팩트 해시를 포함.
- Huang et al., "ICDAR2019 Competition on Scanned Receipt OCR and Information Extraction" (2019). SROIE 2019 데이터셋 정의, 작업 구조 및 라이선스(CC-BY-4.0).
- Park et al., "CORD: A Consolidated Receipt Dataset for Post-OCR Parsing" (2020). CORD v2 데이터셋 정의, 중첩 필드 스키마 및 라이선스(CC-BY-4.0).
한계점
- 문서 범위 — 영수증만 해당: SROIE + CORD. 여기서는 문서 파싱 VLM이 가장 큰 장점으로 내세우는 레이아웃/테이블/수식/긴 문서 처리를 측정하지 않습니다. Surya2가 마케팅하는 강점은 측정되지 않았습니다. 이 페이지를 근거로 "docTR이 모든 면에서 우수하다"는 결론을 내리지 마십시오.
- 표본 크기: 영어 361건 + 인도네시아어 100건의 영수증. 필드 값 F1과 CER은 말뭉치에 민감합니다. 소수점 이하 몇 자리의 한 자릿수 차이는 노이즈로 간주해야 하며, 엔지니어링적 사실로 취급해서는 안 됩니다.
- 단일 GPU 등급 및 단일 가격: 모든 수치는 RTX 4090 1대, 시간당 $0.76 기준이며, 가격은 실행 매니페스트에서 2026년 8월로 타임스탬프가 찍혀 있습니다. 다른 GPU, 다중 GPU 서버링, 일괄 스케줄링 또는 가격 변동은 지연 시간, 처리량 및 비용을 변경할 것입니다 — 예산 편성 전 현재 요금으로 비용을 다시 산출하십시오.
- 단일 LLM 후처리기: 모든 LLM 행은 temperature 0의 deepseek-v4-flash를 사용합니다. 다른 LLM은 절대적인 필드 F1을 변경하며, 수렴 순서는 경계에서 변동될 수 있습니다. LLM 지연 시간은 API로 인한 것이며, 어느 엔지니어리自身的 지연 시간에 포함되지 않습니다.
- 정규표현식 튜닝: 패턴 세트는 데이터셋당 한 번 작성되었습니다. 형식별로 심하게 튜닝된 패턴 라이브러리는 자체 레이아웃에서 더 높은 점수를 받을 수 있습니다 — LLM이 제거하는 유지보수 비용을 감수하면서.
- CORD CER는 모델별 품질 측정치가 아닙니다: CORD 기준 데이터는 주석 구조를 포함하고 있으며, 두 엔진 모두 인도네시아어를 주로 학습하지 않았습니다. CORD CER(0.90–0.91)는 언어 불일치 + 기준 데이터 과대 평가를 반영합니다. CORD 행은 맥락을 포함하여 인용되며, 어떤 SROIE 순위에도 합쳐지지 않습니다.
- VLM에 대한 CER 공정성: CER는 정확한 문자 일치를 측정하므로, Surya2의 대소문자 통합 및 레이블 병합 출력은 오독이 아닌 출력 관례로 인해 약간의 불이익을 받습니다. 따라서 CER 동점은 Surya2를 약간 과소 평가하며, 필드 지표가 더 공정한 패밀리 간 비교 기준입니다.
- 두 엔진만 해당: 이 대결은 기본 실행의 다른 6개 엔진, 클라우드/API OCR 서비스 및 호스팅된 VLM API를 의도적으로 제외합니다. 이들의 지연 시간 및 가격 모델은 여기서 측정된 로컬 엔진과 근본적으로 다릅니다.
- 버전 고정: 결과는 docTR v1.0.1 및 Surya2 0.22.1에 유효합니다. 어느 엔진의 최신 릴리스도 이 페이지의 모든 수치를 변경할 수 있습니다.
관련 참고 자료: Traditional OCR vs Document Parsing VLMs · Regex vs LLM Field Extraction · Field-Level vs Character-Level Accuracy · Receipt OCR Accuracy
관련 읽을거리: AI OCR vs Traditional OCR Accuracy · AI Image Data Extraction vs Traditional OCR · AI Document Extraction Pricing (2026)