Skip to content

Daisy-1227/FRI-Net

Repository files navigation

FRI-Net: Floorplan Reconstruction via Room-wise Implicit Representation

ECCV 2024

Honghao Xu, Juzhan Xu, Zeyu Huang, Pengfei Xu, Hui Huang, Ruizhen Hu

This repository provides code, data and pretrained models for FRI-Net.

[Paper]

News

  • We have updated the model code.
  • We have updated the evaluation and the training codes on stru3d.
  • We have updated the evaluation and the training codes on scenecad.

Preparation

Environment setup

Since our code is built upon Roomformer, we follow the environment setup from Roomformer.

# Create conda environment
conda create -n frinet python=3.8
conda activate frinet

# install pytorch and other requried packages
pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html
pip install -r requirements.txt

# Compile the defromable-attention models from deformable-DETR
cd models/ops
sh make.sh

Data preparation

We directly provide the processed data and pretrained checkpoints, please download them and organize them as following: (we have provide the processed scenecad data and pretrained checkpoint here)

FRI-Net/
└── data/
    └── stru3d/
        ├── annotations/
        ├── input/
        ├── occ/
        ├── ...
    └── scenecad/
        ├── annotations/
        ├── input/
        ├── occ/
        ├── ...
└── checkpoints/
    ├── pretrained_ckpt.pth
    ├── pretrained_scenecad_ckpt.pth
    ├── pretrained_room_wise_encoder.pth

For details on data preprocessing, please refer to datasets.

Evaluation

Please run the following command to evaluate the model on Structured3D test set:

python eval_stru3d.py --checkpoint ./checkpoints/pretrained_ckpt.pth

Please run the following command to evaluate the model on Scenecad val set:

python eval_scenecad.py --checkpoint ./checkpoints/pretrained_scenecad_ckpt.pth

You can get the visualized results on the results.

Training

To train FRI-Net on Structured 3D, please run the following command:

python train_stru3d.py --phase=0 --job_name=train_stru3d
python train_stru3d.py --phase=1 --job_name=train_stru3d
python train_stru3d.py --phase=2 --job_name=train_stru3d

To train FRI-Net on SceneCAD, please run the following command:

python train_scenecad.py --phase=0 --job_name=train_scenecad
python train_scenecad.py --phase=1 --job_name=train_scenecad
python train_scenecad.py --phase=2 --job_name=train_scenecad

Citation

If you have any question about this repo, feel free to drop me an email [email protected]

If you find FRI-Net useful in your research, please cite our paper:

@inproceedings{xu2024fri,
    title={FRI-Net: Floorplan Reconstruction via Room-wise Implicit Representation},
    author={Honghao Xu and Juzhan Xu and Zeyu Huang and Pengfei Xu and Hui Huang and Ruizhen Hu},
    booktitle={ECCV}
    year={2024}
}

Acknowledgment

We thank for the following open source projects:

About

[ECCV 2024] FRI-Net: Floorplan Reconstruction via Room-wise Implicit Representation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published