From 2878aff1c5f5df7ec6eab41d727e1963bddf0383 Mon Sep 17 00:00:00 2001 From: NCJ Date: Wed, 15 Feb 2023 02:18:33 +0800 Subject: [PATCH] Fix LPIPS data range (#1425) --- nerfstudio/models/instant_ngp.py | 2 +- nerfstudio/models/mipnerf.py | 6 +++--- nerfstudio/models/nerfacto.py | 2 +- nerfstudio/models/nerfplayer_nerfacto.py | 2 +- nerfstudio/models/nerfplayer_ngp.py | 2 +- nerfstudio/models/semantic_nerfw.py | 2 +- nerfstudio/models/tensorf.py | 2 +- nerfstudio/models/vanilla_nerf.py | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/nerfstudio/models/instant_ngp.py b/nerfstudio/models/instant_ngp.py index 736cd0870..9c0579031 100644 --- a/nerfstudio/models/instant_ngp.py +++ b/nerfstudio/models/instant_ngp.py @@ -137,7 +137,7 @@ class NGPModel(Model): # metrics self.psnr = PeakSignalNoiseRatio(data_range=1.0) self.ssim = structural_similarity_index_measure - self.lpips = LearnedPerceptualImagePatchSimilarity() + self.lpips = LearnedPerceptualImagePatchSimilarity(normalize=True) def get_training_callbacks( self, training_callback_attributes: TrainingCallbackAttributes diff --git a/nerfstudio/models/mipnerf.py b/nerfstudio/models/mipnerf.py index b8c3bcc4f..31a337d02 100644 --- a/nerfstudio/models/mipnerf.py +++ b/nerfstudio/models/mipnerf.py @@ -86,7 +86,7 @@ class MipNerfModel(Model): # metrics self.psnr = PeakSignalNoiseRatio(data_range=1.0) self.ssim = structural_similarity_index_measure - self.lpips = LearnedPerceptualImagePatchSimilarity() + self.lpips = LearnedPerceptualImagePatchSimilarity(normalize=True) def get_param_groups(self) -> Dict[str, List[Parameter]]: param_groups = {} @@ -173,8 +173,8 @@ class MipNerfModel(Model): image = torch.moveaxis(image, -1, 0)[None, ...] rgb_coarse = torch.moveaxis(rgb_coarse, -1, 0)[None, ...] rgb_fine = torch.moveaxis(rgb_fine, -1, 0)[None, ...] - rgb_coarse = torch.clip(rgb_coarse, min=-1, max=1) - rgb_fine = torch.clip(rgb_fine, min=-1, max=1) + rgb_coarse = torch.clip(rgb_coarse, min=0, max=1) + rgb_fine = torch.clip(rgb_fine, min=0, max=1) coarse_psnr = self.psnr(image, rgb_coarse) fine_psnr = self.psnr(image, rgb_fine) diff --git a/nerfstudio/models/nerfacto.py b/nerfstudio/models/nerfacto.py index 7442bfe8b..4aa58d468 100644 --- a/nerfstudio/models/nerfacto.py +++ b/nerfstudio/models/nerfacto.py @@ -197,7 +197,7 @@ class NerfactoModel(Model): # metrics self.psnr = PeakSignalNoiseRatio(data_range=1.0) self.ssim = structural_similarity_index_measure - self.lpips = LearnedPerceptualImagePatchSimilarity() + self.lpips = LearnedPerceptualImagePatchSimilarity(normalize=True) def get_param_groups(self) -> Dict[str, List[Parameter]]: param_groups = {} diff --git a/nerfstudio/models/nerfplayer_nerfacto.py b/nerfstudio/models/nerfplayer_nerfacto.py index f35a748b1..3811aba67 100644 --- a/nerfstudio/models/nerfplayer_nerfacto.py +++ b/nerfstudio/models/nerfplayer_nerfacto.py @@ -168,7 +168,7 @@ class NerfplayerNerfactoModel(NerfactoModel): # metrics self.psnr = PeakSignalNoiseRatio(data_range=1.0) self.ssim = structural_similarity_index_measure - self.lpips = LearnedPerceptualImagePatchSimilarity() + self.lpips = LearnedPerceptualImagePatchSimilarity(normalize=True) self.temporal_distortion = True # for viewer def get_outputs(self, ray_bundle: RayBundle): diff --git a/nerfstudio/models/nerfplayer_ngp.py b/nerfstudio/models/nerfplayer_ngp.py index 39507a538..878694468 100644 --- a/nerfstudio/models/nerfplayer_ngp.py +++ b/nerfstudio/models/nerfplayer_ngp.py @@ -145,7 +145,7 @@ class NerfplayerNGPModel(NGPModel): # metrics self.psnr = PeakSignalNoiseRatio(data_range=1.0) self.ssim = structural_similarity_index_measure - self.lpips = LearnedPerceptualImagePatchSimilarity() + self.lpips = LearnedPerceptualImagePatchSimilarity(normalize=True) self.temporal_distortion = True # for viewer def get_outputs(self, ray_bundle: RayBundle): diff --git a/nerfstudio/models/semantic_nerfw.py b/nerfstudio/models/semantic_nerfw.py index 941716dc8..22957d268 100644 --- a/nerfstudio/models/semantic_nerfw.py +++ b/nerfstudio/models/semantic_nerfw.py @@ -137,7 +137,7 @@ class SemanticNerfWModel(Model): # metrics self.psnr = PeakSignalNoiseRatio(data_range=1.0) self.ssim = structural_similarity_index_measure - self.lpips = LearnedPerceptualImagePatchSimilarity() + self.lpips = LearnedPerceptualImagePatchSimilarity(normalize=True) def get_param_groups(self) -> Dict[str, List[Parameter]]: param_groups = {} diff --git a/nerfstudio/models/tensorf.py b/nerfstudio/models/tensorf.py index 60fec9706..d5af1579d 100644 --- a/nerfstudio/models/tensorf.py +++ b/nerfstudio/models/tensorf.py @@ -201,7 +201,7 @@ class TensoRFModel(Model): # metrics self.psnr = PeakSignalNoiseRatio(data_range=1.0) self.ssim = structural_similarity_index_measure - self.lpips = LearnedPerceptualImagePatchSimilarity() + self.lpips = LearnedPerceptualImagePatchSimilarity(normalize=True) # colliders if self.config.enable_collider: diff --git a/nerfstudio/models/vanilla_nerf.py b/nerfstudio/models/vanilla_nerf.py index 3e731524f..53e838891 100644 --- a/nerfstudio/models/vanilla_nerf.py +++ b/nerfstudio/models/vanilla_nerf.py @@ -118,7 +118,7 @@ class NeRFModel(Model): # metrics self.psnr = PeakSignalNoiseRatio(data_range=1.0) self.ssim = structural_similarity_index_measure - self.lpips = LearnedPerceptualImagePatchSimilarity() + self.lpips = LearnedPerceptualImagePatchSimilarity(normalize=True) if getattr(self.config, "enable_temporal_distortion", False): params = self.config.temporal_distortion_params