APP下载

基于深度学习的人造板表面缺陷检测研究∗

2021-03-11魏智锋肖书浩蒋国璋伍世虔程国飞

林产工业 2021年2期
关键词:人造板卷积精度

魏智锋 肖书浩 蒋国璋 伍世虔 程国飞

(1.武汉科技大学机械自动化学院冶金装备及其控制教育部重点实验室,湖北 武汉 430081; 2.武昌首义学院机械与自动化学院,湖北 武汉 430068; 3.中山火炬职业技术学院,广东 中山 528436)

人造板表面质量的好坏,直接影响后续产品的制造质量。但在生产过程中,不可避免地会产生一些缺陷。这些缺陷会严重影响产品质量,给企业造成经济损失。因此对人造板进行缺陷检测极为重要。目前大多采用人工检测方法,而人造板连续压机生产线高速运行,板材流通量大,人工检测工作强度大,易产生错检、漏检,检测率低。因此,亟需提供一套检测方法,以满足人造板表面缺陷检测实时性、高精度要求[1-3]。

目前已有一些基于经典视觉数据的检测方法,如基于剪枝决策树的人造板表面缺陷识别方法[4]、基于区域筛选分割和随机森林的人造板缺陷识别方法[5]、人造板表面缺陷检测图像自适应快速阈值分割算法[6]、基于灰度共生矩阵和分层聚类的人造板表面图像缺陷提取方法[7]和人造板在线同步图像采集系统设计与实现[8]。这些方法均需手工选取人造板表面某些关键参数或制作特征,存在泛化能力不高、特征层次较浅的缺点。深度学习[9]特别是卷积神经网络具有特征层次深、检测准确率高、鲁棒性好等优点,已被逐步应用到各领域的目标检测中[10]。基于深度学习的目标检测模型主要分为两类:一类是基于区域建议方法的R-CNN模型[11]、Fast R-CNN模型[12]和Faster R-CNN模型[13]等;另一类是基于回归方法的SSD[14]以及YOLO模型等[15]。SSD模型是检测精度相对较高的网络结构,运行速度快,且能做到实时检测。

本文提出一种基于改进的SSD深度学习模型的人造板表面缺陷分类检测方法,利用该模型可达到同时进行多类多个缺陷检测的目的,为人造板表面缺陷的实时检测提供技术支持。

1 材料与方法

1.1 数据采集及分类

试验所用的人造板样本均来自韶关工厂,所用人造板表面缺陷图像训练数据均为试验中采集的数据。缺陷图像是在自然光照条件下,在改装的人造板检测带上采取俯视视角拍摄而得,其图像分辨率为300×300像素。缺陷图像包含5 种,分别为粗刨花、胶斑、砂痕、水印和杂物缺陷。图1 为在实验室中搭建的人造板缺陷检测系统。

图1 人造板缺陷检测系统Fig.1 Wood-based panels defect detection system

1.2 数据集生成及预处理

本文使用Labellmg对图像样本进行标定。为了提高训练效果,使模型的泛化性能得到提升,对数据集使用数据增强方法。鉴于更换不同方向和角度都不会改变图像样本特征,本文使用水平翻转与垂直翻转2 种数据增强方法。在标注过程中总共对3 216 张图片中的4 956 个目标对象进行标注,并将所有图片按照VOC2007数据格式进行批量重命名,统一设置为jpg格式。在训练和测试之前,首先将3 216 张包含各类缺陷的图像归一化处理为300×300×3(300×300 表示图像分辨率,3 表示有RGB 3 个颜色通道)尺寸。部分图像如图2 所示,具体的数据集制作流程如图3 所示。

图2 部分采集图像Fig.2 Partially acquired image

图3 数据集制作流程Fig.3 Data set production process

为了生成测试数据集,从带注释的图像数据集中选取20%的图像作为测试集。测试集包含需检测的所有5 种缺陷图像,且每种缺陷类型的图像数量大致相同。对标记完的图片进行微调,将图片信息和xml格式的文件分别保存并分成训练集和测试集。人造板表面缺陷图像测试集、训练集的数量如表1 所示。

表1 训练集和测试集的数量Tab.1 Number of training sets and test sets

1.3 试验平台

本试验基于64 位windows10 操作系统: GPU型号为11GB GPU GeForce GTX 1080Ti,CPU型号为Core i7-7700k @ 4.2 GHz CPU,内存为32 GB DDR4。软硬件平台通过python语言搭建,采用基于PyTorch深度学习框架,并使用CUDA 8.0 版本的计算框架。

2 人造板表面缺陷分类检测与模型评价指标

SSD方法的原理是基于一个前向卷积网络,生成一组固定大小的包围盒和盒子中的大量对象类实例,然后通过非最大抑制步骤生成最终检测。使用VGG作为基础网络,整体架构如图4 所示。

图4 SSD框架Fig.4 Architecture of SSD

2.1 MobileNet-SSD人造板表面缺陷检测

MobileNet网络是为在有限硬件条件下提高深度学习的实时性能而开发[16]。该网络可以在不牺牲精度的前提下减少参数个数。本文采用该轻量级网络代替SSD中的VGGNet作为基础卷积神经网络。

图5 显示了MobileNet的基本卷积结构。Conv_Dw_Pw是一个深度可分离的卷积结构。它由深层卷积层(Depthwise Layer,Dw)和点卷积层(Pointwise layer,Pw)组成。Dw使用3×3 卷积核的深层卷积层,而Pw使用1×1 卷积核的普通卷积层。每一个卷积结果都由批量归一化(Batch Normalization, BN)算法[15]和激活函数校正线性单元(ReLU)处理。BN算法通过设置两个学习参数来调整数据分布,避免了梯度消失和复杂参数(如学习率和Dropout比例等)的设定。

图5 MobileNet的基本卷积结构Fig.5 MobileNet's basic convolution structure

MobileNet卷积的计算式为:

标准卷积的计算式为:

为满足工业生产的速度要求,本文将二者结合起来,提高了SSD的计算速度。根据计算代价,MobileNet只需要视觉几何组16(VGG-16)的1/33 的参数就可以达到相同的分类精度。在训练过程中,每一层都存在一个批范数和ReLU非线性,提高了网络的收敛速度和提取特征的稳定性。另外,加入ReLU非线性,提高了特征映射在拟合结束后的表现能力。由于节省了卷积运算,SSD的速度提高了约1.3 倍,精度损失仅为0.1%,使得网络对实时缺陷检测的响应更加灵敏[19]。

2.2 Inception网络

GoogLeNet中使用的一个特殊结构叫Inception,是一种在ImageNet 2014 年大型视觉识别挑战(ILSVRC14)中设置分类和检测的最新技术。该体系结构的主要特点是提高了网络内部计算资源的利用率。它允许增加网络的深度和宽度,同时保持计算预算不变。本文网络的初始状态如图6 所示。输入有4 个分支,分别与不同大小的滤波器进行卷积或合用,最后在特征维上缝合在一起。这样在多个尺度上同时进行卷积,可以提取出不同尺度的特征。更多的特征丰富度意味着最终分类判断更为准确。在3×3 和5×5 卷积之前,使用1×1 卷积计算缩减[20]。

图6 网络中的InceptionFig.6 Inception in the network

SSD网络将来自多个分辨率不同的功能图预测结合起来,处理不同大小的对象。每个添加的特征层(或者来自基础网络的现有特征层)可以使用一组卷积滤波器,产生一组固定的检测预测。为提高网络速度,本研究用一组可分离的深度层代替了基本网络,但是这种结构为了节省计算量牺牲了特征提取能力。对于工厂实际生产来说,检测速度和检测精度同等重要,因此可以选择利用Inception替换来自基础网络的现有特征层,以在精度和速度之间保持平衡。

早期网络是基于MobileNet和Inception中用于高质量图像分类的可分离深度卷积,称为基础网络。本文将SSD中的基础网络构造为3×3 的可分离卷积和初始。基本网络由MobileNet的前13 层组成,并用Inception替换Conv_ds_。这些层的大小逐渐减小,可用于多尺度预测。每个添加的特征层(或者来自基础网络的现有特征层)可以使用一组3×3 卷积滤波器产生一组固定的检测预测[21]。在基础网络的端部增加5 个卷积特征层。该网络将来自多个分辨率不同的特征映射的预测结合起来,以自然地处理不同大小的对象。整体网络模型如图7 所示。

图7 整体网络模型Fig.7 Overall network model

2.3 评价指标

目前通常用平均精度均值(mAP)衡量检测算法的精度,将平均精度(AP)作为每一类别的检测精度的评价指标。mAP、AP与准确率(precision , P)、召回率(recall, R)有关[22],计算公式如下:

式中,TP代表正类,即被模型预测为正的正样本数量;FP代表被错误划分到正样本的数量,FN代表被错误划分到负样本的数量。

对于目标检测每个类别都可以得到一条查准率-召回率(P-R)曲线,曲线下的面积就是平均精度AP值,其积分公式为:

将所有类别的AP值求平均,即为mAP值,其公式为:

式中,M代表类别总数,AP(k)代表第k类的AP值。

速度评估指标采用模型检测一幅图所耗费的平均时间,即平均检测时间,单位为ms。

3 模型训练过程

根据调参策略,对在ImageNet上预训练的模型参数进行微调。在模型训练过程中,优化器使用SGD(stochastic gradient descent)算法,初始学习率(learning rate)设置为0.001,动量(momentum)设置为0.9,权重衰减(weight decay)为0.000 5,batch_size设置为32。新增的卷积网络使用xavier方式初始化。设置迭代次数为80 000 次,正样本阈值为0.4。

图8 训练损失函数曲线 Fig.8 Training loss function curve

模型训练过程为:从VOC2007 数据集中选取训练集和测试集。对本文SSD-MobileNet模型应用上面选取的5 类目标数据进行检测,通过训练调参,多轮迭代得到最优结果。训练过程损失函数变化如图8 所示,随着迭代次数epoch增加,损失函数值Loss逐渐下降。在迭代次数达到15 000 次时,Loss值基本趋于稳定。

4 结果与分析

在相同的训练集和测试集条件下,对本文模型和现有SSD以及其他再训练模型的检测结果进行比较。用图片传输速率(FPS)衡量现有硬件条件下不同模型处理数据的速度。

图9 模型的部分检测结果Fig.9 Partial test results of the model

模型的部分检测结果如图9 所示,其中边框区域表示检测缺陷的位置,并标出了该缺陷的类型及其对应的概率值。

用训练好的模型对新拍摄的197 张处理后尺寸为300×300 像素的照片进行测试,具体测试结果如表2所示。该模型比初始SSD网络模型在单个分类检测上的AP高出2.93%~7.14%,mAP高出4.32%,检测速度高出约1.2 倍。

表2 改进网络模型检测结果对比Tab.2 Improved comparison of network model test results

如表3 所示,采用3 种不同的特征提取网络ResNet18[23]、 VoVNet39[24]、ESPNetV2[25]与本文的网络模型进行分类效果对比试验。根据评价模型的准确性与鲁棒性可知,本文网络模型的mAP相较其他特征提取网络要高出2.25%~3.52%,更为精准;且在检测速度上明显高于VoVNet39 和ESPNetV2,比ResNet18 高出2 帧/s。说明本文网络模型在实时检测的精度和速度上都有明显的优势。

表3 4 种特征提取网络检测效果对比Tab. 3 Comparison of four kinds of feature extraction network detection effects

5 结论

本文提出一种基于Inception的MobileNet-SSD人造板表面缺陷检测方法。使用附加到多个特征映射的Inception以提高网络区分不同缺陷的能力。经过对建立的表面缺陷数据集的训练,可实现人造板表面粗刨花、水印、砂痕、杂物、胶斑缺陷的分类检测。本文网络模型的mAP达到93.76%,检测速度为75帧/s。通过与其他3种特征提取网络进行对比可知,检测模型效果较为理想,可为人造板表面缺陷的实时检测提供参考方案。

猜你喜欢

人造板卷积精度
基于不同快速星历的GAMIT解算精度分析
二苯碳酰二肼法检测人造板饰面材料用胶粘剂中六价铬的研究
热连轧机组粗轧机精度控制
人造板检验技术常见问题分析
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
《中国人造板发展史》新书发布会在京召开
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
以工匠精神凸显“中国精度”