基于深度学习的木材表面缺陷图像检测

2019-10-17 06:08陈献明王阿川王春艳
液晶与显示 2019年9期
关键词:虫眼木材椭圆

陈献明, 王阿川*, 王春艳

(1. 东北林业大学 信息与计算机工程学院,黑龙江 哈尔滨 150040;2. 扎兰屯职业学院,内蒙古 扎兰屯 162650)

1 引 言

由于木材加工自动化程度低、缺陷识别不够精确、锯切方案不够合理,我国木材原料的使用效率较低[1]。为了显著提高木材的使用效率,国内外学者提出了多种木材缺陷的检测方法:如3D扫描技术分析法[2]、基于多模型融合的木材缺陷研究[3]、钻入阻抗法检测[4]、基于C-V模型的缺陷图像特征提取[5]、一阶统计特征检测法[6]、基于快速l1和LBP算法的缺陷检测技术[7]、改进C-V模型与小波变换[8]等。然而,木材缺陷的形状、颜色、尺寸、纹理等特征千差万别,给缺陷识别与分割带来了困难,这使得目前的木材缺陷检测方法存在着一定的局限性,难以做到对木材缺陷进行统一的识别与分割。

近年来,基于深度学习的图像检测方法发展迅猛,在图像的识别、分类和目标检测领域都取得了一些成就。针对木材缺陷的识别检测及带有缺陷的木材加工方案优选问题,本文提出了将深度学习中的Faster-RCNN检测模型[9]用于木材缺陷图像识别与定位,结合NL-Means[10]、线性滤波等方法用于木材缺陷图像的去噪和增强,之后提取缺陷的边缘特征,获得了较好的分割效果。为了解决传统缺陷加工方案木材损耗较多,而按照缺陷边缘进行加工,切削路线复杂的问题,本文提出了一种改进的椭圆拟合算法拟合木材缺陷轮廓,兼顾节约木材和简化切削路线,降低了缺陷修补的木材填充量,提高了木材的使用效率,为自动化加工带有缺陷的木材提供了优选方案。

2 理论概述

由于木材表面缺陷复杂多样,因此难以取得比较好的分割和识别效果。本文利用Faster-RCNN检测模型确定木材缺陷定位边框及缺陷类型,再利用NL-Means、线性滤波等方法对框内区域进行精细化分割,解决了彩色图像分割时容易受到复杂背景干扰,难以得到闭合轮廓曲线的问题[11],得到了比较好的结果。

2.1 Faster-RCNN目标检测原理

Faster-RCNN是一种结合Fast-RCNN[12]与区域生成网络(Region Proposal Network,RPN)的新型目标检测模型。Faster-RCNN模型将目标检测的四个基本步骤: 提取特征、获取感兴趣区域(Region of Interest,ROI)、目标识别和边框回归统一到一个深度网络框架中。网络结构如图1所示。

图1 Faster-RCNN网络结构Fig.1 Structure of Faster-RCNN network

RPN是一种用于产生高可靠性候选区域框的网络,它与Fast-RCNN共享卷积特征,通过滑动窗口对提取到的特征图滑动卷积,得到不同尺度的锚框(Anchor)。每个滑动窗口生成一个特征向量,这个特征向量被输送到边框回归层和分类层。在边框回归层可以得到对应的4个坐标位置编码;在分类层中可以得到ROI中物体目标的概率。随后将得到的坐标编码和判定概率输入到ROI池化层。

在得到预测方框的坐标参数后,为了降低预测方框与真实方框的误差,对坐标参数进行回归调整,调整方式如式(1)、(2)所示:

(1)

(2)

式中:x,y,w和h分别表示预测方框的中心坐标点、宽度和高度,xa,ya,wa和ha表示生成anchor的中心坐标、宽度和高度,x*、y*、w*和h*表示目标真实方框的中心坐标、宽度和高度。

2.2 NL-Means

NL-Means(Non-Local Means)是一种将整体图像作为作用域的去噪方法,它以像素块为单位,在图像中寻找相似区域,再对这些相似的区域求平均,以达到去除图像噪声的目的。NL-Means的处理过程如式(3)、(4)所示:

(3)

(4)

2.3 图像增强

线性滤波和对比度、亮度调整是常见的图像增强操作。卷积滤波器是一个行数和列数都是奇数的二维数组,中间的元素对应待计算的像素点,其它的元素对应这个像素点的邻近像素点。线性滤波具体操作为:每个二维图像像素点的邻域像素值和对应卷积滤波器元素乘积之和作为该像素点新的值,如图2所示。

图2 卷积滤波器Fig.2 Convolutional filter

对比度是图像中颜色间的差别程度。对比度越大,颜色间的反差越明显,图像显示越清晰。亮度是颜色的相对明暗程度,它使得底层的特征诸如形状、颜色等可以表现出来[13]。对图像对比度和亮度的调整如式(5)所示:

Gi,j=a(Ii,j-M)+b×M,

(5)

式中:Ii,j表示原图像中(i,j)位置的像素值,Gi,j表示经对比度和亮度调节之后的数值,a表示对比度系数,b表示亮度系数,M表示图像的RGB像素均值。

2.4 最小二乘椭圆拟合算法

椭圆拟合是图像内几何形状检测的重要部分,它在人脸识别、瞳孔识别、细胞检测以及复杂物体的形状表达等领域有着广泛的应用[14]。椭圆拟合的基本思想是:对于给定平面上的一组样本点,寻找到距离所有样本点最近的椭圆。最小二乘法是较好的椭圆拟合方法[15],其基本思想是追求整体误差的最小化。椭圆的一般方程如式(6)所示:

x2+gxy+cy2+dx+ey+f=0,

(6)

由式(6)可知,当得到需要拟合的5个坐标点后,即可得到一个五元一次方程组,进而求得g、c、d、e、f。在实际应用中得到的样本点远远大于5,会得到一个超定方程,通过最小二乘法可以求出其误差最小的解。

根据椭圆上N个具有误差的坐标点(xi,yi),i=1,2,3...,N,将每个坐标点(xi,yi)代入椭圆一般方程,假设会产生误差εi,极小化方程误差εi的平方和J如式(7)所示:

(7)

根据极值原则,通过求解上述方程即可求得参数(g,c,d,e,f),进而得到椭圆的中心点(x0,y0)、旋转角θ、及长短轴a和b。由此得到拟合后的椭圆方程。

2.5 改进的最小二乘椭圆拟合算法

基于最小二乘法拟合出的椭圆,一部分特征点在该椭圆外,其余特征点在该椭圆内,所有特征点到该椭圆方程的和最小。直接利用该方法拟合出的缺陷轮廓不能满足木材缺陷加工的实际需要。因此本文提出了一种改进的最小二乘椭圆拟合算法,以求出点集的优选椭圆轮廓。其方法是:不断淘汰对椭圆拟合影响极小的点,当无法继续减小样本点范围时,逐步扩大拟合椭圆的长轴和短轴,最终得到点集的优选椭圆轮廓。

椭圆的定义为:平面内到定点F1、F2的距离之和等于常数的动点P的轨迹,其中F1、F2是椭圆的两个焦点,2a是椭圆的长轴长。其数学表达式为:|PF1|+|PF2|=2a。根据定义可以得到:若平面上的点到F1、F2的距离之和大于2a,则表明该点在椭圆外部;若等于2a,则表明在椭圆上;若小于2a,则表明该点在椭圆内部。由于点的位置对于椭圆的拟合至关重要,如果贸然淘汰已经拟合的点,将剩余点进行下次迭代,会出现未参与下次迭代的某些点出现在新拟合椭圆外部的情况,导致拟合效果变差,因此本文在计算平面上的点到两个焦点的距离之和时,加入大于1的比例系数λ,新的判断方式如式(8)所示:

λ(|PF1|+|PF2|)=2a,

(8)

即:将到F1、F2距离之和放大λ倍后仍小于2a的点淘汰,将其余点参加下一次拟合计算,具体算法步骤如下:

步骤1 :通过最小二乘法求出所有特征点最初的椭圆拟合方程,并计算出椭圆面积;

步骤2 :遍历所有保留的特征点,根据λ倍的点到椭圆两个焦点距离和与2a的关系,将到两焦点距离之和放大λ倍后仍小于2a的点剔除,保留其余点;

步骤3:将保留的点再次进行最小二乘法拟合,计算拟合后椭圆的面积,并与上一次拟和的面积进行对比,如果面积增大转步骤2,否则转步骤4;

步骤4:逐步扩大最后一步拟合出椭圆的长轴和短轴,直至满足要求为止,结束迭代,得到了特征点集的优选椭圆轮廓。

3 算法实现

3.1 相关基础

本文算法分为缺陷的定位和识别、缺陷的精细分割以及缺陷的边缘拟合3个步骤。在实现缺陷的定位与识别时主要使用Faster-RCNN检测模型,Faster-RCNN检测模型包括深度神经网络层、RPN、全连接层3部分:其中深度神经网络层用来提取卷积特征,RPN用来提取感兴趣区域,最后的全连接层用来进行分类和边框校正;在实现缺陷的精细分割时主要采用各种图像增强方法:其中通过NL-Means对原图像去除噪声,通过线性滤波和对比度、亮度调整提升图像目标与背景区域反差,再进行二值化等操作,随后对缺陷边缘进行提取。在实现缺陷的边缘拟合时,使用本文改进的算法拟合所提取的缺陷边缘即可。

3.2 实验环境与数据集

本文实验硬件环境为CPU:i5-8400,2.8 GHz,8 GB内存;GPU: GTX 1060,6 G显存;软件环境为:Windows 10;编程语言为Python,python语言有强大的类库,是一种解释型、交互式、面向对象的脚本程序设计语言,具有广泛的应用;算法实现依托的工具为TensorFlow机器学习框架和PyCharm集成开发环境。TensorFlow是一个采用数据流图,用于数值计算的开源软件库,被广泛用于机器学习和深度神经网络方面的研究。木材缺陷图像数据集样本总数为1 139幅,其中死节(437幅),虫眼(342幅),活节(360幅)3类,每个样本尺寸为400 pixel×500 pixel。

3.3 算法实现流程

本文选用死节、虫眼和活节3种典型木材缺陷图像进行检测。虫眼和死节图像的目标和背景差异较明显,在图像平滑后使用线性滤波可使图像背景区域像素值提高,与目标区域差异变大,更接近白色。活节图像在节子和木材背景之间差异较小,整体像素值较大,因此不需要使用线性滤波处理图像来提升像素值。具体算法步骤如下:

图3 算法实现流程图Fig.3 Flow chart of algorithm implementation

步骤1:利用标注好的木材缺陷图像对Faster-RCNN深度网络进行训练,得到具有对木材缺陷图像定位和分类能力的检测模型;

步骤2:使用训练好的模型对原始图像进行检测,获取木材缺陷边框及缺陷类别;

步骤3:使用NL-Means方法对原始木材缺陷图像去除噪声;

步骤4:根据Faster-RCNN检测模型识别出的缺陷类型,决定是否对去噪后的图像使用线性滤波方法对图像进行增强处理,扩大木材缺陷边界与背景之间差异;

步骤5:对线性滤波处理后的图像提升对比度和亮度,之后再进行二值化操作,使背景区域的像素值达到最大,通过截断操作,区分背景区域与前景区域;

步骤6:对二值化处理后的图像,在Faster-RCNN所确定的边框内,消除离散点,根据像素差异提取边缘,并获取木材缺陷的边缘特征点集;

步骤7:使用改进的椭圆拟合算法求出木材缺陷的优选轮廓。

算法流程如图3所示。

4 实验及结果分析

4.1 实验与结果

本文选取死节、虫眼、活节3种典型的彩色木材缺陷图像对其进行实验,木材表面缺陷图像如图4所示。其中(a)和(b)分别是不带纹理和带纹理的死节图像,(c)和(d)分别是缺陷区域和背景差异较小和缺陷区域和背景差异较大的虫眼图像,(e)和(f)分别是活节与背景相似程度较大和活节与背景相似程度较小的活节图像。

图4 木材表面缺陷图像Fig.4 Defect images of wood surface

使用训练好的Faster-RCNN网络对实验样本进行检测,检测结果如图5所示。从图5可以看出,本文算法不但可以准确对缺陷进行定位,而且将缺陷的全部区域标定出来,具有较好的缺陷识别能力。

对比多次试验效果,本文算法各步骤参数值选择如下:在对图片进行分割时,首先,使用NL-Means方法对图像进行去噪,式(4)中滤波系数h取值为50;然后利用线性滤波方法实现图像增强,当识别结果是死节和虫眼时,图2中参数m5取值为11,其他参数值取值为-1;当识别结果为活节时,m5取值为1,其他参数值取值为0;其次,对图像进行增大对比度和亮度操作,式(5)中对比度系数a取5,亮度系数b取2.5,保存像素值在250~255的点,并进行二值化处理,若像素周围与它像素值相同的点的数量小于5,将它作为离散点并消除;最后,使用Sobel算子根据像素差异提取缺陷边缘特征点集,选择定位边框内最大的连通域,并对点逐个判断,保留距离连通域较近的点作为缺陷边缘,实现了对木材缺陷图像的精细分割。

图5 缺陷分类及定位结果Fig.5 Defect classification and location results

图6 木材表面缺陷分割过程Fig.6 Segmentation of wood surface defects

4.2 分割效果分析

将提取的缺陷边缘内部进行填充,填充后的图像如图7所示。从图7中可以看出,采用本文算法分割后的图像,受背景区域影响较小,轮廓曲线比较平滑,没有过分分割的情况,达到了比较好的效果。

图7 木材表面缺陷分割结果Fig.7 Segmentation of wood surface defects

为了评价本文提出算法对木材缺陷分割的效果,将本文方法分割出的图像与人工分割出的理想目标[16]进行对比,以漏分率(Leakage Rate,LR)、错分率(Misclassification Rate,MR)和相似率(Similarity Rate,SR)作为评价标准。定义的标准目标图像和本文分割图像分别为Igold-truth、Isegmented。

漏分率LR定义如式(9)所示:

(9)

错分率MR定义如式(10)所示:

(10)

相似率SR定义如式(11)所示:

(11)

利用式(9)~式(11)对分割后图像进行计算,缺陷图像分割评价结果如表1所示,从表1中可以看出,本文算法分割后的图像具有较小的漏分率和错分率,具有较大的相似率,分割效果较好。

4.3 缺陷修补填充量减少效果分析

在实际生产中,一般只对死节和虫眼等对木材结构性能影响较大的缺陷进行加工,对活节这种影响较小的缺陷不做处理。为保持板材较大的幅面,对木材缺陷比较好的处理方法是先将缺陷部分切除,随后填充相应大小的优质木料,如果切除区域过多,相应填充区域也较大。

表1 木材缺陷图像分割性能评价Tab.1 Evaluation of wood defect image segmentation performance (%)

对缺陷的边缘特征点集采用改进的椭圆拟合方法进行椭圆拟合,式(8)中参数λ取值为1.005,为了评价所获取的优选拟合轮廓效果,与木材加工企业采用的人工划线方法识别木材表面缺陷确定的方案进行对比,将缺陷轮廓上下左右的4个极值所确定的矩形作为原方案,则可减少的木材填充率(Reduced Filling Rate,RFR)如式(12)所示:

(12)

式中:wi和hi分别为第i个样本矩形框的宽和高,ai和bi分别为第i个样本椭圆拟合后的长轴和短轴长。原始方案与新方案填充区域如图8所示,通过对比可以看出,采用本文方法拟合的轮廓不但包含全部缺陷部分,还大大降低了木材的切削量,对每个实验图像测算RFR结果如表2所示,可以看出本文方法大大降低了死节缺陷和活节缺陷在加工时的木材消耗,在一定程度上降低了虫眼缺陷加工时的木材消耗。结合实际生产情况,进一步对全部样本中死节和虫眼样本进行测算,可在缺陷修补这一步减少约10%的木材填充量。

图8 优选分割方案与原方案对比Fig.8 Comparing of the optimum segmentation scheme with the original scheme

死节(a)死节(b)虫眼(c)虫眼(d)活节(e)活节(f)RFR10.9917.045.544.5919.7012.09

4.4 算法运行时间分析

本文算法中边框检测、图像分割、轮廓拟合所需时间如表3所示,结合表3与图像可以看出,每个样本边框检测和轮廓拟合两个步骤所耗费时间相对较少,而图像分割所耗费的时间占总流程耗费时间比重较大,图像分割耗费的时间与缺陷区域面积呈正相关。当缺陷区域较小时,耗费时间较少,当缺陷区域较大时,耗费时间相对较多。总体来说,本文算法花费时间较少,可以在较短的时间实现木材缺陷的识别与定位、分割和轮廓拟合,可以在较短的时间内获取木材缺陷的加工方案。

表3 木材缺陷图像处理时间Tab.3 Image processing time of wood defects (s)

5 结 论

本文结合Faster-RCNN目标检测模型、NL-Means方法和线性滤波等方法,实现了对木材死节、虫眼、活节的识别与分割。实验表明,本文算法可以准确识别出缺陷类型、确定缺陷的定位边框。该算法不仅对具有较明显边缘的死节、虫眼有很好的分割效果,而且对边缘不明显的活节也具有很好的分割效果,降低了噪声对分割的影响,使缺陷的轮廓更为平滑清晰。采用改进的最小二乘法拟合椭圆可以较好地拟合缺陷轮廓,相比传统人工划线方法确定方案,使用本文方案通过铣削方式加工木材缺陷不但提高了加工的自动化水平,还在缺陷修补这一环节,平均可减少约10%的木材填充量,节省了大量的木材。本文提出方法可为木材企业加工生产以及相关研究提供相应的理论参考。

猜你喜欢
虫眼木材椭圆
Heisenberg群上由加权次椭圆p-Laplace不等方程导出的Hardy型不等式及应用
虫眼生活学
橘子皮用来开发透明木材
虫眼生活学
虫眼生活学
例谈椭圆的定义及其应用
数字说
木材在未来建筑设计中的应用分析
一道椭圆试题的别样求法
找虫眼