收藏 分享(赏)

机器视觉笔迹识别和arduino控制机器人的设计.doc

上传人:无敌 文档编号:164717 上传时间:2018-03-22 格式:DOC 页数:6 大小:90KB
下载 相关 举报
机器视觉笔迹识别和arduino控制机器人的设计.doc_第1页
第1页 / 共6页
机器视觉笔迹识别和arduino控制机器人的设计.doc_第2页
第2页 / 共6页
机器视觉笔迹识别和arduino控制机器人的设计.doc_第3页
第3页 / 共6页
机器视觉笔迹识别和arduino控制机器人的设计.doc_第4页
第4页 / 共6页
机器视觉笔迹识别和arduino控制机器人的设计.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、机器视觉笔迹识别和 Arduino 控制机器人的设计 王磊 张翠霞 北京联合大学自动化学院 北京联合大学工科综合实验教学示范中心 摘 要: 随着现代信息技术的高速发展, 机器视觉技术已经成为研究应用的一个热点, 并且结合自动化技术的机器人也更加趋向于智能化以及多功能化。由 Arduino单片机、液晶显示屏、NRF2401L 无线通信模块等构成该机器人的基础下位机硬件系统, 具备无线传输数据、人机交互等功能;使用 Python 语言、结合机器视觉算法构建了笔迹识别模型, 并将在上位机中识别好的信息通过 NRF2401L 无线通信传输至下位机硬件。关键词: 机器视觉; Arduino; 支持向量机

2、; 无线通信模块; 作者简介:王磊 (1994-) , 男, 本科生, 主要研究方向:嵌入式系统。作者简介:张翠霞 (1960-) , 通信作者, 女, 高级实验师, 主要研究方向:电子技术及现代信息技术, E-mail:。收稿日期:2017-08-02基金:北京联合大学教学改革项目 (JJ2016Z008) Machine vision handwriting recognition and Arduino control robot designWang Lei Zhang Cuixia School of Automation , Beijing Union University; Be

3、ijing Union University Integrated Experimental Teaching Demonstration Center; Abstract: With the rapid development of modern information technology, machine vision technology has become a hot spot for re-search and application, and robot with automation technology is more and more intelligent and mu

4、lti-functional. The design of the Arduino single-chip, liquid crystal display, NRF2401 L wireless communication module constitute the basis of the robot hardware system, with wireless transmission of data, human-computer interaction and other functions; The use of Python language machine vi-sion alg

5、orithm to build a handwriting identify the model, and will identify the information in the host computer through the NRF2401 L wireless communication to the next bit machine hardware.Keyword: machine vision; Arduino; support vector machine; wireless communication module; Received: 2017-08-020 引言伴随着现

6、在日益高性能的计算机硬件和完善的理论技术, 机器视觉技术已开始得到广泛的应用。结合机器视觉技术的智能机器人在现今人工智能趋势下扮演一个重要角色, 在智能制造推进、智慧城市建设、家居生活质量提高等方面, 都有广阔的施展空间1。1 整体设计思路及方案本设计将能胜任机器视觉处理能力的计算机与单片机作主控的机器人相结合, 通过无线通信方式构建一个相比其他低成本机器人具备更高自主性和智能性的机器人模型, 目的在于: (1) 对比评估主流手写数字识别模型的实际识别表现; (2) 探究低成本机器人实现更高智能性的方法2。本设计结合现今热门的机器视觉技术以及 Arduino 单片机实现了一个能够通过上位机识别

7、手写数字并发送至下位机进行执行的机器人模型, 当上位机得到待识别的图片后, 将进行图片的处理转化为数据并输入已经在前期构建好的识别模型, 计算后输出识别的内容并通过无线通信发送到下位机, 下位机根据接收到的识别信号执行相应动作。本设计总体可分为上位机识别与下位机执行部分。上位机识别部分包含前期输入信号的处理、手写字符的识别模型构建、与下位机通信构建等部分;下位机执行部分采用 Arduino 单片机结合各类电子元器件和电路模块实现了所期望的执行内容, 包括电源供电设计、表盘指示器电路设计、人机交互显示设计以及无线通信设计3。1.1 下位机硬件设计方案该下位机硬件使用 Arduino 单片机作为主

