一种可在反光条件下进行的三维重建方法与流程

文档序号:33636694发布日期:2023-03-29 00:50阅读:111来源:国知局
一种可在反光条件下进行的三维重建方法与流程

1.本发明涉及工业机器视觉技术领域,尤其涉及一种可在反光条件下进行的三维重建方法。


背景技术:

2.在利用线结构光传感器进行三维重建的过程中,如果被测量对象表面比较光滑,容易在相邻的物体表面产生镜面反射(如图2所示),从而在图像中出现原本线激光以外的亮斑,影响三维重建的效果。而在利用线结构光传感器进行实际检测、定位的情况下,反光导致出现的光斑,会造成重建后的实际物体的点云缺失,或者会产生额外的异常点,最终影响测量、定位的效果。
3.因此,急需一种新的技术方案解决上述技术问题。


技术实现要素:

4.本发明的目的在于克服上述现有技术的问题,提供了一种可在反光条件下进行的三维重建方法,用以解决传统在对表面较为光滑的物体进行三维重建时,由于反射光在物体表面的影响,重建结果中出现很多干扰点、异常点的技术问题。
5.上述目的是通过以下技术方案来实现:
6.一种可在反光条件下进行的三维重建方法,包括如下步骤:
7.步骤(1)对相机的内参和畸变系数进行标定,采用非线性优化算法计算最优解,得到相机内参与畸变系数;
8.步骤(2)对激光在相机坐标系中的光平面方程进行标定,获得光平面标定结果;
9.步骤(3)利用可编程线激光模组依次对线激光上每一个亮点进行标定,标定结果为该点的光路在相机坐标系下的直线方程;
10.步骤(4)依次点亮每一个激光点,根据步骤(2)中所述光平面标定结果,对每个激光点进行传统的三维重建;再根据(3)中所述直线方程,判断重建出的结果是否在对应的直线上;设定阈值,若到直线的距离超过该阈值,则认为该点是反光点或异常点;若到直线的距离不超过该阈值,则认为该点是正常点,属于三维重建的结果。
11.进一步地,所述步骤(2)对激光在相机坐标系中的光平面方程进行标定,获得光平面标定结果,具体包括:
12.步骤(2-1)在工作范围内移动标定板,使激光可以打在标定板上,并且在图像中能够清晰成像;选择不少于两个位置,采集打开激光状态下的图像和不打开激光状态下的图像;
13.步骤(2-2)通过图像相减的方法,得到激光线在图像中的位置,并利用steger算法提取激光线中心的亚像素坐标,得激光线中心坐标;
14.步骤(2-3)根据图像中的标定板特征点,计算出该位置标定板与相机的位置关系,得外参;
15.步骤(2-4)通过步骤(1)中的内参、步骤(2-3)中外参和步骤(2-2)中激光线中心坐标,计算出激光线中心在相机坐标系下的三维坐标,通过最小二乘方法拟合平面,得到激光在相机坐标下的光平面方程。
16.进一步地,所述步骤(2-4)中激光在相机坐标下的光平面方程计算,具体为:
17.设图像中激光线的特征点为[u,v]

,对应在世界坐标系下的齐次坐标[x,y,z,1]

,s为缩放因子,a为相机内参矩阵,m为外参矩阵,则相机成像计算公式为:
[0018][0019]
相机坐标系下的坐标计算公式为:
[0020]
[xc,yc,zc,1]

=m[x,y,z,1]

[0021]
对所有采集到的激光线在相机坐标下的坐标做最小二乘拟合,得到激光平面在相机坐标下的平面方程ax+by+cz+d=0。
[0022]
进一步地,所述步骤(3)利用可编程线激光模组依次对线激光上每一个亮点进行标定,标定结果为该点的光路在相机坐标系下的直线方程,具体包括:
[0023]
步骤(3-1)在工作范围内移动标定板,使激光可以打在标定板上,且能清晰成像;控制激光模组投射只投射第一个点,其余点全暗;选择不少于两个位置,采集打开激光状态下的图像和不打开激光状态下的图像;
[0024]
步骤(3-2)通过图像相减的方法,得到激光点在图像中的位置,提取激光点中心的亚像素坐标,得激光点中心坐标;
[0025]
步骤(3-3)根据图像中的标定板特征点,计算出该位置标定板与相机的位置关系,得外参;
[0026]
步骤(3-4)通过步骤(1)中的内参、步骤(3-3)中外参和步骤(3-2)中激光点中心坐标,计算出激光点中心在相机坐标系下的三维坐标,通过最小二乘方法拟合直线,得到该激光点的光路在相机坐标下的直线方程,公式如下:
[0027][0028]
依次控制其他激光点,重复上一步,直到标定完所有激光点在相机坐标系下的直线方程公式如下:
[0029][0030]
进一步地,所述步骤(4)具体为:
[0031]
首先根据光平面标定结果,对每个点进行三维重建,得到p
iplane

