基于改进SSD的工件定位算法.pdf
《基于改进SSD的工件定位算法.pdf》由会员分享,可在线阅读,更多相关《基于改进SSD的工件定位算法.pdf(10页珍藏版)》请在咨信网上搜索。
1、http:/DOI:10.13700/j.bh.1001-5965.2021.0442基于改进 SSD 的工件定位算法李琳,符明恒,张铁*,邹焱飚(华南理工大学机械与汽车工程学院,广州510006)摘要:工业机器人完成工件的拾取、分拣与装配等任务,需要获得准确的位置信息。而目标检测算法的回归损失函数的设定会直接影响预测框的定位准确性。针对 SSD 原始回归损失函数忽略 4 个边界信息的相关性及与评价指标 IoU 变化不匹配等问题,提出了一种基于改进 SSD 的工件定位算法。所提算法以高效交并比(EIoU)为 SSD 的回归损失函数,将 4 个边界信息作为一个整体,并添加了中心点损失和边长损失
2、2 个惩罚项分别表征预测框与真实框的中心点相对距离和边长差异,解决了边框回归不准确的问题。实验结果表明:所提算法能把定位平均误差控制在 0.18mm以内,误差峰值控制在 0.76mm 以内。所提算法能有效提高工件的定位精度,适用于不同类型的工件或其他类似的定位任务,具有良好的工业应用前景。关键词:工件;定位;损失函数;单步多框目标检测;高效交并比中图分类号:TP391.7;TP249文献标志码:A文章编号:1001-5965(2023)06-1260-10工件的拾取、分拣与装配等都是工业生产环节的重要组成部分,目前主要依靠传统人工操作。该方法虽然有着操作方便等优点,但是存在工作环境恶劣、危害工
3、人健康、工作重复性高、生产效率低下等问题。随着机器人技术的快速发展,不同类型的机器人应运而生,逐渐替代传统的人工操作,可实现全天不间断工作。机器人对工件进行操作时,需要获得工件精确的定位信息。而传统的机器人通常采用示教或离线编程的工作模式,所有动作都是预先设定,不能适应环境的改变1。工件一旦偏离预先定义位置或面对未知的工作环境,机器人就无法顺利完成任务,适应差,应用受限。为了提高工业机器人对环境的感知与适应能力,机器视觉以其精度高、智能化等特点被广泛应用于工业生产中。杨桂华等1通过 Blob 分析提取工件的特征信息来实现定位,可用于定位不同类型的工件,但在光照不均匀的情况下,该算法的定位效果并
4、不理想;闫磊2和李致金3等通过对采集的工件图像进行预处理来提取工件的外形轮廓,计算出工件的中心并将结果发送给机器人,实现工件的抓取;为了提高工件的定位的精确度,钟佩思等4通过特征提取计算形心像素坐标,对样本进行正交函数局部最小二乘拟合来获取工件平面坐标;陈岚萍等5采用一种基于 Lanser 算子的亚像素边缘检测与基于亚像素的形状选择函数相结合的方法来提取工件轮廓,对工件轮廓进行基于 Tukey 算法的鲁棒性拟合,计算出工件的目标特征。这些形态学方法通过图像预处理、边缘提取和轮廓拟合来获取工件的位姿信息,计算简单、易于实现,但容易受周围环境杂物的影响。为了适应实际环境中工件杂乱摆放的情况,基于模
5、板匹配的工件定位方法因其匹配速度快、定位精度高而被广泛应用于工件检测。胡明星和王小兰6采用 Canny 算子和霍夫直线提取的边缘信息作为匹配特征,提取模板工件与待识别工件的尺度不变特征变换(scale-invariantfeaturetransform,SIFT)特收稿日期:2021-08-04;录用日期:2022-04-10;网络出版时间:2022-05-0917:16网络出版地址: J.北京航空航天大学学报,2023,49(6):1260-1269.LI L,FU M H,ZHANG T,et al.A workpiece location algorithm based on impro
6、ved SSDJ.Journal of Beijing University of Aeronauticsand Astronautics,2023,49(6):1260-1269(in Chinese).2023年6月北京航空航天大学学报June2023第49卷第6期JournalofBeijingUniversityofAeronauticsandAstronauticsVol.49No.6征,将欧氏距离作为工件匹配的相似性度量,完成目标的定位。由于 SIFT 比较复杂,需要更多运行时间,罗辉和崔亚飞7根据给定的模板轮廓,通过胡氏不变矩快速匹配出待识别工件的轮廓并计算出其质心位置;卜琰等8
7、对形状上下文特征进行改进,并将其应用于工件识别与定位,该方法采用基于Harris 角点检测的形状上下文检测算法来提取出工件外形轮廓,通过基于仿射变换的立体匹配进行三维重建,最终获得工件的坐标,该方法仅对工件形状的关键点进行描述,匹配速度快但稳定性欠佳。以上传统的图像处理算法易受光照强度、工件加工表面平整性、周围环境杂物等一系列因素的影响,难以满足工业生产应用中高效率、高精度和高质量的要求。近年来,随着深度学习技术的发展,基于该技术的目标检测算法得到了快速发展。刘信君等9采用优化后的更丰富的卷积特征(richerconvolutionalfeatures,RCF)网络来提取更精细的工件边缘,利用
8、最小外接矩形法计算出工件中心点;张征凯等10提出了一种基于 FasterR-CNN11的工件螺纹孔目标检测算法,定位精度高,最大误差不超过 0.5mm,但两阶段检测算法的检测速度差强人意;为了提高检测速度,周伟亮等12采用 SSD13算法融合多视窗检测方法对图像进行检测,确定工件的位置信息,但单阶段检测算法的定位精度较差;Li 等14在 SSD 算法的基础上引入加权双向特征金字塔网络(bidirectionalfeaturepyramidnetwork,BiFPN)特征融合,可有效提高工件的定位精度,但网络规模的增大使得推理速度有所下降。为使工件检测兼具较高的定位精度和较快的检测速度,本文提出
9、了一种基于损失函数优化的 SSD工件定位算法。该算法以高效交并比(efficientintersectionkoverunion,EIoU)15为 SSD 的回归损失函数,将 IoU 作为损失项,并添加了中心点损失和边长损失 2 个惩罚项分别表征预测框与真实框中心点的接近程度及高度和宽度的差异,可有效提高边框的回归精度。实验结果表明,本文算法在不降低推理速度的情况下,能够精准定位不同类型工件的中心点,可满足实际操作的精度要求,具有良好的工业应用前景。1相关工作本文主要研究目标检测的工件定位问题,不管是两阶段检测算法还是单阶段检测算法,边界框回归都是工件定位的关键步骤。而回归损失函数是用于衡量目
10、标检测模型定位精度的指标,其设定会直接影响到边框回归的速度及定位的准确性。随着回归损失函数的优化和发展15-21,目标检测的定位精度不断提升。1.1SmoothL12015 年,Girshick22在 Faster-R-CNN 中 引 入SmoothL1,其公式如下:SmoothL1(x)=0.5x2|x|wgth hgtw wgth hgt从 的导数可得,和在优化过程中意义相反,和 两个值任意一个增大时,另一个必将减小。当且或者当且时,不能合理优化长宽比。2基于损失函数优化的 SSD 算法2.1EIoU 损失函数针对 CIoU 无法准确描述真实框和预测框长宽之间差异的问题,EIoU15对其进
11、行了优化,以边长损失替代了长宽比损失项,其损失函数公式如下:LEIoU(B,Bgt)=1IoU+Ldis+Lasp(12)Ldis式中:为中心点损失,通过归一化中心点的距离,给目标工件分配更近的预测框,提高中心点的定位精度,其惩罚项设置为Ldis=2(b,bgt)c2(13)Lasp为边长损失,其惩罚项设置为Lasp=2(w,wgt)c2w+2(h,hgt)c2h(14)cwchBBgtLaspBBgtLIoULGIoULCIoULEIoULCIoULEIoUBBgt如图 7 所示,和分别为包含 和的最小封闭框的宽和高。边长损失直接减小了预测框和真实框的高度和宽度的差异,使边框回归更精确。以图
12、 8 为例,预测框的高和宽均为真实框的一半,当真实框包含预测框时,不管预测框如何移动,和值不变。当预测框的中心点逐渐接近真实框时,和不断下降,能反映出真实框与预测框的相对位置。当预测框的高和宽与真实框成倍数关系时,的长宽比项退化为 0,与实际不符。而能合理反映预测框 和真实框的高度和宽度的差异,并使损失函数值不断下降。BgtbgtchcwwgthgthbcB图7边框回归的 EIoU 损失Fig.7EIoUlossforboundingboxregressionBgtBBgtB(a)LIoU=0.75,LGIoU=0.75,LCIoU=0.93,LEIoU=1.43(b)LIoU=0.75,LG
13、IoU=0.75,LCIoU=0.75,LEIoU=1.25图8不同回归损失函数的比较Fig.8Comparisonofdifferentregressionlossfunctions算法损失函数计算步骤如下:Bgt(xgt1,ygt1,xgt2,ygt2)Bp(xp1,yp1,xp2,yp2)输入输入:真实框坐标和预测框坐标。LEIoU(Bgt,Bp)输出输出:损失。BgtBpwp=xp2xp1,hp=yp2yp1,wgt=xgt2xgt1,hgt=ygt2ygt1步骤1计算真实框和预测框坐标的宽和高:。BgtBpAp=wphp,Agt=wgthgt步骤2计算真实框和预测框的面积:。BgtB
14、pcxp=(xp2+xp1)/2,cyp=(yp2+yp1)/2,cxgt=(xgt2+xgt1)/2,cygt=(ygt2+ygt1)/2步骤3计算真实框和预测框中心点坐标:。BgtBpxI1=max(xp1,xgt1),yI1=max(yp1,ygt1),xI2=min(xp2,xgt2),yI2=min(yp2,ygt2),I=(xI2xI1)(yI2yI1)步骤4计算真实框和预测框的重叠面积:。BgtBpCxC2=max(xp2,xgt2),yC2=max(yp2,ygt2),cw=xC2xC1,hw=yC2yC1,c=c2w+c2h,AC=cwch步骤5计算真实框和预测框最小封闭框的
15、宽、高、对角线和面积:。IoU=IAp+AgtI步骤6计算交并比 IoU:。LdisLdis=2(bp,bgt)c2=(cxpcxgt)2+(cypcygt)2c2步骤7计算中心点损失:。LaspLasp=2(wp,wgt)c2w+2(hp,hgt)c2h=(wpwgt)2c2w+(hphgt)2c2h步骤8计算边长损失:。LEIoULEIoU=1IoU+Ldis+Lasp步骤9计算损失:。第6期李琳,等:基于改进 SSD 的工件定位算法12632.2SSD 算法SSD 网络主要由 3 部分组成。首先,保留了VGG16 中的 Conv1Conv5 作为基本骨架,紧随其后的 2 个全连接层 FC
16、6 和 FC7 则采用 2 个普通卷积层 Conv6 和 Conv7 进行替代,用于提取整张图像特征;然后,新增 4 个不同尺度的卷积层 Conv8_2Conv11_2,用于提取不同尺度的特征;最后,将来自6 个不同尺度特征层的特征送入分类与定位层,应用非极大值抑制筛选出最优的结果。SSD 网络结构如图 9 所示。30030038381919191910105533112562562565125121 0241 024输入Conv4_3Conv8_2Conv9_2Conv10_2Conv11_2Conv6Conv7分类与定位非极大值抑制图9SSD 网络结构Fig.9Networkstructu
17、reofSSDSSD 算法利用不同尺度的特征层来实现不同尺寸物体的检测。该算法采用锚框处理,即以特征图的每一个像素点为中心点生成一系列尺寸不同的默认框。每个特征层的默认框的尺寸可表示为sk=smin+smaxsminm1(k1)k 1,m(15)smin=0.2smax=0.9m=6式中:为浅层默认框的大小;为深层默认框的大小;为特征提取层的层数。默认框的尺寸按如下公式确定:wak=skarhak=skar(16)wakhakar 1,2,3,1/2,1/3ar式中:为默认框的宽度;为默认框的高度;长宽比。当取 1 时,添加一个正方形的默认框,其尺寸为sk=sksk+1(17)每个位置最多可生
18、成 6 个默认框,共有 8732 个默认框。若将所有默认框都送入分类与定位层,会极大增加计算损耗。因此,SSD 通过匹配策略对默认框进行筛选,并采用在线困难样本挖掘算法(onlinehardexamplemining,OHEM)将正负样本的比值控制在 13,使得网络快速稳定的收敛。Bd=(dcx,dcy,dw,dh)B=(bcx,bcy,bw,bh)Bgt=(gcx,gcy,gw,gh)为了精确定位到工件的中心点,需要对默认框进行边框回归生成预测框。边框回归过程如图 10所示,代表默认框,代表预测框,代表真实框。边框回归即寻找默认框到预测框的映射关系,其表达式如下:x=(gcxdcx)/dwy
19、=(gcydcy)/dhw=log(gwdw)h=log(ghdh)(18)BdB默认框回归后可获得预测框,其表达式如下:bw=dwwbh=dhhbcx=dcx+xbcy=dcy+y(19)SSD 的损失函数包括目标类别损失函数和回归损失函数 2 个部分,且按如下等式进行加权求和:L(x,t,B,Bgt)=1N(Lconf(x,t)+Lloc(x,B,Bgt)(20)Ntx=0,1式中:为与真实目标框相匹配的默认框个数;Lconf为目标类别损失函数;表示每一类别的置信度;代表是否匹配;为权重。回归损失采用 SmoothL1,公式如下:Lloc(x,B,Bgt)=NiPosmcx,cy,w,hx
20、kijSmoothL1(BmiBgt,mj)(21)B=(bcx,bcy,bw,bh)Bgt=(gcx,gcy,gw,gh)式中:为位置回归的预测值;为真实值;Pos 为正样本。2.3SSD-EIoU 算法SSD 算法采用 SmoothL1 损失函数对 4 个坐标信息分别进行回归损失计算再加和,忽略了 4 个边界信息之间的关联。针对该问题,本文采用 EIoU对 SSD 损失函数进行优化。EIoU 损失函数将 IoUBBdBgt图10边框回归Fig.10Regressionofboundingbox1264北 京 航 空 航 天 大 学 学 报2023年LdisLasp作为边框回归的损失项,将
21、4 个边界信息作为一个整体进行回归。在此基础上,EIoU 添加了中心点损失和边长损失两个惩罚项分别表征真实框与预测框的相对距离和边长差异。优化后的 SSD算法的回归损失函数可表示为Lloc(x,B,Bgt)=NiPosxkijLEIoU(Bi,Bgtj)=NiPosxkij1IoU+2(bBi,bBgtj)a2+2(wBi,wBgtj)a2w+2(hBi,hBgtj)a2h(22)3训练与测试为了验证本文算法的有效性和泛化性,对 4 种不同类型的工件进行训练与测试。3.1实验数据集及评价标准神经网络的训练需要大量的样本数据,而目前尚没有公开可用的包括不同类型的工件带注释的数据集,需要在工业环境
22、中生成自定义模型训练数据集。本文采用 4 种不同类型的工件,如图 11 所示,其形状、大小和纵横比都不同。其中,类型-和类型-为对称工件,类型-和类型-为异型工件。对于每种工件,可通过工业相机获取 2000 张图像。(b)类型-(a)类型-(d)类型-(c)类型-图11不同类型的工件Fig.11Differentkindsofworkpieces在训练前,需要对工件图像进行准确的注释,以帮助模型学习到正确的特征。传统的标注方法采用 LabelImg、LabelBox 等标注工具在工件周围绘制一个边界框,无法精确确定工件的中心点,既费时又费力,不适合大规模数据集。因此,本文采用基于 Halcon
23、 的工件标注方法,其流程如图 12 所示。首先,对图像进行阈值处理,提取感兴趣区域;然后,对工件的边缘进行提取并连接;最后,根据工件的轮廓拟合最小的旋转矩形,在旋转矩形的基础上生成工件的真实框,即可获得真实框的中心点坐标及宽和高。工业相机获取的图像分辨率大小为12801024,而 SSD 只能接受输入为 300300 或者512512 的图像,本文设定的输入图像大小为 300300。为了增加训练样本多样性,避免训练过拟合,将采集到的 8000 张图像进行随机偏移,再裁剪成300300 大小作为网络的输入。采用随机挑取法分别对各类工件进行训练集、测试集的划分,将 7/10的工件数据集划分为训练集
24、,其余为测试集。(a)原图(b)阈值处理(c)边缘提取(e)拟合最小矩形并记录工件中心点坐标(f)拟合真实框并记录真实框宽与高(d)边缘连接图12标注流程Fig.12FlowchartofannotationOOBgtBEiOO本文主要研究工件定位问题,其性能度量为工件的定位误差,即标签中心点与算法预测定位的中心点 之间的欧氏距离,如图 13 所示,为真实框,为预测框,为和 之间的欧氏距离。工件的定位误差可表示为Ei=(xixi)2+(yiyi)2(23)i(xi,yi)(xi,yi)式中:为图像帧的索引;为标注的工件中心点像素坐标值;为预测的工件中心点像素坐标值。BgtO*(xi*,yi*)
25、O(xi,yi)EiB图13定位误差Fig.13Locationerror第6期李琳,等:基于改进 SSD 的工件定位算法12653.2实验设置本文实验模型基于 Pytorch 框架,编程语言为Python3.6。采用预先训练好的 VGG16 对模型进行初始化,迭代次数为 20000,初始学习速率为 103,批次大小为 16,质量衰减为 0.0005,动量为 0.9。为了验证本文算法的优越性,除了比较 SSD 原始的回归损失函数 SmoothL1 以外,还比较了其他 2 个优秀的回归损失函数 GIoU 和 CIoU。3.3实验结果分析为了验证本文算法的优越性,对 4 种不同类型的工件进行训练与
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 改进 SSD 工件 定位 算法
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。