吴立华,白 洁,康国坡,黄冠成
(1.广东开放大学(广东理工职业学院),广州 510091;2.广东工业大学机电工程学院,广州 510006)
棒材厂轧制的钢棒在经过打捆和称重后,需对成品钢捆焊上具有相关产品信息的标牌以供入库和外销,该操作一直以来都由人工完成,极易出现错焊、漏焊和掉牌等问题,且作业环境恶劣而复杂,存在极大的安全隐患。目前在国内一些棒材厂所实施的自动焊牌系统基本只能通过机器人完成单一的焊牌作业流程,存在以下问题:无法适用多种型号自动识别定位;无法完成焊接标牌区域凸起30 mm 的检测,导致螺纹钢损坏标牌的焊接质量问题、两捆螺纹钢靠近时无法区分和数量识别错误,无法令当前焊接的螺纹钢单支端面平整导致焊钉无法充分接触螺纹钢而引起运输过程脱落的焊接质量问题;没有与产线和计量系统进行有效的交互,无法真正实现全自动化和无人化[1-3]。
螺纹钢焊挂标的自主作业对于生产效率的提升非常重要。对于多品种螺纹钢端面的计数和焊接标牌,已有的方案不能满足实时性需求;对于螺纹钢机器人焊挂标,当前的方案不能实现对目标的识别、定位及作业过程的自动编程;对于复杂光照环境和螺纹钢品种多变情况下的螺纹钢棒材智能计数,已有方案不能实现非结构化环境的三维重构和三维点云快速高精度匹配。因此,迫切需要开发和应用基于深度学习的螺纹钢焊牌机器人3D视觉计数和定位方法,以提高生产效率和市场竞争力。
目前关于棒材识别的方法是通过模糊圆周模糊模板匹配寻找棒材截面[4],另一种是通过图像分割、图像滤波、图像数字形态学处理等传统图像处理方法识别筛选[5-10]。但是,这两种方法对于不规则的棒材截面不能做到适应。本文针对当前螺纹钢棒材的识别和定位的通用性和鲁棒性问题,提出使用深度学习算法在二维RGB图像中识别螺纹钢棒材,然后在三维点云图中定位棒材中心坐标的方法。
如图2 所示,由于螺纹钢存在截面形状不标准、发蓝、发黑,长短不一等问题,无法用传统的视觉定位方法识别计数,本文提出基于Faster-RCNN 的视觉方法识别计数核验和焊接位置定位[11-15]。
图2 螺纹钢截面示意
算法框架如图3 所示。首先对图片进行标注,生成对应的标注数据文件,记录每个螺纹钢在图片的起点坐标和长宽,然后通过数据增强:随机旋转、翻转、噪点、模糊、颜色变换等生成更多的样本数据。棒材原图如图2(b)所示,经过数据增强后如图4所示。
图4 经过数据增强
其次,将样本数据按照训练集95%和测试集5%进行划分,训练集经过共享卷积特征网络提取目标特征并进行训练,生成模型文件,识别结果的流程是使用候选区域生成网络RPN(Region Proposal Network)生成目标的候选框,再通过聚类算法筛选出候选目标的区域,对候选区域特征进行池化处理生成相同尺寸的图片,最后经过Softmax分类器筛选最优目标,并输出目标类别和位置。
本文使用了Faster RCNN 网络结构,如图5所示,其步骤如下。
图5 Faster RCNN网络结构
(1)特征提取网络(Conv layers)
其输入为一张图片,输出为一张图片的特征,即feature map。通过一组conv+relu+pooling 层提取图像的feature map,用于后续的RPN网络和全连接层。
(2)区域候选网络(Region proposal Network)
其输入为第一步中的feature map,输出为多个兴趣区域(ROI)。输出的每个兴趣区域具体表示为1 个概率值(用于判断anchor 是前景还是背景)和4 个坐标值,概率值表示该兴趣区域有物体的概率,这个概率是通过Softmax 对每个区域进行二分类得到的;坐标值是预测的物体的位置,在进行训练时会用这个坐标与真实的坐标进行回归计算,使测试时预测的物体位置更加准确。
(3)兴趣域池化(ROI pooling)
这一层以RPN 网络输出的兴趣区域和Conv layers 输出的feature map 为输入,将两者进行综合后得到固定大小的区域特征图(proposal feature map)并输出到后面的全连接网络中进行分类。
(4)分类和回归(Classification and Regression)
其输入为上一层得到的proposal feature map,输出为兴趣区域中物体所属的类别以及物体在图像中的精确位置。这一层通过Softmax对图像进行分类,并通过边框回归修正物体的精确位置。
本文使用Intel RealSense L515 三维相机,安装在工业机器人末端,如图6所示。
图6 坐标系关系
baseHtool 表示为工具坐标系大机器人基坐标系的转换关系,可由机器人系统中获取;toolHcam 表示相机坐标系到工具坐标系的转换关系,这个转换关系在机器人移动的过程中是不变的,但为未知的变量;calHcam 表示标定板坐标系到机器人基坐标系的转换关系,只要标定板与机器人基坐标系相对位置不变,该矩阵就不变[16-17]。由此可得:
联合上面3个公式,则有:
机器人移动到位置2后:
baseHcal不变,则有:
式中:baseHtoo(l1)=A1;baseHtoo(l2)=A2;toolHcam(1)=X;calHcam(1)=B1;calHcam(2)=B2。
由此:
单次拍照和多次拍照的区别如图7 所示。由于裁剪长度误差和捆扎动作导致偏移,使得螺纹钢棒材端面不平整,最大误差约有50 mm,因此如果相机一次拍整捆棒材,远离相机中心的螺纹钢可能被遮挡,导致计数不准确,所以本文在采集图像步骤加入了拼接环节,由机器人带动相机在4×3 的位置点共12 个拍照点对整捆螺纹钢拍照,然后再进行图像拼接,图像拼接流程如下。
图7 单次拍照和多次拍照的区别
(1)特征提取和匹配。在拼接图像之前,首先使用改进的SURF 方法提取并匹配图像的特征点。SURF 通过海森矩阵检测特征点,选择行列式值极大或极小的点。为了在尺度上保持不变,SURF使用不同σ值的行列式值来检测特征点。在特征点的圆形邻域内,统计60°扇形内所有点的水平、垂直haar 小波特征总和,并以此作为该特征点的主方向。与以往的方法不同,本文还选取一个4×4 的矩形区域块,但这个区域的方向是沿着特征点的主方向。每个子区域统计25个像素的水平方向和垂直方向的haar 小波特征。通过计算两个特征点间的欧氏距离来确定匹配度,同时考虑Hessian矩阵迹的正负号,排除对比度变化方向相反的特征点[18-20]。
经过手眼标定后,将图像上的每个坐标转换到机器人坐标系上,获得每个像素点的物理坐标。利用机器人实际位置计算两张图像之间的中心位置关系,将其加入surf判定条件,可以提高拼接精度和稳定性。
(2)计算图像变换。特征匹配后,可以通过计算图像间的变换矩阵,经过仿射变换和透视变换,将两张图像对齐。这个变换矩阵描述了如何将一个图像上的点映射到另一个图像上的对应点。
(3)图像拼接。一旦得到了图像间的变换矩阵,就可以将两张图像拼接成一张更大的图像。在拼接时,可以通过像素融合算法来平滑处理图像之间的过渡区域,使拼接结果看起来更自然。
经过以上拼接步骤后,在端面不平整的情况下,实现了图像的无遮挡重构,效果如图8所示。
图8 图像拼接效果
系统结构如图9 所示。三维相机、补光灯和焊枪集成在保护箱内并安装在埃夫特20 kg工业机器人末端。机器人提前取牌,当螺纹钢棒材到位后,三维相机采集图像,并通过上述算法识别棒材,计算棒材的支数和中心棒材的焊接坐标,焊接坐标误差要求在±5 mm以内。
图9 硬件结构
图像识别结果如图10所示。经过Faster R-CNN 算法识别后,可准确统计出棒材的数量并输出每个棒材的中心位置,图中绿色点表示最佳焊牌位置。
图10 图像识别结果
分别对25、28、32 共3 种直径规格的棒材进行100次计数和焊接成功率统计,结果如表1所示。
表1 测试统计结果
由于部分棒材长短差异较大,导致短棒材被长棒材几乎完全遮挡,计数无法达到100%准确率,但整体而言,本文算法计数准确率可达99%以上,焊接准确率能达到100%。
针对螺纹钢棒材在识别和机器人定位焊牌工序的问题,提出基于Faster R-CNN 框架的深度学习算法识别螺纹钢,再通过三维点云处理定位中心棒材三维位置,实现螺纹钢计数和定位焊牌功能,搭建硬件环境,并进行实验验证。结果表明:本文所提方法可以完成整捆螺纹钢棒材的准确识别计数和机器人定位焊牌,焊牌位置准确,焊接质量稳固,验证了该方法具有较强的通用性和鲁棒性;由于不同型号的棒材截面特征相似度高,相比于传统图像算法,本文方法更具有广泛的适用性,可降低对技术人员调试水平的要求,能广泛应用于螺纹钢棒材生产企业的焊接工位,减轻人工识别99%以上的工作量,提高企业效益。