CN111627075B - 基于aruco码的摄像头外参标定方法、系统、终端及介质 - Google Patents
基于aruco码的摄像头外参标定方法、系统、终端及介质 Download PDFInfo
- Publication number
- CN111627075B CN111627075B CN202010441858.7A CN202010441858A CN111627075B CN 111627075 B CN111627075 B CN 111627075B CN 202010441858 A CN202010441858 A CN 202010441858A CN 111627075 B CN111627075 B CN 111627075B
- Authority
- CN
- China
- Prior art keywords
- aruco
- dimensional coordinate
- calibration
- camera
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本申请提供一种基于aruco码的摄像头外参标定方法、系统、终端及介质,包括:设计包括aruco码阵列的标定板图像并预设各顶点的三维坐标信息;获取包括aruco码阵列的标定板图像并在其中搜索aruco码;提取每个aruco码中的各顶点的二维坐标信息,并与预设的三维坐标信息进行匹配;计算摄像头在该三维坐标系下的位姿信息;对所述位姿信息进行转换,以得到所述摄像头的标定外参结果。解决了现有技术中由于过多的人工干预,导致在获取对应点坐标时误差增大,使标定成本增加,以及计算与发布过程极为繁琐且效率低下的问题;本申请使用多个aruco码阵列作为标定板图像,避免了人工干预并且降低了对应点坐标获取过程中的误差,提高了外参标定的准确率,不仅降低工作成本,还提高了标定效率。
Description
技术领域
本申请涉及一种计算机视觉领域,特别是涉及一种基于aruco码的摄像头外参标定方法、系统、终端及介质。
背景技术
随着彩色深度摄像头的发展,获得高质量三维点云越来越方便,同时也促进了立体视觉的发展和应用,例如三维测量,三维建模等。然而由于单个摄像头的视野并不能涵盖我们所需要的模型,因此在获得模型信息时,我们通常选用三到四个,甚至更多的摄像头用以获得数据。因此,如何将每个摄像头得到的数据精确的融合在一起并成为这种项目上至关重要的部分。
摄像头标定技术利用标定物体的二维图像恢复出摄像头内外参数,进而重建出场景的三维信息,是计算机视觉领域的关键步骤,是基于视觉传感器各方面应用的前提条件,在工业、航天、文化创意等领域具有广泛应用。
在计算机视觉和图形学领域,对于安防监控、互动体感游戏、自动驾驶、环境3D建模等应用场景,都需要对摄像头进行外参标定,从而实现真实物理空间与摄像头视野的位置关系映射。
例如对于机器人来说,摄像头是机器人获取外部信息的重要设备,机器人为了获得基于自身坐标系的外部信息的准确位置,就需要对摄像头进行外参标定。
现有最常用的外参标定方法是通过人工获取对应点的坐标进行计算。然而,由于以上技术方案需要过多的人工干预,导致在获取对应点坐标时误差增大,进而增加了标定误差,同时人工标定所需要花费的成本也更高;另外,在对多个摄像头进行标定,计算与发布过程极为繁琐且效率低下。
申请内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供一种基于aruco码的摄像头外参标定方法、系统、终端及介质,用于解决现有技术中需要过多的人工干预,导致在获取对应点坐标时误差增大,进而增加了标定误差,同时人工标定所需要花费的成本也更高;另外,在对多个摄像头进行标定,计算与发布过程极为繁琐且效率低下的问题。
为实现上述目的及其他相关目的,本申请提供一种基于aruco码的摄像头外参标定方法,包括:设计包括aruco码阵列的标定板图像并预设各顶点的三维坐标信息;获取包括aruco码阵列的标定板图像并在其中搜索aruco码;提取每个aruco码中的各顶点的二维坐标信息,并将所述二维坐标信息与预设的三维坐标信息进行匹配;根据所述匹配信息计算摄像头在该三维坐标系下的位姿信息;对所述位姿信息进行转换,以得到所述摄像头的标定外参结果。
于本申请的一实施例中,预设每个aruco码中的各顶点的三维坐标信息的方式包括:以所述标定板的中心点作为原点,分别建立包括x轴、y轴以及z轴的三维坐标系;根据所述三维坐标系测量出所述aruco码中的各顶点的三维坐标信息;其中,将平行于所述标定板上边的向右的射线作为坐标系x轴正方向,将平行于标定板侧边的向上的射线作为坐标系y轴正方向,将垂直于标定板平面向外的射线为z轴正方向。
于本申请的一实施例中,提取每个aruco码中的各顶点的二维坐标信息的方式包括:根据所述aruco码的候选marker找到候选的方形或凸边型区域;对所述标定板图像进行透视变换,得到正视图;将所述正视图阈值化以分离白色和黑色位;通过所述白色和黑色位来决定所述候选marker的身份信息;根据所述身份信息获得所述候选marker四角的坐标,以得到所述aruco码的各顶点的二维坐标信息。
于本申请的一实施例中,根据所述aruco码的各顶点二维坐标信息与预设的三维坐标信息的匹配计算摄像头在三维坐标系下的位姿信息的方式,包括:根据所述匹配信息通过线性方程计算摄像头在三维坐标系下的位姿信息。
于本申请的一实施例中,对所述位姿信息进行转换,以得到所述摄像头的标定外参的方式包括:对所述位姿信息的旋转矩阵根据欧拉公式进行转换,以得到所述摄像头的标定外参结果。
于本申请的一实施例中,当所述摄像头为多个,所述标定外参包括:各摄像头之间的相对标定外参结果。
为实现上述目的及其他相关目的,本申请提供一种基于aruco码的摄像头外参标定系统,包括:处理模块,用于设计包括aruco码阵列的标定板图像并预设各顶点的三维坐标信息;在包括aruco码阵列的标定板图像中搜索aruco码;提取每个aruco码中的各顶点的二维坐标信息,得到与所述二维坐标信息与预设三维坐标信息匹配;根据所述匹配信息计算摄像头在三维坐标系下的位姿信息;对位姿信息进行转换,以得到所述摄像头的标定外参。
于本申请的一实施例中,所述处理模块还用于:根据所述aruco码的候选marker找到候选的方形或凸边型区域;对所述标定板图像进行透视变换,得到正视图;将所述正视图阈值化以分离白色和黑色位;通过所述白色和黑色位来决定所述候选marker的身份信息;根据所述身份信息获得所述候选marker四角的坐标,以得到所述aruco码的各顶点的二维坐标信息。
为实现上述目的及其他相关目的,本申请提供一种基于aruco码的摄像头外参标定终端,包括:存储器,用于存储计算机程序与预设的三维坐标信息;处理器,用于运行所述计算机程序,以执行所述的基于aruco码的摄像头外参标定方法。
为实现上述目的及其他相关目的,本申请提供一种机器人,包括:一或多个摄像头以及与所述摄像头连接的所述基于aruco码的摄像头外参标定系统。
如上所述,本申请的基于aruco码的摄像头外参标定方法、系统、终端及介质,具有以下有益效果:本申请使用多个aruco码阵列作为标定板图像,避免了人工干预并且有效降低了对应点坐标获取过程中的误差,进而提高了摄像头外参标定的准确率,不仅降低工作成本,还大大提高了标定效率。
附图说明
图1显示为本申请一实施例中的实施环境的结构示意图。
图2显示为本申请一实施例中的基于aruco码的摄像头外参标定方法的流程示意图。
图3显示为本申请一实施例中的基于aruco码的摄像头外参标定系统的结构示意图。
图4显示为本申请一实施例中的基于aruco码的摄像头外参标定终端的结构示意图。
图5显示为本申请一实施例中的机器人的结构示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,在下述描述中,参考附图,附图描述了本申请的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本申请的精神和范围的情况下进行机械组成、结构、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本申请的实施例的范围仅由公布的专利的权利要求书所限定。这里使用的术语仅是为了描述特定实施例,而并非旨在限制本申请。空间相关的术语,例如“上”、“下”、“左”、“右”、“下面”、“下方”、““下部”、“上方”、“上部”等,可在文中使用以便于说明图中所示的一个元件或特征与另一元件或特征的关系。
在通篇说明书中,当说某部分与另一部分“耦接”时,这不仅包括“直接连接”的情形,也包括在其中间把其它元件置于其间而“间接连接”的情形。另外,当说某种部分“包括”某种构成要素时,只要没有特别相反的记载,则并非将其它构成要素,排除在外,而是意味着可以还包括其它构成要素。
其中提到的第一、第二及第三等术语是为了说明多样的部分、成份、区域、层及/或段而使用的,但并非限定于此。这些术语只用于把某部分、成份、区域、层或段区别于其它部分、成份、区域、层或段。因此,以下叙述的第一部分、成份、区域、层或段在不超出本申请范围的范围内,可以言及到第二部分、成份、区域、层或段。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
如图1所述,展示本申请实施例中的实施环境示意图。
在本实施例中,工作装置11包括一或多个摄像头12,所述摄像头12拍摄到标定板13上的图像,通过根据所述标定板13上的图像进行外参标定,得到所述摄像头12的标定外参结果。
其中,所述标定板13上的图像包括一或多个aruco码阵列,根据所述一或多个aruco码阵列可以得到所述工作装置11的摄像头的标定外参结果。
所述工作装置11可以为任一用于工作的机械装置,在此不作限定。举例来说,所述工作装置为带有一或多个摄像头的机器人。
本申请提供一种基于aruco码的摄像头外参标定方法,用于解决需要过多的人工干预,导致在获取对应点坐标时误差增大,进而增加了标定误差,同时人工标定所需要花费的成本也更高;另外,在对多个摄像头进行标定,计算与发布过程极为繁琐且效率低下的问题;本申请使用多个aruco码阵列作为标定板图像,避免了人工干预并且有效降低了对应点坐标获取过程中的误差,进而提高了摄像头外参标定的准确率,不仅降低工作成本,还大大提高了标定效率。
aruco码是一种应用于AR/VR领域的二维基准标识码,可以实现精准地摄像头位姿估计。本发明选择使用aruco二维基准标识码:aruco二维基准标识码与日常所见的QR码、DataMatrix等二维码有很大不同,每个aruco码仅包含自身唯一确定的ID信息,该ID由阿拉伯数字表示。Aruco码编码简单,鲁棒性强,可在摄像头距离较远、摄像头移动速度较快或图像相对较模糊的情况下快速准确地识别出图像中的aruco码。aruco码具有旋转不变性,根据内部编码可唯一确定它四个角点的顺序并得到aruco码自身坐标系的方向。
所述aruco码是一个二进制平方标记,它由一个宽的黑边和一个内部的二进制矩阵组成,内部的矩阵决定了它们的id。黑色的边界有利于快速检测到图像,二进制编码可以验证id,并且允许错误检测和矫正技术的应用。
如图2所示,展示本申请实施例中的基于aruco码的摄像头外参标定方法的流程示意图,所述方法可应用于例如图1实施例中的工作装置11。
所述方法包括:
步骤S201:设计包括aruco码阵列的标定板图像并预设各顶点的三维坐标信息。
可选的,根据预设的aruco码阵列各点的三维坐标信息,设计包括包括aruco码阵列的标定板图像。
可选的,预设每个aruco码中的各顶点的三维坐标信息的方式包括:
以所述标定板的中心点作为原点,分别建立包括x轴、y轴以及z轴的三维坐标系;
根据所述三维坐标系测量出所述aruco码中的各顶点的三维坐标信息;
其中,将平行于所述标定板上边的向右的射线作为坐标系x轴正方向,将平行于标定板侧边的向上的射线作为坐标系y轴正方向,将垂直于标定板平面向外的射线为z轴正方向。
另外,所述标定板为一具有上边与侧边的方形结构,例如,正方形以及长方形。
需要注意的是,建立的所述三维坐标系为右手系。
步骤S202:获取包括aruco码阵列的标定板图像并在其中搜索aruco码。
可选的,所述摄像头拍摄所述标定板上的标定板图像,根据所述包括aruco码阵列的标定板图像在其中搜索所述aruco码。
可选的,在所述标定板图像上aruco码阵列的排列顺序以及位置是固定的,具体的,在标定板图像上的所述不同排列顺序的aruco码阵列构成不同的外参标定结果,以及不同位置的aruco码阵列构成不同的外参标定结果。
可选的,获取包括aruco码阵列的标定板图像并在其中搜索aruco码,并检查所述aruco码的个数和排列是否和预设值一致,若一致继续下一步步骤。
可选的,所述aruco码阵列为一或多个,根据不同数量的以及种类aruco码阵列搜索出不同的aruco码。
可选的,获取包括aruco码阵列的标定板图像并在其中搜索aruco码的数量以及内容。
可选的,所述aruco码为一或多个。
S203:提取每个aruco码中的各顶点的二维坐标信息,并将所述二维坐标信息与预设的三维坐标信息进行匹配。
可选的,提取每个aruco码中的各顶点的二维坐标信息的方式包括:根据所述aruco码的候选marker找到候选的方形或凸边型区域;对所述标定板图像进行透视变换,得到正视图;将所述正视图阈值化以分离白色和黑色位;通过所述白色和黑色位来决定所述候选marker的身份信息;根据所述身份信息获得所述候选marker四角的坐标,以得到所述aruco码的各顶点的二维坐标信息。
可选的,当所述aruco码为多个,分别对每个aruco码提取其中各顶点的二维坐标信息,并将各顶点的二维坐标信息与预设的三维坐标信息匹配。
可选的,分别对每个aruco码提取所述aruco码的四个顶点的二维坐标信息,并将各顶点的二维坐标信息转换与预设的三维坐标信息匹配,并记录匹配的坐标信息。
其中,提取到的每个aruco码中的各顶点的二维坐标信息对应的二维坐标系作为图像坐标系;转换的对应的三维坐标信息对应的三维坐标系为世界坐标系。
可选的,所述三维坐标信息为(x,y,z),即为世界坐标信息,所述二维坐标信息(u,v)是点投影在图像平面的坐标,以像素为单位。A被称作摄像机矩阵,或者内参数矩阵。(cx,cy)是基准点(通常在图像的中心),fx,fy是以像素为单位的焦距(fx=f/Sx,fy=f/Sy其中f为焦距,Sx,Sy分别为一个像素CCD单元的x,y方向的实际长度)。旋转-平移矩阵[R|t]被称作外参数矩阵,它用来描述相机相对于一个固定场景的运动,或者相反,物体围绕相机的的刚性运动([R|t]的作用是得到物体在xy平面与成像面平行z轴和相机光轴相共线的一个三维坐标系下的坐标表示)。也就是[R|t]将点(X,Y,Z)的坐标变换到某个坐标系,这个坐标系相对于摄像机来说是固定不变的。上面的变换等价与下面的形式:
S204:根据所述匹配信息计算摄像头在该三维坐标系下的位姿信息。
可选的,根据所述三维坐标信息通过线性方程计算摄像头在三维坐标系下的位姿信息。
可选的,将顶点的图像二维坐标与预设的三维坐标一一匹配后,即可计算出摄像头在世界坐标下的位姿T=[R|t]。
忽略旋转矩阵R的正交约束,用12个参数表示位姿x=[a1,…,a12],上式可变为
整理后可以得到线性方程组的形式
已知一对点提供两个方程,为了解出所有参数,需要至少6对点对,得到
Ax=0
其中,A的大小为2n×12。通过SVD分解可以获得x的解,以此便得到了相机的位姿。
其中,所述三维坐标信息为(x,y,z),即为世界坐标信息,所述二维坐标信息(u,v)是点投影在图像平面的坐标,以像素为单位。A被称作摄像机矩阵,或者内参数矩阵。(cx,cy)是基准点(通常在图像的中心),fx,fy是以像素为单位的焦距(fx=f/Sx,fy=f/Sy其中f为焦距,Sx,Sy分别为一个像素CCD单元的x,y方向的实际长度)。
可选的,检测所述标定板图像中是否出现至少一个aruco码,如果是,根据识别出的所有aruco码的ID信息,确定每个aruco码的角点像素坐标和与之相对应的三维空间坐标,利用PnP迭代算法估计相机在世界坐标系中的位置和姿态信息。
S205:对所述位姿信息进行转换,以得到所述摄像头的标定外参结果。
可选的,对所述位姿信息的旋转矩阵根据欧拉公式进行转换,以得到所述摄像头的标定外参结果。
可选的,当需要标定摄像头与机器外参时,通常只需要标定出摄像头正方向与机器人正方向的夹角,并假设姿态角(偏航角、俯仰角以及翻滚角)中有两者已经确定。位姿T中的旋转矩阵R可根据欧拉公式获得其单个角度,进而获得标定外参结果。
可选的,需要获得摄像头与工作装置的外参时,需要在标定区域预先设定工作装置的位置与朝向,即需要有相应的基座使得工作装置的位姿固定。并且测量出基座在世界坐标系中的位姿Tbw.在通过算法计算出摄像头的位姿为Tcw时,摄像头与工作装置的外参为:
可选的,当所述摄像头为多个,所述标定外参包括:各摄像头之间的相对标定外参结果。
可选的,当需要标定多个摄像头之间的外参时,需要保证标定板同时被至少两个摄像头看到。根据摄像头的世界坐标系下的位姿T1w,T2w,可以计算出相对的外参为
在标定多个(大于3个)摄像头时,工作装置可以不断移动,逐步计算相邻的摄像头直接的外参。只要计算出了两两之间的外参关系,其余的外参可以直接由公式计算而得。
可选的,在对所述摄像头进行外参标定时,检测是否已经存在标定结果,若不存在,获取包括aruco码阵列的标定板图像并在其中搜索aruco码;判断所述aruco码的总数是否符合要求,若符合即提取每个aruco码中的各顶点的二维坐标信息,并将所述二维坐标信息与预设的三维坐标信息进行匹配;根据所述匹配信息计算摄像头在该三维坐标系下的位姿信息;对所述位姿信息进行转换,以得到所述摄像头的标定外参结果并保存。
与上述实施例原理相似的是,本申请提供一种基于aruco码的摄像头外参标定系统,所述系统包括:
处理模块,用于在包括aruco码阵列的标定板图像中搜索aruco码;提取每个aruco码中的各顶点的二维坐标信息,并得到与所述二维坐标信息对应的三维坐标信息;根据所述三维坐标信息计算摄像头在三维坐标系下的位姿信息;对位姿信息进行转换,以得到所述摄像头的标定外参。
以下结合附图提供具体实施例:
如图3所展示的本申请实施例中的一种基于aruco码的摄像头外参标定系统的结构示意图。
所述系统包括:
所述处理模块31,用于设计包括aruco码阵列的标定板图像并预设各顶点的三维坐标信息;在包括aruco码阵列的标定板图像中搜索aruco码;提取每个Aruco码中的各顶点的二维坐标信息,并得到所述二维坐标信息与预设三维坐标信息的匹配;根据所述匹配信息计算摄像头在三维坐标系下的位姿信息;对位姿信息进行转换,以得到所述摄像头的标定外参。
可选的,所述处理模块31预设每个aruco码中的各顶点的三维坐标信息的方式包括:
所述处理模块31以所述标定板的中心点作为原点,分别建立包括x轴、y轴以及z轴的三维坐标系;
所述处理模块31根据所述三维坐标系测量出所述aruco码中的各顶点的三维坐标信息;
其中,将平行于所述标定板上边的向右的射线作为坐标系x轴正方向,将平行于标定板侧边的向上的射线作为坐标系y轴正方向,将垂直于标定板平面向外的射线为z轴正方向。
另外,所述标定板为一具有上边与侧边的方形结构,例如,正方形以及长方形。
需要注意的是,建立的所述三维坐标系为右手系。
可选的,所述摄像头拍摄所述标定板上的标定板图像,所述处理模块31根据所述包括aruco码阵列的标定板图像在其中搜索所述aruco码。
可选的,在所述标定板图像上aruco码阵列的排列顺序以及位置是固定的,具体的,在标定板图像上的所述不同排列顺序的aruco码阵列构成不同的外参标定结果,以及不同位置的aruco码阵列构成不同的外参标定结果。
可选的,所述处理模块31获取包括aruco码阵列的标定板图像并在其中搜索aruco码,并检查所述aruco码的个数和排列是否和预设值一致,若一致继续下一步步骤。
可选的,所述aruco码阵列为一或多个,根据不同数量的以及种类aruco码阵列搜索出不同的aruco码。
可选的,所述处理模块31获取包括aruco码阵列的标定板图像并在其中搜索aruco码的数量以及内容。
可选的,所述aruco码为一或多个。
可选的,所述处理模块31提取每个aruco码中的各顶点的二维坐标信息的方式包括:根据所述aruco码的候选marker找到候选的方形或凸边型区域;对所述标定板图像进行透视变换,得到正视图;将所述正视图阈值化以分离白色和黑色位;通过所述白色和黑色位来决定所述候选marker的身份信息;根据所述身份信息获得所述候选marker四角的坐标,以得到所述aruco码的各顶点的二维坐标信息。
可选的,当所述aruco码为多个,分别对每个aruco码提取其中各顶点的二维坐标信息,并将各顶点的二维坐标信息与预设的三维坐标信息匹配。
可选的,所述处理模块31分别对每个aruco码提取所述aruco码的四个顶点的二维坐标信息,并将各顶点的二维坐标信息与预设的三维坐标信息匹配,并记录坐标信息。
其中,所述处理模块31提取到的每个aruco码中的各顶点的二维坐标信息对应的二维坐标系作为图像坐标系;转换的对应的三维坐标信息对应的三维坐标系为世界坐标系。
可选的,所述三维坐标信息为(x,y,z),即为世界坐标信息,所述二维坐标信息(u,v)是点投影在图像平面的坐标,以像素为单位。A被称作摄像机矩阵,或者内参数矩阵。(cx,cy)是基准点(通常在图像的中心),fx,fy是以像素为单位的焦距(fx=f/Sx,fy=f/Sy其中f为焦距,Sx,Sy分别为一个像素CCD单元的x,y方向的实际长度)。旋转-平移矩阵[R|t]被称作外参数矩阵,它用来描述相机相对于一个固定场景的运动,或者相反,物体围绕相机的的刚性运动([R|t]的作用是得到物体在xy平面与成像面平行z轴和相机光轴相共线的一个三维坐标系下的坐标表示)。也就是[R|t]将点(X,Y,Z)的坐标变换到某个坐标系,这个坐标系相对于摄像机来说是固定不变的。上面的变换等价与下面的形式:
可选的,所述处理模块31根据所述三维坐标信息通过线性方程计算摄像头在三维坐标系下的位姿信息。
可选的,所述处理模块31将顶点的图像二维坐标与预设的三维坐标一一匹配后,即可计算出摄像头在世界坐标下的位姿T=[R|t]。
忽略旋转矩阵R的正交约束,用12个参数表示位姿x=[a1,...,a12],上式可变为
整理后可以得到线性方程组的形式
已知一对点提供两个方程,为了解出所有参数,需要至少6对点对,得到
Ax=0
其中,A的大小为2n×12。通过SVD分解可以获得x的解,以此便得到了相机的位姿。
其中,所述三维坐标信息为(x,y,z),即为世界坐标信息,所述二维坐标信息(u,v)是点投影在图像平面的坐标,以像素为单位。A被称作摄像机矩阵,或者内参数矩阵。(cx,cy)是基准点(通常在图像的中心),fx,fy是以像素为单位的焦距(fx=f/Sx,fy=f/Sy其中f为焦距,Sx,Sy分别为一个像素CCD单元的x,y方向的实际长度)。
可选的,所述处理模块31检测所述标定板图像中是否出现至少一个aruco码,如果是,根据识别出的所有aruco码的ID信息,确定每个aruco码的角点像素坐标和与之相对应的三维空间坐标,利用PnP迭代算法估计相机在世界坐标系中的位置和姿态信息。
可选的,所述处理模块31对所述位姿信息的旋转矩阵根据欧拉公式进行转换,以得到所述摄像头的标定外参结果。
可选的,当需要标定摄像头与机器外参时,通常只需要标定出摄像头正方向与机器人正方向的夹角,并假设姿态角(偏航角、俯仰角以及翻滚角)中有两者已经确定。位姿T中的旋转矩阵R可根据欧拉公式获得其单个角度,进而获得标定外参结果。
可选的,所述处理模块31需要获得摄像头与工作装置的外参时,需要在标定区域预先设定工作装置的位置与朝向,即需要有相应的基座使得工作装置的位姿固定。并且测量出基座在世界坐标系中的位姿Tbw.在通过算法计算出摄像头的位姿为Tcw时,摄像头与工作装置的外参为:
可选的,当所述摄像头为多个,所述标定外参包括:各摄像头之间的相对标定外参结果。
可选的,当需要标定多个摄像头之间的外参时,需要保证标定板同时被至少两个摄像头看到。根据摄像头的世界坐标系下的位姿T1w,T2w,可以计算出相对的外参为
在标定多个(大于3个)摄像头时,工作装置可以不断移动,逐步计算相邻的摄像头直接的外参。只要计算出了两两之间的外参关系,其余的外参可以直接由公式计算而得。
可选的,所述处理模块31在对所述摄像头进行外参标定时,检测是否已经存在标定结果,若不存在,获取包括aruco码阵列的标定板图像并在其中搜索aruco码;判断所述aruco码的总数是否符合要求,若符合即提取每个aruco码中的各顶点的二维坐标信息,并将所述二维坐标信息与预设的三维坐标信息进行匹配;根据所述匹配信息计算摄像头在该三维坐标系下的位姿信息;对所述位姿信息进行转换,以得到所述摄像头的标定外参结果并保存。
如图4所示,展示本申请实施例中的基于aruco码的摄像头外参标定终端40的结构示意图。
所述基于aruco码的摄像头外参标定终端40包括:存储器41及处理器42所述存储器41用于存储计算机程序;所述处理器42运行计算机程序实现如图2所述的基于aruco码的摄像头外参标定方法。
可选的,所述存储器41的数量均可以是一或多个,所述处理器42的数量均可以是一或多个,而图4中均以一个为例。
可选的,所述基于aruco码的摄像头外参标定终端40中的处理器42会按照如图2所述的步骤,将一个或多个以应用程序的进程对应的指令加载到存储器41中,并由处理器42来运行存储在第一存储器41中的应用程序,从而实现如图2所述基于aruco码的摄像头外参标定方法中的各种功能。
可选的,所述存储器41,可能包括但不限于高速随机存取存储器、非易失性存储器。例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备;所述处理器42,可能包括但不限于中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可选的,所述处理器42可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请还提供计算机可读存储介质,存储有计算机程序,所述计算机程序运行时实现如图2所示的基于aruco码的摄像头外参标定方法。所述计算机可读存储介质可包括,但不限于,软盘、光盘、CD-ROM(只读光盘存储器)、磁光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、磁卡或光卡、闪存、或适于存储机器可执行指令的其他类型的介质/机器可读介质。所述计算机可读存储介质可以是未接入计算机设备的产品,也可以是已接入计算机设备使用的部件。
如图5所示,展示本申请实施例中的机器人50的结构示意图,所述机器人可实现如图1实施例中的工作装置11的功能。所述基于aruco码的摄像头外参标定系统可实现如图3所述的基于aruco码的摄像头外参标定系统。
所述机器人50包括:
一或多个摄像头51;
与所述摄像头51连接的基于aruco码的摄像头外参标定系统52;其中所述基于aruco码的摄像头外参标定系统52包括:处理模块521,用于在包括aruco码阵列的标定板图像中搜索Aruco码;提取每个Aruco码中的各顶点的二维坐标信息,并得到与所述二维坐标信息对应的三维坐标信息;根据所述三维坐标信息计算所述摄像头51在三维坐标系下的位姿信息;对位姿信息进行转换,以得到所述摄像头51的标定外参。
可选的,所述机器人还包括:机身和底盘。
综上所述,本申请基于aruco码的摄像头外参标定方法、系统、终端及介质,解决了解决现有技术中需要过多的人工干预,导致在获取对应点坐标时误差增大,进而增加了标定误差,同时人工标定所需要花费的成本也更高;另外,在对多个摄像头进行标定,计算与发布过程极为繁琐且效率低下的问题,本申请使用多个aruco码阵列作为标定板图像,避免了人工干预并且有效降低了对应点坐标获取过程中的误差,进而提高了摄像头外参标定的准确率,不仅降低工作成本,还大大提高了标定效率。所以,本申请有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (10)
1.一种基于aruco码的摄像头外参标定方法,其特征在于,包括:
设计包括aruco码阵列的标定板图像并预设所述aruco码阵列中的各aruco码各顶点的三维坐标信息;其中,所述aruco码阵列包括:按照排列顺序排列的各aruco码;
获取包括aruco码阵列的标定板图像并在其中搜索aruco码,并检查所述aruco码的个数和排列与预设的aruco码的个数及排列一致;
分别对每个aruco码提取所述aruco码的四个顶点的二维坐标信息,并将各顶点的二维坐标信息转换与预设的三维坐标信息匹配,并记录匹配的坐标信息;
根据所述匹配的坐标信息计算摄像头在三维坐标系下的位姿信息;
对所述位姿信息进行转换,以得到所述摄像头的标定外参结果。
2.根据权利要求1所述的基于aruco码的摄像头外参标定方法,其特征在于,预设每个aruco码中的各顶点的三维坐标信息的方式包括:
以所述标定板的中心点作为原点,分别建立包括x轴、y轴以及z轴的三维坐标系;
根据所述三维坐标系测量出所述aruco码中的各顶点的三维坐标信息;
其中,将平行于所述标定板上边的向右的射线作为坐标系x轴正方向,将平行于标定板侧边的向上的射线作为坐标系y轴正方向,将垂直于标定板平面向外的射线为z轴正方向。
3.根据权利要求1所述的基于aruco码的摄像头外参标定方法,其特征在于,提取每个aruco码中的各顶点的二维坐标信息的方式包括:
根据所述aruco码的候选marker找到候选的方形或凸边型区域;
对所述标定板图像进行透视变换,得到正视图;
将所述正视图阈值化以分离白色和黑色位;
通过所述白色和黑色位来决定所述候选marker的身份信息;
根据所述身份信息获得所述候选marker四角的坐标,以得到所述aruco码的各顶点的二维坐标信息。
4.根据权利要求1所述的基于aruco码的摄像头外参标定方法,其特征在于,根据所述aruco码的各顶点二维坐标信息与预设的三维坐标信息的匹配计算摄像头在三维坐标系下的位姿信息的方式,包括:
根据所述匹配信息通过线性方程计算摄像头在三维坐标系下的位姿信息。
5.根据权利要求1所述的基于aruco码的摄像头外参标定方法,其特征在于,对所述位姿信息进行转换,以得到所述摄像头的标定外参的方式包括:
对所述位姿信息的旋转矩阵根据欧拉公式进行转换,以得到所述摄像头的标定外参结果。
6.根据权利要求1所述的基于aruco码的摄像头外参标定方法,其特征在于,当所述摄像头为多个,所述标定外参包括:各摄像头之间的相对外参标定结果。
7.一种基于aruco码的摄像头外参标定系统,其特征在于,包括:
处理模块,用于设计包括aruco码阵列的标定板图像并预设所述aruco码阵列中的各aruco码各顶点的三维坐标信息;在包括aruco码阵列的标定板图像中搜索aruco码,并检查所述aruco码的个数和排列与预设的aruco码的个数及排列一致;分别对每个aruco码提取所述aruco码的四个顶点的二维坐标信息,并将各顶点的二维坐标信息转换与预设的三维坐标信息匹配,并记录匹配的坐标信息;根据所述匹配的坐标信息计算摄像头在三维坐标系下的位姿信息;对位姿信息进行转换,以得到所述摄像头的标定外参;
其中,所述aruco码阵列包括:按照排列顺序排列的各aruco码。
8.根据权利要求7所 述的基于aruco码的摄像头外参标定系统,其特征在于,所述处理模块还用于:
根据所述aruco码的候选marker找到候选的方形或凸边型区域;
对所述标定板图像进行透视变换,得到正视图;
将所述正视图阈值化以分离白色和黑色位;
通过所述白色和黑色位来决定所述候选marker的身份信息;
根据所述身份信息获得所述候选marker四角的坐标,以得到所述aruco码的各顶点的二维坐标信息。
9.一种基于aruco码的摄像头外参标定终端,其特征在于,包括:
存储器,用于存储计算机程序与预设的三维坐标信息;
处理器,用于运行所述计算机程序,以执行如权利要求1至6中任一项所述的基于aruco码的摄像头外参标定方法。
10.一种机器人,其特征在于,包括
一或多个摄像头以及与所述摄像头连接的如权利要求7或8中所述的基于aruco码的摄像头外参标定系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010441858.7A CN111627075B (zh) | 2020-05-22 | 2020-05-22 | 基于aruco码的摄像头外参标定方法、系统、终端及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010441858.7A CN111627075B (zh) | 2020-05-22 | 2020-05-22 | 基于aruco码的摄像头外参标定方法、系统、终端及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111627075A CN111627075A (zh) | 2020-09-04 |
CN111627075B true CN111627075B (zh) | 2021-07-23 |
Family
ID=72271082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010441858.7A Active CN111627075B (zh) | 2020-05-22 | 2020-05-22 | 基于aruco码的摄像头外参标定方法、系统、终端及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111627075B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112419422B (zh) * | 2020-10-23 | 2024-03-15 | 福瑞泰克智能系统有限公司 | 一种摄像头标定方法、装置、设备及存储介质 |
CN112734857B (zh) * | 2021-01-08 | 2021-11-02 | 香港理工大学深圳研究院 | 相机内参和相机相对激光雷达外参的标定方法及电子设备 |
CN113256732A (zh) * | 2021-04-19 | 2021-08-13 | 安吉智能物联技术有限公司 | 一种摄像头校准及位姿获取的方法 |
CN113052919A (zh) * | 2021-04-23 | 2021-06-29 | 深圳市商汤科技有限公司 | 一种视觉传感器的标定方法及装置、电子设备和存储介质 |
CN114115021A (zh) * | 2021-11-19 | 2022-03-01 | 安徽省爱夫卡电子科技有限公司 | 一种汽车adas系统的摄像头标定系统 |
CN114663494A (zh) * | 2022-03-18 | 2022-06-24 | 欧姆龙(上海)有限公司 | 三维物体的空间姿态的标注方法、装置以及电子设备 |
CN115289982A (zh) * | 2022-09-28 | 2022-11-04 | 天津大学建筑设计规划研究总院有限公司 | 一种基于ArUco码的结构平面位移视觉监测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108453738A (zh) * | 2018-03-30 | 2018-08-28 | 东南大学 | 一种基于Opencv图像处理的四旋翼飞行器空中自主抓取作业的控制方法 |
WO2019030119A1 (de) * | 2017-08-07 | 2019-02-14 | Siemens Aktiengesellschaft | Markierung |
CN109374003A (zh) * | 2018-11-06 | 2019-02-22 | 山东科技大学 | 一种基于ArUco码的移动机器人视觉定位与导航方法 |
CN110766758A (zh) * | 2019-09-12 | 2020-02-07 | 浙江大华技术股份有限公司 | 标定方法、装置、系统及存储装置 |
CN111179356A (zh) * | 2019-12-25 | 2020-05-19 | 北京中科慧眼科技有限公司 | 基于Aruco码的双目相机标定方法、装置、系统和标定板 |
-
2020
- 2020-05-22 CN CN202010441858.7A patent/CN111627075B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019030119A1 (de) * | 2017-08-07 | 2019-02-14 | Siemens Aktiengesellschaft | Markierung |
CN108453738A (zh) * | 2018-03-30 | 2018-08-28 | 东南大学 | 一种基于Opencv图像处理的四旋翼飞行器空中自主抓取作业的控制方法 |
CN109374003A (zh) * | 2018-11-06 | 2019-02-22 | 山东科技大学 | 一种基于ArUco码的移动机器人视觉定位与导航方法 |
CN110766758A (zh) * | 2019-09-12 | 2020-02-07 | 浙江大华技术股份有限公司 | 标定方法、装置、系统及存储装置 |
CN111179356A (zh) * | 2019-12-25 | 2020-05-19 | 北京中科慧眼科技有限公司 | 基于Aruco码的双目相机标定方法、装置、系统和标定板 |
Also Published As
Publication number | Publication date |
---|---|
CN111627075A (zh) | 2020-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111627075B (zh) | 基于aruco码的摄像头外参标定方法、系统、终端及介质 | |
CN110411441B (zh) | 用于多模态映射和定位的系统和方法 | |
CN111179358B (zh) | 标定方法、装置、设备及存储介质 | |
WO2019200837A1 (zh) | 一种包裹体积的测量方法、系统、储存介质及移动终端 | |
Ahmadabadian et al. | A comparison of dense matching algorithms for scaled surface reconstruction using stereo camera rigs | |
Wöhler | 3D computer vision: efficient methods and applications | |
EP2711670B1 (en) | Visual localisation | |
Fathi et al. | Automated sparse 3D point cloud generation of infrastructure using its distinctive visual features | |
CN109801333B (zh) | 体积测量方法、装置、系统及计算设备 | |
Azad et al. | Stereo-based 6d object localization for grasping with humanoid robot systems | |
US9679384B2 (en) | Method of detecting and describing features from an intensity image | |
KR20160003776A (ko) | 자세 추정 방법 및 로봇 | |
Urban et al. | Finding a good feature detector-descriptor combination for the 2D keypoint-based registration of TLS point clouds | |
KR102608956B1 (ko) | 스테레오 이미지의 정류를 위한 방법 및 시스템 | |
CN111123242B (zh) | 一种基于激光雷达和相机的联合标定方法及计算机可读存储介质 | |
CN113256729A (zh) | 激光雷达与相机的外参标定方法、装置、设备及存储介质 | |
CN111210478A (zh) | 一种无共同视野多相机系统外参标定方法、介质及系统 | |
US20170278258A1 (en) | Method Of Detecting And Describing Features From An Intensity Image | |
Scaramuzza et al. | A robust descriptor for tracking vertical lines in omnidirectional images and its use in mobile robotics | |
Holtkamp et al. | Precision registration and mosaicking of multicamera images | |
CN115830135A (zh) | 一种图像处理方法、装置及电子设备 | |
Avidar et al. | Local-to-global point cloud registration using a dictionary of viewpoint descriptors | |
Slossberg et al. | Freehand Laser Scanning Using Mobile Phone. | |
Pan et al. | 3-D positioning system based QR code and monocular vision | |
JP7251631B2 (ja) | テンプレート作成装置、物体認識処理装置、テンプレート作成方法、物体認識処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |