1 Data pipeline理解
官方给出的pipeline图如下所示:
蓝色框为pipeline的操作,下面对应的是每一个操作会添加的keys到result dict中去。
- 绿色 为 新添加的key
- 黄色 为 更改的key
- 黑色 为 不变的key
1.1 Data loading
LoadImageFromfile:
添加参数:img, img_scale, ori_shape
LoadAnnotations:
添加参数:gt_bboxes, gt_bboxes_ignore, gt_labels, gt_masks, gt_semantic_seg, bbox_fields, mask_fields
LoadProposal:
添加参数:proposals
1.2 Pre-processing
Resize:
添加参数:scale, scale_idx, pad_shape, scale_factor, keep_ratio
更新参数:img, img_shape, *bbox_fields, *mask_fields, *seg_fields
RandomFlip:
添加参数:flip
更新参数:img, *bbox_fields, *mask_fields, *seg_fields
Pad:
添加参数:pad_fixed_size, pad_size_divisor
更新参数:img, pad_shape, *mask_fields, *seg_fields
RandomCrop:
更新参数:img, pad_shape, gt_bboxes, gt_labels, gt_masks, *bbox_fields
Normalize:
添加参数:img_norm_cfg
更新参数:img
SegRescale:
更新参数:gt_semantic_seg
PhotoMetricDistortion:
更新参数:img
Expand:
更新参数:img, gt_bboxes
MinIoURandomCrop:
更新参数:img, gt_bboxes, gt_labels
Corrupt:
更新参数:img
1.3 Formatting
ToTensor:
更新参数:由 keys 指定
ImageToTensor:
更新参数:由 keys 指定
Transpose:
更新参数:由 keys 指定
ToDataContainer:
更新参数:由 fields 指定
DefaultFormatBundle:
更新参数:img, proposals, gt_bboxes, gt_bboxes_ignore, gt_labels, gt_masks, gt_semantic_seg
Collect:
添加参数:img_meta
删除参数:除 keys 指定的其它所有参数
2 Reference
https://mmdetection.readthedocs.io/en/latest/tutorials/data_pipeline.html