一种基于结构化风险最小化的统计学习方法

描述

从古至今,钟情于实木家具的人群不在少数。在他们眼中,实木家具就像一件艺术品,时间越久越能够焕发出高贵的气质。

可是木材作为天然材料,总免不了存在着变色、腐朽、油脂、木毛、木节、裂缝、虫眼等缺陷。

目前,木材缺陷的分类识别尚未智能化,人工检测依然比较普遍,光靠人工检测不仅分类效率低,而且处理效果不够理想。

因此需要计算机来参与处理,很多学者在原有图像处理技术上不断研究、结合新的方法和理论,以实现木材缺陷的自动分类识别。

支持向量机(support vector machine,SVM)是Vapnik提出的一种基于结构化风险最小化的统计学习方法,通过在特征空间构建具有最大间隔的最佳超平面而实现对训练样本集的最佳划分。层次支持向量机在木材孔洞缺陷检测中的应用,提取相关的统计信息作为识别特征,再输入到层次支持向量机中进行识别。

神经网络和支持向量机均属于浅层结构的算法,而深度学习作为更加贴近于人类大脑的一种神经网络学习算法,纵观过去两年,“深度学习”领域已经呈现出巨大发展势头。在计算机视觉领域,深度学习已经有了较大进展,其中卷积神经网络是运用最早和最广泛的深度学习模型。

卷积神经网络

卷积神经网络(convolutional neural networks,CNN)是一种特殊的深度前馈神经网络,它的设计选择局部连接,符合生物神经元的稀疏响应特性,可以降低网络模型的参数规模,相对而言,对训练数据量的依赖性降低。

南京林业大学范佳楠,刘英等采用深度学习算法替代传统的浅层学习算法,提出了一种快速深度神经网络(faster region-based convolutional neural networks, Faster R CNN)的实木板材缺陷识别模型。

01

实木板材缺陷检测

本研究利用Chroma+Scan3350激光轮廓和色泽集成扫描仪(图1)采集实木板材的图像,其规格参数见表1。实木板材通过扫描仪正下方时,上、下两个Chroma+Scan3350型激光扫描仪开始工作,对经过的实木板材进行扫描,并与电脑进行实时通信,以便直观反映所采集到的信息(图2)。检测的实木板材种类是杉木,规格是1000mm×100mm×10mm,检测时杉木运行速度是48m/min。

02

实木板材缺陷检测原理

近年来,神经网络成为目标检测的主要手段,Ross等在深度学习的浪潮下提出了一种基于深度学习的目标检测与识别方法—R-CNN(region based convolutional neural networks),这是一种将卷积网络应用到目标检测中的方法。R-CNN使用选择性搜索,预先提取一些可能包含物体的候选区域,接着对该区域进行特征提取,从而判断是否为目标,显著提高了算法的效率,但是这种方法在每一个候选区都要提取一遍特征,而且区域会有重叠度,易出现大量的重复计算,导致检测速度较慢。为了解决这一问题,本研究采用Faster R-CNN算法,Faster R-CNN通过输入整个图像一次通过特征提取器,然后从中间层裁剪,从而减轻了处理难度,使裁剪特征提取所需要的计算能够共享。Faster R-CNN可以看作是由生成目标候选区的区域生成网络(RPN)和利用这些候选区的Faster R-CNN(fast region-based convolutional neural networks)检测器组成的,这样整个目标候选区域提取、深度特征提取、目标识别和检测过程都融入一个深度神经网络模型中,从而在不降低检测精度的基础上显著提高了整个检测速度。从R-CNN到Faster R-CNN再到Faster R-CNN,目标检测的4个基本步骤(候选区域生成,特征提取,分类,位置精修)被统一到一个深度网络框架之内。Faster R-CNN模型只需要输入一张图片,以及图片中目标的类别和对应的边界框类别。随后通过CNN模型对图像做特征提取,并将输出的特征用RPN(region proposal network)做候选区域的预测,再用预测到的候选区域边框对特征图做Rol操作,以达到目标识别和边界框回归。其中RPN是一个全卷积神经网络,其输入前一层为任一大小的特征图,输出为一系列的矩形目标候选区。为了生成候选区域,一个小型网络在共享卷积网络的最后一层卷积层的输出特征图上进行了滑窗选择。该网络的输入为特征图的一个n×n的窗口。对于每个窗口,同时预测k个目标候选区,这k个候选区都与这个窗口存在关联,称为anchors。每个anchor 都有着对应的尺度和比例。卷积特征图中的每一个点都是一个anchors中心,有K个对应的anchors。每个窗口被映射为一个低维的向量,该特征向量被传送到两个子网络中:边框回归网络和边框分类网络。边框回归网络输出的是每个anchor的平移缩放值,对每个窗口,有4k个输出;边框分类网络输出的是每个anchor属于目标或背景的概率,对于每个窗口有2k个输出。RPN的训练过程是端到端的。使用的优化方法是反向传播和随机梯度下降,损失函数是分类误差和回归误差的联合损失:

