From 4c02e942b5791c1200b23386c15c2d9741778040 Mon Sep 17 00:00:00 2001 From: Igor Cichecki Date: Wed, 22 Dec 2021 22:13:46 +0200 Subject: [PATCH 01/13] refactor: rename ModificationInterface to ModificationSpecification to emphasize inpiration by specification pattern --- src/dfd/datasets/frames_generators/modification.py | 10 +++++----- src/dfd/datasets/modifications/definitions/clahe.py | 4 ++-- .../modifications/definitions/gamma_correction.py | 4 ++-- .../modifications/definitions/gaussian_blur.py | 4 ++-- .../modifications/definitions/gaussian_noise.py | 4 ++-- .../definitions/histogram_equalization.py | 4 ++-- src/dfd/datasets/modifications/definitions/identity.py | 4 ++-- .../modifications/definitions/median_filter.py | 4 ++-- .../modifications/definitions/red_eyes_effect.py | 4 ++-- src/dfd/datasets/modifications/interfaces.py | 2 +- src/dfd/datasets/modifications/register.py | 6 +++--- 11 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/dfd/datasets/frames_generators/modification.py b/src/dfd/datasets/frames_generators/modification.py index 82e5c3e..e71a948 100644 --- a/src/dfd/datasets/frames_generators/modification.py +++ b/src/dfd/datasets/frames_generators/modification.py @@ -9,7 +9,7 @@ from dfd.exceptions import DfdError from dfd.datasets.modifications.definitions import IdentityModification -from dfd.datasets.modifications.interfaces import ModificationInterface +from dfd.datasets.modifications.interfaces import ModificationSpecification from dfd.datasets.modifications.register import ModificationRegister from dfd.datasets.settings import GeneratorSettings @@ -17,7 +17,7 @@ class ModificationShare(NamedTuple): """Share of frames on which modification will be performed.""" - modification: ModificationInterface + modification: ModificationSpecification share: float @@ -31,7 +31,7 @@ class ModificationRange(NamedTuple): """ - modification: ModificationInterface + modification: ModificationSpecification lower_bound: int upper_bound: int @@ -117,7 +117,7 @@ def _get_modifications_share(self) -> List[ModificationShare]: return modifications_share @staticmethod - def _check_modifications_are_unique(modifications: List[ModificationInterface]): + def _check_modifications_are_unique(modifications: List[ModificationSpecification]): """Check if modifications are unique. Raises: @@ -160,7 +160,7 @@ def _get_frames_permutation(self, no_frames: int) -> np.ndarray: def _choose_modification( self, frame_index: int, input_frame_path: pathlib.Path, no_frames: int - ) -> ModificationInterface: + ) -> ModificationSpecification: frames_permutation = self._get_frames_permutation(no_frames) modifications_range = self._get_modifications_range(no_frames) permuted_index = frames_permutation[frame_index] diff --git a/src/dfd/datasets/modifications/definitions/clahe.py b/src/dfd/datasets/modifications/definitions/clahe.py index 3ea8787..0214219 100644 --- a/src/dfd/datasets/modifications/definitions/clahe.py +++ b/src/dfd/datasets/modifications/definitions/clahe.py @@ -3,10 +3,10 @@ import cv2 as cv import numpy as np -from dfd.datasets.modifications.interfaces import ModificationInterface +from dfd.datasets.modifications.interfaces import ModificationSpecification -class CLAHEModification(ModificationInterface): +class CLAHEModification(ModificationSpecification): """Modification CLAHE (Contrast Limited Adaptive Histogram Equalization)""" def __init__(self, clip_limit: float, grid_width: int, grid_height: int) -> None: diff --git a/src/dfd/datasets/modifications/definitions/gamma_correction.py b/src/dfd/datasets/modifications/definitions/gamma_correction.py index cc4d81b..6c7d795 100644 --- a/src/dfd/datasets/modifications/definitions/gamma_correction.py +++ b/src/dfd/datasets/modifications/definitions/gamma_correction.py @@ -2,10 +2,10 @@ import cv2 as cv import numpy as np -from dfd.datasets.modifications.interfaces import ModificationInterface +from dfd.datasets.modifications.interfaces import ModificationSpecification -class GammaCorrectionModification(ModificationInterface): +class GammaCorrectionModification(ModificationSpecification): """Modification Gamma Correction.""" def __init__(self, gamma_value: float) -> None: diff --git a/src/dfd/datasets/modifications/definitions/gaussian_blur.py b/src/dfd/datasets/modifications/definitions/gaussian_blur.py index 12e7183..334f0b2 100644 --- a/src/dfd/datasets/modifications/definitions/gaussian_blur.py +++ b/src/dfd/datasets/modifications/definitions/gaussian_blur.py @@ -3,10 +3,10 @@ import cv2 as cv import numpy as np -from dfd.datasets.modifications.interfaces import ModificationInterface +from dfd.datasets.modifications.interfaces import ModificationSpecification -class GaussianBlurModification(ModificationInterface): +class GaussianBlurModification(ModificationSpecification): """Modification Gaussian blur (AKA Gaussian smoothing).""" def __init__( diff --git a/src/dfd/datasets/modifications/definitions/gaussian_noise.py b/src/dfd/datasets/modifications/definitions/gaussian_noise.py index 34878f0..f922975 100644 --- a/src/dfd/datasets/modifications/definitions/gaussian_noise.py +++ b/src/dfd/datasets/modifications/definitions/gaussian_noise.py @@ -2,10 +2,10 @@ import numpy as np -from dfd.datasets.modifications.interfaces import ModificationInterface +from dfd.datasets.modifications.interfaces import ModificationSpecification -class GaussianNoiseModification(ModificationInterface): +class GaussianNoiseModification(ModificationSpecification): """Modification Gaussian noise.""" def __init__( diff --git a/src/dfd/datasets/modifications/definitions/histogram_equalization.py b/src/dfd/datasets/modifications/definitions/histogram_equalization.py index 49d3b25..f791776 100644 --- a/src/dfd/datasets/modifications/definitions/histogram_equalization.py +++ b/src/dfd/datasets/modifications/definitions/histogram_equalization.py @@ -3,10 +3,10 @@ import cv2 as cv import numpy as np -from dfd.datasets.modifications.interfaces import ModificationInterface +from dfd.datasets.modifications.interfaces import ModificationSpecification -class HistogramEqualizationModification(ModificationInterface): +class HistogramEqualizationModification(ModificationSpecification): """Modification Histogram Equalization.""" def perform(self, image: np.ndarray) -> np.ndarray: diff --git a/src/dfd/datasets/modifications/definitions/identity.py b/src/dfd/datasets/modifications/definitions/identity.py index a2302f5..3c612ff 100644 --- a/src/dfd/datasets/modifications/definitions/identity.py +++ b/src/dfd/datasets/modifications/definitions/identity.py @@ -1,10 +1,10 @@ """Modification Identity.""" import numpy as np -from dfd.datasets.modifications.interfaces import ModificationInterface +from dfd.datasets.modifications.interfaces import ModificationSpecification -class IdentityModification(ModificationInterface): +class IdentityModification(ModificationSpecification): """Modification Identity.""" def perform(self, image: np.ndarray) -> np.ndarray: diff --git a/src/dfd/datasets/modifications/definitions/median_filter.py b/src/dfd/datasets/modifications/definitions/median_filter.py index 8a84b66..f176d95 100644 --- a/src/dfd/datasets/modifications/definitions/median_filter.py +++ b/src/dfd/datasets/modifications/definitions/median_filter.py @@ -3,10 +3,10 @@ import cv2 as cv import numpy as np -from dfd.datasets.modifications.interfaces import ModificationInterface +from dfd.datasets.modifications.interfaces import ModificationSpecification -class MedianFilterModification(ModificationInterface): +class MedianFilterModification(ModificationSpecification): """Modification Median filter.""" def __init__(self, aperture_size: int) -> None: diff --git a/src/dfd/datasets/modifications/definitions/red_eyes_effect.py b/src/dfd/datasets/modifications/definitions/red_eyes_effect.py index e3cf2ea..d5d34d9 100644 --- a/src/dfd/datasets/modifications/definitions/red_eyes_effect.py +++ b/src/dfd/datasets/modifications/definitions/red_eyes_effect.py @@ -5,7 +5,7 @@ import dlib import numpy as np -from dfd.datasets.modifications.interfaces import ModificationInterface +from dfd.datasets.modifications.interfaces import ModificationSpecification def _convert_dlib_shape_to_np_array(dlib_shape) -> np.array: @@ -21,7 +21,7 @@ def _convert_dlib_shape_to_np_array(dlib_shape) -> np.array: return np.array([[point.x, point.y] for point in dlib_shape.parts()], dtype="int") -class RedEyesEffectModification(ModificationInterface): +class RedEyesEffectModification(ModificationSpecification): """Modification red-eyes effect.""" def __init__(self, face_landmarks_detector_path: str, brightness_threshold: int = 50) -> None: diff --git a/src/dfd/datasets/modifications/interfaces.py b/src/dfd/datasets/modifications/interfaces.py index bbd79a6..95848f9 100644 --- a/src/dfd/datasets/modifications/interfaces.py +++ b/src/dfd/datasets/modifications/interfaces.py @@ -4,7 +4,7 @@ import numpy as np -class ModificationInterface(abc.ABC): +class ModificationSpecification(abc.ABC): """Modification interface.""" @classmethod diff --git a/src/dfd/datasets/modifications/register.py b/src/dfd/datasets/modifications/register.py index 5b513f6..d239995 100644 --- a/src/dfd/datasets/modifications/register.py +++ b/src/dfd/datasets/modifications/register.py @@ -11,9 +11,9 @@ MedianFilterModification, RedEyesEffectModification, ) -from .interfaces import ModificationInterface +from .interfaces import ModificationSpecification -NameToModificationTypeMap = Dict[str, Type[ModificationInterface]] +NameToModificationTypeMap = Dict[str, Type[ModificationSpecification]] class ModificationRegister: @@ -44,7 +44,7 @@ def default(cls) -> "ModificationRegister": {modification.name(): modification for modification in default_modifications}, ) - def get_modification_class(self, modification_name: str) -> Type[ModificationInterface]: + def get_modification_class(self, modification_name: str) -> Type[ModificationSpecification]: """Get registered modification via name. Raises: From 3c4200cc7aca094b8bfc772d766402f8dd352cdd Mon Sep 17 00:00:00 2001 From: Igor Cichecki Date: Thu, 23 Dec 2021 15:07:26 +0200 Subject: [PATCH 02/13] refactor: rename name to class_name in ModificationInterface --- src/dfd/datasets/modifications/interfaces.py | 8 ++++++-- src/dfd/datasets/modifications/register.py | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/dfd/datasets/modifications/interfaces.py b/src/dfd/datasets/modifications/interfaces.py index 95848f9..6fd37cd 100644 --- a/src/dfd/datasets/modifications/interfaces.py +++ b/src/dfd/datasets/modifications/interfaces.py @@ -8,9 +8,13 @@ class ModificationSpecification(abc.ABC): """Modification interface.""" @classmethod - def name(cls) -> str: - """Returns modification name.""" + def class_name(cls) -> str: + """Get class name. + Returns: + Modification class name. + + """ return cls.__name__ @abc.abstractmethod diff --git a/src/dfd/datasets/modifications/register.py b/src/dfd/datasets/modifications/register.py index d239995..27eeed5 100644 --- a/src/dfd/datasets/modifications/register.py +++ b/src/dfd/datasets/modifications/register.py @@ -41,7 +41,7 @@ def default(cls) -> "ModificationRegister": } return cls( - {modification.name(): modification for modification in default_modifications}, + {modification.class_name(): modification for modification in default_modifications}, ) def get_modification_class(self, modification_name: str) -> Type[ModificationSpecification]: From dd4dfdbf627b147534ccda95a52f3afdf49ca9af Mon Sep 17 00:00:00 2001 From: Igor Cichecki Date: Mon, 27 Dec 2021 17:31:07 +0200 Subject: [PATCH 03/13] feaure: allow to chain modifications based on specification pattern --- src/dfd/datasets/modifications/interfaces.py | 46 +++++++++++++++++++- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/src/dfd/datasets/modifications/interfaces.py b/src/dfd/datasets/modifications/interfaces.py index 6fd37cd..e93078c 100644 --- a/src/dfd/datasets/modifications/interfaces.py +++ b/src/dfd/datasets/modifications/interfaces.py @@ -1,11 +1,32 @@ """Interfaces used in modifications package.""" +from __future__ import annotations + import abc import numpy as np class ModificationSpecification(abc.ABC): - """Modification interface.""" + """Base class for modification used to alter frames. + + Design is loosely inspired by specification pattern. + + """ + + def __call__(self, image: np.ndarray): + """Perform modifications, convenience overwrite of dunder method. + + Args: + image: OpenCV image that will be modified. + + Returns: + Modified image. + + """ + return self.perform(image) + + def __and__(self, other: ModificationSpecification) -> _AndSpecification: + return _AndSpecification(self, other) @classmethod def class_name(cls) -> str: @@ -19,7 +40,7 @@ def class_name(cls) -> str: @abc.abstractmethod def perform(self, image: np.ndarray) -> np.ndarray: - """Perform modification on image. + """Perform modification defined in specification. Args: image: OpenCV image. @@ -27,3 +48,24 @@ def perform(self, image: np.ndarray) -> np.ndarray: Returns: Modified image. """ + + +class _AndSpecification(ModificationSpecification): + """Combine two modification specifications.""" + + def __init__( + self, first_spec: ModificationSpecification, sec_spec: ModificationSpecification + ) -> None: + self._first_spec = first_spec + self._sec_spec = sec_spec + + def perform(self, image: np.ndarray) -> np.ndarray: + """Apply modifications defined in both specifications. + + Modifications are applied in order left -> right. + + Returns: + Modified image. + + """ + return self._sec_spec(self._first_spec(image)) From 3333f5a152418a7389433452162ea459a5c59343 Mon Sep 17 00:00:00 2001 From: Igor Cichecki Date: Tue, 28 Dec 2021 15:57:34 +0200 Subject: [PATCH 04/13] refactor: rename module modifications.interfaces into modifications.specification to better reflect it current purpose --- src/dfd/datasets/frames_generators/modification.py | 2 +- src/dfd/datasets/modifications/definitions/clahe.py | 2 +- src/dfd/datasets/modifications/definitions/gamma_correction.py | 2 +- src/dfd/datasets/modifications/definitions/gaussian_blur.py | 2 +- src/dfd/datasets/modifications/definitions/gaussian_noise.py | 2 +- .../modifications/definitions/histogram_equalization.py | 2 +- src/dfd/datasets/modifications/definitions/identity.py | 2 +- src/dfd/datasets/modifications/definitions/median_filter.py | 2 +- src/dfd/datasets/modifications/definitions/red_eyes_effect.py | 2 +- src/dfd/datasets/modifications/register.py | 2 +- .../datasets/modifications/{interfaces.py => specification.py} | 0 11 files changed, 10 insertions(+), 10 deletions(-) rename src/dfd/datasets/modifications/{interfaces.py => specification.py} (100%) diff --git a/src/dfd/datasets/frames_generators/modification.py b/src/dfd/datasets/frames_generators/modification.py index e71a948..04819fa 100644 --- a/src/dfd/datasets/frames_generators/modification.py +++ b/src/dfd/datasets/frames_generators/modification.py @@ -9,7 +9,7 @@ from dfd.exceptions import DfdError from dfd.datasets.modifications.definitions import IdentityModification -from dfd.datasets.modifications.interfaces import ModificationSpecification +from dfd.datasets.modifications.specification import ModificationSpecification from dfd.datasets.modifications.register import ModificationRegister from dfd.datasets.settings import GeneratorSettings diff --git a/src/dfd/datasets/modifications/definitions/clahe.py b/src/dfd/datasets/modifications/definitions/clahe.py index 0214219..3f3c446 100644 --- a/src/dfd/datasets/modifications/definitions/clahe.py +++ b/src/dfd/datasets/modifications/definitions/clahe.py @@ -3,7 +3,7 @@ import cv2 as cv import numpy as np -from dfd.datasets.modifications.interfaces import ModificationSpecification +from dfd.datasets.modifications.specification import ModificationSpecification class CLAHEModification(ModificationSpecification): diff --git a/src/dfd/datasets/modifications/definitions/gamma_correction.py b/src/dfd/datasets/modifications/definitions/gamma_correction.py index 6c7d795..63e5e91 100644 --- a/src/dfd/datasets/modifications/definitions/gamma_correction.py +++ b/src/dfd/datasets/modifications/definitions/gamma_correction.py @@ -2,7 +2,7 @@ import cv2 as cv import numpy as np -from dfd.datasets.modifications.interfaces import ModificationSpecification +from dfd.datasets.modifications.specification import ModificationSpecification class GammaCorrectionModification(ModificationSpecification): diff --git a/src/dfd/datasets/modifications/definitions/gaussian_blur.py b/src/dfd/datasets/modifications/definitions/gaussian_blur.py index 334f0b2..63515d3 100644 --- a/src/dfd/datasets/modifications/definitions/gaussian_blur.py +++ b/src/dfd/datasets/modifications/definitions/gaussian_blur.py @@ -3,7 +3,7 @@ import cv2 as cv import numpy as np -from dfd.datasets.modifications.interfaces import ModificationSpecification +from dfd.datasets.modifications.specification import ModificationSpecification class GaussianBlurModification(ModificationSpecification): diff --git a/src/dfd/datasets/modifications/definitions/gaussian_noise.py b/src/dfd/datasets/modifications/definitions/gaussian_noise.py index f922975..96a79d2 100644 --- a/src/dfd/datasets/modifications/definitions/gaussian_noise.py +++ b/src/dfd/datasets/modifications/definitions/gaussian_noise.py @@ -2,7 +2,7 @@ import numpy as np -from dfd.datasets.modifications.interfaces import ModificationSpecification +from dfd.datasets.modifications.specification import ModificationSpecification class GaussianNoiseModification(ModificationSpecification): diff --git a/src/dfd/datasets/modifications/definitions/histogram_equalization.py b/src/dfd/datasets/modifications/definitions/histogram_equalization.py index f791776..0228940 100644 --- a/src/dfd/datasets/modifications/definitions/histogram_equalization.py +++ b/src/dfd/datasets/modifications/definitions/histogram_equalization.py @@ -3,7 +3,7 @@ import cv2 as cv import numpy as np -from dfd.datasets.modifications.interfaces import ModificationSpecification +from dfd.datasets.modifications.specification import ModificationSpecification class HistogramEqualizationModification(ModificationSpecification): diff --git a/src/dfd/datasets/modifications/definitions/identity.py b/src/dfd/datasets/modifications/definitions/identity.py index 3c612ff..474dd4e 100644 --- a/src/dfd/datasets/modifications/definitions/identity.py +++ b/src/dfd/datasets/modifications/definitions/identity.py @@ -1,7 +1,7 @@ """Modification Identity.""" import numpy as np -from dfd.datasets.modifications.interfaces import ModificationSpecification +from dfd.datasets.modifications.specification import ModificationSpecification class IdentityModification(ModificationSpecification): diff --git a/src/dfd/datasets/modifications/definitions/median_filter.py b/src/dfd/datasets/modifications/definitions/median_filter.py index f176d95..ba4b242 100644 --- a/src/dfd/datasets/modifications/definitions/median_filter.py +++ b/src/dfd/datasets/modifications/definitions/median_filter.py @@ -3,7 +3,7 @@ import cv2 as cv import numpy as np -from dfd.datasets.modifications.interfaces import ModificationSpecification +from dfd.datasets.modifications.specification import ModificationSpecification class MedianFilterModification(ModificationSpecification): diff --git a/src/dfd/datasets/modifications/definitions/red_eyes_effect.py b/src/dfd/datasets/modifications/definitions/red_eyes_effect.py index d5d34d9..556e3a0 100644 --- a/src/dfd/datasets/modifications/definitions/red_eyes_effect.py +++ b/src/dfd/datasets/modifications/definitions/red_eyes_effect.py @@ -5,7 +5,7 @@ import dlib import numpy as np -from dfd.datasets.modifications.interfaces import ModificationSpecification +from dfd.datasets.modifications.specification import ModificationSpecification def _convert_dlib_shape_to_np_array(dlib_shape) -> np.array: diff --git a/src/dfd/datasets/modifications/register.py b/src/dfd/datasets/modifications/register.py index 27eeed5..758b26f 100644 --- a/src/dfd/datasets/modifications/register.py +++ b/src/dfd/datasets/modifications/register.py @@ -11,7 +11,7 @@ MedianFilterModification, RedEyesEffectModification, ) -from .interfaces import ModificationSpecification +from .specification import ModificationSpecification NameToModificationTypeMap = Dict[str, Type[ModificationSpecification]] diff --git a/src/dfd/datasets/modifications/interfaces.py b/src/dfd/datasets/modifications/specification.py similarity index 100% rename from src/dfd/datasets/modifications/interfaces.py rename to src/dfd/datasets/modifications/specification.py From ca749049259aaccbd8d9ab4f6b561d3691576cfa Mon Sep 17 00:00:00 2001 From: Igor Cichecki Date: Wed, 29 Dec 2021 21:48:41 +0200 Subject: [PATCH 05/13] feat: add name to ModificationSpecification --- .../modifications/definitions/clahe.py | 14 ++++++++++-- .../definitions/gamma_correction.py | 12 +++++++++- .../definitions/gaussian_blur.py | 10 +++++++++ .../definitions/gaussian_noise.py | 10 +++++++++ .../definitions/histogram_equalization.py | 12 +++++++++- .../modifications/definitions/identity.py | 12 +++++++++- .../definitions/median_filter.py | 10 +++++++++ .../definitions/red_eyes_effect.py | 10 +++++++++ .../datasets/modifications/specification.py | 22 +++++++++++++++++-- 9 files changed, 105 insertions(+), 7 deletions(-) diff --git a/src/dfd/datasets/modifications/definitions/clahe.py b/src/dfd/datasets/modifications/definitions/clahe.py index 3f3c446..3409b90 100644 --- a/src/dfd/datasets/modifications/definitions/clahe.py +++ b/src/dfd/datasets/modifications/definitions/clahe.py @@ -21,6 +21,17 @@ def __init__(self, clip_limit: float, grid_width: int, grid_height: int) -> None self._clip_limit = clip_limit self._title_grid_size = (grid_width, grid_height) + @property + def name(self) -> str: + """Get specification name. + + Returns: + The name of specification. + + """ + width, height = self._title_grid_size + return f"clahe_{width}_{height}_{self._clip_limit}" + def perform(self, image: np.ndarray) -> np.ndarray: """Perform CLAHE on image. @@ -44,5 +55,4 @@ def perform(self, image: np.ndarray) -> np.ndarray: return cv.cvtColor(ycrcb_image, cv.COLOR_YCrCb2BGR) def __str__(self) -> str: - width, height = self._title_grid_size - return f"clahe_{width}_{height}_{self._clip_limit}" + return self.name diff --git a/src/dfd/datasets/modifications/definitions/gamma_correction.py b/src/dfd/datasets/modifications/definitions/gamma_correction.py index 63e5e91..9a8e0ca 100644 --- a/src/dfd/datasets/modifications/definitions/gamma_correction.py +++ b/src/dfd/datasets/modifications/definitions/gamma_correction.py @@ -17,6 +17,16 @@ def __init__(self, gamma_value: float) -> None: """ self._gamma_value = gamma_value + @property + def name(self) -> str: + """Get specification name. + + Returns: + The name of specification. + + """ + return f"gamma_correction_{self._gamma_value}" + def perform(self, image: np.ndarray) -> np.ndarray: """Perform gamma correction on provided image. @@ -38,4 +48,4 @@ def perform(self, image: np.ndarray) -> np.ndarray: return cv.LUT(image, look_up_table) def __str__(self) -> str: - return f"gamma_correction_{self._gamma_value}" + return self.name diff --git a/src/dfd/datasets/modifications/definitions/gaussian_blur.py b/src/dfd/datasets/modifications/definitions/gaussian_blur.py index 63515d3..ab14b03 100644 --- a/src/dfd/datasets/modifications/definitions/gaussian_blur.py +++ b/src/dfd/datasets/modifications/definitions/gaussian_blur.py @@ -30,6 +30,16 @@ def __init__( self._sigma_y = sigma_y def __str__(self) -> str: + return self.name + + @property + def name(self) -> str: + """Get specification name. + + Returns: + The name of specification. + + """ width, height = self._kernel_size return f"gaussian_blur{width}_{height}_{self._sigma_x}_{self._sigma_y}" diff --git a/src/dfd/datasets/modifications/definitions/gaussian_noise.py b/src/dfd/datasets/modifications/definitions/gaussian_noise.py index 96a79d2..cbccef0 100644 --- a/src/dfd/datasets/modifications/definitions/gaussian_noise.py +++ b/src/dfd/datasets/modifications/definitions/gaussian_noise.py @@ -24,6 +24,16 @@ def __init__( self._mean = mean self._standard_deviation = standard_deviation + @property + def name(self) -> str: + """Get specification name. + + Returns: + The name of specification. + + """ + return f"gaussian_noise{self._mean}_{self._standard_deviation}" + def perform(self, image: np.ndarray) -> np.ndarray: """Add Gaussian noise to provided image. diff --git a/src/dfd/datasets/modifications/definitions/histogram_equalization.py b/src/dfd/datasets/modifications/definitions/histogram_equalization.py index 0228940..513aff5 100644 --- a/src/dfd/datasets/modifications/definitions/histogram_equalization.py +++ b/src/dfd/datasets/modifications/definitions/histogram_equalization.py @@ -29,5 +29,15 @@ def perform(self, image: np.ndarray) -> np.ndarray: # Convert back to BGR return cv.cvtColor(ycrcb_image, cv.COLOR_YCrCb2BGR) - def __str__(self) -> str: + @property + def name(self) -> str: + """Get specification name. + + Returns: + The name of specification. + + """ return "histogram_equalization" + + def __str__(self) -> str: + return self.name diff --git a/src/dfd/datasets/modifications/definitions/identity.py b/src/dfd/datasets/modifications/definitions/identity.py index 474dd4e..58841c4 100644 --- a/src/dfd/datasets/modifications/definitions/identity.py +++ b/src/dfd/datasets/modifications/definitions/identity.py @@ -16,5 +16,15 @@ def perform(self, image: np.ndarray) -> np.ndarray: """ return image - def __str__(self) -> str: + @property + def name(self) -> str: + """Get specification name. + + Returns: + The name of specification. + + """ return "identity" + + def __str__(self) -> str: + return self.name diff --git a/src/dfd/datasets/modifications/definitions/median_filter.py b/src/dfd/datasets/modifications/definitions/median_filter.py index ba4b242..5af1e45 100644 --- a/src/dfd/datasets/modifications/definitions/median_filter.py +++ b/src/dfd/datasets/modifications/definitions/median_filter.py @@ -19,6 +19,16 @@ def __init__(self, aperture_size: int) -> None: self._aperture_size = aperture_size def __str__(self) -> str: + return self.name + + @property + def name(self) -> str: + """Get specification name. + + Returns: + The name of specification. + + """ return "median_filter_{aperture_size}".format(aperture_size=self._aperture_size) def perform(self, image: np.ndarray) -> np.ndarray: diff --git a/src/dfd/datasets/modifications/definitions/red_eyes_effect.py b/src/dfd/datasets/modifications/definitions/red_eyes_effect.py index 556e3a0..877ddd5 100644 --- a/src/dfd/datasets/modifications/definitions/red_eyes_effect.py +++ b/src/dfd/datasets/modifications/definitions/red_eyes_effect.py @@ -37,6 +37,16 @@ def __init__(self, face_landmarks_detector_path: str, brightness_threshold: int self._brightness_threshold = brightness_threshold def __str__(self) -> str: + return self.name + + @property + def name(self) -> str: + """Get specification name. + + Returns: + The name of specification. + + """ return f"red_eyes_effect_{self._brightness_threshold}" def perform(self, image: np.ndarray) -> np.ndarray: diff --git a/src/dfd/datasets/modifications/specification.py b/src/dfd/datasets/modifications/specification.py index e93078c..eb8bf64 100644 --- a/src/dfd/datasets/modifications/specification.py +++ b/src/dfd/datasets/modifications/specification.py @@ -33,11 +33,21 @@ def class_name(cls) -> str: """Get class name. Returns: - Modification class name. + Specification class name. """ return cls.__name__ + @abc.abstractmethod + def name(self) -> str: + """Get specification name. + + Name should include each modification used in specification. + + Returns: + Specification name. + """ + @abc.abstractmethod def perform(self, image: np.ndarray) -> np.ndarray: """Perform modification defined in specification. @@ -51,7 +61,7 @@ def perform(self, image: np.ndarray) -> np.ndarray: class _AndSpecification(ModificationSpecification): - """Combine two modification specifications.""" + """Combine two specifications.""" def __init__( self, first_spec: ModificationSpecification, sec_spec: ModificationSpecification @@ -59,6 +69,14 @@ def __init__( self._first_spec = first_spec self._sec_spec = sec_spec + def name(self) -> str: + """Get specification name. + + Returns: + Name, combination of names of both specification used to create this one. + """ + return f"{self._first_spec}__{self._sec_spec}" + def perform(self, image: np.ndarray) -> np.ndarray: """Apply modifications defined in both specifications. From 9d36b779e0263213e2cf0c808829e14479cbe50c Mon Sep 17 00:00:00 2001 From: Igor Cichecki Date: Thu, 30 Dec 2021 14:56:35 +0200 Subject: [PATCH 06/13] fix: change name to property in ModificaionSpecification --- src/dfd/datasets/modifications/specification.py | 4 +++- src/dfd/datasets/preprocessor.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/dfd/datasets/modifications/specification.py b/src/dfd/datasets/modifications/specification.py index eb8bf64..50d37b9 100644 --- a/src/dfd/datasets/modifications/specification.py +++ b/src/dfd/datasets/modifications/specification.py @@ -38,6 +38,7 @@ def class_name(cls) -> str: """ return cls.__name__ + @property @abc.abstractmethod def name(self) -> str: """Get specification name. @@ -69,13 +70,14 @@ def __init__( self._first_spec = first_spec self._sec_spec = sec_spec + @property def name(self) -> str: """Get specification name. Returns: Name, combination of names of both specification used to create this one. """ - return f"{self._first_spec}__{self._sec_spec}" + return f"{self._first_spec.name}__{self._sec_spec.name}" def perform(self, image: np.ndarray) -> np.ndarray: """Apply modifications defined in both specifications. diff --git a/src/dfd/datasets/preprocessor.py b/src/dfd/datasets/preprocessor.py index b869b1b..ffeb877 100644 --- a/src/dfd/datasets/preprocessor.py +++ b/src/dfd/datasets/preprocessor.py @@ -56,7 +56,7 @@ def _generate_frame_and_filename_batches( frame_and_name_pair = (frame, frame_path.name) # Frame has different shape than previous ones (i.e. is from different video) # TODO: ugly use named tuple instead of [0][0] - if len(batch) > 0 and batch[0][0].shape != frame_and_name_pair[0].shape: + if len(batch) > 0 and batch[0][0].shape != frame_and_name_pair[0].no_repeats: yield batch batch = [frame_and_name_pair] continue From 5aec343c0b8f282ebffaf9f619d8e57aec7ce0d4 Mon Sep 17 00:00:00 2001 From: Igor Cichecki Date: Fri, 31 Dec 2021 16:30:47 +0200 Subject: [PATCH 07/13] chore: add hypothesis to project requirements --- setup.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.cfg b/setup.cfg index 5b00244..5ab3398 100644 --- a/setup.cfg +++ b/setup.cfg @@ -47,6 +47,7 @@ tests = pytest-cov==2.12.1 pytest>=6.2.4 coverage[toml] + hypothesis==6.34.1 style = darglint>=1.8.0 flake8>=3.9.2 From 626b01a2856c07187dfeec34ae1ce009579ec662 Mon Sep 17 00:00:00 2001 From: Igor Cichecki Date: Fri, 31 Dec 2021 20:24:29 +0100 Subject: [PATCH 08/13] test: provide property based tests for ModificationSpecification --- .../modifications/test_specificaion.py | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 tests/ut/datasets/modifications/test_specificaion.py diff --git a/tests/ut/datasets/modifications/test_specificaion.py b/tests/ut/datasets/modifications/test_specificaion.py new file mode 100644 index 0000000..e420eeb --- /dev/null +++ b/tests/ut/datasets/modifications/test_specificaion.py @@ -0,0 +1,49 @@ +import functools +import operator +import typing as t +from unittest.mock import Mock, call + +import numpy as np +from hypothesis import given +from hypothesis import strategies as st + +from dfd.datasets.modifications.specification import ModificationSpecification + + +class ModificationStub(ModificationSpecification): + def __init__(self, name: str, no_repeats: int) -> None: + self._name = name + self.no_repeats = no_repeats + + @property + def name(self) -> str: + return self._name + + def perform(self, image: np.ndarray) -> np.ndarray: + image.repeat(self.no_repeats) + return image + + +@given( + given_specifications=st.lists( + st.builds( + ModificationStub, + name=st.text(min_size=1), + no_repeats=st.integers(min_value=1), + ), + min_size=1, + max_size=5, + ) +) +def test_combine_multiple_specifications(given_specifications): + # GIVEN + image_mock = Mock(spec_set=np.ndarray) + # WHEN specifications are combined + combined_specification = functools.reduce(operator.and_, given_specifications) + # THEN specification names are combined + expected_name = "__".join([spec.name for spec in given_specifications]) + assert combined_specification.name == expected_name + # And specifications are performed in order + combined_specification.perform(image_mock) + expected_calls_in_order = [call.repeat(spec.no_repeats) for spec in given_specifications] + image_mock.assert_has_calls(expected_calls_in_order) From dd9e52a930e2d4b136c75cd4de2a0068c5fff43e Mon Sep 17 00:00:00 2001 From: Igor Cichecki Date: Fri, 31 Dec 2021 20:44:44 +0100 Subject: [PATCH 09/13] docs: add to README code snippet --- README.md | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ce8967f..29746ff 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ thesis `Testing robustness of DeepFake recognition methods against non-malicious * [How it works?](#how-it-works-) * [TL;DR:](#tl-dr-) * [Tell me more!](#tell-me-more-) +* [Favourite code snippet](#favourite-code-snippet) * [Design](#design) * [Installation](#installation) * [GPU configuration](#gpu-configuration) @@ -23,10 +24,9 @@ recognition method used to properly discriminate DeepFake from authentic video w ## What is this? * CLI program allowing to: - * Preprocess dataset containing real and fake videos. Chosen part of negatives is modified by selected non-malicious - image modifications based on settings assigned by user. + * Preprocess dataset containing real and fake videos. Chosen part of negatives is modified by selected modifications based on settings assigned by user. * Preprocessing can be done via single command or gradually in steps where single step represents activity such - as `extract faces from fake videos.` The letter method allows preprocessing large datasets[^2] on without the + as `extract faces from fake videos`. The letter method allows preprocessing large datasets[^2] without the need of keeping program on for 24+ hours. * Train detection model and evaluate it in assigned settings. @@ -81,6 +81,36 @@ modifications: The names of supported modifications can be found in [this file](src/dfd/datasets/modifications/register.py). +## Favourite code snippet + +```python +@given( + given_specifications=st.lists( + st.builds( + ModificationStub, + name=st.text(min_size=1), + no_repeats=st.integers(min_value=1), + ), + min_size=1, + max_size=5, + ) +) +def test_combine_multiple_specifications(given_specifications): + # GIVEN + image_mock = Mock(spec_set=np.ndarray) + # WHEN specifications are combined + combined_specification = functools.reduce(operator.and_, given_specifications) + # THEN specification names are combined + expected_name = "__".join([spec.name for spec in given_specifications]) + assert combined_specification.name == expected_name + # And specifications are performed in order + combined_specification.perform(image_mock) + expected_calls_in_order = [call.repeat(spec.no_repeats) for spec in given_specifications] + image_mock.assert_has_calls(expected_calls_in_order) +``` + +It's uses two cool concepts: property-based testing and specification pattern[^4]. + ## Design The application design is loosely inspired @@ -121,3 +151,4 @@ pip install git+https://github.com/cicheck/dfd.git [^1]: Currently the only supported detection method is [Meso-4](https://arxiv.org/abs/1809.00888). [^2]: Such as [Celeb-DF](https://github.com/yuezunli/celeb-deepfakeforensics). [^3]: Half of negatives modified, 4 modifications used with naive parameters. +[^4]: Or rather design loosely inspired by specification pattern :stuck_out_tongue: From d76bdc65dcde935106699cf779cbc4d4ae01220d Mon Sep 17 00:00:00 2001 From: Igor Cichecki Date: Fri, 1 Jan 2021 21:54:49 +0200 Subject: [PATCH 10/13] feat!: allow to chain modifications --- .../frames_generators/modification.py | 31 ++++--- src/dfd/datasets/settings.py | 88 +++++++++++++------ 2 files changed, 80 insertions(+), 39 deletions(-) diff --git a/src/dfd/datasets/frames_generators/modification.py b/src/dfd/datasets/frames_generators/modification.py index 04819fa..8aa59d1 100644 --- a/src/dfd/datasets/frames_generators/modification.py +++ b/src/dfd/datasets/frames_generators/modification.py @@ -1,17 +1,18 @@ """Generate new frames after performing set non malicious modifications on original frames.""" import functools import itertools +import operator import pathlib -from typing import Generator, List, NamedTuple, Optional +from typing import Generator, List, NamedTuple, Optional, Sequence import cv2 as cv import numpy as np -from dfd.exceptions import DfdError from dfd.datasets.modifications.definitions import IdentityModification -from dfd.datasets.modifications.specification import ModificationSpecification from dfd.datasets.modifications.register import ModificationRegister -from dfd.datasets.settings import GeneratorSettings +from dfd.datasets.modifications.specification import ModificationSpecification +from dfd.datasets.settings import GeneratorSettings, ModificationSettings +from dfd.exceptions import DfdError class ModificationShare(NamedTuple): @@ -101,14 +102,9 @@ def from_directory( @functools.lru_cache(maxsize=1) def _get_modifications_share(self) -> List[ModificationShare]: modifications_share: List[ModificationShare] = [] - for modification_settings in self._setting.modifications: - mame = modification_settings.name - options = modification_settings.options - share = modification_settings.share - - modification_class = self._register.get_modification_class(mame) - # TODO: fix typing - modification = modification_class(**options) # type: ignore + for modification_chain_settings in self._setting.modifications_chains: + share = modification_chain_settings.share + modification = self._chain_modifications(modification_chain_settings.modifications) modifications_share.append(ModificationShare(modification, share)) self._check_modifications_are_unique( @@ -170,3 +166,14 @@ def _choose_modification( # TODO: log error # This should never happen raise DfdError("Could not select modification.") + + def _chain_modifications( + self, modifications_settings: Sequence[ModificationSettings] + ) -> ModificationSpecification: + modifications: List[ModificationSpecification] = [] + for modification_settings in modifications_settings: + modification_class = self._register.get_modification_class(modification_settings.name) + # TODO: fix typing + modification = modification_class(**modification_settings.options) # type: ignore + modifications.append(modification) + return functools.reduce(operator.and_, modifications) diff --git a/src/dfd/datasets/settings.py b/src/dfd/datasets/settings.py index eaf9704..cf26689 100644 --- a/src/dfd/datasets/settings.py +++ b/src/dfd/datasets/settings.py @@ -14,20 +14,32 @@ class ModificationSettings(pydantic.BaseModel): Args: modification_name: name, used to retrieve modification from ModificationRegistry - share: share of frames on which modification should be applied - options: modification options, i.e. parameters provided to modification __init__ + options: modification options, i.e. parameters provided to modification `__init__` """ name: str - share: float options: dict = {} +class ModificationsChainSettings(pydantic.BaseModel): + """Settings for single chain of modification applied in order. + + Args: + share: Share of frames on which modifications chain will be applied. + modifications: List of modifications that will be applied on sectioned frames. + Modification on top will be applied first, modification on bootom last. + + """ + + share: float + modifications: List[ModificationSettings] = [] + + class GeneratorSettings(pydantic.BaseModel): """Generator settings.""" - modifications: List[ModificationSettings] + modifications_chains: List[ModificationsChainSettings] @classmethod def from_yaml(cls, yaml_filepath: pathlib.Path) -> "GeneratorSettings": @@ -52,38 +64,60 @@ def default(cls) -> "GeneratorSettings": """ return cls( - modifications=[ - ModificationSettings( - name="RedEyesEffectModification", + modifications_chains=[ + ModificationsChainSettings( share="0.125", - options={ - "brightness_threshold": 50, - "face_landmarks_detector_path": str(assets.FACE_LANDMARKS_MODEL_PATH), - }, + modifications=[ + ModificationSettings( + name="RedEyesEffectModification", + options={ + "brightness_threshold": 50, + "face_landmarks_detector_path": str( + assets.FACE_LANDMARKS_MODEL_PATH + ), + }, + ), + ], ), - ModificationSettings( - name="CLAHEModification", + ModificationsChainSettings( share="0.125", - options={ - "clip_limit": 2.0, - "grid_width": 8, - "grid_height": 8, - }, + modifications=[ + ModificationSettings( + name="CLAHEModification", + options={ + "clip_limit": 2.0, + "grid_width": 8, + "grid_height": 8, + }, + ), + ], ), - ModificationSettings( - name="HistogramEqualizationModification", + ModificationsChainSettings( share="0.125", - options={}, + modifications=[ + ModificationSettings( + name="HistogramEqualizationModification", + options={}, + ), + ], ), - ModificationSettings( - name="GammaCorrectionModification", + ModificationsChainSettings( share="0.0625", - options={"gamma_value": 0.75}, + modifications=[ + ModificationSettings( + name="GammaCorrectionModification", + options={"gamma_value": 0.75}, + ), + ], ), - ModificationSettings( - name="GammaCorrectionModification", + ModificationsChainSettings( share="0.0625", - options={"gamma_value": 1.25}, + modifications=[ + ModificationSettings( + name="GammaCorrectionModification", + options={"gamma_value": 1.25}, + ), + ], ), ] ) From 0dbf07d4aa4786efbf409d8a499cacb1bca94aa1 Mon Sep 17 00:00:00 2001 From: Igor Cichecki Date: Sat, 2 Jan 2021 23:15:55 +0200 Subject: [PATCH 11/13] docs: reflacte change ModificationInterface -> ModificationSpecification in architecture diagram --- docs/diagrams/app_architecture.png | Bin 110246 -> 109725 bytes docs/diagrams/app_architecture.puml | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/diagrams/app_architecture.png b/docs/diagrams/app_architecture.png index 7ca0251c005d740e643728098b740fc7a3af1636..0338c953f6d6ba7d34771159f3e944e74d7beedb 100644 GIT binary patch literal 109725 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 yp9(Ruq`w?Ee8?x=tei literal 110246 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 MesoNet -up--|> ModelInterface -GammaCorrectionModification -up--|> ModificationInterface -CLAHEModification -up--|> ModificationInterface +GammaCorrectionModification -up--|> ModificationSpecification +CLAHEModification -up--|> ModificationSpecification GammaCorrectionModification -up-- ModificationRegistry : register > CLAHEModification -up-- ModificationRegistry : register > From e357d9f88fdfa2f9f5351ec3c8ff58758b6b4c59 Mon Sep 17 00:00:00 2001 From: Igor Cichecki Date: Mon, 3 Jan 2022 20:11:55 +0100 Subject: [PATCH 12/13] fix: save modified frames under directory with proper name --- src/dfd/datasets/frames_generators/modification.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dfd/datasets/frames_generators/modification.py b/src/dfd/datasets/frames_generators/modification.py index 8aa59d1..6eee013 100644 --- a/src/dfd/datasets/frames_generators/modification.py +++ b/src/dfd/datasets/frames_generators/modification.py @@ -94,7 +94,7 @@ def from_directory( input_frame = cv.imread(str(input_frame_path)) modified_frame = modification.perform(input_frame) yield ModifiedFrame( - modification_used=str(modification), + modification_used=modification.name, frame=modified_frame, original_path=input_frame_path, ) From 07c20490685d98c6d2c27206ad0f9eee994678f4 Mon Sep 17 00:00:00 2001 From: Igor Cichecki Date: Mon, 3 Jan 2022 20:12:15 +0100 Subject: [PATCH 13/13] docs: update example YAML settings --- README.md | 35 +++++++++++++++++------------------ example_settings.yaml | 40 +++++++++++++++++----------------------- 2 files changed, 34 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 29746ff..75bf649 100644 --- a/README.md +++ b/README.md @@ -59,24 +59,23 @@ alter negatives are configured via YAML files. Here is a sample: --- # Example modifications settings. # In total half of negatives are altered. -modifications: - - name: RedEyesEffectModification - share: 0.125 - options: - brightness_threshold: 50 - - name: CLAHEModification - share: 0.125 - options: - clip_limit: 2.0 - grid_width: 8 - grid_height: 8 - - name: HistogramEqualizationModification - share: 0.125 - - name: GaussianBlurModification - share: 0.125 - options: - kernel_width: 9 - kernel_height: 9 +modifications_chains: + - share: 0.25 + modifications: + - name: GammaCorrectionModification + options: + gamma_value: 0.75 + - name: CLAHEModification + options: + clip_limit: 2.0 + grid_width: 8 + grid_height: 8 + - share: 0.25 + modifications: + - name: GammaCorrectionModification + options: + gamma_value: 0.75 + - name: HistogramEqualizationModification ``` The names of supported modifications can be found in [this file](src/dfd/datasets/modifications/register.py). diff --git a/example_settings.yaml b/example_settings.yaml index 8fb166b..98b90df 100644 --- a/example_settings.yaml +++ b/example_settings.yaml @@ -1,25 +1,19 @@ --- # Example ModificationGenerator settings file -modifications: - - name: RedEyesEffectModification - share: 0.125 - options: - brightness_threshold: 50 - face_landmarks_detector_path: "/media/cicheck/Extreme Pro/\ - models/shape_predictor_68_face_landmarks.dat" - - name: CLAHEModification - share: 0.125 - options: - clip_limit: 2.0 - grid_width: 8 - grid_height: 8 - - name: HistogramEqualizationModification - share: 0.125 - - name: GammaCorrectionModification - share: 0.0625 - options: - gamma_value: 0.75 - - name: GammaCorrectionModification - share: 0.0625 - options: - gamma_value: 1.25 +modifications_chains: + - share: 0.25 + modifications: + - name: GammaCorrectionModification + options: + gamma_value: 0.75 + - name: CLAHEModification + options: + clip_limit: 2.0 + grid_width: 8 + grid_height: 8 + - share: 0.25 + modifications: + - name: GammaCorrectionModification + options: + gamma_value: 0.75 + - name: HistogramEqualizationModification