Home

Awesome

MonteBoxFinder

Official implementation for the ECCV 2022 work

MonteBoxFinder: Detecting and Filtering Primitives to Fit a Noisy Point Cloud

by Michaël Ramamonjisoa, Sinisa Stekovic and Vincent Lepetit

[Paper] [Project Page]

Downloading ScanNet

Download the ScanNet dataset following their instructions. You only need the _vh_2_clean.ply files

python download-scannet.py -o PATH_TO_SCANNET_SCENES --type _vh_clean_2.ply

The chosen output path PATH_TO_SCANNET_SCENES should contain scans, and scans_test directories. Check that you have all scenes with

find PATH_TO_SCANNET_SCENES | grep _vh_clean_2.ply | wc -l 

which should return 1613.

Running the box proposals extraction code

Install

See CuboidDetection (WIP) to install the C++ library.

Run

Run the cuboid detection script run_cuboid_detector.py using

cd python
python run_cuboid_detector.py --scans_dir PATH_TO_SCANNET_SCENES --out_dir ../Data/PrimitiveDetection --lib_dir ../CuboidDetection/build

Running the optimization code

cd python
python run.py --scans_dir ../Data/PrimitiveDetection --outdir ../results/benchmark --num_workers 1 --scene_list_file ../scenes_todo_all.txt --benchmark

Citation

If you find MonteBoxFinder useful in your research, please consider citing:

@article{ramamonjisoa2022mbf,
    Title = {MonteBoxFinder: Detecting and Filtering Primitives to Fit a Noisy Point Cloud},
    Author = {Micha\"el Ramamonjisoa, Sinisa Stekovic and Vincent Lepetit},
    Journal = {European Conference on Computer Vision (ECCV)}, 
    Year = {2022}
}