Unverified Commit cf6f4732 authored by Xiang Xu's avatar Xiang Xu Committed by GitHub
Browse files

[Feature] File I/O migration and reconstruction (#2319)

* refactor leio

* update mmengine and mmcv version

* update

* update docs

* update version
parent b2e5ad6b
...@@ -144,9 +144,15 @@ data_root = 'data/kitti/' ...@@ -144,9 +144,15 @@ data_root = 'data/kitti/'
class_names = ['Pedestrian', 'Cyclist', 'Car'] class_names = ['Pedestrian', 'Cyclist', 'Car']
metainfo = dict(classes=class_names) metainfo = dict(classes=class_names)
input_modality = dict(use_lidar=True, use_camera=True) input_modality = dict(use_lidar=True, use_camera=True)
backend_args = None
train_pipeline = [ train_pipeline = [
dict(type='LoadPointsFromFile', coord_type='LIDAR', load_dim=4, use_dim=4), dict(
dict(type='LoadImageFromFile'), type='LoadPointsFromFile',
coord_type='LIDAR',
load_dim=4,
use_dim=4,
backend_args=backend_args),
dict(type='LoadImageFromFile', backend_args=backend_args),
dict(type='LoadAnnotations3D', with_bbox_3d=True, with_label_3d=True), dict(type='LoadAnnotations3D', with_bbox_3d=True, with_label_3d=True),
dict( dict(
type='RandomResize', scale=[(640, 192), (2560, 768)], keep_ratio=True), type='RandomResize', scale=[(640, 192), (2560, 768)], keep_ratio=True),
...@@ -167,8 +173,13 @@ train_pipeline = [ ...@@ -167,8 +173,13 @@ train_pipeline = [
]) ])
] ]
test_pipeline = [ test_pipeline = [
dict(type='LoadPointsFromFile', coord_type='LIDAR', load_dim=4, use_dim=4), dict(
dict(type='LoadImageFromFile'), type='LoadPointsFromFile',
coord_type='LIDAR',
load_dim=4,
use_dim=4,
backend_args=backend_args),
dict(type='LoadImageFromFile', backend_args=backend_args),
dict( dict(
type='MultiScaleFlipAug3D', type='MultiScaleFlipAug3D',
img_scale=(1280, 384), img_scale=(1280, 384),
...@@ -208,7 +219,8 @@ train_dataloader = dict( ...@@ -208,7 +219,8 @@ train_dataloader = dict(
metainfo=metainfo, metainfo=metainfo,
# we use box_type_3d='LiDAR' in kitti and nuscenes dataset # we use box_type_3d='LiDAR' in kitti and nuscenes dataset
# 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',
backend_args=backend_args)))
val_dataloader = dict( val_dataloader = dict(
batch_size=1, batch_size=1,
...@@ -224,7 +236,8 @@ val_dataloader = dict( ...@@ -224,7 +236,8 @@ val_dataloader = dict(
pipeline=test_pipeline, pipeline=test_pipeline,
metainfo=metainfo, metainfo=metainfo,
test_mode=True, test_mode=True,
box_type_3d='LiDAR')) box_type_3d='LiDAR',
backend_args=backend_args))
test_dataloader = dict( test_dataloader = dict(
batch_size=1, batch_size=1,
num_workers=1, num_workers=1,
...@@ -239,7 +252,8 @@ test_dataloader = dict( ...@@ -239,7 +252,8 @@ test_dataloader = dict(
pipeline=test_pipeline, pipeline=test_pipeline,
metainfo=metainfo, metainfo=metainfo,
test_mode=True, test_mode=True,
box_type_3d='LiDAR')) box_type_3d='LiDAR',
backend_args=backend_args))
optim_wrapper = dict( optim_wrapper = dict(
optimizer=dict(weight_decay=0.01), optimizer=dict(weight_decay=0.01),
......
...@@ -18,8 +18,9 @@ model = dict( ...@@ -18,8 +18,9 @@ model = dict(
loss_weight=0.2))) loss_weight=0.2)))
data_root = 'data/nuimages/' data_root = 'data/nuimages/'
backend_args = None
train_pipeline = [ train_pipeline = [
dict(type='LoadImageFromFile'), dict(type='LoadImageFromFile', backend_args=backend_args),
dict( dict(
type='LoadAnnotations', with_bbox=True, with_mask=True, with_seg=True), type='LoadAnnotations', with_bbox=True, with_mask=True, with_seg=True),
dict( dict(
......
...@@ -8,8 +8,9 @@ model = dict( ...@@ -8,8 +8,9 @@ model = dict(
backbone=dict(norm_cfg=dict(requires_grad=False), style='caffe'), backbone=dict(norm_cfg=dict(requires_grad=False), style='caffe'),
roi_head=dict( roi_head=dict(
bbox_head=dict(num_classes=10), mask_head=dict(num_classes=10))) bbox_head=dict(num_classes=10), mask_head=dict(num_classes=10)))
backend_args = None
train_pipeline = [ train_pipeline = [
dict(type='LoadImageFromFile'), dict(type='LoadImageFromFile', backend_args=backend_args),
dict(type='LoadAnnotations', with_bbox=True, with_mask=True), dict(type='LoadAnnotations', with_bbox=True, with_mask=True),
dict( dict(
type='Resize', type='Resize',
...@@ -20,7 +21,7 @@ train_pipeline = [ ...@@ -20,7 +21,7 @@ train_pipeline = [
dict(type='PackDetInputs'), dict(type='PackDetInputs'),
] ]
test_pipeline = [ test_pipeline = [
dict(type='LoadImageFromFile'), dict(type='LoadImageFromFile', backend_args=backend_args),
dict( dict(
type='MultiScaleFlipAug', type='MultiScaleFlipAug',
img_scale=(1600, 900), img_scale=(1600, 900),
......
...@@ -8,8 +8,9 @@ model = dict( ...@@ -8,8 +8,9 @@ model = dict(
backbone=dict(norm_cfg=dict(requires_grad=False), style='caffe'), backbone=dict(norm_cfg=dict(requires_grad=False), style='caffe'),
roi_head=dict( roi_head=dict(
bbox_head=dict(num_classes=10), mask_head=dict(num_classes=10))) bbox_head=dict(num_classes=10), mask_head=dict(num_classes=10)))
backend_args = None
train_pipeline = [ train_pipeline = [
dict(type='LoadImageFromFile'), dict(type='LoadImageFromFile', backend_args=backend_args),
dict(type='LoadAnnotations', with_bbox=True, with_mask=True), dict(type='LoadAnnotations', with_bbox=True, with_mask=True),
dict( dict(
type='Resize', type='Resize',
...@@ -20,7 +21,7 @@ train_pipeline = [ ...@@ -20,7 +21,7 @@ train_pipeline = [
dict(type='PackDetInputs'), dict(type='PackDetInputs'),
] ]
test_pipeline = [ test_pipeline = [
dict(type='LoadImageFromFile'), dict(type='LoadImageFromFile', backend_args=backend_args),
dict( dict(
type='MultiScaleFlipAug', type='MultiScaleFlipAug',
img_scale=(1600, 900), img_scale=(1600, 900),
......
...@@ -8,8 +8,9 @@ model = dict( ...@@ -8,8 +8,9 @@ model = dict(
backbone=dict(norm_cfg=dict(requires_grad=False), style='caffe'), backbone=dict(norm_cfg=dict(requires_grad=False), style='caffe'),
roi_head=dict( roi_head=dict(
bbox_head=dict(num_classes=10), mask_head=dict(num_classes=10))) bbox_head=dict(num_classes=10), mask_head=dict(num_classes=10)))
backend_args = None
train_pipeline = [ train_pipeline = [
dict(type='LoadImageFromFile'), dict(type='LoadImageFromFile', backend_args=backend_args),
dict(type='LoadAnnotations', with_bbox=True, with_mask=True), dict(type='LoadAnnotations', with_bbox=True, with_mask=True),
dict( dict(
type='Resize', type='Resize',
...@@ -20,7 +21,7 @@ train_pipeline = [ ...@@ -20,7 +21,7 @@ train_pipeline = [
dict(type='PackDetInputs'), dict(type='PackDetInputs'),
] ]
test_pipeline = [ test_pipeline = [
dict(type='LoadImageFromFile'), dict(type='LoadImageFromFile', backend_args=backend_args),
dict( dict(
type='MultiScaleFlipAug', type='MultiScaleFlipAug',
img_scale=(1600, 900), img_scale=(1600, 900),
......
...@@ -7,15 +7,10 @@ model = dict( ...@@ -7,15 +7,10 @@ model = dict(
roi_head=dict( roi_head=dict(
bbox_head=dict(num_classes=10), mask_head=dict(num_classes=10))) bbox_head=dict(num_classes=10), mask_head=dict(num_classes=10)))
file_client_args = dict( backend_args = None
backend='petrel',
path_mapping=dict({
'./data/nuscenes/': 's3://nuscenes/nuscenes/',
'data/nuscenes/': 's3://nuscenes/nuscenes/'
}))
test_pipeline = [ test_pipeline = [
dict(type='LoadImageFromFile'), dict(type='LoadImageFromFile', backend_args=backend_args),
dict( dict(
type='MultiScaleFlipAug', type='MultiScaleFlipAug',
img_scale=(1600, 900), img_scale=(1600, 900),
......
...@@ -17,6 +17,7 @@ model = dict( ...@@ -17,6 +17,7 @@ model = dict(
# data settings # data settings
num_points = 4096 num_points = 4096
backend_args = None
train_pipeline = [ train_pipeline = [
dict( dict(
type='LoadPointsFromFile', type='LoadPointsFromFile',
...@@ -24,13 +25,15 @@ train_pipeline = [ ...@@ -24,13 +25,15 @@ train_pipeline = [
shift_height=False, shift_height=False,
use_color=True, use_color=True,
load_dim=6, load_dim=6,
use_dim=[0, 1, 2, 3, 4, 5]), use_dim=[0, 1, 2, 3, 4, 5],
backend_args=backend_args),
dict( dict(
type='LoadAnnotations3D', type='LoadAnnotations3D',
with_bbox_3d=False, with_bbox_3d=False,
with_label_3d=False, with_label_3d=False,
with_mask_3d=False, with_mask_3d=False,
with_seg_3d=True), with_seg_3d=True,
backend_args=backend_args),
dict(type='PointSegClassMapping'), dict(type='PointSegClassMapping'),
dict( dict(
type='IndoorPatchPointSample', type='IndoorPatchPointSample',
......
...@@ -17,6 +17,7 @@ model = dict( ...@@ -17,6 +17,7 @@ model = dict(
# data settings # data settings
num_points = 4096 num_points = 4096
backend_args = None
train_pipeline = [ train_pipeline = [
dict( dict(
type='LoadPointsFromFile', type='LoadPointsFromFile',
...@@ -24,13 +25,15 @@ train_pipeline = [ ...@@ -24,13 +25,15 @@ train_pipeline = [
shift_height=False, shift_height=False,
use_color=True, use_color=True,
load_dim=6, load_dim=6,
use_dim=[0, 1, 2, 3, 4, 5]), use_dim=[0, 1, 2, 3, 4, 5],
backend_args=backend_args),
dict( dict(
type='LoadAnnotations3D', type='LoadAnnotations3D',
with_bbox_3d=False, with_bbox_3d=False,
with_label_3d=False, with_label_3d=False,
with_mask_3d=False, with_mask_3d=False,
with_seg_3d=True), with_seg_3d=True,
backend_args=backend_args),
dict(type='PointSegClassMapping'), dict(type='PointSegClassMapping'),
dict( dict(
type='IndoorPatchPointSample', type='IndoorPatchPointSample',
......
...@@ -10,6 +10,7 @@ dataset_type = 'KittiDataset' ...@@ -10,6 +10,7 @@ dataset_type = 'KittiDataset'
data_root = 'data/kitti/' data_root = 'data/kitti/'
class_names = ['Pedestrian', 'Cyclist', 'Car'] class_names = ['Pedestrian', 'Cyclist', 'Car']
input_modality = dict(use_lidar=True, use_camera=False) input_modality = dict(use_lidar=True, use_camera=False)
backend_args = None
db_sampler = dict( db_sampler = dict(
data_root=data_root, data_root=data_root,
info_path=data_root + 'kitti_dbinfos_train.pkl', info_path=data_root + 'kitti_dbinfos_train.pkl',
...@@ -20,9 +21,19 @@ db_sampler = dict( ...@@ -20,9 +21,19 @@ db_sampler = dict(
classes=class_names, classes=class_names,
sample_groups=dict(Car=12, Pedestrian=6, Cyclist=6), sample_groups=dict(Car=12, Pedestrian=6, Cyclist=6),
points_loader=dict( points_loader=dict(
type='LoadPointsFromFile', coord_type='LIDAR', load_dim=4, use_dim=4)) type='LoadPointsFromFile',
coord_type='LIDAR',
load_dim=4,
use_dim=4,
backend_args=backend_args),
backend_args=backend_args)
train_pipeline = [ train_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,
backend_args=backend_args),
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(
...@@ -45,7 +56,12 @@ train_pipeline = [ ...@@ -45,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=4, use_dim=4), dict(
type='LoadPointsFromFile',
coord_type='LIDAR',
load_dim=4,
use_dim=4,
backend_args=backend_args),
dict( dict(
type='MultiScaleFlipAug3D', type='MultiScaleFlipAug3D',
img_scale=(1333, 800), img_scale=(1333, 800),
...@@ -66,7 +82,12 @@ test_pipeline = [ ...@@ -66,7 +82,12 @@ test_pipeline = [
# construct a pipeline for data and gt loading in show function # construct a pipeline for data and gt loading in show function
# 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,
backend_args=backend_args),
dict(type='Pack3DDetInputs', keys=['points']) dict(type='Pack3DDetInputs', keys=['points'])
] ]
train_dataloader = dict( train_dataloader = dict(
...@@ -86,7 +107,8 @@ train_dataloader = dict( ...@@ -86,7 +107,8 @@ train_dataloader = dict(
modality=input_modality, modality=input_modality,
metainfo=dict(classes=class_names), metainfo=dict(classes=class_names),
box_type_3d='LiDAR', box_type_3d='LiDAR',
test_mode=False))) test_mode=False,
backend_args=backend_args)))
test_dataloader = dict( test_dataloader = dict(
batch_size=1, batch_size=1,
num_workers=1, num_workers=1,
...@@ -102,7 +124,8 @@ test_dataloader = dict( ...@@ -102,7 +124,8 @@ test_dataloader = dict(
modality=input_modality, modality=input_modality,
metainfo=dict(classes=class_names), metainfo=dict(classes=class_names),
box_type_3d='LiDAR', box_type_3d='LiDAR',
test_mode=True)) test_mode=True,
backend_args=backend_args))
val_dataloader = dict( val_dataloader = dict(
batch_size=1, batch_size=1,
num_workers=1, num_workers=1,
...@@ -118,11 +141,13 @@ val_dataloader = dict( ...@@ -118,11 +141,13 @@ val_dataloader = dict(
modality=input_modality, modality=input_modality,
metainfo=dict(classes=class_names), metainfo=dict(classes=class_names),
box_type_3d='LiDAR', box_type_3d='LiDAR',
test_mode=True)) test_mode=True,
backend_args=backend_args))
val_evaluator = dict( val_evaluator = dict(
type='KittiMetric', type='KittiMetric',
ann_file=data_root + 'kitti_infos_val.pkl', ann_file=data_root + 'kitti_infos_val.pkl',
metric='bbox') metric='bbox',
backend_args=backend_args)
test_evaluator = val_evaluator test_evaluator = val_evaluator
# Part-A2 uses a different learning rate from what SECOND uses. # Part-A2 uses a different learning rate from what SECOND uses.
optim_wrapper = dict(optimizer=dict(lr=0.001)) optim_wrapper = dict(optimizer=dict(lr=0.001))
......
...@@ -76,6 +76,7 @@ dataset_type = 'KittiDataset' ...@@ -76,6 +76,7 @@ dataset_type = 'KittiDataset'
data_root = 'data/kitti/' data_root = 'data/kitti/'
class_names = ['Car'] class_names = ['Car']
input_modality = dict(use_lidar=True, use_camera=False) input_modality = dict(use_lidar=True, use_camera=False)
backend_args = None
db_sampler = dict( db_sampler = dict(
data_root=data_root, data_root=data_root,
info_path=data_root + 'kitti_dbinfos_train.pkl', info_path=data_root + 'kitti_dbinfos_train.pkl',
...@@ -84,9 +85,19 @@ db_sampler = dict( ...@@ -84,9 +85,19 @@ db_sampler = dict(
classes=class_names, classes=class_names,
sample_groups=dict(Car=15), sample_groups=dict(Car=15),
points_loader=dict( points_loader=dict(
type='LoadPointsFromFile', coord_type='LIDAR', load_dim=4, use_dim=4)) type='LoadPointsFromFile',
coord_type='LIDAR',
load_dim=4,
use_dim=4,
backend_args=backend_args),
backend_args=backend_args)
train_pipeline = [ train_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,
backend_args=backend_args),
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(
...@@ -109,7 +120,12 @@ train_pipeline = [ ...@@ -109,7 +120,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=4, use_dim=4), dict(
type='LoadPointsFromFile',
coord_type='LIDAR',
load_dim=4,
use_dim=4,
backend_args=backend_args),
dict( dict(
type='MultiScaleFlipAug3D', type='MultiScaleFlipAug3D',
img_scale=(1333, 800), img_scale=(1333, 800),
......
...@@ -46,8 +46,10 @@ model = dict( ...@@ -46,8 +46,10 @@ model = dict(
]), ]),
test_cfg=dict(nms_pre=1000, nms_thr=0.8, score_thr=0.01, max_per_img=200)) test_cfg=dict(nms_pre=1000, nms_thr=0.8, score_thr=0.01, max_per_img=200))
backend_args = None
train_pipeline = [ train_pipeline = [
dict(type='LoadImageFromFileMono3D'), dict(type='LoadImageFromFileMono3D', backend_args=backend_args),
dict( dict(
type='LoadAnnotations3D', type='LoadAnnotations3D',
with_bbox=True, with_bbox=True,
...@@ -66,7 +68,7 @@ train_pipeline = [ ...@@ -66,7 +68,7 @@ train_pipeline = [
]), ]),
] ]
test_pipeline = [ test_pipeline = [
dict(type='LoadImageFromFileMono3D'), dict(type='LoadImageFromFileMono3D', backend_args=backend_args),
dict(type='mmdet.Resize', scale_factor=1.0), dict(type='mmdet.Resize', scale_factor=1.0),
dict(type='Pack3DDetInputs', keys=['img']), dict(type='Pack3DDetInputs', keys=['img']),
] ]
......
...@@ -68,21 +68,10 @@ model = dict( ...@@ -68,21 +68,10 @@ model = dict(
]), ]),
test_cfg=dict(nms_pre=100, nms_thr=0.05, score_thr=0.001, max_per_img=20)) test_cfg=dict(nms_pre=100, nms_thr=0.05, score_thr=0.001, max_per_img=20))
file_client_args = dict(backend='disk') backend_args = None
# 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.
# file_client_args = dict(
# backend='petrel',
# path_mapping=dict({
# './data/kitti/':
# 's3://openmmlab/datasets/detection3d/kitti/',
# 'data/kitti/':
# 's3://openmmlab/datasets/detection3d/kitti/'
# }))
train_pipeline = [ train_pipeline = [
dict(type='LoadImageFromFileMono3D'), dict(type='LoadImageFromFileMono3D', backend_args=backend_args),
dict( dict(
type='LoadAnnotations3D', type='LoadAnnotations3D',
with_bbox=True, with_bbox=True,
...@@ -101,7 +90,7 @@ train_pipeline = [ ...@@ -101,7 +90,7 @@ train_pipeline = [
]), ]),
] ]
test_pipeline = [ test_pipeline = [
dict(type='LoadImageFromFileMono3D'), dict(type='LoadImageFromFileMono3D', backend_args=backend_args),
dict(type='mmdet.Resize', scale_factor=1.0), dict(type='mmdet.Resize', scale_factor=1.0),
dict(type='Pack3DDetInputs', keys=['img']) dict(type='Pack3DDetInputs', keys=['img'])
] ]
......
...@@ -10,6 +10,7 @@ class_names = ['Pedestrian', 'Cyclist', 'Car'] ...@@ -10,6 +10,7 @@ class_names = ['Pedestrian', 'Cyclist', 'Car']
metainfo = dict(classes=class_names) metainfo = dict(classes=class_names)
point_cloud_range = [0, -40, -3, 70.4, 40, 1] point_cloud_range = [0, -40, -3, 70.4, 40, 1]
input_modality = dict(use_lidar=True, use_camera=False) input_modality = dict(use_lidar=True, use_camera=False)
backend_args = None
db_sampler = dict( db_sampler = dict(
data_root=data_root, data_root=data_root,
...@@ -21,10 +22,20 @@ db_sampler = dict( ...@@ -21,10 +22,20 @@ db_sampler = dict(
sample_groups=dict(Car=20, Pedestrian=15, Cyclist=15), sample_groups=dict(Car=20, Pedestrian=15, Cyclist=15),
classes=class_names, classes=class_names,
points_loader=dict( points_loader=dict(
type='LoadPointsFromFile', coord_type='LIDAR', load_dim=4, use_dim=4)) type='LoadPointsFromFile',
coord_type='LIDAR',
load_dim=4,
use_dim=4,
backend_args=backend_args),
backend_args=backend_args)
train_pipeline = [ train_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,
backend_args=backend_args),
dict(type='LoadAnnotations3D', with_bbox_3d=True, with_label_3d=True), dict(type='LoadAnnotations3D', with_bbox_3d=True, with_label_3d=True),
dict(type='PointsRangeFilter', point_cloud_range=point_cloud_range), dict(type='PointsRangeFilter', point_cloud_range=point_cloud_range),
dict(type='ObjectRangeFilter', point_cloud_range=point_cloud_range), dict(type='ObjectRangeFilter', point_cloud_range=point_cloud_range),
...@@ -48,7 +59,12 @@ train_pipeline = [ ...@@ -48,7 +59,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=4, use_dim=4), dict(
type='LoadPointsFromFile',
coord_type='LIDAR',
load_dim=4,
use_dim=4,
backend_args=backend_args),
dict( dict(
type='MultiScaleFlipAug3D', type='MultiScaleFlipAug3D',
img_scale=(1333, 800), img_scale=(1333, 800),
......
...@@ -34,6 +34,7 @@ class_names = ('wall', 'floor', 'cabinet', 'bed', 'chair', 'sofa', 'table', ...@@ -34,6 +34,7 @@ class_names = ('wall', 'floor', 'cabinet', 'bed', 'chair', 'sofa', 'table',
'curtain', 'refrigerator', 'showercurtrain', 'toilet', 'sink', 'curtain', 'refrigerator', 'showercurtrain', 'toilet', 'sink',
'bathtub', 'otherfurniture') 'bathtub', 'otherfurniture')
num_points = 8192 num_points = 8192
backend_args = None
train_pipeline = [ train_pipeline = [
dict( dict(
type='LoadPointsFromFile', type='LoadPointsFromFile',
...@@ -41,13 +42,15 @@ train_pipeline = [ ...@@ -41,13 +42,15 @@ train_pipeline = [
shift_height=False, shift_height=False,
use_color=False, use_color=False,
load_dim=6, load_dim=6,
use_dim=[0, 1, 2]), # only load xyz coordinates use_dim=[0, 1, 2], # only load xyz coordinates
backend_args=backend_args),
dict( dict(
type='LoadAnnotations3D', type='LoadAnnotations3D',
with_bbox_3d=False, with_bbox_3d=False,
with_label_3d=False, with_label_3d=False,
with_mask_3d=False, with_mask_3d=False,
with_seg_3d=True), with_seg_3d=True,
backend_args=backend_args),
dict(type='PointSegClassMapping'), dict(type='PointSegClassMapping'),
dict( dict(
type='IndoorPatchPointSample', type='IndoorPatchPointSample',
...@@ -66,13 +69,15 @@ test_pipeline = [ ...@@ -66,13 +69,15 @@ test_pipeline = [
shift_height=False, shift_height=False,
use_color=False, use_color=False,
load_dim=6, load_dim=6,
use_dim=[0, 1, 2]), use_dim=[0, 1, 2],
backend_args=backend_args),
dict( dict(
type='LoadAnnotations3D', type='LoadAnnotations3D',
with_bbox_3d=False, with_bbox_3d=False,
with_label_3d=False, with_label_3d=False,
with_mask_3d=False, with_mask_3d=False,
with_seg_3d=True), with_seg_3d=True,
backend_args=backend_args),
dict( dict(
# a wrapper in order to successfully call test function # a wrapper in order to successfully call test function
# actually we don't perform test-time-aug # actually we don't perform test-time-aug
......
...@@ -34,6 +34,7 @@ class_names = ('wall', 'floor', 'cabinet', 'bed', 'chair', 'sofa', 'table', ...@@ -34,6 +34,7 @@ class_names = ('wall', 'floor', 'cabinet', 'bed', 'chair', 'sofa', 'table',
'curtain', 'refrigerator', 'showercurtrain', 'toilet', 'sink', 'curtain', 'refrigerator', 'showercurtrain', 'toilet', 'sink',
'bathtub', 'otherfurniture') 'bathtub', 'otherfurniture')
num_points = 8192 num_points = 8192
backend_args = None
train_pipeline = [ train_pipeline = [
dict( dict(
type='LoadPointsFromFile', type='LoadPointsFromFile',
...@@ -41,13 +42,15 @@ train_pipeline = [ ...@@ -41,13 +42,15 @@ train_pipeline = [
shift_height=False, shift_height=False,
use_color=False, use_color=False,
load_dim=6, load_dim=6,
use_dim=[0, 1, 2]), # only load xyz coordinates use_dim=[0, 1, 2], # only load xyz coordinates
backend_args=backend_args),
dict( dict(
type='LoadAnnotations3D', type='LoadAnnotations3D',
with_bbox_3d=False, with_bbox_3d=False,
with_label_3d=False, with_label_3d=False,
with_mask_3d=False, with_mask_3d=False,
with_seg_3d=True), with_seg_3d=True,
backend_args=backend_args),
dict(type='PointSegClassMapping'), dict(type='PointSegClassMapping'),
dict( dict(
type='IndoorPatchPointSample', type='IndoorPatchPointSample',
...@@ -66,13 +69,15 @@ test_pipeline = [ ...@@ -66,13 +69,15 @@ test_pipeline = [
shift_height=False, shift_height=False,
use_color=False, use_color=False,
load_dim=6, load_dim=6,
use_dim=[0, 1, 2]), use_dim=[0, 1, 2],
backend_args=backend_args),
dict( dict(
type='LoadAnnotations3D', type='LoadAnnotations3D',
with_bbox_3d=False, with_bbox_3d=False,
with_label_3d=False, with_label_3d=False,
with_mask_3d=False, with_mask_3d=False,
with_seg_3d=True), with_seg_3d=True,
backend_args=backend_args),
dict( dict(
# a wrapper in order to successfully call test function # a wrapper in order to successfully call test function
# actually we don't perform test-time-aug # actually we don't perform test-time-aug
......
...@@ -9,6 +9,7 @@ point_cloud_range = [0, -39.68, -3, 69.12, 39.68, 1] ...@@ -9,6 +9,7 @@ point_cloud_range = [0, -39.68, -3, 69.12, 39.68, 1]
data_root = 'data/kitti/' data_root = 'data/kitti/'
class_names = ['Pedestrian', 'Cyclist', 'Car'] class_names = ['Pedestrian', 'Cyclist', 'Car']
metainfo = dict(classes=class_names) metainfo = dict(classes=class_names)
backend_args = None
# PointPillars adopted a different sampling strategies among classes # PointPillars adopted a different sampling strategies among classes
db_sampler = dict( db_sampler = dict(
...@@ -21,11 +22,21 @@ db_sampler = dict( ...@@ -21,11 +22,21 @@ db_sampler = dict(
classes=class_names, classes=class_names,
sample_groups=dict(Car=15, Pedestrian=15, Cyclist=15), sample_groups=dict(Car=15, Pedestrian=15, Cyclist=15),
points_loader=dict( points_loader=dict(
type='LoadPointsFromFile', coord_type='LIDAR', load_dim=4, use_dim=4)) type='LoadPointsFromFile',
coord_type='LIDAR',
load_dim=4,
use_dim=4,
backend_args=backend_args),
backend_args=backend_args)
# PointPillars uses different augmentation hyper parameters # PointPillars uses different augmentation hyper parameters
train_pipeline = [ train_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,
backend_args=backend_args),
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, use_ground_plane=True), dict(type='ObjectSample', db_sampler=db_sampler, use_ground_plane=True),
dict(type='RandomFlip3D', flip_ratio_bev_horizontal=0.5), dict(type='RandomFlip3D', flip_ratio_bev_horizontal=0.5),
...@@ -41,7 +52,12 @@ train_pipeline = [ ...@@ -41,7 +52,12 @@ train_pipeline = [
keys=['points', 'gt_labels_3d', 'gt_bboxes_3d']) keys=['points', 'gt_labels_3d', 'gt_bboxes_3d'])
] ]
test_pipeline = [ test_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,
backend_args=backend_args),
dict( dict(
type='MultiScaleFlipAug3D', type='MultiScaleFlipAug3D',
img_scale=(1333, 800), img_scale=(1333, 800),
......
...@@ -5,6 +5,7 @@ dataset_type = 'KittiDataset' ...@@ -5,6 +5,7 @@ dataset_type = 'KittiDataset'
data_root = 'data/kitti/' data_root = 'data/kitti/'
class_names = ['Car'] class_names = ['Car']
metainfo = dict(classes=class_names) metainfo = dict(classes=class_names)
backend_args = None
point_cloud_range = [0, -39.68, -3, 69.12, 39.68, 1] point_cloud_range = [0, -39.68, -3, 69.12, 39.68, 1]
...@@ -41,10 +42,20 @@ db_sampler = dict( ...@@ -41,10 +42,20 @@ db_sampler = dict(
classes=class_names, classes=class_names,
sample_groups=dict(Car=15), sample_groups=dict(Car=15),
points_loader=dict( points_loader=dict(
type='LoadPointsFromFile', coord_type='LIDAR', load_dim=4, use_dim=4)) type='LoadPointsFromFile',
coord_type='LIDAR',
load_dim=4,
use_dim=4,
backend_args=backend_args),
backend_args=backend_args)
train_pipeline = [ train_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,
backend_args=backend_args),
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, use_ground_plane=True), dict(type='ObjectSample', db_sampler=db_sampler, use_ground_plane=True),
dict(type='RandomFlip3D', flip_ratio_bev_horizontal=0.5), dict(type='RandomFlip3D', flip_ratio_bev_horizontal=0.5),
...@@ -60,7 +71,12 @@ train_pipeline = [ ...@@ -60,7 +71,12 @@ train_pipeline = [
keys=['points', 'gt_labels_3d', 'gt_bboxes_3d']) keys=['points', 'gt_labels_3d', 'gt_bboxes_3d'])
] ]
test_pipeline = [ test_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,
backend_args=backend_args),
dict( dict(
type='MultiScaleFlipAug3D', type='MultiScaleFlipAug3D',
img_scale=(1333, 800), img_scale=(1333, 800),
......
...@@ -9,6 +9,7 @@ point_cloud_range = [0, -40, -3, 70.4, 40, 1] ...@@ -9,6 +9,7 @@ point_cloud_range = [0, -40, -3, 70.4, 40, 1]
data_root = 'data/kitti/' data_root = 'data/kitti/'
class_names = ['Pedestrian', 'Cyclist', 'Car'] class_names = ['Pedestrian', 'Cyclist', 'Car']
metainfo = dict(CLASSES=class_names) metainfo = dict(CLASSES=class_names)
backend_args = None
db_sampler = dict( db_sampler = dict(
data_root=data_root, data_root=data_root,
info_path=data_root + 'kitti_dbinfos_train.pkl', info_path=data_root + 'kitti_dbinfos_train.pkl',
...@@ -19,10 +20,20 @@ db_sampler = dict( ...@@ -19,10 +20,20 @@ db_sampler = dict(
classes=class_names, classes=class_names,
sample_groups=dict(Car=15, Pedestrian=10, Cyclist=10), sample_groups=dict(Car=15, Pedestrian=10, Cyclist=10),
points_loader=dict( points_loader=dict(
type='LoadPointsFromFile', coord_type='LIDAR', load_dim=4, use_dim=4)) type='LoadPointsFromFile',
coord_type='LIDAR',
load_dim=4,
use_dim=4,
backend_args=backend_args),
backend_args=backend_args)
train_pipeline = [ train_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,
backend_args=backend_args),
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, use_ground_plane=True), dict(type='ObjectSample', db_sampler=db_sampler, use_ground_plane=True),
dict(type='RandomFlip3D', flip_ratio_bev_horizontal=0.5), dict(type='RandomFlip3D', flip_ratio_bev_horizontal=0.5),
...@@ -38,7 +49,12 @@ train_pipeline = [ ...@@ -38,7 +49,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=4, use_dim=4), dict(
type='LoadPointsFromFile',
coord_type='LIDAR',
load_dim=4,
use_dim=4,
backend_args=backend_args),
dict( dict(
type='MultiScaleFlipAug3D', type='MultiScaleFlipAug3D',
img_scale=(1333, 800), img_scale=(1333, 800),
......
...@@ -12,14 +12,7 @@ metainfo = dict(classes=class_names) ...@@ -12,14 +12,7 @@ metainfo = dict(classes=class_names)
point_cloud_range = [-76.8, -51.2, -2, 76.8, 51.2, 4] point_cloud_range = [-76.8, -51.2, -2, 76.8, 51.2, 4]
input_modality = dict(use_lidar=True, use_camera=False) input_modality = dict(use_lidar=True, use_camera=False)
file_client_args = dict( backend_args = None
backend='petrel',
path_mapping=dict({
'./data/waymo/':
's3://openmmlab/datasets/detection3d/waymo/',
'data/waymo/':
's3://openmmlab/datasets/detection3d/waymo/'
}))
db_sampler = dict( db_sampler = dict(
data_root=data_root, data_root=data_root,
...@@ -34,7 +27,9 @@ db_sampler = dict( ...@@ -34,7 +27,9 @@ db_sampler = dict(
type='LoadPointsFromFile', type='LoadPointsFromFile',
coord_type='LIDAR', coord_type='LIDAR',
load_dim=6, load_dim=6,
use_dim=[0, 1, 2, 3, 4])) use_dim=[0, 1, 2, 3, 4],
backend_args=backend_args),
backend_args=backend_args)
train_pipeline = [ train_pipeline = [
dict( dict(
...@@ -42,7 +37,7 @@ train_pipeline = [ ...@@ -42,7 +37,7 @@ train_pipeline = [
coord_type='LIDAR', coord_type='LIDAR',
load_dim=6, load_dim=6,
use_dim=5, use_dim=5,
file_client_args=file_client_args), backend_args=backend_args),
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(
...@@ -68,7 +63,7 @@ test_pipeline = [ ...@@ -68,7 +63,7 @@ test_pipeline = [
coord_type='LIDAR', coord_type='LIDAR',
load_dim=6, load_dim=6,
use_dim=5, use_dim=5,
file_client_args=file_client_args), backend_args=backend_args),
dict( dict(
type='MultiScaleFlipAug3D', type='MultiScaleFlipAug3D',
img_scale=(1333, 800), img_scale=(1333, 800),
...@@ -107,7 +102,8 @@ train_dataloader = dict( ...@@ -107,7 +102,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,
backend_args=backend_args)))
val_dataloader = dict( val_dataloader = dict(
batch_size=1, batch_size=1,
num_workers=1, num_workers=1,
...@@ -123,7 +119,8 @@ val_dataloader = dict( ...@@ -123,7 +119,8 @@ val_dataloader = dict(
modality=input_modality, modality=input_modality,
test_mode=True, test_mode=True,
metainfo=metainfo, metainfo=metainfo,
box_type_3d='LiDAR')) box_type_3d='LiDAR',
backend_args=backend_args))
test_dataloader = dict( test_dataloader = dict(
batch_size=1, batch_size=1,
num_workers=1, num_workers=1,
...@@ -139,7 +136,8 @@ test_dataloader = dict( ...@@ -139,7 +136,8 @@ test_dataloader = dict(
modality=input_modality, modality=input_modality,
test_mode=True, test_mode=True,
metainfo=metainfo, metainfo=metainfo,
box_type_3d='LiDAR')) box_type_3d='LiDAR',
backend_args=backend_args))
# Default setting for scaling LR automatically # Default setting for scaling LR automatically
# - `enable` means enable scaling LR automatically # - `enable` means enable scaling LR automatically
# or not by default. # or not by default.
......
...@@ -3,21 +3,10 @@ _base_ = [ ...@@ -3,21 +3,10 @@ _base_ = [
'../_base_/default_runtime.py' '../_base_/default_runtime.py'
] ]
# file_client_args = dict(backend='disk') backend_args = None
# 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.
file_client_args = dict(
backend='petrel',
path_mapping=dict({
'./data/kitti/':
's3://openmmlab/datasets/detection3d/kitti/',
'data/kitti/':
's3://openmmlab/datasets/detection3d/kitti/'
}))
train_pipeline = [ train_pipeline = [
dict(type='LoadImageFromFileMono3D'), dict(type='LoadImageFromFileMono3D', backend_args=backend_args),
dict( dict(
type='LoadAnnotations3D', type='LoadAnnotations3D',
with_bbox=True, with_bbox=True,
...@@ -37,7 +26,7 @@ train_pipeline = [ ...@@ -37,7 +26,7 @@ train_pipeline = [
]), ]),
] ]
test_pipeline = [ test_pipeline = [
dict(type='LoadImageFromFileMono3D'), dict(type='LoadImageFromFileMono3D', backend_args=backend_args),
dict(type='AffineResize', img_scale=(1280, 384), down_ratio=4), dict(type='AffineResize', img_scale=(1280, 384), down_ratio=4),
dict(type='Pack3DDetInputs', keys=['img']) dict(type='Pack3DDetInputs', keys=['img'])
] ]
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment