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

基于激光雷达与相机融合的水下船体表面缺陷检测方法

文献发布时间:2024-04-18 19:58:26


基于激光雷达与相机融合的水下船体表面缺陷检测方法

技术领域

本发明涉及水下目标检测技术领域,特别涉及一种基于激光雷达与相机融合的水下船体表面缺陷检测方法。

背景技术

水下船体的焊接缺陷、腐蚀缺陷、大尺寸变形是三种船体表面损伤的常见形式,对船体的结构完整性和水密性造成影响。焊接缺陷作为船体表面损伤最难检测的缺陷形式,特征包括裂纹、气孔、夹渣等,极难对其特征进行检测识别。在水下进行目标检测,尤其是针对水下船体进行检测时,考虑到水体的作用,仅依靠单一传感器采集的信息并不能获得准确的检测焊接缺陷结果。激光雷达作为主动传感器,对距离感知能力强,具有完整的3D信息,但是成像细节稀疏;摄像头被动(可见光)传感器,可以获得目标的形状与色彩,适用于目标细节丰富的物体。但是缺乏深度信息,且受外界光照条件影响较大,上述方法仅可以得到目标的2D检测框,无法探测目标距离信息,需要使用激光雷达和相机数据融合技术,以求提高测量的准确性与可靠性。

当前激光雷达相机数据融合技术可以分为3种级别:像素级的激光雷达相机数据融合、特征级的激光雷达图像融合、决策级的激光雷达图像融合。当前主要研究方向是最低级别的像素级的激光雷达相机数据融合技术,应用范围广;特征级作为更高一级的的激光雷达相机数据融合,根据形状、纹理特征进行数据融合处理,对于选取特征和特征权重的规则没有统一规定,应用范围受限;决策级的激光雷达相机数据融合是最高级别的操作,需要自主设定融合规则,融合结果的主观性盲目性比较强。

目前,多传感器融合的目标检测算法逐渐增多,例如基于激光雷达与相机的检测方案,具有代表性的如F-PointNet,该方法设计了视锥体,主体流程首先通过图像检测方法获取目标2D检测框;之后通过传感器标定,将2D检测框投影至点云生成视锥体,最后通过PointNet网络生成精确目标边界框,检测结果精度依赖于2D检测框的生成;也有采用点云的深度信息与插值算法获得深度图像(RGB-D),最终利用特征级融合提高了检测精度;也有基于深度图像数据提出一种三维物体检测框架——Frustum PointNets。该方法直接在原始点云数据上操作,分别利用成熟的二维目标检测和三维目标检测的深度学习网络实现定位,实现了较好的检测性能。目前大多数目标检测融合算法未考虑水下环境,难以实现在水下环境中等视觉较弱的情况下的目标检测任务。

发明内容

针对现有技术的不足,本发明提供了一种基于激光雷达与相机融合的水下船体表面缺陷检测方法,本方法结合图像与激光雷达各自的优势,融合图像点云数据后获得更加全面、完善的特征用于提升水下目标检测的精度;将水下空间信息和图像语义信息的数据融合,有效解决了复杂的水体环境下,实现水下船体表面缺陷的准确测量与稳定检测。

为实现上述目的,本发明公开了如下技术方案:提供一种基于激光雷达与相机融合的水下船体表面缺陷检测方法,其包括:

S1:获取并处理水下船体表面焊接裂纹缺陷处的点云数据和图像数据;

S11:通过基于线结构光的水下激光雷达对水下船体表面焊接裂纹缺陷处进行扫描获取点云数据;使用水下相机对水下船体表面焊接裂纹缺陷处进行拍摄获取图像数据;

S12:使用点云数据法向量估计、采用高斯滤波对点云数据去除高频信息和采用SE-SSD对点云数据进行增强,获取船体表面裂纹的轮廓信息,实现点云数据的预处理操作;

S13:使用同态滤波处理、基于直方图的图像增强和基于光衰减先验与背景光融合算法进行修复实现水下船体表面焊接裂纹缺陷图像数据的预处理操作;

S2:对水下船体表面焊接裂纹缺陷点云数据和图像数据进行特征提取,获取相同特征,实现数据融合,具体包括如下子步骤:

