一种基于全卷积神经网络的自动压痕测量方法

文档序号:25525484发布日期:2021-06-18 20:14阅读:144来源:国知局
一种基于全卷积神经网络的自动压痕测量方法

本发明涉及一种硬度压痕测量方法,尤其涉及一种基于全卷积神经网络的自动压痕测量方法。



背景技术:

在布氏、维氏硬度试验中,为了检测被测材料的硬度,需要按照国标使用对应的压头,施加指定压力在被测材料表面,而后通过测量压痕的对角线长度,计算出被测材料的硬度。在大部分测量中,被测材料的表面压痕对角线长度单位以微米计算。由人工通过显微镜调整刻度板以对齐压痕边缘的方法,较为复杂且难以消除测量误差。同时在多次对同一硬度材料测量的过程中,往往容易产生因人工长度测量调整的偏差而导致获得不同的硬度数值结果,导致较高的重复性误差。为此,引入自动化算法进行压痕图像测量是一种极大提升测量精度、解放劳动力的方法。但现有的自动压痕运算方法往往使用的是数学或图像解析方法,这种方式对于一些较为复杂的压痕表面往往难以发挥作用。在一些边缘、尖角处因材料自身特性等原因而产生形变的压痕图像上,往往会产生较大误差,算法的鲁棒性较差。同时,现有的技术方法对于压痕图像仅能获取压痕对角线长度数据,无法提取图像中压痕的具体形状,不便于后期对材料破裂、塌陷情况进行分析。因此,有必要设计一种使用更加方便,拥有更高鲁棒性,能提取压痕具体形状的压痕测量方法。



技术实现要素:

本发明所解决的技术问题是,针对现有技术的不足,提供一种基于全卷积神经网络的自动压痕测量方法,鲁棒性高,能提取出压痕具体形状。

为了实现上述目的,本发明采用如下技术方案:

一种基于全卷积神经网络的自动压痕测量方法,其特征在于,包括以下步骤:

步骤一:对压痕图像进行预处理,得到其二值图像;

步骤二:压痕图像裁剪:在二值图像中寻找最大连通域,确定最大连通域的外接框(作为裁剪的参考);以该外接框作为裁剪的参考,对该外接框进行拓展,裁剪下二值图像上拓展后的外接框区域;

步骤三:将裁剪后的图像输入训练好的全卷积神经网络,输出二值化的压痕像素遮罩图片(压痕像素点和非压痕像素点分别显示为白色和黑色),由此得到输入图片上精确的压痕形状与位置信息。

更进一步,所述步骤一中的对压痕图像进行预处理包括对压痕图像进行全图直方图均衡、滤波和二值化处理;

更进一步,所述步骤二中对外接框进行拓展采用如下方法:

设外接框的长与宽为(w,h),压痕图像的长与宽为(wi,hi),通过如下公式计算得到拓展后的外接框的长与宽(we,he):

其中,p为比例系数,p≥1;p的取值为经验值,可以根据实际压痕大小进行调整,以尽可能减少复杂背景的干扰。

进一步地,所述步骤三中全卷积神经网络的训练过程如下:采集多种压痕图片,人工将压痕图片上的像素点分类为压痕像素点和非压痕像素点;使用采集到的压痕图片及其上像素点分类标签数据,对全卷积神经网络进行训练,得到优化后的全卷积神经网络即训练好的全卷积神经网络。

