二维码定位方法及装置与流程

文档序号:18526752发布日期:2019-08-24 10:19阅读:1064来源:国知局
二维码定位方法及装置与流程

本发明涉及空间定位技术领域,具体涉及一种二维码定位方法及装置。



背景技术:

现有技术中,运动体通过搭载的相机对布置在地面上的二维码进行识别,并根据二维码在图像中的位置信息以及二维码在现实场景内的位置信息,计算出相机的当前位置信息,从而实现运动体的定位功能。其中,二维码在图像中的位置信息可由二维码检测程序直接获得,而二维码在现实场景内的位置信息已预先标定并保存在数据库中。

由于二维码布置在地面上,因此,相机镜头需朝向地面设置以获取二维码。而由于相机镜头与地面的间距较小,导致了相机镜头的视场较小;同时,由于二维码在地面上的分布密度小,导致了相机在大多数情况下只能捕获到一个二维码,甚至无法捕捉到二维码。另外,由于二维码布置在地面上,其容易受到外力的作用而偏移原始位置。

基于上述内容可知,现有的二维码定位主要通过相机获取地面上的单个二维码,并利用机器视觉技术对该单个二维码进行位置的反向解析以获取运动体的当前位置信息,但其存在定位不准确的缺陷。



技术实现要素:

本发明的主要目的在于提出一种二维码定位方法,以解决现有的二维码定位方式存在的定位不准确的技术问题。

为解决上述技术问题,本发明提出一种二维码定位方法,该二维码定位方法包括:采集目标图像,其中所述目标图像中包含多个二维码;获取各所述二维码的标识码,并根据所述标识码查找所述二维码的中心在全局坐标系中的第一位姿信息;获取各所述二维码的中心在图像坐标系中的第二位姿信息;根据各所述二维码对应的第一位姿信息和第二位姿信息,并按照所述全局坐标系与图像坐标系之间的转换关系,计算得到所述相机在所述全局坐标系中的多个第一全局坐标;根据所述多个第一全局坐标计算得到第二全局坐标。

优选地,所述全局坐标系与图像坐标系之间的转换关系为:

其中,所述为所述二维码的中心在所述全局坐标系中的第一位姿信息,所述(h,w,θ)为所述二维码的中心在所述图像坐标系中的第二位姿信息,所述(x,y)为所述相机在所述全局坐标系中的第一全局坐标。

优选地,所述根据所述多个第一全局坐标计算得到第二全局坐标的步骤包括:根据各所述二维码的中心与所述目标图像的中心的距离,给各所述二维码对应的第一全局坐标分配权重因子;根据所述权重因子,并按照加权平均数公式计算得到所述相机的第二全局坐标。

优选地,所述二维码定位方法还包括:根据所述多个第一全局坐标的各x轴坐标值和/或各y轴坐标值之间的差值大小,删除所述多个第一全局坐标中存在异常的第一全局坐标。

优选地,所述采集目标图像的步骤包括:在同一位置连续采集多帧目标图像;所述二维码定位方法还包括:对同一位置处由同一个二维码计算得到的多个第一全局坐标进行滤波去噪处理。

本发明进一步提出一种二维码定位装置,该二维码定位装置包括:图像采集模块,用于采集目标图像,其中所述目标图像中包含多个二维码;第一位姿获取模块,用于获取各所述二维码的标识码,并根据所述标识码查找所述二维码的中心在全局坐标系中的第一位姿信息;第二位姿获取模块,用于获取各所述二维码的中心在图像坐标系中的第二位姿信息;坐标转换模块,用于根据各所述二维码对应的第一位姿信息和第二位姿信息,并按照所述全局坐标系与图像坐标系之间的转换关系,计算得到所述相机在所述全局坐标系中的多个第一全局坐标;数据处理模块,用于根据所述多个第一全局坐标计算得到第二全局坐标。

优选地,所述全局坐标系与图像坐标系之间的转换关系为:

其中,所述为所述二维码的中心在所述全局坐标系中的第一位姿信息,所述(h,w,θ)为所述二维码的中心在所述图像坐标系中的第二位姿信息,所述(x,y)为所述相机在所述全局坐标系中的第一全局坐标。

优选地,所述数据处理模块包括:权重因子分配单元,用于根据各所述二维码的中心与所述目标图像的中心的距离,给各所述二维码对应的第一全局坐标分配权重因子;数据处理单元,用于根据所述权重因子,并按照加权平均数公式计算得到所述相机的第二全局坐标。

优选地,所述二维码定位装置还包括:异常坐标删除模块,用于根据所述多个第一全局坐标的各x轴坐标值和/或各y轴坐标值之间的差值大小,删除所述多个第一全局坐标中存在异常的第一全局坐标。

