欢迎来到专业的优谦范文网平台! 工作总结 工作计划 心得体会 述职报告 思想汇报 事迹材料 疫情防控 共同富裕
当前位置:首页 > 范文大全 > 公文范文 > 正文

基于U-Net网络的柱面透镜视觉定位策略

时间:2023-08-23 17:35:07 来源:网友投稿

陈逢军 吕继阳 胡 天 梁小生

1.湖南大学机械与运载工程学院,长沙,410082 2.湖南艾凯瑞斯智能科技有限公司,长沙,410205 3.湖南戴斯光电有限公司,长沙,410600

柱面透镜在光学仪器[1]、红外成像、传感器[2]、全息系统[3-4]等领域具有广泛的应用,基于其精密的光学性能,能实现对光线的聚焦、成像、传输等能力,在众多行业起着至关重要的作用。柱面透镜多为光学玻璃材质,生产过程复杂,需要摆盘、抛光[5]等多道工序才能制造出符合标准的成品,对其尺寸公差、厚度公差、面形、偏心差等要求较高,通过整套加工工艺生产得到的产品良率往往较低。在所有工艺中,摆盘工艺对产品良率结果的影响较大,人工摆盘方法定位难以获得较好的成品良率且作业耗时较长,无法进行批量化生产。

国内外研究者围绕工业场景的工件视觉应用进行了大量的研究,并且在各领域已取得较大的进展和商业价值。工业场景中的缺陷检测[6-7]、表面测量[8]、交通运输[9]、航空航天[10]、工业自动化[11]等方面均有相应的学者针对特定对象做出了研究成果。CHEN等[12]通过建立图像金字塔进行分层搜索以提高图像的搜索速度,利用霍夫变换进行角度粗定位,利用相应角度的模板图像进行精定位,对半导体工件进行高精度定位以实现自动划片。

在透明件领域,由于其特殊的光学特性往往难以获得较为良好的视觉图像,需要设计相应的视觉系统以及合适的图像处理方法来对其进行定位及缺陷检测。邓捷等[13]提出一种基于灰度及几何特征的微晶玻璃气泡检测算法,能够有效地提取玻璃缺陷特征。ZHONG等[14]基于Blob分析方法对LED芯片进行模板匹配定位,该算法对光照具有一定的鲁棒性,对视野内的LED芯片可以达到较高的识别精度和效率。柱面透镜作为典型的透明件,其柱面定位安装要求高,在人工摆盘过程中难以精准进行定位和摆放。

近年来计算机视觉算法的研究得到了较快的发展,越来越多的深度学习算法[15]被应用于各类工业场景中[16-17]。深度学习算法具有优异的实时性[18]、适应性和高精度,在视觉定位和分类方面具有较大的优势,在图像分割进行工件定位方面也有着广泛的应用。U-Net[19]网络作为卷积神经网络的一种高效分割目标的网络模型,其图像分割能力强大而逐渐被应用于各种场景。李潇凡等[20]通过建立U-Net深度学习模型对大型浮藻类漂浮物数据进行特征提取,实现了端对端、像素对像素的分割识别。李连伟等[21]利用被动毫米波成像与可见光成像的优势互补,通过建立U-Net分割网络,提出了人体安检隐匿违禁物的高性能实时检测算法。鉴于U-Net网络优异的分割能力,可以对柱面透镜成像进行特征提取和融合以实现像素级精准定位。

因此,为提高柱面透镜摆盘工序的自动化程度,并实现对工件的识别与定位,进而提高柱面透镜的产品良率和批量化生产能力,本文设计了适用于柱面透镜摆盘工序的视觉定位策略。首先,使用模板匹配和Blob分析两种视觉算法作为前期定位方法采集多种产品型号的原图,利用高精度模板匹配定位数据生成的分割图像作为标注,通过U-Net网络对不同环境下的产品数据进行训练,提取柱面透镜的视觉定位图像特征,对产品摆盘过程中不同型号的产品在各种环境下的位置信息进行视觉定位。

柱面透镜的形状如图1a所示,其参数包括曲率R、高度H、母线长L、焦距F等,制造柱面透镜的材料包括光学玻璃、熔石英等,柱面透镜的实物如图1b所示,图中为光学玻璃材质的平凸柱面透镜。

柱面透镜的摆盘工艺流程如图1c所示,其工序可大致分为:喷漆、装盒、吸料、视觉定位、放料等。具体工艺过程为:对前序工艺生产的毛料进行柱面保护漆喷涂,将柱面覆盖保护漆的工件装进型号匹配的纳料盒中,Scara机器人对上料区纳料盒中的工件进行吸料操作后移至视觉单元进行取像定位,经过计算将工件移至工件型号对应摆放花型的机器人坐标点位,待到达指定点位后进行放料操作,放料动作结束后圆盘表面的熔融态蜡层会对工件进行固定,待所有工件放料结束后蜡层凝固并进行后续工艺。其中,吸嘴通过真空气流产生的负压吸附于柱面透镜平面侧,视觉定位需对凸面侧进行图像获取,最终将凸面侧放置在圆盘的蜡层上。工艺过程中最为关键的步骤是视觉定位,如果无法获取准确的工件位置信息,在摆盘放料时会发生摆放位置错乱或重叠的现象,导致工件在圆盘上的位置不均匀、不对称或出现工件损坏的情况发生,因此,摆盘过程中的视觉定位效果成为决定摆盘系统性能的关键影响因素,也是摆盘系统研究的重点所在。

2.1 数据描述

以某公司生产的多种型号柱面透镜为研究对象,研究数据来源于柱面透镜摆盘系统前期作业过程中保存的工件原图和位置信息。对于不同型号的柱面透镜,其曲率R、高度H、母线长L差异较大,工业相机成像效果不尽相同,如图2所示。在取像较好的情况下,图像主要由工件、吸嘴和其他干扰组成,工件边缘清晰,与背景对比度较大。但由于工业场景复杂,经常会有其他异常情况的存在,如边界模糊、吸料失败、异常光照、工件歪斜、内部条纹、取像异常、窄边工件等影响成像效果。对于成像效果较好的图像应以较为精准的图像处理算法对其进行高精度定位以作为正样本,对于成像效果较差但工件明显的图像应采用LabelMe软件标注的方式进行定位分割以提高数据集的鲁棒性,对于取像异常或吸料失败的图像应作为负样本以应对相应的实际异常情况。

图2 柱面透镜图像数据分析Fig.2 Cylindrical lens image data analysis

2.2 数据集生成

2.2.1构建思路

根据现场工业相机拍摄所得图片与传统图像处理方法进行比较分析可知,采用Blob分析和模板匹配方法能够较快完成算法的实现与部署。以上述两种算法对不同型号和各种环境下的工件图片进行原图保存操作,当图片数据量足以保证数据集训练和验证使用时,对Blob分析和模板匹配进行比较选取了定位更为精准的高精度模板匹配方法,获得工件中心在图像中的像素坐标X、Y,并得出工件的旋转角度θ,以及图像中工件的高度H、母线长L,生成背景为黑色、工件为白色的二值化掩膜,从而制作出柱面透镜数据集的原图和标注。之后进行图3所示的数据集清洗操作,对原图和标注进行减法操作,由于正常标注在“标注-原图”图片集中表现为仅存在图3b中所示的边缘误差,因此能够容易找出图3a中错误分割的标注,并在“原图-标注”对应图片进行检查,发现原图和标注中工件角度和位置差异较大,则在数据集中剔除后使用LabelMe软件进行标注并替换。对7843张“标注-原图”图片集进行检查发现,仅有7张为异常标注,错误率为0.08%,表明采用高精度模板匹配能够实现高精度、高鲁棒性标注,并且能够显著减小数据标注的工作量。

(a)异常标注

2.2.2Blob分析

Blob分析是对图像中相同像素的连通域进行划分,每个连通域为一个Blob,该算法能够将目标从背景中分离出来,还可以计算出Blob的数量,并根据各Blob的像素数量计算出目标的数量、位置、矩形度、圆形度、方向和大小。Blob分析的处理过程针对图像整体进行操作,与基于像素的算法相比处理速度显著提高。

Blob分析视觉定位流程如图4所示,首先对相机采集的原图进行亮度校正操作以区分工件与吸嘴等干扰信息,选择合适的阈值对图像进行分割得到二值化图像,采用面积筛选的方式去除所有其他非工件信息仅保留工件分割图像,将分割好的工件Blob进行坐标、角度等信息的输出保存。

图4 Blob分析视觉定位流程Fig.4 Blob analytics visual positioning process

2.2.3模板匹配

模板匹配是视觉定位中一种常用的处理方法,其目的在于在原图中寻找与模板图最为相似的部分。模板匹配可以分为基于灰度值和基于形状特征的模板匹配,其中基于灰度值的模板匹配无法对角度变化的工件进行有效定位,所以本研究采用基于形状特征的模板匹配方法,其流程如图5a所示,首先对相机图像进行滤波处理以减少噪声干扰,利用图像锐化使工件与背景边界分开,利用开操作形态学处理消除小物体,去除工件与吸嘴边界处的杂物干扰,对工件边缘进行平滑且不改变其面积,对处理后的图像进行高精度特征匹配以获取其坐标、角度等数据,通过脚本编辑后以通信的方式发送数据。基于特征的高精度模板匹配定位方法如图5b所示,首先在某一型号工件中成像效果较好的原图上进行模板的建立,由此获得其边界特征的模板数据,利用该模板数据对相同型号工件实际作业过程中的相机图像进行匹配定位,得到该工件的像素坐标、角度等数据。

(a)定位流程

2.3 U-Net卷积神经网络

2.3.1特征提取

U-Net网络模型结构如图6所示,其结构分为特征提取的下采样过程和特征融合的上采样过程,整体形状为“U”形。

图6 U-Net网络模型结构Fig.6 U-Net network model structure

特征提取阶段通过卷积核对输入图片的像素数据进行卷积操作,通过卷积层和最大池化层组合的方式实现特征提取,其中卷积过程如下:

(1)

U-Net卷积层的计算示意图见图7,卷积核与输入矩阵中相同大小的区域进行一对一相乘后求和得到输出值,并以设定步长值进行从左到右、从上到下的滑动直至完成整个输入矩阵的卷积计算得到所有输出值。在U-Net网络中没有对输入张量进行零填充,所以每进行一次卷积操作,输出矩阵的大小都会减少两位。

图7 U-Net卷积过程Fig.7 U-Net convolution process

U-Net网络中每进行一次卷积操作之后都会采用一个激活函数,如果不使用激活函数则神经网络的每层只做线性变换,多层叠加之后仍是线性变换,所以需要激活函数提高卷积操作之后模型对柱面透镜特征的提取能力。常见的非线性激活函数有sigmoid函数、tanh函数、修正线性单元(rectified linear unit,ReLU)等。在U-Net网络中则选用ReLU作为卷积层的激活函数,ReLU可以解决梯度消失的问题,并具有更快的收敛速度,计算速度更快,其表达式如下:

ReLU(x)=max(x,0)

(2)

最大池化层设置在每两层卷积层后,其目的在于进行下采样操作,对数据进行压缩操作且不会破坏数据特征,并提取柱面透镜的特征。U-Net的最大池化层的计算过程如图8所示,最大池化层的卷积核尺寸为2×2,步长为2。

图8 U-Net最大池化层Fig.8 U-Net maximum pooling layer

上述最大池化过程的表达式如下:

yij=max(xi,j,xi,j+1,xi+1,j,xi+1,j+1)

(3)

式中,y为输出值;
x为输入值。

2.3.2特征融合

特征融合阶段首先对下采样结束后最底部张量进行上采样操作,U-Net上采样过程如图9所示,通过在输入特征矩阵中完成最邻近插值后进行卷积,卷积后输出的特征矩阵将变大,因此图片尺寸将会变大。

图9 U-Net上采样层Fig.9 U-Net upsampling layer

上采样过程进行深层特征信息提取,在上采样的过程中柱面透镜的图片通道数将会减半。上采样操作结束后,需要进行拼接操作,将左边的浅层信息与右边的深层特征进行融合,但由于卷积层使得图像大小发生变化,因此在进行拼接操作之前需要对左边的图片进行剪裁至右边的大小后进行拼接,随后进行两次ReLU卷积操作。

2.3.3特征图生成

在所有上采样操作完成后会进行一次卷积核大小为1×1的卷积操作,该操作的目的在于对原图中的像素做分类操作,会得到最后的两张分别代表二分类得分的权值图,并以此作为Softmax函数的输入,计算出概率较大的Softmax后计算损失值进行反向传播计算。Softmax函数的定义如下:

(4)

其中,zc为第c个节点的输出值;
C为输出节点的个数(分类个数),在柱面透镜U-Net网络中输出节点的分类个数为2。

2.4 网络模型参数及结构

前期工作采集的数据集如表1所示,由于六种型号的产品生产单量不同,故无法保证其数量完全一致,各产品图像成像效果大致相同,将所有产品型号工件进行混合后,将以总数量共7843组数据的80%为训练集、20%为测试集作为数据集分布进行模型训练。

表1 数据集分布

本研究所使用的视觉定位模型基于Python语言实现,利用Pytorch深度学习框架搭建U-Net网络模型。

特征提取阶段将大小为1920×1200×1的输入图片调整至512×512×1,经过两次卷积核个数为64、大小为3×3、卷积步长为1×1、激活函数为ReLU的卷积层,接着经过一次大小2×2、步长2×2的最大池化层,至此图像大小相对最大池化层之前减半并作为下一次下采样组合的输入量;
之后分别进行卷积核个数为128、256、512的两次卷积操作和池化操作得到底层特征。

特征融合阶段将上述底层特征进行两次卷积核个数为1024的卷积操作,再进行一次上采样操作后图片大小翻倍、通道减半,将深层信息与对应的浅层信息进行拼接后作为下一次上采样组合的输入量,之后分别进行核个数为512、256、128的两次卷积操作和上采样操作。最后进行两次核个数为64的卷积操作,接着经过一次1×1的卷积层将64通道的特征向量转换为二分类结果,并进行反向传播和参数更新。

3.1 U-Net网络训练参数对比

由于网络模型设计为二分类问题,对数据集从0开始训练效果会很差,特征提取效果不明显,因此使用VGG网络作为主干网络进行迁移学习。训练的迭代次数共设置为100次,前50次进行冻结训练,后50次进行解冻训练。由于冻结阶段模型调整的参数个数较少,故将学习率(learning rato, LR)设置得相对较大以跳出局部最优解,解冻阶段模型主干不再被冻结,调整的参数较多,将学习率设置为初始训练时的1/10,从而保证模型训练的稳定性。

由于学习率会在较大程度上影响模型的精度和训练效率,因此在不同学习率下对模型进行了训练比较,以优化器Adam进行模型训练。并使用真实值与预测值的DiceLoss损失函数对训练过程中的情况进行评价,其表达式为

(5)

式中,X为输出图片像素预测值矩阵;
Y为数据图片像素实际值矩阵(由0或1表示)。

在训练的过程中,根据损失值随着训练次数的变化情况判断不同学习率下的训练效率和收敛性。各学习率在训练集和验证集上的损失变化如图10所示,其中实线为实际变化曲线,虚线为对应的平滑曲线,1~6表示学习率序号。由图10a可以看出,当学习率设置过小时,模型将陷入局部最优解而达不到全局最优,模型学习效果不够导致无法准确预测新样本而使损失值较大;
当学习率设置过大时会导致冻结阶段权重更新较快,但在解冻阶段会发生损失值突变,最终同样导致较差的结果。当学习率RL设置为0.0001时可以获得最好的损失值变化曲线,冻结阶段损失值下降最快,在第10次训练时曲线收敛并且在解冻阶段没有发生较大变化。由图10b可知,学习率RL为0.0001时在验证集上损失值收敛所使用的训练次数最少,在第15次训练后曲线不再发生抖动的现象,而其他学习率下的验证集损失值曲线则抖动较为严重,直至第60次训练后才逐渐收敛。综合分析可知,当学习率RL设置为0.0001时模型收敛速度最快,曲线最稳定且收敛值最小。

