vggt icon indicating copy to clipboard operation
vggt copied to clipboard

Why does running script demo_gradio produce better point cloud results than running script demo_colmap ?

Open canyou2014 opened this issue 6 months ago • 6 comments

canyou2014 avatar Jun 24 '25 07:06 canyou2014

I had the same issue where the output pointclouds appeared much noisier than the previous version. Reverting from load_and_preprocess_images_square() to load_and_preprocess_images() fixed it for me.

djecoo avatar Jun 24 '25 14:06 djecoo

Hi I guess this can solve your problem? Basically the padded areas bring some noisy points (but usually they should have very low confidence score right?)

https://github.com/facebookresearch/vggt/pull/201

jytime avatar Jun 25 '25 01:06 jytime

@jytime No,#201 can not solve my problem, still lots of noisy points, I find the depth_conf has lots of 1.0 . Use load_and_preprocess_images() as @djecoo did make the result the same with demo_gradio for me, and its depth_conf is more reasonable ( >1.0).

canyou2014 avatar Jun 25 '25 06:06 canyou2014

I see thanks for the feedback

jytime avatar Jun 25 '25 14:06 jytime

I had the same issue where the output pointclouds appeared much noisier than the previous version. Reverting from load_and_preprocess_images_square() to load_and_preprocess_images() fixed it for me.

Could you please upload the modified code for reference? Thanks

Because I changed it to use, the problem occurred:

Predicting tracks for query frame 0
Predicting tracks for query frame 14
Predicting tracks for query frame 13
Predicting tracks for query frame 4
Predicting tracks for query frame 1
Processing non visible frames: [6]
Not enough inliers per frame, skip BA.
Traceback (most recent call last):
  File "/home/robot/git/vggt/demo_colmap.py", line 322, in <module>
    demo_fn(args)
  File "/home/robot/git/vggt/demo_colmap.py", line 195, in demo_fn
    raise ValueError("No reconstruction can be built with BA")
ValueError: No reconstruction can be built with BA

My modification method is:

    images_old, original_coords = load_and_preprocess_images_square(image_path_list, img_load_resolution)
    images = load_and_preprocess_images(image_path_list)
    images = images.to(device)
    original_coords = original_coords.to(device)
    print(f"Loaded {len(images)} images from {image_dir}")

YongcanZhou avatar Sep 08 '25 07:09 YongcanZhou

I had the same issue where the output pointclouds appeared much noisier than the previous version. Reverting from load_and_preprocess_images_square() to load_and_preprocess_images() fixed it for me.

@jytime No,#201 can not solve my problem, still lots of noisy points, I find the depth_conf has lots of 1.0 . Use load_and_preprocess_images() as @djecoo did make the result the same with demo_gradio for me, and its depth_conf is more reasonable ( >1.0).

Thanks for sharing your experience! Would you mind sharing the full modified version of your demo_colmap.py after replacing load_and_preprocess_images_square() with load_and_preprocess_images()? It would be very helpful to double-check if I’m making the changes correctly.

jzhu98 avatar Sep 24 '25 04:09 jzhu98