Package
=======
- Migrated the project to Arraiy Open Source Organization: https://github.com/arraiyopensource/torchgeometry. 48ad11f39f69be95fe35c164414ad58e0034f5d4
- Update with support of PyTorch v1.0.1. In fact, we test each time against nightly builds. 5c9d9ae1ccf13fc2381d62be6f5b4c81c265608b
- Fix issue with pip package PyTorch minimal version. Now we require at least v1.0.0. 6e16734d68074f22fb67a8b1c4418e4917e5b1f1
- Package version file is auto-generate and too keep tracked ``sha``. f337b3c131b2482a961f5aa895a9b344814bff5a
- Added codecov support to keep tracked tested code. e609b2112f25806d02364681d57a29b977950f59
Breaking Changes
===============
- Refactor ``DepthWarper`` API - now accepts ``PinholeCamera`` objects as parameters:
python
>>> pinholes camera models
>>> pinhole_dst = tgm.PinholeCamera(...)
>>> pinhole_src = tgm.PinholeCamera(...)
>>> create the depth warper, compute the projection matrix
>>> warper = tgm.DepthWarper(pinhole_dst, height, width)
>>> warper.compute_projection_matrix(pinhole_src)
>>> warp the destionation frame to reference by depth
>>> depth_src = torch.ones(1, 1, 32, 32) Nx1xHxW
>>> image_dst = torch.rand(1, 3, 32, 32) NxCxHxW
>>> image_src = warper(depth_src, image_dst) NxCxHxW
New Features
===========
- Added new ``PinholeCamera`` API to represent pinhole camera models. b6ec592bc4d00ba942d0f3d2085534acdefd783f
![pinhole_model](https://user-images.githubusercontent.com/5157099/54354104-1847c800-4656-11e9-9fad-867cbcd67fa7.png)
- Refactor and moved code from ``conversions.py`` and created a dedicated module for linear transforms ``transformations.py``. a1c25b1c5e3a5ac4e5109ea0e1b7256ba8e4ee56
- ``boxplus_transformation``, ``boxminus_transformation``, ``inverse_transformation``, ``transform_points``.
- Added a collection of losses:
- Image: SSIM f08812168984174d6054c5b21298963cdf421cd8
- Depth: InverseDepthSmoothnessLoss 42a1d22df0691444664c182eae7fc10acaa428cc
- Semantic segmentation:
- ``Diceloss`` 9b0fddf9055cb9a948856d087b52073551c44129
- ``TerskyLoss`` 89246d269739f89ed0731f52ff543863882efa48
- ``FocalLoss`` ffe4cb1b74ecb81baef05f97fe6c62f176336fd7
- Added ``SpatialSoftArgmax2d`` operator to extract 2D coordinates from probability maps. cf7bb292dbe19242e0b207a8747da601a27e4cf3
- Added ``extract_tensor_patches`` routine similar to ``tf.extract_image_patches`` but for multidimensional tensors instead of images. f60fa57b4dcf9462e443ee71bf571cc6e31a7939
- Added ``boxplus_transform`` and ``boxminus_transform`` to compose or compute relative pose functions. e0882ea32bb13e62275b678ddb60915058397d35
Bug Fixes
========
- Fixed ``DepthWarper`` in order to accept mini-batch computation. 7175b4f93f5cb855eb8ab4011c33e79cb32bf3fa
- Added missing tests for ``warp_affine``. 57cbd29aa291dc0cf60e6cff6b0665c91db39330
- Fixed and refactored ``quaternion_to_axis_angle`` and ``axis_angle_to_quaternion`` to avoid nans. 4aa0bca9cd2ab95b3edb7d043ff16d473b2e04b7
Test
====
- Updated code with python typing: https://docs.python.org/3/library/typing.html to perform static analysis tests using MyPy: http://mypy-lang.org 3c02b58e1d4de3e7583020c332a7b982c9e97d74
- Added pytest fixtures to split between CPU/CUDA tests. Additionally, we added Makefile commands to launch the tests. 1aff7f65d6535e88abc0d5383846be75d37e4af9
- Improved ``InversePose`` tests. d6a508c7600e5e464d6910028f7771f8d18fe722
- Improved ``HomographyWarper`` tests. 43bd8c2ea669d89d57a063998b491be18d2ab39a
contributors:
- edgarriba
- carlosb1
- Wizaron
- prlz77
- kajal-puri