一种教育玩具套件及利用颜色和轮廓识别编程模块的方法与流程

文档序号:12368327阅读:234来源:国知局
一种教育玩具套件及利用颜色和轮廓识别编程模块的方法与流程
本发明涉及计算机视觉检测处理
技术领域
,特别涉及一种教育玩具套件及利用颜色和轮廓识别编程模块的方法。
背景技术
:现在平板电脑上有许多有趣的幼教游戏应用程序或者儿童游戏,但往往只是让小朋友在屏幕上指指画画,互动性欠缺,长时间看着屏幕容易对眼睛造成伤害;而当下一些互动性强的传统性游戏玩具已经脱离了时代的发展,形式上无法满足孩子学习、玩耍的需求,也不便于孩子和家长的互动沟通。为了解决上述问题,计算机视觉与图像处理
技术领域
成功地开发了一种教育玩具套件,包括:支架、头盔探测器和底板,在平板电脑内安装游戏程序,通过平板电脑的摄像头采集放置于平面上的底板的图像。上述的教育玩具套件虽然解决了平板电脑中游戏的互动性欠缺的问题,但是形式仍然单一,没有游戏软件相对应的游戏模块,无法对游戏模块进行识别,亦无法提供给上层软件进行后续处理和分析,无法做到从小培养小朋友对编程的认识和兴趣。因此,计算机视觉检测处理
技术领域
急需一种教育玩具套件及利用颜色和轮廓识别编程模块的方法,是将编程游戏模块放置于平面上,在平板电脑内安装游戏程序,通过平板电脑的摄像头采集摄像头数据,利用编程模块上图标的颜色和轮廓信息,在摄像头数据中识别编程模块,并提供给上层软件做后续判断处理;增强游戏的趣味性、儿童动手能力以及互动性,良好的培养了孩子对于编程的认识和兴趣。技术实现要素:本发明为了解决上述问题,提供了一种教育玩具套件及利用颜色和轮廓识别编程模块的方法,技术方案如下:一种教育玩具套件,包括:支架、头盔探测器和编程模块,并且头盔探测器安装于支架上,编程模块放置于平面上;支架底部具有凸起,顶部具有第一凹槽和第二凹槽,第一凹槽用于放置平板电脑,平板电脑采集编程模块信息;头盔探测器安装于第二凹槽内;头盔探测器,还包括本体、第三凹槽、2个扇形块和凸面镜,并且第三凹槽位于本体内,用于夹持不同型号的平板电脑,在第三凹槽夹持平板电脑屏幕的端点处设置有凸面镜,凸面镜的另一端安装于头盔探测器边缘上,凸面镜与水平面夹角成锐角,第三凹槽夹持平板电脑屏幕的端点高于平板电脑的摄像头位置,2个扇形块位于凸面镜的2个边缘上,用于固定凸面镜和夹持平板电脑。优选的,在上述的一种教育玩具套件中,编程模块的类型为8种,每种类型的编程模块颜色不同。优选的,在上述的一种教育玩具套件中,编程模块包括:怪兽模块、跳跃模块、条件1模块、条件2模块、小q模块、向前模块、左转模块和右转模块。一种教育玩具套件中利用颜色和轮廓信息进行编程模块识别的方法,包括如下步骤:步骤一,在平板电脑中安装游戏程序,编程模块放置于平面上,平板电脑的底端安装于第一凹槽内,通过第二凹槽将头盔探测器安装于平板电脑的顶端;步骤二,固定安装好后,通过平板电脑的前置摄像头实时采集彩色图像;步骤三,从步骤二的彩色图像中检测编程模块的类型。优选的,在上述的一种教育玩具套件中利用颜色和轮廓信息进行编程模块识别的方法中,步骤二中前置摄像头采集的彩色图像为Ixy,Ixy=f(x,y)=(Rxy,Gxy,Bxy),其中,(x,y)表示彩色图像像素点的位置坐标,f(x,y)表示图像在像素点坐标位置处的像素值,Rxy表示图像像素点在红色通道的色彩值,Gxy表示图像像素点在绿色通道的色彩值,Bxy表示图像像素点在蓝色通道的色彩值。优选的,在上述的一种教育玩具套件中利用颜色和轮廓信息进行编程模块识别的方法中,步骤三中检测编程模块类型的具体步骤为:1)采用透视变换原理,将彩色图像Ixy转换成由上而下俯视的正视角图像;2)根据先验知识,在正视角图像中提取出感兴趣区域图像,即上层软件给出的编程模块指定放置区域;3)因为怪兽和跳跃模块在颜色上均属于红色系,与其他模块的色系区分度较大,因此,先用颜色将这两个模块与其他模块区分开;但是编程模块的颜色在RGB颜色空间内不利于分割开来,对光照变化也比较敏感,所以,将提取出来的感兴趣区域图像由RGB颜色空间转换到侧重于色彩表示的HSV颜色空间,具体转换公式为:V=max{C(R′)、C(G′)、C(B′)};S=0,V=0V-min{C(R′),C(G′),C(B′)}V,V≠0;]]>H=60[C(G′)-C(B′)]V-min{C(R′),C(G′),C(B′)},V=C(R′)120+60[C(G′)-C(B′)]V-min{C(R′),C(G′),C(B′)},V=C(G′)240+60[C(G′)-C(B′)]V-min{C(R′),C(G′),C(B′)},V=C(B′);]]>其中,H表示色调值,S表示饱和度值,V表示亮度值,max{C(R′)、C(G′)、C(B′)}表示在原始图像中一个像素点在红、绿、蓝三个通道的像素最大值,min{C(R′)、C(G′)、C(B′)}表示在原始图像中一个像素点在红、绿、蓝三个通道的像素最小值,并且H的取值范围位于0-360之间;4)在HSV颜色空间内,根据红色系的怪兽模块和跳跃模块在HSV空间内的先验阈值,将彩色图像进行二值化处理,具体公式如下:通过公式B(x,y)=B_H(x,y)&B_S(x,y)&B_V(x,y)可获得对应的二进制图像。其中,B(x,y)表示图像像素点(x,y)的二进制像素值,H(x,y)、S(x,y)、V(x,y)分别表示图像像素点(x,y)在HSV颜色空间内的色调值、饱和度值、亮度值;B_H(x,y)、B_S(x,y)、B_V(x,y)分别表示图像像素点(x,y)是否分别在指定的H、S、V区域内,如果是,则取值为1,否则取值为0;Hmin、Hmax分别表示红色系怪兽编程模块和跳跃编程模块在HSV颜色空间内的色调的先验最小和最大值;Smin、Smax分别表示红色系怪兽编程模块和跳跃编程模块在HSV颜色空间内的饱和度的先验最小和最大值;Vmin、Vmax分别表示红色系怪兽编程模块和跳跃编程模块在HSV颜色空间内的亮度的先验最小和最大值;5)采用先腐蚀后膨胀的方法去除步骤4)中二值化图像的噪音干扰,并且平滑物体边界;6)扫描二值化图像,找出所有边缘轮廓;二值化图像可以看作是只有两个值的灰度图像,图像的边缘是指灰度图像中灰度变化比较剧烈的部分,灰度值的变化程度采用相邻像素间的梯度变化来定量表示,梯度是一阶二维导数的二维等效式,具体计算过程为:首先,计算相邻像素的差分,具体公式为:Gx=f[i,j+1]-f[i,j]Gy=f[i,j]-f[i+1,j]其中,Gx表示相邻像素在x方向上的差分,Gy表示相邻像素在y方向上的差分,f[i,j+1]表示图像在第i行第j+1列的像素值,f[i,j]表示图像在第i行第j列的像素值;f[i+1,j]表示图像在第i+1行第j列的像素值,进一步地,计算相邻像素间的梯度,具体公式为:G(x,y)=GxGy=∂f∂x∂f∂y;]]>其中,G(x,y)表示表示图像的在(x,y)点上梯度值,表示像素值在x方向上求导,表示像素值在y方向上求导;进一步地,计算边缘点的梯度幅值,所有边缘点的梯度幅值集合即为提取的边缘轮廓;进一步地,根据怪兽模快、跳跃模块边缘轮廓的大小和离心率的先验知识,滤掉不合理的边缘轮廓,再对剩余的轮廓进行判定,进而得出该编程模块是否为怪兽模快或者跳跃模块,如果是则完成编程模块判定,如果不是则继续执行步骤7);其中,怪兽模快的判定原则为:利用边缘轮廓的形状、大小、离心率和怪兽模块独有的3个小三角形的位置及大小关系的先验知识,来判定编程模块是否为怪兽模块;跳跃模块的判定原则为:将边缘轮廓的最小外包矩形分割成四等份,利用左上、右上、左下和右下的轮廓间的形状、4个轮廓的大小比例关系、4个轮廓占整个边缘轮廓的比例的先验知识以及整个边缘轮廓的大小和离心率的先验知识,来判定编程模块是否为跳跃模块;7)将步骤2)中的感兴趣区域图像转换为灰度图像:Gray(x,y)=0.2989×Rxy+0.5870×Gxy+0.1140×Bxy其中,Gray(x,y)表示灰度图像;8)采用边缘检测算法检测图像中的强边缘;图像的边缘是指灰度图像中灰度变化比较剧烈的部分,灰度值的变化程度采用相邻像素间的梯度变化来定量表示,梯度是一阶二维导数的二维等效式,具体计算过程为:首先,计算相邻像素的差分,具体公式为:Gx=f[i,j+1]-f[i,j]Gy=f[i,j]-f[i+1,j]其中,Gx表示相邻像素在x方向上的差分,Gy表示相邻像素在y方向上的差分,f[i,j+1]表示图像在第i行第j+1列的像素值,f[i,j]表示图像在第i行第j列的像素值;f[i+1,j]表示图像在第i+1行第j列的像素值,进一步地,计算相邻像素间的梯度,具体公式为:G(x,y)=GxGy=∂f∂x∂f∂y;]]>其中,G(x,y)表示图像在(x,y)点上梯度值,表示像素值在x方向上求导,表示像素值在y方向上求导;进一步地,计算边缘点的梯度幅值,所有边缘点的梯度幅值集合即为提取的边缘轮廓;由于待检测的编程模块目标,在转换为灰度图后,编程模块上的标识与编程模块上的白色区域存在较大的反差,因此可以利用边缘检测的方法提取出编程模块上标识的边缘轮廓;边缘提取算法包括Sobel算子、Roberts算子、Prewitt算子和Canny算子等,具体公式为:|G(x,y)|=Gx2+Gy2]]>其中,|G(x,y)|表示边缘点的梯度幅值;9)对步骤8)中得出的编程模块边缘轮廓进行膨胀处理;10)扫描步骤9)中的二值化图像,由于当前编程模块属于非红色系的,因此,判断编程模块属于除了怪兽模块、跳跃模块之外的哪种类型:首先,对步骤9)中得到的二值化图像进行扫描,得到相应的边缘轮廓,通过边缘轮廓的大小和离心率的先验知识,滤掉不合理的轮廓;进一步地,将过滤后剩余的边缘轮廓的最小外接矩形分割成4等份,利用左上、右上、左下和右下的轮廓间的形状、4个轮廓的大小比例关系、4个轮廓占整个边缘轮廓的比例的先验知识以及整个边缘轮廓的大小和离心率的先验知识,来判定编程模块的类型。优选的,在上述的一种教育玩具套件中利用颜色和轮廓信息进行编程模块识别的方法中,步骤2)中编程模块放置的有效识别区域只对应一个识别模块。优选的,在上述的一种教育玩具套件中利用颜色和轮廓信息进行编程模块识别的方法中,步骤10)中,如果判断出编程模块为条件模块,则取该编程模块边缘轮廓的质心,判断质心的颜色,再与先验知识进行比对,得出编程模块为条件1模块或者条件2模块。优选的,在上述的一种教育玩具套件中利用颜色和轮廓信息进行编程模块识别的方法中,步骤10)中,如果判断出编程模块为转弯模块,则取该编程模块边缘轮廓的转弯点与其对角点连线的中点,判断该中点的颜色,再与先验知识进行比对,得出编程模块为左转模块或者右转模块。本发明的有益效果:1、本发明巧妙的将应用计算机视觉图形识别技术与HSV颜色空间、二值化处理、灰度图像、图像切割技术相结合使用,能够判断出编程模块的类型,具有运算速度快,定位准确,将硬件与软件技术很好地统一起来,游戏交互设计巧妙;美观简单,判断更加快速,同时增强了趣味性和直观性。2、本发明检测算法更加科学、成熟,将图像的透视变换、色彩空间转换、轮廓检测、形态学处理、去噪等算法相结合使用,能够快速的判断出编程模块的类型。3、本发明计算速度快;每次定位检测耗时在100ms左右,为玩家提供流畅的使用体验。4、本发明性能稳定,在不同光照、对不同平板电脑安装于教育玩具套件内的情况下,针对3千幅图片进行了采集测试,误识别率和漏检率在0.2%以下。附图说明下面结合附图和具体实施方式来详细说明本发明:图1是本发明一种教育玩具套件的结构示意图。图2是本发明一种教育玩具套件中头盔探测器的结构示意图。图3是本发明一种教育玩具套件中利用颜色和轮廓信息进行编程模块识别的方法的流程图。其中,图1-3中的附图标记与部件名称之间的对应关系为:支架1,第一凹槽102,第二凹槽103,头盔探测器2,本体201,第三凹槽202,扇形块203,反光镜204,,编程模块3。具体实施方式为了使本发明技术实现的措施、创作特征、达成目的与功效易于明白了解,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例1:图1是本发明一种教育玩具套件的结构示意图。图2是本发明一种教育玩具套件中头盔探测器的结构示意图。如图1-2所示,一种教育玩具套件的海洋模具识别方法,包括支架1、头盔探测器2、和编程模块3,并且头盔探测器2安装于支架1上;编程模块3放置于平面上;支架1,顶部具有第一凹槽102和第二凹槽103,第一凹槽102用于放置平板电脑,平板电脑采集编程模块信息;头盔探测器2,安装于第二凹槽103内;头盔探测器2还包括:本体201、第三凹槽202、2个扇形块203和凸面镜204,并且第三凹槽202位于本体201内,用于夹持不同型号的平板电脑,在第三凹槽202夹持平板电脑屏幕的端点处设置有凸面镜204,凸面镜204的另一端安装于头盔探测器2边缘上,凸面镜204与水平面夹角成锐角,第三凹槽202夹持平板电脑屏幕的端点高于平板电脑的摄像头位置,2个扇形块203位于凸面镜204的2个边缘上,用于固定凸面镜204和夹持平板电脑。图3是本发明一种教育玩具套件中利用颜色和轮廓信息进行编程模块识别的方法的流程图。如图3所示,一种教育玩具套件中利用颜色和轮廓信息进行编程模块识别的方法,包括如下步骤:步骤一,在平板电脑中安装游戏程序,编程模块放置于平面上,平板电脑的底端安装于第一凹槽内,通过第二凹槽将头盔探测器安装于平板电脑的顶端;步骤二,固定安装好后,通过平板电脑的前置摄像头实时采集彩色图像;前置摄像头采集的彩色图像为Ixy,Ixy=f(x,y)=(Rxy,Gxy,Bxy),其中,(x,y)表示彩色图像像素点的位置坐标,f(x,y)表示图像在像素点坐标位置处的像素值,Rxy表示图像像素点在红色通道的色彩值,Gxy表示图像像素点在绿色通道的色彩值,Bxy表示图像像素点在蓝色通道的色彩值。步骤三,从步骤二的彩色图像中检测编程模块的类型,具体步骤为:1)采用透视变换原理,将彩色图像Ixy转换成由上而下俯视的正视角图像;2)根据先验知识,在正视角图像中提取出感兴趣区域图像,即上层软件给出的编程模块指定放置区域;编程模块放置的有效识别区域只对应一个识别模块;3)因为怪兽和跳跃模块在颜色上均属于红色系,与其他模块的色系区分度较大,因此,先用颜色将这两个模块与其他模块区分开;但是编程模块的颜色在RGB颜色空间内不利于分割开来,对光照变化也比较敏感,所以,将提取出来的感兴趣区域图像由RGB颜色空间转换到侧重于色彩表示的HSV颜色空间,具体转换公式为:V=max{C(R′)、C(G′)、C(B′)};S=0,V=0V-min{C(R′),C(G′),C(B′)}V,V≠0;]]>H=60[C(G′)-C(B′)]V-min{C(R′),C(G′),C(B′)},V=C(R′)120+60[C(G′)-C(B′)]V-min{C(R′),C(G′),C(B′)},V=C(G′)240+60[C(G′)-C(B′)]V-min{C(R′),C(G′),C(B′)},V=C(B′);]]>其中,H表示色调值,S表示饱和度值,V表示亮度值,max{C(R′)、C(G′)、C(B′)}表示在原始图像中一个像素点在红、绿、蓝三个通道的像素最大值,min{C(R′)、C(G′)、C(B′)}表示在原始图像中一个像素点在红、绿、蓝三个通道的像素最小值,并且H的取值范围位于0-360之间;4)在HSV颜色空间内,根据红色系的怪兽模块和跳跃模块在HSV空间内的先验阈值,将彩色图像进行二值化处理,具体公式如下:通过公式B(x,y)=B_H(x,y)&B_S(x,y)&B_V(x,y)获得对应的二进制图像;其中,B(x,y)表示图像像素点(x,y)的二进制像素值,H(x,y)、S(x,y)、V(x,y)分别表示图像像素点(x,y)在HSV颜色空间内的色调值、饱和度值、亮度值;B_H(x,y)、B_S(x,y)、B_V(x,y)分别表示图像像素点(x,y)是否分别在指定的H、S、V区域内,如果是,则取值为1,否则,取值为0;Hmin、Hmax分别表示红色系编程模块(怪兽编程模块和跳跃编程模块)在HSV颜色空间内的色调的先验最小和最大值;Smin、Smax分别表示红色系怪兽编程模块和跳跃编程模块在HSV颜色空间内的先验饱和度最小和最大值;Vmin、Vmax分别表示红色系怪兽编程模块和跳跃编程模块在HSV颜色空间内的亮度的先验最小和最大值;5)采用先腐蚀后膨胀的方法去除步骤4)中二值化图像的噪音干扰,并且平滑物体边界;6)扫描二值化图像,找出所有边缘轮廓;二值化图像可以看作是只有两个值得灰度图像,图像的边缘是指灰度图像中灰度变化比较剧烈的部分,灰度值的变化程度采用相邻像素间的梯度变化来定量表示,梯度是一阶二维导数的二维等效式,具体计算过程为:首先,计算相邻像素的差分,具体公式为:Gx=f[i,j+1]-f[i,j]Gy=f[i,j]-f[i+1,j]其中,Gx表示相邻像素在x方向上的差分,Gy表示相邻像素在y方向上的差分,f[i,j+1]表示图像在第i行第j+1列的像素值,f[i,j]表示图像在第i行第j列的像素值;f[i+1,j]表示图像在第i+1行第j列的像素值,进一步地,计算相邻像素间的梯度,具体公式为:G(x,y)=GxGy=∂f∂x∂f∂y;]]>其中,G(x,y)表示表示图像的在(x,y)点上梯度值,表示像素值在x方向上求导,表示像素值在y方向上求导;进一步地,计算边缘点的梯度幅值,所有边缘点的梯度幅值集合即为提取的边缘轮廓;进一步地,根据怪兽模快、跳跃模块边缘轮廓的大小和离心率的先验知识,滤掉不合理的边缘轮廓,再对剩余的轮廓进行判定,进而得出该编程模块是否为怪兽模快或者跳跃模块,如果是则完成编程模块判定,如果不是则继续执行步骤7);其中,怪兽模快的判定原则为:利用边缘轮廓的形状、大小、离心率和怪兽模块独有的3个小三角形的位置及大小关系的先验知识,来判定编程模块是否为怪兽模块;跳跃模块的判定原则为:将边缘轮廓的最小外包矩形分割成四等份,利用左上、右上、左下和右下的轮廓间的形状、4个轮廓的大小比例关系、4个轮廓占整个边缘轮廓的比例的先验知识以及整个边缘轮廓的大小和离心率的先验知识,来判定编程模块是否为跳跃模块;7)将步骤2)中的感兴趣区域图像转换为灰度图像:Gray(x,y)=0.2989×Rxy+0.5870×Gxy+0.1140×Bxy其中,Gray(x,y)表示灰度图像;8)采用边缘检测算法检测图像中的强边缘;图像的边缘是指灰度图像中灰度变化比较剧烈的部分,灰度值的变化程度采用相邻像素间的梯度变化来定量表示,梯度是一阶二维导数的二维等效式,具体计算过程为:首先,计算相邻像素的差分,具体公式为:Gx=f[i,j+1]-f[i,j]Gy=f[i,j]-f[i+1,j]其中,Gx表示相邻像素在x方向上的差分,Gy表示相邻像素在y方向上的差分,f[i,j+1]表示图像在第i行第j+1列的像素值,f[i,j]表示图像在第i行第j列的像素值;f[i+1,j]表示图像在第i+1行第j列的像素值,进一步地,计算相邻像素间的梯度,具体公式为:G(x,y)=GxGy=∂f∂x∂f∂y;]]>其中,G(x,y)表示图像在(x,y)点上梯度值,表示像素值在x方向上求导,表示像素值在y方向上求导;进一步地,计算边缘点的梯度幅值,所有边缘点的梯度幅值集合即为提取的边缘轮廓;由于待检测的编程模块目标,在转换为灰度图后,编程模块上的标识与编程模块上的白色区域存在较大的反差,因此,可以利用边缘检测的方法提取出编程模块上表示的边缘轮廓;边缘提取算法包括Sobel算子、Roberts算子、Prewitt算子和Canny算子等,具体公式为:|G(x,y)|=Gx2+Gy2]]>其中,|G(x,y)|表示边缘点的梯度幅值;9)对步骤8)中得出的编程模块边缘轮廓进行膨胀处理;10)扫描步骤9)中的二值化图像,由于当前编程模块属于非红色系的,因此,判断编程模块属于除了怪兽模块、跳跃模块之外的哪种类型;首先,对步骤9)中得到的二化值图像进行扫描,得到相应的边缘轮廓,通过边缘轮廓的大小和离心率的先验知识,滤掉不合理的轮廓;进一步地,将过滤后剩余的边缘轮廓的最小外接矩形分割成4等份,利用左上、右上、左下和右下的轮廓间的形状、4个轮廓的大小比例关系、4个轮廓占整个边缘轮廓的比例的先验知识以及整个边缘轮廓的大小和离心率的先验知识,来判定编程模块的类型。如果判断出编程模块为条件模块,则取该编程模块边缘轮廓的质心,判断质心的颜色,再与先验知识进行比对,得出编程模块为条件1模块或者条件2模块。如果判断出编程模块为转弯模块,则取该编程模块边缘轮廓的转弯点与其对角点连线的中点,再与先验知识进行比对,得出编程模块为左转模块或者右转模块。本发明巧妙的将应用计算机视觉图形识别技术与HSV颜色空间、二值化处理、灰度图像、图像切割技术相结合使用,能够判断出编程模块的类型,具有运算速度快,定位准确,将硬件与软件技术很好地统一起来,游戏交互设计巧妙;美观简单,判断更加快速,同时增强了趣味性和直观性。本发明检测算法更加科学、成熟,将图像的透视变换、色彩空间转换、轮廓检测、形态学处理、去噪等算法相结合使用,能够快速的判断出编程模块的类型。本发明计算速度快;每次定位检测耗时在100ms左右,为玩家提供流畅的使用体验。本发明性能稳定,在不同光照、对不同平板电脑安装于教育玩具套件内的情况下,针对3千幅图片进行了采集测试,误识别率和漏检率在0.2%以下。以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等同物界定。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1