16-825 Assignment 4: 3D Gaussian Splatting & Diffusion-Guided Optimization
Q1. 3D Gaussian Splatting (50 pts)
1.1 3D Gaussian Rasterization (35 pts)
1.2 Training Custom Gaussians
Training Parameters & Results
| Learning Rate (Means) | Learning Rate (Covariances) | Learning Rate (Opacity) | Learning Rate (Color) | Iterations | PSNR | SSIM |
|---|---|---|---|---|---|---|
| 0.01 | 0.01 | 0.01 | 0.01 | 100 | 28.470 | 0.927 |
1.3 Extensions
1.3.1 Rendering Using Spherical Harmonics
Caption: qualitative comparison
SH is helping model view-dependent color effects in the 3D Gaussian Splatting representation1.3.2 Training On a Harder Scene
Default Configuration
| Mean PSNR | Mean SSIM | Iterations | Gaussians per splat |
|---|---|---|---|
| 17.202 | 0.662 | 1000 | -1 |
Using SSIM Loss (1000 iterations)
| Mean PSNR | Mean SSIM | Iterations | Gaussians per splat |
|---|---|---|---|
| 18.929 | 0.809 | 1000 | -1 |
Longer Training (10000 iterations)
| Mean PSNR | Mean SSIM | Iterations | Gaussians per splat |
|---|---|---|---|
| 19.801 | 0.738 | 10000 | -1 |
Observation: A combination of SSIM loss + longer training can yield better results.
Q2. Diffusion-Guided Optimization
2.1 SDS Loss + Image Optimization
Comparison of SDS results with and without classifier-free guidance
Prompt: "a standing corgi dog"
Prompt: "a Formula 1 car"
Prompt: "a hamburger"
Prompt: "a lego toy of batman"
2.2 Texture Map Optimization for Mesh



2.3 NeRF Optimization
Note: Used default parameters.
Rendered depth and RGB results for different prompts (depth map on left, RGB on right):
2.4 Extensions
2.4.1 View-dependent Text Embedding
Rendered depth and RGB results using view-dependent text embeddings (depth map on left, RGB on right):
Note: Used default parameters.
Incorporating view-dependent text embeddings leads to noticeably more stable and coherent 3D reconstructions. Objects exhibit fewer inconsistent faces and smoother silhouettes, as the model learns to associate each viewing direction (front, side, back) with more appropriate visual cues.2.4.3 Variation of implementation of SDS loss
I implemented the SDS loss directly in pixel space, using L2 + LPIPS loss for sharper results, slightly longer training but slightly improved image quality.