chordatlas is an urban procedural modeling and data fusion research platform. UI video. It contains implementations of 3 projects that have be presented at various Siggraphs: frankengan, bigsur, and procex.
procex (video) are a mathematical model of traditional buildings, bigsur (london video) fits these to real world data, and frankengan (madrid video) textures them.
the system is developed on ubuntu, but most of the non-machine learning systems should work on any platform. if you have problems using this system, I would love to know so I can fix them!
- install java 11+
- download the chordatlas binary
- run with
java -jar -Xmx10g chordatlas-0.0.1-SNAPSHOT.jar
(code is academic grade: use at your own risk. the 10g says to use a 10Gb heap) - read the user interface instructions.
there are additional requirements and instructions for bigsur (creates clean meshes from noisy meshes, streetview info, and maps) and frankengan (textures the meshes, generates feature locations).
more adventurous hackers may be interested in compiling their own datasets or building the system.
if you use this project in your own publications, please cite the appropriate paper(s). this helps us get more funding to improve the systems:
@article{frankengan,
title = {FrankenGAN: Guided Detail Synthesis for Building Mass-Models Using Style-Synchonized GANs},
author = {Tom Kelly and Paul Guerrero and Anthony Steed and Peter Wonka and Niloy J. Mitra},
year = {2018},
journal = {{ACM} Transactions on Graphics},
volume = {37},
number = {6},
doi = {10.1145/3272127.3275065},
}
@article{bigsur,
title = {BigSUR: Large-scale Structured Urban Reconstruction},
author = {Tom Kelly and John Femiani and Peter Wonka and Niloy J. Mitra},
year = {2017},
journal = {{ACM} Transactions on Graphics},
volume = {36},
number = {6},
doi = {10.1145/3130800.3130823}
}
@article{procex,
title = {Interactive Architectural Modeling with Procedural Extrusions},
author = {Tom Kelly and Peter Wonka},
year = {2011},
journal = {{ACM} Transactions on Graphics},
volume = {30},
number = {2},
doi = {10.1145/1944846.1944854},
}