Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
mmdetection3d
Commits
6c03a971
Unverified
Commit
6c03a971
authored
Oct 14, 2022
by
Tai-Wang
Committed by
GitHub
Oct 14, 2022
Browse files
Release v1.1.0rc1
Release v1.1.0rc1
parents
9611c2d0
ca42c312
Changes
174
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
393 additions
and
35 deletions
+393
-35
.circleci/test.yml
.circleci/test.yml
+5
-11
.gitignore
.gitignore
+1
-0
.pre-commit-config.yaml
.pre-commit-config.yaml
+4
-4
README.md
README.md
+1
-3
README_zh-CN.md
README_zh-CN.md
+1
-1
configs/3dssd/3dssd_4xb4_kitti-3d-car.py
configs/3dssd/3dssd_4xb4_kitti-3d-car.py
+0
-0
configs/_base_/datasets/kitti-3d-3class.py
configs/_base_/datasets/kitti-3d-3class.py
+5
-1
configs/_base_/datasets/kitti-3d-car.py
configs/_base_/datasets/kitti-3d-car.py
+4
-0
configs/_base_/datasets/kitti-mono3d.py
configs/_base_/datasets/kitti-mono3d.py
+8
-0
configs/_base_/datasets/lyft-3d.py
configs/_base_/datasets/lyft-3d.py
+4
-0
configs/_base_/datasets/nus-3d.py
configs/_base_/datasets/nus-3d.py
+4
-0
configs/_base_/datasets/nus-mono3d.py
configs/_base_/datasets/nus-mono3d.py
+6
-2
configs/_base_/datasets/s3dis-seg.py
configs/_base_/datasets/s3dis-seg.py
+4
-0
configs/_base_/datasets/scannet-3d.py
configs/_base_/datasets/scannet-3d.py
+4
-0
configs/_base_/datasets/scannet-seg.py
configs/_base_/datasets/scannet-seg.py
+4
-0
configs/_base_/datasets/sunrgbd-3d.py
configs/_base_/datasets/sunrgbd-3d.py
+4
-0
configs/_base_/datasets/waymoD5-3d-3class.py
configs/_base_/datasets/waymoD5-3d-3class.py
+29
-10
configs/_base_/datasets/waymoD5-3d-car.py
configs/_base_/datasets/waymoD5-3d-car.py
+8
-3
configs/_base_/datasets/waymoD5-mono3d-3class.py
configs/_base_/datasets/waymoD5-mono3d-3class.py
+149
-0
configs/_base_/datasets/waymoD5-mv3d-3class.py
configs/_base_/datasets/waymoD5-mv3d-3class.py
+148
-0
No files found.
.circleci/test.yml
View file @
6c03a971
...
@@ -36,8 +36,6 @@ jobs:
...
@@ -36,8 +36,6 @@ jobs:
type
:
string
type
:
string
torchvision
:
torchvision
:
type
:
string
type
:
string
mmcv
:
type
:
string
docker
:
docker
:
-
image
:
cimg/python:<< parameters.python >>
-
image
:
cimg/python:<< parameters.python >>
resource_class
:
large
resource_class
:
large
...
@@ -62,7 +60,8 @@ jobs:
...
@@ -62,7 +60,8 @@ jobs:
name
:
Install mmdet3d dependencies
name
:
Install mmdet3d dependencies
command
:
|
command
:
|
python -m pip install git+ssh://git@github.com/open-mmlab/mmengine.git@main
python -m pip install git+ssh://git@github.com/open-mmlab/mmengine.git@main
python -m pip install << parameters.mmcv >>
python -m pip install -U openmim
python -m mim install 'mmcv >= 2.0.0rc1'
python -m pip install git+ssh://git@github.com/open-mmlab/mmdetection.git@dev-3.x
python -m pip install git+ssh://git@github.com/open-mmlab/mmdetection.git@dev-3.x
python -m pip install -r requirements.txt
python -m pip install -r requirements.txt
-
run
:
-
run
:
...
@@ -85,8 +84,6 @@ jobs:
...
@@ -85,8 +84,6 @@ jobs:
cudnn
:
cudnn
:
type
:
integer
type
:
integer
default
:
7
default
:
7
mmcv
:
type
:
string
machine
:
machine
:
image
:
ubuntu-2004-cuda-11.4:202110-01
image
:
ubuntu-2004-cuda-11.4:202110-01
# docker_layer_caching: true
# docker_layer_caching: true
...
@@ -108,7 +105,8 @@ jobs:
...
@@ -108,7 +105,8 @@ jobs:
name
:
Install mmdet3d dependencies
name
:
Install mmdet3d dependencies
command
:
|
command
:
|
docker exec mmdet3d pip install -e /mmengine
docker exec mmdet3d pip install -e /mmengine
docker exec mmdet3d pip install << parameters.mmcv >>
docker exec mmdet3d pip install -U openmim
docker exec mmdet3d mim install 'mmcv >= 2.0.0rc1'
docker exec mmdet3d pip install -e /mmdetection
docker exec mmdet3d pip install -e /mmdetection
docker exec mmdet3d pip install -r requirements.txt
docker exec mmdet3d pip install -r requirements.txt
-
run
:
-
run
:
...
@@ -144,8 +142,7 @@ workflows:
...
@@ -144,8 +142,7 @@ workflows:
name
:
minimum_version_cpu
name
:
minimum_version_cpu
torch
:
1.6.0
torch
:
1.6.0
torchvision
:
0.7.0
torchvision
:
0.7.0
python
:
3.6.9
# The lowest python 3.6.x version available on CircleCI images
python
:
3.7.4
mmcv
:
https://download.openmmlab.com/mmcv/dev-2.x/cpu/torch1.6.0/mmcv_full-2.0.0rc0-cp36-cp36m-manylinux1_x86_64.whl
requires
:
requires
:
-
lint
-
lint
-
build_cpu
:
-
build_cpu
:
...
@@ -153,7 +150,6 @@ workflows:
...
@@ -153,7 +150,6 @@ workflows:
torch
:
1.9.0
torch
:
1.9.0
torchvision
:
0.10.0
torchvision
:
0.10.0
python
:
3.9.0
python
:
3.9.0
mmcv
:
https://download.openmmlab.com/mmcv/dev-2.x/cpu/torch1.9.0/mmcv_full-2.0.0rc0-cp39-cp39-manylinux1_x86_64.whl
requires
:
requires
:
-
minimum_version_cpu
-
minimum_version_cpu
-
hold
:
-
hold
:
...
@@ -166,7 +162,6 @@ workflows:
...
@@ -166,7 +162,6 @@ workflows:
# Use double quotation mark to explicitly specify its type
# Use double quotation mark to explicitly specify its type
# as string instead of number
# as string instead of number
cuda
:
"
10.2"
cuda
:
"
10.2"
mmcv
:
https://download.openmmlab.com/mmcv/dev-2.x/cu102/torch1.8.0/mmcv_full-2.0.0rc0-cp37-cp37m-manylinux1_x86_64.whl
requires
:
requires
:
-
hold
-
hold
merge_stage_test
:
merge_stage_test
:
...
@@ -179,7 +174,6 @@ workflows:
...
@@ -179,7 +174,6 @@ workflows:
torch
:
1.6.0
torch
:
1.6.0
# Use double quotation mark to explicitly specify its type
# Use double quotation mark to explicitly specify its type
# as string instead of number
# as string instead of number
mmcv
:
https://download.openmmlab.com/mmcv/dev-2.x/cu101/torch1.6.0/mmcv_full-2.0.0rc0-cp37-cp37m-manylinux1_x86_64.whl
cuda
:
"
10.1"
cuda
:
"
10.1"
filters
:
filters
:
branches
:
branches
:
...
...
.gitignore
View file @
6c03a971
...
@@ -133,3 +133,4 @@ data/sunrgbd/OFFICIAL_SUNRGBD/
...
@@ -133,3 +133,4 @@ data/sunrgbd/OFFICIAL_SUNRGBD/
# Waymo evaluation
# Waymo evaluation
mmdet3d/core/evaluation/waymo_utils/compute_detection_metrics_main
mmdet3d/core/evaluation/waymo_utils/compute_detection_metrics_main
mmdet3d/core/evaluation/waymo_utils/compute_detection_let_metrics_main
.pre-commit-config.yaml
View file @
6c03a971
repos
:
repos
:
-
repo
:
https://github.com/PyCQA/flake8
-
repo
:
https://github.com/PyCQA/flake8
rev
:
3.8.3
rev
:
5.0.4
hooks
:
hooks
:
-
id
:
flake8
-
id
:
flake8
-
repo
:
https://github.com/PyCQA/isort
-
repo
:
https://github.com/PyCQA/isort
...
@@ -8,11 +8,11 @@ repos:
...
@@ -8,11 +8,11 @@ repos:
hooks
:
hooks
:
-
id
:
isort
-
id
:
isort
-
repo
:
https://github.com/pre-commit/mirrors-yapf
-
repo
:
https://github.com/pre-commit/mirrors-yapf
rev
:
v0.3
0
.0
rev
:
v0.3
2
.0
hooks
:
hooks
:
-
id
:
yapf
-
id
:
yapf
-
repo
:
https://github.com/pre-commit/pre-commit-hooks
-
repo
:
https://github.com/pre-commit/pre-commit-hooks
rev
:
v
3.1
.0
rev
:
v
4.3
.0
hooks
:
hooks
:
-
id
:
trailing-whitespace
-
id
:
trailing-whitespace
-
id
:
check-yaml
-
id
:
check-yaml
...
@@ -25,7 +25,7 @@ repos:
...
@@ -25,7 +25,7 @@ repos:
-
id
:
mixed-line-ending
-
id
:
mixed-line-ending
args
:
[
"
--fix=lf"
]
args
:
[
"
--fix=lf"
]
-
repo
:
https://github.com/codespell-project/codespell
-
repo
:
https://github.com/codespell-project/codespell
rev
:
v2.
1.0
rev
:
v2.
2.1
hooks
:
hooks
:
-
id
:
codespell
-
id
:
codespell
-
repo
:
https://github.com/executablebooks/mdformat
-
repo
:
https://github.com/executablebooks/mdformat
...
...
README.md
View file @
6c03a971
...
@@ -82,9 +82,7 @@ This project is released under the [Apache 2.0 license](LICENSE).
...
@@ -82,9 +82,7 @@ This project is released under the [Apache 2.0 license](LICENSE).
## Changelog
## Changelog
We are excited to announce the release of MMDetection3D 1.1.0rc0.
**1.1.0rc1**
was released in 11/10/2022.
MMDet3D 1.1 unifies the interfaces of dataset, models, evaluation, and visualization with faster training and testing speed.
Please refer to
[
changelog.md
](
docs/en/notes/changelog.md
)
for details and release history.
Please refer to
[
changelog.md
](
docs/en/notes/changelog.md
)
for details and release history.
...
...
README_zh-CN.md
View file @
6c03a971
...
@@ -82,7 +82,7 @@ MMDetection3D 是一个基于 PyTorch 的目标检测开源工具箱, 下一代
...
@@ -82,7 +82,7 @@ MMDetection3D 是一个基于 PyTorch 的目标检测开源工具箱, 下一代
## 更新日志
## 更新日志
MMDetection3D 1.1.0rc0,MMDet3D 在 OpenMMLab 2.0 项目中的首个版本发布。
我们在 2022.10.11 发布了
**1.1.0rc1**
版本.
更多细节和版本发布历史可以参考
[
changelog.md
](
docs/en/notes/changelog.md
)
.
更多细节和版本发布历史可以参考
[
changelog.md
](
docs/en/notes/changelog.md
)
.
...
...
configs/3dssd/3dssd_4xb4_kitti-3d-car.py
.py
→
configs/3dssd/3dssd_4xb4_kitti-3d-car.py
View file @
6c03a971
File moved
configs/_base_/datasets/kitti-3d-3class.py
View file @
6c03a971
...
@@ -67,7 +67,7 @@ test_pipeline = [
...
@@ -67,7 +67,7 @@ test_pipeline = [
# please keep its loading function consistent with test_pipeline (e.g. client)
# please keep its loading function consistent with test_pipeline (e.g. client)
eval_pipeline
=
[
eval_pipeline
=
[
dict
(
type
=
'LoadPointsFromFile'
,
coord_type
=
'LIDAR'
,
load_dim
=
4
,
use_dim
=
4
),
dict
(
type
=
'LoadPointsFromFile'
,
coord_type
=
'LIDAR'
,
load_dim
=
4
,
use_dim
=
4
),
dict
(
type
=
'Pack3DDetInputs'
,
keys
=
[
'points'
])
,
dict
(
type
=
'Pack3DDetInputs'
,
keys
=
[
'points'
])
]
]
train_dataloader
=
dict
(
train_dataloader
=
dict
(
batch_size
=
6
,
batch_size
=
6
,
...
@@ -126,3 +126,7 @@ val_evaluator = dict(
...
@@ -126,3 +126,7 @@ val_evaluator = dict(
ann_file
=
data_root
+
'kitti_infos_val.pkl'
,
ann_file
=
data_root
+
'kitti_infos_val.pkl'
,
metric
=
'bbox'
)
metric
=
'bbox'
)
test_evaluator
=
val_evaluator
test_evaluator
=
val_evaluator
vis_backends
=
[
dict
(
type
=
'LocalVisBackend'
)]
visualizer
=
dict
(
type
=
'Det3DLocalVisualizer'
,
vis_backends
=
vis_backends
,
name
=
'visualizer'
)
configs/_base_/datasets/kitti-3d-car.py
View file @
6c03a971
...
@@ -124,3 +124,7 @@ val_evaluator = dict(
...
@@ -124,3 +124,7 @@ val_evaluator = dict(
ann_file
=
data_root
+
'kitti_infos_val.pkl'
,
ann_file
=
data_root
+
'kitti_infos_val.pkl'
,
metric
=
'bbox'
)
metric
=
'bbox'
)
test_evaluator
=
val_evaluator
test_evaluator
=
val_evaluator
vis_backends
=
[
dict
(
type
=
'LocalVisBackend'
)]
visualizer
=
dict
(
type
=
'Det3DLocalVisualizer'
,
vis_backends
=
vis_backends
,
name
=
'visualizer'
)
configs/_base_/datasets/kitti-mono3d.py
View file @
6c03a971
...
@@ -35,6 +35,10 @@ test_pipeline = [
...
@@ -35,6 +35,10 @@ test_pipeline = [
dict
(
type
=
'Resize'
,
scale
=
(
1242
,
375
),
keep_ratio
=
True
),
dict
(
type
=
'Resize'
,
scale
=
(
1242
,
375
),
keep_ratio
=
True
),
dict
(
type
=
'Pack3DDetInputs'
,
keys
=
[
'img'
])
dict
(
type
=
'Pack3DDetInputs'
,
keys
=
[
'img'
])
]
]
eval_pipeline
=
[
dict
(
type
=
'LoadImageFromFileMono3D'
),
dict
(
type
=
'Pack3DDetInputs'
,
keys
=
[
'img'
])
]
train_dataloader
=
dict
(
train_dataloader
=
dict
(
batch_size
=
2
,
batch_size
=
2
,
...
@@ -78,3 +82,7 @@ val_evaluator = dict(
...
@@ -78,3 +82,7 @@ val_evaluator = dict(
pred_box_type_3d
=
'Camera'
)
pred_box_type_3d
=
'Camera'
)
test_evaluator
=
val_evaluator
test_evaluator
=
val_evaluator
vis_backends
=
[
dict
(
type
=
'LocalVisBackend'
)]
visualizer
=
dict
(
type
=
'Det3DLocalVisualizer'
,
vis_backends
=
vis_backends
,
name
=
'visualizer'
)
configs/_base_/datasets/lyft-3d.py
View file @
6c03a971
...
@@ -124,3 +124,7 @@ test_evaluator = dict(
...
@@ -124,3 +124,7 @@ test_evaluator = dict(
type
=
'LyftMetric'
,
type
=
'LyftMetric'
,
ann_file
=
data_root
+
'lyft_infos_val.pkl'
,
ann_file
=
data_root
+
'lyft_infos_val.pkl'
,
metric
=
'bbox'
)
metric
=
'bbox'
)
vis_backends
=
[
dict
(
type
=
'LocalVisBackend'
)]
visualizer
=
dict
(
type
=
'Det3DLocalVisualizer'
,
vis_backends
=
vis_backends
,
name
=
'visualizer'
)
configs/_base_/datasets/nus-3d.py
View file @
6c03a971
...
@@ -126,3 +126,7 @@ val_evaluator = dict(
...
@@ -126,3 +126,7 @@ val_evaluator = dict(
ann_file
=
data_root
+
'nuscenes_infos_val.pkl'
,
ann_file
=
data_root
+
'nuscenes_infos_val.pkl'
,
metric
=
'bbox'
)
metric
=
'bbox'
)
test_evaluator
=
val_evaluator
test_evaluator
=
val_evaluator
vis_backends
=
[
dict
(
type
=
'LocalVisBackend'
)]
visualizer
=
dict
(
type
=
'Det3DLocalVisualizer'
,
vis_backends
=
vis_backends
,
name
=
'visualizer'
)
configs/_base_/datasets/nus-mono3d.py
View file @
6c03a971
...
@@ -65,7 +65,7 @@ train_dataloader = dict(
...
@@ -65,7 +65,7 @@ train_dataloader = dict(
CAM_BACK_RIGHT
=
'samples/CAM_BACK_RIGHT'
,
CAM_BACK_RIGHT
=
'samples/CAM_BACK_RIGHT'
,
CAM_BACK_LEFT
=
'samples/CAM_BACK_LEFT'
),
CAM_BACK_LEFT
=
'samples/CAM_BACK_LEFT'
),
ann_file
=
'nuscenes_infos_train.pkl'
,
ann_file
=
'nuscenes_infos_train.pkl'
,
task
=
'mono
3d
'
,
task
=
'mono
_det
'
,
pipeline
=
train_pipeline
,
pipeline
=
train_pipeline
,
metainfo
=
metainfo
,
metainfo
=
metainfo
,
modality
=
input_modality
,
modality
=
input_modality
,
...
@@ -92,7 +92,7 @@ val_dataloader = dict(
...
@@ -92,7 +92,7 @@ val_dataloader = dict(
CAM_BACK_RIGHT
=
'samples/CAM_BACK_RIGHT'
,
CAM_BACK_RIGHT
=
'samples/CAM_BACK_RIGHT'
,
CAM_BACK_LEFT
=
'samples/CAM_BACK_LEFT'
),
CAM_BACK_LEFT
=
'samples/CAM_BACK_LEFT'
),
ann_file
=
'nuscenes_infos_val.pkl'
,
ann_file
=
'nuscenes_infos_val.pkl'
,
task
=
'mono
3d
'
,
task
=
'mono
_det
'
,
pipeline
=
test_pipeline
,
pipeline
=
test_pipeline
,
modality
=
input_modality
,
modality
=
input_modality
,
metainfo
=
metainfo
,
metainfo
=
metainfo
,
...
@@ -108,3 +108,7 @@ val_evaluator = dict(
...
@@ -108,3 +108,7 @@ val_evaluator = dict(
metric
=
'bbox'
)
metric
=
'bbox'
)
test_evaluator
=
val_evaluator
test_evaluator
=
val_evaluator
vis_backends
=
[
dict
(
type
=
'LocalVisBackend'
)]
visualizer
=
dict
(
type
=
'Det3DLocalVisualizer'
,
vis_backends
=
vis_backends
,
name
=
'visualizer'
)
configs/_base_/datasets/s3dis-seg.py
View file @
6c03a971
...
@@ -142,3 +142,7 @@ val_dataloader = test_dataloader
...
@@ -142,3 +142,7 @@ val_dataloader = test_dataloader
val_evaluator
=
dict
(
type
=
'SegMetric'
)
val_evaluator
=
dict
(
type
=
'SegMetric'
)
test_evaluator
=
val_evaluator
test_evaluator
=
val_evaluator
vis_backends
=
[
dict
(
type
=
'LocalVisBackend'
)]
visualizer
=
dict
(
type
=
'Det3DLocalVisualizer'
,
vis_backends
=
vis_backends
,
name
=
'visualizer'
)
configs/_base_/datasets/scannet-3d.py
View file @
6c03a971
...
@@ -125,3 +125,7 @@ test_dataloader = dict(
...
@@ -125,3 +125,7 @@ test_dataloader = dict(
box_type_3d
=
'Depth'
))
box_type_3d
=
'Depth'
))
val_evaluator
=
dict
(
type
=
'IndoorMetric'
)
val_evaluator
=
dict
(
type
=
'IndoorMetric'
)
test_evaluator
=
val_evaluator
test_evaluator
=
val_evaluator
vis_backends
=
[
dict
(
type
=
'LocalVisBackend'
)]
visualizer
=
dict
(
type
=
'Det3DLocalVisualizer'
,
vis_backends
=
vis_backends
,
name
=
'visualizer'
)
configs/_base_/datasets/scannet-seg.py
View file @
6c03a971
...
@@ -137,3 +137,7 @@ val_dataloader = test_dataloader
...
@@ -137,3 +137,7 @@ val_dataloader = test_dataloader
val_evaluator
=
dict
(
type
=
'SegMetric'
)
val_evaluator
=
dict
(
type
=
'SegMetric'
)
test_evaluator
=
val_evaluator
test_evaluator
=
val_evaluator
vis_backends
=
[
dict
(
type
=
'LocalVisBackend'
)]
visualizer
=
dict
(
type
=
'Det3DLocalVisualizer'
,
vis_backends
=
vis_backends
,
name
=
'visualizer'
)
configs/_base_/datasets/sunrgbd-3d.py
View file @
6c03a971
...
@@ -111,3 +111,7 @@ test_dataloader = dict(
...
@@ -111,3 +111,7 @@ test_dataloader = dict(
box_type_3d
=
'Depth'
))
box_type_3d
=
'Depth'
))
val_evaluator
=
dict
(
type
=
'IndoorMetric'
)
val_evaluator
=
dict
(
type
=
'IndoorMetric'
)
test_evaluator
=
val_evaluator
test_evaluator
=
val_evaluator
vis_backends
=
[
dict
(
type
=
'LocalVisBackend'
)]
visualizer
=
dict
(
type
=
'Det3DLocalVisualizer'
,
vis_backends
=
vis_backends
,
name
=
'visualizer'
)
configs/_base_/datasets/waymoD5-3d-3class.py
View file @
6c03a971
...
@@ -2,13 +2,18 @@
...
@@ -2,13 +2,18 @@
# D5 in the config name means the whole dataset is divided into 5 folds
# D5 in the config name means the whole dataset is divided into 5 folds
# We only use one fold for efficient experiments
# We only use one fold for efficient experiments
dataset_type
=
'WaymoDataset'
dataset_type
=
'WaymoDataset'
# data_root = 's3://openmmlab/datasets/detection3d/waymo/kitti_format/'
data_root
=
'data/waymo/kitti_format/'
data_root
=
'data/waymo/kitti_format/'
file_client_args
=
dict
(
backend
=
'disk'
)
file_client_args
=
dict
(
backend
=
'disk'
)
# Uncomment the following if use ceph or other file clients.
# Uncomment the following if use ceph or other file clients.
# See https://mmcv.readthedocs.io/en/latest/api.html#mmcv.fileio.FileClient
# See https://mmcv.readthedocs.io/en/latest/api.html#mmcv.fileio.FileClient
# for more details.
# for more details.
# file_client_args = dict(
# file_client_args = dict(
# backend='petrel', path_mapping=dict(data='s3://waymo_data/'))
# backend='petrel',
# path_mapping={
# './data/waymo': 's3://openmmlab/datasets/detection3d/waymo',
# 'data/waymo': 's3://openmmlab/datasets/detection3d/waymo'
# })
class_names
=
[
'Car'
,
'Pedestrian'
,
'Cyclist'
]
class_names
=
[
'Car'
,
'Pedestrian'
,
'Cyclist'
]
metainfo
=
dict
(
CLASSES
=
class_names
)
metainfo
=
dict
(
CLASSES
=
class_names
)
...
@@ -33,7 +38,7 @@ db_sampler = dict(
...
@@ -33,7 +38,7 @@ db_sampler = dict(
train_pipeline
=
[
train_pipeline
=
[
dict
(
type
=
'LoadPointsFromFile'
,
coord_type
=
'LIDAR'
,
load_dim
=
6
,
use_dim
=
5
),
dict
(
type
=
'LoadPointsFromFile'
,
coord_type
=
'LIDAR'
,
load_dim
=
6
,
use_dim
=
5
),
dict
(
type
=
'LoadAnnotations3D'
,
with_bbox_3d
=
True
,
with_label_3d
=
True
),
dict
(
type
=
'LoadAnnotations3D'
,
with_bbox_3d
=
True
,
with_label_3d
=
True
),
dict
(
type
=
'ObjectSample'
,
db_sampler
=
db_sampler
),
#
dict(type='ObjectSample', db_sampler=db_sampler),
dict
(
dict
(
type
=
'RandomFlip3D'
,
type
=
'RandomFlip3D'
,
sync_2d
=
False
,
sync_2d
=
False
,
...
@@ -51,7 +56,12 @@ train_pipeline = [
...
@@ -51,7 +56,12 @@ train_pipeline = [
keys
=
[
'points'
,
'gt_bboxes_3d'
,
'gt_labels_3d'
])
keys
=
[
'points'
,
'gt_bboxes_3d'
,
'gt_labels_3d'
])
]
]
test_pipeline
=
[
test_pipeline
=
[
dict
(
type
=
'LoadPointsFromFile'
,
coord_type
=
'LIDAR'
,
load_dim
=
6
,
use_dim
=
5
),
dict
(
type
=
'LoadPointsFromFile'
,
coord_type
=
'LIDAR'
,
load_dim
=
6
,
use_dim
=
5
,
file_client_args
=
file_client_args
),
dict
(
dict
(
type
=
'MultiScaleFlipAug3D'
,
type
=
'MultiScaleFlipAug3D'
,
img_scale
=
(
1333
,
800
),
img_scale
=
(
1333
,
800
),
...
@@ -88,7 +98,8 @@ train_dataloader = dict(
...
@@ -88,7 +98,8 @@ train_dataloader = dict(
type
=
dataset_type
,
type
=
dataset_type
,
data_root
=
data_root
,
data_root
=
data_root
,
ann_file
=
'waymo_infos_train.pkl'
,
ann_file
=
'waymo_infos_train.pkl'
,
data_prefix
=
dict
(
pts
=
'training/velodyne'
),
data_prefix
=
dict
(
pts
=
'training/velodyne'
,
sweeps
=
'training/velodyne'
),
pipeline
=
train_pipeline
,
pipeline
=
train_pipeline
,
modality
=
input_modality
,
modality
=
input_modality
,
test_mode
=
False
,
test_mode
=
False
,
...
@@ -97,7 +108,8 @@ train_dataloader = dict(
...
@@ -97,7 +108,8 @@ train_dataloader = dict(
# and box_type_3d='Depth' in sunrgbd and scannet dataset.
# and box_type_3d='Depth' in sunrgbd and scannet dataset.
box_type_3d
=
'LiDAR'
,
box_type_3d
=
'LiDAR'
,
# load one frame every five frames
# load one frame every five frames
load_interval
=
5
)))
load_interval
=
5
,
file_client_args
=
file_client_args
)))
val_dataloader
=
dict
(
val_dataloader
=
dict
(
batch_size
=
1
,
batch_size
=
1
,
num_workers
=
1
,
num_workers
=
1
,
...
@@ -107,13 +119,14 @@ val_dataloader = dict(
...
@@ -107,13 +119,14 @@ val_dataloader = dict(
dataset
=
dict
(
dataset
=
dict
(
type
=
dataset_type
,
type
=
dataset_type
,
data_root
=
data_root
,
data_root
=
data_root
,
data_prefix
=
dict
(
pts
=
'training/velodyne'
),
data_prefix
=
dict
(
pts
=
'training/velodyne'
,
sweeps
=
'training/velodyne'
),
ann_file
=
'waymo_infos_val.pkl'
,
ann_file
=
'waymo_infos_val.pkl'
,
pipeline
=
eval_pipeline
,
pipeline
=
eval_pipeline
,
modality
=
input_modality
,
modality
=
input_modality
,
test_mode
=
True
,
test_mode
=
True
,
metainfo
=
metainfo
,
metainfo
=
metainfo
,
box_type_3d
=
'LiDAR'
))
box_type_3d
=
'LiDAR'
,
file_client_args
=
file_client_args
))
test_dataloader
=
dict
(
test_dataloader
=
dict
(
batch_size
=
1
,
batch_size
=
1
,
...
@@ -124,17 +137,23 @@ test_dataloader = dict(
...
@@ -124,17 +137,23 @@ test_dataloader = dict(
dataset
=
dict
(
dataset
=
dict
(
type
=
dataset_type
,
type
=
dataset_type
,
data_root
=
data_root
,
data_root
=
data_root
,
data_prefix
=
dict
(
pts
=
'training/velodyne'
),
data_prefix
=
dict
(
pts
=
'training/velodyne'
,
sweeps
=
'training/velodyne'
),
ann_file
=
'waymo_infos_val.pkl'
,
ann_file
=
'waymo_infos_val.pkl'
,
pipeline
=
eval_pipeline
,
pipeline
=
eval_pipeline
,
modality
=
input_modality
,
modality
=
input_modality
,
test_mode
=
True
,
test_mode
=
True
,
metainfo
=
metainfo
,
metainfo
=
metainfo
,
box_type_3d
=
'LiDAR'
))
box_type_3d
=
'LiDAR'
,
file_client_args
=
file_client_args
))
val_evaluator
=
dict
(
val_evaluator
=
dict
(
type
=
'WaymoMetric'
,
type
=
'WaymoMetric'
,
ann_file
=
'./data/waymo/kitti_format/waymo_infos_val.pkl'
,
ann_file
=
'./data/waymo/kitti_format/waymo_infos_val.pkl'
,
waymo_bin_file
=
'./data/waymo/waymo_format/gt.bin'
,
waymo_bin_file
=
'./data/waymo/waymo_format/gt.bin'
,
data_root
=
'./data/waymo/waymo_format'
)
data_root
=
'./data/waymo/waymo_format'
,
file_client_args
=
file_client_args
)
test_evaluator
=
val_evaluator
test_evaluator
=
val_evaluator
vis_backends
=
[
dict
(
type
=
'LocalVisBackend'
)]
visualizer
=
dict
(
type
=
'Det3DLocalVisualizer'
,
vis_backends
=
vis_backends
,
name
=
'visualizer'
)
configs/_base_/datasets/waymoD5-3d-car.py
View file @
6c03a971
...
@@ -86,7 +86,8 @@ train_dataloader = dict(
...
@@ -86,7 +86,8 @@ train_dataloader = dict(
type
=
dataset_type
,
type
=
dataset_type
,
data_root
=
data_root
,
data_root
=
data_root
,
ann_file
=
'waymo_infos_train.pkl'
,
ann_file
=
'waymo_infos_train.pkl'
,
data_prefix
=
dict
(
pts
=
'training/velodyne'
),
data_prefix
=
dict
(
pts
=
'training/velodyne'
,
sweeps
=
'training/velodyne'
),
pipeline
=
train_pipeline
,
pipeline
=
train_pipeline
,
modality
=
input_modality
,
modality
=
input_modality
,
test_mode
=
False
,
test_mode
=
False
,
...
@@ -105,7 +106,7 @@ val_dataloader = dict(
...
@@ -105,7 +106,7 @@ val_dataloader = dict(
dataset
=
dict
(
dataset
=
dict
(
type
=
dataset_type
,
type
=
dataset_type
,
data_root
=
data_root
,
data_root
=
data_root
,
data_prefix
=
dict
(
pts
=
'training/velodyne'
),
data_prefix
=
dict
(
pts
=
'training/velodyne'
,
sweeps
=
'training/velodyne'
),
ann_file
=
'waymo_infos_val.pkl'
,
ann_file
=
'waymo_infos_val.pkl'
,
pipeline
=
eval_pipeline
,
pipeline
=
eval_pipeline
,
modality
=
input_modality
,
modality
=
input_modality
,
...
@@ -122,7 +123,7 @@ test_dataloader = dict(
...
@@ -122,7 +123,7 @@ test_dataloader = dict(
dataset
=
dict
(
dataset
=
dict
(
type
=
dataset_type
,
type
=
dataset_type
,
data_root
=
data_root
,
data_root
=
data_root
,
data_prefix
=
dict
(
pts
=
'training/velodyne'
),
data_prefix
=
dict
(
pts
=
'training/velodyne'
,
sweeps
=
'training/velodyne'
),
ann_file
=
'waymo_infos_val.pkl'
,
ann_file
=
'waymo_infos_val.pkl'
,
pipeline
=
eval_pipeline
,
pipeline
=
eval_pipeline
,
modality
=
input_modality
,
modality
=
input_modality
,
...
@@ -136,3 +137,7 @@ val_evaluator = dict(
...
@@ -136,3 +137,7 @@ val_evaluator = dict(
waymo_bin_file
=
'./data/waymo/waymo_format/gt.bin'
,
waymo_bin_file
=
'./data/waymo/waymo_format/gt.bin'
,
data_root
=
'./data/waymo/waymo_format'
)
data_root
=
'./data/waymo/waymo_format'
)
test_evaluator
=
val_evaluator
test_evaluator
=
val_evaluator
vis_backends
=
[
dict
(
type
=
'LocalVisBackend'
)]
visualizer
=
dict
(
type
=
'Det3DLocalVisualizer'
,
vis_backends
=
vis_backends
,
name
=
'visualizer'
)
configs/_base_/datasets/waymoD5-mono3d-3class.py
0 → 100644
View file @
6c03a971
# dataset settings
# D3 in the config name means the whole dataset is divided into 3 folds
# We only use one fold for efficient experiments
dataset_type
=
'WaymoDataset'
data_root
=
'data/waymo/kitti_format/'
class_names
=
[
'Car'
,
'Pedestrian'
,
'Cyclist'
]
input_modality
=
dict
(
use_lidar
=
False
,
use_camera
=
True
)
file_client_args
=
dict
(
backend
=
'disk'
)
# Uncomment the following if use ceph or other file clients.
# See https://mmcv.readthedocs.io/en/latest/api.html#mmcv.fileio.FileClient
# for more details.
train_pipeline
=
[
dict
(
type
=
'LoadImageFromFileMono3D'
),
dict
(
type
=
'LoadAnnotations3D'
,
with_bbox
=
True
,
with_label
=
True
,
with_attr_label
=
False
,
with_bbox_3d
=
True
,
with_label_3d
=
True
,
with_bbox_depth
=
True
),
# base shape (1248, 832), scale (0.95, 1.05)
dict
(
type
=
'RandomResize3D'
,
scale
=
(
1284
,
832
),
ratio_range
=
(
0.95
,
1.05
),
keep_ratio
=
True
,
),
dict
(
type
=
'RandomFlip3D'
,
flip_ratio_bev_horizontal
=
0.5
),
dict
(
type
=
'Pack3DDetInputs'
,
keys
=
[
'img'
,
'gt_bboxes'
,
'gt_bboxes_labels'
,
'gt_bboxes_3d'
,
'gt_labels_3d'
,
'centers_2d'
,
'depths'
]),
]
test_pipeline
=
[
dict
(
type
=
'LoadImageFromFileMono3D'
),
dict
(
type
=
'RandomResize3D'
,
scale
=
(
1248
,
832
),
ratio_range
=
(
1.
,
1.
),
keep_ratio
=
True
),
dict
(
type
=
'Pack3DDetInputs'
,
keys
=
[
'img'
]),
]
# construct a pipeline for data and gt loading in show function
# please keep its loading function consistent with test_pipeline (e.g. client)
eval_pipeline
=
[
dict
(
type
=
'LoadImageFromFileMono3D'
),
dict
(
type
=
'RandomResize3D'
,
scale
=
(
1248
,
832
),
ratio_range
=
(
1.
,
1.
),
keep_ratio
=
True
),
dict
(
type
=
'Pack3DDetInputs'
,
keys
=
[
'img'
]),
]
metainfo
=
dict
(
CLASSES
=
class_names
)
train_dataloader
=
dict
(
batch_size
=
3
,
num_workers
=
3
,
persistent_workers
=
True
,
sampler
=
dict
(
type
=
'DefaultSampler'
,
shuffle
=
True
),
dataset
=
dict
(
type
=
dataset_type
,
data_root
=
data_root
,
ann_file
=
'waymo_infos_train.pkl'
,
data_prefix
=
dict
(
pts
=
'training/velodyne'
,
CAM_FRONT
=
'training/image_0'
,
CAM_FRONT_RIGHT
=
'training/image_1'
,
CAM_FRONT_LEFT
=
'training/image_2'
,
CAM_SIDE_RIGHT
=
'training/image_3'
,
CAM_SIDE_LEFT
=
'training/image_4'
),
pipeline
=
train_pipeline
,
modality
=
input_modality
,
test_mode
=
False
,
metainfo
=
metainfo
,
# we use box_type_3d='LiDAR' in kitti and nuscenes dataset
# and box_type_3d='Depth' in sunrgbd and scannet dataset.
box_type_3d
=
'Camera'
,
task
=
'mono3d'
,
# load one frame every three frames
load_interval
=
5
))
val_dataloader
=
dict
(
batch_size
=
1
,
num_workers
=
1
,
persistent_workers
=
True
,
drop_last
=
False
,
sampler
=
dict
(
type
=
'DefaultSampler'
,
shuffle
=
False
),
dataset
=
dict
(
type
=
dataset_type
,
data_root
=
data_root
,
data_prefix
=
dict
(
pts
=
'training/velodyne'
,
CAM_FRONT
=
'training/image_0'
,
CAM_FRONT_RIGHT
=
'training/image_1'
,
CAM_FRONT_LEFT
=
'training/image_2'
,
CAM_SIDE_RIGHT
=
'training/image_3'
,
CAM_SIDE_LEFT
=
'training/image_4'
),
ann_file
=
'waymo_infos_val.pkl'
,
pipeline
=
eval_pipeline
,
modality
=
input_modality
,
test_mode
=
True
,
metainfo
=
metainfo
,
# we use box_type_3d='LiDAR' in kitti and nuscenes dataset
# and box_type_3d='Depth' in sunrgbd and scannet dataset.
box_type_3d
=
'Camera'
,
task
=
'mono3d'
,
))
test_dataloader
=
dict
(
batch_size
=
1
,
num_workers
=
1
,
persistent_workers
=
True
,
drop_last
=
False
,
sampler
=
dict
(
type
=
'DefaultSampler'
,
shuffle
=
False
),
dataset
=
dict
(
type
=
dataset_type
,
data_root
=
data_root
,
data_prefix
=
dict
(
pts
=
'training/velodyne'
,
CAM_FRONT
=
'training/image_0'
,
CAM_FRONT_RIGHT
=
'training/image_1'
,
CAM_FRONT_LEFT
=
'training/image_2'
,
CAM_SIDE_RIGHT
=
'training/image_3'
,
CAM_SIDE_LEFT
=
'training/image_4'
),
ann_file
=
'waymo_infos_val.pkl'
,
pipeline
=
eval_pipeline
,
modality
=
input_modality
,
test_mode
=
True
,
metainfo
=
metainfo
,
# we use box_type_3d='LiDAR' in kitti and nuscenes dataset
# and box_type_3d='Depth' in sunrgbd and scannet dataset.
box_type_3d
=
'Camera'
,
task
=
'mono3d'
,
))
val_evaluator
=
dict
(
type
=
'WaymoMetric'
,
ann_file
=
'./data/waymo/kitti_format/waymo_infos_val.pkl'
,
waymo_bin_file
=
'./data/waymo/waymo_format/cam_gt.bin'
,
data_root
=
'./data/waymo/waymo_format'
,
metric
=
'LET_mAP'
,
task
=
'mono3d'
)
test_evaluator
=
val_evaluator
configs/_base_/datasets/waymoD5-mv3d-3class.py
0 → 100644
View file @
6c03a971
# dataset settings
# D3 in the config name means the whole dataset is divided into 3 folds
# We only use one fold for efficient experiments
dataset_type
=
'WaymoDataset'
data_root
=
'data/waymo/kitti_format/'
file_client_args
=
dict
(
backend
=
'disk'
)
# Uncomment the following if use ceph or other file clients.
# See https://mmcv.readthedocs.io/en/latest/api.html#mmcv.fileio.FileClient
# for more details.
class_names
=
[
'Car'
,
'Pedestrian'
,
'Cyclist'
]
input_modality
=
dict
(
use_lidar
=
False
,
use_camera
=
True
)
point_cloud_range
=
[
-
35.0
,
-
75.0
,
-
2
,
75.0
,
75.0
,
4
]
train_transforms
=
[
dict
(
type
=
'PhotoMetricDistortion3D'
),
dict
(
type
=
'RandomResize3D'
,
scale
=
(
1248
,
832
),
ratio_range
=
(
0.95
,
1.05
),
keep_ratio
=
True
),
dict
(
type
=
'RandomCrop3D'
,
crop_size
=
(
720
,
1080
)),
dict
(
type
=
'RandomFlip3D'
,
flip_ratio_bev_horizontal
=
0.5
,
flip_box3d
=
False
),
]
train_pipeline
=
[
dict
(
type
=
'LoadMultiViewImageFromFiles'
,
to_float32
=
True
),
dict
(
type
=
'LoadAnnotations3D'
,
with_bbox
=
True
,
with_label
=
True
,
with_attr_label
=
False
,
with_bbox_3d
=
True
,
with_label_3d
=
True
,
with_bbox_depth
=
True
),
dict
(
type
=
'MultiViewWrapper'
,
transforms
=
train_transforms
),
dict
(
type
=
'ObjectRangeFilter'
,
point_cloud_range
=
point_cloud_range
),
dict
(
type
=
'ObjectNameFilter'
,
classes
=
class_names
),
dict
(
type
=
'Pack3DDetInputs'
,
keys
=
[
'img'
,
'gt_bboxes_3d'
,
'gt_labels_3d'
,
]),
]
test_transforms
=
[
dict
(
type
=
'RandomResize3D'
,
scale
=
(
1248
,
832
),
ratio_range
=
(
1.
,
1.
),
keep_ratio
=
True
)
]
test_pipeline
=
[
dict
(
type
=
'LoadMultiViewImageFromFiles'
,
to_float32
=
True
),
dict
(
type
=
'MultiViewWrapper'
,
transforms
=
test_transforms
),
dict
(
type
=
'Pack3DDetInputs'
,
keys
=
[
'img'
])
]
# construct a pipeline for data and gt loading in show function
# please keep its loading function consistent with test_pipeline (e.g. client)
eval_pipeline
=
[
dict
(
type
=
'LoadMultiViewImageFromFiles'
,
to_float32
=
True
),
dict
(
type
=
'MultiViewWrapper'
,
transforms
=
test_transforms
),
dict
(
type
=
'Pack3DDetInputs'
,
keys
=
[
'img'
])
]
metainfo
=
dict
(
CLASSES
=
class_names
)
train_dataloader
=
dict
(
batch_size
=
2
,
num_workers
=
2
,
persistent_workers
=
True
,
sampler
=
dict
(
type
=
'DefaultSampler'
,
shuffle
=
True
),
dataset
=
dict
(
type
=
dataset_type
,
data_root
=
data_root
,
ann_file
=
'waymo_infos_train.pkl'
,
data_prefix
=
dict
(
pts
=
'training/velodyne'
,
CAM_FRONT
=
'training/image_0'
,
CAM_FRONT_RIGHT
=
'training/image_1'
,
CAM_FRONT_LEFT
=
'training/image_2'
,
CAM_SIDE_RIGHT
=
'training/image_3'
,
CAM_SIDE_LEFT
=
'training/image_4'
,
),
pipeline
=
train_pipeline
,
modality
=
input_modality
,
test_mode
=
False
,
metainfo
=
metainfo
,
box_type_3d
=
'Lidar'
,
load_interval
=
5
,
))
val_dataloader
=
dict
(
batch_size
=
1
,
num_workers
=
1
,
persistent_workers
=
True
,
drop_last
=
False
,
sampler
=
dict
(
type
=
'DefaultSampler'
,
shuffle
=
False
),
dataset
=
dict
(
type
=
dataset_type
,
data_root
=
data_root
,
ann_file
=
'waymo_infos_val.pkl'
,
data_prefix
=
dict
(
pts
=
'training/velodyne'
,
CAM_FRONT
=
'training/image_0'
,
CAM_FRONT_RIGHT
=
'training/image_1'
,
CAM_FRONT_LEFT
=
'training/image_2'
,
CAM_SIDE_RIGHT
=
'training/image_3'
,
CAM_SIDE_LEFT
=
'training/image_4'
,
),
pipeline
=
eval_pipeline
,
modality
=
input_modality
,
test_mode
=
True
,
metainfo
=
metainfo
,
box_type_3d
=
'Lidar'
,
))
test_dataloader
=
dict
(
batch_size
=
1
,
num_workers
=
1
,
persistent_workers
=
True
,
drop_last
=
False
,
sampler
=
dict
(
type
=
'DefaultSampler'
,
shuffle
=
False
),
dataset
=
dict
(
type
=
dataset_type
,
data_root
=
data_root
,
ann_file
=
'waymo_infos_val.pkl'
,
data_prefix
=
dict
(
pts
=
'training/velodyne'
,
CAM_FRONT
=
'training/image_0'
,
CAM_FRONT_RIGHT
=
'training/image_1'
,
CAM_FRONT_LEFT
=
'training/image_2'
,
CAM_SIDE_RIGHT
=
'training/image_3'
,
CAM_SIDE_LEFT
=
'training/image_4'
,
),
pipeline
=
eval_pipeline
,
modality
=
input_modality
,
test_mode
=
True
,
metainfo
=
metainfo
,
box_type_3d
=
'Lidar'
,
))
val_evaluator
=
dict
(
type
=
'WaymoMetric'
,
ann_file
=
'./data/waymo/kitti_format/waymo_infos_val.pkl'
,
waymo_bin_file
=
'./data/waymo/waymo_format/cam_gt.bin'
,
data_root
=
'./data/waymo/waymo_format'
,
metric
=
'LET_mAP'
)
test_evaluator
=
val_evaluator
Prev
1
2
3
4
5
…
9
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment