기술 개요
PP-StructureV3 개요
- PaddleOCR에서 제공하는 문서 이미지/PDF 파싱(document parsing) 전용 파이프라인.
- 단순한 “텍스트 인식”을 넘어, 문서 내의 레이아웃 요소들(표(table), 수식(formula), 차트(chart), 문단(paragraph) 등)을 구조적으로 인식하고 재구성하는 것을 주목적으로 한다.
- 이미지, PDF 내에 있는 레이아웃을 json, 이미지, 마크다운(.md), html, xlsx 형태로 반환한다.
PP-StructureV3의 파이프라인 구조
1.1. OCR

OCR 예시
- 기본적으로 PP-OCRv5 등의 텍스트 인식 모델이 사용되며, 이미지 내의 텍스트를 모두 탐지한다.
(한국어의 경우,
korean_PP-OCRv5_mobile_rec모델이 사용되며 한국어와 영어를 동시에 탐지함.) - 탐지된 각 영역은 위의 이미지와 같이 바운딩 박스(bounding box) 및 폴리곤(polygon) 형태로 저장된다.
1.2. 레이아웃 분석(Layout Analysis)

레이아웃 분석 예시
- 문서 혹은 이미지에서 “표”, “수식”, “표제”, “텍스트” 등 다양한 영역 탐지한다.
- 예를 들어 표(table) 영역이 탐지되면, 표 구조 인식 모듈로 넘겨진다.
2. 구성요소 인식(DocItems Recognition)
-
레이아웃 분석을 통해 분류된 각 블록을 세부적으로 인식(Recognition) 하는 단계.
- Table Recognition: 표(table)로 분류된 영역에 대해 셀(Cell) 구조 분석을 수행.
- Formula Recognition: 수식 블록을 인식.
- Chart Parsing: 그래프나 도표로 분류된 영역을 처리.
- Seal Recognition: 공문서에서 사용되는 도장이나 인증 마크를 탐지.
-
각 구성요소의 인식을 처리할 모델을 직접 지정할 수 있다.1
3. 후처리 및 출력 생성(Postprocessing)
마지막 단계에서는 인식된 모든 블록과 텍스트를 병합 및 변환한다.
- OCR 결과, 레이아웃 분석 결과, 구성요소 인식 결과를 하나의 구조로 통합한다.
- 최종 결과는 다음과 같은 여러 포맷으로 생성될 수 있다.
JSON: 구조 정보를 포함한 원시 데이터.Markdown: 사람이 읽기 쉬운 문서 형태.HTML: 표나 수식을 포함하는 웹 구조.Excel(XLSX): 테이블 전용 결과물.
save_to_img()메서드를 통해 탐지 영역과 인식 결과를 시각적으로 확인할 수 있다.
테스트 환경
-
시스템 환경 list-card
CPU Intel(R) Core(TM) i7-14700F(2.10 GHz) GPU / VRAM NVIDIA GeForce RTX 5060 / 8GB RAM 32.0GB OS Windows 11 Python 3.12.10 PyTorch 2.8.0+cu129 CUDA / cuDNN 12.9 / v9.11 -
모델 버전
paddlepaddle-gpu 3.0.0 paddleocr[doc-parser] 3.2.0 paddlex 3.2.1
테스트 구현 내용
from paddleocr import PPStructureV3
from pathlib import Path
# 입력/출력 경로 설정
input_dir = Path("Table_Image")
output_dir = Path("Table_output")
output_dir.mkdir(exist_ok=True)
# 파이프라인 호출
ocr_pipeline = PPStructureV3(lang='korean',
# use_doc_orientation_classify=True,
# use_doc_unwarping=True,
# use_textline_orientation=True,
device="gpu:0",
wired_table_structure_recognition_model_name="SLANeXt_wired",
wireless_table_structure_recognition_model_name="SLANeXt_wireless",
wired_table_cells_detection_model_name = "RT-DETR-L_wired_table_cell_det",
wireless_table_cells_detection_model_name="RT-DETR-L_wireless_table_cell_det",
)
# 이미지 리스트
images = sorted(input_dir.glob("*.jpg")) + sorted(input_dir.glob("*.png"))
if not images:
print("⚠️ No images found in", input_dir)
else:
for img_path in images:
print(f"🔄 Processing: {img_path.name}")
# 이미지 인식
results = ocr_pipeline.predict(input=str(img_path),
use_e2e_wireless_table_rec_model=False,
)
# 결과 저장
for res in results:
res.save_to_markdown(save_path=str(output_dir)) # 마크다운 저장
res.save_to_json(save_path=str(output_dir)) # json 저장
res.save_to_img(save_path=str(output_dir)) # 시각화 이미지 저장
print(f"✅ Saved Markdown + JSON +Visualization for {img_path.name}", "\n")테스트 결과
table01.jpg
-
표 셀(Cell) 인식 결과 list-grid

