MMDETECTION3D 使用kitti格式的数据集跑centerpoint模型
1 修改配置文件configs/centerpoint/centerpoint_pillar02_kitti_3d.py
如下
# """configs/centerpoint/centerpoint_pillar02_kitti_3d.py"""
_base_ = ['../_base_/datasets/centerpoint_kitii_3d_3class.py','../_base_/models/centerpoint_pillar02_second_secfpn_kitti.py','../_base_/schedules/cyclic-20e.py', '../_base_/default_runtime.py'
]# If point cloud range is changed, the models should also change their point
# cloud range accordingly
point_cloud_range = [-51.2, -51.2, -5.0, 51.2, 51.2, 3.0]
# Using calibration info convert the Lidar-coordinate point cloud range to the
# ego-coordinate point cloud range could bring a little promotion in nuScenes.
# point_cloud_range = [-51.2, -52, -5.0, 51.2, 50.4, 3.0]
# For nuScenes we usually do 10-class detection
# class_names = [
# 'car', 'truck', 'construction_vehicle', 'bus', 'trailer', 'barrier',
# 'motorcycle', 'bicycle', 'pedestrian', 'traffic_cone'
# ]# class_names = [
# 'car', 'truck', 'construction_vehicle', 'bus', 'trailer', 'barrier',
# 'motorcycle', 'bicycle', 'pedestrian', 'traffic_cone'
# ]
class_names = ['Pedestrian', 'Cyclist', 'Car']
# data_prefix = dict(pts='samples/LIDAR_TOP', img='', sweeps='sweeps/LIDAR_TOP')
model = dict(data_preprocessor=dict(voxel_layer=dict(point_cloud_range=point_cloud_range)),pts_voxel_encoder=dict(point_cloud_range=point_cloud_range),pts_bbox_head=dict(bbox_coder=dict(pc_range=point_cloud_range[:2])),# model training and testing settingstrain_cfg=dict(pts=dict(point_cloud_range=point_cloud_range)),test_cfg=dict(pts=dict(pc_range=point_cloud_range[:2])))# dataset_type = 'NuScenesDataset'
# data_root = 'data/nuscenes/'
dataset_type = 'KittiDataset'
data_root = 'data/kitti/'
backend_args = Nonedb_sampler = dict(data_root=data_root,# info_path=data_root + 'nuscenes_dbinfos_train.pkl',info_path=data_root + 'kitti_dbinfos_train.pkl',rate=1.0,# prepare=dict(# filter_by_difficulty=[-1],# filter_by_min_points=dict(# car=5,# truck=5,# bus=5,# trailer=5,# construction_vehicle=5,# traffic_cone=5,# barrier=5,# motorcycle=5,# bicycle=5,# pedestrian=5)),prepare=dict(filter_by_difficulty=[-1],filter_by_min_points=dict(car=5,Cyclist = 5,pedestrian=5)),classes=class_names,sample_groups=dict(car=2,Cyclist = 4,pedestrian=4),points_loader=dict(type='LoadPointsFromFile',coord_type='LIDAR',# load_dim=5,load_dim=4,# use_dim=[0, 1, 2, 3, 4],backend_args=backend_args),backend_args=backend_args)train_pipeline = [dict(type='LoadPointsFromFile',coord_type='LIDAR',# load_dim=5,# use_dim=5,load_dim=4,use_dim=4,backend_args=backend_args),# dict(# type='LoadPointsFromMultiSweeps',# sweeps_num=9,# use_dim=[0, 1, 2, 3, 4],# pad_empty_sweeps=True,# remove_close=True,# backend_args=backend_args),dict(type='LoadAnnotations3D', with_bbox_3d=True, with_label_3d=True),# dict(type='ObjectSample', db_sampler=db_sampler),# dict(# type='GlobalRotScaleTrans',# rot_range=[-0.3925, 0.3925],# scale_ratio_range=[0.95, 1.05],# translation_std=[0, 0, 0]),dict(type='GlobalRotScaleTrans',rot_range=[-0.78539816, 0.78539816],scale_ratio_range=[0.95, 1.05]),dict(type='RandomFlip3D',# sync_2d=False,flip_ratio_bev_horizontal=0.5,# flip_ratio_bev_vertical=0.5),dict(type='PointsRangeFilter', point_cloud_range=point_cloud_range),dict(type='ObjectRangeFilter', point_cloud_range=point_cloud_range),# dict(type='ObjectNameFilter', classes=class_names),dict(type='PointShuffle'),dict(type='Pack3DDetInputs',keys=['points', 'gt_bboxes_3d', 'gt_labels_3d'])
]
test_pipeline = [dict(type='LoadPointsFromFile',coord_type='LIDAR',# load_dim=5,# use_dim=5,load_dim=4,use_dim=4,backend_args=backend_args),# dict(# type='LoadPointsFromMultiSweeps',# sweeps_num=9,# use_dim=[0, 1, 2, 3, 4],# pad_empty_sweeps=True,# remove_close=True,# backend_args=backend_args),dict(type='MultiScaleFlipAug3D',img_scale=(1333, 800),pts_scale_ratio=1,flip=False,transforms=[dict(type='GlobalRotScaleTrans',rot_range=[0, 0],scale_ratio_range=[1., 1.],translation_std=[0, 0, 0]),dict(type='RandomFlip3D'),