1.本技术涉及视觉图像技术领域,尤其涉及一种去除深度图像中局外点的圆柱拟合方法和装置。
背景技术:
2.在视觉图像领域,深度图像可以反映所拍摄物体的三维信息。深度图像中每个像素点的灰度值可用于表征图像场景中某一点距离摄像机的远近,如果深度图像中有拍摄到的物体的图像,通过表达物体的图像像素点就能够直接反应物体可见表面的三维几何形状。进一步,在工业检测中,可以先通过拍摄获得待检测物体的深度图像,再对深度图像中待检测物体的全部轮廓或部分轮廓的像素点进行拟合,进而得到对应的拟合图像,然后基于该拟合图像实现待检测物体的工业检测,比如高度测量、体积测量以及其它相关的检测操作。
3.但是,如图1所示的深度图像,其中除了可参与拟合的内点,还有由于环境影响或待检测物体本身存在缺陷等因素而导致产生的局外点,其中,内点是指与待检测物体表面之间的距离小于等于误差距离的像素点,局外点是指与待检测物体表面之间的距离大于误差距离的像素点。然而,对深度图像中待检测物体的全部轮廓或部分轮廓的像素点进行拟合时,如果参与拟合的像素点中包括有局外点,则拟合获取的拟合图像存在较大误差,进而会导致后续对待检测物体高度及体积的测量或检测不准确。因此,有必要对深度图像中的局外点进行去除。
4.然而,在去除深度图像中的局外点时,还需要考虑待检测物体的形状。大多数待检测物体的形状由球面、柱面或者锥面等二次曲面构成,若拍摄不同形状的待检测物体,则获得的深度图像也不同,而对于不同的深度图像,需要采用与待检测物体形状对应的去除深度图像中局外点的方法。比如,待检测物体为圆柱状时,现有技术采用针对圆柱的去除局外点的方法,比如,采用坐标变换法、投影法或最小二乘法去除圆柱中的局外点。
5.上述三种去除局外点的方法共同的操作步骤是,首先是对深度图像中的全部像素点进行拟合操作,拟合形成次优圆柱,然后根据拟合形成的次优圆柱,将参与拟合的局外点进行一次去除操作,再将留下的内点再次拟合,形成最优圆柱。而一次性去除局外点的方式可能存在以下两种不好的情况:1、不仅去除掉应该去除的局外点,还去除掉少量内点,此时可参与再次拟合的内点数量偏少;2、没有将局外点完全去除,导致留下的内点中还掺杂有局外点,此时可参与再次拟合的点不仅包括内点,还包括没有去除掉的局外点。上述的两种情况都可能导致再次拟合的结果不准确,形成的最优圆柱误差较大,进而使得后续对最优圆柱高度及体积的测量或检测不准确。
6.因此,上述三种方法不能准确地去除局外点的干扰,留下最佳数量的内点,以达到高效和高精度的圆柱拟合。
技术实现要素:
7.本技术提供了一种去除深度图像中局外点的圆柱拟合方法和装置,以解决现有圆柱拟合方法并不能有效地去除局外点的干扰,以达到高效和高精度的圆柱拟合的问题。
8.本技术采用的技术方案如下:
9.第一方面,本发明提供了一种去除深度图像中局外点的圆柱拟合方法,包括:
10.选取深度图像中的有效深度数据点和其对应的法向量,其中,选取的有效深度数据点为至少两个,有效深度数据点指深度图像中掩膜值为true、数据信息为
‑
32768~32768、法向量不为零向量,且存在至少三个邻域点的像素点;
11.对所述有效深度数据点和对应的法向量进行拟合,得到若干候选圆柱;
12.计算所述有效深度数据点到候选圆柱的距离;
13.对所述候选圆柱进行循环迭代,选取内点最多对应的候选圆柱作为次优圆柱,所述内点指所述距离小于等于预设距离阈值的有效数据点;
14.将所述次优圆柱作为初始值,并对所述次优圆柱的内点进行拟合,得到优选圆柱;
15.对所述优选圆柱进行迭代寻优,得到若干优选圆柱,选取内点最多对应的优选圆柱作为最优圆柱。
16.在一种可实现的方式中,对所述候选圆柱进行循环迭代,直至输出内点最多对应的圆柱,记为次优圆柱,包括:
17.对所述候选圆柱进行循环迭代,若当前迭代次数大于最大迭代次数,则输出内点最多对应的圆柱为次优圆柱。
18.进一步地,若当前迭代次数小于等于最大迭代次数,则继续进行如下步骤:
19.选取深度图像中的有效深度数据点和其对应的法向量,其中,选取的有效深度数据点为至少两个;
20.对所述的有效深度数据和对应的法向量进行拟合,得到若干候选圆柱;
21.计算所述有效深度数据点到候选圆柱的距离;
22.对所述候选圆柱进行循环迭代,选取内点最多对应的候选圆柱作为次优圆柱。
23.进一步地,对所述优选圆柱进行迭代寻优,得到若干优选圆柱,选取内点最多对应的优选圆柱作为最优圆柱,包括:
24.对所述优选圆柱进行迭代寻优,得到若干优选圆柱,若优选圆柱的内点增加,则更新优选圆柱;
25.若优选圆柱的内点不再增加,则输出的优选圆柱为最优圆柱。
26.进一步地,最大允许迭代次数计算,包括:
27.将置信度和内点比例输入迭代模型,所述迭代模型通过下式计算出最大迭代次数:
[0028][0029]
上式中,p表示置信度,t表示内点比例,n表示最大允许迭代次数,x为选取的用于拟合有效深度数据点个数。
[0030]
进一步地,所述置信度的取值范围为(0,1)。
[0031]
在一种可实现的方式中,所述方法还包括:距离阈值的预设,根据深度图像实际应
用场景设定符合要求的距离阈值。
[0032]
另一方面,本发明还提供了一种去除深度图像中局外点的圆柱拟合装置,其特征在于,包括:
[0033]
有效深度数据点选取单元,所述有效深度数据点选取单元用于选取深度图像中的有效深度数据点和其对应的法向量,其中,选取的有效深度数据点为至少两个,有效深度数据点指深度图像中掩膜值为true、数据信息为
‑
32768~32768、法向量不为零向量,且存在至少三个邻域点的像素点;
[0034]
候选圆柱获取单元,所述候选圆柱获取单元用于对所述有效深度数据点和对应的法向量进行拟合,得到若干候选圆柱;
[0035]
计算单元,所述计算单元用于计算所述有效深度数据点到候选圆柱的距离;
[0036]
次优圆柱获取单元,所述次优圆柱获取单元用于对所述候选圆柱进行循环迭代,直至输出内点最多对应的圆柱,记为次优圆柱,所述内点指所述距离小于等于预设距离阈值的有效数据点;
[0037]
优选圆柱获取单元,所述优选圆柱获取单元用于将所述次优圆柱作为初始值,并对所述次优圆柱的内点进行拟合,得到若干优选圆柱;
[0038]
最优圆柱获取单元,最优圆柱获取单元用于对所述优选圆柱进行迭代寻优,得到若干优选圆柱,选取内点最多对应的优选圆柱作为最优圆柱。
[0039]
第二方面,本发明还提供了一种计算机设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或者多个处理器实现上述的去除深度图像中局外点的圆柱拟合方法。
[0040]
第三方面,本发明还提供了一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现上述的去除深度图像中局外点的圆柱拟合方法。
[0041]
采用本技术的技术方案的有益效果如下:
[0042]
本发明的一种去除深度图像中局外点的圆柱拟合方法及装置,选取深度图像中的有效深度数据点和其对应的法向量,其中,选取的有效深度数据点为至少两个;对有效深度数据点和对应的法向量进行拟合,得到若干候选圆柱;计算有效深度数据点到候选圆柱的距离;对候选圆柱进行循环迭代,选取内点最多对应的候选圆柱为次优圆柱,内点指距离小于等于预设距离阈值的有效深度数据点;将次优圆柱作为初始值,并对次优圆柱的内点进行拟合,得到优选圆柱;对优选圆柱进行迭代寻优,得到若干优选圆柱,选取内点最多对应的优选圆柱作为最优圆柱。
[0043]
本发明通过选取少量的有效深度数据点进行拟合,并增加迭代寻优的次数,可以更好的实现局外点的去除,以得到更加可靠和准确的圆柱拟合结果;进一步地,通过增加内点数量约束,使得拟合更加接近真实的情况。
[0044]
本发明在没有预处理的情况下对圆柱表面的干扰数据(局外点)进行去除,从而留下反映物体真实情况的有效信息;最终得到的最优圆柱误差最小,进而使得后续对最优圆柱高度及体积的测量或检测更加的准确。
附图说明
[0045]
为了更清楚地说明本技术的技术方案,下面将对实施例中所需要使用的附图作简
单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0046]
图1为本发明实施例的一种去除深度图像中局外点的圆柱拟合方法的内点和局外点示意图;
[0047]
图2为本发明实施例的一种去除深度图像中局外点的圆柱拟合方法的流程图;
[0048]
图3为本发明实施例的一种去除深度图像中局外点的圆柱拟合方法的获取次优圆柱和最优圆柱的流程图。
具体实施方式
[0049]
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本技术相一致的所有实施方式。仅是与权利要求书中所详述的、本技术的一些方面相一致的系统和方法的示例。
[0050]
当待检测物体呈圆柱状时,可以得到如图1所示的深度图像,其中除了可参与拟合的内点,还有由于环境影响或待检测物体本身存在缺陷等因素而导致产生的局外点。然而,对深度图像中待检测物体的全部轮廓或部分轮廓的像素点进行拟合时,如果参与拟合的像素点中包括有局外点,则拟合获取的拟合图像存在较大误差,进而会导致后续对待检测物体高度及体积的测量或检测不准确。因此,有必要对深度图像中的局外点进行去除。
[0051]
但是,现有通过坐标变换法、投影法或最小二乘法去除圆柱中的局外点的拟合结果不准确,形成的最优圆柱误差较大,进而使得后续对最优圆柱高度及体积的测量或检测不准确。因此,本技术提出了一种去除深度图像中局外点的圆柱拟合方法、装置、计算机设备以及计算机可读介质,具体如下所述。
[0052]
第一方面,如图1至图3所示,本技术提供的一种去除深度图像中局外点的圆柱拟合方法,包括:
[0053]
s01:随机深度图像中的有效深度数据点和其对应的法向量;
[0054]
其中,随机选取的有效深度数据点为至少两个,有效深度数据点指深度图像中掩膜值为true、数据信息为
‑
32768~32768、法向量不为零向量,且存在至少三个邻域点的像素点。
[0055]
需要说明的是:在本技术中,有效深度数据点指的是从深度图像的像素点中经过一系列的筛选得到的点云数据。
[0056]
由于深度图像中存在无效像素点,所以先要将深度图像中的无效像素点去除掉,无效像素点指的是深度图像中掩膜值为false的像素点,留下掩膜值为true的有效像素点。再选择数据信息为
‑
32768~32768、法向量不为零向量,且存在至少三个邻域点的像素点,即可得到本技术中需要用来拟合的像素点,即,有效深度数据点。
[0057]
进一步地,本发明的实施例中选取两个有效深度数据点和其对应的法向量进行拟合,且有效深度数据点存在至少三个邻域点,对应的法向量不为零向量。可以避免每次选择的有效深度数据点过多,导致迭代次数大大增加,以及降低次优圆柱获取方案的可行性。
[0058]
s02:对有效深度数据点和对应的法向量进行拟合,得到若干候选圆柱;
[0059]
s03:计算有效深度数据点到所述候选圆柱的距离;
[0060]
考虑到深度图像中还存在局外点占比比较大的情况,此时,则需要引入法向量角度阈值,以便于更好的去除局外点,使得拟合的圆柱误差更小。计算有效深度数据点到候选圆柱的距离的同时,还需要计算有效深度数据点对应的法向量与理想法向量的角度。
[0061]
可以理解的是,此处计算有效深度数据点到候选圆柱的距离以及计算有效深度数据点对应的法向量与理想法向量的角度中的有效深度数据点,为拟合得到若干候选圆柱后未处于候选圆柱上的有效深度数据点。
[0062]
s04:对候选圆柱进行循环迭代,直至输出内点最多对应的圆柱,记为次优圆柱,所述内点指所述距离小于等于预设距离阈值,且所述角度小于等于预设角度阈值的有效数据点;
[0063]
其中,本实施例中的最大允许迭代次数计算,包括:
[0064]
将置信度和内点比例(内点与内点和局外点总和的比例)输入迭代模型,所述迭代模型通过下式计算出最大迭代次数:
[0065][0066]
上式中,p表示置信度,t表示内点比例,n表示最大允许迭代次数,x为选取的用于拟合有效深度数据点个数。
[0067]
当选取两个深度图像中的有效深度数据点和其对应的法向量进行拟合时,上式为:
[0068][0069]
其中,t越小,计算的迭代次数越多,拟合的结果越是可靠;同时,置信度p越大,计算的迭代次数越多,拟合的结果越是可靠。即,本技术可以通过增加迭代次数,以获得更加可信的结果,实现更好的去除局外点的效果。
[0070]
具体地,置信度的取值范围为(0,1)。优选地,本实施例将置信度的数值设为0.8,可以满足大多数应用场景中局外点去除的实际要求。
[0071]
进一步地,步骤s04直至输出内点最多对应的圆柱,记为次优圆柱,具体包括:
[0072]
s041:对所述候选圆柱进行循环迭代,若当前迭代次数大于最大迭代次数,则输出内点最多对应的圆柱为次优圆柱;
[0073]
s042:若当前迭代次数小于等于最大迭代次数,则继续进行如下步骤:
[0074]
随机选取深度图像中的有效深度数据点和其对应的法向量;
[0075]
对所述的有效深度数据点和对应的法向量进行拟合,得到若干候选圆柱;
[0076]
计算所述有效深度数据点到候选圆柱的距离,计算所述有效深度数据点对应的法向量与理想法向量的角度;
[0077]
对所述候选圆柱进行循环迭代,直至输出内点最多对应的圆柱,记为次优圆柱。
[0078]
在步骤s04中,对若干候选圆柱进行迭代循环,选取内点最多对应的候选圆柱为次优圆柱,可以理解的是,内点最多对应的圆柱更加准确,反之,内点越少对应的圆柱误差越大,因此,在此步骤选取内点最多对应的候选圆柱为次优圆柱。
[0079]
s05:将所述次优圆柱作为初始值,并对所述次优圆柱的内点进行拟合,得到优选圆柱。
[0080]
需要说明的是,步骤s05得到的优选圆柱为一个。
[0081]
s06:对所述优选圆柱进行迭代寻优,得到若干优选圆柱,选取内点最多对应的优选圆柱作为最优圆柱。
[0082]
对步骤s05得到的一个优选圆柱每迭代寻优一次都会重新计算内点,并利用内点重新进行拟合,可以拟合得到若干个优选圆柱。
[0083]
具体来说,步骤s06包括如下步骤:
[0084]
对所述优选圆柱进行迭代寻优,得到若干优选圆柱,若优选圆柱的内点增加,则更新优选圆柱;
[0085]
若优选圆柱的内点不再增加,则输出的优选圆柱为最优圆柱。
[0086]
本技术中,先选取两个有效深度数据点和其对应的法向量进行拟合,拟合形成若干个候选圆柱;再对候选圆柱进行迭代寻优,选取内点最多对应的候选圆柱为次优圆柱;然后将次优圆柱作为初始值,并对次优圆柱的内点进行拟合,得到若干优选圆柱;再对优选圆柱进行迭代寻优,选取内点最多对应的优选圆柱作为最优圆柱。本技术选择少量的有效深度数据点和其对应的法向量进行拟合,再对拟合结果多次迭代寻优,直至得到最优圆柱,本技术的这种得到最优圆柱的方式,使得得到的最优圆柱误差最小,进而使得后续对最优圆柱高度及体积的测量或检测更加的准确。
[0087]
在一种可实现的方式中,上述方法还包括:距离阈值的预设,根据深度图像实际应用场景设定符合要求的距离阈值。
[0088]
将距离阈值作为评价内点和外点的一个准则时:若点到圆柱的距离大于距离阈值,则该点为外点;若点到圆柱的距离小于等于距离阈值,则该点为内点。如图1所示,圆柱内侧和外侧形成的虚线范围为距离阈值,可以看出点到圆柱的距离小于等于距离阈值,则该点为内点,点到圆柱的距离大于距离阈值,则该点为外点。
[0089]
需要说明的是,距离阈值设置的越大,证明拟合圆柱上的内点越多,去除的局外点的就越少,因此需要根据实际的图像数据确定距离阈值,也可以根据实际需要设置,若应用场景中需要大量的有效数据点来表征圆柱,就需要保留更多的有效数据点,在设定距离阈值时,则设置的大一些。
[0090]
在一种可实现的方式中,上述方法还包括:角度阈值的预设,根据深度图像实际应用场景设定符合要求的法向量角度阈值。
[0091]
其中,在本技术中,对于距离阈值,一般是在局外点的比例不大的时候使用;对于法向量角度阈值,一般在局外点比例较大的时候使用,此时也可以两者都使用。当然,对于局外点比例不大的情况下,若是想得到更好的初始结果,也可以加上法向量角度阈值。这是因为局外点比例不大时,对于法向量的估计受局外点影响较小,会比较准确;而局外点比例较大时,对于法向量的估计受局外点影响较大导致得到的法向量不太准确,此时利用法向量角度阈值能够筛除更多局外点。
[0092]
本发明的方法可以在没有预处理的情况下对圆柱表面的干扰数据进行去除,可以有效去除圆柱表面的局外点,从而留下反映物体真实情况的有效信息;同时,利用去除局外点的数据进行拟合,通过增加迭代次数,可以得到更加可靠和准确的圆柱拟合结果,更好的实现局外点的去除;进一步地,通过增加内点数量约束,使得拟合更加接近真实的情况。最终得到的最优圆柱误差最小,进而使得后续对最优圆柱高度及体积的测量或检测更加的准
确。
[0093]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0094]
作为第二方面,本发明还公开了一种去除深度图像中局外点的圆柱拟合装置,包括:
[0095]
有效深度数据点选取单元,所述有效深度数据点选取单元用于选取深度图像中的有效深度数据点和其对应的法向量,其中,选取的有效深度数据点为至少两个,有效深度数据点指深度图像中掩膜值为true、数据信息为
‑
32768~32768、法向量不为零向量,且存在至少三个邻域点的像素点;
[0096]
候选圆柱获取单元,候选圆柱获取单元用于对所述有效深度数据点和对应的法向量进行拟合,得到若干候选圆柱;
[0097]
计算单元,所述计算单元用于计算所述有效深度数据点到候选圆柱的距离;
[0098]
次优圆柱获取单元,所述次优圆柱获取单元用于对所述候选圆柱进行循环迭代,选取内点最多对应的候选圆柱为次优圆柱,所述内点指所述距离小于等于预设距离阈值的有效深度数据点;
[0099]
优选圆柱获取单元,所述优选圆柱获取单元用于将所述次优圆柱作为初始值,并对所述次优圆柱的内点进行拟合,得到优选圆柱;
[0100]
最优圆柱获取单元,所述最优圆柱获取单元用于对所述优选圆柱进行迭代寻优,得到若干优选圆柱,选取内点最多对应的优选圆柱作为最优圆柱。
[0101]
具体关于去除深度图像中局外点的圆柱拟合装置的限定可以参见上文中对去除深度图像中局外点的圆柱拟合方法的限定,在此不多做赘述。另外,上述去除深度图像中局外点的圆柱拟合装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0102]
作为第三方面,本发明还公开了一种计算机设备,该计算机设备可以是服务器。该计算机设备包括:一个或多个处理器,用于提供计算和控制能力;存储器,存储器用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或者多个处理器实现以下步骤:选取深度图像中的有效深度数据点和其对应的法向量,其中,选取的有效深度数据点为至少两个,有效深度数据点指深度图像中掩膜值为true、数据信息为
‑
32768~32768、法向量不为零向量,且存在至少三个邻域点的像素点;对所述有效深度数据点和对应的法向量进行拟合,得到若干候选圆柱;计算有效深度数据点到候选圆柱的距离;对候选圆柱进行循环迭代,选取内点最多对应的候选圆柱为次优圆柱,内点指距离小于等于预设距离阈值的有效深度数据点;将次优圆柱作为初始值,并对次优圆柱的内点进行拟合,得到优选圆柱;对优选圆柱进行迭代寻优,得到若干优选圆柱,选取内点最多对应的优选圆柱作为最优圆柱。
[0103]
作为第四方面,本发明还公开了一种计算机可读介质,其上存储有计算机程序,该计算机可读介质可以是上述实施例中描述的设备中所包含的,也可以是单独存在,而未装配入该设备中。上述程序被处理器执行以下步骤:选取深度图像中的有效深度数据点和其
对应的法向量,其中,选取的有效深度数据点为至少两个,有效深度数据点指深度图像中掩膜值为true、数据信息为
‑
32768~32768、法向量不为零向量,且存在至少三个邻域点的像素点;对所述有效深度数据点和对应的法向量进行拟合,得到若干候选圆柱;计算有效深度数据点到候选圆柱的距离;对候选圆柱进行循环迭代,选取内点最多对应的候选圆柱为次优圆柱,内点指距离小于等于预设距离阈值的有效深度数据点;将次优圆柱作为初始值,并对次优圆柱的内点进行拟合,得到优选圆柱;对优选圆柱进行迭代寻优,得到若干优选圆柱,选取内点最多对应的优选圆柱作为最优圆柱。
[0104]
需要说明的是,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个....”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0105]
以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
[0106]
应当理解的是,本技术并不局限于上面己经描述并在附图中示出的内容,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
转载请注明原文地址:https://win.8miu.com/read-250381.html