基于3D卷积神经网络的装配动作识别

2019-09-05 08:34王天诺陈成军李东年
组合机床与自动化加工技术 2019年8期
关键词:准确率卷积神经网络

王天诺,陈成军,李东年,洪 军

(1.青岛理工大学 机械与汽车工程学院,山东 青岛 266000;2.西安交通大学 机械工程学院,西安 710049)

0 引言

近年来,人工智能技术飞速发展,并逐步向传统制造领域渗透以提高制造的智能化程度。利用机器视觉技术对装配过程进行监测,可以减少人力成本、提高装配效率、保证装配质量。尤其在大规模定制生产中,为了满足客户的多样性需求,工厂需要及时重组生产线生产不同产品。在这种多变的生产环境下,往往会因为工人遗忘操作步骤或操作不够规范,影响装配质量。因此,对工人的装配动作进行监测,防止装配流程缺少关键装配工艺步骤成为未来大批量定制生产任务亟待解决的问题之一。

现有的人体动作识别方法主要有基于特征提取的动作识别方法和基于深度学习的动作识别方法。传统基于特征提取的动作识别方法主要靠一些经典的人为设计特征来提取运动特征,再由分类器分类或进行模板匹配。如Bobick等[1]利用运动能量图对动作特征进行描述并与模板匹配分类;Weinland等[2]提出了运动历史图像算法用以识别基本的人类动作;Yang等[3]利用HOG特征描述人体特征并用SVM分类;Low[4]提出的具有尺度不变性的SIFT算法用来描述影像中局部性特征,在计算机视觉领域应用广泛;Chaudhry等[5]通过对HOOF时间序列进行分类来识别人类行为;Schuldt[6]提出时空兴趣点表示视频特征,并用SVM进行分类;Wang等[19]提出的IDT算法是目前识别效果较好的人工设计特征。人工设计特征数据预处理复杂,而深度学习模型具有自适应学习特征、数据预处理简单等优点。

目前基于深度学习的动作识别有着广泛的研究。Simonyan等[7]提出双流卷积神经网络,分别提取时间和空间特征并进行融合分类;Tran[8]提出的基于3D卷积[16]的C3D模型同时学习时空特征,该模型训练速度最快;Wang等[9]提出了TSN网络,结合了稀疏时间采样和视频级别的监督可以高效的学习特征。 Donahue[10]提出了按时间顺序提取的CNN特征作为LSTM网络输入的长时递归卷积神经网络。

在工业应用方面,Moutarde[11]提出的HMM算法研究了人机协作任务,使机器人能够预测人体动作并作出反应;Kim[12]提出的用于视觉的船体装配监控系统,实现了分割、识别和任务估计,以协作工作人员对装配过程进行管理;Waechter[13]研究了基于视觉的增强现实应用。Oh[14]采用隐马尔科夫模型实现机器人对人体上身的跟踪与识别。Tao[15]利用神经网络实现了基于IMU和SEMG信号的智能制造中工人活动识别。

当前对装配领域动作识别研究较少,且目前为止还没有公用的工业领域装配动作数据集可用于装配动作的识别研究。工业环境下的装配动作主要为上体动作,重复性较强,且通常使用相应装配工具。另外,工业领域的动作识别更加追求效率。传统的手工提取特征等方法由于预处理麻烦,不适合工业领域的应用。常见的几种深度学习模型如基于3D卷积的C3D模型[8]、基于LSTM的LRCN模型[10]和Two-Stream模型[7]在公开数据集UCF-101上的识别准确率相差不多,但在速度上C3D模型最快,达到了313fps/s,而Two-Stream模型为1.2fps/s。主要是由于C3D模型的预处理和网络结构较为简单。而Two-Steam模型由于需要提取光流因此速度不佳,LRCN模型由于RNN难以并行的特性,速度也比较慢。因此,3D卷积神经网络具有训练速度快、数据处理简单、识别准确率高等优点,更符合工业现场应用。因此,本文首先建立了装配动作数据集,并利用3D卷积神经网络对该数据集进行特征提取和分类,以识别装配动作。

1 装配动作识别研究流程

本研究流程主要分为装配动作数据集建立及预处理、3D卷积神经网络训练、结果分析三部分。具体步骤如图1所示。

图1 研究流程

1.1 装配动作数据集建立

装配动作数据集的建立:装配动作与生活中常见跑、跳、蹲等人体动作不同。装配动作主要为上体动作,重复性较强,且通常使用相应装配工具,很多装配动作相似但是所用工具不同。因此,对装配动作中装配工具的识别也会对神经网络识别装配动作起到一定的帮助作用。为了更多的保留工具信息,采用了RBG相机录制了包含锤、锯、喷、刷等9类常见装配动作视频,每类动作都由12个实验人员录制而成。为了保证动作的泛化特性,每个装配动作对应的工具都有两到三种,由实验人员自行选择。在录制视频时,只告诉了实验人员需要做哪些装配动作,具体每个动作怎么做由实验人员按照自己的理解来做。

视频剪辑:为了扩充数据集,将每个人的每个装配动作裁剪成了3段左右视频,每段视频3~5s,视频帧率为25帧/s。经剪辑后建立了包括307段数据样本的装配动作数据集。剪辑后的视频按照动作分类存放在9个文件夹中,形成装配动作分类标签,每一个动作分类都包含12个实验人员的共计35段左右视频数据样本。

数据预处理:每一个视频样本每秒提取出10帧图像,并保存在一个子目录下。训练时将从每个子目录下抽取16帧图像作为一个样本。每个分类文件夹下包含35个左右的子文件夹。以文件夹为单位,将整个数据集随机抽取四分之三作为训练集,训练集中的20%作为验证集,另外的四分之一作为测试集。图2为部分视频样本提取的图像帧。

图2 部分数据样本

1.2 3D卷积神经网络结构

3D卷积神经网络增加了时间维度,可以更好的处理时间信息。并且3D卷积神经网络的卷积核、卷积层和池化层的输入输出都是3D结构。本文将连续的视频帧形成的3D数据结构传入3D卷积神经网络网络进行训练,将卷积层提取的特征传给softmax函数进行分类。整个3D卷积神经网络的训练流程如图3所示。

图3 训练流程

3D卷积层:每一个卷积层都是利用卷积核对输入或前一层的特征图提取特征并添加偏置项,然后再经非线性ReLu激活函数[17]进行激活得到。假设输入3D卷积层的数据大小为a1×a2×a3,channel数为c,3D卷积核大小为f×f×f,即卷积核维度为f×f×f×c。若3D卷积核个数为n,则经过卷积操作后得的到输出N为:

N=(a1-f+1)×(a2-f+1)×(a3-f+1)×n

(1)

3D池化层:池化层又叫下采样层,常见的两种池化方式为最大池化和均值池化。这里采取最大池化。池化层可以有效的减少特征数量,降低计算量,同时还可以保留局部特征。卷积层为池化层的输入。最大池化操作就是取卷积立方体局部最大值,随后得到更加抽象的输出。

全连接层:在全连接层为了防止过拟合,采取dropout进行处理,随机隐藏一部分节点。并引入L2正则化操作。L2正则化公式如下:

(2)

输出层:第二个全连接层连接了Softmax函数进行输出分类。Softmax函数主要用于处理多分类问题,可将输出映射成(0~1)中的值,用来表示每个类别的概率值,所有概率相加和为1。其定义函数如下:

(3)

其中,Vi表示每个输出分类的得分,C为总的分类个数。

2 实验及结果分析

本实验所用系统为Ubuntu18.04(64位)。显卡为NVIDIA Quadro M4000,CPU因特尔E5-2630。优化器选用Adam[18]。初始学习率为0.0001。

2.1 模型及深度分析

针对不同的识别任务选取合适的网络模型才能取得良好的效果。且对于同一个模型,不同的网络深度、不同的层级结构都会对训练速度及训练精度造成影响。本文控制其它变量不变,在建立的数据集上分别对比了含有4~8个卷积层的网络结构的训练集准确率、验证集准确率以及测试集准确率。对比结果如图4所示。

图4 网络深度对比

实验结果表明,在其它条件相同的情况下。含4个和5个卷积层的3D卷积神经网络在验证集和测试集上表现的并不好,出现了欠拟合现象。而在含有7个和8个卷积层深度的3D卷积神经网络上,验证集和测试集都与训练集的准确率有较大偏差,表现出了过拟合现象。而含6个卷积层深度的3D卷积神经网络模型取得了较好的效果,在测试集上达到了88.5%的准确率。因此,本研究的具体网络结构如表1所示。

表1 网络参数

网络的输入为从视频中抽取的16帧序列图像,每张图像的尺寸都被裁剪成112×112固定尺寸的3通道RGB图像。所有的卷积层均采用尺寸为[3,3,3]的3D卷积核[8]进行卷积操作,为了更好的保留图像信息,所有卷积核的步长均为[1,1,1]。从第一卷积层到第六卷积层分别有32、62、128、128、256、512个卷积核并得到相应数量的特征图。

2.2 动作识别结果分析

为了进一步研究本文模型对每一类装配动作的识别准确率,又利用本文设计的模型对每一类装配动作进行了测试,对比结果如下图所示:

图5 动作识别准确率

结果表明,本文构建的3D卷积神经网络模型,对大部分装配动作都达到了很好的识别率。所有动作的识别准确率进行简单的取平均值,为88.3%,符合本文在测试集上得到的准确率。再一次验证了模型的可信度。但是本文模型对锤这一类动作的识别准确率只有62.5%。分析发现,对锤这一动作识别率低主要原因是数据集的原因。由于实验人员所做的装配动作的持续时间不一致,对锤这一动作裁剪出的视频样本最少,只有30个视频样本。且部分数据样本中实验人员的手部动作超出了视频范围。基于这两点原因,使得神经网络不能很好的学习到锤这类动作的特征。由此可见,数据集的好坏对3D卷积神经网络的训练精度起到至关重要的作用。

3 结束语

本文研究了基于3D卷积神经网络的装配动作识别方法。从装配动作数据集的建立、网络模型的选取与训练、网络结构优化与调整几方面进行了实验研究。实验结果表明,本文对装配动作的研究有一定了鲁棒性。识别准确率达到了88.5%。本文成果对大批量定制生产中装配动作的识别监测和装配质量监测有一定的参考价值。

猜你喜欢
准确率卷积神经网络
基于递归模糊神经网络的风电平滑控制策略
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于神经网络的中小学生情感分析
高速公路车牌识别标识站准确率验证法