8、控, 并结合步进电机以及步进电机驱动模块构成了指针数字指示盘, OLED 与单片机相连构成人机交互显示界面, NRF2401L 无线串口模块与上位机进行通信, 使用 LM2596 稳压模块输出 9 V 电源为 Arduino 单片机供电, 并且由单片机供电给各个执行模块。采用 1.3 寸OLED 显示屏作为显示器, 输出经过上位机识别后发送至下位机的信号, 采用SSD1306 作为驱动的 OLED 显示屏显示出数字4。采用步进电机作为仪表盘指示器执行部件, 其需要相应电机驱动模块进行驱动。设计仪表指示器需要对步进电机进行正转、反转控制, 从而造成指针的顺时针旋转和逆时针旋转, 以便能够使其根据

9、输入的识别信号转动相应角度 (有对应的正向角度和负角度) 。电机接收到单片机输出的特定脉冲时, 步进角 (步进电机每前进一个步序所转过的角度) 便会进行相应的转动, 当电机接收一个脉冲信号就会转过一个步进角, 二者呈相互的线性关系。通过此线性关系, 再根据原有角度与现在应该转动角度做差值计算, 求出相差角度, 控制电机转动相应角度, 便可以实现电机的仪表指示功能。1.2 数据收集以及上位机识别模型上位机部分主要负责手写图片的识别, 其流程包括手写数字图像预处理、识别模型训练、识别模型验证和测试等。选择 MNIST 手写库作为模型的数据, 并给出了将 MNIST 数据库进行图像处理的方法, 通过

10、比对 SVM、BP 神经网络、KNN三种识别模型的发展历程、数学原理以及算法步骤等, 最终选用 BP 神经网络识别模型。1.3 BP 神经网络的手写数字识别模型及验证BP 神经网络是神经网络的一种, 目前大多数神经网络模型都是由 BP 神经网络扩展而来。对于本设计所需手写数字识别这一应用来说, 神经网络主要用于关于数字 0 到数字 9 的分类问题。BP 神经网络算法又称为反向传播算法, 其连接神经元的权值训练从最末层 (即网络的输出层) 开始, 从输出到输入依次更新每一层的权值, 所以被称为反向传播。BP 神经网络的学习算法采用方法为 学习规则 (步长最优化) , 目标函数为:式中:Y k表示

11、真实的值, 即期望值, 是真实图片中所代表数字, k 为样本编号;Tk为预测值, 即经过模型所计算出来的值;E 为真实值与预测值得平方误差求和。整个式子的目标便是使平方误差和最小。其算法过程的流程描述如图 1 所示。BP 神经网络由于只应用了均分误差函数对权值和阈值的一阶导数 (即梯度) 的信息, 在实际程序中该算法存在收敛速度慢从而计算时间长、容易陷入局部最小 (忽略了全局最优解导致不能正确求解) 等问题。在实际的应用中, 应注意这些问题的解决, 可以与 LM 神经网络、RBF 神经网络等结合使用来解决5。图 1 BP 神经网络算法描述过程图 下载原图2 使用 CV2 库进行图像预处理在设计

12、中使用 Open CV 库的扩展库 CV2 库对图片进行了图像预处理, 过程主要包括手写数字图像的归一化以及二值化数据形式, 并保存为逗号分隔符的 csv文件。图像处理时间如表 1 所示, T1 时间为转化训练集图片所用时间, 用时 352 s;T2时间为转化测试集图片所用时间, 用时 55 s。表 1 图像处理时间 下载原表 2.1 PCA 降维操作本设计使用 Python 的 sklearn 库中的 PCA 方法, 输入原始数据集, 即可完成PCA 降维操作, 其降维结果如表 2 所示。表 2 PCA 降维操作后的数据对比 下载原表 在经过 PCA (主成分分析法) 降维操作去除影响较小的

