基于三维特征点的深度相机自动标定算法的制作方法

文档序号:18620440发布日期:2019-09-06 22:26阅读:499来源:国知局
基于三维特征点的深度相机自动标定算法的制作方法

本发明属于机器视觉标定技术领域,涉及一种深度相机标定算法,尤其是涉及一种基于三维特征点的深度相机自动标定算法



背景技术:

随着科学技术的发展与进步,在人工智能技术遍及各大领域的今天,机器视觉已不再是一个陌生的名词。由于机器视觉系统具有精度高、效率高、实用性好、安全可靠、成本低等诸多优点,许多行业对深度视觉的需求越来越突出,无论是在科研机构还是在企业生产中它都占据着举足轻重的地位。例如在工业制造领域中,视觉检测、规划路径、跟踪定位等;在生活中,人脸识别技术、ar技术、全息投影技术等,人们将越来越离不开深度视觉,而这一切实现的前提是对3d深度相机进行了了精确标定。

尽管许多3d深度相机在出厂时已经被标定过,但标定的参数并不精确,而相机标定的好坏直接影响整个生产制造过程中整体性能的优劣。在现有技术中,有较成熟的相机标定算法,例如张正友经典标定法、tasi两步法(对比文献:[1]zhangz.aflexiblenewtechniqueforcameracalibration[c].patternanalysisandmachineintelligence.ieeetransactionson2000,22(11):1330-1334;[2]tsair.aversatilecameracalibrationtechniqueforhigh-accuracy3dmachinevisionmetrologyusingoff-the-shelftvcamerasandlenses[c]roboticsandautomation.ieee,journalof31987,(4):323-344.)。但这些方法只能适用于普通的光学相机,且有易受环境影响,标定步骤繁杂,费时费力,标定成本高,求解过程复杂等缺点。深度相机成像方式复杂多样,以至于国内外学者对于深度相机标定算法的研究并不深入,他们的算法大都结构复杂,标定精度低,耗时且耗力。

现如今,人工智能深入到各行各业,3d深度相机也逐渐进入人们的生活,实现深度相机标定的简洁化、快速化、精确化、通用化成为亟待解决的问题。因此,提出一种新的具有操作简单、成本低、鲁棒性好、响应速度快的深度相机自动标定算法是十分必要的,对机器视觉领域的发展和相关技术的研究都具有十分重要的意义。



技术实现要素:

为了解决背景技术中存在的问题,本发明的目的在于提供一种基于三维特征点的深度相机自动标定算法,提出了深度相机标定的简洁模型,引入了深度相机内参几何约束条件,建立了深度相机投影畸变控制函数,非线性优化了深度相机参数最终得到可靠结果。该算法只需要两幅深度图像和已知的三维特征像素点坐标即可完成深度相机标定工作,可适用于变照明条件等特殊场合。

本发明所采用的技术方案包括以下步骤:

(1)采用深度相机,在不同位置以不同姿态对精确的立方体标定块进行多次拍摄,获取两幅较准确的深度图像。

所述步骤(1)中只需要获取两幅深度图,获取的两幅深度图像应保证有特征明显的三维特征像素点,并且特征像素点应有对应的原始误差偏移量。

(2)利用orb(orientedfastandrotatedbrief)算法提取深度图像中三维特征像素点信息,

一幅图到4组特征像素点坐标和三维空间点的坐标,然后将特征像素点的深度测量模型与经典相机标定模型相结合形成深度相机的基本标定模型;所述步骤(2)具体包括:

首先,利用orb(orientedfastandrotatedbrief)算法分别提取两幅深度图像的4个三维特征像素点,这4个特征像素点一般设为立方体标定块的角点,并且特征像素点应有明显的原始误差偏移量;然后将这4个特征像素点分别与对应的三维空间点进行匹配得到特征像素点坐标和三维空间点的坐标;并根据经典相机标定模型,如下式:

在经典相机标定模型基础之上引入一个原始深度偏移量dk,如下式:

然后,以[uvdk1]t构成一个射影空间坐标。以视差图构建的射影空间坐标与空间点坐标[xwywzw1]t的关系符合图像之间的单应关系,由此得到深度相机坐标系到像素坐标系的矩阵变换:

其中,λ=zd,zd表示深度相机坐标系中z方向的坐标分量,内参为a’:

最后,联合世界坐标系到深度相机坐标系的转换矩阵可得出世界坐标系到像素坐标系的变换模型如:

单应矩阵表示为h:

(3)将步骤二中获得的特征点像素坐标和已知的三维特征点坐标作为已知量代入所建立的深度相机标定模型中,根据建立的内参约束条件求解出内参数和外参数;所述步骤(3)具体包括:

首先,根据旋转矩阵r1,r2,r3的性质建立得到深度相机内参约束条件:

求解出a′-ta′-1

定义一个4维矩阵b:

其中,b12=b21=b13=b31=b23=b32=0

然后,将单应矩阵h写成列向量的形式,则它的第i列向量可表示为hi=[h1ih2ih3ih4i]t,由内参基本约束条件得:

化简上式后得:

采用svd分解的方法求解该方程组得到矩阵b。

其次,对b进行cholesky逆分解:

将a’转化为上三角矩阵:

根据b=a′-ta′-1=(a′a′t)-1,得出b-1=a′a′t,且:

根据b-1=a′ea′t=a′ccta′t,则b-1=iit,得出:

可得出矩阵i的最后一列元素:

同理:

得到矩阵i第三列、第二列、第一列元素:

i被求解出来,由于a’=ic-1,由此深度相机内参矩阵a’的初始值就被求解出来。

最后,求解外参。单应矩阵h和内参a’均被求出后,根据内参约束条件可以得到:

由上式可得:

(4)建立并利用levenberg-marquardt算法非线性优化深度图像的畸变控制函数,通过最小化投影误差函数得到最优的深度相机参数。所述步骤(4)具体包括:对于n幅图上有m点,利用levenberg-marquardt算法非线性优化重投影误差代价函数:

其中,是三维空间点在深度图像中的实际投影坐标,是三维空间点在第i幅图中的投影,a’是内参矩阵,k1,k2,p1,p2是畸变系数。

有益效果:本发明设计的基于三维特征点的深度相机自动标定算法,只需要用到两幅深度图像和已知的三维特征像素点,避免了光照条件带来的影响,降低了标定成本。本发明所提算法是经融合得到,简化了标定过程,提高了标定精度。与传统标定算法相比,本算法具有操作简单、适应性强、成本低、响应速度快、鲁棒性好等优点。

附图说明

图1:深度相机和三维标定块示意图;

图2:算法总体步骤流程图;

图3:深度相机标定模型推导过程图;

图4:深度相机内外参数求解过程图。

具体实施方式

下面结合附图1至附图4,对本发明作进一步详述。

参考附图3,本发明的所提及的深度相机标定模型,首先根据经典相机标定模型,如下式:

然后在经典相机标定模型基础之上引入一个原始深度偏移量dk,如下式:

并且,以[uvdk1]t构成一个射影空间坐标。以视差图构建的射影空间坐标与空间点坐标[xwywzw1]t的关系符合图像之间的单应关系,由此得到深度相机坐标系到像素坐标系的矩阵变换:

其中,λ=zd,zd表示深度相机坐标系中z方向的坐标分量,内参为a’:

最后联合世界坐标系到深度相机坐标系的转换矩阵可得出世界坐标系到像素坐标系的变换模型如:

参考附图1、附图3和附图4,深度相机内外参数求解优化过程包括:

(1)根据旋转矩阵r1,r2,r3的性质建立得到深度相机内参约束条件:

(2)求解出a′-ta′-1

定义一个4维矩阵b:

将单应矩阵h写成列向量的形式,则它的第i列向量可表示为为hi=[h1ih2ih3ih4i]t,由内参基本约束条件得:

化简上式后得:

采用svd分解的方法求解该方程组得到矩阵b。

(3)对b进行cholesky逆分解得到内参矩阵a’:

将a’转化为上三角矩阵:

根据b=a′-ta′-1=(a′a′t)-1,得出b-1=a′a′t,且:

根据b-1=a′ea′t=a′ccta′t,则b-1=iit,通过观察发现:

可得出矩阵i的最后一列元素:

同理:

得到矩阵i第三列、第二列、第一列元素:

i就被求解出来,由于a’=ic-1,由此深度相机内参矩阵a’的初始值就被求解出来。

(4)求解外参。单应矩阵h和内参a’均被求出后,根据内参约束条件可以得到:

由上式可得:

(5)建立并利用levenberg-marquardt算法非线性优化深度图像的畸变控制函数,通过最小化投影误差函数得到最优的深度相机参数。对于n幅图上有m点,利用levenberg-marquardt算法非线性优化重投影误差代价函数:

其中,是三维空间点在深度图像中的实际投影坐标,是三维空间点在第i幅图中的投影,a’是内参矩阵,k1,k2,p1,p2是畸变系数。

经过对比试验表明,本文提出的标定算法与张氏经典标定算法相比,所求出的焦距相对误差小于0.005,主点坐标相对误差小于0.03,且对深度图像边缘部分畸变有较好修复效果。具有较好的实用性和鲁棒性,达到了深度相机自动、快速标定的目的。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以作出若干简单推演或替换,都应当视为属于本发明的保护范围。

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