摘 要: 针对类人足球机器人在复杂赛场环境中对目标色块识别能力的不足,设计一种基于ARM的类人足球机器人视觉识别系统。软硬件设计上,以搭载Linux系统的三星S3C6410作为主控图像处理芯片,用飞思卡尔MC9S12XS128单片机作为舵机控制器,以罗技C270摄像头作为视觉传感器。分割识别算法上,采用YUV颜色空间下的阈值法与区域生长的混合分割算法对色块信息进行快速分割和识别。实验表明,该设计可准确识别出较复杂环境中的目标色块并定位出中心坐标。
0 引言
类人足球机器人系统集计算机视觉、模式识别、智能控制、传感器技术和无线通信等技术于一身,是典型的多智能体合作系统[1]。
类人足球机器人中的图像分割、目标识别、智能决策、步态规划等技术是研究中的关键,其研究成果可以移植到家庭服务机器人等相关领域,转变为经济价值。目前,设计并训练类人足球机器人参与国际赛事,已经成为模式识别和智能系统等研究领域中的热点。
在整个类人足球机器人系统中,视觉子系统是机器人的眼睛,是感知和定位外界环境最重要的部分[2]。它将采集到的赛场实时图像,依次经过预处理、图像分割和目标识别等环节,最后将目标信息准确传递给决策系统做出及时响应。在复杂的球场环境中,良好的机器人软硬件系统平台和高效的图像处理算法是决定胜负的关键因素。
1 视觉子系统的软硬件平台
1.1 硬件整体设计
类人足球机器人视觉子系统的硬件部分主要包括图像处理器、舵机控制器、图像传感器和数字舵机[3]。本文采用ARM11作图像处理器,以16位单片机作舵机控制器,硬件设计如图1所示。
图像处理器选用飞凌公司的OK6410-A开发板,主控芯片为三星S3C6410,主频最高可达667 MHz。
舵机控制器主控芯片为80 pin的MC9S12XS128单片机,引出TXD1、VCC和GND管脚,作为舵机控制接口。
舵机选用北京博创科技CDS5516数字舵机,扭矩为16 kgf·cm,角度分辨率为0.32°,采用Dynamixel协议,最多可串联254个舵机。
摄像头选用罗技C270,CMOS感光,300万像素,拍摄速率15 f/s,分辨率640×480,使用USB2.0接口与开发板连接。
1.2 软件环境搭建
嵌入式Linux系统平台的搭建主要包括移植系统引导程序Bootloader,移植Linux系统内核和移植文件系统[4-5]。
本设计中,Bootloader选用经过编译的U-boo,嵌入式内核选用经过编译的Linux 3.0.1,文件系统选用专为NandFlash设计的yaffs。搭建类人足球机器人软件平台的步骤为:
(1) 安装VMware 8.0.2虚拟机和Ubuntu 12.04操作系统;
(2) 安装VMware tools实现Ubuntu和宿主机之间共享文件;
(3) 安装arm-linux-gcc-4.3.2交叉编译器;
(4) 编译U-boot、Linux内核、yaffs文件系统,借助SD卡将编译好的程序和映像烧写到开发板的NandFlash中;
(5) 移植OpenCV图像处理库。
2 图像分割和目标识别
2.1 颜色空间
对摄像头采集到的图像进行预处理,需要选择相应的颜色空间。类人足球机器人比赛常用的颜色空间有RGB、YUV和HSV[6]。
YUV颜色空间中,亮度Y和色差UV相互独立且存储容量小,故选用YUV颜色空间。YUV和RGB是线性变换关系:
2.2 图像分割算法
随着比赛规则的逐步完善,类人足球机器人的比赛难度也在逐渐增大,例如取消了赛场中间的标识柱且要求敌我双方均采用黄色球门等[7-8]。此外,赛场上光线强弱的变化、球员对目标的遮挡和赛场周围多变的环境因素,都会造成类人足球机器人对目标的误判。鉴于此,本设计采用阈值法与区域生长的混合分割算法。
首先,采用最大类间方差法获得最佳分割阈值。
假设图像中灰度为i的像素总数为ni,灰度范围[0,L-1],则总像素数为:
式中,pi为各灰度值出现的概率。
若采用像素阈值T将图像分为两部分,那么C0由灰度值在[0,T-1]的像素组成,C1由灰度在[T,L-1]的像素组成,则C0和C1各自出现的概率为:
式中, P0和P1分别为C0和C1出现的概率,
0和
1分别是区域C0和C1的平均灰度,
为图像平均灰度,
2为区域C0和C1的总方差。当
2取最大值时,求取的T∈[0,L-1]就是最佳阈值。
其次,采用区域生长算法获得感兴趣的目标色块。其基本思想和实现步骤是:选取一组生长点作为种子,然后采用四邻域或者八邻域法将具备相似性质的邻近像素点合并,作为新的生长点,并重复该过程直到不能生长为止[9]。
2.3 目标特征识别
在类人足球机器人比赛中,球门、球柱和场边线在二维平面中进行图像处理的结果为长方形或者平行四边形,足球的映射为圆形。通过这样的先验知识进行定性分析,可以有效排除相近色块的干扰,获取感兴趣的目标[10]。本设计对色块的以下信息进行描述:
(1)中心点:可用质心法求取;
(2)形状:利用边界与中心点距离判定圆形区、Hough变换算法检测长方形区。
3 实验与结果分析
以识别比赛用球为例进行实验。首先,离线采集足够多包含目标色块的图片,并手动分割出目标,如图2所示。
其次,将目标色块转化为YUV格式,如图3,建立分量直方图,如图4~6所示,观测U分量灰度直方图没有明显的峰值变化,不适合做二值化阈值分割;Y分量是亮度分量,阈值受外界光照条件影响浮动较大;故对V分量求最佳分割阈值。
最后,综合不同光照不同角度下采集的离线样本,确定直方图中V分量的范围是[0,64],除以255转化为double类型,即V∈[0,0.270 6],用公式(2)~(10)计算出所有样本的阈值分割范围T∈[0.078 8,0.107 0]。
为验证该算法的分割效果,在线采集两幅640×480像素的RGB图像,转为YUV格式,当遍历V分量像素点灰度值介于[0.078 8,0.107 0]之间时,将该点选为生长点,并按照四邻域法进行区域分割,二值化以后识别出圆形区并计算出中心点坐标分别为(302,315)和(393,463),如图7所示。
4 结论
实验表明,与传统类人足球机器人视觉子系统所采用的单一图像处理算法相比,本设计所采用的混合分割算法可以准确地分割和识别出二值化以后的目标色块,并具备以下优点:(1)最大类间方差法确定生长点以后,采用四邻域算法分割图像避免了遍历所有像素,提高了分割速度;(2)根据特征快速识别目标,排除相近色块的干扰,保证了分割结果的准确和完整;(3)定位出中心点坐标,并将该坐标值通过串口通信发送给舵机控制器,控制机器人头部舵机对坐标点的准确实时追踪。
参考文献
[1] 周冬波,邓记才.具有颜色识别功能的类人机器人设计[J].单片机与嵌入式系统应用,2013(4):3-6.
[2] CHANG S H, HSIA C H. Self-Localization based on monocular vision for humanoid robot[J]. Tamkang Journal of Science and Engineering, 2011(14):323-332.
[3] 李海鹏.基于ARM的类人足球机器人视觉研究[D].秦皇岛:燕山大学,2013.
[4] 龚树锋,魏武.基于S3C2440的嵌入式单目视觉系统设计[J].信息技术,2009(10):77-79,84.
[5] 朱小远,谢龙汉.Linux嵌入式系统开发[M].北京:电子工业出版社,2012.
[6] 陈旭娟.机器人图像处理方法研究[J].现代商贸工业,2013(8):197-198.
[7] 李晓瑜,杨马英.足球机器人视觉图像分割算法[J].吉林大学学报(工学版),2013,43(S1):260-264.
[8] 王峥,孙增圻.基于RoboCup双足类人机器人的颜色目标识别算法[J].济南大学学报(自然科学版),2007(21):18-22.
[9] 张铮,徐超,任淑霞,等.数字图像处理与机器视觉[M].北京:人民邮电出版社,2014.
[10] 胡丽花.基于视觉的类人足球机器人目标定位算法设计[D].杭州:浙江理工大学,2011.