[0032]
再根据每个激光点的直线方程,计算点到直线的距离di,判断重建出的结果是否在对应的直线上;
[0033]
如果到直线的距离超过阈值δ,则认为该点是反光点或异常点,剔除该点;
[0034]
如果距离小于阈值δ,则该点是正常点,属于三维重建的结果。
[0035]
进一步地,所述阈值δ设置为0.1mm~0.2mm。
[0036]
有益效果
[0037]
本发明所提供的一种可在反光条件下进行的三维重建方法,可以解决传统在对表面较为光滑的物体进行三维重建时,由于反射光在物体表面的影响,重建结果中出现很多干扰点、异常点的技术问题,能对异常点进行良好的滤除,获得物体真实的三维重建结果。
附图说明
[0038]
图1为本发明所述一种可在反光条件下进行的三维重建方法中系统拓扑图;
[0039]
图2为本发明所述一种可在反光条件下进行的三维重建方法的示意图。
具体实施方式
[0040]
下面根据附图和实施例对本发明作进一步详细说明。所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0041]
如图2所示,一种可在反光条件下进行的三维重建方法,包括如下步骤:
[0042]
步骤(1)对相机的内参和畸变系数进行标定,采用非线性优化算法计算最优解,得到相机内参与畸变系数;
[0043]
步骤(2)对激光在相机坐标系中的光平面方程进行标定,获得光平面标定结果;
[0044]
步骤(3)利用可编程线激光模组依次对线激光上每一个亮点进行标定,标定结果为该点的光路在相机坐标系下的直线方程;
[0045]
步骤(4)依次点亮每一个激光点,根据步骤(2)中所述光平面标定结果,对每个激光点进行传统的三维重建;再根据(3)中所述直线方程,判断重建出的结果是否在对应的直线上;设定阈值,若到直线的距离超过该阈值,则认为该点是反光点或异常点;若到直线的距离不超过该阈值,则认为该点是正常点,属于三维重建的结果。
[0046]
本实施例中所述步骤(2)对激光在相机坐标系中的光平面方程进行标定,获得光平面标定结果,具体包括:
[0047]
步骤(2-1)在工作范围内移动标定板,使激光可以打在标定板上,并且在图像中能够清晰成像;选择不少于两个位置,采集打开激光状态下的图像和不打开激光状态下的图像;
[0048]
步骤(2-2)通过图像相减的方法,得到激光线在图像中的位置,并利用steger算法提取激光线中心的亚像素坐标,得激光线中心坐标;
[0049]
步骤(2-3)根据图像中的标定板特征点,计算出该位置标定板与相机的位置关系,得外参;
[0050]
步骤(2-4)通过步骤(1)中的内参、步骤(2-3)中外参和步骤(2-2)中激光线中心坐标,计算出激光线中心在相机坐标系下的三维坐标,通过最小二乘方法拟合平面,得到激光在相机坐标下的光平面方程。
[0051]
其中,所述步骤(2-4)中激光在相机坐标下的光平面方程计算,具体为:
[0052]
设图像中激光线的特征点为[u,v]

,对应在世界坐标系下的齐次坐标[x,y,z,1]

,s为缩放因子,a为相机内参矩阵,m为外参矩阵,则相机成像计算公式为:
[0053][0054]
相机坐标系下的坐标计算公式为:
[0055]
[xc,yc,zc,1]

=m[x,y,z,1]

[0056]
对所有采集到的激光线在相机坐标下的坐标做最小二乘拟合,得到激光平面在相机坐标下的平面方程ax+by+cz+d=0。
[0057]
本实施例中所述步骤(3)利用可编程线激光模组依次对线激光上每一个亮点进行标定,标定结果为该点的光路在相机坐标系下的直线方程,具体包括:
[0058]
步骤(3-1)在工作范围内移动标定板,使激光可以打在标定板上,且能清晰成像;控制激光模组投射只投射第一个点,其余点全暗;选择不少于两个位置,采集打开激光状态下的图像和不打开激光状态下的图像;
[0059]
步骤(3-2)通过图像相减的方法,得到激光点在图像中的位置,提取激光点中心的亚像素坐标,得激光点中心坐标;
[0060]
步骤(3-3)根据图像中的标定板特征点,计算出该位置标定板与相机的位置关系,得外参;
[0061]
步骤(3-4)通过步骤(1)中的内参、步骤(3-3)中外参和步骤(3-2)中激光点中心坐标,计算出激光点中心在相机坐标系下的三维坐标,通过最小二乘方法拟合直线,得到该激光点的光路在相机坐标下的直线方程,公式如下:
[0062][0063]
依次控制其他激光点,重复上一步,直到标定完所有激光点在相机坐标系下的直线方程公式如下:
[0064][0065]
本实施例中所述步骤(4)具体为:
[0066]
首先根据光平面标定结果,对每个点进行三维重建,得到p
iplane

[0067]
再根据每个激光点的直线方程,计算点到直线的距离di,判断重建出的结果是否在对应的直线上;
[0068]
如果到直线的距离超过阈值δ,则认为该点是反光点或异常点,剔除该点;
[0069]
如果距离小于阈值δ,则该点是正常点,属于三维重建的结果。
[0070]
其中,所述阈值δ设置为0.1mm~0.2mm。
[0071]
本实施例所提供的一种可在反光条件下进行的三维重建方法,是将常见的线结构光投射器更换为可编程的线激光模组,该模组与一般投射器的区别在于:
[0072]
可以精确控制线激光上每一处光斑的亮暗,本文中的模组将线激光条纹分为1024个光斑。
[0073]
在完成常规的线激光模组与相机之间的标定后,获得了光平面参数,该参数表示光平面与相机坐标系之间的关系。
[0074]
利用可编程线激光模组的特性,分别对线激光的每一个光斑进行标定。由于将线激光划分为1024个点激光,其任意一个点发射出来的光线,在相机坐标系下是一条直线,可以计算每个点对应的直线在相机坐标系下的直线方程。
[0075]
在实际使用的过程中,将每个点依次投射,根据光平面标定结果计算在相机坐标系下的三维坐标。
[0076]
如果有反射现象出现,则在投射某一点时,图像中会出现不止一个亮点,根据光平面标定结果计算后,也会在相机坐标系下出现多个三维点,但是只有一个点是位于该点的直线方程上。
[0077]
因此,根据每一个激光点的光路在相机坐标系下的直线方向,可以判断出哪些点是异常点。
[0078]
以上所述仅为说明本发明的实施方式,并不用于限制本发明,对于本领域的技术人员来说,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1