-
마크다운 결과
구분 수량(식) 주요 장비내역 하드웨어 서버장비 137 ·웹서버,와스서버,DB서버,저장장치,백업 등 보안장비 37 ·방화벽,침입차단(IPS),DDoS 공격차단 등 통신장비 372 스위치,라우터 소프트웨어 상용 297 웹(WebtoB), 와스( Jeus), DB(Tibero), 개발툴 등 공개 79 (Apache), 와스(Jboss), DB(PostgreSQL) 등 부대설비 33 항온항습기,랙,UPS 합계 955
-
OCR 결과 list-grid

높은 정확도의 텍스트 및 셀 구조 인식 결과를 확인할 수 있음.
table02.jpg
-
표 셀(Cell) 인식 결과 list-grid

-
마크다운 결과
구분 홈페이지 세부 정보시스템 대표 홈페이지 ·전자민원처리 전자민원처리 원산지관리 ·농축산물 유통관리 ·원산지단속정보 통합관리 LMO안전관리 ·가공용쌀공급업체관리 ·수입농산물 유통이력관리 ·지리적표시등록 ·원산지인증관리 인증관리 안전성관리 ·친환경·무항생제 인증관리 ·농산물이력추적관리 품질관리 ·정곡검사 ·수입농산물검사 ·품질검정 ·술품질인증 ·하추곡검사 ·농산물표준규격 ·우수식품인증 ·정부관리양곡 통합정보 ·행정지원 ·현장공간정보 ·과태료징수 통합관리 ·현장점검통합앱
-
OCR 결과 list-grid

OCR 결과에서는 모든 텍스트를 인식한 것을 확인할 수 있는 반면, 마크다운 결과에서 일부 텍스트가 누락된 것을 확인할 수 있음. 이는 셀 인식 결과 이미지에서 확인할 수 있듯이 셀 개수가 과도하게 인식 또는 중복 인식되면서, 텍스트를 인식했음에도 후처리 과정에서 일부 텍스트와 셀의 구조(
<td>)가 매칭되지 않아 누락되는 텍스트가 발생함.
table03.jpg
-
표 셀(Cell) 인식 결과 list-grid

-
마크다운 결과
| 싱을용 연을 공공데이터 개방, 데이터 연계·활용 지원 및 품질관리 수행 국가정보자원관리원 대구센터 입주 정보시스템과 관련된 기술 지원 |
| 글어 없후없공 정보시스템 3 I |
| 매뉴얼 제공 및 사용자 교육 실시 운영,시스템 크ㅜ륨니 향상을 위한 정보시스템 기능 개선 사용자편의성 |
| 통한 서비스 품질 제고 지속적인 정보시스템 개선을 2 I |
| 장애·침해사고 발생 시 긴급 대응 및 신속한 복구 체계 확립 사이버 보안 침해사고 예방과 개인정보보호를 위한 조치 방안 수행 전산장비에 대한 정기점검 및 성능 개선 실시 |
| 이 술 |
| 1 |
-
OCR 결과 list-grid

후처리 과정의 텍스트-셀 매칭 단계에서 오류가 발생한 것으로 추측됨. → “싱을용 연” 같은 깨진 문장 발생.
table04.jpg
-
표 셀(Cell) 인식 결과 list-grid

-
마크다운 결과
| {γ | ||||
| 사업 수행 | ||||
| 시험연구소,지원·사무소 ‘ | [사업추진] 사업 담당자 [관리감독]정보관리계 | {동융공 | ||
| 성 마 | [군 융어 | 계약 및 집행 | ||
| 사업 총괄 | ||||
-
OCR 결과 list-grid

table03.jpg와 동일하게 OCR 텍스트 인식은 잘 이루어졌음에도, 후처리 과정에서 오류가 발생한 것으로 추측됨.
table05.jpg
-
표 셀(Cell) 인식 결과 list-grid

-
마크다운 결과
| 구분 | 역할 |
| 사업관리 (농업정보자재과) | 유지관리사업추진계획 수립 단계적사업추진 -업무부서 협의, 진도 관리, 산출물 확인등 |
| 업무협조 (업무 부서) | 법·제도 변경에 따른 시스템 개선 필요사항 검토 개선 결과 확인및 업무 활용 |
| 사업수행 (사업 수행사) | 전산장비및정보시스템통합 유지관리 수행 -요구사항 조치,산출물 를작성 |
-
OCR 결과 list-grid

일부 텍스트에서 띄어쓰기가 고려되지 않은 것을 제외하고, 텍스트 인식과 셀 구조 매칭이 잘 이루어짐.
table06.jpg
-
표 셀(Cell) 인식 결과 list-grid

-
마크다운 결과
| 구분 | 설명 | 요구사항 개수 |
| 유지관리 수행 요구사항 (MPR. Maintenance Performance Requirement) | 시스템 및 서비스의 안정적 운영을위해 유지관리 대상별로 필요 사항을 기술한 것으로 운영 상황 모니터링, 기능개선, 장애관리 등의요구사항을기술함 | 13 |
| 유지관리 인력 요구사항 (MHR, Maintenance Human Requirement) | 운영 및 유지관리 수행을 위한 상주인력 자격 요건, 담당자별 역할 및 책임, 인력 관리 체계 등의 요구 사항을기술함 | 7 |
| 보안요구사항 (SER, Security Requirement) | 정보 자산의기밀성과 무결성을위해목표 시스템의 데이터 및 기능,운영에 대한 접근을 통제하기 위한 요구사항을기술함 | 8 |
| 품질요구사항 (QUR, Quality Requirement) | 운영 및 유지관리 수행 시 목표시스템이 확보해야 하는 품질 목표에 대한 요구사항을 기술함 | 4 |
| 제약사항 (COR, Constraints Requirement) | 목표시스템 운영 및 유지관리와 관련하여 사전에 파악된 기술, 표준, 업무법제도 등의 제약 및 요건을 기술함 | 6 |
| 프로젝트관리요구사항 (PMR, Project Management Requirement) | 프로젝트의원활한수행을위한 관리방법 및 추진 단계별 수행방안에 대한 요구사항을 기술함 | 5 |
| 프로젝트 지원요구사항 (PSR, Project Support Requirement) | 앞서 제시한 요건 외에 프로젝트 수행을 위해 필요한 기술지원 등의 요구사항을기술함 | 6 |
| 합계 | 49 | |
-
OCR 결과 list-grid

-
table01.jpg,table05.jpg와 마찬가지로 일부 띄어쓰기를 제외하고, 정확한 셀 구조 및 텍스트 인식 성능을 확인할 수 있음.
table07.jpg
-
표 셀(Cell) 인식 결과 list-grid

-
마크다운 결과
| 요구사항 분류 | 유지관리 수행 요구사항 | |
| 요구사항 고유번호 | MPR-001 | |
| 요구사항 명칭 | 유지관리 대상 | |
| 요구 사항 세부 내용 | 정의 | 유지관리대상에관한 요구사항 |
| 세부 내용 | O본 사업의 유지관리 대상은다음과 같이 정한다. -하드웨어 및 소프트웨어(이하 전산장비): 서버장비, 보안장비,통신장비, 상용 소프트웨어, 공개 소프트웨어, 부대설비(붙임1 참조) -농식품 안전·품질관리 정보시스템(이하 정보시스템): 내·외부 홈페이지 (포털) 및 업무처리 기능 등의 개발(응용) 소프트웨어 일체(붙임2 참조) 발주기관 사정에 따라 유지관리 대상 전산장비의 변경이 필요한 경우 상호 협의하여정한다 -단, 사무소·부서 증설시 추가도입된 통신장비에 대해서는보안 취약점 조치, 장애 조치 등을 수행하여야 한다 O기타 유지관리 대상에 관한사항은상호협의하여 정한다. | |
| 산출정보 | ||
| 관련 요구사항 | ||
-
OCR 결과 list-grid

일부 특수 기호 텍스트 누락됨.
table08.jpg
-
표 셀(Cell) 인식 결과 list-grid

-
마크다운 결과
| 요구사항 분류 | 유지관리수행 요구사항 | ||||
| 요구사항 고유번호 | MPR-005 | ||||
| 요구사항 명칭 | 서버장비유지관리 | ||||
| 요구 사항 세부 내용 | 정의 | 서버장비 유지관리에관한 요구사항 | 세부 내용 | 분야 | |
| 유형 | 수행내용 | ||||
| 제품 관련 | 시스템 SW | 업그레이드 | |||
| 패치 | 운영체제 패치 적용으로 시스템 품질 향상 | HW | 업그레이드 | ||
| 기술 지원 | 정기점검 | 장애 예방을위한정기적 점검 | |||
| 장애처리 | 장애처리및 그에 따른 정비 | ||||
| 교육 | 운영자교육 | 요구 시시스템 운영을 위한 운영자교육 | |||
| 기술이전 | 시스템 운영 기술의 이전 | ||||
| 관리 및 설치 | 부품지원 | 대상 장비의 부품 보유 및 수리 시 부품 공급 | |||
| 시스템 운영 | 시스템의 점검 및 유지관리이력관리 | 운영활동보고 | |||
| 이동 및 증설 | 시스템의 설치장소 이동, 새로운 장비의 추가 | ||||
| 산출정보 | |||||
| 관련 요구사항 | |||||
-
OCR 결과 list-grid

table02.jpg와 동일하게 셀 개수가 과도하게 인식 또는 중복 인식되는 문제가 발생함.
문제점 및 대안 모델
문제점 요약
PP-StructureV3를 이용한 문서 내 표(Table) 인식 과정은 전반적으로 안정적인 OCR 성능을 보였으나, 셀(Cell) 단위의 구조 인식 정확도에서 한계가 확인되었다. 이는 다음과 같은 세 가지 기술적 요인으로 구체화된다.
1. 셀 경계 인식 불안정성
- 테이블 구조 인식 모듈은 표 내부의 행과 열의 경계를 정확히 탐지해야 하나, 병합 셀이 다수 존재하는 경우 또는 표의 구조가 복잡한 경우 구조 인식이 불완전하게 수행되었다.
- 이로 인해 OCR 과정에서 인식된 텍스트가 특정 셀과 올바르게 매칭되지 않으며, 결과적으로 마크다운 문서 변환 시 텍스트 누락이나 셀 왜곡 현상이 발생하였다.
2. 후처리(Post-processing) 단계의 구조 손실
- OCR 과정에서 인식된 텍스트는 정확하게 추출되었으나, 모델이 생성한 표 구조 데이터가 불완전하여 일부 텍스트가 적절한 셀과 매칭되지 못하는 문제가 관찰되었다.
3. 모델 병합의 현실적 제약
- 셀 인식과 텍스트 OCR을 분리하여 각각 다른 모델을 사용하고, 이후 결과를 병합하는 접근은 현실적으로 어렵다.
- 그 이유는 다음과 같다:
- 각 모델의 좌표계 기준, 스케일링 방식, 셀 인덱싱 규칙이 서로 다르기 때문에, 정확한 셀 위치와 텍스트를 매칭하는 것이 어렵다.
- 테이블 내에 빈 셀, 병합 셀, 누락된 셀이 존재하는 경우, 두 결과를 단순히 순서나 위치 기준으로 병합하는 것은 구조적 오류를 유발할 가능성이 매우 높다.
- 따라서, 서로 다른 모델의 결과를 결합하여 완전한 표 구조 + 텍스트를 재구성하는 것은 현실적으로 어렵다.
대안 모델 검토
1. PaddleOCR 내 대안
- 현재 PaddleOCR에서 제공하는 **셀 인식 모듈 모델(Table Cell Detection Module Model)**은
RT-DETR-L_wired_table_cell_det(셀 간에 경계가 존재하는 테이블 인식)와RT-DETR-L_wireless_table_cell_det(경계가 없는 테이블 인식)이 유일하다. 즉, PaddleOCR 내에서는 대체 모델 혹은 고성능 버전이 존재하지 않는다. - 공식 문서에 PP-StructureV3의 일부 모듈에 대한 파인튜닝 가이드2를 제공하지만, 셀 인식 모듈의 성능 한계를 개선하기 위한 파인튜닝 또는 별도 학습 파이프라인이 공식적으로 제공되지 않는다.
- 따라서 PaddleOCR 자체 프레임워크 내에서는 셀 인식 성능을 높이는 방법이 현재로서는 존재하지 않는다.
2. 외부 대안 모델: Dolphin
- Dolphin (Bytedance, 2025)은 PubTabNet 기반의 VLM(Vision-Language Model)3으로, 이미지 내 표 구조를 마크다운 및 JSON 형태로 변환할 수 있는 최신 모델이다.
- 그러나 실제 실험 결과,
- GPU 환경에서 정상적으로 작동되었으나,
- 셀 구조 인식률이 PP-StructureV3에 비해 현저히 낮았으며,
- 한글 텍스트 지원이 불완전하며,
- 대부분의 이미지의 결과(마크다운, JSON)가 비어 있는 상태로 반환되는 것이 확인되었다.
- 또한 Dolphin은 외부 OCR(PaddleOCR 등)의 결과를 결합하는 것도 구조적으로 지원하지 않기 때문에 대안 모델로서의 실질적 가치가 부족하다.
결론
PaddleOCR의 PP-StructureV3은 기본적인 표 구조 복원 및 마크다운 변환 기능을 안정적으로 수행하는 것이 확인되었다. 하지만 표의 구조가 복잡한 경우, 경계 인식 오류와 텍스트 매칭 실패가 확인되었으며, 이는 셀 구조 인식 모듈의 근본적인 한계와 후처리 단계의 단순화된 HTML 변환 로직에서 기인한 것으로 판단된다.
대안 모델로 검토된 Dolphin은 표 구조 인식 측면에서 기대에 미치지 못했으며, PP-StructureV3는 현재 공개된 오픈소스 중 가장 안정적이고 실용적인 선택지라고 판단된다.
이에 따라 향후 방향은 다음과 같다.
- PP-StructureV3의 구조 및 결과 분석 심화
- JSON 결과의 구조를 보다 면밀히 분석하여, 텍스트 누락 원인과 구조 매칭 실패 패턴을 추가 검토한다.
- JSON 결과의 구조를 보다 면밀히 분석하여, 텍스트 누락 원인과 구조 매칭 실패 패턴을 추가 검토한다.
- 대체 모델 추가 검토 및 비교 평가
- CascadeTabNet, LGPMA, TableFormer 등 표 구조 인식에 특화된 연구 모델을 추가적으로 조사한다.
