本发明属于机器视觉领域,具体为工业图像检测识别领域,特別涉及一种基于卷积神经网络的焊缝表面图像检测方法。通过对焊缝表面图像的检测识别来对焊缝进行质量检测。
背景技术:
在人工焊接的生产线上,由于焊接工艺的不成熟,往往会导致虚焊,漏焊、过焊等现象,对于比较复杂的工件,尤其是复杂焊面上的多焊点情况,更容易导致漏焊。目前检测焊点质量大多是依靠人工检测,这样很大程度上依赖于检测工人的技术以及经验,会产生很多不稳定因素,并且增加了工人的工作量,从而使得工作效率低下。传统的图像检测识别方法对于复杂焊接面上的多焊点图像都需要通过对每个角度的图像进行矫正,然后通过图像定位和模板匹配的方法来检测,并且稳定性不强很容易受到环境的干扰,进而导致漏检或者错检;或者通过图像上的滑动窗口,以及对窗口内的特征进行提取,并结合分类器进行分类检测,图片上的滑动窗口会导致计算量增大,人工提取的图像特征以及分类器的参数调节则会影响焊点图像的检测识别精度。
现有相关专利,如申请号201710818297.6的专利,基于深度学习的焊点质量检测方法,只是在对处理后的目标区域进行处理。如何实现通过卷积神经网络对检测区域进行捕捉定位,并且完成对焊缝的质量检测,目前还没有相关方法问世。
本发明提出了一种基于卷积神经网络的焊缝质量检测方法。对待检测的焊缝区域进行捕捉定位,并对该区域进行质量检测。
技术实现要素:
本发明针对现有焊缝质量检测技术的不足,提出了一种基于卷积神经网络的焊缝质量检测筛选的方法。通过采集焊缝表面图像,对焊缝进行质量分析,根据分析结果筛选质量不合格的焊件。
为了达到上述目的,本发明提供的技术方案是一种基于卷积神经网络的焊缝表面质量检测方法,其中包括以下步骤:图像采集,焊缝质量分析,检测结果处理。
一.图像采集:采用高分辨率的工业摄像头实现,具有焊接点图像的扫描、录入功能,实现焊接点图像采集并传输到质量分析模块的功能,记录采集时间标记功能以及焊件信息记录功能。
二.焊缝质量分析:焊缝质量分析包括以下步骤:
步骤1,对待检测图像进行焊缝区域定位捕捉:采用卷积神经网络对焊缝区域进行捕捉定位,通过矩形框定位提取焊缝检测区域,然后对检测到的焊缝区域图像进行预处理,并将预处理结果送入步骤2的质量检测分析模块对焊缝质量进行检测分析。
步骤2,对捕捉到的焊接点区域进行质量检测,判断待检测焊缝是否合格。为保证焊缝区域的清晰度,对捕捉到的焊接点区域用三次样条插值进行放大。将先前检测到的焊接区域放大后,对该区域通过卷积神经网络进行焊缝质量检测。对大量焊接点样本和非焊接点样本数据预处理后进行检测模型训练(本实例中训练正常焊缝样本和异常焊缝样本各12500张用于质量检测模型)。具体地:
步骤2.1,卷积神经网络的训练。在ubuntu系统的tensorflow框架下,将经过预处理的12500张正常焊缝图像和12500张异常焊缝图像数据分成训练集,训练集标签,测试集,测试集标签。采用反向传播学习算法,和随机梯度下降方法。根据前向传播的loss值的大小,来进行反向传播迭代更新卷积神经网络每一层的权重。直到模型的loss值趋向于收敛的时候,表示模型训练完成。
步骤2.2,焊缝图像的特征提取。将数据集当中的每一幅图像输入到前一步所述的卷积神经网络中,根据上述已经训练好的检测模型,提取焊缝图像在该模型下特征,模型的倒数第二层采用全卷积处理得到该图像的特征。
步骤2.3,焊缝图像的识别。给定一幅待分类的焊缝图像,输入到训练好的深度学习模型中,得到图像在卷积神经网络下的特征,并且在网络模型的最后一层采用分类器对图像进行质量检测。
三.检测结果处理:检测结果处理模块包括:数据存储模块,数据显示模块,焊件报警筛选模块,异常数据存储模块。
本发明的有益效果:
本发明的有益效果在于卷积神经网络对焊缝图像进行焊接质量分析,避免了现有方法中繁琐的检测步骤,并且可以自动对焊缝区域进行定位捕捉。此外本发明的显示模块可以对质量检测进行实时监控,以及报警提醒。
附图说明
图1为本发明方法设计流程图。
图2为本发明焊缝区域定位捕捉神经网络结构图。
图3为待选目标区域检测网络结构图。
图4为本发明焊缝质量检测流程图。
图5为本发明焊缝质量检测神经网络结构图。
具体实施方式
下面结合附图对本发明作进一步说明。
本发明的整体实施流程如图1,对焊缝图像进行采集,保存采集到的图像信息,并对采集的图像进行焊缝待检测区域定位捕捉,对捕捉到的检测区域进行质量检测。
对检测结果进行以下处理:
1.更新图像信息,添加质量检测结果到图像信息条目中。
2.保存异常结果的焊缝图像信息。
3.显示焊缝图像质量检测结果信息。
4.对检测到的异常焊缝图像分析结果进行报警处理。
5.根据异常焊缝信息分析结果对焊件进行筛选。
具体实施:
一.图像采集
焊接点图像采集模块,采用现有高分辨率的摄像头实现,具有焊接点图像的扫描、录入功能,实现焊接点图像采集并传输到质量分析模块的功能,记录采集时间标记功能以及焊件信息记录功能。
图像采集器完成采集后向质量分析模块发送采集的焊接点信息,其中包括焊接点图像,图像采集时间以及焊件标号标记。
焊接点图像分折:如焊接点的表面气孔、咬边、焊瘤、烧穿及焊接表面裂纹、焊缝尺寸偏差等。图像采集前,须将焊缝附近周围的飞溅物和污物清除干净。
二.焊缝质量分析
焊缝质量分析包括以下步骤:
步骤1,对待检测图像进行检测焊缝区域定位捕捉:
采用卷积神经网络对焊缝区域进行捕捉定位,通过矩形框定位提取焊缝检测区域,然后对检测到的焊缝区域图像进行预处理,并将结果送入质量检测分析模块对焊缝质量进行检测分析。
图2所示卷积神经网络的设计的步骤:
卷积层:为了能够检测定位到目标区域,首先使用一组基础的卷积层+激活层+池化层提取图像的特征图。该特征图被共享用于后续rpn(regionproposalnetworks)层和全连接层。所有的卷积层都是:卷积核尺寸为3,图像边框为1。所有的池化层都是:卷积核尺寸为2,卷积核移动步长为2。
图3所示为rpn(regionproposalnetworks)层,rpn网络用于生成备选目标检测区域。该层通过softmax判断区域集合属于目标前景或者背景,再利用边框回归化来修正区域集合获得精确的备选目标区域。
区域集合的生成:是以超像素为单位的,框选区域是超像素划分得到的每个超像素区域,以及超像素临界区域,由超像素区域和超像素临界区域得到区域集合,如此可以减少计算量。
矩形框调节标准:按照超像素的临界矩阵进行扩散或收缩。待选矩形框的大小为生成超像素或者超像素组所占最大矩形框。
边框滑动:基于广度优先的图像遍历。根据遍历路径,滑动框选边框,每次滑动都保证矩形框区域为当前超像素覆盖的最大矩形区域。
边框调节:基于邻接超像素最大相似性max(si)进行超像素合并的调节
合并规则:计算超像素相似度:si=d(xi,yi)其中si为矩形覆盖超像素xi跟邻接超像素yi的相似度,采用为矩形覆盖超像素xi跟邻接超像素yi的欧式距离表示。合并临界超像素中相似度最大的超像素形成新的超像素区域。矩形边框为新的超像素区域覆盖的最大矩形区域。
边框质量评价iou(intersection-over-union)值计算:采用显著区域检测结果与标准结果标签之间的交集同显著区域检测结果与标准结果之间的并集的上作为iou的值。
目标区域判断:利用检测到区域的特征图计算检测到的区域是否为目标区域,同时再次调整边框区域获得检测框最终的精确位置。
如图4所示为对捕捉到对待焊缝区域进行质量检测并判断焊缝是否合格的过程。输入为待检测的焊缝图像,通过已经训练好的深度卷积神经网络模型提取得到图像的特征,按照焊缝质量类别进行分类,最后输出分类结果。
为保证焊缝区域的清晰度,对捕捉到的焊缝区域用三次样条插值进行放大,先前检测到的疑似焊缝区域放大后,对该区域通过卷积神经网络进行焊缝质量检测。通过对大量正常焊缝样本和非正常焊缝样本数据预处理后进行训练(本实施例中训练的正常焊缝样本和非正常焊缝样本各12500张用于质量检测模型)。
(1)卷积神经网络的设计模块
如图5为本发明设计的卷积神经网络模型,由输入层,隐藏层,输出层组成:
a.输入层
输入层为数据焊缝捕捉定位区域的焊缝图像。
b.隐藏层
卷积层:依次选取卷积核为3*3,1*1的卷积层,每一层通道数与输入层相同。
激活函数:
池化层:采用2*2的卷积核,在卷积层之后对卷积操作后的输出进行最大池化操作。
c.输出层
输出层与隐藏层的最后一个全卷积层连接,输出的维数为二,每个维度表示正常焊缝图像和异常焊缝图像的概率。
包括6组卷积层、1组全连接层;前4组卷积层中每一组包括卷积核为3*3的卷积层、激活层和池化层。后两组为卷积核为1*1的卷积层。最后全连接层为焊缝质量检测结果输出。
(2)卷积神经网络的训练
在ubuntu系统的tensorflow框架下,将经过预处理的12500张正常焊缝图像和12500张异常焊缝的处理图像数据分成训练集,训练集标签,测试集,测试集标签。采用反向传播学习算法,和随机梯度下降方法。根据前向传播的loss值的大小,来进行反向传播迭代更新卷积神经网络每一层的权重。直到模型的loss值趋向于收敛的时候,表示模型训练完成。
(3)焊缝图像的特征提取
将数据集中的每一幅图像输入到前一步所述的卷积神经网络中,根据上述已经训练好的检测模型,提取焊缝图像在该模型下的特征,由倒数第二层全卷积层得到。
(4)焊缝图像的识别
给定一幅待分类的焊点图像,输入到本发明训练好的卷积神经网络模型中,得到图像的卷积神经网络模型下的特征,并且在最后一层对图像进行质量检测。
三.结果处理
数据结果处理包括:数据存储,数据显示,焊件报警筛选,异常数据存储。
数据存储:通过存储模块用来存储图像采集模块采集到的图像数据以及数据分析模块的输出数据,每一条数据包括:焊缝质量分析结果,图像采集时间,焊件标记编号。
数据显示:通过读取存储模块的数据,显示焊缝检测结果的在图像采集时间轴的走向。当出现不合格焊点数据时,显示检测异常报警。
异常数据存储:通过异常数据存储模块来存储异常焊点数据,每一条数据包括:残次焊缝所在焊件编号,图像采集时间,质量检测结果。
四.焊件筛选报警
当质量检测结果低于正常阈值时,执行以下步骤:
1.将焊件信息以及检测结果存储到异常数据存储模块
2.发送异常信号到报警系统,触发报警器,显示模块显示异常数据并报警。
3.根据检测到的异常结果信息标记残次品焊件。
4.根据异常数据残次品焊件筛选。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。