算法

式中:i表示第i个anchor点;pi*表示第i个anchor目标的预测概率; pi*表示第i个anchor点为正样本;ti*是一个向量,表示预测包围盒的4个参数化坐标;ti*表示候选区域边框和真实目标边框之间的偏差;Lcls表示分类误差函数;Ncls表示分类误差函数的个数;Lreg表示回归误差函数;Nreg表示回归误差函数的个数。

03

实木板材缺陷检测算法实现

3.1 实木板材缺陷图像预处理主要流程

系统首先采集实木板材图像,对图像进行分析处理,剔除干扰,方便之后对缺陷提取特征,实木板材缺陷图像预处理主要流程如图3所示。

3.2 实木板材缺陷图像特征提取

首先需要选用合适的特征提取器来对实木板材缺陷图像进行特征提取,网络结构层的数量和参数直接影响检测框架的存储效率、检测速度和检测效果,共选用Inception Resnet V2, Inception V2,Resnet V2,MobileNet这4种特征提取器来进行比较检测,这些网络结构tensorflow上都有开源的实现方式,通过多种特征提取网络的实验对比,选出最适合实木板材缺陷检测的检测框架,值得注意的是, 这里采用的是Resnet V2结构在tensorflow中实现实木板材缺陷图像的特征提取。Faster R-CNN框架结构见图4,首先利用一个卷积神经网络对待测图像进行特征提取,生成特图,接着利用一个区域生成网络(region proposal network, RPN)对特征图进行处理并输出多种尺度和宽高比的目标候选区域,最后利用一个分类回归网络根据候选区域内的特征进行判别输出。

算法

采用ZF-Net作为Faster R-CNN算法的特征提取网络,网络结构如图5所示。

算法

采用ZF-Net作为Faster R-CNN算法的特征提取网络,网络结构如图5所示。

算法

算法

Sigmoid函数是一种常用的非线性激活函数,函数在能够将输入的连续变量值映射到0到1之间。当输入变量值非常大或者非常小时,会出现饱和现象,Sigmoid函数的导数趋向于O。在反向传播过程中,计算每一层网络的梯度需要乘以一个Sigmoid函数的导数,若Sigmoid函数的导数趋向于O,那么随着梯度向后传播,梯度会变得越来越小,出现梯度消失现象,导致网络变得难以学习。在ZF-Net中,相对于Sigmoid函数,ReLU函数在反向传导过程中计算量少,同时使用ReLU作为激活函数时,部分神经元输出将为0,使得神经网络具有稀疏性,抑制过拟合问题,并且其收敛速度较快,故使用ReLU作为激活函数。在Faster R-CNN算法中,候选区域生成网络是一个卷积神经网络,该网络以特征提取网络输出的特征图作为输入,输出多种尺度和宽高比的矩形候选区域。该网络首先使用一个滑动窗口在特征图上进行滑动,将滑动窗口经过的每个位置上的特征映射成一个256维(选用ZF-Net作为特征提取网络时为256维,选用其他网络作为特征提取网络时,该值会有变化)的特征向量,然后将每个特征向量输入到两个全连接层当中,一个全连接层输出2×9=18个分数,另一个全连接层输出4×9=36个坐标。Faster R-CNN算法为每个滑动窗口位置定义了9个锚点,得到每个滑动窗口位置的坐标之后,利用坐标对基准矩形框进行修正,每个基准矩形框分别对应4个坐标,最后每个滑动窗口位置得到9个候选区域。上述18个分数为候选区域的评分,每个候选区域对应2个分数,分别代表该候选区域内包含和不包含待测目标的可能性。实木板材通过CNN特征提取得到的结果见图6,实木板材缺陷最终检测结果见图7。本研究构建了Faster R-CNN检测框架,使用tensorflow开发平台可以有效地更换特征提取器,实现在多种不同的特征提取网络下不同种检测框架的检测效果。本实验采用2000张杉木缺陷图像,通过旋转30°,60°,90°,120°,150°和180°对原始图像进行数据扩充,扩充后图像的80%作为训练集,20%作为验证集来进行仿真。Faster R-CNN采用随机梯度下降法(SGD)来对参数进行更新,量大小(bitch size)设置为1,SGD动量设置均为0.8,初始学习率设定为0.001,迭代总次数设定为10万次,步长设定为15。

