From cf74119adc40bb868d2554ab4fc9dd28c544d8d4 Mon Sep 17 00:00:00 2001 From: Daniel Crispell Date: Thu, 4 May 2023 13:04:30 -0400 Subject: [PATCH] SceneContraction maps to range [-2, 2], not [-1, 1]. (#1872) --- nerfstudio/field_components/spatial_distortions.py | 2 +- nerfstudio/fields/sdf_field.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/nerfstudio/field_components/spatial_distortions.py b/nerfstudio/field_components/spatial_distortions.py index 02da548a3..da32b4595 100644 --- a/nerfstudio/field_components/spatial_distortions.py +++ b/nerfstudio/field_components/spatial_distortions.py @@ -51,7 +51,7 @@ class SceneContraction(SpatialDistortion): \\end{cases} If the order is not specified, we use the Frobenius norm, this will contract the space to a sphere of - radius 1. If the order is L_inf (order=float("inf")), we will contract the space to a cube of side length 2. + radius 2. If the order is L_inf (order=float("inf")), we will contract the space to a cube of side length 4. If using voxel based encodings such as the Hash encoder, we recommend using the L_inf norm. Args: diff --git a/nerfstudio/fields/sdf_field.py b/nerfstudio/fields/sdf_field.py index f37d67088..89274224f 100644 --- a/nerfstudio/fields/sdf_field.py +++ b/nerfstudio/fields/sdf_field.py @@ -257,8 +257,8 @@ class SDFField(Field): """forward the geonetwork""" if self.use_grid_feature: positions = self.spatial_distortion(inputs) - - positions = (positions + 1.0) / 2.0 + # map range [-2, 2] to [0, 1] + positions = (positions + 2.0) / 4.0 feature = self.encoding(positions) else: feature = torch.zeros_like(inputs[:, :1].repeat(1, self.encoding.n_output_dims))