-
Notifications
You must be signed in to change notification settings - Fork 11
points3D.txt list index out of range #9
Description
Dear author,
Thank you very much for your wonderful work. When I tried to reproduce the code using the dataset you provided, I encountered the following issues:
Traceback (most recent call last):
File "/home/hun/anaconda3/envs/gsgrasper/bin/ns-train", line 8, in
sys.exit(entrypoint())
File "/home/hun/anaconda3/envs/gsgrasper/lib/python3.8/site-packages/nerfstudio/scripts/train.py", line 262, in entrypoint
main(
File "/home/hun/anaconda3/envs/gsgrasper/lib/python3.8/site-packages/nerfstudio/scripts/train.py", line 247, in main
launch(
File "/home/hun/anaconda3/envs/gsgrasper/lib/python3.8/site-packages/nerfstudio/scripts/train.py", line 189, in launch
main_func(local_rank=0, world_size=world_size, config=config)
File "/home/hun/anaconda3/envs/gsgrasper/lib/python3.8/site-packages/nerfstudio/scripts/train.py", line 99, in train_loop
trainer.setup()
File "/home/hun/anaconda3/envs/gsgrasper/lib/python3.8/site-packages/nerfstudio/engine/trainer.py", line 158, in setup
self.pipeline = self.config.pipeline.setup(
File "/home/hun/anaconda3/envs/gsgrasper/lib/python3.8/site-packages/nerfstudio/configs/base_config.py", line 53, in setup
return self._target(self, **kwargs)
File "/home/hun/anaconda3/envs/gsgrasper/lib/python3.8/site-packages/nerfstudio/pipelines/base_pipeline.py", line 254, in init
self.datamanager: DataManager = config.datamanager.setup(
File "/home/hun/anaconda3/envs/gsgrasper/lib/python3.8/site-packages/nerfstudio/configs/base_config.py", line 53, in setup
return self._target(self, **kwargs)
File "/home/hun/anaconda3/envs/gsgrasper/lib/python3.8/site-packages/nerfstudio/data/datamanagers/full_images_datamanager.py", line 121, in init
self.train_dataparser_outputs: DataparserOutputs = self.dataparser.get_dataparser_outputs(split="train")
File "/home/hun/anaconda3/envs/gsgrasper/lib/python3.8/site-packages/nerfstudio/data/dataparsers/base_dataparser.py", line 165, in get_dataparser_outputs
dataparser_outputs = self._generate_dataparser_outputs(split, **kwargs)
File "/home/hun/anaconda3/envs/gsgrasper/lib/python3.8/site-packages/nerfstudio/data/dataparsers/nerfstudio_dataparser.py", line 378, in _generate_dataparser_outputs
create_ply_from_colmap(
File "/home/hun/anaconda3/envs/gsgrasper/lib/python3.8/site-packages/nerfstudio/process_data/colmap_utils.py", line 684, in create_ply_from_colmap
colmap_points = read_points3D_text(recon_dir / "points3D.txt")
File "/home/hun/anaconda3/envs/gsgrasper/lib/python3.8/site-packages/nerfstudio/data/utils/colmap_parsing_utils.py", line 329, in read_points3D_text
error = float(elems[7])
IndexError: list index out of range
Modifications I made:
Since your command python ./scripts/generate_data.py lacks the boundary_mask/ and hand2base.txt files, I temporarily removed the boundary_mask/ part from the code and created a dummy hand2base.txt file with 16 lines, each containing 6 random numbers, just to get the code running.
In train.sh, I replaced ns-train gaussian-splatting with ns-train splatfacto after checking the original repo of Nerfstudio.
Current Issue:
After these modifications, the points3D.txt file now has 7 numbers per line. However, the code still throws an error indicating that each line needs more information, including error=error, image_ids=image_ids, and point2D_idxs=point2D_idxs, among others. I am unsure how to resolve this and would greatly appreciate your guidance.
Looking forward to your response.