File size: 2,762 Bytes
ed139ac
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
---
license: apache-2.0
base_model: juliozhao/DocLayout-YOLO-DocStructBench
tags:
  - object-detection
  - document-layout-analysis
  - onnx
library_name: onnx
---

# DocLayout-YOLO-DocStructBench (ONNX)

[juliozhao/DocLayout-YOLO-DocStructBench](https://huggingface.co/juliozhao/DocLayout-YOLO-DocStructBench) ์˜ ๊ฐ€์ค‘์น˜๋ฅผ **ONNX๋กœ ๋ณ€ํ™˜ํ•œ ๊ฒƒ**์ด๋‹ค.
๊ฐ€์ค‘์น˜ ์ž์ฒด๋Š” ์›๋ณธ๊ณผ ๋™์ผํ•˜๋ฉฐ ์žฌํ•™์ŠตยทํŒŒ์ธํŠœ๋‹ํ•˜์ง€ ์•Š์•˜๋‹ค.

## ์™œ ONNX๋กœ ๋ณ€ํ™˜ํ–ˆ๋Š”๊ฐ€

์›๋ณธ ๊ฐ€์ค‘์น˜๋Š” Apache-2.0 ์ด์ง€๋งŒ, ์ด๋ฅผ ์‹คํ–‰ํ•˜๋Š” `doclayout_yolo` ํŒŒ์ด์ฌ ํŒจํ‚ค์ง€๋Š”
**AGPL-3.0** ์ด๋‹ค. AGPL์€ ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค๋กœ ์ œ๊ณตํ•  ๋•Œ๋„ ์†Œ์Šค ๊ณต๊ฐœ๋ฅผ ์š”๊ตฌํ•˜๋Š” ๊ฐ•ํ•œ
์นดํ”ผ๋ ˆํ”„ํŠธ๋ผ, ์ด ํŒจํ‚ค์ง€๋ฅผ ์ œํ’ˆ์— ๋„ฃ์œผ๋ฉด ๋ผ์ด์„ ์Šค๊ฐ€ ์ „์—ผ๋œ๋‹ค.

Apache-2.0 ์ธ ๊ฐ€์ค‘์น˜๋งŒ ONNX๋กœ ๋ณ€ํ™˜ํ•ด `onnxruntime`(MIT)์œผ๋กœ ์‹คํ–‰ํ•˜๋ฉด
๋™์ผํ•œ ์„ฑ๋Šฅ์„ ์œ ์ง€ํ•˜๋ฉด์„œ AGPL ์ฝ”๋“œ๋ฅผ ๋ฐฐํฌ๋ฌผ์—์„œ ์ œ์™ธํ•  ์ˆ˜ ์žˆ๋‹ค.

## ์›๋ณธ ๋Œ€๋น„ ๋ณ€๊ฒฝ์‚ฌํ•ญ (Apache-2.0 ยง4 ๊ณ ์ง€)

- ์›๋ณธ: `juliozhao/DocLayout-YOLO-DocStructBench` (revision `8c3299a30b8ff29a1503c4431b035b93220f7b11`) ์˜ `doclayout_yolo_docstructbench_imgsz1024.pt`
- ๋ณ€๊ฒฝ: PyTorch `.pt` โ†’ ONNX ๊ทธ๋ž˜ํ”„๋กœ ๋‚ด๋ณด๋‚ด๊ธฐ๋งŒ ์ˆ˜ํ–‰. ๊ฐ€์ค‘์น˜ ๊ฐ’ ๋ณ€๊ฒฝ ์—†์Œ
- ๋ณ€ํ™˜ ์„ค์ •: `imgsz=1024`, `opset=17`, `simplify=False`
- ๋ณ€ํ™˜ ๋„๊ตฌ: doclayout-yolo 0.0.4, torch 2.11.0, onnx 1.22.0

## ์ž…์ถœ๋ ฅ

| | ํ˜•ํƒœ | ์„ค๋ช… |
|---|---|---|
| ์ž…๋ ฅ `images` | `[1, 3, 1024, 1024]` float32 | letterbox(ํŒจ๋”ฉ๊ฐ’ 114) ํ›„ 0~1 ์ •๊ทœํ™”ํ•œ RGB |
| ์ถœ๋ ฅ `output0` | `[1, 300, 6]` float32 | `(x1, y1, x2, y2, confidence, class_id)` |

YOLOv10 ๊ณ„์—ด์ด๋ผ NMS๊ฐ€ ๋ชจ๋ธ ์•ˆ์— ์—†๋‹ค(NMS-free). ์ถœ๋ ฅ์ด ์ด๋ฏธ ์ตœ์ข… ๊ฒ€์ถœ ๊ฒฐ๊ณผ์ด๋ฏ€๋กœ
ํ›„์ฒ˜๋ฆฌ๋Š” ์ขŒํ‘œ ์—ญ๋ณ€ํ™˜๊ณผ ์ž„๊ณ„๊ฐ’ ํ•„ํ„ฐ๋ฟ์ด๋‹ค.

## ํด๋ž˜์Šค (10์ข…, ์ˆœ์„œ ๊ณ ์ •)

```
0 title            5 table
1 plain text       6 table_caption
2 abandon          7 table_footnote
3 figure           8 isolate_formula
4 figure_caption   9 formula_caption
```

## ์‚ฌ์šฉ ์˜ˆ

```python
import cv2, numpy as np, onnxruntime as ort
from PIL import Image

session = ort.InferenceSession("doclayout_yolo_docstructbench_imgsz1024.onnx",
                               providers=["CPUExecutionProvider"])
# letterbox ์ „์ฒ˜๋ฆฌ๋Š” ultralytics ์™€ ๋™์ผํ•ด์•ผ ์ขŒํ‘œ๊ฐ€ ๋งž๋Š”๋‹ค (cv2 INTER_LINEAR, ํŒจ๋”ฉ 114)
```

์ „์ฒด ๊ตฌํ˜„์€ [๊ณจ๋“ ๋งํฌ OCR ๋ชจ๋“ˆ](https://github.com/podongchip-stack/AIRookie/tree/feature/info/ocr)์˜
`src/goldenlink_ocr/layout.py` ์ฐธ๊ณ .

## ๋ผ์ด์„ ์Šค

Apache License 2.0 โ€” ์›๋ณธ ์ €์ž‘์ž์˜ ๋ผ์ด์„ ์Šค๋ฅผ ๊ทธ๋Œ€๋กœ ๋”ฐ๋ฅธ๋‹ค.
์›์ €์ž‘๊ถŒ์€ [juliozhao/DocLayout-YOLO-DocStructBench](https://huggingface.co/juliozhao/DocLayout-YOLO-DocStructBench) ์˜ ์ €์ž‘์ž์—๊ฒŒ ์žˆ๋‹ค.