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

  • 问题描述
  • 可能的原因
  • 最终的原因
  • 结论

问题描述

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

可能的原因

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

最终的原因

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

结论

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

解决卷积神经网络测试集正确率低相关推荐

  1. 神经网络测试集loss不变_神经网络训练过程中不收敛或者训练失败的原因

    在面对模型不收敛的时候,首先要保证训练的次数够多.在训练过程中,loss并不是一直在下降,准确率一直在提升的,会有一些震荡存在.只要总体趋势是在收敛就行.若训练次数够多(一般上千次,上万次,或者几十个 ...

  2. 【人工智能 卷积神经网络】基础练习:基于torch构建卷积神经网络,测试集正确率达 百分之99

    声明:仅学习使用~ 这是一个关于卷积神经网络CNN的基础练习,也算是一个回顾.包含分解步骤,内容整合 以及最后的整体输出. 目录 一.步骤分解 1.0 系统环境.主要模块版本 1.1 相关模块的导入 ...

  3. 神经网络测试结果很差,该怎么做

    神经网络测试结果很差,该怎么做 当我们编程实现了神经网络模型,将模型用于测试集时,经常会发现测试的准确率非常的低,神经网络层数很深,通常我们不容易判断具体的梯度下降求解参数的过程,那我们该怎么办呢?从 ...

  4. 卷积神经网络结构优化综述

    卷积神经网络结构优化综述 人工智能技术与咨询 来源:<自动化学报> ,作者林景栋等 摘 要 近年来,卷积神经网络(Convolutional neural network,CNNs)在计算 ...

  5. 采用keras深度学习框架搭建卷积神经网络模型实现垃圾分类,基于树莓派上进行实时视频流的垃圾识别源代码

    一.项目概述 简介:该垃圾分类项目主要在于对各种垃圾进行所属归类,本次项目采用keras深度学习框架搭建卷积神经网络模型实现图像分类,最终移植在树莓派上进行实时视频流的垃圾识别. 前期:主要考虑PC端 ...

  6. 第05章 深度卷积神经网络模型

    序言 1. 内容介绍   本章介绍深度学习算法-卷积神经网络用于 图片分类 的应用,主要介绍主流深度卷积神经网络 (CNN) 模型,包括 ResNet DenseNet SeNet 的算法模型.数学推 ...

  7. 几种常见卷积神经网络结构

    卷积神经网络 图像特征的提取与分类一直是计算机视觉领域的一个基础而重要的研究方向.卷积神经网络( Convolutional Neural Network,CNN) 提供了一种端到端的学习模型,模型中 ...

  8. 信号处理之卷积神经网络结构

    信号处理之卷积神经网络结构 图像特征的提取与分类一直是计算机视觉领域的一个基础而重要的研究方向.卷积神经网络( Convolutional Neural Network,CNN) 提供了一种端到端的学 ...

  9. 卷积神经网络模型解读及数学原理 ——翻拍图片识别

    目录 一.需求背景 二.知识储备 1.深度学习 2.卷积神经网络 3.PyTorch框架 4.张量 5.梯度下降法 三.模型解读 1.输入层 2.隐藏层 1)卷积层 2)激活函数 3)池化层 4)流向 ...

最新文章

  1. python安装在什么系统下最好-学python语言用什么软件比较好?需要安装哪些软件?...
  2. 一步一步学Remoting
  3. php中urlencode使用
  4. 熬了整整30天,java递归阶乘求和
  5. 深度学习自学(十七):caffe-sphereface-编译matcaffe遇到的问题
  6. 深圳内推 | 深圳计算科学研究院招聘机器学习助理工程师(校招)
  7. linux 显卡扩展坞,我的新玩意儿——Mac mini2018+Razer core(附显卡扩展坞类比图)...
  8. 训练过程出现trian_dice一直大于1(mask范围0-255转为0-1)
  9. No.2 Earth
  10. Premiere Pro教程
  11. LINUX下 ssdp 实现
  12. recovery教程
  13. Session实现网站在线人数统计
  14. 浅谈制药行业实施MES系统
  15. 我教你两招你也可以,打造个人IP就是个骗局?纯属忽悠?
  16. 微信H5 长按二维码识别不了
  17. 陈迋西终于顶不住压力于北京时间3.28下午4:36跳楼身亡!详闻请看
  18. Java 接口与多态 实例
  19. Android ExpandableList
  20. 智慧安防智能化发展趋势及解决方案

热门文章

  1. 二手行业能找回“消失的五年”吗?
  2. Andoid-----抽奖转盘----12宫格----实用性商业化
  3. CAD图纸打印时如何设置打印纸张的方向?
  4. 新版花花省淘宝客V6聚合优惠券系统具体功能介绍
  5. Fiddler抓包,并修改请求数据
  6. 在VS中添加lib的4种方法
  7. clock_gettime
  8. 《数据密集型应用系统设计》读书笔记——第二部分 分布式数据系统(一)
  9. html把键显示在中间,ipad平板键盘显示在屏幕中间怎么办?
  10. bitmina mysql root密码_sysbench压测自装MySQL数据库