티스토리 뷰

안녕하세요, 이파피루스입니다.

이 포스팅에서는 DocLayNet 데이터셋에서 PyMuPDF-LayoutDocling과 비교한 벤치마크 결과를 정리한 리포트를 소개해드립니다. IoU 기반 지표로 레이아웃 탐지 정확도를 비교하고, 모델 효율성(파라미터 수, GPU 의존성 등)도 함께 살펴봅니다.


실험방법:

데이터셋: DocLayNet (Pfitzmann et al., 2022)

  • 학습(Training) 세트: 69,000 페이지
  • 검증(Validation) 세트: 6,480 페이지
  • 문서 카테고리: 재무 보고서, 과학 논문, 특허, 매뉴얼, 법률 문서, 입찰 문서(tender documents)
  • 어노테이션 스키마: 11개 클래스 라벨
    (caption, footnote, formula, list-item, page-footer, page-header, picture, section-header, table, text, title)

베이스라인

  • Docling v2 (RT-DETR 아키텍처)

평가 지표

  • IoU 임계값 0.6에서 precision/recall로 계산한 F1 스코어

클래스 정합(Class harmonization)

Docling과 DocLayNet 사이에 분류 체계(택소노미) 차이가 있어서, 아래처럼 매핑을 적용했습니다.

  • Docling의 document-index, form → DocLayNet의 table
  • Docling의 key-value-region, code, checkbox-selected, checkbox-unselected → DocLayNet의 text
Note 
Docling의 분류 체계에서는 모든 title 요소가 section-header로 매핑됩니다. 그 결과 DocLayNet의 title 클래스에 대해서는 커버리지가 0이 됩니다(= title을 못 잡는 것으로 계산됨).

실험 결과 :

실험 1: PDF-based features

첫 번째 모델 변형은 이미지 렌더링 없이, PDF 내부 정보(PDF internals)에서 추출한 피처만 사용합니다.

Class Docling F1 PyMuPDF-Layout F1 Δ
caption 0.8594 0.8157 -0.0437
footnote 0.4827 0.7217 +0.2390
formula 0.7416 0.7370 -0.0046
list-item 0.7955 0.8737 +0.0782
page-footer 0.7937 0.7973 +0.0036
page-header 0.8218 0.8387 +0.0169
picture 0.6314 0.2462 -0.3852
section-header 0.8732 0.7823 -0.0909
table 0.7977 0.6886 -0.1091
text 0.8146 0.8675 +0.0529
title 0.0000 0.7672 +0.7672
Overall 0.8102 0.8270 +0.0168

모델 특성: Docling(RT-DETR) 20M 파라미터 vs PyMuPDF-Layout 1.3M 파라미터

관찰된 성능 패턴(원문 요약):

  • 구조화된 요소에서 강함: footnotes(+0.239), list-items(+0.078), text blocks(+0.053)
  • 시각적 요소에서 성능 저하: pictures(-0.385)
  • 문서 전체 문맥이 필요한 요소에서 상대적으로 낮음: tables(-0.109), section-headers(-0.091)
  • title 탐지에서 큰 개선(+0.767)

 

실험 2: Fusion features (PDF + global image context)

두 번째 모델 변형은 PDF 피처에 더해, 저해상도 페이지 이미지에서 추출한 글로벌 문서 피처를 추가합니다. 이때 가벼운 CNN 백본을 사용하며 파라미터가 0.5M 추가됩니다.

Class Docling F1 MuPDF-Layout F1 Δ
caption 0.8594 0.8613 +0.0019
footnote 0.4827 0.7584 +0.2757
formula 0.7416 0.7666 +0.0250
list-item 0.7955 0.8676 +0.0721
page-footer 0.7937 0.9277 +0.1340
page-header 0.8218 0.7953 -0.0265
picture 0.6314 0.2885 -0.3429
section-header 0.8732 0.8389 -0.0343
table 0.7977 0.7966 -0.0011
text 0.8146 0.8489 +0.0343
title 0.0000 0.7189 +0.7189
Overall 0.8102 0.8356 +0.0254

모델 특성: Docling(RT-DETR) 20M 파라미터 vs PyMuPDF-Layout(퓨전) 1.8M 파라미터

글로벌 컨텍스트 추가의 효과(원문 요약):

  • page-footer 성능이 크게 개선(+0.134)
  • table 성능 격차가 거의 사라짐(Δ -0.011 → -0.001)
  • picture는 여전히 약하지만, 하락 폭은 줄어듦(-0.385 → -0.343)
  • PDF-only 대비 전체 F1이 +0.025 상승

 

계산 효율

구현 방식파라미터 수F1 점수GPU 필요 여부

구현방식 파라미터 수 F1 점수 GPU 필요여부
Docling (RT-DETR) 2,000만 개 0.8102 필요
PyMuPDF-Layout (PDF features) 130만 개 0.8270 불필요
PyMuPDF-Layout (Fusion features) 180만 개 0.8356 불필요

PDF 피처 버전은 파라미터를 15.4배 줄이면서도 유사한 정확도를 달성했고, 퓨전 버전은 11.1배 적은 파라미터F1을 +2.5%p 개선했습니다. 두 버전 모두 GPU 가속 없이 동작합니다.


결과 해석 및 시사점

이 결과는 구조화된 PDF 피처로 학습한 레이아웃 탐지 모델이, 비전 기반 모델과 동급(performance parity) 수준의 성능을 내면서도 계산 비용을 크게 줄일 수 있음을 보여줍니다.

또한 이 접근은 강점과 한계가 비교적 명확합니다.

  • 강점: 구조화된 텍스트 요소, 문서 메타데이터
  • 한계: 시각적 요소(picture), 복잡한 테이블

퓨전 방식은 글로벌 컨텍스트 부족 문제를 일부 보완하면서도 효율성을 유지하지만, picture 분류는 PDF 기반 피처 추출의 구조적 한계로 남아 있다고 설명합니다.


 

다음 단계 ✈️

추가 벤치마크는 다른 데이터셋/평가 프레임워크로 확장해 진행할 예정이며, 새로운 베이스라인이 나오면 성능 지표를 계속 업데이트할 예정입니다 :)
(벤치마크 마지막 업데이트: 2025년 10월)


🎉 Happy Coding! 🙂

앞으로, 다양하고 유익한 PyMuPDF Pro 튜토리얼로 찾아오겠습니다. 기대해주세요! 감사합니다 :)
PyMuPDF Pro 제품소개페이지 바로가기 >