Skip to content

points3D.txt list index out of range #9

@PopeyePxx

Description

@PopeyePxx

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions