二维码位姿标定方法、装置及系统与流程

文档序号:18512695发布日期:2019-08-24 09:14阅读:1996来源:国知局
二维码位姿标定方法、装置及系统与流程

本发明涉及二维码定位技术领域,具体涉及一种二维码位姿标定方法、装置及系统。



背景技术:

二维码定位,其主要根据二维码在相机中的位置和二维码在目标空间内的位置,计算出相机的当前位置。具体的:通过相机获取目标空间内的二维码图像,并对其进行图像处理,以获得该二维码的id(身份编码)信息及二维码在相机中的位置信息;之后,根据id信息查找数据库中预先保存的该二维码在目标空间内的位置信息;最后,根据二维码在相机中的位置信息与二维码在目标空间内的位置信息进行计算得到。

现有技术中,大多数厂商都是先对二维码的安装平面进行规划,以计算出每个二维码对应的安装位置,并将各二维码对应的安装位置保存至数据库;同时,在各二维码的安装位置处进行标记,以保证各二维码的准确安装。

基于上述内容可知,二维码需严格按照预先规划的安装位置进行安装,即将各二维码对应安装至各标记位置。但是,由于二维码大都是由人工进行安装的,因此,将不可避免的导致二维码的实际安装位置与预先规划的安装位置存在偏差,从而使得相机在进行图像识别及定位时存在一定程度的误差,进而影响二维码定位的定位精度。



技术实现要素:

本发明的主要目的在于提出一种二维码位姿标定方法,旨在解决现有的二维码定位精度低的技术问题。

为解决上述技术问题,本发明提出一种二维码位姿标定方法,该二维码位姿标定方法包括:采集目标图像,其中所述目标图像中包括有至少两个二维码;从所述目标图像中获取每一个二维码的四个特征点的像素坐标,以及每一个二维码的四个特征点的绝对坐标;根据每一个二维码的四个特征点的像素坐标、绝对坐标、相机内参数和相机畸变参数,并调用opencv的solvepnp函数,计算所述相机相对于每一个二维码的外参数;通过所述相机的外参数计算每一个二维码相对于所述相机的位姿;根据所述二维码相对于所述相机的位姿,计算各所述二维码之间的相对位姿;以二维码安装基准面上的任一二维码为坐标原点建立坐标系,确定各所述二维码在所述坐标系中的位姿。

优选地,所述获取每一个二维码的四个特征点的像素坐标的步骤包括:识别并获取所述目标图像中的二维码;对所述二维码进行阈值处理和二值化操作,以获得所述二维码的阈值图像;从所述二维码的阈值图像中提取轮廓,以获取所述二维码的四个特征点;计算所述二维码的四个特征点在所述目标图像中的像素坐标。

优选地,所述获取每一个二维码的四个特征点的绝对坐标的步骤包括:获取所述二维码的尺寸信息;以二维码所在平面为xy平面,任一所述特征点为原点,建立绝对坐标系;计算所述二维码的其它特征点在所述绝对坐标系中的绝对坐标。

优选地,所述通过所述相机的外参数计算每一个二维码相对于所述相机的位姿的步骤包括:根据所述相机外参数中的旋转矩阵公式,计算相机坐标系相对于绝对坐标系的各轴旋转角;以所述各轴旋转角对所述相机坐标系进行旋转,计算所述相机在绝对坐标系中的位姿;根据所述绝对坐标系与相机坐标系之间的转换关系,计算所述二维码相对于所述相机的位姿。

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

本发明进一步提出一种二维码位姿标定装置,该二维码位姿标定装置包括:图像采集模块,用于采集目标图像;像素坐标获取模块,用于从所述目标图像中获取每一个二维码的四个特征点的像素坐标;绝对坐标获取模块,用于从所述目标图像中获取每一个二维码的四个特征点的绝对坐标;第一计算模块,用于根据每一个二维码的四个特征点的像素坐标、绝对坐标、相机内参数和相机畸变参数,并调用opencv的solvepnp函数,以计算所述相机相对于每一个二维码的外参数;第二计算模块,用于通过所述相机的外参数计算每一个二维码相对于所述相机的位姿;第三计算模块,用于根据所述二维码相对于所述相机的位姿,计算各所述二维码之间的相对位姿;位姿确定模块,用于以二维码安装基准面上的任一二维码为坐标原点建立坐标系,确定各所述二维码在所述坐标系中的位姿。

