Spaces:
Runtime error
Runtime error
File size: 2,900 Bytes
b34d1d6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
# dataset settings
from mmcv import LoadImageFromFile, RandomResize
from mmdet.datasets import AspectRatioBatchSampler
from mmdet.datasets.transforms import LoadAnnotations, RandomFlip, Resize, RandomCrop, PackDetInputs
from mmdet.evaluation import CocoMetric
from mmengine.dataset import DefaultSampler
from seg.datasets.pipeliens.loading import FilterAnnotationsHB
from seg.datasets.v3det import V3DetDataset
dataset_type = V3DetDataset
data_root = 'data/V3Det/'
backend_args = None
image_size = (1024, 1024)
train_pipeline = [
dict(
type=LoadImageFromFile,
to_float32=True,
backend_args=backend_args),
dict(
type=LoadAnnotations,
with_bbox=True,
with_mask=False,
with_seg=False,
backend_args=backend_args),
dict(type=RandomFlip, prob=0.5),
dict(
type=RandomResize,
resize_type=Resize,
scale=image_size,
ratio_range=(0.1, 2.0),
keep_ratio=True,
),
dict(
type=RandomCrop,
crop_size=image_size,
crop_type='absolute',
recompute_bbox=True,
allow_negative_crop=True),
dict(
type=FilterAnnotationsHB,
by_box=True,
by_mask=False,
min_gt_bbox_wh=(8, 8)
),
dict(type=PackDetInputs)
]
test_pipeline = [
dict(type=LoadImageFromFile, backend_args=backend_args),
dict(type=Resize, scale=(1333, 800), keep_ratio=True),
# If you don't have a gt annotation, delete the pipeline
dict(type=LoadAnnotations, with_bbox=True),
dict(
type=PackDetInputs,
meta_keys=('img_id', 'img_path', 'ori_shape', 'img_shape',
'scale_factor'))
]
train_dataloader = dict(
batch_size=2,
num_workers=2,
persistent_workers=True,
sampler=dict(type=DefaultSampler, shuffle=True),
batch_sampler=dict(type=AspectRatioBatchSampler),
dataset=dict(
type=dataset_type,
data_root=data_root,
ann_file='annotations/v3det_2023_v1_train.json',
data_prefix=dict(img=''),
filter_cfg=dict(filter_empty_gt=True, min_size=4),
pipeline=train_pipeline,
backend_args=backend_args
)
)
val_dataloader = dict(
batch_size=1,
num_workers=2,
persistent_workers=True,
drop_last=False,
sampler=dict(type=DefaultSampler, shuffle=False),
dataset=dict(
type=dataset_type,
data_root=data_root,
ann_file='annotations/v3det_2023_v1_val.json',
data_prefix=dict(img=''),
test_mode=True,
pipeline=test_pipeline,
backend_args=backend_args
)
)
test_dataloader = val_dataloader
val_evaluator = dict(
type=CocoMetric,
ann_file=data_root + 'annotations/v3det_2023_v1_val.json',
metric='bbox',
format_only=False,
backend_args=backend_args,
use_mp_eval=True,
proposal_nums=[300]
)
test_evaluator = val_evaluator
|