Home

Awesome

(ICCV2023) 3DPPE: 3D Point Positional Encoding for Multi-Camera 3D Object Detection Transformers

<!-- ## Introduction -->

This repository is an official implementation of 3DPPE

And we also extand the 3DPPE on streamPETR, please refer to https://github.com/FiveLu/stream3dppe.

<div align="center"> <img src="figs/overview.png"/> </div><br/>

Transformer-based methods have swept the benchmarks on 2D and 3D detection on images. Because tokenization before the attention mechanism drops the spatial information, positional encoding becomes critical for those methods. Recent works found that encodings based on samples of the 3D viewing rays can significantly improve the quality of multi-camera 3D object detection. We hypothesize that 3D point locations can provide more information than rays. Therefore, we introduce 3D point positional encoding, 3DPPE, to the 3D detection Transformer decoder. Although 3D measurements are not available at the inference time of monocular 3D object detection, 3DPPE uses predicted depth to approximate the real point positions. Our hybriddepth module combines direct and categorical depth to estimate the refined depth of each pixel. Despite the approximation, 3DPPE achieves 46.0 mAP and 51.4 NDS on the competitive nuScenes dataset, significantly outperforming encodings based on ray samples.

Preparation

This implementation is built upon detr3d, and can be constructed as the install.md.

Main Results

methodconfigmAPNDSconfigdownload
Ourspetr_depth_gtpe_r50dcn_gridmask_c539.98%40.92%configlog / gdrive
PETR'svov-p4-800x32037.8%42.6%configlog / gdrive
Oursvov-p4-800x32039.8%44.6%configlog / gdrive
PETRv2'svov-p4-800x32041.0%50.3%configlog / gdrive
Oursvov-p4-800x32043.2%51.9%configlog / gdrive

Extand on streamPETR (more details please refer to https://github.com/FiveLu/stream3dppe)

methodconfigPretrainmAPNDS
StreamPETRv2-99-900q-800x320FCOS3D48.2%57.1%
Oursv2-99-900q-800x320FCOS3D49.75%58.19%
Ours(GT_Depth)v2-99-900q-800x320FCOS3D55.30%61.78%

Acknowledgement

Many thanks to the authors of PETR, and the main code is based on it.

Citation

If you find this project useful for your research, please consider citing:

@article{shu20233DPPE,
  title={3DPPE: 3D Point Positional Encoding for Multi-Camera 3D Object Detection Transformers},
  author={Shu, Changyong and Deng, Jiajun and Yu, Fisher and Liu, Yifan},
  journal={arXiv preprint arXiv:2211.14710},
  year={2023}
}