更进一步,所述步骤三中全卷积神经网络包括三种基础运算块:卷积块、卷积池化块、卷积上采样块;包括依次连接的一个卷积块、n个卷积池化块、n个卷积上采样块和一个卷积块;第一个卷积块的输入为输入图像;n个卷积池化块的输入分别为其前一个模块输出的特征图;第i个卷积上采样块的输入为由其前一个模块输出的特征图x2与输入第n-i+1个(前部对称位置)卷积池化块的特征图x1拼接而成的特征图x;最后一个卷积块的输入为第n个卷积上采样块的输出的特征图;其中卷积块包括依次连接的第一卷积层、第一归一化层、第一激活层、第二卷积层、第二归一化层和第二激活层;其中,两个卷积层的滤波器大小均为3×3,填补大小与步长都被设为1,以尽可能的提取压痕图像中的细节部分;作为一个整体,每一个卷积块的输入与输出通道数都是单独设置的;所述卷积池化块是在卷积块的前部添加一个滤波器大小为2×2的最大池化层得来;卷积上采样块是在卷积块的前部添加一个双线性插值层得来。该全卷积神经网络结构简单,每个卷积块只包含两个3×3的卷积操作,参数较少易于训练;卷积池化块与卷积上采样块都是通过在卷积块的前部添加无需训练的运算得来,没有添加额外训练参数;含有最大池操作的卷积池化块可以有效的降低特征提取后的数据量,起到编码作用;含有双线性插值的卷积上采样块可以将卷积操作后的特征图进行上采样,将特征图进行放大,最终得到与原图尺寸相似的像素遮罩图片。

更进一步,所述拼接操作中,对于两特征图尺寸不相同的情况,使用填充的方式对特征图进行拓展,特征图x2与特征图x1拼接得到特征图x的运算流程如下:

1)对x1进行双线性插值操作,放大x1;

2)计算放大后的x1与x2的高度差diff_y和宽度差diff_x:

diff_y=height(x2)-height(x1)

diff_x=width(x2)-width(x1)

其中,height()和width()分别表示图像的高度和宽度;

3)对放大后的x1的左、右、上、下用空值0进行填充,左、右、上、下填充的宽度分别为其中round()为四舍五入取整函数;

4)将填充后的x1堆叠至x2特征维度通道上,得到拼接后的特征图x。

进一步地,对于需要进行压痕对角线测量或硬度计算的场合,首先寻找压痕像素遮罩图片中压痕像素区域的目标外接框,然后将该目标外接框的宽与高作为压痕的两对角线长度。由于图像上压痕不一定为正方向,即压痕对角线不一定与外接框边缘(画布坐标系坐标轴)垂直,在压痕对角线不与画布坐标系垂直的情况下,使用边缘平行于画布坐标系的外接框的宽与高作为压痕的两对角线长度是不准确的。因此,本发明将压痕像素遮罩图片进行旋转,以使压痕对角线与目标外接框边缘垂直,再以该目标外接框的宽与高作为压痕的两对角线长度。由于维氏压痕为正棱形,因此在寻找目标外接框时,使得压痕各角点处于外接框各边缘中心点即可求得所需的目标外接框。具体地,寻找目标外接框的方法如下:

1)确定压痕像素遮罩图片中,压痕像素区域的外接框(外接框的两对边缘始终平行于画布坐标系的坐标轴,);

2)顺时针方向旋转压痕像素遮罩图片,求解旋转后压痕像素遮罩图片中压痕像素区域的外接框,记录当前旋转角度、当前外接框的面积、压痕像素区域各角点与各自所在的外接框边缘的中心点的距离;

3)重复步骤2),直至压痕像素遮罩图片旋转一周;在此过程中,若存在一外接框,满足压痕像素区域各角点都位于各自所在的外接框边缘的中心点,则以该外接框作为目标外接框输出;若不存在,则以此过程中面积最大的外接框作为目标外接框输出。

更进一步,考虑到当前外接框中心点必然是在压痕的中心附近,所述步骤2)中,以当前外接框的中心点为圆心,顺时针方向旋转压痕像素遮罩图片,以保证压痕不会越出画布范围,便于后面继续寻找外接框。

更进一步,建立画布坐标系(可将初始图像所在位置的高和长所在方向分别作为画布坐标系的y轴和x轴方向);确定图像上某一区域的外接框的方法为:构造两对与该区域x轴和y轴方向四个端点相切的切线,由这四条切线构成外接框;所述四个端点即最大横坐标点pxmax、最小横坐标点pxmin、最大纵坐标点pymax、最小纵坐标点pymin,与pxmax和pxmin相切的两条切线与画布坐标系的y轴平行,与pymax和pymin相切的两条切线与画布坐标系的x轴平行。

通过上述对发明的描述可知,和现有技术相比,本发明的优点在于:

