1. 29 Oct, 2019 1 commit
    • pedrofreire's avatar
      Make shear operation area preserving (#1529) · c226bb95
      pedrofreire authored
      * Improve readability of affine transformation code
      
      * Make shear transformation area preserving
      
      The previous shear implementation did not preserve area, and we
      implement a version that does.
      
      The formula used was verified with the following sympy code:
      
      from sympy import Matrix, cos, sin, tan, simplify
      from sympy.abc import x, y, phi
      
      Xs = Matrix(
              [[1, -tan(x)],
               [0, 1]]
              )
      
      Ys = Matrix(
              [[1, 0],
               [-tan(y), 1]]
              )
      
      R = Matrix(
              [[cos(phi), -sin(phi)],
               [sin(phi), cos(phi)]]
              )
      
      RSS = Matrix(
              [[cos(phi - y)/cos(y), -cos(phi - y)*tan(x)/cos(y) - sin(phi)],
               [sin(phi - y)/cos(y), -sin(phi - y)*tan(x)/cos(y) + cos(phi)]])
      
      print(simplify(R * Ys * Xs - RSS))
      
      One thing that is not clear (and could be tested) is whether avoiding
      the explicit products and calculations in _get_inverse_affine_matrix
      really gives performance benefits - compared to doing the explicit
      calculation done in _test_transformation.
      
      * Use np.matmul instead of @
      
      The @ syntax is not supported in Python 2.
      c226bb95
  2. 26 Oct, 2019 1 commit
    • pedrofreire's avatar
      Add adjustment operations for RGB Tensor Images. (#1525) · e79caddf
      pedrofreire authored
      * Add adjustment operations for RGB Tensor Images.
      
      Right now, we have operations on PIL images, but we want to have a version of the opeartions that act directly on Tensor images.
      
      Here, we add such operations for adjust_brightness, adjust_contrast and adjust_saturation.
      
      In PIL, those functions are implemented by generating an degenerate image from the first, and then interpolating them together.
      - https://github.com/python-pillow/Pillow/blob/master/src/PIL/ImageEnhance.py
      - https://github.com/python-pillow/Pillow/blob/master/src/libImaging/Blend.c
      
      A few caveats:
      * Since PIL operates on uint8, and the tensor operations might be on float, we can get slightly different values because of int truncation.
      * We assume here the images are RGB; in particular, to handle an alpha channel, we need to check whether it is present, in which case we copy it to the final image.
      
      * Keep dtype and use broadcast in adjust operations
      
      - We make our operations have input.dtype == output.dtype, at the cost of
      adding a few type checks and branches.
      
      - By using Tensor broadcast, we can simplify the calls to _blend.
      
      * Use is_floating_point to check dtype.
      
      * Remove unpacking in tuple
      
      It seems Python 2 does not support this type of unpacking, so it broke
      Python 2 builds. This should fix it.
      
      * Add from __future__ import division for Python 2
      e79caddf
  3. 18 Oct, 2019 2 commits
    • ekka's avatar
      Make crop scriptable (#1379) · d194082c
      ekka authored
      * Make crop torchscriptable
      
      Relevant #1375
      
      * Invert x and y axis
      
      * fix lint
      
      * Add crop test
      
      * revert deletion of space in functional
      
      * add import random
      
      * add dimension in doc
      
      * add import
      
      * fix flake8
      
      * change to self.assert*
      
      * convert to uint8
      
      * assertTrue
      
      * lint
      d194082c
    • Surgan Jandial's avatar
      PILLOW_VERSION deprecation updates (#1501) · b8ef5322
      Surgan Jandial authored
      * doc-build fixed
      
      * deprecation fixes
      
      * deprecation updates
      b8ef5322
  4. 16 Oct, 2019 1 commit
  5. 08 Oct, 2019 1 commit
  6. 30 Sep, 2019 1 commit
  7. 24 Sep, 2019 1 commit
    • Zhicheng Yan's avatar
      Video transforms (#1353) · 64917bcc
      Zhicheng Yan authored
      * video transforms
      
      * [video transforms]in ToTensorVideo, divide value by 255.0
      
      * [video transforms] fix a bug
      
      * fix linting
      
      * Make changes backwards-compatible
      64917bcc
  8. 11 Sep, 2019 1 commit
  9. 06 Sep, 2019 1 commit
  10. 30 Aug, 2019 1 commit
  11. 09 Jul, 2019 1 commit
  12. 06 Jul, 2019 1 commit
    • Zhun Zhong's avatar
      Fix bug to RandomErasing (#1095) · 34833427
      Zhun Zhong authored
      * Fix bug to Random Erasing
      
      1. Avoid forever loop for getting parameters of erase.
      2. replace' img_b' by 'img_c', because it indicates the channel.
      3. replace v = torch.rand([img_c, h, w]) by v = torch.empty([img_c, h, w], dtype=torch.float32).normal_(). Normally distributed achieves better performance.
      
      * add test
      
      * Update test_transforms.py
      
      * Update transforms.py
      
      * Update test_transforms.py
      
      * Update transforms.py
      
      * Update functional.py
      34833427
  13. 04 Jul, 2019 1 commit
    • ekka's avatar
      Minor optimization to RandomErasing (#1087) · 793c4e82
      ekka authored
      * Minor optimization to RandomErasing
      
      This PR adds an additional check on `p` argument and prevents computing `img.shape` multiple times.
      
      * linting
      793c4e82
  14. 03 Jul, 2019 1 commit
  15. 28 Jun, 2019 2 commits
  16. 24 Jun, 2019 1 commit
    • Zhun Zhong's avatar
      transforms: add Random Erasing for image augmentation (#909) · 3254560b
      Zhun Zhong authored
      * add erase function
      
      * add Random Erasing
      
      * Update transforms.py
      
      * Update transforms.py
      
      * add test for random erasing
      
      * Update test_transforms.py
      
      * fix flake8
      
      * Update test_transforms.py
      
      * Update functional.py
      
      * Update test_transforms.py
      
      * fix bug for per-pixel erasing
      
      * Update transforms.py
      
      * specific for coordinate (x, y)
      
      * add raise TypeError for img
      
      * Update transforms.py
      
      * Update transforms.rst
      3254560b
  17. 20 Jun, 2019 2 commits
  18. 14 Jun, 2019 2 commits
  19. 05 Jun, 2019 1 commit
  20. 21 May, 2019 1 commit
  21. 14 May, 2019 1 commit
  22. 06 May, 2019 1 commit
  23. 02 May, 2019 1 commit
  24. 25 Apr, 2019 1 commit
  25. 09 Apr, 2019 1 commit
  26. 29 Mar, 2019 1 commit
  27. 26 Mar, 2019 1 commit
  28. 25 Mar, 2019 1 commit
    • ekka's avatar
      Add AffineTransformation (#793) · c88d7fb5
      ekka authored
      * Add Affinetransformation
      
      Add Affinetransformation to superseed LinearTransformation
      
      * Add test
      
      * Add zero mean_vector in LinearTransformation and improved docs
      
      * update
      
      * minor fix
      
      * minor fix2
      
      * fixed flake8
      
      * fix flake8
      
      * fixed transpose syntax
      
      * fixed shape of mean_vector in test
      
      * fixed test
      
      * print est cov and mean
      
      * fixed flake8
      
      * debug
      
      * reduce num_samples
      
      * debug
      
      * fixed num_features
      
      * fixed rtol for cov
      
      * fix __repr__
      
      * Update transforms.py
      
      * Update test_transforms.py
      
      * Update transforms.py
      
      * fix flake8
      
      * Update transforms.py
      
      * Update transforms.py
      
      * Update transforms.py
      
      * Update transforms.py
      
      * Changed dim of mean_vector to 1D, doc and removed .numpy () from format_string
      
      * Restore test_linear_transformation()
      
      * Update test_transforms.py
      c88d7fb5
  29. 24 Mar, 2019 1 commit
  30. 20 Mar, 2019 1 commit
  31. 11 Mar, 2019 2 commits
  32. 09 Mar, 2019 1 commit
  33. 26 Feb, 2019 1 commit
  34. 18 Feb, 2019 1 commit
  35. 08 Jan, 2019 1 commit
    • surgan12's avatar
      Doc changes (#711) · 8f0ef5a7
      surgan12 authored
      * doc change
      
      * doc changes
      
      * lint_checks
      
      * Update transforms.py
      8f0ef5a7