From e602d69c432da595d043abe202487d6f75fb75ff Mon Sep 17 00:00:00 2001 From: lefreud Date: Wed, 17 Jan 2024 19:03:04 +0000 Subject: [PATCH] Added lots of stuff --- README-pandora.md | 32 ++++++++++++++---- lantern_scripts/extract_linearized.py | 5 ++- lantern_scripts/mask_humans2.py | 12 +++---- lantern_scripts/mp4_videos_to_png_frames.py | 10 +++--- linearize-ricoh-z10-wb-3500.json | 1 + ...a.json => linearize-ricoh-z10-wb-5000.json | 0 .../data/dataparsers/base_dataparser.py | 2 ++ .../data/dataparsers/nerfstudio_dataparser.py | 18 ++++++++++ nerfstudio/data/pixel_samplers.py | 17 +++++----- nerfstudio/lantern/config.py | 12 +++---- nerfstudio/lantern/dataset.py | 7 ++++ stick_masks/left_mask.png | Bin 0 -> 50052 bytes stick_masks/left_mask_bak.png | Bin 0 -> 20504 bytes stick_masks/right_mask.png | Bin 0 -> 20621 bytes 14 files changed, 83 insertions(+), 33 deletions(-) create mode 100644 linearize-ricoh-z10-wb-3500.json rename lantern_scripts/z10-color-correct-data.json => linearize-ricoh-z10-wb-5000.json (100%) create mode 100644 stick_masks/left_mask.png create mode 100644 stick_masks/left_mask_bak.png create mode 100644 stick_masks/right_mask.png diff --git a/README-pandora.md b/README-pandora.md index 9d1d3037d..462910199 100644 --- a/README-pandora.md +++ b/README-pandora.md @@ -5,7 +5,7 @@ ## 0. Setup ``` - +export PYTHONPATH=$pwd:$PYTHONPATH pip install skylibs equilib ``` @@ -39,7 +39,8 @@ pip install skylibs equilib 5. Extract frames using ffmpeg ``` - python mp4_videos_to_png_frames.py + python lantern_scripts/mp4_videos_to_png_frames.py --help + python lantern_scripts/mp4_videos_to_png_frames.py --input_dir data/lab_downstairs/trimmed_videos ``` It should output the following file structure @@ -56,16 +57,18 @@ pip install skylibs equilib ....png ....png ....png - right_right_e1/ + right_e2/ ....png ....png ....png ``` -6. Run the code to mask out people and the stick. You may need to specify `--input-dir` and `--output-dir` +6. Run the code to mask out people and the stick. + Make sure the masks in "./stick_masks" are valid ``` - python lantern_scripts/mask_humans2.py + python lantern_scripts/mask_humans2.py --help + python lantern_scripts/mask_humans2.py --input_dir data/lab_downstairs/trimmed_videos ``` @@ -81,13 +84,23 @@ python lantern_scripts/split_synthetic_colmap.py --has_exposure --left_dir ./Dua Example with synthetic data: ``` +export PYTHONPATH=$pwd:$PYTHONPATH ns-process-data lantern --data ./Dual_Cameras/split_colmap_subset --output-dir ./Dual_Cameras/split_colmap_subset/split_colmap_out5 --skip-image-processing --camera-type equirectangular --images-per-equirect 8 ``` Example with real data (note that `--mask-dir` was added): ``` -ns-process-data lantern --data ./data/lab_ground_floor/trimmed_videos --mask-dir ./data/lab_ground_floor/trimmed_videos_masks --output-dir ./data/lab_ground_floor/colmap_out --skip-image-processing --camera-type equirectangular --images-per-equirect 8 +export PYTHONPATH=$pwd:$PYTHONPATH +ns-process-data lantern --data ./data/lab_downstairs/captured_data --mask-dir ./data/lab_downstairs/masks --output-dir ./data/lab_downstairs/colmap_out --skip-image-processing --camera-type equirectangular --images-per-equirect 8 +``` + +After that, you'll need to copy manually (for now), the folder to `images`, for nerf training. + +Examples +``` +ns-process-data lantern --data ./data/lab_ground_floor/trimmed_videos_smart_subset --mask-dir ./data/lab_ground_floor/trimmed_videos_masks --output-dir ./data/lab_ground_floor/colmap_out_smart --skip-image-processing --camera-type equirectangular --images-per +-equirect 8 --skip-colmap --skip-perspective-transform ``` ## 2. Pre-training NeRF @@ -100,8 +113,15 @@ After convergence, go to the next step. ns-train lantern-nerfacto --help ``` +If you need to use less frames, add this argument: `--pipeline.datamanager.train-num-images-to-sample-from 200 --pipeline.datamanager.eval-num-images-to-sample-from 30` + > Thing to keep in mind: the way Nerfstudio splits train and test images may not be optimal: left might be in one dataset and right in another... that's a bit of a data leak. +Examples + +``` +ns-train lantern-nerfacto --data data/lab_ground_floor/colmap_out_smart --pipeline.datamanager.train-num-images-to-sample-from 200 --pipeline.datamanager.eval-num-images-to-sample-from 30 +``` ## 3. Running MomoNet diff --git a/lantern_scripts/extract_linearized.py b/lantern_scripts/extract_linearized.py index 38182036e..8f97819e5 100644 --- a/lantern_scripts/extract_linearized.py +++ b/lantern_scripts/extract_linearized.py @@ -8,7 +8,10 @@ import numpy as np # fonction that apply the correction on the colors on the input images -def apply_correction(coefs, img, CORRECTION_CURVE_TYPE) -> np.array: +def apply_correction(coefs, img, CORRECTION_CURVE_TYPE) -> np.ndarray: + # check that img is in range 0-255 + assert img.dtype == np.uint8 + B, G, R = coefs original_shape = img.shape img = img.astype(np.float32) diff --git a/lantern_scripts/mask_humans2.py b/lantern_scripts/mask_humans2.py index 89f210863..48592e774 100644 --- a/lantern_scripts/mask_humans2.py +++ b/lantern_scripts/mask_humans2.py @@ -20,25 +20,25 @@ FRAME_SUBFOLDERS_CONFIG = [ 'name': 'left_colmap_baseline', 'flip_k': -1, 'mask_person': True, - 'custom_mask': './data/lab_ground_floor/custom_masks/left_mask.png' + 'custom_mask': './stick_masks/left_mask.png' }, { 'name': 'right_colmap_baseline', 'flip_k': 1, 'mask_person': True, - 'custom_mask': './data/lab_ground_floor/custom_masks/right_mask.png' + 'custom_mask': './stick_masks/right_mask.png' }, { 'name': 'left_e1', 'flip_k': -1, 'mask_person': True, - 'custom_mask': './data/lab_ground_floor/custom_masks/left_mask.png' + 'custom_mask': './stick_masks/left_mask.png' }, { 'name': 'right_e2', 'flip_k': 1, 'mask_person': False, - 'custom_mask': './data/lab_ground_floor/custom_masks/right_mask.png' + 'custom_mask': './stick_masks/right_mask.png' } ] @@ -46,8 +46,8 @@ PERSON_DILATE_KERNEL = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (40, 40)) if __name__ == '__main__': parser = argparse.ArgumentParser() - parser.add_argument('--input_dir', type=str, default='./data/lab_ground_floor/trimmed_videos', help='Directory containing all the frames') - parser.add_argument('--output_dir', type=str, default='./data/lab_ground_floor/trimmed_videos_masks') + parser.add_argument('--input_dir', type=str, default='./data/lab_ground_floor/trimmed_videos', help='Directory containing all the 4 directories containing frames') + parser.add_argument('--output_dir', type=str, default='./data/lab_ground_floor/trimmed_videos_masks', help='Directory to save masked frames') args = parser.parse_args() out = args.output_dir diff --git a/lantern_scripts/mp4_videos_to_png_frames.py b/lantern_scripts/mp4_videos_to_png_frames.py index ff01f06e4..6a5acfdea 100644 --- a/lantern_scripts/mp4_videos_to_png_frames.py +++ b/lantern_scripts/mp4_videos_to_png_frames.py @@ -1,7 +1,6 @@ -import subprocess -import os import argparse - +import os +import subprocess # TODO: limit number of frames... maybe 3 per second? @@ -13,10 +12,13 @@ if __name__ == '__main__': # get video files args = argparser.parse_args() videos = [os.path.join(args.input_dir, f) for f in os.listdir(args.input_dir) if f.endswith(".mp4")] + if len(videos) == 0: + raise Exception("No video files found in input directory.") for video in videos: # Get the video name without extension video_name = os.path.splitext(os.path.basename(video))[0] + print(f"Extracting frames from {video}...") # Create a subfolder for the frames output_folder = os.path.join(args.input_dir, f'{video_name}') @@ -29,7 +31,7 @@ if __name__ == '__main__': "-vf", "fps=29.97", f"{output_folder}/output_%04d.png" ] - subprocess.run(command, check=True) + subprocess.run(command, check=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) # only keep frames where mod 10 = 0 for file in os.listdir(output_folder): diff --git a/linearize-ricoh-z10-wb-3500.json b/linearize-ricoh-z10-wb-3500.json new file mode 100644 index 000000000..6ff6171b1 --- /dev/null +++ b/linearize-ricoh-z10-wb-3500.json @@ -0,0 +1 @@ +{"B": [54.09578323364258, 0.2747989296913147, 0.0019784104079008102], "G": [48.520992279052734, 0.05255260691046715, 0.0029351452831178904], "R": [47.87550735473633, 0.19775021076202393, 0.0023990024346858263], "type": "deg2"} \ No newline at end of file diff --git a/lantern_scripts/z10-color-correct-data.json b/linearize-ricoh-z10-wb-5000.json similarity index 100% rename from lantern_scripts/z10-color-correct-data.json rename to linearize-ricoh-z10-wb-5000.json diff --git a/nerfstudio/data/dataparsers/base_dataparser.py b/nerfstudio/data/dataparsers/base_dataparser.py index 56888e8ef..73d89346a 100644 --- a/nerfstudio/data/dataparsers/base_dataparser.py +++ b/nerfstudio/data/dataparsers/base_dataparser.py @@ -61,6 +61,8 @@ class DataparserOutputs: """Scene box of dataset. Used to bound the scene or provide the scene scale depending on model.""" mask_filenames: Optional[List[Path]] = None """Filenames for any masks that are required""" + saturation_mask_filenames: Optional[List[Path]] = None + """Filenames for any saturation masks that are required""" metadata: Dict[str, Any] = to_immutable_dict({}) """Dictionary of any metadata that be required for the given experiment. Will be processed by the InputDataset to create any additional tensors that may be required. diff --git a/nerfstudio/data/dataparsers/nerfstudio_dataparser.py b/nerfstudio/data/dataparsers/nerfstudio_dataparser.py index 582e0d8c3..e6b08b2d2 100644 --- a/nerfstudio/data/dataparsers/nerfstudio_dataparser.py +++ b/nerfstudio/data/dataparsers/nerfstudio_dataparser.py @@ -88,6 +88,7 @@ class Nerfstudio(DataParser): image_filenames = [] mask_filenames = [] + saturation_mask_filenames = [] depth_filenames = [] poses = [] exposures = [] @@ -155,6 +156,15 @@ class Nerfstudio(DataParser): downsample_folder_prefix="masks_", ) mask_filenames.append(mask_fname) + + if "saturation_mask_path" in frame: + saturation_mask_filepath = Path(frame["saturation_mask_path"]) + saturation_mask_fname = self._get_fname( + saturation_mask_filepath, + data_dir, + downsample_folder_prefix="saturation_masks_", + ) + saturation_mask_filenames.append(saturation_mask_fname) if "depth_file_path" in frame: depth_filepath = Path(frame["depth_file_path"]) @@ -171,6 +181,12 @@ class Nerfstudio(DataParser): Different number of image and mask filenames. You should check that mask_path is specified for every frame (or zero frames) in transforms.json. """ + assert len(saturation_mask_filenames) == 0 or ( + len(saturation_mask_filenames) == len(image_filenames) + ), """ + Different number of image and saturation mask filenames. + You should check that saturation_mask_path is specified for every frame (or zero frames) in transforms.json. + """ assert len(depth_filenames) == 0 or ( len(depth_filenames) == len(image_filenames) ), """ @@ -239,6 +255,7 @@ class Nerfstudio(DataParser): # Choose image_filenames and poses based on split, but after auto orient and scaling the poses. image_filenames = [image_filenames[i] for i in indices] mask_filenames = [mask_filenames[i] for i in indices] if len(mask_filenames) > 0 else [] + saturation_mask_filenames = [saturation_mask_filenames[i] for i in indices] if len(saturation_mask_filenames) > 0 else [] depth_filenames = [depth_filenames[i] for i in indices] if len(depth_filenames) > 0 else [] exposures = [exposures[i] for i in indices] if len(exposures) > 0 else [] @@ -306,6 +323,7 @@ class Nerfstudio(DataParser): cameras=cameras, scene_box=scene_box, mask_filenames=mask_filenames if len(mask_filenames) > 0 else None, + saturation_mask_filenames=saturation_mask_filenames if len(saturation_mask_filenames) > 0 else None, exposures=exposures if len(exposures) > 0 else None, dataparser_scale=scale_factor, dataparser_transform=transform_matrix, diff --git a/nerfstudio/data/pixel_samplers.py b/nerfstudio/data/pixel_samplers.py index 1e817e9c8..27480dcc6 100644 --- a/nerfstudio/data/pixel_samplers.py +++ b/nerfstudio/data/pixel_samplers.py @@ -17,15 +17,8 @@ Code for sampling pixels. """ import random - -import torch -from jaxtyping import Int -from torch import Tensor -from math import ceil - from dataclasses import dataclass, field -from nerfstudio.data.utils.pixel_sampling_utils import erode_mask -import nerfstudio.utils.profiler as profiler +from math import ceil from typing import ( Dict, Optional, @@ -33,9 +26,15 @@ from typing import ( Union, ) +import torch +from jaxtyping import Int +from torch import Tensor + from nerfstudio.configs.base_config import ( InstantiateConfig, ) +from nerfstudio.data.utils.pixel_sampling_utils import erode_mask +from nerfstudio.utils import profiler @dataclass @@ -98,7 +97,7 @@ class PixelSampler: mask: mask of possible pixels in an image to sample from. """ # TODO Defining a flag for sampling even when there is a mask - if isinstance(mask, torch.Tensor) and False: + if isinstance(mask, torch.Tensor): # mask size: batch * h * w * 1 # Init state, cache masks indices. if self.states_of_mask == 0: diff --git a/nerfstudio/lantern/config.py b/nerfstudio/lantern/config.py index cf1a86d02..74650961f 100644 --- a/nerfstudio/lantern/config.py +++ b/nerfstudio/lantern/config.py @@ -6,18 +6,16 @@ Define custom method here that registers with Nerfstudio CLI. from __future__ import annotations -from nerfstudio.lantern.datamanager import HDRVanillaDataManagerConfig -from nerfstudio.lantern.model import LanternModelConfig from nerfstudio.cameras.camera_optimizers import CameraOptimizerConfig from nerfstudio.configs.base_config import ViewerConfig -from nerfstudio.data.dataparsers.nerfstudio_dataparser import \ - NerfstudioDataParserConfig -from nerfstudio.engine.optimizers import (AdamOptimizerConfig, - RAdamOptimizerConfig) +from nerfstudio.data.dataparsers.nerfstudio_dataparser import NerfstudioDataParserConfig +from nerfstudio.engine.optimizers import AdamOptimizerConfig from nerfstudio.engine.schedulers import ExponentialDecaySchedulerConfig from nerfstudio.engine.trainer import TrainerConfig +from nerfstudio.lantern.datamanager import HDRVanillaDataManagerConfig +from nerfstudio.lantern.model import LanternModelConfig from nerfstudio.pipelines.base_pipeline import VanillaPipelineConfig -from nerfstudio.plugins.types import MethodSpecification + def Get_lantern_config(): return TrainerConfig( diff --git a/nerfstudio/lantern/dataset.py b/nerfstudio/lantern/dataset.py index 27ab92476..07a46063d 100644 --- a/nerfstudio/lantern/dataset.py +++ b/nerfstudio/lantern/dataset.py @@ -111,6 +111,13 @@ class HDRInputDataset(InputDataset): data["mask"].shape[:2] == data["image"].shape[:2] ), f"Mask and image have different shapes. Got {data['mask'].shape[:2]} and {data['image'].shape[:2]}" + if self._dataparser_outputs.saturation_mask_filenames is not None: + saturation_mask_filepath = self._dataparser_outputs.saturation_mask_filenames[image_idx] + data["saturation_mask"] = get_image_mask_tensor_from_path(filepath=saturation_mask_filepath, scale_factor=self.scale_factor) + assert ( + data["saturation_mask"].shape[:2] == data["image"].shape[:2] + ), f"Saturation mask and image have different shapes. Got {data['saturation_mask'].shape[:2]} and {data['image'].shape[:2]}" + if self._dataparser_outputs.exposures is not None: exposure_value = self._dataparser_outputs.exposures[image_idx] data["exposure"] = exposure_value diff --git a/stick_masks/left_mask.png b/stick_masks/left_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..aca7abefd550959859a1c5fe02bb05b59d75ec48 GIT binary patch literal 50052 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 literal 0 HcmV?d00001 diff --git a/stick_masks/left_mask_bak.png b/stick_masks/left_mask_bak.png new file mode 100644 index 0000000000000000000000000000000000000000..5c62b0c7cbbded8bad3ce198c7bfbbb7de486b03 GIT binary patch literal 20504 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

#HfmEXFh@u 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 literal 0 HcmV?d00001