足球机器人视觉识别算法的设计与实现_第1页
足球机器人视觉识别算法的设计与实现_第2页
足球机器人视觉识别算法的设计与实现_第3页
足球机器人视觉识别算法的设计与实现_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

足球机器人视觉识别算法的设计与实现

近年来,机器人协会在国内外的教育和研究领域成为一个越来越受欢迎的比赛。它集成了机器人、智能控制、计算机科学、人工智能等多个技能,并为学生和研究人员提供了一个标准的研究和比赛平台。mirowitz是由frau(国际robot扩展协会)于创立并开始的。由于紧凑的规模、良好的可靠性、快速反应能力和激烈生动的比赛,它已成为当前巴西机器人领域最受吸引力的国际比赛之一。在MiroSot系统中,机器人的控制完全依赖于俯视全场的视觉子系统所提供的信息,这些信息包括双方队员的位置、编号、移动速度、足球的位置和运动等等.而这些信息主要是根据各个机器人彩色标志的不同来加以识别,目前已经有不少的文献对此进行了大量的研究.但由于MiroSotLargeLeague11vs.11具有前所未有的超大比赛场地(4400mm×2800mm)和更多的机器人,使得原有的视觉识别子系统在精确度、识别速度和正确率等方面都面临着新的挑战.本文中将介绍一个参加FIRARobotWorldCup2004新增比赛项目MiroSotLargeLeague11vs.11系统的计算机视觉子系统设计与实现,以及机器人/足球识别算法,并将对其视觉系统结构、色标、识别算法和后处理滤波等技术进行详细讨论.1视觉系统1.1比赛系统硬件结构由于视频摄像机分辨率有限,当其覆盖整个MiroSotLargeLeague比赛场地时,所采集到的足球以及色标太小,无法满足可靠性要求.为此本系统采用拼接的方法,将两幅画面拼接成一个完整的比赛场地图像.同时,考虑到图像处理所花费的时间不能过多占用比赛策略计算时间,比赛系统采用了双机结构来分别进行图像处理和策略处理.系统硬件结构如图1所示.采用BASLER逐行扫描CCD数字摄像机,分辨率为658×492像素,每个摄像机覆盖半个比赛场地.计算机1完成两幅图像拼接,进行机器人和球的识别、位置提取与跟踪,并将结果传送给计算机2,由计算机2根据赛场情况进行策略规划,输出信号控制机器人动作.视觉处理软件如图2所示,软件从功能上分为两部分,一是比赛前的各种参数设置,如根据比赛现场灯光设置HSL动态氛围、场地边界参数等,采用HSL颜色空间可以有效地减小反射、阴影以及光线不均匀等影响;二是实时的机器人色标和小球的识别和位置的计算.最后将本方队员位置、编号以及对方队员等参数通过LAN传送给策略处理计算机.1.2机器人标的设计色标设计有许多方法,但精确而稳定地确定机器人位置是关键,设计出能很好区分11个机器人的色标仍然具有一定的难度.根据多种实验,本比赛系统11个机器人的色标设计如图3所示.色标尺寸为75mm×75mm,分为4个区域,周围留出5mm以防止不同机器人色标之间的粘连和混色.区域T为队标(70mm×35mm),位于色标的中心,根据队标颜色区域可以计算出其质心和角度.区域A为黑色,它与队标决定机器人的方向.区域B和C(37.5mm×20mm)为决定队员编号的标识颜色,用4种颜色(black,green,cyan和pink)编码11个机器人,具体编码方法如图3所示,图中箭头方向为机器人正面.1.3生成和确定像素方案为识别上述11个本方队员的色标,视觉系统中所采用了识别算法如下:步骤1在1帧图像中找到的所有队标,从其质心和长轴方向开始,确定图4所示的4个队员标识颜色点a,b,c,d.从理论上讲,根据这4个点的颜色就可以确定不同的队员,但事实上由于图像系统的噪声和光线的变化以及场地不同位置的几何变形,使得从队标质心按固定长度和角度得到的颜色极不稳定,即使是采用与周围颜色加权平均或中值滤波等方法,识别效果依然不理想.放大10倍后的实验情况如图5所示,图中白点为队标的中心点以及由它确定的4个队员标识颜色点a,b,c,d.从图中可以看出,c和d两个点几乎处于队员标识颜色区域的边缘.步骤2在a,b,c和d4个点上沿质心方向分别设置两个搜索窗口,如图6所示,每个窗口为3×3像素.步骤3由于a和b为确定机器人方向的黑色区域,首先搜索4个1stwindow,如果9个像素中有5个为黑色,则该点为a或b,按照顺时针关系,确定出a和b两点.根据全场各个不同位置以及不同环境光条件下的实验表明,每个关键点只需要判断1stwindow就可以很可靠地确定出黑色关键点a和b,从而得到机器人的位置和方向.因此在这种情况下,不再进行2ndwindow搜索.步骤4分别检查c和d两点的两个搜索窗口,通过统计窗口内有效颜色与标准设置颜色的MAD(meanabsolutedifference)来确定队员标识颜色c和d,从而确定队员编号.具体做法是,读取1st和2ndwindow中像素,剔除其中属于黑色和队标颜色的像素,比较每个有效像素j(j=1,2,…,N;N为两个窗口内有效像素的总数)的色度值H(j)与设置确定的各个颜色i(i=1为green,i=2为cyan,i=3为pink)的色调门限值Hmin(i)和Hmax(i)之间的偏离情况,得到每个像素j相对于颜色i的最小差分绝对值D(i,j),如果像素的色度值H(j)处于色度门限之内,则其最小差分绝对值D(i,j)为0,即ifHmin(i)≤H(j)≤Hmax(i),D(i,j)=0;elseD(i,j)=min{abs[H(j)-Hmin(i)],abs[H(j)-Hmax(i)]}.对于每一个颜色i,其色度的MAD定义为E(i)=1N∑j=1ND(i,j).E(i)=1Ν∑j=1ΝD(i,j).在H-L平面利用色度MAD确定队员标识颜色的示意图如图7所示.步骤5比较每个标识颜色的E(i),其中最小的一个即为确定的队员标识颜色,如图7中示例所确定的颜色为cyan.根据确定的a,b,c和d4个点的颜色,便可以确定本方队员的编号.如果由于彩色噪声、光线变化以及运动模糊等因数影响,造成识别错误时,可以在后处理滤波算法中做进一步的修正.2材料的后处理由于噪声干扰、彩色视觉系统局限以及剧烈的运动碰撞等原因,机器人和小球会在若干帧内丢失,对此,可以根据场上全局以及历史信息进行滤波处理,以达到确认位置、纠正不正确识别的目的.后处理滤波的假设前提是无论受到何种干扰,本方队标不会丢失,只是队员标识颜色会出现错误或丢失.2.1对前帧中发现的机器人ri进行滤波处理机器人位置合理性检查的算法是以t-1帧中所有本方机器人位置为中心,建立各自的圆形搜索窗口,其半径为机器人在1帧时间内所能移动的最大距离(在此最大速度为3m/s),如图8所示,判断机器人在当前帧t与t-1帧之间的移动关系.如果当前机器人Ri在前帧所确定的搜索窗口范围内,则认为它被正确识别,否则,将其临时标记为NotCorrectlyFound.对于临时标记为NotCorrectlyFound的机器人Ri,按照如下步骤进行滤波处理:步骤1如果搜索窗口内没有任何本方队标,则认为本帧Ri的位置是有效的,这种情况通常发生在开始帧以及调试过程中人为移动、放置机器人.步骤2如果窗口内有多个未能确认的本方队标,则认为最靠近前一帧Ri位置的一个机器人为本帧Ri的位置.步骤3如果窗口内没有无法确认的本方队标,但有一个NotCorrectlyFound的机器人,则认为该机器人的位置是本帧Ri的位置.步骤4如果窗口内没有无法确认的本方队标,但有多个NotCorrectlyFound的机器人,此时由于不确定性过多,不做任何纠正处理.2.2窗口内没有任何机器人与前面机器人处理相似,在小球前一帧位置建立搜索窗口,如果当前帧小球没在窗口内,或者整个场上没有小球,则检查搜索窗口内有无机器人(包括对方机器人),并按照下列步骤处理:步骤1如果窗口内没有任何机器人,则将认为当前帧球的位置在前一帧位置(因为每帧小球都不能丢失);步骤2如果搜索窗口内有一个机器人,则认为小球被机器人遮挡住了,机器人的遮挡点为球的位置.机器人的遮挡点根据场地中的位置不同而变化,具体定义如图9所示.步骤3如果窗口范围内有多个机器人存在(包括对方机器人),并且其中两个的距离d小于10cm,则认为小球夹在两个机器人中间,如图10所示,因此,将二者距离的中心位置设置成小球的位置.步骤4如果窗口内有许多机器人,但没有非常接近的,则小球位置认为是最威胁本方球门机器人的遮挡点.3后处理滤波算法本文详细介绍了针对MiroSot11vs.11赛场的机器人足球赛的计算机视觉子系统,说明了新的11人制的机器人的色标设计及其识别算法,并对机器人和小

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论