掌桥专利:专业的专利平台
掌桥专利
首页

一种水下激光条纹中心提取方法

文献发布时间:2023-06-19 12:07:15


一种水下激光条纹中心提取方法

技术领域

本发明属于海底三维重建领域,具体涉及一种水下激光条纹中心提取方法。

背景技术

水下激光扫描系统常应用于水下近程目标探测及三维重建等领域,其系统分辨率可以达到声呐系统的几十倍甚至上百倍,对于距离较近或者目标较小的物体具有良好的测量精度,可以实现高精度的水下测量任务。水下激光条纹中心提取是水下激光扫描系统中数据获取的重要手段,其误差大小直接影响系统的测量精度。在系统工作过程中,水下激光条纹中心提取精度受水下激光成像质量的影响。水下图像噪声较高、对比度低、细节模糊的特点,使得系统无法准确提取激光条纹的中心坐标。并且水下激光条纹成像宽度通常为多像素,不能满足系统的测量精度,需要提取出亚像素级别的激光条纹。因此为了提高水下激光扫描系统的测量性能,需要提高水下激光条纹中心提取的精确程度。目前对于激光条纹的提取方法,无法同时满足精度和速度的需求,并且没有针对水下激光成像特点进行改善。

中国专利CN201410158714.5通过骨骼化方法获取激光条纹的初始中心,利用灰度高斯拟合确定每一点处激光条纹宽度。针对光条宽度不同的问题,对于每一个初始点处使用三个高斯核均方差进行了多尺度卷积计算,并利用阈值选取出该点处所对应的最佳值。该方法对于初始法线方向提取精度较低,并且对于每一个初始中心点所在区域都进行了三个尺度的卷积运算,大大增加了运算量,方法耗时较多。

中国专利CN201811337934.9对激光条纹图像进行了背景校正,对阈值分割后的二值图像进行了细化处理得到单像素的中心线,然后通过图像坐标转换和畸变矫正得到最终结果。该方法对二值图像进行细化处理,只考虑到激光条纹的几何特征,未能考虑到其能量分布情况,得到的初始中心线存在一定的误差,并且通过畸变矫正后的中心线很难达到亚像素级的水平,提取精度较低。

发明内容

针对上述现有技术,本发明要解决的技术问题是提供一种水下激光条纹中心提取方法,针对水下激光条纹图像的退化情况,对图像进行增强处理。并且针对激光条纹宽度不同的问题,提出选取不同高斯函数尺度因子的方法应用于Steger算法,同时利用高斯卷积递归运算提高运算速度,从而实现快速精确提取激光条纹中心。

为解决上述技术问题,本发明的一种水下激光条纹中心提取方法,包括以下步骤:

步骤1:利用暗通道先验算法和白平衡算法改善水下激光条纹图像质量;

步骤2:通过阈值分割提取激光条纹区域,并应用灰度重心法提取激光条纹的初始中心点;

步骤3:通过均方灰度梯度的方法得到各中心点法线方向,并计算法线方向上的光条宽度;

步骤4:通过光条宽度选择不同的高斯函数尺度因子应用于Steger算法,并利用高斯卷积递归计算出亚像素级条纹中心点。

本发明还包括:

1.步骤1中利用暗通道先验算法和白平衡算法改善水下激光条纹图像质量具体为:

首先建立水下图像退化模型,计算出原始图像的暗通道图像,并由此估计水体背景信息,得出图像透射图,并应用引导滤波对透射图进行细化,再根据暗通道先验原理对图像进行恢复,然后利用白平衡算法对图像进行色彩矫正得到增强图像。

2.步骤2中通过阈值分割提取激光条纹区域,并应用灰度重心法提取激光条纹的初始中心点具体为:

采用自适应阈值方法利用模板计算邻域内的均值,并以此作为局部区域的阈值进行分割,将激光条纹区域提取出来,然后利用灰度重心法对激光条纹区域进行中心线粗提取,计算激光条纹每一行截面上的灰度值质心坐标作为中心点,遍历整个激光条纹区域得到激光条纹的初始中心点。

3.步骤3中通过均方灰度梯度的方法得到各中心点法线方向,并计算法线方向上的光条宽度具体为:

步骤3.1:利用Sobel算子计算激光条纹每一个初始中心点的灰度梯度向量[G

其中,

那么该点的法线方向θ(x,y)满足:

其中,θ(x,y)的范围为

步骤3.2:对于每一个初始中心点,取其法线与激光条纹轮廓线相交的两个像素点(x

4.步骤4中通过光条宽度选择不同的高斯函数尺度因子应用于Steger算法,并利用高斯卷积递归计算出亚像素级条纹中心点具体为:

步骤4.1:根据每个初始中心点所对应的光条宽度求得光条宽度的梯度序列,并采用梯度阈值对激光条纹进行分割,在分割后根据激光条纹段的宽度选取高斯函数尺度因子应用于Steger算法。

步骤4.2:确定每段激光条纹的尺度因子后,采用Steger算法对激光条纹中心进行精确提取:首先利用Hessian矩阵对激光条纹初始中心点(x,y)在法线方向上的单位向量进行求解,在Hessian矩阵求解过程中,根据高斯卷积递归运算对卷积计算进行化简,得到单位法线向量n=(n

其中,I(x,y)为原图像,r

令I(x+tn

(x',y')=(x+tn

本发明的有益效果:本发明提出一种水下激光条纹中心提取方法,考虑到了激光在水下传输过程中的衰减对成像的影响,在激光条纹中心提取前对水下图像进行增强处理,改善图像质量。针对激光条纹形变造成线宽不一致的问题,根据光条宽度选择不同的尺度因子进行卷积运算,提高Steger算法的提取精度,并利用高斯卷积递归算法提高Hessian矩阵求解速度,实现水下激光条纹中心高精度快速提取。该方法在对水下激光条纹进行中心提取前,首先针对水下激光条纹图像的退化情况,利用暗通道先验算法和白平衡算法对图像进行增强处理,降低了水体因素产生的噪声过高和边缘模糊对图像的干扰。并且在Steger算法提取激光条纹中心的基础上,根据激光条纹的线宽对其进行分段,选取不同的高斯函数尺度因子,使得法线向量计算得更为精确。然后在Hessian矩阵计算的过程中利用高斯卷积递归进行化简,从而减少卷积运算量,解决计算速度过慢的问题,实现激光条纹中心快速精确提取。

附图说明

图1是本发明中分析方法流程图;

图2是本发明中激光条纹图像截面灰度示意图;

图3是本发明中灰度重心法中心点粗提取示意图;

图4是本发明中Sobel算子示意图;

图5是本发明中均方灰度梯度方法提取法线方向示意图;

图6是本发明中激光条纹宽度提取示意图。

具体实施方式

下面结合附图与具体实施方式对本发明作进一步详细描述。

结合图1,本发明一种水下激光条纹中心提取方法,包括以下步骤:

步骤1:利用暗通道先验算法和白平衡算法改善水下激光条纹图像质量;

步骤2:通过阈值分割提取激光条纹区域,并应用灰度重心法提取激光条纹的初始中心点;

步骤3:通过均方灰度梯度的方法得到各中心点法线方向,并计算法线方向上的光条宽度;

步骤4:通过光条宽度选择不同的高斯函数尺度因子应用于Steger算法,并利用高斯卷积递归计算出亚像素级条纹中心点。

步骤1利用暗通道先验算法和白平衡算法对水下激光条纹图像进行处理。首先需要建立水下图像退化模型,计算出原始图像的暗通道图像,并由此估计水体背景信息,得出图像透射图,并应用引导滤波对透射图进行细化,再根据暗通道先验原理对图像进行恢复,然后利用白平衡算法对图像进行色彩矫正得到增强图像。

步骤2通过阈值分割提取激光条纹区域,并应用灰度重心法提取激光条纹的初始中心点。采用自适应阈值方法利用模板计算邻域内的均值,并以此作为局部区域的阈值进行分割,将激光条纹区域提取出来。然后利用灰度重心法对激光条纹区域进行中心线粗提取,计算激光条纹每一行截面上的灰度值质心坐标作为中心点,遍历整个激光条纹区域得到激光条纹的初始中心点。

步骤3通过均方灰度梯度的方法得到各中心点法线方向,并计算法线方向上的光条宽度,具体过程为:

步骤3.1:利用Sobel算子计算激光条纹每一个初始中心点的灰度梯度向量[G

其中,

那么该点的法线方向θ(x,y)可以通过以下公式得到,θ(x,y)的范围为

步骤3.2:对于每一个初始中心点,取其法线与激光条纹轮廓线相交的两个像素点(x

步骤4通过光条宽度选择不同的高斯函数尺度因子应用于Steger算法,并利用高斯卷积递归计算出亚像素级条纹中心点,具体过程为:

步骤4.1:根据每个初始中心点所对应的光条宽度求得光条宽度的梯度序列,并采用梯度阈值对激光条纹进行分割。在分割后根据激光条纹段的宽度选取高斯函数尺度因子应用于Steger算法。

步骤4.2:确定每段激光条纹的尺度因子后,采用Steger算法对激光条纹中心进行精确提取。首先利用Hessian矩阵对激光条纹初始中心点(x,y)在法线方向上的单位向量进行求解,在Hessian矩阵求解过程中根据高斯卷积递归运算对大量的卷积计算进行化简,得到较为精确的单位法线向量n=(n

其中,I(x,y)为原图像,r

令I(x+tn

(x',y')=(x+tn

下面结合具体模型和参数给出实施例:

根据大气图像雾化特性,可以建立水下图像的退化模型,公式如下

I(x)=J(x)t(x)+A(1-t(x)) (1)

其中,I(x)为水下退化图像,J(x)为处理后的图像,t(x)为透射率,A为水体背景光。

根据暗通道原理,在图像中至少有一个颜色通道会存在局部区域像素值很低的情况。在以像素x为中心的窗口中,首先求出每个像素红绿蓝(RGB)三个分量的最小值,并存入与原始图像大小相同的灰度图中,再通过最小值滤波得到RGB三个通道中的最低值,即为图像的暗通道图,表达如下

其中,J

根据上述公式(1)和公式(2)进行变换可以得到介质透射率t(x),公式如下

为了更好的恢复出原始图像,选用保留因子ω对透射率进行修正,ω通常取值为0.95,可以避免因透射率过小而过度恢复噪声,然后利用引导滤波对透射图进行细化,公式如下

为避免估计背景光时受到噪声干扰,在暗通道图像中选择亮度排在前0.1%的像素点,将其所对应原图像中RGB三个通道的平均值作为背景光A值。通过以上参数信息,可以根据公式(1)对水下激光图像进行恢复。然后再利用白平衡算法进行色彩矫正处理,增加图像亮度,得到恢复后的水下激光条纹图像。

在恢复后的图像中仍然具有复杂的背景噪声,如图2所示。对此采用自适应阈值的方法对处理后的图像进行分割,利用模板计算邻域内的均值,以此作为局部区域的阈值。并在该区域内应用此阈值进行分割,若该阈值大于所设定的阈值T,则保留像素点原有的灰度值,若小于阈值T,则将像素点灰度值设为0,从而完成整张图像的激光条纹区域分割任务,将激光条纹区域提取出来。然后利用灰度重心法对激光条纹区域进行中心线粗提取,如图3所示,取激光条纹每一截面上超过设定灰度阈值的像素点,以此作为权重计算截面上灰度质心的坐标,由此遍历整个激光条纹区域得到激光条纹的初心中心点,公式如下

其中,f(i,j)是像素点(i,j)的灰度值,Ω是(i,j)点所在截面,(x,y)是该截面的中心坐标。

然后利用Sobel算子计算激光条纹每一个初始中心点的灰度梯度向量[G

在均方灰度梯度方法中,使灰度梯度向量在复平面上取平方可使角度加倍,得

(G

并且为获得更为准确的法线方向,以点(x,y)为中心,取n×n窗口内的灰度梯度,计算灰度梯度平方的平均值和方向角

其中,G

该点的法线方向θ(x,y)可以通过以下公式得到,θ(x,y)的范围为

通过以上方法可以得到激光条纹上每个初始中心点的单位法线向量,如图5所示。然后在每个中心点处取其法线与激光条纹轮廓线相交的两个像素点(x

根据每一个初始中心点所对应的光条宽度计算出光条宽度的梯度序列,采用梯度阈值对激光条纹进行分割。根据分割后的每一段激光条纹的宽度,确定高斯函数尺度因子

其中,H(x,y)为Hessian矩阵,g(x,y)为二维高斯函数,I(x,y)为输入图像,r

在Hessian矩阵求解过程中,根据高斯卷积递归对大量的卷积运算计算进行化简,先后对图像行方向和列方向进行递归卷积。根据选取的高斯函数尺度因子σ计算出递归系数q、b

再根据递归表达式依次进行前向迭代和后向迭代,计算出r

其中,I(n)为输入图像,V(n)、V′(n)、V″(n)分别为输入图像的高斯卷积、一阶微分和二阶微分高斯卷积的前向递归输出,R(n)、R′(n)、R″(n)分别为输入图像的高斯卷积、一阶微分和二阶微分高斯卷积的后向递归输出。

由此可以求出Hessian矩阵的特征值和特征向量,得到较为精确的单位法线向量n=(n

令I(x+tn

(x',y')=(x+tn

相关技术
  • 一种水下激光条纹中心提取方法
  • 一种基于决策的激光条纹的中心提取方法
技术分类

06120113175681