13、变量影响后, 得到了 59 989 行、67 列的 X_pca 数据集, 手写数字图片数量不变, 但维数从 784 列缩小为 67 列, 从而有效地减轻了支持向量机、神经网络以及 KNN 模型的计算过程。在后续的模型训练以及模型识别准确度评估中, 也同样使用了 PCA 操作对数据简化计算量6。2.2 模型比较以及上位机识别模型的选取本测试模型中, 经过转化的训练集数据大小 1.09 GB (59 989 张图片转化完成的数据) , 测试集数据大小为 186 MB (9989 张图片转化完成的数据) , 经过PCA 降维操作后, 测试集数据大小为 97.7 MB (由原来的 864 列数据降维为

14、 67列数据) , 训练集数据大小为 16.2 MB。模型数据采用 PCA 降维操作后的数据7。从表 3 中可知, 3 种模型中, SVM (支持向量机) 模型识别的准确度最高, 但训练时间比其他两个模型稍长。BP 神经网络模型最小, 训练时间比 SVM (支持向量机) 稍短, 测试时间用时也最短, 明显短于其他两个模型, 说明识别速度是最快的。KNN (K 近邻) 模型训练时间虽然最短, 但从测试时间来看用时最长, 测试近 10 000 个数据的时间比其他两个模型训练近 60 000 个数据的时间还长了两倍多, 模型识别速度最慢。准确率上来看, 小数据量时准确率只有百分之五六十, 只有大数据

15、体量下准确率才有明显提升, 与 SVM (支持向量机) 和 BP神经网络相比, 在手写数字识别方面逊色很多。表 3 各模型评估对照表 下载原表 对上面 3 个模型根据识别时间、准确率进行比较评估后, 决定以准确率优先, 次而考虑识别时间, 最终决定使用 SVM (支持向量机) 作为本设计的手写识别模型8。3 手写笔迹图像识别机器人整体设计在整体设计中, 首先选择 NRF2401L 无线通信模块完成了通信硬件的搭建, 并根据其配置表进行命令配置完成了硬件的初始化。上位机方面, 使用 Python 结合win32u 库和 serial 库完成上位机读取识别程序的设计。下位机方面, 使用串口结合下位

16、机处理硬件完成数字接收处理的设计。整个系统构成一套上位机对手写图像进行识别, 通过无线发送至下位机处理的手写笔迹图像识别机器人。4 结论通过本设计与研究, 取得的主要结果如下:(1) 选择了 MNIST 手写数字图片库作为手写识别模型的原始数据, 设计实际情况完成了 MNIST 库图像的处理和转化, 从而得到了原始的训练数据集和测试数据集。(2) 分别对 SVM (支持向量机) , BP 神经网络, KNN (K 近邻) 3 种分类模型进行了对比, 并使用 Python 分别对 3 种模型进行了构建和测试。通过 3 个模型的训练时间、测试时间以及准确度等指标, 比较了 3 个模型的优劣性, 最

17、终以准确率优先原则选取准确度最高的 SVM (支持向量机) 作为手写数字识别模型并进行应用。(3) 使用 NRF2401L 无线通信模块和串口功能构建了上位机和下位机之间无线通信, 完成了二者的对接, 将单片机在电子硬件方面的处理和计算机对手写图片的识别进行了结合9。(4) 实现了 Python 设计上位机应用程序, 功能包括图像读取、图像预处理以及转化、图像识别、串口发送、异常处理等。完成了整个上位机的功能, 构成了一套上位机手写图像识别, 完成了整个设计。参考文献1周志华.机器学习M.北京:清华大学出版社, 2016. 2麦好.机器学习实践指南案例应用解析M.北京:机械工业出版社, 201

18、6. 3夏良正.数字图像处理M.南京:东南大学出版社, 1999. 4杨楠.基于 Arduino 的智能产品设计研究D.无锡:江南大学, 2014. 5宋飞.基于模板匹配算法的字符识别系统研究与实现D.合肥:合肥学院, 2007. 6吴忠, 朱国龙, 黄葛峰, 等.基于图像识别技术的手写数字识别方法J.计算机技术与发展, 2011, 21 (12) :48-51. 7柳回春, 马树元, 吴平东, 等.手写体数字识别技术的研究J.计算机工程, 2003 (4) :24-61. 8徐勋华, 王继成.支持向量机的多类分类方法J.微电子学与计算机, 2004, 21 (10) :149-152. 9刘建明, 唐霞, 李龙.基于机器学习的 Vo IP 流量在线识别系统J.电子技术应用, 2016, 42 (8) :133-137.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 期刊/会议论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报