Floorplans that dream of being furnished apartments
A research pipeline that turns 2D floorplans and scattered photos into fully textured 3D indoor scenes, then hallucinates textures for the walls you never photographed.

What it does
Plan2Scene takes a floorplan and a set of interior photos, then builds a textured 3D mesh of the residence. When photos don’t cover every surface—which is always—it uses a GNN-based texture propagation network to fill in the gaps. The output is a tileable, seam-corrected 3D scene you can preview in a browser.
The interesting bit
The system doesn’t just slap photos onto walls. It ranks photo crops by “textureness” using a VGG-based scorer, then propagates patterns to unobserved surfaces through a graph neural network trained to guess what the unseen parts should look like. There’s also a dedicated seam-correction step to make everything tileable—because nothing ruins immersion like a repeating wallpaper seam.
Key highlights
- Built around the Rent3D++ dataset, with pretrained models available
- Simulates photo “un-observations” (drop ratios up to 60%) to stress-test texture hallucination
- Optional raster-to-vector floorplan preprocessing via FloorplanTransformation
- Outputs standard
scene.jsonfiles viewable through SmartScenesToolkit - Google Colab demo available for quick experimentation
Caveats
- Heavy dependency stack: conda, Embark Studios texture-synthesis CLI, SmartScenesToolkit build from source
- README is essentially a long shell script with prose framing; expect significant manual path configuration
- Custom data pipeline requires converting floorplans to a specific vector annotation format first
Verdict
Worth a look for researchers in indoor scene synthesis or anyone building automated property visualization tools. Skip it if you need a drop-in API or clean Python package—this is research code that wears its complexity openly.
Frequently asked
- What is 3dlg-hcvc/plan2scene?
- A research pipeline that turns 2D floorplans and scattered photos into fully textured 3D indoor scenes, then hallucinates textures for the walls you never photographed.
- Is plan2scene open source?
- Yes — 3dlg-hcvc/plan2scene is open source, released under the MIT license.
- What language is plan2scene written in?
- 3dlg-hcvc/plan2scene is primarily written in Python.
- How popular is plan2scene?
- 3dlg-hcvc/plan2scene has 606 stars on GitHub.
- Where can I find plan2scene?
- 3dlg-hcvc/plan2scene is on GitHub at https://github.com/3dlg-hcvc/plan2scene.