DocLayNet em 10%: ablação de data augmentationDocLayNet at 10%: a data augmentation ablation

Python Detectron2 0.6 PyTorch Mask R-CNN R50 Document Layout Analysis MAC5768 (IME-USP)

Material suplementar do artigo final da disciplina MAC5768 do IME-USP, "Data augmentation ajuda na análise de layout de documentos? Um estudo empírico sobre o DocLayNet em escala reduzida". Os autores do DocLayNet (KDD'22) especulam que seus baselines se beneficiariam de data augmentation, mas não fazem esse experimento. Este estudo preenche essa lacuna. Supplementary material for the final paper of IME-USP's MAC5768 course, "Does data augmentation help document layout analysis? An empirical study on DocLayNet at reduced scale" (in Portuguese). The DocLayNet authors (KDD'22) speculate that their baselines would benefit from data augmentation but never run that experiment. This study fills that gap.

Ver no GitHubView on GitHub Ler o artigo (PDF)Read the paper (PDF)

MétodoMethod

Resultados da ablaçãoAblation results

Augmentation mAP Δ vs baselineΔ vs baseline
nenhuma (baseline, 3 seeds)none (baseline, 3 seeds)61,7 ± 0,561.7 ± 0.5—
fotométricaphotometric62,262.2+0,5 (dentro do ruído)+0.5 (within noise)
convoluçãoconvolution61,061.0−0,7 (na borda do ruído)−0.7 (at the edge of noise)
geométricageometric59,859.8−1,9−1.9
todas (2 seeds)all (2 seeds)58,258.2−3,5−3.5
Gráfico da ablação de data augmentation

Nenhuma família melhora o resultado. A degradação se concentra no AP75, enquanto o AP50 fica estável ou levemente acima do baseline, o que indica perda de precisão de localização, e não de capacidade de detecção. No family improves the result. The degradation is concentrated in AP75, while AP50 stays stable or slightly above the baseline, which points to a loss of localization precision rather than of detection ability.

Vazamento: split por documento vs por páginaLeakage: document-level vs page-level split

O estudo reproduz o experimento de vazamento do artigo original, acrescentando um controle num conjunto neutro. Particionar os mesmos dados por página, em vez de por documento, infla o mAP em 18,4 pontos na validação interna (81,4 contra 62,9), mas os dois modelos ficam indistinguíveis quando avaliados no val oficial (60,7 contra 61,3). The study reproduces the original paper's leakage experiment, adding a control on a neutral set. Splitting the same data by page instead of by document inflates mAP by 18.4 points on the internal validation (81.4 vs 62.9), yet both models are indistinguishable when evaluated on the official val set (60.7 vs 61.3).

Gráfico do experimento de vazamento

ConclusãoConclusion

Para páginas digitais limpas como as do DocLayNet, augmentation que simula degradação de digitalização não ajuda, e o protocolo de particionamento pesa mais sobre a métrica do que qualquer intervenção feita no treino. For clean digital pages like DocLayNet's, augmentation that simulates scanning degradation does not help, and the splitting protocol weighs more on the metric than any training intervention we made.

ReproduçãoReproduction

# subset de treino determinístico (seed 42)deterministic training subset (seed 42)
$ python scripts/sample_fraction.py \
    --coco data/DocLayNet_core/COCO/train.json \
    --fraction 0.10 --seed 42 --out data/subsets/train_10pct_seed42

# fila da ablação, uma instância por GPUablation queue, one instance per GPU
$ ./scripts/run_queue.sh 0
$ ./scripts/run_queue.sh 1

# junta os mAPs numa tabelacollect mAPs into a table
$ python scripts/collect_results.py