基于深度卷积神经网络的集装箱锁销识别研究

2019-09-04 09:02赵永新王西超
上海电机学院学报 2019年4期
关键词:池化正确率集装箱

邹 鲁, 赵永新, 王西超, 焦 斌

(1. 上海电机学院 电气学院, 上海 201306; 2. 上海振华重工(集团)股份有限公司 陆上重工设计研究院, 上海 200215)

集装箱锁销的自动拆装是行业内的世界性难题,而锁销是集装箱之间绑扎的重要工具。 集装箱的装船和卸船都必须要拆装锁销,传统的人工拆装已成为制约港口自动化的最大瓶颈,因此,通过减少人员来提升自动化程度势在必行。完成锁销拆装首先就需要对锁销进行识别,选择对应的夹具,使用机械人为载体进行拆装。

我国在自动化港口方向近10年来取得了明显进步。王伟等[1]认为集装箱装卸效率的提高在于各个环节;谢云等[2]介绍了中国港口第一个集装箱自动化无人堆场;杨瑞等[3]考察了国外全自动化码头的发展,重点在于工艺布局和装卸设备;陆拥军[4]针对上海港洋山深水港4期自动化码头加入视觉定位系统进行锁销自动化拆装研究,并且对比分析了单目和双目视觉系统。

近年来,深度学习的应用非常广泛,诸如图像目标识别、语音识别和自然语言处理等。其中,卷积神经网络(Convolutional Neural Network, CNN)应用最为广泛。欧阳颖卉等[5]将深度卷积神经网络(Deep Convolutional Neural Network, DCNN)应用在遥感图像舰船检测中,取得对舰船的精确定位;Hussain[6]将DCNN应用在水果自动识别系统中取得了不错的商业效果;傅建明等[7]利用CNN对Webshell文件进行检测;龚丁喜等[8]利用CNN对植物叶片进行分类,并验证得出CNN识别效果显著优于传统的叶片识别算法。

锁销较难识别,各锁销制造规格、开启方式均有不同,且使用过程中磨损程度不一,而DCNN通过对大量锁销进行训练,总结图像特征进行识别。本文通过将DCNN应用在锁销识别领域取得了高识别率。

1 DCNN

DCNN[9]是在神经网络的发展基础上演化而来的,神经元都含有偏置常量和网络权重。输入至神经元,经过计算后输出各类的分数,并根据分数来判断输出结果。DCNN可以将图片直接输入卷积神经网络中,任其自行总结和提取特征,从而提高效率。

1.1 传统的神经网络

人工神经网络(Artificial Neural Network, ANN)是许多单个单元连接在一起形成的网络结构,它是根据生物神经网路演化得到的,可以模拟生物神经系统对外界的反应[10]。目前,神经网络在复杂的非线性建模上运用广泛。

神经网络的结构包括输入层、输出层和隐含层,对于隐含层的层数并没有明确的规定,可以根据实际情况增减[11]。图1中的神经网络含有2层隐含层。

图1 传统的神经网络图解

神经网络的输入层和隐含层都含有若干神经元,称为节点,输入层的各节点连接隐含层的各节点,隐含层的节点连接输出层的节点[12]。对于有多层隐含层的网络,上一级隐含层的各节点连接下一层的每个节点。每个节点之间的连接权重不尽相同,因此,神经网络自身可以看到某种已有算法的逼近。

1.2 CNN

图2所示为CNN图解。图片可以作为CNN的输入[13],故神经元设计成3个维度:宽度,高度,深度。输入是原始图片的像素,例如大小为32×32×3像素的图片,输入神经元就包括32×32×3个维度。

图2 CNN图解

CNN具有多层结构,且输入和输出都是三维的[14],各层是否需要参数根据实际情况而定。 CNN通常包含卷积层、线性整流(Rectified Linear Units, ReLU)层、池化层和全连接层。其中每层卷积层都含有许多卷积单元,根据反向传播算法优化计算出参数,卷积运算就是要提取输入的不同特征,第1层卷积层提取完特征后,后一层在第1层的基础上继续提取特征,往往第1层提取的特征并不明显,卷积层层数越多则提取的特征越明显[15],其原理公式为

(1)

