基于深度学习的物流货柜自动识别模型研究

2022-05-27 07:51朱应莉
自动化与仪表 2022年5期
关键词:卷积运算神经网络

朱应莉

(西安交通工程学院 交通运输学院,西安710000)

图像目标识别属于一种图像处理技术,通过实现对图像中目标的分类和辨识,从而可进行对目标的选定和定位。随着深度学习算法在目标检测识别中的应用,人脸面部识别、自动驾驶、工业机器人等领域得到快速发展。传统目标图像识别技术多采用“人工设计特征+分类器”的运行模式,通过对目标局部特征的提取,同时利用向量机分类实现对目标的分类识别[1-2]。人为设计的目标特征易受到外界光照、角度等因素的影响,从而降低了识别的准确性和鲁棒性。而深度学习技术可对目标特征进行训练和自动提取,从而有利于提高检测识别模型的鲁棒性和自适应性。深度卷积神经网络(deep convolutional neural network,DCNN)主要是利用有监督的大规模数据训练对检测识别性能进行提升,通过对深度卷积神经网络进行大批量的数据标注,通过大量的训练使得神经网络参数收敛至最优值。物流仓库中的货柜识别是实现物流货物无人自动分流和装配需要解决的关键性技术之一[3-6]。本文针对货柜识别问题,将DenseNet 卷积神经网络与单次多箱检测(single shot multiBox detector,SSD)网络相结合,将SSD 网络中的基础网络替换为DenseNet 中的Block 模块,从而利用深度卷积神经网络的自学习特性,提升货柜识别的准确率和识别速率。

1 卷积神经网络模型

卷积神经网络属于一种人工神经网络,其将卷积运算应用于网络架构中能够很好地适应图像视觉运算。卷积神经网络的基本框架主要包括4 个部分:卷积运算、激活函数、池化和退化操作[7]。

本文中的卷积运算针对的对象主要是二维图像,将图像的数据矩阵作为输入矩阵,将其与二维卷积核进行卷积运算,卷积运算矩阵可表示为

式中:S(i,j)表示卷积运算结果;I表示图像矩阵;K表示卷积核矩阵;i和j分别表示图像数据的横纵坐标;m和n分别表示卷积核的横纵坐标。

图像进行卷积运算后输出的卷积结果,其特征图尺寸运算公式为

式中:W表示特征图像的宽度和高度尺寸值;F表示卷积核的维度值;P表示原始图像的四周需要补零的行数目;S表示卷积核进行卷积运算时移动的单次步幅。

二维卷积运算的流程示意图如图1所示,首先在图像的左上角取与卷积核相同大小的子域,然后将子域逐步滑动至图像右下角,在滑动过程中将子域中的数值与卷积核相对应的元素进行乘积运算,并将运算结果叠加至输出结果相对应的元素[8]。

图1 二维卷积运算流程示意图Fig.1 Schematic diagram of two-dimensional convolution operation flow

激活函数以卷积结果s作为输入量,主要是利用其非线性特性,提高卷积网络的非线性表征特性,常用的激活函数包括Sigmoid 函数、Tanh 函数、Relu函数等。其中,Sigmoid 函数将输入映射到[0,1]之间,并保持输出结果的导数不大于0.25,但对于多层神经网络,随着网络层的增加其梯度值会变小,甚至接近零,使得神经网络无法进行反向传播,抑制网络无法收敛至最优参数。Tanh 函数为双曲正切函数,其输出的平均值为零,与Sigmoid 函数相比具有一定的优势,但当输入函数的绝对值偏大时,其同样会出现梯度值偏小的问题,不利于网络的反向传播。Relu 函数具有结构简单、收敛速度快的特点,近年得到广泛关注和应用,本文选用Relu 函数作为激活函数。

池化操作的主要目的是减小下一层网络的输入量尺寸,从而降低运算量和参数数目,从而提升网络的适应性和鲁棒性。常用的池化操作包括平均值池化和最大值池化,近年研究表明,相比于平均值池化操作,最大值池化操作可有利于提升网络鲁棒性。本文选用最大值池化操作,最大值池化操作示意图如图2所示。

图2 最大值池化操作示意图Fig.2 Schematic diagram of maximum pooling operation

退化操作主要是指在进行卷积神经网络训练过程中,按照一定的概率对隐含层中的部分节点进行随机剔除,退化操作过程如图3所示。由于在神经网络训练过程中部分神经元不参与计算,按照一定的概率将其淘汰,本文中的隐含层节点被淘汰的概率设定为0.2,退化操作的随机淘汰可以使得每次进行训练的卷积神经网络模型互不相同,经过大批量的样本训练,可将最终训练出的模型看作是卷积神经网络的平均模型。通过退化操作,可以防止卷积神经网络发生过拟合,使得神经网络具备更高的泛化能力,尤其适应于深层卷积神经网络。

图3 退化操作过程Fig.3 Degraded operation process

2 基于DenseNet 与SSD的改进型网络模型

DenseNet 网络属于常用卷积神经网络之一[9],其以Block 模块为核心,相比于其它卷积神经网络,具有更强的梯度信息传播能力。Block 模块的特点是网络层之间采用跳跃式的关联方式,每层网络的卷积结果不仅仅输入值下一层,同时会与下面的每层均建立输入关系。利用这种信息传播结构可很好地提高网络的梯度信息传播强度,可使得神经网络具有更快的收敛速度和更多的网络层数,同时有利于信息的传递,降低信息的丢失率,Block 模块信息传播连接图如图4所示。图中实线方块代表Block模块的输入,虚线方块表示上一层卷积运算获得的特征图。由此可知,第l层获得的特征图为前面所有特征图关联之后的卷积结果,第l层特征图表达式为

图4 Block 模块信息传播连接图Fig.4 Block module information dissemination connection diagram

式中:⊕代表特征图之间的关联运算符号。

目标检测方法可主要分为两大类,一类为基于分类框架的目标检测方法,另一种为基于回归框架的目标检测方法。其中,SSD 属于一种回归框架的目标检测方法,其将VGG16 卷积神经网络作为主体结构,并将其中的两个全连接层改为了卷积层,同时增加了8 个卷积层。本文将原SSD 网络中的Conv10_2层及其池化层的特征图去除,并将DenseNet 网络融入SSD 网络中,将VGG16 之后的全连接层去除,改为DenseNet 网络中的Block1、Block2、Block3 和Block4模块,基于DenseNet 与SSD 网络的改进目标检测算法如图5所示[10-11]。

图5 基于DenseNet 与SSD 网络的改进目标检测算法Fig.5 Improved target detection algorithm based on densenet and SSD network

添加的4 个Block 模块参数如表1所示。相比于Overfeat、YOLO 等算法采用单一尺度的特征图,4个Block 模块可以获得4 种不同尺度的特征图,从而对目标物体的边界位置和置信度进行评价。利用多种尺度的特征图进行目标检测可提升检测过程中的尺度不变性,从而不再需要要求输入图片具备不同的尺度大小。

表1 4 个Block 模块参数Tab.1 Parameters of four block modules

在进行目标函数训练时,选用的训练目标损失函数为

式中:N表示边界框的数目;Lconf表示Smooth 位置损失函数;Lloc表示Softmax 置信度损失函数;α 表示加权系数;x表示前向特征图;c表示输入的通道数目;l表示卷积的层数。

3 实验结果

为验证本文改进目标识别算法的有效性,选取5000 张物流仓库的货柜图片作为测试对象。利用labelImg 标注软件对图片中的检测目标进行标记,并将标注的目标货柜转换为可扩展标记语言XML文件。完成所有图片标注后,将图片集随机平均分为2 组,一组为训练集合,另一组为测试集合。

在进行网络模型训练和测试前,对图像进行数据预处理操作,主要包括数据集合的随机化和均值化处理。由于神经网络采用随机梯度下降法对网络参数进行更新,对图像进行随机化处理有利于梯度进行随机性下降,以加快网络收敛速度,降低训练消耗的时间。均值化处理主要是指统计训练集图像数据的平均值,然后将训练集的图像减去均值后再输入至神经网络,同样有利于提升训练速度。

在进行神经网络参数训练的过程中,学习率对模型训练影响非常关键。若学习率设定过大,训练的速度会加快,但容易发生超调振荡,不利于训练结果收敛至最优值。若学习率设定过小,导致训练时间过长,同样不利于训练结果收敛至最优值。本文对学习率采用动态调整的控制策略,在训练初期采用较大的学习率,从而加快网络的初始训练速度,在训练中期逐步降低学习率,直至网络参数接近最优值,同时也将学习率降至最小值。具体可将学习率设置为3 个阶段:①初始段(即迭代次数在1万次内),取学习率值为0.01;②中间段(即迭代次数在1 万~3 万次之间),取学习率值为0.001;③结束段(即迭代次数在3 万~5 万次之间),取学习率值为0.0001。

本文提出的改进型深度卷积神经网络的训练过程如图6所示,横坐标表示迭代次数,左侧的纵坐标表示训练过程中发生的对数损失值,右侧纵坐标表示训练过程中检测的平均准确率(mean average precision,MAP)。由训练过程图可以看出,本文训练模型的平均准确率最终收敛至71.5%左右。为了对比不同算法的目标识别准确率,以相同条件测试YOLO 和SSD 算法,平均识别率统计结果如表2所示。

图6 改进型深度卷积神经网络的训练过程Fig.6 Training process of improved deep convolution neural network

表2 三种算法平均识别率统计结果Tab.2 Statistical results of average recognition rate ofthree algorithms

由三种算法的对比数据可知,通过DenseNet 网络与SSD 网络的结合,相比于其它两种算法,本文改进型算法的目标识别准确率具有明显的提升,且能够具备更快的测试帧频,验证了该改进算法具有更快的运算效率和准确性。

4 结语

本文将深度卷积神经网络与目标检测算法相结合,提出了一种基于深度学习的改进型目标检测方法,将其应用于物流货柜的自动检测识别。利用采集的货柜图像对模型进行训练,与YOLO 和SSD算法进行检测准确率和速率对比,实验结果表明,相比起另外两种算法,本文改进算法的平均检测准确率和检测速率均得到明显提升,验证了该改进算法的有效性。

猜你喜欢
卷积运算神经网络
基于递归模糊神经网络的风电平滑控制策略
重视运算与推理,解决数列求和题
基于3D-Winograd的快速卷积算法设计及FPGA实现
有趣的运算
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于神经网络的中小学生情感分析
基于傅里叶域卷积表示的目标跟踪算法
基于Q-Learning算法和神经网络的飞艇控制