MATLAB仪表表盘数字识别解析
摘要
针对无指针式仪表表盘的数字识别问题,提出一种基于特征提取和粗糙集特征约简的神经网络数字识别方法。该方法 首先利用数字图像预处理技术处理图像并利用特征提取方法提取数字图像特征,然后利用粗糙集理论进行特征约简,最后 将约简后的信息输入到训练好的神经网络进行识别。
关键词:神经网络,数字识别,粗糙集,特征提取
目前,对于指针式表盘而言,可以根据二值化后的指针指向 来识别表盘的读数,而对于某些特殊类型的表盘,由于没有可判 断读数的指针,只能通过表盘上的数字来读取表盘数据,这无疑 增大了识别的难度,这类表盘中数字识别就显得格外重要。针对 这种情况,本文在对待识别数字图像进行预处理和特征提取的 基础上,利用粗糙集理论进行特征约简,以减少神经网络的规模 和结构复杂度,最后利用神经网络进行仪表表盘的数字识别。
1数字识别的基本过程
本文数字图像的识别过程如图1所示,主要包括获取数字 图像、数字图像预处理、特征提取、粗糙集特征约简和神经网络 数字识别几个阶段。
![](/assets/blank.gif)
图1数字识别基本过程图
2数字图像预处理
数字图像的预处理主要包括图像灰度转化、图像二值化处 理、图像梯度锐化处理、去除噪声、图像分割、规范化和细化处理 等阶段,对无指针式仪表表盘进行跟踪电视摄像,将得到的录像带 转存为VCD,借助于图像处理软件获取VCD中仪表表盘的数 字图像,并进行一系列预处理。
灰度化是使图像的红色、绿色和蓝色三种颜色的灰度值相 等的过程,其结果使图像只有亮度上的不同,而没有颜色上的差 异,本文釆用加权系数法对图像进行灰度转化,即给三种颜色的 每个像素一个加权系数,而后求和。图像的二值化处理是将原来 灰度化的图像转化成只含有两种颜色的图像。本文采用人工确 定阈值的方法来使灰度图像转换为二值图像,并且使用模糊C 均值(FCM)聚类算法确定黑和白两个中心,根据隶属度的大小 来确定其颜色的黑白。图像梯度锐化的目的是使原来的模糊图 像变得清晰,本文选择了 Roberts梯度锐化方法,它是微分法的 一种。图像噪声去除的目的就是去掉图像上的一些影响图像质 量的噪声,可以采用取出杂点的方法进行处理。对图像字符分割 后得到单个数字,为了方便特征提取,还需要对图像进行规范化 和细化处理,如对数字图像进行剪裁、缩放和重排等操作。
3特征提取
直接把数字图像预处理后的数据作为神经网络的输入,将 会造成网络数据膨胀,网络规模会变得十分庞大;同时由于仪表 表盘的多样化以及数字图像预处理过程中附带的某些干扰的影 响,势必要求神经网络具有较强的容错能力和较长的网络训练 时间作保证。可见,为了有效地利用神经网络进行数字识别,特 征提取是十分必要的。
本文采用逐像素特征提取方法,即对图像进行逐行逐列扫 描,当遇到黑色像素时取其特征值为1,遇到白色像素时取其特 征值为0,这样当扫描结束时会形成1个维数与图像中像素点 的个数相同的特征向量矩阵。
考虑到特征向量的维数与识别准确率的要求,将字符归一 化为96x96像素点阵图,按每个像素位为。或1形成网络的 96x96个输入特征值,但这无疑会导致网络的急剧复杂和庞大。 为此在进行特征提取后,应当只把那些反映数字特征的关键信 息提供给神经网络,去掉冗余的输入量,增强网络识别的效率和准确率。本文使用粗糙集特征约简算法对特征向量矩阵进行进 一步的简化。
4粗糙集特征约简
特征约简就是从特征向量矩阵中消去一些冗余的特征,而 不会改变其决策能力,通常采用可辨识矩阵进行特征约简计算。 本文采用的特征约简算法对生成的可辨识矩阵进行改进,得到 新的矩阵,经过运算得到特征约简后的特征向量矩阵。相对于传 统的方法,可以减少数学逻辑运算的计算量,更加便于理解。具 体算法如下:
- 计算特征向量矩阵的可辩识矩阵C。
- 考察可辨识矩阵,如果矩阵中存在一个元素,其取值为包 含单特征元素的集合,则表明该特征是区分这个矩阵元素所对 应的两个实例所必须的特征,也是惟一能够区分这两个实例的 特征,这些元素所包含的特征组成的特征集合就是该特征向量 矩阵的核属性。将这些特征取出,同时将可辨识矩阵中包含核属 性的元素的值改为0,从而得到新的矩阵。
- 对于新的矩阵中的所有取值为非零集合的元素C0(i,j), 建立相应的析取逻辑表达式Wjj= V tiO
- 将核属性加入到中,得到每一合取项便为一个特征约简 结果。
- 输岀特征约简结果。
5数字识别的实现
本文采用BP神经网络进行数字识别,神经网络数字识别 的基本流程为:初始化—网络训练一网络识别一识别结果显示。
选取300个无指针式仪表表盘图像作为初始样本,经过预 处理、特征提取、粗糙集特征约简和神经网络数字识别等环节 后,得到识别结果。整个识别过程快速准确,数字识别精确率令 人满意,如表1所示。其中“BP网络输出值”一列为网络四位输 出值中对应期望值相应位的平均值。
试验表明,采用BP神经网络方法进行无指针式仪表表盘 数字识别,结果是令人鼓舞的。利用神经网络的自适应学习能统的各个状态的变化值,看系统在不同温度时的输出与输入是 否符合实际情况。其次,在采用Hopfield网络仿真的过程中,只 看了网络的最终结果是符合用户需求的,但是没有考虑其过程。 而采用BP网络仿真的过程中,网络较好地反映了各个温度点 的系统状态,但是由于网络的训练的不可预见性以及训练过程具 有一定的随机性,这些因素对整个网络的稳定性产生了负面影 响。最后,虽然系统模型中有3个输入向量,但是最终的用户设定 温度值会与环境温度值相同,所以Hopfield网络中的稳态平衡 向量只用到了输入向量中的两个值,即环境温度及温度变化率。 而BP网络把问题转化为输入向量仍然为输入的3个向量,但是 输出变为17个温度点的系统输出值。因此,可以说这两个系统都 是从不同侧面反映整个制冷过程的,两个网络各有其利弊点。需 要说明的一点是,以上两个仿真程序中调用的函数以及建立的网 络中训练函数、学习函数、性能函数和传递函数等都是Matlab中 直接提供的,均不需要用户自己编写,可以直接调用。
6结束语
智能节能空调器的人工神经系统仿真主要借鉴了目前市场 上较为成熟和普遍釆用的智能变频空调方案,通过不断改变制
表1期望值与BP网络实际输出值比较表
期望值 | BP网络 输出值 | 期望值 | BP网络 输出值 |
0 | 0.092352 | 5 | 5.007892 |
1 | 1.006531 | 6 | 5. 995328 |
2 | 2.007865 | 7 | 6.997789 |
3 | 2.995321 | 8 | 8.002356 |
4 | 3.997632 | 9 | 9.008901 |
力,可以从数字图像中发掘有用信息,从而找到影响分类的非线 性映射关系,为快速、准确地进行数字识别提供了一种新的途 径。但是,由于在神经网络的应用研究中,研究对象不同、研究对 象的复杂程度不同以及一些固有特性的差异,神经网络模型的 结构也不同,不同的网络结构对网络的训练和识别效果都会产 生影响。除此之外,网络的学习率、动量系数、目标值的表达方式 以及训练程度等对网络也都有影响。对于数字图像本身,预处理 的算法、特征向量的提取方法等因素对数字识别率的影响也很 大。这些问题仍旧需要进一步研究和提高。
[1]杨建刚.人工神经网络实用教程[M].杭州:浙江大学出版社,2016: 1-15
〔2]飞思科技产品研发中心,神经网络理论与MAYLAB 7实现[M].北 京:电子工业出版社,2013:84
[3]飞思科技产品研发中心.MATLAB 6.5辅助神经网络分析与设计[M]. 北京:电子工业出版社,2017:64-65
〔4]董长虹.神经网络与应用[M].北京:国防工业出版社,2005-64-74 [5]闻新,周露,李翔,等.MATLAB神经网络仿真与应用[M].北京:科学 出版社,2019:329-330
MATLAB仪表表盘数字识别解析相关推荐
- MATLAB仪表表盘数字识别
MATLAB仪表表盘数字识别 摘要 针对无指针式仪表表盘的数字识别问题,提出一种基于特征提取和粗糙集特征约简的神经网络数字识别方法.该方法 首先利用数字图像预处理技术处理图像并利用特征提取方法提取数字 ...
- MATLAB实现数字识别系统,基于人工神经网络的MATLAB手写数字识别系统
<基于人工神经网络的MATLAB手写数字识别系统>由会员分享,可在线阅读,更多相关<基于人工神经网络的MATLAB手写数字识别系统(8页珍藏版)>请在人人文库网上搜索. 1.基 ...
- 基于matlab的手写体数字识别系统,基于matlab的手写体数字识别系统研究
基于matlab的手写体数字识别系统研究 丁禹鑫1,丁会2,张红娟2,杨彤彤1 [摘要]随着科学技术的发展,机器学习成为一大学科热门领域,是一门专门研究计算机怎样模拟或实现人类的学习行为的交叉学科.文 ...
- 基于MATLAB的手写体数字识别算法的实现
基于MATLAB的手写体数字识别 一.课题介绍 手写数字识别是模式识别领域的一个重要分支,它研究的核心问题是:如何利用计算机自动识别人手写在纸张上的阿拉伯数字.手写体数字识别问题,简而言之就是识别出1 ...
- 基于matlab的手写体数字识别系统
摘要:随着科学技术的发展,机器学习成为一大学科热门领域,是一门专门研究计算机怎样模拟或实现人类的学习行为的交叉学科.文章在matlab软件的基础上,利用BP神经网络算法完成手写体数字的识别. 机器学习 ...
- matlab手写数字识别图片集下载,Matlab实现Mnist-image 手写数字图像识别
[实例简介] CNN--卷积神经网络类数字识别matlab实现代码,原因是现在而与Matlab c++ / CUDA库前端比一个Matlab库.这个项目提供了matlab类卷积神经网络的实现.勒存这网 ...
- MATLAB仪表示数读书识别GUI设计
1 应用背景 指针式机械表盘具有安装维护方便.结构简单.防电磁干扰等诸多优点, 目前广泛应用于工矿企业.能源及计量等部门.随着仪表数量的增加及精密仪表技术的发展,人工判读已经不能满足实际应用需求. ...
- 基于人工神经网络的MATLAB手写数字识别系统
函数MouseDraw实现手写识别系统GUI界面的建立和鼠标手写的实现.(使用时保存为MouseDraw.m) function MouseDraw(action) % MouseDraw 本例展示如 ...
- matlab 限速标志数字识别之去除标志外环噪声
最近遇到限速标志符识别问题中,数字外环的干扰不容易去掉,看到一个方法:<pre name="code" class="cpp">从上到下逐行进行扫描 ...
最新文章
- 跨域策略文件crossdomain.xml文件
- Linux双机热备解决方案之Heartbeat
- mysql数据采集中间件_开源 | MySQL数据传输中间件—DTLE
- Ubuntu16 安装Jira
- Shell - 监控某个进程的内存占用情况、主机CPU、磁盘空间等信息以及守护进程
- 【AI面试题】为什么必须在神经网络中引入非线性
- android点赞动画仿twritter,【点赞动画仿抖音】Android 自定义view动画--酷炫点赞动画...
- .NPT 扩展名格式文件类型及打开方式分析:首次渗入 XR 内容领域
- Android 不同布局类型measure、layout、draw耗时对比
- 通达信手机版分时图指标大全_今天教大家怎么把通达信副图指标源码导入手机通达信软件上。...
- c语言编写2阶booth算法,关于Booth算法的C语言实现
- 在未来最容易被淘汰的12个职业和最难被淘汰的12个职业
- 服务器系统迁移方案,服务器与应用系统迁移方案.doc
- 微信小游戏制作坦克大战(六)碰撞检测,主角坦克碰到敌方坦克、炮弹爆炸
- gamemaker: studio html5,HTML5 Game Development with Gamemaker
- 搭建Mantis 缺陷管理系统
- matlab中拉式域转时间域,Bark域介绍和线性频率域转换到Bark域
- 小程序 uniapp 实现pdf 电子合同签名 并导出功能
- 展讯的8825平台 在TP上实现距离传感器的功能
- 常见的几种web容器(Apache、Nginx、Tomcat)
热门文章
- 【SPSS】百分位数计算方法探讨:SPSS计算差异
- 分位数回归的实现方法
- DS18B20温度传感器——测试环境温度及代码
- 用户运营指标体系建设实践 by 千冰仪
- iOS 获取网络时间
- html5课件动画制作,从此再也不担心课件/动画的开发了!
- JAVA —— 比较日期时间大小
- 黑鲨一代启动Android密码,黑鲨一代(BlackShark) 刷入TWRP 获取完美ROOT权限 刷机教程...
- 返回查找对象所在列标_返回基础-这不是您要查找的对象...等等,哦,它是对象...
- 【LeetCode 876】链表的中间结点