From 8112af8668c9867efff64319257f706a9dff3ded Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sol=C3=A8ne=20Tarride?= <starride@teklia.com>
Date: Mon, 10 Jul 2023 07:12:09 +0000
Subject: [PATCH] Remove PiecewiseAffine augmentation transform

---
 dan/transforms.py                    | 12 ++----------
 docs/usage/train/augmentation.md     |  2 +-
 docs/usage/train/parameters.md       | 12 +-----------
 tests/data/training/models/best_0.pt |  2 +-
 tests/data/training/models/last_3.pt |  2 +-
 5 files changed, 6 insertions(+), 24 deletions(-)

diff --git a/dan/transforms.py b/dan/transforms.py
index 9c2ed868..0ad4420d 100644
--- a/dan/transforms.py
+++ b/dan/transforms.py
@@ -6,7 +6,7 @@ from enum import Enum
 from random import randint
 
 import numpy as np
-from albumentations import OneOf, SomeOf
+from albumentations import SomeOf
 from albumentations.augmentations import (
     Affine,
     CoarseDropout,
@@ -16,7 +16,6 @@ from albumentations.augmentations import (
     GaussianBlur,
     GaussNoise,
     Perspective,
-    PiecewiseAffine,
     Sharpen,
     ToGray,
 )
@@ -180,14 +179,7 @@ def get_augmentation_transforms() -> SomeOf:
             GaussianBlur(sigma_limit=2.5),
             GaussNoise(var_limit=50**2),
             ColorJitter(contrast=0.2, brightness=0.2, saturation=0.2, hue=0.2),
-            OneOf(
-                [
-                    ElasticTransform(
-                        alpha=20.0, sigma=5.0, alpha_affine=1.0, border_mode=0
-                    ),
-                    PiecewiseAffine(scale=(0.01, 0.04), nb_rows=1, nb_cols=4),
-                ]
-            ),
+            ElasticTransform(alpha=20.0, sigma=5.0, alpha_affine=1.0, border_mode=0),
             Sharpen(alpha=(0.0, 1.0)),
             ErosionDilation(min_kernel=1, max_kernel=4, iterations=1),
             Affine(shear={"x": (-20, 20), "y": (0, 0)}),
diff --git a/docs/usage/train/augmentation.md b/docs/usage/train/augmentation.md
index ff68a8a2..3edb0704 100644
--- a/docs/usage/train/augmentation.md
+++ b/docs/usage/train/augmentation.md
@@ -15,6 +15,7 @@ This page lists data augmentation transforms used in DAN.
 | CPU time (seconds/10 images) | 0.44 (3013x128 pixels) / 0.86 (1116x581 pixels)                                                                                                                                                |
 
 ### PieceWise Affine
+:warning: This transform is temporarily removed from the pipeline until [this issue](https://github.com/albumentations-team/albumentations/issues/1442) is fixed.
 
 |                              | PieceWise Affine                                                                                                                                                                              |
 | ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -128,7 +129,6 @@ This page lists data augmentation transforms used in DAN.
 
 * Data augmentation is applied with a probability of 0.9.
 * In this case, two transformations are randomly selected to be applied.
-*  `ElasticTransform` and `PieceWiseAffine` cannot be applied on the same image.
 * Reproducibility is possible by setting `random.seed` and `np.random.seed` (already done in `dan/ocr/document/train.py`)
 * Examples with new pipeline:
 
diff --git a/docs/usage/train/parameters.md b/docs/usage/train/parameters.md
index f7560051..562966dc 100644
--- a/docs/usage/train/parameters.md
+++ b/docs/usage/train/parameters.md
@@ -97,17 +97,7 @@ transforms = SomeOf(
         GaussianBlur(sigma_limit=2.5),
         GaussNoise(var_limit=50**2),
         ColorJitter(contrast=0.2, brightness=0.2, saturation=0.2, hue=0.2),
-        OneOf(
-            [
-                ElasticTransform(
-                    alpha=20.0,
-                    sigma=5.0,
-                    alpha_affine=1.0,
-                    border_mode=0,
-                ),
-                PiecewiseAffine(scale=(0.01, 0.04), nb_rows=1, nb_cols=4),
-            ]
-        ),
+        ElasticTransform(alpha=20.0, sigma=5.0, alpha_affine=1.0, border_mode=0),
         Sharpen(alpha=(0.0, 1.0)),
         ErosionDilation(min_kernel=1, max_kernel=4, iterations=1),
         Affine(shear={"x": (-20, 20), "y": (0, 0)}),
diff --git a/tests/data/training/models/best_0.pt b/tests/data/training/models/best_0.pt
index 403e6b77..0a64dc36 100644
--- a/tests/data/training/models/best_0.pt
+++ b/tests/data/training/models/best_0.pt
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:d8f8e2cc5d46a97b27382ca32510bfd8a688e330c32bd0dad9ab6c8e6a0679c1
+oid sha256:c6c70bcb4f97182b750d0ed206725c0f5e28b494907ee7d993aac210ce0b2bb8
 size 84773087
diff --git a/tests/data/training/models/last_3.pt b/tests/data/training/models/last_3.pt
index ba7b4069..abd80b84 100644
--- a/tests/data/training/models/last_3.pt
+++ b/tests/data/training/models/last_3.pt
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:076377d7446e3a908fe98c10f2d2042ad7e575b2d92fe7a21ac132610b96b49f
+oid sha256:851fabb41bc61e79edff2db4edbb477005181bafa58eb21f115e139eee91cb67
 size 84773087
-- 
GitLab