本发明基于深度学习,结合机器视觉的图像处理技术,是一种工业零部件表面裂纹的多目标检测方法。
背景技术:
现实生产中,工业零部件表面可能会出现裂纹,裂纹区域处可能会因应力集中发生断裂造成严重的安全事故。所以及时地对零件表面裂纹进行检测,筛选出不合格的零件是质量检测不可或缺的一个环节。
长期以来,国内外大多是采用人工检测的方法来检测零部件的裂纹情况,这种检测办法有很多的弊端,存在精度不高、受主观影响大等问题,并不利于对零部件裂纹的识别,无法从根本上提高工作效率。
由于具有准确度高,对表面无损伤等优点,机器视觉检测受到了国内外同行的广泛关注。同时人工神经网络,是20世纪80年代以来人工智能领域兴起的研究热点,近十多年来其研究工作不断深入,已经取得了很大的进展,在图像和视觉方面,人们提出了很多种基于卷积神经网络的目标检测算法用于识别与检测,成功地解决了许多过去计算机难以解决的实际问题,表现出了良好的智能特性。
为了解决人工检测的问题,本发明从深度学习与机器视觉技术入手,基于yolov3算法,建立算法网络模型和裂纹图像样本库,根据样本库中的训练集对网络模型进行训练。结合机械视觉中的图像处理技术对算法网络检测得到的图像进行进一步的处理,得到裂纹的最小外接矩形,以一种直观的形式表现出更为精确的位置信息和尺寸信息。在一定程度上代替了人工检测的工作,实现了工业零部件表面裂纹的多目标检测。
技术实现要素:
本发明的主要目的是提供一种工业零部件表面裂纹的多目标检测方法,识别出图像中的裂纹,并获取裂纹的位置和尺寸信息,用以代替人工检测裂纹的工作。
一种工业零部件表面裂纹的多目标检测方法,步骤如下:
(1)收集整理裂纹的图像数据,对图像中的裂纹进行人工标注,建立样本库,将样本库分为训练集、验证集和测试集;
(2)根据yolov3算法建立深度目标检测神经网络模型,使用样本库中训练集对所建立的yolov3深度目标检测神经网络模型进行训练;
(3)通过验证集对yolov3深度目标检测神经网络模型的检测效果进行验证,不断调试得到yolov3深度目标检测神经网络模型的连接权重与偏置参数;
(4)利用步骤(3)得到的yolov3深度目标检测神经网络模型,对测试集中的图像i进行检测,识别出多个裂纹并获取其位置信息,同时生成裂纹的外接水平矩形框,得到矩形的左上角点坐标(xmin,ymin)和右下角点坐标(xmax,ymax);
(5)对步骤(4)中识别得到的矩形框,根据左上角点和右下角点进行裁剪操作,得到一个新的以检测得到的裂纹为主体的小尺寸图像in,n表示裂纹的序号;
(6)将步骤(5)裁剪的图像in转为灰度图,再对其进行高斯模糊的处理,得到图像i′n;
(7)采用otsu法对图像i′n进行二值化处理,再对其处理结果进行黑白像素转换,即将灰度值为255的像素变为灰度值为0,灰度值为0的像素变为灰度值为255,得到图像i″n;
(8)根据图像i″n找到裂纹的轮廓点集,再由轮廓点集得到裂纹的最小外接矩形,同时输出最小外接矩形的信息,矩形中心(xc,yc),矩形的宽高(w,h),旋转角度θ;
(9)根据得到步骤(8)的结果,在原图i中画出裂纹的最小外接矩形,由于经过了图像的变换,所以矩形中心点的坐标为:
x=xc+xmin
y=yc+ymin。
本发明的有益效果:本发明可以利用目标检测和图像处理技术解决工业零部件表面裂纹的多目标检测的问题,一定程度代替人工检测。另外本发明可以通过增大训练集数据量,强化网络的识别能力,增强方法的适用性。
附图说明
图1为原始的待检测图像。
图2为通过训练好的网络检测得到的多裂纹识别图像。
图3为根据检测得到矩形框裁剪得到的裂纹局部图像。
图4为经过灰度化和高斯模糊得到的裂纹局部图像
图5为二值化和黑白转换的裂纹局部图像。
图6为以图5为基础裂纹的轮廓点集图像。
图7为裂纹的最小矩形框图像。
图8为处理整合后的最终检测结果图像。
具体实施方式
为了使本发明的目的、技术方案及优点描述得更加清楚,下面将以一张裂纹图片为例,结合本发明中的附图,对本发明中的技术方案进行完整的描述。
先使用样本库中的训练集图像对深度目标检测神经网络进行训练,并通过验证集对模型的过拟合程度进行验证,不断调试得到网络模型的连接权重与偏置参数,得到训练好的网络模型。再由网络模型对原始图像i进行检测,得到图像i′,如图2所示,包含图中检测到所有裂纹的位置信息,即水平矩形框的左上角点坐标(xmin,ymin)和右下角点坐标(xmax,ymax)。
根据图像i′中的矩形框区域进行裁剪,得到一个新的以检测得到的裂纹为主体的小尺寸图像in(n为裂纹序号),如图3。再将裁剪得到的图像in转化为灰度图,并通过高斯模糊的处理得到i′n,如图4所示。采用大津法对图像i′n进行二值化处理,并将黑白像素转换,即将灰度值为255的像素变为灰度值为0,灰度值为0的像素变为灰度值为255,得到图像i″n,如图5所示。
找到二值化的图像i″n的边缘轮廓,如图6所示,并根据此边缘绘制出其最小外接矩形,如图7所示,同时输出最小外接矩形的信息(矩形中心(xc,yc),矩形的宽高(w,h),旋转角度θ),由于经过了图像的变换,所以根据偏移公式,将各个裂纹的最小外接矩形整合到原始图像中得到最终结果,如图8所示,偏移公式如下:
x=xc+xmin
y=yc+ymin。