我正在建立一个CNN以识别面部关键点。我想使网络更健壮,所以我考虑应用一些缩小变换,因为大多数图片的关键点位置都相同,因此网络学不到很多。
我的方法:
我希望增强图像保持原始图像大小,因此应用MaxPool2d,然后随机(不相等)填充直到达到原始大小。
第一个问题
它可以与简单的平均填充或零填充一起使用吗?我敢肯定,如果使填充看起来更像背景,那会更好,但是有一种简单的方法吗?
第二个问题
关键点是目标向量,它们作为30的行向量来。我对将它们转换到较小空间所需的逻辑感到困惑。 通常,如果原始点位于(x = 5,y = 7),它将转换为(x = 2,y = 3)-我不确定,但到目前为止已经手动检查了,这是正确的。但是如果关键点位于同一新像素中该怎么办?我无法用更少的目标值来投放网络。
就是这样。很高兴听到您的想法
答案 0 :(得分:1)
我建议在您的torchvision.transforms.RandomResizedCrop
语句中使用Compose
。这将为您提供随机缩放,并将生成的图像调整为某些标准尺寸。这样可以避免两个问题都出现。