Commit 7a6deaef authored by ChaimZhu's avatar ChaimZhu Committed by ZwwWayne
Browse files

[Refactor] rename `CLASSES` and `PALETTE` to `classes` and `palette` in dataset metainfo (#1932)

* rame CLASS and PALETTE to class and palette

* change mmcv-full to mmcv

* fix comments
parent 48ab8e2d
...@@ -127,7 +127,7 @@ train_dataloader = dict( ...@@ -127,7 +127,7 @@ train_dataloader = dict(
data_root=data_root, data_root=data_root,
ann_file='nuscenes_infos_train.pkl', ann_file='nuscenes_infos_train.pkl',
pipeline=train_pipeline, pipeline=train_pipeline,
metainfo=dict(CLASSES=class_names), metainfo=dict(classes=class_names),
test_mode=False, test_mode=False,
data_prefix=data_prefix, data_prefix=data_prefix,
use_valid_flag=True, use_valid_flag=True,
...@@ -135,8 +135,8 @@ train_dataloader = dict( ...@@ -135,8 +135,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')))
test_dataloader = dict( test_dataloader = dict(
dataset=dict(pipeline=test_pipeline, metainfo=dict(CLASSES=class_names))) dataset=dict(pipeline=test_pipeline, metainfo=dict(classes=class_names)))
val_dataloader = dict( val_dataloader = dict(
dataset=dict(pipeline=test_pipeline, metainfo=dict(CLASSES=class_names))) dataset=dict(pipeline=test_pipeline, metainfo=dict(classes=class_names)))
train_cfg = dict(val_interval=20) train_cfg = dict(val_interval=20)
...@@ -78,7 +78,7 @@ class_names = ('cabinet', 'bed', 'chair', 'sofa', 'table', 'door', 'window', ...@@ -78,7 +78,7 @@ class_names = ('cabinet', 'bed', 'chair', 'sofa', 'table', 'door', 'window',
'refrigerator', 'showercurtrain', 'toilet', 'sink', 'bathtub', 'refrigerator', 'showercurtrain', 'toilet', 'sink', 'bathtub',
'garbagebin') 'garbagebin')
metainfo = dict(CLASSES=class_names) metainfo = dict(classes=class_names)
train_pipeline = [ train_pipeline = [
dict( dict(
......
...@@ -77,7 +77,7 @@ class_names = ('cabinet', 'bed', 'chair', 'sofa', 'table', 'door', 'window', ...@@ -77,7 +77,7 @@ class_names = ('cabinet', 'bed', 'chair', 'sofa', 'table', 'door', 'window',
'refrigerator', 'showercurtrain', 'toilet', 'sink', 'bathtub', 'refrigerator', 'showercurtrain', 'toilet', 'sink', 'bathtub',
'garbagebin') 'garbagebin')
metainfo = dict(CLASSES=class_names) metainfo = dict(classes=class_names)
train_pipeline = [ train_pipeline = [
dict( dict(
......
...@@ -93,7 +93,7 @@ class_names = ('cabinet', 'bed', 'chair', 'sofa', 'table', 'door', 'window', ...@@ -93,7 +93,7 @@ class_names = ('cabinet', 'bed', 'chair', 'sofa', 'table', 'door', 'window',
'refrigerator', 'showercurtrain', 'toilet', 'sink', 'bathtub', 'refrigerator', 'showercurtrain', 'toilet', 'sink', 'bathtub',
'garbagebin') 'garbagebin')
metainfo = dict(CLASSES=class_names) metainfo = dict(classes=class_names)
train_pipeline = [ train_pipeline = [
dict( dict(
......
...@@ -94,7 +94,7 @@ class_names = ('cabinet', 'bed', 'chair', 'sofa', 'table', 'door', 'window', ...@@ -94,7 +94,7 @@ class_names = ('cabinet', 'bed', 'chair', 'sofa', 'table', 'door', 'window',
'refrigerator', 'showercurtrain', 'toilet', 'sink', 'bathtub', 'refrigerator', 'showercurtrain', 'toilet', 'sink', 'bathtub',
'garbagebin') 'garbagebin')
metainfo = dict(CLASSES=class_names) metainfo = dict(classes=class_names)
train_pipeline = [ train_pipeline = [
dict( dict(
......
...@@ -81,7 +81,7 @@ data_root = 'data/kitti/' ...@@ -81,7 +81,7 @@ data_root = 'data/kitti/'
class_names = ['Car'] class_names = ['Car']
input_modality = dict(use_lidar=False, use_camera=True) input_modality = dict(use_lidar=False, use_camera=True)
point_cloud_range = [0, -39.68, -3, 69.12, 39.68, 1] point_cloud_range = [0, -39.68, -3, 69.12, 39.68, 1]
metainfo = dict(CLASSES=class_names) metainfo = dict(classes=class_names)
# 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.
......
...@@ -142,7 +142,7 @@ model = dict( ...@@ -142,7 +142,7 @@ model = dict(
dataset_type = 'KittiDataset' dataset_type = 'KittiDataset'
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)
input_modality = dict(use_lidar=True, use_camera=True) input_modality = dict(use_lidar=True, use_camera=True)
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),
......
...@@ -84,7 +84,7 @@ train_dataloader = dict( ...@@ -84,7 +84,7 @@ train_dataloader = dict(
data_prefix=dict(pts='training/velodyne_reduced'), data_prefix=dict(pts='training/velodyne_reduced'),
pipeline=train_pipeline, pipeline=train_pipeline,
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)))
test_dataloader = dict( test_dataloader = dict(
...@@ -100,7 +100,7 @@ test_dataloader = dict( ...@@ -100,7 +100,7 @@ test_dataloader = dict(
data_prefix=dict(pts='training/velodyne_reduced'), data_prefix=dict(pts='training/velodyne_reduced'),
pipeline=test_pipeline, pipeline=test_pipeline,
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))
val_dataloader = dict( val_dataloader = dict(
...@@ -116,7 +116,7 @@ val_dataloader = dict( ...@@ -116,7 +116,7 @@ val_dataloader = dict(
data_prefix=dict(pts='training/velodyne_reduced'), data_prefix=dict(pts='training/velodyne_reduced'),
pipeline=eval_pipeline, pipeline=eval_pipeline,
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))
val_evaluator = dict( val_evaluator = dict(
......
...@@ -135,8 +135,8 @@ test_pipeline = [ ...@@ -135,8 +135,8 @@ test_pipeline = [
train_dataloader = dict( train_dataloader = dict(
dataset=dict( dataset=dict(
dataset=dict( dataset=dict(
pipeline=train_pipeline, metainfo=dict(CLASSES=class_names)))) pipeline=train_pipeline, metainfo=dict(classes=class_names))))
test_dataloader = dict( test_dataloader = dict(
dataset=dict(pipeline=test_pipeline, metainfo=dict(CLASSES=class_names))) dataset=dict(pipeline=test_pipeline, metainfo=dict(classes=class_names)))
val_dataloader = dict(dataset=dict(metainfo=dict(CLASSES=class_names))) val_dataloader = dict(dataset=dict(metainfo=dict(classes=class_names)))
find_unused_parameters = True find_unused_parameters = True
...@@ -7,7 +7,7 @@ _base_ = [ ...@@ -7,7 +7,7 @@ _base_ = [
dataset_type = 'KittiDataset' dataset_type = 'KittiDataset'
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)
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)
......
...@@ -8,7 +8,7 @@ point_cloud_range = [0, -39.68, -3, 69.12, 39.68, 1] ...@@ -8,7 +8,7 @@ point_cloud_range = [0, -39.68, -3, 69.12, 39.68, 1]
# dataset settings # dataset settings
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)
# PointPillars adopted a different sampling strategies among classes # PointPillars adopted a different sampling strategies among classes
db_sampler = dict( db_sampler = dict(
......
...@@ -4,7 +4,7 @@ _base_ = './pointpillars_hv_secfpn_8xb6-160e_kitti-3d-3class.py' ...@@ -4,7 +4,7 @@ _base_ = './pointpillars_hv_secfpn_8xb6-160e_kitti-3d-3class.py'
dataset_type = 'KittiDataset' 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)
point_cloud_range = [0, -39.68, -3, 69.12, 39.68, 1] point_cloud_range = [0, -39.68, -3, 69.12, 39.68, 1]
......
...@@ -8,7 +8,7 @@ _base_ = [ ...@@ -8,7 +8,7 @@ _base_ = [
dataset_type = 'WaymoDataset' dataset_type = 'WaymoDataset'
data_root = 'data/waymo/kitti_format/' data_root = 'data/waymo/kitti_format/'
class_names = ['Car', 'Pedestrian', 'Cyclist'] class_names = ['Car', 'Pedestrian', 'Cyclist']
metainfo = dict(CLASSES=class_names) 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)
......
...@@ -56,11 +56,11 @@ test_pipeline = [ ...@@ -56,11 +56,11 @@ test_pipeline = [
train_dataloader = dict( train_dataloader = dict(
batch_size=2, batch_size=2,
num_workers=4, num_workers=4,
dataset=dict(pipeline=train_pipeline, metainfo=dict(CLASSES=class_names))) dataset=dict(pipeline=train_pipeline, metainfo=dict(classes=class_names)))
test_dataloader = dict( test_dataloader = dict(
dataset=dict(pipeline=test_pipeline, metainfo=dict(CLASSES=class_names))) dataset=dict(pipeline=test_pipeline, metainfo=dict(classes=class_names)))
val_dataloader = dict( val_dataloader = dict(
dataset=dict(pipeline=test_pipeline, metainfo=dict(CLASSES=class_names))) dataset=dict(pipeline=test_pipeline, metainfo=dict(classes=class_names)))
# model settings # model settings
model = dict( model = dict(
......
...@@ -220,7 +220,7 @@ class MyDataset(Det3DDataset): ...@@ -220,7 +220,7 @@ class MyDataset(Det3DDataset):
# replace with all the classes in customized pkl info file # replace with all the classes in customized pkl info file
METAINFO = { METAINFO = {
'CLASSES': ('Pedestrian', 'Cyclist', 'Car') 'classes': ('Pedestrian', 'Cyclist', 'Car')
} }
def parse_ann_info(self, info): def parse_ann_info(self, info):
...@@ -268,7 +268,7 @@ data_root = 'data/custom/' ...@@ -268,7 +268,7 @@ data_root = 'data/custom/'
class_names = ['Pedestrian', 'Cyclist', 'Car'] # replace with your dataset class class_names = ['Pedestrian', 'Cyclist', 'Car'] # replace with your dataset class
point_cloud_range = [0, -40, -3, 70.4, 40, 1] # adjust according to your dataset point_cloud_range = [0, -40, -3, 70.4, 40, 1] # adjust according to your dataset
input_modality = dict(use_lidar=True, use_camera=False) input_modality = dict(use_lidar=True, use_camera=False)
metainfo = dict(CLASSES=class_names) metainfo = dict(classes=class_names)
train_pipeline = [ train_pipeline = [
dict( dict(
......
...@@ -143,7 +143,7 @@ from .custom_3d import Custom3DDataset ...@@ -143,7 +143,7 @@ from .custom_3d import Custom3DDataset
@DATASETS.register_module() @DATASETS.register_module()
class MyDataset(Custom3DDataset): class MyDataset(Custom3DDataset):
CLASSES = ('cabinet', 'bed', 'chair', 'sofa', 'table', 'door', 'window', classes = ('cabinet', 'bed', 'chair', 'sofa', 'table', 'door', 'window',
'bookshelf', 'picture', 'counter', 'desk', 'curtain', 'bookshelf', 'picture', 'counter', 'desk', 'curtain',
'refrigerator', 'showercurtrain', 'toilet', 'sink', 'bathtub', 'refrigerator', 'showercurtrain', 'toilet', 'sink', 'bathtub',
'garbagebin') 'garbagebin')
......
...@@ -119,7 +119,7 @@ data_root = 'data/kitti/' ...@@ -119,7 +119,7 @@ data_root = 'data/kitti/'
class_names = ['Pedestrian', 'Cyclist', 'Car'] class_names = ['Pedestrian', 'Cyclist', 'Car']
point_cloud_range = [0, -39.68, -3, 69.12, 39.68, 1] point_cloud_range = [0, -39.68, -3, 69.12, 39.68, 1]
input_modality = dict(use_lidar=True, use_camera=False) input_modality = dict(use_lidar=True, use_camera=False)
metainfo = dict(CLASSES=['Pedestrian', 'Cyclist', 'Car']) metainfo = dict(classes=['Pedestrian', 'Cyclist', 'Car'])
db_sampler = dict( db_sampler = dict(
data_root='data/kitti/', data_root='data/kitti/',
info_path='data/kitti/kitti_dbinfos_train.pkl', info_path='data/kitti/kitti_dbinfos_train.pkl',
...@@ -250,7 +250,7 @@ train_dataloader = dict( ...@@ -250,7 +250,7 @@ train_dataloader = dict(
], ],
modality=dict(use_lidar=True, use_camera=False), modality=dict(use_lidar=True, use_camera=False),
test_mode=False, test_mode=False,
metainfo=dict(CLASSES=['Pedestrian', 'Cyclist', 'Car']), metainfo=dict(classes=['Pedestrian', 'Cyclist', 'Car']),
box_type_3d='LiDAR'))) box_type_3d='LiDAR')))
val_dataloader = dict( val_dataloader = dict(
batch_size=1, batch_size=1,
...@@ -289,7 +289,7 @@ val_dataloader = dict( ...@@ -289,7 +289,7 @@ val_dataloader = dict(
], ],
modality=dict(use_lidar=True, use_camera=False), modality=dict(use_lidar=True, use_camera=False),
test_mode=True, test_mode=True,
metainfo=dict(CLASSES=['Pedestrian', 'Cyclist', 'Car']), metainfo=dict(classes=['Pedestrian', 'Cyclist', 'Car']),
box_type_3d='LiDAR')) box_type_3d='LiDAR'))
test_dataloader = dict( test_dataloader = dict(
batch_size=1, batch_size=1,
...@@ -328,7 +328,7 @@ test_dataloader = dict( ...@@ -328,7 +328,7 @@ test_dataloader = dict(
], ],
modality=dict(use_lidar=True, use_camera=False), modality=dict(use_lidar=True, use_camera=False),
test_mode=True, test_mode=True,
metainfo=dict(CLASSES=['Pedestrian', 'Cyclist', 'Car']), metainfo=dict(classes=['Pedestrian', 'Cyclist', 'Car']),
box_type_3d='LiDAR')) box_type_3d='LiDAR'))
``` ```
......
...@@ -19,8 +19,8 @@ class CBGSDataset(object): ...@@ -19,8 +19,8 @@ class CBGSDataset(object):
def __init__(self, dataset): def __init__(self, dataset):
self.dataset = DATASETS.build(dataset) self.dataset = DATASETS.build(dataset)
self.metainfo = self.dataset.metainfo self.metainfo = self.dataset.metainfo
self.CLASSES = self.metainfo['CLASSES'] self.classes = self.metainfo['classes']
self.cat2id = {name: i for i, name in enumerate(self.CLASSES)} self.cat2id = {name: i for i, name in enumerate(self.classes)}
self.sample_indices = self._get_sample_indices() self.sample_indices = self._get_sample_indices()
# self.dataset.data_infos = self.data_infos # self.dataset.data_infos = self.data_infos
if hasattr(self.dataset, 'flag'): if hasattr(self.dataset, 'flag'):
...@@ -54,7 +54,7 @@ class CBGSDataset(object): ...@@ -54,7 +54,7 @@ class CBGSDataset(object):
sample_indices = [] sample_indices = []
frac = 1.0 / len(self.CLASSES) frac = 1.0 / len(self.classes)
ratios = [frac / v for v in class_distribution.values()] ratios = [frac / v for v in class_distribution.values()]
for cls_inds, ratio in zip(list(class_sample_idxs.values()), ratios): for cls_inds, ratio in zip(list(class_sample_idxs.values()), ratios):
sample_indices += np.random.choice(cls_inds, sample_indices += np.random.choice(cls_inds,
......
...@@ -102,29 +102,29 @@ class Det3DDataset(BaseDataset): ...@@ -102,29 +102,29 @@ class Det3DDataset(BaseDataset):
self.box_type_3d, self.box_mode_3d = get_box_type(box_type_3d) self.box_type_3d, self.box_mode_3d = get_box_type(box_type_3d)
if metainfo is not None and 'CLASSES' in metainfo: if metainfo is not None and 'classes' in metainfo:
# we allow to train on subset of self.METAINFO['CLASSES'] # we allow to train on subset of self.METAINFO['classes']
# map unselected labels to -1 # map unselected labels to -1
self.label_mapping = { self.label_mapping = {
i: -1 i: -1
for i in range(len(self.METAINFO['CLASSES'])) for i in range(len(self.METAINFO['classes']))
} }
self.label_mapping[-1] = -1 self.label_mapping[-1] = -1
for label_idx, name in enumerate(metainfo['CLASSES']): for label_idx, name in enumerate(metainfo['classes']):
ori_label = self.METAINFO['CLASSES'].index(name) ori_label = self.METAINFO['classes'].index(name)
self.label_mapping[ori_label] = label_idx self.label_mapping[ori_label] = label_idx
self.num_ins_per_cat = {name: 0 for name in metainfo['CLASSES']} self.num_ins_per_cat = {name: 0 for name in metainfo['classes']}
else: else:
self.label_mapping = { self.label_mapping = {
i: i i: i
for i in range(len(self.METAINFO['CLASSES'])) for i in range(len(self.METAINFO['classes']))
} }
self.label_mapping[-1] = -1 self.label_mapping[-1] = -1
self.num_ins_per_cat = { self.num_ins_per_cat = {
name: 0 name: 0
for name in self.METAINFO['CLASSES'] for name in self.METAINFO['classes']
} }
super().__init__( super().__init__(
...@@ -255,7 +255,7 @@ class Det3DDataset(BaseDataset): ...@@ -255,7 +255,7 @@ class Det3DDataset(BaseDataset):
ann_info['instances'] = info['instances'] ann_info['instances'] = info['instances']
for label in ann_info['gt_labels_3d']: for label in ann_info['gt_labels_3d']:
cat_name = self.metainfo['CLASSES'][label] cat_name = self.metainfo['classes'][label]
self.num_ins_per_cat[cat_name] += 1 self.num_ins_per_cat[cat_name] += 1
return ann_info return ann_info
...@@ -336,11 +336,11 @@ class Det3DDataset(BaseDataset): ...@@ -336,11 +336,11 @@ class Det3DDataset(BaseDataset):
""" """
ori_num_per_cat = dict() ori_num_per_cat = dict()
for label in old_labels: for label in old_labels:
cat_name = self.metainfo['CLASSES'][label] cat_name = self.metainfo['classes'][label]
ori_num_per_cat[cat_name] = ori_num_per_cat.get(cat_name, 0) + 1 ori_num_per_cat[cat_name] = ori_num_per_cat.get(cat_name, 0) + 1
new_num_per_cat = dict() new_num_per_cat = dict()
for label in new_labels: for label in new_labels:
cat_name = self.metainfo['CLASSES'][label] cat_name = self.metainfo['classes'][label]
new_num_per_cat[cat_name] = new_num_per_cat.get(cat_name, 0) + 1 new_num_per_cat[cat_name] = new_num_per_cat.get(cat_name, 0) + 1
content_show = [['category', 'new number', 'ori number']] content_show = [['category', 'new number', 'ori number']]
for cat_name, num in ori_num_per_cat.items(): for cat_name, num in ori_num_per_cat.items():
......
...@@ -36,7 +36,7 @@ class Kitti2DDataset(Det3DDataset): ...@@ -36,7 +36,7 @@ class Kitti2DDataset(Det3DDataset):
Defaults to False. Defaults to False.
""" """
CLASSES = ('car', 'pedestrian', 'cyclist') classes = ('car', 'pedestrian', 'cyclist')
""" """
Annotation format: Annotation format:
[ [
...@@ -90,7 +90,7 @@ class Kitti2DDataset(Det3DDataset): ...@@ -90,7 +90,7 @@ class Kitti2DDataset(Det3DDataset):
self.data_infos = mmengine.load(ann_file) self.data_infos = mmengine.load(ann_file)
self.cat2label = { self.cat2label = {
cat_name: i cat_name: i
for i, cat_name in enumerate(self.CLASSES) for i, cat_name in enumerate(self.classes)
} }
return self.data_infos return self.data_infos
...@@ -122,7 +122,7 @@ class Kitti2DDataset(Det3DDataset): ...@@ -122,7 +122,7 @@ class Kitti2DDataset(Det3DDataset):
difficulty = annos['difficulty'] difficulty = annos['difficulty']
# remove classes that is not needed # remove classes that is not needed
selected = self.keep_arrays_by_name(gt_names, self.CLASSES) selected = self.keep_arrays_by_name(gt_names, self.classes)
gt_bboxes = gt_bboxes[selected] gt_bboxes = gt_bboxes[selected]
gt_names = gt_names[selected] gt_names = gt_names[selected]
difficulty = difficulty[selected] difficulty = difficulty[selected]
...@@ -215,7 +215,7 @@ class Kitti2DDataset(Det3DDataset): ...@@ -215,7 +215,7 @@ class Kitti2DDataset(Det3DDataset):
""" """
from mmdet3d.structures.ops.transforms import bbox2result_kitti2d from mmdet3d.structures.ops.transforms import bbox2result_kitti2d
sample_idx = [info['image']['image_idx'] for info in self.data_infos] sample_idx = [info['image']['image_idx'] for info in self.data_infos]
result_files = bbox2result_kitti2d(outputs, self.CLASSES, sample_idx, result_files = bbox2result_kitti2d(outputs, self.classes, sample_idx,
out) out)
return result_files return result_files
...@@ -237,5 +237,5 @@ class Kitti2DDataset(Det3DDataset): ...@@ -237,5 +237,5 @@ class Kitti2DDataset(Det3DDataset):
]), 'KITTI data set only evaluate bbox' ]), 'KITTI data set only evaluate bbox'
gt_annos = [info['annos'] for info in self.data_infos] gt_annos = [info['annos'] for info in self.data_infos]
ap_result_str, ap_dict = kitti_eval( ap_result_str, ap_dict = kitti_eval(
gt_annos, result_files, self.CLASSES, eval_types=['bbox']) gt_annos, result_files, self.classes, eval_types=['bbox'])
return ap_result_str, ap_dict return ap_result_str, ap_dict
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