基于YOLOv5s-T 和RGB-D 相机的螺栓检测与定位系统
2022-11-18王向周杨敏巍郑戍华梅云鹏
王向周,杨敏巍,郑戍华,梅云鹏
(北京理工大学 自动化学院,北京 100081)
角钢塔作为输电线路的重要组成部分,主材螺栓的紧固性对于铁塔的防振动性能和结构稳定具有重要作用. 目前,角钢塔塔身螺栓紧固多采用人工高空作业的方式,效率不高且存在一定的安全隐患,使用自动化设备替代人工可以减少安全事故发生[1]. 本文主要研究角钢塔主材螺栓的检测和粗定位,快速引导螺栓紧固机器人的机械臂移动到待紧固螺栓上方,以实现螺栓的精准定位. 目前,常用的目标检测方法可以分为三类:图像处理、传统的机器学习和深度学习. SONG 等[2]提出了一种基于形态学和小波变换的边缘检测算法来识别螺栓,经验证该算法能准确识别螺栓结构,但只能处理简单背景的图像.RAMANA 等[3]使用传统的机器学习算法Viola Jones检测不同松动程度下的螺栓,准确率可达97%,但图片中阴影、遮挡等情况会影响检测效果. 相比之下,深度学习克服了上述缺点,可以从复杂图像数据中学习高维特征,具有更强的鲁棒性. ZHANG 等[4]为了改善传统SSD 对小目标不敏感的缺点,提出了一种改进的基于多窗口多尺度融合的SSD 网络,mAP 从0.360 提高到0.432. YANG 等[5]采用改进的YOLOv3-tiny 网络识别螺栓,mAP 从0.813 增加到0.839,但该方法只适用于相机垂直拍摄物体的角度. GE 等[6]针对角钢塔螺栓在识别过程中易受遮挡的情况,用ResNet50 代替VGG16 骨 干网络,mAP 从0.896 提高到0.924,但推理速度有限,识别一帧耗时2.64 s. 上述方法主要集中在目标的二维定位上,采用机械臂紧固螺栓时,二维坐标难于实现引导作业,目前常用的方法是利用神经网络对二维图像进行目标检测,然后通过立体视觉技术进行三维定位. KANDA 等[7]利用YOLOv3 网络检测开关按钮,用RGB-D 相机输出的点云估算按钮中心点的三维坐标,经验证当开关表面与RGB-D 相机前表面平行,二者中心点相距80 cm 时,x、y、z方向的定位误差分别为0.6,0.8 和0.8 cm. HAN 等[8]使用动态模板匹配算法根据二维强度图识别螺栓,达到99.4%的准确率,RGB-D 相机在实验室条件下静态测量精度为0.1 mm,列车运行环境下动态测量精度为0.5 mm. 但这些方法检测的都是单个目标,不需要确定多目标的顺序,不能满足螺栓组紧固要求.
本文提出一种基于神经网络和RGB-D 相机的螺栓检测及定位系统,采用轻量化的YOLOv5s-T 对螺栓进行识别并筛选主材螺栓,通过英特尔®实感™深度摄像头D435i 对主材螺栓进行三维定位,同时将输出的坐标按照螺栓组紧固原则进行排序,实现了6 自由度机械臂末端到螺栓紧固点的快速引导.
1 系统方法
1.1 难点分析
图1 为某角钢塔塔身包括主材螺栓的5 个不同段位,框内是规格为M24 的主材螺栓,框外六角螺栓的规格为M20. 如图1 所示,角钢塔主材螺栓型号单一且分布集中,可据此分为不同的螺栓组模板,从左到右依次为模板a、b、c、d、e,按照模板类型进行螺栓紧固. 要准确识别并定位主材螺栓,存在3个难点:神经网络具有庞大的参数量和计算量,搭载模型的硬件条件有限,故需要对网络模型进行轻量化操作;规格为M24 的主材螺栓与其他规格的螺栓差别不大,神经网络检测时会检测出所有规格的螺栓,需要筛选出主材螺栓;紧固一组螺栓时需要按照一定的顺序分多次拧紧[9],神经网络本身不具备目标排序的功能,故要对所有主材螺栓的三维坐标进行排序.
图1 主材螺栓组Fig. 1 Main material bolt set
1.2 螺栓检测定位系统
角钢塔螺栓检测及定位系统总体方案如图2 所示. 首先深度相机获取彩色图、深度图和点云,利用深度信息去除彩色图的背景,减少背景环境的干扰;然后将处理过的彩色图送入YOLOv5s-T 网络进行目标检测,利用主材螺栓选取算法保留模板内主材螺栓的像素坐标;最后结合点云获取三维坐标,利用螺栓排序算法进行排序,并将排序后的坐标保存到计算机.
图2 系统总方案Fig. 2 General scheme of system
1.3 RGB-D 相机
RGB-D 相机选用了英特尔®实感™深度摄像头D435i,外形如图3 所示,包括立体视觉模块和颜色传感器两部分. 立体视觉模块由左、右成像器和红外投影仪组成,同时搭载了英特尔实感视觉处理器,使用主动红外立体技术来计算深度. 红外投影仪投射不可见的静态红外图案,以提高低纹理场景的深度精度,左、右成像器将数据发送到视觉处理器,处理器将左、右图像相关联,通过图像上点之间的移动来计算图像中每个像素的深度值. 整个系统的坐标系原点为颜色传感器的物理光心,x轴、y轴和z轴的指向分别如图3 所示. D435i 的各项技术规格如表1所示,由表1 可知,相机可在户外使用,使用范围满足机械臂长度要求,采用USB Type-C 接口,体积小、视场大、分辨率高且易安装. 该相机采用了英特尔最新的深度感知硬件和软件,集成度高,英特尔官方网站提供了跨平台的开发软件Intel RealSense SDK 2.0,为二次开发提供了丰富的接口.
图3 英特尔®实感™深度摄像头D435iFig. 3 Intel® RealSense™ depth camera D435i
表1 技术规格Tab. 1 Technical specifications
2 实 现
2.1 YOLOv5s-T 网络
YOLOv5 网络模型共有YOLOv5s、 YOLOv5m、YOLOv5l 和YOLOv5x 4 个版本,不同的是网络的宽度与深度. 大的模型实时性差但精度高,小的模型实时性好但精度差. YOLOv5s 虽为最小版本,但该模型本身较大,依旧不利于实际的工业场景应用. 本文基于YOLOv5s 和常用的模型加速方法,提出了轻量化网络模型YOLOv5s-T. YOLOv5s-T 保留原网络YOLOv5s的整体结构,如图4 所示,输入端用Mosaic 数据增强方法,主要思想是将4 张图片进行随机裁剪,再拼接到一张图上作为训练数据,在丰富数据集的同时提升网络的训练速度,降低模型的内存需求. 开头用Focus 操作代替普通的下采样,将每一个通道的图片进行切片,特征图的尺寸减小为原来图片的1/2,而通道数变为原来的4 倍,其后加上一个3×3 的点卷积来改变特征图的通道数,极大地保留了原图的特征信息. 提取特征的骨干网络选用CSPDarknet53,SPP结构通过最大池化的方法进行多尺度特征融合. 头部网络在特征金字塔网络(feature pyramid networks,FPN)+路径聚合网络(path aggregation network,PAN)的基础上,用CSPDarknet53 设计的C3 结构代替普通的卷积网络,加强网络特征融合能力. FPN 结构通过上采样将深层的语义信息传到底层,补充浅层的语义信息,PAN 结构自底向上传达强定位特征,从不同的主干层对不同的检测层进行特征聚合,最后用3 个检测头来进行多尺度的预测.
YOLOv5s-T 使用深度可分离卷积(depthwise separable convolution)和分组卷积(group convolution)结合通道混洗(channel shuffle)操作对网络进行轻量化,如图4 所示,将YOLOv5s 网络Unit 和Res Unit 中的1×1 标准卷积修改为分组卷积,3×3 标准卷积转换为
图4 YOLOv5s 和YOLOv5s-T 网络结构Fig. 4 The network structures of YOLOv5s and YOLOv5s-T
2.2 主材螺栓的选取
表2 模板内主材螺栓的实际个数Tab. 2 The actual number of bolts in the template
2.3 主材螺栓排序
在高强度螺栓连接中,弹性相互作用影响较大,螺栓的预紧力也会有大幅度降低,为了减轻这种影响,螺栓组要按照一定的顺序分多次拧紧其中的螺栓. 分次拧紧螺栓时只改变扳手的扭矩,不改变螺栓组中螺栓的紧固顺序. YOLOv5s-T 网络按照置信度高低的顺序输出坐标信息,不符合螺栓组的紧固规则,需要对模板内的主材螺栓重新排序. 5 个模板主材螺栓的分布均呈平行四边形,如图5 所示,按照先中间后两边、对角就近的原则对螺栓组进行紧固,图片中螺栓上方的数字为模板螺栓组的紧固顺序.
主材螺栓排序前需要确定螺栓组模板,不同模板排序算法实现不同但理念相同,即根据主材螺栓间的距离关系重新排序. 由图5 可知,模板c 和模板e 主材螺栓紧固顺序相同,所以可归为一类. 以模板a 为例,先找出最大距离对应的两颗螺栓,由于所有模板内主材螺栓分布均呈中心对称状,故任选其中一颗作为第一颗螺栓记为6 号,然后从剩下的螺栓中找到距离6 号螺栓最近的一颗螺栓,记为3 号;再从剩下的螺栓中找到距离3 号螺栓最近的一颗螺栓,记为2 号,以此类推,直到所有螺栓都被编号,其他模板排序算法理念与之相同. 根据螺栓序号保存主材螺栓的三维坐标.
3 实 验
3.1 数据集
受到实验室条件和角钢塔螺栓组模板数据量的限制,用自制的5 个螺栓纸板模拟螺栓组模板验证系统的各项性能. 如图6 所示,从左到右依次为模板a、b、c、d、e. 数据集是从不同角度、不同距离和不同背景下采集的5 个模板图片,共1 150 张,通过调整亮度和仿射变换的方法进行数据增强,将数据集扩充到4 600 张. 利用图像标注工具LabelImg 进行人工标注,并按照6∶2∶2 的比例将图片分为训练集、验证集和测试集.
3.2 实验细节
视觉采集系统由英特尔®实感™深度摄像头D435i 及其自带的三脚架、USB 线和自制的螺栓纸板组成. 数据在服务器上训练,硬件配置为带两块显卡的LT-6 028 GPU 服务器,其中显卡型号为GeForce GTX 1080 Ti,内存均为11 G,操作系统为Ubuntu 16.04.模板和螺栓的检测、定位在电脑端实现,电脑配置为Intel(R) Core(TM) i5-10210Y CPU. 系统运行所配置的软件为python3.7.9,torch 1.8.0+cpu. 实验用到了OpenCV 图形开发库和系统基本依赖以及RGB-D 相机的API 接口Intel Realsense SDK 2.0 和标定软件Intel Realsense CalibrationTool API 2.11.0.0 等.
为了加快模型收敛,网络在训练时使用官方提供的预训练权重文件初始化部分网络权重参数. 使用SGD 优化器进行参数更新,余弦退火方式进行学习率衰减,学习率初值设置为0.01,动量为0.937,训练的类别数量设置为6,迭代次数为60,批数量为32,图片分辨率设置为640×480.
3.3 实验结果与分析
3.3.1 模型性能
实验采用mAP@0.5、mAP@0.5:0.95 两个评价指标来评估网络模型的检测性能,用训练参数量T、浮点运算数F和摄像头实时检测速率v来评估模型的复杂度.
表3 为YOLOv5s-T、YOLOv5s、YOLOv3 和SSD的检测结果,相对于原来的YOLOv5s 模型,本文提出的YOLOv5s-T 的mAP@0.5 降低0.02,mAP@0.5∶0.95 降低0.03,T减少36.2%,F减少42.1%,v提高31%;与YOLOv3 相比,YOLOv5s-T 的mAP@0.5 提高0.20,mAP@0.5∶0.95 提高0.23,T减少92.7%,F减少71.0%,v提高445%;与SSD 相比,YOLOv5s-T 的mAP@0.5 提高0.27,mAP@0.5∶0.95 提高0.30,T减少81.5%,F减少69.1%,v提高342%. 综合考虑模型的准确度和复杂度,选择轻量化模型YOLOv5s-T.
表3 检测结果Tab. 3 Detection result
3.3.2 定位性能通过e对系统的定位性能进行分析,以模板b 为例,螺栓用排序之后的序号表示,如图5(b)所示,计算相邻螺栓间的距离. 为了保证数据的可靠性,每组实验重复10 次,取平均值. 结果如表4 所示,忽略螺栓模板制造工艺的误差,相邻螺栓间距离的最大误差不超过3 mm,平均误差不超过1 mm.
表4 定位误差Tab. 4 Location error
3.3.3 主材螺栓排序
螺栓组模板固定不动,将RGB-D 相机置于螺栓组模板的不同方位对主材螺栓进行排序. 以模板b为例,图7 为RGB-D 相机正对螺栓组模板时的三视图,设RGB-D 相机前表面中心点为Oc,螺栓组模板前表面中心点为Ot,两点间的距离l为0.7 m. 实验分为3 组,固定螺栓组模板不动,分别在x-O-y、y-O-z、z-O-x平面内旋转RGB-D 相机,验证RGB-D 相机在不同角度下拍摄螺栓组模板时主材螺栓排序算法的性能. 第1 组以RGB-D 相机正对螺栓组模板的x轴为基准线,Oc为旋转中心,将RGB-D 相机的机身在x-Oy平面旋转一定的角度,如图7(a)所示,旋转后的x轴与基准线间的夹角为α;第2 组以RGB-D 相机正对螺栓组模板的z轴为基准线,Ot为旋转中心,l为半径,将RGB-D 相机在y-O-z平面旋转一定的角度,如图7(b)所示,旋转后的z轴与基准线之间的夹角为β;第3 组以RGB-D 相机正对螺栓组模板的z轴为基准线,Ot为旋转中心,l为半径,将RGB-D 相机在z-O-x平面旋转一定的角度,如图7(c)所示,旋转后的z轴与基准线之间的夹角为γ. 其他螺栓组模板的实验设计与此相同,对5 个螺栓组模板的主材螺栓进行排序,每组实验重复ns次,统计每个螺栓组模板正确排序的次数nr,则螺栓组模板的正确排序率
图7 模板b 主材螺栓排序三视图Fig. 7 Three views of sorting of main material bolts of template b
RGB-D 相机在各个平面内旋转后螺栓组模板的正 确 排 序 率 如 表5~表7 所示,ηa、ηb、ηc、 ηd、 ηe分别表示模板a、b、c、d、e 的正确排序率,当RGB-D 相机正对着螺栓组模板,即α、β、γ都为0°时,每个螺栓组模板的正确排序率均在95%以上. 由于神经网络存在一定的误检,螺栓检测不准确导致无法确认螺栓组模板类别. 此外,深度相机还受物体颜色和表面光滑度的影响,深色物体对红外光的吸收能力非常强,导致投射在深色物体上的部分红外光无法返回,左、右成像器因为无法接收到返回的红外光,也就无法测量物体的深度. 漫反射是物体可以清晰成像的基础,当物体表面过于光滑时发生镜面反射,此时只有当被测物体位于深度相机的发射端和接收端的中垂线时,才能接收到反射光线,故当物体表面超过一定的光滑度时,深度相机测量精度会急剧下降,甚至无法测量深度. 由于上述原因,实验的100帧图片中存在极个别螺栓组模板无法被正确排序的情况.
表5 x-O-y 平面模板正确排序率Tab. 5 The correct sorting rate of templates in the x-O-y plane
如表5 所示,当RGB-D 相机在x-O-y平面旋转时,模板b、c、d 不受旋转角度的影响,正确排序率均在95%以上;当α=60°或者α=-30°时,模板a 的正确排序率为0;当α=30°或者α=-60°时,模板e 的正确排序率为0. 如图8(a)所示,受到目标检测框形状的限制,其他规格的螺栓在旋转RGB-D 相机后也被包含在模板内,检测的主材螺栓个数会大于实际模板主材螺栓个数,无法确定模板类型,进而不能执行下一步排序操作. 如表6、表7 所示,当RGB-D 相机在y-O-z平面旋转,即-60°<β<60°时,5 个螺栓组模板的正确排序率均在95%以上. 当RGB-D 相机在z-O-x平面旋转,即-60°<γ<-60°时,5 个螺栓组模板的正确排序率均在95%以上. 当RGB-D 相机在y-O-z和z-O-x平面内旋转时,随着旋转角度绝对值的进一步增大,图片中的螺栓开始相互遮挡,螺栓检测框出现重叠现象,如图8(b)所示,相邻螺栓间的距离测量产生较大误差,影响螺栓组模板正确排序.
表6 y-O-z 平面模板正确排序率Tab. 6 The correct sorting rate of templates in the y-O-z plane
表7 z-O-x 平面模板正确排序率Tab. 7 The correct sorting rate of templates in the z-O-x plane
图8 螺栓组模板无法被正确排序的两类情况Fig. 8 Two situations when bolt group templates cannot be sorted correctly
4 结 论
针对角钢塔主材螺栓检测与定位问题,结合轻量化的YOLOv5s-T 网络和英特尔®实感™深度摄像头D435i,提出了角钢塔主材螺栓的检测与定位系统. 通过一系列对比试验,验证了轻量化网络模型YOLOv5s-T 在基本不降低mAP 的情况下,推理速度提高31%. 通过比较相邻螺栓的测量距离与真实距离,验证系统的平均误差不超过1 mm. 对主材螺栓排序算法进行验证,发现当RGB-D 相机正对螺栓组模板时,螺栓组模板的正确排序率不低于95%. 在x-O-y平面旋转RGB-D 相机时,螺栓组模板的正确排序率会受到模板类别和旋转角度的影响. 在y-O-z和z-O-x平面旋转RGB-D 相机时,当旋转角度绝对值小于60°,螺栓组模板的正确排序率在95%以上.
角钢塔主材螺栓的检测与定位系统实现了角钢塔主材螺栓的实时检测、三维定位和重新排序等功能,为快速导引6 自由度机械臂末端到达螺栓紧固点进行精确定位的二次成像及紧固作业奠定了基础.