ACM Multimedia 2026
Wei Zhang*, Shengkai Yu*, Shiqiang Gong*, Qi Zhang, Qiang Li, Qi Wang†
Northwestern Polytechnical University; vivo BlueImage Lab
* Equal contribution. † Corresponding author.
HiCo-GS is a high-fidelity framework for city-scale reconstruction with octree-structured Gaussian anchors. It combines Cross-Level Context Aggregation (CLCA), which exchanges hierarchical feature context, with Depth-Normal Geometric Consistency (DNGC), which regularizes rendered geometry using normal agreement and edge-aware smoothness.
This repository is the official implementation of the ACM MM 2026 paper. It is built on CityGS-X.
- 2026-08: Paper accepted by ACM Multimedia 2026; code release prepared.
- Paper: ACM DOI | arXiv coming soon.
- Pretrained models: coming soon.
- Processed benchmark data: coming soon.
- China-Pagoda: coming soon; 8 scenes and more than 10,000 images in total.
- CLCA enriches each visible anchor feature with parent/self/child level context through a lightweight residual MLP.
- DNGC aligns rendered normals with normals induced by rendered depth and adds edge-aware normal and distance smoothness with progressive warmup.
- The implementation retains distributed anchor training from CityGS-X and supports independent CLCA and DNGC ablations.
Rendering results from the accepted paper:
| Benchmark | Scene | SSIM ↑ | PSNR ↑ | LPIPS ↓ |
|---|---|---|---|---|
| Mill19 | Building | 0.789 | 22.67 | 0.231 |
| Mill19 | Rubble | 0.863 | 28.09 | 0.192 |
| UrbanScene3D | Residence | 0.844 | 24.41 | 0.166 |
| UrbanScene3D | Sci-Art | 0.894 | 26.64 | 0.163 |
On MatrixCity, HiCo-GS reaches 27.93 PSNR, 0.461 precision, 0.856 recall, and 0.599 F1. See the paper for complete comparisons, geometry results, China-Pagoda results, and ablations.
The reference setup uses Ubuntu 20.04, Python 3.8.20, PyTorch 2.1.0+cu121, a CUDA 12.x toolkit, GCC 9.4.0, and four RTX 4090 GPUs.
conda env create -f environment.yml
conda activate hicogs
./scripts/install.shThe installer compiles the included differentiable rasterizer and simple-KNN CUDA extensions, then validates imports. See the environment notes for exact versions and troubleshooting. Packaging-time checks and the remaining GPU validation boundary are recorded in VALIDATION.md.
The paper uses Mill19 (Building and Rubble), UrbanScene3D (Residence and Sci-Art), MatrixCity, and China-Pagoda. Processed downloads are not yet public. The expected COLMAP, RGB, inverse-depth, mask, and train/test layouts are documented in DATA.md.
Paper configuration:
| Setting | Value |
|---|---|
| GPUs | 4 x RTX 4090 |
| Iterations | 30,000 |
| Batch size | 4 |
| Branching factor | 2 |
| Anchor feature dimension | 32 |
| Offsets per anchor | 5 |
DNGC weights (normal, normal smooth, distance smooth) |
(0.05, 0.01, 0.01) |
| DNGC edge sensitivity / warmup | 10 / 10,000 |
Use the provided profile wrapper:
# Mill19: Building or Rubble
./scripts/train.sh mill19 /path/to/scene /path/to/output
# UrbanScene3D: Residence or Sci-Art
./scripts/train.sh urbanscene3d /path/to/scene /path/to/output
# MatrixCity
./scripts/train.sh matrixcity /path/to/MatrixCity/train/block_all /path/to/output
# China-Pagoda
./scripts/train.sh china-pagoda /path/to/scene /path/to/outputThe wrapper defaults to four processes. Set CUDA_VISIBLE_DEVICES to select
devices. HICOGS_GPUS may change the process count for debugging, but such a run
is not the paper setting. Additional train.py arguments are accepted after
the output path. For example, save resumable checkpoints at 10k and 20k:
./scripts/train.sh mill19 /path/to/scene /path/to/output \
--checkpoint_iterations 10000 20000Inspect an exact command without starting training:
HICOGS_DRY_RUN=1 ./scripts/train.sh mill19 /path/to/scene /path/to/output# Without CLCA
./scripts/train.sh mill19 /path/to/scene /path/to/output --disable_clca
# Without DNGC
./scripts/train.sh mill19 /path/to/scene /path/to/output --disable_dngcResume files contain the anchor/MLP and optimizer state, RNG state, and camera sampler position, and are sharded by distributed rank. A checkpoint must be resumed with the same world size used to create it:
./scripts/train.sh mill19 /path/to/scene /path/to/output \
--start_checkpoint /path/to/output/checkpoints/10000args.json in the trained model directory records all model and data options.
Render the test set and compute SSIM/PSNR/LPIPS with:
./scripts/render_and_evaluate.sh /path/to/evaluation-scene /path/to/outputLPIPS downloads the official VGG weights on first use. To render manually:
python render.py \
--source_path /path/to/evaluation-scene \
--model_path /path/to/output \
--iteration 30000 --skip_train --eval
python metrics.py --model_paths /path/to/output --mode testExtract a mesh and evaluate its F1 score:
python render_mesh.py \
--source_path /path/to/scene \
--model_path /path/to/output \
--iteration 30000 --voxel_size 0.001 --max_depth 5 --use_depth_filter
python eval_f1.py \
--ply_path_pred /path/to/predicted_mesh.ply \
--ply_path_gt /path/to/ground_truth.ply \
--dtau 0.5arguments/ command-line and saved-configuration handling
configs/paper/ exact paper reproduction argument profiles
gaussian_renderer/ distributed rasterization and CLCA integration
scene/ anchor model, datasets, cameras, save/load
submodules/ CUDA rasterizer and simple-KNN source
utils/ losses, DNGC, geometry, and common utilities
scripts/ install, environment, train, render/evaluate wrappers
tests/ CPU/static regression tests
This project is available for non-commercial research and evaluation only under the inherited Gaussian-Splatting License. See LICENSE.md and THIRD_PARTY_NOTICES.md. Commercial use requires prior and explicit consent from the relevant licensors.
We thank the authors of CityGS-X, 3D Gaussian Splatting, Grendel-GS, Octree-GS, PGSR, CityGaussianV2, and Momentum-GS. Their work made this project possible. Detailed provenance is recorded in THIRD_PARTY_NOTICES.md.
@inproceedings{zhang2026hicogs,
title = {HiCo-GS: Hierarchical Context Aggregation and Geometric Consistency for Octree Gaussian Splatting},
author = {Zhang, Wei and Yu, Shengkai and Gong, Shiqiang and Zhang, Qi and Li, Qiang and Wang, Qi},
booktitle = {Proceedings of the 34th ACM International Conference on Multimedia},
year = {2026},
doi = {10.1145/3767308.3836546}
}
