基于机器视觉的木板材分拣系统研究

2021-12-08 14:15晏恒兵仲梁维
软件工程 2021年12期
关键词:机器视觉深度学习

晏恒兵 仲梁维

摘  要:木板材作为一种支撑社会发展的重要原材料,被广泛应用于建筑装修业和家具制造业,为了合理利用有限的木材资源,对其进行有效的检测至关重要。改进的Faster R-CNN(“两阶段”检测)算法对木板材活节、死节、孔洞、裂纹等四类缺陷检测的平均精度分别为99.84%、94.24%、91.28%、90.06%,平均精度均值为93.86%,并根据木板材缺陷类型对其进行等级划分。利用机器视觉引导技术,分揀机器人能够自动定位放置在传送带上的木板材,并依据木板材等级对其进行分拣作业。本文还基于C++语言、Qt框架搭建了用于支撑系统运行的软件平台。

关键词:机器视觉;木板材分拣;机器人分拣;深度学习

中图分类号:TP302.7     文献标识码:A

Abstract: Wood panel, as an important raw material to support social development, is widely used in building, decorating and furniture manufacturing industry. To make the most of limited wood resources, it is very important to detect wood panel effectively. The improved Faster R-CNN (Faster Region-based Convolutional Neural Network, a "two-stage" detection) algorithm has an average precision of 99.84%, 94.24%, 91.28%, and 90.06% for detecting wood panel live knots, dead knots, holes, and cracks, respectively. The mean average precision is 93.86%, and wood panels are classified by defect types. BY using machine vision guidance technology, sorting robots automatically locate the wood panels placed on the conveyor belt, and sort them according to the grade of the wood panels. A software platform for system operation is built based on C++ language and Qt framework.

Keywords: machine vision; wood panel sorting; robot sorting; deep learning

1   引言(Introduction)

长期以来,我国在基础设施上的投入逐年递增,木材需求也在不断增加。目前,我国已经成为全球最大的木材与木制品消费大国。然而,我国的木材利用效率较低,使用合理性较差,究其原因,是缺乏科学的木材加工处理手段。木材缺陷检测是整个木材加工行业中不可缺少的一个环节,快速且准确地识别出木材缺陷的轮廓和种类,对提高木材利用率及提升木材整体质量起到至关重要的作用[1]。

将机器视觉技术运用到木材缺陷检测中,不仅极大提高了木材的检测效率,还降低了生产成本。KAMAL等提出了一种用于自动检测木材缺陷的分类方法,该方法采用灰度共生矩阵和纹理能量度量作为特征提取器,BP神经网络作为分类器,对木材缺陷的平均分类准确度达到了84.3%,与单独使用灰度共生矩阵作为输入特征相比,具有更高的准确度[2]。张发军等基于OpenCV视觉库设计了一套木材表面缺陷自动监测系统,该系统的识别准确率达到了95.3%,平均用时仅为0.361 秒[3]。

上述研究现状表明,大量学者在对木板材进行缺陷检测时,采用的大都为浅层模型,而浅层模型建模能力有限,且不适用于多目标检测,本文通过改进的深度学习算法Faster R-CNN对木板材进行缺陷检测能大大提高对木板材的检测精度。此外,上述研究仅对木板材进行缺陷检测,并未对检测后的木板材进行后续处理,本文通过机器视觉技术引导机器人对流水线上分级后的木板材进行分拣、码垛,可以极大地提高木板材生产线的运行效率。

2  机器人分拣系统概述(Overview of robot sorting system)

2.1   机器人分拣平台构成

根据木板材生产公司提出的要求,机器人分拣平台需要通过机器人对长度为400—800 mm、宽度为50—120 mm的木板材进行分拣,依据Faster R-CNN算法的检测结果,将不同等级的木板材放入指定的收集区域,并进行码垛处理。基于机器视觉的木板材分拣平台三维模型如图1所示,其主要由图像采集﹑信息处理、传送带以及自动分拣模块四大部分组成。

(1)图像采集模块

图像采集模块由工业相机、镜头以及LED光源组成。LED光源安装在相机相对于传送带的同一侧,用于增加相机视野范围亮度,消除木板材周围的阴影。

(2)信息处理模块

信息处理模块主要由PC构成。PC将相机拍摄的木板材图像进行处理,计算木板材的等级以及木板材中心世界坐标,并通过TCP/IP协议将这些数据发送给机器人。此外,计算机还能将识别的木板材各类缺陷数据存入SQL Server数据库中,方便用户实时查询历史检测记录。

(3)传送带模块

传送带模块由传送带以及电容式接近开关组成。MZ07机器人的CFD控制器通过继电器控制传送带的停止与运动,从而将木板材运送至适当位置。电容式接近开关则与CFD控制器I/O板的输入信号端相连,当木板材经过电容式接近开关时,它会输出一个高电平,机器人根据接收的信号执行相应的响应。本文所采用的电容式接近开关为KFPS公司生产的型号为TLK-N18P12E1的PNP型传感器,其有效检测距离为12 mm。

(4)自动分拣模块

自动分拣模块主要由机械手以及真空吸附装置组成。机械手通过TCP/IP协议与上位机进行数据交互,获取待分拣木板材中心的世界坐标,随后,通过机器人末端的真空吸盘将木板材从传送带上抓起并放入指定区域的容器中。

2.2   相机标定

相机作为机器人的眼睛,主要用于将拍摄的目标物体转换为计算机可识别的图像数据,也可以描述为将目标从三维景物空间向二维图像空间的转换。相机标定的目的是找到现实空间中的点与图像上的像素点间的映射关系[4]。

为了定量地描述拍摄目标在图像中的位置与真实世界中所处位置的对应关系,需要建立以下四个辅助坐标系[5,6],如图2所示。

像素坐标系(O0,U,V):像素坐标系是用来确定一幅图像在计算机存储中不同像素相对位置关系的参考系[6]。当相机拍摄物体时,会在感光元件上形成一個M×N的网格结构,每一个网格代表一个像素点,图像由这些像素点组成。像素坐标系的原点O0位于图像左上角第一个像素点上,U、V两轴分别平行于图像坐标系的X轴和Y轴,且同向。

图像坐标系(O1,X,Y):在计算过程中,由于像素坐标系无法用物理单位进行表示,这就需要在物理成像平面内再建立一个以毫米为单位的坐标系,该坐标系称为图像坐标系。其原点位于感光元件中心处,X、Y两轴正方向与像素坐标系相同。

相机坐标系(Oc,Xc,Yc):相机坐标系位于相机平面上,用于描述相机拍摄环境与相机之间的相对位置关系。其原点位于光心O处,Zc轴正方向指向光轴,Xc、Yc两轴与物理成像平面平齐,Xc轴方向向右,YC轴方向向下。

世界坐标系(Ow,Xw,Yw):世界坐标系也被称为测量坐标系,用于反映现实世界中目标的空间位置。在基于机器视觉的分拣机器人系统中,通常以机器人的基座为基准建立世界坐标系。

为了得到各个坐标系间的转换关系,在世界坐标系中任取一点Pw(xw,yw,zw),P点在相机坐标系下表示为P0(u,v),根据坐标变换原理,世界坐标系可通过平移和旋转变换转换为像素坐标系,其关系如式(1)所示。

其中,zc为物距(也称比例因子),fx=f/dx、fy=f/dx分别表示U、V两轴的比例因子,R为3×3的旋转矩阵,T是一个3×1的平移向量,M1为相机的内参矩阵,M2为相机的外参矩阵。

在不考虑相机畸变(即线性标定)的情况下,可将式(1)转换成如下形式:

为了获取仿射变换中的a—f六个参数,首先,在一张A4纸上打印三个圆心不共线的圆作为标定板,通过OpenCV提取图像中三个圆心的像素坐标,如图3所示。随后,机器人在示教模式下通过示教器,将机器人末端标定针逐个移动到圆心位置,如图3所示,通过示教器读取圆心的世界坐标。最后,求取仿射变换矩阵。通过以上分析,可获得传送带上木板材的实时位置。

3  基于改进的Faster R-CNN算法的木板材检测(Wood panel detection based on improved Faster R-CNN algorithm)

3.1   Faster R-CNN算法简介

Faster R-CNN[7]是一个非常有效的目标检测算法,不仅支持任意大小的图片输入,其检测精度比目前的YOLO、SDD等一阶段检测器较高,特别是在小目标检测上效果更为突出,而且还能保持较高的检测速率。Faster R-CNN的结构如图4所示,整个网络结构可分为四个部分。第一部分为主干网络(BackBone),由一组基础的conv+relu+pooling网络组成,用于提取图像的特征。第二部分为RPN,通过Anchor机制生成大量的候选框,并对候选框进行判断,判断其是否含有目标,采用回归机制获取候选框粗略的位置[8]。第三部分为RoI Pooling层,负责将RPN生成的候选框投影到共享特征图上,随后采用最大池化将特征图缩放到固定大小。第四部分通过全连接层训练,获取分类和边界框预测结果。

3.2   基于特征融合的Faster R-CNN算法改进

在原始Faster R-CNN算法中,通常将最深层的特征图作为训练对象。深层网络的特征图分辨率较低,几何信息的表征能力较弱(空间几何特征细节丢失),造成的结果是无法对小目标、小尺度物体进行检测。而在木板材检测过程中,常常会存在较小的活节或是死节,通过多尺度特征融合技术对原始的Faster R-CNN算法进行改进,可有效地提高对小目标检测的精度。

特征金字塔网络(FPN)充分利用CNN对图像进行池化操作时,本身就会产生多级特征图的特性,从CNN具有从低级到高级的语义信息的金字塔层次结构特性出发,构建具有高级语义信息的特征金字塔,其结构主要由三部分组成:第一部分是通过卷积网络自下而上提取图像的特征;第二部分从最深层的特征图出发,自上而下地通过反池化方法得到低层特征图;第三部分将前两部分大小相同的特征图横向连接,进行特征融合,得到多尺度的特征图[9]。其过程可用图5表示,以ResNet101网络为基础,下面对每一部分进行详细分析。

