Spaces:
Sleeping
Sleeping
YOLO-World3
/
third_party
/mmyolo
/configs
/yolov8
/yolov8_m_mask-refine_syncbn_fast_8xb16-500e_coco.py
_base_ = './yolov8_s_mask-refine_syncbn_fast_8xb16-500e_coco.py' | |
# This config use refining bbox and `YOLOv5CopyPaste`. | |
# Refining bbox means refining bbox by mask while loading annotations and | |
# transforming after `YOLOv5RandomAffine` | |
# ========================modified parameters====================== | |
deepen_factor = 0.67 | |
widen_factor = 0.75 | |
last_stage_out_channels = 768 | |
affine_scale = 0.9 | |
mixup_prob = 0.1 | |
copypaste_prob = 0.1 | |
# ===============================Unmodified in most cases==================== | |
img_scale = _base_.img_scale | |
pre_transform = _base_.pre_transform | |
last_transform = _base_.last_transform | |
model = dict( | |
backbone=dict( | |
last_stage_out_channels=last_stage_out_channels, | |
deepen_factor=deepen_factor, | |
widen_factor=widen_factor), | |
neck=dict( | |
deepen_factor=deepen_factor, | |
widen_factor=widen_factor, | |
in_channels=[256, 512, last_stage_out_channels], | |
out_channels=[256, 512, last_stage_out_channels]), | |
bbox_head=dict( | |
head_module=dict( | |
widen_factor=widen_factor, | |
in_channels=[256, 512, last_stage_out_channels]))) | |
mosaic_affine_transform = [ | |
dict( | |
type='Mosaic', | |
img_scale=img_scale, | |
pad_val=114.0, | |
pre_transform=pre_transform), | |
dict(type='YOLOv5CopyPaste', prob=copypaste_prob), | |
dict( | |
type='YOLOv5RandomAffine', | |
max_rotate_degree=0.0, | |
max_shear_degree=0.0, | |
max_aspect_ratio=100., | |
scaling_ratio_range=(1 - affine_scale, 1 + affine_scale), | |
# img_scale is (width, height) | |
border=(-img_scale[0] // 2, -img_scale[1] // 2), | |
border_val=(114, 114, 114), | |
min_area_ratio=_base_.min_area_ratio, | |
use_mask_refine=_base_.use_mask2refine) | |
] | |
train_pipeline = [ | |
*pre_transform, *mosaic_affine_transform, | |
dict( | |
type='YOLOv5MixUp', | |
prob=mixup_prob, | |
pre_transform=[*pre_transform, *mosaic_affine_transform]), | |
*last_transform | |
] | |
train_pipeline_stage2 = [ | |
*pre_transform, | |
dict(type='YOLOv5KeepRatioResize', scale=img_scale), | |
dict( | |
type='LetterResize', | |
scale=img_scale, | |
allow_scale_up=True, | |
pad_val=dict(img=114.0)), | |
dict( | |
type='YOLOv5RandomAffine', | |
max_rotate_degree=0.0, | |
max_shear_degree=0.0, | |
scaling_ratio_range=(1 - affine_scale, 1 + affine_scale), | |
max_aspect_ratio=_base_.max_aspect_ratio, | |
border_val=(114, 114, 114), | |
min_area_ratio=_base_.min_area_ratio, | |
use_mask_refine=_base_.use_mask2refine), *last_transform | |
] | |
train_dataloader = dict(dataset=dict(pipeline=train_pipeline)) | |
_base_.custom_hooks[1].switch_pipeline = train_pipeline_stage2 | |