一种针对三阶魔方的自动填色及抽象化方法技术

技术编号:24801722 阅读:58 留言:0更新日期:2020-07-07 21:25
本发明专利技术公开了一种针对三阶魔方的自动填色及抽象化方法,在保证识别效率变化不大的情况下解决了颜色识别成本过高的问题,并且提出的魔方抽象化模型可以简化魔方的表达,更适合高阶魔方的算法编程。本发明专利技术包含三个部分,分别为魔方的抽象化表达模型:魔方状态模型,基于单目视觉的魔方色块识别,以及基于上述两者的三阶魔方自动填色方法。

【技术实现步骤摘要】
一种针对三阶魔方的自动填色及抽象化方法
本专利技术涉及一种针对三阶魔方的自动填色及抽象化模型建立方法,具体涉及魔方色块的单目视觉识别及魔方色块的抽象化表示方法。
技术介绍
魔方是生活中常见的一种益智玩具,而三阶魔方由于上手容易,特别适合对初学者进行教学和训练,也常常作为魔方自动复原装置的操作对象。自动装置还原魔方的第一步即需识别魔方各个面上颜色块,现有的技术往往采用多颜色传感器或摄像头分别对单一面或单一区块进行颜色识别,因此装置成本较高,不适合推广应用,并且在魔方色块的抽象化表示中往往采用展开图数字标记的方法,需要在计算机中储存大量规则,尤其对于高阶魔方,抽象化模型建立过程相对复杂。
技术实现思路
本专利技术旨在提供一种针对三阶魔方的填色及抽象化模型建立方法,在保证识别效率变化不大的情况下解决了颜色识别成本过高的问题,并且提出的魔方抽象化模型可以简化魔方的表达,更适合高阶魔方的算法编程。本专利技术包含三个部分:分别为魔方的抽象化表达模型即魔方状态模型、基于单目视觉的魔方色块识别以及基于上述两者的三阶魔方自动填色方法。本专利技术定义魔方的状态模型用于描述魔方每次旋转后各个色块的移动规律,通过魔方的状态模型可以将魔方的每次操作、每种状态抽象化。通过构建以魔方中心O为坐标系原点的右手系空间直角坐标系XYZ,坐标轴通过各个面的中心块,各个面上的各个色块均可由该空间内的点{(x,y,z)|x,y,z∈{-3,-2,0,2,3}}唯一确定,并且色块的颜色即f(x,y,z)。在本专利技术定义的魔方状态模型中,对魔方只需要12种基本操作方法,即各个面的顺时针90°旋转以及各个面的逆时针90°旋转。并且所有的基本操作都可以转换成色块坐标的空间变换,设魔方旋转前色块坐标为(x,y,z),基本操作后色块坐标经过空间变换为(x′,y′,z′),新位置下色块颜色g(x′,y′,z′)=f(x,y,z),最终形成的即为旋转前后的魔方状态变化关系。本专利技术提出的基于单目视觉识别的魔方色块提取可细化为图像去噪、轮廓识别、网格划分、色彩比对这四步。图像去噪步骤包含对图像进行的两次滤波过程。首先使用双边滤波对摄像头获取到的魔方照片进行处理。双边滤波是一种非线性滤波器,它可以达到保持边缘、降噪平滑的效果,使用该滤波器可以在降噪的同时保存魔方的边缘,为后面的边缘检测、网格划分提供便利。在双边滤波结束后,继续对图片进行非局部平均降噪。该降噪与前面的双边滤波不同的是,该算法利用整幅图像来进行降噪,在图像中以块为单位寻找相似区域,然后对相似区域的颜色求平均值。经过图像去噪步骤后干扰魔方识别的背景噪点会被精准的过滤掉。边缘识别步骤包含梯度计算、梯度二值化、边界点定位三个过程。图像边缘的像素点梯度值会趋于一个较大的数值,因此可以通过求取图像各像素点的梯度来判断图像的边缘。为了提高色块提取效率,本专利技术摄像头安装于魔方对角侧,可以同时获取魔方三个面的图像,通过lA、lB、lC、lD、lE、lF六条直线逼近轮廓边缘定位魔方六个边界点的位置,从而便于对其进行网格划分。具体实现过程,本算法提供两种搜索方式,分别为多边形逼近搜索和水平扫描搜索,根据搜索效率选用原则如下:设为多边形逼近重复搜索面积,Sabcdef为多边形逼近未搜索面积,如果则选用多边形逼近搜索,否则选用水平扫描搜索。网格划分步骤包含基向量计算、色块中心点定位、图像取样三个过程。魔方各色块的位置均可由边界点构成的魔方空间的基向量线性导出,六个边界点,可以确定两组重复的基向量,利用这个特点可以矫正边界点定位误差。根据中心点坐标(xi,yj)截取中心矩形区域,即完成对色块的取样。色彩对比步骤包含色彩校正、色彩空间二值化、可能性计算三个过程。由于魔方色块颜色识别的准确率直接影响魔方的求解,通过色彩校正可以极大提高颜色识别的准确率,在摄像头固定位置放置比色卡,比色卡包含标准魔方所需的六种颜色,每次拍摄时比色卡与魔方处于相同的光照环境,因此可以直接从比色卡相应区域提取色彩空间二值化的高阈值TH及低阈值TL。色彩空间二值化即每个像素点(x,y)判断其HSV值是否位于高低阈值内,如果位于高低阈值内,则此点像素值g(x,y)=255,否则此点像素值g(x,y)=0。对六种颜色分别进行色彩空间二值化得到图像矩阵Mi(i=0,1,2,3,4,5),每种颜色的可能性则可由矩阵的和Si=sum(Mi)表示,使得矩阵和Si最大的那种颜色即为可能性最大的颜色,作为色块颜色识别的最终结果。利用本专利技术提出的魔方色块单目视觉识别以及魔方状态模型,可以对三阶魔方进行自动填色。本专利技术提出12步操作方法,对魔方进行4次取样即可完整获取魔方的初始状态,以下是具体的实现方法:摄像头位于魔方的对角线上,可以一次拍摄魔方的三个面,由上文提出的色块提取方法,可以一次性获取三个面上所有色块的颜色。将魔方初始状态记为状态(1),第一次拍摄取样可以获取色块{(x,y,z)|(x=3)or(y=3)or(z=3)}上的颜色。第一、二步操作同时对面Z=±3连续两次顺时针旋转90°得到状态(2),此时进行第二次拍摄取样,可以获取色块{(x′,y′,z′)|x′=3,z′=±2}以及{(x′,y′,z′)|y′=3,z′=±2}上的颜色;第三、四步操作继续对面Z=±3连续两次顺时针旋转90°回到状态(1);第五、六步操作对X=±3连续两次顺时针旋转90°得到状态(3),此时进行第三次拍摄取样,可以获取色块{(x′,y′,z′)|z′=3,x′=±2}以及{(x′,y′,z′)|y′=3,x′=±2}上的颜色;第七、八步操作继续对面X=±3连续两次顺时针旋转90°回到状态(1);第九、十步操作对Y=±3连续两次顺时针旋转90°得到状态(4),此时进行第四次拍摄取样,可以获取色块{(x′,y′,z′)|z′=3,y′=±2}以及{(x′,y′,z′)|x′=3,y′=±2}上的颜色;第十一、十二步操作继续对面X=±3连续两次顺时针旋转90°回到状态(1)。根据上文所述的状态模型对所有的旋转后色块(x′,y′,z′)逆向转换即可得到旋转前即状态(1)中色块(x,y,z)的颜色f(x,y,z)。至此,魔方54个色块已经获取51个色块的颜色,剩余3个无法获取的色块颜色为三个面的中心块颜色,根据魔方复原原理,魔方只需要获得所有角块、棱块的颜色即可,因此本方法满足魔方复原的要求。附图说明图1为本专利技术的魔方状态模型示意图图2为本专利技术的魔方边界点提取算法示意图图3为本专利技术的魔方空间网格划分算法示意图图4为本专利技术的三阶魔方自动填色方法流程图图5为本专利技术的三阶魔方自动填色方法示意图具体实施方式以下,结合附图以及具体实施方法,对本专利技术做进一步阐述。本专利技术定义魔方的状态模型用于描述魔方每次旋转后各个色块的移动规律,通过魔方的状态模型可以将魔方的每次操作、每种状态抽象化,具体的实现方法如下:如说明书附图1所示,魔方具有每一个中心块与每一个面的绝对位置关系唯一确定的特本文档来自技高网...

【技术保护点】
1.一种魔方的抽象化表达与魔方色块识别方法,其特征是:构建以魔方中心O为坐标系原点的右手系空间直角坐标系XYZ,坐标轴通过各个面的中心块,各个面上的各个色块均由该空间内的点{(x,y,z)|x,y,z∈{-3,-2,0,2,3}}唯一确定,并且色块的颜色即f(x,y,z);之后通过图像去噪、轮廓识别、网格划分、色彩比对这四步完成魔方色块识别。/n

【技术特征摘要】
1.一种魔方的抽象化表达与魔方色块识别方法,其特征是:构建以魔方中心O为坐标系原点的右手系空间直角坐标系XYZ,坐标轴通过各个面的中心块,各个面上的各个色块均由该空间内的点{(x,y,z)|x,y,z∈{-3,-2,0,2,3}}唯一确定,并且色块的颜色即f(x,y,z);之后通过图像去噪、轮廓识别、网格划分、色彩比对这四步完成魔方色块识别。


2.根据权利要求1所述的方法,其特征在于,魔方的抽象化表达具体为在构建以魔方中心O为坐标系原点的右手系空间直角坐标系XYZ后,魔方的12种基本操作方法即各个面的顺时针90°旋转以及各个面的逆时针90°旋转,都转换成色块坐标的空间变换,设魔方旋转前色块坐标为(x,y,z),顺时针90°旋转后色块坐标为(x′,y′,z′),逆时针90°旋转后色块坐标为(x″,y″,z″),需要计算的色块坐标集合为P:
对面X=±3旋转:P={(x,y,z)|x=±3,±2}