从表3可以看出:Faster R-CNN对实木板材节子缺陷检测正确率是98%,对实木板材孔洞缺陷检测正确率是95%。相比SVM和BP算法,缺陷检测正确率有明显提高,表明本系统可以应用于实木板材的缺陷检测与剔除。

算法

04

实木板材缺陷检测识别系统

界面实木板材检测系统能实现图像采集、图像处理、查询等功能。图像采集包括图像信息输入、图像采集、图像特征提取和图像存储功能;图像处理包括缺陷、纹理、颜色识别,主要研究实木板材缺陷检测识别;查询包括按图像编号查询、按材料类型查询和按规格查询。图像信息输入界面,可以记录采集图像的日期,实木板材种类及规格。实木板材图像处理界面,点击采集图像按钮,就可以显示实木板材图像,进而可以对采集到的图像进行预处理和特征提取。图8是实木板材缺陷位置检测识别界面,点击开始运行按钮,系统将会对特征提取后的实木板材缺陷图像进行检测识别,表面检测后的图像会显示在界面中,表面缺陷的位置信息也会实时显示,以便之后对缺陷进行剔除。实木板材缺陷位置检测系统共处理了12000张缺陷图像,其中一张缺陷图像运行结果如图8所示:该实木板材图像机器学习识别到6个缺陷并做出标志,缺陷位置信息也已经显示,人工识别该实木板材图像也有6个缺陷,故而对该实木板材图像的缺陷能做到准确识别。该系统处理并检测识别一张缺陷图片的时间是3s,对实木板材节子缺陷检测正确率是98%,对实木板材孔洞缺陷检测正确率是95%。

结 论

我国人口数量众多,森林资源匮乏,人均占有量偏少,木材的利用率远低于发达国家,木材缺陷分类识别还不能完全做到机器化,仍有人工检测方法的存在,识别率低。针对该问题,本研究采用深度学习方法对实木板材缺陷进行研究,利用ResnetV2结构对采集到的节子、孔洞等实木板材缺陷图像进行特征提取,应用基于快速深度神经网络的实木板材缺陷识别模型对提取到的缺陷特征进行训练学习,最后使用tensorflow 作为实验平台构建了Faster R-CNN检测框架对节子、孔洞等实木板材缺陷进行预测仿真。本算法具体采用了2000 张杉木缺陷图像,通过旋转30°,60°,90°,120°,150°和180°对原始图像进行数据扩充,扩充后图像的80%作为训练集,20%作为验证集来进行仿真,结果表明:对实木板材节子缺陷检测正确率是98%,对实木板材孔洞缺陷检测正确率是95%,验证算法应用在实木板材缺陷检测方面的有效性。笔者构建实木板材缺陷检测系统界面,该系统能实现图像采集、图像处理、特征提取和分类识别等功能,对每张杉木缺陷图像有效地进行分类识别并能将结果保存到数据库以便后期查询。

责任编辑:lq

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分