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