优选地,所述像素坐标获取模块包括:二维码识别单元,用于识别并获取所述目标图像中的二维码;阈值图像获取单元,用于对所述二维码进行阈值处理和二值化操作,以获得所述二维码的阈值图像;特征点获取单元,用于从所述二维码的阈值图像中提取轮廓,以获取所述二维码的四个特征点;第一计算单元,用于计算所述二维码的四个特征点在所述目标图像中的像素坐标。

优选地,所述绝对坐标获取模块包括:尺寸获取单元,用于获取所述二维码的尺寸信息;坐标系获取单元,用于以二维码所在平面为xy平面,任一所述特征点为原点,建立绝对坐标系;第二计算单元,用于计算所述二维码的其它特征点在所述绝对坐标系中的绝对坐标。

优选地,所述第二计算模块包括:第三计算单元,根据所述相机外参数中的旋转矩阵公式,计算相机坐标系相对于绝对坐标系的各轴旋转角;第四计算单元,用于以所述各轴旋转角对所述相机坐标系进行旋转,计算所述相机在绝对坐标系中的位姿;第五计算单元,用于根据所述绝对坐标系与相机坐标系之间的转换关系,计算所述二维码相对于所述相机的位姿。

本发明还提出一种二维码位姿标定系统,该二维码位姿标定系统包括移动平台、设置在所述移动平台上的相机以及图像处理装置,所述图像处理装置包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器调用时执行上述方法权利要求中任一项所述的二维码位姿标定方法的步骤。

本发明技术方案的有益效果在于:通过相机对二维码进行位姿标定,以使得二维码的安装较为简单,同时,由于二维码的位姿是对安装后的二维码进行标定得到的,因此,不存在因二维码位置偏差而导致的定位精度问题,从而间接的提高了二维码定位的定位精度。

附图说明

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

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

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

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

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

图6为本发明二维码位姿标定方法的移动平台的行进轨迹示意图;

图7为本发明二维码位姿标定方法的二维码的四个特征点的坐标示意图;

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

图9为发明二维码位姿标定系统一实施例的结构示意图。

具体实施方式

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

为解决上述问题,本发明通过运动体和搭载在运动体上的相机,捕获安装平面上的二维码图像,并通过相应的视觉算法对二维码图像进行计算,以获得每个二维码的实际物理位置和姿态信息。

需要说明的是,运动体可以是移动小车,也可以是其它的移动平台,其安装有控制运动的传感器及电子控件,以驱使小车按照预设的轨迹运动,并通过搭载在运动体上的相机获取整个安装平面上的二维码的位姿信息,从而实现对二维码位姿的“反向标定”。

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

参见图1,本发明所提出的二维码位姿标定方法,包括以下步骤:

步骤s10,采集目标图像,其中目标图像中包括有至少两个二维码;

本实施例中,以二维码安装在天花板上为例,相机则以仰视的姿态安装在移动小车上,并按照预先设定的运动程序前进,以完全捕获所有的二维码。

需要说明的是,移动小车在运动之前,其位于安装平面下方的边缘处,并保证相机能在一帧目标图像中同时捕获到多个二维码。上述提及的预设运动程序,参见图6,具体为,当移动小车在前进过程中停止后,若捕获不到包含二维码的目标图像,则继续前进一段距离;如若还是捕获不到二维码,则调转行进方向;移动小车在多次调转行进方向后,若仍未捕获到二维码,则停止运动。