本发明对比传统压痕识别方法,采用神经网络进行压痕推演,拥有更强的鲁棒性。本发明使用全卷积神经网络作为主体,可以使用任意分辨率的图像作为输入。本发明可以运算得出压痕的准确形状与位置信息,提高了压痕缺陷检出率。

上述仅为本发明的具体实施方式,但本发明的设计构思并不仅局限于此,凡是利用此构思对本发明进行非实质性地改进,均应该属于侵犯本发明保护范围的行为。

有益效果:

本发明设计了一种基于全卷积神经网络的自动压痕测量方法,使用方便,使用全卷积神经网络进行检测,对于待检测的压痕图像没有分辨率要求,可以对任意分辨率图片进行预测,极大的方便了实际部署应用,适用范围广;同时该方法鲁棒性好,测量精度高,并且可以获得压痕的准确形状,解决了现有自动压痕测量算法无法提取压痕具体形状的问题,便于后期处理分析,如质量检测人员根据压痕形状判断产品的材料特性。

附图说明

图1为本发明的处理流程图

图2为本发明中,图像预处理算法流程图

图3为本发明中全卷积神经网络卷积块架构

图4为本发明中特征图拼接算法流程图

图5为本发明中全卷积神经网络架构

图6为本发明中计算最大外接框算法流程图

具体实施方式

以下结合附图和具体实施方式对本发明进行进一步具体说明。

本实施例提供的一种基于全卷积神经网络的自动压痕测量方法,包括以下步骤:

步骤一:对压痕图像进行预处理,得到其二值图像;

步骤二:压痕图像裁剪:在二值图像中寻找最大连通域,确定最大连通域的外接框(作为裁剪的参考);以该外接框作为裁剪的参考,对该外接框进行拓展,裁剪下二值图像上拓展后的外接框区域;

步骤三:将裁剪后的图像输入训练好的全卷积神经网络,输出二值化的压痕像素遮罩图片(压痕像素点和非压痕像素点分别显示为白色和黑色),由此得到输入图片上精确的压痕形状与位置信息;所述全卷积神经网络可以对任意分辨率图片进行预测。

更进一步,所述压痕图像是采用图像采集设备采集的压痕表面图像。

更进一步,所述步骤一中的对压痕图像进行预处理包括对压痕图像进行全图直方图均衡、滤波和二值化处理;本实施例中对图像使用clahe算法进行全图直方图均衡,使用中值滤波对图像进行滤波,对图像使用otsu算法进行二值化处理。

更进一步,所述步骤二中对外接框进行拓展采用如下方法:

设外接框的长与宽为(w,h),压痕图像的长与宽为(wi,hi),通过如下公式计算得到拓展后的外接框的长与宽(we,he):

其中,p为比例系数,p≥1;p的取值为经验值,可以根据实际压痕大小进行调整,以尽可能减少复杂背景的干扰。

进一步地,所述步骤三中全卷积神经网络的训练过程如下:采集多种压痕图片,人工将压痕图片上的像素点分类为压痕像素点和非压痕像素点;使用采集到的压痕图片及其上像素点分类标签数据,对全卷积神经网络进行训练,得到优化后的全卷积神经网络即训练好的全卷积神经网络。

更进一步,所述步骤三中全卷积神经网络包括三种基础运算块:卷积块、卷积池化块、卷积上采样块;包括依次连接的一个卷积块、n个卷积池化块、n个卷积上采样块和一个卷积块;第一个卷积块的输入为输入图像;n个卷积池化块的输入分别为其前一个模块输出的特征图;第i个卷积上采样块的输入为由其前一个模块输出的特征图x2与输入第n-i+1个(前部对称位置)卷积池化块的特征图x1拼接而成的特征图x;最后一个卷积块的输入为第n个卷积上采样块的输出的特征图;其中卷积块包括依次连接的第一卷积层、第一归一化层、第一激活层、第二卷积层、第二归一化层和第二激活层;其中,两个卷积层的滤波器大小均为3×3,填补大小与步长都被设为1,以尽可能的提取压痕图像中的细节部分;作为一个整体,每一个卷积块的输入与输出通道数都是单独设置的;所述卷积池化块是在卷积块的前部添加一个滤波器大小为2×2的最大池化层得来;卷积上采样块是在卷积块的前部添加一个双线性插值层得来。该全卷积神经网络结构简单,每个卷积块只包含两个3×3的卷积操作,参数较少易于训练;卷积池化块与卷积上采样块都是通过在卷积块的前部添加无需训练的运算得来,没有添加额外训练参数;含有最大池操作的卷积池化块可以有效的降低特征提取后的数据量,起到编码作用;含有双线性插值的卷积上采样块可以将卷积操作后的特征图进行上采样,将特征图进行放大,最终得到与原图尺寸相似的像素遮罩图片。

