简单的BP网络识别液晶中的数字实验
文章插图
这学期的人工神经网络课程已经进行完了第三章内容 , 关于经典网络重要的BP(误差反向传播网络)是所有学习人工神经网络最先接触到的一个实用网络 。 它的原理相对比较简单 , 在很多平台中都非常容易实现 。
学习神经网络的基本原理之后 , 更重要的是能够通过一些应用场合来应用它 , 使他能够帮助自己解决一些实际的工程问题 。
近期购买到的 LC100-A[1] 电感电容测量模块 , 用于测量一些实验中实验对象的电感、电容值随着其他一些物理变量(工作电压、距离、温度等)所产生变化规律 。 为了便于实验 , 需要能够将LC100-A测量数值自动记录 。
文章插图
文章插图
<<< 左右滑动见更多 >>>
在开始的方式就是直接使用摄像头获取液晶显示数据 , 然后使用字符识别软件来完成其中数字的识别 。
测试一下CNOCR识别效果 。 它对于屏幕截图中的文字识别效果还不错:
文章插图
▲ 屏幕截取的一段文字
- 识别时间:1.98 。 * 识别结果:
【简单的BP网络识别液晶中的数字实验】那么对于前面液晶屏幕识别效果呢:
文章插图
▲ 只是数字部分
识别结果: [['.', ' 。 ', '与', 'F', '早', 'H']]
好像驴唇不对马嘴 。
这主要原因还是原来网络没有针对上述液晶实现数字进行训练过 。 由于液晶显示图片质量非常好 , 实际上只需要最简单的BP网络就可以达到很好的效果 。
下面给出在MATLAB中构建网络并进行实验的过程 。
文章插图
使用神经网络解决问题 , 一个重要的环节就是进行训练数据的准备 。 通过对采集到的一些图片中的数字进行提取并手工标注 , 来完成对网络的训练 。
1.数字分割下面是桌面摄像头捕捉到的测量图片 , 通过简单的图片灰度投影 , 比较方便将显示数字所在图片中的位置定出 。 为了简单起见 , 也可以固定摄像头与LCD相对位置 , 这样手工定标出结果字符位置也可以适用于后面测量结果 。
文章插图
▲ 液晶数字显示以及数字部分
这个问题简单之处在于所有字符都是等宽 , 而且对比度非常好 , 简单的分离就可以将所有的字符单独分离出来 。 由于摄像头位置固定 , 所以简单分割之后的字符之后少量的上下左右平移 , 没有旋转 。 对于图片位置、尺寸就不再进行归一化 。 这些差异最后有神经网络来弥补 。
文章插图
▲ 分割出的数字
液晶显示字符的图片对比度很好 。 但就是有一个问题 , 在摄像头拍摄的时候 , 经常会遇到字符变化过程 , 这就会使得图片中字符呈现两个字符叠加的情况 。 下面是一些示例:
文章插图
- 智能手机市场|华为再拿第一!27%的份额领跑全行业,苹果8%排在第四名!
- 会员|美容院使用会员管理软件给顾客更好的消费体验!
- 行业|现在行业内客服托管费用是怎么算的
- 闲鱼|电诉宝:“闲鱼”网络欺诈成用户投诉热点 Q3获“不建议下单”评级
- 人民币|天猫国际新增“服务大类”,知舟集团提醒入驻这些类目的要注意
- 国外|坐拥77件专利,打破国外的垄断,造出中国最先进的家电芯片
- 技术|做“视频”绿厂是专业的,这项技术获人民日报评论点赞
- 面临|“熟悉的陌生人”不该被边缘化
- 峰会|这场峰会厉害了!政府企业专家媒体共议网络内容生态治理
- 中国|浅谈5G移动通信技术的前世和今生