IDEA-Research / detrex

detrex is a research platform for DETR-based object detection, segmentation, pose estimation and other visual recognition tasks.
https://detrex.readthedocs.io/en/latest/
Apache License 2.0
2.01k stars 209 forks source link

[Feature] Add AutoAugment and clean dataset mapper #204

Closed rentainhe closed 1 year ago

rentainhe commented 1 year ago

TODO

Example

import detectron2.data.transforms as T from detectron2.config import LazyCall as L from detectron2.data import ( build_detection_test_loader, build_detection_train_loader, get_detection_dataset_dicts, ) from detectron2.evaluation import COCOEvaluator

from detrex.data.dataset_mappers.detr_dataset_mapper import DetrDatasetMapper from detrex.data.transforms import AutoAugment

dataloader = OmegaConf.create()

dataloader.train = L(build_detection_train_loader)( dataset=L(get_detection_dataset_dicts)(names="coco_2017_train"), mapper=L(DetrDatasetMapper)( augmentation=L(AutoAugment)( policies=[ [ L(T.RandomFlip)(), L(T.ResizeShortestEdge)( short_edge_length=(480, 512, 544, 576, 608, 640, 672, 704, 736, 768, 800), max_size=1333, sample_style="choice", ), ], [ L(T.RandomFlip)(), L(T.ResizeShortestEdge)( short_edge_length=(400, 500, 600), sample_style="choice", ), L(T.RandomCrop)( crop_type="absolute_range", crop_size=(384, 600), ), L(T.ResizeShortestEdge)( short_edge_length=(480, 512, 544, 576, 608, 640, 672, 704, 736, 768, 800), max_size=1333, sample_style="choice", ), ], ], ), is_train=True, mask_on=False, img_format="RGB", ), total_batch_size=16, num_workers=4, )

dataloader.test = L(build_detection_test_loader)( dataset=L(get_detection_dataset_dicts)(names="coco_2017_val", filter_empty=False), mapper=L(DetrDatasetMapper)( augmentation=L(AutoAugment)( policies=[ L(T.ResizeShortestEdge)( short_edge_length=800, max_size=1333, ), ], ), is_train=False, mask_on=False, img_format="RGB", ), num_workers=4, )

dataloader.evaluator = L(COCOEvaluator)( dataset_name="${..test.dataset.names}", )