# RoMe **Repository Path**: xhzhu-robotic/RoMe ## Basic Information - **Project Name**: RoMe - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-23 - **Last Updated**: 2024-01-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RoMe: Towards Large Scale Road Surface Reconstruction via Mesh Representation ### [Paper](https://arxiv.org/abs/2306.11368),[YouTube](https://youtu.be/S7ZEMVaEtBA), [Bilibili](https://www.bilibili.com/video/BV1Xx4y1o7ea/?vd_source=5051310ed13090afc35ea319bbc5cac3) ### Ruohong Mei, Wei Sui, Jiaxin Zhang, Xue Qin, Gang Wang, Tao Peng, Cong Yang

### [nuScenes](https://www.nuscenes.org/nuscenes) In configs/local_nusc.yaml * base_dir: Put official nuScenes here, e.g. {base_dir}/v1.0-trainval * image_dir: Put segmentation results here. We use [Mask2Former](https://bowenc0221.github.io/mask2former/) to segment source images. Folder structure is like {image_dir}/{sweeps/samples}/seg_CAM_FRONT. We provide processed data on [google drive](https://drive.google.com/file/d/1WpHu4qa9r1WNmwGFqzY5nv9PMCfwUVOn/view), including all semantic images used in this paper. "Scene-1" and "Scene-2" of the paper contain ```scene-0063, scene-0064, scene-0200, scene-0283``` and ```scene-0109, scene-0508, scene-0523, scene-0821``` respectively. ### [KITTI Odom](https://www.cvlibs.net/datasets/kitti/eval_odometry.php) In configs/local_kitti.yaml * base_dir: Put official kitti odometry dataset here, e.g. {base_dir}/sequences * image_dir: Put segmentation results here. Also we use Mask2Former and folder structure is like {image_dir}/seg_sequences. We provide processed data on [google drive](https://drive.google.com/file/d/1tSgxztLtN3vu1mocfLA0rHsURF8zW6uW/view?usp=sharing), including all semantic images and poses we used. ### Quick Start #### Environment ``` torch==1.10.2+cu111 torchvision==0.11.3+cu111 torchaudio==0.10.2+cu111 pytorch3d==0.6.1 pymeshlab==2021.10 scipy opencv-py thon tqdm wandb python3.8 ``` For wandb usage, please visit [here](https://wandb.ai/site). #### Train a scene from nuScenes * Modify ```configs/local_nusc.yaml``` * change wandb configs * change ```base_dir``` and ```image_dir``` according to your folder * change ```clip_list``` to train one scene or multiple scenes. * Modify wandb url and api_key in ```run_local.sh``` and then run ```sh run_local.sh``` to start training. #### Train a scene from KITTI * Modify ```configs/local_kitti.yaml``` * change wandb configs * change ```base_dir``` and ```image_dir``` according to your folder * change ```sequence``` to choose which sequence to train. * modify ````choose_point```` and ```bev_x/y_length``` to choose which sub area to train. * Modify wandb url and api_key in ```run_local.sh``` and then run ```sh run_local.sh``` to start training. #### Evaluation * Modify ```configs/nusc_eval.yaml``` * change ```model_path```and ```pose_path``` where your trained models saved. * Make sure other training parameters are same as your configs when training. * This is a simple evaluation script and only support ```batch_size: 1``` ### Future work * This is the first version of RoMe, and it is hard to reconstruct steep slopes. * Using SfM(structure from motion) or MVS(multi-view stereo) points and lidar points will give strong supervision. * Monodepth estimation would be useful like [monosdf](https://github.com/autonomousvision/monosdf). * We are trying to use other mesh render methods like [nvdiffrec](https://nvlabs.github.io/nvdiffrec/). ### Citation ``` @misc{mei2023rome, title={RoMe: Towards Large Scale Road Surface Reconstruction via Mesh Representation}, author={Ruohong Mei and Wei Sui and Jiaxin Zhang and Xue Qin and Gang Wang and Tao Peng and Cong Yang}, year={2023}, eprint={2306.11368}, archivePrefix={arXiv}, primaryClass={cs.CV} } ```