From 18f8a5d0b84d633381ce7349357318d6910ec97c Mon Sep 17 00:00:00 2001 From: Alexander Kristoffersen Date: Sat, 3 Sep 2022 14:43:26 -0700 Subject: [PATCH] Bug fixes with Record3D and new config system. (#336) fixed some bugs regarding record3d and new config system. --- nerfactory/configs/base.py | 6 ++++-- nerfactory/dataloaders/data_parsers.py | 7 ++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/nerfactory/configs/base.py b/nerfactory/configs/base.py index 3986547ea..01f2db4e5 100644 --- a/nerfactory/configs/base.py +++ b/nerfactory/configs/base.py @@ -31,6 +31,7 @@ from nerfactory.dataloaders.data_parsers import ( Friends, InstantNGP, Mipnerf360, + Record3D, ) from nerfactory.models.base import Model from nerfactory.models.instant_ngp import NGPModel @@ -214,7 +215,7 @@ class InstantNGPDataParserConfig(DataParserConfig): class Record3DDataParserConfig(DataParserConfig): """Mipnerf 360 dataset config""" - _target: Type = Mipnerf360 + _target: Type = Record3D data_directory: Path = Path("data/record3d/garden") downscale_factor: int = 1 val_skip: int = 8 @@ -385,6 +386,7 @@ class Config(PrintableConfig): """Convert logging directories to more specific filepaths""" dt_str = datetime.now().strftime("%Y-%m-%d_%H%M%S") self.base_dir = Path(f"outputs/{self.experiment_name}/{self.method_name}/{dt_str}") - self.trainer.model_dir = self.base_dir / self.trainer.relative_model_dir + if self.trainer.model_dir is None: + self.trainer.model_dir = self.base_dir / self.trainer.relative_model_dir for curr_writer in self.logging.writer: curr_writer.log_dir = self.base_dir / curr_writer.relative_log_dir diff --git a/nerfactory/dataloaders/data_parsers.py b/nerfactory/dataloaders/data_parsers.py index 4b33432ae..139ba8cef 100644 --- a/nerfactory/dataloaders/data_parsers.py +++ b/nerfactory/dataloaders/data_parsers.py @@ -434,11 +434,12 @@ class Record3D(DataParser): if not image_dir.exists(): raise ValueError(f"Image directory {image_dir} doesn't exist") - ext = ".jpg" image_filenames = [] for f in image_dir.iterdir(): - image_filenames.append(image_dir / f) - image_filenames = sorted(image_filenames, key=lambda fn: int(fn.name[: -len(ext)])) + if f.stem.isdigit(): # removes possible duplicate images (for example, 123(3).jpg) + image_filenames.append(image_dir / f) + + image_filenames = sorted(image_filenames, key=lambda fn: int(fn.stem)) image_filenames = np.array(image_filenames) num_images = len(image_filenames)