PaddleOCR vs EasyOCR 영수증 인식
정확도 vs 비용 벤치마크 (2026)
마지막 검토: 2026-08-18 · 실행 등급: 공식 · 1차 독자 대조 벤치마크 · 2개 엔진 × 2개 영수증 데이터셋
이 페이지의 범위 외: 영수증 이외의 모든 문서 유형 — 표, 양식, 청구서, 계약서 또는 긴 문서는 포함되지 않습니다. 클라우드/API OCR 서비스, 미세 조정된 엔진, 그리고 벤치마크의 나머지 6개 엔진(Tesseract, docTR, Docling, Surya2, Unlimited-OCR, PaddleOCR-VL)은 순위 맥락으로 인용되는 경우를 제외하고 범위 밖입니다. 전체 8개 엔진 요약은 기존 OCR vs 문서 파싱 VLM에 있습니다.
범위 설명: 이 페이지의 모든 수치는 영수증에만 적용됩니다 — SROIE 2019 영어 영수증 및 CORD v2 인도네시아어 영수증. 하드웨어 등급 1개, LLM 후처리기 1개(deepseek-v4-flash, temperature 0), 고정 모델 버전(PaddleOCR 3.7.0, EasyOCR 1.7.2). 이 결과를 다른 문서 유형, GPU 또는 LLM으로 외삽하지 마십시오 — 벤치마크는 영수증 OCR 및 영수증 필드 추출만 측정합니다. 모든 수치는 벤치마크의 results/summary_metrics.csv 및 results/field_method_comparison.csv에서 가져왔으며, 공개 GitHub 저장소에 미러링되어 행별로 인용됩니다.
깨끗한 영어 영수증에서 현대적인 2단계 아키텍처의 이점은 명확합니다 — 이전의 docTR-vs-Surya2 대결처럼 동점이 아닙니다. PaddleOCR은 SROIE 2019에서 모든 정확도 지표에서 EasyOCR을 앞섭니다: CER 0.2045 대 0.2833, WER 0.3256 대 0.6158, 정규식 필드 F1 0.3254 대 0.1477, LLM 후처리 필드 F1 0.5810 대 0.3717. 하지만 교환은 거기서 끝나지 않습니다: EasyOCR은 1,000페이지당 약 2배 저렴하고, 실제 처리량이 더 빠르며, p95 꼬리 구간이 더 좁습니다 — 동일한 LLM 후처리기에 입력된 텍스트는 벤치마크의 8개 엔진 중 어떤 것보다 필드 추출 성능이 떨어지는데, 이 역설은 이 페이지에서 원본 데이터 행으로 기록하고 있습니다.
교환은 한 쌍의 숫자로 요약됩니다: PaddleOCR은 문자 오류가 28% 적게 영수증을 읽고 정규식을 통해 2.2배 많은 필드를 추출하며 1,000페이지당 $0.221의 비용이 듭니다; EasyOCR은 더 많은 오류로 읽지만 1,000페이지당 $0.110 — 동일한 RTX 4090, 동일한 테스트 분할, 동일한 영수증에서 GPU 비용이 대략 절반입니다. 어느 엔진도 "승리"하지 않습니다; 서로 다른 축에서 승리하며, 이 페이지의 요점은 동일한 통제된 실행에서 두 축 모두를 보여주는 것입니다 — 직관에 반하는 LLM 후속 결과를 포함합니다.
두 엔진은 딥러닝 OCR의 두 세대를 대표합니다. PaddleOCR는 현대적인 2단계 파이프라인입니다: 감지 단계가 텍스트 영역을 위치를 파악한 후 인식 단계가 이를 전사합니다 — 대규모 인쇄 텍스트에서 높은 정확도를 위해 설계되었습니다. EasyOCR는 클래식 단일 패스 CNN + RNN + CTC 인식기입니다 — ResNet 특징 추출기가 시퀀스 모델에 데이터를 공급하고 연결주의 시간 분류(Connectionist Temporal Classification)로 디코딩됩니다. 매우 광범위한 언어 및 문자 지원과 간단한 설치로 유명합니다. 문자 오류율(CER)은 삽입, 삭제, 대체를 정답 문자 수로 나눈 값입니다 — CER 0.204는 100자당 약 20.4자가 잘못 읽혔음을 의미합니다. 단어 오류율(WER)은 동일한 편집 거리 논리를 전체 단어 수준에 적용합니다. 둘 다 낮을수록 좋습니다.
SROIE 텍스트 정확도: PaddleOCR의 명확한 우위
SROIE 2019 테스트 분할의 361개 영수증에서 현대 아키텍처가 두 텍스트 지표 모두에서 승리합니다: CER 0.2045 대 0.2833 및 WER 0.3256 대 0.6158 — EasyOCR의 WER은 거의 두 배입니다. WER 격차는 CER 격차보다 크며, 이는 이 말뭉치에서 EasyOCR이 문자 수준의 실수를 전체 단어 실패로 증폭시킴을 시사합니다. 두 엔진 모두 오류 없이 실행됩니다.
출처: summary_metrics.csv — cer 및 wer 열, sroie_2019 행. PaddleOCR cer 0.20449 / wer 0.32563; EasyOCR cer 0.28327 / wer 0.61578. 낮을수록 좋습니다. 엔진당 361개 샘플; 모두 error_rate 0.0.
| 지표 (SROIE 2019, n=361) | PaddleOCR | EasyOCR | 출처 |
|---|---|---|---|
| 문자 오류율 (CER) | 0.2045 | 0.2833 | summary_metrics.csv · cer, paddleocr/sroie_2019 및 easyocr/sroie_2019 행 |
| 단어 오류율 (WER) | 0.3256 | 0.6158 | summary_metrics.csv · wer, 동일 행 |
| 오류율 | 0.0 | 0.0 | summary_metrics.csv · error_rate, 동일 행 |
표: summary_metrics.csv — cer / wer / error_rate 열, sroie_2019 행. 정확한 값: PaddleOCR cer 0.20449 / wer 0.32563; EasyOCR cer 0.28327 / wer 0.61578. CER/WER가 낮을수록 좋습니다. 두 엔진 모두 벤치마크의 전반적인 정확도 챔피언은 아닙니다 — 그 타이틀은 동일한 8엔진 실행에서 Surya2(CER 0.1915)와 docTR(CER 0.1971)에게 돌아갑니다.
필드 추출: 정규식 및 LLM을 통한 KIE
텍스트 정확도는 엔진의 순위를 매기지만, 필드 추출은 실제 하위 시스템이 소비하는 것입니다. 벤치마크의 SROIE 필드 지표는 각 엔진의 OCR 텍스트에 두 가지 후처리기를 사용하여 네 가지 단순 영수증 필드를 대상으로 합니다: 고정된 정규식 패턴과 구조화된 프롬프트를 사용한 LLM 후처리기(deepseek-v4-flash, temperature 0)입니다. 정규식을 통해 PaddleOCR은 0.3254 필드 F1로 필드를 추출하여 EasyOCR의 0.1477보다 2.2배 높은 성능을 보입니다. LLM을 통해서도 격차는 0.5810 대 0.3717로 지속됩니다.
필드 값 F1은 추출된 필드 값을 기준 데이터와 비교하여 정밀도와 재현율의 조화 평균입니다 — 1.0은 모든 영수증 필드가 완벽하게 복구됨을 의미하고, 0은 아무것도 없음을 의미합니다. SROIE 정규식 필드 열은 벤치마크의 postprocessed_sroie_receipt_regex_* 지표입니다: 각 엔진의 OCR 텍스트에 적용된 고정 패턴입니다. 순위 맥락을 참고하세요: PaddleOCR의 0.3254는 8엔진 벤치마크에서 세 번째로 좋은 정규식 필드 결과입니다 및 네 개의 순수 기존 엔진 중 가장 좋습니다; EasyOCR의 0.1477는 8개 중 7위를 차지합니다.
출처: 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) | PaddleOCR | EasyOCR | 출처 |
|---|---|---|---|
| 필드-값 F1 | 0.3254 | 0.1477 | field_method_comparison.csv · regex_field_value_f1, paddleocr/sroie_2019 및 easyocr/sroie_2019 행 |
| 필드-값 F1 (LLM) | 0.5810 | 0.3717 | field_method_comparison.csv · llm_field_value_f1, 동일 행 |
| 필드-값 정확도 (LLM) | 0.5810 | 0.3712 | field_method_comparison.csv · llm_field_value_accuracy, 동일 행 |
| 모든 필드 정확한 문서 비율 (LLM) | 0.0748 | 0.0028 | field_method_comparison.csv · llm_document_fields_exact, 동일 행 |
| LLM 후처리 중간 지연 시간 (ms) | 1,817.5 | 2,004.5 | field_method_comparison.csv · llm_median_latency_ms, 동일 행 |
표: field_method_comparison.csv — regex 및 llm 열, sroie_2019 행. regex 열은 postprocessed_sroie_receipt_regex_* 지표입니다: 각 엔진의 OCR 텍스트에 적용된 고정 패턴입니다. LLM 후처리기: temperature 0의 deepseek-v4-flash. LLM 지연 시간은 API로 인한 것이며 엔진 지연 시간과 별개입니다 (summary_metrics.csv latency_p50_ms). “모든 필드 정확한 문서 비율”은 모든 대상 필드가 정확히 일치한 문서의 비율입니다 — 필드별 F1보다 훨씬 엄격한 기준이며, EasyOCR은 영수증의 0.28%에서 네 가지 필드를 모두 정확히 맞춥니다.
EasyOCR LLM 역설: 중간 수준의 텍스트, 최악의 후속 추출
이 페이지에서 가장 독특한 데이터 포인트이며, 진정으로 직관에 반하는 결과입니다: EasyOCR의 OCR 텍스트는 문자 정확도 면에서 중간 수준입니다 — 그런데 이 텍스트를 다른 모든 엔진에 사용된 것과 동일한 LLM 후처리기에 입력하면, SROIE LLM 필드 F1이 0.3717로 벤치마크의 8개 엔진 중 가장 낮습니다 — CER이 더 나쁜(0.3347) CPU 엔진인 Tesseract(0.4389)보다도 낮습니다. OCR 텍스트만 변경되었으며, LLM, 프롬프트, 영수증은 동일했습니다.
관찰된 패턴, 메커니즘은 확인되지 않음. 타당한 가설 — 그 이상은 아닙니다 — 출력 형식 관례입니다: EasyOCR이 텍스트 줄을 배치, 결합 또는 분리하는 방식이 원시 문자 정확도와는 무관한 이유로 후속 LLM 필드 추출을 저해하는 것으로 보입니다. 벤치마크는 이 메커니즘을 분리하지 않았으며, 결과는 재현 가능하고 안정적인 것으로 여기에 기록되어 있습니다, 그러나 인과관계 주장은 하지 않습니다. 실용적인 함의는 마케팅 포장과 정반대입니다: 이 말뭉치에서 "충분히 좋은" 텍스트를 위해 EasyOCR을 선택하는 것은 테스트된 모든 엔진 중 최악의 LLM 후속 필드 복원을 감수하는 것을 의미합니다.
출처: field_method_comparison.csv — llm_field_value_f1, sroie_2019의 8개 행 전체, 각 361개 샘플 (llm_ok_count). 모든 엔진에 동일한 LLM 후처리기 사용: deepseek-v4-flash, temperature 0. CER 컨텍스트: summary_metrics.csv, cer 열, sroie_2019 행.
| 전체 8개 엔진, SROIE 2019 | SROIE CER | SROIE LLM 필드 F1 | 출처 |
|---|---|---|---|
| doctr | 0.1971 | 0.6171 | field_method_comparison.csv · doctr/sroie_2019 행, llm_field_value_f1 (cer: summary_metrics.csv) |
| surya2 | 0.1915 | 0.6139 | field_method_comparison.csv · surya2/sroie_2019 행, llm_field_value_f1 (cer: summary_metrics.csv) |
| unlimited_ocr | 0.6552 | 0.6054 | field_method_comparison.csv · unlimited_ocr/sroie_2019 행, llm_field_value_f1 (cer: summary_metrics.csv) |
| paddleocr_vl_vllm | 0.3370 | 0.5921 | field_method_comparison.csv · paddleocr_vl_vllm/sroie_2019 행, llm_field_value_f1 (cer: summary_metrics.csv) |
| PaddleOCR 3.7.0 | 0.2045 | 0.5810 | field_method_comparison.csv · paddleocr/sroie_2019 행, llm_field_value_f1 (cer: summary_metrics.csv) |
| docling | 0.5909 | 0.5685 | field_method_comparison.csv · docling/sroie_2019 행, llm_field_value_f1 (cer: summary_metrics.csv) |
| tesseract (CPU) | 0.3347 | 0.4389 | field_method_comparison.csv · tesseract/sroie_2019 행, llm_field_value_f1 (cer: summary_metrics.csv) |
| EasyOCR 1.7.2 | 0.2833 | 0.3717 | field_method_comparison.csv · easyocr/sroie_2019 행, llm_field_value_f1 (cer: summary_metrics.csv) |
표: field_method_comparison.csv — llm_field_value_f1, 모든 sroie_2019 행; CER 열은 summary_metrics.csv의 cer, sroie_2019 행에서 가져옴. EasyOCR의 CER(0.2833)은 8개 중 4위로 — 텍스트는 중간 수준이나 LLM 후속 필드 복구 성능이 가장 낮음. 이 역설은 관찰 및 재현 가능한 것으로 기록되었으며, 그 메커니즘은 이번 벤치마크에서 분리되지 않았습니다.
작동 범위: EasyOCR이 진정으로 경쟁력 있는 영역
정확도만이 유일한 기준은 아니며, 운영 측면에서 EasyOCR은 실질적이고 측정된 상대적 이점을 가지고 있습니다. 동일한 RTX 4090에서 동일한 $0.76/hr 요금으로 EasyOCR은 SROIE를 $0.110 per 1,000 pages로 처리하는 반면 PaddleOCR은 $0.221입니다. 처리 속도는 124.5 pages/min 대 79.7이며, 최악의 지연 시간도 좁게 유지됩니다: p95 960.4 ms 대 PaddleOCR의 3,331.4 ms 첫 페이지 스파이크. 배포도 더 간단하여, 광범위한 언어 지원을 갖춘 단일 PyTorch 런타임을 사용하는 반면 PaddlePaddle은 더 무거운 프레임워크 스택을 사용합니다.
하나의 명백한 모순은 솔직한 설명이 필요합니다: PaddleOCR은 더 낮은 페이지당 중간 지연 시간을 가지지만 더 낮은 페이지당 처리량을 보입니다. 이 두 수치는 서로 다른 시계를 측정합니다. 지연 시간 p50은 모델이 이미 로드된 상태에서의 안정 상태 페이지당 추론 시간이며, 페이지당 처리량은 모델 초기화와 배치 효과를 포함한 전체 실행의 벽시계 처리량입니다. EasyOCR의 더 작고 빠르게 로드되는 런타임이 벽시계 처리량 경쟁에서 승리하고, PaddleOCR의 페이지당 추론은 안정 상태에서 개별적으로 더 빠릅니다. 두 수치 모두 사실이며 서로 다른 것을 설명합니다. 모델 로드 오버헤드가 지배적인 작업은 EasyOCR의 벽시계 이점을 경험하는 반면, 안정된 장시간 실행 파이프라인은 PaddleOCR의 페이지당 이점을 경험할 것입니다.
비용은 벽시계 실행 시간 × RunPod RTX 4090 요금으로 계산되며, 모델 초기화를 포함합니다 — 실제로 지불할 GPU 시간 비용입니다. 처리량은 동일한 초기화를 포함한 벽시계 페이지당 처리량입니다. 지연 시간 p50/p95는 모델 로딩을 제외한 안정 상태 페이지당 추론 시간입니다. PaddleOCR의 p95 3,331 ms는 첫 페이지/프리필 스파이크이며 안정 상태 동작이 아닙니다.
출처: summary_metrics.csv — latency_p50_ms / latency_p95_ms 열, sroie_2019 행. PaddleOCR p50 296.99 / p95 3331.35; EasyOCR p50 413.64 / p95 960.37. 안정 상태 지연 시간.
출처: summary_metrics.csv — cost_per_1000_pages 열, sroie_2019 행. PaddleOCR 0.2214, EasyOCR 0.1098. 비용 = 벽시계 실행 시간 × $0.76/hr, 실행 매니페스트에 가격 타임스탬프. 어떤 엔진도 벤치마크에서 가장 저렴하지 않습니다 — docTR이 $0.048 per 1,000 pages로 보유.
| 작업 범위 (SROIE 2019, n=361) | PaddleOCR | EasyOCR | 출처 |
|---|---|---|---|
| 지연 시간 p50 (ms) | 297.0 | 413.6 | summary_metrics.csv · latency_p50_ms, paddleocr/sroie_2019 및 easyocr/sroie_2019 행 |
| 지연 시간 p95 (ms) | 3,331.4 | 960.4 | summary_metrics.csv · latency_p95_ms, 동일 행 |
| 분당 처리 페이지 수 | 79.7 | 124.5 | summary_metrics.csv · pages_per_minute, 동일 행 |
| 1,000페이지당 비용 | $0.221 | $0.110 | 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 사용; 비용에 모델 초기화 포함. 정확한 값: PaddleOCR p50 296.99 / p95 3331.35 / 79.71 pg/min / $0.2214; EasyOCR p50 413.64 / p95 960.37 / 124.53 pg/min / $0.1098. p50 대비 분당 페이지 수 역전 현상은 위 본문에서 설명됩니다: 정상 상태 페이지별 추론 대 초기화 및 배치 효과를 포함한 실시간 처리량.
CORD (인도네시아 영수증): 두 엔진 모두 붕괴, 그러나 PaddleOCR의 LLM 필드 복구는 살아남다
두 엔진 모두 인도네시아 영수증을 주로 학습하지 않았으므로, CORD v2는 교차 언어 스트레스 테스트로 기능합니다 — 그리고 두 엔진 모두 원시 CER에서 붕괴합니다: 0.9083 (PaddleOCR) 및 0.9185 (EasyOCR), 언어 불일치로 인해 두 엔진 모두 텍스트를 사실상 읽을 수 없는 상태입니다. 벤치마크 프로토콜에 따라, CORD 수치는 SROIE 비교에서 격리되어 유지됩니다 — 어떤 순위에도 합병되지 않습니다 — 왜냐하면 CORD의 ground-truth 텍스트에 주석 구조가 포함되어 있어, 모든 엔진의 원시 CER을 진정한 언어 불일치 위에 추가로 부풀리기 때문입니다.
필드 지표는 거의 동일한 CER과는 다른 이야기를 전달합니다. LLM 후처리를 통해, PaddleOCR의 필드 F1은 CORD에서 0.5527을 유지하는 반면 EasyOCR은 0.3378입니다 — 동일한 SROIE 패턴이 확장된 것입니다: PaddleOCR의 LLM 하위 복구는 EasyOCR의 것과는 달리 언어 충격을 견디며, 두 텍스트 인식기 모두 문자 수준에서 실패할 때조차도 마찬가지입니다. EasyOCR의 CORD LLM 필드 F1은 8개 엔진 중 두 번째로 낮습니다 — 다시 한번 더 나쁜 CER을 가진 엔진들에 뒤처지며, 이 역설은 두 데이터셋 모두에서 지속됩니다. CORD는 언어 견고성 맥락에서 여기에 인용되며, 의도적으로 SROIE 수치와 단일 리더보드로 합병되지 않습니다.
| CORD v2, 인도네시아 영수증 (n=100) | PaddleOCR | EasyOCR | 출처 |
|---|---|---|---|
| 문자 오류율 (CER) | 0.9083 | 0.9185 | summary_metrics.csv · cer, paddleocr/cord_v2 및 easyocr/cord_v2 행 |
| 필드 값 F1 | 0.0154 | 0.0067 | field_method_comparison.csv · regex_field_value_f1, 동일 행 |
| 필드 값 F1 (LLM) | 0.5527 | 0.3378 | field_method_comparison.csv · llm_field_value_f1, 동일 행 |
| 1,000페이지당 비용 | $0.342 | $0.086 | summary_metrics.csv · cost_per_1000_pages, 동일 행 |
| 분당 페이지 수 | 141.0 | 211.8 | summary_metrics.csv · pages_per_minute, 동일 행 |
표: summary_metrics.csv (cer / cost_per_1000_pages / pages_per_minute) 및 field_method_comparison.csv (field F1), cord_v2 행. CORD 수치를 어떤 SROIE 순위와도 병합하지 마십시오: CORD CER는 정답 데이터의 주석 구조적 부풀림과 실제 언어 불일치를 결합합니다. 정규식 패턴은 영어 형식용으로 작성되었으므로, 정규식 field F1은 두 엔진 모두에서 ~0–2%로 급락합니다. PaddleOCR의 CORD LLM field F1 0.5527은 SROIE에서의 우위(0.5810 vs 0.3717)를 반복합니다 — 이는 EasyOCR이 견디지 못하는 언어 충격에서도 LLM 후속 처리 복구가 살아남음을 보여줍니다.
언제 누가 이기는가: 요약 격자
“더 나은” 것은 작업 부하에 따라 다르며, 이 대결은 축을 명확히 나눕니다: 영어 영수증의 모든 정확도 축은 PaddleOCR을 선호하고; 비용, 벽시계 처리량, 꼬리 지연 시간 및 배포 용이성은 EasyOCR을 선호하며; 순수 텍스트 정확도 챔피언십은 어느 쪽도 차지하지 않습니다(Surya2/docTR) — 반면 EasyOCR의 LLM 후속 처리 결과는 그 매력 포인트가 아니라 가장 큰 주의 사항입니다.
자주 묻는 질문
PaddleOCR이 영수증 처리에서 EasyOCR보다 더 정확한가요?
네, 이번 벤치마크에서 측정된 모든 정확도 지표에서 그렇습니다. SROIE 2019 기준: CER 0.2045 vs 0.2833, WER 0.3256 vs 0.6158, 정규식 필드 F1 0.3254 vs 0.1477, LLM 후처리 필드 F1 0.5810 vs 0.3717. 두 엔진 모두 벤치마크의 전반적인 텍스트 챔피언은 아닙니다 — Surya2 (CER 0.1915)와 docTR (0.1971)이 그 타이틀을 보유하고 있습니다.
EasyOCR이 PaddleOCR보다 저렴한가요?
네 — 영어 영수증 기준 1,000페이지당 약 2배 저렴합니다: SROIE 2019에서 $0.110 vs $0.221, CORD에서는 $0.086 vs $0.342로 차이가 벌어집니다. 동일한 RTX 4090에서 시간당 $0.76, 모델 초기화 비용 포함. 벤치마크에서 가장 저렴한 엔진은 전체적으로 1,000페이지당 $0.048인 docTR입니다.
어떤 것이 더 빠른가요: PaddleOCR vs EasyOCR?
어떤 시계를 기준으로 하느냐에 따라 다릅니다. PaddleOCR의 안정 상태 중간값 지연 시간이 더 낮습니다 (297.0 vs 413.6 ms p50), 그러나 EasyOCR의 벽시계 처리량이 더 높습니다. 벽시계 페이지/분은 모델 초기화와 배치 효과를 포함하며, EasyOCR의 더 가벼운 런타임이 더 빠르게 로드되기 때문입니다. 오래 실행되는 워밍된 파이프라인의 경우 페이지당 PaddleOCR이 더 빠르고, 많은 소규모 또는 빈번한 콜드 배치의 경우 벽시계 경쟁에서 EasyOCR이 승리합니다.
EasyOCR의 문자 정확도는 괜찮은데 LLM 필드 추출 성능이 왜 가장 낮은가요?
이것은 이번 벤치마크에서 기록된 역설로, 현재 입증된 메커니즘이 없습니다. EasyOCR의 SROIE CER (0.2833)은 8개 엔진 중 4위를 차지하지만, LLM 후처리 필드 F1 (0.3717)은 최하위입니다 — CER이 더 나쁜 Tesseract (0.4389)보다도 낮습니다. 주요 가설은 EasyOCR이 텍스트 줄을 배치하거나 결합하는 방식의 출력 형식 관례가 하위 LLM 추출을 저하시킨다는 것입니다. 이는 메커니즘이 검증되지 않은 관찰 가능하고 재현 가능한 패턴으로 라벨링되어 있습니다.
CORD 영수증에서 두 엔진 모두 왜 그렇게 낮은 점수를 받나요?
SROIE 순위와는 별개로, 두 가지 복합적인 원인이 있습니다: 진정한 언어 불일치와 CORD의 정답 텍스트 내 주석 구조의 과잉inflate — CER은 PaddleOCR의 경우 0.9083, EasyOCR의 경우 0.9185입니다. 여전히 두 엔진을 구분 짓는 것은 LLM 후속 복구 성능입니다: PaddleOCR 0.5527 대 EasyOCR 0.3378 필드 F1 — 두 인식기 모두 문자 수준에서 실패하더라도 SROIE 패턴은 여전히 지속됩니다.
영수증 파이프라인은 어떤 엔진을 선택해야 하나요, PaddleOCR과 EasyOCR 중?
파이프라인이 회사, 날짜, 합계 등 추출된 필드 값을 사용한다면, PaddleOCR이 영수증에서 명백한 기본 선택입니다: 정규식 기준 필드 F1이 2.2배, LLM 기준 1.56배이며, CORD 언어 충격에서도 살아남는 LLM 후속 복구 성능을 보유합니다(field_method_comparison.csv). 저렴한 대량 처리, 타이트한 최악 시나리오 꼬리, 경량 스택, 또는 시작을 위한 광범위한 언어 지원이 필요하다면, EasyOCR은 운영 축에서 진정으로 경쟁력이 있습니다 — 하지만 도입 전에 취약한 LLM 후속 성능을 예산에 반영하세요. 이 결과는 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로 계산, 각 실행의 마스킹된 매니페스트에 가격 타임스탬프.
- 엔진: 기본 제공, 파인튜닝 없음. 버전 고정: PaddleOCR 3.7.0 및 EasyOCR 1.7.2— 공개 저장소 모델 테이블(README.md) 및 실행 매니페스트 기준. EasyOCR의 SROIE 행은 2026-08-17 torch 2.8 재실행으로 재검증; 공개 CSV에 수정된 값이 포함되어 있습니다.
- LLM 후처리기: deterministic 출력을 위한 temperature 0의 API를 통한 deepseek-v4-flash; 두 엔진의 모든 LLM 필드 행에 사용된 단일 모델.
- 비용 기준: 벽시계 실행 시간 × $0.76/hr, 모델 초기화 포함 — 일괄 처리로 페이지당 비용 절감.
- 필드 후처리: SROIE 정규식 필드 지표는
postprocessed_sroie_receipt_regex_*— 고정 패턴 세트로 OCR 텍스트에서 추출된 필드. 이는 OCR + 후속 추출을 측정하며, 두 모델의 기본 구조화된 출력이 아닙니다; LLM_* 열은 OCR 텍스트 + LLM 추출을 측정합니다. 두 파이프라인은 절대 혼합되지 않습니다.
지표 정의
- CER (Character Error Rate): OCR 텍스트와 정답 간의 편집 거리를 정답 문자 수로 나눈 값. 낮을수록 좋습니다.
- WER (Word Error Rate): 단어 단위로 동일한 편집 거리 계산을 수행한 값.
- Field-value F1 (regex): OCR 텍스트에 고정 정규식 패턴을 적용하여 추출된 필드 값의 정밀도/재현율 조화 평균. 열: regex_field_value_f1. 점수가 0이면 필드 값을 복구하지 못했음을 의미합니다.
- Field-value F1 (LLM): LLM 후처리기의 출력에 대한 동일한 지표. 열: llm_field_value_f1. 두 파이프라인은 서로 다르며, 절대 혼합되지 않습니다.
- Document-fields exact: 모든 대상 필드가 정확히 일치한 문서의 비율 — 필드별 F1보다 훨씬 엄격한 기준입니다.
- Latency p50/p95 & pages/min: 안정 상태의 페이지당 추론 시간 및 모델 초기화를 포함한 실제 처리량입니다. 서로 다른 시계를 측정하며, 이 페이지의 p50-vs-pages/min 역전 현상은 측정 모델의 차이로, 오류가 아닙니다.
- 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, 지연 시간, 비용, 처리량 수치는 여기의 paddleocr 및 easyocr 행에서 추적됩니다.
- 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 수치는 여기의 paddleocr 및 easyocr 행에서 추적됩니다.
- 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. 여기서는 PaddleOCR의 PP-Structure 레이아웃/테이블/문서 처리 능력, EasyOCR의 비영수증 텍스트에 대한 80개 이상 언어 지원 범위, 또는 다른 문서 유형을 측정하지 않습니다. 이 페이지를 사용하여 어떤 엔진이든 "모든 면에서 우위"라고 결론짓지 마십시오.
- 표본 크기: 361개 영어 + 100개 인도네시아 영수증. 필드 F1 및 CER은 말뭉치에 민감합니다. 소수점 이하 몇 백분의 일 수준의 한 자릿수 차이는 노이즈로 간주해야 하며, 엔지니어링적 진실로 취급해서는 안 됩니다 — 다만 여기에 기록된 격차는 그 범위를 훨씬 벗어납니다.
- 단일 GPU 등급 및 단일 가격: 모든 수치는 $0.76/hr의 RTX 4090에서 나왔으며, 가격은 실행 매니페스트에서 2026년 8월로 타임스탬프가 찍혀 있습니다. 다른 GPU, 다중 GPU 서버링, 배치 스케줄링 또는 가격 변동은 지연 시간, 처리량 및 비용을 변경할 것입니다 — 예산 편성 전 현재 요금으로 비용을 다시 산출하십시오.
- 단일 LLM 후처리기: 모든 LLM 행은 temperature 0의 deepseek-v4-flash를 사용합니다. 다른 LLM은 절대 필드 F1을 변경할 수 있습니다. EasyOCR 패러독스의 크기는 LLM에 따라 변할 수 있지만, 관찰된 패턴은 이 단일 후처리기에서 두 데이터셋 모두에 걸쳐 유지되었습니다. LLM 지연 시간은 API로 인해 발생하며, 어느 엔진 자체 지연 시간의 일부가 아닙니다.
- EasyOCR 패러독스 메커니즘 미검증: 벤치마크는 EasyOCR의 중간 수준 CER 텍스트가 가장 나쁜 LLM 후속 필드 복구(0.3717 SROIE / 0.3378 CORD)를 생성한다는 것을 문서화합니다 — 이는 출력 텍스트 레이아웃 관례에 대한 가설 하에서 관찰되고 재현 가능한 결과이며, 인과 메커니즘은 명시적으로 격리되지 않았습니다. 이를 라이브러리의 입증된 특성으로 취급하지 말고, 주변 계획을 세우기 위한 측정된 결과로 취급하십시오.
- 정규식 튜닝: 패턴 세트는 데이터셋당 한 번 작성되었습니다. 형식별로, 심하게 튜닝된 패턴 라이브러리는 자체 레이아웃에서 더 높은 점수를 받을 수 있습니다 — LLM이 제거하는 유지보수 비용을 감수하면서.
- CORD CER는 모델별 품질 측정값이 아닙니다: CORD 기본 진실은 주석 구조를 포함하고 있으며, 어느 엔진도 인도네시아어를 주로 학습하지 않았습니다. CORD CER(~0.91)는 언어 불일치 + 기본 진실 부풀리기를 반영합니다. CORD 행은 맥락을 포함하여 인용되며, 어떤 SROIE 순위에도 합쳐지지 않습니다.
- 버전 고정: 결과는 PaddleOCR 3.7.0 및 EasyOCR 1.7.2에 해당합니다. 어느 엔진의 최신 릴리스도 이 페이지의 모든 수치를 변경할 수 있습니다.
관련 참고 자료: docTR vs Surya2 영수증 벤치마크 · 기존 OCR vs 문서 파싱 VLM · 정규식 vs LLM 필드 추출 · 필드 수준 vs 문자 수준 정확도 · 영수증 OCR 정확도
관련 읽을거리: AI OCR vs 기존 OCR 정확도 · AI 이미지 데이터 추출 vs 기존 OCR · AI 문서 추출 가격 (2026)