Home

Awesome

<div align="center">

Camera-based Semantic Scene Completion with Sparse Guidance Network

</div>

Camera-based Semantic Scene Completion with Sparse Guidance Network.

[Arxiv]

News

Abstract

Semantic scene completion (SSC) aims to predict the semantic occupancy of each voxel in the entire 3D scene from limited observations, which is an emerging and critical task for autonomous driving. Recently, many studies have turned to camera-based SSC solutions due to the richer visual cues and cost-effectiveness of cameras. However, existing methods usually rely on sophisticated and heavy 3D models to process the lifted 3D features directly, which are not discriminative enough for clear segmentation boundaries. In this paper, we adopt the dense-sparse-dense design and propose a one-stage camera-based SSC framework, termed SGN, to propagate semantics from the semantic-aware seed voxels to the whole scene based on spatial geometry cues. Firstly, to exploit depth-aware context and dynamically select sparse seed voxels, we redesign the sparse voxel proposal network to process points generated by depth prediction directly with the coarse-to-fine paradigm. Furthermore, by designing hybrid guidance (sparse semantic and geometry guidance) and effective voxel aggregation for spatial geometry cues, we enhance the feature separation between different categories and expedite the convergence of semantic propagation. Finally, we devise the multi-scale semantic propagation module for flexible receptive fields while reducing the computation resources. Extensive experimental results on the SemanticKITTI and SSCBench-KITTI-360 datasets demonstrate the superiority of our SGN over existing state-of-the-art methods. And even our lightweight version SGN-L achieves notable scores of 14.80% mIoU and 45.45% IoU on SeamnticKITTI validation with only 12.5 M parameters and 7.16 G training memory.

Method

SGN.jpg

Getting Started

Installation

Please refer to Voxformer to create base environment. Some extra packages are needed to be installed:

Prepare Dataset

Please refer to the README in the preprocess folder for details.

Run and Eval

Train SGN with 4 GPUs

./tools/dist_train.sh ./projects/configs/sgn/sgn-T-one-stage-guidance.py 4

Eval SGN with 4 GPUs

./tools/dist_test.sh ./projects/configs/sgn/sgn-T-one-stage-guidance.py ./path/to/ckpts.pth 4

Model Zoo

BackboneDatasetMethodIoUmIoUParams (M)ConfigDownload
R50Sem.KITTI val/testSGN-T46.21/45.4215.32/15.7628.2configmodel
R50KITTI360 val/testSGN-T47.50/47.0619.07/18.2528.2configmodel
R18Sem.KITTI val/testSGN-L45.45/43.7114.80/14.3912.5configmodel
R18KITTI360 val/testSGN-L46.67/46.6417.11/16.9512.5configmodel
R50Sem.KITTI val/testSGN-S43.60/41.8814.55/14.0128.2configmodel
R50KITTI360 val/testSGN-S46.13/46.2218.29/17.7128.2configmodel

Note that we used the checkpoints that performed best on the validation set during training to evaluate SGN on the test sets for both SemanticKITTI and SSCBench-KITTI-360 datasets.

TODO

Acknowledgement

Many thanks to these excellent open source projects:

Ciatation

If you find this project helpful, please consider citing the following paper:

@article{mei2024camera,
  title={Camera-based 3d semantic scene completion with sparse guidance network},
  author={Mei, Jianbiao and Yang, Yu and Wang, Mengmeng and Zhu, Junyu and Ra, Jongwon and Ma, Yukai and Li, Laijian and Liu, Yong},
  journal={IEEE Transactions on Image Processing},
  year={2024},
  publisher={IEEE}
}