优选地,所述图像采集模块在同一位置连续采集多帧目标图像,所述图像采集模块包括:滤波去噪单元,用于对同一位置处由同一个二维码计算得到的多个第一全局坐标进行滤波去噪处理。

本发明技术方案的有益效果在于:通过机器视觉算法对获取的多个二维码分别进行解算,以获取相机在全局坐标系下的多个第一全局坐标,并对该多个第一全局坐标系进行数据处理,从而获得最能反映相机位置的第二全局坐标。

附图说明

图1为本发明二维码定位方法第一实施例的流程图;

图2为本发明二维码定位方法第二实施例的流程图;

图3为本发明二维码定位方法第三实施例的流程图;

图4为本发明二维码定位方法第四实施例的流程图;

图5为本发明二维码定位方法第五实施例的流程图;

图6为本发明二维码定位方法的全局坐标系与图像坐标系的示意图;

图7为本发明二维码定位方法的二维码在图像坐标系下的各角点的坐标示意图;

图8为本发明二维码定位装置一实施例的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为解决上述技术问题,本发明提出一种二维码定位方法,参见图1,该二维码定位方法包括以下步骤:

步骤s10,采集目标图像,其中目标图像中包含多个二维码,并且二维码位于相机上方;

本实施例中,二维码被设置在相机的上方空间,如天花板,相机则以仰视的姿态设置在运动体上,以使得二维码与相机镜头的距离大大增加,从而增大相机的有效视场,进而保证相机采集到的目标图像中包含有多个二维码。

在采集到包含多个二维码的目标图像后,以通过开源视觉处理库opencv检测并提取目标图像中的多个二维码,其主要包括如下步骤:

1、对相机采集到的目标图像进行灰度处理:相机采集到的目标图像是rgb格式的彩色图像,由红(red)、绿(green)、蓝(blue)三种基本颜色按照一定的比例混合得到,每一种颜色分量有256个灰度级,三种颜色组合可以表示出2^24种颜色,几乎可以表示人类能够感知到的所有颜色。其中,彩色图像包含了大量识别过程中不需要的色彩信息,这些信息都需要占用存储空间。由于在计算机中,r、g、b三个分量分别占用一个字节的内存,一个像素至少需要占用三个字节的内存,而灰度图像只表示亮度信息,只需要占用一个字节内存,因此,在图像处理过程中,通常都先将彩色图像转换成灰度图像,这样不但可以减少存储开销,而且可以减少后续图像处理的计算量,从而加快二维码的识别速度。

假设灰度图像中灰度值用y表示,彩色图像各分量的灰度值为r、g、b,那么标准的灰度值y的计算公式为:y=0.30r+0.59g+0.11b。

可以理解的是,如若采集到的目标图像是黑白色,则无需对其进行灰度处理。

2、采用otsu自适应门限的图像二值化方法,对上述得到的灰度图像做二值化处理,以获得对应的二值图像。

需要说明的是,otsu法是用某一假定的灰度值t将图像的灰度分成两组,当两组的类间方差最大时,此灰度值t就是图像二值化的最佳阈值,再利用该最佳阈值二值化图像。

为便于理解,假设图像有m个灰度值,取值范围为0~m-1,在此范围内选取灰度值t,将图像分成两组g0和g1,g0包含的像素的灰度值为0~t,g1的灰度值为t+1~m-1,另外,用n表示图像像素总数,ni表示灰度值为i的像素的个数。

其中,每一个灰度值i出现的概率为pi=ni/n,并假设g0和g1两组像素的个数在整体图像中所占百分比为w0、w1,两组平均灰度值为u0、u1。

由此可得,

进一步的,除采用otsu法选取用于图像二值化的阈值外,还可采用双峰法、p参数法、最大熵阈值法及迭代法等,对于本领域技术人员而言,可根据实际情况进行选择。

3、通过cvfindcontours函数从二值图像中检索轮廓,并结合drawcontours函数绘制检索到的轮廓。

4、根据二维码三个区域的特征,对轮廓进行面积与比例过滤,以获取二维码的三个定位角点。

5、根据获取到的三个定位角点,计算其最小包围矩形,该最小包围矩形即该二维码的整体图像,复制并保存该二维码图像。

步骤s20,获取各二维码的标识码,并根据标识码查找二维码的中心在全局坐标系中的第一位姿信息;

可以理解的是,每个二维码都预先储存有其在全局坐标系中的第一位姿信息,并与各自的唯一标识码相关联,即可通过各二维码的唯一标识码查询其对应的第一位姿信息。具体的,通过zbar算法对检测到的各二维码进行信息识别,以获取其对应的唯一标识码,即id信息。

其中,上述提及的第一位姿信息即为二维码在目标空间内的位置坐标及姿态角,该第一位姿信息可在安装二维码之前或安装二维码之后获得。在安装二维码之前,通过对二维码安装平面进行预先规划,以计算出各二维码在安装平面内的位置坐标及姿态角;而在安装二维码之后,则通过相机对安装后的二维码进行“反向标定”,以获取各二维码在安装平面内的位置坐标及姿态角。

需要说明的是,上述提及的“反向标定”是相对于现有的二维码的位姿标定方式而言的,即现有的二维码的位姿标定是首先对安装平面进行规划,以计算出每个二维码在安装平面的位姿,然后再将各二维码对应粘贴至安装平面;而“反向标定”的方式则是首先将二维码粘贴至安装平面上,然后通过相机捕获二维码图像,最后再通过相应的视觉算法计算二维码的位姿信息。

步骤s30,获取各二维码的中心在图像坐标系中的第二位姿信息;

根据二维码的三个定位角点,获取与其形成最小矩形的第四个定位角点所在位置,再根据该四个定位角点确定二维码的中心位置并计算其坐标,其中,各定位角点在图像坐标系中的坐标能够直接读取。

具体参见图7,假设二维码的三个定位角点分别为p1(x1,y1)、p2(x2,y2)和p3(x3,y3,),根据该三个定位角点确定二维码的第四个定位角点为p4(x4,y4,),再根据该四个定位角点确定二维码的中心点o2所在位置,并计算二维码的中心点o2的坐标,即

其中,二维码的中心点o2在图像坐标系中的姿态角为中心点o2与图像坐标系的x轴之间的夹角,该夹角可通过识别二维码的中心在图像坐标系中的朝向获得。

步骤s40,根据各二维码对应的第一位姿信息和第二位姿信息,并按照全局坐标系与图像坐标系之间的转换关系,计算得到相机在全局坐标系中的多个第一全局坐标;

可以理解的是,在获知第一位姿信息和第二位姿信息之后,通过各坐标之间的相互转换,能够获知相机在全局坐标系中的第一全局坐标,亦即运动体在目标空间内的位置坐标,从而实现二维码的定位功能。

更具体的,全局坐标系与图像坐标系之间的转换关系为:

参见图6,θ角为自定义坐标系x2oy2与图像坐标系x1o1y1之间的x轴夹角,角为自定义坐标系x2oy2与全局坐标系xoy之间的x轴夹角。

需要说明的是,点o为全局坐标系的原点,点o1为图像坐标系的原点,点o2为二维码的中心,其中,x2oy2是以二维码的中心为原点,二维码所在平面为x2y2平面建立的自定义坐标系。

需要说明的是,为二维码的中心在全局坐标系中的第一位姿信息,(h,w,θ)为二维码的中心在图像坐标系中的第二位姿信息,(x,y)为所述相机在全局坐标系中的第一全局坐标。

在获知第一位姿信息和第二位姿信息后,按照上述记载的坐标转换公式,可计算出相机在全局坐标系中的第一全局坐标。

步骤s50,根据多个第一全局坐标计算得到第二全局坐标。

本实施例中,在任意时刻,由于相机在全局坐标系中的位姿没有发生变化,因此,由各二维码反算出的多个相机的第一全局坐标应该相同。

但在实际应用中,受相机镜头的畸变、光照条件的不均衡以及视觉算法的误差等因素的干扰,由各二维码反算出的多个相机的第一全局坐标不尽相同。

基于上述干扰因素,本申请对计算得到的多个第一全局坐标进行数据处理,以获取能够较为准确反映相机当前位置的第二全局坐标,其所采用的数据处理方式可以是算术平均、加权平均或中位值平均等,包括但不限于此。

为便于理解,假设在目标图像中获取到的二维码数量为3,则由该3个二维码计算得到的第一全局坐标分别为oc1(x1,y1)、oc2(x2,y2)和oc3(x3,y3),在获得该三个第一全局坐标后,以通过算术平均的方式对其进行处理,以获取最能反映相机位置的第二全局坐标oc,其中,oc的坐标值为

进一步的,由于处于相机视场中心的二维码所提供的位置信息具有更高的置信度,而处于边界位置的二维码提供的位置信息则可能存在较大的误差,因此,本申请对相机视场中处于不同位置的二维码提供的位置信息,分配不同的权重因子,以对各个二维码提供的位置信息进行加权平均,从而减少因相机光学系统的误差和相机移动而导致的定位误差。

具体的,参见图2,步骤s50包括:

步骤s51,根据各二维码的中心与目标图像的中心的距离,给各二维码对应的第一全局坐标分配权重因子;

本实施例中,假设整体的权重因子为1,在目标图像中获取到的二维码数量为3,分别对应为二维码a、二维码b和二维码c,并计算获得二维码a与目标图像的中心的距离为2、二维码b与目标图像的中心的距离为4以及二维码c与目标图像的中心的距离为4,基于此,分配给二维码a、二维码b和二维码c的权重因子分别为0.5、0.25和0.25。

