基于多个二维码的识别定位方法、装置、设备及存储介质与流程

文档序号:23262496发布日期:2020-12-11 18:51阅读:248来源:国知局
基于多个二维码的识别定位方法、装置、设备及存储介质与流程

本发明涉及空间定位领域,特别涉及一种基于多个二维码的识别定位方法、装置、设备及存储介质。



背景技术:

二维码又称二维条形码,它通过某种特定的几何图形按一定规律在平面(二维方向)上分布形成的图形记录数据符号信息。与传统的条形码相比,二维码具有信息容量高、纠错能力强、译码可靠性高等特点,并具有成本低、易制作等优势。

然而,现有的二维码定位通常是基于单个二维码实现的,也即先通过运动物体上的图像采集装置采集二维码图像,再对二维码图像中二维码的位置信息进行识别,最后将此二维码的位置信息转换为世界坐标系下的位置信息,从而实现对于运动物体的定位导航。

实际使用时,在某些环境下经常会出现识别性差的问题,比如当二维码出现污损、遮挡及损坏时,图像采集装置所采集到的该二维码图像,其无法被系统所识别,导致基于单个二维码的识别失败,也就无法利用该二维码对运动物体进行定位导航。



技术实现要素:

本发明的主要目的在于提出一种基于多个二维码的识别定位方法,旨在解决现有的基于单个二维码的识别定位所存在的识别性差的技术问题。

为实现上述目的,本发明提出一种基于多个二维码的识别定位方法,该基于多个二维码的识别定位方法包括:采集移动空间内的定位标签图像,所述定位标签图像通过所述定位相机捕捉;判断采集到的定位标签图像中是否存在完整的二维码;若所述定位标签图像中存在至少一个完整的二维码,则获取各所述二维码的id;根据各所述二维码的id分别计算出所述定位标签的id,并判断通过各所述二维码的id计算得到的所述定位标签的id是否一致;若通过各所述二维码的id计算得到的所述定位标签的id一致,则判断各所述二维码中是否存在处于中间位置的二维码,处于中间位置的二维码的面积大于其它位置的二维码的面积;若存在处于中间位置的二维码,则根据所述中间位置的二维码确定所述移动平台的全局坐标;若不存在处于中间位置的二维码,则根据每个处于其它位置的所述二维码确定所述移动平台的全局坐标。

优选地,所述根据中间位置的二维码确定所述移动平台的位置坐标包括:获取所述中间位置的二维码在图像坐标系下的位姿信息;将所述中间位置的二维码在图像坐标系下的位姿信息,代入至图像坐标系与全局坐标系之间的转换公式中,以计算得到所述移动平台在所述全局坐标系下的全局坐标。

优选地,所述根据每个处于其它位置的所述二维码确定所述移动平台的位置坐标包括:分别获取各所述其它位置的二维码在图像坐标系下的位姿信息;将各所述其它位置的二维码在图像坐标系下的位姿信息,代入至图像坐标系与全局坐标系之间的转换公式中,以计算得到多个所述移动平台在全局坐标系下的位置坐标;对各所述全局坐标系下的位置坐标进行平均计算,以将所述平均值作为所述移动平台的全局坐标。

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

其中,所述为所述二维码的中心在所述全局坐标系中的位姿信息,所述(h,w,θ)为所述二维码的中心在所述图像坐标系中的位姿信息,所述(x,y)为所述移动平台在所述全局坐标系中的全局坐标。

本发明还提出一种基于多个二维码的识别定位装置,该基于多个二维码的识别定位装置包括:图像采集模块,用于采集移动空间内的定位标签图像;第一判断模块,用于判断采集到的定位标签图像中是否存在完整的二维码;id获取模块,用于在所述定位标签图像中存在至少一个完整的二维码时,获取各所述二维码的id;第二判断模块,用于根据各所述二维码的id分别计算出所述定位标签的id,并判断通过各所述二维码的id计算得到的所述定位标签的id是否一致;第三判断模块,用于在通过各所述二维码的id计算得到的所述定位标签的id一致时,判断各所述二维码中是否存在处于中间位置的二维码,处于中间位置的二维码的面积大于其它位置的二维码的面积;第一确定模块,用于在存在处于中间位置的二维码时,根据所述中间位置的二维码确定所述移动平台的全局坐标;第二确定模块,用于在不存在处于中间位置的二维码时,根据每个处于其它位置的所述二维码确定所述移动平台的全局坐标。

优选地,所述第一确定模块包括:第一位姿获取单元,用于获取所述中间位置的二维码在图像坐标系下的位姿信息;第一全局坐标获取单元,用于将所述中间位置的二维码在图像坐标系下的位姿信息,代入至图像坐标系与全局坐标系之间的转换公式中,以计算得到所述移动平台在所述全局坐标系下的全局坐标。

优选地,所述第二确定模块包括:第二位姿获取单元,用于分别获取各所述其它位置的二维码在图像坐标系下的位姿信息;第二全局坐标获取单元,用于将各所述其它位置的二维码在图像坐标系下的位姿信息,代入至图像坐标系与全局坐标系之间的转换公式中,以计算得到多个所述移动平台在全局坐标系下的位置坐标;第三全局坐标获取单元,用于对各所述全局坐标系下的位置坐标进行平均计算,以将所述平均值作为所述移动平台的全局坐标。

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

其中,所述为所述二维码的中心在所述全局坐标系中的位姿信息,所述(h,w,θ)为所述二维码的中心在所述图像坐标系中的位姿信息,所述(x,y)为所述移动平台在所述全局坐标系中的全局坐标。

本发明还提出一种基于多个二维码的识别定位设备,该基于多个二维码的识别定位设备包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时,实现前述各实施例记载的基于多个二维码的识别定位方法。

本发明还提出一种存储介质,该存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现前述各实施例记载的基于多个二维码的识别定位方法。

与现有技术相比,本发明实施例的有益技术效果在于:

本发明实施例所提出的识别定位方法,其所采集到的定位标签由多个二维码组成,只要移动平台上的定位相机识别到定位标签中的任意一个二维码,就可以通过该二维码计算得到移动平台在全局坐标系下的位置坐标,也即移动平台在其所处移动空间内的定位坐标,根据该定位坐标可实现对于移动平台的定位导航。由于仅需识别到其中任意一个二维码即可定位,因此,本发明实施例所提出的识别定位方法提高了基于二维码定位的稳定性、可靠性和冗余性。此外,处于定位标签中间位置的二维码是的面积大于其它位置的二维码的面积,实际设计时为2.25倍,正常情况下,以中间位置的二维码的定位信息为主,因为中间位置的二维码的面积大,利用该二维码进行定位能够提高定位精度。

附图说明

图1为本发明基于多个二维码的识别定位方法一实施例的流程图;

图2为由多个二维码组成的单个定位标签的结构示意图;

图3为本发明基于多个二维码的识别定位装置一实施例的功能模块图。

具体实施方式

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

本发明提出一种基于多个二维码的识别定位方法,在一实施方式中,参见图1,该基于多个二维码的识别定位方法包括:

步骤s10,采集移动空间内的定位标签图像,定位标签图像通过定位相机捕捉;

本实施例中,定位标签由多个二维码组成,二维码数量为n*n,该定位标签分布在移动平台的移动空间内,以对移动平台进行定位导航。定位标签可以分布在天花板上,也可以分布在地面上,还可以分布在两侧的墙面上,本领域技术人员可根据实际情况进行设置,包括但不限于此。在移动平台上设置有定位相机,移动平台在移动空间内行进时,通过定位相机实时采集移动空间内布置的定位标签,以根据采集到的定位标签解算出移动平台的当前位置坐标。需要说明的是,移动平台可以是智能停车场中使用到的agv自主导引车,还可以是智能物流仓储中使用到的货物搬运车,包括但不限于此。

步骤s20,判断采集到的定位标签图像中是否存在完整的二维码;

本实施例中,在采集到定位标签图像后,先对定位标签图像进行图像预处理,以将定位标签图像中出现的干扰物剔除。在剔除掉定位标签图像中的干扰物后,再对该定位标签图像中的各二维码进行滤波及二值化操作,在完成滤波及二值化操作后,对各二维码进行边缘检测、筛选,截取筛选出的二维码图像并做投影变换。若存在完整的二维码,则在对其进行图像边缘检测时,便能够定位到该二维码周围的黑色方框,也即此二维码为完整的二维码。在识别到多个二维码后,再根据各个二维码解算出移动平台当前所处的位置坐标。

步骤s30,若定位标签图像中存在至少一个完整的二维码,则获取各二维码的id;

本实施例中,在采集到的定位标签图像中,可能存在因被遮挡或因定位相机视角限制,而导致获取到的定位标签图像中存在不完整的二维码。因此,在采集到定位标签图像后,需先判断定位标签图像中所存在的二维码是否完整。若定位标签图像中存在完整的二维码,则对该二维码进行识别以获取该二维码的id。

步骤s40,根据各二维码的id分别计算出定位标签的id,并判断通过各二维码的id计算得到的定位标签的id是否一致;

