Papers › GaussianCity: Generative Gaussian Splatting for Unbounded 3D City Generation

GaussianCity: Generative Gaussian Splatting for Unbounded 3D City Generation

10 Jun 2024arXiv:2406.06526archive 2025-07-28

Haozhe Xie, Zhaoxi Chen, Fangzhou Hong, Ziwei Liu

3D city generation with NeRF-based methods shows promising generation results but is computationally inefficient. Recently 3D Gaussian Splatting (3D-GS) has emerged as a highly efficient alternative for object-level 3D generation. However, adapting 3D-GS from finite-scale 3D objects and humans to infinite-scale 3D cities is non-trivial. Unbounded 3D city generation entails significant storage overhead (out-of-memory issues), arising from the need to expand points to billions, often demanding hundreds of Gigabytes of VRAM for a city scene spanning 10km^2. In this paper, we propose GaussianCity, a generative Gaussian Splatting framework dedicated to efficiently synthesizing unbounded 3D cities with a single feed-forward pass. Our key insights are two-fold: 1) Compact 3D Scene Representation: We introduce BEV-Point as a highly compact intermediate representation, ensuring that the growth in VRAM usage for unbounded scenes remains constant, thus enabling unbounded city generation. 2) Spatial-aware Gaussian Attribute Decoder: We present spatial-aware BEV-Point decoder to produce 3D Gaussian attributes, which leverages Point Serializer to integrate the structural and contextual characteristics of BEV points. Extensive experiments demonstrate that GaussianCity achieves state-of-the-art results in both drone-view and street-view 3D city generation. Notably, compared to CityDreamer, GaussianCity exhibits superior performance with a speedup of 60 times (10.72 FPS v.s. 0.18 FPS).

PaperPDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2406.06526")

Code

Syntology Ran 7 of 10 code samples harvested from 1 repository linked to this paper; 3 have no recorded run. Of those that ran: 7 ran with no contract checked.

By repository: official repository: 10 samples from 1 repository, 7 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

hzxie/GaussianCity officialmentioned on GitHubpytorchNOASSERTION report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

10 samples harvested; 7 ran; 0 honoured the contract we drafted; 3 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

7ran
3unverified

Licence: 10 of the 10 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from hzxie/GaussianCity. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

batch2offset hzxie/GaussianCity/models/pt_v3.py official repository ran licence not identified · pointer only · c02237104f832f3d · report
collate_fn hzxie/GaussianCity/utils/datasets.py official repository ran licence not identified · pointer only · e4683556ff94c9c6 · report
get_ins_seg_map_palette hzxie/GaussianCity/utils/helpers.py official repository ran licence not identified · pointer only · 3db398f7079bf1ce · report
get_seg_map hzxie/GaussianCity/utils/helpers.py official repository ran licence not identified · pointer only · 9416030008e022dd · report
offset2batch hzxie/GaussianCity/models/pt_v3.py official repository ran licence not identified · pointer only · 784720b30e505460 · report
offset2bincount hzxie/GaussianCity/models/pt_v3.py official repository ran licence not identified · pointer only · c17c79b2e37251f8 · report
var_or_cuda hzxie/GaussianCity/utils/helpers.py official repository ran licence not identified · pointer only · 3751d5719b125ccc · report
init_dist hzxie/GaussianCity/utils/distributed.py official repository unverified licence not identified · pointer only · b5d91bbfdb1eb2da · report
vgg16 hzxie/GaussianCity/losses/perceptual.py official repository unverified licence not identified · pointer only · 45e61111a925688b · report
vgg19 hzxie/GaussianCity/losses/perceptual.py official repository unverified licence not identified · pointer only · 396918e041c75412 · report

Tasks

3D GenerationNeRFScene Generation

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
Scene Generation GoogleEarth GaussianCity Camera Error 0.057 #1 of 5 Archive leaderboard report
Scene Generation GoogleEarth GaussianCity Depth Error 0.136 #1 of 5 Archive leaderboard report
Scene Generation GoogleEarth GaussianCity FID 86.94 #1 of 5 Archive leaderboard report
Scene Generation GoogleEarth GaussianCity KID 0.09 #1 of 5 Archive leaderboard report
Scene Generation KITTI GaussianCity FID 29.5 #1 of 1 Archive leaderboard report
Scene Generation KITTI GaussianCity KID 0.017 #1 of 1 Archive leaderboard report

Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections