一种基于卷积柔性神经森林的竹片虫洞和霉斑检测方法与流程

专利2022-06-29  58


本发明涉及神经网络和图像处理领域,具体涉及一种基于卷积柔性神经森林的竹片虫洞和霉斑检测方法。



背景技术:

随着计算机科学技术的快速发展,图像识别与神经网络技术开始被广泛的用在各个领域。同时,信息化时代的到来与大数据的大众化与使得海量的视频图像数据得以积累,其中视频图像数据蕴含着极其丰富且有价值的信息。

目前,竹片的缺陷检测成为竹制品良品率的保证,而竹片的数量巨大,仅仅依靠人工检查效率太低,现有的技术主要依赖对虫洞,霉斑,青皮等问题具体某种类型的分类识别,缺少一种竹片自动检测的技术,因此能否自动、快速发现竹片缺陷成为我们进行竹制品产业升级的重要一环,对竹制品企业生产意义重大。为了有效解决现有问题,一些如申请号为cn201510416011的“一种基于计算机视觉的竹条表面缺陷检测方法”这类专利得以诞生。该方法通过摄取竹片表面灰度图像,对图像进行预处理,其中孔洞填充法对缺陷进行填充,利用最大类间方差法对虫洞或霉斑进行分割,通过判断缺陷的连通域和灰度差来判断竹条是否有缺陷。此方法需要填补虫洞,对虫洞和霉斑进行分割比较,只能针对某种特定的缺陷进行识别,无法适用于多种缺陷识别。而目前的竹片的检测领域的图像识别方法,都是简单的将目标竹片的图片按照一定二值图标准来进行判断,存在误差大、检测精度低的问题。同时,现行方法比较有局限性,只能针对某一种或几种缺陷问题进行解决,缺少一种通用的解决方案。

因此,一种检测精度高、效率高、高准确度的可通过机器学习来调整测量的竹片缺陷类型的基于卷积的新型柔性神经森林的竹片虫洞和霉斑检测方法变得十分必要。



技术实现要素:

为了解决上述技术问题,本发明提供了一种基于卷积柔性神经森林的竹片虫洞和霉斑检测方法。

本发明提供的一种基于卷积柔性神经森林的竹片虫洞和霉斑检测方法,包括步骤:获取目标竹片图像;将目标竹片图像转换为灰度图像;通过均值滤波法过滤灰度图像的椒盐噪声;将灰度图像转换为二值图;采用sobel算子对二值图中的竹片边缘进行提取,进而获取目标竹片轮廓的二值图;构建第一卷积神经树群体模型;对第一卷积神经树群体模型的每个个体进行评估,并根据评估结果以遗传编程优化第一卷积神经树群体模型的结构;使用pso粒子群算法对第一卷积神经树群体模型进行参数优化,进而提取出第一卷积神经森林模型;将目标竹片轮廓的二值图输入第一卷积神经森林模型中,并与测试集进行测试,进而得到第一分类结果信息,所述第一分类结果信息包括目标竹片的缺陷情况信息。

进一步,“将灰度图像转换为二值图”具体为:指定预设常数c作为最佳阈值,如果灰度图像中的像素点的像素值比常数c小,则将原来的像素赋值为0,如果像素值比常数c大,则将原来的像素值赋值为255。其中常数c的获取可以通过最大类间方差法或跌代法来获取。

进一步,“将目标竹片图像转换为灰度图像”具体为:获取目标竹片图像的各个像素点的rgb属性,将各个像素点的红、绿、蓝的三个相叠加的彩色通道的值相加取平均值,进而获取目标竹片图像中各个像素点的灰度值,从而生成灰度图像。

进一步,所述第一卷积神经树群体模型包括多个第一卷积神经树,每个第一卷积神经树均包括输入层、全连接层、输出层和多个隐层;所述隐层包括相连的第一隐层与第二隐层,所述第一隐层与第二隐层均包括依次相连的卷积层、relu层、池化层,所述第二隐层均与全连接层相连,进而通过全连接层将输入层与卷积层产生的特征图做全连接。

进一步,所述输出层的节点个数为竹片的缺陷情况的分类种类的个数,输出层神经元激活函数使用softmax函数将神经元的输出转换为分类概率。

进一步,所述第一卷积神经树群体模型的卷积层的卷积核,是由lenet-5模型训练后的卷积核中提取出的。

进一步,“对第一卷积神经树群体模型的每个个体进行评估,并根据评估结果以遗传编程优化第一卷积神经树群体模型的结构”,具体为:对第一卷积神经树群体模型的每个个体使用交叉熵损失函数来计算其误差,进而获取其适应度,误差越大代表适应度越小;将各个个体按照适应度大小进行排序,将适应度较大的50%个体保留;将保留下来的个体拷贝为交叉群体,依次按照遗传交配与突变筛选的方式获取与交叉群体数量相同的新的种群;将新的种群与保留下来的个体组成新的第一卷积神经树群体模型。

进一步,“使用pso粒子群算法对第一卷积神经树群体模型进行参数优化,进而提取出第一卷积神经森林模型”具体为:使用pso粒子群算法初始化第一卷积神经树群体模型的每个卷积神经树的粒子群的每个粒子位置、速度;计算每个粒子适应度;更新粒子的最优位置,更新粒子的全局最优位置;更新粒子的实际速度、实际位置;确定粒子达到最大pso迭代次数后对第一卷积神经树群体中每个个体进行评估;确定群体存在达到预设的第一最优预设阈值的个体时,停止优化第一卷积神经树群体模型,并将适应度最优的三个卷积神经树选出,进而组成卷积神经森林模型。

如上所述,本发明的一种基于卷积柔性神经森林的竹片虫洞和霉斑检测方法,具有以下有益效果:

本发明通过均值滤波法过滤灰度图像的椒盐噪声,从而有效的减少了噪声对提取目标竹片轮廓的二值图的影响;本发明通过建立第一卷积神经树群体模型,进而按照需要检测的竹片缺陷种类来智能优化第一卷积神经树群体模型,从而得到可以检测不同竹片缺陷种类的第一卷积神经森林模型,弥补了现行检测方法的局限性,使得本发明可以高效、准确的检测多种竹片缺陷种类。

附图说明

图1为本发明的一种基于卷积柔性神经森林的竹片虫洞和霉斑检测方法的第一卷积神经树群体的单个第一卷积神经树模型的结构示意图;

图2为本发明的一种基于卷积柔性神经森林的竹片虫洞和霉斑检测方法的主体步骤流程图。

图3为本发明的一种基于卷积柔性神经森林的竹片虫洞和霉斑检测方法的具体步骤流程图。

图4为本发明的一种基于卷积柔性神经森林的竹片虫洞和霉斑检测方法的卷积层的卷积核计算输出过程示意图。

具体实施方式

为了更清楚地说明本发明实施例和/或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。另,涉及方位的属于仅表示各部件间的相对位置关系,而不是绝对位置关系。

本发明的所作用的图片的适用范围为高清的竹片,同时本发明的所作用的图片不适合拍摄环境昏暗、外物影子重叠严重的图片.

如图2、3所示,本发明的一种基于卷积柔性神经森林的竹片虫洞和霉斑检测方法包括以下步骤:

s1、获取目标竹片图像。

本方法需要从多个视角拍摄的多张图片竹片的图片来作为目标竹片图像,这样获取的目标竹片图像才能完整的呈现竹片的缺陷情况。本实施例中的竹片图片是通过工业相机wp-ufv500连续拍摄的。

s2、将目标竹片图像转换为灰度图像。

步骤s2具体为:获取目标竹片图像的各个像素点的rgb属性,将各个像素点的红、绿、蓝的三个相叠加的彩色通道的值相加取平均值,如下述公式

,其中r、g、b、分别代表红、绿、蓝三色的彩色通道的值;

进而获取目标竹片图像中各个像素点的灰度值,从而生成灰度图像。

s3、通过均值滤波法过滤灰度图像的椒盐噪声。

图像在某些特殊的环境中容易产生黑点或者白点,这些点称为椒盐噪声。采用均值滤波法将椒盐噪声淡化,使这些椒盐噪声在数据中不那么突出,进而可将竹条与背景完全分割开。均值滤波法可以简单的计算窗口区域的像素均值,将计算出来的值赋给窗口中心点处的像素。

表示中心点在(x,y)处,公式为:

其中m、n为滤波器窗口大小,g(s,t)表示原始图像,f(x,y)表示均值滤波后得到的图像。

s4、将灰度图像转换为二值图。

步骤s4具体为:指定预设常数c作为最佳阈值,如果灰度图像中的像素点的像素值比常数c小,则将原来的像素赋值为0,如果像素值比常数c大,则将原来的像素值赋值为255。其中常数c的获取方法可以为双峰法、p参数法、otsu法、最大类间方差法、迭代法。

本发明中使用最大类间方差法。设图像有m个灰度值,取值范围在0~m-1,在该范围内选取灰度值t,将图像分为两组g0与g1,g0包含像素的灰度值0~t,g1的灰度值在t 1~m-1,用n表示图像像素总数,ni表示灰度值i的像素个数。每个灰度值i出现的概率为pi=ni/n;设g0与g1两组像素的个数的整体图像所占百分比为w0,w1,两组平均灰度值为u0,u1,

可得概率:

可得平均灰度值:

图像的总灰度值:;再通过下述建类方差公式获取

最佳阈值;

s5、采用sobel算子对二值图中的竹片边缘进行提取,进而获取目标竹片轮廓的二值图。

由于竹片图像的边缘像素值会发生明显的变化,因此可以根据这一变化将灰度图像中的竹片图像裁剪下来。本发明利用sobel算子对像素邻近区域的梯度值来计算,进而图像灰度函数的近似梯度,从而得到目标竹片轮廓的二值图。计算过程如下,;其中dx、dy为两个卷积核形成的soble算子,s是一幅边缘幅度图像。

s6、构建第一卷积神经树群体模型。

如图1、4所示,本发明会根据所需检测的竹片缺陷种类需求来建立多个第一卷积神经树模型,进而获取第一卷积神经树群体模型。所述第一卷积神经树群体模型包括多个第一卷积神经树,每个第一卷积神经树均包括输入层、全连接层、输出层和多个隐层;所述隐层包括相连的第一隐层与第二隐层,所述第一隐层与第二隐层均包括依次相连的卷积层、relu层、池化层,所述第二隐层均与全连接层相连,进而通过全连接层将输入层与卷积层产生的特征图做全连接。

输入层:输入层输入的数据为图像数据。

卷积层:使用不同的滤波器对输入数据进行滤波。第一卷积神经树群体模型的卷积层的卷积核,是由lenet-5模型训练后的卷积核中提取出的。

其中,卷积核的计算过程如图4所示,此处的卷积核为1个卷积核,卷积核的通道必须与输入数据的通道相同,因此此处1个卷积核拥有3通道,分别计算每一个通道的卷积核与输入图像的输入加权和,将各个通道的计算结果相加,加上偏置的结果即为经过卷积的输出结果。卷积核计算输出矩阵维度的公式:卷积核输出尺寸=(w-f 2p)/s 1;式中w:输入数据尺寸、f:卷积核尺寸、p:零填充数量、s:步长。

relu层:relu层把卷积层输出结果做非线性映射。

池化层:对输入的特征图进行压缩,使特征图变小,简化网络计算复杂度,提取主要特征。

全连接层:将卷积层产生的特征图映射成一个固定长度(一般为输入图像数据集中的图像类别数)的特征向量。

输出层:节点个数为竹片的缺陷情况的分类种类的个数,输出层神经元激活函数使用softmax函数将神经元的输出转换为分类概率。softmax激活函数为:

s7、对第一卷积神经树群体模型的每个个体进行评估,并根据评估结果以遗传编程优化第一卷积神经树群体模型的结构。

步骤s7具体为:对第一卷积神经树群体模型的每个个体使用交叉熵损失函数来计算其误差,进而获取其适应度,误差越大代表适应度越小;将各个个体按照适应度大小进行排序,将适应度较大的50%个体保留;将保留下来的个体拷贝为交叉群体,依次按照遗传交配与突变筛选的方式获取与交叉群体数量相同的新的种群;将新的种群与保留下来的个体组成新的第一卷积神经树群体模型。