(a)训练集损失值对比

为进一步验证最优学习率下训练效果最好,对6组学习率经过100次训练后的模型使用平均交并比(mean intersection over union,mIoU)和平均像素准确度(mean pixel accuracy,mPA)评价指标进行对比分析,结果如图11所示。其中,学习率序号与图10中一致,可以发现当学习率为0.0001时,mIoU和mPA均为最优,因此最优学习率得到了验证。

图11 不同学习率的评价指标对比Fig.11 Evaluation indicators of different learning rates

3.2 视觉定位精度对比分析

为验证模型训练结果的实际效果,选取了6种型号产品各50张与数据集不重复的新数据图片作为视觉定位精度验证数据。

由于在数据清洗的过程中发现高精度模板匹配的定位结果的精度和稳定性较好,因此将其作为实际值,而将U-Net网络分割定位数据作为预测值,并为体现策略研究的必要性,将Blob分析定位数据作为对照组进行坐标X、Y的结果比较,其结果如图12所示。由6种型号产品的实际对比可以看出,U-Net网络定位坐标值分布在模板匹配曲线上,Blob分析定位坐标值较多点距离模板匹配曲线较远。U-Net网络视觉定位结果与高精度模板匹配的X、Y坐标定位误差在1 pixel以内,而Blob分析误差变化较大,其最低误差与U-Net网络定位的最低误差接近,最高误差接近20 pixel,比较可知U-Net网络的定位精度高于Blob分析的定位精度,对光照、产品型号等影响因素具有较强的鲁棒性,模型的定位精度和鲁棒性得到了验证。

(a)R3.15 (b)R5.94

由于在视觉定位过程中涉及工件主轴的角度定位,需要准确评价模型的角度定位性能,故引入均方根误差(root mean square error,RMSE)作为角度定位的评价指标,RMSE值VRMSE越小定位精度越高,其表达式如下:

(6)

式中,yk为第k张图片中工件的实际主轴角度值;
f(xk)为第k张图片中工件的定位主轴角度值;
n为图片的数量。

对6组型号图片进行测试,对比Blob分析、U-Net网络与高精度模板匹配的角度定位数据获得的RMSE值,如表2所示,可以看出,与Blob分析相比,U-Net网络模型的RMSE值整体较小,处于0.02~0.05范围内,而Blob分析的RMSE值最小约为0.07,最大约为0.84,变化范围较大,定位精度及稳定性较差,Blob分析的RMSE值为U-Net网络RMSE值的3倍以上。由于在摆盘过程中视觉定位的结果最终转换为机器人末端的坐标点,RMSE值较小则表明角度定位精度较高,在实际摆盘下料动作中不会出现因工件重叠等而导致损坏或产品不良率较大的情况,因此U-Net模型的角度定位性能更好。

表2 不同型号产品角度RMSE对比

利用视觉定位策略结合柱面透镜摆盘工艺及特点,开发了柱面透镜视觉摆盘系统,实现了柱面透镜的自动化摆盘作业,柱面透镜摆盘系统的硬件组成如图13所示。工控机作为主要协同单元和人机交互单元,连接和控制其他硬件的工作。上位相机和下位相机通过TCP/IP通信与工控机进行数据交互,机器人控制器通过modbusTCP协议与上位机通信。

图13 柱面透镜摆盘系统硬件组成Fig.13 Cylindrical lens plating systemhardware composition

上位视觉单元的组成为:上位相机、镜头、环形光源,用于对上料区纳料盒中的工件进行粗定位,保证机器人末端能够移至需要吸料的工件点位处,但在吸取的过程中由于末端吸嘴工具在吸取的过程中会发生工件偏移而导致工件中心与吸嘴中心难以重合,所以需要下位视觉单元对工件进行精定位。下位视觉单元的组成为:下位相机、镜头、条形光、同轴光,由于柱面透镜自身的特性,仅使用同轴光无法保证所有情况下的工件完全显示为亮白色,会有工件部分区域难以区分的情况,而采取条形光与同轴光结合的方式能够将工件较好地与背景区分。

图14 柱面透镜偏心合格率Fig.14 Cylindrical lens eccentric pass rate

为验证柱面透镜视觉定位摆盘系统在实际工厂环境下的性能,对人工摆盘和系统摆盘进行了相关数据的采集。柱面透镜生产过程中对产品良率结果影响最为重要的是偏心合格率,产品偏心过大会导致对光线的折射发生偏移,进而导致未来使用柱面透镜的产品性能不达标。对系统使用前后的24个月份进行偏心合格率的数据对比,其结果如图14所示,其中1~10月为人工摆盘方式,各型号产品月平均生产量为4000颗左右,11~12月为系统开发前期,各型号产品月平均生产量为15 000颗左右,13~24月为系统稳定期,各型号产品月平均生产量为30 000颗左右。可以看出,柱面透镜视觉定位摆盘系统相对于人工摆盘来说偏心合格率由原有的50%~80%区间(不可控状态)稳定提高至95%以上,效果较为显著。

摆盘工艺对柱面透镜整体制造工艺有较为重要的影响,为探究视觉定位摆盘系统对柱面透镜生产的合格率提升效果,对摆盘工艺后的半成品合格率和整体工艺之后的成品合格率进行生产品质总结分析,其结果如图15所示。在人工摆盘时期,半成品合格率处于70%左右,成品合格率处于50%~60%区间,将近一半的产品为不良品,导致生产成本的增加;
使用摆盘系统代替人工方式后,半成品合格率将近100%,成品合格率最高能够达到90%,表明摆盘工艺对柱面透镜的产品合格率影响较大,系统的性能得到验证。

图15 柱面透镜生产合格率Fig.15 Cylindrical lens production pass rate

图16 柱面透镜摆盘工艺耗时对比Fig.16 Cylindrical lens plating process time-consuming comparison

为进一步验证系统的批量生产能力,将系统耗时与人工耗时进行对比以验证系统的生产效率。如图16所示,对五种摆盘花型数量的单盘作业耗时进行了统计分析,从图中可以看出,系统耗时随着花型数量的增加呈现线性增长趋势,而人工作业耗时随着花型数量的增加呈现非线性增加,其原因在于人工方式对花型数量越多的摆盘需要进行更多次调整才能使柱面透镜处于较为理想的状态,而系统摆盘则能够在单次放料动作后达到理想状态。系统耗时相较于人工耗时显著缩短,仅仅为人工耗时的1/5左右,批量化生产能力得到验证。

(1)基于U-Net网络的柱面透镜视觉定位策略,利用定位精度较高的数据信息建立数据集,利用VGG作为主干网络进行迁移学习,能够简化系统视觉定位操作,适应不同环境下的多型号柱面透镜产品。

(2)U-Net网络模型的参数对其精度和稳定性影响较大,采用合适的学习率等参数能够使定位精度和稳定性提高,文中通过对不同学习率的损失值进行对比选取了最优参数。

(3)基于U-Net网络的柱面透镜视觉摆盘系统相较于人工方式,在偏心良率、合格率、耗时等方面均有较大程度的提高,证明了系统的性能和生产效率。

猜你喜欢工件卷积模板铝模板在高层建筑施工中的应用建材发展导向(2022年23期)2022-12-22铝模板在高层建筑施工中的应用建材发展导向(2022年12期)2022-08-19基于3D-Winograd的快速卷积算法设计及FPGA实现北京航空航天大学学报(2021年9期)2021-11-02考虑非线性误差的五轴工件安装位置优化制造技术与机床(2019年7期)2019-07-22从滤波器理解卷积电子制作(2019年11期)2019-07-04基于傅里叶域卷积表示的目标跟踪算法北京航空航天大学学报(2018年1期)2018-04-20三坐标在工件测绘中的应用技巧现代机械(2018年1期)2018-04-17铝模板在高层建筑施工中的应用中国房地产业(2016年24期)2016-02-16城市综改 可推广的模板较少中国卫生(2015年9期)2015-11-10焊接残余形变在工件精密装配中的仿真应用研究焊接(2015年9期)2015-07-18

推荐访问:透镜 定位 视觉