Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Correct Procedure for Voxel Visualization? #20

Open
jamesheatonrdm opened this issue Mar 28, 2024 · 0 comments
Open

Correct Procedure for Voxel Visualization? #20

jamesheatonrdm opened this issue Mar 28, 2024 · 0 comments

Comments

@jamesheatonrdm
Copy link

I am struggling to create a feature field which looks like the one provided in the README.

I get the following visualisation, which looks nothing like the example image:

1_feature_field

These are the commands I ran to produce this feature field using scene 1:

Step 1: Train model according to step 2 in the documentation:

python train_emernerf.py \
--config_file configs/default_config.yaml \
--output_root output \
--project test_dino \
--run_name 1_flow \
data.pixel_source.load_features=True \
data.pixel_source.feature_model_type=dinov2_vitb14 \
data.pixel_source.skip_feature_extraction=False \
nerf.model.head.enable_feature_head=True \
nerf.model.head.enable_learnable_pe=True \
data.scene_idx=1 \
data.start_timestep=2 \
data.end_timestep=3 \
logging.saveckpt_freq=8000 \
optim.num_iters=8000

This gives the following metrics:

I20240327 12:56:14 root video_utils.py:93] Eval over 6 images:
I20240327 12:56:14 root video_utils.py:94]      PSNR: 36.4330
I20240327 12:56:14 root video_utils.py:95]      SSIM: 0.9412
I20240327 12:56:14 root video_utils.py:96]      Feature PSNR: 24.9425
I20240327 12:56:14 root video_utils.py:97]      Masked PSNR: 34.0290
I20240327 12:56:14 root video_utils.py:98]      Masked SSIM: 0.9251
I20240327 12:56:14 root video_utils.py:99]      Masked Feature PSNR: 23.2345

The generated rgbs and dino_features are the following:

step_8000_rgbs
step_8000_dino_feats

Step 2: Add the --visualize_voxel and resume_from flags and remove the iterations and save checkpoint frequency (since I don't want to train again):

python train_emernerf.py \
--config_file configs/default_config.yaml \
--output_root output \
--project test_dino \
--run_name 1_flow \
--visualize_voxel \
resume_from=output/test_dino/1_flow/checkpoint_08000.pth \
data.pixel_source.load_features=True \
data.pixel_source.feature_model_type=dinov2_vitb14 \
data.pixel_source.skip_feature_extraction=False \
nerf.model.head.enable_feature_head=True \
nerf.model.head.enable_learnable_pe=True \
data.scene_idx=1 \
data.start_timestep=2 \
data.end_timestep=3

This produces the feature field shown above.

Does anyone know what could be causing this issue? I am currently attempting to train with a much longer timestep but other than that I do not see any glaring errors in my procedure.

Any help would be greatly appreciated. I am happy to provide further information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant