基于深度学习的牙刷姿态识别方法

2021-05-28 05:40王化明刘茂兴熊峻峰于金龙
关键词:传送带牙刷正确率

王化明,刘茂兴,熊峻峰,于金龙

(南京航空航天大学 机电学院,江苏 南京 210016)

目前,生产线上的牙刷分拣主要由人工完成,存在效率低下、成本较高等缺点.现有自动化设备可实现牙刷的有序上料,但是设备占地体积大,工作过程复杂,且不能针对所有的牙刷工序.机器视觉已经广泛应用于目标的视觉定位,通过视觉检测出牙刷的位置并识别出牙刷的姿态,将位置和姿态信息传输给机器人,实现牙刷的操作,可以达到提高效率、降低成本的目的.然而由于牙刷种类非常多,形状不规则,在输送带上通常呈现4种姿态,根据不同的刷头朝向,将牙刷的姿态分为:向上、向下、向左、向右,如图1所示.传统图像处理方法对牙刷姿态识别的准确率还较低,需要根据牙刷种类手动调节相关参数,操作者也要具有较强的专业知识,难以满足工业生产的实际需求.目前,深度学习方法已经用于目标的分类、检测等领域[1-2],对多种类目标、图像形变及局部遮挡等因素的适应性更强,因此文中在确定牙刷位置的基础上研究基于深度学习的牙刷姿态识别方法,提高牙刷分拣准确率,降低使用难度,以满足工业自动化生产需求.

图1 牙刷姿态图

1 图像采集系统

图像采集系统设计如图2所示.该系统主要由传送带、光源和工业相机组成.光源及照明方式影响所采集的图像质量,图像应满足:① 清晰度高,牙刷轮廓清晰,位置和姿态信息明确;② 对比度高,牙刷与传送带的边界分明.综合实际需求和经济性因素,选用LED条形光源KW-L10516-W,工业相机MER-310-12UC-L,照明方式选择暗场漫射照明.

图2 图像采集系统

2 位置确定算法

2.1 算法流程

牙刷位置计算算法流程[3]如图3所示,基于图像的动量矩计算牙刷的外接矩形和方向角,以外接矩形的中心作为牙刷位置.

图3 算法流程图

2.2 系统标定

实际镜头由于加工及安装误差,其难以实现理想的成像模型,会存在一定的透镜畸变.此外,在实际抓取作业中,首先对图像进行处理获得牙刷中心的像素坐标,根据相机与传送带间的位姿关系得到牙刷在传送带上的位姿,最后由机器人与传送带间的标定结果确定牙刷在机器人基坐标系下的坐标,文中主要建立视觉系统与传送带的位姿关系.

首先利用张正友标定法[4]对相机内参数进行标定,内参矩阵为

畸变系数为

k1=-0.045 5,k2=0.108 2,

p1=-0.000 9,p2=-0.001 5.

在完成相机内参标定的基础上,对相机坐标系与传送带坐标系的位姿关系进行标定,标定板选择7×7圆点标定板.首先将相机与传送带的位姿固定,并将平面标定板置于传送带表面,采集标定板图像,可以计算得到相机的外参数矩阵.此时标定板的中心点为世界坐标系OWXWYW原点,旋转矩阵:

平移矩阵:

T=[0.070 208 0.069 771 0.049 827]T.

以标定板的中心点为原点建立传送带坐标系OSXSYS,且传送带水平运动方向作为XS轴正方向.在外参数标定过程中,世界坐标系OWXWYW与传动带坐标系OSXSYS存在一定的旋转角度θ,如图4所示.

图4 传送带坐标系与世界坐标系

旋转角度θ的计算方法如下:在传送带上放置一个圆柱物体E,提取该物体的亚像素边缘,利用最小二乘法进行圆拟合求得圆心世界坐标(xw1,yw1);传送带移动一段距离,再次计算圆心世界坐标(xw2,yw2),计算结果如表1所示.

表1 圆心像素坐标与世界坐标

利用两次的计算结果即可求得

2.3 图像去噪增强

图像容易受到采集现场干扰因素的影响,产生噪声,不利于牙刷定位,需要对图像进行去噪增强.首先将彩色图像转换为灰度图像,然后使用中值滤波去除图像中的噪声,再采用分段线性灰度变换对图像进行增强.图像去噪增强结果如图5所示.

图5 图像去噪增强结果

2.4 阈值分割

