本发明涉及点云生成技术领域,特别涉及一种基于方向模板高精度快速生成点云的方法。
背景技术:
点云为在逆向工程中通过测量仪器得到的产品外观表面的点数据集合。当一束激光照射到物体表面时,所反射的激光会携带方位、距离等信息。若将激光束按照某种轨迹进行扫描,便会边扫描边记录到反射的激光点信息,由于扫描极为精细,则能够得到大量的激光点,因而就可生成激光点云。
传统的基于方向模板的点云生成方法,因需要对整个图像进行卷积运算,往往会造成运算量巨大的问题,导致在嵌入式平台上运行速度较慢的问题,不利于大规模生产。
技术实现要素:
本发明的目的在于针对现有技术中的上述缺陷,提供一种基于方向模板高精度快速生成点云的方法,能有效减小方向模板卷积的计算量,利于大规模生产。
为了实现上述发明目的,本发明采用了如下技术方案:
一种基于方向模板高精度快速生成点云的方法,其包括以下步骤:
步骤1:上下边缘法确定激光线区域
设置激光线的灰度阈值为i0,图像的实际灰度为ic,找出图像的一竖列中ic>i0的最小行坐标和最大行坐标,用所述最小行坐标和最大行坐标表示所述竖列中激光线区域的边缘,逐列扫描,得到整个激光线区域a0;
步骤2:在所述激光线区域a0内采用方向模板进行卷积获得点云初定位;
步骤3:所述激光线光强分布呈现高斯分布,对所述激光线的中心处灰度值进行高斯拟合,得到高精度的点云数据。
此外,本发明还包括如下附属技术方案:
所述步骤2包括:
(2-1)采用方向模板对所述激光线区域a0进行卷积,卷积后得到与所述方向模板个数相同的区域,求出每个区域中梯度值的最大值,得到的所述最大值即为潜在的点云位置;
(2-2)比较每个区域中梯度值最大值的大小,选择所述梯度值最大值中最大的点云所在位置作为点云初定位,记录点云初定位(xi,c),并记录此时对应的方向模板;
所述步骤3包括:
(3-1)根据每个点云的方向,选用点云方向的法线反向的灰度值a做高斯拟合,选取点云初定位(xi,c)做高斯拟合;
(3-2)所述激光线光强分布呈现高斯分布为:
其中,xmax表示高斯分布的峰值位置,s表示激光线线宽;
(3-3)对所述高斯分布等号两边取自然对数:
令
则对所述高斯分布等号两边取自然对数可写为:
zi=b2xi2+b1xi+b0;
(3-4)代入点云(xi,c),则有:
(3-5)根据最小二乘法,得出点云位置为:
所述高精度的点云数据为(xc,c),即中心点数据为(xc,c)。
所述方向模板包括0°、45°、90°以及135°四个方向的方向模板,所述方向模板大小为7×5。
所述0°方向模板为:
所述45°方向模板为:
所述90°方向模板为:
所述135°方向模板为:
其中,hij为权值。
所述权值的大小设置与邻域像素点对中心点的方向梯度的贡献大小有关。
相比于现有技术,本发明优点在于:
本发明的一种基于方向模板高精度快速生成点云的方法,通过采用上下边缘法对激光线区域进行初定位,有效减小方向模板卷积的计算量;然后在激光线区域内采用方向模板进行点云初定位,可以较好的对断线进行修补,防止细节丢失,受噪声干扰较小,对不同方向的激光线也能够准确提取,可靠性和鲁棒性较好;最后在点云位置处采用高斯法对确定方向的激光线进行亚像素精度提取,使得精度达到亚像素级别;具有高速、高精度、抗干扰能力强等特点。
具体实施方式
以下结合较佳实施例对本发明技术方案作进一步非限制性的详细说明。
对应于本发明的一种较佳实施例的基于方向模板高精度快速生成点云的方法,其包括以下步骤:
步骤1:上下边缘法确定激光线区域
设置激光线的灰度阈值为i0,图像的实际灰度为ic,找出图像的一竖列中ic>i0的最小行坐标和最大行坐标,用最小行坐标和最大行坐标表示竖列中激光线区域的边缘,逐列扫描,得到整个激光线区域a0;
步骤2:在所述激光线区域a0内采用方向模板进行卷积获得点云初定位;
(2-1)采用方向模板对激光线区域a0进行卷积,卷积后得到与方向模板个数相同的区域,该区域经过卷积后各点值与原来的不同,求出每个区域中梯度值的最大值,梯度越大表明该点和旁边的灰度值相差越大,由于高斯分布,表明该点已经快接近激光线中心线,得到的最大值即为潜在的点云位置。梯度最大值是激光线中心的边缘,这样做的目的是下面的步骤中高斯拟合用激光条纹中心附近的数据拟合提取出的中心线精度越高;
在本实施例中,选用四个方向模板,方向模板包括0°、45°、90°以及135°四个方向的方向模板,方向模板大小为7×5。
0°方向模板为:
45°方向模板为:
90°方向模板为:
135°方向模板为:
其中,hij为权值,权值的大小设置与邻域像素点对中心点的方向梯度的贡献大小有关。
(2-2)比较每个区域中梯度值最大值的大小,选择梯度值最大值中最大的点云所在位置作为点云初定位。记录点云初定位(xi,c),并记录此时对应的方向模板。
步骤3:进行亚像素提取
激光线光强分布呈现高斯分布,对激光线的中心处灰度值进行高斯拟合,得到高精度的点云数据。
(3-1)根据每个点云的方向,选用点云方向的法线反向的灰度值a做高斯拟合,选取点云初定位(xi,c)做高斯拟合;
(3-2)激光线光强分布呈现高斯分布为:
其中,xmax表示高斯分布的峰值位置,s表示激光线线宽;
(3-3)对高斯分布等号两边取自然对数:
令
则对高斯分布等号两边取自然对数可写为:
zi=b2xi2+b1xi+b0;
(3-4)代入点云(xi,c),则有:
(3-5)根据最小二乘法,得出点云位置为:
高精度的点云数据为(xc,c),即中心点数据为(xc,c)。
本发明的一种基于方向模板高精度快速生成点云的方法,通过采用上下边缘法对激光线区域进行初定位,有效减小方向模板卷积的计算量;然后在激光线区域内采用方向模板进行点云初定位,可以较好的对断线进行修补,防止细节丢失,受噪声干扰较小,对不同方向的激光线也能够准确提取,可靠性和鲁棒性较好;最后在点云位置处采用高斯法对确定方向的激光线进行亚像素精度提取,使得精度达到亚像素级别;具有高速、高精度、抗干扰能力强等特点。
需要指出的是,上述较佳实施例仅为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。