AvoCahDoe/invoice-annotated-bbox
Viewer • Updated • 76 • 42
How to use AvoCahDoe/invoice-layout-yolov8x with ultralytics:
from ultralytics import YOLOvv8
model = YOLOvv8.from_pretrained("AvoCahDoe/invoice-layout-yolov8x")
source = 'http://images.cocodataset.org/val2017/000000039769.jpg'
model.predict(source=source, save=True)Fine-tuned YOLOv8x for 8-class invoice document layout region detection (metadata, vendor/customer blocks, table, line items, summary, payment, column headers).
Part of the Hub collection Invoice Layout Extraction.
| Property | Value |
|---|---|
| Architecture | YOLOv8x (68.2M params, 257.8 GFLOPs) |
| Base weights | ultralytics/yolov8x |
| Input size | 1024 px |
| Classes | 8 layout regions |
| Training epochs | 100 (best @ epoch 100) |
| Optimizer | AdamW |
| Dataset | AvoCahDoe/invoice-annotated-bbox |
| Demo Space | AvoCahDoe/invoice-layout-yolov8n-demo |
| Train / val / test | 372 / 14 / 7 pages |
| ID | Name |
|---|---|
| 0 | invoice_metadata |
| 1 | vendor_block |
| 2 | customer_block |
| 3 | table_block |
| 4 | line_item |
| 5 | summary_block |
| 6 | payment_block |
| 7 | Column |
| Metric | Value |
|---|---|
| mAP50 | 0.8757 |
| mAP50-95 | 0.6224 |
| Precision | 0.9144 |
| Recall | 0.8735 |
| Metric | Best | Final (epoch 100) |
|---|---|---|
| mAP50 | 0.8767 | 0.8767 |
| mAP50-95 | 0.6016 | 0.6016 |
| Precision | 0.9213 | 0.9213 |
| Recall | 0.7415 | 0.7415 |
Training time: ~85.4 min on RTX 4070 Laptop GPU.
| Parameter | Value |
|---|---|
| Batch | 2 |
| Image size | 1024 |
| Patience | 25 |
| LR (cosine) | 0.01 → 0.01 |
| Mosaic | 1.0 |
| Mixup | 0.15 |
| Copy-paste | 0.1 |
| Horizontal flip | 0.0 |
from ultralytics import YOLO
from huggingface_hub import hf_hub_download
weights = hf_hub_download("AvoCahDoe/invoice-layout-yolov8x", "weights/best.pt")
model = YOLO(weights)
results = model.predict("invoice_page.png", imgsz=1024, conf=0.25)
results[0].show()
from ultralytics import YOLO
model = YOLO("hf://AvoCahDoe/invoice-layout-yolov8x/weights/best.pt")
results = model.predict("invoice_page.png")
python scripts/train_comparison.py --models yolov8x
weights/best.pt # Best checkpoint (use this)
weights/last.pt # Last epoch checkpoint
config/ # Training configuration
metrics/ # Per-epoch and summary metrics
assets/ # Plots and visualizations
All six architectures fine-tuned on the same invoice layout dataset.
| Rank | Model | test mAP50 | test mAP50-95 | Precision | Recall | Hub |
|---|---|---|---|---|---|---|
| 1 | yolov8n |
0.9600 | 0.7167 | 0.9502 | 0.9592 | YOLOv8n |
| 2 | yolov8s |
0.9006 | 0.6739 | 0.9419 | 0.8677 | YOLOv8s |
| 3 | yolov8x ← this model |
0.8757 | 0.6224 | 0.9144 | 0.8735 | YOLOv8x |
| 4 | yolo11x |
0.8738 | 0.6127 | 0.9484 | 0.8530 | YOLO11x |
| 5 | yolo11m |
0.8418 | 0.4926 | 0.9033 | 0.8466 | YOLO11m |
| 6 | yolov8m |
0.8388 | 0.5289 | 0.9077 | 0.8580 | YOLOv8m |
Apache 2.0