本实施例中,参见图2,定位标签中二维码的数量为3*3,也即定位标签由9个二维码组成,并且各二维码的id分别为10、11、12、13、14、15、16、17、18,而定位标签的id为1。在获取到各二维码的id后,根据公式计算:定位标签id=(单个二维码id-1)/9,将采集到的定位标签图像中完整的二维码的id代入上述计算公式,以验证通过各二维码的id计算出的定位标签的id是否一致。需要说明的是,通过上述公式计算所得到的值取其正数部分。若通过各二维码的id计算出的定位标签的id不一致,则表示对于该定位标签的识别失败,不输出数据;若通过各二维码的id计算出的定位标签的id一致,则继续执行以下步骤s50-步骤s70所记载的方法步骤。

步骤s50,若通过各二维码的id计算得到的定位标签的id一致,则判断各二维码中是否存在处于中间位置的二维码,处于中间位置的二维码的面积大于其它位置的二维码的面积;

本实施例中,处于中间位置的二维码的面积大于其它位置的二维码的面积,实际设计时为2.25倍。在正常情况下,以中间位置的二维码的定位信息为主,因为中间位置的二维码的面积大,利用该二维码进行定位能够提高定位精度。因此,在利用定位标签中的各二维码进行定位时,需先判断此定位标签中所存在的完整二维码,是否具有处于中间位置的二维码。若具有中间位置的二维码,则根据该中间位置的二维码解算出移动平台当前所处的位置坐标;若不具有中间位置的二维码,则根据每个其它位置的二维码解算出移动平台当前所处的位置坐标。

步骤s60,若存在处于中间位置的二维码,则根据中间位置的二维码确定移动平台的全局坐标;

本实施例中,根据公式:(单个二维码的id-1)%9=4,判断采集到的定位标签图像中的二维码是否存在处于中间位置的二维码。需要说明的是,符号%表示的是相除后取余数。具体的,在获取到各二维码的id后,将各二维码的id代入上述计算公式,若通过上述计算公式计算得到的值的余数为4,则表示该二维码为处于中间位置的二维码。在步骤s40中记载了处于中间位置的二维码的id为14,将14代入上述公式,计算得到的值为1余4,也即验证了此二维码为处于中间位置的二维码。若在定位标签图像中存在处于中间位置的二维码,则根据该中间位置的二维码解算出移动平台当前所处位置的全局坐标。

步骤s70,若不存在处于中间位置的二维码,则根据每个处于其它位置的二维码确定移动平台的全局坐标。

本实施例中,在不存在处于中间位置的二维码时,根据每个处于其它位置的二维码解算出移动平台当前所处位置的全局坐标,具体是在通过每个二维码单独计算得到一个移动平台的全局坐标后,对计算得到的每个全局坐标进行平均值计算,以将计算得到的平均值作为移动平台当前所处位置的全局坐标。

在一实施例中,根据中间位置的二维码确定移动平台的位置坐标包括:

获取中间位置的二维码在图像坐标系下的位姿信息;

将中间位置的二维码在图像坐标系下的位姿信息,代入至图像坐标系与全局坐标系之间的转换公式中,以计算得到移动平台在全局坐标系下的全局坐标。

本实施例中,通过定位相机所采集的定位标签图像,该定位标签图像在图像坐标下的位姿信息可直接获取得到,那么定位标签图像中处于中间位置的二维码在图像坐标系下的位姿信息也可获得。在获得二维码在图像坐标系下的位姿信息后,将其代入图像坐标系与全局坐标系的转换公式中,以计算得到移动平台在全局坐标系下的全局坐标。

图像坐标系与全局坐标系之间的转换公式为:

其中,为二维码的中心在全局坐标系中的位姿信息,(h,w,θ)为二维码的中心在图像坐标系中的位姿信息,(x,y)为移动平台在全局坐标系中的全局坐标。

在又一实施例中,根据每个处于其它位置的二维码确定移动平台的位置坐标包括:

分别获取各所述其它位置的二维码在图像坐标系下的位姿信息;

将各其它位置的二维码在图像坐标系下的位姿信息,代入至图像坐标系与全局坐标系之间的转换公式中,以计算得到多个移动平台在全局坐标系下的位置坐标;

对各全局坐标系下的位置坐标进行平均计算,以将平均值作为移动平台的全局坐标。

本实施例中,通过定位相机所采集的定位标签图像,该定位标签图像在图像坐标下的位姿信息可直接获取得到,那么定位标签图像中处于其它位置的各二维码在图像坐标系下的位姿信息也可获得。在获得二维码在图像坐标系下的位姿信息后,将其代入图像坐标系与全局坐标系的转换公式中,以计算得到移动平台在全局坐标系下的全局坐标。在计算得到多个全局坐标后,再对多个全局坐标进行平均计算,以将计算得到的平均值作为移动平台的全局坐标。

图像坐标系与全局坐标系之间的转换公式为:

其中,为二维码的中心在全局坐标系中的位姿信息,(h,w,θ)为二维码的中心在图像坐标系中的位姿信息,(x,y)为移动平台在全局坐标系中的全局坐标。

基于前述所提出的基于多个二维码的识别定位方法,参见图3,本发明还提出一种基于多个二维码的识别定位装置,该基于多个二维码的识别定位装置包括:

图像采集模块10,用于采集移动空间内的定位标签图像;

第一判断模块20,用于判断采集到的定位标签图像中是否存在完整的二维码;

id获取模块30,用于在定位标签图像中存在至少一个完整的二维码时,获取各二维码的id;

第二判断模块40,用于根据各二维码的id分别计算出定位标签的id,并判断通过各二维码的id计算得到的定位标签的id是否一致;

第三判断模块50,用于在通过各二维码的id计算得到的定位标签的id一致时,判断各二维码中是否存在处于中间位置的二维码,处于中间位置的二维码的面积大于其它位置的二维码的面积;

第一确定模块60,用于在存在处于中间位置的二维码时,根据中间位置的二维码确定移动平台的全局坐标;

第二确定模块70,用于在不存在处于中间位置的二维码时,根据每个处于其它位置的二维码确定移动平台的全局坐标。

在一实施例中,本发明实施例所提出的第一确定模块60包括:

第一位姿获取单元,用于获取中间位置的二维码在图像坐标系下的位姿信息;

第一全局坐标获取单元,用于将中间位置的二维码在图像坐标系下的位姿信息,代入至图像坐标系与全局坐标系之间的转换公式中,以计算得到移动平台在全局坐标系下的全局坐标。

在另一实施例中,本发明实施例所提出的第二确定模块70包括:

第二位姿获取单元,用于分别获取各其它位置的二维码在图像坐标系下的位姿信息;

第二全局坐标获取单元,用于将各其它位置的二维码在图像坐标系下的位姿信息,代入至图像坐标系与全局坐标系之间的转换公式中,以计算得到多个移动平台在全局坐标系下的位置坐标;

第三全局坐标获取单元,用于对各全局坐标系下的位置坐标进行平均计算,以将平均值作为移动平台的全局坐标。

在又一实施例中,本发明实施例所提出的图像坐标系与全局坐标系之间的转换公式为:

其中,为二维码的中心在全局坐标系中的位姿信息,(h,w,θ)为二维码的中心在图像坐标系中的位姿信息,(x,y)为移动平台在全局坐标系中的全局坐标。

基于前述所提出的基于多个二维码的识别定位方法,本发明还提出一种基于多个二维码的识别定位设备,该基于多个二维码的识别定位设备包括:

存储器,用于存储计算机程序;

处理器,用于执行计算程序时,实现前述各实施例记载的基于多个二维码的识别定位方法,该基于多个二维码的识别定位方法至少包括以下步骤:

步骤s10,采集移动空间内的定位标签图像,定位标签图像通过定位相机捕捉;

步骤s20,判断采集到的定位标签图像中是否存在完整的二维码;

步骤s30,若定位标签图像中存在至少一个完整的二维码,则获取各二维码的id;

步骤s40,根据各二维码的id分别计算出定位标签的id,并判断通过各二维码的id计算得到的定位标签的id是否一致;

步骤s50,若通过各二维码的id计算得到的定位标签的id一致,则判断各二维码中是否存在处于中间位置的二维码,处于中间位置的二维码的面积大于其它位置的二维码的面积;

步骤s60,若存在处于中间位置的二维码,则根据中间位置的二维码确定移动平台的全局坐标;

步骤s70,若不存在处于中间位置的二维码,则根据每个处于其它位置的二维码确定移动平台的全局坐标。

基于前述所提出的基于多个二维码的识别定位方法,本发明还提出一种存储介质,该存储介质存储有计算机程序,计算机程序被处理器执行时,实现前述各实施例记载的基于多个二维码的识别定位方法,该基于多个二维码的识别定位方法至少包括以下步骤:

步骤s10,采集移动空间内的定位标签图像,定位标签图像通过定位相机捕捉;

步骤s20,判断采集到的定位标签图像中是否存在完整的二维码;

步骤s30,若定位标签图像中存在至少一个完整的二维码,则获取各二维码的id;

步骤s40,根据各二维码的id分别计算出定位标签的id,并判断通过各二维码的id计算得到的定位标签的id是否一致;

步骤s50,若通过各二维码的id计算得到的定位标签的id一致,则判断各二维码中是否存在处于中间位置的二维码,处于中间位置的二维码的面积大于其它位置的二维码的面积;

步骤s60,若存在处于中间位置的二维码,则根据中间位置的二维码确定移动平台的全局坐标;

步骤s70,若不存在处于中间位置的二维码,则根据每个处于其它位置的二维码确定移动平台的全局坐标。

在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

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

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