进一步的,每个二维码均包含有特定的标识码,标识码中包含有冗余信息,通过该冗余信息可避免二维码之间的错误检测,即将二维码a错误检测为二维码b。

步骤s20,从目标图像中获取每一个二维码的四个特征点的像素坐标,以及每一个二维码的四个特征点的绝对坐标;

可以理解的是,二维码的四个定位角点即上述提及的四个特征点,该四个特征点能够被二维码检测程序检测出并获取其对应的像素坐标和绝对坐标。

步骤s30,根据每一个二维码的四个特征点的像素坐标、绝对坐标、相机内参数和相机畸变参数,并调用opencv的solvepnp函数,计算相机相对于每一个二维码的外参数;

对于相机而言,其内参数和畸变参数一般是可知的,而二维码在图像中的像素坐标及其绝对坐标已通过上述步骤s20计算获得。因此,根据已知的opencv的solvepnp函数,将二维码的四个特征点的像素坐标、绝对坐标、相机内参数和相机畸变参数依次输入至函数中,以计算出相机相对于二维码的外参数。

步骤s40,通过相机的外参数计算每一个二维码相对于相机的位姿;

需要说明的是,相机外参数包括旋转矩阵和平移矩阵,在得知旋转矩阵和平移矩阵后,根据世界坐标系与相机坐标系之间的坐标转换公式,计算获得二维码在相机坐标系中的位姿,即二维码相对于相机的位姿。

步骤s50,根据二维码相对于相机的位姿,计算各二维码之间的相对位姿;

步骤s60,以二维码安装基准面上的任一二维码的相对位姿为坐标原点建立坐标系,确定各二维码在该坐标系中的位姿。

在本发明实施例中,需根据相机镜头的选取、二维码的粘贴高度以及二维码的实际大小,在天花板上粘贴一定密度分布的二维码,以使该二维码的密度分布能够保证相机在运动过程中的任一时刻都可以捕获到至少一个二维码。

进一步的,假设相机首先采集的目标图像中包含有两个二维码,二维码c和二维码d,通过上述步骤s20~s50阐述的二维码位姿标定方法对二维码c和二维码d进行计算,以获得两者之间的相对位姿信息。

在获得二维码c和二维码d之间的相对位姿之后,移动小车按照当前方向和预设速度继续行进,运动一段距离后停止;此时,捕获到的目标图像中出现了二维码e,对二维码e进行位姿标定并计算二维码e与目标图像中的其它二维码之间的相对位姿,如二维码d和二维码e之间的相对位姿,或二维码c、二维码d及二维码e之间的相对位姿。

在获取二维码e与其它二维码的相对位姿后,移动小车继续前进;前进一段距离后,若相机捕获的目标图像中未出现新的二维码,但仍然捕获到二维码c、二维码d和/或二维码e,则对二维码c、二维码d和/或二维码e进行再次计算,并将再次计算得到的各二维码之间的相对位姿信息与之前的相对位姿信息进行滤波处理,以降低误差。

参见图2,在步骤s20中的获取每一个二维码的四个特征点的像素坐标的步骤包括以下步骤:

步骤s21,提取目标图像中的每一个二维码;

本实施例中,由于采集到的目标图像除二维码外,还存在其它的图像,因此,为获取各二维码中的信息,需从采集到的目标图像中提取出各个二维码。

步骤s22,对二维码进行阈值处理和二值化操作,以获得二维码的阈值图像;

步骤s23,从二维码的阈值图像中提取轮廓,以获取二维码的四个特征点;

步骤s24,计算二维码的四个特征点在目标图像中的像素坐标。

本实施例中,相机采集到包含有二维码的目标图像后,提取目标图像中的二维码,再通过步骤s22~步骤s24阐述的方法对二维码进行图像处理,以获得二维码的四个特征点在目标图像中的像素坐标。

在本发明实施例中,为获得二维码的四个特征点的绝对坐标,参见图3,需执行以下方法步骤:

步骤s25,获取二维码的尺寸信息;