步骤s52,根据权重因子,并按照加权平均数公式计算得到相机的第二全局坐标。

可以理解的是,加权平均数公式为:其中f1+f2+...+fk=n。f1、f2、…、fk为各二维码对应的权重因子。

将各二维码对应的第一全局坐标的x轴坐标值和对应的权重因子代入至上述加权平均数公式,可计算得到x轴的加权平均值;再将各二维码对应的第一全局坐标的y轴坐标值和对应的权重因子代入至加权平均数公式,可计算得到y轴的加权平均值。

如此,便可计算获得最能反映相机当前位置信息的第二全局坐标。

由于二维码设置在空间内,因此,将不可避免的存在着表面污损的问题。可以理解的是,当二维码表面存在污损时,将导致由该二维码反算出的相机的全局坐标出现异常。

针对二维码存在的表面污损的问题,参见图3,本发明所提出的二维码定位方法还包括:

步骤s60,根据多个第一全局坐标的各x轴坐标值和/或各y轴坐标值之间的差值大小,删除多个第一全局坐标中存在异常的第一全局坐标。

在计算得到的多个第一全局坐标中,如若存在部分坐标值与其它坐标值存在明显差异的情况,则在对多个第一全局坐标进行数据处理时,将其删除以避免对其它坐标值造成影响。

具体的,假设通过四个二维码计算得到的相机的四个第一全局坐标分别为p5(11,7)、p6(10,6.5)、p7(10.5,7.5)及p8(5,3),对该多个第一全局坐标进行数据分析,得知p8的全局坐标值与p5、p6及p7的全局坐标值存在较大差异,因此,可判断p8的全局坐标明显异常,并将其删除。

在一较佳实施例中,参见图4,步骤s10包括:

步骤s01,在同一位置连续采集多帧目标图像;

参见图5,本发明所提出的二维码定位方法还包括:

步骤s70,对同一位置处由同一个二维码计算得到的多个第一全局坐标进行滤波去噪处理。

本实施例中,为消除图像噪声的影响,将对同一位置处由同一个二维码计算得到的多个第一全局坐标进行滤波处理。

进一步的,上述提及的滤波包括限幅滤波法、中位值滤波法、限幅平均滤波法、中位值平均滤波法及算术平均滤波法等,包括但不限于此,本领域技术人员可根据实际情况进行选择。

基于上述二维码定位方法,本发明还提出一种二维码定位装置,参见图8,该二维码定位装置包括:

图像采集模块1,用于采集目标图像,其中目标图像中包含多个二维码;

第一位姿获取模块2,用于获取各二维码的标识码,并根据标识码查找二维码的中心在全局坐标系中的第一位姿信息;

第二位姿获取模块3,用于获取各二维码的中心在图像坐标系中的第二位姿信息;

坐标转换模块4,用于根据各二维码对应的第一位姿信息和第二位姿信息,并按照全局坐标系与图像坐标系之间的转换关系,计算得到相机在全局坐标系中的多个第一全局坐标;

数据处理模块5,用于根据多个第一全局坐标计算得到第二全局坐标。

在上述实施例中,全局坐标系与图像坐标系之间的转换关系为:

其中,为二维码的中心在全局坐标系中的第一位姿信息,(h,w,θ)为二维码的中心在图像坐标系中的第二位姿信息,(x,y)为相机在全局坐标系中的第一全局坐标。

在上述实施例中,本发明所提出的数据处理模块5包括:

权重因子分配单元51,用于根据各二维码的中心与目标图像的中心的距离,给各二维码对应的第一全局坐标分配权重因子;

数据处理单元52,用于根据权重因子,并按照加权平均数公式计算得到相机的第二全局坐标。

在一较佳实施例中,本发明所提出的二维码定位装置,还包括:

异常坐标删除模块6,用于根据多个第一全局坐标的各x轴坐标值和/或各y轴坐标值之间的差值大小,删除多个第一全局坐标中存在异常的第一全局坐标。

在另一较佳实施例中,本发明所提出的图像采集模块1在同一位置连续采集多帧目标图像,其包括:

滤波去噪单元11,用于对同一位置处由同一个二维码计算得到的多个全局坐标进行滤波去噪处理。

上述记载的二维码定位装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于计算机设备中,也可以以软件形式存储于存储器中,以便于计算机设备调用并执行以上各个模块对应的功能。上述各功能模块的工作原理及其所起作用可参见图1至图5中所示的二维码定位方法的实现过程,在此不再赘述。

以上所述的仅为本发明的部分或优选实施例,无论是文字还是附图都不能因此限制本发明保护的范围,凡是在与本发明一个整体的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明保护的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1