nerfstudio icon indicating copy to clipboard operation
nerfstudio copied to clipboard

[Question] How do I combine colmap dataparser parameters with splatfacto training?

Open Filocava99 opened this issue 10 months ago • 4 comments

Hi, I just have a quick question. I am currently training a model using splatfacto, but the orientation is messed up. I wanted to use --orientation_method=none --center_method=none --assume_colmap_world_coordinate_convention=False to attempt at fixing it, but unfortunately those works only when using the colmap subcommand of splatfacto.

Is there any way I could use the parameters of ns-train splatfacto colmap while also using the pipeline parameters of ns-train splatfacto?

Filocava99 avatar Apr 25 '24 09:04 Filocava99

you can try to convert your colmap project to nerfstudio format using ns-process-data (without rerunning the colmap) and load it into ns-train.

you might also want to hack this line: https://github.com/nerfstudio-project/nerfstudio/blob/main/nerfstudio/process_data/colmap_utils.py#L397

jb-ye avatar Apr 27 '24 03:04 jb-ye

I was already processing the images using ns-process-data, but those parameters where missing, they were only availble using ns-train. I used comlmap2nerf script in the past but I was hoping for a more compact solution. Gonna use that then, thanks anyway!

Filocava99 avatar Apr 27 '24 16:04 Filocava99

What's the actual purpose of ns-train splatfacto colmap tought? Cause the processing is done through ns-process-data and the train with ns-train splatfacto --data etc. I can't understand how does it fell in between

Filocava99 avatar May 18 '24 08:05 Filocava99

@Filocava99 yeah if you have a colmap project already and doesn’t want to convert it to nerfstudio format, you can still quick start training the model using colmap parser.

jb-ye avatar May 19 '24 16:05 jb-ye

@jb-ye Ok but here's the thing: ns-process-data creates a colmap project and converts it to nerfstudio format. It lacks the orientation method parameter, resulting in the final model being slighty tilted. If instead I use ns-train splatfacto colmap, all the parameters of ns-train splatfacto are missing, even the --viewer.quit-on-train-completion=True parameter, which is actually kind of important if you want to create an automated pipeline

Filocava99 avatar May 21 '24 09:05 Filocava99

@Filocava99 splatfacto and colmap are two subcommands and have their own options, so you should put --viewer.quit-on-train-completion=True after splafacto and before colmap to make it effective.

jb-ye avatar May 22 '24 15:05 jb-ye

Holy I feel so stupid rn ahah, thanks :D

Filocava99 avatar May 22 '24 16:05 Filocava99