请教深度学习中如何排除背景不同对识别结果的影响

做cnn训练手势识别模型,在测试集上表现都很好,但是我用自己拍的手势图片去测试,准确率就惨不忍睹,似乎是网络把训练集的背景也学进去了,这种情况怎么处理啊,我想让尽可能排除背景的影响,把重点放在手势上。
(pytorch框架)

在深度学习中,排除背景不同对识别结果的影响的方法有很多。下面列出一些可能有用的解决方案:

数据增强: 数据增强可以增加训练集的多样性,使得模型对于不同背景的图像都有很好的识别能力。数据增强方法有很多,如随机旋转、缩放、平移、镜像等。

手动标记: 手工标记数据中手势的位置和大小,在训练时只输入手势部分的图像。这样就可以排除背景对识别结果的影响了。

背景消除: 在图像处理的方法中,背景消除是一种常用的手段。如果你知道背景的颜色或纹理特征,可以使用颜色过滤或纹理分析等方法将背景从图像中消除。

深度学习方法: 使用深度学习中的一些算法,如 YOLO, Faster R-CNN, RetinaNet, Unet等,这些算法可以自动学习图像中物体的位置和大小,可以将背景过滤掉。

望采纳!!!点击回答右侧采纳即可!!
我给些我的建议吧,我自己之前也做过很多目标识别的项目

  1. 尝试使用数据增强,比如旋转、缩放、裁剪等技术,来增加训练集的多样性,以减少模型对背景的依赖。
  2. 尝试使用更多的训练数据,以提高模型的泛化能力,减少模型对背景的依赖。
  3. 尝试使用更复杂的网络结构,比如深度卷积神经网络,以提高模型的泛化能力,减少模型对背景的依赖。
  4. 尝试使用更多的正则化技术,比如Dropout、L1/L2正则化等,以减少模型对背景的依赖。
  5. 尝试使用更多的特征提取技术,比如HOG、SIFT等,以提取更多的有用特征,减少模型对背景的依赖。

确实有这个问题,主要是自己拍的照片的与训练集的差异较大。
可以考虑两方面的方法:
一是 改善自己的照片,相当于预处理,例如必要的裁剪和调整大小,调整亮度对比度(归一化);
二是 把自己拍的照片,提取一部分加入训练集,使模型适应应用环境。