步骤s26,以二维码所在平面为xy平面,任一特征点为原点,建立绝对坐标系;

步骤s27,计算二维码的其它特征点在绝对坐标系中的绝对坐标。

可以理解的是,二维码一般为矩形或正方形,通过获取二维码的尺寸信息,以确定二维码的长度值a和宽度值b。而后,以二维码所在平面为xy平面,即二维码的长和宽对应坐标系的x轴和y轴,再以任一特征点为原点o,建立绝对坐标系。由于二维码的长度值a和宽度值b已经获取,因此,可较为容易的计算出其它特征点在该绝对坐标系中的绝对坐标值。

需要说明的是,上述提及的绝对坐标系的z轴垂直于二维码所在平面,而由于二维码的四个特征点都在一个平面内,因此,各特征点在z轴上的数值为0,参见图7,即各特征点在上述绝对坐标系内的绝对坐标可以分别表示为p1(0,0,0)、p2(a,0,0)、p3(a,b,0)及p4(0,b,0)。

进一步的,还可以二维码的几何中心作为原点o,二维码所在平面为xy平面,建立绝对坐标系,并依次计算二维码的四个特征点在该绝对坐标系中的绝对坐标。

在本发明具体实施例中,在步骤s30之前,本发明所提出的二维码位姿标定方法还包括以下步骤:

利用棋盘格标定相机参数,以获取相机的内参数和畸变参数。

可以理解的是,相机内参数,其描述了相机的内部参数,主要包括焦距、像元尺寸及图像中心等物理特性,此为相机的固有属性,可通过棋盘格进行标定得到。

由于相机镜头的原因,场景中内的一条直线投影至图像上时不再是一条直线,如曲线等,即产生了光学畸变。因此,需要通过棋盘格对相机镜头进行标定,以对其进行校正。

参见图4,步骤s40包括以下步骤:

步骤s41,根据相机外参数中的旋转矩阵公式,计算相机坐标系相对于绝对坐标系的各轴旋转角;

可以得知的是,旋转矩阵公式为

由于在步骤s30中已经计算出旋转矩阵r值的大小,因此,根据上述旋转矩阵公式可分别求得各轴旋转角,具体如下:

相机坐标系相对于绝对坐标系的z轴的旋转角:θz=atan2(r21,r11);

相机坐标系相对于绝对坐标系的y轴的旋转角:

相机坐标系相对于绝对坐标系的z轴的旋转角:θz=atan2(r32,r33);

需要说明的是,atan2为c++中的函数,atan2(y,x)的运算方法:当x的绝对值比y的绝对值大时,按照atan(y/x)计算;反之,按照atan(x/y)计算。如此,可保证数值的稳定性。

步骤s42,以各轴旋转角对相机坐标系进行旋转,计算相机在绝对坐标系中的位姿;

本实施例中,假设原始相机坐标系为c0,将该原始相机坐标系c0按照上述各轴旋转角依次旋转:

首先,坐标系c0绕其z轴旋转θz,得到新的坐标系c1;

然后,将坐标系c1绕其y轴旋转θy,得到新的坐标系c2;

最后,将坐标系c2绕其x轴旋转θx,得到新的坐标系c3,该坐标系c3与绝对坐标系完全平行。

此时,获取相机坐标系的原点的坐标,该坐标即为相机在绝对坐标系中的位姿。

步骤s43,根据绝对坐标系与相机坐标系之间的转换关系,计算二维码相对于相机的位姿。

本实施例中,假设在步骤s43中计算获得的相机在绝对坐标系中的位姿为(x,y,z,r,p,q),则根据绝对坐标系与相机坐标系之间的转换关系可知,二维码相对于相机的位姿为(-x,-y,-z,-r,-p,-q)。其中,x,y,z为二维码的相对位置信息,而r,p,q为二维码的相对姿态信息。

在一较佳实施例中,参见图5,步骤s10中的采集目标图像的步骤包括以下步骤:

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