s8、使用pso粒子群算法对第一卷积神经树群体模型进行参数优化,进而提取出第一卷积神经森林模型。

如图3所示,步骤s8具体为:s81、使用pso粒子群算法初始化第一卷积神经树群体模型的每个卷积神经树的粒子群的每个粒子位置、速度。将多个具有多维结构的卷积核按照顺序转换为一维的行向量,将所有转换的行向量拼接成为一个列表,再与神经树的权重拼接形成一个新的列表,用pso算法进行优化。

位置:l[i][j]=rand(lmin,lmax)

速度:v[i][j]=rand(vmin,vmax)

维度:s=np1 p1p2 p2q

其中lmin和lmax是粒子的最小位置和最大位置;vmin和vmax是粒子的最小速度和最大速度;维数d为卷积神经树中权值的总个数,n、p、q分别是输入层节点数、隐层节点数(允许多层)、输出层节点数。

s82、计算每个粒子适应度;计算每个粒子适应度就是计算每个粒子的误差,这里使用的误差计算公式为交叉熵损失函数,误差越小,则个体的适应度就越优,误差越大,个体的适应度越劣。对群体中每一个粒子,计算出它们的适应度。其中的交叉熵损失函数公式:

s83、更新粒子的最优位置,更新粒子的全局最优位置。该步骤主要是将上述粒子中适应度最好的粒子的检测时的移动位置作为最优位置。

s84、更新粒子的实际速度、实际位置;群体中每个粒子都会朝着群体最优的方向随机移动,这里依据粒子移动公式计算粒子各个维度的速度变化,通过速度变化更新粒子的位置。

粒子速度调整公式为:

粒子位置调整公式为:

式中i:粒子编号,t:时刻(迭代次数),w:惯性权重(一般设置为0.4),c:学习因子(一般设置为2),xpbest:局部最优位置,xgbest:全局最优位置。pso粒子群的优化过程中的优化效果是由粒子初始位置范围lmin,lmax以及粒子速度上下限vmin,vmax确定。

s85:确定粒子达到最大pso迭代次数后对第一卷积神经树群体中每个个体进行评估;如果没有达到最大pso迭代次数,则重新执行步骤s81。

s86:确定群体存在达到预设的第一最优预设阈值的个体时,停止优化第一卷积神经树群体模型,并将适应度最优的三个卷积神经树选出,进而组成卷积神经森林模型。如果不存在达到预设的第一最优预设阈值的个体,则判断第一卷积神经树是否达到最大群体结构进化次数。如果未达到则返回执行步骤s7。

s9:将目标竹片轮廓的二值图输入第一卷积神经森林模型中,并与测试集进行测试,进而得到第一分类结果信息,所述第一分类结果信息包括目标竹片的缺陷情况信息。测试集的内容可以通过网络从其他神经网络训练结果中获取,也可以人为的制定,进而可以通过第一卷积神经森林模型与测试集的比较,来判断出竹片的缺陷情况,如虫洞的大小、霉斑的颜色、大小等。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。


技术特征:

1.一种基于卷积柔性神经森林的竹片虫洞和霉斑检测方法,其特征在于,包括步骤:获取目标竹片图像;将目标竹片图像转换为灰度图像;通过均值滤波法过滤灰度图像的椒盐噪声;将灰度图像转换为二值图;采用sobel算子对二值图中的竹片边缘进行提取,进而获取目标竹片轮廓的二值图;构建第一卷积神经树群体模型;对第一卷积神经树群体模型的每个个体进行评估,并根据评估结果以遗传编程优化第一卷积神经树群体模型的结构;使用pso粒子群算法对第一卷积神经树群体模型进行参数优化,进而提取出第一卷积神经森林模型;将目标竹片轮廓的二值图输入第一卷积神经森林模型中,并与测试集进行测试,进而得到第一分类结果信息,所述第一分类结果信息包括目标竹片的缺陷情况信息。

2.如权利要求1所述的一种基于卷积柔性神经森林的竹片虫洞和霉斑检测方法,其特征在于,“将灰度图像转换为二值图”具体为:指定预设常数c作为最佳阈值,如果灰度图像中的像素点的像素值比常数c小,则将原来的像素赋值为0,如果像素值比常数c大,则将原来的像素值赋值为255。

3.如权利要求1所述的一种基于卷积柔性神经森林的竹片虫洞和霉斑检测方法,其特征在于,“将目标竹片图像转换为灰度图像”具体为:获取目标竹片图像的各个像素点的rgb属性,将各个像素点的红、绿、蓝的三个相叠加的彩色通道的值相加取平均值,进而获取目标竹片图像中各个像素点的灰度值,从而生成灰度图像。

4.如权利要求1所述的一种基于卷积柔性神经森林的竹片虫洞和霉斑检测方法,其特征在于,所述第一卷积神经树群体模型包括多个第一卷积神经树,每个第一卷积神经树均包括输入层、全连接层、输出层和多个隐层;所述隐层包括相连的第一隐层与第二隐层,所述第一隐层与第二隐层均包括依次相连的卷积层、relu层、池化层,所述第二隐层均与全连接层相连,进而通过全连接层将输入层与卷积层产生的特征图做全连接。

5.如权利要求1所述的一种基于卷积柔性神经森林的竹片虫洞和霉斑检测方法,其特征在于:所述输出层的节点个数为竹片的缺陷情况的分类种类的个数,输出层神经元激活函数使用softmax函数将神经元的输出转换为分类概率。

6.如权利要求4所述的一种基于卷积柔性神经森林的竹片虫洞和霉斑检测方法,其特征在于:所述第一卷积神经树群体模型的卷积层的卷积核,是由lenet-5模型训练后的卷积核中提取出的。

7.如权利要求1所述的一种基于卷积柔性神经森林的竹片虫洞和霉斑检测方法,其特征在于,“对第一卷积神经树群体模型的每个个体进行评估,并根据评估结果以遗传编程优化第一卷积神经树群体模型的结构”,具体为:对第一卷积神经树群体模型的每个个体使用交叉熵损失函数来计算其误差,进而获取其适应度,误差越大代表适应度越小;将各个个体按照适应度大小进行排序,将适应度较大的50%个体保留;将保留下来的个体拷贝为交叉群体,依次按照遗传交配与突变筛选的方式获取与交叉群体数量相同的新的种群;将新的种群与保留下来的个体组成新的第一卷积神经树群体模型。

8.如权利要求1所述的一种基于卷积柔性神经森林的竹片虫洞和霉斑检测方法,其特征在于,“使用pso粒子群算法对第一卷积神经树群体模型进行参数优化,进而提取出第一卷积神经森林模型”具体为:使用pso粒子群算法初始化第一卷积神经树群体模型的每个卷积神经树的粒子群的每个粒子位置、速度;计算每个粒子适应度;更新粒子的最优位置,更新粒子的全局最优位置;更新粒子的实际速度、实际位置;确定粒子达到最大pso迭代次数后对第一卷积神经树群体中每个个体进行评估;确定群体存在达到预设的第一最优预设阈值的个体时,停止优化第一卷积神经树群体模型,并将适应度最优的三个卷积神经树选出,进而组成卷积神经森林模型。

技术总结
本发明提供了一种基于卷积柔性神经森林的竹片虫洞和霉斑检测方法。包括步骤:获取目标竹片图像;将目标竹片图像转换为灰度图像;通过均值滤波法过滤灰度图像的椒盐噪声;将灰度图像转换为二值图;采用sobel算子对二值图中的竹片边缘进行提取,进而获取目标竹片轮廓的二值图;构建第一卷积神经树群体模型;对第一卷积神经树群体模型的每个个体进行评估,并根据评估结果优化第一卷积神经树群体模型的结构;使用PSO粒子群算法对第一卷积神经树群体模型进行参数优化,进而提取出第一卷积神经森林模型;将目标竹片轮廓的二值图输入第一卷积神经森林模型中,并与测试集进行测试,进而得到第一分类结果信息。本发明可以高效、准确的检测多种竹片缺陷种类。

技术研发人员:蒋丽峰;郭洪涛;杨亚蕾;陈婷婷
受保护的技术使用者:福建工程学院
技术研发日:2019.12.31
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-49368.html

最新回复(0)