Skip to content

Version 0.7.1

Compare
Choose a tag to compare
@bottler bottler released this 23 Oct 16:13
· 219 commits to main since this release

This release brings a lot of fixes and improvements to implicitron.

PyTorch 1.8 is no longer supported. We support from PyTorch 1.9.0 to PyTorch 1.12.1.

New features

  • Marching cubes fixes to existing python implementation, and fast C++ implementation for when data is on CPU 0d8608b 850efdf
  • New fisheye camera object. This involves a change to the API to allow such “nonlinear” cameras, i.e. those whose projection is not a projective transformation. In particular, get_projection_transform can now fail. b0515e1 d19e624 84fa966 8a96770

Minor new features

  • get_se3_log function on Transform3D 9a0f9ae
  • get_rotation_to_best_fit_xy in circle_fitting 74bbd6f
  • Saving a mesh via IO to OBJ now includes TexturesUV texture 6ae6ff9
  • Checkerboard mesh utility ce3fce4
  • Camera batches can now be indexed by bool tensors b7c826b
  • Implicitron: You can just use a Configurable class straight away, you no longer need to call expand_args_fields or get_default_args first. d6a197b
  • Implicitron: In the newest pytorch versions, you can now use the faster foreach versions of optimizers 209c160
  • Implicitron: full_image variants of psnr, l1 and lpips losses (ignoring mask). The masked image ones are renamed to make this clear. 7b98570 d35781f
  • Implicitron: Enable additional test-time source views for json dataset provider v2 2ff2c7c
  • Implicitron: Option for filtering outlier input cameras in trajectory estimation d281f8e
  • Implicitron: yaml configs to train selected methods on CO3Dv2 1163eaa
  • Implicitron raymarcher replicate_last_interval option. 611aba9
  • Mixed Frame Raysampling. You can now sample rays iid from a group of cameras, instead of a fixed number from each camera. This needed a new RayBundleHeterogeneous alternative to RayBundle. Implicitron now has its own raybundle object. c311a4c ad8907d 6ae863f

Major bug fix

Bug fixes

  • Cloned camera objects can now be saved with pickle and torch.save efea540
  • Fix implicitron iteration time measurement dd58ded
  • IOU3d fix for numerical stability 1bfe6bf
  • Update SMPL url 5e7707b
  • Implicitron doc fixes fdaaa29 4711d12
  • Implicitron reduction feature aggregation broadcasting fix 73ba66e
  • Implicitron Fix for loading Co3Dv2’s point clouds 95a2acf

Performance improvements

  • Omit _check_valid_rotation_matrix by default 46cb5aa
  • _compute_vertex_normals does less work a65928d
  • Pulsar logging removed for performance gain 7623457
  • VolumeSampler memory saving 4c8338b
  • Implicitron: Avoid extra CPU->GPU communication in raysampling 305cf32
  • Mesh rasterization on CPU now uses multiple threads 6471893

Minor

  • In implicitron, there are components in progress for voxel-grid-based implicit functions: decoders, voxel grids, param groups edee25a e7c609f fe5bdb2 24f5f4a
  • Implicitron config system fixes 4d9215b da7fe28 8339cf2
  • Implicitron error improvements a607dd0
  • Implicitron JsonIndexDataset fix for numpy.split warning 0b5def5
  • Doc fix for IOU a2659e1 6080897
  • Doc fix for Implicitron base renderer 4711d12
  • pytorch3d.ops doc fixes 6653f44
  • Lengths validation in chamfer and farthest_points cb7bd33
  • Implicitron visualize_reconstruction and render_flyaround improvements and fixes 6e25fe8 3b3306f f6d43ea c79c954
  • Implicitron compatibility with hydra 1.2 90b758f
  • Implicitron SimpleDataLoaderMapProvider sample batches without replacement 73ea418
  • Implicitron: visdom is now optional ff933ab

Internal

  • packed_to_padded now accepts all sizes f34da3d
  • test_opengl_utils unfriendly test fixed 9a1213e
  • Implicitron: raybundle input to ImplicitFunctions has been made more consistent 72c3a0e
  • location logic factored out of Volumes into a new VolumeLocator class so it can be reused in other objects. f825f7e
  • Sample_farthest_points uses CUB instead of a handwritten block reduction 8ea4da2
  • Implicitron: MLP and Transformer have moved as they are no-longer only used by nerf. 898ba5c
  • Cameras benchmarking 03562d8
  • Removed wrappers for eigh, solve, lstsq, and qr because we now rely on PyTorch 1.9 or greater d4a1051