更进一步,所述拼接操作中,对于两特征图尺寸不相同的情况,使用填充的方式对特征图进行拓展,特征图x2与特征图x1拼接得到特征图x的运算流程如下:

1)对x1进行双线性插值操作,放大x1;

2)计算放大后的x1与x2的高度差diff_y和宽度差diff_x:

diff_y=height(x2)-height(x1)

diff_x=width(x2)-width(x1)

其中,height()和width()分别表示图像的高度和宽度;

3)对放大后的x1的左、右、上、下用空值0进行填充,左、右、上、下填充的宽度分别为其中round()为四舍五入取整函数;

4)将填充后的x1堆叠至x2特征维度通道上,得到拼接后的特征图x。

进一步地,对于需要进行压痕对角线测量或硬度计算的场合,首先寻找压痕像素遮罩图片中压痕像素区域的目标外接框,然后将该目标外接框的宽与高作为压痕的两对角线长度。由于图像上压痕不一定为正方向,即压痕对角线不一定与外接框边缘(画布坐标系坐标轴)垂直,在压痕对角线不与画布坐标系垂直的情况下,使用边缘平行于画布坐标系的外接框的宽与高作为压痕的两对角线长度是不准确的。因此,本发明将压痕像素遮罩图片进行旋转,以使压痕对角线与目标外接框边缘垂直,再以该目标外接框的宽与高作为压痕的两对角线长度。由于维氏压痕为正棱形,因此在寻找目标外接框时,使得压痕各角点处于外接框各边缘中心点即可求得所需的目标外接框。具体地,寻找目标外接框的方法如下:

1)确定压痕像素遮罩图片中,压痕像素区域的外接框(外接框的两对边缘始终平行于画布坐标系的坐标轴,);

2)顺时针方向旋转压痕像素遮罩图片,求解旋转后压痕像素遮罩图片中压痕像素区域的外接框,记录当前旋转角度、当前外接框的面积、压痕像素区域各角点与各自所在的外接框边缘的中心点的距离;

3)重复步骤2),直至压痕像素遮罩图片旋转一周;在此过程中,若存在一外接框,满足压痕像素区域各角点都位于各自所在的外接框边缘的中心点,则以该外接框作为目标外接框输出;若不存在,则以此过程中面积最大的外接框作为目标外接框输出。

更进一步,考虑到当前外接框中心点必然是在压痕的中心附近,所述步骤2)中,以当前外接框的中心点为圆心,顺时针方向旋转压痕像素遮罩图片,以保证压痕不会越出画布范围,便于后面继续寻找外接框。

更进一步,建立画布坐标系(可将初始图像所在位置的高和长所在方向分别作为画布坐标系的y轴和x轴方向);确定图像上某一区域的外接框的方法为:构造两对与该区域x轴和y轴方向四个端点相切的切线,由这四条切线构成外接框;所述四个端点即最大横坐标点pxmax、最小横坐标点pxmin、最大纵坐标点pymax、最小纵坐标点pymin,与pxmax和pxmin相切的两条切线与画布坐标系的y轴平行,与pymax和pymin相切的两条切线与画布坐标系的x轴平行。

上述基于全卷积神经网络的自动压痕测量方法,使用全卷积神经网络进行检测,可以使用任意分辨率的压痕图片作为输入,处理后可以得到压痕在图片中的准确形状;使用操作简便,测量精度高。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1