基于深度学习算法的车辆视觉检测方法的研究
2019-03-28董长青刘永贤
董长青,刘永贤,赵 甲,胡 葳,赵 涛
(1.天津大学 管理与经济学部,天津 300072;2.中国汽车技术研究中心有限公司,天津 300300;3.工业和信息化部装备工业发展中心,北京 100846;4.天津卡达克数据有限公司,天津 300300)
0 引言
近年来,我国汽车制造业蓬勃发展,2017年中国汽车的产销量均超过2800万。然而,根据国家质检总局公布数据,截至2017年12月28日,国内车辆生产企业总计执行了251次汽车召回行为,涉及到的车辆达2004.8万辆(国内生产汽车占91%),增幅高达77%。汽车行业所存在的质量问题,不容小觑。在实际调研过程中,发现因为车辆外观问题引起的纠纷层出不穷。
针对企业这一痛点,本文着重围绕车辆外观质量检测方案进行研究,将深度学习技术应用于车辆外观质量检测过程中,通过神经网络识别车辆制造过程中产出的表面划痕、凹陷等外观问题。本文旨在帮助企业解决实际生产中的迫切问题,同时探索前沿技术在汽车实际生产中的应用,提升汽车行业外观质量检测自动化、智能化水平。
1 深度学习算法研究
随着科技发展,近年来用于车辆外观检测的方式越来越多,最常应用的有模板匹配[1,2]、支持向量机[3]以及机器视觉[4]等。然而因为数据采集的多元化和计算程序的繁杂性致使大多数检测方法均没有得到理想的检测效果。当前逐渐兴起的深度学习方式,本质上为更大范围的多层次人工神经网络模式,来逼近某个函数或展现某种逻辑策略,表现出强大的深层抽象与整体优化计算的效果。Hinton提议对BP(Back Propagation)算法[5]进行完善,并实施了超过七层的深度神经网络训练,至此深度学习逐渐兴起,同时对认知智能的探究也朝着纵深领域发展起来。2015年,郭联金等人[6]提出利用人工神经网络的分类器,以实现对钢板表面缺陷进行实时有效的分类辨识。这种方式在辨识准确率、训练速度、追加样本等领域的整体性能与常规的检测方式相比显著升高;2017年,崔炽标[7]等研究人员研究提出基于神经网络的塑件划痕检测方式,由此极大程度上提升了划痕检测工作的可操作性,并且为神经网络应用在车身划痕检测领域奠定了坚实的理论基础。
深度学习(Deep Learning)是由人工神经网络(Artificial Neural Network,ANN)发展而来的,其模型通常由多层的非线性运算单元组合而成。以较低层的输出作为更高一层的输入,以此结构来对海量训练数据实施自动化的分析并得到相关特点的抽象表达。与浅层网络相比较,包含多隐藏层的网络模型可以更完整的挖掘出数据特征。近几年,计算机硬件的发展日新月异,深度学习模型实现突飞猛进的发展[8]。
卷积神经网络相比于常见的多层感知机理模型,架构更丰富,网络层数也更多。卷积网络具体包含卷积层、激活层、池化层以及全连接层等。
其中,卷积层处于该网络的中心区域,发挥着提高网络非线性化水平的作用。具体的构成如图1所示,将图像(矩阵)和滤波矩阵(一组通过训练样本获得的权重矩阵)进行卷积(各个元素依次相乘,然后求和)处理的行为叫做卷积操作。如图1展示的为卷积层在具体运用中的流程图,首先lm-1层包含4个通道特征,作为卷积核,负责抓取特征,卷积开始后卷积核会在lm-1层上做卷积,并输出一个特征平面,输入到lm层。
图1 卷积层计算
激活层具有非线性映射的作用,由于卷积核相关的参数一般经过样本训练得到,所以会产生低于零的值,该情况和模拟人脑思维过程中神经元的兴奋性不一样,故而借助构建激活函数的形式实施模拟。
卷积神经网络中常见的激活函数有Sigmoid,tanh,ReLU以及Leky ReLU等ReLU函数的其他变种。
以上各公式为运用最广的激活函数,在神经网络兴起之初,一般运用Sigmoid当做激活函数,然而其不足之处在于输入的数值过大、过小都会致使梯度消失,Sigmoid的输出均值并不是零,并且进行指数计算需要较长的时间。对于tanh函数,即便其均值保持为0,也面临着与Sigmoid同样的问题。而ReLU激活函数表现出下降迅速,计算简便的优势,而这样将会出现激活函数消失的问题。而Leaky ReLU、P ReLU等函数有效的避免了上述问题。
池化层的作用为缩小特征图并确定强激活点。假如第1层为该层的输出特征图,且第l-1层是该层的输入特征图。那么对池化层计算方法为:
其中,down(·)为池化函数。
池化函数通常情况用来描述特征图的部分池化,通常细化成均值池化与极大值池化两类。前者一般将n×n像素块内全部的像素进行加和,然后计算均值,用作下一层相应的激活值;后者一般把n×n像素块内像素最高的值当做下一层相应的激活值。
此外还拥有被叫做Avg Pooling的全局平均池化层。基于全连接层参数数量非常大且易于过拟合,然而Avg Pooling为针对最后的特征图实施平均池化,也就是说每个特征图都对应一个特征输出,这个输出代表相关类别的特征。Avg Pooling不但能够最大程度上降低网络参数,并且能够计算空间信息的总和,所以表现出较高的稳定性。此外,存在一类独特的池化层是全局平均池化,主要用来替代全连接层,实施特征映射,同时获得比FC更佳的检测精度和更少的参数。
全连接层是卷积层的最后输出,全连接层是由BP神经网络组成的分类器构成,相当于把前期卷积得到的特征图转变成一维特征向量。假如将卷积层、池化层以及激活函数等的处理解释为把初始值映射至隐藏的特征空间,如此全连接层就是把学到的特征代表映射至样本标记空间。
全连接层之间的计算公式如下:
在以上表达式中,f是激活函数,Siin是输入向量的第i个特征值,Sjout是输出向量的第j个特征值,wij是输入节点i与输出节点j间的权值,m、n分别代表输入与输出向量的长度。
借鉴以上的神经网络研究成果,文中把神经网络运用在车辆生产环节的外观检测中。于传统的检测方式而言,车身划痕的检测一般是由操作人员依据经验和标准通过人为设定一系列的判定方法,而神经网络也可以较好地得到外观问题图像的深层特点,同时具有拟合一些非线性特征的能力。因此应用深度神经网络建立针对车身外观问题的检测模型,同时将模型应用于汽车生产环节,有利于降低人工消耗,提升检测的精准度,此外将此模型内嵌入生产检测系统中,增强汽车制造过程外观检测方法的适用性和实用性。
图2 实验环境设计图
2 实验环境搭建
由于本文算法应用场景的特殊性,研究中要求问题图像的数量达到数万张以上,而在汽车实际生产中外观问题发生的次数并没有这么高。为了保证研究成果的通用性和训练样本的多样性,硬件平台设计的合理性至关重要。
通过对汽车制造过程中各个生产环节的研究,依据实际的生产场景特点来抽离实验场景构建所需核心要素,包括灯光布置、生产节拍、物件位置等。针对性布置实验环境,使其可以同时满足各个具体工位上对不同拍摄角度位置的需求。其次确定实验所需硬件,对其核心部件的选型进行分析,对比不同工业摄像头型号的优劣,研究其布局,选择适合的光电开关等。
硬件主要包括深度学习服务器、工业摄像头、机器视觉光源、RFID读写器等设备,其中深度学习服务器和工业摄像头作为研究过程中的核心硬件,重点对典型硬件进行选型分析:
1)深度学习服务器,完成对样本图片的存储、处理、计算等工作。由于深度网络训练过程对样本图片数量的要求很大,为了满足计算要求,本文中选择了容天EVTOP AIX2950深度学习服务器,装有Intel i9 7960X处理器16核心32线程、4TB 7200转企业级SATA机械硬盘、两张NVIDIA Geforce Titan XP/1080T,性能满足研究过程中对处理器的要求;
2)工业摄像头,为了满足工业现场采集图像稳定高效的要求,与一般的摄像头对比,这种摄像头在分辨率、帧率以及对光线的要求等方面表现均需十分突出,工业摄像头中最重要的部分是CCD感光芯片。从本质上来说,CCD摄像头是一种半导体的成像器件。CCD摄像头具有灵敏度高、抗强光性、畸变小、寿命长、抗震动等其他种类的摄像头所不具备的优点,这些特点使得CCD摄像头适用于工业领域。CCD摄像头是整个视觉检测系统最重要的部件,本文中采用了MV-GE1400C 1400万像素工业摄像头。
如图3所示为针对车门局部划痕检测的模拟实验环境。
图3 模拟实验环境
3 算法训练与测试
3.1 图像预处理
由于汽车自身具备比较繁复的背景与纹理特征,同时在拍摄的过程中还会受到光照等方面的因素的影响,这样就会导致神经网络模型在对图像中车辆外观问题特征的提取精度受到制约,因此在把图像输入神经网络训练与检测前,应当对图片实施预处理;针对原始图像,预处理操作如下:第一,对它实施灰度映射操作,调节划痕与复杂背景彼此的对比度;第二,实施噪声滤除操作,防止工业摄像头在拍摄的过程中受到影响;第三,实施小波分解,以分离背景信息分量与问题区域信息分量;第四,二值化,以分离背景区域与问题区域。流程图如图4所示。
图4 图像预处理流程
3.2 神经网络模型搭建
经过预处理的图像,进行图形标记,包括问题位置、类型等信息,制作成训练集,由于本文检测目标的复杂性,对训练样本的数量也有更高的要求。在本文中,共采集并标记完成训练集3个,每个训练集含图像10000张。在标记过程中,对外观问题按照“划痕”、“凹陷”、“缺失”、“破损”等四类标签进行分类。不同问题在标记过程中对应不同标签。
本文以TensorFlow为网络模型框架,设计多层神经网络。在本文中,通过对R-FCN模型的改良,建立双通道卷积神经网络,最大的优势在于该网络模型可对多种目标同时进行识别定位。所以,此处首先介绍R-FCN网络。R-FCN模型为代季峰等人[9]对Faster R-CNN进行改良而获得的一类网络,两者最终获得结果的精准性相当,但R-FCN的运行效率远远超出Faster R-CNN。R-FCN网络严格来说属于全卷积神经网络的范畴,不但具备较快的运行速度,而且精准性较高,同时网络不会对输入图像的尺寸存在过多的约束。R-FCN的网络构成如图5所示,base Net是共同的特点提取模块,这里既可用VGG、也可用Res Net,也可使用其他网络。convs代表多个卷积层。3×3conv代表卷积核大小是3的卷积层。P代表借助RPN获得的前景框数目。Avg Pooling为全局平均池化,就像是目前一层的特征图维数是8×M×N,也就是存在8个M×N大小的特征图,通过Avg Pooling计算之后,获得8维向量。图5所显示的bbox为事前测得的P个框的位置,8代表前景与背景实施回归获得的位置框。Cls是P个框的类别,21内包括20个前景,1个背景。借助R-FCN模型能够在短时间内获得图像中问题的位置以及种类。如图为网络模型框架。
图5 网络结构图
3.3 网络模型训练与检测
综上所述,最终选择R-FCN网络作为本文的检测网络模型。运用google公司在Image Net 2012数据集中训练106次获得的模型inception-resnetV2网络恢复默认值,输入图像归一化为299×299,训练过程中运用初始化参数,batch_size是8,迭代31070次之后,网络收敛。
训练损失曲线如图6所示,能够看出其训练损失函数慢慢下降,同时达到稳定状态,所以选择最后一次存储的模型当作最终模型。
图6 训练损失图
完成训练后,我们使用训练集中20%的数据作为测试集对网络模型进行测试,最终网络在测试中的检测准确率96%。本文使用平均精确率均值MAP做为评价指标。在对三个测试集共2000张图片进行测试后,获得的识别结果中“划痕”的MAP为0.961,“凹陷”的MAP为0.959,“缺失”的MAP为0.965,“破损”的MAP为0.957。网络的检测效果良好,对外观问题的识别和分类都达到了生产要求。图7为检测效果图。
图7 检测效果图
4 结束语
与人工检测的传统方法相比,视觉检测在检测过程的稳定性、检测结果的准确性以及经济效益等方面具有明显的优势。视觉检测技术的应用将极大地提高车辆制造过程中外观检测工作的操作质量和效率,降低劳动强度。
本文将基于机器视觉技术的在线检测方式应用在复杂的汽车生产制造环节中。通过梳理现有汽车制造过程中的相关业务,总结不同制造环节对检测部位、拍摄角度、检测问题等的不同要求。针对这些不同的要求,通过搭建通用性实验平台的方式,使算法满足不同生产环节的不同检测需求,提高检测算法的通用性和普适性。
本文通过应用TensorFlow深度学习框架和R-FCN网络模型,区别于传统模式识别算法,提高了检测系统在实际生产中的鲁棒性,面对不同生产环境,不同在产车辆,系统都具有较好的适应性。该框架特有的轻量化网络结构设计会加快计算机的处理速度,使系统更好地配合生产节拍,同时该框架也满足了生产中对检测结果实时获取的要求。通过对工业大数据的应用,提升企业在车辆制造环节中对质量问题的追溯能力,使企业在问题发生后有据可查,有助于企业明确责任,避免部门纠纷,提高生产效率,助力整车生产企业向智能制造迈进。