本发明所提出的二维码位姿标定方法还包括以下步骤:

步骤s70,对同一位置处由每一帧目标图像计算得到的各二维码之间的相对位姿进行滤波去噪处理。

本实施例中,为消除图像噪声的影响,将从多帧图像中得到的相对位姿信息进行滤波算法处理。

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

在实际应用中,若对二维码的密度要求不高,则在整个二维码的标定过程中可通过多安装一些二维码的方式以提高二维码位姿的标定精度,待整个标定过程完成后再将不需要的二维码取下,以降低二维码的使用量和密度分布,同时也降低了成本。

基于上述步骤s10~步骤s70的二维码位姿标定方法,其相较于传统的二维码位姿标定方式,具有如下优点:

1、传统二维码的物理位置布局,其存在着因人工布局而导致的误差,同时,当二维码数量较多的时候,将大大增加其施工时间;若需要将二维码粘贴至天花板上时,其施工难度将大大增加。

为克服因人工安装二维码而导致的实际安装位与设置位有偏差的问题,本发明技术方案采取了较为随意的安装方式,这样不仅减少了二维码的安装时间,也降低了二维码的安装难度以及安装过程中带来的误差。

2、利用移动小车上的相机进行“反向标定”,使得在天花板上进行二维码布局的方式变得较为简单,从而降低了整个二维码安装的困难程度。

3、在二维码的位姿标定过程中,为使相机视野中的二维码连续,在标定时可以加大二维码的分布密度,而在标定结束后再将部分不需要的二维码取下,以减少二维码的使用量。

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

图像采集模块1,用于采集目标图像;

像素坐标获取模块2,用于从目标图像中获取每一个二维码的四个特征点的像素坐标;

绝对坐标获取模块3,用于从目标图像中获取每一个二维码的四个特征点的绝对坐标;

第一计算模块4,用于根据每一个二维码的四个特征点的像素坐标、绝对坐标、相机内参数和相机畸变参数,并调用opencv的solvepnp函数,以计算相机相对于每一个二维码的外参数;

第二计算模块5,用于通过相机的外参数计算每一个二维码相对于相机的位姿;

第三计算模块6,用于根据二维码相对于相机的位姿,计算各二维码之间的相对位姿;

位姿确定模块7,用于以二维码安装基准面上的任一二维码为坐标原点建立坐标系,确定各二维码在该坐标系中的位姿。

在上述实施例中,像素坐标获取模块2包括:

二维码提取单元21,用于识别并获取目标图像中的二维码;

阈值图像获取单元22,用于对二维码进行阈值处理和二值化操作,以获得二维码的阈值图像;

特征点获取单元23,用于从二维码的阈值图像中提取轮廓,以获取二维码的四个特征点;

第一计算单元24,用于计算二维码的四个特征点在目标图像中的像素坐标。

在上述实施例中,绝对坐标获取模块3包括:

尺寸获取单元31,用于获取二维码的尺寸信息;

坐标系获取单元32,用于以二维码所在平面为xy平面,任一特征点为原点,建立绝对坐标系;

第二计算单元33,用于计算二维码的其它特征点在绝对坐标系中的绝对坐标。

在上述实施例中,第二计算模块5包括:

第三计算单元51,根据相机外参数中的旋转矩阵公式,计算相机坐标系相对于绝对坐标系的各轴旋转角;

第四计算单元52,用于以各轴旋转角对相机坐标系进行旋转,计算相机在绝对坐标系中的位姿;

第五计算单元53,用于根据绝对坐标系与相机坐标系之间的转换关系,计算二维码相对于相机的位姿。

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

参见图9,本发明还提出一种二维码位姿标定系统,该二维码位姿标定系统包括移动平台100、设置在移动平台100上的相机200以及图像处理装置300,图像处理装置300包括存储器310和处理器320,存储器310存储有计算机程序,计算机程序被处理器320调用时执行步骤s10~步骤s70中任一项的二维码位姿标定方法的步骤。

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

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