(1)自下而上:卷积神经网络的前向传播过程本身就是自下而上的路径,输入的样本图像经过卷积层以及池化层后,图像尺度不断减小,深度不断增加。

对于ResNet101网络,将每个阶段的最后一个残差结构的特征图激活输出,将其表示为{C2,C3,C4,C5},对应于conv2—conv5的输出,在这里考虑到conv1输出图像分辨率过高,造成内存占用过大,故将其舍去。

(2)自上而下和横向连接:将最深层的特征图作2 倍上采样处理,将其与对应的前一层特征横向连接并进行融合,在融合之前,还需要对前一层特征进行1×1卷积处理,其目的是确保连接的两个层深度相同(深度均为256),融合的方式为像素间做加法运算。重复上述过程,直至生成最精细的特征图。最后,为了消除上采样带来的混叠效应,还需要对融合后的特征图进行一次3×3的卷积运算,获得最终需要的特征图{P2,P3,P4,P5}。

特征金字塔网络输出的特征图是多尺度的,为了将FPN与RPN相结合,需要在每个不同层级的金字塔上应用单尺度的anchor,即特征图{P2,P3,P4,P5,P6}(这里的P6是conv5输出的特征图经过2倍下采样计算得到的)分别对应anchor的尺度为{322,642,1282,2562,5122},因而在特征金字塔上共有15 个anchor。同样,为了检测不同形状的目标,仍然使用三种比例(1:2、1:1、2:1)。

3.3   改进后的Faster R-CNN算法实验分析

本實验分别使用VGG-16、ResNet101、FPN+ResNet101三种网络模型对Faster R-CNN进行训练,训练中木板材样本数为2,200,测试样本数为489,以总体损失、平均精度(AP)及平均精度均值(MAP)作为模型评价标准。图6展示的是三类模型经过5万次迭代后总体损失变化曲线,图7为改进后的Faster R-CNN PR曲线。

为了观察方便,现将三个模型对不同类型缺陷的AP以及MAP汇总在表1中。从表1可以看出,ResNet101+FPN网络模型平均精度均值最高,达到了93.86%,比VGG-16+Faster R-CNN模型提高了6.78%,比ResNet101+Faster R-CNN提高了1.24%。

4   系统软件的搭建(System software construction)

基于机器视觉的木板材分拣系统软件是支撑整个分拣系统运行的核心部分,同时也是实现视觉分拣的关键。本部分详细介绍了软件的界面设计以及功能,采用C++语言、OpenCV库、深度学习框架TensorFlow以及机器人语言开发了一套简洁、实用的视觉分拣系统软件。图8展示了系统软件的主界面,该界面主要完成与机器通信、木板材缺陷检测、数据存储检测、木板材中心世界坐标与像素坐标计算等功能。

5   结论(Conclusion)

为了提高木板材的检测效率,降低生产成本,本文通过机器视觉引导技术,结合深度学习算法,设计了一整套木板材自动分拣系统。改进后的Faster R-CNN算法对木板材缺陷检测在精度上有了较大的提高,完全能满足实际生产的要求,有助于提高木板材检测效率。

参考文献(References)

[1] 王均东,赵乾,刘英,等.木材表面缺陷的激光扫描与检测装置设计[J].林业机械与木工设备,2016,44(11):24-27.

[2] KAMAL K, QAYYUM R, MATHVAN S, et al. Wood defects classification using laws texture energy measures and supervised learning approach[J]. Advanced Engineering Informatics, 2017(34):125-135.

[3] 张发军,明晓杭,宋钰青,等.基于OpenCV的木材表面缺陷检测系统设计与实验验证[J].机械工程师,2019(01):21-23,30.

[4] 方雨,李大寨,林闯.基于机器视觉的传送带分拣技术研究[J].      机械工程与自动化,2018(06):173-175.

[5] 冯振,郭延宁,吕悦.OpenCV4快速入门[M].北京:人民邮电出版社,2020:323-325.

[6] 张重阳.基于机器视觉的硬币分拣系统设计[J].工具技术,      2019,53(09):95-98.

[7] REN S Q, HE K M, GIRSHICK R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6):1137-1149.

[8] 于晓倩.基于改进Faster RCNN的行人检测研究[D].长春:吉林大学,2020.

[9] 陈坤,徐向纮.改进Faster RCNN在铝型材表面缺陷检测中的应用研究[J].中国计量大学学报,2020,31(02):240-246.

作者简介:

晏恒兵(1995-),男,硕士生.研究领域:机器视觉.

仲梁维(1962-),男,硕士,教授.研究领域:计算机辅助设计,智能设计制造.

猜你喜欢
机器视觉深度学习
全自动模拟目标搜救系统的设计与实现
有体验的学习才是有意义的学习
基于机器视觉的自动浇注机控制系统的研究
电子商务中基于深度学习的虚假交易识别研究
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
大场景三维激光扫描仪在研究生实践教学培养中的应用
深度学习算法应用于岩石图像处理的可行性研究
基于机器视觉的工件锯片缺陷检测系统设计
基于深度卷积网络的人脸年龄分析算法与实现