/gaussian-painters

Gaussian Painters using 3D Gaussian Splatting

Primary LanguagePythonOtherNOASSERTION

Gaussian Painters

Sponsored by LingoSub: Learn languages by watching videos with AI-powered translations.

and ThumbnailsPro: Instant AI-generated Thumbnails, for videos that get clicks.

This is a fork of 3D Gaussian Splatting. Refer to the original repo for instructions on how to run the code.

How to create a Gaussian Painter dataset

After having installed the 3D Gaussian Splatting code, run the following command:

python create_dataset.py --img_path /path/to/image --output_dir /path/to/output_dir

You can disable the opacity_reset_interval argument by setting it to 30_000.

You can also set sh_degree to 0 to disable viewdependent effects.

This will create a dataset ready to be trained with the Gaussian Splatting code.

Experiments

  • Orthogonal images (using create_dataset2.py)
out300.mp4
  • Steganography (using create_dataset3.py)
out400.mp4
  • Lenticular effect (using create_dataset5.py)

This code requires to install kornia using pip install kornia

out900.mp4

Visualize the "painting" process

Using the SIBR visualizer, you can visualize the "painting" process during the Gaussian Splatting optimization.

timelapse.mp4

How it works?

The create_dataset script simply creates a COLMAP output directory with a single camera pointing at a plane. 100 points are sampled from the image and used as initial point cloud for the Gaussian Splatting optimization. A second perpendicular image is also created with a black image as target.