线性整流层中,激活函数ReLU来输出特征图,由于ReLU函数几乎是线性的,这使得只要是处于激活状态,其导数都能保持较大,小于0则没有输出,因此,这种线性模型更易于使用基于梯度的方法进行优化,同时也符合生物神经元单侧抑制和兴奋边界宽阔的特性,并且ReLU函数还具有稀疏表达能力。

卷积层之后会得到维度很大的特征,池化过程就是将特征切成几个区域,取最大值或平均值,从而得到新的、维度较小的特征[16],池化层也叫下采样层,是一种特殊的卷积层,一般有两种形式:极大池化和平均池化。池化的目的是对上一层特征图进行缩放映射以减少数据降维,提取的特征具有缩放不变性,同时还可以防止过拟合,原理公式为

(2)

式中:down()为降采样函数;β为网络乘性偏置。

全连接层中,结合所有局部特征形成全局特征,用来计算最后每一类的得分[17]。

2 实验与分析

2.1 图片来源

实验中的锁销均来自洋山4期自动化码头,洋山4期码头是国内最先进的全自动化码头,集装箱运送到港后都需要拆卸锁销。实际中锁销分为3大类,分别是边锁、中锁和舱内锁,其开锁方式不同。对于相同种类的锁销其开锁方式也会有所差别。本文选择了其中最具有代表性的26个锁销,根据其开锁原理总结归为16类。使用的相机信息为华为P10 PLUS手机,镜头为2 000万像素。

由于锁销在集装箱上的状态为一部分内嵌一部分外露,因此,采用了铰件的方式来模拟。如图3所示,锁销的下半部放入铰件中,露出的为上半部分,接触部分用普通A4纸覆盖。在此基础上对每个锁销拍照400张,力求获得锁销的360°姿态。

图3 锁销示意图

2.2 实验验证

对每个锁销的400张图片,其中300张作为训练集,剩余100张作为测试集。首先读取训练集图片大小为100×100×3像素的矩阵,然后经过3层卷积层和池化层提取特征矩阵,最后经过softmax分类器。

图4给出了CNN模型的迭代次数与正确率的关系图。由图可见,迭代开始后识别准确率立刻提升,但是整个模型在迭代过程中一直存在波动,约500次迭代后相对稳定但波动依旧明显且准确率未达到100%。

图4 CNN效果图

图5显示了DCNN模型的迭代次数与正确率的关系,迭代次数很低时正确率不发生变化,随着迭代次数的增加识别正确率显著增加,约500次迭代之后整个模型趋于稳定且识别正确率接近100%,相比而言DCNN模型的效果优于CNN模型,同时DCNN的高识别率也依靠大量的训练。

图5 DCNN效果图

训练完成后保存模型,用测试集来测试已保存的模型,记录分类正确的数量与错误的数量见表1。

表1 CNN和DCNN识别效果 %

CNN在识别各种锁销时均会出现不等误差,经计算其正确率稳定在89%左右,所以其测试集识别偏差较大,而DCNN只有在识别第10种与第14种锁销时有偏差,识别其他种类的锁销时非常准确。如表1所示,CNN对于第7、8、13、16种锁销识别准确率较高,而对其他的锁销的识别不是很理想,而对于第14种锁销两种方法的识别正确率都为各自的最低值,这很可能是锁销本身结构过于复杂或者人工拍照不全面所致。

3 结 语

针对集装箱锁销识别困难的问题,对锁销大量拍照建立训练集和测试集,并将DCNN引入到锁销识别领域,与CNN作对比后得出:DCNN在迭代次数很低时效果不如CNN,但随着迭代次数的增加DCNN在特征提取方面明显优于CNN,其识别效果和稳定性也更好。本文研究对于锁销自动化拆装和码头自动化建设具有重要意义。

猜你喜欢
池化正确率集装箱
基于高斯函数的池化算法
卷积神经网络中的自适应加权池化
门诊分诊服务态度与正确率对护患关系的影响
虚实之间——集装箱衍生出的空间折叠
基于卷积神经网络和池化算法的表情识别研究
用于手写汉字识别的文本分割方法
我家住在集装箱
生意
品管圈活动在提高介入手术安全核查正确率中的应用
生意