我一直在使用 Detectron2 识别每张图像上的4 个关键点,我的虚拟数据集包含 1000 张图像,并且我应用了增强。
def build_train_loader(cls, cfg):
augs = [
T.RandomFlip(prob=0.5,horizontal=True),
T.RandomFlip(prob=0.5,horizontal=False,vertical=True),
T.RandomRotation(angle=[0, 180]),
T.RandomSaturation(0.9, 1.9)
]
return build_detection_train_loader(cfg,
mapper=DatasetMapper(cfg,
is_train=True,
augmentations=augs)
)
我在应用了这些变换之后检查了图像(每种类型的变换都单独测试过),看起来效果很好,关键点定位正确。
现在在训练阶段(keypoint_rcnn_R_50_FPN_3x.yaml)之后,我得到了一些相同的关键点,这意味着在许多图像中关键点重叠,以下是我的结果中的几个样本:
[[[180.4211, 332.8872, 0.7105],
[276.3517, 369.3892, 0.7390],
[276.3517, 366.9956, 0.4788],
[220.5920, 296.9836, 0.9515]]]
从另一张图片:
[[[611.8049, 268.8926, 0.7576],
[611.8049, 268.8926, 1.2022],
[699.7122, 261.2566, 1.7348],
[724.5556, 198.2591, 1.4403]]]
我已经将推理的结果与增强和不增强进行了比较,似乎通过增强,关键点几乎没有得到认可。天哪,怎么可能?
有人可以建议如何克服这些错误吗?我究竟做错了什么?
谢谢!
我添加了一个指向我的 google colab 笔记本的链接: https ://colab.research.google.com/drive/1uIzvB8vCWdGrT7qnz2d2npEYCqOxET5S?usp=sharing