解决卷积神经网络测试集正确率低

解决卷积神经网络测试集正确率低

问题描述

在运用卷积神经网络进行图像识别的过程中,将数据集分为训练集与验证集,首先进行模型的训练,最终模型在训练集与验证集上的正确率均达到0.999,将训练好的模型保存到本地,测试过程中直接读取本地模型对视频帧进行图像识别,正确率却远达不到0.999,即模型在训练集与验证集上的正确率很高,但在测试集上的正确率却很低

可能的原因

  1. 测试集与训练集的图片尺寸不一致
  2. 测试集与训练集的数组维度不一致
  3. 数据未归一化,训练过程中图像为归一化数据,即 float 类型,而测试用图像未归一化,为 int 型。
  • 以上原因会使程序报错或造成测试正确率低的情况,然而我在确认没有上述原因后,仍然存在测试集正确率低的问题。

最终的原因

在反复对比测试集与训练集,确定不存在上述原因后,考虑可能是视频可视化过程中发生了错误,由于验证集的正确率很高,故对验证集进行可视化测试,探究是否为可视化的问题。通过 cv2.imshow() 方法展示验证集,终于发现了问题所在。即测试集与验证集的图像数据通过 plt.imread() 方法读取,色彩空间为 RGB ,然而在对视频进行可视化时,通过 cv2.VideoCapture() 方法读取视频并进行切帧用于测试,色彩空间为 BGR ,测试集与训练集的色彩空间不一致,出现了识别率低的问题。

结论

训练集与测试集的图形数据通过不同方法读取,图形数据的色彩空间不一致,通过 cv2.cvtColor() 方法进行色彩空间的转换后传入模型进行测试,最终得到了与训练集与验证集近乎一致的正确率。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lazyn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值