benchmarks.md 5.89 KB
Newer Older
zhangwenwei's avatar
zhangwenwei committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128

# Benchmarks

Here we benchmark the training and testing speed of models in MMDetection3D,
with some other popular open source 3D detection codebases.


## Settings

* Hardwares: 8 NVIDIA Tesla V100 (32G) GPUs, Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz
* Software: Python 3.7, CUDA 10.1, cuDNN 7.6.5, PyTorch 1.3, numba 0.48.0.
* Model: Since all the other codebases implements different models, we compare the corresponding models with them separately. We try to use as similar settings as those of other codebases as possible using [benchmark configs](https://github.com/open-mmlab/MMDetection3D/blob/master/configs/benchmark).
* Metrics: We use the average throughput in iterations of the entire training run and skip the first 50 iterations of each epoch to skip GPU warmup time.
  Note that the throughput of a detector typically changes during training, because it depends on the predictions of the model.


## Main Results

### VoteNet

We compare our implementation with VoteNet and report the performance of VoteNets on SUNRGB-D v2 dataset under the AP@0.5 metric.

```eval_rst
  +----------------+---------------------+--------------------+-------------------+--------+
  | Implementation | Training (sample/s) | Testing (sample/s) | Training Time (h) | AP@0.5 |
  +================+=====================+====================+===================+========+
  | MMDetection3D  |                     |                    |                   |        |
  +----------------+---------------------+--------------------+-------------------+--------+
  | VoteNet        |                     |                    |                   |        |
  +----------------+---------------------+--------------------+-------------------+--------+
```

### PointPillars

Since Det3D only provides PointPillars on car class while PCDet only provides PointPillars
on 3 classes, we compare with them separately. For performance on single class, we report the AP on moderate
condition following the KITTI benchmark and compare average AP over all classes on moderate condition for
performance on 3 classes.

```eval_rst
  +----------------+---------------------+--------------------+-------------------+-------------+
  | Implementation | Training (sample/s) | Testing (sample/s) | Training Time (h) | Moderate AP |
  +================+=====================+====================+===================+=============+
  | MMDetection3D  |                     |                    |                   |             |
  +----------------+---------------------+--------------------+-------------------+-------------+
  | PCDet          |                     |                    |                   |             |
  +----------------+---------------------+--------------------+-------------------+-------------+
```

```eval_rst
  +----------------+---------------------+--------------------+-------------------+-------------+
  | Implementation | Training (sample/s) | Testing (sample/s) | Training Time (h) | Moderate AP |
  +================+=====================+====================+===================+=============+
  | MMDetection3D  |                     |                    |                   |             |
  +----------------+---------------------+--------------------+-------------------+-------------+
  | Det3D          |                     |                    |                   |             |
  +----------------+---------------------+--------------------+-------------------+-------------+
```

### SECOND

Det3D provides a different SECOND on car class and we cannot train the original SECOND by modifying the config.
So we only compare with PCDet, which is a SECOND model on 3 classes, we report the AP on moderate
condition following the KITTI benchmark and compare average AP over all classes on moderate condition for
performance on 3 classes.

  ```eval_rst
    +----------------+---------------------+--------------------+-------------------+-------------+
    | Implementation | Training (sample/s) | Testing (sample/s) | Training Time (h) | Moderate AP |
    +================+=====================+====================+===================+=============+
    | MMDetection3D  |                     |                    |                   |             |
    +----------------+---------------------+--------------------+-------------------+-------------+
    | PCDet          |                     |                    |                   |             |
    +----------------+---------------------+--------------------+-------------------+-------------+
  ```

### Part-A2

We benchmark Part-A2 with that in PCDet. We report the AP on moderate condition following the KITTI benchmark
and compare average AP over all classes on moderate condition for performance on 3 classes.

  ```eval_rst
    +----------------+---------------------+--------------------+-------------------+-------------+
    | Implementation | Training (sample/s) | Testing (sample/s) | Training Time (h) | Moderate AP |
    +================+=====================+====================+===================+=============+
    | MMDetection3D  |                     |                    |                   |             |
    +----------------+---------------------+--------------------+-------------------+-------------+
    | PCDet          |                     |                    |                   |             |
    +----------------+---------------------+--------------------+-------------------+-------------+
  ```

## Details of Comparison

### VoteNet

* __MMDetection3D__: With release v0.1.0, run
```
./tools/dist_train.sh configs/votenet/mask_rcnn_r50_caffe_fpn_1x_coco.py 8
```
* __votenet__:


### PointPillars

* __MMDetection3D__: With release v0.1.0, run
```
```
* __PCDet__: At commit xxxx


### SECOND

* __MMDetection3D__: With release v0.1.0, run
```
```

* __PCDet__:


### Part-A2

* __MMDetection3D__: With release v0.1.0, run
```
```

* __PCDet__: At commit xxxx

### Modification for Calculating Training Speed