本发明涉及机器视觉领域,尤其是涉及一种基于深度学习的船舶焊缝图像分割识别方法。
背景技术:
1、近几年来,我国工业实力不断的增强,船舶结构焊接区域的质量问题引起越来越多人的重视。在焊接过程中,焊缝处由于输出热量不足、焊接温度过低或过高等原因,容易出现开口、裂缝、过烧等缺陷,这极大的影响着船舶结构焊接区域的质量,并且船舶结构焊接区域成品长度一般都在数米以上,缺陷如果不及时处理,会造成整片报废的结果,从而导致较高的废品率,浪费工业原材料的同时增加了企业的生产成本。
2、对于焊缝缺陷的识别,首先需要对焊缝进行合理的定位,焊缝分割可以精确的将焊缝从木材背景中分割出来。因此一个良好的分割算法,可以为焊缝缺陷识别提供更加精确的识别范围,大大的减小焊缝缺陷识别的难度。目前,适用于船舶领域的焊缝分割算法较少,智能化程度有所不足,且分割效果有待提高。
技术实现思路
1、本发明为克服上述情况不足,旨在提供一种能解决上述问题的技术方案。
2、本发明提供的一种基于深度学习的船舶焊缝图像分割识别方法,包括以下步骤:
3、基于深度学习的船舶焊缝图像分割识别方法主要服务于船舶焊缝检测,可实时检测定位出船舶结构焊接区域焊缝位置,为焊缝缺陷识别提供更精确的范围,为自动化焊接提供源数据。
4、上述的方法具体包括以下步骤:
5、s1:即采用高清rgb相机获取焊接区域表面图像数据得到第一图像,要求图片单位(英寸)面积像素点大于2560*1920,图像中有明显的焊缝存在,只包含焊接钢板及焊缝即可;
6、s2:对第一图像进行预处理得到第二图像;具体的将需要处理的第一图像,包括横断面、矢状面、冠状面图像统一处理成512*512大小的图像,并统一送入分网络对图像进行分割;随后将分割后的图片使用图像处理算法调整至原始图像大小,并使用图像处理算法识别图像;最后将得到的图像以原始图像的宽高比统一处理为256*256大小的第二图像;
7、对s1获取的整张图像进行处理,不仅速度慢、耗费的时间长,而且还会受到更多噪声的影响,因此,对图像进行预处理是必不可少的。本发明选取感兴趣的目标区域进行处理并且进行通道的转换,减少数据量,并且尽可能在保留图像有用信息的情况下进行噪声的抑制、滤除,同时还包括针对第一图像进行辐射校正、正射校正、遥感图像配准以及采用nndiffuse融合算法进行图像融合;
8、s3:获取第二图像的横、纵坐标方向的梯度矩阵,然后计算图像每点坐标的梯度幅值和梯度方向,得到梯度幅值矩阵和梯度方向矩阵,再将图像坐标按照梯度幅值降序排序,同时求取梯度直方图;求取梯度直方图作为图像增强来说是图像处理中的重要预处理步骤,它可以有效改善图像质量,提高图像视觉效果。其中直方图均衡化是使用最为广泛的图像增强算法之一;它通过灰度级映射变换使图像的直方图比较均匀地分布于整个灰度级范围内;
9、同时根据相对梯度直方图的定义,计算图像的相对梯度直方图;获得的相对梯度直方图,计算图像的多尺度相对梯度直方图;得到的多尺度相对梯度直方图计算各灰度级对比度增量,并计算传统直方图对应的各灰度级对比度增量,获得的多尺度相对梯度直方图和传统直方图对应的对比度增量和,采用优化算法得到修正后的灰度级对比度增量,得到的修正后的多尺度相对梯度直方图的灰度级对比度增量进行累加得到对应的灰度映射函数ss(i)=int(max(pix)-min(pix))*s(i)+0.5;将原始图像所有像素点的灰度级替换为其映射后的灰度级,得到增强后图像;
10、s4:对第二图像进行非极大值抑制,得到第三图像;本发明直接采用opencv算法库的canny算子对第二图像进行处理,将高、低阈值参数设置为0,得到第三图像。
11、s5:根据第三图像,按照降序排序的梯度幅值的坐标、梯度方向,用u-net算法分割融合焊缝特征得到边缘链,并判断所得到的边缘链是否为有效边缘链;
12、具体的,将非极大值抑制处理后得到的二值图像代替u-net部分卷积层的特征提取,利用skip-connection进行特征融合,经过池化pooling层降低维度,进一步优化增强特征,通过上采样upsmaple恢复维度,结果由1x1卷积层进行输出,生成一条边缘链c;定义如下的m为最小有效长度,根据所述最小有效长度得到判断是否为焊缝缺陷边缘链的第一阈值,判断每条边缘链是否大于m,若不是,则去除,若是,则这条边缘链是有效边缘链,将有效边缘链存储在容器n,去除不是有效的边缘链。
13、s6:根据梯度直方图判断每条有效边缘链是否为船舶焊缝,并且计算船舶焊缝的宽度、面积;
14、在此过程中,s5得到的有意义的边缘链还需判断是否为焊缝的边缘,避免误检测,最后求出确定为船舶焊缝的宽度、面积。
15、进一步的:对第二图像进行非极大值抑制的步骤包括,确定非极大值抑制过程的三个循环嵌套,外层循环、中层循环和内层循环;其中,外层循环的过程为,遍历所有窗口的分数并且按照分数由高到低将窗口排序,选择分数最高的作为初始窗口,其余窗口称为抑制窗口;中层循环的过程为,引入行人检测窗口的尺度比和检测窗口的分数比值,计算出当前测试图像的overlap,获得动态化overlap,在计算初始窗口和抑制窗口的面积重叠率o;内层循环的过程为,比较重叠率o和阈值overlap的大小,阈值;其中,中层循环和内层循环迭代次数为n-1次,为初始窗口和抑制窗口做n-1次比较,并且n-1次比较后中层循环和内层循环;统计抑制窗口的结果;如果抑制窗口和初始窗口的分数相近,且抑制窗口和初始窗口的尺度相差较大,则存在尺度小的目标,如果抑制窗口和初始窗口的分数相差较大,且抑制窗口和初始窗口的尺度相差也较大,则抑制窗口是误检窗口,当抑制窗口的尺度小于初始窗口的尺度时,降低阈值overlap的大小。
16、相较于现有技术,本发明提供的基于深度学习的船舶焊缝图像分割识别方法是智能化的检测方法,运用python编译器pycharm结合opencv,pytroch库实现及通过ploty库可视化,运用canny算子对焊缝边缘进行检测,在结合u-net深度学习算法进行焊缝特征融合及提取得到焊缝边缘链,对焊缝图像进行了良好处理,得到易识别的边缘链。不仅检测快速、实时、精度高、适用普遍、自动化程度高,而且其成本可被大多数企业接受。
17、本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
1.一种基于深度学习的船舶焊缝图像分割识别方法,其特征在于,具体包括以下步骤:
2.根据权利要求1所述的基于深度学习的船舶焊缝图像分割识别方法,其特征在于,所述的图像预处理包括针对第一图像进行辐射校正、正射校正、遥感图像配准以及采用nndiffuse融合算法进行图像融合。
3.根据权利要求1所述的基于深度学习的船舶焊缝图像分割识别方法,其特征在于,步骤s3的具体步骤包括:根据相对梯度直方图的定义,计算图像的相对梯度直方图;获得的相对梯度直方图,计算图像的多尺度相对梯度直方图;得到的多尺度相对梯度直方图计算各灰度级对比度增量,并计算传统直方图对应的各灰度级对比度增量,获得的多尺度相对梯度直方图和传统直方图对应的对比度增量和,采用优化算法得到修正后的灰度级对比度增量,得到的修正后的多尺度相对梯度直方图的灰度级对比度增量进行累加得到对应的灰度映射函数;将原始图像所有像素点的灰度级替换为其映射后的灰度级,得到增强后灰度图像。
4.根据权利要求1所述的基于深度学习的船舶焊缝图像分割识别方法,其特征在于,采用opencv算法库的canny算子对第二图像(处理后的灰度图像)进行处理,将高、低阈值参数设置为0,得到第三图像(二值图像)。
5.根据权利要求1所述的基于深度学习的船舶焊缝图像分割识别方法,其特征在于,步骤s5具体的,将非极大值抑制处理后得到的二值图像代替u-net部分卷积层的特征提取,利用skip-connection进行特征融合,经过池化pool ing层降低维度,进一步优化增强特征,通过上采样upsmaple恢复维度,结果由1x 1卷积层进行输出,得到一条边缘链c;