by Hong-Xing Yu, Jiajun Wu, and Li Yi from Stanford University and Tsinghua University.
arXiv link: https://arxiv.org/abs/2204.13630
Project website: https://kovenyu.com/EON
This repository is code release for our CVPR22 paper.
Since the proposed method is a plug-and-play design, in this repository we provide
an implementation on VoteNet based on its official repository with some modifications.
For better understanding, we provide two branches.
The baseline
branch provides the baseline VoteNet,
and the main
branch provides EON-VoteNet with minimal modification.
This codebase has been tested under the following environment:
- Python 3.8.8
- pytorch 1.9.0, cuda 11.1, torchvision 0.10.0
- pointnet2_ops 3.0.0 and pointnet2 3.0.0 from https://github.com/erikwijmans/Pointnet2_PyTorch
- pytorch3d 0.5.0, numpy-quaternion
- (pip install) matplotlib, opencv-python, plyfile, 'trimesh>=2.35.39,<2.35.40','networkx>=2.2,<2.3'
Currently, our codebase only supports ScanNet V2 with Scan2CAD detection labels. Download the ScanNet data following the README in scannet folder. Then,
cd EON-VoteNet/scan2cad
python generate_cad2align_and_rot.py
which generates scan2cad labels to EON-VoteNet/scan2cad/scan2cad_detection_labels
.
Training assumes one GPU. It should take a few hours using the default setup.
cd EON-VoteNet
python train.py
After training or downloading a checkpoint, evaluation can be done by:
python train.py --is_eval --checkpoint_path [checkpoint_file_path]
If you find our repository useful, please consider citing our paper and also VoteNet.
@inproceedings{yu2022eon,
author = {Yu, Hong-Xing and Wu, Jiajun and Yi, Li},
title = {Rotationally Equivariant 3D Object Detection},
booktitle = {Proceedings of the IEEE International Conference on Computer Vision and Pattern Recognition},
year = {2022}
}