发明内容
本发明要解决的技术问题在于,针对现有技术的上述结构光测量系统测量精度低的缺陷,提供一种结构光测量方法以及运用该方法的结构光测量系统。
本发明解决其技术问题所采用的技术方案是:构造一种结构光测量方法,其中,包括:
匹配过程:利用激光点在第一摄像头上的成像位置根据标定数据库的第一对应关系得到激光点的编号及低精度深度,根据所述激光点的编号及低精度深度查询所述的激光点在所述的第二摄像头中的成像位置以获取候选匹配点,根据所述的第一摄像头的成像位置以及所述的第一摄像头的成像位置在所述的第二摄像头中的候选匹配点完成匹配,得到匹配结果;和
计算过程:根据匹配结果得出所述的第一摄像头的成像位置匹配的所述的第二摄像头的成像位置,再由所述标定数据库中的第二对应关系确定所述激光点的精确位置。
本发明所述的结构光测量方法,其中,所述标定数据库通过标定过程获得:标定各激光点在第一摄像头中的成像位置与所述激光点的编号及低精度深度的第一对应关系,标定各激光点在第二摄像头中的成像位置与所述激光点的编号及高精度深度的第二对应关系,并将标定的第一对应关系和第二对应关系储存在存储器中形成所述标定数据库供所述匹配过程和所述计算过程使用。
本发明所述的结构光测量方法,其中,在标定过程中,调整激光出口和所述的第一摄像头的相对位置使得任意两个所述的激光点在所述的第一摄像头中的成像位置相互间隔。
本发明所述的结构光测量方法,其中,所述的第二摄像头与所述的激光出口的距离大于所述的第一摄像头与所述的激光出口的距离。
本发明所述的结构光测量方法,其中,使用几何区域包围一个所述的激光点在不同深度下的成像位置来进行所述标定过程和所述匹配过程。
本发明所述的结构光测量方法,其中,在计算过程中,对所述的第二摄像头的成像位置和高精度深度使用插值的方法获得所述的激光点的精确位置。
本发明所述的结构光测量方法,其中,所述的匹配过程中的根据所述的第一摄像头的成像位置以及所述的第一摄像头的成像位置在所述的第二摄像头中的候选匹配点完成匹配,包括:根据激光点成像亮度的差异寻找基准匹配对;利用基准匹配对求解最佳匹配点。
本发明所述的结构光测量方法,其中,所述的匹配过程中的根据所述的第一摄像头的成像位置以及所述的第一摄像头的成像位置在所述的第二摄像头中的候选匹配点完成匹配,在所述的根据激光点成像亮度的差异寻找基准匹配对之前还包括:对候选匹配点进行三维重建,得到候选匹配点的深度值;根据候选匹配点的深度值对候选匹配点进行初步筛选。
构造一种结构光测量系统,包括匹配模块和计算模块,
所述匹配模块:用于利用激光点在第一摄像头上的成像位置根据标定数据库的第一对应关系得到激光点的编号及低精度深度,根据所述的激光点的编号及低精度深度查询所述的激光点在第二摄像头中的成像位置以获取候选匹配点,根据所述的第一摄像头的成像位置以及所述的第一摄像头的成像位置在所述的第二摄像头中的候选匹配点完成匹配,得到匹配结果;和
所述计算模块:用于根据匹配结果得出所述的第一摄像头的成像位置匹配的所述的第二摄像头的成像位置,再由所述标定数据库中的第二对应关系确定所述激光点的精确位置。
本发明所述的结构光测量系统,其中,所述标定数据库使用标定模块通过以下方法获得:标定各激光点在第一摄像头中的成像位置与所述激光点的编号及低精度深度的第一对应关系,标定各激光点在第二摄像头中的成像位置与所述激光点的编号及高精度深度的第二对应关系,并将标定的第一对应关系和第二对应关系储存在存储器中形成所述标定数据库供所述匹配过程和所述计算过程使用。
本发明所述的结构光测量系统,其中,所述标定模块进行标定时,调整激光出口和所述的第一摄像头的相对位置使得任意两个所述的激光点在所述的第一摄像头中的成像位置相互间隔。
本发明所述的结构光测量系统,其中,所述的第二摄像头与所述的激光出口的距离大于所述的第一摄像头与所述的激光出口的距离。
本发明所述的结构光测量系统,其中,使用几何区域包围一个所述的激光点在不同深度下的成像位置来实现所述标定模块和所述匹配模块的功能。
本发明所述的结构光测量系统,其中,在计算过程中,对所述的第二摄像头的成像位置和高精度深度使用插值的方法获得所述的激光点的精确位置。
本发明所述的结构光测量系统,其中,所述匹配模块中的根据所述的第一摄像头的成像位置以及所述的第一摄像头的成像位置在所述的第二摄像头中的候选匹配点完成匹配,包括:根据激光点成像亮度的差异寻找基准匹配对;利用基准匹配对求解最佳匹配点。
本发明所述的结构光测量系统,其中,所述匹配模块中的根据所述的第一摄像头的成像位置以及所述的第一摄像头的成像位置在所述的第二摄像头中的候选匹配点完成匹配,在所述的根据激光点成像亮度的差异寻找基准匹配对之前还包括:对候选匹配点进行三维重建,得到候选匹配点的深度值;根据候选匹配点的深度值对候选匹配点进行初步筛选。
实施本发明的结构光测量方法以及运用该方法的结构光测量系统,具有以下有益效果:在原有的结构光的基础上增加一个精测量的第二摄像头,大大提高了该系统的测量精度。
通过标定过程建立标定数据库使得结构光测量过程更加简单准确;任意两个激光点在所述的第一摄像头中的成像位置相互间隔的设置保证了标定过程中打在被测物体上的各个激光点在第一摄像头中的成像位置与深度的对应关系的准确度;所述的第二摄像头与所述的激光出口的距离大于所述的第一摄像头与所述的激光出口的距离,使得第二摄像头能给出较第一摄像头更精确的成像位置与深度的对应关系;使用几何区域包围一个激光点在不同深度下的成像位置来进行所述标定过程和所述匹配过程,可以加快匹配速度;在计算过程中,对第二摄像头的成像位置和深度序列使用插值的方法获得激光点的精确位置,可以得到多个精确的被测物体的深度值。所述的匹配过程中的根据所述的第一摄像头的成像位置序列以及其在所述的第二摄像头中的候选匹配点完成匹配的过程使得更容易简单便捷的获取匹配结果。
具体实施方式
下面结合图示,对本发明的优选实施例作详细介绍。
如图1所示,在本发明的结构光测量方法中,包括匹配过程和计算过程,其中匹配过程和计算过程中需要使用的标定数据库通过标定过程获得。
标定过程中:
首先标定各个激光点在第一摄像头21中的成像位置与激光点的编号及低精度深度的第一对应关系:对第一摄像头21,设深度为时,激光点i在第一摄像头21中的成像位置为通过调整激光出口31(如图6所示)相对于第一摄像头21的位置,保证任意两个激光点成像分布不存在交叉或相互间隔区域,该过程成像示意图如图2所示。图2中,每个互不重合点集代表一个激光点在不同深度下的成像分布,点集中的每个点代表该点集对应的激光点在不同深度下的成像位置,此时,对于第i个激光点需要记录的数据为其中,Ni为标定第i个激光点的不同深度图像的个数。实际中,为了加快匹配速度,也可以用规则的几何区域包围上述点集,几何区域的形状可以为矩形、椭圆等规则形体,此时,对于第i个激光点需要记录的数据为其中,Ni为标定第i个激光点的不同深度图像的个数,Parami为划分区域的参数,对于矩形划分,则记录矩形顶点中横、纵坐标的极大值,极小值;对于椭圆形划分,则记录椭圆的中心点和长短轴。方形区域划分示意图如图3所示。
然后标定各个激光点在第二摄像头22中的成像位置与所述激光点的编号及高精度深度的第二对应关系:对第二摄像头22,设深度为时,激光点i在第二摄像头22中的成像位置为此时,对于第i个激光点需要记录的数据为记录其中,Ni为标定第i个激光点的实验数据的个数。需要指明的是,两个激光点的成像位置分布可能有交叉,其示意图如图4所示。实际中,为了加快匹配速度,也可以用规则的几何区域包围上述点集,几何区域的形状可以为矩形、椭圆等规则形体,此时,对于第i个激光点需要记录的数据为其中,Ni为标定第i个激光点的实验数据的个数,Parami为划分区域的参数,对于矩形划分,则记录矩形顶点中横、纵坐标的极大值,极小值;对于椭圆形划分,则记录椭圆的中心点和长短轴。以方形区域划分为例,方形区域划分示意图如图5所示。
匹配过程中:
设第一摄像头21中的成像位置序列设第二摄像头22中的成像位置序列对第一摄像头21中的成像位置求其在第二摄像头22中的成像位置序列中可能的匹配点,过程描述如下:
(1)、根据第一摄像头21中的成像位置和第一摄像头21的记录表确定激光点的编号及低精度深度;
对于第一摄像头21,由于各个激光点成像点集互不重合或互有间隔,根据第一摄像头21中的成像位置可立即判断出该位置对应的激光点的编号及低精度深度(即第一对应关系)。
根据标定时记录表的数据不同,判断方法如下:
A、未使用几何区域包围点集的情况,
设第一摄像头21中的成像位置为搜索记录表,找到表项中成像位置与相似度最大的那个表项,即
相似度计算可以为距离相似度:
B、使用几何区域包围点集的情况,
搜索记录表,找出落入划分区域中的表项,即
以矩形区域为例,Parami为{min_ui,max_ui,min_vi,max_vi},则应满足: 且
(2)、根据上述得到的激光点的编号和该激光点在第一摄像头21中的成像位置的编号,查询该激光点在第二摄像头22中的成像分布,并根据分布情况获取候选匹配点。
设激光点编号和该激光点在第一摄像头21中的成像位置的编号,分别记为Index和T,则从第一摄像头21的标定数据中得到的标定点数据为:
查找得到激光点在第二摄像头22中的标定成像分布序列为:
从激光点Index在第二摄像头22中的标定成像分布序列中找出候选的标定点,查找方法为:
获得深度在以为中心某一个范围内标定点,即:
这里d为人为设定的匹配搜索范围。
设第二摄像头22中满足条件的标定点编号序列为{index1,...,indexp,...,indexC},对序列中的每个点,求第二摄像头22中的成像位置中相似度满足要求的点。
根据标定时记录表的数据不同,判断方法如下:
A、未使用几何区域包围点集的情况,
对第二摄像头22中满足条件的标定成像序列中的每一个标定点从成像序列中找出相似度满足要求点作为候选点。
所述相似度计算可以为距离相似度:
条件为R≥Threshold,这里Threshold为预先设定的值
B、使用几何区域包围点集的情况,
从成像序列中落入划分区域ParamIndex的成像点。
以矩形区域为例,ParamIndex为{min_uIndex,max_uIndex,min_vIndex,max_vIndex},则应满足: 且
(3)、已知第一摄像头21中的成像位置序列及其在第二摄像头22中的候选匹配点,完成匹配。
此步骤之前已经完成了第一摄像头21所拍摄的激光点列深度的初步测量,并且在第二摄像头22的点列中寻找出了候选匹配点。对于第一摄像头21中的某个点假设已知了该点在第一摄像头21中求得的深度值为该点在第二摄像头22中的候选匹配点为(以3个候选点为例,并不局限于此),则本阶段需要解决的问题就是从这些候选点中找到点的最佳匹配。
A、候选点三维重建
首先,我们可以利用的是双目立体视觉的技术。对第一摄像头21和第二摄像头22进行双目标定之后,即可完成高精度的三维重建。假设分别将 与配对,进行三维重建,可以得到3个深度值
B、由深度进行筛选
之后,可以利用对这3个深度值进行一个初步的筛选,假定通过第一摄像头21测量出的测量精度为d,则超出了范围的深度值所对应的候选点将被剔除。此外,针对不同的应用场合,如果被拍摄的场景深度范围有限,还可以为重建出的深度值设定一个允许的变动范围,例如1-5米,来进行筛选。为了方便叙说,假定,通过此步骤,点被剔除。
C、寻找基准匹配对
下一步,我们需要从剩下的候选匹配点中,为点寻找出最佳匹配。以前述情形为例,我们需要从中找出一个最佳匹配点。这是一个比较困难的问题,因为这两个点都满足了我们的精度要求,都是比精度更高的测量值。因此,我们只能通过激光点在摄像头中的成像位置来考虑筛选。这样的话,我们想到需要在第一摄像头21和第二摄像头22中找到一组值得信任的基准匹配对。
当激光出口31放置在两个摄像头之间时,公共视野较大,因此我们选用这种情形。通常来说,规则的激光点列都是对点光源进行干涉和衍射的叠加产物,一个重要的特征就是靠近光源中心的点由于更多的干涉,亮度会明显高于周边的点,反映到成像上就是点的成像面积要大于周边的点。利用这个特征,加上两摄像头的公共成像视野大,我们采用了一个统计的方法来寻找可信任的基准匹配对。
在第一摄像头21和第二摄像头22的两幅图像中,分别对成像的光点按照面积从大到小排序,选出排在前列的固定数目N个光点,计算出这些光点的几何中心位置,最后通过这个几何中心寻找最接近此位置的光点,得到第一摄像头21和第二摄像头22中的两个光点作为可以信任的基准匹配。
这里需要说明的是,这样的基准匹配点的选取方法,并不一定能保证在y方向上的可靠性,因为靠近中心区域时,同一竖直线上的某几排亮斑是比较相似的。但是在x方向上却拥有很高的可靠性,因为水平方向的亮度差异是比较大的,通过统计,完全可以得到中心高亮区域的x值。所幸的是,在y方向,我们可以利用外极线约束,而且事实上,由于打出的是较为规则的激光点阵,通过标定选取的这些候选点通常都是处于同一水平线上下的,其y值都是极其接近的,我们并不需要在y方向对其进行筛选。
D、利用基准匹配求解最佳匹配点
假设得到的基准匹配对为则剩下的工作就变得简单了。通过前面的分析,我们只需要在x方向上进行比较,即只需要将 与做比较即可,与最为接近的值,意味着在x方向,第二摄像头22中此候选点到基准匹配点的距离与第一摄像头21中到相应基准匹配点的距离最为相近,这个候选匹配点即是我们认为的最佳匹配点,这里假设点被选中。以上,即完成了从第一摄像头21的成像位置到第二摄像头22的成像位置的匹配,而即是第一摄像头21中点的更高精度的深度值。
由于所述A、B步骤为一个粗筛选的步骤,可根据客户或实际需要选择执行。
同时也可用通用的指派算法完成已知第一摄像头21中的成像位置序列及其在第二摄像头22中的候选匹配点的匹配,算法如下:
设{p1,....,pi....,pM},{q1,....,qj....,qM}为两个2D标记序列,首先求相似性矩阵C={ci,j},这里li,j为pi和qj的相似性,总相似度F定义为:
其中, xij为0或1。其中,xij为M*N的矩阵。
通过改变xij,求总相似度F的最大值,若xij=1,则判定pi和qj为配对,反之认为不是匹配。
前述的匹配过程,假设任意pi和任意qj都可能匹配,故运算量比较大。该问题属于N-P难题,对于该问题有很多优化算法,但所有优化算法的运算量都随相似性矩阵C尺寸的增大而迅速增大。
当相似性矩阵C有如下特点时, 时,该问题可简化为分别对A和B进行前述处理,运算量大大减小,其中A、B为矩阵。为此,实际运行中,一般都通过各种约束,使C有 的情形。常用的约束条件有立体视觉系统的外极线约束、成像相似性等约束条件。
计算相似性矩阵C,相似性可以为成像面积、成像长轴、短轴等属性,也可以融合立体视觉系统的外极线等信息,这些为本领域技术人员均可实现的技术,不再详述。
可以得出C,如 的形式,分别对A、B进行处理。A、B的处理方法可以采用现有技术,如匈牙利算法、分支定界法等。
计算过程中:
根据匹配结果,确定激光点的精确位置。
已知激光点的编号和低精度深度,得到第二摄像机22的成像位置,根据标定过程中得到的激光点在第二摄像机22的成像位置和该激光点的编号和高精度深度的第二对应关系,通过插值的方法获得精确位置。
如图6、7所示,第二摄像头22与激光出口31的距离大于第一摄像头21与激光出口31的距离,且激光出口31在第一摄像头21的与第二摄像头22相对的一侧或激光出口31在第一摄像头21和第二摄像头22之间。如图6所示,激光出口位于第一摄像头21的与第二摄像头22相对的一侧且保证第二摄像头22与激光出口31的距离大于第一摄像头21与激光出口31的距离,如图7所示,激光出口31在第一摄像头21和第二摄像头22之间且第二摄像头22与激光出口31的距离大于第一摄像头21与激光出口31的距离,这样做可以保证第二摄像头22能给出较第一摄像头21更精确的成像位置与深度的对应关系,并且可以根据实际情况调整第二摄像头22的精度。当然在保证第二摄像头22与激光出口31的距离大于第一摄像头21与激光出口31的距离的基础上,激光出口31也能位于客户要求的其他位置。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。