改进的Unet型木材缺陷图像分割方法

2022-02-24 08:46章继鸿姚宇晨
林业机械与木工设备 2022年1期
关键词:网络结构灰度阈值

严 飞, 章继鸿, 姚宇晨, 刘 军

(南京林业大学机械电子工程学院,江苏 南京 210037)

木材缺陷包括表面缺陷和内部缺陷,两种缺陷对木材质量有不同的影响其检测方法也不相同。表面缺陷影响木材的美观及硬度,需要对表面缺陷进行检测与处理[1-3]。要实现智能化木材缺陷检测,图像分割是前提步骤。分割主要有传统分割、深度学习分割等。传统分割包括边缘型、区域型分割等[4-6],无统一标准且效果不稳定,是图像分割的研究传统难点之一。深度学习分割是最新的研究热点,包括语义分割、实例分割、全景分割等,最终实现不同类别不同个体的属性识别、定位、轮廓确定[7-9]。分割实质上包含了目标检测、图像分类、边缘定位等多方面技术融合,更深刻的实现了图像理解[10-12]。

深度学习是机器学习的一种,具有多层网络结构,让机器具有人类的识别和自学习能力,是当前人工智能研究的热点之一,主要有:卷积神经网络(Convolutional Neural Network,CNN)、深度置信网络、堆栈自编码网络等[13-17]。CNN本质上是一个多层感知机,其成功的原因关键在于它所采用的局部连接和共享权值的方式,一方面减少了的权值的数量使得网络易于优化,另一方面降低了过拟合的风险。一般的CNN结构适用于图像级别的分类和回归任务,因为它们最后都期望得到输入图像的分类的概率。FCN(Fully Convolutional Networks)可以接受任意尺寸的输入图像,采用反卷积层对最后一个卷基层的特征图(feature map)进行上采样,使它恢复到输入图像相同的尺寸。Unet在FCN的基础上,实现高层与底层的高低分辨率信息的融合,实现下采样和上采样信息拼接,用于图像分割。

针对图像分割问题,利用改进的Unet网络结构,对网络进行训练和测试,获取最佳的网络性能,实现木材缺陷图像分割。

1 图像分割

1.1Unet

图像分割就是分出一个物体的准确轮廓。一张图像I,这个问题就是求一个函数,从I映射到Mask。

全卷积网络(FCN),利用深度学习求此函数。CNN最后提取的特征的尺度是变小的。为了让CNN提取出来的尺度能到原图大小,FCN网络利用上采样和反卷积到原图像大小,后做像素级的分类,将分割问题变成分类问题。Unet包括两部分,特征提取、上采样部分。由于网络结构像U型,所以叫Unet网络。特征提取部分,每经过一个池化层就一个尺度,包括原图尺度一共有5个尺度,Unet结构图如图1所示。上采样部分,每上采样一次,就和特征提取部分对应的通道数相同尺度融合,但是融合之前要将其crop。Unet具有多尺度、超大图像分割的优点。反卷积就是转置卷积,也是一种卷积,由小尺寸到大尺寸的过程。反卷积也可以表示为两个矩阵乘积,转置卷积的反向传播就是也是可进行的。

图1 Unet结构图

1.2 Unet改进型

Unet共有5层结构,其最大的特点是融合技术,就是将特征和采样值拼接在一起,以提高图像像素分类精度。本质上,特征提取和上采样都可以看成像素级的特征提取。因而,可以对Unet结构进行改进,改进方向包括:(1)层数选择,将5层变成4层;(2)输入图像尺寸的改变,输入图像为128×128。最后,通过卷积层与激活函数,输出灰度图像。二值图像是图像像素分类的结果,也可以看成灰度图的特殊种类。不管卷积神经网络的结构有何不同,都是对信号进行特征提取,特征既包含特征,也包括属性,进行多层变换和映射,转变成便于处理的信号。改进的Unet结构图如图2所示。

图2 改进的Unet结构图

1.3 图像分割流程

利用Unet和阈值分割结合,可以实现图像分割。具体步骤如图3所示,首先输入彩色图像,然后利用Unet进行训练与测试,得到灰度图(包括特征灰度图和待分割灰度图),然后选取合适的阈值算法计算获得最佳阈值,最后进行分割得到二值图。对二值图进行评价,可以调整阈值和网络结构,使得图像分割结果最优。训练过程中,采用预先设定好的分割图,进行网络参数确定。然后用训练好的网络进行测试,获得分割二值图,并对特征图和灰度图进行分割,比较最佳灰度图的分割结果。

图3 图像分割流程图

2 木材缺陷图像分割

卷积神经网络最大特征在于利用卷积提取特征,利用不同的网络结构,提取不同特征,训练就是计算卷积核参数,测试就是卷积后获得特征。本文选择Unet网络结构,首先进行多层次的像素级训练,得到每层次的参数,最后测试获得多层次的特征,然后进行特征像素级分类。可以对网络层数和通道数进行设定,获得最佳的图像分割效果。

2.1 开发环境及数据库

试验软硬件开发环境为:操作系统,Windows 10;内存,8.00GB;CPU,Intel®CoreTMi7-7700HQ 2.8GHz;Python,3.6;TensorFlow-gpu-1.8.0;OpenCV,4.3.0.36;Torch,1.1.0;Torchvision,0.3.0。选取活节、虫、死节为木材缺陷为研究对象,设定木材缺陷为分割目标,测试样本示例如图4所示,图4(a)为活节,图4(b)为虫洞,图4(c)为死节。有训练数据集及测试数据集。训练集有100幅彩图及标签图,测试集有50张彩图及标签图,尺寸大小为128×128。

图4 测试样本示例

2.2 图像灰度化

将像素分成两类:目标和背景。利用Unet卷积神经网络对训练集进行训练,获得网络参数,训练设置为:块大小为1,采用Adam优化器,测度准则采用BCEloss,在输出和目标值之间进行计算,reduction为None如式(1)所示。

(1)

式中:N为块大小,reduction不是None如式(2)所示。

(2)

训练后得到网络参数,利用这些参数进行测试,得到样本的特征图,即灰度图,Unet特征灰度图如图5所示,图5(a)为活节,图5(b)为虫洞,图5(c)为死节。第一行为最后一卷积层64通道的的第一通道,第二行为最后一卷积层64通道的第二通道,第三行为输出层通道,归一化后在0~1之间,可映射到灰度空间去,得到灰度图。

图5 Unet特征灰度图

2.3 阈值分割

为了评价分割质量,首先人工标注分割参考图,参考分割图如图6所示,图6(a)为活节,图6(b)为虫洞,图6(c)为死节。采用JA、DI、BF指标计算图像分割质量。阈值分割采用cv2.threshold函数实现,参数采用cv2.THRESH_OTSU与cv2.THRESH_BINARY实现OTSU阈值提取,得到二值图,结果如图7所示。第一行到第三行分别为图5对应的特征灰度图的分割图。特征3比1~2分割饱满,效果较好。

图6 参考分割图

图7 分割图

3 结果分析

对分割图进行指标值计算,得到评价数值,如表1所示,有3个通道,包括:特征1、特征2、特征3。特征1与2为卷积特征层,特征3为激活函数层。死节和虫洞的效果优于活节;激活函数层优于卷积特征层。

表1 JA,DI,BF评价指标值

4 小结

(1)以深度学习的语义分割为基础,对Unet网络进行改进,提出了一种基于改进的卷积神经网络的木材表面缺陷图像分割方法,实现活节、死结、虫洞的分割。

(2)对Unet网络结构层数和通道数编辑,并提取卷积特征层和激活函数层的灰度图,利用阈值算法计算最佳阈值,实现灰度图分割。构建木材表面缺陷数据库进行训练和测试,试验效果有效。

(3)激活函数层的灰度图分割效果最优,设定神经网络结构、通道灰度特征图,获得最佳的图像实例分割质量,需改进网络并增加训练和测试样本数,提高模型的稳定性。

猜你喜欢
网络结构灰度阈值
航空滤光片阵列多光谱图像条带灰度调整算法
采用改进导重法的拓扑结构灰度单元过滤技术
改进的软硬阈值法及其在地震数据降噪中的研究
土石坝坝体失稳破坏降水阈值的确定方法
基于小波变换阈值去噪算法的改进
天津港智慧工作平台灰度发布系统和流程设计
改进小波阈值对热泵电机振动信号的去噪研究
Arduino小车巡线程序的灰度阈值优化方案
试论分布式计算机网络结构分析与优化
带通信配网故障指示器故障监测方法及安装分析