Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
S

SMOKE

> 编程语言
Open source

SMOKE: Single-Stage Monocular 3D Object Detection via Keypoint Estimation

783 stars0 likes1 views
WebsiteGitHub

About

SMOKE: Single-Stage Monocular 3D Object Detection via Keypoint Estimation

SMOKE: Single-Stage Monocular 3D Object Detection via Keypoint Estimation

Video

This repository is the official implementation of our paper SMOKE: Single-Stage Monocular 3D Object Detection via Keypoint Estimation. For more details, please see our paper.

Introduction

SMOKE is a real-time monocular 3D object detector for autonomous driving. The runtime on a single NVIDIA TITAN XP GPU is ~30ms. Part of the code comes from CenterNet, maskrcnn-benchmark, and Detectron2.

The performance on KITTI 3D detection (3D/BEV) is as follows:

Easy Moderate Hard
Car 14.17 / 21.08 9.88 / 15.13 8.63 / 12.91
Pedestrian 5.16 / 6.22 3.24 / 4.05 2.53 / 3.38
Cyclist 1.11 / 1.62 0.60 / 0.98 0.47 / 0.74

The pretrained weights can be downloaded here.

Requirements

All codes are tested under the following environment:

  • Ubuntu 16.04
  • Python 3.7
  • Pytorch 1.3.1
  • CUDA 10.0

Dataset

We train and test our model on official KITTI 3D Object Dataset. Please first download the dataset and organize it as following structure:

kitti
│──training
│    ├──calib 
│    ├──label_2 
│    ├──image_2
│    └──ImageSets
└──testing
     ├──calib 
     ├──image_2
     └──ImageSets

Setup

  1. We use conda to manage the environment:
conda create -n SMOKE python=3.7
  1. Clone this repo:
bash
git clone https://github.com/lzccccc/SMOKE
  1. Build codes:
bash
python setup.py build develop
  1. Link to dataset directory:
bash
mkdir datasets
ln -s /path_to_kitti_dataset datasets/kitti

Getting started

First check the config file under configs/.

We train the model on 4 GPUs with 32 batch size:

bash
python tools/plain_train_net.py --num-gpus 4 --config-file "configs/smoke_gn_vector.yaml"

For single GPU training, simply run:

bash
python tools/plain_train_net.py --config-file "configs/smoke_gn_vector.yaml"

We currently only support single GPU testing:

bash
python tools/plain_train_net.py --eval-only --config-file "configs/smoke_gn_vector.yaml"

Acknowledgement

CenterNet

maskrcnn-benchmark

Detectron2

Citations

Please cite our paper if you find SMOKE is helpful for your research.

@article{liu2020SMOKE,
  title={{SMOKE}: Single-Stage Monocular 3D Object Detection via Keypoint Estimation},
  author={Zechen Liu and Zizhang Wu and Roland T\'oth},
  journal={arXiv preprint arXiv:2002.10111},
  year={2020}
}

Issues· 60 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Python3d-object-detectionautonomous-driving

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言