Skip to content
Snippets Groups Projects
Commit 86163b14 authored by Manon Blanco's avatar Manon Blanco Committed by Mélodie Boillet
Browse files

Remove DPIAdjusting transform

parent d82ed3d6
No related branches found
No related tags found
1 merge request!158Remove DPIAdjusting transform
......@@ -347,19 +347,6 @@ def apply_preprocessing(sample, preprocessings):
resize_ratio = [1, 1]
img = sample["img"]
for preprocessing in preprocessings:
if preprocessing["type"] == "dpi":
ratio = preprocessing["target"] / preprocessing["source"]
temp_img = img
h, w, c = temp_img.shape
temp_img = cv2.resize(
temp_img, (int(np.ceil(w * ratio)), int(np.ceil(h * ratio)))
)
if len(temp_img.shape) == 2:
temp_img = np.expand_dims(temp_img, axis=2)
img = temp_img
resize_ratio = [ratio, ratio]
if preprocessing["type"] == "to_grayscaled":
temp_img = img
h, w, c = temp_img.shape
......
......@@ -20,22 +20,6 @@ from torchvision.transforms import (
from torchvision.transforms.functional import InterpolationMode
class DPIAdjusting:
"""
Resolution modification
"""
def __init__(self, factor):
self.factor = factor
def __call__(self, x):
w, h = x.size
return x.resize(
(int(np.ceil(w * self.factor)), int(np.ceil(h * self.factor))),
Image.BILINEAR,
)
class Dilation:
"""
OCR: stroke width increasing
......@@ -175,33 +159,8 @@ def get_list_augmenters(img, aug_configs, fill_value):
for aug_config in aug_configs:
if rand((1,)) > aug_config["proba"]:
continue
if aug_config["type"] == "dpi":
valid_factor = False
while not valid_factor:
factor = Uniform(
aug_config["min_factor"], aug_config["max_factor"]
).sample()
valid_factor = not (
(
"max_width" in aug_config
and factor * img.size[0] > aug_config["max_width"]
)
or (
"max_height" in aug_config
and factor * img.size[1] > aug_config["max_height"]
)
or (
"min_width" in aug_config
and factor * img.size[0] < aug_config["min_width"]
)
or (
"min_height" in aug_config
and factor * img.size[1] < aug_config["min_height"]
)
)
augmenters.append(DPIAdjusting(factor))
elif aug_config["type"] == "zoom_ratio":
if aug_config["type"] == "zoom_ratio":
ratio_h = Uniform(
aug_config["min_ratio_h"], aug_config["max_ratio_h"]
).sample()
......@@ -340,12 +299,6 @@ def aug_config(proba_use_da, p):
"order": "random",
"proba": proba_use_da,
"augmentations": [
{
"type": "dpi",
"proba": p,
"min_factor": 0.75,
"max_factor": 1,
},
{
"type": "perspective",
"proba": p,
......
......@@ -23,14 +23,6 @@ All hyperparameters are specified and editable in the training scripts (meaning
Preprocessing is applied before training the network (see `dan/manager/dataset.py`).
The following transformations are implemented:
* DPI adjustment
```py
{
"type": "dpi",
"source": 300,
"target": 150,
}
```
* Convert to grayscale
```py
{
......@@ -80,7 +72,6 @@ Augmentation transformations are applied on-the-fly during training to artificia
The following transformations are implemented in `dan/transforms.py`:
* Color inversion
* DPI adjusting
* Dilation and erosion
* Elastic distortion
* Reducing interline spacing
......@@ -100,13 +91,6 @@ The following configuration is used by default when using the `teklia-dan train
"order": "random",
"proba": 0.9,
"augmentations": [
{
"type": "dpi",
"proba": 0.1,
"min_factor": 0.75,
"max_factor": 1,
"preserve_ratio": True,
},
{
"type": "perspective",
"proba": 0.1,
......
Source diff could not be displayed: it is stored in LFS. Options to address this: view the blob.
Source diff could not be displayed: it is stored in LFS. Options to address this: view the blob.
......@@ -16,7 +16,7 @@ from tests.conftest import FIXTURES
"last_3.pt",
{
"nb_chars": 43,
"cer": 1.2791,
"cer": 1.2558,
"nb_words": 9,
"wer": 1.0,
"nb_words_no_punct": 9,
......@@ -34,7 +34,7 @@ from tests.conftest import FIXTURES
},
{
"nb_chars": 49,
"cer": 1.1429,
"cer": 1.1224,
"nb_words": 9,
"wer": 1.0,
"nb_words_no_punct": 9,
......@@ -99,7 +99,7 @@ def test_train_and_test(
assert torch.allclose(
trained_tensor,
expected_tensor,
atol=1e-04,
atol=1e-03,
)
assert (
trained_model[optimizer_part]["param_groups"]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment