文章信息
- 刘传泽, 王霄, 陈龙现, 郭慧, 罗瑞, 周玉成.
- Liu Chuanze, Wang Xiao, Chen Longxian, Guo Hui, Luo Rui, Zhou Yucheng.
- 基于随机森林算法的纤维板表面缺陷识别
- Surface Defect Recognition of Fibreboard Based on Random Forest
- 林业科学, 2018, 54(11): 121-126.
- Scientia Silvae Sinicae, 2018, 54(11): 121-126.
- DOI: 10.11707/j.1001-7488.20181117
-
文章历史
- 收稿日期:2018-04-02
- 修回日期:2018-08-30
-
作者相关文章
2. 中国林业科学研究院木材工业研究所 北京 100091
2. Research Institute of Wood Industry, CAF Beijing 100091
近年来,人造板连续压机生产线的普及使纤维板生产实现了自动化,在我国,除例行检修外,人造板连续压机几乎全天候运行,纤维板年生产量均在30万m3以上。缺陷检测是纤维板生产的一个重要环节,目前,纤维板表面缺陷检测主要依靠检测人员肉眼观察,存在劳动强度大且分类不准确等问题,制约了纤维板行业的发展,研发一套自动化在线缺陷检测系统成为行业的迫切需求。
机器视觉检测技术具有精度高、灵活性强、速度快等优点,广泛应用于产品表面缺陷检测中(王耀南等,2015)。基于机器视觉的产品表面缺陷检测系统,通过采集产品表面图像,对图像特征值进行分析实现缺陷识别,并根据缺陷类型、形状和数量等对产品进行等级评定,其中,缺陷识别结果正确与否直接关系到能否对产品外观质量做出准确判断。在人造板连续压机生产线上,连续压机24 h不间断运行,速度为1 500 mm·s-1,生产线上2块纤维板的间隔小于400 mm,缺陷识别必须在3 s内完成,实时性要求较高,识别正确率要达到95%,因此,急需一种快速、准确的识别方法实现纤维板表面缺陷的在线识别。
目前,国内外产品缺陷识别主要采用神经网络(neural network,NN)、支持向量机(support vector machine,SVM)、随机森林(random forest,RF)等算法。张召等(2009)利用局部二值模式(local binary patterns,LBP)提取木材纹理特征,采用SVM对缺陷进行了分类;戚大伟等(2013)、齐巍等(2006)、徐珊珊等(2013)基于改进的NN分类器对木材缺陷进行识别,取得了较好分类效果。但SVM、NN计算复杂度较高,实时性较差,不适用于纤维板表面缺陷在线识别。李军峰等(2017)利用RF算法对电力设备图像进行识别,方前程等(2017)构建RF分类模型对爆破振动诱发的民房结构损伤进行识别,结果均优于SVM和NN。RF是一种以决策树为基础的分类方法,通过Bootstrap采样随机对样本数据和特征属性进行选择,根据特征重要度生长出多株决策树,最后汇总每株决策树的分类结果,将结果最多的定为缺陷类别(Breiman, 2001)。采样过程中1/3未参加训练的样本数据称为袋外数据(out of bag,OOB),根据OOB误差率均值预测RF分类正确率。
使用RF算法对纤维板表面缺陷进行识别,要解决的关键问题是缺陷的特征选择和RF中决策树数量k的设置。鉴于此,本研究首先获取表征纤维板表面缺陷的形状、纹理特征,作为样本数据L;然后利用L构建RF分类器,根据OOB误差率均值确定决策树数量k;最后采用纤维板测试板材验证RF分类器的效果。试验证明,基于RF算法的分类器能够快速、准确识别大刨花、胶斑、杂物和油污,可满足纤维板缺陷在线检测系统的需求。
1 模型建立 1.1 纤维板表面缺陷特征提取纤维板表面缺陷分割前后的图像如图 1所示(图中带有缺陷的纤维板表面图像是通过CCD相机获取后再利用Otsu分割算法分割得到)。缺陷类型包括大刨花、胶斑、杂物和油污,其缺陷特征为:各类型缺陷形状差异较大;缺陷区域目标与背景的灰度值差异明显。
经大量试验并结合人工检测经验,本研究确定纤维板表面缺陷面积(S)、周长(L)、圆形性(O)、紧凑性(J)、矩形度(P)、长宽比(OR)、灰度均值(u)及缺陷区域内灰度的标准差(σD)、平滑度(σP)、偏度(σS)、峰度(σK)和均方根值(σR)12个特征属性的特征值作为表征表面缺陷特征的输入向量,大刨花、胶斑、杂物和油污作为模型输出。
1.1.1 形状特征对任意缺陷的形状特征,选取缺陷面积(S)、周长(L)、长宽比(OR)、圆形性(O)、矩形度(P)和紧凑性(J)6个特征,如表 1所示。
纤维板表面纹理缺陷是缺陷特征的一个重要属性,本研究采用统计方法对纤维板表面缺陷区域的灰度分布进行统计得到纹理特征,如表 2所示。
通过上述分析,确定本研究建立的随机森林模型的输入向量为:
$ I = (S、L、OR、J、P、O、u.{\sigma _{\rm{D}}}、{\sigma _{\rm{P}}}、{\sigma _{\rm{S}}}、{\sigma _{\rm{K}}}、{\sigma _{\rm{R}}})。$ |
令随机森林模型的输出为缺陷类别,Output={1,2,3,4},1代表大刨花,2代表胶斑,3代表杂物,4代表油污。
假设将被测样品随机分成k组,每组有n个类别,设训练子集Li中的样本有n个不同类别,用Ci表示,其中i=1,…,n,则概率分布的Gini指数定义为:
$ G\left(P \right) = 1 - \sum\limits_{k = 1}^n {} p_i^2。$ | (1) |
式中:pi为类别Ci在训练子集Li中所占比例。
训练子集Li根据纤维板表面缺陷中的某个特征属性Ij被分为2个子集Li1和Li2,在Ij的特征属性下,训练子集Li的Gini指数即分裂指数为:
$ {G_{{\rm{spilt}}}}\left({{L_i}} \right) = G\left({{L_i}, {I_j}} \right) = \frac{{|{L_{i1}}|}}{{|{L_i}|}}G\left({{L_{i1}}} \right) + \frac{{|{L_{i2}}|}}{{|{L_i}|}}G\left({{L_{i2}}} \right)。$ | (2) |
则此节点分裂在特征属性Ij下的Gini重要度ΔG(Li)为:
$ \Delta G\left({{L_i}, {I_j}} \right) = G\left(P \right) - {G_{{\rm{spilt}}}}\left({{L_i}} \right)。$ | (3) |
每次选取Gini重要度最大的特征属性Ij进行分裂,直至全部达到叶节点或特征属性用完,从而完成CART树的构建,如图 2所示。
CART树构建过程中,得到各个特征属性的重要度ΔG(Li),完成根节点的建立,之后递归建树,根据当前节点下特征属性的重要度不同,将各个特征属性分划成树状结构,重要度越高,其层次越高。对每个训练子集重复上述训练过程,可得到k株CART树,从而完成随机森林模型的构建,如图 3所示。
构建的随机森林模型首先将所有样本分为训练集L和测试集Y,采用Bootstrap采样方式将训练集L分为k个训练子集Li{ L1,L2,…,Lk },每次抽取I向量中g个元素,在k个训练子集上采用基于重要度的CART算法构建k株CART树Ti{ T1,T2,…,Tk },组成随机森林模型,利用每次采样时未抽到的数据L-Li对当前Ti进行评价,得到k个袋外数据误差E(E1,E2,…,Ek),通过E的平均值Eave袋外数据代替测试集,通过Eave的最小值确定k。利用Eave验证随机森林模型的分类效果,确定最优Rk(黄南天等,2017)。
1.2 模型参数确定基于随机森林算法的纤维板表面缺陷识别模型有2个重要参数,即特征属性的选取个数g和决策树数量k。特征属性个数g取
纤维板表面缺陷在线识别的总时间为:
$ {T_z} \approx {T_y} + {T_{f}} + {T_t} + {T_s} < 3{\rm{ }}s。$ | (4) |
式中:Tz为纤维板表面缺陷识别总时间;Ty为图像预处理时间;Tf为图像分割时间;Tt为特征提取时间;Ts为随机森林分类器缺陷识别时间。
通过控制决策树数量k,使Ts取值范围为:
$ 0 < {T_s} < 3 - {T_t} - {T_f} - {T_y}。$ | (5) |
通过试验给定CART树数量k不同的数值,选择使袋外数据误差率均值最小的k,从而得出最优参数k。确保在当前k下,随机森林分类器缺陷识别时间Ts满足式(5),从而使得模型满足纤维板表面缺陷在线检测需求。
本研究训练样本由人造板厂提取的纤维板表面缺陷图像的100个特征向量构成,训练子集中样本数量约67个,所以特征属性个数g的取值为8,利用训练子集Li训练出RF分类器,改变CART树的株树k,得到Rk,根据E评价Rk。如图 4所示,当k变化时,Eave也随之变化,当k=600时,RF分类器的OOB误差率均值最低为0.004,k >600时,RF分类器的OOB误差率均值增加,可知k的最优值为600。此时Ts=43 ms,完全满足式(5)。
采用Visual C++工具编写模型实现程序。程序分为纤维板表面缺陷图像获取模块、训练模块、特征提取模块、参数设定模块、RF分类器训练模块(重要度分类器模块)、缺陷识别模块和最优RF分类器参数选择模块,如图 5所示。
为验证模型的正确性,对100个特征向量构成的样本数据采用Bootstrap方法随机抽取600次,得到训练子集Li{L1,L2,…,L600},将Li与每次随机抽取的8个特征作为输入,根据重要度得到600株CART树Ti{T1,T2,…,T600},构成最优RF分类器R600。采用100张纤维板厂家提供的带有大刨花、胶斑、杂物和油污的纤维板样品对RF分类器进行测试,结果表明,RF分类器分类的准确度为99%,每张纤维板的辨识时间为525 ms,完全满足纤维板表面缺陷在线检测需求。
2.3 模型优越性对比 2.3.1 识别正确率将基于随机森林算法的分类模型(RF)与现有神经网络(NN)、支持向量机(SVM)算法进行对比验证,试验材料为纤维板厂家提供的100张带有大刨花、胶斑、杂物和油污的纤维板样品,结果如表 3所示。可以看出,NN、SVM、RF 3种算法的正确识别数量分别为68、73和99,识别正确率分别为68%、73%和99%。基于RF算法的分类器缺陷识别正确率较NN和SVM算法有很大优势。
在Intel Core I7-7500U四核2.7 GHzCPU处理器、8 GB内存的硬件环境和Windows 7、Visual C++和Matlab 2017a的软件环境下,对随机森林分类模型(RF)和神经网络(NN)、支持向量机(SVM)识别纤维板表面缺陷的CPU运行时间进行分析,图像预处理、分割、特征提取的时间分别为120、256和102 ms。如表 4所示,训练后的RF分类模型缺陷识别时间较短(525 ms),完全满足在线识别的条件。
本研究提出RF分类器在正确率和时间上均满足纤维板表面缺陷在线识别的需求,可将其作为分类器应用到纤维板表面缺陷在线检测系统中。
3 生产线实现将基于随机森林的纤维板表面缺陷识别算法应用到广东丰林纤维板制造厂生产线上,其实现流程如下:
1) 图像预处理。对通过CCD相机获取的在线纤维板表面图像采用中值滤波去除噪声干扰,同时采用拉普拉斯算子对滤波后的纤维板表面图像进行增强。
2) 缺陷检测及缺陷区域定位。对预处理后的图像进行分块检测,计算区块的平均灰度和方差,将方差大于一定阈值的图像定义为缺陷板,并将检测的区块定义为缺陷区域。
3) 图像分割。利用Otsu阈值分割算法对缺陷区域进行分割。
4) 特征提取。统计缺陷区域中的形状、纹理特征,构成特征向量。
5) 利用本研究构建的随机森林分类器进行分类。
当有新的纤维板表面图像输入时,首先进行缺陷检测,判断当前图像是否有缺陷,如果有缺陷,进行缺陷定位、图像分割和特征提取,通过分类器得到缺陷类别;一旦发现纤维板有缺陷,系统会自动打开漏板门,使缺陷纤维板脱离运输线掉落到废品区域内。
4 结论综合考虑纤维板表面缺陷特点,选取12个表征缺陷的形状、纹理特征,将提取的缺陷特征向量作为随机森林分类器输入,缺陷类别作为随机森林分类器输出,根据特征属性重要度建立纤维板表面缺陷识别的随机森林分类器。利用缺陷特征值建立的随机森林分类器对纤维板表面缺陷进行识别,在生产线上的识别正确率高达97.8%,运算速度快,满足缺陷在线检测的实时性和准确性要求。
方前程, 商丽, 商拥辉, 等. 2017. 爆破振动诱发民房结构损伤识别的随机森林模型. 爆炸与冲击, 37(6): 939-945. (Fang Q C, Shang L, Shang Y H, et al. 2017. Random forest model for identification of residential structure damage induced by blast vibration. Explosion and Shock Waves, 37(6): 939-945. [in Chinese]) |
黄南天, 彭华, 蔡国伟, 等. 2017. 电能质量复合扰动特征选择与最优决策树构建. 中国电机工程学报, 37(3): 776-786. (Huang N T, Peng H, Cai G W, et al. 2017. Feature selection and optimal decision tree construction of complex power quality disturbances. Proceedings of the CSEE, 37(3): 776-786. [in Chinese]) |
李军锋, 王钦若, 李敏. 2017. 结合深度学习和随机森林的电力设备图像识别. 高电压技术, 43(11): 3705-3711. (Li J F, Wang Q R, Li M. 2017. Electric equipment image recognition based on deep learning and random forest. High Voltage Engineering, 43(11): 3705-3711. [in Chinese]) |
戚大伟, 牟洪波. 2013. 基于Hu不变矩和BP神经网络的木材缺陷检测. 东南大学学报:自然科学版, 43(s1): 63-66. (Qi D W, Mou H B. 2013. Detection of wood defects types based on Hu invariant moments and BP neural network. Journal of Southeast University:Natural Science Edition, 43(s1): 63-66. [in Chinese]) |
齐巍, 王立海. 2006. 基于小波神经网络的木材内部缺陷类型识别的研究. 林业科学, 42(8): 63-68. (Qi W, Wang L H. 2006. Identifying the patterns of defects in timber using ultrasonic test based on wavelet neural networks. Scientia Silvae Sinicae, 42(8): 63-68. [in Chinese]) |
王耀南, 陈铁健, 贺振东, 等. 2015. 智能制造装备视觉检测控制方法综述. 控制理论与应用, 32(3): 273-286. (Wang Y N, Chen T J, He Z D, et al. 2015. Review on the machine vision measurement and control technology forintelligent manufacturing equipment. Control Theory & Applications, 32(3): 273-286. [in Chinese]) |
徐姗姗, 刘应安, 徐昇. 2013. 基于卷积神经网络的木材缺陷识别. 山东大学学报:工学版, 43(2): 23-28. (Xu S S, Liu Y A, Xu S. 2013. Wood defects recognition based on the convolutional neural network. Journal of Shandong University:Engineering Science, 43(2): 23-28. [in Chinese]) |
张召, 业宁, 业巧林. 2009. 基于纹理提取和SVM技术的自动木材缺陷识别. 计算机工程与应用, 45(23): 219-223. (Zhang Z, Ye N, Ye Q L. 2009. Automatic wood defects recognition based on texture extraction and support vector machine technology. Computer Engineering and Applications, 45(23): 219-223. DOI:10.3778/j.issn.1002-8331.2009.23.063 [in Chinese]) |
赵帅, 黄亦翔, 王浩任, 等. 2017. 基于随机森林与主成分分析的刀具磨损评估. 机械工程学报, 53(21): 181-189. (Zhao S, Huang Y X, Wang H R, et al. 2017. Random forest and principle components analysis based on health assessment methodology for tool wear. Journal of Mechanical Engineering, 53(21): 181-189. [in Chinese]) |
Breiman L. 2001. Random forests. Machine Learning, 45(1): 5-32. DOI:10.1023/A:1010933404324 |