GithubHelp home page GithubHelp logo

f3loc's Introduction

F3Loc : Fusion and Filtering for Floorplan Localization [CVPR 2024 ✨highlight✨]

teaser This repository contains the official implementation of the following paper:

F3Loc : Fusion and Filtering for Floorplan Localization
Authors: Changan Chen, Rui Wang, Christoph Vogel, Marc Pollefeys
Paper | arXiv | Project Page

Citation

If you use this project or ideas from the paper for your research, please cite our paper:

@inproceedings{chen2024f3loc,
  title={F $\^{3}$ Loc: Fusion and Filtering for Floorplan Localization},
  author={Chen, Changan and Wang, Rui and Vogel, Christoph and Pollefeys, Marc},
  booktitle={IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  year={2024}
}

Requirements

To get started with the code, clone this repository and install the required dependencies:

git clone https://github.com/felix-ch/f3loc.git
cd f3loc
conda env create -f environment.yml
conda activate f3loc

Download Checkpoints

You can download the model checkpoints from here.
Place the logs folder under f3loc directory:

├── f3loc 
│   ├── logs
│       ├── comp.ckpt   # checkpoint for the complementary network 
│       ├── mono.ckpt   # checkpoint for the monocular network 
│       ├── mv.ckpt     # checkpoint for the multi-view network 

Download Dataset

You can download the dataset from here.
The released Gibson Floorplan Localization Dataset contains three datasets gibson_f, gibson_g (four views of forward and geneneral motions) and gibson_t (long trajectories) as described in the paper.
The data is collected in Gibson Environment. For more detailed data organization please refer to the README of the dataset.

Place dataset under the data folder:

├── f3loc 
│   ├── data
│       ├── Gibson Floorplan Localization Dataset
│           ├── README.md
│           ├── gibson_f
│               ├── ...
│           ├── gibson_g
│               ├── ...
│           ├── gibson_t
│               ├── ...
│           ├── desdf
│               ├── ...

Usage

Evaluate the observation models

python eval_observation.py --net_type <net-type> --dataset <dataset> 

Specify the network type, and choose a dataset to evaluate on, you can use gibson_f or gibson_g, e.g.,

python eval_observation.py --net_type comp --dataset gibson_f

Help message for arguments can be listed by

python eval_observation.py -h

Evaluate the sequential filtering

python eval_filtering.py --net_type <net-type> --traj_len <traj-len> --evol_dir <evol-dir>

This evaluates the sequential filtering with the proposed histogram filter on gibson_t. Choose a network type and specify the trajectory length. Set --evol_dir to a directory if you wish to dump the figures of likelihood and posterior evolution. By default the figures are not saved. E.g.,

python eval_filtering.py --net_type comp --traj_len 100 --evol_dir ./visualization

Check the usage of the arguments by

python eval_filtering.py -h

Lincense

This project is licensed under the MIT License.

f3loc's People

Contributors

felix-ch avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.