我现在一张图中有三个关键点,如下图origin image所示,
我的关键点标注信息为三个点[1,2,3],每个关键点分别对应的名称为[23_top, 23_left, 23_down];
我现在试图使用数据增强,考虑使用Rotate进行图片小幅度旋转,增强代码如下
return A.Compose(
[
A.Sequential([
# A.Rotate(limit=5, p=1),
A.RandomScale(scale_limit=0.1, interpolation=1, always_apply=False, p=0.5),
A.GaussianBlur(blur_limit=3, p=0.5),
A.GaussNoise(p=0.5),
A.RandomBrightnessContrast(brightness_limit=0.3, contrast_limit=0.3, brightness_by_max=True,
always_apply=False, p=0.5), # Random change of brightness & contrast
], p=1)
],
keypoint_params=A.KeypointParams(format='xy'),
bbox_params=A.BboxParams(format='pascal_voc', label_fields=['bboxes_labels'])
)
但是使用该增强方法导致关键点的丢失,由原先的三个点变成了2个点,这种关键点的丢失会导致最后获取错误的名称进行解析,
变换后的效果如图所示,我应该怎么做,可以通过数据增强之后仍然保持三个点,最终的目的是保证我解析关键点时,不会出现名字错误匹配的情况?