对面Y=±3旋转:P={(x,y,z)|y=±3,±2}



对面Z=±3旋转:P={(x,y,z)|z=±3,±2}



旋转后
g(x′,y′,z′)=f(x,y,z),g(x″,y″,z″)=f(x,y,z)
最终形成的即为旋转前后的魔方状态变化关系。


3.根据权利要求1所述的方法,其特征在于,轮廓识别方法具体为:设置六条直线lA、lB、lC、lD、lE、lF为魔方边界逼近线,且kA、kB、kC、kD、kE、kF分别为六条逼近线斜率,边界点提取算法通过lA、lB、lC、lD、lE、lF六条直线逼近轮廓边缘,各边界点满足以下数学条件:
设U={(x,y)|g(x,y)=255}则
A={(x,y)|y=min(y1,...,yj),(i,j)∈U}
B={(x,y)|y-kBx=min(y1-kBx1,...,yj-kBxi),(i,j)∈U}
C={(x,y)|y-kCx=max(y1-kCx1,...,yj-kCxi),(i,j)∈U}
D={(x,y)|y=max(y1,...,yj),(i,j)∈U}
E={(x,y)|y-kEx=max(y1-kEx1,...,yj-kExi),(i,j)∈U}
F={(x,y)|y-kFx=min(y1-kFx1,...,yj-kFxi),(i,j)∈U}
其中kB、kC、kE、kF为逼近线lB、lC、lE、lF的斜率,需满足条件:kB,kE<0,kC,kF>0;
具体实现过程,提供两种搜索方式,分别为多边形逼近搜索和水平扫描搜索,根据搜索效率选用原则如下:
设n为大于0的自然数,另设为多边形逼近重复...

【专利技术属性】
技术研发人员:康存锋罗明睿石春阳陈东临
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1