基于视觉传感器的智能小车标志识别系统Word格式.docx
《基于视觉传感器的智能小车标志识别系统Word格式.docx》由会员分享,可在线阅读,更多相关《基于视觉传感器的智能小车标志识别系统Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
本文所设计的就是一个基于视觉传感器的智能小车的标志识别系统,根据图像分析后的二值图像序列信息,小车能根据识别到的图像信息进行运动。
2基于视觉传感器的智能小车系统
本论文是基于视觉传感器[8]的智能小车识别系统,试验的平台选用的是上海中为机器人提供的小车,小车实现的功能是在地面行走时,能根据摄像头反馈回的地面特征,实现自主移动。
实验中用到的模块有,CMOS摄像头,无线图传模块,传感与通讯模块,运动控制模块,远程控制模块,USB图像采集卡,运动过程如图2.1所示:
图2.1小车总体运动流程图
Fig2.1Flowchartoftheoverallsportscar
2.1小车运动控制流程图
小车的控制[3]流程可以分为以下三个部分,视觉采集,图片信息处理,运动控制,控制流程如图2.2所示:
图2.2小车控制流程图
Fig2.2Carcontrolflowchart
2.2视觉采集系统
基于视觉的导航方式,机器人平台的图像采集系统获取机器人当前状态下的环境信息,通过对环境图像分析确定环境对象和机器人在环境中的位置。
由于图像有较高分辨率,环境信息完整,符合人类的认知习惯,在机器人导航中得到广泛关注,本文所采用的正是基于视觉的导航,工作过程如图2.3所示:
图2.3视觉系统工作流程图
Fig.2.3Visionsystemworkflowchart
本小车选用的是COMS摄像头,摄像头安装在步进电机组件的转盘上,以便在需要时控制摄像头的旋转。
摄像头的电源线连接在无线图传模块上,一起通过机器人供电(12V);
视频线连接在无线图传模块上,将采集到的图像传递到无线图传模块,再通过它将图像传出去。
如图2.4所示:
图2.4CMOS摄像头
Fig2.4CMOScamera
2.3信息传输处理系统
摄像头采集到的信息要通过传输系统的传输才能被处理,智能小车的信息传输处理过程如图:
图2.5信息传输处理流程图
Fig2.5Informationtransmissionprocessingflowchart
2.3.1无线图传模块
无线图传模块安装在机器人的底盘下,其天线穿过底盘伸到上方来。
无线图传模块采用的是模拟图像传输方式,12V电源供电,其电源线连接在机器人运动控制模块的Video接口上,由机器人给它供电。
同时,通过另一路电源线给摄像头供电。
如图2.6所示:
图2.6无线图传模块
Fig2.6Wirelesstransmissionmodulemap
2.3.2USB图像采集卡
USB图像采集卡也不装在机器人上,使用时接到计算机USB口上,与远程控制模块一起使用。
用视频线连接图像采集卡与远程控制模块,在计算机端获取机器人端的图像。
如图2.7,2.8所示
图2.7图像采集卡图2.8视频线
Fig2.7ImageacquisitioncardFig2..8Videocable
2.3.3远程控制模块
远程控制模块不安装在机器人上,是一个独立的功能模块。
需要遥控机器人时把它用串口线连接到计算机上,用配套的12V电源模块给它供电。
远程控制模块中包含了一个无线数传模块和一个无线图传模块,分别与机器人端的无线数传模块和无线图传模块相对应。
如图2.9所示:
图2.9远程控制模块
Fig.2.9Remotecontrolmodule
2.3.4无线数传模块
无线数传模块安装在机器人的传感与通信模块里,其天线从模块的上盖伸出。
电源和信号线连接在传感与通信模块的UART1接口上,如图2.10所示:
图2.10无线数传模块
Fig2.10Wirelessmodule
2.4运动控制系统
运动控制系统主要根据PC机传回的信息进行控制小车的运动,用到的模块为运动控制模块如图2.11所示:
图2.11运动控制模块
Fig2.11MotionControlModule
2.5小车总体结构
实验中要用到的模块有:
电源控制模块,运动控制模块,传感与通信模块,无线通信模块,USB图像采集卡远程控制模块CMOS摄像头无线图传模块,USB图像采集卡远程控制模块连在计算机上;
其他的连在小车上组合图如图2.12所示:
图2.12视频遥控机器人
Fig2.12Videoremotecontrolrobot
2.6智能小车软件系统
小车的软件系统可以分为两个部分,上位机,和下位机两个部分,上位机主要是用微软公司的VC++6.0编译系统[6],下位机则是用ADS开发系统,上位机主要对采集回来的图像进行处理,下位机则控制小车的运动,流程如下图2.13所示
图2.13程序流程图
Fig2.13Programflowchart
2.7智能小车的运行过程
下位机程序下载完成以后,打开PC机,运行上位机程序,同时打开小车的开关,就可以运行了。
运行过程如图2.14所示
图2.14小车工作流程图
Fig2.14Carworkflowchart
3智能小车视觉导航中的图像处理
图像处理[9]流程如图3.1所示:
图3.1图像处理流程
Fig3.1Imageprocessing
4智能小车基于地面特征的视觉导航
4.1智能小车基于地面特征的导航的实现
小车的硬件设备已经准备好了,由摄像头传回的图像也已经处理完毕,现在我们要做的就是根据传回的图像进行分析,处理,然后做出判断,处理流程如图4.1所示:
图4.1识别流程图
Fig4.1Identificationflowchart
4.1匹配模板的制作
要实现小车根据特征来实现运动,小车首先要识别特征,根据提取的特征然后匹配,我用的是模板匹配的方法,为前进,后退,左转,右转,停止,分别做2个模板,每个模板25个像素,然后处理提取出的图片,也把他分为25个像素,然后做对比,识别出相应的图标。
如下图4.2为5个特征模板:
图4.2特征模板
Fig4.2Featuretemplate
模板的制作方法是根据小车要识别的特征的形状,然后在模板中也画出类似的形状,如停止的模板为圆,制作如下图4.3所示:
图4.3圆的模板
Fig4.3Circletemplate
4.2地面特征的提取与识别
特征向量的提取方法多种多样[14],对于图标的特征提取方法而言,通常用得比较多的有逐像素特征提取方法,骨架特征提取方法,垂直方向数据统计特征提取法等。
本论文采用的是逐像素特征提取的方法,根据图像范围提取出特征,分成25个像素,然后匹配对应,从而识别出相应的图标。
模式识别(PatternRecognition)[15]是人类的一项基本智能,广泛应用于人工智能、机器人、系统控制等领域,在国民经济和社会发展等方面得到广泛应用。
数字识别隶属于图像识别,识别的步骤主要有三大步:
预处理、特征或基元选择和识别。
研究方法有:
最小距离法、贝叶斯决策法、BP神经网络法等等。
最小距离法是模式识别中进行识别的最传统的方法,用这种方法进行简单的数字识别其达到的精度是能够满足需求的。
最小距离法原理介绍:
对一个未知模式x来说,如果将它代入所有决策函数算得di(x)取最大,则x属于第i类。
如果对x的值,有
,则得到将类i与类j分开的决策边界。
可写成:
(4.1)
这样如果
>0,则模式属于
;
如果
)<0,则模式属于
。
假设每个模式类用一个均值矢量表示:
(4.2)
其中
代表
的模式个数。
对一个未知模式适量进行分类的方法是将这个模式赋给与它最接近的类。
如果利用欧式距离来确定接近程度,则问题转化为对距离的测量:
(4.3)
是欧式模。
因为最小的距离代表最好的匹配,所以如果Di(x)是最小的距离,则将x赋给
类,可以证明这等价于计算:
(4.4)
并且在
给出最大值时将x赋给
识别匹配的结果为箭头向上时为数字1,箭头向下时为数字0,箭头向左时为数字4转,圆圈时为数字0。
识别结果如图4.4,4.5所示:
图4.4原始图像图4.5识别结果
Fig4.4OriginalimageFig4.5Recognitionresults
4.3智能小车自主导航的实现
接通无线通信模块,打开开关,视频采集卡连接电脑上,打开小车上的开关。
运行程序,这是可以在对话框中看到时时传回的照片,如图4.6所示:
图4.6小车时时识别结果
Fig4.6Recognitionresults
这时小车识别到相应的箭头就进行行走,箭头向上时小车前进,向下时后退,向左时左转,向右时右转,圆圈时停止。
如图所示:
图4.7前进的图标图4.8后退的图标
Fig4.7ForwardiconFig4.8Backicon
图4.9左转的图标图4.10右转的图标
Fig4.9TurnlefticonFig4.10Turnlefticon
图4.11停止的图标
Fig4.11Stopicon
小车就根据预先设定的图标进行行走了,行走规则如下:
小车在没有识别到任何图像时小车保持前进,当看到前进的图标时继续保持前进,当看到左拐或右拐的图标时,小车再行走1秒,然后再拐弯,当看到圆时小车停止。
5结论
本论文是实现基于视觉传感器的智能小车识别系统,通过对摄像头采集来的图像进行处理,然后实现自主漫游。
该论文实现的难点有两个方面;
1.论文中最主要的部分是对图像进行处理,包括图像的抓取,处理,识别,由于对这块比较陌生,在最初进行时遇到了很多麻烦,查阅了很多相关资料,工作才有了实质的进展,对计算机图像处理这块才有了较为深入的理解。
2.由于开发环境我选的是VC++,编程语言用的是C++,由于很长时间没有接触C++,对于编程这块一开始也比较棘手,特别是对于对象的理解,还有对函数的调用,在实际操作中对于怎么调试程序,怎么插入函数都有很好的理解,通过这些对编程有了进一步的学习和认识。
最终经过一个多月的调试,学习,机器人最终能够按照预先设定的图标进行运动。
对于将来实现机器人的自主探索也是一个小小的尝试。
但还有不足的地方,比如小车识别的精度有待提高,受周围环境影响比较大,容易被干扰。
参考文献
[1]张剑平,夏洪文.教育机器人:
现状与发展,2006,9
[2]周新绝.关绮玲编著.机器人.上海:
复旦大学出版社.1994:
7~9
[3]金广业.陶兴旺.孙福伟编译.工业机器人与控制.东北工学院出版社,1993:
1~2
[4]李自茂编译.机器人学.四川科学技术出版社.1990:
16~35
[5]FredG.Martin.机器人探索—工程实践指南.北京:
电子工业出版社,2004。
8
[6]王宇熙,夏其表.VisualC++6.0程序设计实用教程.2006,7
[7]王祚斌.国内外机器人发展概况.电气自动化.1995
(2):
64~65
[8]刘君华.智能传感器系统[M]西安:
西安电子科技大学出版社,1999.
[9]李华.图像处理技术[M].北京:
北京航空航天大学出版社,2004.
[10]AlanBradshaw.TheUKSecurityandFireFightingAdvancedRobotProject.IEEEInt.Conf.onRoboticsandAutomation.1991:
1~4
[11]SinbuSagisawa.AdvancedRobotforHazardousEnvionment.AnOutlineofJapaneseNationalR&
DProject“AdvancedRobotTechnology”,IEEEInt.Conf.onRoboticsandAutomation.1991:
315~319
[12]M.Konaka.NationalProjectonAdvancedRobotTechnologyinJapan.Proc.’91ISART.Tokyo.Japan.1991:
9~14
[13]A.Nishi.H.Miyagi.ControlofAWall.ClimbingRobotUsingPropulsiveForceofPropeller.IntelligentRobotsandSystems’91.IntelligenceforMechanicalSystems.ProceedingsIROS’91.IEEE/RSJInternationalWorkshopon,1991:
1561~1567
[14]Duda,R.O.,Hart,P.E.,andStork,D.G..PatternClassification,2nded.,JohnWiley&
Sons,NY.2001:
20~68
[15]Ritter,G.X.andWilson,J.N.HandbookofComputerVisionAlgorithmsinImageAlgebra,CRCPress,BocaRaton,FL.2005:
47~57
忽略此处..