S21:对步骤S1中预处理后的水下船体表面焊接裂纹缺陷图像数据进行灰度处理,逐点求出图像数据中每个像素点的R、G和B三个分量的平均值,然后将所述平均值赋予给像素点的的R、G、B三个分量;

S22:将处理后的水下船体表面焊接裂纹缺陷点云数据和图像数据进行特征提取;

S23:获取水下船体表面焊接裂纹缺陷点云数据和图像数据的相同特征,利用ICP点云匹配算法计算出水下激光雷达坐标系和水下相机坐标系之间的转换关系,实现数据融合;所述ICP点云匹配算法通过计算水下相机的旋转矩阵R和平移矩阵t,从水下相机坐标系P转换到水下激光雷达坐标系Q的计算表达式,如下所示:

q

其中,q

同时,构建ICP点云匹配算法优化过程的最小化目标函数M

其中,M

匹配水下相机坐标系P和水下激光雷达坐标系Q中距离最近的点对(P

S3:将步骤S2融合后的水下船体表面焊接裂纹缺陷点云数据转换到图像坐标系中,得到稀疏深度图;通过稠密化深度图将稀疏深度图补全,使用补全算法进行补全操作后会产生边缘噪声,利用引导滤波对其进行平滑操作,像素点的输出结果函数,如下所示:

其中,Q为输出RGB-D图像;I为引导图像;k为对应的像素索引;a为当观察窗口位于k时的线性函数的第一系数;b为当观察窗口位于k时该线性函数的第二系数;w

经过修正无状态引导下的信息失真,得到符合要求的深度图像,补全形成RGB-D图,从而获得水下船体表面缺陷检测结果。

可优选的,所述步骤S12中使用点云数据法向量估计,具体为:

利用点云法向量估计原理估计点云数据法向量;所述水下船体表面焊接裂纹缺陷点云数据在真实物体的表面为一组定点样本点云数据集;对所述点云数据集的每个点进行法线估计,作为对表面法线的近似推断;表面一点法线的问题近似估计表面的一个相切面法线的问题,法线估计实质上就是对每一个点,在其邻域内估计出一个平面,估计一个平面需要一个点和一个法向量,法向量就是要估计的法向量,这个点就是这一群邻域点的平均值;寻求一个方向l使得所有邻域点在方向l上的投影点的分布最为集中,具体方法如下所示;

其中,x

可优选的,所述步骤S12中采用高斯滤波对水下船体表面焊接裂纹缺陷点云数据去除高频信息,具体为:

高斯滤波是利用高斯函数对点云进行平滑处理,取滤波窗口内像素平均值,窗口内不同位置像素所占权重通过高斯函数计算获得,权重窗口称为高斯核函数的获取方法,如下所示:

其中,G(x

利用求得的高斯圆对称函数G(x

F(x

其中,F(x

可优选的,所述步骤S12中采用SE-SSD对水下船体表面焊接裂纹缺陷点云数据进行增强,具体为:

根据点云数据中的数据,确定它的真值边界框中心,并将真值边界框中心与真值边界框顶点连接起来,形成锥体,将点云数据分成六个子集,操作六个子集点云数据进行增强操作,具体包括以下三个子步骤:

S121:随机删除子步骤:在随机选择的金字塔中随机删掉所有点,模拟物体被部分障碍物遮挡,以帮助网络从剩余的点推断出完整的形状;

S122:随机交换子步骤:在当前场景中随机选择一个输入目标,并将点集交换到另一个输入目标中的点集,从而利用目标间的表面相似性来增加目标样本的多样性;

S123:最远端采样子步骤:在随机选择的金字塔中随机采样子样本点,模拟由于水下激光雷达距离船体待检测缺陷位置变化引起的点的稀疏变化。

可优选的,所述步骤S13中使用同态滤波对水下船体表面焊接裂纹缺陷图像数据处理,具体为:

将图像数据的高低频分别进行处理以达到高频增强、低频抑制的目的;为实现低频抑制和高频增强,将sigmoid函数引入同态滤波,得到高通滤波处理模型,如下所示:

其中,H(u,v)为高通滤波处理模型;r

频率坐标(u,v)到中心频率原点坐标(u

其中,u为中心频率横坐标;v为中心频率纵坐标;u

可优选的,所述步骤S13中基于直方图的水下船体表面焊接裂纹缺陷图像增强,具体为:

使用HE算法,完成基于直方图的图像增强,将图像直方图从较窄的单峰式直方图变换为均衡分布的直方图,设定l

其中,l

变换函数为l的累计分布函数,如下所示

若概率密度函数P(l

其中,P(w

可优选的,所述步骤S13中基于光衰减先验与背景光融合算法进行水下船体表面图像修复,具体为:

将输入图像数据的累计分布函数转变为变换函数的直方图修正技术,通过像素值变换使得原图像数据变换在大多数灰度等级上都有大致相同像素个数的输出图像;根据背景光与水体光线的衰减特性和图像区域存在相关性,采用两种背景光加权融合方法来提高背景光估计的准确性;

最大强度先验需要根据水体中不同光线的衰减特性,避免前景区域中存在较亮的物体对背景光估计造成的影响,使用水下图像在红色通道中的光线衰减程度远大于绿色和蓝色通道的假设来估计背景光,则

其中,

根据上述两式计算红色通道的光强与蓝绿通道的最大强度之差,值越大表示相机距离场景点较近,其红光的衰减率小于远场景点;值越小表示像素点为远场景点,通过最小值的像素位置来确定第一背景光;

通过最小值的像素位置来确定背景光,采用四叉树划分的方法将图像均匀划分为4个区块并计算这些区块的光强方差,确定方差最小的区块后再对其进一步划分,直至划分到第5层并确定该层中方差最小的图像区块的光强均值,并将其作为第二背景光,如下所示:

其中,

将两个背景光进行比较,表达式如下所示:

其中,

设置背景光的线性加权融合函数,如下所示:

其中,λ(α,β)为背景光的线性加权融合函数;α为未复原水下图像各通道中像素值大于一半像素的数量占总数的比例;β为设置的固定阈值;m

背景光的线性加权融合函数为Sigmoid函数,输出值的范围为(0,1)。

可优选的,所述步骤S22中将处理后的水下船体表面焊接裂纹缺陷点云数据和图像数据进行特征提取,采用的是尺度不变特征变换方法,具体为:

S221:尺度空间峰值选择,在尺度空间中选择选择潜在的满足尺度不变性和旋转不变性的关键点;采用Laplacian 0fGaussian去构建图像的尺度空间,对不同方差的高斯核进行滤波,如下所示:

Lm(x,y,σ1)=G1(x,y,σ1)*Im(x,y);

其中,Lm(x,y,σ1)为同方差的高斯核进行滤波函数Im(x,y)为原图像数据;G1(x,y,σ1)为三维高斯核函数;σ1为尺度空间标准差;x为原图像横坐标;y为原图像纵坐标;

由于在尺度空间中,G1是三维高斯核函数,如下所示:

S222:关键点定位,精确定位出特征关键点的位置,涉及到剔除伪关键点;剔去的是低对比度的候选关键点,对尺度空间进行泰勒级数展开,如下所示:

其中,

对DoG尺度空间的泰勒展开式D求导得到的是一个矩阵;再次求导,令函数值等于0,得到的极值为关键点准确的位置;

计算DoG surface D的Hessian matrix矩阵,如下所示:

其中,H为Hessian matrix矩阵;D

剔除非关键点,如下所示:

其中,r为特征值的比值;

S223:方向分配,基于关键点的局部梯度方向,给每个相应的关键点分配方向;对于在某个尺度平滑后的图像Lm,计算出Lm在每个关键点出的中心导数,进而计算出每个关键点处的梯度和方向信息,如下所示:

其中,m(x,y)关键点的位置函数;θ(x,y)为关键点的方向函数;Lm为尺度平滑后的图像;

S224:关键点描述,对于每个关键点,用一个高维度的向量去描述每个关键点。

与现有技术相比,本发明具有以下有益效果:

本发明提供了一种基于激光雷达与相机融合的水下船体表面缺陷检测方法,相比于传统方法,本方法结合图像与激光雷达各自的优势,融合图像点云数据后获得更加全面、完善的特征用于提升水下目标检测的精度;将水下空间信息和图像语义信息的数据融合,有效解决了复杂的水体环境下,实现水下船体表面缺陷的准确测量。

附图说明

图1是根据本发明的基于激光雷达与相机融合的水下船体表面缺陷检测方法流程图;

图2是根据本发明的实施例数据预处理模块的原理图;

图3是根据本发明的实施例目标件点云进行高斯滤波效果前后对比图;

图4是根据本发明的实施例特征提取模块的原理图;

图5是根据本发明的实施例目标件点云SIFT关键点检测图;

图6是根据本发明的实施例目标件缺陷点云进行边界提取图;

图7是根据本发明的实施例联合标定模块的流程图;

图8是根据本发明的实施例数据融合处理模块的原理图。

具体实施方式

以下将参考附图详细说明本发明的示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

水下船体的焊接缺陷、腐蚀缺陷和大尺寸变形是水下船体表面损伤的三种常见形式,对船体的结构完整性和水密性造成影响;焊接缺陷作为船体表面损伤最难检测的缺陷形式,特征包括裂纹、气孔和夹渣,通常难以对其特征进行检测识别。

本发明的基于激光雷达与相机融合的水下船体表面缺陷检测方法,如图1所示,其包括:

S1:获取并处理水下船体表面焊接裂纹缺陷处的点云数据和图像数据;使用水下相机对水下潜艇进行拍摄获取图像数据,获取点云数据格式为PCD格式,获取图像数据格式为JPG格式。

S11:通过基于线结构光的水下激光雷达对水下船体表面焊接裂纹缺陷处进行扫描获取点云数据;使用水下相机对水下船体表面焊接裂纹缺陷处进行拍摄获取图像数据。

S12:利用PCL三维点云库中的POINT类中的POINTXYZ结构体读取PCD格式点云数据,成员变量中包含三维坐标值和用于对齐的浮点数;如图2所示是根据本发明的实施例数据预处理模块的原理图,使用点云数据法向量估计、采用高斯滤波对点云数据去除高频信息和采用SE-SSD对点云数据进行增强,获取船体表面裂纹的轮廓信息,实现点云数据的预处理操作。

使用点云数据法向量估计,具体为:

利用点云法向量估计原理估计点云数据法向量;水下船体表面焊接裂纹缺陷点云数据在真实物体的表面为一组定点样本点云数据集;对点云数据集的每个点进行法线估计,作为对表面法线的近似推断;表面一点法线的问题近似估计表面的一个相切面法线的问题,法线估计实质上就是对每一个点,在其邻域内估计出一个平面,估计一个平面需要一个点和一个法向量,法向量就是要估计的法向量,这个点就是这一群邻域点的平均值;寻求一个方向l使得所有邻域点在方向l上的投影点的分布最为集中,具体方法如下所示:

其中,x

高斯滤波对水下船体表面焊接裂纹缺陷点云数据去除高频信息,具体为:

高斯滤波是利用高斯函数对点云进行平滑处理,取滤波窗口内像素平均值,窗口内不同位置像素所占权重通过高斯函数计算获得,权重窗口称为高斯核函数的获取方法,如下所示:

其中,G(x

利用求得的高斯圆对称函数G(x

F(x

其中,F(x

如图3所示是根据本发明的实施例目标件点云进行高斯滤波效果前后对比图,通过高斯滤波后,目标件待检测区域的杂散点云得到有效剔除。在本发明的一个优选实施方式中,目标件为水下船体表面的一部分,例如船体侧壁。

采用SE-SSD对水下船体表面焊接裂纹缺陷点云数据进行增强,具体为:

根据点云数据中的数据,确定它的真值边界框中心,并将真值边界框中心与真值边。经过修正无状态引导下的信息失真,得到符合要求的深度图像,补全形成RGB-D图;界框顶点连接起来,形成锥体,将点云数据分成六个子集,操作六个子集点云数据进行增强操作,具体包括以下三个子步骤:

S121:随机删除子步骤:在随机选择的金字塔中随机删掉所有点,模拟物体被部分障碍物遮挡,以帮助网络从剩余的点推断出完整的形状。

S122:随机交换子步骤:在当前场景中随机选择一个输入目标,并将点集交换到另一个输入目标中的点集,从而利用目标间的表面相似性来增加目标样本的多样性。

S123:最远端采样子步骤:在随机选择的金字塔中随机采样子样本点,模拟由于水下激光雷达距离船体待检测缺陷位置变化引起的点的稀疏变化。

S13:利用OPENCV库中的Mat类读取JPG格式图像数据,使用同态滤波处理、基于直方图的图像增强和基于光衰减先验与背景光融合算法进行修复实现水下船体表面焊接裂纹缺陷图像数据的预处理操作。

使用同态滤波对水下船体表面焊接裂纹缺陷图像数据处理,具体为:

将图像数据的高低频分别进行处理以达到高频增强、低频抑制的目的;为实现低频抑制和高频增强,将sigmoid函数引入同态滤波,得到高通滤波处理模型,如下所示:

其中,H(u,v)为高通滤波处理模型;r

频率坐标(u,v)到中心频率原点坐标(u

其中,u为中心频率横坐标;v为中心频率纵坐标;u

基于直方图的水下船体表面焊接裂纹缺陷图像增强,具体为:

使用HE算法,完成基于直方图的图像增强,将图像直方图从较窄的单峰式直方图变换为均衡分布的直方图,设定l

其中,l

变换函数为l的累计分布函数,如下所示

若概率密度函数P(l

其中,P(w

基于光衰减先验与背景光融合算法进行水下船体表面焊接裂纹缺陷图像修复,具体为:

将输入图像数据的累计分布函数转变为变换函数的直方图修正技术,通过像素值变换使得原图像数据变换在大多数灰度等级上都有大致相同像素个数的输出图像;根据背景光与水体光线的衰减特性和图像区域存在相关性,采用两种背景光加权融合方法来提高背景光估计的准确性。

最大强度先验需要根据水体中不同光线的衰减特性,避免前景区域中存在较亮的物体对背景光估计造成的影响,使用水下图像在红色通道中的光线衰减程度远大于绿色和蓝色通道的假设来估计背景光,则

其中,

根据上述两式计算红色通道的光强与蓝绿通道的最大强度之差,值越大表示相机距离场景点较近,其红光的衰减率小于远场景点;值越小表示像素点为远场景点,通过最小值的像素位置来确定第一背景光。

通过最小值的像素位置来确定背景光,采用四叉树划分的方法将图像均匀划分为4个区块并计算这些区块的光强方差,确定方差最小的区块后再对其进一步划分,直至划分到第5层并确定该层中方差最小的图像区块的光强均值,并将其作为第二背景光,如下所示:

其中,

将两个背景光进行比较,表达式如下所示:

其中,

设置背景光的线性加权融合函数,如下所示:

其中,λ(α,β)为背景光的线性加权融合函数;α为未复原水下图像各通道中像素值大于一半像素的数量占总数的比例;β为设置的固定阈值;m

背景光的线性加权融合函数为Sigmoid函数,输出值的范围为(0,1)。

S2:对点云数据和图像数据进行特征提取,获取相同特征,实现数据融合,输入点云数据为PCL库中的POINT类中的POINTXYZ结构体,输入图像数据为OPENCV库中的Mat类,如图4所示是根据本发明的实施例特征提取模块的原理图,具体包括如下子步骤:

S21:对步骤S1中预处理后的水下船体表面焊接裂纹缺陷图像数据进行灰度处理,逐点求出图像数据中每个像素点的R、G和B三个分量的平均值,然后将所述平均值赋予给这个像素的R、G、B三个分量。

S22:将处理后的水下船体表面焊接裂纹缺陷点云数据和图像数据进行特征提取;步骤S22中将处理后的船体表面焊接裂纹缺陷点云数据和图像数据进行特征提取,采用的是尺度不变特征变换方法,具体为:

S221:尺度空间峰值选择,在尺度空间中选择选择潜在的满足尺度不变性和旋转不变性的关键点;采用Laplacian 0f Gaussian去构建图像的尺度空间,对不同方差的高斯核进行滤波,如下所示:

Lm(x,y,σ1)=G1(x,y,σ1)*Im(x,y);

其中,Lm(x,y,σ1)为同方差的高斯核进行滤波函数Im(x,y)为原图像数据;G1(x,y,σ1)为三维高斯核函数;σ1为尺度空间标准差;x为原图像横坐标;y为原图像纵坐标。

由于在尺度空间中,G1是三维高斯核函数,如下所示:

S222:关键点定位,精确定位出特征关键点的位置,涉及到剔除伪关键点;剔去的是低对比度的候选关键点,对尺度空间进行泰勒级数展开,如下所示:

其中,

对DoG尺度空间的泰勒展开式D求导得到的是一个矩阵;再次求导,令函数值等于0,得到的极值为关键点准确的位置。

计算DoG surface D的Hessianmatrix矩阵,如下所示:

其中,H为Hessian matrix矩阵;D

剔除非关键点,如下所示:

其中,r为特征值的比值。

S223:方向分配,基于关键点的局部梯度方向,给每个相应的关键点分配方向;对于在某个尺度平滑后的图像Lm,计算出Lm在每个关键点出的中心导数,进而计算出每个关键点处的梯度和方向信息,如下所示:

其中,m(x,y)关键点的位置函数;θ(x,y)为关键点的方向函数;Lm为尺度平滑后的图像。

S224:关键点描述,对于每个关键点,用一个高维度的向量去描述每个关键点。如图5所示是根据本发明的实施例目标件点云SIFT关键点检测图,从图中看出,对目标件缺陷特征附近的关键点位置进行标记。如图6所示是根据本发明的实施例目标件缺陷点云进行边界提取图,实现对目标件缺陷处的边界轮廓点云有效提取,其他背景信息进行了有效剔除。

S23:获取水下船体表面焊接裂纹缺陷点云数据和图像数据的相同特征;输入点云数据为PCL库中的POINT类中的POINTXYZ结构体,输入图像数据为OPENCV库中的Mat类,获取点云数据和图像数据的相同特征,如图7所示是根据本发明的实施例联合标定模块的流程图;利用ICP点云匹配算法计算出水下激光雷达坐标系和水下相机坐标系之间的转换关系,实现数据融合;ICP点云匹配算法通过计算水下相机的旋转矩阵R和平移矩阵t,从水下相机坐标系P转换到水下激光雷达坐标系Q的计算表达式,如下所示:

q

其中,q

同时,构建ICP点云匹配算法优化过程的最小化目标函数M

其中,M

匹配水下相机坐标系P和水下激光雷达坐标系Q中距离最近的点对(P

S3:将步骤S2融合后的水下船体表面焊接裂纹缺陷点云数据转换到图像坐标系中,得到稀疏深度图;通过稠密化深度图将稀疏深度图补全,使用补全算法IP_basic进行补全操作后会产生边缘噪声,利用引导滤波对其进行平滑操作,像素点的输出结果函数,如下所示:

其中,Q为输出RGB-D图像;I为引导图像;k为对应的像素索引;a为当观察窗口位于k时的线性函数的第一系数;b为当观察窗口位于k时该线性函数的第二系数;w

如图8所示是根据本发明的实施例数据融合处理模块的原理图。经过修正无状态引导下的信息失真,得到符合要求的深度图像,补全形成RGB-D图,从而获得水下船体表面缺陷检测结果。

本发明提供了一种基于激光雷达与相机数据融合的水下物体测量,本发明实施例结合图像与激光雷达各自的优势,融合图像点云数据后获得更加全面、完善的特征用于提升水下目标检测的精度;将水下空间信息和图像语义信息的数据融合,有效提高了复杂的水体环境下,水下船体的准确性与稳定性。本发明方法基于光衰减先验与背景光融合算法进行水下图像数据预处理,根据背景光与水体光线的衰减特性和图像区域存在相关性,采用多种背景光加权融合方法来提高背景光估计的准确性,避免了水下复杂成像环境下相机获取到图像严重退化的问题,解决了后续水下特征识别困难问题。

以上所述的实施例仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。

相关技术
  • 一种单目相机和激光雷达信息融合的无人艇水面目标检测识别与定位方法
  • 一种基于相机RGB通道图像融合的手机壳表面缺陷检测方法
  • 一种基于激光雷达点云和相机图像融合的水面目标检测方法
技术分类

06120116495799