在计算牙刷位置时,需要将牙刷从背景中分割.经过去噪增强后图像被分为两部分:前景与背景.背景区域像素灰度值基本被设置为0,前景与背景区域的灰度值存在明显差异,因此通过阈值法将牙刷从背景中分割.通过牙刷图像的灰度直方图找到最佳的图像分割阈值[5],对于图5中去噪增强后的图像,最佳阈值范围为(15,65).此外,进行阈值分割后得到的图像会存在部分孔洞,孔洞区域会对计算牙刷中心坐标与方向角带来一定的干扰,因此需要对这些孔洞进行填充.使用漫水填充法对孔洞进行填充,对于图像中一些细小孤立的点,使用形态学开运算将其去除,阈值分割结果如图6所示.

图6 阈值分割结果

2.5 计算中心坐标与方向角

通过确定牙刷外接矩形的方法计算牙刷的中心位置及方向角.首先,通过图像的动量矩计算牙刷的重心和方向角,计算得到主轴线.作主轴线的垂线,平移主轴线和垂线,得到牙刷的外接矩形,外接矩形的中心点坐标即为牙刷的中心坐标.检测结果如图7所示,4只牙刷的中心位置坐标和方向角如表2所示,检测过程单只牙刷所耗时间为0.083 s.

图7 检测结果图

表2 检测结果

3 姿态识别

3.1 识别过程

文中使用深度学习的方法来对牙刷的姿态进行识别,其实质为对牙刷4种姿态的图像进行分类,是一个多分类问题.姿态识别过程如图8所示,包括:① 采集和标注不同姿态的牙刷图像作为数据集,并对数据集进行预处理,对牙刷图像按照外接矩形进行裁剪,只保留矩形框内的牙刷图像;② 将数据集划分训练数据集与测试数据集,使用训练数据集对模型进行训练,使用测试数据集对训练完成的模型进行测试.若测试正确率不符合要求,则调整训练参数重新进行训练,若正确率符合要求,则保存训练好的模型;③ 将待识别的图像输入训练完的模型,模型将判断结果输出.

图8 姿态识别流程

3.2 残差网络

采用深度残差网络[6](residual network,ResNet)作为牙刷姿态识别模型.在深度神经网络[6]训练中,随着网络深度的增加,理论上可以取得更好的训练结果,但实际过深的网络会产生梯度弥散和梯度爆炸问题,导致模型达不到理想的训练效果[7].深度残差网络通过引入残差网络结构来解决上述问题.残差模块结构如图9所示.

图9 残差模块结构

模块目的是学习输入x、输出y之间的残差映射F(x)=H(x)-x,而非像普通卷积神经网络直接学习输入x、输出y之间的映射H(x),因此大幅简化了学习目标,降低了训练难度.而且通过跳跃连接直接将输入传递给输出,一方面在前向传播中减少了信息的损失,提高了模型的分类准确率,另一方面在反向传播中保证了梯度的传播,降低了梯度弥散问题出现的概率[8-9].

网络模型结构如图10所示.

图10 网络模型结构

3.3 试 验

文中试验的硬件环境为Win10操作系统,i7-3560QM CPU,4 GB内存.采集4种牙刷的4种姿态各400张图片,其中200张用于模型训练,200张用于测试模型正确率.在模型训练的过程中,选用权重衰减为0.004,批量大小为4,学习速率从0.000 1开始,整个模型进行50次训练.进行多组训练,试验参数如表3所示,所对应的测试数据集的正确率曲线如图11所示.结合正确率曲线与参数表发现:选用学习率为0.000 1,动量为0.88,权重衰减为0.000 4,批次大小为4时,模型经过15次的训练测试正确率达到100%.使用模型对100张图像进行姿态识别,每1张的平均时间为0.205 s.该模型训练后对图12中3只牙刷进行检测,平均1只牙刷所耗时间为0.380 s.

表3 参数表

图11 正确率曲线

图12 识别图片

4 结 论

1) 研究了牙刷位置及方向角计算算法.首先在完成相机内参标定的基础上,求解视觉系统与传送带之间的位姿变换关系.对牙刷图像进行去噪增强,通过阈值分割提取感兴趣区域,计算图像的动量矩获得牙刷的方向角和外接矩形,以外接矩形的中心作为牙刷位置,结果表明该方法可以快速准确计算牙刷位置和方向角.

2) 提出了一种基于深度学习的牙刷姿态识别方法,采用深度残差网络作为牙刷姿态识别模型,使用矩形框内的牙刷图像训练残差网络模型,当模型正确率达到要求时保存该模型,用于判断图像中牙刷的姿态,试验验证了该方法的正确性,达到预期识别目标.后续将优化深度学习网络结构,进一步提高牙刷姿态识别的速度.

猜你喜欢
传送带牙刷正确率
浅探传送带模型的分析策略
门诊分诊服务态度与正确率对护患关系的影响
是谁偷走了小牙刷
是谁偷走了小牙刷
是谁偷走了小牙刷
超级牙刷
传送带模型中摩擦力的判断
生意
品管圈活动在提高介入手术安全核查正确率中的应用
生意