一种任意素材环形码的定位与解码方法与流程

专利2022-06-29  81


本发明涉及二维码
技术领域
,特别是指一种任意素材环形码的定位与解码方法。
背景技术
:环形码作为一种新型二维码,相对于被普遍使用的qr码、微信小程序的“菊花码”等,有着独特的特点,如可专属性和编码占据区域灵活等。然而与其它二维码具有相似的缺点,由黑白点构造的界面比较单一,无法满足用户的个性化需求。传统二维码可依靠冗余编码信息组成简单图案,然而环形码的设计为了保证占据空间面积的灵活性,在很大程度上去掉了冗余编码。相对应的,环形码的素材属于任意类型图标,解码算法也与一般二维码识别解码方式不同。技术实现要素:本发明提出一种任意素材环形码的定位与解码方法,针对具有任意素材构成的环形码进行解码。本发明的技术方案是这样实现的:一种任意素材环形码的定位与解码方法,包括以下步骤:s1,将待测图像输入目标检测模型进行环形码识别定位,返回环形码的坐标信息,根据坐标信息截取原图像中的环形码图像;s2,对环形码图像进行预处理,将用户输入的定位符素材与环形码图像进行匹配筛选,得到定位符并排序,根据定位符确定矫正符的位置,通过透视变换与优化矩阵算法矫正环形码变形;s3,识别环形码中的编码点并根据编码规则进行解码。作为本发明的一个优选实施例,步骤s2对环形码图像进行预处理,将用户输入的定位符素材与环形码图像进行匹配筛选,得到定位符并排序,具体包括以下步骤:对环形码图像进行滤波二值化处理;提取二值图像中的连通区域,并滤除面积大于或小于阈值的连通区域,对长宽比异常的轮廓进行滤波;对定位符图像进行多角度扩增,制作knn对比库,对各素材进行knn对比;判断对比结果是否大于或等于3,若否,定位检测失败,若是,对候选图标进行相似度度量,选出最终的三个定位图标。作为本发明的一个优选实施例,对环形码图像进行滤波二值化处理具体指的是通过中值滤波法消除待测图像的部分噪点,通过大津算法进行图像二值化处理,通过开运算断开二值化图像中素材边缘的狭窄连接。作为本发明的一个优选实施例,步骤s2根据定位符确定矫正符的位置,通过透视变换与优化矩阵算法矫正环形码变形具体包括对三个定位符进行顺时针判定,根据旋转角度对初始矫正符进行图像预处理;预测矫正符最近三个图标并进行相似度对比;对三个定位符和矫正符进行透视变换,以实现畸变矫正。作为本发明的一个优选实施例,步骤s3识别环形码中的编码点并根据编码规则进行解码具体包括以下步骤:由内环定位符起始点逆时针寻找编码点;对内环进行解码得到环数编码总长信息;计算缩放后的半径增量,确定相对编码点位置;对外环进行解码,得到总编码信息。作为本发明的一个优选实施例,环形码中的编码点具有不同的编码模式,包括但不限于数字、大写字母、ascii码和汉字。本发明的有益效果在于:能够针对具有任意素材构成的环形码进行解码。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为任意素材环形码各区域的结构图;图2为本发明一种任意素材环形码的定位与解码方法的流程图;图3是环形码定位放大流程;图4是环形码关键点检测与矫正流程图;图5为环形码解码流程;图6为环形码定位放大与畸变矫正示例图;图7为环形码定位标记与优化寻找编码点示例图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1展示了任意素材环形码各区域的结构图,其中各环检测区域具有素材图标代表编码为1,空白区域代表编码为0,其余各模块功能为:装饰区仅为环形码装饰作用,可用于传递产品信息;定位符用于确定环形码所在位置,以及初始编码位置与编码方向;矫正符配合定位符可组成图像畸变矫正所需的参数变量;辅助信息区域即第一内环的编码,则存储了传输内容类型,数据总长度,纠错参数等信息,在解码过程中可依据辅助信息区域确保传输信息的正确性;数据编码区为第二内环至最外环区域,包含传输信息以及纠错字的二进制编码。下面逐步对任意素材环形码解码流程中的定位放大环形码、关键点识别与矫正、编码点辨别与解码进行详细阐述。如图2-图4所示,本发明提出了一种任意素材环形码的定位与解码方法,包括以下步骤:s1,将待测图像输入目标检测模型进行环形码识别定位,返回环形码的坐标信息,根据坐标信息截取原图像中的环形码图像;用户使用此应用前需提前载入预训练好的目标检测模型。目标检测模型是专门针对任意素材环形码训练的,待检测图像通过目标检测模型可以检测出是否有环形码,如果存在环形码,则返回环形码检测框的坐标信息。利用返回的环形码坐标信息进行感兴趣区域截取并放大。此步骤可以剔除背景,方便后续定位符与矫正符号的检测。s2,对环形码图像进行预处理,将用户输入的定位符素材与环形码图像进行匹配筛选,得到定位符并排序,根据定位符确定矫正符的位置,通过透视变换与优化矩阵算法矫正环形码变形;①由于使用摄像头拍摄环形码时容易受到环境噪声的影响,因此可先使用中值滤波消除部分噪点,随后使用大津算法进行图像二值化。而拍摄角度的影响使得部分相邻素材的边界会被连接起来,因而需要使用开运算断开二值化图像中素材边缘的狭窄连接。②提取上述经过处理后的二值图像中的连通区域,计算各连通区域面积,通常情况下,面积呈正态分布,大部分面积大小为填充素材的外接矩形面积,而其余的较大或者较小的面积出现在因二值化不规范导致的中断区域,所以对所有轮廓面积进行排序,滤除过大或者过小的面积,随后计算外接矩形的长宽比,由于关键点图标的长宽比接近1:1,对于长宽比异常的轮廓进行滤除。③将用户输入的定位符素材与编码素材进行缩放,滤波,旋转等处理生成多张图片分别加上标签,将每张图片二值化后展开成1行400列的向量存入txt文件用于knn(k近邻算法)匹配库。由步骤②筛选剩下的素材进行缩放,与knn匹配库进行比对分类,将分类为定位符素材的候选素材存入列表。假设经过knn筛选出的定位符超过三个,那么进行择优算法再筛选出最终的三个定位符,具体步骤如下:设候选定位符为n个,取其中一个与剩下的n-1个图标进行ssim结构相似度匹配,将匹配的得分相似度最高的前两个得分相加存入列表l,对剩下的n-1个图标进行上述操作,得到列表l进行排序,由于三个定位符是相同的,所以排序得分最高的一组图标即为定位符。三个定位点求出来后需要对其进行排序确定起始点,其中长弧沿逆时针方向的末端位置为信息编码的起始点,即图1中最下方的定位符,三个定位点的排序是通过点乘算法确定。矫正符的检测所利用的算法也是ssim算法,不过不能直接使用,通过寻找到的三个定位符可以预测到矫正符的大概位置,因为四个标志位构成的是一个正方形。但是存在透视变换等因素的影响,预测的位置只能说是靠近矫正符的位置,所以设置了一个算法,在离预测位置的最近三个图标中对用户输入的矫正符进行相似度匹配,在匹配之前需要用三个定位点计算出整体环形码旋转角度,先将矫正符旋转对应角度再进行ssim匹配,得分最高的为矫正符。环形码整体旋转角度angle求取过程如下:设三个定位点排序为point0=(x0,y0),point1=(x1,y1),point2=(x2,y2)。中心点坐标为:point_center到point1之间向量的角度为:④图6(c)所示为利用定位符与矫正符的四个坐标对应原图6(b)四个定位点坐标进行透视变换矫正的结果。此步可用于矫正环形码的旋转与变形,透视变换使用的是opencv内置函数warpperspective。虽然初次透视变换后图像基本已经被矫正,如图7(c)所示,右下角还是会出现部分偏移,这是由于定位点在内环,而且定位点检测容易出现偏移误差,随着外环的增大,偏移误差也随着线性增大。这种现象容易造成环形码的编码点检测错误导致解码失败。为了解决这个问题,本发明提出了一种优化透视变换矩阵的算法,该算法主要思想是利用检测环形码最外环关键点与原图关键点之间的误差构成优化透视变换矩阵的损失函数,通过dfp(拟牛顿法)算法最小化误差来优化透视变换矩阵。先对内环进行解码可以得到辅助指示信息:环半径增量δr,总编码环数n。设用户指定素材的宽高分别为w与h,依据环形码内环固定存储44位二进制位的特性,可计算内环半径为:外环最大半径为:r_max=r n×δr最外环关键点是通过将②中筛选出的编码点透视变换,对透视变换后的点集进行四象限划分,象限划分是为了采集到的外环编码点均匀分布。为了避免出现检测到的外环编码点是外部的干扰点,本算法做了限定,采集到的编码点距离环中心不得超过r_max δr,每个象限抽取3个距离中心点最远的点作为外环的代表编码点,四个象限总共12个编码点作为拟合椭圆的12个关键点。求取出的椭圆方程与环形码中心点联立方程可求解出最外环上下左右四个关键点,具体过程如下:设椭圆方程为:fellipse(x,y)=ax2 bxy cy2 dx ey f环形码中心点p_c=(p_cx,p_cy),令x=p_cx,代入椭圆方程求解一元二次方程,所以,最外环上下两个关键点为(p_cx,y1),(p_cx,y2)。同理可求得最外环左右两个关键点。将求取的四个最外环关键点用透视变换逆矩阵返回,如图7(b)外环的四个圆圈所示,这四个关键点不需要是实际存在的编码点或者人为设计的的标志点,为此也减少了占用编码信息与额外检测算法的设计。如图7(d)为优化透视变换矩阵后的效果图,编码点的偏移误差已基本被消除。s3,识别环形码中的编码点并根据编码规则进行解码。与其他二维码不同的地方是,本环形码的定位点跟矫正符坐标是随编码数的变化而变化的,编码数越多,定位点跟矫正符所在的内环半径就越小。所以不同于其他二维码是固定定位点坐标。所以本发明采用相对坐标式来确定透视变换后的编码点。如图5环形码解码流程图所示,确定定位符三个位置区域后,将长弧逆时针方向的末端作为起始编码位置,沿着半径为r的圆周间隔读取图像块数据,以圆周长的四十分之一作为读取间隔的步长以及图像块宽高,若图像块内灰度覆盖面积大于块面积的一半,则存储的编码字节为1,反之为0。据此便能得到内环编码数据,按照表格1解码后便可得到辅助指示信息。其中在通过rs纠错,获取辅助信息区的编码信息后,为核对信息准确性以及环数,需要计算:设内环解码得到的模式指示符为m,传输字符长度为p,通过上述的第一步能计算得到编码字节数q,若q=k,则内环解码数据正确,否则解码失败。表格1辅助指示码(位数)编码模式指示符传输字符长度编码总长度数据块数辅助指示码纠错码268816内环数据解码无误后,第9-16位记录了编码数据总长度n,依据内环初始存储量与各环固定的存储增量,能够计算出环形码环数以及传递编码信息的数据长度。图7(d)展示了依据环数、半径增量、存储增量获得的各环信息编码块,同样按照灰度面积占比得到编码数据,从内部第二个环依次往外读取编码块,各环的起始编码位置与圆心处于同一条直线上,将最终得到的编码进行rs(n,k)编码纠错,与掩码做异或操作后,取前8n个编码位即为所传递信息的二进制编码。最后通过编码模式所规定的信息编码位数,对二进制数据进行分组解码。针对不同的编码模式的解码过程中,所实施的分组准则具体如下表所示:综上所述,本发明针对任意素材环形码独特的界面结构,设计了一种通过深度学习目标检测模型定位放大环形码与定位符、矫正符的匹配算法,并通过透视变换矩阵的优化极大降低了环形码畸变矫正误差,提高了真实场景中环形码的定位准确度,提升了解码成功率。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 
技术特征:

1.一种任意素材环形码的定位与解码方法,其特征在于,包括以下步骤:

s1,将待测图像输入目标检测模型进行环形码识别定位,返回环形码的坐标信息,根据坐标信息截取原图像中的环形码图像;

s2,对环形码图像进行预处理,将用户输入的定位符素材与环形码图像进行匹配筛选,得到定位符并排序,根据定位符确定矫正符的位置,通过透视变换与优化矩阵算法矫正环形码变形;

s3,识别环形码中的编码点并根据编码规则进行解码。

2.根据权利要求1所述的一种任意素材环形码的定位与解码方法,其特征在于,步骤s2对环形码图像进行预处理,将用户输入的定位符素材与环形码图像进行匹配筛选,得到定位符并排序,具体包括以下步骤:

对环形码图像进行滤波二值化处理;

提取二值图像中的连通区域,并滤除面积大于或小于阈值的连通区域,对长宽比异常的轮廓进行滤波;

对定位符图像进行多角度扩增,制作knn对比库,对各素材进行knn对比;

判断对比结果是否大于或等于3,若否,定位检测失败,若是,对候选图标进行相似度度量,选出最终的三个定位图标。

3.根据权利要求2所述的一种任意素材环形码的定位与解码方法,其特征在于,对环形码图像进行滤波二值化处理具体指的是通过中值滤波法消除待测图像的部分噪点,通过大津算法进行图像二值化处理,通过开运算断开二值化图像中素材边缘的狭窄连接。

4.根据权利要求2所述的一种任意素材环形码的定位与解码方法,其特征在于,步骤s2根据定位符确定矫正符的位置,通过透视变换与优化矩阵算法矫正环形码变形具体包括

对三个定位符进行顺时针判定,根据旋转角度对初始矫正符进行图像预处理;

预测矫正符最近三个图标并进行相似度对比;

对三个定位符和矫正符进行透视变换,以实现畸变矫正。

5.根据权利要求1所述的一种任意素材环形码的定位与解码方法,其特征在于,步骤s3识别环形码中的编码点并根据编码规则进行解码具体包括以下步骤:

由内环定位符起始点逆时针寻找编码点;

对内环进行解码得到环数编码总长信息;

计算缩放后的半径增量,确定相对编码点位置;

对外环进行解码,得到总编码信息。

6.根据权利要5所述的一种任意素材环形码的定位与解码方法,其特征在于,环形码中的编码点具有不同的编码模式,包括但不限于数字、大写字母、ascii码和汉字。

技术总结
本发明公开了一种任意素材环形码的定位与解码方法,属于二维码领域,包括以下步骤:将待测图像输入目标检测模型进行环形码识别定位,返回环形码的坐标信息,根据坐标信息截取原图像中的环形码图像;对环形码图像进行预处理,将用户输入的定位符素材与环形码图像进行匹配筛选,得到定位符并排序,根据定位符确定矫正符的位置,通过透视变换与优化矩阵算法矫正环形码变形;识别环形码中的编码点并根据编码规则进行解码。本发明能够针对具有任意素材构成的环形码进行解码。

技术研发人员:徐波
受保护的技术使用者:徐波
技术研发日:2019.12.31
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-54657.html

最新回复(0)