Haobo Yuan
add omg code
b34d1d6
from mmcv import TransformBroadcaster, LoadImageFromFile, RandomResize
from mmdet.datasets.transforms import Resize, RandomFlip, RandomCrop
from mmengine.dataset import DefaultSampler
from seg.datasets.davis import DAVIS
from seg.datasets.pipeliens.frame_copy import AddSemSeg
from seg.datasets.pipeliens.loading import LoadVideoSegAnnotations, ResizeOri
from seg.datasets.pipeliens.formatting import PackVidSegInputs
from seg.datasets.pipeliens.frame_sampling import VideoClipSample
from seg.datasets.samplers.batch_sampler import VideoSegAspectRatioBatchSampler
from seg.evaluation.metrics.vos_metric import VOSMetric
dataset_type = DAVIS
data_root = 'data/DAVIS'
backend_args = None
image_size = (1280, 736)
# dataset settings
train_pipeline = [
dict(
type=VideoClipSample,
num_selected=2,
interval=2),
dict(
type=TransformBroadcaster,
share_random_params=True,
transforms=[
dict(type=LoadImageFromFile, backend_args=backend_args),
dict(type=LoadVideoSegAnnotations, with_bbox=True, with_label=True, with_mask=True, with_seg=False),
dict(type=AddSemSeg),
dict(
type=RandomResize,
resize_type=Resize,
scale=image_size,
ratio_range=(.9, 1.1),
keep_ratio=True,
),
dict(
type=RandomCrop,
crop_size=image_size,
crop_type='absolute',
recompute_bbox=True,
allow_negative_crop=True),
dict(type=RandomFlip, prob=0.5),
]),
dict(type=PackVidSegInputs)
]
test_pipeline = [
dict(
type=TransformBroadcaster,
transforms=[
dict(type=LoadImageFromFile, backend_args=backend_args),
dict(type=Resize, scale=image_size, keep_ratio=True),
dict(type=LoadVideoSegAnnotations, with_bbox=True, with_label=True, with_mask=True, with_seg=False),
# dict(type=ResizeOri),
]),
dict(type=PackVidSegInputs)
]
# dataloader
train_dataloader = dict(
batch_size=2,
num_workers=2,
persistent_workers=True,
sampler=dict(type=DefaultSampler, shuffle=True),
batch_sampler=dict(type=VideoSegAspectRatioBatchSampler),
dataset=dict(
type=dataset_type,
data_root=data_root,
dataset_version='2017',
ann_file='ImageSets/2017/train.txt',
data_prefix=dict(img='JPEGImages/Full-Resolution/', ann='Annotations/Full-Resolution/'),
pipeline=train_pipeline))
val_dataloader = dict(
batch_size=1,
num_workers=2,
persistent_workers=True,
drop_last=False,
sampler=dict(type=DefaultSampler, shuffle=False, round_up=False),
dataset=dict(
type=dataset_type,
data_root=data_root,
dataset_version='2017',
ann_file='ImageSets/2017/val.txt',
data_prefix=dict(img='JPEGImages/480p/', ann='Annotations/480p/'),
test_mode=True,
pipeline=test_pipeline))
test_dataloader = val_dataloader
val_evaluator = dict(
type=VOSMetric,
format_only=True,
)
test_evaluator = val_evaluator